[PATCH] D96805: [AMDGPU][CostModel] Refine cost model for control-flow instructions.

Daniil Fukalov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Feb 16 11:21:04 PST 2021


dfukalov created this revision.
dfukalov added reviewers: rampitec, arsenm.
Herald added subscribers: kerbowa, pengfei, zzheng, kbarton, hiraditya, t-tye, tpr, dstuttard, yaxunl, nhaehnle, jvesely, nemanjai, kzhuravl.
dfukalov requested review of this revision.
Herald added a subscriber: wdng.
Herald added a project: LLVM.

Added cost estimation for switch instruction, updated costs of branches, fixed
phi cost.
Had to increase `-amdgpu-unroll-threshold-if` default value since conditional
branch cost (size) was corrected to higher value.
Test renamed to "control-flow.ll".

Removed redundant code in `X86TTIImpl::getCFInstrCost()` and
`PPCTTIImpl::getCFInstrCost()`.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D96805

Files:
  llvm/include/llvm/Analysis/TargetTransformInfo.h
  llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
  llvm/include/llvm/CodeGen/BasicTTIImpl.h
  llvm/lib/Analysis/TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.cpp
  llvm/lib/Target/AArch64/AArch64TargetTransformInfo.h
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  llvm/lib/Target/ARM/ARMTargetTransformInfo.cpp
  llvm/lib/Target/ARM/ARMTargetTransformInfo.h
  llvm/lib/Target/Hexagon/HexagonTargetTransformInfo.h
  llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
  llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
  llvm/lib/Target/X86/X86TargetTransformInfo.cpp
  llvm/lib/Target/X86/X86TargetTransformInfo.h
  llvm/test/Analysis/CostModel/AMDGPU/br.ll
  llvm/test/Analysis/CostModel/AMDGPU/control-flow.ll
  llvm/test/Transforms/LoopUnroll/AMDGPU/unroll-cost-addrspacecast.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D96805.324064.patch
Type: text/x-patch
Size: 20179 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210216/c873ff09/attachment.bin>


More information about the llvm-commits mailing list