1. 03 Dec, 2016 8 commits
  2. 02 Dec, 2016 32 commits
    • simplify-rtx: Fix the last fix (PR78638) · 5bd12baf
      I managed to get the last obvious fix wrong: mode is M1, GET_MODE (op)
      is M2.
      
      
      	* simplify-rtx.c (simplify_truncation): M2 is not mode, it is
      	GET_MODE (op).  Fix this.
      
      From-SVN: r243210
      Segher Boessenkool committed
    • selftest.c: remove calls to strndup (PR bootstrap/78616) · bf7f70ff
      gcc/ChangeLog:
      	PR bootstrap/78616
      	* selftest.c (selftest::assert_strndup_eq): Rename to...
      	(selftest::assert_xstrndup_eq): ...this, and remove call to
      	strndup.
      	(selftest::test_strndup): Rename to...
      	(selftest::test_xstrndup): ...this, updating for above renaming.
      	(selftest::test_libiberty): Update for renaming.
      
      From-SVN: r243207
      David Malcolm committed
    • re PR target/78639 (Power9 bad code generation for cactusADM benchmark) · 6556f651
      2016-12-02  Michael Meissner  <meissner@linux.vnet.ibm.com>
      
      	PR target/78639
      	* config/rs6000/rs6000.md (movdi_internal64): Fix typo in
      	subversion id 242679 that causes the wrong store instruction to be
      	generated if a DImode is in an Altivec register using REG+REG
      	addressing.
      
      From-SVN: r243206
      Michael Meissner committed
    • simplify.c (gfc_convert_char_constant): Free result on error. · 47109217
      2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	* simplify.c (gfc_convert_char_constant): Free result on error.
      
      From-SVN: r243205
      Steven G. Kargl committed
    • re PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler… · a3f7c896
      re PR c++/78649 (ICE on invalid C++ code on x86_64-linux-gnu (internal compiler error: tree check: expected class ‘type’, have ‘exceptional’ (error_mark) in build_value_init_noctor, at cp/init.c:380))
      
      	PR c++/78649
      	* pt.c (tsubst_init): Don't call build_value_init if decl's type
      	is error_mark_node.
      
      	* g++.dg/cpp0x/pr78649.C: New test.
      
      From-SVN: r243204
      Jakub Jelinek committed
    • re PR target/70322 (STV doesn't optimize andn) · 81cff75f
      	PR target/70322
      	* config/i386/i386.md (*andndi3_doubleword): Add non-BMI alternative
      	and corresponding post-reload splitter.
      
      testsuite/ChangeLog:
      
      	PR target/70322
      	* gcc.target/i386/pr70322-2.c (dg-final): Remove xfail.
      
      From-SVN: r243202
      Uros Bizjak committed
    • [multiple changes] · 6ed022af
      2016-12-02  Janus Weil  <janus@gcc.gnu.org>
      	    Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/78618
      	* check.c (gfc_check_rank): Remove ATTRIBUTE_UNUSED.
      	* expr.c (gfc_check_assign): Fix error propagation.
      
      2016-12-02  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/78618
      	* gfortran.dg/char_conversion.f90: New test.
      
      From-SVN: r243201
      Janus Weil committed
    • [AArch64] Separate shrink wrapping hooks implementation · 827ab47a
      	* config/aarch64/aarch64.h (machine_function): Add
      	reg_is_wrapped_separately field.
      	* config/aarch64/aarch64.md (LAST_SAVED_REGNUM): Define new constant.
      	* config/aarch64/aarch64.c (emit_set_insn): Change return type to
      	rtx_insn *.
      	(aarch64_save_callee_saves): Don't save registers that are wrapped
      	separately.
      	(aarch64_restore_callee_saves): Don't restore registers that are
      	wrapped separately.
      	(offset_9bit_signed_unscaled_p, offset_12bit_unsigned_scaled_p,
      	aarch64_offset_7bit_signed_scaled_p): Move earlier in the file.
      	(aarch64_get_separate_components): New function.
      	(aarch64_get_next_set_bit): Likewise.
      	(aarch64_components_for_bb): Likewise.
      	(aarch64_disqualify_components): Likewise.
      	(aarch64_emit_prologue_components): Likewise.
      	(aarch64_emit_epilogue_components): Likewise.
      	(aarch64_set_handled_components): Likewise.
      	(aarch64_process_components): Likewise.
      	(TARGET_SHRINK_WRAP_GET_SEPARATE_COMPONENTS,
      	TARGET_SHRINK_WRAP_COMPONENTS_FOR_BB,
      	TARGET_SHRINK_WRAP_DISQUALIFY_COMPONENTS,
      	TARGET_SHRINK_WRAP_EMIT_PROLOGUE_COMPONENTS,
      	TARGET_SHRINK_WRAP_EMIT_EPILOGUE_COMPONENTS,
      	TARGET_SHRINK_WRAP_SET_HANDLED_COMPONENTS): Define.
      
      From-SVN: r243200
      Kyrylo Tkachov committed
    • Move rebuild_cfg to the end of build_ssa_passes · 8a87dced
      2016-12-02  Martin Jambor  <mjambor@suse.cz>
      
      	* passes.def: Move pass_rebuild_cgraph_edges to the end of
      	pass_build_ssa_passes.
      
      From-SVN: r243199
      Martin Jambor committed
    • alpha.md (exception_receiver): Copy alpha_gp_ave_rtx return value. · 2e3af7e2
      	* config/alpha/alpha.md (exception_receiver): Copy
      	alpha_gp_ave_rtx return value.
      
      From-SVN: r243197
      Uros Bizjak committed
    • Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several… · d2c82d98
      Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection for several include directories that may be relative...
      
      	* Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
      	for several include directories that may be relative to sysroot.
      	* config/i386/x-mingw32 (gplus_includedir): Define.
      	(gplus_tool_includedir, gplus_backward_include_dir): Likewise.
      	(native_system_includedir): Likewise.
      	* config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
      	override if TARGET_SYSTEM_ROOT is defined.
      	(NATIVE_SYSTEM_HEADER_DIR): Likewise.
      
      From-SVN: r243196
      Tadek Kijkowski committed
    • re PR target/70322 (STV doesn't optimize andn) · 17c69eff
      	PR target/70322
      	* config/i386/i386.c (dimode_scalar_to_vector_candidate_p): Handle
      	NOT.
      	(dimode_scalar_chain::compute_convert_gain): Likewise.
      	(dimode_scalar_chain::convert_insn): Likewise.
      	* config/i386/i386.md (*one_cmpldi2_doubleword): New
      	define_insn_and_split.
      	(one_cmpl<mode>2): Use SWIM1248x iterator instead of SWIM.
      
      	* gcc.target/i386/pr70322-1.c: New test.
      	* gcc.target/i386/pr70322-2.c: New test.
      	* gcc.target/i386/pr70322-3.c: New test.
      
      From-SVN: r243195
      Jakub Jelinek committed
    • re PR target/78614 (ICE error: invalid rtl sharing found in the insn… · eb61d07e
      re PR target/78614 (ICE error: invalid rtl sharing found in the insn (verify_rtx_sharing) gcc/emit-rtl.c:2743)
      
      	PR target/78614
      	* rtl.c (copy_rtx): Don't clear used flag here.
      	(shallow_copy_rtx_stat): Clear used flag here unless code the rtx
      	is shareable.
      	* simplify-rtx.c (simplify_replace_fn_rtx): When copying rtx with
      	'E' in format, copy all vectors.
      	* emit-rtl.c (copy_insn_1): Don't clear used flag here.
      	* valtrack.c (cleanup_auto_inc_dec): Likewise.
      	* config/rs6000/rs6000.c (rs6000_frame_related): Likewise.
      
      From-SVN: r243194
      Jakub Jelinek committed
    • Added support for ARMV8-M Security Extension cmse_nonsecure_caller intrinsic · 8261e476
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm-builtins.c (arm_builtins): Define
      	ARM_BUILTIN_CMSE_NONSECURE_CALLER.
      	(bdesc_2arg): Add line for cmse_nonsecure_caller.
      	(arm_init_builtins): Handle cmse_nonsecure_caller.
      	(arm_expand_builtin): Likewise.
      	* config/arm/arm_cmse.h (cmse_nonsecure_caller): New.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse-1.c: Add test for
      	cmse_nonsecure_caller.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243193
      Andre Vieira committed
    • ARMv8-M Security Extension's cmse_nonsecure_call: use __gnu_cmse_nonsecure_call · c92e08e3
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (detect_cmse_nonsecure_call): New.
      	(cmse_nonsecure_call_clear_caller_saved): New.
      	(arm_reorg): Use cmse_nonsecure_call_clear_caller_saved.
      	(arm_function_ok_for_sibcall): Disable sibcalls for
      	cmse_nonsecure_call.
      	* config/arm/arm-protos.h (detect_cmse_nonsecure_call): New.
      	* config/arm/arm.md (call): Handle cmse_nonsecure_entry.
      	(call_value): Likewise.
      	(nonsecure_call_internal): New.
      	(nonsecure_call_value_internal): New.
      	* config/arm/thumb1.md (*nonsecure_call_reg_thumb1_v5): New.
      	(*nonsecure_call_value_reg_thumb1_v5): New.
      	* config/arm/thumb2.md (*nonsecure_call_reg_thumb2): New.
      	(*nonsecure_call_value_reg_thumb2): New.
      	* config/arm/unspecs.md (UNSPEC_NONSECURE_MEM): New.
      
          libgcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	       Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/cmse_nonsecure_call.S: New.
      	* config/arm/t-arm: Compile cmse_nonsecure_call.S
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse.exp: Run tests in mainline dir.
      	* gcc.target/arm/cmse/cmse-9.c: Added some extra tests.
      	* gcc.target/arm/cmse/cmse-14.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-4.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-5.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-6.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-7.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-8.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-9.c: New.
      	* gcc.target/arm/cmse/baseline/bitfield-and-union-1.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-11.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-13.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-6.c: New.
      	* gcc.target/arm/cmse/baseline/union-1.c: New.
      	* gcc.target/arm/cmse/baseline/union-2.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-4.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-5.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-6.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-7.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-8.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-9.c: New.
      	* gcc.target/arm/cmse/mainline/bitfield-and-union-1.c: New.
      	* gcc.target/arm/cmse/mainline/union-1.c: New.
      	* gcc.target/arm/cmse/mainline/union-2.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-8.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-13.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-7.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-8.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243192
      Andre Vieira committed
    • Handling ARMv8-M Security Extension's cmse_nonsecure_call attribute · 32ce1e4f
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (gimplify.h): New include.
      	(arm_handle_cmse_nonsecure_call): New.
      	(arm_attribute_table): Added cmse_nonsecure_call.
      	(arm_comp_type_attributes): Deny compatibility of function types
      	with without the cmse_nonsecure_call attribute.
      	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse-3.c: Add tests.
      	* gcc.target/arm/cmse/cmse-4.c: Add tests.
      	* gcc.target/arm/cmse/cmse-15.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243191
      Andre Vieira committed
    • ARMv8-M Security Extension's cmse_nonsecure_entry: clear registers · de954d6a
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (output_return_instruction): Clear
      	registers.
      	(thumb2_expand_return): Likewise.
      	(thumb1_expand_epilogue): Likewise.
      	(thumb_exit): Likewise.
      	(arm_expand_epilogue): Likewise.
      	(cmse_nonsecure_entry_clear_before_return): New.
      	(comp_not_to_clear_mask_str_un): New.
      	(compute_not_to_clear_mask): New.
      	* config/arm/thumb1.md (*epilogue_insns): Change length attribute.
      	* config/arm/thumb2.md (*thumb2_return): Disable for
      	cmse_nonsecure_entry functions.
      	(*thumb2_cmse_entry_return): Duplicate thumb2_return pattern for
      	cmse_nonsecure_entry functions.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse.exp: Test different multilibs separate.
      	* gcc.target/arm/cmse/struct-1.c: New.
      	* gcc.target/arm/cmse/bitfield-1.c: New.
      	* gcc.target/arm/cmse/bitfield-2.c: New.
      	* gcc.target/arm/cmse/bitfield-3.c: New.
      	* gcc.target/arm/cmse/baseline/cmse-2.c: New.
      	* gcc.target/arm/cmse/baseline/softfp.c: New.
      	* gcc.target/arm/cmse/mainline/soft/cmse-5.c: New.
      	* gcc.target/arm/cmse/mainline/hard/cmse-5.c: New.
      	* gcc.target/arm/cmse/mainline/hard-sp/cmse-5.c: New.
      	* gcc.target/arm/cmse/mainline/softfp/cmse-5.c: New.
      	* gcc.target/arm/cmse/mainline/softfp-sp/cmse-5.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243190
      Andre Vieira committed
    • ARMv8-M Security Extension's cmse_nonsecure_entry: __acle_se label and bxns · 9ad1f699
      return
      
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (use_return_insn): Change to return with  bxns
      	when cmse_nonsecure_entry.
      	(output_return_instruction): Likewise.
      	(arm_output_function_prologue): Likewise.
      	(thumb_pop): Likewise.
      	(thumb_exit): Likewise.
      	(thumb2_expand_return): Assert that entry functions always have simple
      	returns.
      	(arm_expand_epilogue): Handle entry functions.
      	(arm_function_ok_for_sibcall): Disable sibcall for entry functions.
      	(arm_asm_declare_function_name): New.
      	* config/arm/arm-protos.h (arm_asm_declare_function_name): New.
      	* config/arm/elf.h (ASM_DECLARE_FUNCTION_NAME): Redefine to
      	use arm_asm_declare_function_name.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      		Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse-4.c: New.
      	* gcc.target/arm/cmse/cmse-9.c: New.
      	* gcc.target/arm/cmse/cmse-10.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243189
      Andre Vieira committed
    • Handling ARMv8-M Security Extension's cmse_nonsecure_entry attribute · 97b0656d
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/arm.c (arm_handle_cmse_nonsecure_entry): New.
      	(arm_attribute_table): Added cmse_nonsecure_entry
      	(arm_compute_func_type): Handle cmse_nonsecure_entry.
      	(cmse_func_args_or_return_in_stack): New.
      	(arm_handle_cmse_nonsecure_entry): New.
      	* config/arm/arm.h (ARM_FT_CMSE_ENTRY): New macro define.
      	(IS_CMSE_ENTRY): Likewise.
      	* doc/extend.texi (ARM ARMv8-M Security Extensions): New attribute.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse-3.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243188
      Andre Vieira committed
    • Add support for ARMv8-M's Secure Extensions flag and intrinsics · de7b5723
          gcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config.gcc (extra_headers): Added arm_cmse.h.
      	* config/arm/arm-arches.def (ARM_ARCH):
      	(armv8-m): Add FL2_CMSE.
      	(armv8-m.main): Likewise.
      	(armv8-m.main+dsp): Likewise.
      	* config/arm/arm-c.c
      	(arm_cpu_builtins): Added __ARM_FEATURE_CMSE macro.
      	* config/arm/arm-flags.h: Define FL2_CMSE.
      	* config/arm.c (arm_arch_cmse): New.
      	(arm_option_override): New error for unsupported cmse target.
      	* config/arm/arm.h (arm_arch_cmse): New.
      	* config/arm/arm.opt (mcmse): New.
      	* config/arm/arm_cmse.h: New file.
      	* doc/invoke.texi (ARM Options): Add -mcmse.
      	* doc/sourcebuild.texi (arm_cmse_ok): Add new effective target.
      	* doc/extend.texi: Add ARMv8-M Security Extensions entry.
      
          gcc/testsuite/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	        Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* gcc.target/arm/cmse/cmse.exp: New.
      	* gcc.target/arm/cmse/cmse-1.c: New.
      	* gcc.target/arm/cmse/cmse-12.c: New.
      	* lib/target-supports.exp
      	(check_effective_target_arm_cmse_ok): New.
      
          libgcc/ChangeLog:
          2016-12-02  Andre Vieira  <andre.simoesdiasvieira@arm.com>
      	    Thomas Preud'homme  <thomas.preudhomme@arm.com>
      
      	* config/arm/t-arm (HAVE_CMSE): New.
      	* config/arm/cmse.c: New.
      
      
      Co-Authored-By: Thomas Preud'homme <thomas.preudhomme@arm.com>
      
      From-SVN: r243187
      Andre Vieira committed
    • avr.c: Fix coding rule glitches. · f1bca06f
      	* config/avr/avr.c: Fix coding rule glitches.
      
      From-SVN: r243186
      Georg-Johann Lay committed
    • c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA... · c5af52eb
      	gcc/c/
      	* c-parser.c (c_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
      	EXIT_DATA,WAIT} are not used in compound statements.
      	(c_parser_oacc_enter_exit_data): Update diagnostics.
      
      	gcc/cp/
      	* parser.c (cp_parser_oacc_enter_exit_data): Update diagnostics.
      	(cp_parser_pragma): Error when PRAGMA_OACC_{ENTER_DATA,
      	EXIT_DATA,WAIT} are not used in compound statements.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/data-2.c: Adjust test.
      	* c-c++-common/goacc/executeables-1.c: New test.
      	* g++.dg/goacc/data-1.C: Adjust test.
      
      
      Co-Authored-By: James Norris <jnorris@codesourcery.com>
      
      From-SVN: r243185
      Cesar Philippidis committed
    • [hsa] Exclude parallel outlines from hsa_callable_functions_p · 69a71a6d
      2016-12-09  Martin Jambor  <mjambor@suse.cz>
      
      	* hsa.c (hsa_callable_function_p): Return false for artificial
      	functions.
      
      From-SVN: r243184
      Martin Jambor committed
    • [Patch 2/2 PR78561] Recalculate constant pool size before emitting it · 04c452f4
      gcc/
      
      	PR rtl-optimization/78561
      	* varasm.c (recompute_pool_offsets): New.
      	(output_constant_pool): Call it.
      
      gcc/testsuite/
      
      	PR rtl-optimization/78561
      	* gcc.target/aarch64/pr78561.c: New.
      
      From-SVN: r243183
      James Greenhalgh committed
    • [Patch 1/2 PR78561] Rename get_pool_size to get_pool_size_upper_bound · 474bbda1
      gcc/
      
      	PR rtl-optimization/78561
      	* config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p) Rename
      	get_pool_size to get_pool_size_upper_bound.
      	(rs6000_stack_info): Likewise.
      	(rs6000_emit_prologue): Likewise.
      	(rs6000_elf_declare_function_name): Likewise.
      	(rs6000_set_up_by_prologue): Likewise.
      	(rs6000_can_eliminate): Likewise, reformat spaces to tabs.
      	* output.h (get_pool_size): Rename to...
      	(get_pool_size_upper_bound): ...This.
      	* varasm.c (get_pool_size): Rename to...
      	(get_pool_size_upper_bound): ...This.
      
      From-SVN: r243182
      James Greenhalgh committed
    • [RTEMS] Use spin lock for pool management · e7a7f4be
      libgomp/
      
      	* libgomp/config/rtems/pool.h (gomp_thread_pool_reservoir): Use
      	pthread_spinlock_t instead of gomp_mutex_t lock.
      	(gomp_get_thread_pool): Likewise.
      	(gomp_release_thread_pool): Likewise.
      	* libgomp/config/rtems/proc.c (allocate_thread_pool_reservoir):
      	Likewise.
      
      From-SVN: r243181
      Sebastian Huber committed
    • match.pd: Add new pattern: (cond (cmp (convert? · 714445ae
      	* match.pd: Add new pattern:
      	(cond (cmp (convert? x) c1) (op x c2) c3) -> (op (minmax x c1) c2).
      	gcc/testsuite
      	* gcc.dg/fold-bopcond-1.c: New test.
      	* gcc.dg/fold-bopcond-2.c: New test.
      
      From-SVN: r243180
      Bin Cheng committed
    • [RTEMS] Fix libgomp for nthreads == 1 · d313d52c
      libgomp/
      
              * config/rtems/pool.h (gomp_get_thread_pool): Return proper
              thread pool in case nthreads == 1.
      
      From-SVN: r243179
      Sebastian Huber committed
    • call.c (add_function_candidate): Also exclude inherited ctors that take a type… · 310a7f96
      call.c (add_function_candidate): Also exclude inherited ctors that take a type reference-related to the derived...
      
      	* call.c (add_function_candidate): Also exclude inherited ctors
      	that take a type reference-related to the derived class.
      
      From-SVN: r243178
      Jason Merrill committed
    • diagnostic.c (diagnostic_report_diagnostic): Remove extraneous braces. · 03fd1ef6
      	* diagnostic.c (diagnostic_report_diagnostic): Remove extraneous
      	braces.
      
      From-SVN: r243177
      Nathan Sidwell committed
    • S/390: Fix setmem-long test. · d003d97f
      Adding a " in the scan-assembler pattern is necessary because of a
      recent change in print-rtl.c.
      
      gcc/testsuite/ChangeLog:
      
      2016-12-02  Dominik Vogt  <vogt@linux.vnet.ibm.com>
      
      	* gcc.target/s390/md/setmem_long-1.c: Fix test.
      
      From-SVN: r243176
      Dominik Vogt committed
    • re PR middle-end/78328 (wrong wording for unbounded alloc case in -Walloca-larger-than note) · cc9037a6
      	PR middle-end/78328
      	* gimple-ssa-warn-alloca.c (alloca_call_type): Handle
      	VR_ANTI_RANGE.
      
      From-SVN: r243174
      Aldy Hernandez committed