platform/upstream/linaro-gcc.git
9 years agoAVX-512. Add widening pmov.
kyukhin [Wed, 24 Sep 2014 08:00:35 +0000 (08:00 +0000)]
AVX-512. Add widening pmov.

gcc/
* config/i386/sse.md
(define_insn "avx2_<code>v16qiv16hi2<mask_name>"): Add masking.
(define_insn "avx512bw_<code>v32qiv32hi2<mask_name>"): New.
(define_insn "sse4_1_<code>v8qiv8hi2<mask_name>"): Add masking.
(define_insn "avx2_<code>v8qiv8si2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v4qiv4si2<mask_name>"): Ditto.
(define_insn "avx2_<code>v8hiv8si2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v4hiv4si2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4qiv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2qiv2di2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4hiv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2hiv2di2<mask_name>"): Ditto.
(define_insn "avx2_<code>v4siv4di2<mask_name>"): Ditto.
(define_insn "sse4_1_<code>v2siv2di2<mask_name>"): Ditto.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215541 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoChangeLog:
zqchen [Wed, 24 Sep 2014 07:00:55 +0000 (07:00 +0000)]
ChangeLog:
2014-09-24  Zhenqiang Chen  <zhenqiang.chen@arm.com>

PR rtl-optimization/63210
* ira-color.c (assign_hard_reg): Ignore conflict cost if the
HARD_REGNO is not availabe for CONFLICT_A.

testsuite/ChangeLog:
2014-09-24  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* gcc.target/arm/pr63210.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215540 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd test cases for noreorder
ak [Wed, 24 Sep 2014 03:29:37 +0000 (03:29 +0000)]
Add test cases for noreorder

Add some simple test cases for noreorder behaving like
-fno-toplevel-reorder and -fno-toplevel-reorder still working.

gcc/testsuite/:

2014-09-23  Andi Kleen  <ak@linux.intel.com>

* gcc.dg/noreorder.c: New test.
* gcc.dg/noreorder2.c: New test.
* gcc.dg/noreorder3.c: New test.
* gcc.dg/noreorder4.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215538 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd an no_reorder attribute for LTO
ak [Wed, 24 Sep 2014 03:29:24 +0000 (03:29 +0000)]
Add an no_reorder attribute for LTO

Some projects need to prevent reordering of specific top level
declarations with LTO, in particular declarations defining init calls.

The only way to do that with LTO was to use -fno-toplevel-reorder,
which stops reordering for all declarations and makes LTO partitioning
less efficient.

This patch adds a new no_reorder attribute that stops reordering only
for the marked declaration. The program can then only mark e.g. the
initcalls and leave all the other declarations alone.

The patch does:

- Adds the new no_reorder attribute for the C family.
- Initializes a new no_reorder flag in the symtab_nodes in the
function visibility flag.
- Maintains the no_reorder flag when creating new nodes.
- Changes the partition code to always keep a separate
sorted queue of ordered nodes and flush them in order with the other
nodes. This is used by all nodes with -fno-toplevel-reorder,
and only the marked ones without it.
Parts of the old -fno-toplevel-reorder code paths are reused.
- Adds various checks throughout the tree to make no_reorder
marked functions behave the same as with -fno-toplevel-reorder
- Changes the LTO streamer to serialize the no_reorder attribute.

gcc/c-family/:

2014-09-23  Andi Kleen  <ak@linux.intel.com>

* c-common.c (handle_no_reorder_attribute): New function.
(c_common_attribute_table): Add no_reorder attribute.

gcc/:

2014-09-23  Andi Kleen  <ak@linux.intel.com>

* cgraph.h (symtab_node): Add no_reorder attribute.
(symbol_table::output_asm_statements): Remove.
* cgraphclones.c (cgraph_node::create_clone): Copy no_reorder.
(cgraph_node::create_version_clone): Dito.
(symbol_table::output_asm_statements): Remove.
* trans-mem.c (ipa_tm_create_version_alias): Dito.
* cgraphunit.c (varpool_node::finalize_decl): Check no_reorder.
(output_in_order): Add no_reorder flag. Only handle no_reorder
nodes when set.
(symbol_table::compile): Add separate pass for no_reorder nodes.
(process_common_attributes): Set no_reorder flag in symtab node.
Add node argument.
(process_function_and_variable_attributes): Pass symtab nodes to
process_common_attributes.
* doc/extend.texi (no_reorder): Document no_reorder attribute.
* lto-cgraph.c (lto_output_node): Serialize no_reorder.
(lto_output_varpool_node): Dito.
(input_overwrite_node): Dito.
(input_varpool_node): Dito.
* varpool.c (varpool_node::add): Set no_reorder attribute.
(symbol_table::remove_unreferenced_decls): Handle no_reorder.
(symbol_table::output_variables): Dito.
* symtab.c (symtab_node::dump_base): Print no_reorder.

gcc/lto/:

2014-09-23  Andi Kleen  <ak@linux.intel.com>

* lto-partition.c (node_cmp): Update comment.
(varpool_node_cmp): Use symtab_node for comparison.
(add_sorted_nodes): New function.
(lto_balanced_map): Change to keep ordered queue
of ordered node. Handle no_reorder attribute.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215537 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Wed, 24 Sep 2014 00:16:50 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215536 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix compile time warning caused by PIC_OFFSET_TABLE_REGNUM be INVALID_REGNUM
jiwang [Tue, 23 Sep 2014 21:19:28 +0000 (21:19 +0000)]
Fix compile time warning caused by PIC_OFFSET_TABLE_REGNUM be INVALID_REGNUM

2014-09-23  Jiong Wang  <jiong.wang@arm.com>

gcc/
  * shrink-wrap.c (try_shrink_wrapping): Check PIC_OFFSET_TABLE_REGNUM not
    be INVALID_REGNUM.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215533 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoProperly regenerate gcc/configure.
tschwinge [Tue, 23 Sep 2014 21:15:36 +0000 (21:15 +0000)]
Properly regenerate gcc/configure.

gcc/
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215532 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRelax check against commuting XOR and ASHIFTRT in combine.c
alalaw01 [Tue, 23 Sep 2014 18:48:50 +0000 (18:48 +0000)]
Relax check against commuting XOR and ASHIFTRT in combine.c

gcc/:
* combine.c (simplify_shift_const_1): Allow commuting (ashiftrt (xor))
when result_mode == shift_mode.

gcc/testsuite/:
* gcc.dg/combine_ashiftrt_1.c: New test.
* gcc.dg/combine_ashiftrt_2.c: Likewise.
* gcc.target/aarch64/singleton_intrinsics_1.c: Remove scan-assembler
workarounds for cmge.
* gcc.target/aarch64/simd/int_comparisons_1.c: Likewise; also check for
absence of mvn.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215531 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoinclude/:
ian [Tue, 23 Sep 2014 18:36:14 +0000 (18:36 +0000)]
include/:
* demangle.h (DMGL_DLANG): New macro.
(DMGL_STYLE_MASK): Add DMGL_DLANG.
(demangling_styles): Add dlang_demangling.
(DLANG_DEMANGLING_STYLE_STRING): New macro.
(DLANG_DEMANGLING): New macro.
(dlang_demangle): New prototype.
libiberty/:
* Makefile.in (CFILES): Add d-demangle.c.
(REQUIRED_OFILES): Add d-demangle.o.
* cplus-dem.c (libiberty_demanglers): Add dlang_demangling case.
(cplus_demangle): Likewise.
* d-demangle.c: New file.
* testsuite/Makefile.in (really-check): Add check-d-demangle.
* testsuite/d-demangle-expected: New file.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215530 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Tue, 23 Sep 2014 18:07:59 +0000 (18:07 +0000)]
/cp
2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61857
* parser.c (cp_parser_skip_to_closing_square_bracket,
cp_parser_array_designator_p): New.
(cp_parser_initializer_list): Use the latter.

