Start inferring side effect information more aggressively, and fix many bugs in the
authorChris Lattner <sabre@nondot.org>
Thu, 10 Jan 2008 07:59:24 +0000 (07:59 +0000)
committerChris Lattner <sabre@nondot.org>
Thu, 10 Jan 2008 07:59:24 +0000 (07:59 +0000)
commitba7e756c22446a17a72632b8d4ac66cbdaab33f7
tree35b58e8e83a49bdd3f3449e138228e57cacb0b77
parent1778a1590125dbef01b8d85128a11b6fb212b26f
Start inferring side effect information more aggressively, and fix many bugs in the
x86 backend where instructions were not marked maystore/mayload, and perf issues where
instructions were not marked neverHasSideEffects.  It would be really nice if we could
write patterns for copy instructions.

I have audited all the x86 instructions down to MOVDQAmr.  The flags on others and on
other targets are probably not right in all cases, but no clients currently use this
info that are enabled by default.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45829 91177308-0d34-0410-b5e6-96231b3b80d8
lib/Target/Target.td
lib/Target/X86/X86Instr64bit.td
lib/Target/X86/X86InstrFPStack.td
lib/Target/X86/X86InstrInfo.td
lib/Target/X86/X86InstrMMX.td
lib/Target/X86/X86InstrSSE.td
utils/TableGen/CodeGenInstruction.cpp
utils/TableGen/CodeGenInstruction.h
utils/TableGen/CodeGenTarget.cpp
utils/TableGen/InstrInfoEmitter.cpp