1*67e74705SXin Li // For these next two tests when optimized we should omit the leaf frame 2*67e74705SXin Li // pointer, for unoptimized we should have a leaf frame pointer. 3*67e74705SXin Li // RUN: %clang -### -target i386-pc-linux-gnu -S -O1 %s 2>&1 | \ 4*67e74705SXin Li // RUN: FileCheck --check-prefix=LINUX-OPT %s 5*67e74705SXin Li // LINUX-OPT: "-momit-leaf-frame-pointer" 6*67e74705SXin Li 7*67e74705SXin Li // RUN: %clang -### -target i386-pc-linux-gnu -S %s 2>&1 | \ 8*67e74705SXin Li // RUN: FileCheck --check-prefix=LINUX %s 9*67e74705SXin Li // LINUX-NOT: "-momit-leaf-frame-pointer" 10*67e74705SXin Li 11*67e74705SXin Li // Darwin disables omitting the leaf frame pointer even under optimization 12*67e74705SXin Li // unless the command lines are given. 13*67e74705SXin Li // RUN: %clang -### -target i386-apple-darwin -S %s 2>&1 | \ 14*67e74705SXin Li // RUN: FileCheck --check-prefix=DARWIN %s 15*67e74705SXin Li // DARWIN: "-mdisable-fp-elim" 16*67e74705SXin Li 17*67e74705SXin Li // RUN: %clang -### -target i386-apple-darwin -S -O1 %s 2>&1 | \ 18*67e74705SXin Li // RUN: FileCheck --check-prefix=DARWIN-OPT %s 19*67e74705SXin Li // DARWIN-OPT-NOT: "-momit-leaf-frame-pointer" 20*67e74705SXin Li 21*67e74705SXin Li // RUN: %clang -### -target i386-darwin -S -fomit-frame-pointer %s 2>&1 | \ 22*67e74705SXin Li // RUN: FileCheck --check-prefix=OMIT_ALL %s 23*67e74705SXin Li // OMIT_ALL-NOT: "-mdisable-fp-elim" 24*67e74705SXin Li 25*67e74705SXin Li // RUN: %clang -### -target i386-darwin -S -momit-leaf-frame-pointer %s 2>&1 | \ 26*67e74705SXin Li // RUN: FileCheck --check-prefix=OMIT_LEAF %s 27*67e74705SXin Li // OMIT_LEAF: "-momit-leaf-frame-pointer" 28*67e74705SXin Li 29*67e74705SXin Li // On the PS4, we default to omitting the frame pointer on leaf functions 30*67e74705SXin Li // (OMIT_LEAF check line is above) 31*67e74705SXin Li // RUN: %clang -### -target x86_64-scei-ps4 -S %s 2>&1 | \ 32*67e74705SXin Li // RUN: FileCheck --check-prefix=OMIT_LEAF %s 33*67e74705SXin Li f0()34*67e74705SXin Livoid f0() {} f1()35*67e74705SXin Livoid f1() { f0(); } 36