[llvm-commits] [llvm] r61077 - /llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp
Dan Gohman
gohman at apple.com
Mon Dec 15 22:20:59 PST 2008
Author: djg
Date: Tue Dec 16 00:20:58 2008
New Revision: 61077
URL: http://llvm.org/viewvc/llvm-project?rev=61077&view=rev
Log:
When breaking an anti-dependency, don't use a register which has seen
one of its aliases defined. This is conservative, but tricky subreg
corner cases are outside the primary aim of this pass.
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=61077&r1=61076&r2=61077&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp (original)
+++ llvm/trunk/lib/CodeGen/PostRASchedulerList.cpp Tue Dec 16 00:20:58 2008
@@ -454,6 +454,7 @@
assert(((KillIndices[NewReg] == -1u) != (DefIndices[NewReg] == -1u)) &&
"Kill and Def maps aren't consistent for NewReg!");
if (KillIndices[NewReg] == -1u &&
+ Classes[NewReg] != reinterpret_cast<TargetRegisterClass *>(-1) &&
KillIndices[AntiDepReg] <= DefIndices[NewReg]) {
DOUT << "Breaking anti-dependence edge on "
<< TRI->getName(AntiDepReg)
More information about the llvm-commits
mailing list