[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