Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad
authorDan Gohman <gohman@apple.com>
Tue, 19 Jun 2007 01:48:05 +0000 (01:48 +0000)
committerDan Gohman <gohman@apple.com>
Tue, 19 Jun 2007 01:48:05 +0000 (01:48 +0000)
commit82a87a01723c095176c6940bcc63d3a7c8007b4b
treecb6bdf78002b48d594f2803783ba8c3d361d8a01
parenteaa91b0a1fc68984aae51f3c4b0cf29b38f89dac
Replace M_REMATERIALIZIBLE and the newly-added isOtherReMaterializableLoad
with a general target hook to identify rematerializable instructions. Some
instructions are only rematerializable with specific operands, such as loads
from constant pools, while others are always rematerializable. This hook
allows both to be identified as being rematerializable with the same
mechanism.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@37644 91177308-0d34-0410-b5e6-96231b3b80d8
17 files changed:
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/LiveIntervalAnalysis.cpp
lib/CodeGen/VirtRegMap.cpp
lib/Target/ARM/ARMInstrInfo.cpp
lib/Target/ARM/ARMInstrInfo.h
lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td
lib/Target/Target.td
lib/Target/X86/X86InstrFPStack.td
lib/Target/X86/X86InstrInfo.cpp
lib/Target/X86/X86InstrInfo.h
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86InstrMMX.td
lib/Target/X86/X86InstrSSE.td
utils/TableGen/CodeGenInstruction.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/InstrInfoEmitter.cpp