[PATCH] D131452: [InstCombine] avoid generating mul intrinsic that lowers as a libcall

Sanjay Patel via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 9 05:35:21 PDT 2022


spatel added a comment.

In D131452#3709394 <https://reviews.llvm.org/D131452#3709394>, @RKSimon wrote:

> Makes sense to me, and should be relatively trivial to merge into 15.x

Yes, I intentionally made this patch minimal to make merging easy. That does leave out some non-obvious context though - the existing transforms are tested extensively in 6 different files:
fb38b7aab3f23604611 (D65143 <https://reviews.llvm.org/D65143>)
473a063a5e13812878 (D65144 <https://reviews.llvm.org/D65144>)
35fa7b8ad83e6cddb38 <https://reviews.llvm.org/rG35fa7b8ad83e6cddb38190818df3c6688b3c2313>

This patch doesn't affect any of the motivating types (scalars from i8 to i64 and vectors with those elements).

Also for reference;

  /// Legal integers and common types are considered desirable. This is used to
  /// avoid creating instructions with types that may not be supported well by the
  /// the backend.
  /// NOTE: This treats i8, i16 and i32 specially because they are common
  ///       types in frontend languages.
  bool InstCombinerImpl::isDesirableIntType(unsigned BitWidth) const {


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D131452/new/

https://reviews.llvm.org/D131452



More information about the llvm-commits mailing list