summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Analysis
diff options
context:
space:
mode:
authorDavide Italiano <davide@freebsd.org>2017-06-27 02:25:06 +0000
committerDavide Italiano <davide@freebsd.org>2017-06-27 02:25:06 +0000
commit31d4c1bbbcec4f1bb64dc036ef35d6685d785d68 (patch)
tree93adcd02df94728d0796fc3732c21c9bd50ba186 /llvm/lib/Analysis
parent3b978394ba979dad78e3da1535e5b605917bbcd1 (diff)
downloadbcm5719-llvm-31d4c1bbbcec4f1bb64dc036ef35d6685d785d68.tar.gz
bcm5719-llvm-31d4c1bbbcec4f1bb64dc036ef35d6685d785d68.zip
[CFLAA] Move a common function to the header to reduce duplication.
Differential Revision: https://reviews.llvm.org/D34660 llvm-svn: 306354
Diffstat (limited to 'llvm/lib/Analysis')
-rw-r--r--llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp11
-rw-r--r--llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp15
2 files changed, 2 insertions, 24 deletions
diff --git a/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp b/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp
index 63be165953b..0de7ad98af4 100644
--- a/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/CFLAndersAliasAnalysis.cpp
@@ -68,17 +68,6 @@ CFLAndersAAResult::CFLAndersAAResult(CFLAndersAAResult &&RHS)
: AAResultBase(std::move(RHS)), TLI(RHS.TLI) {}
CFLAndersAAResult::~CFLAndersAAResult() {}
-static const Function *parentFunctionOfValue(const Value *Val) {
- if (auto *Inst = dyn_cast<Instruction>(Val)) {
- auto *Bb = Inst->getParent();
- return Bb->getParent();
- }
-
- if (auto *Arg = dyn_cast<Argument>(Val))
- return Arg->getParent();
- return nullptr;
-}
-
namespace {
enum class MatchState : uint8_t {
diff --git a/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp b/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp
index 33154ee9588..a87cf458a84 100644
--- a/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp
+++ b/llvm/lib/Analysis/CFLSteensAliasAnalysis.cpp
@@ -90,17 +90,6 @@ const StratifiedIndex StratifiedLink::SetSentinel =
/// Determines whether it would be pointless to add the given Value to our sets.
static bool canSkipAddingToSets(Value *Val);
-static Function *parentFunctionOfValue(Value *Val) {
- if (auto *Inst = dyn_cast<Instruction>(Val)) {
- auto *Bb = Inst->getParent();
- return Bb->getParent();
- }
-
- if (auto *Arg = dyn_cast<Argument>(Val))
- return Arg->getParent();
- return nullptr;
-}
-
static bool canSkipAddingToSets(Value *Val) {
// Constants can share instances, which may falsely unify multiple
// sets, e.g. in
@@ -281,8 +270,8 @@ AliasResult CFLSteensAAResult::query(const MemoryLocation &LocA,
return NoAlias;
Function *Fn = nullptr;
- Function *MaybeFnA = parentFunctionOfValue(ValA);
- Function *MaybeFnB = parentFunctionOfValue(ValB);
+ Function *MaybeFnA = const_cast<Function *>(parentFunctionOfValue(ValA));
+ Function *MaybeFnB = const_cast<Function *>(parentFunctionOfValue(ValB));
if (!MaybeFnA && !MaybeFnB) {
// The only times this is known to happen are when globals + InlineAsm are
// involved
OpenPOWER on IntegriCloud