aboutsummaryrefslogtreecommitdiff
path: root/test/Driver/frame-pointer.c
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2011-12-14 21:02:23 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2011-12-14 21:02:23 +0000
commit6af27ec69560f7e4b0dac4a0b4341cd6062f6852 (patch)
tree27972ad92105e3ec416fecbe85f977d4145d2a04 /test/Driver/frame-pointer.c
parent99295233aef6a73c7fa20d6442f05222b2cb7116 (diff)
Don't use the frame pointer on linux x86 and x86_64 if optimizing. This
matches gcc's behavior. Fixes PR8186. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146586 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/Driver/frame-pointer.c')
-rw-r--r--test/Driver/frame-pointer.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/test/Driver/frame-pointer.c b/test/Driver/frame-pointer.c
new file mode 100644
index 0000000000..da72ec23c7
--- /dev/null
+++ b/test/Driver/frame-pointer.c
@@ -0,0 +1,24 @@
+// RUN: %clang -ccc-host-triple i386-pc-linux -### -S -O0 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK0-32 %s
+// RUN: %clang -ccc-host-triple i386-pc-linux -### -S -O1 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK1-32 %s
+// RUN: %clang -ccc-host-triple i386-pc-linux -### -S -O2 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK2-32 %s
+// RUN: %clang -ccc-host-triple i386-pc-linux -### -S -O3 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK3-32 %s
+// RUN: %clang -ccc-host-triple i386-pc-linux -### -S -Os %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKs-32 %s
+
+
+// RUN: %clang -ccc-host-triple x86_64-pc-linux -### -S -O0 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK0-64 %s
+// RUN: %clang -ccc-host-triple x86_64-pc-linux -### -S -O1 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK1-64 %s
+// RUN: %clang -ccc-host-triple x86_64-pc-linux -### -S -O2 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK2-64 %s
+// RUN: %clang -ccc-host-triple x86_64-pc-linux -### -S -O3 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK3-64 %s
+// RUN: %clang -ccc-host-triple x86_64-pc-linux -### -S -Os %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKs-64 %s
+
+// CHECK0-32: -mdisable-fp-elim
+// CHECK1-32-NOT: -mdisable-fp-elim
+// CHECK2-32-NOT: -mdisable-fp-elim
+// CHECK3-32-NOT: -mdisable-fp-elim
+// CHECKs-32-NOT: -mdisable-fp-elim
+
+// CHECK0-64: -mdisable-fp-elim
+// CHECK1-64-NOT: -mdisable-fp-elim
+// CHECK2-64-NOT: -mdisable-fp-elim
+// CHECK3-64-NOT: -mdisable-fp-elim
+// CHECKs-64-NOT: -mdisable-fp-elim