LLVM 20.0.0git
|
#include "Target/NVPTX/NVPTXISelDAGToDAG.h"
Public Member Functions | |
NVPTXDAGToDAGISel ()=delete | |
NVPTXDAGToDAGISel (NVPTXTargetMachine &tm, CodeGenOptLevel OptLevel) | |
bool | runOnMachineFunction (MachineFunction &MF) override |
bool | SelectInlineAsmMemoryOperand (const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, std::vector< SDValue > &OutOps) override |
SelectInlineAsmMemoryOperand - Implement addressing mode selection for inline asm expressions. | |
Public Member Functions inherited from llvm::SelectionDAGISel | |
SelectionDAGISel (TargetMachine &tm, CodeGenOptLevel OL=CodeGenOptLevel::Default) | |
virtual | ~SelectionDAGISel () |
const TargetLowering * | getTargetLowering () const |
void | initializeAnalysisResults (MachineFunctionAnalysisManager &MFAM) |
void | initializeAnalysisResults (MachineFunctionPass &MFP) |
virtual bool | runOnMachineFunction (MachineFunction &mf) |
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 void | Select (SDNode *N)=0 |
Main hook for targets to transform nodes into machine nodes. | |
virtual bool | SelectInlineAsmMemoryOperand (const SDValue &Op, InlineAsm::ConstraintCode ConstraintID, std::vector< SDValue > &OutOps) |
SelectInlineAsmMemoryOperand - Select the specified address as a target addressing mode, according to the specified constraint. | |
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 (SDNode *N, unsigned PredNo) const |
CheckNodePredicate - This function is generated by tblgen in the target. | |
virtual bool | CheckNodePredicateWithOperands (SDNode *N, unsigned PredNo, const SmallVectorImpl< 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 |
Public Attributes | |
const NVPTXSubtarget * | Subtarget = nullptr |
Public Attributes inherited from llvm::SelectionDAGISel | |
TargetMachine & | TM |
const TargetLibraryInfo * | LibInfo |
std::unique_ptr< FunctionLoweringInfo > | FuncInfo |
SwiftErrorValueTracking * | SwiftError |
MachineFunction * | MF |
MachineModuleInfo * | MMI |
MachineRegisterInfo * | RegInfo |
SelectionDAG * | CurDAG |
std::unique_ptr< SelectionDAGBuilder > | SDB |
AAResults * | AA = nullptr |
AssumptionCache * | AC = nullptr |
GCFunctionInfo * | GFI = nullptr |
SSPLayoutInfo * | SP = nullptr |
CodeGenOptLevel | OptLevel |
const TargetInstrInfo * | TII |
const TargetLowering * | TLI |
bool | FastISelFailed |
SmallPtrSet< const Instruction *, 4 > | ElidedArgCopyInstrs |
std::unique_ptr< OptimizationRemarkEmitter > | ORE |
Current optimization remark emitter. | |
bool | MatchFilterFuncName = false |
True if the function currently processing is in the function printing list (i.e. | |
StringRef | FuncName |
Definition at line 40 of file NVPTXISelDAGToDAG.h.
|
delete |
|
explicit |
Definition at line 52 of file NVPTXISelDAGToDAG.cpp.
References llvm::None.
|
overridevirtual |
Reimplemented from llvm::SelectionDAGISel.
Definition at line 58 of file NVPTXISelDAGToDAG.cpp.
References llvm::Function::getContext(), llvm::MachineFunction::getFunction(), llvm::MachineFunction::getSubtarget(), llvm::SelectionDAGISel::MF, llvm::SelectionDAGISel::runOnMachineFunction(), and Subtarget.
|
overridevirtual |
SelectInlineAsmMemoryOperand - Implement addressing mode selection for inline asm expressions.
Reimplemented from llvm::SelectionDAGISel.
Definition at line 2569 of file NVPTXISelDAGToDAG.cpp.
References llvm::SelectionDAGISel::CurDAG, llvm::SelectionDAG::getTargetConstant(), and llvm::InlineAsm::m.
const NVPTXSubtarget* llvm::NVPTXDAGToDAGISel::Subtarget = nullptr |
Definition at line 61 of file NVPTXISelDAGToDAG.h.
Referenced by runOnMachineFunction().