summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAkira Hatanaka <ahatanaka@mips.com>2013-02-05 21:18:11 +0000
committerAkira Hatanaka <ahatanaka@mips.com>2013-02-05 21:18:11 +0000
commitdec25266d71136bd6282b708dc8dafa0fbfe3204 (patch)
tree02598de1bed48934e490d96b10ba9be2400b3258 /llvm/lib
parent1288408984f16969a90bbc32dd4eaa1542cae43b (diff)
downloadbcm5719-llvm-dec25266d71136bd6282b708dc8dafa0fbfe3204.tar.gz
bcm5719-llvm-dec25266d71136bd6282b708dc8dafa0fbfe3204.zip
[mips] Do not use function CC_MipsN_VarArg unless the function being analyzed
is a vararg function. The original code was examining flag OutputArg::IsFixed to determine whether CC_MipsN_VarArg or CC_MipsN should be called. This is not correct, since this flag is often set to false when the function being analyzed is a non-variadic function. llvm-svn: 174442
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/Mips/MipsISelLowering.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/llvm/lib/Target/Mips/MipsISelLowering.cpp b/llvm/lib/Target/Mips/MipsISelLowering.cpp
index ff0064e68c8..2ff369cfab2 100644
--- a/llvm/lib/Target/Mips/MipsISelLowering.cpp
+++ b/llvm/lib/Target/Mips/MipsISelLowering.cpp
@@ -3793,7 +3793,7 @@ MipsTargetLowering::MipsCC::MipsCC(CallingConv::ID CallConv, bool IsVarArg,
IntArgRegs = Mips64IntRegs;
ShadowRegs = Mips64DPRegs;
FixedFn = CC_MipsN;
- VarFn = CC_MipsN_VarArg;
+ VarFn = IsVarArg ? CC_MipsN_VarArg : CC_MipsN;
}
if (CallConv == CallingConv::Fast) {
OpenPOWER on IntegriCloud