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

Chris Lattner lattner at cs.uiuc.edu
Tue Jul 12 19:00:15 PDT 2005



Changes in directory llvm/lib/CodeGen/SelectionDAG:

LegalizeDAG.cpp updated: 1.139 -> 1.140
---
Log message:

Fix Alpha/2005-07-12-TwoMallocCalls.ll and PR593: http://llvm.cs.uiuc.edu/PR593 .

It is not safe to call LegalizeOp on something that has already been legalized.
Instead, just force another iteration of legalization.

This could affect all platforms but X86, as this codepath is dynamically
dead on X86 (ISD::MEMSET and friends are legal).



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

 LegalizeDAG.cpp |    3 ++-
 1 files changed, 2 insertions(+), 1 deletion(-)


Index: llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
diff -u llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.139 llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.140
--- llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp:1.139	Tue Jul 12 20:42:45 2005
+++ llvm/lib/CodeGen/SelectionDAG/LegalizeDAG.cpp	Tue Jul 12 21:00:04 2005
@@ -972,7 +972,8 @@
       std::pair<SDOperand,SDOperand> CallResult =
         TLI.LowerCallTo(Tmp1, Type::VoidTy, false, CallingConv::C, false,
                         DAG.getExternalSymbol(FnName, IntPtr), Args, DAG);
-      Result = LegalizeOp(CallResult.second);
+      Result = CallResult.second;
+      NeedsAnotherIteration = true;
       break;
     }
     case TargetLowering::Custom:






More information about the llvm-commits mailing list