llvm-project/clang/test/Driver/debug-pass-structure.c

16 lines
720 B
C

// Test that we print pass structure with new and legacy PM.
// RUN: %clang -fexperimental-new-pass-manager -fdebug-pass-structure -fintegrated-as -O3 -S -emit-llvm %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=NEWPM --strict-whitespace
// RUN: %clang -flegacy-pass-manager -fdebug-pass-structure -O0 -S -emit-llvm %s -o /dev/null 2>&1 | FileCheck %s --check-prefix=LEGACYPM
// REQUIRES: asserts
// should have proper indentation, should not print any analysis information
// NEWPM-NOT: Running analysis
// NEWPM: {{^}}Running{{.*}}GlobalOptPass
// NEWPM: {{^}} Running{{.*}}RequireAnalysisPass{{.*}}GlobalsAA
// NEWPM: GlobalOptPass
// NEWPM-NOT: Invalidating analysis
// LEGACYPM: Pass Arguments:
void f() {}