-
Notifications
You must be signed in to change notification settings - Fork 13.2k
Invoke lowering broken with -enable-eh #1596
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Debug version is ok.... :( |
Nope. I was wrong. Caught assertion with another file. |
declare i32 @test() $ llvm-as < t.ll | llc --enable-eh It looks like the valuemap isn't getting updated correctly. I will disable 'enable-eh' in llvm-gcc to make |
Invoke is both a value producing instruction and a terminator. Need to split up purposes in ISel. |
Index: lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp==== // These all get lowered before this pass.
|
Now fixed differently: |
…843365aa85962a561ad4 [lldb/Test] Skip tests that try to get the remote environment
Extended Description
Even after #1593 was fixed, I'm getting assertions during _divsc3.o
compilation. Unfortunately, valgrind doesn't show anything wrong and the problem
isn't reproducible with llc.
Even more, if I compile _divsc3.o with llc by hands and continue llvm-gcc build,
I'll get the folowing assertion during guard.cc compilation (from libsupc++):
cc1plus:
/home/asl/proj/llvm/src/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:4100:
llvm::SDOperand
llvm::SelectionDAGLowering::CopyValueToVirtualRegister(llvm::Value*, unsigned
int): Assertion `(Op.getOpcode() != ISD::CopyFromReg ||
cast(Op.getOperand(1))->getReg() != Reg) && "Copy from a reg to
the same reg!"' failed.
And again no valgrind output...
I'm investigating
The text was updated successfully, but these errors were encountered: