- Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdentical
authorEvan Cheng <evan.cheng@apple.com>
Sat, 7 Nov 2009 03:52:02 +0000 (03:52 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Sat, 7 Nov 2009 03:52:02 +0000 (03:52 +0000)
commit78e5c1140adc926e7c004748c1c912bfddd875b4
tree6b41a4349a4ab4fdd379d1f6f7c007388e9a1475
parentb6aae88ac003183cd386c7db2ce123b4d10b7a22
- Add TargetInstrInfo::isIdentical(). It's similar to MachineInstr::isIdentical
  except it doesn't care if the definitions' virtual registers differ. This is
  used by machine LICM and other MI passes to perform CSE.
- Teach Thumb2InstrInfo::isIdentical() to check two t2LDRpci_pic are identical.
  Since pc relative constantpool entries are always different, this requires it
  it check if the values can actually the same.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@86328 91177308-0d34-0410-b5e6-96231b3b80d8
lib/CodeGen/MachineLICM.cpp
lib/CodeGen/TargetInstrInfoImpl.cpp
lib/Target/ARM/ARMConstantPoolValue.cpp
lib/Target/ARM/ARMConstantPoolValue.h
lib/Target/ARM/Thumb2InstrInfo.cpp
lib/Target/ARM/Thumb2InstrInfo.h
test/CodeGen/Thumb2/machine-licm.ll