// UNSUPPORTED: experimental-new-pass-manager // Currently, different code seems to be intentionally generated under the new // PM since we alwaysinline functions and not callsites under new PM. // Under new PM, f() will not be inlined from g() since f is not marked as // alwaysinline. // RUN: %clang_cc1 -triple=x86_64-linux-gnu %s -emit-llvm -o - | FileCheck %s void f(void) {} __attribute__((noinline)) void ni(void) {} __attribute__((flatten)) // CHECK: define{{.*}} void @g() void g(void) { // CHECK-NOT: call {{.*}} @f f(); // CHECK: call {{.*}} @ni ni(); } void h(void) { // CHECK: call {{.*}} @f f(); }