diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-07-14 01:22:19 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-07-14 01:22:19 +0000 |
commit | db8980903717e1127463f00a34cae9bd29f82a91 (patch) | |
tree | cb250ca2613d031edc1a7c36bef5a121871e2c90 /include/llvm/CodeGen | |
parent | 9e82bf12a03117bfce78217662d5cf8e74aef357 (diff) | |
download | llvm-db8980903717e1127463f00a34cae9bd29f82a91.tar.gz llvm-db8980903717e1127463f00a34cae9bd29f82a91.tar.bz2 llvm-db8980903717e1127463f00a34cae9bd29f82a91.tar.xz |
Teach ProcessImplicitDefs to transform more COPY instructions into IMPLICIT_DEF (and subsequently eliminate them). This allows machine LICM to hoist IMPLICIT_DEF's. PR7620.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@108304 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/llvm/CodeGen')
-rw-r--r-- | include/llvm/CodeGen/ProcessImplicitDefs.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/include/llvm/CodeGen/ProcessImplicitDefs.h b/include/llvm/CodeGen/ProcessImplicitDefs.h index cec867f9e6..30477b9b80 100644 --- a/include/llvm/CodeGen/ProcessImplicitDefs.h +++ b/include/llvm/CodeGen/ProcessImplicitDefs.h @@ -12,6 +12,7 @@ #define LLVM_CODEGEN_PROCESSIMPLICITDEFS_H #include "llvm/CodeGen/MachineFunctionPass.h" +#include "llvm/ADT/SmallSet.h" namespace llvm { @@ -24,7 +25,8 @@ namespace llvm { private: bool CanTurnIntoImplicitDef(MachineInstr *MI, unsigned Reg, - unsigned OpIdx, const TargetInstrInfo *tii_); + unsigned OpIdx, const TargetInstrInfo *tii_, + SmallSet<unsigned, 8> &ImpDefRegs); public: static char ID; |