[PATCH] D50636: [DAGCombiner] Add X / X -> 1 & X % X -> 0 folds.

Jonas Paulsson via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue Aug 14 00:12:47 PDT 2018


jonpa added inline comments.


================
Comment at: test/CodeGen/SystemZ/pr32372.ll:18
   store i16 -3825, i16* undef
-  %L5 = load i8, i8* %0
+  %L5 = load volatile i8, i8* %0
   %B9 = urem i8 %L5, %L
----------------
RKSimon wrote:
> Tried again against bleeding edge trunk and I still see this change and without the volatile (which prevents the loads being combined) the checks reduce to:
> ```
> define void @pr32372(i8*) {
> ; CHECK-LABEL: pr32372:
> ; CHECK:       # %bb.0: # %BB
> ; CHECK-NEXT:    mvhhi 0(%r1), -3825
> ; CHECK-NEXT:  .LBB0_1: # %CF251
> ; CHECK-NEXT:    # =>This Inner Loop Header: Depth=1
> ; CHECK-NEXT:    j .LBB0_1
> ```
Yes, I see the change after updating the test, but also note that this updated test passes also without the patch... So I am not sure why the test is changed if the patch does not affect it...


Repository:
  rL LLVM

https://reviews.llvm.org/D50636





More information about the llvm-commits mailing list