Implement PR3495: local spiller optimization. The local spiller can now keep availabi...
[oota-llvm.git] / lib / CodeGen / RegAllocPBQP.cpp
index f3c10e9de99a0c34e6b5e8dc1617d09aabcff0f7..dfee8cf9b36eb04f4cc62016698350ccc014c72d 100644 (file)
@@ -16,7 +16,7 @@
 //
 // The PBQP solver (pbqp.c) provided for this allocator uses a heuristic tuned
 // for register allocation. For more information on PBQP for register
-// allocation see the following papers:
+// allocation, see the following papers:
 //
 //   (1) Hames, L. and Scholz, B. 2006. Nearly optimal register allocation with
 //   PBQP. In Proceedings of the 7th Joint Modular Languages Conference
@@ -27,9 +27,6 @@
 //   Compilers and Tools for Embedded Systems (LCTES'02), ACM Press, New York,
 //   NY, USA, 139-148.
 //
-// Author: Lang Hames
-// Email: lhames@gmail.com
-//
 //===----------------------------------------------------------------------===//
 
 #define DEBUG_TYPE "regalloc"
@@ -362,10 +359,10 @@ PBQPRegAlloc::CoalesceMap PBQPRegAlloc::findCoalesces() {
          iItr != iEnd; ++iItr) {
 
       const MachineInstr *instr = &*iItr;
-      unsigned srcReg, dstReg;
+      unsigned srcReg, dstReg, srcSubReg, dstSubReg;
 
       // If this isn't a copy then continue to the next instruction.
-      if (!tii->isMoveInstr(*instr, srcReg, dstReg))
+      if (!tii->isMoveInstr(*instr, srcReg, dstReg, srcSubReg, dstSubReg))
         continue;
 
       // If the registers are already the same our job is nice and easy.