Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo
authorEvan Cheng <evan.cheng@apple.com>
Mon, 28 Sep 2009 09:14:39 +0000 (09:14 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Mon, 28 Sep 2009 09:14:39 +0000 (09:14 +0000)
commit5adb66a646e2ec32265263739f5b01c3f50c176a
tree38b5fb6a9d2665466cd3b88031122d9c95de6110
parent705428ae4a7fa6d97a95f7811fa2e36630a43c9c
Make ARM and Thumb2 32-bit immediate materialization into a single 32-bit pseudo
instruction. This makes it re-materializable.

Thumb2 will split it back out into two instructions so IT pass will generate the
right mask. Also, this expose opportunies to optimize the movw to a 16-bit move.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82982 91177308-0d34-0410-b5e6-96231b3b80d8
12 files changed:
lib/Target/ARM/ARMBaseInstrInfo.cpp
lib/Target/ARM/ARMBaseInstrInfo.h
lib/Target/ARM/ARMCodeEmitter.cpp
lib/Target/ARM/ARMInstrFormats.td
lib/Target/ARM/ARMInstrInfo.cpp
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb2.td
lib/Target/ARM/AsmPrinter/ARMAsmPrinter.cpp
lib/Target/ARM/README.txt
lib/Target/ARM/Thumb2ITBlockPass.cpp
lib/Target/ARM/Thumb2SizeReduction.cpp
test/CodeGen/Thumb2/thumb2-mov2.ll