/testsuite
2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/61857
* g++.dg/cpp1y/lambda-init10.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215528 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[libsanitizer merge from upstream r218156]
kcc [Tue, 23 Sep 2014 17:59:53 +0000 (17:59 +0000)]
[libsanitizer merge from upstream r218156]

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215527 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-23 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Tue, 23 Sep 2014 17:11:07 +0000 (17:11 +0000)]
2014-09-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/rs6000.md (f32_vsx): New mode attributes to
refine the constraints used on 32/64-bit floating point moves.
(f32_av): Likewise.
(f64_vsx): Likewise.
(f64_dm): Likewise.
(f64_av): Likewise.
(BOOL_REGS_OUTPUT): Use wt constraint for TImode instead of wa.
(BOOL_REGS_OP1): Likewise.
(BOOL_REGS_OP2): Likewise.
(BOOL_REGS_UNARY): Likewise.
(mov<mode>_hardfloat, SFmode/SDmode): Tighten down constraints for
32/64-bit floating point moves.  Do not use wa, instead use ww/ws
for moves involving VSX registers.  Do not use constraints that
target VSX registers for decimal types.
(mov<mode>_hardfloat32, DFmode/DDmode): Likewise.
(mov<mode>_hardfloat64, DFmode/DDmode): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215521 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree.h (int_bit_position): Turn into inline function;
hubicka [Tue, 23 Sep 2014 16:08:16 +0000 (16:08 +0000)]
* tree.h (int_bit_position): Turn into inline function;
implement using wide int.
* tree.c (int_bit_position): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215518 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR fortran/63331
jakub [Tue, 23 Sep 2014 15:25:55 +0000 (15:25 +0000)]
PR fortran/63331
* trans-types.c (gfc_get_array_descr_info): Build DEBUG_EXPR_DECL
instead of VAR_DECL for base_decl.

* gfortran.dg/pr63331.f90: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215516 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Tue, 23 Sep 2014 14:47:45 +0000 (14:47 +0000)]
gcc/
PR bootstrap/63280
* target-globals.c (target_globals::~target_globals): Fix location
of ira_int destruction.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215515 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/abi/pre/gnu.ver: Adjust basic_ostream exports.
redi [Tue, 23 Sep 2014 13:17:42 +0000 (13:17 +0000)]
* config/abi/pre/gnu.ver: Adjust basic_ostream exports.
* include/std/istream (basic_iostream(basic_iostream&&)): Pass *this
to ostream constructor.
* include/std/ostream (basic_ostream(basic_iostream*)): Change to take
parameter by reference, to avoid ambiguity.
* testsuite/27_io/basic_ostream/cons/char/null.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215510 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Enable shrink wrapping.
mshawcroft [Tue, 23 Sep 2014 12:38:37 +0000 (12:38 +0000)]
[AArch64] Enable shrink wrapping.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215508 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Default to -fsched-pressure
mshawcroft [Tue, 23 Sep 2014 11:14:42 +0000 (11:14 +0000)]
[AArch64] Default to -fsched-pressure

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215503 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMake all gcc.dg/guality/const-volatile.c subtests PASS under LTO.
mark [Tue, 23 Sep 2014 11:07:08 +0000 (11:07 +0000)]
Make all gcc.dg/guality/const-volatile.c subtests PASS under LTO.

Some subtests were reported as UNSUPPORTED when running under LTO.
That was just because the relevant variables were optimized out.
Mark those variables as used. Now const-volatile reports 192 PASS.

gcc/testsuite/ChangeLog

* gcc.dg/guality/const-volatile.c (i): Mark as used.
(ci): Likewise.
(pci): Likewise.
(pvi): Likewise.
(pcvi): Likewise.
(cip): Likewise.
(foo): Likewise.
(cfoo): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215502 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc-gdb-test.exp: Handle old GDB "short int" and "long int" types.
mark [Tue, 23 Sep 2014 11:06:57 +0000 (11:06 +0000)]
gcc-gdb-test.exp: Handle old GDB "short int" and "long int" types.

Old GDB might show short and long as short int and long int. This made
gcc.dg/guality/const-volatile.c ans restrict.c fail on older GDBs.
According to the patch that changed this in newer versions of GDB
this was a bug: https://sourceware.org/ml/gdb-patches/2012-09/msg00455.html

The patch transforms the types "short int" and "long int" coming from
GDB to plain "short" and "long". And a variant has been added to the
const-volatile.c testcase to make sure short and long long are handled
correctly now with older GDB.

gcc/testsuite/ChangeLog

* lib/gcc-gdb-test.exp (gdb-test): Transform gdb types "short int"
and "long int" to plain "short" and "long".
* gcc.dg/guality/const-volatile.c (struct bar): New struct
containing short and long long fields.
(bar): New variable to test the type.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215501 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
kyukhin [Tue, 23 Sep 2014 08:26:34 +0000 (08:26 +0000)]
gcc/
* cfgcleanup.c (try_optimize_cfg): Do not remove label
with LABEL_PRESERVE_P flag set.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215498 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-23 Paolo Carlini <paolo.carlini@oracle.com>
paolo [Tue, 23 Sep 2014 08:09:14 +0000 (08:09 +0000)]
2014-09-23  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62155
* g++.dg/cpp0x/lambda/lambda-62155.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215497 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAVX-512. Add vshufpd insn patterns.
kyukhin [Tue, 23 Sep 2014 07:21:32 +0000 (07:21 +0000)]
AVX-512. Add vshufpd insn patterns.

