On 03/12/2015 07:20 AM, Richard Biener wrote:

After noticing tree-parloop.c passing crap to split_block (a tree
rather than a gimple or an rtx) I noticed those CFG functions simply
take void * pointers.  The following patch fixes that and adds
two overloads, one for GIMPLE use and one for RTL use.

Bootstrapped on x86_64-unknown-linux-gnu, testing in progress.

Ok at this stage?

Thanks,
Richard.

2015-03-12  Richard Biener  <rguent...@suse.de>

        * cfghooks.h (create_basic_block): Replace with two overloads
        for RTL and GIMPLE.
        (split_block): Likewise.
        * cfghooks.c (split_block): Rename to ...
        (split_block_1): ... this.
        (split_block): Add two type-safe overloads for RTL and GIMPLE.
        (split_block_after_labels): Call split_block_1.
        (create_basic_block): Rename to ...
        (create_basic_block_1): ... this.
        (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
        (create_empty_bb): Call create_basic_block_1.
        * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
        split_block_after_labels.
        * omp-low.c (expand_parallel_call): Likewise.
        (expand_omp_target): Likewise.
        (simd_clone_adjust): Likewise.
        * tree-chkp.c (chkp_get_entry_block): Likewise.
        * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
        create_basic_block overload.
        (cgraph_node::expand_thunk): Likewise.
        * tree-cfg.c (make_blocks): Likewise.
        (handle_abnormal_edges): Likewise.
        * tree-inline.c (copy_bb): Likewise.
Seems reasonable since it's very low risk and removes a difficult to reproduce & diagnose compile-time issue.

But ultimately I think it's the release managers' call here.

Jeff

Reply via email to