Revert r152613 (and r152614), "Inline the d'tor and add an anchor instead." for worka...
authorNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 16 Mar 2012 00:01:55 +0000 (00:01 +0000)
committerNAKAMURA Takumi <geek4civic@gmail.com>
Fri, 16 Mar 2012 00:01:55 +0000 (00:01 +0000)
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@152877 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/CodeGen/SelectionDAG.h
lib/CodeGen/SelectionDAG/SelectionDAG.cpp

index c101473c8bae06b90562128ca7d7840b99e521e1..f921ca20be020e7e9d9ec40c2eb4655c2c57e3fe 100644 (file)
@@ -820,9 +820,8 @@ public:
   /// 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.
index 5111daea25b0d6ecba933ad933eea647d5c8032b..34659bb1a4174bb328c98734ae77adc14c23b3ec 100644 (file)
@@ -70,7 +70,7 @@ static const fltSemantics *EVTToAPFloatSemantics(EVT VT) {
   }
 }
 
-void SelectionDAG::DAGUpdateListener::anchor() {}
+SelectionDAG::DAGUpdateListener::~DAGUpdateListener() {}
 
 //===----------------------------------------------------------------------===//
 //                              ConstantFPSDNode Class