aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Lattner <sabre@nondot.org>2006-01-11 18:21:25 +0000
committerChris Lattner <sabre@nondot.org>2006-01-11 18:21:25 +0000
commit413b979fe4b3482f347fc7b613d7dcda81e34874 (patch)
tree28151ea234e30b2aa547cc59e285d69b97f68731
parent634f235a4616dfce58e76736b9cdb339c0432416 (diff)
downloadexternal_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.cpp8
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)