projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
| inline |
side by side
Anti-dependency breaking needs to be careful not to use reserved regs
[oota-llvm.git]
/
lib
/
CodeGen
/
AggressiveAntiDepBreaker.cpp
diff --git
a/lib/CodeGen/AggressiveAntiDepBreaker.cpp
b/lib/CodeGen/AggressiveAntiDepBreaker.cpp
index 62e40e9636bb33c3dc006516d9ffddaf8b307061..5a634d6ccb0182c02213b006df704d21e33b4373 100644
(file)
--- a/
lib/CodeGen/AggressiveAntiDepBreaker.cpp
+++ b/
lib/CodeGen/AggressiveAntiDepBreaker.cpp
@@
-654,6
+654,8
@@
bool AggressiveAntiDepBreaker::FindSuitableFreeRegisters(
if (R == RB) R = RE;
--R;
const unsigned NewSuperReg = *R;
+ // Don't consider non-allocatable registers
+ if (!AllocatableSet.test(NewSuperReg)) continue;
// Don't replace a register with itself.
if (NewSuperReg == SuperReg) continue;