[PATCH] D98152: [InstCombine] Canonicalize SPF to min/max intrinsics

Nikita Popov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Feb 23 02:36:47 PST 2022


nikic added a comment.

I just went through all the tests again, and these are the remaining regressions I spotted. (There are some differences in canonicalization, but these are the ones where it's clearly worse now.)



================
Comment at: llvm/test/Transforms/InstCombine/div-shift.ll:66
+; CHECK-NEXT:    [[TMP3:%.*]] = udiv i32 [[X:%.*]], [[TMP2]]
+; CHECK-NEXT:    ret i32 [[TMP3]]
 ;
----------------
nikic wrote:
> Regression
This regression still exists.


================
Comment at: llvm/test/Transforms/InstCombine/max_known_bits.ll:78
+; CHECK-NEXT:    [[F:%.*]] = sext i16 [[E]] to i32
+; CHECK-NEXT:    [[G:%.*]] = add nsw i32 [[F]], -1
 ; CHECK-NEXT:    ret i32 [[G]]
----------------
Regression.


================
Comment at: llvm/test/Transforms/InstCombine/max_known_bits.ll:40
+; CHECK-NEXT:    [[TMP2:%.*]] = call i16 @llvm.smax.i16(i16 [[TMP1]], i16 -2048)
+; CHECK-NEXT:    [[E:%.*]] = add i16 [[TMP2]], 1
 ; CHECK-NEXT:    ret i16 [[E]]
----------------
nikic wrote:
> Regression (missing nsw flag)
Regression still exists.


================
Comment at: llvm/test/Transforms/InstCombine/sub-minmax.ll:23
+; CHECK-NEXT:    [[X:%.*]] = sub i32 [[NOT]], [[TMP1]]
+; CHECK-NEXT:    ret i32 [[X]]
 ;
----------------
xbolva00 wrote:
> nikic wrote:
> > Regression
> Not done?
Still regresses.


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

https://reviews.llvm.org/D98152



More information about the llvm-commits mailing list