YouCompleteMe/cpp/llvm/tools/clang/test/CodeGen/frame-pointer-elim.c
Strahinja Val Markovic 1f51a89d39 Adding more llvm/clang files
These were ignored by git accidentally. We want ALL OF THEM since they all came
in the llvm/clang source distribution.
2012-07-05 17:55:45 -07:00

41 lines
972 B
C

// REQUIRES: x86-registered-target
// RUN: %clang -target i386-apple-darwin -S -o - %s | \
// RUN: FileCheck --check-prefix=DARWIN %s
// DARWIN: f0:
// DARWIN: pushl %ebp
// DARWIN: ret
// DARWIN: f1:
// DARWIN: pushl %ebp
// DARWIN: ret
// RUN: %clang -target i386-pc-linux-gnu -S -o - %s | \
// RUN: FileCheck --check-prefix=LINUX %s
// LINUX: f0:
// LINUX-NOT: pushl %ebp
// LINUX: ret
// LINUX: f1:
// LINUX: pushl %ebp
// LINUX: ret
// RUN: %clang -target i386-darwin -S -o - -fomit-frame-pointer %s | \
// RUN: FileCheck --check-prefix=OMIT_ALL %s
// OMIT_ALL: f0:
// OMIT_ALL-NOT: pushl %ebp
// OMIT_ALL: ret
// OMIT_ALL: f1:
// OMIT_ALL-NOT: pushl %ebp
// OMIT_ALL: ret
// RUN: %clang -target i386-darwin -S -o - -momit-leaf-frame-pointer %s | \
// RUN: FileCheck --check-prefix=OMIT_LEAF %s
// OMIT_LEAF: f0:
// OMIT_LEAF-NOT: pushl %ebp
// OMIT_LEAF: ret
// OMIT_LEAF: f1:
// OMIT_LEAF: pushl %ebp
// OMIT_LEAF: ret
void f0() {}
void f1() { f0(); }