- Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function
authorEvan Cheng <evan.cheng@apple.com>
Wed, 14 Dec 2011 02:11:42 +0000 (02:11 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 14 Dec 2011 02:11:42 +0000 (02:11 +0000)
commitddfd1377d2e4154d44dc3ad217735adc15af2e3f
treef54f0541252d33b4b1d7282a033bd5d906471d69
parent8f644259dc519d3ac7159e4e662fcd6bcf50cbaf
- Add MachineInstrBundle.h and MachineInstrBundle.cpp. This includes a function
  to finalize MI bundles (i.e. add BUNDLE instruction and computing register def
  and use lists of the BUNDLE instruction) and a pass to unpack bundles.
- Teach more of MachineBasic and MachineInstr methods to be bundle aware.
- Switch Thumb2 IT block to MI bundles and delete the hazard recognizer hack to
  prevent IT blocks from being broken apart.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@146542 91177308-0d34-0410-b5e6-96231b3b80d8
28 files changed:
include/llvm/CodeGen/MachineBasicBlock.h
include/llvm/CodeGen/MachineInstr.h
include/llvm/CodeGen/MachineInstrBuilder.h
include/llvm/CodeGen/MachineInstrBundle.h [new file with mode: 0644]
include/llvm/CodeGen/Passes.h
include/llvm/InitializePasses.h
lib/CodeGen/BranchFolding.cpp
lib/CodeGen/MachineBasicBlock.cpp
lib/CodeGen/MachineInstr.cpp
lib/CodeGen/MachineInstrBundle.cpp [new file with mode: 0644]
lib/CodeGen/MachineVerifier.cpp
lib/CodeGen/PostRASchedulerList.cpp
lib/CodeGen/ScheduleDAGInstrs.cpp
lib/CodeGen/TargetInstrInfoImpl.cpp
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.h
lib/Target/ARM/ARMFastISel.cpp
lib/Target/ARM/ARMHazardRecognizer.cpp
lib/Target/ARM/ARMHazardRecognizer.h
lib/Target/ARM/ARMTargetMachine.cpp
lib/Target/ARM/MLxExpansionPass.cpp
lib/Target/ARM/Thumb2ITBlockPass.cpp
lib/Target/ARM/Thumb2SizeReduction.cpp
lib/Target/X86/X86InstrInfo.cpp
test/CodeGen/ARM/debug-info-d16-reg.ll
test/CodeGen/ARM/long_shift.ll
test/CodeGen/Thumb2/machine-licm.ll
test/CodeGen/Thumb2/thumb2-select_xform.ll