[LLVMdev] Problem migrating from llvm 2.9 to 3.0

Juan Manuel Martinez CaamaƱo jmartinezcaamao at gmail.com
Wed Nov 7 04:35:59 PST 2012


Hello, I'm moving a compiler pass from llvm 2.9 to 3.0, and I'm getting
some strange extra store instructions when optimizing the code.

For example, in the code that is in the attachments (On block *for.body111* for
2.9 and block *for.body67 *for 3.0), the number of stores goes from 1 to
10. And since the compiler pass adds some verification code before each
store, this leads to some performance problems.

The resulting .ll is obtained in this way:
clang -O3 fir2dim.c -S -emit-llvm -o fir2dim.ll
llvm-as fir2dim.ll
opt -O3 fir2dim.bc > fir2dim.opt.bc
llvm-dis fir2dim.opt.bc

Any idea why this is happening ?

Thanks,

Juan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121107/844bba65/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fir2dim.c
Type: text/x-csrc
Size: 1936 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121107/844bba65/attachment.c>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fir2dim.opt.2.9.ll
Type: application/octet-stream
Size: 9523 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121107/844bba65/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fir2dim.opt.3.0.ll
Type: application/octet-stream
Size: 11124 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20121107/844bba65/attachment-0001.obj>


More information about the llvm-dev mailing list