[llvm] r306354 - [CFLAA] Move a common function to the header to reduce duplication.

Davide Italiano via llvm-commits llvm-commits at lists.llvm.org
Mon Jun 26 19:25:07 PDT 2017


Author: davide
Date: Mon Jun 26 19:25:06 2017
New Revision: 306354

URL: http://llvm.org/viewvc/llvm-project?rev=306354&view=rev
Log:
[CFLAA] Move a common function to the header to reduce duplication.

Differential Revision:  https://reviews.llvm.org/D34660

Modified:
    llvm/trunk/include/llvm/Analysis/CFLAliasAnalysisUtils.h
    llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp
    llvm/trunk/lib/Analysis/CFLSteensAliasAnalysis.cpp

Modified: llvm/trunk/include/llvm/Analysis/CFLAliasAnalysisUtils.h
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Analysis/CFLAliasAnalysisUtils.h?rev=306354&r1=306353&r2=306354&view=diff
==============================================================================
--- llvm/trunk/include/llvm/Analysis/CFLAliasAnalysisUtils.h (original)
+++ llvm/trunk/include/llvm/Analysis/CFLAliasAnalysisUtils.h Mon Jun 26 19:25:06 2017
@@ -41,4 +41,19 @@ private:
   }
 };
 
+namespace llvm {
+namespace cflaa {
+static inline 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 cflaa
+} // namespace llvm
+}
+
 #endif // LLVM_ANALYSIS_CFLALIASANALYSISUTILS_H

Modified: llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp?rev=306354&r1=306353&r2=306354&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/CFLAndersAliasAnalysis.cpp Mon Jun 26 19:25:06 2017
@@ -68,17 +68,6 @@ CFLAndersAAResult::CFLAndersAAResult(CFL
     : 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 {

Modified: llvm/trunk/lib/Analysis/CFLSteensAliasAnalysis.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Analysis/CFLSteensAliasAnalysis.cpp?rev=306354&r1=306353&r2=306354&view=diff
==============================================================================
--- llvm/trunk/lib/Analysis/CFLSteensAliasAnalysis.cpp (original)
+++ llvm/trunk/lib/Analysis/CFLSteensAliasAnalysis.cpp Mon Jun 26 19:25:06 2017
@@ -90,17 +90,6 @@ const StratifiedIndex StratifiedLink::Se
 /// 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(con
     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




More information about the llvm-commits mailing list