Changes in directory llvm/include/llvm/CodeGen:

LiveVariables.h updated: 1.46 -> 1.47
---
Log message:

Properly handle kills of a physical register which has sub-registers that are 
read by later instructions.

---
Diffs of the changes:  (+10 -0)

 LiveVariables.h |   10 ++++++++++
 1 files changed, 10 insertions(+)


Index: llvm/include/llvm/CodeGen/LiveVariables.h
diff -u llvm/include/llvm/CodeGen/LiveVariables.h:1.46 
llvm/include/llvm/CodeGen/LiveVariables.h:1.47
--- llvm/include/llvm/CodeGen/LiveVariables.h:1.46      Tue May  8 14:00:00 2007
+++ llvm/include/llvm/CodeGen/LiveVariables.h   Tue Jun 26 16:02:59 2007
@@ -31,6 +31,7 @@
 
 #include "llvm/CodeGen/MachineFunctionPass.h"
 #include "llvm/ADT/BitVector.h"
+#include "llvm/ADT/SmallSet.h"
 #include "llvm/ADT/SmallVector.h"
 #include <map>
 
@@ -163,6 +164,15 @@
   bool addRegisterDead(unsigned IncomingReg, MachineInstr *MI,
                        bool AddIfNotFound = false);
 
+  void addRegisterKills(unsigned Reg, MachineInstr *MI,
+                        SmallSet<unsigned, 4> &SubKills);
+
+  /// HandlePhysRegKill - Add kills of Reg and its sub-registers to the
+  /// uses. Pay special attention to the sub-register uses which may come below
+  /// the last use of the whole register.
+  bool HandlePhysRegKill(unsigned Reg, MachineInstr *MI,
+                         SmallSet<unsigned, 4> &SubKills);
+  bool HandlePhysRegKill(unsigned Reg, MachineInstr *MI);
   void HandlePhysRegUse(unsigned Reg, MachineInstr *MI);
   void HandlePhysRegDef(unsigned Reg, MachineInstr *MI);
 



_______________________________________________
llvm-commits mailing list
llvm-commits@cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits

Reply via email to