Andrea Bigagli
2012-Apr-09 11:55 UTC
[LLVMdev] llc -march=cpp fails when using some STL stuff?
Hi, I'm really a novice in experimenting with LLVM, so I might be doing something plain wrong here, but I can't understand why this snippet // File ticket.cpp struct ticket { int field1; char field2[10]; } _ticket; goes fine through the sequence 1) clang++ -O0 -S -emit-llvm ticket.cpp (which generates ticket.s) 2) llc -march=cpp ticket.s So that I end up with a ticket.s.cpp that I can inspect to learn more about how to define structures in LLVM IR, while the following: //File ticket_stl.cpp #include <vector> struct ticket_stl { int field1; std::vector<int> field2; } _ticket_stl; Fails during step 2) (llc -march=cpp ticket_stl.s) with a laconic: LLVM ERROR: Invalid instruction Everything works if I instead perform step 1) with -O1. For what it's worth, the online compiler at http://llvm.org/demo/index.cgi, targeting "LLVM C++ API code", exhibits the same behavior (i.e. it fails at optimization level "None"). Is this known/expected behavior? Andrea. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120409/cd698924/attachment.html>
Duncan Sands
2012-Apr-09 13:35 UTC
[LLVMdev] llc -march=cpp fails when using some STL stuff?
Hi Andrea,> Fails during step 2) (llc -march=cpp ticket_stl.s) with a laconic: > > LLVM ERROR: Invalid instructionsounds like a bug. I think this came up on the mailing list a little while ago. Anyway, I suggest to open a bug report. Ciao, Duncan.