[Bug middle-end/45422] [4.6 Regression] compile time increases 8x.

2010-08-28 Thread davidxl at gcc dot gnu dot org


--- Comment #10 from davidxl at gcc dot gnu dot org  2010-08-28 06:00 
---
fixed in r163610.


-- 

davidxl at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution||FIXED


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



[Bug fortran/45435] Automatically generate C interop interface blocks from C code

2010-08-28 Thread domob at gcc dot gnu dot org


--- Comment #1 from domob at gcc dot gnu dot org  2010-08-28 07:26 ---
I agree, this is also something I thought about in the past.  And to be
complete, we could also just do the other way round?


-- 

domob at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||domob at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-28 07:26:48
   date||


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



[Bug libfortran/45436] [4.6 Regression] Failed to bootstrap

2010-08-28 Thread fxcoudert at gcc dot gnu dot org


--- Comment #4 from fxcoudert at gcc dot gnu dot org  2010-08-28 07:35 
---
Subject: Bug 45436

Author: fxcoudert
Date: Sat Aug 28 07:35:10 2010
New Revision: 163611

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163611
Log:
PR fortran/45436
* trans-types.c (gfc_init_kinds): Disable TFmode.

Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/trans-types.c


-- 


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



[Bug fortran/45438] New: [OOP] ICE with -fcheck=pointer

2010-08-28 Thread sfilippone at uniroma2 dot it
Hello,
Trying to debug another issue, I have found this ICE, trunk at r163595

[sfili...@localhost bug22]$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gnu46/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc/configure --prefix=/usr/local/gnu46
--enable-languages=c,c++,fortran : (reconfigured) ../gcc/configure
--prefix=/usr/local/gnu46 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.6.0 20100827 (experimental) (GCC) 
[sfili...@localhost bug22]$ gfortran -ggdb -c bug22.f03
[sfili...@localhost bug22]$ gfortran -ggdb -fcheck=pointer -c bug22.f03
bug22.f03: In function 'base_get_nz_row':
bug22.f03:58:0: internal compiler error: Segmentation fault
Please submit a full bug report,
with preprocessed source if appropriate.
See http://gcc.gnu.org/bugs.html for instructions.


-- 
   Summary: [OOP] ICE with -fcheck=pointer
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sfilippone at uniroma2 dot it
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/45438] [OOP] ICE with -fcheck=pointer

2010-08-28 Thread sfilippone at uniroma2 dot it


--- Comment #1 from sfilippone at uniroma2 dot it  2010-08-28 09:04 ---
Created an attachment (id=21581)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21581action=view)
test case


-- 


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



[Bug fortran/45430] segfault in OMP code with threadprivate and copyin

2010-08-28 Thread jakub at gcc dot gnu dot org


--- Comment #3 from jakub at gcc dot gnu dot org  2010-08-28 10:02 ---
This is invalid.
See OpenMP 3.0, 2.9.4.1, COPYIN restrictions on page 102, lines 17-18:
   An array with the ALLOCATABLE attribute must be in the allocated state. Each
   thread's copy of that array must be allocated with the same bounds.
In the testcase pb isn't in allocated state.
See also http://openmp.org/forum/viewtopic.php?f=5t=7start=10#p292
for more details.
I hope this is going to be changed for OpenMP 3.1, when its draft is released,
we'll implement it the way it is written there.


-- 

jakub at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||INVALID


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



[Bug fortran/45438] [OOP] ICE with -fcheck=pointer

2010-08-28 Thread janus at gcc dot gnu dot org


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||janus at gcc dot gnu dot org
 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-28 10:27:07
   date||


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



[Bug fortran/45438] [OOP] ICE with -fcheck=pointer

2010-08-28 Thread dominiq at lps dot ens dot fr


--- Comment #2 from dominiq at lps dot ens dot fr  2010-08-28 10:29 ---
Confirmed as a regression appearing between revisions 158215 and 158921, the
seg fault is:

Reason: KERN_INVALID_ADDRESS at address: 0x0048
gfc_conv_procedure_call (se=0x7fff5fbfd6b0, sym=0x141921b10, arg=0x1419266f0,
expr=0x0, append_args=0x0) at ../../work/gcc/fortran/trans-expr.c:3171
3171  if (attr-optional)


-- 


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



[Bug tree-optimization/45427] Number of iteration analysis bogus

2010-08-28 Thread rakdver at gcc dot gnu dot org


--- Comment #10 from rakdver at gcc dot gnu dot org  2010-08-28 10:37 
---
Created an attachment (id=21582)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21582action=view)
proposed patch


-- 


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



[Bug tree-optimization/45427] Number of iteration analysis bogus

2010-08-28 Thread rakdver at gcc dot gnu dot org


--- Comment #11 from rakdver at gcc dot gnu dot org  2010-08-28 10:38 
---
Does the patch fix your problem?


-- 


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



[Bug tree-optimization/45427] Number of iteration analysis bogus

2010-08-28 Thread rguenther at suse dot de


--- Comment #12 from rguenther at suse dot de  2010-08-28 11:09 ---
Subject: Re:  Number of iteration analysis
 bogus

On Sat, 28 Aug 2010, rakdver at gcc dot gnu dot org wrote:

 --- Comment #11 from rakdver at gcc dot gnu dot org  2010-08-28 10:38 
 ---
 Does the patch fix your problem?

Yes, that fixes it.

Thanks!


-- 


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



[Bug fortran/45439] New: [OOP] SELECT TYPE bogus complaint about INTENT

