[LLVMdev] Weirdness w/ llvm control flow graph generation

Villmow, Micah Micah.Villmow at amd.com
Mon Oct 13 15:12:32 PDT 2008


I am working on implementing break/continue and the flow control graphs
that I am seeing are having all sorts of weird flow control that does
not necessarily exist in the IR representation. For, example, a simple
code segment that is a while loop w/ a continue ends up generating a CFG
that is two while loops with one embedded inside each other. I've
attached the dot files and the IR code. Any help with figuring out what
is causing this craziness would be greatly appreciated.

 

It was compiled with:

llvm-as < float/test_fc_while_continue_gt.ll | opt -std-compile-opts
-loopsimplify -simplifycfg -print-cfg >
float/test_fc_while_continue_gt.bc

 

llc -march=mybackend float/test_fc_while_continue_gt.bc

 

Thanks for your time.

 

Micah Villmow

Systems Engineer

Advanced Technology & Performance

Advanced Micro Devices Inc.

4555 Great America Pkwy,

Santa Clara, CA. 95054

P: 408-572-6219

F: 408-572-6596

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081013/f58300da/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cfg.test_fc_while_and.dot
Type: application/octet-stream
Size: 1669 bytes
Desc: cfg.test_fc_while_and.dot
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081013/f58300da/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: cfg.opencl_test_fc_while_continue_gt.dot
Type: application/octet-stream
Size: 1387 bytes
Desc: cfg.opencl_test_fc_while_continue_gt.dot
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081013/f58300da/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: test_fc_while_continue_gt.ll
Type: application/octet-stream
Size: 1919 bytes
Desc: test_fc_while_continue_gt.ll
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081013/f58300da/attachment-0002.obj>


More information about the llvm-dev mailing list