dibyendumajumdar / dmr_c

dmr_C is a C parser and JIT compiler with LLVM, Eclipse OMR and NanoJIT backends
Other
52 stars 2 forks source link

Linearizer outputs incorrect code if a variable is initialized inside a branch #9

Open dibyendumajumdar opened 7 years ago

dibyendumajumdar commented 7 years ago

An example of this issue is in:

https://github.com/dibyendumajumdar/dmr_c/blob/master/tests/bugs/simplifybug.c

Also see:

http://marc.info/?l=linux-sparse&m=149017414417644&w=3

The workaround is to disable sparse simplifications. In dmr_C this is achieved by making simplification optional - it is triggered only if -O1 option is supplied.