2010-08-28 Thread sfilippone at uniroma2 dot it
With trunk at r163595, I get an error message which is totally bogus:
=
[sfili...@localhost bug21]$ gfortran -v
Using built-in specs.
COLLECT_GCC=gfortran
COLLECT_LTO_WRAPPER=/usr/local/gnu46/libexec/gcc/x86_64-unknown-linux-gnu/4.6.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc/configure --prefix=/usr/local/gnu46
--enable-languages=c,c++,fortran : (reconfigured) ../gcc/configure
--prefix=/usr/local/gnu46 --enable-languages=c,c++,fortran
Thread model: posix
gcc version 4.6.0 20100827 (experimental) (GCC) 
[sfili...@localhost bug21]$ gfortran -c bug21.f03 
bug21.f03:91.11:

call aa%mv_to_coo(actmp,info)
   1
Error: Actual argument at (1) must be definable as the dummy argument 'a' is
INTENT = OUT/INOUT
bug21.f03:92.33:

if (info == success_) call aa%mv_from_coo(actmp,info)
 1
Error: Actual argument at (1) must be definable as the dummy argument 'a' is
INTENT = OUT/INOUT
==


-- 
   Summary: [OOP] SELECT TYPE bogus complaint about INTENT
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: sfilippone at uniroma2 dot it
 GCC build triplet: x86_64-unknown-linux-gnu
  GCC host triplet: x86_64-unknown-linux-gnu
GCC target triplet: x86_64-unknown-linux-gnu


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



[Bug fortran/45439] [OOP] SELECT TYPE bogus complaint about INTENT

2010-08-28 Thread sfilippone at uniroma2 dot it


--- Comment #1 from sfilippone at uniroma2 dot it  2010-08-28 11:15 ---
Created an attachment (id=21583)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21583action=view)
test case

The code compiles cleanly with XLF. 
If I switch the commented lines in the CLASS DEFAULT clause, it compiles
cleanly (but I am not sure about the runtime behaviour, as I have seen other
problems down the road in the original application). 


-- 


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



[Bug fortran/45440] New: [OOP] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread burnus at gcc dot gnu dot org
The following segfaults with the current trunk, a 20100701 trunk, and a 4.5.1
build.


type t
  integer :: x
  real :: y(5)
  logical, allocatable :: z(:)
end type t

type(t) :: mt

mt%x = 1
mt%y = [1,2,3,4,5]
allocate ( mt%z, source = [ .true., .false., .true.]) !  ICE(segfault)
print *, mt%x
print *, mt%y
print *, mt%z
!print *, mt ! Invalid - ultimate allocatable component
end


Expected: As with ifort and crayftn: It compiles and ./a.out prints
 1
 1.,  2.,  3.,  4.,  5.
 T,  F,  T


-- 
   Summary: [OOP] ALLOCATE with SOURCE gives an ICE (segfault)
   Product: gcc
   Version: 4.6.0
Status: UNCONFIRMED
  Keywords: ice-on-valid-code
  Severity: normal
  Priority: P3
 Component: fortran
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: burnus at gcc dot gnu dot org


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



[Bug fortran/45439] [OOP] SELECT TYPE bogus complaint about INTENT

2010-08-28 Thread janus at gcc dot gnu dot org


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Keywords||rejects-valid
   Last reconfirmed|-00-00 00:00:00 |2010-08-28 11:27:22
   date||


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



[Bug fortran/45440] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #1 from janus at gcc dot gnu dot org  2010-08-28 11:34 ---
Confirmed. One does not even need allocatable components for this. The
following also fails:

logical, allocatable :: z(:)
allocate ( z, source = [ .true., .false., .true.]) !  ICE(segfault)
print *, z
end


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-28 11:34:22
   date||
Summary|[OOP] ALLOCATE with SOURCE  |ALLOCATE with SOURCE gives
   |gives an ICE (segfault) |an ICE (segfault)


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



[Bug c++/45437] Loses reference during update

2010-08-28 Thread rguenth at gcc dot gnu dot org


--- Comment #5 from rguenth at gcc dot gnu dot org  2010-08-28 11:40 ---
Note that internally there is no such thing as an operator|= for fundamental
types, but things are treated like in C.  If you were in C,

 sz.b |= f (sz, sz, sz, 3);

there is no sequence point before |= as it's not a function call - and I am
not sure your reading of C++ is correct that there is a function call
to operator|= and thus a sequence point before it.  In fact 5.17/7 says
that E1 op= E2 is equal to E1 = E1 op E2 except that E1 is evaluated only
once.

I can confirm though that EDG returns 1 for your example (which by our
reading would be an as valid result).


-- 


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



[Bug libfortran/45436] [4.6 Regression] Failed to bootstrap

2010-08-28 Thread rguenth at gcc dot gnu dot org


-- 

rguenth at gcc dot gnu dot org changed:

   What|Removed |Added

   Target Milestone|--- |4.6.0


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



[Bug fortran/45440] [F03] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #2 from janus at gcc dot gnu dot org  2010-08-28 11:46 ---
valgrind says:

