[llvm-commits] CVS: llvm/include/llvm/CodeGen/LiveVariables.h
Evan Cheng
evan.cheng at apple.com
Tue Jun 26 14:03:21 PDT 2007
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);
More information about the llvm-commits
mailing list