14 #ifndef MipsSEISELLOWERING_H
15 #define MipsSEISELLOWERING_H
57 isEligibleForTailCallOptimization(
const MipsCC &MipsCCInfo,
58 unsigned NextStackOffset,
63 std::deque< std::pair<unsigned, SDValue> > &RegsToPass,
64 bool IsPICCall,
bool GlobalOrExternal,
bool InternalLinkage,
70 SDValue lowerMulDiv(
SDValue Op,
unsigned NewOpc,
bool HasLo,
bool HasHi,
86 unsigned BranchOp)
const;
114 #endif // MipsSEISELLOWERING_H
virtual SDValue LowerOperation(SDValue Op, SelectionDAG &DAG) const
LowerOperation - Provide custom lowering hooks for some operations.
MipsSETargetLowering(MipsTargetMachine &TM)
virtual const TargetRegisterClass * getRepRegClassFor(MVT VT) const
virtual MachineBasicBlock * EmitInstrWithCustomInserter(MachineInstr *MI, MachineBasicBlock *MBB) const
const MipsSubtarget * Subtarget
virtual SDValue PerformDAGCombine(SDNode *N, DAGCombinerInfo &DCI) const
virtual bool allowsUnalignedMemoryAccesses(EVT VT, bool *Fast) const
Determine if the target supports unaligned memory accesses.
virtual bool isShuffleMaskLegal(const SmallVectorImpl< int > &Mask, EVT VT) const
virtual const TargetRegisterClass * getRepRegClassFor(MVT VT) const
void addMSAIntType(MVT::SimpleValueType Ty, const TargetRegisterClass *RC)
Enable MSA support for the given integer type and Register class.
void addMSAFloatType(MVT::SimpleValueType Ty, const TargetRegisterClass *RC)
Enable MSA support for the given floating-point type and Register class.