Class Hierarchy   Compound List   File List   Header Files   Compound Members   File Members  

Pass Class Reference

A Pass is a Module to be applied to the current FileSetBlock in the suif_env. More...

#include <suifpasses/passes.h>

Class diagram for Pass:

Module convertsuif2bto1_pass UnownedPass TypeCheckerPass StructPaddingPass StripAnnotesPass SetAddrTakenPass S2CPass RepeatValueBlockBuilderPass RemoveTrashPass PrintCallGraphPass PipelinablePass PaddingPass NonConstBoundDismantlerPass NameAllSymbolsPass MultiDimArrayDismantlerPass LoweringPass EcrAliasPass DismantleStructuredReturns DismantleCppVTablesPass CountSuifObjectsPass CombinedPassForCpp CombinedPass CollectWalkerPass BuildCppVTablesPass AvoidFileScopeCollisions AvoidExternCollisions

List of all members.


Public Members

virtual void initialize ()
Initialize the pass.

virtual void execute ()
the default implementation invokes the method do_file_set_block.

virtual Module* clone () const = 0
May return "this" if the pass has no state.

virtual void do_file_set_block ( FileSetBlock* file_set_block ) = 0
your analysis or optimization goes here.


Protected Members

Pass ( SuifEnv* suif_env, const LString &name )
virtual ~Pass ()

Detailed Description

A Pass is a Module to be applied to the current FileSetBlock in the suif_env.


Member Function Documentation

virtual void Pass::initialize (void) [virtual]

Initialize the pass.

Reimplemented from Module.

Reimplemented in walker_based_module, VtblSlotCountAnnotePass, VtblSlotAnnotePass, VtblPass, VtblAnnotePass, UnconvertFromFortranForm, SuifCFGraphPass, StripAnnotesPass, StaticMethodCallStatementLoweringPass, StaticMethodCallExpressionLoweringPass, SetAddrTakenPass, S2CPass, RequireProcedureReturns, RepeatValueBlockBuilderPass, RemoveIfAndLoopPass, RemoveExplicitLoopLabels, PrintDotSuifCFGraphPass, PrintCallGraphPass, PipelinablePass, PaddingPass, One2MultiArrayExpressionPass, NormalizeProcedureReturns, NonConstBoundDismantlerPass, MultiDimArrayDismantlerPass, MarkGuardedFors, LoweringPass, LocalCopyPropPass, LocalConstPropPass, LoadExpressionDismantlerPass, JavaInstanceMethodCallExpressionLoweringPass, InstanceMethodCallStatementLoweringPass, InstanceMethodCallExpressionLoweringPass, InstanceFieldsLayoutPass, InstanceFieldsLayoutOffsetAnnotePass, IfConditionsToBinaryExprs, HasClinitPass, GuardAllFors, FoldStatementsPass, FlattenStatementListsPass, FixupExplicitLoopLabels, FieldBuilderPass, EcrAliasPass, DismantleStructuredReturns, DismantleStmtsWithJumpsInside, DismantleMultiEntryScopeStatements, DismantleEmptyScopeStatements, DismantleCallArguments, DefinitionBlockPass, DeadcodePass, CopyPropPass, ConvertToFortranForm, convertsuif2bto1_pass, CollectWalkerPass, ClinitElimPass, CiCheckElimPass, CIAnnoteStatsPass, CFor2ForPass, CallExpressionDismantlerPass, ArrayReferenceDismantlerPass, AddStatementListsToProcs, AddProcedureEndLabelsPass, and AddExplicitLoopLabels.

virtual void Pass::execute (void) [virtual]

the default implementation invokes the method do_file_set_block.

Reimplemented from Module.

Reimplemented in PipelinerDispatchPass, and PipelinablePass.

virtual Module * Pass::clone (void) const [pure virtual]

May return "this" if the pass has no state.

Reimplemented from Module.

Reimplemented in walker_based_module, UnownedPass, UnconvertFromFortranForm, TypeCheckerPass, SuifCFGraphPass, StructPaddingPass, StripAnnotesPass, SetAddrTakenPass, S2CPass, RequireProcedureReturns, RepeatValueBlockBuilderPass, RemoveTrashPass, RemoveIfAndLoopPass, RemoveExplicitLoopLabels, PrintSuifCFGraphPass, PrintDotSuifCFGraphPass, PrintCallGraphPass, print_pass, PipelinerDispatchPass, PipelinablePass, PaddingPass, One2MultiArrayExpressionPass, NormalizeProcedureReturns, NonConstBoundDismantlerPass, NameAllSymbolsPass, MultiDimArrayDismantlerPass, MarkGuardedFors, MarkEntryPointsPass, LoweringPass, LoadExpressionDismantlerPass, InlinePass, IfConditionsToBinaryExprs, GuardAllFors, globalize_class_variable_symbols_pass, globalize_class_method_symbols_pass, globalize_class_method_symbols_pass, FoldStatementsPass, FlattenStatementListsPass, FixupExplicitLoopLabels, FieldBuilderPass, EcrAliasPass, DismantleStructuredReturns, DismantleStmtsWithJumpsInside, DismantleMultiEntryScopeStatements, DismantleEmptyScopeStatements, DismantleCppVTablesPass, DismantleCallArguments, dismantle_if_statements_pass, dismantle_if_statements_pass, DeadcodePass, CountSuifObjectsPass, CopyPropPass, ConvertToFortranForm, convertsuif2bto1_pass, ConstantFolderPass, CombinedPassForCpp, CombinedPass, CollectWalkerPass, CiCheckElimPass, CIAnnoteStatsPass, CFor2ForPass, CallExpressionDismantlerPass, BuildCppVTablesPass, build_single_vtable_pass, AvoidLabelCollisions, AvoidFileScopeCollisions, AvoidExternCollisions, ArrayReferenceDismantlerPass, AddStatementListsToProcs, AddProcedureEndLabelsPass, and AddExplicitLoopLabels.

virtual void Pass::do_file_set_block (FileSetBlock * file_set_block) [pure virtual]

your analysis or optimization goes here.

Reimplemented in UnownedPass, TypeCheckerPass, StructPaddingPass, StripAnnotesPass, SetAddrTakenPass, S2CPass, RepeatValueBlockBuilderPass, RemoveTrashPass, PrintCallGraphPass, print_pass, PipelinerDispatchPass, PipelinablePass, PaddingPass, NonConstBoundDismantlerPass, NameAllSymbolsPass, MultiDimArrayDismantlerPass, LoweringPass, globalize_class_method_symbols_pass, EcrAliasPass, DismantleStructuredReturns, DismantleCppVTablesPass, CountSuifObjectsPass, convertsuif2bto1_pass, CombinedPassForCpp, CombinedPass, CollectWalkerPass, BuildCppVTablesPass, AvoidFileScopeCollisions, and AvoidExternCollisions.

Pass::Pass (SuifEnv * suif_env, const LString & name) [protected]

virtual Pass::~Pass () [protected, virtual]


The documentation for this class was generated from the following files:
Generated at Wed Apr 25 17:35:02 2001 for NCI SUIF by doxygen  written by Dimitri van Heesch, © 1997-1999