#include "MCTargetDesc/RISCVMatInt.h"
#include "RISCV.h"
#include "RISCVInstrInfo.h"
#include "RISCVTargetMachine.h"
#include "llvm/CodeGen/MachineFunctionPass.h"
#include "llvm/CodeGen/MachineInstrBuilder.h"
usingnamespacellvm;
#define RISCV_POST_RA_EXPAND_PSEUDO_NAME …
namespace {
class RISCVPostRAExpandPseudo : public MachineFunctionPass { … };
char RISCVPostRAExpandPseudo::ID = …;
bool RISCVPostRAExpandPseudo::runOnMachineFunction(MachineFunction &MF) { … }
bool RISCVPostRAExpandPseudo::expandMBB(MachineBasicBlock &MBB) { … }
bool RISCVPostRAExpandPseudo::expandMI(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MBBI,
MachineBasicBlock::iterator &NextMBBI) { … }
bool RISCVPostRAExpandPseudo::expandMovImm(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MBBI) { … }
bool RISCVPostRAExpandPseudo::expandMovAddr(MachineBasicBlock &MBB,
MachineBasicBlock::iterator MBBI) { … }
}
INITIALIZE_PASS(…)
namespace llvm {
FunctionPass *createRISCVPostRAExpandPseudoPass() { … }
}