AMDGPUPrintfRuntimeBinding.cpp - drop unnecessary casts/dyn_casts. NFCI.

GetElementPtrInst::Create returns a GetElementPtrInst* so we don't need to cast. Similarly IntegerType inherits from the Type base class.

Also, I've used auto* in a few places to cleanup the code.

Helps fix some clang-tidy warnings which saw the dyn_casts and warned that these can return null.
This commit is contained in:
Simon Pilgrim 2020-09-15 14:48:40 +01:00
parent 65c6ae3b6a
commit 97a23ab28a
1 changed files with 18 additions and 22 deletions

View File

@ -379,9 +379,8 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
ConstantInt::get(Ctx, APInt(32, StringRef("0"), 10));
ZeroIdxList.push_back(zeroInt);
GetElementPtrInst *BufferIdx =
dyn_cast<GetElementPtrInst>(GetElementPtrInst::Create(
nullptr, pcall, ZeroIdxList, "PrintBuffID", Brnch));
GetElementPtrInst *BufferIdx = GetElementPtrInst::Create(
nullptr, pcall, ZeroIdxList, "PrintBuffID", Brnch);
Type *idPointer = PointerType::get(I32Ty, AMDGPUAS::GLOBAL_ADDRESS);
Value *id_gep_cast =
@ -395,8 +394,8 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
FourthIdxList.push_back(fourInt); // 1st 4 bytes hold the printf_id
// the following GEP is the buffer pointer
BufferIdx = cast<GetElementPtrInst>(GetElementPtrInst::Create(
nullptr, pcall, FourthIdxList, "PrintBuffGep", Brnch));
BufferIdx = GetElementPtrInst::Create(nullptr, pcall, FourthIdxList,
"PrintBuffGep", Brnch);
Type *Int32Ty = Type::getInt32Ty(Ctx);
Type *Int64Ty = Type::getInt64Ty(Ctx);
@ -409,17 +408,15 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
if (ArgType->isFPOrFPVectorTy() && !isa<VectorType>(ArgType)) {
Type *IType = (ArgType->isFloatTy()) ? Int32Ty : Int64Ty;
if (OpConvSpecifiers[ArgCount - 1] == 'f') {
ConstantFP *fpCons = dyn_cast<ConstantFP>(Arg);
if (fpCons) {
APFloat Val(fpCons->getValueAPF());
if (auto *FpCons = dyn_cast<ConstantFP>(Arg)) {
APFloat Val(FpCons->getValueAPF());
bool Lost = false;
Val.convert(APFloat::IEEEsingle(), APFloat::rmNearestTiesToEven,
&Lost);
Arg = ConstantFP::get(Ctx, Val);
IType = Int32Ty;
} else {
FPExtInst *FpExt = dyn_cast<FPExtInst>(Arg);
if (FpExt && FpExt->getType()->isDoubleTy() &&
} else if (auto *FpExt = dyn_cast<FPExtInst>(Arg)) {
if (FpExt->getType()->isDoubleTy() &&
FpExt->getOperand(0)->getType()->isFloatTy()) {
Arg = FpExt->getOperand(0);
IType = Int32Ty;
@ -431,9 +428,8 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
} else if (ArgType->getTypeID() == Type::PointerTyID) {
if (shouldPrintAsStr(OpConvSpecifiers[ArgCount - 1], ArgType)) {
const char *S = NonLiteralStr;
if (ConstantExpr *ConstExpr = dyn_cast<ConstantExpr>(Arg)) {
GlobalVariable *GV =
dyn_cast<GlobalVariable>(ConstExpr->getOperand(0));
if (auto *ConstExpr = dyn_cast<ConstantExpr>(Arg)) {
auto *GV = dyn_cast<GlobalVariable>(ConstExpr->getOperand(0));
if (GV && GV->hasInitializer()) {
Constant *Init = GV->getInitializer();
ConstantDataArray *CA = dyn_cast<ConstantDataArray>(Init);
@ -491,27 +487,27 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
switch (EleSize) {
default:
EleCount = TotalSize / 64;
IType = dyn_cast<Type>(Type::getInt64Ty(ArgType->getContext()));
IType = Type::getInt64Ty(ArgType->getContext());
break;
case 8:
if (EleCount >= 8) {
EleCount = TotalSize / 64;
IType = dyn_cast<Type>(Type::getInt64Ty(ArgType->getContext()));
IType = Type::getInt64Ty(ArgType->getContext());
} else if (EleCount >= 3) {
EleCount = 1;
IType = dyn_cast<Type>(Type::getInt32Ty(ArgType->getContext()));
IType = Type::getInt32Ty(ArgType->getContext());
} else {
EleCount = 1;
IType = dyn_cast<Type>(Type::getInt16Ty(ArgType->getContext()));
IType = Type::getInt16Ty(ArgType->getContext());
}
break;
case 16:
if (EleCount >= 3) {
EleCount = TotalSize / 64;
IType = dyn_cast<Type>(Type::getInt64Ty(ArgType->getContext()));
IType = Type::getInt64Ty(ArgType->getContext());
} else {
EleCount = 1;
IType = dyn_cast<Type>(Type::getInt32Ty(ArgType->getContext()));
IType = Type::getInt32Ty(ArgType->getContext());
}
break;
}
@ -539,8 +535,8 @@ bool AMDGPUPrintfRuntimeBinding::lowerPrintfForGpu(
(void)StBuff;
if (I + 1 == E && ArgCount + 1 == CI->getNumArgOperands())
break;
BufferIdx = dyn_cast<GetElementPtrInst>(GetElementPtrInst::Create(
nullptr, BufferIdx, BuffOffset, "PrintBuffNextPtr", Brnch));
BufferIdx = GetElementPtrInst::Create(nullptr, BufferIdx, BuffOffset,
"PrintBuffNextPtr", Brnch);
LLVM_DEBUG(dbgs() << "inserting gep to the printf buffer:\n"
<< *BufferIdx << '\n');
}