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)
commit4638c993331b04c73453927cb0b9909fa0dbd282
treeb65d0e494c7943c686e499968c1f806c44174533
parentae6fc14d5438a231f115ed8ebc3587da59d2ff33
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.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@232885 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
include/llvm/Target/TargetMachine.h
lib/Target/ARM/ARMTargetMachine.h
lib/Target/BPF/BPFTargetMachine.h
lib/Target/CppBackend/CPPTargetMachine.h
lib/Target/Hexagon/HexagonTargetMachine.h
lib/Target/MSP430/MSP430TargetMachine.h
lib/Target/Mips/MipsTargetMachine.h
lib/Target/NVPTX/NVPTXTargetMachine.h
lib/Target/R600/AMDGPUTargetMachine.h
lib/Target/Sparc/SparcTargetMachine.h
lib/Target/SystemZ/SystemZTargetMachine.h
lib/Target/XCore/XCoreTargetMachine.h