This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix 61565 -- cmpelim vs non-call exceptions
- From: Ramana Radhakrishnan <ramana dot radhakrishnan at arm dot com>
- To: Richard Henderson <rth at redhat dot com>, "gcc-patches at gcc dot gnu dot org" <gcc-patches at gcc dot gnu dot org>
- Date: Mon, 23 Jun 2014 10:29:24 +0100
- Subject: Re: [PATCH] Fix 61565 -- cmpelim vs non-call exceptions
- Authentication-results: sourceware.org; auth=none
- References: <53A49957 dot 9040403 at redhat dot com>
On 20/06/14 21:28, Richard Henderson wrote:
There aren't too many users of the cmpelim pass, and previously they were all
small embedded targets without an FPU.
I'm a bit surprised that Ramana decided to enable this pass for aarch64, as
that target is not so limited as the block comment for the pass describes.
Honestly, whatever is being deleted here ought to have been found earlier,
either via combine or cse. We ought to find out why any changes are made
during this pass for aarch64.
Agreed - Going back and looking at my notes I remember seeing a
difference in code generation with the elimination of a number of
compares that prompted me to turn this on in a number of benchmarks. I
don't remember double checking why CSE hadn't removed that at that time.
This also probably explains the equivalent patch for ARM and Thumb2
hasn't shown demonstrable differences.
Investigating this pass for Thumb1 may be interesting.
That said, this PR does demonstrate a bug in the handling of fp comparisons in
the presence of -fnon-call-exceptions, so I go ahead and fix that regardless of
what we do with the aarch64 port longer term.
Fixing it properly in the pass makes sense and sorry about the breakage.
I can't look into this immediately but one of us will pick this up.
regards
Ramana
Bootstrap still in progress, but the original testcase is resolved.
r~