Hi, Ian > That documentation is out of date. The CFG is now retained through most > of the RTL passes.
You said "through most of the RTLpasses". And I found the CFG is freed before other passes in gcc/passes.c. NEXT_PASS (pass_free_cfg); NEXT_PASS (pass_machine_reorg); NEXT_PASS (pass_cleanup_barriers); NEXT_PASS (pass_delay_slots); NEXT_PASS (pass_split_for_shorten_branches); NEXT_PASS (pass_convert_to_eh_region_ranges); NEXT_PASS (pass_shorten_branches); NEXT_PASS (pass_set_nothrow_function_flags); NEXT_PASS (pass_final); Is the CFG the same as the one in the assembly? I mean if I analysis the assembly and contruct the CFG back, they are the same? Thanks. Regards, chenwj -- Wei-Ren Chen (陳韋任) Computer Systems Lab, Institute of Information Science, Academia Sinica, Taiwan (R.O.C.) Tel:886-2-2788-3799 #1667