Remove the target independent TargetMachine::getSubtarget and
authorEric Christopher <echristo@gmail.com>
Sat, 21 Mar 2015 04:22:23 +0000 (04:22 +0000)
committerEric Christopher <echristo@gmail.com>
Sat, 21 Mar 2015 04:22:23 +0000 (04:22 +0000)
commit4d0f35a901efd6f02d7583b08b7741b217be15e5
treeabfae00418b65855bf2e16d7a460b3e7baef681f
parentfaad6205696fa07ef9a51bfc1f8e667a6d9005cd
Remove the target independent TargetMachine::getSubtarget and
TargetMachine::getSubtargetImpl routines.

This keeps the target independent code free of bare subtarget
calls while the remainder of the backends are migrated, or not
if they don't wish to support per-function subtargets as would
be needed for function multiversioning or LTO of disparate
cpu subarchitecture types, e.g.

clang -msse4.2 -c foo.c -emit-llvm -o foo.bc
clang -c bar.c -emit-llvm -o bar.bc
llvm-link foo.bc bar.bc -o baz.bc
llc baz.bc

and get appropriate code for what the command lines requested.

llvm-svn: 232885
12 files changed:
llvm/include/llvm/Target/TargetMachine.h
llvm/lib/Target/ARM/ARMTargetMachine.h
llvm/lib/Target/BPF/BPFTargetMachine.h
llvm/lib/Target/CppBackend/CPPTargetMachine.h
llvm/lib/Target/Hexagon/HexagonTargetMachine.h
llvm/lib/Target/MSP430/MSP430TargetMachine.h
llvm/lib/Target/Mips/MipsTargetMachine.h
llvm/lib/Target/NVPTX/NVPTXTargetMachine.h
llvm/lib/Target/R600/AMDGPUTargetMachine.h
llvm/lib/Target/Sparc/SparcTargetMachine.h
llvm/lib/Target/SystemZ/SystemZTargetMachine.h
llvm/lib/Target/XCore/XCoreTargetMachine.h