[GSoC] Addition of __isl_give to declarations

2014-07-05 Thread Roman Gareev
This patch adds __isl_give to declarations of the following funcions:
generate_isl_context, generate_isl_schedule, scop_to_isl_ast

Is it fine for trunk?

--
   Cheers, Roman Gareev


ChangeLog_entry
Description: Binary data


patch
Description: Binary data


Re: [GSoC] Addition of __isl_give to declarations

2014-07-05 Thread Tobias Grosser

On 05/07/2014 08:58, Roman Gareev wrote:

This patch adds __isl_give to declarations of the following funcions:
generate_isl_context, generate_isl_schedule, scop_to_isl_ast

Is it fine for trunk?


The ChangeLog should be per-function. Otherwise LGTM.

Tobias


Re: [PATCH] Fix arrays in rtx.u + add minor rtx verification

2014-07-05 Thread Richard Biener
On July 4, 2014 10:50:01 PM CEST, Jakub Jelinek ja...@redhat.com wrote:
On Mon, Jun 23, 2014 at 04:40:43PM +0200, Richard Biener wrote:
 Can we instead refactor expmed.c to avoid allocating rtx_def
directly?
 Like by using rtx in init_expmed_rtl and allocating from an obstack
 (or not care and GC-allocate anyway).

So like this?  Bootstrapped/regtested on x86_64-linux and i686-linux,
haven't seen any measurable difference in 1000x invocations of null .c
file
compilations.  It is just 18 GC allocations + I ggc_free all of them.

Yes.

Thanks,
Richard.

2014-07-04  Jakub Jelinek  ja...@redhat.com

   * expmed.c (struct init_expmed_rtl): Change all fields but
   pow2 and cint from struct rtx_def to rtx.
   (init_expmed_one_conv, init_expmed_one_mode): Adjust for that change.
   (init_expmed): Likewise.  Allocate all the 18 rtxes and ggc_free them
   at the end again.

