From: Chris Lattner Date: Thu, 4 Jan 2007 22:22:37 +0000 (+0000) Subject: fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with X-Git-Url: http://plrg.eecs.uci.edu/git/?a=commitdiff_plain;h=f8e7a219121b7d6f8bcf1e22828648a243384fbb;p=oota-llvm.git 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 --- 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?");