[EarlyCSE] IsSimple vs IsVolatile naming clarification (NFC)
authorPhilip Reames <listmail@philipreames.com>
Sat, 5 Dec 2015 00:18:33 +0000 (00:18 +0000)
committerPhilip Reames <listmail@philipreames.com>
Sat, 5 Dec 2015 00:18:33 +0000 (00:18 +0000)
commit3817e67f7f0807234396b92d1a8884798da2f6f8
tree7cf63ee6572a23cd66c1d53dc45b112f7e3879a8
parent357108cbea3d64a0f31b931121d4a381ee6c1a3b
[EarlyCSE] IsSimple vs IsVolatile naming clarification (NFC)

When the notion of target specific memory intrinsics was introduced to EarlyCSE, the commit confused the notions of volatile and simple memory access.  Since I'm about to start working on this area, cleanup the naming so that patches aren't horribly confusing.  Note that the actual implementation was always bailing if the load or store wasn't simple.

Reminder:
- "volatile" - C++ volatile, can't remove any memory operations, but in principal unordered
- "ordered" - imposes ordering constraints on other nearby memory operations
- "atomic" - can't be split or sheared.  In LLVM terms, all "ordered" operations are also atomic so the predicate "isAtomic" is often used.
- "simple" - a load which is none of the above.  These are normal loads and what most of the optimizer works with.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254805 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/Analysis/TargetTransformInfo.h
lib/Target/AArch64/AArch64TargetTransformInfo.cpp
lib/Transforms/Scalar/EarlyCSE.cpp