--- gcc/expmed.c.jj2014-07-03 16:37:50.0 +0200
+++ gcc/expmed.c   2014-07-04 17:23:54.229174101 +0200
@@ -88,24 +88,24 @@ mask_rtx (enum machine_mode mode, int bi
 
 struct init_expmed_rtl
 {
-  struct rtx_def reg;
-  struct rtx_def plus;
-  struct rtx_def neg;
-  struct rtx_def mult;
-  struct rtx_def sdiv;
-  struct rtx_def udiv;
-  struct rtx_def sdiv_32;
-  struct rtx_def smod_32;
-  struct rtx_def wide_mult;
-  struct rtx_def wide_lshr;
-  struct rtx_def wide_trunc;
-  struct rtx_def shift;
-  struct rtx_def shift_mult;
-  struct rtx_def shift_add;
-  struct rtx_def shift_sub0;
-  struct rtx_def shift_sub1;
-  struct rtx_def zext;
-  struct rtx_def trunc;
+  rtx reg;
+  rtx plus;
+  rtx neg;
+  rtx mult;
+  rtx sdiv;
+  rtx udiv;
+  rtx sdiv_32;
+  rtx smod_32;
+  rtx wide_mult;
+  rtx wide_lshr;
+  rtx wide_trunc;
+  rtx shift;
+  rtx shift_mult;
+  rtx shift_add;
+  rtx shift_sub0;
+  rtx shift_sub1;
+  rtx zext;
+  rtx trunc;
 
   rtx pow2[MAX_BITS_PER_WORD];
   rtx cint[MAX_BITS_PER_WORD];
@@ -127,9 +127,9 @@ init_expmed_one_conv (struct init_expmed
  - (GET_MODE_CLASS (from_mode) == MODE_PARTIAL_INT));
   
   /* Assume cost of zero-extend and sign-extend is the same.  */
-  which = (to_size  from_size ? all-trunc : all-zext);
+  which = (to_size  from_size ? all-trunc : all-zext);
 
-  PUT_MODE (all-reg, from_mode);
+  PUT_MODE (all-reg, from_mode);
set_convert_cost (to_mode, from_mode, speed, set_src_cost (which,
speed));
 }
 
@@ -142,32 +142,32 @@ init_expmed_one_mode (struct init_expmed
 
   mode_bitsize = GET_MODE_UNIT_BITSIZE (mode);
 
-  PUT_MODE (all-reg, mode);
-  PUT_MODE (all-plus, mode);
-  PUT_MODE (all-neg, mode);
-  PUT_MODE (all-mult, mode);
-  PUT_MODE (all-sdiv, mode);
-  PUT_MODE (all-udiv, mode);
-  PUT_MODE (all-sdiv_32, mode);
-  PUT_MODE (all-smod_32, mode);
-  PUT_MODE (all-wide_trunc, mode);
-  PUT_MODE (all-shift, mode);
-  PUT_MODE (all-shift_mult, mode);
-  PUT_MODE (all-shift_add, mode);
-  PUT_MODE (all-shift_sub0, mode);
-  PUT_MODE (all-shift_sub1, mode);
-  PUT_MODE (all-zext, mode);
-  PUT_MODE (all-trunc, mode);
-
-  set_add_cost (speed, mode, set_src_cost (all-plus, speed));
-  set_neg_cost (speed, mode, set_src_cost (all-neg, speed));
-  set_mul_cost (speed, mode, set_src_cost (all-mult, speed));
-  set_sdiv_cost (speed, mode, set_src_cost (all-sdiv, speed));
-  set_udiv_cost (speed, mode, set_src_cost (all-udiv, speed));
+  PUT_MODE (all-reg, mode);
+  PUT_MODE (all-plus, mode);
+  PUT_MODE (all-neg, mode);
+  PUT_MODE (all-mult, mode);
+  PUT_MODE (all-sdiv, mode);
+  PUT_MODE (all-udiv, mode);
+  PUT_MODE (all-sdiv_32, mode);
+  PUT_MODE (all-smod_32, mode);
+  PUT_MODE (all-wide_trunc, mode);
+  PUT_MODE (all-shift, mode);
+  PUT_MODE (all-shift_mult, mode);
+  PUT_MODE (all-shift_add, mode);
+  PUT_MODE (all-shift_sub0, mode);
+  PUT_MODE (all-shift_sub1, mode);
+  PUT_MODE (all-zext, mode);
+  PUT_MODE (all-trunc, mode);
+
+  set_add_cost (speed, mode, set_src_cost (all-plus, speed));
+  set_neg_cost (speed, mode, set_src_cost (all-neg, speed));
+  set_mul_cost (speed, mode, set_src_cost (all-mult, speed));
+  set_sdiv_cost (speed, mode, set_src_cost (all-sdiv, speed));
+  set_udiv_cost (speed, mode, set_src_cost (all-udiv, speed));
 
-  set_sdiv_pow2_cheap (speed, mode, (set_src_cost (all-sdiv_32,
speed)
+  set_sdiv_pow2_cheap (speed, mode, (set_src_cost (all-sdiv_32,
speed)
= 2 * add_cost (speed, mode)));
-  set_smod_pow2_cheap (speed, mode, (set_src_cost (all-smod_32,
speed)
+  set_smod_pow2_cheap (speed, mode, (set_src_cost (all-smod_32,
speed)
= 4 * add_cost (speed, mode)));
 
   set_shift_cost (speed, mode, 0, 0);
@@ -181,13 +181,13 @@ init_expmed_one_mode (struct init_expmed
   n = MIN (MAX_BITS_PER_WORD, mode_bitsize);
   for (m = 1; m  n; m++)
 {
-  XEXP (all-shift, 1) = all-cint[m];
-  XEXP (all-shift_mult, 1) = all-pow2[m];
+  XEXP (all-shift, 1) = all-cint[m];
+  XEXP (all-shift_mult, 1) = all-pow2[m];
 
-  set_shift_cost (speed, mode, m, 

Re: [PATCH] [ARM] [RFC] Fix longstanding push_minipool_fix ICE (PR49423, lp1296601)

2014-07-05 Thread Charles Baylis
On 3 July 2014 15:26, Richard Earnshaw rearn...@arm.com wrote:

 So OK, but if you're considering back-ports, I suggest you let it bake a
 while on trunk first.

Committed as r212303.


Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran

2014-07-05 Thread Gerald Pfeifer
On Fri, 4 Jul 2014, FX wrote:
 Sounds good to me.

Okay; just committed per the patch below.

Gerald

Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.926
diff -u -r1.926 index.html
--- index.html  30 Jun 2014 16:49:33 -  1.926
+++ index.html  5 Jul 2014 15:28:45 -
@@ -52,6 +52,12 @@
 
 dl class=news

+dtspan class=date[2014-07-04]/spanFortran IEEE intrinsic modules/dt
+ddThe Fortran compiler (gfortran) has gained support for the IEEE 
+intrinsic modules specified by the Fortran 2003 and Fortran 2008 
+standards. The code was contributed by François-Xavier Coudert of
+CNRS./dd
+
 dtspanOpenMP v4.0/span
 span class=date[2014-06-30]/span/dt
 ddAn implementation of the a

[Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call

2014-07-05 Thread Dominique Dhumieres
Is the following patch OK for trunk?

2014-07-05  Dominique d'Humieres domi...@lps.ens.fr

PR testsuite/61453
* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
Adjust regexp for more targets.

--- ../_clean/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90   
2014-05-24 16:17:53.0 +0200
+++ gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90 2014-05-29 
11:34:40.0 +0200
@@ -16,7 +16,7 @@ integer :: aa(4,4)
 call test(aa)
 end
 
-! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC 1 { target { ! { 
hppa*-*-hpux* } } } } }
-! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC,%r2 1 { target { 
hppa*-*-hpux* } } } }
+! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC 1 { target { ! 
{ hppa*-*-hpux* } } } } }
+! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC,%r2 1 { target 
{ hppa*-*-hpux* } } } }
 ! { dg-final { scan-tree-dump-times test \\\(parm\\. 1 original } }
 ! { dg-final { cleanup-tree-dump original } }


[PATCH, gfortran testsuite] Minor cleanup for the gfortran test suite, v2.

2014-07-05 Thread Dominique Dhumieres
On Mon, 05 May 2014, I have posted 
https://gcc.gnu.org/ml/fortran/2014-05/msg00012.html.
On IRC Tobias Burnus remarked that the *.mod file in 
gfortran.dg/vect/fast-math-real8-pr40801.f90
should be cleaned automatically. This is not done because the cleaning is done 
in gfortran-dg-runtest and not in dg-runtest, hense the submitted patch.
OK for trunk?

Dominique

2014-07-05  Dominique d'Humieres domi...@lps.ens.fr

* gfortran.dg/list_read_12.f90: Delete the file.
* gfortran.dg/vect/vect.exp: Use gfortran-dg-runtest instead
of dg-runtest.

--- ../_clean/gcc/testsuite/gfortran.dg/list_read_12.f902014-03-15 
16:19:35.0 +0100
+++ gcc/testsuite/gfortran.dg/list_read_12.f90  2014-04-17 10:27:58.0 
+0200
@@ -7,5 +7,6 @@ close(99)
 
 open(99, access='sequential', form='formatted')
 read(99, *, iostat=ios) i
+close(99, status=delete)
 if (ios /= 0) call abort
 end
--- ../_clean/gcc/testsuite/gfortran.dg/vect/vect.exp   2014-07-04 
10:51:07.0 +0200
+++ gcc/testsuite/gfortran.dg/vect/vect.exp 2014-07-05 14:18:33.0 
+0200
@@ -57,43 +57,43 @@ set SAVED_DEFAULT_VECTCFLAGS $DEFAULT_VE
 # -ffast-math tests
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -ffast-math
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/fast-math-*.\[fF\]{,90,95,03,08} ]]  \
- $DEFAULT_VECTCFLAGS
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/fast-math-*.\[fF\]{,90,95,03,08} ]]  \
+  $DEFAULT_VECTCFLAGS
 
 # -ffast-math tests
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -ffast-math -fdefault-real-8
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/fast-math-real8*.\[fF\]{,90,95,03,08} ]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/fast-math-real8*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # -fvect-cost-model tests
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -fvect-cost-model=dynamic
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/cost-model-*.\[fF\]{,90,95,03,08} ]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/cost-model-*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # --param vect-max-version-for-alias-checks=0 tests
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS --param vect-max-version-for-alias-checks=0
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/no-vfa-*.\[fF\]{,90,95,03,08} ]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/no-vfa-*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # With -O3
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -O3
-dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/O3-*.\[fF\]{,90,95,03,08} 
]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/O3-*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # With -Ofast
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -Ofast
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/Ofast-*.\[fF\]{,90,95,03,08} ]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/Ofast-*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # With -fno-tree-copy-prop -fno-tree-fre -O3
 set DEFAULT_VECTCFLAGS $SAVED_DEFAULT_VECTCFLAGS
 lappend DEFAULT_VECTCFLAGS -fno-tree-copy-prop -fno-tree-fre -O3
