[Driver] Disable frame pointer elimination by default if target is

x86_64-pc-win32-macho.

rdar://problem/24470634

llvm-svn: 261976
This commit is contained in:
Akira Hatanaka 2016-02-26 05:07:00 +00:00
parent e9807b28af
commit 8f5866a7a8
2 changed files with 4 additions and 0 deletions

View File

@ -2955,6 +2955,8 @@ static bool shouldUseFramePointerForTarget(const ArgList &Args,
switch (Triple.getArch()) {
case llvm::Triple::x86:
return !areOptimizationsEnabled(Args);
case llvm::Triple::x86_64:
return Triple.isOSBinFormatMachO();
case llvm::Triple::arm:
case llvm::Triple::thumb:
// Windows on ARM builds with FPO disabled to aid fast stack walking

View File

@ -10,6 +10,7 @@
// RUN: %clang -target x86_64-pc-linux -### -S -O2 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK2-64 %s
// RUN: %clang -target x86_64-pc-linux -### -S -O3 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK3-64 %s
// RUN: %clang -target x86_64-pc-linux -### -S -Os %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECKs-64 %s
// RUN: %clang -target x86_64-pc-win32-macho -### -S -O3 %s -o %t.s 2>&1 | FileCheck -check-prefix=CHECK-MACHO-64 %s
// Trust the above to get the optimizations right, and just test other targets
// that want this by default.
@ -36,3 +37,4 @@
// CHECK2-64-NOT: -mdisable-fp-elim
// CHECK3-64-NOT: -mdisable-fp-elim
// CHECKs-64-NOT: -mdisable-fp-elim
// CHECK-MACHO-64: -mdisable-fp-elim