summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis/AliasSetTracker.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'llvm/lib/Analysis/AliasSetTracker.cpp')
-rw-r--r--llvm/lib/Analysis/AliasSetTracker.cpp32
1 files changed, 8 insertions, 24 deletions
diff --git a/llvm/lib/Analysis/AliasSetTracker.cpp b/llvm/lib/Analysis/AliasSetTracker.cpp
index 0470247cf6c..dc6ecd58b7b 100644
--- a/llvm/lib/Analysis/AliasSetTracker.cpp
+++ b/llvm/lib/Analysis/AliasSetTracker.cpp
@@ -56,7 +56,6 @@ void AliasSet::mergeSetIn(AliasSet &AS, AliasSetTracker &AST) {
// Update the alias and access types of this set...
Access |= AS.Access;
Alias |= AS.Alias;
- Volatile |= AS.Volatile;
if (Alias == SetMustAlias) {
// Check that these two merged sets really are must aliases. Since both
@@ -365,15 +364,13 @@ void AliasSetTracker::add(Value *Ptr, LocationSize Size,
void AliasSetTracker::add(LoadInst *LI) {
if (isStrongerThanMonotonic(LI->getOrdering())) return addUnknown(LI);
- AliasSet &AS = addPointer(MemoryLocation::get(LI), AliasSet::RefAccess);
- if (LI->isVolatile()) AS.setVolatile();
+ addPointer(MemoryLocation::get(LI), AliasSet::RefAccess);
}
void AliasSetTracker::add(StoreInst *SI) {
if (isStrongerThanMonotonic(SI->getOrdering())) return addUnknown(SI);
- AliasSet &AS = addPointer(MemoryLocation::get(SI), AliasSet::ModAccess);
- if (SI->isVolatile()) AS.setVolatile();
+ addPointer(MemoryLocation::get(SI), AliasSet::ModAccess);
}
void AliasSetTracker::add(VAArgInst *VAAI) {
@@ -382,24 +379,15 @@ void AliasSetTracker::add(VAArgInst *VAAI) {
void AliasSetTracker::add(AnyMemSetInst *MSI) {
auto MemLoc = MemoryLocation::getForDest(MSI);
- AliasSet &AS = addPointer(MemLoc, AliasSet::ModAccess);
- auto *MS = dyn_cast<MemSetInst>(MSI);
- if (MS && MS->isVolatile())
- AS.setVolatile();
+ addPointer(MemLoc, AliasSet::ModAccess);
}
void AliasSetTracker::add(AnyMemTransferInst *MTI) {
auto SrcLoc = MemoryLocation::getForSource(MTI);
- AliasSet &ASSrc = addPointer(SrcLoc, AliasSet::RefAccess);
+ addPointer(SrcLoc, AliasSet::RefAccess);
auto DestLoc = MemoryLocation::getForDest(MTI);
- AliasSet &ASDst = addPointer(DestLoc, AliasSet::ModAccess);
-
- auto* MT = dyn_cast<MemTransferInst>(MTI);
- if (MT && MT->isVolatile()) {
- ASSrc.setVolatile();
- ASDst.setVolatile();
- }
+ addPointer(DestLoc, AliasSet::ModAccess);
}
void AliasSetTracker::addUnknown(Instruction *Inst) {
@@ -468,12 +456,9 @@ void AliasSetTracker::add(const AliasSetTracker &AST) {
add(Inst);
// Loop over all of the pointers in this alias set.
- for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI) {
- AliasSet &NewAS =
- addPointer(ASI.getPointer(), ASI.getSize(), ASI.getAAInfo(),
- (AliasSet::AccessLattice)AS.Access);
- if (AS.isVolatile()) NewAS.setVolatile();
- }
+ for (AliasSet::iterator ASI = AS.begin(), E = AS.end(); ASI != E; ++ASI)
+ addPointer(ASI.getPointer(), ASI.getSize(), ASI.getAAInfo(),
+ (AliasSet::AccessLattice)AS.Access);
}
}
@@ -595,7 +580,6 @@ void AliasSet::print(raw_ostream &OS) const {
case ModRefAccess: OS << "Mod/Ref "; break;
default: llvm_unreachable("Bad value for Access!");
}
- if (isVolatile()) OS << "[volatile] ";
if (Forward)
OS << " forwarding to " << (void*)Forward;
OpenPOWER on IntegriCloud