-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/no-fre-no-copy-prop-O3-*.\[fF\]{,90,95,03,08} ]]  \
+gfortran-dg-runtest [lsort [glob -nocomplain 
$srcdir/$subdir/no-fre-no-copy-prop-O3-*.\[fF\]{,90,95,03,08} ]]  \
  $DEFAULT_VECTCFLAGS
 
 # Clean up.


Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call

2014-07-05 Thread John David Anglin


On 5-Jul-14, at 11:56 AM, Dominique Dhumieres wrote:


Is the following patch OK for trunk?

2014-07-05  Dominique d'Humieres domi...@lps.ens.fr

PR testsuite/61453
* gfortran.dg/gfortran.dg/bind_c_array_params_2.f90:
Adjust regexp for more targets.

--- ../_clean/gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90	 
2014-05-24 16:17:53.0 +0200
+++ gcc/testsuite/gfortran.dg/bind_c_array_params_2.f90	2014-05-29  
11:34:40.0 +0200

@@ -16,7 +16,7 @@ integer :: aa(4,4)
call test(aa)
end

-! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC 1  
{ target { ! { hppa*-*-hpux* } } } } }
-! { dg-final { scan-assembler-times call\[^\n\r\]*myBindC,%r2 1  
{ target { hppa*-*-hpux* } } } }
+! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC 1  
{ target { ! { hppa*-*-hpux* } } } } }
+! { dg-final { scan-assembler-times \[ \t\]\[$,_0-9\]*myBindC,%r2  
1 { target { hppa*-*-hpux* } } } }


myBindC,%r2 will work on hppa*-*-*.  I don't believe preceding stuff  
is needed on hppa.


Dave
--
John David Anglin   dave.ang...@bell.net





Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call

2014-07-05 Thread Dominique Dhumieres
 myBindC,%r2 will work on hppa*-*-*.  I don't believe preceding stuff
 is needed on hppa.

Sorry, the relation with -flto has been lost in my repost of this patch.
Without something before 'myBindC', the symbol appears twice when compiled
with -flto, once in the assembly itself and once in the addition produced
by -flto. The goal of the stuff before 'myBindC' is to rule out this
addition. Use something such as

make -k check-gfortran RUNTESTFLAGS=dg.exp=bind_c_array_params_2.f90 
--target_board=unix'{-m32,-m64,-m32/-flto,-m64/-flto}'

to see the difference.

Dominique


Make declaration of wide_int_storage match its definition

