Let each target determines whether a machine instruction is dead. If true, that allow...
authorEvan Cheng <evan.cheng@apple.com>
Wed, 22 Jul 2009 00:25:27 +0000 (00:25 +0000)
committerEvan Cheng <evan.cheng@apple.com>
Wed, 22 Jul 2009 00:25:27 +0000 (00:25 +0000)
commitfc6ad402fb267cba1625801444aad30da43d383a
tree4e621438426c6c89519c7175029f6b26899afff5
parente922c0201916e0b980ab3cfe91e1413e68d55647
Let each target determines whether a machine instruction is dead. If true, that allows late codeine passes to delete it.

This is considered a workaround. The problem is some targets are not modeling side effects correctly. PPC is apparently one of those. This patch allows ppc llvm-gcc to bootstrap on Darwin. Once we find out which instruction definitions are wrong, we can remove the PPCInstrInfo workaround.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@76703 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Target/TargetInstrInfo.h
lib/CodeGen/TargetInstrInfoImpl.cpp
lib/CodeGen/VirtRegRewriter.cpp
lib/Target/PowerPC/PPCInstrInfo.h