21 #define DEBUG_TYPE "NVPTXtti"
26 default:
return false;
27 case Intrinsic::nvvm_read_ptx_sreg_tid_x:
28 case Intrinsic::nvvm_read_ptx_sreg_tid_y:
29 case Intrinsic::nvvm_read_ptx_sreg_tid_z:
41 default:
return false;
42 case Intrinsic::nvvm_atomic_load_add_f32:
43 case Intrinsic::nvvm_atomic_load_inc_32:
44 case Intrinsic::nvvm_atomic_load_dec_32:
52 if (
const Argument *Arg = dyn_cast<Argument>(V))
58 if (
const LoadInst *LI = dyn_cast<LoadInst>(
I)) {
59 unsigned AS = LI->getPointerAddressSpace();
104 Opd1PropInfo, Opd2PropInfo);
117 Opd1PropInfo, Opd2PropInfo);
LLVM Argument representation.
Cost tables and simple lookup functions.
Intrinsic::ID getIntrinsicID() const
getIntrinsicID - Return the intrinsic ID of this intrinsic.
bool isKernelFunction(const llvm::Function &)
LoadInst - an instruction for reading from memory.
unsigned getArithmeticInstrCost(unsigned Opcode, Type *Ty, TTI::OperandValueKind Opd1Info=TTI::OK_AnyValue, TTI::OperandValueKind Opd2Info=TTI::OK_AnyValue, TTI::OperandValueProperties Opd1PropInfo=TTI::OP_None, TTI::OperandValueProperties Opd2PropInfo=TTI::OP_None)
int InstructionOpcodeToISD(unsigned Opcode) const
Get the ISD node that corresponds to the Instruction class opcode.
Simple integer binary arithmetic operators.
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP)
The instances of the Type class are immutable: once they are created, they are never changed...
bool isSourceOfDivergence(const Value *V)
This file provides a helper that implements much of the TTI interface in terms of the target-independ...
unsigned getArithmeticInstrCost(unsigned Opcode, Type *Ty, TTI::OperandValueKind Opd1Info=TTI::OK_AnyValue, TTI::OperandValueKind Opd2Info=TTI::OK_AnyValue, TTI::OperandValueProperties Opd1PropInfo=TTI::OP_None, TTI::OperandValueProperties Opd2PropInfo=TTI::OP_None)
Bitwise operators - logical and, logical or, logical xor.
LLVM Value Representation.
void getUnrollingPreferences(Loop *L, TTI::UnrollingPreferences &UP)
std::pair< unsigned, MVT > getTypeLegalizationCost(const DataLayout &DL, Type *Ty) const
Estimate the cost of type-legalization and the legalized type.
IntrinsicInst - A useful wrapper class for inspecting calls to intrinsic functions.
This file describes how to lower LLVM code to machine code.