[all-commits] [llvm/llvm-project] 9068c2: [AMDGPU][CostModel] Refine cost model for half- an...

Daniil Fukalov via All-commits all-commits at lists.llvm.org
Sat Oct 24 09:53:34 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 9068c209655efc597b31b23fc41630d82c5b98a4
      https://github.com/llvm/llvm-project/commit/9068c209655efc597b31b23fc41630d82c5b98a4
  Author: dfukalov <daniil.fukalov at amd.com>
  Date:   2020-10-24 (Sat, 24 Oct 2020)

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

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

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.

Reviewed By: rampitec

Differential Revision: https://reviews.llvm.org/D89973




More information about the All-commits mailing list