[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bernds at codesourcery dot com


--- Comment #73 from bernds at codesourcery dot com  2010-08-06 10:27 
---
Subject: Re:  [4.6 regression] Revision 162270 failed
 to bootstrap

On 08/06/2010 12:00 PM, bonzini at gnu dot org wrote:
> --- Comment #72 from bonzini at gnu dot org  2010-08-06 10:00 ---
> No, why is there no def for r25 _where it is clobbered_?

There is.  The problem seems to be that we first propagate into insn 15,
which then looks like

(insn 15 14 16 3 (set (reg:DI 67 [ obj.8+-4 ])
(sign_extend:DI (reg:SI 25 %r25 [ obj ])))
../../gcc/gcc/cfg.c:1211 139 {extendsidi2}
 (expr_list:REG_DEAD (reg/v:DI 74 [ obj+-4 ])
(nil)))

and from there, we propagate into another insn.  However, at this point,
insn 15 has no uses associated with it, so all_uses_available_at returns
true without doing anything.


-- 


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



[Bug bootstrap/44970] [4.6 regression] Revision 162270 failed to bootstrap

2010-08-06 Thread bernds at codesourcery dot com


--- Comment #71 from bernds at codesourcery dot com  2010-08-06 09:57 
---
Subject: Re:  [4.6 regression] Revision 162270 failed
 to bootstrap

On 08/06/2010 11:54 AM, bonzini at gnu dot org wrote:
> --- Comment #70 from bonzini at gnu dot org  2010-08-06 09:54 ---
> The real reason is the first: why is there no def for r25?

Because it's an incoming argument.


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-28 Thread bernds at codesourcery dot com


--- Comment #26 from bernds at codesourcery dot com  2010-04-28 19:33 
---
Ah! I think that makes sense. For some reason I only looked at the other use of
df_simulate_find_noclobber_defs.


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-28 Thread bernds at codesourcery dot com


--- Comment #22 from bernds at codesourcery dot com  2010-04-28 13:59 
---
(In reply to comment #20)
> I have forgotten to ask my question! Could it be a similar issue to that you
> fixed for pr42220?

No, that looks completely unrelated at first glance.


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-26 Thread bernds at codesourcery dot com


--- Comment #13 from bernds at codesourcery dot com  2010-04-26 22:54 
---
I've tried the two versions of ifcvt.c with a powerpc-apple-darwin9 cross
compiler.  Out of many megabytes of testcases, I can find only one code
generation difference with "-O2 -fomit-frame-pointer" for this target, and that
looks correct as far as I can tell from the rtl dumps and assembly.

If the testsuite run produces nothing, can you check the object files of the
two stage2 compilers (working and broken) for differences in code generation? 
That could help narrow down which file is being miscompiled.


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-26 Thread bernds at codesourcery dot com


--- Comment #11 from bernds at codesourcery dot com  2010-04-26 13:19 
---
(In reply to comment #10)
> Subject: Re:  [4.6 Regression] Bootstrap failure for
>  powerpc-apple-darwin9: cannot compute suffix of object files
> 
> > One thing that would help would be to build just a stage1 compiler and 
> > target
> > libraries, then run the testsuite.
> 
> Indeed I don't know how I could do that. I RTFM but did not find it.

See
http://gcc.gnu.org/wiki/Top-Level_Bootstrap

I think Q3 is the one you need.


Bernd


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-26 Thread bernds at codesourcery dot com


--- Comment #9 from bernds at codesourcery dot com  2010-04-26 12:56 ---
One thing that would help would be to build just a stage1 compiler and target
libraries, then run the testsuite.  That might give us a smaller testcase to
look at.


-- 


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



[Bug bootstrap/43858] [4.6 Regression] Bootstrap failure for powerpc-apple-darwin9: cannot compute suffix of object files

2010-04-26 Thread bernds at codesourcery dot com


--- Comment #7 from bernds at codesourcery dot com  2010-04-26 12:11 ---
What happens if you replace the new call to df_simulate_find_noclobber_defs in
ifcvt.c with a call to df_simulate_find_defs?  If that fixes the bootstrap, can
you find a testcase where this changes code generation?


-- 


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



[Bug middle-end/43848] [4.6 Regression]: can't build libgcc for cris-elf with r158633

2010-04-22 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-04-22 12:02 ---
I somehow managed not to check in the optabs.h change in the first commit.  Can
you try again with r158643?


-- 


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



[Bug target/42498] GCC can't use smull to compute int * int --> long long

2010-04-22 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-04-22 10:01 ---
Fixed now.


-- 


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



[Bug target/40457] use stm and ldm to access consecutive memory words

2010-04-20 Thread bernds at codesourcery dot com


--- Comment #11 from bernds at codesourcery dot com  2010-04-20 11:47 
---
http://gcc.gnu.org/ml/gcc-patches/2010-04/msg01231.html


-- 


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



[Bug target/43742] [4.6 Regression] web.c/union_match_dups segfaults for a null *ref on sh-elf

2010-04-14 Thread bernds at codesourcery dot com


--- Comment #9 from bernds at codesourcery dot com  2010-04-15 00:16 ---
Created an attachment (id=20383)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20383&action=view)
Maybe this one.

Actually, following the split leads to another pattern that's broken.


-- 

bernds at codesourcery dot com changed:

   What|Removed |Added

  Attachment #20382|0   |1
is obsolete||


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



[Bug target/43742] [4.6 Regression] web.c/union_match_dups segfaults for a null *ref on sh-elf

2010-04-14 Thread bernds at codesourcery dot com


--- Comment #8 from bernds at codesourcery dot com  2010-04-15 00:10 ---
Created an attachment (id=20382)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20382&action=view)
Another attempt

The patch that was checked in looks wrong to me.  How about this one instead?


-- 


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



[Bug rtl-optimization/43742] [4.6 Regression] web.c/union_match_dups segfaults for a null *ref on sh-elf

2010-04-13 Thread bernds at codesourcery dot com


--- Comment #3 from bernds at codesourcery dot com  2010-04-13 09:09 ---
Created an attachment (id=20377)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20377&action=view)
A patch to fix the problem

