[llvm] e40525e - [NFC][TTI] Remove static_casts
Sam Parker via llvm-commits
llvm-commits at lists.llvm.org
Mon Mar 16 06:02:13 PDT 2020
Author: Sam Parker
Date: 2020-03-16T13:01:43Z
New Revision: e40525e0f2a19d5716db81d3256db5143dba2566
URL: https://github.com/llvm/llvm-project/commit/e40525e0f2a19d5716db81d3256db5143dba2566
DIFF: https://github.com/llvm/llvm-project/commit/e40525e0f2a19d5716db81d3256db5143dba2566.diff
LOG: [NFC][TTI] Remove static_casts
Introduce a variable for 'this' instead of calling static_cast
multiple times in TargetTransformInfoImpl.h
Added:
Modified:
llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
index 60065731784a..d825a0796c5d 100644
--- a/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
+++ b/llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
@@ -882,33 +882,32 @@ class TargetTransformInfoImplCRTPBase : public TargetTransformInfoImplBase {
if (A->isStaticAlloca())
return TTI::TCC_Free;
- if (const GEPOperator *GEP = dyn_cast<GEPOperator>(U)) {
- return static_cast<T *>(this)->getGEPCost(GEP->getSourceElementType(),
- GEP->getPointerOperand(),
- Operands.drop_front());
- }
+ auto *TargetTTI = static_cast<T *>(this);
+
+ if (const GEPOperator *GEP = dyn_cast<GEPOperator>(U))
+ return TargetTTI->getGEPCost(GEP->getSourceElementType(),
+ GEP->getPointerOperand(),
+ Operands.drop_front());
if (auto CS = ImmutableCallSite(U)) {
const Function *F = CS.getCalledFunction();
if (!F) {
// Just use the called value type.
Type *FTy = CS.getCalledValue()->getType()->getPointerElementType();
- return static_cast<T *>(this)
- ->getCallCost(cast<FunctionType>(FTy), CS.arg_size(), U);
+ return TargetTTI->getCallCost(cast<FunctionType>(FTy),
+ CS.arg_size(), U);
}
SmallVector<const Value *, 8> Arguments(CS.arg_begin(), CS.arg_end());
- return static_cast<T *>(this)->getCallCost(F, Arguments, U);
+ return TargetTTI->getCallCost(F, Arguments, U);
}
if (isa<SExtInst>(U) || isa<ZExtInst>(U) || isa<FPExtInst>(U))
// The old behaviour of generally treating extensions of icmp to be free
// has been removed. A target that needs it should override getUserCost().
- return static_cast<T *>(this)->getExtCost(cast<Instruction>(U),
- Operands.back());
+ return TargetTTI->getExtCost(cast<Instruction>(U), Operands.back());
- return static_cast<T *>(this)->getOperationCost(
- Operator::getOpcode(U), U->getType(),
+ return TargetTTI->getOperationCost(Operator::getOpcode(U), U->getType(),
U->getNumOperands() == 1 ? U->getOperand(0)->getType() : nullptr);
}
More information about the llvm-commits
mailing list