gcc.git
9 years agoDefine ATTRIBUTE_ALIGNED_VALUE to 32 for IA MCU
H.J. Lu [Thu, 9 Jul 2015 09:28:19 +0000 (09:28 +0000)]
Define ATTRIBUTE_ALIGNED_VALUE to 32 for IA MCU

attribute ((aligned)) should align to the minimum of BIGGEST_ALIGNMENT,
which is 4 bytes for -miamcu.

gcc/

PR target/66818
* config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
for IA MCU.

gcc/testsuite/

PR target/66818
* gcc.target/i386/pr66818.c: New test.

From-SVN: r225606

9 years agoCheck int_size_in_bytes in ix86_return_in_memory
H.J. Lu [Thu, 9 Jul 2015 09:26:47 +0000 (09:26 +0000)]
Check int_size_in_bytes in ix86_return_in_memory

ix86_return_in_memory should check negative return from int_size_in_bytes,
similar to other ports.

gcc/

PR target/66817
* config/i386/i386.c (ix86_return_in_memory): Return true
if int_size_in_bytes returns negative for IA MCU.

gcc/testsuite/

PR target/66817
* gcc.target/i386/pr66817.c: New test.

From-SVN: r225605

9 years agore PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)
Marek Polacek [Thu, 9 Jul 2015 09:01:51 +0000 (09:01 +0000)]
re PR tree-optimization/66718 (Non-invariant ADDR_EXPR not vectorized)

PR tree-optimization/66718
* Makefile.in (OBJS): Add gimple-laddress.o.
* passes.def: Schedule pass_laddress.
* timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
* tree-pass.h (make_pass_laddress): Declare.
* gimple-laddress.c: New file.

* gcc.dg/vect/vect-126.c: New test.

From-SVN: r225604

9 years agotoplev.c (compile_file): Reset maximum_field_alignment after parsing.
Richard Biener [Thu, 9 Jul 2015 08:40:25 +0000 (08:40 +0000)]
toplev.c (compile_file): Reset maximum_field_alignment after parsing.

2015-07-08  Richard Biener  <rguenther@suse.de>

* toplev.c (compile_file): Reset maximum_field_alignment after parsing.

From-SVN: r225603

9 years agore PR middle-end/66807 (--enable-libmpx failed)
Richard Biener [Thu, 9 Jul 2015 07:47:38 +0000 (07:47 +0000)]
re PR middle-end/66807 (--enable-libmpx failed)

2015-07-09  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66807
* tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.

From-SVN: r225600

9 years agofunction.c (stack_protect_epilogue): Use if rather than switch for check targetm...
Kito Cheng [Thu, 9 Jul 2015 03:51:21 +0000 (03:51 +0000)]
function.c (stack_protect_epilogue): Use if rather than switch for check targetm.have_stack_protect_test.

2015-07-08  Kito Cheng  <kito.cheng@gmail.com>

* function.c (stack_protect_epilogue): Use if rather than switch for
check targetm.have_stack_protect_test.

From-SVN: r225599

9 years ago*.C: generate dwarf-2 debug information even when dwarf-2 is not the default.
Carlos Sánchez de La Lama [Thu, 9 Jul 2015 03:49:12 +0000 (03:49 +0000)]
*.C: generate dwarf-2 debug information even when dwarf-2 is not the default.

