diff options
author | Dan Gohman <gohman@apple.com> | 2010-10-18 18:17:47 +0000 |
---|---|---|
committer | Dan Gohman <gohman@apple.com> | 2010-10-18 18:17:47 +0000 |
commit | 01b58f637c23e203dd95a4709bdd40cdfc31ffa9 (patch) | |
tree | 4ab9004c8cda6b4fc1c8e0437b624a0ce47d82e6 /lib/Analysis/TypeBasedAliasAnalysis.cpp | |
parent | acf50f5136c6f1daca2e78db756514a88470516b (diff) |
Make TypeBasedAliasAnalysis default to doing nothing, with a command-line
option to enable it.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116722 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Analysis/TypeBasedAliasAnalysis.cpp')
-rw-r--r-- | lib/Analysis/TypeBasedAliasAnalysis.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/lib/Analysis/TypeBasedAliasAnalysis.cpp b/lib/Analysis/TypeBasedAliasAnalysis.cpp index 8d368470b4..203084414c 100644 --- a/lib/Analysis/TypeBasedAliasAnalysis.cpp +++ b/lib/Analysis/TypeBasedAliasAnalysis.cpp @@ -32,8 +32,12 @@ #include "llvm/Module.h" #include "llvm/Metadata.h" #include "llvm/Pass.h" +#include "llvm/Support/CommandLine.h" using namespace llvm; +// For testing purposes, enable TBAA only via a special option. +static cl::opt<bool> EnableTBAA("enable-tbaa"); + namespace { /// TBAANode - This is a simple wrapper around an MDNode which provides a /// higher-level interface by hiding the details of how alias analysis @@ -122,6 +126,9 @@ TypeBasedAliasAnalysis::getAnalysisUsage(AnalysisUsage &AU) const { AliasAnalysis::AliasResult TypeBasedAliasAnalysis::alias(const Location &LocA, const Location &LocB) { + if (!EnableTBAA) + return AliasAnalysis::alias(LocA, LocB); + // Get the attached MDNodes. If either value lacks a tbaa MDNode, we must // be conservative. const MDNode *AM = LocA.TBAATag; @@ -168,6 +175,9 @@ TypeBasedAliasAnalysis::alias(const Location &LocA, } bool TypeBasedAliasAnalysis::pointsToConstantMemory(const Location &Loc) { + if (!EnableTBAA) + return AliasAnalysis::pointsToConstantMemory(Loc); + const MDNode *M = Loc.TBAATag; if (!M) return false; |