1. 06 Nov, 2015 40 commits
    • inline asm and multi-alternative constraints · a6fa947e
      	* doc/md.texi (multi-alternative constraints): Don't document
      	alternatives inherently tied to reload for the user documentation.
      
      From-SVN: r229897
      David Wohlferd committed
    • revert: arm.md (*arm_smin_cmp): New pattern. · 84d289d4
      2015-11-06  Michael Collison  <michael.collison@linaro.org
      	    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	Revert:
      	2015-08-01  Michael Collison  <michael.collison@linaro.org
      		    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	* config/arm/arm.md (*arm_smin_cmp): New pattern.
      	(*arm_umin_cmp): Likewise.
      
      2015-11-06  Michael Collison  <michael.collison@linaro.org
      	    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	Revert:
      	2015-08-01  Michael Collison  <michael.collison@linaro.org
      		    Ramana Radhakrishnan  <ramana.radhakrishnan@linaro.org>
      
      	* gcc.target/arm/mincmp.c: New test.
      
      From-SVN: r229895
      Michael Collison committed
    • re PR fortran/54224 (Warn for unused internal procedures) · 11c7f788
      2015-11-06  Dominique d'Humieres <dominiq@lps.ens.fr>
      
      	PR fortran/54224
      	* gfortran.dg/warn_unused_function_2.f90: Add two new 
      	"defined but not used" subroutines.
      
      From-SVN: r229894
      Dominique d'Humieres committed
    • Do not use libiberty's getpagesize on Android · 41fdbd54
      libiberty/ChangeLog:
      
              * configure.ac: Set AC_CV_FUNC_GETPAGESIZE to "yes" on
              Android hosts.
              * configure: Regenerate.
      
      From-SVN: r229893
      Joel Brobecker committed
    • gimplify.c (gimplify_omp_ordered): Fix up diagnostics wording. · d9f4ea18
      	* gimplify.c (gimplify_omp_ordered): Fix up diagnostics
      	wording.
      	* omp-low.c (check_omp_nesting_restrictions): Update for the
      	various new OpenMP 4.5 nesting restrictions, clarified
      	nesting glossary, closely nested region relationship clarified
      	to mean explicit or implicit parallel regions (target/teams),
      	use %</%> or %qs where appropriate.
      
      	* gcc.dg/gomp/ordered-2.c (f1): Expect an extra error.
      	* g++.dg/gomp/ordered-2.C (f1): Likewise.
      	* gfortran.dg/goacc/parallel-kernels-regions.f95: Adjust
      	expected diagnostics for the addition of quotes.
      	* gfortran.dg/gomp/target3.f90: Likewise.
      	* c-c++-common/goacc/nesting-fail-1.c: Likewise.
      	* c-c++-common/goacc-gomp/nesting-fail-1.c: Likewise.
      	* c-c++-common/gomp/doacross-1.c: Likewise.
      	* c-c++-common/gomp/nesting-warn-1.c: Likewise.
      	* c-c++-common/gomp/cancel-1.c (f2): Add some new tests.
      	Adjust expected diagnostics wording.
      	* c-c++-common/gomp/clauses-4.c (foo): Likewise.
      	Don't expect error on ordered threads simd when in for simd.
      	* c-c++-common/gomp/nesting-2.c: New test.
      	* c-c++-common/gomp/ordered-3.c (foo): Add some new tests.
      	* c-c++-common/gomp/ordered-4.c: New test.
      
      From-SVN: r229892
      Jakub Jelinek committed
    • * gcc.dg/pragma-diag-5.c: Make test cases unique. · 38101f91
      From-SVN: r229891
      Mike Stump committed
    • do not collect cold loops in scops · b4487cbc
                 * graphite-scop-detection.c (loop_is_valid_scop): Call
                 optimize_loop_nest_for_speed_p.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r229890
      Aditya Kumar committed
    • enable loop fusion on isl-15 · 40856c71
             * graphite-optimize-isl.c (optimize_isl): Call
             isl_options_set_schedule_maximize_band_depth.
      
             * gcc.dg/graphite/fuse-1.c: New.
             * gcc.dg/graphite/fuse-2.c: New.
             * gcc.dg/graphite/interchange-13.c: Remove bogus check.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r229889
      Aditya Kumar committed
    • Do not allow irreducible loops/regions in a scop · 1167ebe7
      Irreducible regions are not going to be optimized by ISL
      so discard them early. Passes bootstrap and regtest.
      
      gcc/ChangeLog:
      
      2015-11-06  Aditya Kumar  <aditya.k7@samsung.com>
      
              * graphite-scop-detection.c (scop_detection::merge_sese): Entry and exit edges should not be a part of irreducible loop.
              (scop_detection::can_represent_loop_1): Loops should not be irreducible.
              (scop_detection::harmful_stmt_in_region): All the basic block should belong to reducible loops.
      
      Co-Authored-By: Sebastian Pop <s.pop@samsung.com>
      
      From-SVN: r229888
      Aditya Kumar committed
    • [AArch64] Fix vqtb[lx][234] on big-endian · 246cc060
      2015-11-06  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/
      	* config/aarch64/aarch64-simd-builtins.def: Update builtins
      	tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
      	* config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
      	(aarch64_tbl3<mode>) ... this, which supports v16qi too.
      	(aarch64_tbx4v8qi): Rename to...
      	aarch64_tbx4<mode>): ... this.
      	(aarch64_qtbl3<mode>): New pattern.
      	(aarch64_qtbx3<mode>): New pattern.
      	(aarch64_qtbl4<mode>): New pattern.
      	(aarch64_qtbx4<mode>): New pattern.
      	* config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
      	(vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
      	(vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
      	(vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
      	(vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
      	(vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
      	(vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
      	(vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
      	functions.
      
      	gcc/testsuite/
      	* gcc.target/aarch64/advsimd-intrinsics/vqtbX.c: New test.
      
      From-SVN: r229886
      Christophe Lyon committed
    • re PR debug/66728 (CONST_WIDE_INT causes corrupted DWARF debug info) · a881fb0c
      	PR debug/66728
      	* dwarf2out.c (get_full_len): Return a value based upon the actual
      	precision needed for the value.
      	(add_const_value_attribute): Use a maximal wide-int for
      	CONST_WIDE_INTs, not VOIDmode.
      	(output_die): Don't ever output NULL with printf.
      
      	* rtl.h (get_precision of rtx_mode_t): Ensure we never process
      	BLKmode nor VOIDmode values.
      
      From-SVN: r229885
      Mike Stump committed
    • Reimplement diagnostic_show_locus, introducing rich_location classes · 8a645150
      gcc/ChangeLog:
      	* diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
      	and "range2".
      	(parse_gcc_colors): Update comment to describe default GCC_COLORS.
      	* diagnostic-core.h (warning_at_rich_loc): New declaration.
      	(error_at_rich_loc): New declaration.
      	(permerror_at_rich_loc): New declaration.
      	(inform_at_rich_loc): New declaration.
      	* diagnostic-show-locus.c (adjust_line): Delete.
      	(struct point_state): New struct.
      	(class colorizer): New class.
      	(class layout_point): New class.
      	(class layout_range): New class.
      	(struct line_bounds): New.
      	(class layout): New class.
      	(colorizer::colorizer): New ctor.
      	(colorizer::~colorizer): New dtor.
      	(layout::layout): New ctor.
      	(layout::print_source_line): New method.
      	(layout::print_annotation_line): New method.
      	(layout::get_state_at_point): New method.
      	(layout::get_x_bound_for_row): New method.
      	(diagnostic_show_locus): Reimplement in terms of class layout.
      	(diagnostic_print_caret_line): Delete.
      	* diagnostic.c (diagnostic_initialize): Replace
      	MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
      	(diagnostic_set_info_translated): Convert param from location_t
      	to rich_location *.  Eliminate calls to set_location on the
      	message in favor of storing the rich_location ptr there.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_build_prefix): Break out array into...
      	(diagnostic_kind_color): New variable.
      	(diagnostic_get_color_for_kind): New function.
      	(diagnostic_report_diagnostic): Colorize the option_text
      	using the color for the severity.
      	(diagnostic_append_note): Update for change in signature of
      	diagnostic_set_info.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(emit_diagnostic): Update for change in signature of
      	diagnostic_set_info.
      	(inform): Likewise.
      	(inform_at_rich_loc): New function.
      	(inform_n): Update for change in signature of diagnostic_set_info.
      	(warning): Likewise.
      	(warning_at): Likewise.
      	(warning_at_rich_loc): New function.
      	(warning_n): Update for change in signature of diagnostic_set_info.
      	(pedwarn): Likewise.
      	(permerror): Likewise.
      	(permerror_at_rich_loc): New function.
      	(error): Update for change in signature of diagnostic_set_info.
      	(error_n): Likewise.
      	(error_at): Likewise.
      	(error_at_rich_loc): New function.
      	(sorry): Update for change in signature of diagnostic_set_info.
      	(fatal_error): Likewise.
      	(internal_error): Likewise.
      	(internal_error_no_backtrace): Likewise.
      	(source_range::debug): New function.
      	* diagnostic.h (struct diagnostic_info): Eliminate field
      	"override_column".  Add field "richloc".
      	(struct diagnostic_context): Add field "colorize_source_p".
      	(diagnostic_override_column): Delete.
      	(diagnostic_set_info): Convert param from location_t to
      	rich_location *.
      	(diagnostic_set_info_translated): Likewise.
      	(diagnostic_append_note_at_rich_loc): New function.
      	(diagnostic_num_locations): New function.
      	(diagnostic_expand_location): Get the location from the
      	rich_location.
      	(diagnostic_print_caret_line): Delete.
      	(diagnostic_get_color_for_kind): New declaration.
      	* genmatch.c (linemap_client_expand_location_to_spelling_point): New.
      	(error_cb): Update for change in signature of "error" callback.
      	(fatal_at): Likewise.
      	(warning_at): Likewise.
      	* input.c (linemap_client_expand_location_to_spelling_point): New.
      	* pretty-print.c (text_info::set_range): New method.
      	(text_info::get_location): New method.
      	* pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
      	(struct text_info): Eliminate "locations" array in favor of
      	"m_richloc", a rich_location *.
      	(textinfo::set_location): Add a "caret_p" param, and reimplement
      	in terms of a call to set_range.
      	(textinfo::get_location): Eliminate inline implementation in favor of
      	an out-of-line reimplementation.
      	(textinfo::set_range): New method.
      	* rtl-error.c (diagnostic_for_asm): Update for change in signature
      	of diagnostic_set_info.
      	* tree-diagnostic.c (default_tree_printer): Update for new
      	"caret_p" param for textinfo::set_location.
      	* tree-pretty-print.c (percent_K_format): Likewise.
      
      gcc/c-family/ChangeLog:
      	* c-common.c (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter and
      	the call to diagnostic_override_column.
      	Update the "done_lexing" clause to set range 0
      	on the rich_location, rather than overwriting a location_t.
      	* c-common.h (c_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      
      gcc/c/ChangeLog:
      	* c-decl.c (warn_defaults_to): Update for change in signature
      	of diagnostic_set_info.
      	* c-errors.c (pedwarn_c99): Likewise.
      	(pedwarn_c90): Likewise.
      	* c-objc-common.c (c_tree_printer): Update for new "caret_p" param
      	for textinfo::set_location.
      
      gcc/cp/ChangeLog:
      	* error.c (cp_printer): Update for new "caret_p" param for
      	textinfo::set_location.
      	(pedwarn_cxx98): Update for change in signature of
      	diagnostic_set_info.
      
      gcc/fortran/ChangeLog:
      	* cpp.c (cb_cpp_error): Convert parameter from location_t to
      	rich_location *.  Eliminate the "column_override" parameter.
      	* error.c (gfc_warning): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_format_decoder): Update handling of %C/%L for changes
      	to struct text_info.
      	(gfc_diagnostic_starter): Use richloc when determining whether to
      	print one locus or two.  When handling a location that will
      	involve a call to diagnostic_show_locus, only attempt to print the
      	locus for the primary location, and don't call into
      	diagnostic_print_caret_line.
      	(gfc_warning_now_at): Update for change in signature of
      	diagnostic_set_info.
      	(gfc_warning_now): Likewise.
      	(gfc_error_now): Likewise.
      	(gfc_fatal_error): Likewise.
      	(gfc_error): Likewise.
      	(gfc_internal_error): Likewise.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic-test-show-locus-bw.c: New file.
      	* gcc.dg/plugin/diagnostic-test-show-locus-color.c: New file.
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c: New file.
      	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.
      	* lib/gcc-dg.exp: Load multiline.exp.
      
      libcpp/ChangeLog:
      	* errors.c (cpp_diagnostic): Update for change in signature
      	of "error" callback.
      	(cpp_diagnostic_with_line): Likewise, calling override_column
      	on the rich_location.
      	* include/cpplib.h (struct cpp_callbacks): Within "error"
      	callback, convert param from source_location to rich_location *,
      	and drop column_override param.
      	* include/line-map.h (struct source_range): New struct.
      	(struct location_range): New struct.
      	(class rich_location): New class.
      	(linemap_client_expand_location_to_spelling_point): New declaration.
      	* line-map.c (rich_location::rich_location): New ctors.
      	(rich_location::lazily_expand_location): New method.
      	(rich_location::override_column): New method.
      	(rich_location::add_range): New methods.
      	(rich_location::set_range): New method.
      
      From-SVN: r229884
      David Malcolm committed
    • * testsuite/26_numerics/complex/requirements/constexpr.cc · 277ec793
      	* testsuite/26_numerics/complex/requirements/constexpr_functions.cc:
      	Use constexpr where needed.
      
      From-SVN: r229883
      Kai Tietz committed
    • libgo: Solaris portability fixes. · 9da92cbd
          
          Only build net/hook_cloexec.go on GNU/Linux and FreeBSD, because those
          are the only systems with accept4.
          
          Add syscall/libcall_bsd.go to define sendfile for *BSD and Solaris.
          
          Revert tcpsockopt_solaris.go back to the earlier version, so that it
          works on Solaris 10.
          
          Always pass the address of a Pid_t value to TIOCGPGRP and TIOCSPGRP.
          
          Include <unistd.h> in runtime/go-varargs.c.
          
          Reviewed-on: https://go-review.googlesource.com/16719
      
      From-SVN: r229880
      Ian Lance Taylor committed
    • [Patch AArch64] Switch constant pools to separate rodata sections. · e78d485e
      Properly apply ..
      
      2015-11-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	Properly apply.
      	2015-11-05  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
              * config/aarch64/aarch64.c
              (aarch64_can_use_per_function_literal_pools_p): New.
              (aarch64_use_blocks_for_constant_p): Adjust declaration
              and use aarch64_can_use_function_literal_pools_p.
              (aarch64_select_rtx_section): Update.
      
      From-SVN: r229878
      Ramana Radhakrishnan committed
    • libstdc++v3: Explicitly disable carets and colorization within testsuite · 9a4bbd5d
      libstdc++-v3/ChangeLog:
      	* testsuite/lib/libstdc++.exp (v3_target_compile): Add
      	-fno-diagnostics-show-caret -fdiagnostics-color=never to
      	option's additional_flags.
      
      From-SVN: r229876
      David Malcolm committed
    • [Patch ARM] Unified assembler in ARM state. · bae4ce0f
      gcc/ChangeLog:
      
      2015-11-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
      	* config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
      	(arm_output_multireg_pop): Likewise.
      	(output_move_double):  Likewise.
      	(output_move_quad):  Likewise.
      	(output_return_instruction): Likewise.
      	(arm_print_operand): Remove support for %( and %. print modifiers.
      	(arm_output_shift): Make unified asm.
      	(arm_declare_function_name): Likewise.
      	* config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
               (ASM_APP_OFF): Adjust.
               (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
               (ASM_OUTPUT_REG_POP): Likewise.
      	* config/arm/arm.md: Adjust uses of %., %(, %) 
      	* config/arm/sync.md: Likewise.
      	* config/arm/thumb2.md: Likewise.
      	* config/arm/ldmstm.md: Regenerate.
      	* config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
      	* doc/invoke.texi (masm-unified-syntax): Update documentation.
      
      gcc/testsuite/ChangeLog:
      
      2015-11-06  Ramana Radhakrishnan  <ramana.radhakrishnan@arm.com>
      
      	* gcc.target/arm/combine-movs.c:
      	* gcc.target/arm/interrupt-1.c:
      	* gcc.target/arm/interrupt-2.c:
      	* gcc.target/arm/unaligned-memcpy-4.c:
      
      From-SVN: r229875
      Ramana Radhakrishnan committed
    • Add stats on adhoc table to dump_line_table_statistics · ee015909
      gcc/ChangeLog:
      	* input.c (dump_line_table_statistics): Dump stats on adhoc table.
      
      libcpp/ChangeLog:
      	* include/line-map.h (struct linemap_stats): Add fields
      	"adhoc_table_size" and "adhoc_table_entries_used".
      	* line-map.c (linemap_get_statistics): Populate above fields.
      
      From-SVN: r229873
      David Malcolm committed
    • tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and add OEP_MATCH_SIDE_EFFECTS. · 2a8e3358
      	* tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
      	add OEP_MATCH_SIDE_EFFECTS.
      	* fold-const.c (operand_equal_p): Update documentation; handle
      	OEP_MATCH_SIDE_EFFECTS.
      	* tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
      	OEP_MATCH_SIDE_EFFECTS.
      
      From-SVN: r229867
      Jan Hubicka committed
    • aarch64-builtins.c: Builtins for rsqrt and rsqrtf. · a6fc00da
      2015-11-06  Benedikt Huber  <benedikt.huber@theobroma-systems.com>
      	    Philipp Tomsich  <philipp.tomsich@theobroma-systems.com>
      
      	* config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
      	* config/aarch64/aarch64-protos.h: Declare.
      	* config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
      	frsqrts.
      	* config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
      	* config/aarch64/aarch64.c: New functions. Emit rsqrt estimation code when
      	applicable.
      	* config/aarch64/aarch64.md: Added enum entries.
      	* config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
      	* testsuite/gcc.target/aarch64/rsqrt_asm_check_common.h: Common macros for
      	assembly checks.
      	* testsuite/gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
      	frsqrts and frsqrte are not emitted.
      	* testsuite/gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure frsqrts and
      	frsqrte are emitted.
      	* testsuite/gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.
      
      Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      
      Co-Authored-By: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
      
      From-SVN: r229866
      Benedikt Huber committed
    • XFAIL testcases regressed after r229814, "Merge from gomp-4_5-branch to trunk" · 7ad72a97
      	gcc/testsuite/
      	* gfortran.dg/goacc/combined_loop.f90: XFAIL.
      
      From-SVN: r229864
      Thomas Schwinge committed
    • Support non-type constrained-type-specifiers. · 636b25c1
      	* parser.c (check_type_concept): Remove.
      	(cp_parser_maybe_constrained_type_specifier): Don't call it.
      	(synthesize_implicit_template_parm): Handle non-type and template
      	template parameters.  Also compare extra args.  Return the decl.
      	(cp_parser_template_argument): Handle constrained-type-specifiers for
      	non-type template parameters.
      	(finish_constrained_template_template_parm): Split out from
      	cp_parser_constrained_template_template_parm.
      	(cp_parser_nonclass_name): Move some logic into
      	cp_parser_maybe_concept_name.
      	(cp_parser_init_declarator): Fix error recovery.
      	(get_concept_from_constraint): Remove.
      	(cp_parser_simple_type_specifier): Adjust for
      	synthesize_implicit_template_parm returning the decl.
      	* constraint.cc (placeholder_extract_concept_and_args)
      	(equivalent_placeholder_constraints): Also handle TYPE_DECL
      	constrained parms.
      
      From-SVN: r229860
      Jason Merrill committed
    • re PR ipa/68057 (450.soplex in SPEC CPU 2006 failed to build) · 567700fd
      
      	PR ipa/68057
      	PR ipa/68220
      	* ipa-polymorphic-call.c
      	(ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
      	issue when offset is out of range.
      	(contains_type_p): Fix out of range check, clear dynamic flag.
      	* g++.dg/lto/pr68057_0.C: New testcase.
      	* g++.dg/lto/pr68057_1.C: New testcase.
      	* g++.dg/torture/pr68220.C: New testcase.
      
      From-SVN: r229859
      Jan Hubicka committed
    • vtbX.c: Fix typos in comment. · 56340739
      2015-11-06  Christophe Lyon  <christophe.lyon@linaro.org>
      
      	gcc/testsuite/
      	* gcc.target/aarch64/advsimd-intrinsics/vtbX.c: Fix typos
      	in comment.
      
      From-SVN: r229858
      Christophe Lyon committed
    • Correct entry for PR c++/67942. · 8309230f
      From-SVN: r229857
      Martin Sebor committed
    • pt.c (push_inline_template_parms_recursive): Don't recreate the CONST_DECL. · 9f46fa10
      	* pt.c (push_inline_template_parms_recursive): Don't recreate the
      	CONST_DECL.
      
      From-SVN: r229856
      Jason Merrill committed
    • config.gcc (e6500): Fix cpu_is_64bit typo. · 75d86b7d
      2015-11-06  Arnout Vandecappelle  <arnout@mind.be>
              * config.gcc (e6500): Fix cpu_is_64bit typo.
      
      From-SVN: r229855
      Arnout Vandecappelle committed
    • tree-sra.c: Fix completely_scalarize for negative indices. · 55bf45c0
      	* tree-sra.c (completely_scalarize): Properly handle negative array
      	indices using offset_int.
      
      From-SVN: r229852
      Alan Lawrence committed
    • alloc-pool.h (object_allocator::allocate): Default-initialize object. · f1aa4bb3
      2015-11-06  Richard Biener  <rguenther@suse.de>
      
      	* alloc-pool.h (object_allocator::allocate): Default-initialize
      	object.
      
      From-SVN: r229851
      Richard Biener committed
    • tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor. · ff569744
      2015-11-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
      	* lra.c (init_reg_info): Truncate copy_vec instead of
      	re-allocating a new one and leaking the old.
      	* ipa-inline-analysis.c (estimate_function_body_sizes): Free
      	bb_infos vec.
      	* sched-deps.c (sched_deps_finish): Free the dn/dl pools.
      	* postreload-gcse.c (free_mem): Free modify_mem_list and
      	canon_modify_mem_list.
      
      From-SVN: r229850
      Richard Biener committed
    • [cp][committed] Fix bootstrap on arm due to print format warning · c047b694
      	* init.c (warn_placement_new_too_small): Use %wu format
      	rather than %lu when printing bytes_avail.
      
      From-SVN: r229849
      Kyrylo Tkachov committed
    • re PR tree-optimization/68145 (ICE: in vectorizable_store, at tree-vect-stmts.c:5684) · b036c6c5
      gcc/
      
      	PR tree-optimization/68145
      	* tree-vect-stmts.c (vectorizable_operation): Fix
      	determination for booleans.
      
      gcc/testsuite/
      
      	PR tree-optimization/68145
      	* g++.dg/vect/pr68145.cc: New test.
      
      From-SVN: r229848
      Ilya Enkovich committed
    • Fix transform_to_exit_first_loop_alt with -g · 4a4b6c4c
      2015-11-06  Tom de Vries  <tom@codesourcery.com>
      
      	* tree-cfg.c (gimple_split_block_before_cond_jump): Split before
      	cond_jump, instead of split after last nondebug insn before cond_jump.
      	* tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
      	returning.
      
      From-SVN: r229847
      Tom de Vries committed
    • [ARM/AArch64] PR 68088: Fix RTL checking ICE due to subregs inside accumulator forwarding check · c9aa6b94
              PR target/68088
              * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
              subregs from accumulator and make sure it's a register.
      
              * gcc.dg/pr68088_1.c: New test.
      
      From-SVN: r229845
      Kyrylo Tkachov committed
    • Update loongson vector reductions. · 66c5c67b
      2015-11-06  Simon Dardis  <simon.dardis@imgtec.com>
      
              * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
              low part to scalar.
              (reduc_uplus_<mode>): Remove.
              (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
              loongson_extract_lo_<mode>.
              (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
              reduc_smax_<mode>, reduc_smax_<mode>, use vec
              loongson_extract_lo_<mode>.
              (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
      
      From-SVN: r229844
      Simon Dardis committed
    • tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end members. · 61d371eb
      2015-11-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
      	members.
      	(vect_stmt_in_region_p): Declare.
      	* tree-vect-slp.c (new_bb_vec_info): Work on a region.
      	(destroy_bb_vec_info): Likewise.
      	(vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
      	(vect_get_and_check_slp_defs): Likewise.
      	(vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
      	(vect_slp_bb): Likewise.
      	* tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
      	in terms of vect_stmt_in_region_p.
      	(vect_pattern_recog): Iterate over the BB region.
      	* tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
      	* tree-vectorizer.c (vect_stmt_in_region_p): New function.
      	(pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
      
      	* config/i386/i386.c: Include gimple-iterator.h.
      	* config/aarch64/aarch64.c: Likewise.
      
      	* gcc.dg/vect/bb-slp-38.c: New testcase.
      
      From-SVN: r229842
      Richard Biener committed
    • XFAIL testcases regressed after r229814, "Merge from gomp-4_5-branch to trunk" · 66a5f0b4
      	gcc/testsuite/
      	* gfortran.dg/goacc/private-3.f95: XFAIL.
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: XFAIL.
      	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
      
      From-SVN: r229841
      Thomas Schwinge committed
    • [PR67753] fix copy of PARALLEL entry_parm to CONCAT target_reg · a029addd
      In assign_parms_setup_block, the copy of args in PARALLELs from
      entry_parm to stack_parm is deferred to the parm conversion insn seq,
      but the copy from stack_parm to target_reg was inserted in the normal
      copy seq, that is executed before the conversion insn seq.  Oops.
      
      We could do away with the need for an actual stack_parm in general,
      which would have avoided the need for emitting the copy to target_reg
      in the conversion seq, but at least on pa, due to the need for stack
      to copy between SI and SF modes, it seems like using the reserved
      stack slot is beneficial, so I put in logic to use a pre-reserved
      stack slot when there is one, and emit the copy to target_reg in the
      conversion seq if stack_parm was set up there.
      
      for  gcc/ChangeLog
      
      	PR rtl-optimization/67753
      	PR rtl-optimization/64164
      	* function.c (assign_parm_setup_block): Avoid allocating a
      	stack slot if we don't have an ABI-reserved one.  Emit the
      	copy to target_reg in the conversion seq if the copy from
      	entry_parm is in it too.  Don't use the conversion seq to copy
      	a PARALLEL to a REG or a CONCAT.
      
      From-SVN: r229840
      Alexandre Oliva committed
    • Add testcases for middle-end/53852 and middle-end/67518 · 5c661a44
      2015-11-06  Joost VandeVondele  <vondele@gnu.gcc.org>
      
      	PR middle-end/53852
      	PR middle-end/67518
      	* gfortran.dg/PR67518.f90: New test.
      	* gfortran.dg/PR53852.f90: New test.
      
      From-SVN: r229839
      Joost VandeVondele committed
    • tree-hash-traits.h (tree_operand_hash): Provide equal, not equal_keys. · 8ba66467
      2015-11-06  Richard Biener  <rguenther@suse.de>
      
      	* tree-hash-traits.h (tree_operand_hash): Provide equal, not
      	equal_keys.
      
      From-SVN: r229838
      Richard Biener committed