Avoid creating two TargetLowering objects for each target.
authorDan Gohman <gohman@apple.com>
Fri, 3 Oct 2008 16:55:19 +0000 (16:55 +0000)
committerDan Gohman <gohman@apple.com>
Fri, 3 Oct 2008 16:55:19 +0000 (16:55 +0000)
commitda8ac5fd9130b70b61be61e4819faa8d842d708f
treef5cd677e4925c97b3acedfa9cb18693a5429a162
parent38217fef57de72064ba74a165cf100d785dfcad0
Avoid creating two TargetLowering objects for each target.
Instead, just create one, and make sure everything that needs
it can access it. Previously most of the SelectionDAGISel
subclasses all had their own TargetLowering object, which was
redundant with the TargetLowering object in the TargetMachine
subclasses, except on Sparc, where SparcTargetMachine
didn't have a TargetLowering object. Change Sparc to work
more like the other targets here.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@57016 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMISelDAGToDAG.cpp
lib/Target/Alpha/AlphaISelDAGToDAG.cpp
lib/Target/IA64/IA64ISelDAGToDAG.cpp
lib/Target/Mips/MipsISelDAGToDAG.cpp
lib/Target/PIC16/PIC16ISelDAGToDAG.cpp
lib/Target/PowerPC/PPCISelDAGToDAG.cpp
lib/Target/Sparc/Sparc.h
lib/Target/Sparc/SparcISelDAGToDAG.cpp
lib/Target/Sparc/SparcTargetMachine.cpp
lib/Target/Sparc/SparcTargetMachine.h
lib/Target/X86/X86ISelDAGToDAG.cpp