Lines Matching +full:get +full:- +full:intrinsic
1 //===- NVVMIntrRange.cpp - Set !range metadata for NVVM intrinsics --------===//
8 //===----------------------------------------------------------------------===//
13 //===----------------------------------------------------------------------===//
23 #define DEBUG_TYPE "nvvm-intr-range"
28 static cl::opt<unsigned> NVVMIntrRangeSM("nvvm-intr-range-sm", cl::init(20),
62 INITIALIZE_PASS(NVVMIntrRange, "nvvm-intr-range",
65 // Adds the passed-in [Low,High) range information as metadata to the
66 // passed-in call instruction.
68 LLVMContext &Context = C->getParent()->getContext(); in addRangeMetadata()
71 ConstantAsMetadata::get(ConstantInt::get(Int32Ty, Low)), in addRangeMetadata()
72 ConstantAsMetadata::get(ConstantInt::get(Int32Ty, High))}; in addRangeMetadata()
73 C->setMetadata(LLVMContext::MD_range, MDNode::get(Context, LowAndHigh)); in addRangeMetadata()
85 if (Function *Callee = Call->getCalledFunction()) { in runOnFunction()
86 switch (Callee->getIntrinsicID()) { in runOnFunction()
88 case Intrinsic::nvvm_read_ptx_sreg_tid_x: in runOnFunction()
91 case Intrinsic::nvvm_read_ptx_sreg_tid_y: in runOnFunction()
94 case Intrinsic::nvvm_read_ptx_sreg_tid_z: in runOnFunction()
99 case Intrinsic::nvvm_read_ptx_sreg_ntid_x: in runOnFunction()
102 case Intrinsic::nvvm_read_ptx_sreg_ntid_y: in runOnFunction()
105 case Intrinsic::nvvm_read_ptx_sreg_ntid_z: in runOnFunction()
110 case Intrinsic::nvvm_read_ptx_sreg_ctaid_x: in runOnFunction()
113 case Intrinsic::nvvm_read_ptx_sreg_ctaid_y: in runOnFunction()
116 case Intrinsic::nvvm_read_ptx_sreg_ctaid_z: in runOnFunction()
121 case Intrinsic::nvvm_read_ptx_sreg_nctaid_x: in runOnFunction()
124 case Intrinsic::nvvm_read_ptx_sreg_nctaid_y: in runOnFunction()
127 case Intrinsic::nvvm_read_ptx_sreg_nctaid_z: in runOnFunction()
132 case Intrinsic::nvvm_read_ptx_sreg_warpsize: in runOnFunction()
137 case Intrinsic::nvvm_read_ptx_sreg_laneid: in runOnFunction()