[llvm-commits] CVS: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp

Chris Lattner sabre at nondot.org
Thu Jan 4 14:22:52 PST 2007



Changes in directory llvm/lib/CodeGen/SelectionDAG:

SelectionDAGISel.cpp updated: 1.338 -> 1.339
---
Log message:

fix PowerPC/2007-01-04-ArgExtension.ll, a bug handling K&R prototypes with
the recent signless changes.


---
Diffs of the changes:  (+6 -4)

 SelectionDAGISel.cpp |   10 ++++++----
 1 files changed, 6 insertions(+), 4 deletions(-)


Index: llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.338 llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.339
--- llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp:1.338	Wed Jan  3 10:49:33 2007
+++ llvm/lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp	Thu Jan  4 16:22:37 2007
@@ -2955,10 +2955,12 @@
     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?");






More information about the llvm-commits mailing list