LLVM 22.0.0git
|
#include "Target/Mips/MipsISelDAGToDAG.h"
Public Member Functions | |
MipsDAGToDAGISel ()=delete | |
MipsDAGToDAGISel (MipsTargetMachine &TM, CodeGenOptLevel OL) | |
bool | runOnMachineFunction (MachineFunction &MF) override |
Public Member Functions inherited from llvm::SelectionDAGISel | |
SelectionDAGISel (TargetMachine &tm, CodeGenOptLevel OL=CodeGenOptLevel::Default) | |
virtual | ~SelectionDAGISel () |
BatchAAResults * | getBatchAA () const |
Returns a (possibly null) pointer to the current BatchAAResults. | |
const TargetLowering * | getTargetLowering () const |
void | initializeAnalysisResults (MachineFunctionAnalysisManager &MFAM) |
void | initializeAnalysisResults (MachineFunctionPass &MFP) |
virtual void | emitFunctionEntryCode () |
virtual void | PreprocessISelDAG () |
PreprocessISelDAG - This hook allows targets to hack on the graph before instruction selection starts. | |
virtual void | PostprocessISelDAG () |
PostprocessISelDAG() - This hook allows the target to hack on the graph right after selection. | |
virtual bool | IsProfitableToFold (SDValue N, SDNode *U, SDNode *Root) const |
IsProfitableToFold - Returns true if it's profitable to fold the specific operand node N of U during instruction selection that starts at Root. | |
bool | CheckAndMask (SDValue LHS, ConstantSDNode *RHS, int64_t DesiredMaskS) const |
CheckAndMask - The isel is trying to match something like (and X, 255). | |
bool | CheckOrMask (SDValue LHS, ConstantSDNode *RHS, int64_t DesiredMaskS) const |
CheckOrMask - The isel is trying to match something like (or X, 255). | |
virtual bool | CheckPatternPredicate (unsigned PredNo) const |
CheckPatternPredicate - This function is generated by tblgen in the target. | |
virtual bool | CheckNodePredicate (SDValue Op, unsigned PredNo) const |
CheckNodePredicate - This function is generated by tblgen in the target. | |
virtual bool | CheckNodePredicateWithOperands (SDValue Op, unsigned PredNo, ArrayRef< SDValue > Operands) const |
CheckNodePredicateWithOperands - This function is generated by tblgen in the target. | |
virtual bool | CheckComplexPattern (SDNode *Root, SDNode *Parent, SDValue N, unsigned PatternNo, SmallVectorImpl< std::pair< SDValue, SDNode * > > &Result) |
virtual SDValue | RunSDNodeXForm (SDValue V, unsigned XFormNo) |
void | SelectCodeCommon (SDNode *NodeToMatch, const unsigned char *MatcherTable, unsigned TableSize) |
virtual bool | ComplexPatternFuncMutatesDAG () const |
Return true if complex patterns for this target can mutate the DAG. | |
bool | mayRaiseFPException (SDNode *Node) const |
Return whether the node may raise an FP exception. | |
bool | isOrEquivalentToAdd (const SDNode *N) const |
Protected Member Functions | |
SDNode * | getGlobalBaseReg () |
getGlobalBaseReg - Output the instructions required to put the GOT address into a register. | |
Protected Member Functions inherited from llvm::SelectionDAGISel | |
void | ReplaceUses (SDValue F, SDValue T) |
ReplaceUses - replace all uses of the old node F with the use of the new node T. | |
void | ReplaceUses (const SDValue *F, const SDValue *T, unsigned Num) |
ReplaceUses - replace all uses of the old nodes F with the use of the new nodes T. | |
void | ReplaceUses (SDNode *F, SDNode *T) |
ReplaceUses - replace all uses of the old node F with the use of the new node T. | |
void | ReplaceNode (SDNode *F, SDNode *T) |
Replace all uses of F with T , then remove F from the DAG. | |
void | SelectInlineAsmMemoryOperands (std::vector< SDValue > &Ops, const SDLoc &DL) |
SelectInlineAsmMemoryOperands - Calls to this are automatically generated by tblgen. | |
virtual StringRef | getPatternForIndex (unsigned index) |
getPatternForIndex - Patterns selected by tablegen during ISEL | |
virtual StringRef | getIncludePathForIndex (unsigned index) |
getIncludePathForIndex - get the td source location of pattern instantiation | |
bool | shouldOptForSize (const MachineFunction *MF) const |
Protected Attributes | |
const MipsSubtarget * | Subtarget |
Keep a pointer to the MipsSubtarget around so that we can make the right decision when generating code for different targets. | |
Protected Attributes inherited from llvm::SelectionDAGISel | |
unsigned | DAGSize = 0 |
DAGSize - Size of DAG being instruction selected. |
Definition at line 31 of file MipsISelDAGToDAG.h.
|
delete |
|
inlineexplicit |
Definition at line 35 of file MipsISelDAGToDAG.h.
References llvm::SelectionDAGISel::SelectionDAGISel(), Subtarget, and llvm::SelectionDAGISel::TM.
|
protected |
getGlobalBaseReg - Output the instructions required to put the GOT address into a register.
Definition at line 60 of file MipsISelDAGToDAG.cpp.
References llvm::SelectionDAGISel::CurDAG, getGlobalBaseReg(), llvm::SelectionDAGISel::getTargetLowering(), and llvm::SelectionDAGISel::MF.
Referenced by getGlobalBaseReg().
|
overridevirtual |
Reimplemented from llvm::SelectionDAGISel.
Definition at line 49 of file MipsISelDAGToDAG.cpp.
References llvm::SelectionDAGISel::MF, llvm::SelectionDAGISel::runOnMachineFunction(), and Subtarget.
|
protected |
Keep a pointer to the MipsSubtarget around so that we can make the right decision when generating code for different targets.
Definition at line 45 of file MipsISelDAGToDAG.h.
Referenced by MipsDAGToDAGISel(), and runOnMachineFunction().