Skip to content

Commit 16af5c7

Browse files
kkreczkoigcbot
authored andcommitted
Change getPointerTo to PointerType::get
Change getPointerTo to PointerType::get as required by LLVM post opaque pointer transition.
1 parent a3e0f8e commit 16af5c7

23 files changed

Lines changed: 95 additions & 93 deletions

File tree

IGC/AdaptorCommon/ImplicitArgs.cpp

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -217,13 +217,13 @@ Type *ImplicitArg::getLLVMType(LLVMContext &context) const {
217217
baseType = Type::getFloatTy(context);
218218
break;
219219
case CONSTPTR:
220-
baseType = Type::getInt8Ty(context)->getPointerTo(ADDRESS_SPACE_CONSTANT);
220+
baseType = IGCLLVM::PointerType::get(Type::getInt8Ty(context), ADDRESS_SPACE_CONSTANT);
221221
break;
222222
case PRIVATEPTR:
223-
baseType = Type::getInt8Ty(context)->getPointerTo(ADDRESS_SPACE_PRIVATE);
223+
baseType = IGCLLVM::PointerType::get(Type::getInt8Ty(context), ADDRESS_SPACE_PRIVATE);
224224
break;
225225
case GLOBALPTR:
226-
baseType = Type::getInt8Ty(context)->getPointerTo(ADDRESS_SPACE_GLOBAL);
226+
baseType = IGCLLVM::PointerType::get(Type::getInt8Ty(context), ADDRESS_SPACE_GLOBAL);
227227
break;
228228
default:
229229
IGC_ASSERT_MESSAGE(0, "Unrecognized implicit argument type");

IGC/AdaptorCommon/RayTracing/NewTraceRayInlineLoweringPass.cpp

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ SPDX-License-Identifier: MIT
1414
#include "NewTraceRayInlineLoweringPass.h"
1515

1616
#include "llvmWrapper/IR/Instructions.h"
17+
#include "llvmWrapper/IR/DerivedTypes.h"
1718
#include "common/LLVMWarningsPush.hpp"
1819
#include <llvm/ADT/STLExtras.h>
1920
#include <llvm/ADT/DenseMapInfo.h>
@@ -78,16 +79,16 @@ bool InlineRaytracing::LowerAllocations(Function &F) {
7879
if (!m_RQObjectType)
7980
m_RQObjectType = StructType::create(*m_pCGCtx->getLLVMContext(), {IRB.getInt32Ty(), IRB.getInt32Ty()}, name);
8081

81-
auto *createRQObjectFnTy = FunctionType::get(m_RQObjectType->getPointerTo(), IRB.getInt32Ty(), false);
82+
auto *createRQObjectFnTy = FunctionType::get(IGCLLVM::PointerType::get(m_RQObjectType, 0), IRB.getInt32Ty(), false);
8283
auto *createRQObjectFn = m_Functions[CREATE_RQ_OBJECT] =
8384
Function::Create(createRQObjectFnTy, GlobalValue::PrivateLinkage, VALUE_NAME("createRQObject"), F.getParent());
8485

85-
auto *getStackPointerFnTy = FunctionType::get(rtstackTy, m_RQObjectType->getPointerTo(), false);
86+
auto *getStackPointerFnTy = FunctionType::get(rtstackTy, IGCLLVM::PointerType::get(m_RQObjectType, 0), false);
8687
auto *getStackPointerFn = m_Functions[GET_STACK_POINTER_FROM_RQ_OBJECT] = Function::Create(
8788
getStackPointerFnTy, GlobalValue::PrivateLinkage, VALUE_NAME("getStackPointerFn"), F.getParent());
8889

8990
auto *getRQHandleFromRQObjectFnTy =
90-
FunctionType::get(IRB.getInt32Ty(), {m_RQObjectType->getPointerTo(), IRB.getInt32Ty()}, false);
91+
FunctionType::get(IRB.getInt32Ty(), {IGCLLVM::PointerType::get(m_RQObjectType, 0), IRB.getInt32Ty()}, false);
9192
auto *getRQHandleFromRQObjectFn = m_Functions[GET_RQ_HANDLE_FROM_RQ_OJECT] = Function::Create(
9293
getRQHandleFromRQObjectFnTy, GlobalValue::PrivateLinkage, VALUE_NAME("getRQHandleFromRQObjectFn"), F.getParent());
9394

@@ -177,7 +178,7 @@ bool InlineRaytracing::LowerAllocations(Function &F) {
177178
if (v2vMap.count(origin) == 1)
178179
continue;
179180

180-
auto *ty = ArrayType::get(m_RQObjectType->getPointerTo(),
181+
auto *ty = ArrayType::get(IGCLLVM::PointerType::get(m_RQObjectType, 0),
181182
cast<ArrayType>(array->getAllocatedType())->getNumElements());
182183

183184
IRB.SetInsertPoint(array);
@@ -211,7 +212,7 @@ bool InlineRaytracing::LowerAllocations(Function &F) {
211212
} break;
212213
case Instruction::Load:
213214
IRB.SetInsertPoint(II);
214-
v2vMap[II] = IRB.CreateLoad(m_RQObjectType->getPointerTo(), v2vMap[II->getOperand(0)],
215+
v2vMap[II] = IRB.CreateLoad(IGCLLVM::PointerType::get(m_RQObjectType, 0), v2vMap[II->getOperand(0)],
215216
VALUE_NAME("RQObjectLoad_") + II->getName());
216217
llvm::for_each(II->uses(), [&worklist](Use &U) { worklist.push_back(&U); });
217218
break;

IGC/AdaptorCommon/RayTracing/RTArgs.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ SPDX-License-Identifier: MIT
1919
#include "MDFrameWork.h"
2020
#include "Probe/Assertion.h"
2121
#include "llvmWrapper/IR/IRBuilder.h"
22+
#include "llvmWrapper/IR/DerivedTypes.h"
2223
#include <optional>
2324
#include "Compiler/CISACodeGen/getCacheOpts.h"
2425

IGC/AdaptorCommon/RayTracing/RTBuilder.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1656,7 +1656,7 @@ static Type *setRTTypeMD(Module &M, RaytracingType Idx, NamedMDNode *TypesMD, Ty
16561656
IGC_ASSERT_MESSAGE(ExpectedSize == M.getDataLayout().getTypeAllocSize(Ty), "mismatch?");
16571657
// Replace the undef value as set from initTypeMD() with a null pointer
16581658
// to indicate that we have the type in place.
1659-
auto *Val = ConstantPointerNull::get(Ty->getPointerTo(AddrSpace));
1659+
auto *Val = ConstantPointerNull::get(IGCLLVM::PointerType::get(Ty, AddrSpace));
16601660
auto *Node = MDNode::get(M.getContext(), ConstantAsMetadata::get(Val));
16611661
TypesMD->setOperand((uint32_t)Idx, Node);
16621662
return Val->getType();

IGC/Compiler/CISACodeGen/Emu64OpsPass.cpp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -355,7 +355,7 @@ class Preprocessor {
355355
// Cast the original pointer to pointer to pointer to i64.
356356
Value *OldPtr = LD->getPointerOperand();
357357
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
358-
PointerType *NewPtrTy = IRB->getInt64Ty()->getPointerTo(OldPtrTy->getAddressSpace());
358+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(IRB->getInt64Ty(), OldPtrTy->getAddressSpace());
359359
Value *NewPtr = IRB->CreateBitCast(OldPtr, NewPtrTy);
360360
// Create new load.
361361
LoadInst *NewLD = IRB->CreateLoad(IRB->getInt64Ty(), NewPtr);
@@ -379,7 +379,7 @@ class Preprocessor {
379379
// Cast the pointer to pointer to pointer to i64.
380380
Value *OldPtr = ST->getPointerOperand();
381381
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
382-
PointerType *NewPtrTy = IRB->getInt64Ty()->getPointerTo(OldPtrTy->getAddressSpace());
382+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(IRB->getInt64Ty(), OldPtrTy->getAddressSpace());
383383
Value *NewPtr = IRB->CreateBitCast(OldPtr, NewPtrTy);
384384
// Cast the pointer to be stored into i64.
385385
Value *OldVal = ST->getValueOperand();
@@ -1239,7 +1239,7 @@ bool InstExpander::visitLoad(LoadInst &LD) {
12391239

12401240
Value *OldPtr = LD.getPointerOperand();
12411241
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
1242-
PointerType *NewPtrTy = Emu->getV2Int32Ty()->getPointerTo(OldPtrTy->getAddressSpace());
1242+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(Emu->getV2Int32Ty(), OldPtrTy->getAddressSpace());
12431243
Value *NewPtr = IRB->CreatePointerCast(OldPtr, NewPtrTy);
12441244

12451245
LoadInst *NewLD = IRB->CreateLoad(Emu->getV2Int32Ty(), NewPtr);
@@ -1267,7 +1267,7 @@ bool InstExpander::visitStore(StoreInst &ST) {
12671267

12681268
Value *OldPtr = ST.getPointerOperand();
12691269
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
1270-
PointerType *NewPtrTy = V2I32Ty->getPointerTo(OldPtrTy->getAddressSpace());
1270+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(V2I32Ty, OldPtrTy->getAddressSpace());
12711271
Value *NewPtr = IRB->CreatePointerCast(OldPtr, NewPtrTy);
12721272

12731273
StoreInst *NewST = IRB->CreateStore(NewVal, NewPtr);

IGC/Compiler/CISACodeGen/LSCCacheOptimizationPass.cpp

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -301,7 +301,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
301301
// %2 = bitcast i8* %1 to <num_green_blocks_left x iN>*
302302
auto *left_green_vector_pointer = builder.CreateBitCast(
303303
left_green_address,
304-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_left)->getPointerTo(addrspace));
304+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_left),
305+
addrspace));
305306
// %3 = load <num_green_blocks_left x iN>, <num_green_blocks_left x iN>* %2
306307
auto *left_green_vector_rvalue = builder.CreateLoad(
307308
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_left), left_green_vector_pointer);
@@ -324,7 +325,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
324325

325326
auto *final_vector_pointer_left = builder.CreateBitCast(
326327
left_green_address,
327-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks_left)->getPointerTo(addrspace));
328+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks_left),
329+
addrspace));
328330
builder.CreateAlignedStore(final_vector_left, final_vector_pointer_left, llvm::Align(LSC_WRITE_GRANULARITY));
329331

330332
auto *right_part_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(32 - offset));
@@ -336,7 +338,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
336338
auto *right_green_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(data_size));
337339
auto *right_green_vector_pointer = builder.CreateBitCast(
338340
right_green_address,
339-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_right)->getPointerTo(addrspace));
341+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_right),
342+
addrspace));
340343
auto *right_green_vector_rvalue = builder.CreateLoad(
341344
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks_right), right_green_vector_pointer);
342345
extract_elements(builder, right_green_vector_rvalue, green_elements_right, num_green_blocks_right);
@@ -350,7 +353,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
350353

