|
LLVM 22.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 () |
| 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 |
Static Public Member Functions | |
| static NVPTX::AddressSpace | getAddrSpace (const MemSDNode *N) |
| static unsigned | getFromTypeWidthForLoad (const MemSDNode *Mem) |
| Static Public Member Functions inherited from llvm::SelectionDAGISel | |
| static bool | IsLegalToFold (SDValue N, SDNode *U, SDNode *Root, CodeGenOptLevel OptLevel, bool IgnoreChains=false) |
| IsLegalToFold - Returns true if the specific operand node N of U can be folded during instruction selection that starts at Root. | |
| static void | InvalidateNodeId (SDNode *N) |
| static int | getUninvalidatedNodeId (SDNode *N) |
| static void | EnforceNodeIdInvariant (SDNode *N) |
| static int | getNumFixedFromVariadicInfo (unsigned Flags) |
| getNumFixedFromVariadicInfo - Transform an EmitNode flags word into the number of fixed arity values that should be skipped when copying from the root. | |
Public Attributes | |
| const NVPTXSubtarget * | Subtarget = nullptr |
| Public Attributes inherited from llvm::SelectionDAGISel | |
| TargetMachine & | TM |
| const TargetLibraryInfo * | LibInfo |
| std::unique_ptr< FunctionLoweringInfo > | FuncInfo |
| std::unique_ptr< SwiftErrorValueTracking > | SwiftError |
| MachineFunction * | MF |
| MachineModuleInfo * | MMI |
| MachineRegisterInfo * | RegInfo |
| SelectionDAG * | CurDAG |
| std::unique_ptr< SelectionDAGBuilder > | SDB |
| std::optional< BatchAAResults > | BatchAA |
| 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 |
References llvm::SelectionDAGISel::MF, NVPTXDAGToDAGISel(), llvm::SelectionDAGISel::OptLevel, and runOnMachineFunction().
Referenced by NVPTXDAGToDAGISel(), and NVPTXDAGToDAGISel().
|
explicit |
Definition at line 64 of file NVPTXISelDAGToDAG.cpp.
References NVPTXDAGToDAGISel(), llvm::SelectionDAGISel::OptLevel, and llvm::SelectionDAGISel::SelectionDAGISel().
|
static |
Definition at line 516 of file NVPTXISelDAGToDAG.cpp.
References convertAS(), llvm::NVPTX::Generic, and N.
Definition at line 1304 of file NVPTXISelDAGToDAG.cpp.
References assert(), llvm::MemSDNode::getMemoryVT(), llvm::SDNode::getNumValues(), llvm::EVT::getSizeInBits(), and llvm::isPowerOf2_32().
Referenced by computeKnownBitsForLoadV().
|
overridevirtual |
Reimplemented from llvm::SelectionDAGISel.
Definition at line 68 of file NVPTXISelDAGToDAG.cpp.
References llvm::SelectionDAGISel::MF, llvm::SelectionDAGISel::runOnMachineFunction(), and Subtarget.
Referenced by NVPTXDAGToDAGISel().
|
overridevirtual |
SelectInlineAsmMemoryOperand - Implement addressing mode selection for inline asm expressions.
Reimplemented from llvm::SelectionDAGISel.
Definition at line 1757 of file NVPTXISelDAGToDAG.cpp.
References llvm::sampleprof::Base, llvm::SelectionDAGISel::CurDAG, llvm::InlineAsm::m, llvm::Offset, and selectADDR().
| const NVPTXSubtarget* llvm::NVPTXDAGToDAGISel::Subtarget = nullptr |
Definition at line 58 of file NVPTXISelDAGToDAG.h.
Referenced by runOnMachineFunction().