[PATCH] D89456: [SCEV] Introduce SCEVPtrToIntExpr (PR46786)
Max Kazantsev via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Sun Oct 18 21:50:20 PDT 2020
mkazantsev requested changes to this revision.
mkazantsev added a comment.
This revision now requires changes to proceed.
Seems that this patch leads to worse code generation in Polly in many cases. And I don't see a single case where it does something useful. I think we should have fixes for all of them if we want to merge it.
================
Comment at: polly/test/Isl/CodeGen/partial_write_impossible_restriction.ll:8
+
+; How to update this test?
+; XFAIL: *
----------------
TODO/FIXME?
================
Comment at: polly/test/Isl/CodeGen/phi_after_error_block_outside_of_scop.ll:7
; CHECK: polly.cond:
-; CHECK-NEXT: ptrtoint float* %tmp8 to i64
-; CHECK-NEXT: icmp sle i64
-; CHECK-NEXT: ptrtoint float* %tmp8 to i64
-; CHECK-NEXT: icmp sge i64
-; CHECK-NEXT: or i1
-; CHECK-NEXT: label %polly.then, label %polly.else
+; CHECK-NEXT: %0 = ptrtoint float* %tmp8 to i64
+; CHECK-NEXT: %1 = add nsw i64 %0, 1
----------------
Regression.
================
Comment at: polly/test/Isl/CodeGen/pointer-type-expressions.ll:36
-; CHECK: if (P <= -1 || P >= 1)
-; CHECK-NEXT: for (int c0 = 0; c0 < N; c0 += 1)
-; CHECK-NEXT: Stmt_store(c0);
-
-; CODEGEN-LABEL: polly.cond:
-; CODEGEN-NEXT: %[[R1:[0-9]*]] = ptrtoint float* %P to i64
-; CODEGEN-NEXT: %[[R2:[0-9]*]] = icmp sle i64 %[[R1]], -1
-; CODEGEN-NEXT: %[[R3:[0-9]*]] = ptrtoint float* %P to i64
-; CODEGEN-NEXT: %[[R4:[0-9]*]] = icmp sge i64 %[[R3]], 1
-; CODEGEN-NEXT: %[[R5:[0-9]*]] = or i1 %[[R2]], %[[R4]]
-; CODEGEN-NEXT: br i1 %[[R5]]
+; CHECK: if (1 && 0 == ((p_1 >= P + 1 && N >= 1152921504606846977) || (P >= p_1 + 1 && N >= 1152921504606846977)))
+; CHECK-EMPTY:
----------------
Regression.
================
Comment at: polly/test/ScopInfo/int2ptr_ptr2int.ll:33
; IR: polly.loop_preheader:
+; IR-NEXT: %0 = add i64 %val, 1
; IR-NEXT: %scevgep = getelementptr i64, i64* %ptr, i32 1
----------------
Regression.
================
Comment at: polly/test/ScopInfo/multidim_2d_with_modref_call_2.ll:56
; CHECK-NEXT: [tmp14, p_1] -> { Stmt_bb17[i0] -> MemRef_arg4[o0] };
-; CHECK-NEXT: MustWriteAccess := [Reduction Type: NONE] [Scalar: 0]
+; CHECK-NEXT: ReadAccess := [Reduction Type: NONE] [Scalar: 0]
+; CHECK-NEXT: [tmp14, p_1] -> { Stmt_bb17[i0] -> MemRef3[o0] };
----------------
Regression.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D89456/new/
https://reviews.llvm.org/D89456
More information about the llvm-commits
mailing list