351354
auto *final_vector_pointer_right = builder.CreateBitCast(
352355
right_part_address,
353-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks_right)->getPointerTo(addrspace));
356+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks_right),
357+
addrspace));
354358
builder.CreateAlignedStore(final_vector_right, final_vector_pointer_right, llvm::Align(LSC_WRITE_GRANULARITY));
355359
}
356360
// If the data straddles across one or two 16 byte size chunks,
@@ -375,8 +379,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
375379
auto *green_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(data_size));
376380
// %2 = bitcast i8* %1 to <num_green_blocks x iN>*
377381
auto *green_vector_pointer = builder.CreateBitCast(
378-
green_address,
379-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks)->getPointerTo(addrspace));
382+
green_address, IGCLLVM::PointerType::get(
383+
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks), addrspace));
380384
// %3 = load <num_green_blocks x iN>, <num_green_blocks x iN>* %2
381385
auto *green_vector_rvalue = builder.CreateLoad(
382386
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks), green_vector_pointer);
@@ -393,7 +397,7 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
393397

394398
auto *final_vector_pointer = builder.CreateBitCast(
395399
initial_pointer,
396-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_elements)->getPointerTo(addrspace));
400+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_elements), addrspace));
397401
builder.CreateAlignedStore(final_vector, final_vector_pointer, llvm::Align(LSC_WRITE_GRANULARITY));
398402
}
399403
// the red blocks are on the right side, contiguous green blocks on the left side
@@ -413,8 +417,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
413417
auto *green_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(-1 * offset));
414418
// %2 = bitcast i8* %1 to <num_green_blocks x iN>*
415419
auto *green_vector_pointer = builder.CreateBitCast(
416-
green_address,
417-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks)->getPointerTo(addrspace));
420+
green_address, IGCLLVM::PointerType::get(
421+
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks), addrspace));
418422
// %3 = load <num_green_blocks x iN>, <num_green_blocks x iN>* %2
419423
auto *green_vector_rvalue = builder.CreateLoad(
420424
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_green_blocks), green_vector_pointer);
@@ -430,7 +434,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
430434
auto *final_vector = insert_elements(builder, intermediate_vector, blue_elements, num_green_blocks, num_elements);
431435

