This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: gcc/resource.c mark_target_live_regs Question
- To: law at redhat dot com
- Subject: Re: gcc/resource.c mark_target_live_regs Question
- From: Mark Mitchell <mark at codesourcery dot com>
- Date: Thu, 15 Feb 2001 09:43:46 -0800
- Cc: kenner at vlsi1 dot ultra dot nyu dot edu, rth at redhat dot com, gcc at gcc dot gnu dot org
- Organization: CodeSourcery, LLC
- References: <2022.982209415@slagheap.cygnus.com>
>>>>> "Jeffrey" == Jeffrey A Law <law@redhat.com> writes:
Jeffrey> In message <10102150239.AA27811@vlsi1.ultra.nyu.edu>you
Jeffrey> write:
>> It is accurate now. But as I mentioned elsewhere, reorg
>> destroys the cfg, so it doesn't matter.
>>
>> I'm not sure that's right. Yes, it affects flows, but I don't
>> think enough to require that backtracking.
Jeffrey> rth is right. reorg completely scroggs the cfg.
Why is it still safe, then, to go back all the way to the previous
BARRIER and then use the global_live_at_start information for the
basic block that starts at this point?
We're making some assumption that reorg confuses everything, but not
across BARRIERs? Is that it?
Jeffrey, if this turns out to be true, I suggest simply making
mark_target_live_regs mark all registers live if find_basic_block goes
back, say, more than 1000 instructions (use the new --param stuff) and
doesn't find a BARRIER. Far better to bail out on these huge programs
than take forever compiling them.
--
Mark Mitchell mark@codesourcery.com
CodeSourcery, LLC http://www.codesourcery.com