This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Handle splitting basic blocks in lower-subreg.c
- From: Ian Lance Taylor <iant at google dot com>
- To: "Steven Bosscher" <stevenb dot gcc at gmail dot com>
- Cc: "GCC Patches" <gcc-patches at gcc dot gnu dot org>
- Date: 09 Mar 2007 15:59:39 -0800
- Subject: Re: Handle splitting basic blocks in lower-subreg.c
- References: <571f6b510703091416j31cfd5d3m27eb93f8ab26e782@mail.gmail.com>
"Steven Bosscher" <stevenb.gcc@gmail.com> writes:
> This is my first attempt at removing find_many_sub_basic_blocks out of
> lower-subreg.c. Ian, should I expect other cases, or is just handling
> loads to multi-word pseudos the only case that can cause new control
> flow insns to appear?
That should be the only case. If other cases somehow appear, I don't
have any problem with blocking them in find_decomposable_subregs.
> * lower-subreg.c: Include except.h.
> (decompose_multiword_subregs): Verify that the only control flow
> insns we can split are loads to multi-words pseudos.
> Handle breaking such blocks after splitting, instead of calling
> find_many_sub_basic_blocks.
This is OK, except:
> +#ifdef ENABLE_CHECKING
> + verify_flow_info ();
> +#endif
you don't need that, because the pass structs have TODO_verify_flow.
Or, if you want that anyhow, take out the TODO_verify_flow.
Thanks for cleaning up after me.
Ian