432436
auto *final_vector_pointer = builder.CreateBitCast(
433-
green_address, IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_elements)->getPointerTo(addrspace));
437+
green_address,
438+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_elements), addrspace));
434439
builder.CreateAlignedStore(final_vector, final_vector_pointer, llvm::Align(LSC_WRITE_GRANULARITY));
435440
}
436441
// the red blocks in the middle, around them discontinuous green blocks
@@ -449,8 +454,8 @@ void LSCCacheOptimizationPass::visitStoreInst(StoreInst &storeInst) {
449454
auto *starting_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(-1 * offset));
450455
// %2 = bitcast i8* %1 to <num_total_blocks x iN>*
451456
auto *full_vector_pointer = builder.CreateBitCast(
452-
starting_address,
453-
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks)->getPointerTo(addrspace));
457+
starting_address, IGCLLVM::PointerType::get(
458+
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks), addrspace));
454459
// %3 = load <num_total_blocks x iN>, <num_total_blocks x iN>* %2
455460
auto *full_vector_rvalue = builder.CreateLoad(
456461
IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_total_blocks), full_vector_pointer);
@@ -498,7 +503,10 @@ bool LSCCacheOptimizationPass::create_48_wide_store(Function& function)
498503
// %1 = getelementptr i8, i8* %0, i64 offset
499504
auto* red_address = builder.CreateGEP(builder.getInt8Ty(), bitcast1, builder.getInt64(offset));
500505
// %2 = bitcast i8* %1 to <num_red_blocks x iN>*
501-
auto* red_vector_pointer = builder.CreateBitCast(red_address, IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_red_blocks)->getPointerTo(addrspace));
506+
auto* red_vector_pointer = builder.CreateBitCast(
507+
red_address,
508+
IGCLLVM::PointerType::get(IGCLLVM::FixedVectorType::get(element_type, (unsigned)num_red_blocks),
509+
addrspace));
502510
auto* red_vector_rvalue = getZeroedVector(builder, element_type, num_red_blocks);
503511
builder.CreateStore(red_vector_rvalue, red_vector_pointer);
504512