2014-07-05 Thread Gerald Pfeifer
Farther below in wide-int.h, we define wide_int_storage as a class:

  class GTY(()) wide_int_storage
  {
  private:
HOST_WIDE_INT val[WIDE_INT_MAX_ELTS];
unsigned int len;
unsigned int precision;
  :

The patch below, which I applied as obvious after a full bootstrap on
i386-unknown-freebsd10.0, makes the declaration match the definition.

Gerald

2014-07-05  Gerald Pfeifer  ger...@pfeifer.com

* wide-int.h (wide_int_storage): Change declaration from struct 
to class.

Index: wide-int.h
===
--- wide-int.h  (revision 212304)
+++ wide-int.h  (working copy)
@@ -284,7 +284,7 @@
 
 template typename T struct generic_wide_int;
 template int N struct fixed_wide_int_storage;
-struct wide_int_storage;
+class wide_int_storage;
 
 /* An N-bit integer.  Until we can use typedef templates, use this instead.  */
 #define FIXED_WIDE_INT(N) \


Re: [Patch, testsuite] PR61453 gfortran.dg/bind_c_array_params_2.f90 for targets where a call insn isn't call

2014-07-05 Thread John David Anglin

On 5-Jul-14, at 1:55 PM, Dominique Dhumieres wrote:

myBindC,%r2 will work on hppa*-*-*.  I don't believe preceding  
stuff

is needed on hppa.


Sorry, the relation with -flto has been lost in my repost of this  
patch.
Without something before 'myBindC', the symbol appears twice when  
compiled
with -flto, once in the assembly itself and once in the addition  
produced

by -flto. The goal of the stuff before 'myBindC' is to rule out this
addition. Use something such as

make -k check-gfortran  
RUNTESTFLAGS=dg.exp=bind_c_array_params_2.f90 --target_board=unix'{- 
m32,-m64,-m32/-flto,-m64/-flto}'


to see the difference.



On hppa, the ,%r2 uniquely identifies the call.  The test passes  
with -flto.


Dave
--
John David Anglin   dave.ang...@bell.net





Re: Make declaration of wide_int_storage match its definition

2014-07-05 Thread pinskia


 On Jul 5, 2014, at 11:42 AM, Gerald Pfeifer ger...@pfeifer.com wrote:
 
 Farther below in wide-int.h, we define wide_int_storage as a class:
 
  class GTY(()) wide_int_storage
  {
  private:
HOST_WIDE_INT val[WIDE_INT_MAX_ELTS];
unsigned int len;
unsigned int precision;
  :
 
 The patch below, which I applied as obvious after a full bootstrap on
 i386-unknown-freebsd10.0, makes the declaration match the definition.

This patch is fine but c++ allows class and struct be used interchangeable. If 
there is a compilers which does not it is broken and should be report to them.  
Yes that means clang is broken. 

Thanks,
Andrew

 
 Gerald
 
 2014-07-05  Gerald Pfeifer  ger...@pfeifer.com
 
* wide-int.h (wide_int_storage): Change declaration from struct 
to class.
 
 Index: wide-int.h
 ===
 --- wide-int.h(revision 212304)
 +++ wide-int.h(working copy)
 @@ -284,7 +284,7 @@
 
 template typename T struct generic_wide_int;
 template int N struct fixed_wide_int_storage;
 -struct wide_int_storage;
 +class wide_int_storage;
 
 /* An N-bit integer.  Until we can use typedef templates, use this instead.  
 */
 #define FIXED_WIDE_INT(N) \


Re: Make declaration of wide_int_storage match its definition

2014-07-05 Thread Gerald Pfeifer
On Sat, 5 Jul 2014, pins...@gmail.com wrote:
 This patch is fine but c++ allows class and struct be used 
 interchangeable. If there is a compilers which does not it is broken 
 and should be report to them.  Yes that means clang is broken.

Clang does allow for it (it actually is the stage 1 compiler on 
FreeBSD 10, the platform I used for my tests); it just warns about 
it.  About 400 times.

That was just one, factor, though.  Declarations being consistent
with definitions stroke me as A Good Thing[tm] per se. :-)

Gerald


Re: Make declaration of wide_int_storage match its definition

2014-07-05 Thread Jakub Jelinek
On Sat, Jul 05, 2014 at 09:25:50PM +0200, Gerald Pfeifer wrote:
 On Sat, 5 Jul 2014, pins...@gmail.com wrote:
  This patch is fine but c++ allows class and struct be used 
  interchangeable. If there is a compilers which does not it is broken 
  and should be report to them.  Yes that means clang is broken.
 
 Clang does allow for it (it actually is the stage 1 compiler on 
 FreeBSD 10, the platform I used for my tests); it just warns about 
 it.  About 400 times.

That doesn't change anything that the warning is very much broken.
In C++ struct is simply a class with default public:, class with a default
private:, when you are just forward declaring it, whether it defaults to
public: or private: doesn't matter at all, therefore the warning just
enforces some weirdo clang coding style.

Jakub


Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran

2014-07-05 Thread Gerald Pfeifer
On Sat, 5 Jul 2014, Gerald Pfeifer wrote:
 Okay; just committed per the patch below.

Oops.  This makes it consistent with other entries.

Gerald


Re: [GSoC] Addition of ISL AST generation to Graphite

