14 #ifndef LLVM_LIB_TARGET_MIPS_MIPSISELDAGTODAG_H
15 #define LLVM_LIB_TARGET_MIPS_MIPSISELDAGTODAG_H
39 return "MIPS DAG->DAG Pattern Instruction Selection";
53 #include "MipsGenDAGISel.inc"
88 unsigned MinSizeInBits)
const;
119 virtual std::pair<bool, SDNode*> selectNode(
SDNode *Node) = 0;
128 bool SelectInlineAsmMemoryOperand(
const SDValue &Op,
129 unsigned ConstraintID,
130 std::vector<SDValue> &OutOps)
override;
MipsDAGToDAGISel(MipsTargetMachine &TM)
EVT getValueType(unsigned ResNo) const
Return the type of a specified result.
const char * getPassName() const override
getPassName - Return a nice clean name for a pass.
const MipsSubtarget * Subtarget
Keep a pointer to the MipsSubtarget around so that we can make the right decision when generating cod...
SDValue getTargetConstant(uint64_t Val, SDLoc DL, EVT VT, bool isOpaque=false)
Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation funct...
Represents one node in the SelectionDAG.
SelectionDAGISel - This is the common base class used for SelectionDAG-based pattern-matching instruc...
Class for arbitrary precision integers.
SDNode * getGlobalBaseReg()
getGlobalBaseReg - Output the instructions required to put the GOT address into a register...
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation...
bool runOnMachineFunction(MachineFunction &MF) override
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformat...