LLVM 20.0.0git
|
#include "NVPTXTargetTransformInfo.h"
#include "NVPTXUtilities.h"
#include "llvm/Analysis/LoopInfo.h"
#include "llvm/Analysis/TargetTransformInfo.h"
#include "llvm/Analysis/ValueTracking.h"
#include "llvm/CodeGen/BasicTTIImpl.h"
#include "llvm/CodeGen/TargetLowering.h"
#include "llvm/IR/Constants.h"
#include "llvm/IR/IntrinsicInst.h"
#include "llvm/IR/Intrinsics.h"
#include "llvm/IR/IntrinsicsNVPTX.h"
#include "llvm/IR/Value.h"
#include "llvm/Support/Casting.h"
#include "llvm/Support/ErrorHandling.h"
#include "llvm/Transforms/InstCombine/InstCombiner.h"
#include <optional>
Go to the source code of this file.
Macros | |
#define | DEBUG_TYPE "NVPTXtti" |
Functions | |
static bool | readsThreadIndex (const IntrinsicInst *II) |
static bool | readsLaneId (const IntrinsicInst *II) |
static bool | isNVVMAtomic (const IntrinsicInst *II) |
static Instruction * | convertNvvmIntrinsicToLlvm (InstCombiner &IC, IntrinsicInst *II) |
static std::optional< bool > | evaluateIsSpace (Intrinsic::ID IID, unsigned AS) |
static std::optional< Instruction * > | handleSpaceCheckIntrinsics (InstCombiner &IC, IntrinsicInst &II) |
#define DEBUG_TYPE "NVPTXtti" |
Definition at line 27 of file NVPTXTargetTransformInfo.cpp.
|
static |
Definition at line 121 of file NVPTXTargetTransformInfo.cpp.
References llvm::BinaryOperator::Create(), llvm::CallInst::Create(), llvm::CastInst::Create(), llvm::Intrinsic::getOrInsertDeclaration(), llvm::APFloatBase::IEEEhalf(), llvm::APFloatBase::IEEEsingle(), II, llvm_unreachable, llvm::DenormalMode::PreserveSign, and llvm::InstCombiner::replaceInstUsesWith().
Referenced by llvm::NVPTXTTIImpl::instCombineIntrinsic().
|
static |
Definition at line 419 of file NVPTXTargetTransformInfo.cpp.
References llvm::NVPTXAS::ADDRESS_SPACE_CONST, llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, llvm::NVPTXAS::ADDRESS_SPACE_GLOBAL, llvm::NVPTXAS::ADDRESS_SPACE_LOCAL, llvm::NVPTXAS::ADDRESS_SPACE_PARAM, llvm::NVPTXAS::ADDRESS_SPACE_SHARED, and llvm_unreachable.
Referenced by handleSpaceCheckIntrinsics(), and llvm::NVPTXTTIImpl::rewriteIntrinsicWithAddressSpace().
|
static |
Definition at line 449 of file NVPTXTargetTransformInfo.cpp.
References llvm::NVPTXAS::ADDRESS_SPACE_GENERIC, evaluateIsSpace(), llvm::Type::getPointerAddressSpace(), llvm::Value::getType(), II, and llvm::InstCombiner::replaceInstUsesWith().
Referenced by llvm::NVPTXTTIImpl::instCombineIntrinsic().
|
static |
Definition at line 45 of file NVPTXTargetTransformInfo.cpp.
References II.
Referenced by llvm::NVPTXTTIImpl::isSourceOfDivergence().
|
static |
Definition at line 40 of file NVPTXTargetTransformInfo.cpp.
References II.
Referenced by llvm::NVPTXTTIImpl::isSourceOfDivergence().
|
static |
Definition at line 30 of file NVPTXTargetTransformInfo.cpp.
References II.
Referenced by llvm::NVPTXTTIImpl::isSourceOfDivergence().