This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Fix PR47271: only if-convert full writes.
- From: Ian Lance Taylor <iant at google dot com>
- To: Matthias Klose <doko at ubuntu dot com>
- Cc: Sebastian Pop <sebpop at gmail dot com>, gcc-patches at gcc dot gnu dot org, rguenther at suse dot de, jakub at redhat dot com
- Date: Mon, 24 Jan 2011 15:54:55 -0800
- Subject: Re: [PATCH] Fix PR47271: only if-convert full writes.
- References: <1295901084-4644-1-git-send-email-sebpop@gmail.com> <4D3E0EBA.7040007@ubuntu.com>
Matthias Klose <doko@ubuntu.com> writes:
> On 24.01.2011 21:31, Sebastian Pop wrote:
>> Hi,
>>
>> The following patch filters out before if-conversion all the loops
>> containing basic blocks with more than 2 predecessors or containing
>> basic blocks that have exactly 2 predecessors not post-dominated by
>> the basic block: these basic blocks may contain phi nodes that are not
>> full writes. The current code generation for the tree-if-conversion
>> does not handle these cases.
>>
>> I am regstrapping this patch on amd64-linux. Ok for trunk?
>
> on ix86-linux-gnu, r169142 with the proposed patch applied on top,
> fails to build in libgo, but builds without the proposed patch.
I'm not sure what the issue here, but I'm sure it doesn't have anything
to do with Sebastian's patch.
> ../../../src/libgo/go/bytes/buffer.go:193:33: error: argument 1 has
> incompatible type
> ../../../src/libgo/go/bytes/buffer.go:193:39: error: argument 2 has
> incompatible type
> ../../../src/libgo/go/bytes/bytes.go:350:31: error: argument 1 has incompatible type
> ../../../src/libgo/go/bytes/bytes.go:350:50: error: argument 2 has incompatible type
> make[6]: *** [bytes/libbytes.a] Error 1
Since the function declaration changed, this looks like the build is
somehow picking up an old installed utf8.gox when it should be picking
up the newly built one. That is of course not supposed to happen, and I
don't see any way that it could happen.
Ian