Go to the documentation of this file.
13 #ifndef LLVM_LIB_TARGET_MIPS_MIPSISELDAGTODAG_H
14 #define LLVM_LIB_TARGET_MIPS_MIPSISELDAGTODAG_H
38 return "MIPS DAG->DAG Pattern Instruction Selection";
54 #include "MipsGenDAGISel.inc"
99 unsigned MinSizeInBits)
const;
131 bool selectVecAddAsVecSubIfProfitable(
SDNode *
Node);
133 void Select(
SDNode *
N)
override;
144 bool SelectInlineAsmMemoryOperand(
const SDValue &
Op,
145 unsigned ConstraintID,
146 std::vector<SDValue> &OutOps)
override;
This is an optimization pass for GlobalISel generic memory operations.
Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation funct...
MipsDAGToDAGISel(MipsTargetMachine &TM, CodeGenOpt::Level OL)
void getAnalysisUsage(AnalysisUsage &AU) const override
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
Represents one node in the SelectionDAG.
const MipsSubtarget * Subtarget
Keep a pointer to the MipsSubtarget around so that we can make the right decision when generating cod...
StringRef getPassName() const override
getPassName - Return a nice clean name for a pass.
Represent the analysis usage information of a pass.
Class for arbitrary precision integers.
StringRef - Represent a constant reference to a string, i.e.
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation.
SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruc...
SDValue getTargetConstant(uint64_t Val, const SDLoc &DL, EVT VT, bool isOpaque=false)
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...
SDNode * getGlobalBaseReg()
getGlobalBaseReg - Output the instructions required to put the GOT address into a register.