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.