2014-07-05 Thread Rainer Orth
Rainer Orth r...@cebitec.uni-bielefeld.de writes:

 Roman Gareev gareevro...@gmail.com writes:

 It seems the patch1/patch2 files you attach have the Content-Type:
 application/octet-stream. This makes it impossible to view them inline.
 Could you send them as text files? Just calling them patch1.patch or
 patch1.txt should make this work.

 Yes, sure.

 This patch broke bootstrap with --enable-cloog-backend=isl when using
 isl 0.10:

 /vol/gcc/src/hg/trunk/local/gcc/graphite-isl-ast-to-gimple.c:27:27: fatal 
 error: isl/ast_build.h: No such file or directory
 compilation terminated.
 make[3]: *** [graphite-isl-ast-to-gimple.o] Error 1

 isl/ast_build.h is missing in in isl 0.10.  Seems it was introduced in
 0.11, but no idea if that works.

 Toplevel configure.ac accepts 0.10, while install.texi states 0.12.2 is
 required.  Configuration and/or docs should be changed to match reality.

I've now commited the following patch as obvious: it requires isl 0.11
which is the first that includes isl/ast_build.h.

Bootstrapped on i386-pc-solaris2.11 with isl 0.12.2.

Rainer


2014-07-05  Rainer Orth  r...@cebitec.uni-bielefeld.de

* configure.ac: Don't accept isl 0.10.
* configure: Regenerate.

diff --git a/configure.ac b/configure.ac
--- a/configure.ac
+++ b/configure.ac
@@ -1650,12 +1650,9 @@ if test x$with_isl != xno 
   dnl with user input.
   ISL_INIT_FLAGS
   dnl The versions of ISL that work for Graphite
-  ISL_CHECK_VERSION(0,10)
+  ISL_CHECK_VERSION(0,11)
   if test ${gcc_cv_isl} = no ; then
