[AArch64] Register (existing) AArch64ExpandPseudo pass with LLVM pass manager.

Summary: Among other things, this allows -print-after-all/-print-before-all to
dump IR around this pass.

llvm-svn: 244046
This commit is contained in:
Chad Rosier 2015-08-05 14:22:53 +00:00
parent 45f3954ce9
commit 9378c16ac8
1 changed files with 13 additions and 2 deletions

View File

@ -22,18 +22,26 @@
#include "llvm/Support/MathExtras.h"
using namespace llvm;
namespace llvm {
void initializeAArch64ExpandPseudoPass(PassRegistry &);
}
#define AARCH64_EXPAND_PSEUDO_NAME "AArch64 pseudo instruction expansion pass"
namespace {
class AArch64ExpandPseudo : public MachineFunctionPass {
public:
static char ID;
AArch64ExpandPseudo() : MachineFunctionPass(ID) {}
AArch64ExpandPseudo() : MachineFunctionPass(ID) {
initializeAArch64ExpandPseudoPass(*PassRegistry::getPassRegistry());
}
const AArch64InstrInfo *TII;
bool runOnMachineFunction(MachineFunction &Fn) override;
const char *getPassName() const override {
return "AArch64 pseudo instruction expansion pass";
return AARCH64_EXPAND_PSEUDO_NAME;
}
private:
@ -45,6 +53,9 @@ private:
char AArch64ExpandPseudo::ID = 0;
}
INITIALIZE_PASS(AArch64ExpandPseudo, "aarch64-expand-pseudo",
AARCH64_EXPAND_PSEUDO_NAME, false, false)
/// \brief Transfer implicit operands on the pseudo instruction to the
/// instructions created from the expansion.
static void transferImpOps(MachineInstr &OldMI, MachineInstrBuilder &UseMI,