[PATCH] D125016: [LV] Widen freeze instead of scalarizing it

Peter Waller via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 17 02:08:09 PDT 2022


peterwaller-arm added inline comments.


================
Comment at: llvm/test/Transforms/LoopVectorize/vector-freeze.ll:37
+  ret void
+}
----------------
Thanks for the patch. Here is a suggestion for a smaller test case (which I produced before spotting your patch, and your patch does fix, thanks!)

```

define i64 @test(ptr noalias readonly %addr) {
; CHECK-LABEL: @test(
; CHECK:       vector.body:
; CHECK:       freeze <16 x i64>

; SVE-LABEL: @test(
; SVE:       vector.body:
; SVE:       freeze <vscale x 16 x i64>

entry:
  br label %loop

exit:
  ret i64 %tmp4

loop:
  %tmp3 = phi ptr [ %tmp6, %loop ], [ %addr, %entry ]
  %tmp4 = freeze i64 0
  %tmp5 = add i64 0, 0
  %tmp6 = getelementptr inbounds ptr, ptr %tmp3, i64 1
  %tmp7 = icmp eq ptr %tmp6, null
  br i1 %tmp7, label %exit, label %loop
}
```


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

https://reviews.llvm.org/D125016



More information about the llvm-commits mailing list