|
LLVM
8.0.1
|
#include "Target/Mips/MipsISelDAGToDAG.h"


Public Member Functions | |
| MipsDAGToDAGISel (MipsTargetMachine &TM, CodeGenOpt::Level OL) | |
| StringRef | getPassName () const override |
| getPassName - Return a nice clean name for a pass. More... | |
| bool | runOnMachineFunction (MachineFunction &MF) override |
| runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis. More... | |
| void | getAnalysisUsage (AnalysisUsage &AU) const override |
| getAnalysisUsage - Subclasses that override getAnalysisUsage must call this. More... | |
Public Member Functions inherited from llvm::SelectionDAGISel | |
| SelectionDAGISel (TargetMachine &tm, CodeGenOpt::Level OL=CodeGenOpt::Default) | |
| ~SelectionDAGISel () override | |
| const TargetLowering * | getTargetLowering () const |
| virtual void | EmitFunctionEntryCode () |
| virtual void | PreprocessISelDAG () |
| PreprocessISelDAG - This hook allows targets to hack on the graph before instruction selection starts. More... | |
| virtual void | PostprocessISelDAG () |
| PostprocessISelDAG() - This hook allows the target to hack on the graph right after selection. More... | |
| 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. More... | |
| bool | CheckAndMask (SDValue LHS, ConstantSDNode *RHS, int64_t DesiredMaskS) const |
| CheckAndMask - The isel is trying to match something like (and X, 255). More... | |
| bool | CheckOrMask (SDValue LHS, ConstantSDNode *RHS, int64_t DesiredMaskS) const |
| CheckOrMask - The isel is trying to match something like (or X, 255). More... | |
| virtual bool | CheckPatternPredicate (unsigned PredNo) const |
| CheckPatternPredicate - This function is generated by tblgen in the target. More... | |
| virtual bool | CheckNodePredicate (SDNode *N, unsigned PredNo) const |
| CheckNodePredicate - This function is generated by tblgen in the target. More... | |
| virtual bool | CheckNodePredicateWithOperands (SDNode *N, unsigned PredNo, const SmallVectorImpl< SDValue > &Operands) const |
| CheckNodePredicateWithOperands - This function is generated by tblgen in the target. More... | |
| 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. More... | |
| bool | isOrEquivalentToAdd (const SDNode *N) const |
Public Member Functions inherited from llvm::MachineFunctionPass | |
| bool | doInitialization (Module &) override |
| doInitialization - Virtual method overridden by subclasses to do any necessary initialization before any pass is run. More... | |
Public Member Functions inherited from llvm::FunctionPass | |
| FunctionPass (char &pid) | |
| Pass * | createPrinterPass (raw_ostream &OS, const std::string &Banner) const override |
| createPrinterPass - Get a function printer pass. More... | |
| void | assignPassManager (PMStack &PMS, PassManagerType T) override |
| Find appropriate Function Pass Manager or Call Graph Pass Manager in the PM Stack and add self into that manager. More... | |
| PassManagerType | getPotentialPassManagerType () const override |
| Return what kind of Pass Manager can manage this pass. More... | |
Public Member Functions inherited from llvm::Pass | |
| Pass (PassKind K, char &pid) | |
| Pass (const Pass &)=delete | |
| Pass & | operator= (const Pass &)=delete |
| virtual | ~Pass () |
| PassKind | getPassKind () const |
| AnalysisID | getPassID () const |
| getPassID - Return the PassID number that corresponds to this pass. More... | |
| virtual bool | doFinalization (Module &) |
| doFinalization - Virtual method overriden by subclasses to do any necessary clean up after all passes have run. More... | |
| virtual void | print (raw_ostream &OS, const Module *M) const |
| print - Print out the internal state of the pass. More... | |
| void | dump () const |
| virtual void | preparePassManager (PMStack &) |
| Check if available pass managers are suitable for this pass or not. More... | |
| void | setResolver (AnalysisResolver *AR) |
| AnalysisResolver * | getResolver () const |
| virtual void | releaseMemory () |
| releaseMemory() - This member can be implemented by a pass if it wants to be able to release its memory when it is no longer needed. More... | |
| virtual void * | getAdjustedAnalysisPointer (AnalysisID ID) |
| getAdjustedAnalysisPointer - This method is used when a pass implements an analysis interface through multiple inheritance. More... | |
| virtual ImmutablePass * | getAsImmutablePass () |
| virtual PMDataManager * | getAsPMDataManager () |
| virtual void | verifyAnalysis () const |
| verifyAnalysis() - This member can be implemented by a analysis pass to check state of analysis information. More... | |
| virtual void | dumpPassStructure (unsigned Offset=0) |
| template<typename AnalysisType > | |
| AnalysisType * | getAnalysisIfAvailable () const |
| getAnalysisIfAvailable<AnalysisType>() - Subclasses use this function to get analysis information that might be around, for example to update it. More... | |
| bool | mustPreserveAnalysisID (char &AID) const |
| mustPreserveAnalysisID - This method serves the same function as getAnalysisIfAvailable, but works if you just have an AnalysisID. More... | |
| template<typename AnalysisType > | |
| AnalysisType & | getAnalysis () const |
| getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. More... | |
| template<typename AnalysisType > | |
| AnalysisType & | getAnalysis (Function &F) |
| getAnalysis<AnalysisType>() - This function is used by subclasses to get to the analysis information that they claim to use by overriding the getAnalysisUsage function. More... | |
| template<typename AnalysisType > | |
| AnalysisType & | getAnalysisID (AnalysisID PI) const |
| template<typename AnalysisType > | |
| AnalysisType & | getAnalysisID (AnalysisID PI, Function &F) |
Protected Member Functions | |
| SDNode * | getGlobalBaseReg () |
| getGlobalBaseReg - Output the instructions required to put the GOT address into a register. More... | |
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. More... | |
| 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. More... | |
| void | ReplaceUses (SDNode *F, SDNode *T) |
| ReplaceUses - replace all uses of the old node F with the use of the new node T. More... | |
| void | ReplaceNode (SDNode *F, SDNode *T) |
Replace all uses of F with T, then remove F from the DAG. More... | |
| void | SelectInlineAsmMemoryOperands (std::vector< SDValue > &Ops, const SDLoc &DL) |
| SelectInlineAsmMemoryOperands - Calls to this are automatically generated by tblgen. More... | |
| virtual StringRef | getPatternForIndex (unsigned index) |
| getPatternForIndex - Patterns selected by tablegen during ISEL More... | |
| virtual StringRef | getIncludePathForIndex (unsigned index) |
| getIncludePathForIndex - get the td source location of pattern instantiation More... | |
Protected Member Functions inherited from llvm::MachineFunctionPass | |
| MachineFunctionPass (char &ID) | |
| virtual MachineFunctionProperties | getRequiredProperties () const |
| virtual MachineFunctionProperties | getSetProperties () const |
| virtual MachineFunctionProperties | getClearedProperties () const |
Protected Member Functions inherited from llvm::FunctionPass | |
| bool | skipFunction (const Function &F) const |
| Optional passes call this function to check whether the pass should be skipped. More... | |
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. More... | |
Protected Attributes inherited from llvm::SelectionDAGISel | |
| unsigned | DAGSize |
| DAGSize - Size of DAG being instruction selected. More... | |
Definition at line 32 of file MipsISelDAGToDAG.h.
|
inlineexplicit |
Definition at line 34 of file MipsISelDAGToDAG.h.
|
overridevirtual |
getAnalysisUsage - Subclasses that override getAnalysisUsage must call this.
For MachineFunctionPasses, calling AU.preservesCFG() indicates that the pass does not modify the MachineBasicBlock CFG.
Reimplemented from llvm::SelectionDAGISel.
Definition at line 50 of file MipsISelDAGToDAG.cpp.
References llvm::AnalysisUsage::addPreserved(), and llvm::SelectionDAGISel::getAnalysisUsage().
Referenced by getPassName().
|
protected |
getGlobalBaseReg - Output the instructions required to put the GOT address into a register.
Definition at line 68 of file MipsISelDAGToDAG.cpp.
References llvm::SelectionDAGISel::CurDAG, llvm::SelectionDAG::getDataLayout(), llvm::MachineFunction::getInfo(), llvm::SDValue::getNode(), llvm::SelectionDAG::getRegister(), llvm::SelectionDAGISel::getTargetLowering(), llvm::PPCISD::GlobalBaseReg, llvm_unreachable, llvm::SelectionDAGISel::MF, and N.
Referenced by getPassName().
|
inlineoverridevirtual |
getPassName - Return a nice clean name for a pass.
This usually implemented in terms of the name that is registered by one of the Registration templates, but can be overloaded directly.
Reimplemented from llvm::Pass.
Definition at line 38 of file MipsISelDAGToDAG.h.
References getAnalysisUsage(), getGlobalBaseReg(), llvm::SelectionDAGISel::MF, and runOnMachineFunction().
|
overridevirtual |
runOnMachineFunction - This method must be overloaded to perform the desired machine code transformation or analysis.
Reimplemented from llvm::SelectionDAGISel.
Definition at line 57 of file MipsISelDAGToDAG.cpp.
References llvm::MachineFunction::getSubtarget(), llvm::MipsISD::Ret, llvm::SelectionDAGISel::runOnMachineFunction(), and Subtarget.
Referenced by getPassName().
|
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 51 of file MipsISelDAGToDAG.h.
Referenced by runOnMachineFunction().
1.8.13