[PATCH] D89973: [AMDGPU][CostModel] Refine cost model for half- and quarter-rate instructions.

Daniil Fukalov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Oct 22 10:24:57 PDT 2020


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

1. Throughput and codesize costs estimations was separated and updated.
2. Updated fdiv cost estimation for different cases.
3. Added scalarization processing for types that are treated as !isSimple() to

improve codesize estimation in getArithmeticInstrCost() and
getArithmeticInstrCost(). The code was borrowed from TCK_RecipThroughput path
of base implementation.

Next step is unify scalarization part in base class that is currently works for
TCK_RecipThroughput path only.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D89973

Files:
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
  llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.h
  llvm/test/Analysis/CostModel/AMDGPU/fadd.ll
  llvm/test/Analysis/CostModel/AMDGPU/fdiv.ll
  llvm/test/Analysis/CostModel/AMDGPU/fma.ll
  llvm/test/Analysis/CostModel/AMDGPU/fmul.ll
  llvm/test/Analysis/CostModel/AMDGPU/fsub.ll
  llvm/test/Analysis/CostModel/AMDGPU/fused_costs.ll
  llvm/test/Analysis/CostModel/AMDGPU/mul.ll
  llvm/test/Analysis/CostModel/AMDGPU/shifts.ll

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D89973.300039.patch
Type: text/x-patch
Size: 73863 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201022/09174cfc/attachment.bin>


More information about the llvm-commits mailing list