LLVM 17.0.0git
|
#include "NVPTXISelDAGToDAG.h"
#include "MCTargetDesc/NVPTXBaseInfo.h"
#include "NVPTXUtilities.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/IR/GlobalValue.h"
#include "llvm/IR/Instructions.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
#include "llvm/Support/AtomicOrdering.h"
#include "llvm/Support/CommandLine.h"
#include "llvm/Support/Debug.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Support/raw_ostream.h"
#include "llvm/Target/TargetIntrinsicInfo.h"
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "nvptx-isel" |
#define | PASS_NAME "NVPTX DAG->DAG Pattern Instruction Selection" |
Functions | |
static unsigned | getPTXCmpMode (const CondCodeSDNode &CondCode, bool FTZ) |
static unsigned int | getCodeAddrSpace (MemSDNode *N) |
static bool | canLowerToLDG (MemSDNode *N, const NVPTXSubtarget &Subtarget, unsigned CodeAddrSpace, MachineFunction *F) |
static std::optional< unsigned > | pickOpcodeForVT (MVT::SimpleValueType VT, unsigned Opcode_i8, unsigned Opcode_i16, unsigned Opcode_i32, std::optional< unsigned > Opcode_i64, unsigned Opcode_f32, std::optional< unsigned > Opcode_f64) |
static int | getLdStRegType (EVT VT) |
#define DEBUG_TYPE "nvptx-isel" |
Definition at line 29 of file NVPTXISelDAGToDAG.cpp.
#define PASS_NAME "NVPTX DAG->DAG Pattern Instruction Selection" |
Definition at line 30 of file NVPTXISelDAGToDAG.cpp.
|
static |
Definition at line 681 of file NVPTXISelDAGToDAG.cpp.
References A, llvm::all_of(), F, llvm::getUnderlyingObjects(), llvm::NVPTX::PTXLdStInstCode::GLOBAL, llvm::NVPTXSubtarget::hasLDG(), if(), llvm::isKernelFunction(), and N.
Definition at line 661 of file NVPTXISelDAGToDAG.cpp.
References llvm::ADDRESS_SPACE_CONST, llvm::ADDRESS_SPACE_GENERIC, llvm::ADDRESS_SPACE_GLOBAL, llvm::ADDRESS_SPACE_LOCAL, llvm::ADDRESS_SPACE_PARAM, llvm::ADDRESS_SPACE_SHARED, llvm::NVPTX::PTXLdStInstCode::CONSTANT, llvm::NVPTX::PTXLdStInstCode::GENERIC, llvm::NVPTX::PTXLdStInstCode::GLOBAL, llvm::NVPTX::PTXLdStInstCode::LOCAL, N, llvm::NVPTX::PTXLdStInstCode::PARAM, and llvm::NVPTX::PTXLdStInstCode::SHARED.
|
static |
Definition at line 846 of file NVPTXISelDAGToDAG.cpp.
References llvm::NVPTX::PTXLdStInstCode::Float, llvm::EVT::getSimpleVT(), llvm::EVT::isFloatingPoint(), llvm::MVT::SimpleTy, llvm::NVPTX::PTXLdStInstCode::Unsigned, and llvm::NVPTX::PTXLdStInstCode::Untyped.
|
static |
Definition at line 542 of file NVPTXISelDAGToDAG.cpp.
References CC, llvm::NVPTX::PTXCmpMode::FTZ_FLAG, llvm_unreachable, llvm::ISD::SETEQ, llvm::ISD::SETGE, llvm::ISD::SETGT, llvm::ISD::SETLE, llvm::ISD::SETLT, llvm::ISD::SETNE, llvm::ISD::SETO, llvm::ISD::SETOEQ, llvm::ISD::SETOGE, llvm::ISD::SETOGT, llvm::ISD::SETOLE, llvm::ISD::SETOLT, llvm::ISD::SETONE, llvm::ISD::SETUEQ, llvm::ISD::SETUGE, llvm::ISD::SETUGT, llvm::ISD::SETULE, llvm::ISD::SETULT, llvm::ISD::SETUNE, and llvm::ISD::SETUO.
|
static |
Definition at line 817 of file NVPTXISelDAGToDAG.cpp.