==29743== Invalid read of size 4
==29743==at 0x52B37DB: __gmpz_set (in /usr/lib/libgmp.so.3.5.2)
==29743==by 0x532C37: conformable_arrays (resolve.c:6525)
==29743==by 0x533175: resolve_allocate_expr (resolve.c:6679)
==29743==by 0x533EA6: resolve_allocate_deallocate (resolve.c:6990)
==29743==by 0x537AB4: resolve_code (resolve.c:9017)
==29743==by 0x541422: resolve_codes (resolve.c:13320)
==29743==by 0x54151D: gfc_resolve (resolve.c:13347)
==29743==by 0x51E86A: resolve_all_program_units (parse.c:4187)
==29743==by 0x51EEE5: gfc_parse_file (parse.c:4416)
==29743==by 0x562C6E: gfc_be_parse_file (f95-lang.c:241)
==29743==by 0xA35DA8: compile_file (toplev.c:971)
==29743==by 0xA38051: do_compile (toplev.c:2321)
==29743==  Address 0x7c is not stack'd, malloc'd or (recently) free'd


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||kargl at gcc dot gnu dot org
  Known to fail||4.5.2 4.6.0
Summary|ALLOCATE with SOURCE gives  |[F03] ALLOCATE with SOURCE
   |an ICE (segfault)   |gives an ICE (segfault)


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



[Bug fortran/45440] [F03] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #3 from janus at gcc dot gnu dot org  2010-08-28 11:51 ---
The following variant segfaults as well (same backtrace):

logical, allocatable :: z(:)
logical, dimension(1:3) :: src = (/ .true., .false., .true. /)
allocate ( z, source = src)
print *, z
end


-- 


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



[Bug fortran/45440] [F03] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #4 from janus at gcc dot gnu dot org  2010-08-28 11:55 ---
It works though when explicitly specifying the size of z to allocate:

logical, allocatable :: z(:)
allocate ( z(3), source =  [ .true., .false., .true. ] )
print *, z
end


-- 


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



[Bug fortran/45439] [OOP] SELECT TYPE bogus complaint about INTENT

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #2 from janus at gcc dot gnu dot org  2010-08-28 12:18 ---
Reduced test case:

module d_base_mat_mod

  implicit none

  type :: d_base_sparse_mat
  contains
procedure, pass(a) :: mv_to_coo   = d_base_mv_to_coo   
  end type d_base_sparse_mat

  interface 
subroutine d_base_mv_to_coo(a)
  import d_base_sparse_mat
  class(d_base_sparse_mat), intent(inout) :: a
end subroutine d_base_mv_to_coo
  end interface

  type :: d_sparse_mat
class(d_base_sparse_mat), allocatable  :: a 
  end type d_sparse_mat

contains

  subroutine bug21(ax)
type(d_sparse_mat), intent(inout) :: ax
select type(aa= ax%a)
class default
  call aa%mv_to_coo() 
end select
  end subroutine bug21

end module d_base_mat_mod


-- 


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



[Bug fortran/45439] [OOP] SELECT TYPE bogus complaint about INTENT

2010-08-28 Thread janus at gcc dot gnu dot org


--- Comment #3 from janus at gcc dot gnu dot org  2010-08-28 12:49 ---
Here's the fix:


Index: match.c
===
--- match.c (revision 163612)
+++ match.c (working copy)
@@ -4532,6 +4532,7 @@ gfc_match_select_type (void)
expr1-symtree-n.sym-attr.untyped = 1;
   else
expr1-symtree-n.sym-ts = expr2-ts;
+  expr1-symtree-n.sym-attr.flavor = FL_VARIABLE;
   expr1-symtree-n.sym-attr.referenced = 1;
   expr1-symtree-n.sym-attr.class_ok = 1;
 }


I'll commit as obvious after a regtest.


-- 

janus at gcc dot gnu dot org changed:

   What|Removed |Added

 AssignedTo|unassigned at gcc dot gnu   |janus at gcc dot gnu dot org
   |dot org |
 Status|NEW |ASSIGNED
   Last reconfirmed|2010-08-28 11:27:22 |2010-08-28 12:49:33
   date||


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



[Bug tree-optimization/45427] Number of iteration analysis bogus

2010-08-28 Thread rakdver at gcc dot gnu dot org


--- Comment #13 from rakdver at gcc dot gnu dot org  2010-08-28 13:39 
---
Created an attachment (id=21584)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21584action=view)
a new version of the patch

There were some problems with the previous patch (that could only manifest for
some rather weird loops, but anyway). This one fixes them as well as extends
the comments and restructures the function somewhat, which should hopefully
make it clearer what's going on.


-- 

rakdver at gcc dot gnu dot org changed:

   What|Removed |Added

  Attachment #21582|0   |1
is obsolete||


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



[Bug rtl-optimization/45353] ICE: RTL check: expected elt 3 type 'B', have '0' (rtx barrier) in sel_bb_head, at sel-sched-ir.c:4329 with -fselective-scheduling and __builtin_unreachable()

2010-08-28 Thread ebotcazou at gcc dot gnu dot org


--- Comment #4 from ebotcazou at gcc dot gnu dot org  2010-08-28 13:58 
---
The same fix is needed on the 4.5 branch.


-- 

ebotcazou at gcc dot gnu dot org changed:

   What|Removed |Added

 CC||ebotcazou at gcc dot gnu dot
   ||org
 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |
   Target Milestone|--- |4.5.2


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



