[llvm-commits] CVS: llvm/lib/Analysis/AliasAnalysis.cpp BasicAliasAnalysis.cpp LoopInfo.cpp PostDominators.cpp ValueNumbering.cpp

Reid Spencer reid at x10sys.com
Wed Jun 7 15:00:42 PDT 2006



Changes in directory llvm/lib/Analysis:

AliasAnalysis.cpp updated: 1.28 -> 1.29
BasicAliasAnalysis.cpp updated: 1.80 -> 1.81
LoopInfo.cpp updated: 1.69 -> 1.70
PostDominators.cpp updated: 1.56 -> 1.57
ValueNumbering.cpp updated: 1.18 -> 1.19
---
Log message:

For PR780: http://llvm.cs.uiuc.edu/PR780 :
1. Fix the macros in IncludeFile.h to put everything in the llvm namespace
2. Replace the previous explicit mechanism in all the .h and .cpp files
   with the macros in IncludeFile.h
This gets us a consistent mechanism throughout LLVM for ensuring linkage.
Next step is to make sure its used in enough places.


---
Diffs of the changes:  (+11 -14)

 AliasAnalysis.cpp      |    6 +-----
 BasicAliasAnalysis.cpp |    6 +++---
 LoopInfo.cpp           |    5 +++--
 PostDominators.cpp     |    5 ++---
 ValueNumbering.cpp     |    3 ++-
 5 files changed, 11 insertions(+), 14 deletions(-)


Index: llvm/lib/Analysis/AliasAnalysis.cpp
diff -u llvm/lib/Analysis/AliasAnalysis.cpp:1.28 llvm/lib/Analysis/AliasAnalysis.cpp:1.29
--- llvm/lib/Analysis/AliasAnalysis.cpp:1.28	Wed Jun  7 15:00:19 2006
+++ llvm/lib/Analysis/AliasAnalysis.cpp	Wed Jun  7 17:00:26 2006
@@ -188,8 +188,4 @@
 // be pulled in if the AliasAnalysis classes are pulled in.  Otherwise we run
 // the risk of AliasAnalysis being used, but the default implementation not
 // being linked into the tool that uses it.
-//
-namespace llvm {
-  extern int BasicAAStub;
-}
-static IncludeFile INCLUDE_BASICAA_CPP((void*)&BasicAAStub);
+DEFINING_FILE_FOR(AliasAnalysis)


Index: llvm/lib/Analysis/BasicAliasAnalysis.cpp
diff -u llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.80 llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.81
--- llvm/lib/Analysis/BasicAliasAnalysis.cpp:1.80	Thu Jun  1 02:02:51 2006
+++ llvm/lib/Analysis/BasicAliasAnalysis.cpp	Wed Jun  7 17:00:26 2006
@@ -26,9 +26,6 @@
 #include <algorithm>
 using namespace llvm;
 
-// Make sure that anything that uses AliasAnalysis pulls in this file...
-int llvm::BasicAAStub;
-
 namespace {
   /// NoAA - This class implements the -no-aa pass, which always returns "I
   /// don't know" for alias queries.  NoAA is unlike other alias analysis
@@ -846,3 +843,6 @@
 
   return UnknownModRefBehavior;
 }
+
+// Make sure that anything that uses AliasAnalysis pulls in this file...
+DEFINING_FILE_FOR(BasicAliasAnalysis)


Index: llvm/lib/Analysis/LoopInfo.cpp
diff -u llvm/lib/Analysis/LoopInfo.cpp:1.69 llvm/lib/Analysis/LoopInfo.cpp:1.70
--- llvm/lib/Analysis/LoopInfo.cpp:1.69	Thu Jun  1 02:02:51 2006
+++ llvm/lib/Analysis/LoopInfo.cpp	Wed Jun  7 17:00:26 2006
@@ -86,8 +86,6 @@
 //===----------------------------------------------------------------------===//
 // LoopInfo implementation
 //
-int LoopInfo::stub;
-
 bool LoopInfo::runOnFunction(Function &) {
   releaseMemory();
   Calculate(getAnalysis<ETForest>());    // Update
@@ -557,3 +555,6 @@
 void Loop::removeBlockFromLoop(BasicBlock *BB) {
   RemoveFromVector(Blocks, BB);
 }
+
+// Ensure this file gets linked when LoopInfo.h is used.
+DEFINING_FILE_FOR(LoopInfo)


Index: llvm/lib/Analysis/PostDominators.cpp
diff -u llvm/lib/Analysis/PostDominators.cpp:1.56 llvm/lib/Analysis/PostDominators.cpp:1.57
--- llvm/lib/Analysis/PostDominators.cpp:1.56	Thu Jun  1 02:02:51 2006
+++ llvm/lib/Analysis/PostDominators.cpp	Wed Jun  7 17:00:26 2006
@@ -359,6 +359,5 @@
   return S;
 }
 
-// stub - a dummy function to make linking work ok.
-int PostDominanceFrontier::stub;
-
+// Ensure that this .cpp file gets linked when PostDominators.h is used.
+DEFINING_FILE_FOR(PostDominanceFrontier)


Index: llvm/lib/Analysis/ValueNumbering.cpp
diff -u llvm/lib/Analysis/ValueNumbering.cpp:1.18 llvm/lib/Analysis/ValueNumbering.cpp:1.19
--- llvm/lib/Analysis/ValueNumbering.cpp:1.18	Thu Jun  1 02:02:51 2006
+++ llvm/lib/Analysis/ValueNumbering.cpp	Wed Jun  7 17:00:26 2006
@@ -239,4 +239,5 @@
 }
 
 
-int llvm::BasicValueNumberingStub; // to ensure linkage of this file
+// Ensure that users of ValueNumbering.h will link with this file
+DEFINING_FILE_FOR(BasicValueNumbering)






More information about the llvm-commits mailing list