llvm-project/clang/test/CodeGenCXX/static-init-1.cpp
hyeongyu kim 1b1c8d83d3 [Clang/Test]: Rename enable_noundef_analysis to disable-noundef-analysis and turn it off by default
Turning on `enable_noundef_analysis` flag allows better codegen by removing freeze instructions.
I modified clang by renaming `enable_noundef_analysis` flag to `disable-noundef-analysis` and turning it off by default.

Test updates are made as a separate patch: D108453

Reviewed By: eugenis

Differential Revision: https://reviews.llvm.org/D105169
2022-01-16 18:54:17 +09:00

26 lines
647 B
C++

// RUN: %clang_cc1 -triple=x86_64-apple-darwin9 -emit-llvm %s -o - | FileCheck %s
extern "C" int printf(...);
static int count;
int func2(int c) { return printf("loading the func2(%d)\n", c); };
int func1(int c) { return printf("loading the func1(%d)\n", c); }
static int loader_1 = func1(++count);
// CHECK: call noundef i32 @_Z5func1i
int loader_2 = func2(++count);
static int loader_3 = func1(++count);
// CHECK: call noundef i32 @_Z5func1i
int main() {}
int loader_4 = func2(++count);
static int loader_5 = func1(++count);
int loader_6 = func2(++count);
// CHECK: call noundef i32 @_Z5func1i
// CHECK-NOT: call noundef i32 @_Z5func1i