1213193c1SPhilip Reames; NOTE: Assertions have been autogenerated by utils/update_test_checks.py 2213193c1SPhilip Reames; RUN: opt -passes=globalopt -S < %s | FileCheck %s 3213193c1SPhilip Reames 4*d586bd5cSNikita Popov@g = internal global ptr null, align 8 5213193c1SPhilip Reames 6213193c1SPhilip Reamesdefine signext i32 @f() local_unnamed_addr { 7213193c1SPhilip Reames; CHECK-LABEL: @f( 8213193c1SPhilip Reames; CHECK-NEXT: entry: 9*d586bd5cSNikita Popov; CHECK-NEXT: store i16 -1, ptr @g.body, align 2 10213193c1SPhilip Reames; CHECK-NEXT: ret i32 0 11213193c1SPhilip Reames; 12213193c1SPhilip Reamesentry: 13*d586bd5cSNikita Popov %call = call ptr @malloc(i64 4) 14*d586bd5cSNikita Popov store ptr %call, ptr @g, align 8 15*d586bd5cSNikita Popov store i16 -1, ptr %call 16213193c1SPhilip Reames ret i32 0 17213193c1SPhilip Reames} 18213193c1SPhilip Reames 19213193c1SPhilip Reamesdefine signext i32 @main() { 20213193c1SPhilip Reames; CHECK-LABEL: @main( 21213193c1SPhilip Reames; CHECK-NEXT: entry: 22213193c1SPhilip Reames; CHECK-NEXT: [[CALL:%.*]] = call signext i32 @f() 23213193c1SPhilip Reames; CHECK-NEXT: call void @f1() 24*d586bd5cSNikita Popov; CHECK-NEXT: store i32 1, ptr @g.body, align 4 25213193c1SPhilip Reames; CHECK-NEXT: call void @f1() 26*d586bd5cSNikita Popov; CHECK-NEXT: store i8 2, ptr @g.body, align 4 27213193c1SPhilip Reames; CHECK-NEXT: call void @f1() 28*d586bd5cSNikita Popov; CHECK-NEXT: [[RES:%.*]] = load i32, ptr @g.body, align 4 29213193c1SPhilip Reames; CHECK-NEXT: ret i32 [[RES]] 30213193c1SPhilip Reames; 31213193c1SPhilip Reamesentry: 32213193c1SPhilip Reames %call = call signext i32 @f() 33213193c1SPhilip Reames call void @f1() 34*d586bd5cSNikita Popov %v0 = load ptr, ptr @g, align 8 35*d586bd5cSNikita Popov store i32 1, ptr %v0, align 4 36213193c1SPhilip Reames call void @f1() 37*d586bd5cSNikita Popov %v1 = load ptr, ptr @g, align 8 38*d586bd5cSNikita Popov store i8 2, ptr %v1, align 4 39213193c1SPhilip Reames call void @f1() 40*d586bd5cSNikita Popov %v2 = load ptr, ptr @g, align 8 41*d586bd5cSNikita Popov %res = load i32, ptr %v2, align 4 42213193c1SPhilip Reames ret i32 %res 43213193c1SPhilip Reames} 44213193c1SPhilip Reames 45*d586bd5cSNikita Popovdeclare noalias align 16 ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0) 46213193c1SPhilip Reamesdeclare void @f1() 47