[all-commits] [llvm/llvm-project] 8ec7ea: [CostModel] make default size cost for libcalls sm...
RotateRight via All-commits
all-commits at lists.llvm.org
Sat Nov 14 05:49:12 PST 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: 8ec7ea3ddce7379e13e8dfb4a5260a6d2004aa1c
https://github.com/llvm/llvm-project/commit/8ec7ea3ddce7379e13e8dfb4a5260a6d2004aa1c
Author: Sanjay Patel <spatel at rotateright.com>
Date: 2020-11-14 (Sat, 14 Nov 2020)
Changed paths:
M llvm/include/llvm/CodeGen/BasicTTIImpl.h
M llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
M llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
M llvm/test/Transforms/LoopUnroll/AArch64/thresholdO3-cost-model.ll
Log Message:
-----------
[CostModel] make default size cost for libcalls small (again)
This was changed recently with D90554 / f7eac51b9b3f
...because we had a regression testing blindspot for intrinsics
that are expected to be lowered to libcalls.
In general, we want the *size* cost for a scalar call to be cheap
even if the other costs are expensive - we expect it to just be
a branch with some optional stack manipulation.
It is likely that we will want to carve out some
exceptions/overrides to this rule as follow-up patches for
calls that have some general and/or target-specific difference
to the expected lowering.
This was noticed as a regression in unrolling, so we have a test
for that now along with a couple of direct cost model tests.
If the assumed scalarization costs for the oversized vector
calls are not realistic, that would be another follow-up
refinement of the cost models.
More information about the All-commits
mailing list