This seems to be due to a pattern that uses a "+" constraint in an input-only
operand.  The attached patch seems to fix it for me; please confirm.


-- 


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



[Bug target/40657] allocate local variables with fewer instructions

2010-03-31 Thread bernds at codesourcery dot com


--- Comment #7 from bernds at codesourcery dot com  2010-03-31 21:42 ---
A patch is at http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01274.html


-- 

bernds at codesourcery dot com changed:

   What|Removed |Added

 CC||bernds at codesourcery dot
   ||com


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



[Bug target/41514] redundant compare instruction of consecutive conditional branches

2010-03-31 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-03-31 21:41 ---
A simple patch is at http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01405.html


-- 

bernds at codesourcery dot com changed:

   What|Removed |Added

 CC||bernds at codesourcery dot
   ||com


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



[Bug target/21803] [ia64] gcc produces really odd predicated code

2010-03-31 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-03-31 21:36 ---
Patch at
  http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01536.html

Only tested on ARM (same issue as PR42496), but should also solve the ia64
problem.


-- 


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



[Bug target/40603] unnecessary conversion from unsigned byte load to signed byte load

2010-03-26 Thread bernds at codesourcery dot com


--- Comment #5 from bernds at codesourcery dot com  2010-03-26 12:01 ---
http://gcc.gnu.org/ml/gcc-patches/2010-03/msg01235.html


-- 


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



[Bug rtl-optimization/42258] [4.5 Regression] redundant register move around mul instruction

2010-03-17 Thread bernds at codesourcery dot com


--- Comment #5 from bernds at codesourcery dot com  2010-03-17 11:44 ---
Created an attachment (id=20123)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20123&action=view)
A patch to fix it.

Okay, so the pattern is written strangely because it's a two-operand mul where
the input and output may not be the same register.
It may be better to write this using an earlyclobbered in-out operand, but you
can't show anymore that the operation is commutative.

It can be fixed with a simple peephole optimization, at least for this
testcase.


-- 


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



[Bug rtl-optimization/42258] [4.5 Regression] redundant register move around mul instruction

2010-03-17 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-03-17 11:05 ---
It's not immediately obvious to me why the ARM mulsi3 patterns are written the
way they are - what are the earlyclobber tricks supposed to be good for? 
Richard E., any clues?


-- 

bernds at codesourcery dot com changed:

   What|Removed |Added

 CC||rearnsha at arm dot com,
   ||bernds at codesourcery dot
   |    |com


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



[Bug rtl-optimization/42500] Unnecessary mov of sp to a register

2010-03-16 Thread bernds at codesourcery dot com


--- Comment #5 from bernds at codesourcery dot com  2010-03-16 15:51 ---
I believe this is exactly the same problem as PR40615.


-- 


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



[Bug target/40697] inefficient code to extract least bits from an integer value

2010-03-16 Thread bernds at codesourcery dot com


--- Comment #4 from bernds at codesourcery dot com  2010-03-16 10:56 ---
Created an attachment (id=20117)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=20117&action=view)
A patch to fix it.

The andsi3 expander has code to do the right thing, but
avoid_expensive_constant prevents it from seeing the constant.  This can be
fixed by tweaking the rtx_costs to detect the same cases as the expander.


-- 


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



[Bug rtl-optimization/42502] [4.4/4.5 Regression] Bad register allocation in a very simple code

2010-03-15 Thread bernds at codesourcery dot com


--- Comment #6 from bernds at codesourcery dot com  2010-03-15 23:44 ---
I'm testing a fwprop patch that fixes the problem except for two unnecessary
movs at the end.


-- 

bernds at codesourcery dot com changed:

   What|Removed |Added

 CC||bernds at codesourcery dot
   |    |com


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