summaryrefslogtreecommitdiff
path: root/lib/Target/Mips
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2012-10-30 19:07:58 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2012-10-30 19:07:58 +0000
commite7b406d7ac150189522f0a139f1a2f76bde2cb26 (patch)
tree730ef73edc62a974c34b6aef932b3a41ebbb7743 /lib/Target/Mips
parent93f6f457614299eee3d22f376ab8f42a130f1912 (diff)
downloadllvm-e7b406d7ac150189522f0a139f1a2f76bde2cb26.tar.gz
llvm-e7b406d7ac150189522f0a139f1a2f76bde2cb26.tar.bz2
llvm-e7b406d7ac150189522f0a139f1a2f76bde2cb26.tar.xz
Do not do tail-call optimization if target is mips16.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@167039 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/Mips')
-rw-r--r--lib/Target/Mips/MipsISelLowering.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/Mips/MipsISelLowering.cpp b/lib/Target/Mips/MipsISelLowering.cpp
index b485b5ea16..4479c48a91 100644
--- a/lib/Target/Mips/MipsISelLowering.cpp
+++ b/lib/Target/Mips/MipsISelLowering.cpp
@@ -2665,6 +2665,10 @@ IsEligibleForTailCallOptimization(const MipsCC &MipsCCInfo, bool IsVarArg,
if (!EnableMipsTailCalls)
return false;
+ // No tail call optimization for mips16.
+ if (Subtarget->inMips16Mode())
+ return false;
+
if (MipsCCInfo.hasByValArg() || IsVarArg)
return false;