projects
/
oota-llvm.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
| inline |
side by side
(parent:
9cb9e67
)
When doing remat, don't consider uses of non-allocatable physregs. Patch
author
Chris Lattner
<sabre@nondot.org>
Sat, 27 Jun 2009 04:06:41 +0000
(
04:06
+0000)
committer
Chris Lattner
<sabre@nondot.org>
Sat, 27 Jun 2009 04:06:41 +0000
(
04:06
+0000)
by Evan.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@74370
91177308
-0d34-0410-b5e6-
96231b3b80d8
lib/CodeGen/LiveIntervalAnalysis.cpp
patch
|
blob
|
history
diff --git
a/lib/CodeGen/LiveIntervalAnalysis.cpp
b/lib/CodeGen/LiveIntervalAnalysis.cpp
index d6931df896dc4c05d63c4514114ee9e878175f13..21bb5dc0127d0255abfb4a70b7101d383e706437 100644
(file)
--- a/
lib/CodeGen/LiveIntervalAnalysis.cpp
+++ b/
lib/CodeGen/LiveIntervalAnalysis.cpp
@@
-947,6
+947,10
@@
unsigned LiveIntervals::getReMatImplicitUse(const LiveInterval &li,
unsigned Reg = MO.getReg();
if (Reg == 0 || Reg == li.reg)
continue;
+
+ if (TargetRegisterInfo::isPhysicalRegister(Reg) &&
+ !allocatableRegs_[Reg])
+ continue;
// FIXME: For now, only remat MI with at most one register operand.
assert(!RegOp &&
"Can't rematerialize instruction with multiple register operand!");