http://gcc.gelato.org/SourceCodeMap

SourceCodeMap

Source Code Map

cc1 is the binary that actually does the C compilation. This page offers a map through the code from main() to the optimizers. This information is based on the [WWW] gcc-4.0-20050213 snapshot.

Call Graph

Functions are grouped by file and indented under their callers.

gcc/main.c

Functions

main()

gcc/toplev.c

Functions

toplev_main()

  • general_init()
    do_compile()


general_init()


do_compile()

  • compile_file()


compile_file()

gcc/c-parse.in

Functions

yyparse()

  • The fndef: rule calls finish_function() after parsing the function's compound statement.

    finish_function() (gcc/c-decl.c)

gcc/c-decl.c

Functions

finish_function()

  • c_expand_body()


c_expand_body()

gcc/tree-optimize.c

Variables

all_passes

  • This global is a list of gcc/tree_opt_pass structs that define the order for the tree level optimizations.

Functions

init_tree_optimization_passes()

  • all_passes is initialized here.


tree_rest_of_compilation()

  • execute_pass_list()


execute_pass_list()

  • Tree level optimizations happen here. Passes are defined in init_tree_optimization_passes(). One of the passes executed here (pass_rest_of_compilation) runs the back end (RTL) of the compiler through the function rest_of_compilation().

    execute_one_pass()

gcc/tree-pass.h

Types

tree_opt_pass

  • A struct that defines a single optimizer pass.

gcc/passes.c

Variables

pass_rest_of_compilation

  • This variable defines the pass that executes the RTL level of the compiler.

Functions

rest_of_compilation()

  • RTL optimizations start here.

    rest_of_handle_tracer()
    rest_of_handle_sms()
    rest_of_handle_sched2()


rest_of_handle_tracer()


rest_of_handle_sms()


rest_of_handle_sched2()

  • Superblock scheduling starts here

  • This function is not used on ia64. See rest_of_handle_machine_reorg()

    schedule_ebbs() (gcc/sched-ebb.c)


rest_of_handle_machine_reorg()

gcc/modulo-sched.c

Functions

sms_schedule()

  • This function handles Swing Modulo Scheduling.

gcc/config/ia64/ia64.c

Functions

ia64_reorg()

  • Handles ia64 specific optimizations. This function is used instead of rest_of_handle_sched2() on ia64.

    schedule_ebbs() (gcc/sched-ebb.c)

last edited 2005-03-31 21:40:56 by RobertKidd


Reply via email to