1. 21 Jul, 2015 7 commits
  2. 20 Jul, 2015 19 commits
    • rl78-real.md (andqi3_real): Expand operands for clr1. · 840cdb80
      * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
      (iorqi3_real): Likewise for set1.
      
      From-SVN: r226023
      DJ Delorie committed
    • * include/bits/c++config: Fix abi_tag in special modes. · 3a353ff5
      From-SVN: r226022
      Jason Merrill committed
    • i386.c (ix86_md_asm_adjust): Handle DImode dest_mode for !TARGET_64BIT. · 73c581fb
      	* config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
      	for !TARGET_64BIT.
      
      testsuite/ChangeLog:
      
      	* gcc.target/i386/asm-flag-5.c (f_ll): New.
      
      From-SVN: r226017
      Uros Bizjak committed
    • add missing changelog · 236d2dc4
      From-SVN: r226015
      Aditya Kumar committed
    • Refactor graphite-isl-ast-to-gimple.c · 050e1371
      Refactor graphite-isl-ast-to-gimple.c:
      Refactor so that each function can access 'region'. This will help
      maintain a parameter rename_map within a region. No functional change intended.
      This patch will be followed by another set of patches
      where translate_isl_ast_to_gimple::region is used to keep parameters which need
      renaming. Since we are planning to remove limit_scops, we now have to maintain a
      set of parameters which needs renaming. This refactoring helps avoid passing
      `region' to all the functions in this file.
      
      It passes bootstrap and regtest.
      
      gcc/ChangeLog:
      
      2015-07-19  Aditya Kumar  <hiraditya@msn.com>
      
              * graphite-isl-ast-to-gimple.c:
      	Refactor so that each function can access 'region'. This will help
      	maintain a parameter rename_map within a region.
      
      From-SVN: r226014
      Aditya Kumar committed
    • Missed a difference between gomp4 and trunk · a051317b
      From-SVN: r226012
      Nathan Sidwell committed
    • oacc-parallel.c (GOACC_parallel): Move variadic handling into wait=-specific if. · a091118d
      	* oacc-parallel.c (GOACC_parallel): Move variadic handling into
      	wait=-specific if.
      	(GOACC_enter_exit_data, GOACC_update): Use consistent num_waits
      	!=0 condition.
      	(goacc_waits): Move !num_waits handling to ...
      	(GOACC_wait): ... here, the only caller that might have zero waits.
      
      From-SVN: r226011
      Nathan Sidwell committed
    • compiler: Create dummy labels for blank labels. · 53c12016
          
          Fixes golang/go#11591.
          
          Reviewed-on: https://go-review.googlesource.com/12043
      
      From-SVN: r226009
      Ian Lance Taylor committed
    • compiler: Remove unnecessary check for GCC-specific issue. · 57c7a33b
          Reviewed-on: https://go-review.googlesource.com/11800
      
          compiler: remove name of unused parameter to avoid warning
          
          Reviewed-on: https://go-review.googlesource.com/12367
      
      From-SVN: r226007
      Ian Lance Taylor committed
    • * config/rs6000/rs6000.md (*lt0_disi): New. · 824478c0
      From-SVN: r226006
      Segher Boessenkool committed
    • re PR target/66217 (PowerPC rotate/shift/mask instructions not optimal) · 7fc5cca3
      	PR target/66217
      	* config/rs6000/constraints.md ("S", "T", "t"): Delete.  Update
      	"available letters" comment.
      	* config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
      	mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
      	and_2rld_operand):  Delete.
      	(and_operand): Adjust.
      	(rotate_mask_operator): New.
      	* config/rs6000/rs6000-protos.h (build_mask64_2_operands,
      	includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
      	includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
      	extract_ME): Delete.
      	(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
      	rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
      	rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
      	rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
      	rs6000_emit_2insn_and): New.
      	* config/rs6000/rs6000.c (num_insns_constant): Adjust.
      	(build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
      	includes_rldic_lshift_p, includes_rldicr_lshift_p,
      	insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
      	(rs6000_is_valid_mask, rs6000_is_valid_and_mask,
      	rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
      	s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
      	rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
      	rs6000_emit_2insn_and): New.
      	(print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
      	(rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
      	handling.
      	<NOT>: Don't fall through to next case.
      	<AND>: Handle the various rotate-and-mask cases directly.
      	<IOR>: Always cost as one insn.
      	* config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
      	(and<mode>3): Adjust expander for the new patterns.
      	(and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
      	and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
      	(*and<mode>3_imm_dot_shifted): New.
      	(*and<mode>3_mask): Delete, rewrite as ...
      	(and<mode>3_mask): ... New.
      	(*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
      	(andsi3_internal0_nomc): Delete.
      	(*andsi3_internal6): Delete.
      	(*and<mode>3_2insn): New.
      	(insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
      	*insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
      	*insvsi_internal6, insvdi_internal, *insvdi_internal2,
      	*insvdi_internal3): Delete.
      	(*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
      	*rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
      	*rotl<mode>3_insert_4, two splitters for multi-precision shifts,
      	*ior<mode>_mask): New.
      	(extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
      	*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
      	*ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
      	*lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
      	Delete.
      	(ashr<mode>3): Delete expander.
      	(*ashr<mode>3): Rename to ...
      	(ashr<mode>3): ... This.
      	(ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
      	(*rotldi3_internal4, *rotldi3_internal5 and split,
      	*rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
      	and split, *ashldi3_internal6 and split, *ashldi3_internal7,
      	ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
      	(*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
      	(splitter for loading a mask): Adjust.
      	* doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
      
      From-SVN: r226005
      Segher Boessenkool committed
    • plugin-nvptx.c (struct targ_fn_descriptor): Move later. · f3e9a059
      	* plugin/plugin-nvptx.c (struct targ_fn_descriptor): Move later.
      	(struct ptx_image_data): Move earlier, add fns field.
      	(struct ptx_device): Add images and image_lock fields.
      	(ptx_images, ptx_image_lock): Delete.
      	(nvptx_open_device): Initialize images and image_lock fields.
      	(nvptx_close_device): Destroy image_lock.
      	(GOMP_OFFLOAD_load_image): Register image to device-specific fields.
      	(GOMP_OFFLOAD_unload_image): Unregister image from device-specific
      	fields.
      
      From-SVN: r226004
      Nathan Sidwell committed
    • genemit.c (print_code, [...]): Remove declarations. · dd5bc4be
      	* genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
      	output_add_clobbers, output_added_clobbers_hard_reg_p,
      	gen_rtx_scratch): Remove declarations.
      
      From-SVN: r226003
      Marek Polacek committed
    • re PR c++/55095 (Wshift-overflow) · 451b5e48
      	PR c++/55095
      	* c-common.c (c_fully_fold_internal): Warn about left shift overflows.
      	Use EXPR_LOC_OR_LOC.
      	(maybe_warn_shift_overflow): New function.
      	* c-common.h (maybe_warn_shift_overflow): Declare.
      	* c-opts.c (c_common_post_options): Set warn_shift_overflow.
      	* c.opt (Wshift-overflow): New option.
      
      	* c-typeck.c (digest_init): Pass OPT_Wpedantic to pedwarn_init.
      	(build_binary_op): Warn about left shift overflows.
      
      	* typeck.c (cp_build_binary_op): Warn about left shift overflows.
      
      	* doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
      
      	* c-c++-common/Wshift-overflow-1.c: New test.
      	* c-c++-common/Wshift-overflow-2.c: New test.
      	* c-c++-common/Wshift-overflow-3.c: New test.
      	* c-c++-common/Wshift-overflow-4.c: New test.
      	* c-c++-common/Wshift-overflow-5.c: New test.
      	* g++.dg/cpp1y/left-shift-1.C: New test.
      	* gcc.dg/c90-left-shift-2.c: New test.
      	* gcc.dg/c90-left-shift-3.c: New test.
      	* gcc.dg/c99-left-shift-2.c: New test.
      	* gcc.dg/c99-left-shift-3.c: New test.
      	* gcc.dg/pr40501.c: Use -Wno-shift-overflow.
      	* gcc.c-torture/execute/pr40386.c: Likewise.
      	* gcc.dg/vect/pr33373.c: Likewise.
      	* gcc.dg/vect/vect-shift-2-big-array.c: Likewise.
      	* gcc.dg/vect/vect-shift-2.c: Likewise.
      
      Co-Authored-By: Richard Sandiford <richard.sandiford@arm.com>
      
      From-SVN: r225998
      Marek Polacek committed
    • [simplify-rtx][2/2] Simplify - (y ? -x : x) -> (!y ? -x : x) · 7040e903
      	* simplify-rtx.c (simplify_unary_operation_1, NEG case):
      	(neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
      
      	* gcc.target/aarch64/neg_abs_1.c: New test.
      
      From-SVN: r225997
      Kyrylo Tkachov committed
    • [PATCH][combine][1/2] Try to simplify before substituting · 232c9329
      	* combine.c (combine_simplify_rtx): Move simplification step
      	before various transformations/substitutions.
      
      From-SVN: r225996
      Kyrylo Tkachov committed
    • Fix partial specialization syntax of wide int traits. · df2a7a38
      gcc/
      	* wide-int.h (struct binary_traits): Fix partial specialization syntax.
      	(struct int_traits): Likewise.
      
      From-SVN: r225993
      Mikhail Maltsev committed
    • Daily bump. · 3e24aa1b
      From-SVN: r225992
      GCC Administrator committed
  3. 19 Jul, 2015 2 commits
  4. 18 Jul, 2015 4 commits
    • fix compilation of vmsdbgout.c · 38faca89
      The debug-early branch renamed vmsdbgout_decl to
      vmsdbgout_function_decl, but didn't update its prototype.
      
      gcc/ChangeLog:
      
      2015-07-18  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>
      
      	* vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
      	function to vmsdbgout_function_decl.
      
      From-SVN: r225983
      Trevor Saunders committed
    • re PR target/66922 (wrong code for bit-field struct at -O1 and above on x86_64-linux-gnu) · ab22883b
      	PR target/66922
      	* config/i386/i386.c (ix86_expand_pextr): Reject extractions
      	from misaligned positions.
      	(ix86_expand_pinsr): Reject insertions to misaligned positions.
      
      testsuite/ChangeLog:
      
      	PR target/66922
      	* gcc.target/i386/pr66922.c: New test.
      
      From-SVN: r225980
      Uros Bizjak committed
    • fix pr46851 and pr60340: remove unmaintained omega dependence test · 49b8fe6c
      Regstrapped on amd64-linux.
      
      2015-07-18  Sebastian Pop  <s.pop@samsung.com>
      
      	PR middle-end/46851
      	PR middle-end/60340
      	* Makefile.in: Removed omega.o.
      	* common.opt: Remove flag fcheck-data-deps.
      	* doc/invoke.texi: Remove documentation for fcheck-data-deps and
      	its associated params: omega-max-vars, omega-max-geqs,
      	omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
      	omega-max-keys, omega-eliminate-redundant-constraints.
      	* doc/loop.texi: Remove all the section on Omega.
      	* graphite-blocking.c: Include missing params.h: it used to be
      	included through tree-data-ref.h and omega.h.
      	* graphite-isl-ast-to-gimple.c: Same.
      	* graphite-optimize-isl.c: Same.
      	* graphite-sese-to-poly.c: Same.
      	* graphite.c: Same.
      	* omega.c: Remove.
      	* omega.h: Remove.
      	* params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
      	PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
      	PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
      	PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
      	* passes.def: Remove pass_check_data_deps.
      	* tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
      	(dump_conflict_function): Same.
      	(dump_subscript): Same.
      	(print_direction_vector): Same.
      	(print_dir_vectors): Same.
      	(print_lambda_vector): Same.
      	(print_dist_vectors): Same.
      	(dump_data_dependence_relation): Same.
      	(dump_data_dependence_relations): Same.
      	(dump_dist_dir_vectors): Same.
      	(dump_ddrs): Same.
      	(init_omega_eq_with_af): Removed.
      	(omega_extract_distance_vectors): Removed.
      	(omega_setup_subscript): Removed.
      	(init_omega_for_ddr_1): Removed.
      	(init_omega_for_ddr): Removed.
      	(ddr_consistent_p): Removed.
      	(compute_affine_dependence): Do not use omega to check data
      	dependences.
      	(compute_data_dependences_for_bb): Removed.
      	(analyze_all_data_dependences): Removed.
      	(tree_check_data_deps): Removed.
      	* tree-data-ref.h: Do not include omega.h.
      	(compute_data_dependences_for_bb): Removed.
      	(tree_check_data_deps): Removed.
      	* tree-ssa-loop.c (pass_check_data_deps): Removed.
      	(make_pass_check_data_deps): Removed.
      	* tree-ssa-phiopt.c: Include params.h.
      	* tree-vect-data-refs.c: Same.
      	* tree-vect-slp.c: Same.
      
      testsuite/
      	* gcc.dg/tree-ssa/pr42327.c: Removed.
      	* g++.dg/other/pr35011.C: Removed.
      
      From-SVN: r225979
      Sebastian Pop committed
    • Daily bump. · ca4b5dbd
      From-SVN: r225978
      GCC Administrator committed
  5. 17 Jul, 2015 8 commits
    • i386.md (pushsf splitter): Pass curr_insn to find_constant_src. · 736cad25
      	* config/i386/i386.md (pushsf splitter): Pass curr_insn to
      	find_constant_src.  FAIL if find_constant_src returns NULL_RTX.
      	(mem->fpreg splitters): Ditto.
      	(general_operand->nonimmediate_operand splitter): Use explicit modes.
      	Disable DFmode for TARGET_64BIT.
      
      From-SVN: r225975
      Uros Bizjak committed
    • Replicate static chain on the stack · f6f6b749
      If we put static chain on the stack, we need to replicate it on the stack
      when stack is realigned with DRAP so that static chain can be reached via
      (argp - 2) slot.
      
      gcc/
      
      	PR target/66906
      	* config/i386/i386.c (ix86_expand_prologue): Replicate static
      	chain on the stack.
      
      gcc/testsuite/
      
      	PR target/66906
      	* gcc.target/i386/pr66906.c: New test.
      
      From-SVN: r225974
      H.J. Lu committed
    • Add missing ChangeLog entries · de19301a
      From-SVN: r225973
      H.J. Lu committed
    • coarray_collectives_16.f90: Fix pattern as follow-up to r225930. · 44f18d70
      
      gcc/testsuite/
      	* gfortran.dg/coarray_collectives_16.f90: Fix pattern
      	as follow-up to r225930.
      
      From-SVN: r225965
      Mikael Morin committed
    • re PR fortran/52846 ([F2008] Support submodules) · eb438073
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* decl.c (gfc_match_end): Pick out declared submodule name from
      	the composite identifier.
      	* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
      	* module.c (gfc_match_submodule): Define submodule_name and add
      	static 'submodule_name'.
      	(gfc_match_submodule): Build up submodule filenames, using '@'
      	as a delimiter. Store the output filename in 'submodule_name'.
      	Similarly, the submodule identifier is built using '.' as an
      	identifier.
      	(gfc_dump_module): If current state is COMP_SUBMODULE, write
      	to file 'submodule_name', using SUBMODULE_EXTENSION.
      	(gfc_use_module): Similarly, use the 'submodule_name' field in
      	the gfc_use_list structure and SUBMODULE_EXTENSION to read the
      	implicitly used submodule files.
      
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* lib/fortran-modules.exp (proc cleanup-submodules): New
      	procedure.
      	* gfortran.dg/submodule_1.f08: Change extension and clean up
      	the submodule files.
      	* gfortran.dg/submodule_2.f08: ditto
      	* gfortran.dg/submodule_6.f08: ditto
      	* gfortran.dg/submodule_7.f08: ditto
      	* gfortran.dg/submodule_8.f08: New test
      	* gfortran.dg/submodule_9.f08: New test
      
      From-SVN: r225958
      Paul Thomas committed
    • re PR fortran/52846 ([F2008] Support submodules) · 4d511a3b
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* decl.c (gfc_match_end): Pick out declared submodule name from
      	the composite identifier.
      	* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
      	* module.c (gfc_match_submodule): Define submodule_name and add
      	static 'submodule_name'.
      	(gfc_match_submodule): Build up submodule filenames, using '@'
      	as a delimiter. Store the output filename in 'submodule_name'.
      	Similarly, the submodule identifier is built using '.' as an
      	identifier.
      	(gfc_dump_module): If current state is COMP_SUBMODULE, write
      	to file 'submodule_name', using SUBMODULE_EXTENSION.
      	(gfc_use_module): Similarly, use the 'submodule_name' field in
      	the gfc_use_list structure and SUBMODULE_EXTENSION to read the
      	implicitly used submodule files.
      
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* lib/fortran-modules.exp (proc cleanup-submodules): New
      	procedure.
      	* gfortran.dg/submodule_1.f08: Change extension and clean up
      	the submodule files.
      	* gfortran.dg/submodule_2.f08: ditto
      	* gfortran.dg/submodule_6.f08: ditto
      	* gfortran.dg/submodule_7.f08: ditto
      	* gfortran.dg/submodule_8.f08: New test
      	* gfortran.dg/submodule_9.f08: New test
      
      From-SVN: r225957
      Paul Thomas committed
    • re PR fortran/52846 ([F2008] Support submodules) · d0e8d892
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* decl.c (gfc_match_end): Pick out declared submodule name from
      	the composite identifier.
      	* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
      	* module.c (gfc_match_submodule): Define submodule_name and add
      	static 'submodule_name'.
      	(gfc_match_submodule): Build up submodule filenames, using '@'
      	as a delimiter. Store the output filename in 'submodule_name'.
      	Similarly, the submodule identifier is built using '.' as an
      	identifier.
      	(gfc_dump_module): If current state is COMP_SUBMODULE, write
      	to file 'submodule_name', using SUBMODULE_EXTENSION.
      	(gfc_use_module): Similarly, use the 'submodule_name' field in
      	the gfc_use_list structure and SUBMODULE_EXTENSION to read the
      	implicitly used submodule files.
      
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* lib/fortran-modules.exp (proc cleanup-submodules): New
      	procedure.
      	* gfortran.dg/submodule_1.f08: Change extension and clean up
      	the submodule files.
      	* gfortran.dg/submodule_2.f08: ditto
      	* gfortran.dg/submodule_6.f08: ditto
      	* gfortran.dg/submodule_7.f08: ditto
      	* gfortran.dg/submodule_8.f08: New test
      	* gfortran.dg/submodule_9.f08: New test
      
      From-SVN: r225956
      Paul Thomas committed
    • re PR fortran/52846 ([F2008] Support submodules) · 91ff0ece
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* decl.c (gfc_match_end): Pick out declared submodule name from
      	the composite identifier.
      	* gfortran.h : Add 'submodule_name' to gfc_use_list structure.
      	* module.c (gfc_match_submodule): Define submodule_name and add
      	static 'submodule_name'.
      	(gfc_match_submodule): Build up submodule filenames, using '@'
      	as a delimiter. Store the output filename in 'submodule_name'.
      	Similarly, the submodule identifier is built using '.' as an
      	identifier.
      	(gfc_dump_module): If current state is COMP_SUBMODULE, write
      	to file 'submodule_name', using SUBMODULE_EXTENSION.
      	(gfc_use_module): Similarly, use the 'submodule_name' field in
      	the gfc_use_list structure and SUBMODULE_EXTENSION to read the
      	implicitly used submodule files.
      
      2015-07-17  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/52846
      	* lib/fortran-modules.exp (proc cleanup-submodules): New
      	procedure.
      	* gfortran.dg/submodule_1.f08: Change extension and clean up
      	the submodule files.
      	* gfortran.dg/submodule_2.f08: ditto
      	* gfortran.dg/submodule_6.f08: ditto
      	* gfortran.dg/submodule_7.f08: ditto
      	* gfortran.dg/submodule_8.f08: New test
      	* gfortran.dg/submodule_9.f08: New test
      
      From-SVN: r225955
      Paul Thomas committed