* g++.dg/debug/dwarf2/*.C: generate dwarf-2 debug information
even when dwarf-2 is not the default.

From-SVN: r225598

9 years agoalways define WORD_REGISTER_OPERATIONS
Trevor Saunders [Thu, 9 Jul 2015 02:51:19 +0000 (02:51 +0000)]
always define WORD_REGISTER_OPERATIONS

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
* config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
* config/arc/arc.h: Likewise.
* config/arm/arm.h: Likewise.
* config/bfin/bfin.h: Likewise.
* config/epiphany/epiphany.h: Likewise.
* config/frv/frv.h: Likewise.
* config/ia64/ia64.h: Likewise.
* config/iq2000/iq2000.h: Likewise.
* config/lm32/lm32.h: Likewise.
* config/m32r/m32r.h: Likewise.
* config/mcore/mcore.h: Likewise.
* config/mep/mep.h: Likewise.
* config/microblaze/microblaze.h: Likewise.
* config/mips/mips.h: Likewise.
* config/mmix/mmix.h: Likewise.
* config/mn10300/mn10300.h: Likewise.
* config/nds32/nds32.h: Likewise.
* config/nios2/nios2.h: Likewise.
* config/pa/pa.h: Likewise.
* config/rl78/rl78.h: Likewise.
* config/sh/sh.h: Likewise.
* config/sparc/sparc.h: Likewise.
* config/stormy16/stormy16.h: Likewise.
* config/tilegx/tilegx.h: Likewise.
* config/tilepro/tilepro.h: Likewise.
* config/v850/v850.h: Likewise.
* config/xtensa/xtensa.h: Likewise.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* combine.c (simplify_set): Likewise.
(simplify_comparison): Likewise.
* expr.c (store_constructor): Likewise.
* internal-fn.c (expand_arith_overflow): Likewise.
* reload.c (push_reload): Likewise.
(find_reloads): Likewise.
(find_reloads_subreg_address): Likewise.
* reload1.c (eliminate_regs_1): Likewise.
* rtlanal.c (nonzero_bits1): Likewise.
(num_sign_bit_copies1): Likewise.
* simplify-rtx.c (simplify_truncation): Likewise.

From-SVN: r225597

9 years agoreduce conditional compilation based on AUTO_INC_DEC
Trevor Saunders [Thu, 9 Jul 2015 02:51:09 +0000 (02:51 +0000)]
reduce conditional compilation based on AUTO_INC_DEC

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
of AUTO_INC_DEC with the preprocessor.
* combine.c (combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
* emit-rtl.c (try_split): Likewise.
* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
* lower-subreg.c (resolve_simple_move): Likewise.
* lra.c (update_inc_notes): Likewise.
* recog.c (asm_operand_ok): Likewise.
(constrain_operands): Likewise.
* regrename.c (scan_rtx_address): Likewise.
* reload.c (update_auto_inc_notes): Likewise.
(reg_inc_found_and_valid_p): Likewise.
* reload1.c (reload): Likewise.
(emit_input_reload_insns): Likewise.
(delete_output_reload): Likewise.
* sched-deps.c (init_insn_reg_pressure_info): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.

From-SVN: r225596

9 years agoalways define AUTO_INC_DEC
Trevor Saunders [Thu, 9 Jul 2015 02:50:21 +0000 (02:50 +0000)]
always define AUTO_INC_DEC

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* rtl.h: Always define AUTO_INC_DEC.
* auto-inc-dec.c (pass_inc_dec::execute): Adjust.
* combine.c (combine_instructions): Likewise.
(can_combine_p): Likewise.
(try_combine): Likewise.
* emit-rtl.c (try_split): Likewise.
* loop-invariant.c (calculate_loop_reg_pressure): Likewise.
* lower-subreg.c (resolve_simple_move): Likewise.
* lra.c (update_inc_notes): Likewise.
* recog.c (asm_operand_ok): Likewise.
(constrain_operands): Likewise.
* regrename.c (scan_rtx_address): Likewise.
* reload.c (update_auto_inc_notes): Likewise.
(find_equiv_reg): Likewise.
* reload1.c (reload): Likewise.
(reload_as_needed): Likewise.
(choose_reload_regs): Likewise.
(emit_input_reload_insns): Likewise.
(delete_output_reload): Likewise.
* sched-deps.c (init_insn_reg_pressure_info): Likewise.
* valtrack.c (cleanup_auto_inc_dec): Likewise.

From-SVN: r225595

9 years agouse #if for HARD_FRAME_POINTER_IS_FRAME_POINTER less
Trevor Saunders [Thu, 9 Jul 2015 02:50:14 +0000 (02:50 +0000)]
use #if for HARD_FRAME_POINTER_IS_FRAME_POINTER less

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (can_combine_def_p): Don't check the value of
HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
(combinable_i3pat): Likewise.
(mark_used_regs_combine): Likewise.
* regrename.c (rename_chains): Likewise.
* reload.c (find_reloads_address): Likewise.
* sel-sched.c (mark_unavailable_hard_regs): Likewise.

From-SVN: r225594

9 years agoalways define SHORT_IMMEDIATES_SIGN_EXTEND
Trevor Saunders [Thu, 9 Jul 2015 02:50:07 +0000 (02:50 +0000)]
always define SHORT_IMMEDIATES_SIGN_EXTEND

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (update_rsp_from_reg_equal): Don't check if
SHORT_IMMEDIATES_SIGN_EXTEND is defined.
(reg_nonzero_bits_for_combine): Likewise.
* config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
1.
* config/frv/frv.h: Likewise.
* config/lm32/lm32.h: Likewise.
* config/mep/mep.h: Likewise.
* config/mips/mips.h: Likewise.
* config/rs6000/rs6000.h: Likewise.
* config/sh/sh.h: Likewise.
* config/tilegx/tilegx.h (enum reg_class): Likewise.
* config/tilepro/tilepro.h: Likewise.
* defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in: Adjust.
* rtlanal.c (nonzero_bits1): Likewise.

From-SVN: r225593

9 years agoremove #if for HAVE_cc0 in combine.c
Trevor Saunders [Thu, 9 Jul 2015 02:49:57 +0000 (02:49 +0000)]
remove #if for HAVE_cc0 in combine.c

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
with the preprocessor.
(combine_instructions): Likewise.
(try_combine): Likewise.
(subst): Likewise.
(distribute_notes): Likewise.

From-SVN: r225592

9 years agoreduce conditional compilation for LOAD_EXTEND_OP
Trevor Saunders [Thu, 9 Jul 2015 02:49:51 +0000 (02:49 +0000)]
reduce conditional compilation for LOAD_EXTEND_OP

Provide a default in files where that is possible, so that everything
else there can be unconditionally compiled.  However rtlanal.c and
reload.c do tricky things that break providing a global default, so we
can't do that yet.

gcc/ChangeLog:

2015-07-08  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

* combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
defined.
(simplify_set): Likewise.
* cse.c (cse_insn): Likewise.
* fold-const.c (fold_single_bit_test): Likewise.
(fold_unary_loc): Likewise.
* postreload.c (reload_cse_simplify_set): Likewise.
(reload_cse_simplify_operands): Likewise.

From-SVN: r225591

9 years agoDaily bump.
GCC Administrator [Thu, 9 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225590

9 years agore PR testsuite/66796 (FAIL: gcc.target/hppa/shadd-1.c scan-assembler-times sh.add 1)
Jeff Law [Wed, 8 Jul 2015 22:34:52 +0000 (16:34 -0600)]
re PR testsuite/66796 (FAIL: gcc.target/hppa/shadd-1.c scan-assembler-times sh.add 1)

       PR testsuite/66796
        * gcc.target/hppa/shadd-1.c: Avoid the read-modify-write so as
        to have a single memory reference.

From-SVN: r225586

9 years agoc-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
Eric Botcazou [Wed, 8 Jul 2015 21:58:10 +0000 (21:58 +0000)]
c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.

c-family/
* c-ada-spec.h (cpp_operation): Add IS_CONSTEXPR.
* c-ada-spec.c (print_ada_declaration): Skip constexpr constructors.
cp/
* decl2.c (cpp_check): Deal with IS_CONSTEXPR.

From-SVN: r225585

9 years agoc-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses are to be removed...
Jakub Jelinek [Wed, 8 Jul 2015 20:29:26 +0000 (22:29 +0200)]
c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses are to be removed, return NULL rather than original clauses list.

* c-omp.c (c_omp_declare_simd_clauses_to_numbers): If all clauses
are to be removed, return NULL rather than original clauses list.

* decl.c (grokfndecl): Handle flag_openmp_simd like flag_openmp.
* pt.c (apply_late_template_attributes): Likewise.

* g++.dg/vect/vect.exp: Run also simd* tests.
* gcc.dg/vect/tree-vect.h (abort, exit): For C++ use extern "C".
(check_vect): Fix up get_cpuid call for C++.
* g++.dg/vect/simd-clone-1.cc: New test.

From-SVN: r225583

9 years ago[AArch64] Define TARGET_UNSPEC_MAY_TRAP_P
Jiong Wang [Wed, 8 Jul 2015 20:18:00 +0000 (20:18 +0000)]
[AArch64] Define TARGET_UNSPEC_MAY_TRAP_P

      gcc/
* config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
(TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.

From-SVN: r225581

9 years agoAllow <adxintrin.h> for IA MCU
H.J. Lu [Wed, 8 Jul 2015 20:01:36 +0000 (20:01 +0000)]
Allow <adxintrin.h> for IA MCU

It is OK to include <adxintrin.h> for IA MCU since GCC can generate ADX
intrinsics with alternative instuctions if ADX isn't enabled.

PR target/66746
* config/i386/x86intrin.h: Include <adxintrin.h> even if
__iamcu__ is defined.

From-SVN: r225580

9 years agoCompile pr37870.c with -mlong-double-80
H.J. Lu [Wed, 8 Jul 2015 19:35:43 +0000 (19:35 +0000)]
Compile pr37870.c with -mlong-double-80

On x86, the "long double" type is platforma specific, which may be the
same as double or __float128.  Since pr37870.c requires 80-bit floating
point type, it should be compiled with -mlong-double-80.

* gcc.target/i386/pr37870.c (dg-options): Add -mlong-double-80.

From-SVN: r225578

9 years agopredicates.md (general_reg_operand): Use GENERAL_REGNO_P.
Uros Bizjak [Wed, 8 Jul 2015 18:06:57 +0000 (20:06 +0200)]
predicates.md (general_reg_operand): Use GENERAL_REGNO_P.

* config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.

From-SVN: r225568

9 years agoAdd abort prototype to readeflags-1.c/writeeflags-1.c
H.J. Lu [Wed, 8 Jul 2015 17:08:48 +0000 (17:08 +0000)]
Add abort prototype to readeflags-1.c/writeeflags-1.c

* gcc.target/i386/readeflags-1.c (abort): New prototype.
* gcc.target/i386/writeeflags-1.c (abort): Likewise.

From-SVN: r225566

9 years agore PR target/66523 (the new clang-based assembler in Xcode 7 on 10.11 fails on libobj...
Iain Sandoe [Wed, 8 Jul 2015 16:56:46 +0000 (16:56 +0000)]
re PR target/66523 (the new clang-based assembler in Xcode 7 on 10.11 fails on libobjc/NXConstStr.m)

2015-07-08  Iain Sandoe  <iain@codesourcery.com>

PR target/66523
* config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label names from
preservation.

From-SVN: r225565

9 years agoDon't pass/return vectors in registers for IAMCU
H.J. Lu [Wed, 8 Jul 2015 16:19:06 +0000 (09:19 -0700)]
Don't pass/return vectors in registers for IAMCU

Vectors should be passed in memory for IAMCU.  No warning for vector ABI
change for IAMCU since IAMCU ABI won't change.

gcc/

PR target/66806
* config/i386/i386.c (type_natural_mode): Don't warn vector ABI
change for IAMCU.
(function_arg_advance_32): Don't pass vectors in registers for
IAMCU.
(function_arg_32): Likewise.
(ix86_return_in_memory): Don't return vectors in registers for
IAMCU.

gcc/testsuite/

PR target/66806
* gcc.target/i386/pr66806.c: New test.

From-SVN: r225564

9 years agore PR c++/66421 (G++ fails compilation when assigning tuple created with variadic...
Paolo Carlini [Wed, 8 Jul 2015 16:08:10 +0000 (16:08 +0000)]
re PR c++/66421 (G++ fails compilation when assigning tuple created with variadic template to auto variable)

2015-07-08  Paolo Carlini  <paolo.carlini@oracle.com>

PR c++/66421
* g++.dg/cpp0x/auto45.C: New.

From-SVN: r225563

9 years agoliboffloadmic plugin: Address -Wnarrowing diagnostics
Thomas Schwinge [Wed, 8 Jul 2015 15:47:59 +0000 (17:47 +0200)]
liboffloadmic plugin: Address -Wnarrowing diagnostics

    libtool: compile:  [...]/build-gcc/./gcc/xg++ [...] -c [...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp [...]
    In file included from [...]/source-gcc/liboffloadmic/plugin/libgomp-plugin-intelmic.cpp:40:0:
    [...]/install/offload-x86_64-intelmicemul-linux-gnu/lib/gcc/x86_64-intelmicemul-linux-gnu/6.0.0/include/main_target_image.h:8628:1: error: narrowing conversion of '192' from 'int' to 'char' inside { } [-Wnarrowing]
     };
     ^
    [...]/install/offload-x86_64-intelmicemul-linux-gnu/lib/gcc/x86_64-intelmicemul-linux-gnu/6.0.0/include/main_target_image.h:8628:1: error: narrowing conversion of '192' from 'int' to 'char' inside { } [-Wnarrowing]
    [...]/install/offload-x86_64-intelmicemul-linux-gnu/lib/gcc/x86_64-intelmicemul-linux-gnu/6.0.0/include/main_target_image.h:8628:1: error: narrowing conversion of '164' from 'int' to 'char' inside { } [-Wnarrowing]
    [many more]

liboffloadmic/
* plugin/Makefile.am (main_target_image.h): Change type of data
member in struct MainTargetImage to uint8_t.
* plugin/Makefile.in: Regenerate.

From-SVN: r225562

9 years agore PR target/66334 (cleanup block fails to initialize EBX)
Vladimir Makarov [Wed, 8 Jul 2015 15:04:54 +0000 (15:04 +0000)]
re PR target/66334 (cleanup block fails to initialize EBX)

2015-07-08  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/66334
* ira-lives.c (process_bb_node_lives): Make conflicts with PIC
hard regno live at the start of BB with incoming abnormal edges.
* lra-lives.c (process_bb_lives): Ditto.

2015-07-08  Vladimir Makarov  <vmakarov@redhat.com>

PR middle-end/66334
* gcc.target/i386/pr66334.c: New.

From-SVN: r225561

9 years ago[nvptx offloading] Only 64-bit configurations are currently supported
Thomas Schwinge [Wed, 8 Jul 2015 14:59:59 +0000 (16:59 +0200)]
[nvptx offloading] Only 64-bit configurations are currently supported

PR libgomp/65099
gcc/
* config/nvptx/mkoffload.c (main): Create an offload image only in
64-bit configurations.
libgomp/
* plugin/plugin-nvptx.c (nvptx_get_num_devices): Return 0 if not
in a 64-bit configuration.
* testsuite/libgomp.oacc-c++/c++.exp: Don't attempt nvidia
offloading testing if no such device is available.
* testsuite/libgomp.oacc-c/c.exp: Likewise.
* testsuite/libgomp.oacc-fortran/fortran.exp: Likewise.

From-SVN: r225560

9 years agoFix comments in a jit testcase
David Malcolm [Wed, 8 Jul 2015 14:55:33 +0000 (14:55 +0000)]
Fix comments in a jit testcase

gcc/testsuite/ChangeLog:
* jit.dg/test-error-gcc_jit_block_end_with_switch-NULL-case.c: Fix
comments.

From-SVN: r225559

9 years agoAddress -Wsign-compare diagnostics
Thomas Schwinge [Wed, 8 Jul 2015 14:48:11 +0000 (16:48 +0200)]
Address -Wsign-compare diagnostics

... which have been introduced in r223152, for example hundreds of:

    [...]/gcc/input.h:37:12: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]

libcpp/
* include/line-map.h (RESERVED_LOCATION_COUNT): Change type to
source_location.

From-SVN: r225558

9 years agoPR jit/66783: improve error messages
David Malcolm [Wed, 8 Jul 2015 14:41:59 +0000 (14:41 +0000)]
PR jit/66783: improve error messages

gcc/jit/ChangeLog:
PR jit/66783
* libgccjit.c (gcc_jit_context_new_field): Show name of field in
"unknown size" error message.
(gcc_jit_struct_set_fields): Show name of struct in error message.
(gcc_jit_context_new_global): Show name of global in
"unknown size" error message.
(gcc_jit_function_new_local): Likewise for local.

gcc/testsuite/ChangeLog:
PR jit/66783
* jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c
(verify_code): Update expected error message.
* jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c
(verify_code): Likewise.
* jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c
(verify_code): Likewise.

From-SVN: r225557

9 years agoFix libgomp.c/parloops-exit-first-loop-alt{,-3}.c testcases
Tom de Vries [Wed, 8 Jul 2015 12:31:00 +0000 (12:31 +0000)]
Fix libgomp.c/parloops-exit-first-loop-alt{,-3}.c testcases

2015-07-08  Tom de Vries  <tom@codesourcery.com>

* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Fix
second call to f.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c: Same.

From-SVN: r225548

9 years agore PR bootstrap/66744 (Bootstrap failure due to conflicting access() on i686-w64...
Martin Liska [Wed, 8 Jul 2015 12:25:40 +0000 (14:25 +0200)]
re PR bootstrap/66744 (Bootstrap failure due to conflicting access() on i686-w64-mingw32)

Fix PR bootstrap/66744.

PR bootstrap/66744
* tree-sra.c (create_access_1): Call ctor without brackets.
(create_artificial_child_access): Likewise.

From-SVN: r225547

9 years agore PR ipa/66793 (ICE at -Os and above on x86_64-linux-gnu (verify_flow_info failed))
Richard Biener [Wed, 8 Jul 2015 11:54:28 +0000 (11:54 +0000)]
re PR ipa/66793 (ICE at -Os and above on x86_64-linux-gnu (verify_flow_info failed))

2015-07-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66793
* gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
Properly split the block after stmts ending it.

* gcc.dg/torture/pr66793.c: New testcase.

From-SVN: r225546

9 years agore PR tree-optimization/66794 (ICE at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Wed, 8 Jul 2015 11:47:42 +0000 (11:47 +0000)]
re PR tree-optimization/66794 (ICE at -O2 and -O3 on x86_64-linux-gnu)

2015-07-08  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66794
* passes.c (execute_function_todo): Assert that post-dominators
are not computed.
* gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
Free post-dominators.

* gcc.dg/torture/pr66794.c: New testcase.

From-SVN: r225545

9 years agoS/390: Remove assertion in s390_init_frame_layout.
Andreas Krebbel [Wed, 8 Jul 2015 10:59:32 +0000 (10:59 +0000)]
S/390: Remove assertion in s390_init_frame_layout.

gcc/ChangeLog:

2015-07-08  Andreas Krebbel  <krebbel@linux.vnet.ibm.com>

    * config/s390/s390.c (s390_init_frame_layout): Replace assertion
    with early exit.

From-SVN: r225542

9 years agore PR c++/66748 (Crash with abi_tag attribute)
Marek Polacek [Wed, 8 Jul 2015 10:36:26 +0000 (10:36 +0000)]
re PR c++/66748 (Crash with abi_tag attribute)

PR c++/66748
* tree.c (handle_abi_tag_attribute): Check for CLASS_TYPE_P before
accessing TYPE_LANG_SPECIFIC node.

* g++.dg/abi/abi-tag15.C: New test.

From-SVN: r225541

9 years agoMIPS: Fix failing branch range checks for micromips.
Andrew Bennett [Wed, 8 Jul 2015 09:40:35 +0000 (09:40 +0000)]
MIPS: Fix failing branch range checks for micromips.

The current branch range tests assume that the MIPS branch instructions
have a 16 bit branch offset which is shifted by 2.  Unfortunately for microMIPS
this offset is shifted by 1 which reduces the branch range and caused the
branch-*.c tests to fail.

testsuite/
* gcc.target/mips/branch-2.c: Change NOMIPS16 to NOCOMPRESSION.
* gcc.target/mips/branch-3.c: Ditto
* gcc.target/mips/branch-4.c: Ditto.
* gcc.target/mips/branch-5.c: Ditto.
* gcc.target/mips/branch-6.c: Ditto.
* gcc.target/mips/branch-7.c: Ditto.
* gcc.target/mips/branch-8.c: Ditto.
* gcc.target/mips/branch-9.c: Ditto.
* gcc.target/mips/branch-10.c: Ditto.
* gcc.target/mips/branch-11.c: Ditto.
* gcc.target/mips/branch-12.c: Ditto.
* gcc.target/mips/branch-13.c: Ditto.
* gcc.target/mips/umips-branch-5.c: New file.
* gcc.target/mips/umips-branch-6.c: New file.
* gcc.target/mips/umips-branch-7.c: New file.
* gcc.target/mips/umips-branch-8.c: New file.
* gcc.target/mips/umips-branch-9.c: New file.
* gcc.target/mips/umips-branch-10.c: New file.
* gcc.target/mips/umips-branch-11.c: New file.
* gcc.target/mips/umips-branch-12.c: New file.
* gcc.target/mips/umips-branch-13.c: New file.
* gcc.target/mips/umips-branch-14.c: New file.
* gcc.target/mips/umips-branch-15.c: New file.
* gcc.target/mips/umips-branch-16.c: New file.
* gcc.target/mips/branch-helper.h (OCCUPY_0x10000): New define.
(OCCUPY_0xfffc): New define.

From-SVN: r225540

9 years agoi386.md (*jcc_bt<mode>): Only allow const_int values more than or equal 8 and less...
Uros Bizjak [Wed, 8 Jul 2015 09:31:34 +0000 (11:31 +0200)]
i386.md (*jcc_bt<mode>): Only allow const_int values more than or equal 8 and less than 32 when...

* config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
more than or equal 8 and less than 32 when optimizing for size.

From-SVN: r225539

9 years ago[PATCH][ARM]Adjust compiling options for "gcc.target/arm/unsigned-float.c"
Renlin Li [Wed, 8 Jul 2015 09:15:31 +0000 (09:15 +0000)]
[PATCH][ARM]Adjust compiling options for "gcc.target/arm/unsigned-float.c"
with hardfloat toolchain.

gcc/testsuite/

2015-07-08  Renlin Li  <renlin.li@arm.com>

* gcc.target/arm/unsignedned-float.c: Different options for hf toolchain.

From-SVN: r225538

9 years ago[ARM] Initialise cost to COSTS_N_INSNS (1) and increment in arm rtx costs
Kyrylo Tkachov [Wed, 8 Jul 2015 09:14:24 +0000 (09:14 +0000)]
[ARM] Initialise cost to COSTS_N_INSNS (1) and increment in arm rtx costs

* config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
COSTS_N_INSNS (1) and increment it appropriately throughout the
function.

From-SVN: r225537

9 years agoMIPS: Do not build the stack-1.c testcase for micromips.
Andrew Bennett [Wed, 8 Jul 2015 08:37:22 +0000 (08:37 +0000)]
MIPS: Do not build the stack-1.c testcase for micromips.

testsuite/
* gcc.target/mips/stack-1.c: Do not build the testcase for micromips.

From-SVN: r225536

9 years agofold-const.c (fold_widened_comparison): Fix inverted comparison.
Richard Biener [Wed, 8 Jul 2015 08:16:50 +0000 (08:16 +0000)]
fold-const.c (fold_widened_comparison): Fix inverted comparison.

2015-07-08  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_widened_comparison): Fix inverted comparison.

From-SVN: r225535

9 years agogetruntime.c (get_run_time): Use RUSAGE_SELF as argument 1 of getrusage call.
Uros Bizjak [Wed, 8 Jul 2015 07:05:11 +0000 (09:05 +0200)]
getruntime.c (get_run_time): Use RUSAGE_SELF as argument 1 of getrusage call.

* getruntime.c (get_run_time) [__USE_GNU]: Use RUSAGE_SELF as
argument 1 of getrusage call.

From-SVN: r225534

9 years agofix changelog pasto
Alan Modra [Wed, 8 Jul 2015 03:27:08 +0000 (12:57 +0930)]
fix changelog pasto

From-SVN: r225533

9 years agotarget.def (rtx_costs): Remove "code" param, add "mode".
Alan Modra [Wed, 8 Jul 2015 03:02:27 +0000 (12:32 +0930)]
target.def (rtx_costs): Remove "code" param, add "mode".

* target.def (rtx_costs): Remove "code" param, add "mode".
* rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
(set_src_cost, get_full_set_src_cost): Likewise.  Move later in file.
(set_rtx_cost, get_full_set_rtx_cost): Move later in file.
* rtlanal.c (rtx_cost): Add "mode" parameter.  Update targetm.rtx_costs
call.  Track mode when given in rtx.
(get_full_rtx_cost): Add "mode" parameter.  Update rtx_cost calls.
(default_address_cost): Pass Pmode to rtx_cost.
(insn_rtx_cost): Pass dest mode of set to set_src_cost.
* cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
with NULL set.
* cse.c (COST, COST_IN): Add MODE param.  Update all uses.
(notreg_cost): Add mode param.  Use it.
* gcse.c (want_to_gcse_p): Delete forward declaration.  Add
mode param and pass to set_src_cost.  Update all calls.
(hash_scan_set): Formatting.
* hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
(hook_bool_rtx_mode_int_int_intp_bool_false): New function.
* hooks.h: Ditto.
* expmed.c (init_expmed_one_conv, init_expmed_one_mode,
init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
emit_store_flag): Update set_src_cost and rtx_cost calls.
* auto-inc-dec.c (attempt_change): Likewise.
* calls.c (precompute_register_parameters): Likewise.
* combine.c (expand_compound_operation, make_extraction,
force_to_mode, distribute_and_simplify_rtx): Likewise.
* dojump.c (prefer_and_bit_test): Likewise.
* dse.c (find_shift_sequence): Likewise.
* expr.c (compress_float_constant): Likewise.
* fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
* ifcvt.c (noce_try_sign_mask): Likewise.
* loop-doloop.c (doloop_optimize): Likewise.
* loop-invariant.c (create_new_invariant): Likewise.
* lower-subreg.c (shift_cost, compute_costs): Likewise.
* optabs.c (avoid_expensive_constant, prepare_cmp_insn,
lshift_cheap_p): Likewise.
* postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
try_replace_in_use, reload_cse_move2add): Likewise.
* reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
Likewise.
* simplify-rtx.c (simplify_binary_operation_1): Likewise.
* tree-ssa-loop-ivopts.c (computation_cost): Likewise.
* tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
* tree-switch-conversion.c (emit_case_bit_tests): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
add "mode" param.  Use "mode: in place of GET_MODE (x).  Pass mode
to rtx_cost calls.
* config/alpha/alpha.c (alpha_rtx_costs): Likewise.
* config/arc/arc.c (arc_rtx_costs): Likewise.
* config/arm/arm.c (arm_rtx_costs): Likewise.
* config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
* config/bfin/bfin.c (bfin_rtx_costs): Likewise.
* config/c6x/c6x.c (c6x_rtx_costs): Likewise.
* config/cris/cris.c (cris_rtx_costs): Likewise.
* config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
* config/frv/frv.c (frv_rtx_costs): Likewise.
* config/h8300/h8300.c (h8300_rtx_costs): Likewise.
* config/i386/i386.c (ix86_rtx_costs): Likewise.
* config/ia64/ia64.c (ia64_rtx_costs): Likewise.
* config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
* config/lm32/lm32.c (lm32_rtx_costs): Likewise.
* config/m32c/m32c.c (m32c_rtx_costs): Likewise.
* config/m32r/m32r.c (m32r_rtx_costs): Likewise.
* config/m68k/m68k.c (m68k_rtx_costs): Likewise.
* config/mcore/mcore.c (mcore_rtx_costs): Likewise.
* config/mep/mep.c (mep_rtx_cost): Likewise.
* config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
* config/mips/mips.c (mips_rtx_costs): Likewise.
* config/mmix/mmix.c (mmix_rtx_costs): Likewise.
* config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
* config/msp430/msp430.c (msp430_rtx_costs): Likewise.
* config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
* config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
* config/nds32/nds32.c (nds32_rtx_costs): Likewise.
* config/nios2/nios2.c (nios2_rtx_costs): Likewise.
* config/pa/pa.c (hppa_rtx_costs): Likewise.
* config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
* config/rl78/rl78.c (rl78_rtx_costs): Likewise.
* config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
* config/s390/s390.c (s390_rtx_costs): Likewise.
* config/sh/sh.c (sh_rtx_costs): Likewise.
* config/sparc/sparc.c (sparc_rtx_costs): Likewise.
* config/spu/spu.c (spu_rtx_costs): Likewise.
* config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
* config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
* config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
* config/v850/v850.c (v850_rtx_costs): Likewise.
* config/vax/vax.c (vax_rtx_costs): Likewise.
* config/visium/visium.c (visium_rtx_costs): Likewise.
* config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
* config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
"code" param, and pass as outer_code to first rtx_cost call.  Pass
mode to rtx_cost calls.
(aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
calls.
(aarch64_rtx_costs_wrapper): Update.
* config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
rtx_cost calls.
* config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
and rtx_cost calls.
(avr_operand_rtx_cost): Similarly.
(avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
* config/mips/mips.c (mips_stack_address_p): Comment typo.
(mips_binary_cost): Update rtx_cost and set_src_cost calls.
(mips_rtx_costs): Use GET_MODE (x) to detect const_int.
* config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
rtx_cost.
(mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
* config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
* config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
* doc/tm.texi: Regenerate.

From-SVN: r225532

9 years agotree-core.h: Include symtab.h.
Andrew MacLeod [Wed, 8 Jul 2015 00:53:03 +0000 (00:53 +0000)]
tree-core.h: Include symtab.h.

2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* tree-core.h: Include symtab.h.
* rtl.h: Include hard-reg-set.h but not flags.h.
(HARD_CONST): Remove condition compilation involving HARD_CONST since
hard-reg-set.h is always included.
* regs.h: Don't include hard-reg-set.h or rtl.h.
* cfg.h: Include dominance.h.
* gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
* backend.h: New.  Aggregate commonly used backend header files.
* gimple-ssa.h: Don't include tree-hasher.h.
* ssa.h: New.  Aggregate commonly used SSA header files.
* regset.h: Remove bitmap.h and hard-reg-set.h #includes.
* sel-sched-ir.h: Flatten includes.
* lra-int.h: Flatten completely.
* sel-sched-dump.h: Flatten includes.
* ira-int.h: Flatten includes.
* gimple-streamer.h: Remove all includes.
* cfgloop.h: Remove all #includes except cfgloopmanip.h.
* resource.h: Flatten hard-reg-set.h and df.h.
* sched-int.h: Flatten insn-arrt.h and df.h.
* valtrack.h: flatten bitmap.h, df.h, and rtl.h
* df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
* genattrtab.c (write_header): Adjust generated includes.
* genautomata.c (main): Likewise.
* genconditions.c (write-header): Likewise.
* genemit.c (main): Likewise.
* gengtype.c (open_base_files): Likewise.
* genopinit.c (main): Likewise.
* genoutput.c (output_prologue): Likewise.
* genpeep.c (main): Likewise.
* genpreds.c (write_insn_preds_c): Likewise.
* genrecog.c (write_header): Likewise.
* alias.c: Adjust includes.
* asan.c: Likewise.
* attribs.c: Likewise.
* auto-inc-dec.c: Likewise.
* auto-profile.c: Likewise.
* bb-reorder.c: Likewise.
* bt-load.c: Likewise.
* builtins.c: Likewise.
* caller-save.c: Likewise.
* calls.c: Likewise.
* ccmp.c: Likewise.
* cfg.c: Likewise.
* cfganal.c: Likewise.
* cfgbuild.c: Likewise.
* cfgcleanup.c: Likewise.
* cfgexpand.c: Likewise.
* cfghooks.c: Likewise.
* cfgloop.c: Likewise.
* cfgloopanal.c: Likewise.
* cfgloopmanip.c: Likewise.
* cfgrtl.c: Likewise.
* cgraph.c: Likewise.
* cgraphbuild.c: Likewise.
* cgraphclones.c: Likewise.
* cgraphunit.c: Likewise.
* cilk-common.c: Likewise.
* combine-stack-adj.c: Likewise.
* combine.c: Likewise.
* compare-elim.c: Likewise.
* convert.c: Likewise.
* coverage.c: Likewise.
* cppbuiltin.c: Likewise.
* cprop.c: Likewise.
* cse.c: Likewise.
* cselib.c: Likewise.
* data-streamer-in.c: Likewise.
* data-streamer-out.c: Likewise.
* data-streamer.c: Likewise.
* dbxout.c: Likewise.
* dce.c: Likewise.
* ddg.c: Likewise.
* debug.c: Likewise.
* df-core.c: Likewise.
* df-problems.c: Likewise.
* df-scan.c: Likewise.
* dfp.c: Likewise.
* dojump.c: Likewise.
* dominance.c: Likewise.
* domwalk.c: Likewise.
* double-int.c: Likewise.
* dse.c: Likewise.
* dumpfile.c: Likewise.
* dwarf2asm.c: Likewise.
* dwarf2cfi.c: Likewise.
* dwarf2out.c: Likewise.
* emit-rtl.c: Likewise.
* et-forest.c: Likewise.
* except.c: Likewise.
* explow.c: Likewise.
* expmed.c: Likewise.
* expr.c: Likewise.
* final.c: Likewise.
* fixed-value.c: Likewise.
* fold-const.c: Likewise.
* function.c: Likewise.
* fwprop.c: Likewise.
* gcc-plugin.h: Likewise.
* gcse-common.c: Likewise.
* gcse.c: Likewise.
* generic-match-head.c: Likewise.
* ggc-page.c: Likewise.
* gimple-builder.c: Likewise.
* gimple-expr.c: Likewise.
* gimple-fold.c: Likewise.
* gimple-iterator.c: Likewise.
* gimple-low.c: Likewise.
* gimple-match-head.c: Likewise.
* gimple-pretty-print.c: Likewise.
* gimple-ssa-isolate-paths.c: Likewise.
* gimple-ssa-strength-reduction.c: Likewise.
* gimple-streamer-in.c: Likewise.
* gimple-streamer-out.c: Likewise.
* gimple-walk.c: Likewise.
* gimple.c: Likewise.
* gimplify-me.c: Likewise.
* gimplify.c: Likewise.
* godump.c: Likewise.
* graph.c: Likewise.
* graphite-blocking.c: Likewise.
* graphite-dependences.c: Likewise.
* graphite-interchange.c: Likewise.
* graphite-isl-ast-to-gimple.c: Likewise.
* graphite-optimize-isl.c: Likewise.
* graphite-poly.c: Likewise.
* graphite-scop-detection.c: Likewise.
* graphite-sese-to-poly.c: Likewise.
* graphite.c: Likewise.
* haifa-sched.c: Likewise.
* hw-doloop.c: Likewise.
* ifcvt.c: Likewise.
* init-regs.c: Likewise.
* internal-fn.c: Likewise.
* ipa-chkp.c: Likewise.
* ipa-comdats.c: Likewise.
* ipa-cp.c: Likewise.
* ipa-devirt.c: Likewise.
* ipa-icf-gimple.c: Likewise.
* ipa-icf.c: Likewise.
* ipa-inline-analysis.c: Likewise.
* ipa-inline-transform.c: Likewise.
* ipa-inline.c: Likewise.
* ipa-polymorphic-call.c: Likewise.
* ipa-profile.c: Likewise.
* ipa-prop.c: Likewise.
* ipa-pure-const.c: Likewise.
* ipa-ref.c: Likewise.
* ipa-reference.c: Likewise.
* ipa-split.c: Likewise.
* ipa-utils.c: Likewise.
* ipa-visibility.c: Likewise.
* ipa.c: Likewise.
* ira-build.c: Likewise.
* ira-color.c: Likewise.
* ira-conflicts.c: Likewise.
* ira-costs.c: Likewise.
* ira-emit.c: Likewise.
* ira-lives.c: Likewise.
* ira.c: Likewise.
* jump.c: Likewise.
* langhooks.c: Likewise.
* lcm.c: Likewise.
* loop-doloop.c: Likewise.
* loop-init.c: Likewise.
* loop-invariant.c: Likewise.
* loop-iv.c: Likewise.
* loop-unroll.c: Likewise.
* lower-subreg.c: Likewise.
* lra-assigns.c: Likewise.
* lra-coalesce.c: Likewise.
* lra-constraints.c: Likewise.
* lra-eliminations.c: Likewise.
* lra-lives.c: Likewise.
* lra-remat.c: Likewise.
* lra-spills.c: Likewise.
* lra.c: Likewise.
* lto-cgraph.c: Likewise.
* lto-compress.c: Likewise.
* lto-opts.c: Likewise.
* lto-section-in.c: Likewise.
* lto-section-out.c: Likewise.
* lto-streamer-in.c: Likewise.
* lto-streamer-out.c: Likewise.
* lto-streamer.c: Likewise.
* mcf.c: Likewise.
* mode-switching.c: Likewise.
* modulo-sched.c: Likewise.
* omega.c: Likewise.
* omp-low.c: Likewise.
* optabs.c: Likewise.
* opts-global.c: Likewise.
* passes.c: Likewise.
* plugin.c: Likewise.
* postreload-gcse.c: Likewise.
* postreload.c: Likewise.
* predict.c: Likewise.
* print-rtl.c: Likewise.
* print-tree.c: Likewise.
* profile.c: Likewise.
* real.c: Likewise.
* realmpfr.c: Likewise.
* recog.c: Likewise.
* ree.c: Likewise.
* reg-stack.c: Likewise.
* regcprop.c: Likewise.
* reginfo.c: Likewise.
* regrename.c: Likewise.
* regstat.c: Likewise.
* reload.c: Likewise.
* reload1.c: Likewise.
* reorg.c: Likewise.
* resource.c: Likewise.
* rtl-chkp.c: Likewise.
* rtlanal.c: Likewise.
* rtlhooks.c: Likewise.
* sanopt.c: Likewise.
* sched-deps.c: Likewise.
* sched-ebb.c: Likewise.
* sched-rgn.c: Likewise.
* sched-vis.c: Likewise.
* sdbout.c: Likewise.
* sel-sched-dump.c: Likewise.
* sel-sched-ir.c: Likewise.
* sel-sched.c: Likewise.
* sese.c: Likewise.
* shrink-wrap.c: Likewise.
* simplify-rtx.c: Likewise.
* stack-ptr-mod.c: Likewise.
* stmt.c: Likewise.
* stor-layout.c: Likewise.
* store-motion.c: Likewise.
* stringpool.c: Likewise.
* symtab.c: Likewise.
* target-globals.c: Likewise.
* targhooks.c: Likewise.
* toplev.c: Likewise.
* tracer.c: Likewise.
* trans-mem.c: Likewise.
* tree-affine.c: Likewise.
* tree-browser.c: Likewise.
* tree-call-cdce.c: Likewise.
* tree-cfg.c: Likewise.
* tree-cfgcleanup.c: Likewise.
* tree-chkp-opt.c: Likewise.
* tree-chkp.c: Likewise.
* tree-chrec.c: Likewise.
* tree-complex.c: Likewise.
* tree-data-ref.c: Likewise.
* tree-dfa.c: Likewise.
* tree-diagnostic.c: Likewise.
* tree-dump.c: Likewise.
* tree-eh.c: Likewise.
* tree-emutls.c: Likewise.
* tree-if-conv.c: Likewise.
* tree-inline.c: Likewise.
* tree-into-ssa.c: Likewise.
* tree-iterator.c: Likewise.
* tree-loop-distribution.c: Likewise.
* tree-nested.c: Likewise.
* tree-nrv.c: Likewise.
* tree-object-size.c: Likewise.
* tree-outof-ssa.c: Likewise.
* tree-parloops.c: Likewise.
* tree-phinodes.c: Likewise.
* tree-predcom.c: Likewise.
* tree-pretty-print.c: Likewise.
* tree-profile.c: Likewise.
* tree-scalar-evolution.c: Likewise.
* tree-sra.c: Likewise.
* tree-ssa-address.c: Likewise.
* tree-ssa-alias.c: Likewise.
* tree-ssa-ccp.c: Likewise.
* tree-ssa-coalesce.c: Likewise.
* tree-ssa-copy.c: Likewise.
* tree-ssa-copyrename.c: Likewise.
* tree-ssa-dce.c: Likewise.
* tree-ssa-dom.c: Likewise.
* tree-ssa-dse.c: Likewise.
* tree-ssa-forwprop.c: Likewise.
* tree-ssa-ifcombine.c: Likewise.
* tree-ssa-live.c: Likewise.
* tree-ssa-loop-ch.c: Likewise.
* tree-ssa-loop-im.c: Likewise.
* tree-ssa-loop-ivcanon.c: Likewise.
* tree-ssa-loop-ivopts.c: Likewise.
* tree-ssa-loop-manip.c: Likewise.
* tree-ssa-loop-niter.c: Likewise.
* tree-ssa-loop-prefetch.c: Likewise.
* tree-ssa-loop-unswitch.c: Likewise.
* tree-ssa-loop.c: Likewise.
* tree-ssa-math-opts.c: Likewise.
* tree-ssa-operands.c: Likewise.
* tree-ssa-phiopt.c: Likewise.
* tree-ssa-phiprop.c: Likewise.
* tree-ssa-pre.c: Likewise.
* tree-ssa-propagate.c: Likewise.
* tree-ssa-reassoc.c: Likewise.
* tree-ssa-sccvn.c: Likewise.
* tree-ssa-scopedtables.c: Likewise.
* tree-ssa-sink.c: Likewise.
* tree-ssa-strlen.c: Likewise.
* tree-ssa-structalias.c: Likewise.
* tree-ssa-tail-merge.c: Likewise.
* tree-ssa-ter.c: Likewise.
* tree-ssa-threadedge.c: Likewise.
* tree-ssa-threadupdate.c: Likewise.
* tree-ssa-uncprop.c: Likewise.
* tree-ssa-uninit.c: Likewise.
* tree-ssa.c: Likewise.
* tree-ssanames.c: Likewise.
* tree-stdarg.c: Likewise.
* tree-streamer-in.c: Likewise.
* tree-streamer-out.c: Likewise.
* tree-streamer.c: Likewise.
* tree-switch-conversion.c: Likewise.
* tree-tailcall.c: Likewise.
* tree-vect-data-refs.c: Likewise.
* tree-vect-generic.c: Likewise.
* tree-vect-loop-manip.c: Likewise.
* tree-vect-loop.c: Likewise.
* tree-vect-patterns.c: Likewise.
* tree-vect-slp.c: Likewise.
* tree-vect-stmts.c: Likewise.
* tree-vectorizer.c: Likewise.
* tree-vrp.c: Likewise.
* tree.c: Likewise.
* tsan.c: Likewise.
* ubsan.c: Likewise.
* valtrack.c: Likewise.
* value-prof.c: Likewise.
* var-tracking.c: Likewise.
* varasm.c: Likewise.
* varpool.c: Likewise.
* vmsdbgout.c: Likewise.
* vtable-verify.c: Likewise.
* web.c: Likewise.
* wide-int.cc: Likewise.
* xcoffout.c: Likewise.
* config/aarch64/aarch64-builtins.c: Likewise.
* config/aarch64/aarch64.c: Likewise.
* config/aarch64/cortex-a57-fma-steering.c: Likewise.
* config/alpha/alpha.c: Likewise.
* config/arc/arc.c: Likewise.
* config/arm/aarch-common.c: Likewise.
* config/arm/arm-builtins.c: Likewise.
* config/arm/arm-c.c: Likewise.
* config/arm/arm.c: Likewise.
* config/avr/avr-c.c: Likewise.
* config/avr/avr-log.c: Likewise.
* config/avr/avr.c: Likewise.
* config/bfin/bfin.c: Likewise.
* config/c6x/c6x.c: Likewise.
* config/cr16/cr16.c: Likewise.
* config/cris/cris.c: Likewise.
* config/darwin-c.c: Likewise.
* config/darwin.c: Likewise.
* config/epiphany/epiphany.c: Likewise.
* config/epiphany/mode-switch-use.c: Likewise.
* config/epiphany/resolve-sw-modes.c: Likewise.
* config/fr30/fr30.c: Likewise.
* config/frv/frv.c: Likewise.
* config/ft32/ft32.c: Likewise.
* config/h8300/h8300.c: Likewise.
* config/i386/i386-c.c: Likewise.
* config/i386/i386.c: Likewise.
* config/i386/msformat-c.c: Likewise.
* config/i386/winnt-cxx.c: Likewise.
* config/i386/winnt-stubs.c: Likewise.
* config/i386/winnt.c: Likewise.
* config/ia64/ia64-c.c: Likewise.
* config/ia64/ia64.c: Likewise.
* config/iq2000/iq2000.c: Likewise.
* config/lm32/lm32.c: Likewise.
* config/m32c/m32c-pragma.c: Likewise.
* config/m32c/m32c.c: Likewise.
* config/m32r/m32r.c: Likewise.
* config/m68k/m68k.c: Likewise.
* config/mcore/mcore.c: Likewise.
* config/mep/mep-pragma.c: Likewise.
* config/mep/mep.c: Likewise.
* config/microblaze/microblaze-c.c: Likewise.
* config/microblaze/microblaze.c: Likewise.
* config/mips/mips.c: Likewise.
* config/mmix/mmix.c: Likewise.
* config/mn10300/mn10300.c: Likewise.
* config/moxie/moxie.c: Likewise.
* config/msp430/msp430-c.c: Likewise.
* config/msp430/msp430.c: Likewise.
* config/nds32/nds32-cost.c: Likewise.
* config/nds32/nds32-fp-as-gp.c: Likewise.
* config/nds32/nds32-intrinsic.c: Likewise.
* config/nds32/nds32-isr.c: Likewise.
* config/nds32/nds32-md-auxiliary.c: Likewise.
* config/nds32/nds32-memory-manipulation.c: Likewise.
* config/nds32/nds32-pipelines-auxiliary.c: Likewise.
* config/nds32/nds32-predicates.c: Likewise.
* config/nds32/nds32.c: Likewise.
* config/nios2/nios2.c: Likewise.
* config/nvptx/nvptx.c: Likewise.
* config/pa/pa.c: Likewise.
* config/pdp11/pdp11.c: Likewise.
* config/rl78/rl78-c.c: Likewise.
* config/rl78/rl78.c: Likewise.
* config/rs6000/rs6000-c.c: Likewise.
* config/rs6000/rs6000.c: Likewise.
* config/rx/rx.c: Likewise.
* config/s390/s390-c.c: Likewise.
* config/s390/s390.c: Likewise.
* config/sh/sh-c.c: Likewise.
* config/sh/sh-mem.cc: Likewise.
* config/sh/sh.c: Likewise.
* config/sh/sh_optimize_sett_clrt.cc: Likewise.
* config/sh/sh_treg_combine.cc: Likewise.
* config/sol2-c.c: Likewise.
* config/sol2-cxx.c: Likewise.
* config/sol2-stubs.c: Likewise.
* config/sol2.c: Likewise.
* config/sparc/sparc-c.c: Likewise.
* config/sparc/sparc.c: Likewise.
* config/spu/spu-c.c: Likewise.
* config/spu/spu.c: Likewise.
* config/stormy16/stormy16.c: Likewise.
* config/tilegx/mul-tables.c: Likewise.
* config/tilegx/tilegx-c.c: Likewise.
* config/tilegx/tilegx.c: Likewise.
* config/tilepro/mul-tables.c: Likewise.
* config/tilepro/tilepro-c.c: Likewise.
* config/tilepro/tilepro.c: Likewise.
* config/v850/v850-c.c: Likewise.
* config/v850/v850.c: Likewise.
* config/vax/vax.c: Likewise.
* config/visium/visium.c: Likewise.
* config/vms/vms-c.c: Likewise.
* config/vms/vms.c: Likewise.
* config/vxworks.c: Likewise.
* config/xtensa/xtensa.c: Likewise.

ada
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* gcc-interface/cuintp.c: Adjust includes.
* gcc-interface/decl.c: Likewise.
* gcc-interface/misc.c: Likewise.
* gcc-interface/targtyps.c: Likewise.
* gcc-interface/trans.c: Likewise.
* gcc-interface/utils.c: Likewise.
* gcc-interface/utils2.c: Likewise.

c
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* c-array-notation.c: Adjust includes.
* c-aux-info.c: Likewise.
* c-convert.c: Likewise.
* c-decl.c: Likewise.
* c-errors.c: Likewise.
* c-lang.c: Likewise.
* c-objc-common.c: Likewise.
* c-parser.c: Likewise.
* c-typeck.c: Likewise.

c-family
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* array-notation-common.c: Adjust includes.
* c-ada-spec.c: Likewise.
* c-cilkplus.c: Likewise.
* c-common.h: Likewise.
* c-cppbuiltin.c: Likewise.
* c-dump.c: Likewise.
* c-format.c: Likewise.
* c-gimplify.c: Likewise.
* c-indentation.c: Likewise.
* c-lex.c: Likewise.
* c-omp.c: Likewise.
* c-opts.c: Likewise.
* c-pch.c: Likewise.
* c-ppoutput.c: Likewise.
* c-pragma.c: Likewise.
* c-pretty-print.c: Likewise.
* c-semantics.c: Likewise.
* c-ubsan.c: Likewise.
* cilk.c: Likewise.
* stub-objc.c: Likewise.

cp
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* call.c: Adjust includes.
* class.c: Likewise.
* constexpr.c: Likewise.
* cp-array-notation.c: Likewise.
* cp-gimplify.c: Likewise.
* cp-lang.c: Likewise.
* cp-objcp-common.c: Likewise.
* cp-ubsan.c: Likewise.
* cvt.c: Likewise.
* decl.c: Likewise.
* decl2.c: Likewise.
* dump.c: Likewise.
* error.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* friend.c: Likewise.
* init.c: Likewise.
* lambda.c: Likewise.
* lex.c: Likewise.
* mangle.c: Likewise.
* method.c: Likewise.
* name-lookup.c: Likewise.
* optimize.c: Likewise.
* parser.c: Likewise.
* pt.c: Likewise.
* ptree.c: Likewise.
* repo.c: Likewise.
* rtti.c: Likewise.
* search.c: Likewise.
* semantics.c: Likewise.
* tree.c: Likewise.
* typeck.c: Likewise.
* typeck2.c: Likewise.

fortran
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* convert.c: Adjust includes.
* cpp.c: Likewise.
* decl.c: Likewise.
* f95-lang.c: Likewise.
* iresolve.c: Likewise.
* match.c: Likewise.
* module.c: Likewise.
* options.c: Likewise.
* target-memory.c: Likewise.
* trans-array.c: Likewise.
* trans-common.c: Likewise.
* trans-const.c: Likewise.
* trans-decl.c: Likewise.
* trans-expr.c: Likewise.
* trans-intrinsic.c: Likewise.
* trans-io.c: Likewise.
* trans-openmp.c: Likewise.
* trans-stmt.c: Likewise.
* trans-types.c: Likewise.
* trans.c: Likewise.

go
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* go-backend.c: Adjust includes.
* go-gcc.cc: Likewise.
* go-lang.c: Likewise.

java
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* boehm.c: Adjust includes.
* builtins.c: Likewise.
* class.c: Likewise.
* constants.c: Likewise.
* decl.c: Likewise.
* except.c: Likewise.
* expr.c: Likewise.
* java-gimplify.c: Likewise.
* jcf-dump.c: Likewise.
* jcf-io.c: Likewise.
* jcf-parse.c: Likewise.
* jvgenmain.c: Likewise.
* lang.c: Likewise.
* mangle.c: Likewise.
* mangle_name.c: Likewise.
* resource.c: Likewise.
* typeck.c: Likewise.
* verify-glue.c: Likewise.

jit
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* dummy-frontend.c: Adjust includes.
* jit-common.h: Likewise.
* jit-playback.c: Likewise.

lto
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* lto-lang.c: Adjust includes.
* lto-object.c: Likewise.
* lto-partition.c: Likewise.
* lto-symtab.c: Likewise.
* lto.c: Likewise.

objc
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* objc-act.c: Adjust includes.
* objc-encoding.c: Likewise.
* objc-gnu-runtime-abi-01.c: Likewise.
* objc-lang.c: Likewise.
* objc-map.c: Likewise.
* objc-next-runtime-abi-01.c: Likewise.
* objc-next-runtime-abi-02.c: Likewise.
* objc-runtime-shared-support.c: Likewise.

objcp
2015-07-07  Andrew MacLeod  <amacleod@redhat.com>

* objcp-decl.c: Adjust includes.
* objcp-lang.c: Likewise.

From-SVN: r225531

9 years agoDaily bump.
GCC Administrator [Wed, 8 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225530

9 years agoi386.md (*jcc_bt<mode>): Only split before reload.
Uros Bizjak [Tue, 7 Jul 2015 21:03:02 +0000 (23:03 +0200)]
i386.md (*jcc_bt<mode>): Only split before reload.

* config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
Remove operand constraints.  Change operand 2 predicate to
nonmemory operand.  Limit const_int values to mode bitsize.  Only
allow const_int values less than 32 when optimizing for size.
(*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
Remove operand constraints.
(*bt<mode>): Use SImode for const_int values less than 32.
(regmode): Remove mode attribute.

testsuite/ChangeLog:

* gcc.target/i386/bt-3.c: New test.
* gcc.target/i386/bt-4.c: Ditto.

From-SVN: r225527

9 years agoc-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
Eric Botcazou [Tue, 7 Jul 2015 20:13:59 +0000 (20:13 +0000)]
c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.

c-family/
* c-ada-spec.h (cpp_operation): Add IS_MOVE_CONSTRUCTOR.
* c-ada-spec.c (print_ada_declaration): Skip move constructors.
cp/
* decl2.c (cpp_check): Deal with IS_MOVE_CONSTRUCTOR.

From-SVN: r225525

9 years ago[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS
Anatoly Sokolov [Tue, 7 Jul 2015 19:46:14 +0000 (22:46 +0300)]
[MOXIE] Hookize GO_IF_LEGITIMATE_ADDRESS

From-SVN: r225524

9 years agoPR jit/66783: prevent use of opaque structs
David Malcolm [Tue, 7 Jul 2015 19:29:58 +0000 (19:29 +0000)]
PR jit/66783: prevent use of opaque structs

gcc/jit/ChangeLog:
PR jit/66783
* jit-recording.h: Within namespace gcc:jit::recording...
(type::has_known_size): New virtual function.
(struct_has_known_size): New function.
* libgccjit.c (gcc_jit_context_new_field): Verify that the type
has a known size.
(gcc_jit_context_new_global): Likewise.
(gcc_jit_function_new_local): Likewise.

gcc/testsuite/ChangeLog:
PR jit/66783
* jit.dg/test-error-gcc_jit_context_new_field-opaque-struct.c: New
test case.
* jit.dg/test-error-gcc_jit_context_new_global-opaque-struct.c:
New test case.
* jit.dg/test-error-gcc_jit_function_new_local-opaque-struct.c:
New test case.
* jit.dg/test-error-mismatching-types-in-call.c (create_code):
Avoid using an opaque struct for local "f".

From-SVN: r225523

9 years agoPR jit/66779: fix segfault
David Malcolm [Tue, 7 Jul 2015 19:22:01 +0000 (19:22 +0000)]
PR jit/66779: fix segfault

gcc/jit/ChangeLog:
PR jit/66779
* dummy-frontend.c (jit_langhook_type_for_mode): Ensure that we
handle modes QI, HI, SI, DI, TI.

gcc/testsuite/ChangeLog:
PR jit/66779
* jit.dg/all-non-failing-tests.h: Add test-pr66779.c.
* jit.dg/test-pr66779.c: New testcase.

From-SVN: r225522

9 years agoAdd empty loop exit block in transform_to_exit_first_loop_alt
Tom de Vries [Tue, 7 Jul 2015 16:25:22 +0000 (16:25 +0000)]
Add empty loop exit block in transform_to_exit_first_loop_alt

2015-07-07  Tom de Vries  <tom@codesourcery.com>

PR tree-optimization/66642
* tree-parloops.c (transform_to_exit_first_loop_alt): Update function
header comment.  Rename split_edge variable to edge_at_split.  Split
exit edge to create new loop exit bb.  Insert loop exit phis in new loop
exit bb.

* testsuite/libgomp.c/parloops-exit-first-loop-alt-3.c (main): Test low
iteration count case.
* testsuite/libgomp.c/parloops-exit-first-loop-alt.c (init): New
function, factor out of ...
(main): ... here.  Test low iteration count case.

From-SVN: r225521

9 years agoAdd rewrite_virtuals_into_loop_closed_ssa
Tom de Vries [Tue, 7 Jul 2015 16:25:12 +0000 (16:25 +0000)]
Add rewrite_virtuals_into_loop_closed_ssa

2015-07-07  Tom de Vries  <tom@codesourcery.com>

* tree-cfg.c (get_virtual_phi): New function.
* tree-cfg.h (get_virtual_phi): Declare.
* tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
(rewrite_virtuals_into_loop_closed_ssa): New function.
* tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
Declare.
* tree-parloops.c (replace_uses_in_bbs_by): Remove.
(transform_to_exit_first_loop_alt): Use
rewrite_virtuals_into_loop_closed_ssa.

From-SVN: r225520

9 years agoMIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase
Andrew Bennett [Tue, 7 Jul 2015 16:07:51 +0000 (16:07 +0000)]
MIPS: Do not generate micromips code for the no-smartmips-lwxs.c testcase

The LWXS instruction is part of the micromips ISA which means it is
valid to generate it for the no-smartmips-lwxs.c testcase.

testsuite/
* gcc.target/mips/no-smartmips-lwxs.c: Change NOMIPS16 to
NOCOMPRESSION.

From-SVN: r225519

9 years agofold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplif...
Richard Biener [Tue, 7 Jul 2015 14:12:44 +0000 (14:12 +0000)]
fold-const.c (fold_binary_loc): Move (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...

2015-07-07  Richard Biener  <rguenther@suse.de>

* fold-const.c (fold_binary_loc): Move
(X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
* match.pd: ... here.
Add (X * C1) % C2 -> 0 simplification pattern derived from
extract_muldiv_1.

* gcc.dg/vect/vect-over-widen-3-big-array.c: Adjust.

From-SVN: r225517

9 years agoMIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when...
Andrew Bennett [Tue, 7 Jul 2015 14:01:53 +0000 (14:01 +0000)]
MIPS: Fix the call-[1,5,6].c tests to allow the jrc instruction to be matched when testing with microMIPS.

When building the call-[1,5,6].c tests for micromips the jrc rather than the
jr instruction is used to call the tail* functions.

testsuite/
* gcc.target/mips/call-1.c: Allow testcase to match the jrc instruction.
* gcc.target/mips/call-5.c: Ditto.
* gcc.target/mips/call-6.c: Ditto.

From-SVN: r225516

9 years agore PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)
Kaz Kojima [Tue, 7 Jul 2015 12:29:16 +0000 (12:29 +0000)]
re PR target/66780 (Compiling with -fstack-protector-strong causes binary to segfault)

PR target/66780
* config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03 change for target/65249.

From-SVN: r225512

9 years agosymtab.c (address_matters_1): Fix typo in comment above.
Paulo Matos [Tue, 7 Jul 2015 11:25:35 +0000 (11:25 +0000)]
symtab.c (address_matters_1): Fix typo in comment above.

2015-07-07  Paulo Matos  <pmatos@broadcom.com>

* symtab.c (address_matters_1): Fix typo in comment above.
(can_increase_alignment_p): Likewise.

From-SVN: r225509

9 years agofunction.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
Prathamesh Kulkarni [Tue, 7 Jul 2015 11:19:27 +0000 (11:19 +0000)]
function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.

2015-07-07  Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

* function.c (free_after_compilation): Clear PROP_cfg in f->curr_properties.
testsuite/
* gcc.dg/dx-test.c: New test-case.

From-SVN: r225508

9 years agore PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)
Andre Vehreschild [Tue, 7 Jul 2015 11:10:12 +0000 (13:10 +0200)]
re PR fortran/66578 ([F2008] Invalid free on allocate(...,source=a(:)) in block)

gcc/testsuite/ChangeLog:

2015-07-07  Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66578
* gfortran.dg/allocate_with_source_9.f08: New test.

gcc/fortran/ChangeLog:

2015-07-07  Mikael Morin  <mikael@gcc.gnu.org>
    Andre Vehreschild  <vehre@gcc.gnu.org>

PR fortran/66578
* trans-array.c (gfc_conv_expr_descriptor): Ensure array descriptor
is one-based for non-full array refs. Correct the offset when a
rank_remap occurs.

From-SVN: r225507

9 years agotree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.
Richard Biener [Tue, 7 Jul 2015 07:59:40 +0000 (07:59 +0000)]
tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we add which use to.

2015-07-07  Richard Biener  <rguenther@suse.de>

* tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
add which use to.
(add_control_edge): Remove excessive vertical space in dumping.
(process_ssa_edge_worklist): Simulate at most one statement and
return whether we did.  Do not simulate PHIs if they are in a
BB not yet simulated.
(ssa_propagate): Adjust to always drain the BB worklist whenever
a BB is available there, likewise the VARYING edges list before
the interesting edge list.

From-SVN: r225504

9 years agoCleanup arch file directive.
Christian Bruel [Tue, 7 Jul 2015 07:56:10 +0000 (09:56 +0200)]
Cleanup arch file directive.

PR target/52144
* config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.

PR target/52144
* gcc.target/arm/flip-thumb.c: Fix scan.
* gcc.target/arm/attr_thumb.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_arm.c: Test for all targets. Fix scan.
* gcc.target/arm/attr_thumb-static.c: Test for all targets.
Fix return value.

From-SVN: r225503

9 years agore PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs...
Richard Biener [Tue, 7 Jul 2015 07:46:57 +0000 (07:46 +0000)]
re PR tree-optimization/66739 (FAIL: gcc.target/aarch64/subs.c scan-assembler subs\tw[0-9])

2015-07-07  Richard Biener  <rguenther@suse.de>

PR middle-end/66739
* match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
A - B.

From-SVN: r225502

9 years agoDaily bump.
GCC Administrator [Tue, 7 Jul 2015 00:16:11 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225501

9 years agopt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template...
Jason Merrill [Mon, 6 Jul 2015 22:13:42 +0000 (18:13 -0400)]
pt.c (reduce_template_parm_level): Also build the TYPE_DECL for a template template parameter.

* pt.c (reduce_template_parm_level): Also build the TYPE_DECL
for a template template parameter.
(tsubst_decl) [TEMPLATE_DECL]: Use the TEMPLATE_DECL built
by reduce_template_parm_level.

From-SVN: r225495

9 years agopt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.
Jason Merrill [Mon, 6 Jul 2015 22:13:37 +0000 (18:13 -0400)]
pt.c (argument_pack_element_is_expansion_p): A decl pack is an expansion.

* pt.c (argument_pack_element_is_expansion_p): A decl pack is an
expansion.

From-SVN: r225494

9 years agoi386.md (insv<mode>): Rename from insv.
Uros Bizjak [Mon, 6 Jul 2015 21:26:12 +0000 (23:26 +0200)]
i386.md (insv<mode>): Rename from insv.

* config/i386/i386.md (insv<mode>): Rename from insv.  Use SWI48
modes for operands 0 and 3.  Use SImode for operands 2 and 3.
Copy operand 0 to a temporary if !ext_register_operand.  Remove
ancient extract_bit_field workaround.
(insv<mode>_1): Rename from mov<mode>_insv_1.
(*insvqi): Rename from *movqi_insv_2.
* config/i386/i386.c (emit_i386_cw_initialization): Update calls
for renamed insvsi_1.
(promote_duplicated_reg): Ditto for renamed insv<mode>_1.

From-SVN: r225484

9 years agonvptx.c (nvptx_reorg): Remove unused vars.
Nathan Sidwell [Mon, 6 Jul 2015 20:53:34 +0000 (20:53 +0000)]
nvptx.c (nvptx_reorg): Remove unused vars.

* config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars.  Fix
call to nvptx_reorg_subreg.

From-SVN: r225481

9 years ago* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.
John Marino [Mon, 6 Jul 2015 20:51:40 +0000 (20:51 +0000)]
* s-oscons-tmplt.c: Add support for DragonFly alongside FreeBSD.

From-SVN: r225480

9 years agographite-blocking.c (HAVE_isl): Include <stddef.h>.
Jim Wilson [Mon, 6 Jul 2015 20:37:44 +0000 (20:37 +0000)]
graphite-blocking.c (HAVE_isl): Include <stddef.h>.

gcc/
* graphite-blocking.c (HAVE_isl): Include <stddef.h>.
* graphite-dependencies.c, graphite-interchange.c,
graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
Likewise.

From-SVN: r225478

9 years agomatch.pd: Remove element_mode inside HONOR_*.
Marc Glisse [Mon, 6 Jul 2015 18:19:41 +0000 (20:19 +0200)]
match.pd: Remove element_mode inside HONOR_*.

2015-07-06  Marc Glisse  <marc.glisse@inria.fr>

* match.pd: Remove element_mode inside HONOR_*.
(~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
(~X | X -> -1, ~X ^ X -> -1): Merge.
* tree.c (build_each_one_cst): New function.
* tree.h (build_each_one_cst): Likewise.

From-SVN: r225473

9 years agoHandle PROCESSOR_IAMCU in ix86_target_macros_internal
H.J. Lu [Mon, 6 Jul 2015 17:51:12 +0000 (10:51 -0700)]
Handle PROCESSOR_IAMCU in ix86_target_macros_internal

Define __i586__/__pentium__ for -march=iamcu and __tune_iamcu__ for
-mtune=iamcu.

* config/i386/i386-c.c (ix86_target_macros_internal): Handle
PROCESSOR_IAMCU.

From-SVN: r225471

9 years agoconfig.gcc: Add fused-madd.opt.
Steve Ellcey [Mon, 6 Jul 2015 17:29:33 +0000 (17:29 +0000)]
config.gcc: Add fused-madd.opt.

2015-07-06  Steve Ellcey  <sellcey@imgtec.com>

* config.gcc <mips*-*-*>: Add fused-madd.opt.
* config/mips/mips.opt (mfused-madd): Remove.
* config/mips/mips.c (mips_rtx_costs): Update cost calculations.
* config/mips/mips.h (TARGET_MIPS8000): New.
(ISA_HAS_FP_MADD4_MSUB4): Remove.
(ISA_HAS_FP_MADDF_MSUBF): Remove.
(ISA_HAS_FP_MADD3_MSUB3): Remove.
(ISA_HAS_NMADD4_NMSUB4): Remove.
(ISA_HAS_NMADD3_NMSUB3): Remove.
(ISA_HAS_FUSED_MADD4): New.
(ISA_HAS_UNFUSED_MADD4): New.
(ISA_HAS_FUSED_MADDF): New.
(ISA_HAS_FUSED_MADD3): New.
* config/mips/mips.md: (fma<mode>4) Change from insn to expand.
(*fma<mode>4_madd3) New.
(*fma<mode>4_madd4) New.
(*fma<mode>4_maddf) New.
(fms<mode>4) New.
(*fms<mode>4_msub3) New.
(*fms<mode>4_msub4) New.
(fnma<mode>4) New.
(*fnma<mode>4_nmadd3) New.
(*fnma<mode>4_nmadd4) New.
(fnms<mode>4) New.
(*fnms<mode>4_nmsub3) New.
(*fnms<mode>4_nmsub4) New.
(*madd4<mode>) Modify to be unfused only.
(*msub4<mode>) Modify to be unfused only.
(*nmadd4<mode>) Modify to be unfused only.
(*nmsub4<mode>) Modify to be unfused only.
(*madd3<mode>) Remove.
(*msub3<mode>) Remove.
(*nmadd3<mode>) Remove.
(*nmsub3<mode>) Remove.
(*nmadd3<mode>_fastmath) Remove.
(*nmsub3<mode>_fastmath) Remove.
(*nmadd4<mode>_fastmath) Update condition.
(*nmsub4<mode>_fastmath) Update condition.

From-SVN: r225468

9 years agoFix eipa_src AAPCS issue (PR target/65956)
Jakub Jelinek [Mon, 6 Jul 2015 17:06:00 +0000 (19:06 +0200)]
Fix eipa_src AAPCS issue (PR target/65956)

2015-05-05  Jakub Jelinek  <jakub@redhat.com>

PR target/65956
* gcc.c-torture/execute/pr65956.c: New test.

From-SVN: r225466

9 years ago[ARM] PR/65956 AAPCS update for alignment attribute
Alan Lawrence [Mon, 6 Jul 2015 16:58:16 +0000 (16:58 +0000)]
[ARM] PR/65956 AAPCS update for alignment attribute

gcc/:
PR target/65956
* config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
alignment attribute, exploring one level down for records and arrays.

gcc/testsuite/:

* gcc.target/arm/aapcs/align1.c: New.
* gcc.target/arm/aapcs/align_rec1.c: New.
* gcc.target/arm/aapcs/align2.c: New.
* gcc.target/arm/aapcs/align_rec2.c: New.
* gcc.target/arm/aapcs/align3.c: New.
* gcc.target/arm/aapcs/align_rec3.c: New.
* gcc.target/arm/aapcs/align4.c: New.
* gcc.target/arm/aapcs/align_rec4.c: New.
* gcc.target/arm/aapcs/align_vararg1.c: New.
* gcc.target/arm/aapcs/align_vararg2.c: New.

From-SVN: r225465

9 years agoOptimize i?86-*-elfiamcu for iamcu by default
H.J. Lu [Mon, 6 Jul 2015 16:56:11 +0000 (09:56 -0700)]
Optimize i?86-*-elfiamcu for iamcu by default

Default -mtune=/-march= to iamcu for i[34567]86-*-elfiamcu targets.

* config.gcc (x86_archs): Add iamcu.
(with_cpu): Default to iamcu for i[34567]86-*-elfiamcu.
(with_arch): Likewise.
* doc/invoke.texi: Add iamcu.

From-SVN: r225464

9 years agoi386.md (extv<mode>): Rename from extv.
Uros Bizjak [Mon, 6 Jul 2015 16:43:33 +0000 (18:43 +0200)]
i386.md (extv<mode>): Rename from extv.

* config/i386/i386.md (extv<mode>): Rename from extv.  Use SWI24
modes for operands 0 and 1.  Use SImode for operands 2 and 3.
Copy operand 1 to a temporary if !ext_register_operand.  Remove
ancient extract_bit_field workaround.
(*extv<mode>): Rename from *mov<mode>_extv_1.
(*extvqi): Rename from *movqi_extv_q.
(extzv<mode>): Rename from extzv.  Use SWI248 modes for
operands 0 and 1.  Use SImode for operands 2 and 3. Copy operand 1
to a temporary if !ext_register_operand.  Remove ancient
extract_bit_field workaround.
(*extzv<mode>): Rename from *mov<mode>_extzv_1.
(*extzvqi): Rename from *movqi_extzv_1.
(*testqi_ext_3): Remove modes from const_int_operand predicated
operands.  Add "n" constraint.
(*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
operand.  Add "J" constraint.
(*btsq, *btrq, *btcq peephole2s): Remove mode from
const_0_to_63 predicated operand.
(regmode): New insn attribute.
(*bt<mode>): Use SImode for operand 1.  Change operand 1 predicate
to nonmemory_operand.  Use regmode insn attribute.
(*jcc_bt<mode>_1): Convert operand 2 to SImode.
(*jcc_bt<mode>_mask): Remove mode from operand 3.
(*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
(tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
operands.  Use "N" constraint instead of "n".

From-SVN: r225463

9 years agoio.c (check_char_variable): New function.
Steven G. Kargl [Mon, 6 Jul 2015 16:33:38 +0000 (16:33 +0000)]
io.c (check_char_variable): New function.

2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>

* io.c (check_char_variable): New function.
(match_open_element, match_close_element, match_file_element,
match_dt_element, match_inquire_element, match_wait_element): Use it.

2015-07-06  Steven G. Kargl  <kargl@gcc.gnu.org>

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

From-SVN: r225462

9 years ago[ARM] fix movdi expander to avoid illegal ldrd/strd
Alan Lawrence [Mon, 6 Jul 2015 16:21:55 +0000 (16:21 +0000)]
[ARM] fix movdi expander to avoid illegal ldrd/strd

        * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.

From-SVN: r225461

9 years agoAdd -march=iamcu to optimize for IA MCU
H.J. Lu [Mon, 6 Jul 2015 15:17:44 +0000 (08:17 -0700)]
Add -march=iamcu to optimize for IA MCU

IA MCU is based on Intel Pentium ISA without x87 and passing parameters
in registers.  We want to optimize for IA MCU without changing existing
Pentium codegen.  This patch adds PROCESSOR_IAMCU for -march=iamcu,
which is based on -march=pentium with updated cost tables.

gcc/

PR target/66749
* config/i386/i386.c (iamcu_cost): New.
(m_IAMCU): Likewise.
(initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
(processor_target_table): Add an entry for "iamcu".
(processor_alias_table): Likewise.
(ix86_issue_rate): Handle PROCESSOR_IAMCU.
(ix86_adjust_cost): Likewise.
(ia32_multipass_dfa_lookahead): Likewise.
* config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
* config/i386/x86-tune.def: Updated for m_IAMCU.

gcc/testsuite/

PR target/66749
* gcc.target/i386/pr66749.c: New test.

From-SVN: r225460

9 years agore PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)
Richard Biener [Mon, 6 Jul 2015 14:41:22 +0000 (14:41 +0000)]
re PR tree-optimization/66772 (ICE at -O2 and -O3 on x86_64-linux-gnu)

2015-07-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66772
* tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
values are available in the PHI node BB when there are
still unexecutable edges.

* gcc.dg/torture/pr66772-1.c: New testcase.
* gcc.dg/torture/pr66772-2.c: Likewise.

From-SVN: r225459

9 years agoMIPS: For micromips allow the near-far-3.c test to use the jals instruction to call...
Andrew Bennett [Mon, 6 Jul 2015 14:16:14 +0000 (14:16 +0000)]
MIPS: For micromips allow the near-far-3.c test to use the jals instruction to call near_func.

testsuite/
* gcc.target/mips/near-far-3.c: Allow the call to near_func to use
the jals instruction.

From-SVN: r225457

9 years agore PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)
Richard Biener [Mon, 6 Jul 2015 13:12:39 +0000 (13:12 +0000)]
re PR tree-optimization/66767 (FAIL: gcc.dg/vect/vect-align-1.c execution test)

2015-07-06  Richard Biener  <rguenther@suse.de>

PR tree-optimization/66767
* tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
Make sure to build the alignment test on a SSA name without
final alignment info valid only if the alignment test
evaluates to true.

From-SVN: r225454

9 years agoFix assert caused by bad cfg manipulation in bfin.
Bernd Schmidt [Mon, 6 Jul 2015 12:49:26 +0000 (12:49 +0000)]
Fix assert caused by bad cfg manipulation in bfin.

PR target/66620
* config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
loop start when inserting LSETUP.

From-SVN: r225453

9 years agoAllow -mincoming-stack-boundary=3 with -mno-sse
H.J. Lu [Mon, 6 Jul 2015 11:50:47 +0000 (11:50 +0000)]
Allow -mincoming-stack-boundary=3 with -mno-sse

Similar to -mpreferred-stack-boundary=3, -mincoming-stack-boundary=3 is
allowed with -mno-sse in 64-bit mode.

gcc/

PR target/53383
* config/i386/i386.c (ix86_option_override_internal): Allow
-mincoming-stack-boundary=3 for 64-bit if SSE is disabled.

gcc/testsuite/

PR target/53383
* gcc.target/i386/pr53383-1.c: New file.
* gcc.target/i386/pr53383-2.c: Likewise.
* gcc.target/i386/pr53383-3.c: Likewise.

From-SVN: r225452

9 years agoRename read-md.c:decimal_string
Rainer Orth [Mon, 6 Jul 2015 11:43:07 +0000 (11:43 +0000)]
Rename read-md.c:decimal_string

* read-md.c (decimal_string): Rename to ...
(md_decimal_string): ... this.
(handle_enum): Reflect this.

From-SVN: r225451

9 years ago[AArch64] PR target/66731 Fix fnmul insn with -frounding-math
Szabolcs Nagy [Mon, 6 Jul 2015 11:00:03 +0000 (11:00 +0000)]
[AArch64] PR target/66731 Fix fnmul insn with -frounding-math

gcc/Changelog:

2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>

PR target/66731
* config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.

gcc/testsuite/Changelog:

2015-07-03  Szabolcs Nagy  <szabolcs.nagy@arm.com>

* gcc.target/aarch64/fnmul-1.c: New.
* gcc.target/aarch64/fnmul-2.c: New.
* gcc.target/aarch64/fnmul-3.c: New.
* gcc.target/aarch64/fnmul-4.c: New.

From-SVN: r225450

9 years agore PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)
Richard Biener [Mon, 6 Jul 2015 10:37:33 +0000 (10:37 +0000)]
re PR tree-optimization/66759 (ICE in generic-match.c on 456.hmmer)

2015-07-06  Richard Biener  <rguenther@suse.de>

PR middle-end/66759
* match.pd: Add missing constraint of y to REAL_CST in
REAL_CST - x CMP y to y - CST CMP x simplification.

* gcc.dg/torture/pr66759.c: New testcase.

From-SVN: r225449

9 years agoAdded missing Changelog entry for testsuite.
Andre Vehreschild [Mon, 6 Jul 2015 10:27:38 +0000 (12:27 +0200)]
Added missing Changelog entry for testsuite.

From-SVN: r225448

9 years agore PR fortran/58586 (ICE with derived type with allocatable component passed by value)
Andre Vehreschild [Mon, 6 Jul 2015 10:26:12 +0000 (12:26 +0200)]
re PR fortran/58586 (ICE with derived type with allocatable component passed by value)

gcc/testsuite/ChangeLog:

2015-07-06  Andre Vehreschild  <vehre@gmx.de>

PR fortran/58586
* gfortran.dg/alloc_comp_class_3.f03: New test.
* gfortran.dg/alloc_comp_class_4.f03: New test.

gcc/fortran/ChangeLog:

2015-07-06  Andre Vehreschild  <vehre@gmx.de>

PR fortran/58586
* resolve.c (resolve_symbol): Non-private functions in modules
with allocatable or pointer components are marked referenced
now. Furthermore is the default init especially for those
components now done in gfc_conf_procedure_call preventing
duplicate code.
* trans-decl.c (gfc_generate_function_code): Generate a fake
result decl for functions returning an object with allocatable
components and initialize them.
* trans-expr.c (gfc_conv_procedure_call): For value typed trees
use the tree without indirect ref. And for non-decl trees
add a temporary variable to prevent evaluating the tree
multiple times (prevent multiple function evaluations).
* trans.h: Made gfc_trans_structure_assign () protoype
available, which is now needed by trans-decl.c:gfc_generate_
function_code(), too.

From-SVN: r225447

9 years agore PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)
Eric Botcazou [Mon, 6 Jul 2015 08:43:58 +0000 (08:43 +0000)]
re PR tree-optimization/66757 (wrong code at -O1 and above on x86_64-linux-gnu)

PR tree-optimization/66757
* match.pd: Add missing condition to ~X ^ C -> X ^ ~C.

From-SVN: r225446

9 years agore PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)
Francois-Xavier Coudert [Mon, 6 Jul 2015 08:22:34 +0000 (08:22 +0000)]
re PR libfortran/40267 (Eventually get rid of libgfortranbegin.a)

PR libfortran/40267
* Makefile.am: Remove libgfortranbegin targets.
* Makefile.in: Regenerate.
* fmain.c: Remove.

From-SVN: r225445

9 years agolibgomp: Add comment to clarify last_team usage
Sebastian Huber [Mon, 6 Jul 2015 07:21:48 +0000 (07:21 +0000)]
libgomp: Add comment to clarify last_team usage

libgomp/ChangeLog
2015-07-06  Sebastian Huber  <sebastian.huber@embedded-brains.de>

* libgomp.h (gomp_thread_pool): Comment last_team field.

From-SVN: r225444

9 years agore PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)
Bin Cheng [Mon, 6 Jul 2015 05:57:56 +0000 (05:57 +0000)]
re PR testsuite/66720 (gcc.dg/vect/pr48052.c FAILs)

PR tree-optimization/66720
* gcc.dg/vect/pr48052.c: Use dg-require-effective-target
vect_int_mult.

From-SVN: r225443

9 years agoDaily bump.
GCC Administrator [Mon, 6 Jul 2015 00:16:12 +0000 (00:16 +0000)]
Daily bump.

From-SVN: r225440

9 years agonios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.
Chung-Lin Tang [Sun, 5 Jul 2015 21:49:08 +0000 (21:49 +0000)]
nios2-protos.h (nios2_symbol_ref_in_small_data_p): Delete extern declaration.

2015-07-05  Chung-Lin Tang  <cltang@codesourcery.com>
    Sandra Loosemore <sandra@codesourcery.com>

gcc/
* config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
Delete extern declaration.
(gprel_constant_p): Add extern declaration.
* config/nios2/constraints.md ("S"): Use gprel_constant_p
instead of nios2_symbol_ref_in_small_data_p.
* config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
(nios2_symbol_ref_in_small_data_p): Make static.
(gprel_constant_p): Make non-static.

gcc/testsuite/
* gcc.target/nios2/gprel-offset.c: New test.

Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
From-SVN: r225437

9 years agohashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.
François Dumont [Sun, 5 Jul 2015 21:16:07 +0000 (21:16 +0000)]
hashtable.h (_Hashtable<>::__rehash_policy): Do not rehash container.

2015-07-05  François Dumont  <fdumont@gcc.gnu.org>

* include/bits/hashtable.h (_Hashtable<>::__rehash_policy): Do not
rehash container.
* testsuite/23_containers/unordered_set/max_load_factor/robustness.cc:
Adapt.

From-SVN: r225436