Eliminate asm parser's dependency on TargetMachine:
authorEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 01:53:10 +0000 (01:53 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Fri, 8 Jul 2011 01:53:10 +0000 (01:53 +0000)
commitebdeeab812beec0385b445f3d4c41a114e0d972f
tree20eaafc6f227ca94201b0b6ac02d94b06b608229
parent1fb0955cab05ff71f5bbad523b0374db3b08b201
Eliminate asm parser's dependency on TargetMachine:
- Each target asm parser now creates its own MCSubtatgetInfo (if needed).
- Changed AssemblerPredicate to take subtarget features which tablegen uses
  to generate asm matcher subtarget feature queries. e.g.
  "ModeThumb,FeatureThumb2" is translated to
  "(Bits & ModeThumb) != 0 && (Bits & FeatureThumb2) != 0".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@134678 91177308-0d34-0410-b5e6-96231b3b80d8
49 files changed:
include/llvm/Target/Target.td
include/llvm/Target/TargetMachine.h
include/llvm/Target/TargetRegistry.h
lib/CodeGen/AsmPrinter/AsmPrinterInlineAsm.cpp
lib/CodeGen/LLVMTargetMachine.cpp
lib/MC/MCDisassembler/EDDisassembler.cpp
lib/MC/MCDisassembler/EDDisassembler.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMSubtarget.cpp
lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/ARM/AsmParser/ARMAsmParser.cpp
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.h
lib/Target/Alpha/AlphaSubtarget.cpp
lib/Target/Alpha/AlphaTargetMachine.cpp
lib/Target/Blackfin/BlackfinSubtarget.cpp
lib/Target/Blackfin/BlackfinTargetMachine.cpp
lib/Target/CBackend/CTargetMachine.h
lib/Target/CellSPU/SPUSubtarget.cpp
lib/Target/CellSPU/SPUTargetMachine.cpp
lib/Target/CppBackend/CPPTargetMachine.h
lib/Target/MBlaze/AsmParser/MBlazeAsmParser.cpp
lib/Target/MBlaze/MBlazeSubtarget.cpp
lib/Target/MBlaze/MBlazeTargetMachine.cpp
lib/Target/MSP430/MSP430Subtarget.cpp
lib/Target/MSP430/MSP430TargetMachine.cpp
lib/Target/Mips/MipsSubtarget.cpp
lib/Target/Mips/MipsTargetMachine.cpp
lib/Target/PTX/PTXSubtarget.cpp
lib/Target/PTX/PTXTargetMachine.cpp
lib/Target/PowerPC/PPCSubtarget.cpp
lib/Target/PowerPC/PPCTargetMachine.cpp
lib/Target/Sparc/SparcSubtarget.cpp
lib/Target/Sparc/SparcTargetMachine.cpp
lib/Target/SystemZ/SystemZSubtarget.cpp
lib/Target/SystemZ/SystemZTargetMachine.cpp
lib/Target/TargetMachine.cpp
lib/Target/X86/AsmParser/X86AsmParser.cpp
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.cpp
lib/Target/X86/MCTargetDesc/X86MCTargetDesc.h
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86Subtarget.cpp
lib/Target/X86/X86TargetMachine.cpp
lib/Target/XCore/XCoreSubtarget.cpp
lib/Target/XCore/XCoreTargetMachine.cpp
tools/llvm-mc/llvm-mc.cpp
tools/lto/LTOModule.cpp
utils/TableGen/AsmMatcherEmitter.cpp
utils/TableGen/SubtargetEmitter.cpp