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

Chris Lattner lattner at cs.uiuc.edu
Tue Aug 30 09:56:31 PDT 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.178 -> 1.179
---
Log message:

Fix a miscompile of PtrDist/bc.  Sign extending bools is not the right thing,
at least tends to expose problems elsewhere.


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

 LegalizeDAG.cpp |    5 ++++-
 1 files changed, 4 insertions(+), 1 deletion(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.178 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.179
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.178	Mon Aug 29 21:44:00 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp	Tue Aug 30 11:56:19 2005
@@ -2011,7 +2011,10 @@
     Result = DAG.getNode(ISD::UNDEF, NVT);
     break;
   case ISD::Constant:
-    Result = DAG.getNode(ISD::SIGN_EXTEND, NVT, Op);
+    if (VT != MVT::i1)
+      Result = DAG.getNode(ISD::SIGN_EXTEND, NVT, Op);
+    else
+      Result = DAG.getNode(ISD::ZERO_EXTEND, NVT, Op);
     assert(isa<ConstantSDNode>(Result) && "Didn't constant fold zext?");
     break;
   case ISD::ConstantFP:






More information about the llvm-commits mailing list