Move the body of ConstantSDNode to a new class, ConstantIntSDNode,
which derives from ConstantSDNode, which now acts as the base class for
immediates. Change most references to ConstantSDNode in C++ code to refer
to ConstantIntSDNode.
In tblgen, "imm" continues to refer to ConstantSDNode. Change pattern and
transform code so that it casts to ConstantIntSDNode.
This is in preparation for a future change which will introduce a separate
class derived from ConstantSDNode for references to symbols with fixed
addresses.
As proposed on llvm-dev:
http://lists.llvm.org/pipermail/llvm-dev/2016-October/105800.html
Depends on D25355