mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-10-20 03:23:01 +02:00
fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with
the recent signless changes. llvm-svn: 32884
This commit is contained in:
parent
627e21e77b
commit
45c7c69c77
@ -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?");
|
||||
|
Loading…
Reference in New Issue
Block a user