I think that Cil is correct here. It is reporting i as live because you use it 
before you set it 
(i+=n). If you change n=10 to n=10,i=0, Cil reports neither i nor n as live at 
1. I think that this 
is correct for liveness analysis.

Jesse Draper

On 10/25/2012 06:13 AM, Alex Susu wrote:
>     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


------------------------------------------------------------------------------
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

Reply via email to