This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register
- From: "vmakarov at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 13 Feb 2015 03:35:29 +0000
- Subject: [Bug rtl-optimization/64317] [5 Regression] Ineffective allocation of PIC base register
- Auto-submitted: auto-generated
- References: <bug-64317-4 at http dot gcc dot gnu dot org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64317
--- Comment #9 from Vladimir Makarov <vmakarov at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #7)
> Vlad,
>
> What's the rationale behind the 50% probability cutoff for forming an EBB?
> For the purposes of inheritance, ISTM you want the biggest EBBs possible to
> give you a maximal window in which to find an insn to inherit from? Or is
> it the case that EBB formation impacts both spilling and inheritance in
> IRA/LRA?
I remember I tried different cut-off probabilities. But LRA is changing
quickly, may be it is time to check this again.
I'd agree with you that for inheritance the bigger EBB, the better. But there
are also optional reloads. So if we had EBB consisting of BB1 and very low
probability BB2
BB1
op with pseudo spilled
BB2
the spilled pseudo use
optional reload and inheritance would transform it into
BB1
load hr, pseudo spilled
op with hr
BB2
hr use
With 50% cut-off we would have
BB1
op with pseudo spilled
BB2
the spilled pseudo use
which is better code if probability BB1 >> BB2.