43 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes=globalopt -S < %s | FileCheck %s3 4@g = internal global ptr null, align 85 6define signext i32 @f() local_unnamed_addr {7; CHECK-LABEL: @f(8; CHECK-NEXT: entry:9; CHECK-NEXT: call void @f1()10; CHECK-NEXT: store i32 1, ptr @g.body, align 411; CHECK-NEXT: call void @f1()12; CHECK-NEXT: store i8 2, ptr @g.body, align 413; CHECK-NEXT: ret i32 114;15entry:16 %call = call ptr @malloc(i64 4)17 store ptr %call, ptr @g, align 818 call void @f1()19 %0 = load ptr, ptr @g, align 820 store i32 1, ptr %0, align 421 call void @f1()22 %1 = load ptr, ptr @g, align 823 store i8 2, ptr %1, align 424 ret i32 125}26 27define signext i32 @main() {28; CHECK-LABEL: @main(29; CHECK-NEXT: entry:30; CHECK-NEXT: [[CALL:%.*]] = call signext i32 @f()31; CHECK-NEXT: [[TMP0:%.*]] = load i32, ptr @g.body, align 432; CHECK-NEXT: ret i32 [[TMP0]]33;34entry:35 %call = call signext i32 @f()36 %0 = load ptr, ptr @g, align 837 %1 = load i32, ptr %0, align 438 ret i32 %139}40 41declare noalias align 16 ptr @malloc(i64) allockind("alloc,uninitialized") allocsize(0)42declare void @f1()43