gcc/
* config/i386/sse.md
(define_expand "avx_shufpd256<mask_expand4_name>"): Add masking.
(define_insn "avx_shufpd256_1<mask_name>"): Ditto.
(define_expand "sse2_shufpd<mask_expand4_name>"): Ditto.
(define_insn "sse2_shufpd_v2df_mask"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215496 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAVX-512. Add vshufps insn patterns.
kyukhin [Tue, 23 Sep 2014 07:20:37 +0000 (07:20 +0000)]
AVX-512. Add vshufps insn patterns.

gcc/
* config/i386/sse.md
(define_expand "avx_shufps256<mask_expand4_name>"): Add masking.
(define_insn "avx_shufps256_1<mask_name>"): Ditto.
(define_expand "sse_shufps<mask_expand4_name>"): Ditto.
(define_insn "sse_shufps_v4sf_mask"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215495 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAVX-512. Add rest of vunpck[lh]ps.
kyukhin [Tue, 23 Sep 2014 07:19:00 +0000 (07:19 +0000)]
AVX-512. Add rest of vunpck[lh]ps.

gcc/
* config/i386/sse.md
(define_insn "avx_unpckhps256<mask_name>"): Add masking.
(define_insn "vec_interleave_highv4sf<mask_name>"): Ditto.
(define_insn "avx_unpcklps256<mask_name>"): Ditto.
(define_insn "unpcklps128_mask"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215494 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAVX-512. Add masked vunpck[lh]pd.
kyukhin [Tue, 23 Sep 2014 07:17:19 +0000 (07:17 +0000)]
AVX-512. Add masked vunpck[lh]pd.

gcc/
* config/i386/sse.md
(define_insn "avx_unpckhpd256<mask_name>"): Add masking.
(define_insn "avx512vl_unpckhpd128_mask"): New.
(define_expand "avx_movddup256<mask_name>"): Add masking.
(define_expand "avx_unpcklpd256<mask_name>"): Ditto.
(define_insn "*avx_unpcklpd256<mask_name>"): Ditto.
(define_insn "avx512vl_unpcklpd128_mask"): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215493 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRemove LIBGCC2_LONG_DOUBLE_TYPE_SIZE target macro.
jsm28 [Tue, 23 Sep 2014 00:48:46 +0000 (00:48 +0000)]
Remove LIBGCC2_LONG_DOUBLE_TYPE_SIZE target macro.

This patch removes the target macro LIBGCC2_LONG_DOUBLE_TYPE_SIZE.

After recent changes, this macro was used in two ways in libgcc: to
determine the mode of long double in dfp-bit.h, and to determine
whether a particular mode has excess precision for use in complex
multiplication.

The former is concerned specifically with long double: it relates to
use of strtold for converting between decimal and binary floating
point.  This is replaced by comparing __LDBL_MANT_DIG__ with the
appropriate __LIBGCC_*_MANT_DIG__ macro.  The latter is replaced
__LIBGCC_*_EXCESS_PRECISION__ predefined macros.

Remarks:

* Comparing (__LDBL_MANT_DIG__ == __LIBGCC_XF_MANT_DIG__) is more
  fragile than it looks; it's possible for XFmode to have 53-bit
  mantissa (TARGET_96_ROUND_53_LONG_DOUBLE, on FreeBSD and
  DragonFlyBSD 32-bit), in which case such a comparison would not
  distinguish XFmode and DFmode as possible modes for long double.
  Fortunately, no target supporting that form of XFmode also supports
  long double = double (but if some target did, we'd need e.g. an
  additional macro giving the exponent range of each mode).

  Furthermore, this code doesn't actually get used for x86 (or any
  other target with XFmode support), because x86 uses BID not DPD and
  BID has its own conversion code (which handles conversions for both
  XFmode and TFmode without needing to go via strtold).  And FreeBSD
  and DragonFlyBSD aren't among the targets with DFP support.  So
  while in principle this code is fragile and it's a deficiency that
  it can't support both XFmode and TFmode at once (something that
  can't be solved with the string conversion approach without libc
  having TS 18661 functions such as strtof128), all these issues
  should not be a problem in practice.

* If other cases of excess precision are supported in future, the code
  for defining __LIBGCC_*_EXCESS_PRECISION__ may need updating.
  Although the most likely such cases might not actually involve
  excess precision for any mode used in libgcc - FLT_EVAL_METHOD being
  32 to do _Float16 arithmetic on _Float32 should have the effect of
  _Complex _Float16 arithmetic using __mulsc3 and __divsc3, rather
  than currently nonexistent __mulhc3 and __divhc3 as in bug 63250 for
  ARM.

* As has been noted in the context of simultaneous support for
  __float128 and __ibm128 on Power, the semantics of macros such as
  LONG_DOUBLE_TYPE_SIZE are problematic because they rely on a
  poorly-defined precision value for floating-point modes (which seems
  to be intended as the number of significant bits in the
  representation, e.g. 80 for XFmode which may be either 12 or 16
  bytes) uniquely identifying a mode (although defining an arbitrarily
  different value for one of the modes you wish to distinguish may
  work as a hack).  It would be cleaner to have a target hook that
  gives a machine mode directly for float, double and long double,
  rather than going via these precision values.  By eliminating all
  use of these macros (FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
  LONG_DOUBLE_TYPE_SIZE) from code built for the target, this patch
  facilitates such a conversion to a hook (which I suppose would take
  some suitable enum as an argument to identify which of the three
  types to return a mode for).

  (The issue of multiple type support for DFP conversions would apply
  in that Power case.
  <https://gcc.gnu.org/ml/gcc-patches/2014-07/msg01084.html> doesn't
  seem to touch on it, but it would seem reasonable to punt on it
  initially as hard to fix.  There would also be the issue of getting
  functions such as __powikf2, __mulkc3, __divkc3 defined, but that's
  rather easier to address.)

Bootstrapped with no regressions on x86_64-unknown-linux-gnu.

gcc:
* doc/tm.texi.in (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* doc/tm.texi: Regenerate.
* system.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Poison.
* config/alpha/alpha.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/i386/i386-interix.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.
* config/i386/i386.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/i386/rtemself.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/ia64/ia64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/m68k/m68k.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/m68k/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.
* config/mips/mips.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/mips/n32-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/msp430/msp430.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rl78/rl78.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rs6000/rs6000.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/rx/rx.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/s390/s390.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/freebsd.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/linux.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/linux64.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
* config/sparc/netbsd-elf.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE):
Remove.

gcc/c-family:
* c-cppbuiltin.c (c_cpp_builtins): Define
__LIBGCC_*_EXCESS_PRECISION__ macros for supported floating-point
modes.

libgcc:
* dfp-bit.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.
(__LIBGCC_XF_MANT_DIG__): Define if not already defined.
(LONG_DOUBLE_HAS_XF_MODE): Define in terms of
__LIBGCC_XF_MANT_DIG__.
(__LIBGCC_TF_MANT_DIG__): Define if not already defined.
(LONG_DOUBLE_HAS_TF_MODE): Define in terms of
__LIBGCC_TF_MANT_DIG__.
* libgcc2.c (NOTRUNC): Define in terms of
__LIBGCC_*_EXCESS_PRECISION__, not LIBGCC2_LONG_DOUBLE_TYPE_SIZE.
* libgcc2.h (LIBGCC2_LONG_DOUBLE_TYPE_SIZE): Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215491 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Tue, 23 Sep 2014 00:16:30 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215489 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoruntime: Mark runtime_goexit function as noinline.
ian [Mon, 22 Sep 2014 21:14:43 +0000 (21:14 +0000)]
runtime: Mark runtime_goexit function as noinline.

If the compiler inlines this function into kickoff, it may reuse
the TLS block address to load g. However, this is not necessarily
correct, as the call to g->entry in kickoff may cause the TLS
address to change. If the wrong value is loaded for g->status in
runtime_goexit, it may cause a runtime panic.

By marking the function as noinline we prevent the compiler from
reusing the TLS address.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215484 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * charset.c (conversion): Rename to ...
hubicka [Mon, 22 Sep 2014 19:43:02 +0000 (19:43 +0000)]
* charset.c (conversion): Rename to ...
(cpp_conversion): ... this one; update.
* files.c (file_hash_entry): Rename to ...
(cpp_file_hash_entry): ... this one ; update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215482 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-ssa-ccp.c (prop_value_d): Rename to ...
hubicka [Mon, 22 Sep 2014 19:41:02 +0000 (19:41 +0000)]
* tree-ssa-ccp.c (prop_value_d): Rename to ...
(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
* ipa-prop.c (struct type_change_info): Rename to ...
(prop_type_change_info): ... this; update uses.
* ggc-page.c (globals): Rename to ...
(static struct ggc_globals): ... this; update uses.
* tree-ssa-loop-im.c (mem_ref): Rename to ...
(im_mem_ref): ... this; update uses.
* ggc-common.c (loc_descriptor): Rename to ...
(ggc_loc_descriptor): ... this; update uses.
* lra-eliminations.c (elim_table): Rename to ...
(lra_elim_table): ... this; update uses.
* bitmap.c (output_info): Rename to ...
(bitmap_output_info): ... this; update uses.
* gcse.c (expr): Rename to ...
(gcse_expr) ... this; update uses.
(occr): Rename to ...
(gcse_occr): .. this; update uses.
* tree-ssa-copy.c (prop_value_d): Rename to ...
(prop_value_t): ... this.
* predict.c (block_info_def): Rename to ...
(block_info): ... this; update uses.
(edge_info_def): Rename to ...
(edge_info): ... this; update uses.
* profile.c (bb_info): Rename to ...
(bb_profile_info): ... this; update uses.
* alloc-pool.c (output_info): Rename to ...
(pool_output_info): ... this; update uses.
* ipa-cp.c (topo_info): Rename to ..
(ipa_topo_info): ... this; update uses.
* tree-nrv.c (nrv_data): Rename to ...
(nrv_data_t): ... this; update uses.
* ipa-split.c (bb_info): Rename to ...
(split_bb_info): ... this one.
* profile.h (edge_info): Rename to ...
(edge_profile_info): ... this one; update uses.
* dse.c (bb_info): Rename to ...
(dse_bb_info): ... this one; update uses.
* cprop.c (occr): Rename to ...
(cprop_occr): ... this one; update uses.
(expr): Rename to ...
(cprop_expr): ... this one; update uses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215481 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * tree-ssa-ccp.c (prop_value_d): Rename to ...
hubicka [Mon, 22 Sep 2014 19:39:44 +0000 (19:39 +0000)]
* tree-ssa-ccp.c (prop_value_d): Rename to ...
(ccp_prop_value_t): ... this one to avoid ODR violation; update uses.
* ipa-prop.c (struct type_change_info): Rename to ...
(prop_type_change_info): ... this; update uses.
* ggc-page.c (globals): Rename to ...
(static struct ggc_globals): ... this; update uses.
* tree-ssa-loop-im.c (mem_ref): Rename to ...
(im_mem_ref): ... this; update uses.
* ggc-common.c (loc_descriptor): Rename to ...
(ggc_loc_descriptor): ... this; update uses.
* lra-eliminations.c (elim_table): Rename to ...
(lra_elim_table): ... this; update uses.
* bitmap.c (output_info): Rename to ...
(bitmap_output_info): ... this; update uses.
* gcse.c (expr): Rename to ...
(gcse_expr) ... this; update uses.
(occr): Rename to ...
(gcse_occr): .. this; update uses.
* tree-ssa-copy.c (prop_value_d): Rename to ...
(prop_value_t): ... this.
* predict.c (block_info_def): Rename to ...
(block_info): ... this; update uses.
(edge_info_def): Rename to ...
(edge_info): ... this; update uses.
* profile.c (bb_info): Rename to ...
(bb_profile_info): ... this; update uses.
* alloc-pool.c (output_info): Rename to ...
(pool_output_info): ... this; update uses.
* ipa-cp.c (topo_info): Rename to ..
(ipa_topo_info): ... this; update uses.
* tree-nrv.c (nrv_data): Rename to ...
(nrv_data_t): ... this; update uses.
* ipa-split.c (bb_info): Rename to ...
(split_bb_info): ... this one.
* profile.h (edge_info): Rename to ...
(edge_profile_info): ... this one; update uses.
* dse.c (bb_info): Rename to ...
(dse_bb_info): ... this one; update uses.
* cprop.c (occr): Rename to ...
(cprop_occr): ... this one; update uses.
(expr): Rename to ...
(cprop_expr): ... this one; update uses.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215480 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * semantics.c (finish_non_static_data_member): In diagnostic, give
jason [Mon, 22 Sep 2014 19:22:37 +0000 (19:22 +0000)]
* semantics.c (finish_non_static_data_member): In diagnostic, give
error at point of use and note at point of declaration.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215479 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/63320
jason [Mon, 22 Sep 2014 19:22:11 +0000 (19:22 +0000)]
PR c++/63320
PR c++/60463
PR c++/60755
* lambda.c (maybe_resolve_dummy, lambda_expr_this_capture): Handle
not finding 'this'.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215478 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago/cp
paolo [Mon, 22 Sep 2014 19:21:20 +0000 (19:21 +0000)]
/cp
2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62219
* pt.c (check_default_tmpl_args): Check LAMBDA_FUNCTION_P.

/testsuite
2014-09-22  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/62219
* g++.dg/cpp0x/lambda/lambda-template14.C: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215477 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[Testsuite] Add tests of reductions using whole-vector-shifts (ior)
alalaw01 [Mon, 22 Sep 2014 16:36:06 +0000 (16:36 +0000)]
[Testsuite] Add tests of reductions using whole-vector-shifts (ior)

* gcc.dg/vect/vect-reduc-or_1.c: New test.
* gcc.dg/vect/vect-reduc-or_2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215475 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
jason [Mon, 22 Sep 2014 16:33:35 +0000 (16:33 +0000)]
gcc/
* Makefile.in (check-parallel-%): Add @.
libstdc++-v3/
* testsuite/Makefile.am (%/site.exp): Add @.
(check-DEJAGNU): Likewise.
* testsuite/Makefile.in: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215474 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)
alalaw01 [Mon, 22 Sep 2014 16:33:05 +0000 (16:33 +0000)]
[Testsuite] Add tests of reductions using whole-vector-shifts (multiplication)

* lib/target-supports.exp (check_effective_target_whole_vector_shift):
New.

* gcc.dg/vect/vect-reduc-mul_1.c: New test.
* gcc.dg/vect/vect-reduc-mul_2.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215473 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * decl.c (poplevel): Don't warn about unused vars in template scope.
jason [Mon, 22 Sep 2014 16:31:09 +0000 (16:31 +0000)]
* decl.c (poplevel): Don't warn about unused vars in template scope.
* error.c (dump_decl): Handle variable templates.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215472 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c
jgreenhalgh [Mon, 22 Sep 2014 16:24:57 +0000 (16:24 +0000)]
[AArch64] Auto-generate the "BUILTIN_" macros for aarch64-builtins.c

gcc/

* config/aarch64/geniterators.sh: New.
* config/aarch64/iterators.md (VDQF_DF): New.
* config/aarch64/t-aarch64: Generate aarch64-builtin-iterators.h.
* config/aarch64/aarch64-builtins.c (BUILTIN_*) Remove.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215471 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoInclude <bits/uses_allocator.h> in <stack> and <queue>.
redi [Mon, 22 Sep 2014 16:01:53 +0000 (16:01 +0000)]
Include <bits/uses_allocator.h> in <stack> and <queue>.

* include/bits/stl_queue.h: Include missing header.
* include/bits/stl_stack.h: Likewise.
* testsuite/23_containers/priority_queue/requirements/
uses_allocator.cc: New.
* testsuite/23_containers/queue/requirements/uses_allocator.cc: New.
* testsuite/23_containers/stack/requirements/uses_allocator.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215470 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
nickc [Mon, 22 Sep 2014 15:47:31 +0000 (15:47 +0000)]
* config/msp430/msp430.h (LIB_SPEC): Remove automatic addition of
-lnosys when -msim absent.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215469 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * doc/xml/manual/status_cxx2011.xml: Update C++11 status.
redi [Mon, 22 Sep 2014 15:25:37 +0000 (15:25 +0000)]
* doc/xml/manual/status_cxx2011.xml: Update C++11 status.
* doc/xml/manual/status_cxx2014.xml: Update TS status.
* doc/html/manual/status.html: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215468 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * include/std/mutex (try_lock): Do not swallow exceptions.
redi [Mon, 22 Sep 2014 14:54:35 +0000 (14:54 +0000)]
* include/std/mutex (try_lock): Do not swallow exceptions.
* testsuite/30_threads/try_lock/4.cc: Fix test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215467 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix ChangeLog date in my last commit.
redi [Mon, 22 Sep 2014 14:21:43 +0000 (14:21 +0000)]
Fix ChangeLog date in my last commit.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215466 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoWorkaround following [PATCH] Pul all constants last in tree_swap_operands_p
alalaw01 [Mon, 22 Sep 2014 14:20:16 +0000 (14:20 +0000)]
Workaround following [PATCH] Pul all constants last in tree_swap_operands_p

https://gcc.gnu.org/ml/gcc-patches/2014-09/msg01509.html
gcc/:
        * fold-const.c (tree_swap_operands_p): Strip only sign-preserving NOPs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215465 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoMake streams movable and swappable.
redi [Mon, 22 Sep 2014 13:34:09 +0000 (13:34 +0000)]
Make streams movable and swappable.

PR libstdc++/54316
PR libstdc++/53626
* config/abi/pre/gnu.ver: Add new exports.
* config/io/basic_file_stdio.h (__basic_file): Support moving and
swapping.
* include/bits/basic_ios.h (basic_ios::move, basic_ios::swap):
Likewise.
* include/bits/ios_base.h (ios_base::_M_move, ios_base::_M_swap):
Likewise.
* include/bits/fstream.tcc (basic_filebuf): Likewise.
* include/bits/move.h (__exchange): Define for C++11 mode.
* include/ext/stdio_filebuf.h (stdio_filebuf): Support moving and
swapping.
* include/ext/stdio_sync_filebuf.h (stdio_sync_filebuf): Likewise.
* include/std/fstream (basic_filebuf, basic_ifstream, basic_ofstream,
basic_fstream): Likewise.
* include/std/ios: Remove whitespace.
* include/std/istream (basic_istream, basic_iostream): Support moving
and swapping.
* include/std/ostream (basic_ostream): Likewise.
* include/std/sstream (basic_stringbuf, basic_istringstream,
basic_ostringstream, basic_stringstream): Likewise.
* include/std/streambuf (basic_streambuf): Do not default copy
constructor and assignment on first declaration.
* include/std/utility (exchange): Forward to __exchange.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* src/c++11/Makefile.am: Add stream-related files.
* src/c++11/Makefile.in: Regenerate.
* src/c++11/ext11-inst.cc (stdio_filebuf, stdio_sync_filebuf):
New file for explicit instantiation definitions.
* src/c++11/ios.cc: Move from src/c++98 to here.
(ios_base::_M_move, ios_base::_M_swap): Define.
* src/c++11/ios-inst.cc: Move from src/c++98 to here.
* src/c++11/iostream-inst.cc: Likewise.
* src/c++11/istream-inst.cc: Likewise.
* src/c++11/ostream-inst.cc: Likewise.
* src/c++11/sstream-inst.cc: Likewise.
* src/c++11/streambuf-inst.cc: Likewise.
* src/c++98/Makefile.am: Remove stream-related files.
* src/c++98/Makefile.in: Regenerate.
* src/c++98/ext-inst.cc (stdio_filebuf): Remove explicit
instantiations.
* src/c++98/misc-inst.cc (stdio_sync_filebuf): Likewise.
* src/c++98/ios-inst.cc: Move to src/c++11/.
* src/c++98/ios.cc: Move to src/c++11/.
* src/c++98/iostream-inst.cc: Likewise.
* src/c++98/istream-inst.cc: Likewise.
* src/c++98/ostream-inst.cc: Likewise.
* src/c++98/sstream-inst.cc: Likewise.
* src/c++98/streambuf-inst.cc: Likewise.
* testsuite/27_io/basic_filebuf/cons/char/copy_neg.cc: New.
* testsuite/27_io/basic_fstream/cons/move.cc: New.
* testsuite/27_io/basic_fstream/assign/1.cc: New.
* testsuite/27_io/basic_ifstream/cons/move.cc: New.
* testsuite/27_io/basic_ifstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/assign/1.cc: New.
* testsuite/27_io/basic_istringstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/cons/move.cc: New.
* testsuite/27_io/basic_ofstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/assign/1.cc: New.
* testsuite/27_io/basic_ostringstream/cons/move.cc: New.
* testsuite/27_io/basic_stringstream/assign/1.cc: New.
* testsuite/27_io/basic_stringstream/cons/move.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215463 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoAdd --inline option to contrib/mklog
vries [Mon, 22 Sep 2014 12:53:12 +0000 (12:53 +0000)]
Add --inline option to contrib/mklog

2014-09-22  Tom de Vries  <tom@codesourcery.com>

* mklog: Add --inline option.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215462 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-22 Richard Biener <rguenther@suse.de>
rguenth [Mon, 22 Sep 2014 12:49:16 +0000 (12:49 +0000)]
2014-09-22  Richard Biener  <rguenther@suse.de>

* gimplify.c (gimplify_init_constructor): Do not leave
non-GIMPLE vector constructors around.
* tree-cfg.c (verify_gimple_assign_single): Verify that
CONSTRUCTORs have gimple elements.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215461 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR target/63312
jsm28 [Mon, 22 Sep 2014 11:08:03 +0000 (11:08 +0000)]
PR target/63312
* config/ia64/sfp-machine.h (FE_EX_ALL, FP_TRAPPING_EXCEPTIONS):
New macros.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215458 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR debug/63328
jakub [Mon, 22 Sep 2014 10:32:09 +0000 (10:32 +0000)]
PR debug/63328
* omp-low.c (ipa_simd_modify_stmt_ops): For debug stmts
insert a debug source bind stmt setting DEBUG_EXPR_DECL
instead of a normal gimple assignment stmt.

* c-c++-common/gomp/pr63328.c: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215454 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago[Patch bfin] Fixup use of constraints in define_split
jgreenhalgh [Mon, 22 Sep 2014 10:23:42 +0000 (10:23 +0000)]
[Patch bfin] Fixup use of constraints in define_split

gcc/

* config/bfin/bfin.md: Fix use of constraints in define_split.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215453 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Dominique d'Humieres <dominiq@lps.ens.fr>
dominiq [Mon, 22 Sep 2014 10:05:37 +0000 (10:05 +0000)]
2014-09-21  Dominique d'Humieres <dominiq@lps.ens.fr>

* resolve.c (resolve_fl_procedure): Remove duplicated lines.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215452 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoPR lto/63270 - new test
marxin [Mon, 22 Sep 2014 09:39:20 +0000 (09:39 +0000)]
PR lto/63270 - new test

* g++.dg/lto/pr63270_0.C: New test.
* g++.dg/lto/pr63270_1.C: New test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215451 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 22 Sep 2014 07:38:46 +0000 (07:38 +0000)]
gcc/
* config/i386/i386.c (ix86_cannot_change_mode_class): Remove
GET_MODE_SIZE (to) < GET_MODE_SIZE (from) test.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215450 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 22 Sep 2014 07:38:12 +0000 (07:38 +0000)]
gcc/
* hard-reg-set.h: Include hash-table.h.
(target_hard_regs): Add a finalize method and a x_simplifiable_subregs
field.
* target-globals.c (target_globals::~target_globals): Call
hard_regs->finalize.
* rtl.h (subreg_shape): New structure.
(shape_of_subreg): New function.
(simplifiable_subregs): Declare.
* reginfo.c (simplifiable_subreg): New structure.
(simplifiable_subregs_hasher): Likewise.
(simplifiable_subregs): New function.
(invalid_mode_changes): Delete.
(alid_mode_changes, valid_mode_changes_obstack): New variables.
(record_subregs_of_mode): Remove subregs_of_mode parameter.
Record valid mode changes in valid_mode_changes.
(find_subregs_of_mode): Remove subregs_of_mode parameter.
Update calls to record_subregs_of_mode.
(init_subregs_of_mode): Remove invalid_mode_changes and bitmap
handling.  Initialize new variables.  Update call to
find_subregs_of_mode.
(invalid_mode_change_p): Check new variables instead of
invalid_mode_changes.
(finish_subregs_of_mode): Finalize new variables instead of
invalid_mode_changes.
(target_hard_regs::finalize): New function.
* ira-costs.c (print_allocno_costs): Call invalid_mode_change_p
even when CLASS_CANNOT_CHANGE_MODE is undefined.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215449 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 22 Sep 2014 07:36:59 +0000 (07:36 +0000)]
gcc/
* combine.c (subst): Use simplify_subreg_regno rather than
REG_CANNOT_CHANGE_MODE_P to detect invalid mode changes.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215448 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 22 Sep 2014 07:36:51 +0000 (07:36 +0000)]
gcc/
* rtl.h (subreg_info): Expand commentary
* rtlanal.c (subreg_get_info): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215447 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agogcc/
rsandifo [Mon, 22 Sep 2014 07:36:42 +0000 (07:36 +0000)]
gcc/
* hard-reg-set.h (COPY_HARD_REG_SET, COMPL_HARD_REG_SET)
(AND_HARD_REG_SET, AND_COMPL_HARD_REG_SET, IOR_HARD_REG_SET)
(IOR_COMPL_HARD_REG_SET): Allow the "from" set to be constant.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215446 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
ebotcazou [Mon, 22 Sep 2014 07:02:24 +0000 (07:02 +0000)]
* gcc-interface/decl.c (gnat_to_gnu_entity): Adjust comment.
* gcc-interface/utils.c (gnat_write_global_declarations): Fix typo.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215445 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-22 Zhenqiang Chen <zhenqiang.chen@arm.com>
zqchen [Mon, 22 Sep 2014 02:54:45 +0000 (02:54 +0000)]
2014-09-22  Zhenqiang Chen  <zhenqiang.chen@arm.com>

