add Prefetch nodes to the list of nodes to ignore
[IRC.git] / Robust / src / Makefile
index ca2c2c580fb78257f99516b58be3daa1bb2814e0..1a95deafbce7bc65affe4ab941a770fc0d5c2cf2 100644 (file)
@@ -1,4 +1,4 @@
-CLASSFILES= Main/Main.class Lex/BooleanLiteral.class                   \
+CLASSFILES=Main/Main.class Lex/BooleanLiteral.class                    \
 Lex/CharacterLiteral.class Lex/Comment.class                           \
 Lex/DocumentationComment.class Lex/DoubleLiteral.class Lex/EOF.class   \
 Lex/EndOfLineComment.class Lex/EscapedUnicodeReader.class              \
@@ -11,40 +11,93 @@ Lex/TraditionalComment.class Lex/WhiteSpace.class                   \
 IR/AssignOperation.class IR/ClassDescriptor.class IR/Descriptor.class  \
 IR/FieldDescriptor.class IR/FlagDescriptor.class                       \
 IR/MethodDescriptor.class IR/NameDescriptor.class IR/Operation.class   \
-IR/State.class IR/SymbolTable.class IR/TaskDescriptor.class            \
+IR/State.class IR/SymbolTable.class IR/TagDescriptor.class             \
+IR/TagVarDescriptor.class IR/TaskDescriptor.class                      \
 IR/TypeDescriptor.class IR/TypeUtil.class IR/VarDescriptor.class       \
-IR/Virtual.class IR/Tree/ArrayAccessNode.class                         \
-IR/Tree/AssignmentNode.class IR/Tree/BlockExpressionNode.class         \
-IR/Tree/BlockNode.class IR/Tree/BlockStatementNode.class               \
-IR/Tree/BuildIR.class IR/Tree/CastNode.class                           \
-IR/Tree/ConstraintCheck.class IR/Tree/CreateObjectNode.class           \
-IR/Tree/DNFFlag.class IR/Tree/DNFFlagAtom.class                                \
-IR/Tree/DeclarationNode.class IR/Tree/ExpressionNode.class             \
-IR/Tree/FieldAccessNode.class IR/Tree/FlagEffect.class                 \
-IR/Tree/FlagEffects.class IR/Tree/FlagExpressionNode.class             \
-IR/Tree/FlagNode.class IR/Tree/FlagOpNode.class                                \
-IR/Tree/IfStatementNode.class IR/Tree/Kind.class                       \
-IR/Tree/LiteralNode.class IR/Tree/LoopNode.class                       \
-IR/Tree/MethodInvokeNode.class IR/Tree/Modifiers.class                 \
-IR/Tree/NameNode.class IR/Tree/OpNode.class IR/Tree/ParseNode.class    \
-IR/Tree/ParseNodeDOTVisitor.class IR/Tree/ParseNodeVector.class                \
-IR/Tree/ReturnNode.class IR/Tree/SemanticCheck.class                   \
-IR/Tree/SubBlockNode.class IR/Tree/TaskExitNode.class                  \
-IR/Tree/TreeNode.class IR/Tree/Walkable.class IR/Flat/BuildCode.class  \
-IR/Flat/BuildFlat.class IR/Flat/FKind.class IR/Flat/FlatCall.class     \
-IR/Flat/FlatCastNode.class IR/Flat/FlatCheckNode.class                 \
-IR/Flat/FlatCondBranch.class IR/Flat/FlatElementNode.class             \
-IR/Flat/FlatFieldNode.class IR/Flat/FlatFlagActionNode.class           \
+IR/Virtual.class IR/Flat/BuildCode.class IR/Flat/BuildFlat.class       \
+IR/Flat/FKind.class IR/Flat/FlatAtomicEnterNode.class                  \
+IR/Flat/FlatAtomicExitNode.class IR/Flat/FlatBackEdge.class            \
+IR/Flat/FlatCall.class IR/Flat/FlatCastNode.class                      \
+IR/Flat/FlatCheckNode.class IR/Flat/FlatCondBranch.class               \
+IR/Flat/FlatElementNode.class IR/Flat/FlatFieldNode.class              \
+IR/Flat/FlatFlagActionNode.class IR/Flat/FlatGlobalConvNode.class      \
 IR/Flat/FlatLiteralNode.class IR/Flat/FlatMethod.class                 \
 IR/Flat/FlatNew.class IR/Flat/FlatNode.class IR/Flat/FlatNop.class     \
 IR/Flat/FlatOpNode.class IR/Flat/FlatReturnNode.class                  \
 IR/Flat/FlatSetElementNode.class IR/Flat/FlatSetFieldNode.class                \
