Rather than having a different custom legalization
hook for each way in which a result type can be
legalized (promotion, expansion, softening etc),
just use one: ReplaceNodeResults, which returns
a node with exactly the same result types as the
node passed to it, but presumably with a bunch of
custom code behind the scenes.  No change if the
new LegalizeTypes infrastructure is not turned on.

llvm-svn: 53137
diff --git a/llvm/lib/Target/Alpha/AlphaISelLowering.h b/llvm/lib/Target/Alpha/AlphaISelLowering.h
index f88437e..1440908 100644
--- a/llvm/lib/Target/Alpha/AlphaISelLowering.h
+++ b/llvm/lib/Target/Alpha/AlphaISelLowering.h
@@ -72,9 +72,9 @@
     /// LowerOperation - Provide custom lowering hooks for some operations.
     ///
     virtual SDOperand LowerOperation(SDOperand Op, SelectionDAG &DAG);
-    virtual SDOperand CustomPromoteOperation(SDOperand Op, SelectionDAG &DAG);
+    virtual SDNode *ReplaceNodeResults(SDNode *N, SelectionDAG &DAG);
 
-    //Friendly names for dumps
+    // Friendly names for dumps
     const char *getTargetNodeName(unsigned Opcode) const;
 
     /// LowerCallTo - This hook lowers an abstract call to a function into an
@@ -94,6 +94,12 @@
 
     MachineBasicBlock *EmitInstrWithCustomInserter(MachineInstr *MI,
                                                    MachineBasicBlock *BB);
+
+  private:
+    // Helpers for custom lowering.
+    void LowerVAARG(SDNode *N, SDOperand &Chain, SDOperand &DataPtr,
+                    SelectionDAG &DAG);
+
   };
 }