1. 07 Nov, 2015 6 commits
    • Try to update dominance info in tree-call-cdce.c · f127ea51
      The pass would free the dominance info after making a change, but it
      should be pretty easy to keep the information up-to-date when the call
      has no EH edges.
      
      Tested on x86_64-linux-gnu, arm-linux-gnueabi and aarch64-linux-gnu.
      
      gcc/
      	* tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
      	the dominance info; free it if we can't.
      	(pass_call_cdce::execute): Don't free the dominance info here.
      
      From-SVN: r229916
      Richard Sandiford committed
    • [PATCH] Remove more backedge threading support · 88419b52
      	* tree-ssa-threadedge.c (dummy_simplify): Remove.
      	(thread_around_empty_blocks): Remove backedge_seen_p argument.
      	If we thread to a backedge, then return false.  Update recursive
      	call to eliminate backedge_seen_p argument.
      	(thread_through_normal_block): Remove backedge_seen_p argument.
      	Remove backedge_seen_p argument from calls to
      	thread_around_empty_blocks.  Remove checks on backedge_seen_p.
      	If we thread to a backedge, then return 0.
      	(thread_across_edge): Remove bookkeeping for backedge_seen.  Don't
      	pass it to thread_through_normal_block or thread_through_empty_blocks.
      	For joiner handling, if we see a backedge, do not try normal
      	threading.
      
      From-SVN: r229911
      Jeff Law committed
    • add original schedule to scop · 0473915e
          * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
          * graphite-poly.c (new_scop): Initialize original_schedule.
          (free_scop): Free original_schedule.
          * graphite-poly.h (struct scop): Add field original_schedule.
          * graphite-sese-to-poly.c (build_scop_original_schedule): New.
          (build_poly_scop): Call build_scop_original_schedule.
      
      From-SVN: r229910
      Abderrazek Zaafrani committed
    • do not create unnecessary dimensions in scop scattering · 504fbc11
                 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
                 (build_pbb_minimal_scattering_polyhedrons): New.
                 (build_scop_scattering): Remove.
                 (build_scop_minimal_scattering): New.
                 (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
                 (build_poly_scop): Call build_scop_minimal_scattering.
      
      From-SVN: r229909
      Abderrazek Zaafrani committed
    • re PR go/66138 (json decoder Decode function fails for some structure return values) · f5eb9a8e
      	PR go/66138
          reflect, encoding/json, encoding/xml: fix unexported embedded structs
          
          Bring in three changes from the master Go repository.  These changes
          will be in Go 1.6, but they are appropriate for gccgo now because they
          resolve a long-standing discrepancy between how gc and gccgo handle the
          PkgPath field for embedded unexported struct fields.  The core issue is
          described at https://golang.org/cl/7247.  This has been reported against
          gccgo as https://gcc.gnu.org/PR66138.
          
          The three changes being brought over are:
          
          https://golang.org/cl/14010
          
          reflect: adjust access to unexported embedded structs
          
          This CL changes reflect to allow access to exported fields and
          methods in unexported embedded structs for gccgo and after gc
          has been adjusted to disallow access to embedded unexported structs.
          
          Adresses #12367, #7363, #11007, and #7247.
          
          https://golang.org/cl/14011
          
          encoding/json: check for exported fields in embedded structs
          
          Addresses issue #12367.
          
          https://golang.org/cl/14012
          
          encoding/xml: check for exported fields in embedded structs
          
          Addresses issue #12367.
          
          Reviewed-on: https://go-review.googlesource.com/16723
      
      From-SVN: r229907
      Ian Lance Taylor committed
    • Daily bump. · 39f02a1f
      From-SVN: r229906
      GCC Administrator committed
  2. 06 Nov, 2015 34 commits
    • [PATCH] Allow vrp to thread across backedges using FSM threader · b9e59e4f
      	* cfg-flags.def (IGNORE): New edge flag.
      	* tree-vrp.c (identify_jump_threads): Mark and clear edges
      	scheduled for removal with EDGE_IGNORE around call into
      	jump threader.  Do no thread across edges with EDGE_IGNORE,
      	but do allow threading across those with EDGE_DFS_BACK.
      
      	* gcc.dg/tree-ssa/ssa-dom-thread-7.c: Adjust to look for
      	realized jump threads.
      	* gcc.dg/tree-ssa-pr66752-3.c: Look in vrp1 dump for jump
      	threads rather than dom1 dump.
      
      From-SVN: r229902
      Jeff Law committed
    • 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