21 #define DEBUG_TYPE "mips-prelegalizer-combiner" 26 class MipsPreLegalizerCombinerInfo :
public CombinerInfo {
28 MipsPreLegalizerCombinerInfo()
48 MipsPreLegalizerCombiner();
50 StringRef getPassName()
const override {
return "MipsPreLegalizerCombiner"; }
58 void MipsPreLegalizerCombiner::getAnalysisUsage(
AnalysisUsage &AU)
const {
69 bool MipsPreLegalizerCombiner::runOnMachineFunction(
MachineFunction &MF) {
73 auto *TPC = &getAnalysis<TargetPassConfig>();
74 MipsPreLegalizerCombinerInfo PCInfo;
81 "Combine Mips machine instrs before legalization",
false,
90 return new MipsPreLegalizerCombiner();
static PassRegistry * getPassRegistry()
getPassRegistry - Access the global registry object, which is automatically initialized at applicatio...
This class represents lattice values for constants.
void getSelectionDAGFallbackAnalysisUsage(AnalysisUsage &AU)
Modify analysis usage so it preserves passes required for the SelectionDAG fallback.
const MachineFunctionProperties & getProperties() const
Get the function properties.
AnalysisUsage & addRequired()
#define INITIALIZE_PASS_DEPENDENCY(depName)
MachineFunctionPass - This class adapts the FunctionPass interface to allow convenient creation of pa...
Combine Mips machine instrs before legalization
Target-Independent Code Generator Pass Configuration Options.
Abstract class that contains various methods for clients to notify about changes. ...
static GCRegistry::Add< OcamlGC > B("ocaml", "ocaml 3.10-compatible GC")
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
Helper class to build MachineInstr.
FunctionPass * createMipsPreLegalizeCombiner()
INITIALIZE_PASS_BEGIN(MipsPreLegalizerCombiner, DEBUG_TYPE, "Combine Mips machine instrs before legalization", false, false) INITIALIZE_PASS_END(MipsPreLegalizerCombiner
Represent the analysis usage information of a pass.
FunctionPass class - This class is used to implement most global optimizations.
bool combineMachineInstrs(MachineFunction &MF, GISelCSEInfo *CSEInfo)
If CSEInfo is not null, then the Combiner will setup observer for CSEInfo and instantiate a CSEMIRBui...
INITIALIZE_PASS_END(RegBankSelect, DEBUG_TYPE, "Assign register bank of generic virtual registers", false, false) RegBankSelect
void setPreservesCFG()
This function should be called by the pass, iff they do not:
Representation of each machine instruction.
bool hasProperty(Property P) const
StringRef - Represent a constant reference to a string, i.e.
void initializeMipsPreLegalizerCombinerPass(PassRegistry &)