- Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo
authorEvan Cheng <evan.cheng@apple.com>
Mon, 11 Jul 2011 03:57:24 +0000 (03:57 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 11 Jul 2011 03:57:24 +0000 (03:57 +0000)
commit59ee62d2418df8db499eca1ae17f5900dc2dcbba
tree087be0d28a100c6e3fe071c6511469636439d20f
parentb5a12dd12fa3cd1026e9058a53089c29fb97f2fd
- Eliminate MCCodeEmitter's dependency on TargetMachine. It now uses MCInstrInfo
  and MCSubtargetInfo.
- Added methods to update subtarget features (used when targets automatically
  detect subtarget features or switch modes).
- Teach X86Subtarget to update MCSubtargetInfo features bits since the
  MCSubtargetInfo layer can be shared with other modules.
- These fixes .code 16 / .code 32 support since mode switch is updated in
  MCSubtargetInfo so MC code emitter can do the right thing.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134884 91177308-0d34-0410-b5e6-96231b3b80d8
46 files changed:
include/llvm/MC/MCSubtargetInfo.h
include/llvm/Target/TargetRegistry.h
include/llvm/Target/TargetSelect.h
lib/CodeGen/LLVMTargetMachine.cpp
lib/MC/MCSubtargetInfo.cpp
lib/Target/ARM/ARM.h
lib/Target/ARM/ARMMCCodeEmitter.cpp
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
lib/Target/Alpha/AlphaInstrInfo.cpp
lib/Target/Alpha/AlphaSubtarget.cpp
lib/Target/Blackfin/BlackfinInstrInfo.cpp
lib/Target/Blackfin/BlackfinSubtarget.cpp
lib/Target/CBackend/CBackend.cpp
lib/Target/CellSPU/SPUInstrInfo.cpp
lib/Target/CellSPU/SPUSubtarget.cpp
lib/Target/CppBackend/CPPBackend.cpp
lib/Target/MBlaze/MBlaze.h
lib/Target/MBlaze/MBlazeInstrInfo.cpp
lib/Target/MBlaze/MBlazeMCCodeEmitter.cpp
lib/Target/MBlaze/MBlazeSubtarget.cpp
lib/Target/MSP430/MSP430InstrInfo.cpp
lib/Target/MSP430/MSP430Subtarget.cpp
lib/Target/Mips/MipsInstrInfo.cpp
lib/Target/Mips/MipsSubtarget.cpp
lib/Target/PTX/PTXInstrInfo.cpp
lib/Target/PTX/PTXSubtarget.cpp
lib/Target/PowerPC/PPC.h
lib/Target/PowerPC/PPCInstrInfo.cpp
lib/Target/PowerPC/PPCMCCodeEmitter.cpp
lib/Target/PowerPC/PPCSubtarget.cpp
lib/Target/Sparc/SparcInstrInfo.cpp
lib/Target/Sparc/SparcSubtarget.cpp
lib/Target/SystemZ/SystemZInstrInfo.cpp
lib/Target/SystemZ/SystemZSubtarget.cpp
lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
lib/Target/X86/X86.h
lib/Target/X86/X86MCCodeEmitter.cpp
lib/Target/X86/X86Subtarget.cpp
lib/Target/X86/X86TargetMachine.cpp
lib/Target/XCore/XCoreInstrInfo.cpp
lib/Target/XCore/XCoreSubtarget.cpp
test/MC/ARM/mode-switch.s
tools/llc/llc.cpp
tools/llvm-mc/llvm-mc.cpp
utils/TableGen/SubtargetEmitter.cpp