Hello. I have some issues with the liveness module of CIL. I used a bit on a couple of simple C programs and the results I get are a bit strange.
More exactly, for the program below: int main() { int n; int i; for (n = 10; n > 0; n--) { i += n; } return 0; } when I give: cilly.asm.exe --out ./app2.cil.c --doLiveness --live_func main --live_debug ./app2.i I get the following live variable sets for each Basic-Block (BB): 1: i___0(int ), Note: here we should have n(int ), as well 2: n(int ),i___0(int ), 3: n(int ),i___0(int ), 4: 5: n(int ),i___0(int ), 6: So the problem is for this program that for BB 1, we have live var set {i} and we should have {i, n}. Note that in the liveness module I added the instruction (Cfg.printCfgFilename "myfunc_cfg.dot" fd), which created the following myfunc_cfg.dot file: digraph CFG_main { 1 [label="1: instr"] Note: BB 1 is instr n = 10 1 -> 2 2 [label="2: loop"] Note: BB 2 is the while loop - not really a BB, IMO 2 -> 3 3 [label="3: if"] Note: BB 3 is the if n > 0 3 -> 5 3 -> 4 4 [label="4: break"] 4 -> 6 5 [label="5: instr"] Note: BB 5 is statements i += n; n--; 5 -> 2 6 [label="6: return"] } Best regards, Alex ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_sfd2d_oct _______________________________________________ CIL-users mailing list CIL-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/cil-users