Eliminate the RegSDNode class, which 3 nodes (CopyFromReg/CopyToReg/ImplicitDef)
authorChris Lattner <sabre@nondot.org>
Tue, 16 Aug 2005 21:55:35 +0000 (21:55 +0000)
committerChris Lattner <sabre@nondot.org>
Tue, 16 Aug 2005 21:55:35 +0000 (21:55 +0000)
commitd5d0f9bd20d9df07d6b4d41b7e8ed6d33b6a649d
tree411d221bc8fb4a0221daeac5a4e5574c43b13078
parent7cbd525ba85ebe440d15fa359ec940e404d14906
Eliminate the RegSDNode class, which 3 nodes (CopyFromReg/CopyToReg/ImplicitDef)
used to tack a register number onto the node.

Instead of doing this, make a new node, RegisterSDNode, which is a leaf
containing a register number.  These three operations just become normal
DAG nodes now, instead of requiring special handling.

Note that with this change, it is no longer correct to make illegal
CopyFromReg/CopyToReg nodes.  The legalizer will not touch them, and this
is bad, so don't do it. :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@22806 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/SelectionDAG.h
include/llvm/CodeGen/SelectionDAGNodes.h
lib/CodeGen/SelectionDAG/LegalizeDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAG.cpp
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/CodeGen/SelectionDAG/SelectionDAGPrinter.cpp