projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SystemZ] Add test missing from r186148
[oota-llvm.git]
/
lib
/
CodeGen
/
LiveRegMatrix.cpp
diff --git
a/lib/CodeGen/LiveRegMatrix.cpp
b/lib/CodeGen/LiveRegMatrix.cpp
index cdb17768129c42b48a488eb2d623431906e9eb81..0ef069f478278ce371290fdaa13be40c1765aecb 100644
(file)
--- a/
lib/CodeGen/LiveRegMatrix.cpp
+++ b/
lib/CodeGen/LiveRegMatrix.cpp
@@
-12,15
+12,16
@@
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "regalloc"
//===----------------------------------------------------------------------===//
#define DEBUG_TYPE "regalloc"
-#include "LiveRegMatrix.h"
-#include "
VirtRegMap
.h"
+#include "
llvm/CodeGen/
LiveRegMatrix.h"
+#include "
RegisterCoalescer
.h"
#include "llvm/ADT/Statistic.h"
#include "llvm/ADT/Statistic.h"
-#include "llvm/CodeGen/MachineRegisterInfo.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
#include "llvm/CodeGen/LiveIntervalAnalysis.h"
-#include "llvm/
Target/TargetMachine
.h"
-#include "llvm/
Target/TargetRegisterInfo
.h"
+#include "llvm/
CodeGen/MachineRegisterInfo
.h"
+#include "llvm/
CodeGen/VirtRegMap
.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/raw_ostream.h"
+#include "llvm/Target/TargetMachine.h"
+#include "llvm/Target/TargetRegisterInfo.h"
using namespace llvm;
using namespace llvm;
@@
-117,8
+118,9
@@
bool LiveRegMatrix::checkRegUnitInterference(LiveInterval &VirtReg,
unsigned PhysReg) {
if (VirtReg.empty())
return false;
unsigned PhysReg) {
if (VirtReg.empty())
return false;
+ CoalescerPair CP(VirtReg.reg, PhysReg, *TRI);
for (MCRegUnitIterator Units(PhysReg, TRI); Units.isValid(); ++Units)
for (MCRegUnitIterator Units(PhysReg, TRI); Units.isValid(); ++Units)
- if (VirtReg.overlaps(LIS->getRegUnit(*Units)))
+ if (VirtReg.overlaps(LIS->getRegUnit(*Units)
, CP, *LIS->getSlotIndexes()
))
return true;
return false;
}
return true;
return false;
}