Hans-Peter Nilsson | 1 Jul 2010 01:07

Re: breaking cris-elf build with "Re: [RTL] move rtl diagnostics out of toplev.h"

On Thu, 1 Jul 2010, Manuel López-Ibáñez wrote:
> On 1 July 2010 00:05, Hans-Peter Nilsson <hp <at> bitrange.com> wrote:
> > libbackend.a(recog.o): In function `constrain_operands':
> > /tmp/hpautotest-gcc1/gcc/gcc/recog.c:2616: undefined reference
> > to `exact_log2'
> > libbackend.a(recog.o): In function `asm_operand_ok':
> > /tmp/hpautotest-gcc1/gcc/gcc/recog.c:1756: undefined reference
> > to `exact_log2'
> > libbackend.a(reload.o): In function `find_reloads':
> > /tmp/hpautotest-gcc1/gcc/gcc/reload.c:3363: undefined reference
> > to `exact_log2'
> > collect2: ld returned 1 exit status
> >
> > with "warning: implicit declaration of function 'exact_log2'"
> > when compiling reload.c and recog.c, probably due to exact_log2
> > being used in CONST_OK_FOR_CONSTRAINT_P.
> >
> > I'm lost in this new scheme of moving includes around, but you
> > should know.  What's the best course of action besides moving to
> > constraints.md?
>
> For every file that produces such error, just include toplev.h
>
> #include "toplev.h" /* exact_log2 */
>
> after everything else. I will do it for you if you give me the list of
> files affected.

Thanks, the list seen in the quoted buildlog above is complete.

(Continue reading)

Manuel López-Ibáñez | 1 Jul 2010 01:17
Picon

Re: breaking cris-elf build with "Re: [RTL] move rtl diagnostics out of toplev.h"

On 1 July 2010 01:07, Hans-Peter Nilsson <hp <at> bitrange.com> wrote:
> On Thu, 1 Jul 2010, Manuel López-Ibáñez wrote:
>> On 1 July 2010 00:05, Hans-Peter Nilsson <hp <at> bitrange.com> wrote:
>> > libbackend.a(recog.o): In function `constrain_operands':
>> > /tmp/hpautotest-gcc1/gcc/gcc/recog.c:2616: undefined reference
>> > to `exact_log2'
>> > libbackend.a(recog.o): In function `asm_operand_ok':
>> > /tmp/hpautotest-gcc1/gcc/gcc/recog.c:1756: undefined reference
>> > to `exact_log2'
>> > libbackend.a(reload.o): In function `find_reloads':
>> > /tmp/hpautotest-gcc1/gcc/gcc/reload.c:3363: undefined reference
>> > to `exact_log2'
>> > collect2: ld returned 1 exit status
>> >
>> > with "warning: implicit declaration of function 'exact_log2'"
>> > when compiling reload.c and recog.c, probably due to exact_log2
>> > being used in CONST_OK_FOR_CONSTRAINT_P.
>> >
>> > I'm lost in this new scheme of moving includes around, but you
>> > should know.  What's the best course of action besides moving to
>> > constraints.md?
>>
>> For every file that produces such error, just include toplev.h
>>
>> #include "toplev.h" /* exact_log2 */
>>
>> after everything else. I will do it for you if you give me the list of
>> files affected.
>
> Thanks, the list seen in the quoted buildlog above is complete.
(Continue reading)

Andrew Pinski | 1 Jul 2010 01:23
Picon

Re: breaking cris-elf build with "Re: [RTL] move rtl diagnostics out of toplev.h"

On Wed, Jun 30, 2010 at 4:17 PM, Manuel López-Ibáñez
<lopezibanez <at> gmail.com> wrote:
> BTW, is there a rule against targets including the headers that they
> need. Can .md files include headers?

rs6000 uses exact_log2 in its constraints.md.  This works because
genpreds.c creates a source file which includes toplev.h.  See
genpreds.c:1340.  I think someone should go through those includes
also.

Thanks,
Andrew Pinski

Jan Hubicka | 1 Jul 2010 01:29
Picon

Re: Simplify and speedup df notes creation

Hi,
it looks this patch got stuck.  I would like to withdraw the part making notes
creation inlinine at least until the progress on restructuring headers gets
more far.
I bootstrapped the patch with df-problems.c change alone (that removes the cache)
and tried to benchmark difference on combine.c compilation at -O1.  After averaging
30 runs removing peaks I get 2.695s for mainline and 2.687s for patch.

So would be OK to apply the df-problems.c change?
Honza

Manuel López-Ibáñez | 1 Jul 2010 01:29
Picon

Re: breaking cris-elf build with "Re: [RTL] move rtl diagnostics out of toplev.h"

On 1 July 2010 01:23, Andrew Pinski <pinskia <at> gmail.com> wrote:
> On Wed, Jun 30, 2010 at 4:17 PM, Manuel López-Ibáñez
> <lopezibanez <at> gmail.com> wrote:
>> BTW, is there a rule against targets including the headers that they
>> need. Can .md files include headers?
>
> rs6000 uses exact_log2 in its constraints.md.  This works because
> genpreds.c creates a source file which includes toplev.h.  See
> genpreds.c:1340.  I think someone should go through those includes
> also.

