@@ -3460,7 +3460,8 @@ inline llvm::Value* LLVM3DBuilder<preserveNames, T, Inserter>::create_indirectLo
34603460 llvm::Value* srcBuffer,
34613461 llvm::Value* offset,
34623462 llvm::Value* alignment,
3463- llvm::Type* returnType)
3463+ llvm::Type* returnType,
3464+ bool isVolatile /* false */ )
34643465{
34653466 llvm::Module* module = this ->GetInsertBlock ()->getParent ()->getParent ();
34663467 llvm::Type* types[] = {
@@ -3471,14 +3472,15 @@ inline llvm::Value* LLVM3DBuilder<preserveNames, T, Inserter>::create_indirectLo
34713472 module ,
34723473 llvm::GenISAIntrinsic::GenISA_ldrawvector_indexed,
34733474 types);
3474- return this ->CreateCall3 (pfuncLdPtr, srcBuffer, offset, alignment);
3475+ return this ->CreateCall4 (pfuncLdPtr, srcBuffer, offset, alignment, this -> getInt1 (isVolatile) );
34753476}
34763477
34773478template <bool preserveNames, typename T, typename Inserter>
34783479inline llvm::Value* LLVM3DBuilder<preserveNames, T, Inserter>::create_indirectStore(
34793480 llvm::Value* srcBuffer,
34803481 llvm::Value* offset,
3481- llvm::Value* data)
3482+ llvm::Value* data,
3483+ bool isVolatile /* false */ )
34823484{
34833485 llvm::Module* module = this ->GetInsertBlock ()->getParent ()->getParent ();
34843486 llvm::Type* types[] = {
@@ -3490,7 +3492,7 @@ inline llvm::Value* LLVM3DBuilder<preserveNames, T, Inserter>::create_indirectSt
34903492 llvm::GenISAIntrinsic::GenISA_storerawvector_indexed,
34913493 types);
34923494 llvm::Value* alignment = this ->getInt32 (data->getType ()->getScalarSizeInBits () / 8 );
3493- return this ->CreateCall4 (pFunc, srcBuffer, offset, data, alignment);
3495+ return this ->CreateCall5 (pFunc, srcBuffer, offset, data, alignment, this -> getInt1 (isVolatile) );
34943496}
34953497
34963498template <bool preserveNames, typename T, typename Inserter>
0 commit comments