[llvm] 684a82f - [InstCombine] Remove unnecessary UB from some tests.
Florian Hahn via llvm-commits
llvm-commits at lists.llvm.org
Sat Jun 11 15:24:03 PDT 2022
Author: Florian Hahn
Date: 2022-06-11T23:22:49+01:00
New Revision: 684a82fbc5434c9673c396b53e09baf902259a54
URL: https://github.com/llvm/llvm-project/commit/684a82fbc5434c9673c396b53e09baf902259a54
DIFF: https://github.com/llvm/llvm-project/commit/684a82fbc5434c9673c396b53e09baf902259a54.diff
LOG: [InstCombine] Remove unnecessary UB from some tests.
Added:
Modified:
llvm/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
llvm/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
llvm/test/Transforms/InstCombine/2009-02-25-CrashZeroSizeArray.ll
llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
llvm/test/Transforms/InstCombine/X86/shufflemask-undef-inseltpoison.ll
llvm/test/Transforms/InstCombine/X86/shufflemask-undef.ll
llvm/test/Transforms/InstCombine/alloca-big.ll
llvm/test/Transforms/InstCombine/call-intrinsics.ll
llvm/test/Transforms/InstCombine/pr35515.ll
llvm/test/Transforms/InstCombine/pr38677.ll
llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
llvm/test/Transforms/InstCombine/pr38984.ll
llvm/test/Transforms/InstCombine/stack-overalign.ll
Removed:
################################################################################
diff --git a/llvm/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll b/llvm/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
index 92162ebd6a472..9db05cda6dd06 100644
--- a/llvm/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
+++ b/llvm/test/Transforms/InstCombine/2004-12-08-RemInfiniteLoop.ll
@@ -1,6 +1,6 @@
; RUN: opt < %s -passes=instcombine
-define i32 @test(i32 %X) {
+define i32 @test(i32 %X, i32 %Z) {
%Y = srem i32 %X, undef ; <i32> [#uses=1]
ret i32 %Y
}
diff --git a/llvm/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll b/llvm/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
index 4d1b5e7cd0315..80e43cb0a89e4 100644
--- a/llvm/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
+++ b/llvm/test/Transforms/InstCombine/2006-12-23-Select-Cmp-Cmp.ll
@@ -12,11 +12,11 @@ target triple = "i686-pc-linux-gnu"
%struct.mng_savedata = type { i8, i8, i8, i8, i8, i8, i8, i16, i16, i16, i8, i16, i8, i8, i32, i32, i8, i32, i32, i32, i32, i32, [256 x %struct.mng_palette8e], i32, [256 x i8], i32, i32, i32, i32, i32, i32, i32, i32, i32, i8, i32, i8*, i16, i16, i16 }
%struct.z_stream = type { i8*, i32, i32, i8*, i32, i32, i8*, %struct.internal_state*, i8* (i8*, i32, i32)*, void (i8*, i8*)*, i8*, i32, i32, i32 }
-define void @mng_write_basi() {
+define void @mng_write_basi(i8* %src1, i16* %src2) {
entry:
- %tmp = load i8, i8* null ; <i8> [#uses=1]
+ %tmp = load i8, i8* %src1 ; <i8> [#uses=1]
%tmp.upgrd.1 = icmp ugt i8 %tmp, 8 ; <i1> [#uses=1]
- %tmp.upgrd.2 = load i16, i16* null ; <i16> [#uses=2]
+ %tmp.upgrd.2 = load i16, i16* %src2; <i16> [#uses=2]
%tmp3 = icmp eq i16 %tmp.upgrd.2, 255 ; <i1> [#uses=1]
%tmp7 = icmp eq i16 %tmp.upgrd.2, -1 ; <i1> [#uses=1]
%bOpaque.0.in = select i1 %tmp.upgrd.1, i1 %tmp7, i1 %tmp3 ; <i1> [#uses=1]
diff --git a/llvm/test/Transforms/InstCombine/2009-02-25-CrashZeroSizeArray.ll b/llvm/test/Transforms/InstCombine/2009-02-25-CrashZeroSizeArray.ll
index 78b8344ff320f..c26167667c8d7 100644
--- a/llvm/test/Transforms/InstCombine/2009-02-25-CrashZeroSizeArray.ll
+++ b/llvm/test/Transforms/InstCombine/2009-02-25-CrashZeroSizeArray.ll
@@ -3,13 +3,13 @@
target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:32:32"
target triple = "i386-pc-linux-gnu"
-define void @_ada_c32001b(i32 %tmp5) {
+define void @_ada_c32001b(i32 %tmp5, i32* %src) {
entry:
%max289 = select i1 false, i32 %tmp5, i32 0 ; <i32> [#uses=1]
%tmp6 = mul i32 %max289, 4 ; <i32> [#uses=1]
%tmp7 = alloca i8, i32 0 ; <i8*> [#uses=1]
%tmp8 = bitcast i8* %tmp7 to [0 x [0 x i32]]* ; <[0 x [0 x i32]]*> [#uses=1]
- %tmp11 = load i32, i32* null, align 1 ; <i32> [#uses=1]
+ %tmp11 = load i32, i32* %src, align 1 ; <i32> [#uses=1]
%tmp12 = icmp eq i32 %tmp11, 3 ; <i1> [#uses=1]
%tmp13 = zext i1 %tmp12 to i8 ; <i8> [#uses=1]
%tmp14 = ashr i32 %tmp6, 2 ; <i32> [#uses=1]
diff --git a/llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll b/llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
index 8e930973a9e43..a1c71f06ac1b4 100644
--- a/llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
+++ b/llvm/test/Transforms/InstCombine/2010-05-30-memcpy-Struct.ll
@@ -9,15 +9,15 @@ target triple = "x86_64-unknown-linux-gnu"
@.str = private constant [3 x i8] c"%s\00"
-define void @CopyEventArg(%union.anon* %ev) nounwind {
+define void @CopyEventArg(%union.anon* %ev, i8* %src) nounwind {
; CHECK-LABEL: @CopyEventArg(
; CHECK-NEXT: entry:
; CHECK-NEXT: [[CSTR:%.*]] = bitcast %union.anon* [[EV:%.*]] to i8*
-; CHECK-NEXT: [[STRCPY:%.*]] = call i8* @strcpy(i8* noundef nonnull dereferenceable(1) undef, i8* noundef nonnull dereferenceable(1) [[CSTR]])
+; CHECK-NEXT: [[STRCPY:%.*]] = call i8* @strcpy(i8* noundef nonnull dereferenceable(1) [[SRC:%.*]], i8* noundef nonnull dereferenceable(1) [[CSTR]])
; CHECK-NEXT: ret void
;
entry:
- %call = call i32 (i8*, i8*, ...) @sprintf(i8* undef, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), %union.anon* %ev) nounwind
+ %call = call i32 (i8*, i8*, ...) @sprintf(i8* %src, i8* getelementptr inbounds ([3 x i8], [3 x i8]* @.str, i64 0, i64 0), %union.anon* %ev) nounwind
ret void
}
diff --git a/llvm/test/Transforms/InstCombine/X86/shufflemask-undef-inseltpoison.ll b/llvm/test/Transforms/InstCombine/X86/shufflemask-undef-inseltpoison.ll
index d2fab4c307afb..0fbfee1205fb6 100644
--- a/llvm/test/Transforms/InstCombine/X86/shufflemask-undef-inseltpoison.ll
+++ b/llvm/test/Transforms/InstCombine/X86/shufflemask-undef-inseltpoison.ll
@@ -68,9 +68,9 @@ target triple = "i386-apple-darwin9"
%struct.PPStreamToken = type { { i16, i16, i32 } }
%struct._VMConstants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, float, float, float, float, float, float, float, float, float, float, float, float, [256 x float], [528 x i8], { void (i8*, i8*, i32, i8*)*, float (float)*, float (float)*, float (float)*, i32 (float)* } }
-define i32 @foo(%struct.State* %dst, <4 x float>* %prgrm, <4 x float>** %buffs, %struct._VMConstants* %cnstn, %struct.PPStreamToken* %pstrm, %struct.PluginBufferData* %gpctx, %struct.VMTextures* %txtrs, %struct.VMGPStack* %gpstk) nounwind {
+define i32 @foo(%struct.State* %dst, <4 x float>* %prgrm, <4 x float>** %buffs, %struct._VMConstants* %cnstn, %struct.PPStreamToken* %pstrm, %struct.PluginBufferData* %gpctx, %struct.VMTextures* %txtrs, %struct.VMGPStack* %gpstk, <4 x float>* %src) nounwind {
bb266.i:
- getelementptr <4 x float>, <4 x float>* null, i32 11 ; <<4 x float>*>:0 [#uses=1]
+ getelementptr <4 x float>, <4 x float>* %src, i32 11 ; <<4 x float>*>:0 [#uses=1]
load <4 x float>, <4 x float>* %0, align 16 ; <<4 x float>>:1 [#uses=1]
shufflevector <4 x float> %1, <4 x float> poison, <4 x i32> < i32 0, i32 1, i32 1, i32 1 > ; <<4 x float>>:2 [#uses=1]
shufflevector <4 x float> %2, <4 x float> poison, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>>:3 [#uses=1]
@@ -95,10 +95,10 @@ bb266.i:
br i1 %16, label %bb5574.i, label %bb4521.i
bb4521.i: ; preds = %bb266.i
- unreachable
+ ret i32 0
bb5574.i: ; preds = %bb266.i
- unreachable
+ ret i32 1
}
declare <4 x float> @llvm.x86.sse.cmp.ps(<4 x float>, <4 x float>, i8) nounwind readnone
diff --git a/llvm/test/Transforms/InstCombine/X86/shufflemask-undef.ll b/llvm/test/Transforms/InstCombine/X86/shufflemask-undef.ll
index 4ce7a28108b32..09f102c73413a 100644
--- a/llvm/test/Transforms/InstCombine/X86/shufflemask-undef.ll
+++ b/llvm/test/Transforms/InstCombine/X86/shufflemask-undef.ll
@@ -68,9 +68,9 @@ target triple = "i386-apple-darwin9"
%struct.PPStreamToken = type { { i16, i16, i32 } }
%struct._VMConstants = type { <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, <4 x float>, float, float, float, float, float, float, float, float, float, float, float, float, [256 x float], [528 x i8], { void (i8*, i8*, i32, i8*)*, float (float)*, float (float)*, float (float)*, i32 (float)* } }
-define i32 @foo(%struct.State* %dst, <4 x float>* %prgrm, <4 x float>** %buffs, %struct._VMConstants* %cnstn, %struct.PPStreamToken* %pstrm, %struct.PluginBufferData* %gpctx, %struct.VMTextures* %txtrs, %struct.VMGPStack* %gpstk) nounwind {
+define i32 @foo(%struct.State* %dst, <4 x float>* %prgrm, <4 x float>** %buffs, %struct._VMConstants* %cnstn, %struct.PPStreamToken* %pstrm, %struct.PluginBufferData* %gpctx, %struct.VMTextures* %txtrs, %struct.VMGPStack* %gpstk, <4 x float>* %src) nounwind {
bb266.i:
- getelementptr <4 x float>, <4 x float>* null, i32 11 ; <<4 x float>*>:0 [#uses=1]
+ getelementptr <4 x float>, <4 x float>* %src, i32 11 ; <<4 x float>*>:0 [#uses=1]
load <4 x float>, <4 x float>* %0, align 16 ; <<4 x float>>:1 [#uses=1]
shufflevector <4 x float> %1, <4 x float> undef, <4 x i32> < i32 0, i32 1, i32 1, i32 1 > ; <<4 x float>>:2 [#uses=1]
shufflevector <4 x float> %2, <4 x float> undef, <4 x i32> < i32 0, i32 4, i32 1, i32 5 > ; <<4 x float>>:3 [#uses=1]
@@ -95,10 +95,10 @@ bb266.i:
br i1 %16, label %bb5574.i, label %bb4521.i
bb4521.i: ; preds = %bb266.i
- unreachable
+ ret i32 0
bb5574.i: ; preds = %bb266.i
- unreachable
+ ret i32 1
}
declare <4 x float> @llvm.x86.sse.cmp.ps(<4 x float>, <4 x float>, i8) nounwind readnone
diff --git a/llvm/test/Transforms/InstCombine/alloca-big.ll b/llvm/test/Transforms/InstCombine/alloca-big.ll
index 3891b19efea46..27e76e752fcee 100644
--- a/llvm/test/Transforms/InstCombine/alloca-big.ll
+++ b/llvm/test/Transforms/InstCombine/alloca-big.ll
@@ -2,15 +2,15 @@
; RUN: opt < %s -passes=instcombine -S | FileCheck %s
; OSS-Fuzz: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=5223
-define void @test_bigalloc() {
+define void @test_bigalloc(i8** %dst) {
; CHECK-LABEL: @test_bigalloc(
; CHECK-NEXT: [[TMP1:%.*]] = alloca [18446744069414584320 x i8], align 1
; CHECK-NEXT: [[DOTSUB:%.*]] = getelementptr inbounds [18446744069414584320 x i8], [18446744069414584320 x i8]* [[TMP1]], i64 0, i64 0
-; CHECK-NEXT: store i8* [[DOTSUB]], i8** undef, align 8
+; CHECK-NEXT: store i8* [[DOTSUB]], i8** [[DST:%.*]], align 8
; CHECK-NEXT: ret void
;
%1 = alloca i8, i864 -4294967296
- %2 = getelementptr i8, i8* %1, i1 undef
- store i8* %2, i8** undef
+ %2 = getelementptr i8, i8* %1, i1 0
+ store i8* %2, i8** %dst
ret void
}
diff --git a/llvm/test/Transforms/InstCombine/call-intrinsics.ll b/llvm/test/Transforms/InstCombine/call-intrinsics.ll
index dc2394c57d93b..0efc4b843dd5c 100644
--- a/llvm/test/Transforms/InstCombine/call-intrinsics.ll
+++ b/llvm/test/Transforms/InstCombine/call-intrinsics.ll
@@ -1,7 +1,7 @@
; RUN: opt < %s -passes=instcombine | llvm-dis
- at X = global i8 0 ; <i8*> [#uses=3]
- at Y = global i8 12 ; <i8*> [#uses=2]
+ at X = global i8 0
+ at Y = global i8 12
declare void @llvm.memmove.p0i8.p0i8.i32(i8*, i8*, i32, i1)
@@ -10,10 +10,10 @@ declare void @llvm.memcpy.p0i8.p0i8.i32(i8*, i8*, i32, i1)
declare void @llvm.memset.p0i8.i32(i8*, i8, i32, i1)
define void @zero_byte_test() {
- ; These process zero bytes, so they are a noop.
- call void @llvm.memmove.p0i8.p0i8.i32(i8* align 128 @X, i8* align 128 @Y, i32 0, i1 false )
- call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 128 @X, i8* align 128 @Y, i32 0, i1 false )
- call void @llvm.memset.p0i8.i32(i8* align 128 @X, i8 123, i32 0, i1 false )
- ret void
+ ; These process zero bytes, so they are a noop.
+ call void @llvm.memmove.p0i8.p0i8.i32(i8* @X, i8* @Y, i32 0, i1 false )
+ call void @llvm.memcpy.p0i8.p0i8.i32(i8* @X, i8* @Y, i32 0, i1 false )
+ call void @llvm.memset.p0i8.i32(i8* @X, i8 123, i32 0, i1 false )
+ ret void
}
diff --git a/llvm/test/Transforms/InstCombine/pr35515.ll b/llvm/test/Transforms/InstCombine/pr35515.ll
index c862bee932c1e..4604c13811889 100644
--- a/llvm/test/Transforms/InstCombine/pr35515.ll
+++ b/llvm/test/Transforms/InstCombine/pr35515.ll
@@ -5,7 +5,7 @@
@g_49 = external local_unnamed_addr global { i8, i8, i8, i8, i8 }, align 2
; CHECK-LABEL: @func_24(
-define fastcc void @func_24() {
+define i40 @func_24() {
entry:
%bf.load81 = load i40, i40* bitcast ({ i8, i8, i8, i8, i8 }* @g_49 to i40*), align 2
%bf.clear = and i40 %bf.load81, -274869518337
@@ -16,5 +16,5 @@ entry:
%tmp3 = shl nuw nsw i32 %tmp2, 23
%bf.shl154 = zext i32 %tmp3 to i40
%bf.set156 = or i40 %bf.clear, %bf.shl154
- unreachable
+ ret i40 %bf.set156
}
diff --git a/llvm/test/Transforms/InstCombine/pr38677.ll b/llvm/test/Transforms/InstCombine/pr38677.ll
index df36e7962e7c3..63c0caba1013d 100644
--- a/llvm/test/Transforms/InstCombine/pr38677.ll
+++ b/llvm/test/Transforms/InstCombine/pr38677.ll
@@ -4,17 +4,17 @@
@A = extern_weak global i32, align 4
@B = extern_weak global i32, align 4
-define i32 @foo(i1 %which) {
+define i32 @foo(i1 %which, ptr %dst) {
; CHECK-LABEL: @foo(
; CHECK-NEXT: entry:
; CHECK-NEXT: br i1 true, label [[FINAL:%.*]], label [[DELAY:%.*]]
; CHECK: delay:
; CHECK-NEXT: br label [[FINAL]]
; CHECK: final:
-; CHECK-NEXT: [[USE2:%.*]] = phi i32 [ 1, [[ENTRY:%.*]] ], [ select (i1 icmp eq (i32* @A, i32* @B), i32 2, i32 1), [[DELAY]] ]
+; CHECK-NEXT: [[USE2:%.*]] = phi i32 [ 1, [[ENTRY:%.*]] ], [ select (i1 icmp eq (ptr @A, ptr @B), i32 2, i32 1), [[DELAY]] ]
; CHECK-NEXT: [[B7:%.*]] = mul i32 [[USE2]], 2147483647
; CHECK-NEXT: [[C3:%.*]] = icmp eq i32 [[B7]], 0
-; CHECK-NEXT: store i1 [[C3]], i1* undef, align 1
+; CHECK-NEXT: store i1 [[C3]], ptr [[DST:%.*]], align 1
; CHECK-NEXT: ret i32 [[USE2]]
;
entry:
@@ -24,10 +24,10 @@ delay: ; preds = %entry
br label %final
final: ; preds = %delay, %entry
- %use2 = phi i1 [ false, %entry ], [ icmp eq (i32* @A, i32* @B), %delay ]
+ %use2 = phi i1 [ false, %entry ], [ icmp eq (ptr @A, ptr @B), %delay ]
%value = select i1 %use2, i32 2, i32 1
%B7 = mul i32 %value, 2147483647
%C3 = icmp ule i32 %B7, 0
- store i1 %C3, i1* undef
+ store i1 %C3, ptr %dst
ret i32 %value
}
diff --git a/llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll b/llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
index d576ea24dd75f..0f9886c636f0f 100644
--- a/llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
+++ b/llvm/test/Transforms/InstCombine/pr38984-inseltpoison.ll
@@ -12,7 +12,7 @@ define <4 x i1> @PR38984_1() {
; CHECK-NEXT: ret <4 x i1> <i1 true, i1 true, i1 true, i1 true>
;
entry:
- %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef), align 1
+ %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0), align 1
%1 = insertelement <4 x i16> poison, i16 %0, i32 3
%2 = getelementptr i32, i32* null, <4 x i16> %1
%3 = getelementptr i32, i32* null, <4 x i16> %1
@@ -24,7 +24,7 @@ entry:
define <4 x i1> @PR38984_2() {
; CHECK-LABEL: @PR38984_2(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[TMP0:%.*]] = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef), align 2
+; CHECK-NEXT: [[TMP0:%.*]] = load i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0), align 2
; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x i16> poison, i16 [[TMP0]], i64 3
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i16, i16* getelementptr inbounds ([21 x i16], [21 x i16]* @a, i16 1, i16 0), <4 x i16> [[TMP1]]
; CHECK-NEXT: [[TMP3:%.*]] = getelementptr i16, i16* null, <4 x i16> [[TMP1]]
@@ -32,7 +32,7 @@ define <4 x i1> @PR38984_2() {
; CHECK-NEXT: ret <4 x i1> [[TMP4]]
;
entry:
- %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef)
+ %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0)
%1 = insertelement <4 x i16> poison, i16 %0, i32 3
%2 = getelementptr i16, i16* getelementptr ([21 x i16], [21 x i16]* @a, i64 1, i32 0), <4 x i16> %1
%3 = getelementptr i16, i16* null, <4 x i16> %1
diff --git a/llvm/test/Transforms/InstCombine/pr38984.ll b/llvm/test/Transforms/InstCombine/pr38984.ll
index c7ee472763405..97b03ea546023 100644
--- a/llvm/test/Transforms/InstCombine/pr38984.ll
+++ b/llvm/test/Transforms/InstCombine/pr38984.ll
@@ -12,7 +12,7 @@ define <4 x i1> @PR38984_1() {
; CHECK-NEXT: ret <4 x i1> <i1 true, i1 true, i1 true, i1 true>
;
entry:
- %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef), align 1
+ %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0), align 1
%1 = insertelement <4 x i16> undef, i16 %0, i32 3
%2 = getelementptr i32, i32* null, <4 x i16> %1
%3 = getelementptr i32, i32* null, <4 x i16> %1
@@ -24,7 +24,7 @@ entry:
define <4 x i1> @PR38984_2() {
; CHECK-LABEL: @PR38984_2(
; CHECK-NEXT: entry:
-; CHECK-NEXT: [[TMP0:%.*]] = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef), align 2
+; CHECK-NEXT: [[TMP0:%.*]] = load i16, i16* getelementptr inbounds ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0), align 2
; CHECK-NEXT: [[TMP1:%.*]] = insertelement <4 x i16> undef, i16 [[TMP0]], i64 3
; CHECK-NEXT: [[TMP2:%.*]] = getelementptr i16, i16* getelementptr inbounds ([21 x i16], [21 x i16]* @a, i16 1, i16 0), <4 x i16> [[TMP1]]
; CHECK-NEXT: [[TMP3:%.*]] = getelementptr i16, i16* null, <4 x i16> [[TMP1]]
@@ -32,7 +32,7 @@ define <4 x i1> @PR38984_2() {
; CHECK-NEXT: ret <4 x i1> [[TMP4]]
;
entry:
- %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 undef)
+ %0 = load i16, i16* getelementptr ([4 x i16], [4 x i16]* @offsets, i16 0, i16 0)
%1 = insertelement <4 x i16> undef, i16 %0, i32 3
%2 = getelementptr i16, i16* getelementptr ([21 x i16], [21 x i16]* @a, i64 1, i32 0), <4 x i16> %1
%3 = getelementptr i16, i16* null, <4 x i16> %1
diff --git a/llvm/test/Transforms/InstCombine/stack-overalign.ll b/llvm/test/Transforms/InstCombine/stack-overalign.ll
index f1ebcbfa4013e..2abcca417776b 100644
--- a/llvm/test/Transforms/InstCombine/stack-overalign.ll
+++ b/llvm/test/Transforms/InstCombine/stack-overalign.ll
@@ -19,7 +19,7 @@
define void @foo() nounwind {
entry:
- %src = alloca [1024 x i8], align 1
+ %src = alloca [1024 x i8], align 64
%src1 = getelementptr [1024 x i8], [1024 x i8]* %src, i32 0, i32 0
call void @llvm.memcpy.p0i8.p0i8.i32(i8* align 32 getelementptr inbounds ([1024 x i8], [1024 x i8]* @dst, i32 0, i32 0), i8* align 32 %src1, i32 1024, i1 false)
call void @frob(i8* %src1) nounwind
More information about the llvm-commits
mailing list