-IR/Flat/NodePair.class IR/Flat/ParamsObject.class                      \
-IR/Flat/TempDescriptor.class IR/Flat/TempFlagPair.class                        \
-IR/Flat/TempObject.class
+IR/Flat/FlatTagDeclaration.class IR/Flat/NodePair.class                        \
+IR/Flat/FlatPrefetchNode.class                                         \
+IR/Flat/ParamsObject.class IR/Flat/TempDescriptor.class                        \
+IR/Flat/TempFlagPair.class IR/Flat/TempObject.class                    \
+IR/Flat/TempTagPair.class IR/Tree/ArrayAccessNode.class                        \
+IR/Tree/AssignmentNode.class IR/Tree/AtomicNode.class                  \
+IR/Tree/BlockExpressionNode.class IR/Tree/BlockNode.class              \
+IR/Tree/BlockStatementNode.class IR/Tree/BuildIR.class                 \
+IR/Tree/CastNode.class IR/Tree/ConstraintCheck.class                   \
+IR/Tree/CreateObjectNode.class IR/Tree/DNFFlag.class                   \
+IR/Tree/DNFFlagAtom.class IR/Tree/DeclarationNode.class                        \
+IR/Tree/ExpressionNode.class IR/Tree/FieldAccessNode.class             \
+IR/Tree/FlagEffect.class IR/Tree/FlagEffects.class                     \
+IR/Tree/FlagExpressionNode.class IR/Tree/FlagNode.class                        \
+IR/Tree/FlagOpNode.class IR/Tree/IfStatementNode.class                 \
+IR/Tree/Kind.class IR/Tree/LiteralNode.class IR/Tree/LoopNode.class    \
+IR/Tree/MethodInvokeNode.class IR/Tree/Modifiers.class                 \
+IR/Tree/NameNode.class IR/Tree/OpNode.class IR/Tree/ParseNode.class    \
+IR/Tree/ParseNodeDOTVisitor.class IR/Tree/ParseNodeVector.class                \
+IR/Tree/ReturnNode.class IR/Tree/SemanticCheck.class                   \
+IR/Tree/SubBlockNode.class IR/Tree/TagDeclarationNode.class            \
+IR/Tree/TagEffect.class IR/Tree/TagExpressionList.class                        \
+IR/Tree/TaskExitNode.class IR/Tree/TreeNode.class                      \
+IR/Tree/Walkable.class Analysis/CallGraph/CallGraph.class              \
+Analysis/Locality/GenerateConversions.class                            \
+Analysis/Locality/LocalityAnalysis.class                               \
+Analysis/Locality/LocalityBinding.class                                        \
+Analysis/Locality/TempNodePair.class                                   \
+Analysis/TaskStateAnalysis/Allocations.class                           \
+Analysis/TaskStateAnalysis/EGEdge.class                                        \
+Analysis/TaskStateAnalysis/EGTaskNode.class                            \
+Analysis/TaskStateAnalysis/ExecutionGraph.class                                \
+Analysis/TaskStateAnalysis/FEdge.class                                 \
+Analysis/TaskStateAnalysis/FlagState.class                             \
+Analysis/TaskStateAnalysis/GarbageAnalysis.class                       \
+Analysis/TaskStateAnalysis/OptionalTaskDescriptor.class                        \
+Analysis/TaskStateAnalysis/Predicate.class                             \
+Analysis/TaskStateAnalysis/SafetyAnalysis.class                                \
+Analysis/TaskStateAnalysis/TEdge.class                                 \
+Analysis/TaskStateAnalysis/TagAnalysis.class                           \
+Analysis/TaskStateAnalysis/TagBinding.class                            \
+Analysis/TaskStateAnalysis/TaskAnalysis.class                          \
+Analysis/TaskStateAnalysis/TaskEdges.class                             \
+Analysis/TaskStateAnalysis/TaskGraph.class                             \
+Analysis/TaskStateAnalysis/TaskNode.class                              \
+Analysis/TaskStateAnalysis/FlagComparator.class                                \
+Analysis/TaskStateAnalysis/TaskNodeNamer.class Util/Edge.class         \
+Analysis/FlatIRGraph/FlatIRGraph.class                                  \
+Analysis/OwnershipAnalysis/OwnershipAnalysis.class                      \
+Analysis/OwnershipAnalysis/OwnershipGraph.class                         \
+Analysis/OwnershipAnalysis/OwnershipNode.class                          \
+Analysis/OwnershipAnalysis/OwnershipHeapRegionNode.class                \
+Analysis/OwnershipAnalysis/OwnershipLabelNode.class                     \
+Analysis/OwnershipAnalysis/TestOwnership.class                          \
+Util/GraphNode.class Util/Namer.class Util/Relation.class              \
+Interface/HTTPHeader.class Interface/HTTPResponse.class                        \
+Interface/HTTPServices.class Interface/HashStrings.class               \
+Interface/JhttpServer.class Interface/JhttpWorker.class                        \
+Interface/LogFile.class Interface/Pair.class                           \
+Interface/WebInterface.class Analysis/Prefetch/PrefetchAnalysis.class  \
+Analysis/Prefetch/PrefetchPair.class Analysis/Prefetch/PairMap.class    \
+Analysis/Prefetch/IndexDescriptor.class        
+
+
 
 all: Parse/Sym.class Parse/Parser.class $(CLASSFILES) javadoc
 
