This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC, cfg/dataflow] Properly split EH edges for -freorder-blocks-and-partition
- From: Richard Henderson <rth at redhat dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>, rguenther at suse dot de, bonzini at gnu dot org, bernds at codesourcery dot com
- Date: Thu, 21 Jul 2011 15:11:26 -0700
- Subject: Re: [RFC, cfg/dataflow] Properly split EH edges for -freorder-blocks-and-partition
- References: <4E289782.4040702@redhat.com> <CABu31nN7=3k3o=FaWs+4UOqnf-=ouwmE13JZURa6USdaLON2zg@mail.gmail.com>
On 07/21/2011 03:05 PM, Steven Bosscher wrote:
> On Thu, Jul 21, 2011 at 11:17 PM, Richard Henderson <rth@redhat.com> wrote:
>
>> Suggestions for something better than the df_finish_pass hack
>> that I added at the end of partition_hot_cold_basic_blocks are
>> very welcome.
>
> Is it not enough to just call df_bb_refs_record and df_analyze
> manually after you have created the basic block and the EH edges?
df_bb_refs_record is static. Perhaps fixing that's the real
solution, but that's why I'm RFC'ing dataflow maintainers.
I tried just df_scan_blocks, which is as close to df_bb_refs_record
as one can get with what's currently exported, but then you run into
problems with assertions that we havn't previously collected df info.
Which is what led me to just copy the finish/alloc/scan/analyze
sequence you see here from ira.c.
r~