[llvm-commits] [llvm] r152877 - in /llvm/trunk: include/llvm/CodeGen/SelectionDAG.h lib/CodeGen/SelectionDAG/SelectionDAG.cpp

NAKAMURA Takumi geek4civic at gmail.com
Thu Mar 15 17:01:56 PDT 2012


Author: chapuni
Date: Thu Mar 15 19:01:55 2012
New Revision: 152877

URL: http://llvm.org/viewvc/llvm-project?rev=152877&view=rev
Log:
Revert r152613 (and r152614), "Inline the d'tor and add an anchor instead." for workaround of g++-4.4's miscompilation.

It caused MSP430DAGToDAGISel::SelectIndexedBinOp() to be miscompiled.
When two ReplaceUses()'s are expanded as inline, vtable in base class is stored to latter (ISelUpdater)ISU.

Modified:
    llvm/trunk/include/llvm/CodeGen/SelectionDAG.h
    llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp

Modified: llvm/trunk/include/llvm/CodeGen/SelectionDAG.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/CodeGen/SelectionDAG.h?rev=152877&r1=152876&r2=152877&view=diff
==============================================================================
--- llvm/trunk/include/llvm/CodeGen/SelectionDAG.h (original)
+++ llvm/trunk/include/llvm/CodeGen/SelectionDAG.h Thu Mar 15 19:01:55 2012
@@ -820,9 +820,8 @@
   /// the DAG can optionally implement this interface.  This allows the clients
   /// to handle the various sorts of updates that happen.
   class DAGUpdateListener {
-    virtual void anchor();
   public:
-    virtual ~DAGUpdateListener() {}
+    virtual ~DAGUpdateListener();
 
     /// NodeDeleted - The node N that was deleted and, if E is not null, an
     /// equivalent node E that replaced it.

Modified: llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp?rev=152877&r1=152876&r2=152877&view=diff
==============================================================================
--- llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp (original)
+++ llvm/trunk/lib/CodeGen/SelectionDAG/SelectionDAG.cpp Thu Mar 15 19:01:55 2012
@@ -70,7 +70,7 @@
   }
 }
 
-void SelectionDAG::DAGUpdateListener::anchor() {}
+SelectionDAG::DAGUpdateListener::~DAGUpdateListener() {}
 
 //===----------------------------------------------------------------------===//
 //                              ConstantFPSDNode Class





More information about the llvm-commits mailing list