16#ifndef LLVM_LIB_TARGET_SPIRV_SPIRVTARGETTRANSFORMINFO_H
17#define LLVM_LIB_TARGET_SPIRV_SPIRVTARGETTRANSFORMINFO_H
40 TLI(ST->getTargetLowering()) {}
56 return ST->isShader() ? 0 : 4;
61 Value *NewV)
const override;
This file provides a helper that implements much of the TTI interface in terms of the target-independ...
uint64_t IntrinsicInst * II
BasicTTIImplBase(const TargetMachine *TM, const DataLayout &DL)
A wrapper class for inspecting calls to intrinsic functions.
Value * rewriteIntrinsicWithAddressSpace(IntrinsicInst *II, Value *OldV, Value *NewV) const override
TTI::PopcntSupportKind getPopcntSupport(unsigned TyWidth) const override
bool collectFlatAddressOperands(SmallVectorImpl< int > &OpIndexes, Intrinsic::ID IID) const override
SPIRVTTIImpl(const SPIRVTargetMachine *TM, const Function &F)
unsigned getFlatAddressSpace() const override
bool allowVectorElementIndexingUsingGEP() const override
This class consists of common code factored out of the SmallVector class to reduce code duplication b...
TargetSubtargetInfo - Generic base class for all target subtargets.
LLVM Value Representation.
This is an optimization pass for GlobalISel generic memory operations.
constexpr bool isPowerOf2_32(uint32_t Value)
Return true if the argument is a power of two > 0.