This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Fix -fcrossjumping at -O1 (PR rtl-optimization/48156)


On Fri, Mar 18, 2011 at 17:31, Jakub Jelinek <jakub@redhat.com> wrote:
> On Fri, Mar 18, 2011 at 12:23:11PM -0400, Kenneth Zadeck wrote:
>> I believe that this is not the right way to go.
>>
>> if someone specifies -fcrossjumping, then the pass should turn on
>> live for the duration of the pass just as ifcvt does. ? ?If they ask
>> for crossjumping you should give them crossjumping and not some
>> crippled version of it.
>
> Such (untested) patch is in
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48156#c7
> But Paolo just added comment there that he prefers this version.
>
> Is the live problem so much more useful for crossjumping than lr problem?
> All it wants to prove is if it can safely move a couple of instructions
> across some other instructions, and the live_union bitmap that is computed
> using the live/lr problem is used to find out if registers set by the
> moved instructions are actually live at the end of those instructions
> or not. ?What would be an example where live problem would allow optimizing
> more than lr?

LIVE == LR except when you have uninitialized uses.

Unless it is needed for correctness, I see no reason to prefer LIVE to
LR at -O1.

Paolo


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]