forked from OSchip/llvm-project
[ARM] Register ARMPreAllocLoadStoreOpt pass with LLVM pass manager.
llvm-svn: 247791
This commit is contained in:
parent
72373fb5b7
commit
5d485db6b2
|
@ -1842,12 +1842,21 @@ bool ARMLoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
|
|||
return Modified;
|
||||
}
|
||||
|
||||
namespace llvm {
|
||||
void initializeARMPreAllocLoadStoreOptPass(PassRegistry &);
|
||||
}
|
||||
|
||||
#define ARM_PREALLOC_LOAD_STORE_OPT_NAME \
|
||||
"ARM pre- register allocation load / store optimization pass"
|
||||
|
||||
namespace {
|
||||
/// Pre- register allocation pass that move load / stores from consecutive
|
||||
/// locations close to make it more likely they will be combined later.
|
||||
struct ARMPreAllocLoadStoreOpt : public MachineFunctionPass{
|
||||
static char ID;
|
||||
ARMPreAllocLoadStoreOpt() : MachineFunctionPass(ID) {}
|
||||
ARMPreAllocLoadStoreOpt() : MachineFunctionPass(ID) {
|
||||
initializeARMPreAllocLoadStoreOptPass(*PassRegistry::getPassRegistry());
|
||||
}
|
||||
|
||||
const DataLayout *TD;
|
||||
const TargetInstrInfo *TII;
|
||||
|
@ -1859,7 +1868,7 @@ namespace {
|
|||
bool runOnMachineFunction(MachineFunction &Fn) override;
|
||||
|
||||
const char *getPassName() const override {
|
||||
return "ARM pre- register allocation load / store optimization pass";
|
||||
return ARM_PREALLOC_LOAD_STORE_OPT_NAME;
|
||||
}
|
||||
|
||||
private:
|
||||
|
@ -1878,6 +1887,9 @@ namespace {
|
|||
char ARMPreAllocLoadStoreOpt::ID = 0;
|
||||
}
|
||||
|
||||
INITIALIZE_PASS(ARMPreAllocLoadStoreOpt, "arm-prera-load-store-opt",
|
||||
ARM_PREALLOC_LOAD_STORE_OPT_NAME, false, false)
|
||||
|
||||
bool ARMPreAllocLoadStoreOpt::runOnMachineFunction(MachineFunction &Fn) {
|
||||
TD = &Fn.getDataLayout();
|
||||
STI = &static_cast<const ARMSubtarget &>(Fn.getSubtarget());
|
||||
|
|
Loading…
Reference in New Issue