IGC/Compiler/CISACodeGen/PartialEmuI64OpsPass.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -363,7 +363,7 @@ class Preprocessor {
363363
// Cast the original pointer to pointer to pointer to i64.
364364
Value *OldPtr = LD->getPointerOperand();
365365
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
366-
PointerType *NewPtrTy = IRB->getInt64Ty()->getPointerTo(OldPtrTy->getAddressSpace());
366+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(IRB->getInt64Ty(), OldPtrTy->getAddressSpace());
367367
Value *NewPtr = IRB->CreateBitCast(OldPtr, NewPtrTy);
368368
// Create new load.
369369
LoadInst *NewLD = IRB->CreateLoad(IRB->getInt64Ty(), NewPtr);
@@ -387,7 +387,7 @@ class Preprocessor {
387387
// Cast the pointer to pointer to pointer to i64.
388388
Value *OldPtr = ST->getPointerOperand();
389389
PointerType *OldPtrTy = cast<PointerType>(OldPtr->getType());
390-
PointerType *NewPtrTy = IRB->getInt64Ty()->getPointerTo(OldPtrTy->getAddressSpace());
390+
PointerType *NewPtrTy = IGCLLVM::PointerType::get(IRB->getInt64Ty(), OldPtrTy->getAddressSpace());
391391
Value *NewPtr = IRB->CreateBitCast(OldPtr, NewPtrTy);
392392
// Cast the pointer to be stored into i64.
393393
Value *OldVal = ST->getValueOperand();

IGC/Compiler/CISACodeGen/PrepareLoadsStoresUtils.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,8 +169,8 @@ template <typename T> Instruction *expand64BitStore(IGCIRBuilder<T> &IRB, const
169169
NewVal = getPtrToInt(IRB, NewVal, NewTy);
170170
}
171171
NewVal = IRB.CreateBitCast(NewVal, NewTy);
172-
auto *NewPtr =
173-
IRB.CreateBitCast(SI.getPointerOperand(), NewVal->getType()->getPointerTo(OldPtrTy->getPointerAddressSpace()));
172+
auto *NewPtr = IRB.CreateBitCast(SI.getPointerOperand(),
173+
IGCLLVM::PointerType::get(NewVal->getType(), OldPtrTy->getPointerAddressSpace()));
174174
auto *NewST = SI.CreateAlignedStore(IRB, NewVal, NewPtr);
175175
NewST->copyMetadata(*SI.inst());
176176

IGC/Compiler/Optimizer/OpenCLPasses/AggregateArguments/AggregateArguments.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,8 +284,8 @@ void ResolveAggregateArguments::storeArgument(const Argument *arg, AllocaInst *b
284284

285285
Value *offsetFromBase = ConstantInt::get(Type::getInt32Ty(base->getContext()), baseAllocaOffset);
286286
Value *storeAddress = irBuilder.CreateGEP(Type::getInt8Ty(base->getContext()), baseAsPtri8, offsetFromBase);
287-
Value *offsetAsPointer =
288-
irBuilder.CreateBitCast(storeAddress, implicitArgToStore->getType()->getPointerTo(ADDRESS_SPACE_PRIVATE));
287+
Value *offsetAsPointer = irBuilder.CreateBitCast(
288+
storeAddress, IGCLLVM::PointerType::get(implicitArgToStore->getType(), ADDRESS_SPACE_PRIVATE));
289289
irBuilder.CreateStore(&(*implicitArgToStore), offsetAsPointer);
290290
}
291291
}

IGC/Compiler/Optimizer/OpenCLPasses/Decompose2DBlockFuncs/Decompose2DBlockFuncs.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ SPDX-License-Identifier: MIT
1515
#include <llvm/Pass.h>
1616
#include "common/LLVMWarningsPop.hpp"
1717
#include <llvmWrapper/IR/Function.h>
18+
#include "llvmWrapper/IR/DerivedTypes.h"
1819

1920
#include <algorithm>
2021

@@ -318,9 +319,9 @@ CallBase *Decompose2DBlockFuncs::createPayload(GenIntrinsicInst &GII, const Inpu
318319
}
319320
}
320321

