When compiling an empty XMTC program (where the main function doesn't do anything), the XMT cycle-accurate execution never terminates.
Here's an example:
[george@ride emptyprog_bug]$ xmtcc -q -o ser-s ser-s.c
[george@ride emptyprog_bug]$ xmtsim -v
XMT Simulator
Simulator Version: 0.81.101.r8206
Java Version: 1.6.0_11
[george@ride emptyprog_bug]$ xmtsim -cycle -timer 5 -count ser-s.sim -binload ser-s.b
Real time: 5.00 sec.
Simulation time: 15380771 cycles
Number of instructions: 6
Number of serial instructions: 6
Number of parallel instructions: 0
==============================
Real time: 10.00 sec.
Simulation time: 31717368 cycles
Number of instructions: 6
Number of serial instructions: 6
Number of parallel instructions: 0
==============================
an empty program
It is a nasty bug related to temporary branch prediction replacement that I
had in place. On the bright side it will be solved when full branch
prediction will be implemented which is not very hard. I assume this is not
very urgent. I should come around to it sometime this week.