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)
commit4dc848f3e81d369352e675f9195b3819e3b49cda
treee0865cde36cf13552d21e85d5125e74d6d338982
parent47db941fd3e5a698c4417e38686ff6da6b2d81ee
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.

llvm-svn: 76703
llvm/include/llvm/Target/TargetInstrInfo.h
llvm/lib/CodeGen/TargetInstrInfoImpl.cpp
llvm/lib/CodeGen/VirtRegRewriter.cpp
llvm/lib/Target/PowerPC/PPCInstrInfo.h