321-
Function *BlockCreateFunc{GenISAIntrinsic::getDeclaration(GII.getCalledFunction()->getParent(),
322-
GenISAIntrinsic::GenISA_LSC2DBlockCreateAddrPayload,
323-
Type::getInt32Ty(GII.getContext())->getPointerTo())};
322+
Function *BlockCreateFunc{GenISAIntrinsic::getDeclaration(
323+
GII.getCalledFunction()->getParent(), GenISAIntrinsic::GenISA_LSC2DBlockCreateAddrPayload,
324+
IGCLLVM::PointerType::get(Type::getInt32Ty(GII.getContext()), 0))};
324325

325326
// FIXME
326327
// We can only set this since we know with certainty that the associated
@@ -397,7 +398,7 @@ Instruction *Decompose2DBlockFuncs::createPayloadIO(GenIntrinsicInst &GII, const
397398
switch (IT) {
398399
case GenISAIntrinsic::GenISA_LSC2DBlockRead: {
399400
LLVM_DEBUG(dbgs() << "Creating read intrinsic\n");
400-
std::array<Type *, 2> Tys{GII.getType(), Type::getInt32Ty(GII.getContext())->getPointerTo()};
401+
std::array<Type *, 2> Tys{GII.getType(), IGCLLVM::PointerType::get(Type::getInt32Ty(GII.getContext()), 0)};
401402
Function *BlockAddrFunc{GenISAIntrinsic::getDeclaration(GII.getCalledFunction()->getParent(),
402403
GenISAIntrinsic::GenISA_LSC2DBlockReadAddrPayload, Tys)};
403404
IOCallInst = CallInst::Create(BlockAddrFunc, BlockAddrPayloadArgs, "Block2D_ReadAddrPayload", &GII);

0 commit comments

Comments
 (0)