[PATCH] D90554: [CostModel] remove cost-kind predicate for intrinsics in basic TTI implementation
Sanjay Patel via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Nov 1 05:45:48 PST 2020
spatel created this revision.
spatel added reviewers: samparker, dmgreen, nikic, lebedev.ri, pengfei, RKSimon, craig.topper.
Herald added subscribers: kristof.beyls, mcrosier.
Herald added a project: LLVM.
spatel requested review of this revision.
This is the last step in removing cost-kind as a consideration in the basic class model for intrinsics. See D89461 <https://reviews.llvm.org/D89461> for the start of that. Subsequent commits dealt with each of the special-case intrinsics that had customization here in the basic class. This should remove a barrier to retrying D87188 <https://reviews.llvm.org/D87188> (canonicalization to the abs intrinsic).
The ARM and x86 cost diffs seen here are likely wrong because the target-specific overrides have their own bugs, but I hope this is less wrong - if something has a significant throughput cost, then it should have a significant size / blended cost too by default.
The only behavioral diff in current regression tests is shown in the x86 scatter-gather test (which is misplaced or broken because it runs the entire -O3 pipeline) - we unrolled less, and that's a good thing if I'm seeing it correctly.
https://reviews.llvm.org/D90554
Files:
llvm/include/llvm/CodeGen/BasicTTIImpl.h
llvm/test/Analysis/CostModel/ARM/arith-overflow.ll
llvm/test/Analysis/CostModel/ARM/arith-ssat.ll
llvm/test/Analysis/CostModel/ARM/arith-usat.ll
llvm/test/Analysis/CostModel/ARM/intrinsic-cost-kinds.ll
llvm/test/Analysis/CostModel/X86/fmaxnum-size-latency.ll
llvm/test/Analysis/CostModel/X86/fminnum-size-latency.ll
llvm/test/Analysis/CostModel/X86/intrinsic-cost-kinds.ll
llvm/test/Transforms/LoopVectorize/X86/gather_scatter.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D90554.302145.patch
Type: text/x-patch
Size: 193199 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20201101/cb4aa3c2/attachment-0001.bin>
More information about the llvm-commits
mailing list