Large number of fortran testsuite failures

2007-06-12 Thread Paul Richard Thomas

Following my commit of the patch for PR29786, I did a further regtest,
which produced a good number of fortran testsuite failures.  Being
late, I put it out of its misery.  I reverted to before my patch
(r125628) and find that the failures are still there.  For example,

$ /irun/bin/gfortran $test/sizeof.f90
/cygdrive/d/svn/trunk/gcc/testsuite/gfortran.dg/sizeof.f90: In function 'check_r
eal':
/cygdrive/d/svn/trunk/gcc/testsuite/gfortran.dg/sizeof.f90:37: internal compiler
error: Segmentation fault

f951, run under gdb, runs to completion, so the problem is further
towards the backend.

I regested earlier last night and all was well (sorry, I did not
record the revision #), so the problem has creapt in over a very small
number of patches.

You will excuse me please if I cannot identify the patch that is
responsible - this sort of investigation is just a bit too tedious
under Cygwin.  I will make one further reversion this morning and will
report if I have bracketed the problem.

I do not know if there are other gcc regressions.

Cheers

Paul


Does unrolling prevents doloop optimizations?

2007-06-12 Thread Vladimir Yanovsky

Hello,

In file loop_doloop.c function doloop_condition_get makes sure that
the condition is GE or NE
otherwise it prevents doloop optimizations. This caused a problem for
a loop which had NE condition without unrolling and EQ if unrolling
was run. Can I make doloop work after the unroller?

Thanks,
Vladimir


Without unrolling:
(insn 135 80 136 4 (set (reg:SI 204 [ LastIndex ])
   (plus:SI (reg:SI 204 [ LastIndex ])
   (const_int -1 [0x]))) 51 {addsi3} (nil)
   (nil))

(jump_insn 136 135 84 4 (set (pc)
   (if_then_else (ne:SI (reg:SI 204 [ LastIndex ])
   (const_int 0 [0x0]))
   (label_ref:SI 69)
   (pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 135 (nil))
   (expr_list:REG_BR_PROB (const_int 9000 [0x2328])
   (nil)))


After unrolling:
(insn 445 421 446 21 (set (reg:SI 213)
   (plus:SI (reg:SI 213)
   (const_int -1 [0x]))) 51 {addsi3} (nil)
   (nil))

(jump_insn 446 445 667 21 (set (pc)
   (if_then_else (eq:SI (reg:SI 213)
   (const_int 0 [0x0]))
   (label_ref:SI 465)
   (pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 445 (nil))
   (expr_list:REG_BR_PROB (const_int 1000 [0x3e8])
   (nil)))


Re: Does unrolling prevents doloop optimizations?

2007-06-12 Thread Zdenek Dvorak
Hello,

 In file loop_doloop.c function doloop_condition_get makes sure that
 the condition is GE or NE
 otherwise it prevents doloop optimizations. This caused a problem for
 a loop which had NE condition without unrolling and EQ if unrolling
 was run.

actually, doloop_condition_get is not applied to the code of the
program, so this change is irrelevant (doloop_condition_get is applied
to the doloop pattern from the machine description).  So there must be
some other reason why doloop transformation is not applied for your
loop.

Zdenek

 Can I make doloop work after the unroller?
 
 Thanks,
 Vladimir
 
 
 Without unrolling:
 (insn 135 80 136 4 (set (reg:SI 204 [ LastIndex ])
(plus:SI (reg:SI 204 [ LastIndex ])
(const_int -1 [0x]))) 51 {addsi3} (nil)
(nil))
 
 (jump_insn 136 135 84 4 (set (pc)
(if_then_else (ne:SI (reg:SI 204 [ LastIndex ])
(const_int 0 [0x0]))
(label_ref:SI 69)
(pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 135 (nil))
(expr_list:REG_BR_PROB (const_int 9000 [0x2328])
(nil)))
 
 
 After unrolling:
 (insn 445 421 446 21 (set (reg:SI 213)
(plus:SI (reg:SI 213)
(const_int -1 [0x]))) 51 {addsi3} (nil)
(nil))
 
 (jump_insn 446 445 667 21 (set (pc)
(if_then_else (eq:SI (reg:SI 213)
(const_int 0 [0x0]))
(label_ref:SI 465)
(pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 445 (nil))
(expr_list:REG_BR_PROB (const_int 1000 [0x3e8])
(nil)))


Some regressions from the dataflow merge

2007-06-12 Thread Richard Guenther

On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
on x86_64 some performance regressions with Botan (a collection of
cryptographic algorithms (see 
http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
small enough to investigate, but wait another day in case its just noise.

Otherwise things look smooth as expected.

Richard.


Re: Large number of fortran testsuite failures

2007-06-12 Thread Paul Richard Thomas

You will excuse me please if I cannot identify the patch that is
responsible - this sort of investigation is just a bit too tedious
under Cygwin.  I will make one further reversion this morning and will
report if I have bracketed the problem.



The problem is between r125620 and r125628 but is NOT, as I suspected, r125621.

Is nobody else seeing it, or is it a Cygwin specific problem?

Paul


Re: Help in understanding ccp propagator

2007-06-12 Thread Revital1 Eres

 The engine only knew how to propagate cases that always make the same
 set of vdef/vuses, so it was safe to only tell it to use the first
 vdef.

  /* Note that for propagation purposes, we are only interested in
  visiting statements that load the exact same memory reference
  stored here.  Those statements will have the exact same list
  of virtual uses, so it is enough to set the output of this
  statement to be its first virtual definition.  */


 You are changing this, AFAIK, so you will need to make it handle
 multiple output values.


That's indeed the problem:

Consider the following stmt that is been visited -

# MPT.1416_722 = VDEF MPT.1416_734 { MPT.1416 }
D.61410.first = i0_62;

Than output_p will be set to MPT.1416_722 (which is the
only vdef of this stmt) -

*output_p = first_vdef (stmt);

And later on (in add_ssa_edge () function) all the uses of MPT.1416_722
will be added to the working set which in our case is D.61410.second =
97; statement instead of the real uses of D.61410.first.

# MPT.1416_723 = VDEF MPT.1416_722 { MPT.1416 }
D.61410.second = 97;

Is there a way to retrieve the real uses of D.61410.first?

Thanks again,
Revital



Re: Large number of fortran testsuite failures

2007-06-12 Thread FX Coudert
The problem is between r125620 and r125628 but is NOT, as I  
suspected, r125621.


Is nobody else seeing it, or is it a Cygwin specific problem?


ia64-linux testresults with rev. 12640 appear to be fine (http:// 
gcc.gnu.org/ml/gcc-testresults/2007-06/msg00572.html).


Doh, wait, it appears that rev. 125624 is the dataflow merge.  
Although it doesn't appear to touch specific cygwin files, it  
certainly is a commit with sufficiently high order-of-magnitude that  
it can disrupt a few seemingly unrelated code paths. Maybe it's worth  
trying to bracket that one? (although I know cygwin bootstrap is  
awfully slow)


FX


Re: Does unrolling prevents doloop optimizations?

2007-06-12 Thread Vladimir Yanovsky

Thanks,

To make sure I understood you correctly, does it mean that the change
(below in /* */) in doloop_condition_get is safe?

 /* We expect a GE or NE comparison with 0 or 1.  */
 if (/*(GET_CODE (condition) != GE
   GET_CODE (condition) != NE)
 ||*/ (XEXP (condition, 1) != const0_rtx
  XEXP (condition, 1) != const1_rtx))
   return 0;

Thanks,
Vladimir


On 6/12/07, Zdenek Dvorak [EMAIL PROTECTED] wrote:

Hello,

 In file loop_doloop.c function doloop_condition_get makes sure that
 the condition is GE or NE
 otherwise it prevents doloop optimizations. This caused a problem for
 a loop which had NE condition without unrolling and EQ if unrolling
 was run.

actually, doloop_condition_get is not applied to the code of the
program, so this change is irrelevant (doloop_condition_get is applied
to the doloop pattern from the machine description).  So there must be
some other reason why doloop transformation is not applied for your
loop.

Zdenek

 Can I make doloop work after the unroller?

 Thanks,
 Vladimir

 

 Without unrolling:
 (insn 135 80 136 4 (set (reg:SI 204 [ LastIndex ])
(plus:SI (reg:SI 204 [ LastIndex ])
(const_int -1 [0x]))) 51 {addsi3} (nil)
(nil))

 (jump_insn 136 135 84 4 (set (pc)
(if_then_else (ne:SI (reg:SI 204 [ LastIndex ])
(const_int 0 [0x0]))
(label_ref:SI 69)
(pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 135 (nil))
(expr_list:REG_BR_PROB (const_int 9000 [0x2328])
(nil)))


 After unrolling:
 (insn 445 421 446 21 (set (reg:SI 213)
(plus:SI (reg:SI 213)
(const_int -1 [0x]))) 51 {addsi3} (nil)
(nil))

 (jump_insn 446 445 667 21 (set (pc)
(if_then_else (eq:SI (reg:SI 213)
(const_int 0 [0x0]))
(label_ref:SI 465)
(pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 445 (nil))
(expr_list:REG_BR_PROB (const_int 1000 [0x3e8])
(nil)))



Dataflow bug [RE: Large number of fortran testsuite failures]

2007-06-12 Thread Dave Korn
On 12 June 2007 13:13, Paul Richard Thomas wrote:

 You will excuse me please if I cannot identify the patch that is
 responsible - this sort of investigation is just a bit too tedious
 under Cygwin.  I will make one further reversion this morning and will
 report if I have bracketed the problem.
 
 
 The problem is between r125620 and r125628 but is NOT, as I suspected,
 r125621. 
 
 Is nobody else seeing it, or is it a Cygwin specific problem?


  Dunno, because I'm on cygwin too.  Stack gots messed up:

Program received signal SIGSEGV, Segmentation fault.
0x004ecbee in ix86_expand_prologue () at /gnu/gcc/gcc/gcc/df.h:973
973   if (index  df_live-block_info_size)
(gdb) bt
#0  0x004ecbee in ix86_expand_prologue () at /gnu/gcc/gcc/gcc/df.h:973
#1  0x0079a71f in gen_prologue ()
at /gnu/gcc/gcc/gcc/config/i386/i386.md:14460
#2  0x0023c938 in ?? ()
#3  0x006174b6 in thread_prologue_and_epilogue_insns ()
at /gnu/gcc/gcc/gcc/function.c:5060
#4  0x in ?? ()
(gdb)


  By breaking on thread_prologue_and_epilogue_insns, you can see the whole
thing before the segfault:

Breakpoint 1, thread_prologue_and_epilogue_insns ()
at /gnu/gcc/gcc/gcc/function.c:5059
5059  start_sequence ();
(gdb) c
Continuing.

Breakpoint 1, thread_prologue_and_epilogue_insns ()
at /gnu/gcc/gcc/gcc/function.c:5059
5059  start_sequence ();
(gdb) bt
#0  thread_prologue_and_epilogue_insns () at /gnu/gcc/gcc/gcc/function.c:5059
#1  0x006180d0 in rest_of_handle_thread_prologue_and_epilogue ()
at /gnu/gcc/gcc/gcc/function.c:5485
#2  0x006a77ef in execute_one_pass (pass=0xa8d9b0)
at /gnu/gcc/gcc/gcc/passes.c:1123
#3  0x006a79e7 in execute_pass_list (pass=0xa90e40)
at /gnu/gcc/gcc/gcc/passes.c:1176
#4  0x006a79fa in execute_pass_list (pass=0xa8d930)
at /gnu/gcc/gcc/gcc/passes.c:1177
#5  0x006a79fa in execute_pass_list (pass=0xa8d7e0)
at /gnu/gcc/gcc/gcc/passes.c:1177
#6  0x006bdb9f in tree_rest_of_compilation (fndecl=0x7fe3bc00)
at /gnu/gcc/gcc/gcc/tree-optimize.c:406
#7  0x006a9431 in cgraph_expand_function (node=0x7fe3bd00)
at /gnu/gcc/gcc/gcc/cgraphunit.c:1073
#8  0x006aa710 in cgraph_assemble_pending_functions ()
at /gnu/gcc/gcc/gcc/cgraphunit.c:436
#9  0x006aab95 in cgraph_finalize_function (decl=0x7fe3bc00, nested=0)
at /gnu/gcc/gcc/gcc/cgraphunit.c:553
#10 0x004818d6 in gfc_generate_function_code (ns=0x1ab44a0)
at /gnu/gcc/gcc/gcc/fortran/trans-decl.c:3285
#11 0x00443d23 in gfc_parse_file () at /gnu/gcc/gcc/gcc/fortran/parse.c:3272
#12 0x00464940 in gfc_be_parse_file (set_yydebug=0)
at /gnu/gcc/gcc/gcc/fortran/f95-lang.c:301
#13 0x0050e5a5 in toplev_main (argc=15, argv=0x1a78f18)
at /gnu/gcc/gcc/gcc/toplev.c:1051
#14 0x004a8cef in main (argc=2346392, argv=0x61006148)
at /gnu/gcc/gcc/gcc/main.c:35


  From there we go to gen_prologue.  The stack isn't actually messed up, gdb
just seems to have trouble tracing back through a function derived from the md
file.  gen_prologue calls ix86_expand_prologue and I stepped through that for
a bit:


(gdb) s
ix86_expand_prologue () at /gnu/gcc/gcc/gcc/config/i386/i386.c:5974
5974  ix86_compute_frame_layout (frame);
(gdb) bt
#0  ix86_expand_prologue () at /gnu/gcc/gcc/gcc/config/i386/i386.c:5974
#1  0x0079a71f in gen_prologue ()
at /gnu/gcc/gcc/gcc/config/i386/i386.md:14460
#2  0x0023c938 in ?? ()
#3  0x006174b6 in thread_prologue_and_epilogue_insns ()
at /gnu/gcc/gcc/gcc/function.c:5060
#4  0x in ?? ()
(gdb) n
5976  if (cfun-machine-force_align_arg_pointer)
(gdb) print cfun
$2 = (struct function *) 0x7ff60348
(gdb) print *cfun
$3 = {eh = 0x7ff404d0, expr = 0x7fe5ad80, emit = 0x7ff72820,
  varasm = 0x7ff115a8, cfg = 0x7fe5ab60, gimple_df = 0x0,
  x_current_loops = 0x0, value_histograms = 0x0, decl = 0x7fe3bc00,
  outer = 0x0, pops_args = 0, args_size = 8, pretend_args_size = 0,
  outgoing_args_size = 0, arg_offset_rtx = 0x7ff10250, args_info = {
words = 2, nregs = 0, regno = 0, fastcall = 0, sse_words = 0,
sse_nregs = 0, warn_sse = 1, warn_mmx = 1, sse_regno = 0, mmx_words = 0,
mmx_nregs = 0, mmx_regno = 0, maybe_vaarg = 0, float_in_sse = 0},
  return_rtx = 0x0, internal_arg_pointer = 0x7ff20040,
  hard_reg_initial_vals = 0x0, x_nonlocal_goto_handler_labels = 0x0,
  x_return_label = 0x0, x_naked_return_label = 0x0,
  x_stack_slot_list = 0x7fe88b70, x_stack_check_probe_note = 0x0,
  x_arg_pointer_save_area = 0x0, x_frame_offset = -32352,
  static_chain_decl = 0x0, nonlocal_goto_save_area = 0x0,
  x_parm_birth_insn = 0x7fe5aee0, x_used_temp_slots = 0x7fe83bd0,
  x_avail_temp_slots = 0x0, fixup_var_refs_queue = 0x0,
  x_temp_slot_level = 0, inl_max_label_num = 0, funcdef_no = 3,
  machine = 0x7ff71740, stack_alignment_needed = 64,
  preferred_stack_boundary = 128, language = 0x0, used_types_hash = 0x0,
  epilogue_delay_list = 0x0, max_jumptable_ents = 0, last_label_uid = 8,
  function_end_locus = {
file = 0x1a8dbc0 /gnu/gcc/gcc/gcc/testsuite/gfortran.dg/sizeof.f90,
line = 

promoting function arguments - GCC 4.1.1

2007-06-12 Thread Rohit Arul Raj

Hi all,

I have added two new data types for GCC 4.1.1 (for private target).
They are fixed and accum.

Variants of fixed are,

short fixed (1 byte)
fixed (4 byte)
long fixed (8 byte).

While passing short fixed as a function argument, i want to promote it
to fixed type. I tried using PROMOTE_FUNCTION_MODE. But it is not
getting invoked.

Is there any other target hook used for doing this?

Regards,
Rohit


Re: Does unrolling prevents doloop optimizations?

2007-06-12 Thread Zdenek Dvorak
Hello,

 To make sure I understood you correctly, does it mean that the change
 (below in /* */) in doloop_condition_get is safe?
 
  /* We expect a GE or NE comparison with 0 or 1.  */
  if (/*(GET_CODE (condition) != GE
GET_CODE (condition) != NE)
  ||*/ (XEXP (condition, 1) != const0_rtx
   XEXP (condition, 1) != const1_rtx))
return 0;

no; that there is nothing wrong with doloop_condition_get --
changing it will not help, as it is not applied to the
exit condition of the loop at all.  The problem must be somewhere
else.

Zdenek

 Thanks,
 Vladimir
 
 
 On 6/12/07, Zdenek Dvorak [EMAIL PROTECTED] wrote:
 Hello,
 
  In file loop_doloop.c function doloop_condition_get makes sure that
  the condition is GE or NE
  otherwise it prevents doloop optimizations. This caused a problem for
  a loop which had NE condition without unrolling and EQ if unrolling
  was run.
 
 actually, doloop_condition_get is not applied to the code of the
 program, so this change is irrelevant (doloop_condition_get is applied
 to the doloop pattern from the machine description).  So there must be
 some other reason why doloop transformation is not applied for your
 loop.
 
 Zdenek
 
  Can I make doloop work after the unroller?
 
  Thanks,
  Vladimir
 
  
 
  Without unrolling:
  (insn 135 80 136 4 (set (reg:SI 204 [ LastIndex ])
 (plus:SI (reg:SI 204 [ LastIndex ])
 (const_int -1 [0x]))) 51 {addsi3} (nil)
 (nil))
 
  (jump_insn 136 135 84 4 (set (pc)
 (if_then_else (ne:SI (reg:SI 204 [ LastIndex ])
 (const_int 0 [0x0]))
 (label_ref:SI 69)
 (pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 135 (nil))
 (expr_list:REG_BR_PROB (const_int 9000 [0x2328])
 (nil)))
 
 
  After unrolling:
  (insn 445 421 446 21 (set (reg:SI 213)
 (plus:SI (reg:SI 213)
 (const_int -1 [0x]))) 51 {addsi3} (nil)
 (nil))
 
  (jump_insn 446 445 667 21 (set (pc)
 (if_then_else (eq:SI (reg:SI 213)
 (const_int 0 [0x0]))
 (label_ref:SI 465)
 (pc))) 368 {*spu.md:3288} (insn_list:REG_DEP_TRUE 445 (nil))
 (expr_list:REG_BR_PROB (const_int 1000 [0x3e8])
 (nil)))
 


Re: Some regressions from the dataflow merge

2007-06-12 Thread Kenneth Zadeck
Richard Guenther wrote:
 On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
 on x86_64 some performance regressions with Botan (a collection of
 cryptographic algorithms (see 
 http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
 small enough to investigate, but wait another day in case its just noise.

 Otherwise things look smooth as expected.

 Richard.
   
I looked at the graphs here and i do not see a regression except in the
compile time.

kenny


Re: Some regressions from the dataflow merge

2007-06-12 Thread Richard Guenther
On Tue, 12 Jun 2007, Kenneth Zadeck wrote:

 Richard Guenther wrote:
  On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
  on x86_64 some performance regressions with Botan (a collection of
  cryptographic algorithms (see 
  http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
  small enough to investigate, but wait another day in case its just noise.
 
  Otherwise things look smooth as expected.
 
  Richard.

 I looked at the graphs here and i do not see a regression except in the
 compile time.

Note the graphs are for Throughput, so higher numbers are better.  Look
for example at Serpent or Skipjack at
http://www.suse.de/~gcctest/c++bench/botan/botan-summary.txt-1-0.html
(which has separate graphs for each algorithm).  But as I said - just
wait a day to see if it is noise.

Richard.


RE: Some regressions from the dataflow merge

2007-06-12 Thread Dave Korn
On 12 June 2007 15:05, Kenneth Zadeck wrote:

 Richard Guenther wrote:
 On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
 on x86_64 some performance regressions with Botan (a collection of
 cryptographic algorithms (see
 http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably small
 enough to investigate, but wait another day in case its just noise. 
 
 Otherwise things look smooth as expected.
 
 Richard.
 
 I looked at the graphs here and i do not see a regression except in the
 compile time.

  Fortran has a testcase that trips one on x86/cygwin: see
http://gcc.gnu.org/ml/gcc/2007-06/msg00291.html.  Perhaps you can comment on
whether df_live (== df-problems_by_index[DF_LIVE]) should ever be NULL?


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



Re: Some regressions from the dataflow merge

2007-06-12 Thread Kenneth Zadeck
Richard Guenther wrote:
 On Tue, 12 Jun 2007, Kenneth Zadeck wrote:

   
 Richard Guenther wrote:
 
 On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
 on x86_64 some performance regressions with Botan (a collection of
 cryptographic algorithms (see 
 http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
 small enough to investigate, but wait another day in case its just noise.

 Otherwise things look smooth as expected.

 Richard.
   
   
 I looked at the graphs here and i do not see a regression except in the
 compile time.
 

 Note the graphs are for Throughput, so higher numbers are better.  Look
 for example at Serpent or Skipjack at
 http://www.suse.de/~gcctest/c++bench/botan/botan-summary.txt-1-0.html
 (which has separate graphs for each algorithm).  But as I said - just
 wait a day to see if it is noise.

 Richard.
   
this is a different set of graphs than you sent the first time.  now i
see the regressions.

i will add this to the growing set of things to look at.

kenny


Re: Some regressions from the dataflow merge

2007-06-12 Thread Richard Guenther
On Tue, 12 Jun 2007, Kenneth Zadeck wrote:

 Richard Guenther wrote:
  On Tue, 12 Jun 2007, Kenneth Zadeck wrote:
 

  Richard Guenther wrote:
  
  On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
  on x86_64 some performance regressions with Botan (a collection of
  cryptographic algorithms (see 
  http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
  small enough to investigate, but wait another day in case its just noise.
 
  Otherwise things look smooth as expected.
 
  Richard.


  I looked at the graphs here and i do not see a regression except in the
  compile time.
  
 
  Note the graphs are for Throughput, so higher numbers are better.  Look
  for example at Serpent or Skipjack at
  http://www.suse.de/~gcctest/c++bench/botan/botan-summary.txt-1-0.html
  (which has separate graphs for each algorithm).  But as I said - just
  wait a day to see if it is noise.
 
  Richard.

 this is a different set of graphs than you sent the first time.  now i
 see the regressions.

I just pointed you to the start page initially - clicking the graphs
will reveal these details.

Sorry for that,
Richard.


Creating new variable in tree level

2007-06-12 Thread Revital1 Eres

Hello,

I appreciate your help in figuring what is considered a valid sequence
of operations for creating a new variable in the tree level.

Is the following sequence OK -

 tmp_var = create_tmp_var (type, _new_);
 add_referenced_tmp_var (tmp_var);
 mark_sym_for_renaming (tmp_var);

Or should I also use ssa functions as follows:

temp = create_tmp_var (TREE_TYPE (expr), pretmp);
add_referenced_tmp_var (temp);
newexpr = build (MODIFY_EXPR, TREE_TYPE (expr), temp, newexpr);
name = make_ssa_name (temp, newexpr);
TREE_OPERAND (newexpr, 0) = name;
tsi_link_after (tsi, newexpr, TSI_CONTINUE_LINKING);

Also, I do not understand what is the usage of each function
in creating the new variable.

Thanks,
Revital



Re: Creating new variable in tree level

2007-06-12 Thread Richard Guenther

On 6/12/07, Revital1 Eres [EMAIL PROTECTED] wrote:


Hello,

I appreciate your help in figuring what is considered a valid sequence
of operations for creating a new variable in the tree level.

Is the following sequence OK -

 tmp_var = create_tmp_var (type, _new_);
 add_referenced_tmp_var (tmp_var);
 mark_sym_for_renaming (tmp_var);

Or should I also use ssa functions as follows:

temp = create_tmp_var (TREE_TYPE (expr), pretmp);
add_referenced_tmp_var (temp);



newexpr = build (MODIFY_EXPR, TREE_TYPE (expr), temp, newexpr);
name = make_ssa_name (temp, newexpr);
TREE_OPERAND (newexpr, 0) = name;


you need an SSA_NAME to assign to in this case, using mark_sym_for_renaming
does defer this to later so you can use tmp_var in the MODIFY_EXPR.  The
second form is prefered.


tsi_link_after (tsi, newexpr, TSI_CONTINUE_LINKING);


That's unrelated and just inserts the MODIFY_EXPR.

Richard.


RE: Some regressions from the dataflow merge

2007-06-12 Thread Dave Korn
On 12 June 2007 15:55, Kenneth Zadeck wrote:

 Dave Korn wrote:
 On 12 June 2007 15:05, Kenneth Zadeck wrote:
 Richard Guenther wrote:
 
 On ia64 SPEC2000 I see fma3d and applu now miscompare, and we have
 on x86_64 some performance regressions with Botan (a collection of
 cryptographic algorithms (see
 http://www.suse.de/~gcctest/c++bench/botan/)) - those are reasonably
 small enough to investigate, but wait another day in case its just
 noise.  
 
 Otherwise things look smooth as expected.
 
 Richard.

 I looked at the graphs here and i do not see a regression except in the
 compile time. 

   Fortran has a testcase that trips one on x86/cygwin: see
 http://gcc.gnu.org/ml/gcc/2007-06/msg00291.html.  Perhaps you can comment
 on whether df_live (== df-problems_by_index[DF_LIVE]) should ever be 
 NULL?

 From what i can gather from looking at the stacktrace, the problem is that
 ix86_eax_live_at_start_p is only called on cigwin and of course we did
 not check cigwin.
 
 This is an easy fix.
 
 Change the macro DF_LIVE_OUT in this function to the function call
 df_get_live_out.  It takes the same parameter and returns the same thing.
 
 I believe this will fix the problem.


  Thanks for the advice Kenny.  CC'ing the Fortran list because I don't have
time to put into this right away:  Paul or FX, perhaps you'd like to give that
advice a try?


cheers,
  DaveK
-- 
Can't think of a witty .sigline today



Re: Dataflow bug [RE: Large number of fortran testsuite failures]

2007-06-12 Thread Paolo Bonzini



  Hmm, this looks like a dataflow bug to me.  I believe the problem is that
DF_LIVE_OUT assumes/requires problems_by_index[DF_LIVE] to be non-NULL.


You should replace it with df_get_live_out.  Please CC me if you have a 
patch.


Paolo


Re: Some regressions from the dataflow merge

2007-06-12 Thread Seongbae Park (박성배, 朴成培)

On 6/12/07, Richard Guenther [EMAIL PROTECTED] wrote:

On Tue, 12 Jun 2007, Richard Guenther wrote:


 On ia64 SPEC2000 I see fma3d and applu now miscompare.

On x86_64 186.wupwise ICEs with -O2 -ffast-math and FDO:

/gcc/spec/sb-haydn-fdo-64/x86_64/install-200706120559/bin/gfortran -c -o
zscal.o-fprofile-use -O2 -ffast-math  zscal.f
Error from fdo_make_pass2 'specmake -j2 FDO=PASS2 build 2
fdo_make_pass2.err | tee fdo_make_pass2.out':
zgemm.f: In function 'zgemm':
zgemm.f:413: internal compiler error: in remove_insn, at emit-rtl.c:3597
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.

Likewise for 176.gcc:

combine.c: In function 'simplify_comparison':
combine.c:9697: internal compiler error: in remove_insn, at
emit-rtl.c:3597
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
specmake: *** [combine.o] Error 1


Sounds like there's a pass that are emitting a barrier during cfglayout mode.
I'll look at them.
--
#pragma ident Seongbae Park, compiler, http://seongbae.blogspot.com;


Re: Some regressions from the dataflow merge

2007-06-12 Thread Kenneth Zadeck
Seongbae Park (???, ???) wrote:
 On 6/12/07, Richard Guenther [EMAIL PROTECTED] wrote:
 On Tue, 12 Jun 2007, Richard Guenther wrote:

 
  On ia64 SPEC2000 I see fma3d and applu now miscompare.

 On x86_64 186.wupwise ICEs with -O2 -ffast-math and FDO:

 /gcc/spec/sb-haydn-fdo-64/x86_64/install-200706120559/bin/gfortran -c -o
 zscal.o -fprofile-use -O2 -ffast-math zscal.f
 Error from fdo_make_pass2 'specmake -j2 FDO=PASS2 build 2
 fdo_make_pass2.err | tee fdo_make_pass2.out':
 zgemm.f: In function 'zgemm':
 zgemm.f:413: internal compiler error: in remove_insn, at emit-rtl.c:3597
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See URL:http://gcc.gnu.org/bugs.html for instructions.

 Likewise for 176.gcc:

 combine.c: In function 'simplify_comparison':
 combine.c:9697: internal compiler error: in remove_insn, at
 emit-rtl.c:3597
 Please submit a full bug report,
 with preprocessed source if appropriate.
 See URL:http://gcc.gnu.org/bugs.html for instructions.
 specmake: *** [combine.o] Error 1

 Sounds like there's a pass that are emitting a barrier during
 cfglayout mode.
 I'll look at them.
see if danny accidently reverted your gcse fix for this

kenny


Sparc bootstrap failure, dataflow related?

2007-06-12 Thread Kaveh R. GHAZI
I'm getting a new bootstrap failure today on sparc-sun-solaris2.10 which
I've filed under PR bootstrap/32312.  GCC dies in stage1 building libgcc2,
I see that it's getting a SEGV because the variable df is nil.  It might
be related to the dataflow merge.

There's an attachment in the PR, would you please take a look?

Thanks,
--Kaveh
--
Kaveh R. Ghazi  [EMAIL PROTECTED]


MIPS bootstrap failure, dataflow related?

2007-06-12 Thread David Daney

The information is here:

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

David Daney


Access to .dynamic section of executable from shared library

2007-06-12 Thread Konstantin Baydarov

 Hi All.
I'm trying to get access to .dynamic section of executable in from my 
shared library. I'm using _DYNAMIC pointer. But, according to objdump 
output, it points to .dynamic section of library instead of executable.
I've made investigations an found out that every object file(executable 
of shared library) have a _DYNAMIC symbol and it's local. And when we 
using _DYNAMIC we using this local symbol. So when I'm using _DYNAMIC in 
shared library - I get pointer to .dynamic section of library, when I'm 
using _DYNAMIC in executable - I get pointer to .dynamic section of 
executable.
Is there any way to get pointer to executable _DYNAMIC from shared 
library context. Maybe when I'm building shared library I should tell 
dynamic linker to replace local _DYNAMIC with _DYNAMIC from executable. 
I've tried to assign weak attribute to definition of _DYNAMIC in 
library code - didn't help.

And also I didn't have this problem with gcc 3.4.3.
Any Ideas?
Thanks!



Re: Help in understanding ccp propagator

2007-06-12 Thread Daniel Berlin

On 6/12/07, Revital1 Eres [EMAIL PROTECTED] wrote:


 The engine only knew how to propagate cases that always make the same
 set of vdef/vuses, so it was safe to only tell it to use the first
 vdef.

  /* Note that for propagation purposes, we are only interested in
  visiting statements that load the exact same memory reference
  stored here.  Those statements will have the exact same list
  of virtual uses, so it is enough to set the output of this
  statement to be its first virtual definition.  */


 You are changing this, AFAIK, so you will need to make it handle
 multiple output values.


That's indeed the problem:

Consider the following stmt that is been visited -

# MPT.1416_722 = VDEF MPT.1416_734 { MPT.1416 }
D.61410.first = i0_62;

Than output_p will be set to MPT.1416_722 (which is the
only vdef of this stmt) -

*output_p = first_vdef (stmt);

And later on (in add_ssa_edge () function) all the uses of MPT.1416_722
will be added to the working set which in our case is D.61410.second =
97; statement instead of the real uses of D.61410.first.

# MPT.1416_723 = VDEF MPT.1416_722 { MPT.1416 }
D.61410.second = 97;

Is there a way to retrieve the real uses of D.61410.first?


No, you will have to look at each immediate use and determine if it is
really a store to the same place.



Thanks again,
Revital




[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2007-06-12 07:01 ---
Following patch should fix the ICE:

Index: combine.c
===
--- combine.c   (revision 125636)
+++ combine.c   (working copy)
@@ -5210,11 +5210,17 @@ simplify_if_then_else (rtx x)

   if (true_code == EQ  true_val == const0_rtx
   exact_log2 (nzb = nonzero_bits (from, GET_MODE (from))) = 0)
-   false_code = EQ, false_val = GEN_INT (nzb);
+   {
+ false_code = EQ;
+ false_val = GEN_INT (trunc_int_for_mode (nzb, GET_MODE (from)));
+   }
   else if (true_code == EQ  true_val == const0_rtx
(num_sign_bit_copies (from, GET_MODE (from))
   == GET_MODE_BITSIZE (GET_MODE (from
-   false_code = EQ, false_val = constm1_rtx;
+   {
+ false_code = EQ;
+ false_val = constm1_rtx;
+   }

   /* Now simplify an arm if we know the value of the register in the
 branch and it is used in the arm.  Be careful due to the potential


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 CC||ubizjak at gmail dot com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 07:01:32
   date||


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



[Bug fortran/32298] New: Intrinsic MINLOC / MAXLOC gives wrong results (gfortran build 20070522)

2007-06-12 Thread jens dot bischoff at freenet dot de
The following source code:
!-
PROGRAM ERR_MINLOC

   INTEGER, PARAMETER :: N = 7

   DOUBLE PRECISION, DIMENSION (N), PARAMETER :: A 
 = (/ 0.3D0, 0.455D0, 0.6D0, 0.7D0, 0.72D0, 0.76D0, 0.79D0 /)

   DOUBLE PRECISION :: B
   INTEGER  :: I, J, K

  DO I = 1, N
B = A(I)
J = MINLOC (ABS (A - B), 1)
K = MAXLOC (ABS (A - B), 1)
PRINT *, I, J, K
  END DO  
 STOP

END PROGRAM ERR_MINLOC
!--

gives the following result:
(superflouos blanks are deleted):
--
 1 2 7
 2 2 7
 3 3 7
 4 4 2
 5 5 2
 6 6 2
 7 7 2
--

The correct result is:
--
 1 1 7
 2 2 7
 3 3 1
 4 4 1
 5 5 1
 6 6 1
 7 7 1
--


-- 
   Summary: Intrinsic MINLOC / MAXLOC gives wrong results (gfortran
build 20070522)
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: jens dot bischoff at freenet dot de
GCC target triplet: i386-pc-mingw32


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #10 from ubizjak at gmail dot com  2007-06-12 08:26 ---
Patch at http://gcc.gnu.org/ml/gcc-patches/2007-06/msg00759.html


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |ubizjak at gmail dot com
   |dot org |
URL||http://gcc.gnu.org/ml/gcc-
   ||patches/2007-
   ||06/msg00759.html
 Status|NEW |ASSIGNED
   Keywords||patch
   Last reconfirmed|2007-06-12 07:01:32 |2007-06-12 08:26:03
   date||


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



[Bug ada/32299] New: 4.3-20070608 gnat bug detected in gimplify_addr_expr, at gimplify.c:3919

2007-06-12 Thread oliver dot kellogg at eads dot com
$ gcc -v -c gcc43.adb
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: ../../SOURCES/gcc-4.3-20070608/configure --prefix=/usr
--enable-languages=c,c++,ada
Thread model: posix
gcc version 4.3.0 20070608 (experimental)
 /usr/libexec/gcc/i686-pc-linux-gnu/4.3.0/gnat1 -quiet -dumpbase gcc43.adb
-mtune=generic gcc43.adb -o /tmp/ccxo3ZQM.s
+===GNAT BUG DETECTED==+
| 4.3.0 20070608 (experimental) (i686-pc-linux-gnu) GCC error: |
| in gimplify_addr_expr, at gimplify.c:3919|
| Error detected around gcc43.adb:28   |
| Please submit a bug report; see http://gcc.gnu.org/bugs.html.|
| Use a subject line meaningful to you and us to track the bug.|
| Include the entire contents of this bug box in the report.   |
| Include the exact gcc or gnatmake command that you entered.  |
| Also include sources listed below in gnatchop format |
| (concatenated together with no headers between files).   |
+==+

Please include these source files with error report
Note that list may not be accurate in some cases, 
so please double check that the problem can still 
be reproduced with the set of files listed.

gcc43.adb
gcc43.ads

-- file: gcc43.ads
with Interfaces.C.Pointers, Interfaces.C.Strings;
with System.Storage_Elements;

package Gcc43 is

   package SSE renames System.Storage_Elements;

   package Conv is new Interfaces.C.Pointers
 (Index = SSE.Storage_Offset,
  Element = SSE.Storage_Element,
  Element_Array = SSE.Storage_Array,
  Default_Terminator = 16#00#);  -- unused

   procedure Push_To_LLAPI
 (header_len : SSE.Storage_Offset;
  header_data : Conv.Pointer;
  data_len : SSE.Storage_Offset;
  data : Conv.Pointer);

  subtype Dummy_Contents is SSE.Storage_Array (1 .. 72);

  type J3_2_Llapi_T is
record
  Dummy : Dummy_Contents;
  end record;

end Gcc43;


-- file: gcc43.adb
with Interfaces.C.Pointers;
with Ada.Exceptions;
with System.Storage_Elements;
with Unchecked_Conversion;
with Text_IO;

package body Gcc43 is

   use type SSE.Storage_Offset;

   procedure Push_To_LLAPI
 (header_len : SSE.Storage_Offset;
  header_data : Conv.Pointer;
  data_len : SSE.Storage_Offset;
  data : Conv.Pointer) is
  Header : SSE.Storage_Array (1 .. Header_Len);
  Buf : SSE.Storage_Array (1 .. 1 + Data_Len);
  Buf_Address : constant System.Address := Buf (1)'Address;
  Ext_Track : J3_2_Llapi_T;
  pragma Import (Ada, Ext_Track);
  for Ext_Track'Address use Buf_Address;
   begin
  if Header_Len = 0 then
 return;
  end if;
  begin
 Header := Conv.Value (Header_Data, Interfaces.C.ptrdiff_t
(Header_Len));
 Buf (1) := Header (1);
 Buf (2 .. Buf'Last) := Conv.Value (Data, Interfaces.C.ptrdiff_t
(Data_Len));
  exception
 when E : others =
Text_IO.Put_Line (Push_To_LLAPI: exception on assigning Buf,  
  Ada.Exceptions.Exception_Information (E));
  end;
   end Push_To_LLAPI;

end Gcc43;


-- 
   Summary: 4.3-20070608 gnat bug detected in gimplify_addr_expr, at
gimplify.c:3919
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: ada
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: oliver dot kellogg at eads dot com
  GCC host triplet: i686-pc-linux-gnu


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



[Bug middle-end/32285] [4.1 Regression] Miscompilation with pure _Complex returning call inside another fn's argument list

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-06-12 10:05 ---
Confirmed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 10:05:44
   date||


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread uros at gcc dot gnu dot org


--- Comment #11 from uros at gcc dot gnu dot org  2007-06-12 10:31 ---
Subject: Bug 32293

Author: uros
Date: Tue Jun 12 10:31:04 2007
New Revision: 125643

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125643
Log:
PR rtl-optimization/32293
* combine.c (simplify_if_then_else): Truncate return from
nonzero_bits() to correct mode.

testsuite/ChangeLog:

PR rtl-optimization/32293
* gcc.dg/pr32293.c: New test.


Added:
trunk/gcc/testsuite/gcc.dg/pr32293.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/combine.c
trunk/gcc/testsuite/ChangeLog


-- 


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread rob1weld at aol dot com


--- Comment #8 from rob1weld at aol dot com  2007-06-12 10:53 ---
 should be many more tests.

It's OK. I followed the advice on page http://gcc.gnu.org/install/test.html -
Section 0.1 How can you run the testsuite on selected tests?.

make check-gcc RUNTESTFLAGS=dg-torture.exp


I did that so I could check quickly and post here; so people would not be
trying to fix what is NOT broken and know the correct place to look for the
trouble.


Just completed the whole test on everything - see here:
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


Also please look at the end of the report. I made a mod to the test_summary to
catch assembler errors - and it found some ...


-- 


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



[Bug testsuite/32063] contrib/test_summary script could output results more neatly

2007-06-12 Thread rob1weld at aol dot com


--- Comment #5 from rob1weld at aol dot com  2007-06-12 11:11 ---
Here is another, this caught some errors! See end of:
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


  print grep -e undefined\\ reference\\ to
/opt/gcc-4_3-build/gcc/testsuite/gcc/gcc.log | sort -u -k 2 | head -n 10
  print ;
  system(grep -e undefined\\ reference\\ to
/opt/gcc-4_3-build/gcc/testsuite/gcc/gcc.log | sort -u -k 2 | head -n 10);
  print ---;
  print ;


Note: These additions go directly before these lines:

  print Compiler version:  prefix version lang;
  print Platform:  host;
  print configflags;


-- 


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



[Bug libmudflap/31845] Need to adjust libmudflap timeout values in testsuite.

2007-06-12 Thread rob1weld at aol dot com


--- Comment #3 from rob1weld at aol dot com  2007-06-12 11:16 ---
FIX - Altered dg-timeout:

/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/pass37-frag-Origonal.c

/* { dg-output 100 100 100 100 100 100 100 100 100 100 } */
/* { dg-repetitions 20 } */
/* { dg-timeout 10 } */


/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/pass37-frag.c

/* { dg-output 100 100 100 100 100 100 100 100 100 100 } */
/* { dg-repetitions 20 } */
/* { dg-timeout 300 } */


-- 


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



[Bug libmudflap/31681] [4.3 regression]: Many libmudflap faulures

2007-06-12 Thread rob1weld at aol dot com


--- Comment #5 from rob1weld at aol dot com  2007-06-12 11:21 ---
 [EMAIL PROTECTED]
 Fixed.

Nope.

Results for 4.3.0 20070611 (experimental) testsuite on i686-pc-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


A portion of this bug report is duplicated at:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32276


-- 


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #4 from tbm at cyrius dot com  2007-06-12 11:22 ---
This works with 4.3.0 20070604 on mips.


-- 


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



[Bug target/32276] [4.3 Regression] New libmudflap failures

2007-06-12 Thread rob1weld at aol dot com


--- Comment #1 from rob1weld at aol dot com  2007-06-12 11:24 ---
These bug were first mentioned in report:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=31681


Confirmed for similar target: 
Results for 4.3.0 20070611 (experimental) testsuite on i686-pc-linux-gnu
http://gcc.gnu.org/ml/gcc-testresults/2007-06/msg00573.html


--- My Notes ---

Screen output:

=== libmudflap tests ===

Schedule of variations:
unix

Running target unix
Using /usr/share/dejagnu/baseboards/unix.exp as board description file for
target.
Using /usr/share/dejagnu/config/unix.exp as generic interface file for target.
Using /root/downloads/gcc-4_3-trunk/libmudflap/testsuite/config/default.exp as
tool-and-target-specific interface file.
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c/cfrags.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c/externs.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/c++frags.exp
...
FAIL: libmudflap.c++/pass41-frag.cxx execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test
FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/ctors.exp ...
Running
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.cth/cthfrags.exp
...

=== libmudflap Summary ===

# of expected passes1985
# of unexpected failures5



Log file i686-pc-linux-gnu/libmudflap/testsuite/libmudflap.log output:


mudflap violation 1 (check/read): time=1181641131.727908 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8048f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx execution test


mudflap violation 1 (check/read): time=1181641140.406737 ptr=0x80fb280 size=4
pc=0x804b3d0
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
  [0x804b3d0]
  [0x804851b]
  [0x804b416]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-static) execution test


mudflap violation 1 (check/read): time=1181641147.350329 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x1b1) [0x8048e65]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx ( -O) execution test


mudflap violation 1 (check/read): time=1181641153.350016 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8048f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-O2) execution test


mudflap violation 1 (check/read): time=1181641160.020512 ptr=0x401fd640 size=4
pc=0x40027c0d
location=`/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/include/ostream:546
(main)'
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__mf_check+0x3d)
[0x40027c0d]
  ./pass41-frag.exe(main+0x2bb) [0x8049f7b]
 
/opt/gcc-4_3-build/i686-pc-linux-gnu/./libmudflap/.libs/libmudflap.so.0(__wrap_main+0x4f)
[0x4002745f]
number of nearby objects: 0
FAIL: libmudflap.c++/pass41-frag.cxx (-O3) execution test



All the log entries show number of nearby objects: 0. Does this mean that it
is
not the test itself that is failing but instead something other than the test -
IE:
GXX is compiling incorrect code or the libraries are incorrectly written.



# cat
/root/downloads/gcc-4_3-trunk/libmudflap/testsuite/libmudflap.c++/pass41-frag.cxx
#include string
#include iostream

int
main (int argc, char *argv[])
{
std::string myStr = Hello, World!;
std::cout  myStr  std::endl;
return 0;
}


/opt/gcc-4_3-build/./gcc/g++ -shared-libgcc -B/opt/gcc-4_3-build/./gcc
-nostdinc++ -L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src
-L/opt/gcc-4_3-build/i686-pc-linux-gnu/libstdc++-v3/src/.libs
-B/usr/test/i686-pc-linux-gnu/bin/ -B/usr/test/i686-pc-linux-gnu/lib/ -isystem
/usr/test/i686-pc-linux-gnu/include -isystem
/usr/test/i686-pc-linux-gnu/sys-include -ffloat-store 

[Bug c++/32290] GCC crashes with OOM when compiling relatively simple source file (no endless loop)

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2007-06-12 11:29 ---
mainline uses 10MB to compile reduced-problem.ii.nocrap.  So this is actually
a dup of PR29433.

*** This bug has been marked as a duplicate of 29433 ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||DUPLICATE


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



[Bug c++/29433] using boost::MPL requires lots of memory

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #24 from rguenth at gcc dot gnu dot org  2007-06-12 11:29 
---
*** Bug 32290 has been marked as a duplicate of this bug. ***


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||aribrei at arcor dot de


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



[Bug rtl-optimization/32293] [4.3 Regression] internal compiler error: in do_SUBST, at combine.c:502

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-06-12 11:31 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug c++/32300] New: ICE with -O2 -fsee

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct vector {
int *start, *finish;
unsigned long size() { return finish - start; }
};
void f(vector v) {
for (unsigned i = 0; i  v.size(); ++i);
}

 g++ -O2 -fsee bug.ii
bug.ii: In function ‘void f(vector)’:
bug.ii:7: internal compiler error: Segmentation fault

This started failing in the last couple of days.
I'm compiling on linux_x86_64.


-- 
   Summary: ICE with -O2 -fsee
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug bootstrap/32287] gas version style changed causs warnings with configure

2007-06-12 Thread rob1weld at aol dot com


--- Comment #3 from rob1weld at aol dot com  2007-06-12 11:37 ---
Even if they did change it back people may still have one of these versions 
since _all_ my versions of gas are less than a year old. 

Oneis the newest that apt-get will fetch (IE: the standard OS version),
another is the newest snapshot, the last is the newest SVN compiled by me - so
each is actually new, depending on how you look at it.


My patch only grabs the numbers.

If they change version numbering to 2.17.50.gamma.7.four then were screwed.

I welcome anyone to write a better script. I'm just pointing out the bug.

When things work (however badly) in one part of gcc and then fail (but only
partially) in another spot (or work OK) then it can cause some weird errors
that are hard to track down.


-- 


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #5 from tbm at cyrius dot com  2007-06-12 11:43 ---
I can reproduce this with current 4.1 from SVN, but not with 4.2 from SVN.


-- 


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



[Bug tree-optimization/31657] Should combine bit tests in if stmts

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 12:06 ---
Subject: Bug 31657

Author: rguenth
Date: Tue Jun 12 12:06:19 2007
New Revision: 125644

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125644
Log:
2007-06-12  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.

* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20070424-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-5.c
trunk/gcc/tree-ssa-ifcombine.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/timevar.def
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-phiopt.c


-- 


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



[Bug tree-optimization/15353] [tree-ssa] Merge two ifs if one subsumes the other.

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #11 from rguenth at gcc dot gnu dot org  2007-06-12 12:06 
---
Subject: Bug 15353

Author: rguenth
Date: Tue Jun 12 12:06:19 2007
New Revision: 125644

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=125644
Log:
2007-06-12  Richard Guenther  [EMAIL PROTECTED]

PR tree-optimization/15353
PR tree-optimization/31657
* passes.c (init_optimization_passes): Add pass_tree_ifcombine.
* timevar.def: Add TV_TREE_IFCOMBINE.
* tree-pass.h (pass_tree_ifcombine): Declare.
* tree-ssa-ifcombine.c: New file.
* tree-ssa-phiopt.c (blocks_in_phiopt_order): Export.
* tree-flow.h (blocks_in_phiopt_order): Declare.
* Makefile.in (OBJS-common): Add tree-ssa-ifcombine.o.
(tree-ssa-ifcombine.o): New dependencies.

* gcc.c-torture/execute/20070424-1.c: New testcase.
* gcc.dg/tree-ssa/ssa-ifcombine-1.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-2.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-3.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-4.c: Likewise.
* gcc.dg/tree-ssa/ssa-ifcombine-5.c: Likewise.

Added:
trunk/gcc/testsuite/gcc.c-torture/execute/20070424-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-1.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-2.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-3.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-4.c
trunk/gcc/testsuite/gcc.dg/tree-ssa/ssa-ifcombine-5.c
trunk/gcc/tree-ssa-ifcombine.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/Makefile.in
trunk/gcc/passes.c
trunk/gcc/testsuite/ChangeLog
trunk/gcc/timevar.def
trunk/gcc/tree-flow.h
trunk/gcc/tree-pass.h
trunk/gcc/tree-ssa-phiopt.c


-- 


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



[Bug tree-optimization/15353] [tree-ssa] Merge two ifs if one subsumes the other.

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #12 from rguenth at gcc dot gnu dot org  2007-06-12 12:08 
---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/31657] Should combine bit tests in if stmts

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-06-12 12:08 ---
Fixed.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED
   Target Milestone|--- |4.3.0


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



[Bug tree-optimization/15357] [tree-ssa] combing if statements

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 12:10 ---
The new if-combining pass can be told to make the transformation suggested in
the description.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||rguenth at gcc dot gnu dot
   ||org


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 12:36 ---
Confirmed.  A dataflow merge fallout probably:

Program received signal SIGSEGV, Segmentation fault.
0x007c449c in df_insn_refs_verify (collection_rec=0x7fff1ab011c0, 
bb=0x2aec90911360, insn=0x2aec9074dfa0, abort_if_fail=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4148
4148  if (!DF_INSN_UID_DEFS (uid))


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||zadeck at naturalbridge dot
   ||com
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 12:36:27
   date||
Summary|ICE with -O2 -fsee  |[4.3 Regression] ICE with -
   ||O2 -fsee
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32301] New: int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread tomash dot brechko at gmail dot com
When the code below is compiled with -march=pentium4 -msse2 -O3
-fomit-frame-pointer, when N == 4 f() is correct:

f:
movdqa  b, %xmm0
paddd   a, %xmm0
movdqa  %xmm0, c
ret

However for N == 2 gcc 4.2.0 doesn't use %mm0 any more (gcc 4.0.0 worked OK). 
OK, for some reason gcc decides to synthesize the operation using scalar
instructions.  But why the code for f() is so scary, not even close to that of
g()?  My wild guess is that gcc copies vectors onto the stack because it thinks
the vectors may overlap.  But is it really possible?  If so, how can I say that
they never overlap?  Perhaps this is a bug too, because they are declared as
different objects, should not overlap.


#define N  2

typedef signed int data_type;


typedef data_type __attribute__((vector_size(sizeof(data_type) * N))) vector;

extern vector a, b, c;

void
f()
{
  c = a + b;
}


typedef data_type vector2[N];

extern vector2 a2, b2, c2;

void
g()
{
  int i;
  for (i = 0; i  N; ++i)
c2[i] = a2[i] + b2[i];
}


For the code above gcc 4.2.0 produces:

f:
pushl   %esi
pushl   %ebx
subl$36, %esp
movla, %ebx
movla+4, %esi
movlb, %edx
movlb+4, %ecx
movl%edx, 24(%esp)
movl%ecx, 28(%esp)
movl24(%esp), %eax
movl%ebx, 16(%esp)
movl%esi, 20(%esp)
addl16(%esp), %eax
movl%eax, c
movl%edx, 8(%esp)
movl%ecx, 12(%esp)
movl12(%esp), %eax
movl%ebx, (%esp)
movl%esi, 4(%esp)
addl4(%esp), %eax
movl%eax, c+4
addl$36, %esp
popl%ebx
popl%esi
ret

g:
movla2, %eax
addlb2, %eax
movl%eax, c2
movla2+4, %eax
addlb2+4, %eax
movl%eax, c2+4
ret


-- 
   Summary: int __attribute__((vector_size(8))) doesn't use %mm0,
produces ugly code
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: tomash dot brechko at gmail dot com
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: i686-pc-linux-gnu


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #2 from rguenth at gcc dot gnu dot org  2007-06-12 12:40 ---
FYI

(gdb) bt
#0  0x007c449c in df_insn_refs_verify (collection_rec=0x70a74130, 
bb=0x2aaeba99e360, insn=0x2aaeba7dafa0, abort_if_fail=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4148
#1  0x007c4717 in df_bb_verify (bb=0x2aaeba99e360)
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4195
#2  0x007c4bf4 in df_scan_verify ()
at /space/rguenther/src/svn/trunk/gcc/df-scan.c:4334
#3  0x007b1f56 in df_verify ()
at /space/rguenther/src/svn/trunk/gcc/df-core.c:1513
#4  0x007b0fa0 in df_analyze ()
at /space/rguenther/src/svn/trunk/gcc/df-core.c:1106
#5  0x00efa835 in init_dce (fast=1 '\001')
at /space/rguenther/src/svn/trunk/gcc/dce.c:187
#6  0x00efbd0f in rest_of_handle_fast_dce ()
at /space/rguenther/src/svn/trunk/gcc/dce.c:719
#7  0x00efbda3 in run_fast_dce ()
at /space/rguenther/src/svn/trunk/gcc/dce.c:767
#8  0x00a3840e in rest_of_handle_see ()
at /space/rguenther/src/svn/trunk/gcc/see.c:3823
#9  0x009a4c69 in execute_one_pass (pass=0x1454340)


-- 


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



[Bug target/32301] int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 12:42 ---
This is on purpose as if the compiler used the MMX registers it would need to
emit emms but it does not do that yet.  There are two other bugs about this
issue already too.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

  Component|middle-end  |target


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread zadeck at naturalbridge dot com


--- Comment #3 from zadeck at naturalbridge dot com  2007-06-12 12:46 
---
I am not surprised at this at all.  Given that there are no regression tests
that use -fsee and this pass is never on by default.

I will look into this.  

However, the big picture is that we need to make a decision about optimizations
like this.  They should either be enabled either at some -O level or in
regression tests or they should be removed from the compiler.   They serve no
purpose the way that they are now.


-- 

zadeck at naturalbridge dot com changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |zadeck at naturalbridge dot
   |dot org |com
 Status|NEW |ASSIGNED
   Last reconfirmed|2007-06-12 12:36:27 |2007-06-12 12:46:14
   date||


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



[Bug target/32280] _mm_srli_si128, heinous code for some shifts

2007-06-12 Thread ubizjak at gmail dot com


--- Comment #6 from ubizjak at gmail dot com  2007-06-12 12:48 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||FIXED


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



[Bug rtl-optimization/32300] [4.3 Regression] ICE with -O2 -fsee

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 13:37 ---
Yes, those should be at least excercised by the tortures.  So, if enabling at
-O3
regtests ok I'd vote for enabling it there.


-- 


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



[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #1 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:30 ---
Created an attachment (id=13685)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13685action=view)
compiler output and warnings; the preprocessed file (*.ii) that triggers the
bug

the complete command line that triggers the bug; 
/home/mag/sviluppo/bin/bkeuti /home/mag/sviluppo/config/bkeuti.xml
/home/mag/sviluppo/config/processi.dtd  /dev/null 

The stack content relative to the core file is the following:
(gdb) where
#0  0xd1514a98 in _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base (
__x=incomplete type) at ../../../../gcc-4.1.1/libstdc++-v3/src/tree.cc:68
#1  0x10019fac in _ZNSt17_Rb_tree_iteratorISt4pairIKSsP6CTimerEEppEi (
this=incomplete type)
at
/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../../include/c++/4
.1.1/bits/stl_tree.h:190
#2  0x100200b0 in _ZN13bus_CProcesso17azioniDiBackGroudEv (
this=incomplete type) at bus_CProcesso.cpp:838
#3  0x10022750 in _ZN13bus_CProcesso3vaiEbi (this=incomplete type, 
bSync=false, intSec=1) at bus_CProcesso.cpp:458
#4  0x10022e18 in _ZN22bus_CProcessoExceptionC1Ev (this=incomplete type)
at bus_CProcesso.hpp:88
#5  0x10005054 in main (argc=3, argv=0x2ff22934, envp=0x2ff22944)
at bkeuti.cpp:655
#6  0x1214 in __start ()


-- 


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



[Bug fortran/32302] New: gfortran - incorrect result with -O3

2007-06-12 Thread dir at lanl dot gov
The output of this program is correct when using -g, but incorrect with -O3 -


[dranta:~/junk] dir% cp dyna3dTest01.F Test01.F
[dranta:~/junk] dir% gfortran -g -O3 -std=legacy -DSGI -DWKSTN -DUNIX
-DVECLEN=32 -DDP -fcray-pointer -fno-automatic -o Test01 Test01.F
Test01.F:47.19:

  common/aux32/a17(lnv),a28(lnv),dett(lnv), 
  1
Warning: Named COMMON block 'aux32' at (1) shall be of the same size
Test01.F:53.19:

  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
  1
Warning: Named COMMON block 'aux33' at (1) shall be of the same size
/usr/bin/ld: warning can't open dynamic library: /libgcc_s.1.dylib referenced
from:
/usr/local/gfortran/lib/gcc/powerpc-apple-darwin8.9.0/4.3.0/../../../libgfortran.dylib
(checking for undefined symbols may be affected) (No such file or directory,
errno = 2)
[dranta:~/junk] dir% Test01
  0.250   0.250 
[dranta:~/junk] dir% gfortran -g -std=legacy -DSGI -DWKSTN -DUNIX -DVECLEN=32
-DDP -fcray-pointer -fno-automatic -o Test01 Test01.F
Test01.F:47.19:

  common/aux32/a17(lnv),a28(lnv),dett(lnv), 
  1
Warning: Named COMMON block 'aux32' at (1) shall be of the same size
Test01.F:53.19:

  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
  1
Warning: Named COMMON block 'aux33' at (1) shall be of the same size
/usr/bin/ld: warning can't open dynamic library: /libgcc_s.1.dylib referenced
from:
/usr/local/gfortran/lib/gcc/powerpc-apple-darwin8.9.0/4.3.0/../../../libgfortran.dylib
(checking for undefined symbols may be affected) (No such file or directory,
errno = 2)
[dranta:~/junk] dir% Test01
   1.001.00 
[dranta:~/junk] dir% cat Test01.F
   subroutine unpki(ixp,nwcon,nmel)
  parameter(lnv=VECLEN)
#ifdef DP
  implicit double precision (a-h,o-z)dp
#endif
c
c unpack connection data
c
  common/aux32/kka(lnv),kkb(lnv),kkc(lnv),
 1 kk1(lnv),kk2(lnv),kk3(lnv),dxy(lnv),
 2 dyx(lnv),dyz(lnv),dzy(lnv),dzx(lnv),
 3 dxz(lnv),vx17(lnv),vx28(lnv),vx35(lnv),
 4 vx46(lnv),vy17(lnv),vy28(lnv),
 5 vy35(lnv),vy46(lnv),vz17(lnv),vz28(lnv),vz35(lnv),vz46(lnv)
  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
 1 ix6(lnv),ix7(lnv),ix8(lnv),mxt(lnv)
  dimension ixp(nwcon,*)
c
  return
  end
  subroutine prtal
  parameter(lnv=VECLEN)
#ifdef DP
  implicit double precision (a-h,o-z)dp
#endif
  common/aux8/
  x1(lnv),x2(lnv),x3(lnv),x4(lnv),
  x5(lnv),x6(lnv),x7(lnv),x8(lnv),
  y1(lnv),y2(lnv),y3(lnv),y4(lnv),
  y5(lnv),y6(lnv),y7(lnv),y8(lnv),
  z1(lnv),z2(lnv),z3(lnv),z4(lnv),
  z5(lnv),z6(lnv),z7(lnv),z8(lnv)
  common/aux9/vlrho(lnv),det(lnv)
  common/aux10/
 1 px1(lnv),px2(lnv),px3(lnv),px4(lnv),
  px5(lnv),px6(lnv),px7(lnv),px8(lnv),
 2 py1(lnv),py2(lnv),py3(lnv),py4(lnv),
  py5(lnv),py6(lnv),py7(lnv),py8(lnv),
 3 pz1(lnv),pz2(lnv),pz3(lnv),pz4(lnv),
  pz5(lnv),pz6(lnv),pz7(lnv),pz8(lnv),
 4 vx1(lnv),vx2(lnv),vx3(lnv),vx4(lnv),
 5 vx5(lnv),vx6(lnv),vx7(lnv),vx8(lnv),
 6 vy1(lnv),vy2(lnv),vy3(lnv),vy4(lnv),
 7 vy5(lnv),vy6(lnv),vy7(lnv),vy8(lnv),
 8 vz1(lnv),vz2(lnv),vz3(lnv),vz4(lnv),
 9 vz5(lnv),vz6(lnv),vz7(lnv),vz8(lnv)
  common/aux32/a17(lnv),a28(lnv),dett(lnv),
 1 aj1(lnv),aj2(lnv),aj3(lnv),aj4(lnv),
 2 aj5(lnv),aj6(lnv),aj7(lnv),aj8(lnv),
 3 aj9(lnv),x17(lnv),x28(lnv),x35(lnv),
 4 x46(lnv),y17(lnv),y28(lnv),y35(lnv),
 5 y46(lnv),z17(lnv),z28(lnv),z35(lnv),z46(lnv)
  common/aux33/ix1(lnv),ix2(lnv),ix3(lnv),ix4(lnv),ix5(lnv),
 1 ix6(lnv),ix7(lnv),ix8(lnv),mxt(lnv),nmel
  common/aux36/lft,llt
  common/failu/sieu(lnv),failu(lnv)
  common/sand1/ihf,ibemf,ishlf,itshf
  dimension aj5968(lnv),aj6749(lnv),aj4857(lnv),aji1(lnv),aji2(lnv),
 1  aji3(lnv),aji4(lnv),aji5(lnv),
 1  aji6(lnv),aji7(lnv),aji8(lnv),aji9(lnv),aj12(lnv),
 2  aj45(lnv),aj78(lnv),b17(lnv),b28(lnv),c17(lnv),c28(lnv)
c
  equivalence (x17,aj5968),(x28,aj6749),(x35,aj4857),(x46,aji1),
 1 (y17,aji2),(y28,aji3),(y35,aji4),(y46,aji5),(z17,aji6),
 2 (z28,aji7),(z35,aji8),(z46,aji9),(aj1,aj12),(aj2,aj45),
 3 (aj3,aj78),(px1,b17),(px2,b28),(px3,c17),(px4,c28)
  data o64th/0.0156250/
c
c jacobian matrix
c
  do 10 i=lft,llt
  x17(i)=x7(i)-x1(i)
  x28(i)=x8(i)-x2(i)
  x35(i)=x5(i)-x3(i)
  x46(i)=x6(i)-x4(i)
  y17(i)=y7(i)-y1(i)
  y28(i)=y8(i)-y2(i)
  y35(i)=y5(i)-y3(i)
  y46(i)=y6(i)-y4(i)
  z17(i)=z7(i)-z1(i)
  z28(i)=z8(i)-z2(i)
  z35(i)=z5(i)-z3(i)
   10 z46(i)=z6(i)-z4(i)
  do 20 i=lft,llt
  aj1(i)=x17(i)+x28(i)-x35(i)-x46(i)
  aj2(i)=y17(i)+y28(i)-y35(i)-y46(i)
  

[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #2 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:42 ---
(From update of attachment 13685)
the complete command line that triggers the bug:
/home/mag/sviluppo/bin/bkeuti /home/mag/sviluppo/config/bkeuti.xml
/home/mag/sviluppo/config/processi.dtd  /dev/null 

The stack content relative to the core file is the following:
(gdb) where
#0  0xd1514a98 in _ZSt18_Rb_tree_incrementPSt18_Rb_tree_node_base (
__x=incomplete type) at ../../../../gcc-4.1.1/libstdc++-v3/src/tree.cc:68
#1  0x10019fac in _ZNSt17_Rb_tree_iteratorISt4pairIKSsP6CTimerEEppEi (
this=incomplete type)
at
/usr/local/lib/gcc/powerpc-ibm-aix5.3.0.0/4.1.1/../../../../include/c++/4
.1.1/bits/stl_tree.h:190
#2  0x100200b0 in _ZN13bus_CProcesso17azioniDiBackGroudEv (
this=incomplete type) at bus_CProcesso.cpp:838
#3  0x10022750 in _ZN13bus_CProcesso3vaiEbi (this=incomplete type, 
bSync=false, intSec=1) at bus_CProcesso.cpp:458
#4  0x10022e18 in _ZN22bus_CProcessoExceptionC1Ev (this=incomplete type)
at bus_CProcesso.hpp:88
#5  0x10005054 in main (argc=3, argv=0x2ff22934, envp=0x2ff22944)
at bkeuti.cpp:655
#6  0x1214 in __start ()


-- 


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



[Bug c++/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #3 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
13:48 ---
•   the exact version of GCC; 
•   the system type; 
•   the options given when GCC was configured/built;

gcc -v
Using built-in specs.
Target: powerpc-ibm-aix5.3.0.0
Configured with: ../gcc-4.1.1/configure --disable-nls
Thread model: aix
gcc version 4.1.1


-- 

alessandro dot mei at elsagdatamat dot com changed:

   What|Removed |Added

 CC||alessandro dot mei at
   ||elsagdatamat dot com


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

   Severity|critical|normal
  Component|c++ |target
 GCC target triplet||owerpc-ibm-aix5.3.0.0


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



[Bug tree-optimization/32303] New: [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3

2007-06-12 Thread rguenth at gcc dot gnu dot org
See PR30252 comment #30 for bug analysis and a patch.


-- 
   Summary: [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: wrong-code, alias
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: rguenth at gcc dot gnu dot org


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #4 from pinskia at gcc dot gnu dot org  2007-06-12 14:01 ---
And why do you think GCC is at fault?  It is hard to debug this huge sources
really.  Have you tried to pin point exactly where the issue.  Do you have any
uninitialized variables?  Are you going over array bounds?  Do you take an
address of a local variable and keep it around even after it goes out of scope?


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |WAITING


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



[Bug tree-optimization/32303] [4.3 Regression] SPEC2006 447.dealII miscompiled at -O3

2007-06-12 Thread pinskia at gcc dot gnu dot org


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
   Target Milestone|--- |4.3.0


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread michael dot a dot richmond at nasa dot gov


--- Comment #6 from michael dot a dot richmond at nasa dot gov  2007-06-12 
14:04 ---
When you build gcc and gfortran on your mips box, do you specify your system
type as mips-unknown-linux-gnu or as mips64-unknown-linux-gnu?


-- 


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



[Bug c++/32304] New: ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct S {
S() {}
};
S f() {
static S s;
return s;
}

 g++ -O bug.ii
bug2.ii: In function ‘S f()’:
bug2.ii:6: internal compiler error: in set_mem_attributes_minus_bitpos, at
emit-rtl.c:1573


-- 
   Summary: ICE in set_mem_attributes_minus_bitpos
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #7 from tbm at cyrius dot com  2007-06-12 14:12 ---
mips-linux-gnu, as the Debian package does.  Why?


-- 


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



[Bug c++/32305] New: ICE in initialize_flags_in_bb with -O -fipa-pta

2007-06-12 Thread wouter dot vermaelen at scarlet dot be
 cat bug.ii
struct S1 {
S1() {}
};
struct S2 {
void f2() {
static S1 s1;
}
};
void f(S2 s2) {
s2.f2();
}

 g++ -O -fipa-pta bug.ii
bug1.ii: In function ‘void f(S2)’:
bug1.ii:9: internal compiler error: in initialize_flags_in_bb, at
tree-into-ssa.c:437


-- 
   Summary: ICE in initialize_flags_in_bb  with  -O -fipa-pta
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: wouter dot vermaelen at scarlet dot be


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



[Bug middle-end/32304] [4.3 Regression] ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 14:20 ---
readonly is set on this decl which is wrong.

I think I know what is wrong.
ipa-reference.c sets TREE_READONLY on the decl when it really should not be
(even though it is readonly now).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
 Status|UNCONFIRMED |NEW
  Component|c++ |middle-end
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 14:20:18
   date||
Summary|ICE in  |[4.3 Regression] ICE in
   |set_mem_attributes_minus_bit|set_mem_attributes_minus_bit
   |pos |pos
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32304] [4.3 Regression] ICE in set_mem_attributes_minus_bitpos

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-06-12 14:22 ---
*** Bug 31685 has been marked as a duplicate of this bug. ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||jakub at gcc dot gnu dot org


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



[Bug middle-end/31685] [4.3 regression] ICE in set_mem_attributes

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #5 from pinskia at gcc dot gnu dot org  2007-06-12 14:22 ---
I am going to mark this as a dup of bug 32304 (even though that is newer)
because it has a short testcase and I added some anyalsis to the problem there.

*** This bug has been marked as a duplicate of 32304 ***


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution||DUPLICATE


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread michael dot a dot richmond at nasa dot gov


--- Comment #8 from michael dot a dot richmond at nasa dot gov  2007-06-12 
14:33 ---
(In reply to comment #7)
 mips-linux-gnu, as the Debian package does.  Why?

When I run the configure script on an SGI Indy under Debian 4.0, it sets the
system type to mips64-unknown-linux-gnu, and sets the ABI to N32.

When I run the configure script under Debian 3.1, it sets the system type to
mips-unknown-linux-gnu, and sets the ABI to 32.

Which ABI do you use?


-- 


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



[Bug tree-optimization/32306] New: Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com
For the following Code Snippet
void bar ()
{

  b1 = foo(1);
  b2 = foo(1);
  b3 = foo(1);
  b4 = foo(1);
  b5 = foo(1);
  b6 = foo(1);
  b7 = foo(1);
  b8 = foo(1);
  b9 = foo(1);
  b10 = foo(1);
  b11 = foo(1);
  b12 = foo(1);

  array[0] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[1] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[2] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[3] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[4] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[5] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[6] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[7] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[8] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[9] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;
  array[10] = b1  b2  b3  b4  b5  b6  b7  b8  b9  b10  b11
 b12;

  return;
}

Where b ( from b1 to b12) are all declared static short b1, static short b2
etc.
and array is static short array[11].
This should generate code such as

if (b1 == 0) goto L1 else goto L2
L2:
if (b2 == 0) goto L1 else goto L3
L3:
if (b3 == 0) goto L1 else goto L4
L4:
if (b4 == 0) goto L1 else goto L5
L5:
if (b5 == 0) goto L1 else goto L6
L6:
if (b6 == 0) goto L1 else goto L7
L7:
if (b7 == 0) goto L1 else goto L8
L8:
if (b8 == 0) goto L1 else goto L9
L9:
if (b9 == 0) goto L1 else goto L10
L10:
if (b10 == 0) goto L1 else goto L11
L11:
if (b11 == 0) goto L1 else goto L12
L12:
if (b12 == 0) goto L1 else goto L13
L13:
array[i]=1 (for i from 0 to 10)
return

L1:
array[i]=0 (for i from 0 to 10)
return

This is exactly what 4.1 generates but 4.3 fails to combine the if sequences.
Version Details:
GNU C version 4.3.0 20070316 (experimental) (arm-none-eabi)
compiled by GNU C version 3.4.6 (Ubuntu 3.4.6-1ubuntu2).
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096


-- 
   Summary: Bad Code generation ( Tree optimization )
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: pranav dot bhandarkar at gmail dot com
GCC target triplet: arm-none-eabi


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #1 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:48 ---
Created an attachment (id=13686)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13686action=view)
Tes


-- 


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #2 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:50 ---
Created an attachment (id=13687)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13687action=view)
Code Generated by 4.1


-- 


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



[Bug tree-optimization/32306] Bad Code generation ( Tree optimization )

2007-06-12 Thread pranav dot bhandarkar at gmail dot com


--- Comment #3 from pranav dot bhandarkar at gmail dot com  2007-06-12 
14:50 ---
Created an attachment (id=13688)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13688action=view)
Code Generated by 4.3


-- 


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



[Bug tree-optimization/32306] [4.2/4.3 Regression] Bad Code generation ( Tree optimization )

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #4 from rguenth at gcc dot gnu dot org  2007-06-12 15:06 ---
Try to narrow it down to sth shorter.  (Looks like a jump-threading issue)


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
 GCC target triplet|arm-none-eabi   |
   Keywords||missed-optimization
  Known to work||4.1.2
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:06:52
   date||
Summary|Bad Code generation ( Tree  |[4.2/4.3 Regression] Bad
   |optimization )  |Code generation ( Tree
   ||optimization )
   Target Milestone|--- |4.2.1


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



[Bug c++/32305] ICE in initialize_flags_in_bb with -O -fipa-pta

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #1 from rguenth at gcc dot gnu dot org  2007-06-12 15:08 ---
trunk-g/gcc ./cc1plus -O -fipa-pta t.ii
 S1::S1() S1::S1() S1::S1() void S2::f2() void f(S2)
Analyzing compilation unit
Performing interprocedural optimizations
 visibility early_local_cleanups inline static-var pure-const pta
t.ii: In member function 'void S2::f2()':
t.ii:10: error: stmt (0x2b369f6d8780) marked modified after optimization pass: 
_ZGVZN2S22f2EvE2s1.0_1 = (char *) _ZGVZN2S22f2EvE2s1;
t.ii:10: internal compiler error: verify_ssa failed
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||ice-on-valid-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:08:11
   date||


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



[Bug fortran/32302] [4.2/4.3 Regression] Incorrect result with -O2

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #2 from pinskia at gcc dot gnu dot org  2007-06-12 15:09 ---
Until I know for sure, i am moving this back to the fortran component, it might
be a front end issuse still.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||pinskia at gcc dot gnu dot
   ||org
  Component|middle-end  |fortran
Summary|[4.2,  4.3 Regression]  |[4.2/4.3 Regression]
   |Incorrect result with -O2   |Incorrect result with -O2


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



[Bug middle-end/32302] [4.2, 4.3 Regression] Incorrect result with -O2

2007-06-12 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-06-12 15:03 ---
Works with 4.1.3 20070521.
Fails with 4.2.1 20070604.
Fails with 4.3.0 20070612. (On x86_64 Linux)

Result is ok (1.0 1.0) for real(4), but not for real(8) (0.25 0.25).
-O1 is also ok, but not -O2.

I used  gfortran -DVECLEN=1 -DDP -O2
(and also  without -DDP and with -O1.)

Presumably a middle-end problem.


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
  Component|fortran |middle-end
 Ever Confirmed|0   |1
   GCC host triplet|powerpc-apple-darwin8.9.0   |
   Keywords||wrong-code
  Known to fail||4.2.0 4.3.0
  Known to work||4.1.3
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 15:03:55
   date||
Summary|gfortran - incorrect result |[4.2,  4.3 Regression]
   |with -O3|Incorrect result with -O2
   Target Milestone|--- |4.3.0


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread rguenth at gcc dot gnu dot org


--- Comment #9 from rguenth at gcc dot gnu dot org  2007-06-12 15:15 ---
I see those as well, on x86_64-unknown-linux-gnu

FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O0  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O1  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O2  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -fomit-frame-pointer 
scan-tree-d
ump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -O3 -g  scan-tree-dump pow
FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c  -Os  scan-tree-dump pow

./gcc/cc1 --version
GNU C version 4.3.0 20070612 (experimental) (x86_64-unknown-linux-gnu)
compiled by GNU C version 4.3.0 20070612 (experimental), GMP version
4.2.1, MPFR version 2.2.0.
GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096


-- 


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



[Bug c/32307] New: ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org
The full command line is below.  It appears to be triggered by -m528x and is
indepdendent of selected optimization level.

m68k-rtems4.8-gcc --pipe -DHAVE_CONFIG_H   -I..
-I../../cpukit/../../../uC5282/lib/include -DHAVE_MD5  -Wall -fasm -m528x -O2
-g -MT libshttpd_a-log.o -MD -MP -MF .deps/libshttpd_a-log.Tpo -c -o
libshttpd_a-log.o `test -f 'log.c' || echo
'../../../../../../current/c/src/../../cpukit/shttpd/'`log.c
../../../../../../current/c/src/../../cpukit/shttpd/log.c: In function
'log_access':
../../../../../../current/c/src/../../cpukit/shttpd/log.c:111: error: insn does
not satisfy its constraints:
(insn 74 158 159 10
../../../../../../current/c/src/../../cpukit/shttpd/log.c:90 (set (mem/c:SI
(plus:SI (reg/f:SI 14 %a6)
(reg:SI 1 %d1)) [57 D.6863+0 S4 A16])
(mem/s:SI (plus:SI (reg/v/f:SI 10 %a2 [orig:48 c ] [48])
(const_int 220 [0xdc])) [22 variable.loc.io.total+0 S4 A16]))
34 {*movsi_cf} (nil)
(nil))
../../../../../../current/c/src/../../cpukit/shttpd/log.c:111: internal
compiler error: in reload_cse_simplify_operands, at postreload.c:393
Please submit a full bug report,


-- 
   Summary: ICE building simple httpd log.c for -m5282x option
   Product: gcc
   Version: 4.2.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: joel at gcc dot gnu dot org
 GCC build triplet: i686-pc-linux-gnu
  GCC host triplet: i686-pc-linux-gnu
GCC target triplet: m68k-rtems4.8


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



[Bug c/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #1 from joel at gcc dot gnu dot org  2007-06-12 15:17 ---
Created an attachment (id=13689)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13689action=view)
preprocessed code to generate problem

The following should reproduce the error:

m68k-rtems4.8-gcc -m528x  -c log_preprocessed.c

I believe this should occur on any m68k target.


-- 


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



[Bug target/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #2 from joel at gcc dot gnu dot org  2007-06-12 15:21 ---
Tested using RTEMS cross RPMs for RTEMS 4.6 (gcc 3.2.3) and RTEMS 4.7 (gcc
4.1.1).


-- 

joel at gcc dot gnu dot org changed:

   What|Removed |Added

  Known to fail||3.2.3 4.1.1 4.2.0


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



[Bug middle-end/32258] Testsuite reports - FAIL: gcc.dg/torture/builtin-pow-mpfr-1.c

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #10 from pinskia at gcc dot gnu dot org  2007-06-12 15:31 
---
This is not a bug.
Here is the deal, the reporter compiled GCC with the new headers but is using
the old library (which is known to be buggy).


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug target/32307] ICE building simple httpd log.c for -m5282x option

2007-06-12 Thread joel at gcc dot gnu dot org


--- Comment #3 from joel at gcc dot gnu dot org  2007-06-12 15:39 ---
Created an attachment (id=13690)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13690action=view)
alternate version of bug file which has if 0 around offensive code

I hacked on the file that tripped the bug and now have this one which has if
0's around the offensive code.  It appears to have offensive sections.

+ an inline conditional
+ two calls to my_snprintf.


-- 


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



[Bug target/32288] Our C++ program (gcc 4.1.1 under Aix 5.3) crashes with a core dump

2007-06-12 Thread alessandro dot mei at elsagdatamat dot com


--- Comment #5 from alessandro dot mei at elsagdatamat dot com  2007-06-12 
15:41 ---
(In reply to comment #4)
 And why do you think GCC is at fault?  It is hard to debug this huge sources
 really.  Have you tried to pin point exactly where the issue.  Do you have any
 uninitialized variables?  Are you going over array bounds?  Do you take an
 address of a local variable and keep it around even after it goes out of 
 scope?

We have tried to pin point exactly where the crash occurs.
It is hard to debug the source really, we agree, however there is nothing
strange at that line and that code works fine on the test server.
We are using GCC 4.1.1 downloaded from aixpdslib UCLA ftp website.
We suspect that the GCC binary downloaded from this ftp site had been compiled
on an AIX 5.3 version different from the one we are using in the production
server. 
So we are now asking support if our suspect could explain the crash.


-- 


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



[Bug middle-end/32176] [4.3 Regression] ICE tree-type mismatch: expected integer_cst, have plus_expr in int_cst_value, at tree.c:7720

2007-06-12 Thread fxcoudert at gcc dot gnu dot org


--- Comment #6 from fxcoudert at gcc dot gnu dot org  2007-06-12 15:44 
---
(In reply to comment #1)
 While the assert is occurs in the middle end, I think it is very likely a
 tree-type mismatch in the front end.

I think it is. It also fails for me on i686-darwin, with -O2
-fprefetch-loop-arrays -m64.


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2007-06-01 07:49:47 |2007-06-12 15:44:47
   date||


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



[Bug fortran/32140] [4.3 Regression] Miscompilation with -O1

2007-06-12 Thread fxcoudert at gcc dot gnu dot org


--- Comment #8 from fxcoudert at gcc dot gnu dot org  2007-06-12 15:47 
---
I see it also with today's compiler on i686-darwin:

$ gfortran test.f90 -O2  ./a.out 
 a.bb  ccc 


-- 

fxcoudert at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||fxcoudert at gcc dot gnu dot
   ||org
   Last reconfirmed|2007-05-29 15:32:38 |2007-06-12 15:47:40
   date||


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



[Bug c++/32308] New: template typename T int CTemp int ::sta; make the error

2007-06-12 Thread cxcxcxcx at gmail dot com
gcc -v :
Using built-in specs.
Target: i486-linux-gnu
Configured with: ../src/configure -v
--enable-languages=c,c++,fortran,objc,obj-c++,treelang --prefix=/usr
--enable-shared --with-system-zlib --libexecdir=/usr/lib
--without-included-gettext --enable-threads=posix --enable-nls
--program-suffix=-4.1 --enable-__cxa_atexit --enable-clocale=gnu
--enable-libstdcxx-debug --enable-mpfr --with-tune=i686
--enable-checking=release i486-linux-gnu
Thread model: posix
gcc version 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)

g++ -o a a.cpp
a.cpp: In function ¡®void func(T) [with T = int]¡¯:
a.cpp:19:   instantiated from ¡®int CTempint::sta¡¯
a.cpp:19:   instantiated from ¡®void func(T) [with T = int]¡¯
a.cpp:24:   instantiated from here
a.cpp:19: internal compiler error: in instantiate_decl, at cp/pt.c:11775
Please submit a full bug report,
with preprocessed source if appropriate.
See URL:http://gcc.gnu.org/bugs.html for instructions.
For Debian GNU/Linux specific bug reporting instructions,
see URL:file:///usr/share/doc/gcc-4.1/README.Bugs.
Preprocessed source stored into /tmp/ccXG3CFA.out file, please attach this to
your bugreport.

Source File:
#includeiostream
using namespace std;

template  class T 
class CTemp{
private:
T element;
public:
CTemp (T arg):element(arg){ }
static int sta;
};

template typename T int CTemp int ::sta;

template  class T 
void func (T arg){
CTemp  T  a (arg);
int i;
cout  a.sta endl;
return;
}

int main(){
func (5);
return 0;
}


I'm sorry but I find anywhere to add an attachment


-- 
   Summary: template typename T int CTemp int ::sta; make the
error
   Product: gcc
   Version: 4.1.2
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: cxcxcxcx at gmail dot com


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



[Bug fortran/32298] MINLOC / MAXLOC: off-by one for PARAMETER arrays

2007-06-12 Thread burnus at gcc dot gnu dot org


--- Comment #1 from burnus at gcc dot gnu dot org  2007-06-12 16:05 ---
The result is ok, if one removes PARAMETER.

If one looks at the dump one find the following difference between arrays which
are parameters and those which are variables:

-S.3 = 0;
+S.3 = 1;
 while (1)
  {
-   if (S.3  6) goto L.3;
+   if (S.3  7) goto L.3;
-   if (ABS_EXPR A.2[S.3] - D.1367  limit.1 || pos.0 == 0)
+   if (ABS_EXPR a[S.3 + -1] - D.1367  limit.1 || pos.0 ==
0)
  {
-   limit.1 = ABS_EXPR A.2[S.3] - D.1367;
+limit.1 = ABS_EXPR a[S.3 + -1] - D.1367;
-pos.0 = S.3;
+pos.0 = S.3;

(This might also affect MAXVAL/MINVAL, though I did not manage to cook up an
example.)


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||wrong-code
   Last reconfirmed|-00-00 00:00:00 |2007-06-12 16:05:26
   date||
Summary|Intrinsic MINLOC / MAXLOC   |MINLOC / MAXLOC: off-by one
   |gives wrong results |for PARAMETER arrays
   |(gfortran build 20070522)   |


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



[Bug middle-end/31541] [4.3 Regression] cannot take address of bit field

2007-06-12 Thread dcb314 at hotmail dot com


--- Comment #7 from dcb314 at hotmail dot com  2007-06-12 16:05 ---
(In reply to comment #5)
 I am finally getting around to testing the patch (been busy with a release of
 our own toolchain last week).

I can confirm that this bug still exists in gcc snapshot
20070608.

Is it significant that the last couple of months 
of gcc 4.3 haven't been able to compile recent
Linux kernels ?


-- 


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



[Bug c++/32308] template typename T int CTemp int ::sta; make the error

2007-06-12 Thread cxcxcxcx at gmail dot com


--- Comment #1 from cxcxcxcx at gmail dot com  2007-06-12 16:08 ---
Created an attachment (id=13691)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=13691action=view)
The ii file


-- 


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



[Bug fortran/32298] MINLOC / MAXLOC: off-by one for PARAMETER arrays

2007-06-12 Thread burnus at gcc dot gnu dot org


-- 

burnus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu dot
   ||org
 GCC target triplet|i386-pc-mingw32 |
  Known to fail||4.3.0 4.2.0 4.1.3
   Target Milestone|--- |4.3.0


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



[Bug fortran/32289] mips version of gfortran produces internal compiler error

2007-06-12 Thread tbm at cyrius dot com


--- Comment #9 from tbm at cyrius dot com  2007-06-12 16:31 ---
O32, just like Debian.  Note that 4.0 also uses O32, although the kernel is
64-bit, so that might explain why it's configuring mips64 for you.

I don't see the point of these questions though.  After all, I confirmed your
bug with gcc 4.1, and also that it's fixed in 4.2 and 4.3.  So the remaining
question is whether this will be fixed in 4.1 (which I doubt).


-- 


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



[Bug target/32301] int __attribute__((vector_size(8))) doesn't use %mm0, produces ugly code

2007-06-12 Thread tomash dot brechko at gmail dot com


--- Comment #2 from tomash dot brechko at gmail dot com  2007-06-12 16:43 
---
Sorry, I failed to find two other reports you reference, maybe I'm repeating
someone's questions then.  Okay, there are reasons not to use %mm0, but why
%xmm0 is not used then?  Something like

f:
movqb, %xmm0
movqa, %xmm1
paddd   %xmm1, %xmm0
movq%xmm0, c
ret

And the other question is if copying of vector onto the stack is a misfeature,
or there are reasons for doing that in synthesized vector operations, so this
won't change.  Thank you!


-- 


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



[Bug tree-optimization/32309] New: Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com
void Sub(short * __restrict src1row, short * __restrict src2row, int
num_in_row) {
  for(int i=num_in_row; i--;) {
*src1row -= *src2row;
++src1row;
++src2row;
  }
}

In the test case above, GCC inserts several explicit conversions soon after the
gimple transformation stage and gets,

D.2097 = *src1row;
D.2098 = (short unsigned int) D.2097;
D.2099 = *src2row;
D.2100 = (short unsigned int) D.2099;
D.2101 = D.2098 - D.2100;
D.2102 = (short int) D.2101;

These conversions breaks the vectorization and GCC reports,

/* i686-unknown-linux-gnu-gcc -O3 -ftree-vectorize -ftree-vectorizer-verbose=5
-march=nocona -fno-strict-aliasing -c test.cc */

..
test.cc:2: note: not vectorized: relevant stmt not supported: D.2430_11 =
(short unsigned int) D.2429_10
test.cc:1: note: vectorized 0 loops in function.


-- 
   Summary: Unnecessary conversion from short to unsigend short
breaks vectorization
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: tree-optimization
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: gangren at google dot com
 GCC build triplet: i686-unknown-linux-gnu-gcc
  GCC host triplet: i686-unknown-linux-gnu-gcc
GCC target triplet: i686-unknown-linux-gnu-gcc


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread pinskia at gcc dot gnu dot org


--- Comment #1 from pinskia at gcc dot gnu dot org  2007-06-12 17:20 ---
The conversions are not Unnecessary, they are necessary because
short_var+short_var when that would overflow the range of short is still
defined.


-- 


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



[Bug fortran/32310] New: Intel-darwin specific ICE on CP2K code

2007-06-12 Thread fxcoudert at gcc dot gnu dot org
I'm working towards reducing this, but it's coming slowly :(
The code attached leads to an ICE with:

$ gfortran -c -O0 qs_mo_types.f90
gfortran: Internal error: Illegal instruction (program f951)

The backtrace for the ICE is:

Program received signal EXC_BAD_ACCESS, Could not access memory.
Reason: KERN_INVALID_ADDRESS at address: 0xbf7fffec
0x000688fd in gfc_free_equiv_lists (l=Cannot access memory at address
0xbf70
0x44567150) at /tmp/gfortran-20070611/ibin/../gcc/gcc/fortran/symbol.c:2621
2621  gfc_free_equiv_lists (l-next);
(gdb) where
#0  0x000688fd in gfc_free_equiv_lists (l=0x44567150) at
/tmp/gfortran-20070611/ibin/../gcc/gcc/fortran/symbol.c:2621

I wonder if this was introduced by Paul's patch recent for multiple
equivalences. Paul, do you have any idea (I know you have no access to darwin,
but I can debug for you if you so wish).

I could not reproduce this on i386-linux (even with valgrind).


-- 
   Summary: Intel-darwin specific ICE on CP2K code
   Product: gcc
   Version: 4.3.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: fxcoudert at gcc dot gnu dot org
 GCC build triplet: i386-apple-darwin8.8.1
  GCC host triplet: i386-apple-darwin8.8.1
GCC target triplet: i386-apple-darwin8.8.1
OtherBugsDependingO 29975
 nThis:


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



[Bug tree-optimization/32309] Unnecessary conversion from short to unsigend short breaks vectorization

2007-06-12 Thread gangren at google dot com


--- Comment #2 from gangren at google dot com  2007-06-12 17:28 ---
(In reply to comment #1)
 The conversions are not Unnecessary, they are necessary because
 short_var+short_var when that would overflow the range of short is still
 defined.
 

Do you mean that short_var + short_var is defined as (short)((unsigned
short)short_var + (unsigned short)short_var)?


-- 


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



  1   2   >