diff options
author | Chris Lattner <sabre@nondot.org> | 2006-01-11 18:21:25 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2006-01-11 18:21:25 +0000 |
commit | 413b979fe4b3482f347fc7b613d7dcda81e34874 (patch) | |
tree | 28151ea234e30b2aa547cc59e285d69b97f68731 | |
parent | 634f235a4616dfce58e76736b9cdb339c0432416 (diff) | |
download | external_llvm-413b979fe4b3482f347fc7b613d7dcda81e34874.zip external_llvm-413b979fe4b3482f347fc7b613d7dcda81e34874.tar.gz external_llvm-413b979fe4b3482f347fc7b613d7dcda81e34874.tar.bz2 |
Dead FP arguments still use an incoming FP reg. This fixes
Regression/CodeGen/PowerPC/2006-01-11-darwin-fp-argument.ll, which was
distilled from a miscompilation in 252.eon.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@25217 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/Target/PowerPC/PPCISelLowering.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/Target/PowerPC/PPCISelLowering.cpp b/lib/Target/PowerPC/PPCISelLowering.cpp index 75be670..976f80f 100644 --- a/lib/Target/PowerPC/PPCISelLowering.cpp +++ b/lib/Target/PowerPC/PPCISelLowering.cpp @@ -509,7 +509,13 @@ PPCTargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) { case MVT::f32: case MVT::f64: ObjSize = (ObjectVT == MVT::f64) ? 8 : 4; - if (!ArgLive) break; + if (!ArgLive) { + if (FPR_remaining > 0) { + --FPR_remaining; + ++FPR_idx; + } + break; + } if (FPR_remaining > 0) { unsigned VReg; if (ObjectVT == MVT::f32) |