22 lines · cpp
1// NOTE: Assertions have been autogenerated by utils/update_cc_test_checks.py2// RUN: %clang_cc1 -emit-llvm -triple=thumbv6m-eabi -o - %s | FileCheck %s3 4int f();5 6// CHECK-LABEL: @_Z1gv(7// CHECK-NEXT: entry:8// CHECK-NEXT: [[TMP0:%.*]] = call i32 @__cxa_guard_acquire(ptr @_ZGVZ1gvE1a) #[[ATTR1:[0-9]+]]9// CHECK-NEXT: [[TOBOOL:%.*]] = icmp ne i32 [[TMP0]], 010// CHECK-NEXT: br i1 [[TOBOOL]], label [[INIT:%.*]], label [[INIT_END:%.*]]11// CHECK: init:12// CHECK-NEXT: [[CALL:%.*]] = call noundef i32 @_Z1fv()13// CHECK-NEXT: store i32 [[CALL]], ptr @_ZZ1gvE1a, align 414// CHECK-NEXT: call void @__cxa_guard_release(ptr @_ZGVZ1gvE1a) #[[ATTR1]]15// CHECK-NEXT: br label [[INIT_END]]16// CHECK: init.end:17// CHECK-NEXT: ret void18//19void g() {20 static int a = f();21}22