-ISL_CHECK_VERSION(0,11)
-if test ${gcc_cv_isl} = no ; then
-  ISL_CHECK_VERSION(0,12)
-fi
+ISL_CHECK_VERSION(0,12)
   fi
   dnl Only execute fail-action, if ISL has been requested.
   ISL_IF_FAILED([

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


RE: [PATCH, aarch64] Add prefetch support

2014-07-05 Thread Gopalasubramanian, Ganesh
PING!

From: Gopalasubramanian, Ganesh
Sent: Friday, July 04, 2014 5:57 AM
To: gcc-patches@gcc.gnu.org
Cc: marcus.shawcr...@arm.com; richard.earns...@arm.com
Subject: [PATCH, aarch64] Add prefetch support

Hi,

Attached is a patch that implements
*   Prefetch with immediate offset in the range 0 to 32760 (multiple of 8). 
Added a predicate for this.
*   Prefetch with immediate offset - in the range -256 to 255 (Gets 
generated only when we have a negative offset. Generates prfum instruction). 
Added a predicate for this.
*   Prefetch with register offset. (modified for printing the locality)

This patch has been already discussed on 
https://gcc.gnu.org/ml/gcc-patches/2014-02/msg01644.html

make -k check passes. Ok for trunk?

Changelog

2014-07-04  Ganesh Gopalasubramanian ganesh.gopalasubraman...@amd.com

* config/aarch64/aarch64.md (define_insn *prefetch)
(define_insn prefetch): New
* config/aarch64/predicates.md (aarch64_prefetch_pimm)
(aarch64_prefetch_unscaled): New.
* config/arm/types.md (define_attr type): Add prefetch.

Regards
Ganesh


Re: [fortran, patch] IEEE intrinsic modules (ping)

2014-07-05 Thread Rainer Orth
Steve Kargl s...@troutmask.apl.washington.edu writes:

 On Tue, Jun 24, 2014 at 10:26:27PM +0200, FX wrote:
  3. Does the attached updated patch (libgfortran only, without
  regenerated files) fix the problem?
  
  I'll test it when my regtesting is completed.  But, a scan of
  the configure.host re-arrangement suggests that it should work.
 
 OK.
 
 If you have some spare cycles, could you then also check it by modifying 
 configure.host so that it uses the updated config/fpu-sysv.h in my patch? I 
 would like to make sure I don?t break anything, but I don?t have access to a 
 Solaris system (and my earlier calls for someone to test it for me were 
 unanswered, so I don?t have much hope there).
 

 Yes, I'll check the configure.host and fpu-sysv.h changes.

I'm currently moving to a new flat, so not much time for GCC work.

Unfortunately, while the patch works fine on Solaris/x86, it broke
Solaris/SPARC bootstrap for trivial reasons: contrary to the ChangeLog,
configure and config.h.in weren't regenerated, thus FPSETSTICKY
wasn't defined.

The following patch corrects this, at the same time fixing this warning:

/fpu-target.h:451:3: warning: implicit declaration of function 'assert' 
[-Wimplicit-function-declaration]
   assert (sizeof(fpu_state_t) = GFC_FPE_STATE_BUFFER_SIZE);
   ^

It returns sparc-sun-solaris2.1[01] to bootstrap, thus installed as
obvious.

There's one testsuite failure in this configuration:

FAIL: gfortran.dg/ieee/ieee_6.f90   -O0  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O1  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O2  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O3 -fomit-frame-pointer  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O3 -fomit-frame-pointer -funroll-loops  
execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O3 -fomit-frame-pointer -funroll-all-loops 
-finline-functions  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -O3 -g  execution test
FAIL: gfortran.dg/ieee/ieee_6.f90   -Os  execution tes

The test aborts at l.47, but unfortunately I cannot print mode in gdb 7.7.

Rainer


2014-07-05  Rainer Orth  r...@cebitec.uni-bielefeld.de

* configure, config.h.in: Regenerate.
* config/fpu-sysv.h: Include assert.h.

diff --git a/libgfortran/config/fpu-sysv.h b/libgfortran/config/fpu-sysv.h
--- a/libgfortran/config/fpu-sysv.h
+++ b/libgfortran/config/fpu-sysv.h
@@ -25,6 +25,8 @@ see the files COPYING3 and COPYING.RUNTI
 
 /* FPU-related code for SysV platforms with fpsetmask().  */
 
+#include assert.h
+
 /* BSD and Solaris systems have slightly different types and functions
naming.  We deal with these here, to simplify the code below.  */
 

-- 
-
Rainer Orth, Center for Biotechnology, Bielefeld University


[wwwdocs] Rotate news

2014-07-05 Thread Gerald Pfeifer
Applied.

Gerald

Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.928
diff -u -r1.928 index.html
--- index.html  5 Jul 2014 19:46:32 -   1.928
+++ index.html  5 Jul 2014 21:14:05 -
@@ -99,36 +99,6 @@
   Michael Zolotukhin of Intel, Corp.
 /dd
 
-dtspanAltera Nios II support/span
-span class=date[2013-12-31]/span/dt
-ddA port for Altera Nios II has been contributed by Mentor Graphics./dd
-
-dtspanToolchain Build Robot/span
-span class=date[2013-11-24]/span/dt
-ddThe a href=http://toolchain.lug-owl.de/buildbot/;Build Robot/a is
-  mass-compiling GCC (stage1 only) regularly, catching build errors 
early./dd
-
-dtspanAndes NDS32 support/span
-span class=date[2013-10-31]/span/dt
-ddA port for nds32, the 32-bit architecture of AndesCore families,
-  has been contributed by Andes Technology Corporation./dd
-
-dtspana href=gcc-4.8/GCC 4.8.2/a released/span
-span class=date[2013-10-16]/span/dt
-dd/dd
-
-dtspanOpenMP v4.0/span
-span class=date[2013-10-11]/span/dt
-ddAn implementation of the a
-href=http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf;OpenMP v4.0/a
-parallel programming interface for so far just C, C++ has been added.
-Code was contributed by Jakub Jelinek, Aldy Hernandez, Richard Henderson
-of Red Hat, Inc. and Tobias Burnus./dd
-
-dtspana href=projects/cxx0x.htmlC++11/a lt;regexgt; support/span
-span class=date[2013-10-03]/span/dt
-ddRegular expression support in a href=libstdc++/libstdc++-v3/a is now 
available./dd
-
 /dl
 
 div
Index: news.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/news.html,v
retrieving revision 1.144
diff -u -r1.144 news.html
--- news.html   29 Jun 2014 11:31:32 -  1.144
+++ news.html   5 Jul 2014 21:14:05 -
@@ -14,6 +14,36 @@
 
 !-- ATTENTION: This page is for *OLD* news!  Latest news goes first. --
 
+dtspanAltera Nios II support/span
+span class=date[2013-12-31]/span/dt
+ddA port for Altera Nios II has been contributed by Mentor Graphics./dd
+
+dtspanToolchain Build Robot/span
+span class=date[2013-11-24]/span/dt
+ddThe a href=http://toolchain.lug-owl.de/buildbot/;Build Robot/a is
+  mass-compiling GCC (stage1 only) regularly, catching build errors 
early./dd
+
+dtspanAndes NDS32 support/span
+span class=date[2013-10-31]/span/dt
+ddA port for nds32, the 32-bit architecture of AndesCore families,
+  has been contributed by Andes Technology Corporation./dd
+
+dtspana href=gcc-4.8/GCC 4.8.2/a released/span
+span class=date[2013-10-16]/span/dt
+dd/dd
+
+dtspanOpenMP v4.0/span
+span class=date[2013-10-11]/span/dt
+ddAn implementation of the a
+href=http://www.openmp.org/mp-documents/OpenMP4.0.0.pdf;OpenMP v4.0/a
+parallel programming interface for so far just C, C++ has been added.
+Code was contributed by Jakub Jelinek, Aldy Hernandez, Richard Henderson
+of Red Hat, Inc. and Tobias Burnus./dd
+
+dtspana href=projects/cxx0x.htmlC++11/a lt;regexgt; support/span
+span class=date[2013-10-03]/span/dt
+ddRegular expression support in a href=libstdc++/libstdc++-v3/a is now 
available./dd
+
 dtspanSynopsys Designware ARC support/span
 span class=date[2013-10-01]/span/dt
 ddA port for Synopsys Designware ARC has been contributed by Embecosm and 
Synopsys Inc./dd


Re: [PATCH 3/5] IPA ICF pass

2014-07-05 Thread Gerald Pfeifer
On Fri, 20 Jun 2014, Trevor Saunders wrote:
 +@item -fipa-icf
 +@opindex fipa-icf
 +Perform Identical Code Folding for functions and read-only variables.
 +Behavior is similar to Gold Linker ICF optimization. Symbols proved
 +as semantically equivalent are redirected to corresponding symbol. The pass
 +sensitively decides for usage of alias, thunk or local redirection.
 +This flag is enabled by default at @option{-O2}.

I found this a bit hard to read/understand.

Perhaps first describe what it does and then, before This flag is
enabled... note that This is similar to the ICF optimization performed
by the Gold linker.

Symbols proved (plural) vs to corresponding symbol seems to miss
an an a as in a corresponding symbol.  Alas, how is that one 
determined?  Is this more ...are merged into one, from the user's
perspective?

What does it mean to sensitively decide for usage of alias, thunk,
or local redirection?

Gerald


[wwwdocs] bugs/index.html: remove some links and make some relative

2014-07-05 Thread Gerald Pfeifer
Ever since the following change to maintainer-scripts/gcc_release

  2007-08-21  Paul Brook  p...@codesourcery.com
  Nathan Sidwell  nat...@codesourcery.com
  Mark Mitchell  m...@codesourcery.com
  Joseph Myers  jos...@codesourcery.com

* gcc_release: Do not include copies of bugs.html in releases.
* update_web_docs_svn: Set VERSION_PACKAGE and BUGURL in
gcc-vers.texi.

did we not require absolute links in bugs/index.html any more, nor
the The latest version... boilerplate.

This trims things down, and makes remainings links relative.

Again with the side effect of not requiring any http-https
adjustments to these links.

Applied.

Gerald

Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/bugs/index.html,v
retrieving revision 1.115
diff -u -r1.115 index.html
--- index.html  29 Jun 2014 11:31:33 -  1.115
+++ index.html  5 Jul 2014 21:20:42 -
@@ -7,11 +7,6 @@
 body
 h1GCC Bugs/h1
 
-pThe latest version of this document is always available at
-a href=http://gcc.gnu.org/bugs/;http://gcc.gnu.org/bugs//a./p
-
-hr /
-
 h2Table of Contents/h2
 ul
 lia href=#reportReporting Bugs/a
@@ -154,17 +149,14 @@
 source-file/i/code/p/blockquote
 
 pThe preprocessed source is the embasic/em requirement to fix a
-bug. However, providing a a
-href=http://gcc.gnu.org/bugs/minimize.html;minimal testcase/a
+bug. However, providing a a href=minimize.htmlminimal testcase/a
 increases the chances of getting your bug fixed. The bonly/b
 excuses to not send us the preprocessed sources are (i) if you've
-found a bug in the preprocessor, (ii) if you've a
-href=http://gcc.gnu.org/bugs/minimize.html;reduced the testcase to a
-small file/a that doesn't include any other file or (iii) if the bug
+found a bug in the preprocessor, (ii) if you've reduced the testcase to a
+small file that doesn't include any other file or (iii) if the bug
 appears only when using precompiled headers.  If you can't post the
-preprocessed sources because they're proprietary code, then try to a
-href=http://gcc.gnu.org/bugs/minimize.html;create a small file/a
-that triggers the same problem./p
+preprocessed sources because they're proprietary code, then try to
+create a small file that triggers the same problem./p
 
 pSince we're supposed to be able to re-create the assembly output
 (extension code.s/code), you usually should not include


Re: AARCH64 configure check for gas -mabi support

2014-07-05 Thread Gerald Pfeifer
On Mon, 30 Jun 2014, Yufeng Zhang wrote:
 Looks good to me.  Thanks for the fix.
 2014-06-30  Gerald Pfeiferger...@pfeifer.com
 
  * doc/install.texi (Specific, aarch64*-*-*): Fix markup.  Reword a bit.

I also pushed this to the GCC 4.9 branch now.

Gerald


Re: [wwwdocs,Fortran] Announce IEEE intrinsic modules support for Fortran

2014-07-05 Thread Gerald Pfeifer
On Sat, 5 Jul 2014, Gerald Pfeifer wrote:
 Oops.  This makes it consistent with other entries.

Something happened when I made that edit resulting in a weird date,
plus I failed to include the patch. 

Thanks to a friendly voice noting this to me!

Gerald

Index: index.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/index.html,v
retrieving revision 1.927
retrieving revision 1.930
diff -u -r1.927 -r1.930
--- index.html  5 Jul 2014 15:29:56 -   1.927
+++ index.html  5 Jul 2014 22:25:03 -   1.930
@@ -52,7 +52,8 @@
 
 dl class=news
 
-dtspan class=date[2014-07-04]/spanFortran IEEE intrinsic modules/dt
+dtspanFortran IEEE intrinsic modules/span
+span class=date[2014-07-05]/span/dt
 ddThe Fortran compiler (gfortran) has gained support for the IEEE 
 intrinsic modules specified by the Fortran 2003 and Fortran 2008 
 standards. The code was contributed by François-Xavier Coudert of

Re: [PATCH, libbacktrace]: fix pointer from integer without a cast

2014-07-05 Thread Ian Lance Taylor
On Thu, Jul 3, 2014 at 2:34 AM, Duncan Mac-Vicar P. dmacvi...@suse.de wrote:

 the following patch fixes some post-build-checks from our distro build
 system, better to upstream it:

 [ 4077s] E: rust 64bit-portability-issue
 /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/dwarf.c:2690,
 2873, 3005
 [ 4077s] E: rust 64bit-portability-issue
 /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/elf.c:448,
 493, 970
 [ 4077s] E: rust 64bit-portability-issue
 /home/abuild/rpmbuild/BUILD/rust-0.11.0+git.1403898616.aa1163b/src/libbacktrace/fileline.c:75

 libbacktrace/ChangeLog:

 2014-07-03 Yaroslav Sidlovsky zawer...@gmail.com
 * dwarf.c, elf.c, fileline.c: fix pointer from integer without a
 cast

That error doesn't make much sense and I'm not sure the patch is
really right.

I don't know what program is generating these messages, but does this
patch fix the problem?

Ian


Index: internal.h
===
--- internal.h  (revision 211658)
+++ internal.h  (working copy)
@@ -99,7 +99,7 @@ extern void backtrace_atomic_store_int (
 /* We have neither the sync nor the atomic functions.  These will
never be called.  */

-#define backtrace_atomic_load_pointer(p) (abort(), 0)
+#define backtrace_atomic_load_pointer(p) (abort(), (void *) NULL)
 #define backtrace_atomic_load_int(p) (abort(), 0)
 #define backtrace_atomic_store_pointer(p, v) abort()
 #define backtrace_atomic_store_size_t(p, v) abort()


Re: [PATCH 3/5] IPA ICF pass

2014-07-05 Thread Jan Hubicka
 On Fri, 20 Jun 2014, Trevor Saunders wrote:
  +@item -fipa-icf
  +@opindex fipa-icf
  +Perform Identical Code Folding for functions and read-only variables.

I would perhaps explicitly say that the optimizations reduce code size
and may disturb unwind stacks by replacing a function by equivalent
one with different name.
  +Behavior is similar to Gold Linker ICF optimization. Symbols proved

Perhaps tell a bit more here. The optimization works more effectively with link
time optimization enabled and that the Gold and GCC ICF works on different
levels and thus are not equivalent optimizations - there are equivallences that
are found only by GCC and equivalences found only by Gold.

 +as semantically equivalent are redirected to corresponding symbol. The pass
  +sensitively decides for usage of alias, thunk or local redirection.
  +This flag is enabled by default at @option{-O2}.
Probably at -Os too.
 
 I found this a bit hard to read/understand.
 
 Perhaps first describe what it does and then, before This flag is
 enabled... note that This is similar to the ICF optimization performed
 by the Gold linker.

 
 Symbols proved (plural) vs to corresponding symbol seems to miss
 an an a as in a corresponding symbol.  Alas, how is that one 
 determined?  Is this more ...are merged into one, from the user's
 perspective?
 
 What does it mean to sensitively decide for usage of alias, thunk,
 or local redirection?

I think this is just a technical detail of the implementation.  I would not put 
that
into user manual.  It means that for some functions you can make alias, for 
others
you need thunk (so addresses stay different)
 
 Gerald


[wwwdocs,Java] java/news.html

2014-07-05 Thread Gerald Pfeifer
2014-07-06  Gerald Pfeifer  ger...@pfeifer.com

* news.html: Avoid link into our SVN repository.  Fix grammar.

Applied.

Index: news.html
===
RCS file: /cvs/gcc/wwwdocs/htdocs/java/news.html,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- news.html   2 Jul 2014 15:40:11 -   1.18
+++ news.html   6 Jul 2014 00:16:47 -   1.19
@@ -471,8 +471,7 @@
 The libgcj sources have a 
href=https://gcc.gnu.org/ml/java/2000-12/msg00102.html;
 migrated/a to the gcc repository. We've imported
 a href=http://sourceforge.net/projects/fastjar/;fastjar/a in our
-a href=http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/fastjar/;tree/a
-and use it as a replacement to zip.  /dd
+tree and use it as a replacement for zip./dd
 
 dtDecember 8, 2000/dt
 dd


Re: [wwwdocs] Buildstat update for 4.7

2014-07-05 Thread Gerald Pfeifer
On Thu, 3 Jul 2014, Tom G. Christensen wrote:
 Testresults for 4.7.4:
   i386-pc-solaris2.8
   i386-pc-solaris2.9
   sparc-sun-solaris2.8
   sparc-sun-solaris2.9
   sparc64-sun-solaris2.8
   x86_64-apple-darwin13.2.0
   x86_64-pc-linux-gnu

Applied, thank you!

Gerald


[PATCH] gcc/config/microblaze/microblaze.md: Remove redundant '@' to avoid compiling warning

2014-07-05 Thread Chen Gang

  * microblaze/microblaze.md: Remove redundant '@' to avoid compiling
  warning.

The related warning:

  ../../gcc/gcc/config/microblaze/microblaze.md:516: '@' is redundant for 
output template with single alternative


Signed-off-by: Chen Gang gang.chen.5...@gmail.com
---
 gcc/config/microblaze/microblaze.md | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/gcc/config/microblaze/microblaze.md 
b/gcc/config/microblaze/microblaze.md
index 7945d96..2bd5d72 100644
--- a/gcc/config/microblaze/microblaze.md
+++ b/gcc/config/microblaze/microblaze.md
@@ -518,8 +518,7 @@
(minus:DI (match_operand:DI 1 register_operand d)
  (match_operand:DI 2 arith_operand32 d)))]
   
-  @
-   rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1
+  rsub\t%L0,%L2,%L1\;rsubc\t%M0,%M2,%M1
   [(set_attr typedarith)
   (set_attr mode DI)
   (set_attr length   8)])
-- 
1.7.11.7