Re: Question about 4.5.x register allocation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I have moved the pass so that it is immediately after pass_ira - no 
difference, I still see register 75 (and 74). Also, df.c doesn't appear to 
be in my source - I assume it is now df-core.c which does have quite the 
documentation and I will take a look. Are you basically saying that after 
the hard assignments the live sets are not necessarily valid any more? 
That would be .. oh, the word that comes to mind is "bad"!

As an aside, inserting RTL to save and restore rax regardless of whether 
or not it is live seems to work (need to run the full tests yet) - it just 
bugs me to be saving things when it may not be necessary. 

Bill


----------------------------

William Mahoney <wmahoney@xxxxxxxxxxxxxxxx> writes:

> Anyway as I said this is called from passes
>
> --------------------------------
>           NEXT_PASS (pass_machine_reorg);
>           NEXT_PASS (pass_cleanup_barriers);
>           NEXT_PASS (pass_delay_slots);
>           NEXT_PASS (pass_split_for_shorten_branches);
>           NEXT_PASS (pass_convert_to_eh_region_ranges);
>   NEXT_PASS (pass_bill_instrument); /* Bill was here */
>           NEXT_PASS (pass_shorten_branches);
>  -----------------------------
>
> So you see it IS in fact after pass_convert_to_eh_region_ranges as you 
> noted below.  Is that where the hard registers are assigned, and if so, 
it 
> causes the live bitmap in the blocks to be wrong? 

Please reply to the mailing list, not just to me.  Thanks.

Hard registers are assigned in pass_ira, so quite a bit earlier than
where you have your pass.  I think you need to do your pass before
pass_free_cfg.  I don't know what it means to call df_get_live_in after
pass_free_cfg.  Also, are you calling df_live_add_problem and df_analyze
at the start of your pass?  See the long comment at the top of df.c.

Ian




[Index of Archives]     [Linux C Programming]     [Linux Kernel]     [eCos]     [Fedora Development]     [Fedora Announce]     [Autoconf]     [The DWARVES Debugging Tools]     [Yosemite Campsites]     [Yosemite News]     [Linux GCC]

  Powered by Linux