But I didn't touch that file and toplev.h still contains exact_log2,
so what is going on?

Manuel.

Andrew Pinski | 1 Jul 2010 01:31
Picon

Re: breaking cris-elf build with "Re: [RTL] move rtl diagnostics out of toplev.h"

On Wed, Jun 30, 2010 at 4:29 PM, Manuel López-Ibáñez
<lopezibanez <at> gmail.com> wrote:
> On 1 July 2010 01:23, Andrew Pinski <pinskia <at> gmail.com> wrote:
>> On Wed, Jun 30, 2010 at 4:17 PM, Manuel López-Ibáñez
>> <lopezibanez <at> gmail.com> wrote:
>>> BTW, is there a rule against targets including the headers that they
>>> need. Can .md files include headers?
>>
>> rs6000 uses exact_log2 in its constraints.md.  This works because
>> genpreds.c creates a source file which includes toplev.h.  See
>> genpreds.c:1340.  I think someone should go through those includes
>> also.
>
> But I didn't touch that file and toplev.h still contains exact_log2,
> so what is going on?

Easy, Cris has not be converted over to use define_constraint yet.

Thanks,
Andrew Pinski

Gerald Pfeifer | 1 Jul 2010 01:38

Re: Script to check formatting for GNU style patches

On Wed, 30 Jun 2010, Sebastian Pop wrote:
> Gerald, does this patch look good?  Ok to apply after the
> script is committed to trunk?

Yes, it does.

Thanks,
Gerald

H.J. Lu | 1 Jul 2010 02:57
Picon

Re: Fix PR39799: missing uninitialized vars warning

On Wed, Jun 30, 2010 at 4:33 AM, Bernd Schmidt <bernds <at> codesourcery.com> wrote:
> On 06/30/2010 12:00 PM, Manuel López-Ibáñez wrote:
>
>> /* { dg-message "note: 'b' was declared here" } */
>
> When I tried something like this initially I couldn't get it to work, so
> I started looking at other testcases.  I've tried again now - how about
> this version?

The test failed with -m32 on Linux/x86-64:

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44738

But they work for 32bit gcc.

--

-- 
H.J.

Mike Stump | 1 Jul 2010 03:02
Picon

Re: [gimple] assignments to volatile

On Jun 27, 2010, at 11:28 PM, Nathan Sidwell wrote:
> On 06/25/10 17:41, Mike Stump wrote:
>> On Jun 24, 2010, at 11:35 PM, Nathan Sidwell wrote:
>>> On 06/24/10 16:42, Mike Stump wrote:
>>> 
>>>> Sorry for not expounding.  I thought it would be obvious I was talking about well formed code...  First
case would be something like:
>>>> 
>>>> volatile int i, j, k;
>>>> volatile int vi;
>>>> void foo(volatile int&   j) {
>>>>   foo(i = k);
>>>> }
>>>> 
>>>> here, we need to bind j to the address of i.  The second case is something like:
>>> 
>>> Correct.  The patch does not change this behaviour -- the C++ front end already has to explicitly break
out the lvalue from the assignment to conform to the semantics of TREEs.  The current G++ behaviour is not to
re-read the assigned-to value.
>> 
>> g++ seems not to share your position:
>> 
>> 	movl	_i, %eax
>> 	movl	%eax, (%esp)
>> 
>> volatile int i, j, k;
>> volatile int vi;
>> void foo(int j) {
>>   foo(i = k);
>> }
(Continue reading)

Nathan Froyd | 1 Jul 2010 04:09

[PATCH] turn cfun->local_decls into a VEC

Enough with those trivial TREE_LIST removal patches that break
bootstrap.  How about a patch that does some real damage? :)

The patch below turns cfun->local_decls into a VEC.  The order of the
elements in the list doesn't matter, so it's straightforward to retain
the same time bounds for deleting elements in the few places that we do
that.  add_local_decl helps localize the allocation type of the
local_decls VEC (and came in handy when I realized that the vector
couldn't be heap allocated); FOR_EACH_VEC_ELT_REVERSE and
FOR_EACH_LOCAL_DECL help to not make dumb mistakes while converting
everything over.  Both of these additions also make things clearer.

Bootstrapped/tested on x86_64-unknown-linux-gnu, all languages except
for lto (libjava/libstdc++ rebuild and test still ongoing, but expected
to succeed).  I understand that I need to install gold to test that and
will perform that testing prior to installing the patch.  OK to commit?

-Nathan

gcc/
	* vec.h (FOR_EACH_VEC_ELT_REVERSE): New macro.
	* function.h (struct_function): Change type of local_decls field
	to a VEC.
	(add_local_decl): New function.
	(FOR_EACH_LOCAL_DECL): New macro.
	* cfgexpand.c (init_vars_expansion): Adjust for new type of
	cfun->local_decls.
	(estimated_stack_frame_size): Likewise.
	(expand_used_vars): Likewise.
	* cgraphbuild.c (build_cgraph_edges): Likewise.
(Continue reading)


Gmane