- Assign load / store with shifter op address modes the right itinerary classes.
authorEvan Cheng <evan.cheng@apple.com>
Thu, 28 Oct 2010 01:49:06 +0000 (01:49 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Thu, 28 Oct 2010 01:49:06 +0000 (01:49 +0000)
commit0104d9de04f5620ad9f837efbd3d82f31c6ff451
tree47a891a2ed427ede38018df7b39f4015b85511f5
parent7c88cdcc3ba49101fa119ec3b403e9980934384e
- Assign load / store with shifter op address modes the right itinerary classes.
- For now, loads of [r, r] addressing mode is the same as the
  [r, r lsl/lsr/asr #] variants. ARMBaseInstrInfo::getOperandLatency() should
  identify the former case and reduce the output latency by 1.
- Also identify [r, r << 2] case. This special form of shifter addressing mode
  is "free".

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@117519 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/ARMScheduleA9.td
test/CodeGen/ARM/fabss.ll
test/CodeGen/ARM/fadds.ll
test/CodeGen/ARM/fdivs.ll
test/CodeGen/ARM/fmacs.ll
test/CodeGen/ARM/fmscs.ll
test/CodeGen/ARM/fmuls.ll
test/CodeGen/ARM/shifter_operand.ll