Lines Matching refs:II
54 static void createTypedBufferStore(IntrinsicInst *II, StoreInst *SI, in createTypedBufferStore() argument
69 {II->getOperand(0), II->getOperand(1)}); in createTypedBufferStore()
82 {II->getOperand(0), II->getOperand(1), V}); in createTypedBufferStore()
86 static void createRawStore(IntrinsicInst *II, StoreInst *SI, Value *Offset) { in createRawStore() argument
95 {II->getOperand(0), II->getOperand(1), Offset, V}); in createRawStore()
99 static void createStoreIntrinsic(IntrinsicInst *II, StoreInst *SI, in createStoreIntrinsic() argument
103 return createTypedBufferStore(II, SI, Offset, RTI); in createStoreIntrinsic()
106 return createRawStore(II, SI, Offset); in createStoreIntrinsic()
131 static void createTypedBufferLoad(IntrinsicInst *II, LoadInst *LI, in createTypedBufferLoad() argument
139 {II->getOperand(0), II->getOperand(1)}); in createTypedBufferLoad()
155 static void createRawLoad(IntrinsicInst *II, LoadInst *LI, Value *Offset) { in createRawLoad() argument
163 {II->getOperand(0), II->getOperand(1), Offset}); in createRawLoad()
169 static void createLoadIntrinsic(IntrinsicInst *II, LoadInst *LI, Value *Offset, in createLoadIntrinsic() argument
173 return createTypedBufferLoad(II, LI, Offset, RTI); in createLoadIntrinsic()
176 return createRawLoad(II, LI, Offset); in createLoadIntrinsic()
201 static void replaceAccess(IntrinsicInst *II, dxil::ResourceTypeInfo &RTI) { in replaceAccess() argument
208 for (User *U : II->users()) in replaceAccess()
225 assert(SI->getValueOperand() != II && "Pointer escaped!"); in replaceAccess()
226 createStoreIntrinsic(II, SI, Current.Offset, RTI); in replaceAccess()
230 createLoadIntrinsic(II, LI, Current.Offset, RTI); in replaceAccess()
240 II->eraseFromParent(); in replaceAccess()
248 if (auto *II = dyn_cast<IntrinsicInst>(&I)) in transformResourcePointers() local
249 if (II->getIntrinsicID() == Intrinsic::dx_resource_getpointer) { in transformResourcePointers()
250 auto *HandleTy = cast<TargetExtType>(II->getArgOperand(0)->getType()); in transformResourcePointers()
251 Resources.emplace_back(II, DRTM[HandleTy]); in transformResourcePointers()
254 for (auto &[II, RI] : Resources) in transformResourcePointers()
255 replaceAccess(II, RI); in transformResourcePointers()