Skip to content

Commit d023995

Browse files
authored
AMDGPU: Simplify EmitAMDGPUBuiltinExpr for load transposes, NFC (#86707)
We should not manually get the types of the loading data. Instead, we can get the types from the intrinsics directly.
1 parent d345599 commit d023995

File tree

1 file changed

+2
-14
lines changed

1 file changed

+2
-14
lines changed

clang/lib/CodeGen/CGBuiltin.cpp

Lines changed: 2 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -18544,31 +18544,19 @@ Value *CodeGenFunction::EmitAMDGPUBuiltinExpr(unsigned BuiltinID,
1854418544
case AMDGPU::BI__builtin_amdgcn_global_load_tr_b128_v8i16: {
1854518545

1854618546
Intrinsic::ID IID;
18547-
llvm::Type *ArgTy;
1854818547
switch (BuiltinID) {
1854918548
case AMDGPU::BI__builtin_amdgcn_global_load_tr_b64_i32:
18550-
ArgTy = llvm::Type::getInt32Ty(getLLVMContext());
18551-
IID = Intrinsic::amdgcn_global_load_tr_b64;
18552-
break;
1855318549
case AMDGPU::BI__builtin_amdgcn_global_load_tr_b64_v2i32:
18554-
ArgTy = llvm::FixedVectorType::get(
18555-
llvm::Type::getInt32Ty(getLLVMContext()), 2);
1855618550
IID = Intrinsic::amdgcn_global_load_tr_b64;
1855718551
break;
1855818552
case AMDGPU::BI__builtin_amdgcn_global_load_tr_b128_v4i16:
18559-
ArgTy = llvm::FixedVectorType::get(
18560-
llvm::Type::getInt16Ty(getLLVMContext()), 4);
18561-
IID = Intrinsic::amdgcn_global_load_tr_b128;
18562-
break;
1856318553
case AMDGPU::BI__builtin_amdgcn_global_load_tr_b128_v8i16:
18564-
ArgTy = llvm::FixedVectorType::get(
18565-
llvm::Type::getInt16Ty(getLLVMContext()), 8);
1856618554
IID = Intrinsic::amdgcn_global_load_tr_b128;
1856718555
break;
1856818556
}
18569-
18557+
llvm::Type *LoadTy = ConvertType(E->getType());
1857018558
llvm::Value *Addr = EmitScalarExpr(E->getArg(0));
18571-
llvm::Function *F = CGM.getIntrinsic(IID, {ArgTy});
18559+
llvm::Function *F = CGM.getIntrinsic(IID, {LoadTy});
1857218560
return Builder.CreateCall(F, {Addr});
1857318561
}
1857418562
case AMDGPU::BI__builtin_amdgcn_get_fpenv: {

0 commit comments

Comments
 (0)