summaryrefslogtreecommitdiff
path: root/include/llvm/CodeGen
diff options
context:
space:
mode:
authorEvan Cheng <evan.cheng@apple.com>2010-07-14 01:22:19 +0000
committerEvan Cheng <evan.cheng@apple.com>2010-07-14 01:22:19 +0000
commitdb8980903717e1127463f00a34cae9bd29f82a91 (patch)
treecb250ca2613d031edc1a7c36bef5a121871e2c90 /include/llvm/CodeGen
parent9e82bf12a03117bfce78217662d5cf8e74aef357 (diff)
downloadllvm-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.h4
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;