This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Live on Exit renaming.
- From: "Bin.Cheng" <amker dot cheng at gmail dot com>
- To: Steven Bosscher <stevenb dot gcc at gmail dot com>
- Cc: Ajit Kumar Agarwal <ajit dot kumar dot agarwal at xilinx dot com>, "law at redhat dot com" <law at redhat dot com>, Richard Biener <richard dot guenther at gmail dot com>, "gcc at gcc dot gnu dot org" <gcc at gcc dot gnu dot org>, Vinod Kathail <vinodk at xilinx dot com>, Shail Aditya Gupta <shailadi at xilinx dot com>, Vidhumouli Hunsigida <vidhum at xilinx dot com>, Nagaraju Mekala <nmekala at xilinx dot com>
- Date: Mon, 6 Jul 2015 09:34:20 +0800
- Subject: Re: Live on Exit renaming.
- Authentication-results: sourceware.org; auth=none
- References: <37378DC5BCD0EE48BA4B082E0B55DFAA41F4116D at XAP-PVEXMBX02 dot xlnx dot xilinx dot com> <CABu31nN=1EER_7JYDCFXp9MaPKsrczQ_iWA33pwgd8pLU2NYrQ at mail dot gmail dot com>
On Mon, Jul 6, 2015 at 6:02 AM, Steven Bosscher <stevenb.gcc@gmail.com> wrote:
> On Sat, Jul 4, 2015 at 3:45 PM, Ajit Kumar Agarwal wrote:
>> I am not sure why the above optimization is not implemented in GCC.
>
> -fsplit-ivs-in-unroller
And thing might have changed. Given the condition GCC does IVO on
gimple, unrolling on RTL, there is inconsistency between the two
optimizer since IVO takes register pressure of IVs into consideration
and assumes IVs will take single registers. At least for some cases,
splitting live range of IVs results in bad code. See PR29256 for more
information. As described in the comment, actually I am going to do
some experiments disabling such transformation to see what happens.
Thanks,
bin
>
> Ciao!
> Steven