106106
107107; PLAIN: @Y = global ptr getelementptr inbounds ([3 x { i32, i32 }], ptr getelementptr inbounds ([3 x { i32, i32 }], ptr @ext, i64 1), i64 1)
108108; PLAIN: @Z = global ptr getelementptr inbounds (i32, ptr getelementptr inbounds ([3 x { i32, i32 }], ptr @ext, i64 0, i64 1, i32 0), i64 1)
109- ; OPT: @Y = local_unnamed_addr global ptr getelementptr inbounds (i8, ptr @ext, i64 48)
110- ; OPT: @Z = local_unnamed_addr global ptr getelementptr inbounds (i8, ptr @ext, i64 12)
111- ; TO: @Y = local_unnamed_addr global ptr getelementptr inbounds (i8, ptr @ext, i64 48)
112- ; TO: @Z = local_unnamed_addr global ptr getelementptr inbounds (i8, ptr @ext, i64 12)
109+ ; OPT: @Y = local_unnamed_addr global ptr getelementptr inbounds nuw (i8, ptr @ext, i64 48)
110+ ; OPT: @Z = local_unnamed_addr global ptr getelementptr inbounds nuw (i8, ptr @ext, i64 12)
111+ ; TO: @Y = local_unnamed_addr global ptr getelementptr inbounds nuw (i8, ptr @ext, i64 48)
112+ ; TO: @Z = local_unnamed_addr global ptr getelementptr inbounds nuw (i8, ptr @ext, i64 12)
113113
114114@ext = external global [3 x { i32 , i32 }]
115115@Y = global ptr getelementptr inbounds ([3 x { i32 , i32 }], ptr getelementptr inbounds ([3 x { i32 , i32 }], ptr @ext , i64 1 ), i64 1 )
@@ -433,10 +433,10 @@ define ptr @fO() nounwind {
433433; PLAIN: ret ptr %t
434434; PLAIN: }
435435; OPT: define ptr @fZ() local_unnamed_addr #0 {
436- ; OPT: ret ptr getelementptr inbounds (i8, ptr @ext, i64 12)
436+ ; OPT: ret ptr getelementptr inbounds nuw (i8, ptr @ext, i64 12)
437437; OPT: }
438438; TO: define ptr @fZ() local_unnamed_addr #0 {
439- ; TO: ret ptr getelementptr inbounds (i8, ptr @ext, i64 12)
439+ ; TO: ret ptr getelementptr inbounds nuw (i8, ptr @ext, i64 12)
440440; TO: }
441441; SCEV: Classifying expressions for: @fZ
442442; SCEV: %t = bitcast ptr getelementptr inbounds (i32, ptr getelementptr inbounds ([3 x { i32, i32 }], ptr @ext, i64 0, i64 1, i32 0), i64 1) to ptr
@@ -457,14 +457,14 @@ define ptr @different_addrspace() nounwind noinline {
457457 %p = getelementptr inbounds i8 , ptr addrspacecast (ptr addrspace (12 ) @p12 to ptr ),
458458 i32 2
459459 ret ptr %p
460- ; OPT: ret ptr getelementptr inbounds (i8, ptr addrspacecast (ptr addrspace(12) @p12 to ptr), i64 2)
460+ ; OPT: ret ptr getelementptr inbounds nuw (i8, ptr addrspacecast (ptr addrspace(12) @p12 to ptr), i64 2)
461461}
462462
463463define ptr @same_addrspace () nounwind noinline {
464464; OPT: same_addrspace
465465 %p = getelementptr inbounds i8 , ptr @p0 , i32 2
466466 ret ptr %p
467- ; OPT: ret ptr getelementptr inbounds (i8, ptr @p0, i64 2)
467+ ; OPT: ret ptr getelementptr inbounds nuw (i8, ptr @p0, i64 2)
468468}
469469
470470@gv1 = internal global i32 1
0 commit comments