[PATCH] D95543: [WIP][GVN] Clobber partially aliased loads.

Daniil Fukalov via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed Jan 27 10:17:39 PST 2021


dfukalov created this revision.
dfukalov requested review of this revision.
Herald added a project: LLVM.
Herald added a subscriber: llvm-commits.

First step: upload test to phabricator for D93529 <https://reviews.llvm.org/D93529> review purposes.


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D95543

Files:
  llvm/test/Transforms/GVN/clobber-partial-alias.ll


Index: llvm/test/Transforms/GVN/clobber-partial-alias.ll
===================================================================
--- /dev/null
+++ llvm/test/Transforms/GVN/clobber-partial-alias.ll
@@ -0,0 +1,17 @@
+; RUN: opt -gvn -S < %s | FileCheck %s
+
+define float @foo(float* %arg, i32 %i) {
+bb:
+  %i2 = zext i32 %i to i64
+  %i3 = getelementptr inbounds float, float* %arg, i64 %i2
+  %i4 = bitcast float* %i3 to <2 x float>*
+  %i5 = load <2 x float>, <2 x float>* %i4, align 16
+  %i7 = add nuw nsw i32 %i, 1
+  %i8 = zext i32 %i7 to i64
+  %i9 = getelementptr inbounds float, float* %arg, i64 %i8
+; CHECK-NOT: load float, float*
+  %i10 = load float, float* %i9, align 4
+  %i16 = extractelement <2 x float> %i5, i32 0
+  %i17 = fmul float %i16, %i10
+  ret float %i17
+}


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D95543.319611.patch
Type: text/x-patch
Size: 781 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20210127/8a4e859a/attachment.bin>


More information about the llvm-commits mailing list