Add target flags to MachineMemOperands.
authorAndrew Trick <atrick@apple.com>
Sat, 27 Apr 2013 03:54:17 +0000 (03:54 +0000)
committerAndrew Trick <atrick@apple.com>
Sat, 27 Apr 2013 03:54:17 +0000 (03:54 +0000)
commit29f198c9bfa4a122259f5e92853fbf4b5b2ab2bc
tree45323e7a2e7ae8f67b571ec86482b7167e5f7bdb
parentd427132a342c0dd3b2fda0fdcbd1ff8e476a7d8e
Add target flags to MachineMemOperands.

This seems to me an obvious place to allow target passes to annotate
memory operations. There are plenty of bits, and I'm not aware of
another good way for early target passes to propagate hints along to
later passes. Target independent transforms can simply preserve them,
the way they preserve the other flags. Like MachineMemOperands in
general, if the target flags are lost we must still generate correct
code.

This has lots of uses, but I want this flexibility now to make it
easier to work with the new MachineTraceMetrics
analysis. MachineTraceMetrics can gather a lot of information about
instructions based on the surrounding code. This information can be
used to influence postRA machine passes that don't work on SSA form.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@180666 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/MachineMemOperand.h