From f8e7a219121b7d6f8bcf1e22828648a243384fbb Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Thu, 4 Jan 2007 22:22:37 +0000 Subject: [PATCH] fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with the recent signless changes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@32884 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp index ce0038d6b87..f4fe873f9fb 100644 --- a/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp +++ b/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp @@ -2955,10 +2955,12 @@ TargetLowering::LowerArguments(Function &F, SelectionDAG &DAG) { case Promote: { SDOperand Op(Result, i++); if (MVT::isInteger(VT)) { - unsigned AssertOp = ISD::AssertSext; - if (FTy->paramHasAttr(Idx, FunctionType::ZExtAttribute)) - AssertOp = ISD::AssertZext; - Op = DAG.getNode(AssertOp, Op.getValueType(), Op, DAG.getValueType(VT)); + if (FTy->paramHasAttr(Idx, FunctionType::SExtAttribute)) + Op = DAG.getNode(ISD::AssertSext, Op.getValueType(), Op, + DAG.getValueType(VT)); + else if (FTy->paramHasAttr(Idx, FunctionType::ZExtAttribute)) + Op = DAG.getNode(ISD::AssertZext, Op.getValueType(), Op, + DAG.getValueType(VT)); Op = DAG.getNode(ISD::TRUNCATE, VT, Op); } else { assert(MVT::isFloatingPoint(VT) && "Not int or FP?"); -- 2.34.1