This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: C++ PATCH to integrate c++-delayed-folding branch
- From: David Edelsohn <dje dot gcc at gmail dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 17 Nov 2015 09:52:31 -0500
- Subject: Re: C++ PATCH to integrate c++-delayed-folding branch
- Authentication-results: sourceware.org; auth=none
- References: <CAGWvny=UJkx6m4--bYN6sT5xz=ifpwue5fB+8Jx-bsPufACXqw at mail dot gmail dot com> <5646D8FD dot 40209 at redhat dot com> <CAGWvnyk5q70c3YDeiW_=EAgXj7yKD_MFMv1BdsPKLbTCPaBoag at mail dot gmail dot com> <564AA34F dot 8090901 at redhat dot com>
On Mon, Nov 16, 2015 at 10:47 PM, Jason Merrill <jason@redhat.com> wrote:
> On 11/16/2015 09:39 PM, David Edelsohn wrote:
>>
>> The PPC port seems to be bootstrapping again, but I'm not sure why.
>> Mike Meissner's patch only should have affected long double.
>
>
>> It's hard to know if there is a latent bug that has gone back into hiding.
>
>
> The problem was twofold:
>
> 1) VSX_L included IFmode, but VSa didn't, so expanding various patterns over
> VSX_L generated an IFmode insn that still had <VSa> scattered around.
> Mike's patch fixed this.
>
> 2) The delayed folding merge changed
>
> __builtin_constant_p (non-constant-expr && false)
>
> to be false because the operand is not a C++ constant expression. Previously
> we had seen that the IFmode insn was inactive because its test was known to
> be false, but with this change we needed to evaluate its test at runtime, so
> we had to parse the insn itself, so we ran into problem #1.
>
> I have a patch to fix the __builtin_constant_p regression which I will be
> checking in shortly.
Thanks for debugging and fixing this!
- David