+wc:
+       wc Interface/*.java Analysis/*/*.java IR/*.java IR/*/*.java Lex/*.java Util/*.java ClassLibrary/*.java
+
+wcrun:
+       wc Runtime/*.[c,h]
+
 Parse/Parser.java Parse/Sym.java: Parse/java14.cup
        cd Parse && \
         java -cp ../../cup:$(CLASSPATH) java_cup.Main -parser Parser -symbols Sym < java14.cup
@@ -54,7 +107,10 @@ Parse/Parser.java Parse/Sym.java: Parse/java14.cup
 
 javadoc:
        mkdir javadoc
-       javadoc -classpath ../cup:.:$(CLASSPATH) -sourcepath .:./ClassLibrary -private -d javadoc Lex Util ClassLibrary IR IR.Tree IR.Flat Analysis Analysis.CallGraph Analysis.Flag Main ClassLibrary/*.java
+       javadoc -classpath ../cup:.:$(CLASSPATH) -sourcepath . -private -d javadoc Lex Util IR IR.Tree IR.Flat Analysis Analysis.CallGraph Analysis.Flag Analysis.TaskStateAnalysis Analysis.Locality Analysis.Prefetch Main Analysis.OwnershipAnalysis
 
 clean:
-       rm IR/*.class IR/Tree/*.class Main/*.class Lex/*.class Parse/*.class Parse/Sym.java Parse/Parser.java IR/Flat/*.class classdefs.h methodheaders.h methods.c structdefs.h virtualtable.h task.h taskdefs.c taskdefs.h Analysis/*.class Analysis/Flag/*.class Analysis/CallGraph/*.class -r javadoc
+       rm -f IR/*.class IR/Tree/*.class Main/*.class Lex/*.class Parse/*.class Parse/Sym.java Parse/Parser.java IR/Flat/*.class classdefs.h methodheaders.h methods.c structdefs.h virtualtable.h task.h taskdefs.c taskdefs.h Analysis/*.class Analysis/Flag/*.class Analysis/CallGraph/*.class  Analysis/TaskStateAnalysis/*.class Interface/*.class Util/*.class Analysis/Locality/*.class Analysis/Prefetch/*.class Analysis/FlatIRGraph/*.class Analysis/OwnershipAnalysis/*.class
+
+cleandoc:
+       rm -rf javadoc