[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2010-08-28 Thread uros at gcc dot gnu dot org


--- Comment #7 from uros at gcc dot gnu dot org  2010-08-28 14:02 ---
Subject: Bug 41484

Author: uros
Date: Sat Aug 28 14:02:18 2010
New Revision: 163613

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163613
Log:
PR target/41484
* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
operands for operand 1.
(sse4_1_extendv4qiv4si2): Ditto.
(sse4_1_extendv2qiv2di2): Ditto.
(sse4_1_extendv4hiv4si2): Ditto.
(sse4_1_extendv2hiv2di2): Ditto.
(sse4_1_extendv2siv2di2): Ditto.
(sse4_1_zero_extendv8qiv8hi2): Ditto.
(sse4_1_zero_extendv4qiv4si2): Ditto.
(sse4_1_zero_extendv2qiv2di2): Ditto.
(sse4_1_zero_extendv4hiv4si2): Ditto.
(sse4_1_zero_extendv2hiv2di2): Ditto.
(sse4_1_zero_extendv2siv2di2): Ditto.
(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
(*sse4_1_extendv4qiv4si2): Ditto.
(*sse4_1_extendv2qiv2di2): Ditto.
(*sse4_1_extendv4hiv4si2): Ditto.
(*sse4_1_extendv2hiv2di2): Ditto.
(*sse4_1_extendv2siv2di2): Ditto.
(*sse4_1_zero_extendv8qiv8hi2): Ditto.
(*sse4_1_zero_extendv4qiv4si2): Ditto.
(*sse4_1_zero_extendv2qiv2di2): Ditto.
(*sse4_1_zero_extendv4hiv4si2): Ditto.
(*sse4_1_zero_extendv2hiv2di2): Ditto.
(*sse4_1_zero_extendv2siv2di2): Ditto.


Modified:
branches/gcc-4_5-branch/gcc/ChangeLog
branches/gcc-4_5-branch/gcc/config/i386/sse.md


-- 


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



[Bug fortran/45440] [F03] ALLOCATE with SOURCE gives an ICE (segfault)

2010-08-28 Thread burnus at gcc dot gnu dot org


--- Comment #5 from burnus at gcc dot gnu dot org  2010-08-28 14:05 ---
(In reply to comment #4)
 It works though when explicitly specifying the size of z to allocate:
 
 logical, allocatable :: z(:)
 allocate ( z(3), source =  [ .true., .false., .true. ] )

Congratulation - you have found another bug:

C633 (R631) If allocate-object is an array either allocate-shape-spec-list
shall appear or source-expr shall appear [...]

In your example both appear. (source-expr is either SOURCE= or MOLD=.)


-- 


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



[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2010-08-28 Thread uros at gcc dot gnu dot org


--- Comment #8 from uros at gcc dot gnu dot org  2010-08-28 14:27 ---
Subject: Bug 41484

Author: uros
Date: Sat Aug 28 14:27:33 2010
New Revision: 163614

URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=163614
Log:
PR target/41484
* config/i386/sse.md (sse4_1_extendv8qiv8hi2): Also accept memory
operands for operand 1.
(sse4_1_extendv4qiv4si2): Ditto.
(sse4_1_extendv2qiv2di2): Ditto.
(sse4_1_extendv4hiv4si2): Ditto.
(sse4_1_extendv2hiv2di2): Ditto.
(sse4_1_extendv2siv2di2): Ditto.
(sse4_1_zero_extendv8qiv8hi2): Ditto.
(sse4_1_zero_extendv4qiv4si2): Ditto.
(sse4_1_zero_extendv2qiv2di2): Ditto.
(sse4_1_zero_extendv4hiv4si2): Ditto.
(sse4_1_zero_extendv2hiv2di2): Ditto.
(sse4_1_zero_extendv2siv2di2): Ditto.
(*sse4_1_extendv8qiv8hi2): Remove insn pattern.
(*sse4_1_extendv4qiv4si2): Ditto.
(*sse4_1_extendv2qiv2di2): Ditto.
(*sse4_1_extendv4hiv4si2): Ditto.
(*sse4_1_extendv2hiv2di2): Ditto.
(*sse4_1_extendv2siv2di2): Ditto.
(*sse4_1_zero_extendv8qiv8hi2): Ditto.
(*sse4_1_zero_extendv4qiv4si2): Ditto.
(*sse4_1_zero_extendv2qiv2di2): Ditto.
(*sse4_1_zero_extendv4hiv4si2): Ditto.
(*sse4_1_zero_extendv2hiv2di2): Ditto.
(*sse4_1_zero_extendv2siv2di2): Ditto.


Modified:
branches/gcc-4_4-branch/gcc/ChangeLog
branches/gcc-4_4-branch/gcc/config/i386/sse.md


-- 


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



[Bug target/41484] Please add memory forms of pmovzx* (SSE4.1)

2010-08-28 Thread ubizjak at gmail dot com


--- Comment #9 from ubizjak at gmail dot com  2010-08-28 14:34 ---
Fixed.


-- 

ubizjak at gmail dot com changed:

   What|Removed |Added

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


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



[Bug c++/986] g++ misses warning for on temporary

2010-08-28 Thread redi at gcc dot gnu dot org


--- Comment #29 from redi at gcc dot gnu dot org  2010-08-28 14:39 ---
that's why EDG only gives a remark not a warning


-- 


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



[Bug c++/43453] Initialization of char array with string literal fails in mem-initializer

2010-08-28 Thread schaub-johannes at web dot de


--- Comment #2 from schaub-johannes at web dot de  2010-08-28 14:39 ---
(In reply to comment #1)
 (In reply to comment #0)
  Fails to compile, but should work:
  
  struct A { 
char x[4]; 
A():x(bug) { } 
  };
  
  Error i get is:
  
  main.cpp:3: error: array used as initializer
  
 
 Why do you think it should work?  
 For example, the following equivalent code is invalid as well:
 
 char x [4] (bug);
 

This code is equivalent and is valid. At least, I don't see the Standard
forbidding it. GCC is the only compiler I tested (comeau/edg, clang) that
rejects it.


-- 


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



[Bug c++/986] g++ misses warning for on temporary

2010-08-28 Thread redi at gcc dot gnu dot org


--- Comment #30 from redi at gcc dot gnu dot org  2010-08-28 14:42 ---
Can we change the summary to mention references?  It looks to me as though it's
talking about the address-of operator.


-- 


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



[Bug middle-end/45306] ICE (Segmentation fault) while building PyQt with -fgraphite-identity

2010-08-28 Thread chxanders at gmail dot com


--- Comment #4 from chxanders at gmail dot com  2010-08-28 15:03 ---
Same problem on 64 bits, but it is one of the -O1 optimisations that does it.


-- 


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



[Bug fortran/45425] Bounds check applied before MASK of WHERE construct

2010-08-28 Thread burnus at gcc dot gnu dot org


--- Comment #2 from burnus at gcc dot gnu dot org  2010-08-28 15:40 ---
The error message is generated in
  gfc_conv_array_ref
it's called via gfc_trans_where_3 - gfc_conv_loop_setup -
gfc_add_loop_ss_code - gfc_conv_variable

Thus, the condition (mask) ends up at
  gfc_add_ss_to_loop (loop, css);
and the bounds check is added via
  gfc_conv_loop_setup (loop, tdst-where);

Thus, it ends up at loop-pre which comes before the actual loop.


-- 


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



[Bug target/45299] Dwarf information is wrong with optimised code.

2010-08-28 Thread hariharans at picochip dot com


--- Comment #7 from hariharans at picochip dot com  2010-08-28 16:14 ---
picochip is a vliw processor and reorder_var_tracking_notes tries to move debug
instructions from middle of vliw instructions out. There was a bug in that
which resulted in this problem. 


-- 


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



[Bug target/45299] Dwarf information is wrong with optimised code.

2010-08-28 Thread hariharans at picochip dot com


--- Comment #8 from hariharans at picochip dot com  2010-08-28 16:15 ---
Created an attachment (id=21585)
 -- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=21585action=view)
Patch to fix the problem


-- 


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



[Bug target/45299] Dwarf information is wrong with optimised code.

2010-08-28 Thread hariharans at picochip dot com


--- Comment #9 from hariharans at picochip dot com  2010-08-28 17:17 ---
Fixed on mainline.


-- 

hariharans at picochip dot com changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 Resolution||FIXED


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



[Bug fortran/45425] Bounds check applied before MASK of WHERE construct

2010-08-28 Thread mikael at gcc dot gnu dot org


--- Comment #3 from mikael at gcc dot gnu dot org  2010-08-28 17:42 ---
Ouch!
We need some sort of lazy evaluation.
Like (pseudo-code)

bool scalar_ever_evaluated = false;
whatever_type scalar_value;

while(1)
  {
/* loop handling stuff */

if (scalar_ever_evaluated)
  {
scalar_value = whatever complicated expression;
scalar_ever_evaluated = true;
  }

/* normal code using scalar_value */
  }


We have to move back se-pre into se-expr so that it is not moved outside the
loop. Or move it outside the loop conditionally and conditionally add se-pre
inside the loop while evaluating the scalar. 

BTW I thought there was already some where-specific code generation for scalar
values. 


-- 


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



[Bug c++/45437] Loses reference during update

2010-08-28 Thread igodard at pacbell dot net


--- Comment #6 from igodard at pacbell dot net  2010-08-28 17:49 ---
Thank you. Don't know about C, but this is C++ in which operators are function.
BTW, even in C the standard goes to some lengths in places to make things that
look like functions but have odd semantics be defined as macros so as to avoid
the semantic guarantees.

If the standard says that C++ argument evaluation semantics is different for
the arguments of a pre-defined function vs the arguments of a user-declared
overload of the same function then this report is invalid. And I would be very
surprised :-)

Is Gabe still with you guys? I'd guess he'd know.


-- 


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



[Bug fortran/45425] Bounds check applied before MASK of WHERE construct

2010-08-28 Thread tkoenig at gcc dot gnu dot org


-- 

tkoenig at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
 Ever Confirmed|0   |1
   Last reconfirmed|-00-00 00:00:00 |2010-08-28 19:51:18
   date||


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



[Bug c++/45437] Loses reference during update

2010-08-28 Thread redi at gcc dot gnu dot org


--- Comment #7 from redi at gcc dot gnu dot org  2010-08-28 23:48 ---
(In reply to comment #6)
 Thank you. Don't know about C, but this is C++ in which operators are 
 function.

Builtin operators are not functions.

See e.g. footnote 12 on 1.9p18 in C++ 2003 which makes it clear that builtin
operators have very different effects wrt sequence points from user-defined
functions:

12) The operators indicated in this paragraph are the built-in operators, as
described in clause 5. When one of these operators is over-loaded (clause 13)
in a valid context, thus designating a user-defined operator function, the
expression designates a function invocation, and the operands form an argument
list, without an implied sequence point between them.


-- 


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



[Bug target/44309] ../../gcc-4.5/gcc/config/t-darwin:25: warning: overriding commands for target `darwin.o'

2010-08-28 Thread howarth at nitro dot med dot uc dot edu


--- Comment #1 from howarth at nitro dot med dot uc dot edu  2010-08-28 
23:59 ---
I believe this was fixed by r159979...

2010-05-28  Iain Sandoe  ia...@gcc.gnu.org

* config.gcc (*-*-darwin*): Adjust t-make fragments for Darwin.


-- 


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



[Bug c++/45437] Loses reference during update

2010-08-28 Thread redi at gcc dot gnu dot org


--- Comment #8 from redi at gcc dot gnu dot org  2010-08-29 00:55 ---
The sequencing rules have changed in C++0x, but G++ doesn't implement them yet
AFAIK, and I'm not sure if the new rules affect this example


-- 


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



[Bug middle-end/45422] [4.6 Regression] compile time increases 5x.

2010-08-28 Thread jv244 at cam dot ac dot uk


--- Comment #11 from jv244 at cam dot ac dot uk  2010-08-29 05:09 ---
After David's patch (thanks!), the testcase requires 240s, that's still a 5x
slowdown. I paste the new timing profile below, and reopen the bug. There is no
obvious candidate for the slowdown.

 gfortran -c -ftime-report -cpp -fbounds-check -g -O3 -ffast-math 
 -funroll-loops -ftree-vectorize -march=native -ffree-form test.f90

Execution times (seconds)
 garbage collection:  12.55 ( 5%) usr   0.03 ( 2%) sys  12.57 ( 5%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.08 ( 0%) usr   0.00 ( 0%) sys   0.06 ( 0%) wall   
5736 kB ( 0%) ggc
 callgraph optimization:   0.40 ( 0%) usr   0.02 ( 1%) sys   0.41 ( 0%) wall   
 725 kB ( 0%) ggc
 ipa cp:   0.07 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
1347 kB ( 0%) ggc
 ipa function splitting:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa reference :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa profile   :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa pure const:   0.07 ( 0%) usr   0.01 ( 1%) sys   0.15 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup   :   2.28 ( 1%) usr   0.00 ( 0%) sys   2.35 ( 1%) wall   
4726 kB ( 0%) ggc
 CFG verifier  :   5.54 ( 2%) usr   0.03 ( 2%) sys   5.73 ( 2%) wall   
   0 kB ( 0%) ggc
 trivially dead code   :   0.67 ( 0%) usr   0.00 ( 0%) sys   0.65 ( 0%) wall   
   0 kB ( 0%) ggc
 df multiple defs  :   0.23 ( 0%) usr   0.00 ( 0%) sys   0.28 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs  :   2.00 ( 1%) usr   0.00 ( 0%) sys   2.12 ( 1%) wall   
   0 kB ( 0%) ggc
 df live regs  :   9.80 ( 4%) usr   0.01 ( 1%) sys  10.18 ( 4%) wall   
   0 kB ( 0%) ggc
 df liveinitialized regs:   3.62 ( 1%) usr   0.00 ( 0%) sys   3.08 ( 1%) wall 
 0 kB ( 0%) ggc
 df use-def / def-use chains:   1.22 ( 0%) usr   0.00 ( 0%) sys   1.26 ( 1%)
wall   0 kB ( 0%) ggc
 df live reg subwords  :   0.32 ( 0%) usr   0.00 ( 0%) sys   0.27 ( 0%) wall   
   0 kB ( 0%) ggc
 df reg dead/unused notes:   4.67 ( 2%) usr   0.00 ( 0%) sys   4.44 ( 2%) wall 
  8317 kB ( 0%) ggc
 register information  :   2.10 ( 1%) usr   0.00 ( 0%) sys   1.97 ( 1%) wall   
   0 kB ( 0%) ggc
 alias analysis:   1.73 ( 1%) usr   0.00 ( 0%) sys   1.87 ( 1%) wall  
47018 kB ( 3%) ggc
 alias stmt walking:   0.61 ( 0%) usr   0.07 ( 4%) sys   0.61 ( 0%) wall   
6938 kB ( 0%) ggc
 register scan :   0.32 ( 0%) usr   0.00 ( 0%) sys   0.32 ( 0%) wall   
 202 kB ( 0%) ggc
 rebuild jump labels   :   0.72 ( 0%) usr   0.00 ( 0%) sys   0.67 ( 0%) wall   
   0 kB ( 0%) ggc
 parser:   0.90 ( 0%) usr   0.09 ( 5%) sys   0.99 ( 0%) wall  
55368 kB ( 3%) ggc
 inline heuristics :   0.17 ( 0%) usr   0.01 ( 1%) sys   0.26 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.51 ( 0%) usr   0.01 ( 1%) sys   0.57 ( 0%) wall  
48405 kB ( 3%) ggc
 tree eh   :   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.02 ( 0%) usr   0.01 ( 1%) sys   0.03 ( 0%) wall  
11974 kB ( 1%) ggc
 tree CFG cleanup  :   1.30 ( 1%) usr   0.02 ( 1%) sys   1.21 ( 0%) wall   
3530 kB ( 0%) ggc
 tree VRP  :   2.50 ( 1%) usr   0.03 ( 2%) sys   2.44 ( 1%) wall  
67364 kB ( 4%) ggc
 tree copy propagation :   0.16 ( 0%) usr   0.05 ( 3%) sys   0.15 ( 0%) wall   
1384 kB ( 0%) ggc
 tree find ref. vars   :   0.05 ( 0%) usr   0.01 ( 1%) sys   0.05 ( 0%) wall   
3806 kB ( 0%) ggc
 tree PTA  :   0.34 ( 0%) usr   0.00 ( 0%) sys   0.33 ( 0%) wall   
5198 kB ( 0%) ggc
 tree PHI insertion:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
3194 kB ( 0%) ggc
 tree SSA rewrite  :   0.39 ( 0%) usr   0.00 ( 0%) sys   0.35 ( 0%) wall  
14011 kB ( 1%) ggc
 tree SSA other:   0.10 ( 0%) usr   0.04 ( 2%) sys   0.10 ( 0%) wall   
 432 kB ( 0%) ggc
 tree SSA incremental  :   1.18 ( 0%) usr   0.14 ( 8%) sys   1.44 ( 1%) wall   
7441 kB ( 0%) ggc
 tree operand scan :   0.47 ( 0%) usr   0.33 (19%) sys   0.78 ( 0%) wall  
58289 kB ( 3%) ggc
 dominator optimization:   0.52 ( 0%) usr   0.00 ( 0%) sys   0.61 ( 0%) wall   
8527 kB ( 0%) ggc
 tree SRA  :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP  :   1.05 ( 0%) usr   0.05 ( 3%) sys   1.28 ( 1%) wall   
4845 kB ( 0%) ggc
 tree PHI const/copy prop:   0.01 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall 
   106 kB ( 0%) ggc
 tree split crit edges :   0.00 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
2014 kB ( 0%) ggc
 tree reassociation:   0.27 ( 0%) usr   0.03 ( 2%) sys   0.27 ( 0%) wall   
6030 kB ( 0%) ggc
 tree PRE  :   0.85 ( 0%) usr   0.00 ( 0%) sys   0.89 ( 0%) wall   
7164 kB ( 0%) ggc
 tree FRE  :   0.47 ( 0%) usr   0.02 ( 1%) sys   0.56 ( 0%) wall   
5411 kB ( 0%) ggc
 tree code sinking :   0.11 ( 0%) usr   

[Bug middle-end/45422] [4.6 Regression] compile time increases 5x.

2010-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #12 from pinskia at gcc dot gnu dot org  2010-08-29 05:13 
---
Extra diagnostic checks enabled; compiler may run slowly.

Make sure you configure the trunk with --enable-checking=release to get the
same timing results as what a release would be.


-- 

pinskia at gcc dot gnu dot org changed:

   What|Removed |Added

 Status|REOPENED|WAITING


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



[Bug middle-end/45422] [4.6 Regression] compile time increases 5x.

2010-08-28 Thread jv244 at cam dot ac dot uk


--- Comment #13 from jv244 at cam dot ac dot uk  2010-08-29 05:20 ---
(In reply to comment #12)
 Extra diagnostic checks enabled; compiler may run slowly.
 
 Make sure you configure the trunk with --enable-checking=release to get the
 same timing results as what a release would be.
 
The comparison is actually against the branches, not releases. However, I'm
rebuilding gcc and will report back.


-- 


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



[Bug middle-end/45422] [4.6 Regression] compile time increases 5x.

2010-08-28 Thread pinskia at gcc dot gnu dot org


--- Comment #14 from pinskia at gcc dot gnu dot org  2010-08-29 05:23 
---
(In reply to comment #12)
 Extra diagnostic checks enabled; compiler may run slowly.
 
 Make sure you configure the trunk with --enable-checking=release to get the
 same timing results as what a release would be.

s/release/release branch/ :).


-- 


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



[Bug middle-end/45422] [4.6 Regression] compile time increases 5x.

2010-08-28 Thread jv244 at cam dot ac dot uk


--- Comment #15 from jv244 at cam dot ac dot uk  2010-08-29 05:31 ---
Similar times (a bit faster) with release checking:

Execution times (seconds)
 garbage collection:   1.17 ( 1%) usr   0.00 ( 0%) sys   1.18 ( 1%) wall   
   0 kB ( 0%) ggc
 callgraph construction:   0.04 ( 0%) usr   0.01 ( 1%) sys   0.04 ( 0%) wall   
5670 kB ( 0%) ggc
 callgraph optimization:   0.32 ( 0%) usr   0.00 ( 0%) sys   0.25 ( 0%) wall   
 599 kB ( 0%) ggc
 ipa cp:   0.07 ( 0%) usr   0.00 ( 0%) sys   0.09 ( 0%) wall   
1345 kB ( 0%) ggc
 ipa function splitting:   0.02 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa reference :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 ipa pure const:   0.11 ( 0%) usr   0.02 ( 1%) sys   0.14 ( 0%) wall   
   0 kB ( 0%) ggc
 cfg cleanup   :   2.67 ( 2%) usr   0.02 ( 1%) sys   2.59 ( 2%) wall   
4726 kB ( 0%) ggc
 trivially dead code   :   0.74 ( 0%) usr   0.00 ( 0%) sys   0.72 ( 0%) wall   
   0 kB ( 0%) ggc
 df multiple defs  :   0.48 ( 0%) usr   0.01 ( 1%) sys   0.35 ( 0%) wall   
   0 kB ( 0%) ggc
 df reaching defs  :   1.73 ( 1%) usr   0.00 ( 0%) sys   2.12 ( 1%) wall   
   0 kB ( 0%) ggc
 df live regs  :  10.78 ( 7%) usr   0.01 ( 1%) sys  11.16 ( 7%) wall   
   0 kB ( 0%) ggc
 df liveinitialized regs:   3.60 ( 2%) usr   0.00 ( 0%) sys   3.87 ( 2%) wall 
 0 kB ( 0%) ggc
 df use-def / def-use chains:   1.52 ( 1%) usr   0.00 ( 0%) sys   1.18 ( 1%)
wall   0 kB ( 0%) ggc
 df live reg subwords  :   0.33 ( 0%) usr   0.00 ( 0%) sys   0.34 ( 0%) wall   
   0 kB ( 0%) ggc
 df reg dead/unused notes:   5.27 ( 3%) usr   0.00 ( 0%) sys   5.42 ( 3%) wall 
  7568 kB ( 0%) ggc
 register information  :   2.24 ( 1%) usr   0.00 ( 0%) sys   2.19 ( 1%) wall   
   0 kB ( 0%) ggc
 alias analysis:   2.33 ( 1%) usr   0.00 ( 0%) sys   2.30 ( 1%) wall  
47018 kB ( 3%) ggc
 alias stmt walking:   0.48 ( 0%) usr   0.05 ( 3%) sys   0.44 ( 0%) wall   
6938 kB ( 0%) ggc
 register scan :   0.22 ( 0%) usr   0.00 ( 0%) sys   0.37 ( 0%) wall   
 394 kB ( 0%) ggc
 rebuild jump labels   :   0.73 ( 0%) usr   0.00 ( 0%) sys   0.61 ( 0%) wall   
   0 kB ( 0%) ggc
 parser:   0.85 ( 1%) usr   0.13 ( 7%) sys   0.98 ( 1%) wall  
55365 kB ( 3%) ggc
 inline heuristics :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.19 ( 0%) wall   
   0 kB ( 0%) ggc
 tree gimplify :   0.40 ( 0%) usr   0.06 ( 3%) sys   0.47 ( 0%) wall  
48405 kB ( 3%) ggc
 tree eh   :   0.02 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CFG construction :   0.03 ( 0%) usr   0.02 ( 1%) sys   0.08 ( 0%) wall  
11971 kB ( 1%) ggc
 tree CFG cleanup  :   1.02 ( 1%) usr   0.03 ( 2%) sys   1.14 ( 1%) wall   
3522 kB ( 0%) ggc
 tree VRP  :   2.25 ( 1%) usr   0.05 ( 3%) sys   2.18 ( 1%) wall  
67051 kB ( 4%) ggc
 tree copy propagation :   0.24 ( 0%) usr   0.00 ( 0%) sys   0.16 ( 0%) wall   
1384 kB ( 0%) ggc
 tree find ref. vars   :   0.09 ( 0%) usr   0.00 ( 0%) sys   0.07 ( 0%) wall   
3806 kB ( 0%) ggc
 tree PTA  :   0.36 ( 0%) usr   0.00 ( 0%) sys   0.26 ( 0%) wall   
5193 kB ( 0%) ggc
 tree PHI insertion:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall   
3194 kB ( 0%) ggc
 tree SSA rewrite  :   0.40 ( 0%) usr   0.02 ( 1%) sys   0.53 ( 0%) wall  
14011 kB ( 1%) ggc
 tree SSA other:   0.09 ( 0%) usr   0.01 ( 1%) sys   0.13 ( 0%) wall   
 428 kB ( 0%) ggc
 tree SSA incremental  :   1.40 ( 1%) usr   0.09 ( 5%) sys   1.50 ( 1%) wall   
7431 kB ( 0%) ggc
 tree operand scan :   0.45 ( 0%) usr   0.33 (18%) sys   0.82 ( 0%) wall  
58289 kB ( 3%) ggc
 dominator optimization:   0.41 ( 0%) usr   0.04 ( 2%) sys   0.60 ( 0%) wall   
8526 kB ( 0%) ggc
 tree SRA  :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
   0 kB ( 0%) ggc
 tree CCP  :   1.05 ( 1%) usr   0.02 ( 1%) sys   1.16 ( 1%) wall   
4845 kB ( 0%) ggc
 tree PHI const/copy prop:   0.03 ( 0%) usr   0.00 ( 0%) sys   0.00 ( 0%) wall 
88 kB ( 0%) ggc
 tree split crit edges :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
2014 kB ( 0%) ggc
 tree reassociation:   0.25 ( 0%) usr   0.05 ( 3%) sys   0.23 ( 0%) wall   
6023 kB ( 0%) ggc
 tree PRE  :   0.81 ( 0%) usr   0.00 ( 0%) sys   0.82 ( 0%) wall   
7164 kB ( 0%) ggc
 tree FRE  :   0.43 ( 0%) usr   0.03 ( 2%) sys   0.51 ( 0%) wall   
5410 kB ( 0%) ggc
 tree code sinking :   0.07 ( 0%) usr   0.00 ( 0%) sys   0.03 ( 0%) wall   
1311 kB ( 0%) ggc
 tree linearize phis   :   0.01 ( 0%) usr   0.00 ( 0%) sys   0.02 ( 0%) wall   
   0 kB ( 0%) ggc
 tree forward propagate:   0.33 ( 0%) usr   0.00 ( 0%) sys   0.30 ( 0%) wall  
11812 kB ( 1%) ggc
 tree phiprop  :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.01 ( 0%) wall   
   0 kB ( 0%) ggc
 tree conservative DCE :   0.09 ( 0%) usr   0.01 ( 1%) sys   0.09 ( 0%) wall   
 575 kB ( 0%) ggc
 tree aggressive DCE   :