coins.alias
Class AliasDriver

java.lang.Object
  extended bycoins.driver.Driver
      extended bycoins.alias.AliasDriver
All Implemented Interfaces:
CompilerImplementation
Direct Known Subclasses:
AliasDriver

public class AliasDriver
extends Driver


Field Summary
 
Fields inherited from class coins.driver.Driver
ASSEMBLER_NAME_OPTION, CG_PARALLEL, CHECK_HIR_OPTION, CHECK_SYMBOL_TABLE_OPTION, COARSE_GRAIN_PARALLEL, COINS_OPTION_DELIMITER, DEBUG_OPTION, DEFAULT_ASSEMBLER_NAME, DEFAULT_LINKER_NAME, DEFAULT_LINKER_OPTIONS_PROPERTY, DEFAULT_LIR_OPTION, DEFAULT_OPTIMIZATION_LEVEL, DEFAULT_PREPROCESSOR_NAME, DEFAULT_SETTING, defaultSettings, DUMP_HIR_OPTION, DUMP_HIR_OPTION_DELIMITER, FLOW_ANAL_OPTION_DELIMITER, HIR_FLOW_ANAL_OPTION, HIR_OPT_ARG_FROMC, HIR_OPT_OPTION, HIR_OPTIMIZATION_ARGS, HIR_TO_C_OPTION, HIR_TO_C_OPTION_DELIMITER, hirFlowRoot, LINKER_NAME_OPTION, LIR_OPTIMIZATION_ARGS, LIR_TO_C_OPTION, LIR_TO_C_OPTION_DELIMITER, MACRO_DATA_FLOW_OPTION, MAX_OPTIMIZATION_LEVEL, myName, NEW_LIR_OPTION, OLD_LIR_OPTION, OPENMP_OPTION, OPT_OPTION_DELIMITER, OUT_NEW_LIR_OPTION, PARALLEL_DO_ALL, PREPROCESSOR_NAME_OPTION, SIMULATE_OPTION, SSA_OPTIMIZATION_ARGS, SSA_OPTION, STOP_AFTER_HIR_TO_C_OPTION, STOP_AFTER_LIR_TO_C_OPTION, SYSTEM_INCLUDE_PATH_PROPERTY, TARGET_ARCH_OPTION, TARGET_CONVENTION_OPTION, VERBOSE_FLAG
 
Constructor Summary
AliasDriver()
           
 
Method Summary
 void compile(java.io.File sourceFile, Suffix suffix, java.io.InputStream in, java.io.OutputStream out, IoRoot io)
          Compiler.
This sample compiler has eight passes: C source to HIR-C(*), HIR-C to HIR-Base(*), Flow analysis on HIR(*), Optimization and Parallelization on HIR, HIR to LIR(*), LIR Flow Analysis, Optimization and Parallelization on LIR, and Assembly code generation(*).
static void main(java.lang.String[] args)
          A main function.
Makes a compile specification from a command line.
 void makeHirAliasAnalysis(HirRoot hirRoot)
           
static void replaceNode(HIR pOld, HIR pNew)
           
protected  boolean testAliasByOptimizing(AliasAnal pAliasAnal, SubpDefinition pSubpDef, HirRoot pHirRoot)
           
 
Methods inherited from class coins.driver.Driver
assemble, basicHIROptimizations, callHirBaseToC, callLirToC, checkHirToCStopCondition, checkLIROptionsIntegrity, checkLirToCStopCondition, dumpHirBase, dumpHirBase, dumpHirBase, go, includedInDelimitedList, link, makeCommandLine, makeCSourceFromHirBase, makeCSourceFromHirBase, makeCSourceFromLir, makeCSourceFromLir, makeHIRFlowAnalysis, makeHirFromSource, makeLIRFromLIRSource, makeNewLirFromHir, matchDumpHirTiming, matchHirToCTiming, matchLirToCTiming, optimizeHirAfterFlowAnalysis, optimizeHirBeforeFlowAnalysis, preprocess, runProgram, runProgram, runProgram, separateDelimitedList, setDefaultLinkerOptions, setOptimizationOptions, setSystemIncludePathOptions, testHir, testSym
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AliasDriver

public AliasDriver()
Method Detail

makeHirAliasAnalysis

public void makeHirAliasAnalysis(HirRoot hirRoot)

testAliasByOptimizing

protected boolean testAliasByOptimizing(AliasAnal pAliasAnal,
                                        SubpDefinition pSubpDef,
                                        HirRoot pHirRoot)

replaceNode

public static void replaceNode(HIR pOld,
                               HIR pNew)

compile

public void compile(java.io.File sourceFile,
                    Suffix suffix,
                    java.io.InputStream in,
                    java.io.OutputStream out,
                    IoRoot io)
             throws java.io.IOException,
                    PassException
Description copied from class: Driver
Compiler.
This sample compiler has eight passes:
  1. C source to HIR-C(*),
  2. HIR-C to HIR-Base(*),
  3. Flow analysis on HIR(*),
  4. Optimization and Parallelization on HIR,
  5. HIR to LIR(*),
  6. LIR Flow Analysis,
  7. Optimization and Parallelization on LIR, and
  8. Assembly code generation(*).
Five of the above (*) are already implemented.

Specified by:
compile in interface CompilerImplementation
Overrides:
compile in class Driver
Parameters:
sourceFile - the source file name.
suffix - suffix rule of the source file.
in - input.
out - output.
io - the IoRoot.
Throws:
PassException - unrecoverable error(s) found in processing.
java.io.IOException - any IO error.

main

public static void main(java.lang.String[] args)
A main function.
Makes a compile specification from a command line. Creates an compiler driver API object giving the compile specification. Creates a driver implementation object and pass it to the API object to start compilation.

Parameters:
args - a command line.