[llvm-commits] [llvm] r90381 - /llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp
Jakob Stoklund Olesen
stoklund at 2pi.dk
Wed Dec 2 17:49:56 PST 2009
Author: stoklund
Date: Wed Dec 2 19:49:56 2009
New Revision: 90381
URL: http://llvm.org/viewvc/llvm-project?rev=90381&view=rev
Log:
Don't hang on to pointers or references after vector::push_back.
The MO reference to a MachineOperand can be invalidated by
MachineInstr::addOperand. Don't even use it for debugging.
Modified:
llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp
Modified: llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp?rev=90381&r1=90380&r2=90381&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp (original)
+++ llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp Wed Dec 2 19:49:56 2009
@@ -510,12 +510,9 @@
}
if (MO.isKill() != kill) {
- bool removed = ToggleKillFlag(MI, MO);
- if (removed) {
- DEBUG(errs() << "Fixed <removed> in ");
- } else {
- DEBUG(errs() << "Fixed " << MO << " in ");
- }
+ DEBUG(errs() << "Fixing " << MO << " in ");
+ // Warning: ToggleKillFlag may invalidate MO.
+ ToggleKillFlag(MI, MO);
DEBUG(MI->dump());
}
More information about the llvm-commits
mailing list