14 #ifndef LLVM_LIB_TARGET_MIPS_MIPSSEISELDAGTODAG_H
15 #define LLVM_LIB_TARGET_MIPS_MIPSSEISELDAGTODAG_H
33 unsigned getMSACtrlReg(
const SDValue RegIdx)
const;
37 std::pair<SDNode*, SDNode*> selectMULT(
SDNode *
N,
unsigned Opc,
SDLoc dl,
38 EVT Ty,
bool HasLo,
bool HasHi);
45 unsigned OffsetBits)
const;
48 SDValue &Offset)
const override;
51 SDValue &Offset)
const override;
54 SDValue &Offset)
const override;
57 SDValue &Offset)
const override;
72 SDValue &Offset)
const override;
75 SDValue &Offset)
const override;
78 SDValue &Offset)
const override;
82 unsigned MinSizeInBits)
const override;
85 unsigned ImmBitSize)
const;
114 std::pair<bool, SDNode*> selectNode(
SDNode *Node)
override;
122 bool SelectInlineAsmMemoryOperand(
const SDValue &Op,
123 unsigned ConstraintID,
124 std::vector<SDValue> &OutOps)
override;
MipsSEDAGToDAGISel(MipsTargetMachine &TM)
FunctionPass * createMipsSEISelDag(MipsTargetMachine &TM)
EVT - Extended Value Type.
Wrapper class for IR location info (IR ordering and DebugLoc) to be passed into SDNode creation funct...
Represents one node in the SelectionDAG.
Class for arbitrary precision integers.
MachineRegisterInfo - Keep track of information for virtual and physical registers, including vreg register classes, use/def chains for registers, etc.
Representation of each machine instruction.
Unlike LLVM values, Selection DAG nodes may return multiple values as the result of a computation...