Files
archived-llvm-mirror/include/llvm
George Burgess IV 9c2a58d00e [MSSA] Add an overload for getClobberingMemoryAccess.
A seemingly common use for the walker's getClobberingMemoryAccess
function is:

```
MemoryAccess *getClobber(MemorySSAWalker *W, MemoryUseOrDef *MUD) {
  const Instruction *I = MUD->getMemoryInst();
  return W->getClobberingMemoryAccess(I);
}
```

Which is kind of redundant, since walkers will ultimately query MSSA to
find out which MemoryAccess `I` maps to (...which is always `MUD`).

So, this patch adds an overload of getClobberingMemoryAccess that
accepts MemoryAccesses directly. As a result, the Instruction overload
of getClobberingMemoryAccess becomes a lightweight wrapper around our
new overload.

Additionally, this patch un`virtual`izes the Instruction overload of
getClobberingMemoryAccess, since there doesn't seem to be a walker that
benefits from that being virtual, and I can't think of how else one
would implement it. Happy to make it virtual again if we would benefit
from doing so.

llvm-svn: 276169
2016-07-20 19:51:34 +00:00
..
2016-07-20 18:16:45 +00:00
2016-06-30 18:25:11 +00:00
2016-04-18 09:17:29 +00:00
2016-04-18 09:17:29 +00:00
2016-07-11 14:23:53 +00:00
2016-07-16 01:55:45 +00:00
2016-05-25 22:56:58 +00:00
2015-10-05 04:46:30 +00:00
2016-04-18 09:17:29 +00:00