[all-commits] [llvm/llvm-project] 2596da: [CostModel] getCFInstrCost in getUserCost.
Sam Parker via All-commits
all-commits at lists.llvm.org
Mon Jun 15 01:31:18 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 2596da31740ff753103e5d5e47ab30bae53d3d9d
https://github.com/llvm/llvm-project/commit/2596da31740ff753103e5d5e47ab30bae53d3d9d
Author: Sam Parker <sam.parker at arm.com>
Date: 2020-06-15 (Mon, 15 Jun 2020)
Changed paths:
M llvm/include/llvm/Analysis/TargetTransformInfoImpl.h
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/lib/Target/AMDGPU/AMDGPUTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.cpp
M llvm/lib/Target/PowerPC/PPCTargetTransformInfo.h
M llvm/lib/Target/X86/X86TargetTransformInfo.cpp
M llvm/lib/Target/X86/X86TargetTransformInfo.h
M llvm/lib/Transforms/Vectorize/LoopVectorize.cpp
M llvm/test/Analysis/CostModel/AArch64/aggregates.ll
M llvm/test/Analysis/CostModel/AArch64/cast.ll
M llvm/test/Analysis/CostModel/AArch64/cmp.ll
M llvm/test/Analysis/CostModel/AArch64/select.ll
M llvm/test/Analysis/CostModel/AArch64/shuffle-broadcast.ll
M llvm/test/Analysis/CostModel/AArch64/store.ll
M llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
M llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
M llvm/test/Analysis/CostModel/ARM/arith-usat.ll
M llvm/test/Analysis/CostModel/ARM/arith.ll
M llvm/test/Analysis/CostModel/ARM/cast.ll
M llvm/test/Analysis/CostModel/ARM/cmps.ll
M llvm/test/Analysis/CostModel/ARM/control-flow.ll
M llvm/test/Analysis/CostModel/ARM/divrem.ll
M llvm/test/Analysis/CostModel/ARM/fparith.ll
M llvm/test/Analysis/CostModel/ARM/freeshift.ll
M llvm/test/Analysis/CostModel/ARM/gep.ll
M llvm/test/Analysis/CostModel/ARM/immediates.ll
M llvm/test/Analysis/CostModel/ARM/load_store.ll
M llvm/test/Analysis/CostModel/ARM/mve-gather-scatter-cost.ll
M llvm/test/Analysis/CostModel/ARM/reduce-add.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-smin.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umax.ll
M llvm/test/Analysis/CostModel/ARM/reduce-umin.ll
M llvm/test/Analysis/CostModel/ARM/select.ll
M llvm/test/Analysis/CostModel/ARM/shuffle.ll
M llvm/test/Analysis/CostModel/RISCV/gep.ll
M llvm/test/Analysis/CostModel/SystemZ/cmp-mem.ll
M llvm/test/Analysis/CostModel/SystemZ/int-operands-extcost.ll
M llvm/test/Transforms/LoopVectorize/AArch64/aarch64-predication.ll
M llvm/test/Transforms/LoopVectorize/AArch64/extractvalue-no-scalarization-required.ll
M llvm/test/Transforms/LoopVectorize/AArch64/predication_costs.ll
M llvm/test/Transforms/LoopVectorize/SystemZ/branch-for-predicated-block.ll
Log Message:
-----------
[CostModel] getCFInstrCost in getUserCost.
Have BasicTTI call the base implementation so that both agree on the
default behaviour, which the default being a cost of '1'. This has
required an X86 specific implementation as it seems to be very
reliant on those instructions being free. Changes are also made to
AMDGPU so that their implementations distinguish between cost kinds,
so that the unrolling isn't affected. PowerPC also has its own
implementation to prevent changes to the reg-usage vectorizer test.
The cost model test changes now reflect that ret instructions are not
generally free.
Differential Revision: https://reviews.llvm.org/D79164
More information about the All-commits
mailing list