[llvm-commits] CVS: llvm/lib/Analysis/IPA/Andersens.cpp CallGraph.cpp GlobalsModRef.cpp

Reid Spencer reid at x10sys.com
Mon Feb 5 15:42:44 PST 2007



Changes in directory llvm/lib/Analysis/IPA:

Andersens.cpp updated: 1.44 -> 1.45
CallGraph.cpp updated: 1.64 -> 1.65
GlobalsModRef.cpp updated: 1.28 -> 1.29
---
Log message:

Make classes in anonymous namespaces use VISIBILITY_HIDDEN to help reduce
LLVM's footprint and speed up linking.


---
Diffs of the changes:  (+10 -6)

 Andersens.cpp     |    5 +++--
 CallGraph.cpp     |    3 ++-
 GlobalsModRef.cpp |    8 +++++---
 3 files changed, 10 insertions(+), 6 deletions(-)


Index: llvm/lib/Analysis/IPA/Andersens.cpp
diff -u llvm/lib/Analysis/IPA/Andersens.cpp:1.44 llvm/lib/Analysis/IPA/Andersens.cpp:1.45
--- llvm/lib/Analysis/IPA/Andersens.cpp:1.44	Thu Feb  1 20:16:22 2007
+++ llvm/lib/Analysis/IPA/Andersens.cpp	Mon Feb  5 17:42:17 2007
@@ -55,6 +55,7 @@
 #include "llvm/Instructions.h"
 #include "llvm/Module.h"
 #include "llvm/Pass.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/InstIterator.h"
 #include "llvm/Support/InstVisitor.h"
 #include "llvm/Analysis/AliasAnalysis.h"
@@ -71,8 +72,8 @@
 STATISTIC(NumIndirectCallees  , "Number of indirect callees found");
 
 namespace {
-  class Andersens : public ModulePass, public AliasAnalysis,
-                    private InstVisitor<Andersens> {
+  class VISIBILITY_HIDDEN Andersens : public ModulePass, public AliasAnalysis,
+                                      private InstVisitor<Andersens> {
     /// Node class - This class is used to represent a memory object in the
     /// program, and is the primitive used to build the points-to graph.
     class Node {


Index: llvm/lib/Analysis/IPA/CallGraph.cpp
diff -u llvm/lib/Analysis/IPA/CallGraph.cpp:1.64 llvm/lib/Analysis/IPA/CallGraph.cpp:1.65
--- llvm/lib/Analysis/IPA/CallGraph.cpp:1.64	Tue Jan 30 14:08:37 2007
+++ llvm/lib/Analysis/IPA/CallGraph.cpp	Mon Feb  5 17:42:17 2007
@@ -16,6 +16,7 @@
 #include "llvm/Module.h"
 #include "llvm/Instructions.h"
 #include "llvm/Support/CallSite.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/Streams.h"
 #include <ostream>
 using namespace llvm;
@@ -35,7 +36,7 @@
 //===----------------------------------------------------------------------===//
 // BasicCallGraph class definition
 //
-class BasicCallGraph : public CallGraph, public ModulePass {
+class VISIBILITY_HIDDEN BasicCallGraph : public CallGraph, public ModulePass {
   // Root is root of the call graph, or the external node if a 'main' function
   // couldn't be found.
   //


Index: llvm/lib/Analysis/IPA/GlobalsModRef.cpp
diff -u llvm/lib/Analysis/IPA/GlobalsModRef.cpp:1.28 llvm/lib/Analysis/IPA/GlobalsModRef.cpp:1.29
--- llvm/lib/Analysis/IPA/GlobalsModRef.cpp:1.28	Tue Jan 30 14:08:37 2007
+++ llvm/lib/Analysis/IPA/GlobalsModRef.cpp	Mon Feb  5 17:42:17 2007
@@ -23,8 +23,9 @@
 #include "llvm/DerivedTypes.h"
 #include "llvm/Analysis/AliasAnalysis.h"
 #include "llvm/Analysis/CallGraph.h"
-#include "llvm/Support/InstIterator.h"
+#include "llvm/Support/Compiler.h"
 #include "llvm/Support/CommandLine.h"
+#include "llvm/Support/InstIterator.h"
 #include "llvm/ADT/Statistic.h"
 #include "llvm/ADT/SCCIterator.h"
 #include <set>
@@ -42,7 +43,7 @@
   /// function in the program.  Later, the entries for these functions are
   /// removed if the function is found to call an external function (in which
   /// case we know nothing about it.
-  struct FunctionRecord {
+  struct VISIBILITY_HIDDEN FunctionRecord {
     /// GlobalInfo - Maintain mod/ref info for all of the globals without
     /// addresses taken that are read or written (transitively) by this
     /// function.
@@ -63,7 +64,8 @@
   };
 
   /// GlobalsModRef - The actual analysis pass.
-  class GlobalsModRef : public ModulePass, public AliasAnalysis {
+  class VISIBILITY_HIDDEN GlobalsModRef 
+      : public ModulePass, public AliasAnalysis {
     /// NonAddressTakenGlobals - The globals that do not have their addresses
     /// taken.
     std::set<GlobalValue*> NonAddressTakenGlobals;






More information about the llvm-commits mailing list