summaryrefslogtreecommitdiffstats
path: root/clang/lib/Driver/Tools.cpp
diff options
context:
space:
mode:
authorEd Schouten <ed@nuxi.nl>2016-08-11 19:23:30 +0000
committerEd Schouten <ed@nuxi.nl>2016-08-11 19:23:30 +0000
commit9e4da07125504a0886fc7c224d233d317643d267 (patch)
treecf3e047ee956d76873b8c725491ca194657143d4 /clang/lib/Driver/Tools.cpp
parenteefffedc51016437510750852032b7c3cee4f569 (diff)
downloadbcm5719-llvm-9e4da07125504a0886fc7c224d233d317643d267.tar.gz
bcm5719-llvm-9e4da07125504a0886fc7c224d233d317643d267.zip
Pass in frame pointer omitting compiler flags for CloudABI as well.
On Linux we pass in -fomit-frame-pointer flags (and similar) automatically if optimization is enabled. Let's do the same thing on CloudABI. Without this, Clang seems to run out of registers quite quickly while trying to build code with inline assembly. llvm-svn: 278393
Diffstat (limited to 'clang/lib/Driver/Tools.cpp')
-rw-r--r--clang/lib/Driver/Tools.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/clang/lib/Driver/Tools.cpp b/clang/lib/Driver/Tools.cpp
index 141d12e9a2f..6011a7fa31a 100644
--- a/clang/lib/Driver/Tools.cpp
+++ b/clang/lib/Driver/Tools.cpp
@@ -3242,7 +3242,7 @@ static bool shouldUseFramePointerForTarget(const ArgList &Args,
break;
}
- if (Triple.isOSLinux()) {
+ if (Triple.isOSLinux() || Triple.getOS() == llvm::Triple::CloudABI) {
switch (Triple.getArch()) {
// Don't use a frame pointer on linux if optimizing for certain targets.
case llvm::Triple::mips64:
OpenPOWER on IntegriCloud