brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 3f5ea81 Raw
57 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_test_checks.py2; RUN: opt -passes='default<O2>' -S < %s | FileCheck %s3@a = internal global i32 0, align 44@c = internal global ptr @b, align 85@b = internal global ptr null, align 86@e = internal global ptr @d, align 87@d = internal global i32 0, align 48 9define i32 @main() {10; CHECK-LABEL: @main(11; CHECK-NEXT:  entry:12; CHECK-NEXT:    [[TMP0:%.*]] = load ptr, ptr @e, align 813; CHECK-NEXT:    store i32 0, ptr [[TMP0]], align 414; CHECK-NEXT:    store ptr null, ptr @e, align 815; CHECK-NEXT:    ret i32 016;17entry:18  %h = alloca ptr, align 819  %i = alloca ptr, align 820  %j = alloca ptr, align 821  store ptr @a, ptr %h, align 822  store ptr @a, ptr %j, align 823  %0 = load ptr, ptr %j, align 824  store i32 1, ptr %0, align 425  store ptr @a, ptr %i, align 826  %1 = load ptr, ptr %i, align 827  %2 = load ptr, ptr @c, align 828  store ptr %1, ptr %2, align 829  %3 = load ptr, ptr %h, align 830  %call = call ptr @bar(ptr %3)31  ret i32 032}33 34define internal ptr @bar(ptr %g) {35entry:36  %g.addr = alloca ptr, align 837  store ptr %g, ptr %g.addr, align 838  %0 = load ptr, ptr @e, align 839  store i32 0, ptr %0, align 440  %1 = load ptr, ptr %g.addr, align 841  %2 = load i32, ptr %1, align 442  %tobool = icmp ne i32 %2, 043  br i1 %tobool, label %if.end, label %if.then44 45if.then:                                          ; preds = %entry46  call void @foo()47  br label %if.end48 49if.end:                                           ; preds = %if.then, %entry50  store ptr null, ptr @e, align 851  %3 = load ptr, ptr @b, align 852  ret ptr %353}54 55declare void @foo()56 57