* config/arm/arm.c: #include "tm-constrs.h"
(thumb1_size_rtx_costs): Adjust rtx costs.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215444 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
hp [Mon, 22 Sep 2014 00:49:01 +0000 (00:49 +0000)]
* crtstuff.c (USE_EH_FRAME_REGISTRY): Let USE_EH_FRAME_REGISTRY_ALWAYS
override USE_PT_GNU_EH_FRAME.
[__LIBGCC_EH_FRAME_SECTION_NAME__ && !USE_PT_GNU_EH_FRAME]: Sanity-
check USE_EH_FRAME_REGISTRY_ALWAYS against
__LIBGCC_EH_FRAME_SECTION_NAME__, emit error if unsane.
* Makefile.in (FORCE_EXPLICIT_EH_REGISTRY): New
variable for substituted force_explicit_eh_registry.
(CRTSTUFF_CFLAGS): Add FORCE_EXPLICIT_EH_REGISTRY.
* configure.ac (explicit-exception-frame-registration):
New AC_ARG_ENABLE.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215443 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Mon, 22 Sep 2014 00:17:07 +0000 (00:17 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215442 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * configure.ac (target_header_dir): Move block defining
hp [Sun, 21 Sep 2014 23:38:05 +0000 (23:38 +0000)]
* configure.ac (target_header_dir): Move block defining
this to before the block setting inhibit_libc.
(inhibit_libc): When considering $with_headers, just
check it it's explicitly "no".  If not, also check if
$target_header_dir/stdio.h is present.  If not, set
inhibit_libc=true.
* configure: Regenerate.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215439 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.
dje [Sun, 21 Sep 2014 22:29:00 +0000 (22:29 +0000)]
    * config/rs6000/t-spe (MULTILIB_EXCEPTIONS): Allow isel without SPE.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215438 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 18:04:53 +0000 (18:04 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (div<mode>3): Fix comment.  Use a different
insn for divides by integer powers of two.
(div<mode>3_sra, *div<mode>3_sra_dot, *div<mode>3_sra_dot2): New.
(mod<mode>3): Fix formatting.
(three anonymous define_insn and two define_split): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215437 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 18:03:52 +0000 (18:03 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (ashr<mode>3, *ashr<mode>3, *ashrsi3_64,
*ashr<mode>3_dot, *ashr<mode>3_dot2): Clobber CA_REGNO.
(floatdisf2_internal2): Ditto.
(ashrdi3_no_power): Ditto.  Fix formatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215436 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 18:02:54 +0000 (18:02 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (ctz<mode>2, ffs<mode>2, popcount<mode>2,
popcntb<mode>2, popcntd<mode>2, parity<mode>2, parity<mode>2_cmpb):
Tidy.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215435 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 18:01:59 +0000 (18:01 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (strlensi): Don't use subsi3 with a
constant, use addsi3 directly.
(three anonymous define_insn, two define_split): Delete.
(sub<mode>3): Move.  Do not allow constant second operand.
Generate different insn for constant first operand.
(*subf<mode>3, *subf<mode>3_dot, *subf<mode>3_dot2): New.
(subf<mode>3_imm): New.
(ctz<mode>2, ffs<mode>2): Clobber CA_REGNO where required.
(*plus_ltu<mode>): Only handle registers.
(*plus_ltu<mode>_1): New.  Handle integer third operand.
(*plus_gtu<mode>): Only handle registers.
(*plus_gtu<mode>_1): New.  Handle integer third operand.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215434 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 18:01:01 +0000 (18:01 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (iorxor): New code_iterator.
(iorxor): New code_attr.
(IORXOR): New code_attr.
(*and<mode>3, *and<mode>3_dot, *and<mode>3_dot2): Delete.
(ior<mode>3, xor<mode>3): Delete.
(<iorxor><mode>3): New.
(splitter for "big" integer ior, xor): New.
(*bool<mode>3): Move.  Also handle AND.
(*bool<mode>3_dot, *bool<mode>3_dot2): Also handle AND.
(splitter for "big" integer ior, xor): Delete.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215433 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 17:59:40 +0000 (17:59 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*neg<mode>2_internal): Delete.
(two anonymous define_insn and two define_split): Delete.
(*neg<mode>2, *neg<mode>2_dot, *neg<mode>2_dot2): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215432 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 17:58:41 +0000 (17:58 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.md (*one_cmpl<mode>2): Generate "not" insn.
(two anonymous define_insn and two define_split): Delete.
(*one_cmpl<mode>2_dot, *one_cmpl<mode>2_dot2): New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215431 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 17:57:28 +0000 (17:57 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/rs6000.c (rs6000_rtx_costs) <NE>: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215430 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-21 Segher Boessenkool <segher@kernel.crashing.org>
segher [Sun, 21 Sep 2014 17:56:25 +0000 (17:56 +0000)]
2014-09-21  Segher Boessenkool  <segher@kernel.crashing.org>

* config/rs6000/predicates.md (ca_operand): Allow subregs.
(input_operand): Do not allow ca_operand.
* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): For the
carry bit, allow SImode and Pmode.
(rs6000_init_hard_regno_mode_ok): Make the carry bit class NO_REGS.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215429 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
uros [Sun, 21 Sep 2014 15:13:14 +0000 (15:13 +0000)]
* config/i386/i386.c (ix86_expand_call): Generate MS->SYSV extra
clobbered registers using clobber_reg.  Remove UNSPEC decoration.
* config/i386/i386.md (unspec) <UNSPEC_MS_TO_SYSV_CALL>: Remove.
(*call_rex64_ms_sysv): Remove.
(*call_value_rex64_ms_sysv): Ditto.
* config/i386/predicates.md (call_rex64_ms_sysv_operation): Remove.

testsuite/ChangeLog:

* gcc.target/i386/avx-vzeroupper-16.c (dg-final): Remove check
for call_value_rex64_ms_sysv.
* gcc.target/i386/avx-vzeroupper-17.c (dg-final): Ditto.
* gcc.target/i386/avx-vzeroupper-18.c (dg-final): Remove check
for call_rex64_ms_sysv.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215428 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/62017
jason [Sun, 21 Sep 2014 02:42:40 +0000 (02:42 +0000)]
PR c++/62017
* decl.c (begin_destructor_body): Only clobber the as-base part of
*this.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215427 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sun, 21 Sep 2014 00:16:33 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215426 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoruntime: Restore copyright notice accidentally removed from mgc0.c.
ian [Sat, 20 Sep 2014 20:42:59 +0000 (20:42 +0000)]
runtime: Restore copyright notice accidentally removed from mgc0.c.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215423 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of
amylaar [Sat, 20 Sep 2014 19:37:10 +0000 (19:37 +0000)]
    * config/epiphany/epiphany.md (sub_f_add_imm): Change constraint of
        operand 3 to "CnL".

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215422 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-20 Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>
burnus [Sat, 20 Sep 2014 14:14:08 +0000 (14:14 +0000)]
2014-09-20  Alessandro Fanfarillo  <fanfarillo.gcc@gmail.com>
            Tobias Burnus  <burnus@net-b.de>

gcc/fortran
        * trans-intrinsic.c (conv_intrinsic_atomic_op): Fix issue with
        generating temporary for value argument.

gcc/testsuite/
        * gfortran.dg/coarray_atomic_5.f90: New

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215421 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-20 Joost VandeVondele <vondele@gcc.gnu.org>
vondele [Sat, 20 Sep 2014 11:48:00 +0000 (11:48 +0000)]
2014-09-20  Joost VandeVondele  <vondele@gcc.gnu.org>

* trans-expr.c (gfc_reset_vptr): Fix comment whitespace.
(gfc_conv_class_to_class): Likewise.
(gfc_conv_procedure_call): Likewise.
(arrayfunc_assign_needs_temporary): Likewise.
(realloc_lhs_loop_for_fcn_call): Likewise.
(gfc_trans_assignment_1): Likewise.
* trans-array.c (gfc_conv_array_ref): Likewise.
(gfc_array_allocate): Likewise.
(gfc_alloc_allocatable_for_assignment): Likewise.
* symbol.c (generate_isocbinding_symbol): Likewise.
* class.c (finalization_scalarizer): Likewise.
(finalizer_insert_packed_call): Likewise.
(generate_finalization_wrapper): Likewise.
(find_intrinsic_vtab): Likewise.
* decl.c (gfc_match_import): Likewise.
(match_procedure_decl): Likewise.
(gfc_match_subroutine): Likewise.
(gfc_match_bind_c): Likewise.
(gfc_match_volatile): Likewise.
* trans-common.c (create_common): Likewise.
* error.c (gfc_diagnostic_starter): Likewise.
* trans-stmt.c (gfc_trans_sync): Likewise.
(gfc_trans_critical): Likewise.
(gfc_trans_simple_do): Likewise.
(gfc_trans_do): Likewise.
(gfc_trans_where_assign): Likewise.
* expr.c (gfc_is_simply_contiguous): Likewise.
* module.c (unquote_string): Likewise.
* trans.c (gfc_add_finalizer_call): Likewise.
* trans-types.c (gfc_init_kinds): Likewise.
* scanner.c (preprocessor_line): Likewise.
* gfortranspec.c (lang_specific_driver): Likewise.
* frontend-passes.c (create_var): Likewise.
(cfe_expr_0): Likewise.
* resolve.c (check_host_association): Likewise.
(gfc_resolve_code): Likewise.
(resolve_fl_derived0): Likewise.
(resolve_symbol): Likewise.
* f95-lang.c (poplevel): Likewise.
* trans-decl.c (create_main_function): Likewise.
* trans-io.c (transfer_expr): Likewise.
* arith.c (gfc_arith_divide): Likewise.
* parse.c (resolve_all_program_units): Likewise.
* check.c (gfc_check_rank): Likewise.
(gfc_check_sizeof): Likewise.
(is_c_interoperable): Likewise.
* dependency.c (gfc_dep_difference): Likewise.
* primary.c (gfc_match_rvalue): Likewise.
* trans-intrinsic.c (conv_intrinsic_system_clock): Likewise.
(conv_isocbinding_subroutine): Likewise.
* options.c (gfc_post_options): Likewise.
(gfc_handle_fpe_option): Likewise.
(gfc_get_option_string): Likewise.
* simplify.c (simplify_transformation_to_scalar): Likewise.
(gfc_simplify_spread): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215420 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago* config/ia64/ia64.md: Remove constraints from define_split
schwab [Sat, 20 Sep 2014 06:52:45 +0000 (06:52 +0000)]
* config/ia64/ia64.md: Remove constraints from define_split
patterns.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215419 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
hubicka [Sat, 20 Sep 2014 06:22:58 +0000 (06:22 +0000)]
* ipa-utils.h (ipa_polymorphic_call_context): Turn into class; add ctors.
(possible_polymorphic_call_targets, dump_possible_polymorphic_call_targets,
possible_polymorphic_call_target_p, possible_polymorphic_call_target_p): Simplify.
(get_dynamic_type): Remove.
* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Remove.
(clear_speculation): Bring to ipa-deivrt.h
(get_class_context): Rename to ...
(ipa_polymorphic_call_context::restrict_to_inner_class): ... this one.
(contains_type_p): Update.
(get_dynamic_type): Rename to ...
ipa_polymorphic_call_context::get_dynamic_type(): ... this one.
(possible_polymorphic_call_targets): UPdate.
* tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Update.
* ipa-prop.c (ipa_analyze_call_uses): Update.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215418 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * ipa-visibility.c (varpool_node::externally_visible_p): Do not
hubicka [Sat, 20 Sep 2014 03:11:04 +0000 (03:11 +0000)]
* ipa-visibility.c (varpool_node::externally_visible_p): Do not
privatize dynamic TLS variables.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215417 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * diagnostic.c (warning_n): New function.
hubicka [Sat, 20 Sep 2014 03:06:26 +0000 (03:06 +0000)]
* diagnostic.c (warning_n): New function.
* diagnostic-core.h (warning_n): Declare.
* ipa-devirt.c (ipa_devirt): Handle singulars correctly;
output dynamic counts when available.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215416 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR tree-optimization/63255
hubicka [Sat, 20 Sep 2014 02:58:42 +0000 (02:58 +0000)]
PR tree-optimization/63255
* ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering
issue in setting body_removed flag.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215415 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/61392
jason [Sat, 20 Sep 2014 00:55:14 +0000 (00:55 +0000)]
PR c++/61392
* mangle.c (write_expression): Use unresolved-name mangling for
DR850 case.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215414 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/61465
jason [Sat, 20 Sep 2014 00:54:55 +0000 (00:54 +0000)]
PR c++/61465
* call.c (convert_like_real) [ck_identity]: Call mark_rvalue_use
after pulling out an element from a CONSTRUCTOR.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215413 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoDaily bump.
gccadmin [Sat, 20 Sep 2014 00:16:42 +0000 (00:16 +0000)]
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215412 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR c++/61825
hubicka [Fri, 19 Sep 2014 23:56:52 +0000 (23:56 +0000)]
PR c++/61825
* c-family/c-common.c (handle_alias_ifunc_attribute): Check
that visibility change is possible
(handle_weakref_attribute): Likewise.
* cgraph.h (symtab_node): Add method get_create and
field refuse_visibility_changes.
(symtab_node::get_create): New method.
* fold-const.c (tree_single_nonzero_warnv_p): Use get_create.
* varasm.c (mark_weak): Verify that visibility change is
possible.

* gcc.dg/tree-ssa/nonzero-1.c: Require error to be output.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215409 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-19 Michael Meissner <meissner@linux.vnet.ibm.com>
meissner [Fri, 19 Sep 2014 19:36:57 +0000 (19:36 +0000)]
2014-09-19  Michael Meissner  <meissner@linux.vnet.ibm.com>

* config/rs6000/predicates.md (fusion_gpr_mem_load): Move testing
for base_reg_operand to be common between LO_SUM and PLUS.
(fusion_gpr_mem_combo): New predicate to match a fused address
that combines the addis and memory offset address.

* config/rs6000/rs6000-protos.h (fusion_gpr_load_p): Change
calling signature.
(emit_fusion_gpr_load): Likewise.

* config/rs6000/rs6000.c (fusion_gpr_load_p): Change calling
signature to pass each argument separately, rather than
using an operands array.  Rewrite the insns found by peephole2 to
be a single insn, rather than hoping the insns will still be
together when the peephole pass is done.  Drop being called via a
normal peephole.
(emit_fusion_gpr_load): Change calling signature to be called from
the fusion_gpr_load_<mode> insns with a combined memory address
instead of the peephole pass passing the addis and offset
separately.

* config/rs6000/rs6000.md (UNSPEC_FUSION_GPR): New unspec for GPR
fusion.
(power8 fusion peephole): Drop support for doing power8 via a
normal peephole that was created by the peephole2 pass.
(power8 fusion peephole2): Create a new insn with the fused
address, so that the fused operation is kept together after
register allocation is done.
(fusion_gpr_load_<mode>): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215404 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago PR lto/63286
hubicka [Fri, 19 Sep 2014 18:54:23 +0000 (18:54 +0000)]
PR lto/63286
* tree.c (need_assembler_name_p): Do not mangle variadic types.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215403 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agocompiler: Pass constant arguments directly to thunk functions.
ian [Fri, 19 Sep 2014 18:53:50 +0000 (18:53 +0000)]
compiler: Pass constant arguments directly to thunk functions.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215402 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoFix mcount test cases to only run on supported targets
ak [Fri, 19 Sep 2014 17:09:10 +0000 (17:09 +0000)]
Fix mcount test cases to only run on supported targets

       * gcc.dg/pg-override.c: Only run on x86 Linux.
       * gcc.dg/pg.c: Dito.
       * gcc.target/i386/fentry-override.c: Exclude for PIC.
       * gcc.target/i386/fentry.c: Dito.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215401 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
segher [Fri, 19 Sep 2014 16:57:04 +0000 (16:57 +0000)]
2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

* dg-extract-results.py (Prog.result_re): Include options in test name.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215400 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago2014-09-19 Segher Boessenkool <segher@kernel.crashing.org>
segher [Fri, 19 Sep 2014 16:42:26 +0000 (16:42 +0000)]
2014-09-19  Segher Boessenkool  <segher@kernel.crashing.org>

* recog.c (scratch_operand): Do not simply allow all hard registers:
only allow those that are allocatable.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215399 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update
law [Fri, 19 Sep 2014 16:28:42 +0000 (16:28 +0000)]
    * cfgrtl.c ira.c ira-color.c ira-conflicts ira-lives.c: Update
        comments and fix spacing to conform to coding style.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215398 138bc75d-0d04-0410-961f-82ee72b054a4

9 years agoRe: [Patch] Teach genrecog/genoutput that scratch registers require write constraint...
jgreenhalgh [Fri, 19 Sep 2014 16:23:44 +0000 (16:23 +0000)]
Re: [Patch] Teach genrecog/genoutput that scratch registers require write constraint modifiers

gcc/

* genrecog.c (validate_pattern): Allow empty constraints in
a match_scratch.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215397 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * dwarf2out.c (decl_ultimate_origin): Update comment.
aldyh [Fri, 19 Sep 2014 16:02:21 +0000 (16:02 +0000)]
* dwarf2out.c (decl_ultimate_origin): Update comment.
* tree.c (block_ultimate_origin): Same.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215396 138bc75d-0d04-0410-961f-82ee72b054a4

9 years ago * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
uweigand [Fri, 19 Sep 2014 15:49:21 +0000 (15:49 +0000)]
* config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
Update GCC version name to GCC 5.
(rs6000_function_arg_boundary): Likewise.
(rs6000_function_arg): Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@215395 138bc75d-0d04-0410-961f-82ee72b054a4