Commit Graph

145496 Commits

Author SHA1 Message Date
Bin Cheng 00f615afef re PR tree-optimization/70771 (ICE on valid code at -O3 on x86_64-linux-gnu in operator[], at vec.h:714)
PR tree-optimization/70771
	PR tree-optimization/70775
	* tree-if-conv.c (if_convertible_phi_p): Remove check on special
	virtual PHI nodes.  Delete parameter.
	(if_convertible_loop_p_1): Delete argument to above function.
	(predicate_all_scalar_phis): Delete code handling single-argument
	PHIs.
	(tree_if_conversion): Mark and update virtual SSA.

	gcc/testsuite/ChangeLog
	PR tree-optimization/70771
	PR tree-optimization/70775
	* gcc.dg/pr70771.c: New test.
	* gcc.dg/pr70771.c: New test.

From-SVN: r235436
2016-04-26 11:10:47 +00:00
Rainer Orth 901f29c8c9 Support .largecomm with Solaris as (PR target/61821)
PR target/61821
	* config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
	(x86_elf_aligned_common): Rename to ...
	(x86_elf_aligned_decl_common): ... this.
	Add decl arg.  Switch to .lbss for largecomm object.  Use
	LARGECOMM_SECTION_ASM_OP.
	* config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
	renaming.
	* config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
	(ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
	Pass new decl arg.
	* config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
	[!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.

From-SVN: r235435
2016-04-26 10:10:33 +00:00
Rainer Orth b2eb4ed5aa Support .lbss etc. sections with Solaris as (PR target/59407)
PR target/59407
	* config/i386/i386.c (SECTION_LARGE): Define.
	(x86_64_elf_select_section): Set it for large data/bss sections.
	Only clear SECTION_WRITE for .lrodata.
	(x86_64_elf_section_type_flags): Set SECTION_LARGE for large
	data/bss sections.
	* config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
	* varasm.c (default_elf_asm_named_section): Grow flagchars.
	[MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
	SECTION_MACH_DEP.
	* doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
	* doc/tm.texi: Regenerate.

From-SVN: r235434
2016-04-26 10:06:16 +00:00
Rainer Orth ec1a9e7dab Compile libcilkrts with -funwind-tables (PR target/60290)
PR target/60290
	* Makefile.am (GENERAL_FLAGS): Add -funwind-tables.
	* Makefile.in: Regenerate.

From-SVN: r235432
2016-04-26 08:55:02 +00:00
Bernd Schmidt 218155e7af * gcc.target/i386/lzcnt-1.c: Allow a different lzcntw output register.
From-SVN: r235431
2016-04-26 08:48:14 +00:00
Jakub Jelinek 7db11a5a32 re PR bootstrap/70704 (AIX bootstrap comparison failure)
PR bootstrap/70704
	* configure.ac (--enable-stage1-checking): For --disable-checking or
	implicit --enable-checking, make sure extra flag matches in between
	stage1 and later checking.
	* configure: Regenerated.
gcc/
	* configure.ac (--enable-checking): Document extra flag, for
	non-release builds default to --enable-checking=yes,extra.
	If misc checking and extra checking, define CHECKING_P to 2 instead
	of 1.
	* common.opt (fchecking=): Add.
	* doc/invoke.texi (-fchecking=): Document.
	* doc/install.texi: Document --enable-checking changes.
	* configure: Regenerated.
	* config.in: Regenerated.
gcc/cp/
	* pt.c (build_non_dependent_expr): Use flag_checking > 1 instead of
	just flag_checking.

From-SVN: r235430
2016-04-26 08:10:43 +02:00
GCC Administrator 513d5d7f55 Daily bump.
From-SVN: r235428
2016-04-26 00:16:23 +00:00
Uros Bizjak f729943b89 i386.md (*movxi_internal_avx512f): Use insn type attribute instead of which_alternative.
* config/i386/i386.md (*movxi_internal_avx512f): Use insn type
	attribute instead of which_alternative.
	* config/i386/sse.md (*mov<mode>_internal): Ditto.
	Use EXT_REX_SSE_REG_P where appropriate.

From-SVN: r235422
2016-04-25 23:57:42 +02:00
Joseph Myers d01617cab8 * sv.po: Update.
From-SVN: r235419
2016-04-25 21:41:18 +01:00
Uros Bizjak eebe7d1c7f predicates.md (const0_operand): Do not match const_wide_int code.
* config/i386/predicates.md (const0_operand): Do not match
	const_wide_int code.
	(const1_operand): Ditto.

From-SVN: r235417
2016-04-25 21:20:45 +02:00
Uros Bizjak a7d56fb840 i386.md (*movoi_internal_avx): Set mode attribute to XI for SSE constm1 operands and TARGET_AVX512VL.
* config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
	for SSE constm1 operands and TARGET_AVX512VL.
	(*movti_internal): Ditto.
	(*mov<mode>_or): Use constm1_operand predicate.
	* config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
	for SSE vector_all_ones operands and TARGET_AVX512VL.
	* config/i386/predicates.md (constm1_operand): New predicate.
	* config/i386/i386.c (standard_sse_constant_opcode): Simplify
	emission of constant -1 load.

From-SVN: r235416
2016-04-25 21:15:26 +02:00
Jason Merrill e6e860a2c9 * gdbinit.in: Skip is-a.h.
From-SVN: r235415
2016-04-25 13:44:15 -04:00
Jason Merrill d067e05f0e Implement C++17 [[maybe_unused]] attribute.
gcc/
	* attribs.c (register_scoped_attributes): Fix logic.
	* attribs.h: Declare register_scoped_attributes.
c-family/
	* c-common.c (handle_unused_attribute): Accept CONST_DECL.
	No longer static.
	* c-common.h: Declare it.
	* c-lex.c (c_common_has_attribute): Add maybe_unused.
cp/
	* tree.c (std_attribute_table): New.
	(init_tree): Register it.

From-SVN: r235414
2016-04-25 13:21:49 -04:00
William Schmidt 4dfaa96319 Correct ChangeLog entry
From-SVN: r235413
2016-04-25 16:18:00 +00:00
Bill Schmidt 7bb66bac95 rs6000-builtin.def: Correct pasto error for stxvd2x and stxvw4x built-in functions.
2016-04-25  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* rs6000-builtin.def: Correct pasto error for stxvd2x and stxvw4x
	built-in functions.

From-SVN: r235412
2016-04-25 16:17:26 +00:00
H.J. Lu 3dd7e09253 Revert the last change in libatomic
Need to properly check if -march=i486 is really needed for -m32 build
of libatomic on Linux/x86 and Linux/x86-64.

	PR target/70454
	* configure.tgt (XCFLAGS): Revert the last change.

From-SVN: r235411
2016-04-25 05:41:43 -07:00
DJ Delorie 9c8a71e668 msp430.md (ashlhi3): Optimize one bit shifts.
* config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
	(ashrhi3): Likewise.
	(lshrhi3): Likewise.

From-SVN: r235410
2016-04-25 11:59:44 +00:00
Nick Clifton 2de1cf8c4b cmpd.c (__mspabi_cmpf): Add prototype.
* config/msp430/cmpd.c (__mspabi_cmpf): Add prototype.
	(__mspabi_cmpd): Likewise.
	* config/msp430/floathidf.c (__floathidf): Likewise.
	* config/msp430/floathisf.c (__floathisf): Likewise
	* config/msp430/floatunhidf.c (__floatunssidf): Likewise.
	* config/msp430/floatunhisf.c (__floatunshisf): Likewise.
	* config/msp430/lib2shift.c (__ashlsi3): Take a signed char as the
	second parameter.
	(__ashrsi3): Likewise.

From-SVN: r235409
2016-04-25 11:13:35 +00:00
Richard Biener ab99f46749 re PR tree-optimization/70780 (wrong code at -O2 and -O3 on x86_64-linux-gnu)
2016-04-25  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70780
	* tree-ssa-pre.c (compute_antic_aux): Also return true if the block
	wasn't visited yet.
	(compute_antic): Mark blocks with abnormal preds as visited as
	they have a final empty antic-in solution already.

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

From-SVN: r235407
2016-04-25 10:49:55 +00:00
Michael Collison e52477c7e2 ChangeLog (2016-04-25): Fix ChangeLog formatting.
2016-04-25  Michael Collison  <michael.collison@linaro.org>
	* ChangeLog(2016-04-25): Fix ChangeLog formatting.

From-SVN: r235403
2016-04-25 05:57:07 +00:00
Michael Collison 93c590ee1a neon.md (widen_<us>sum<mode>): New patterns where mode is VQI to improve mixed mode vectorization.
2016-04-25  Michael Collison  <michael.collison@linaro.org>

    * config/arm/neon.md (widen_<us>sum<mode>): New patterns where
    mode is VQI to improve mixed mode vectorization.
    * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
    define_insn to match low half of signed vaddw.
    * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
    define_insn to match high half of signed vaddw.
    * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
    define_insn to match low half of unsigned vaddw.
    * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
    define_insn to match high half of unsigned vaddw.
    * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
    (arm_simd_check_vect_par_cnst_half_p): Likewise.
    * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
    for new function.
    (arm_simd_check_vect_par_cnst_half_p): Likewise.
    * config/arm/predicates.md (vect_par_constant_high): Support
    big endian and simplify by calling
    arm_simd_check_vect_par_cnst_half
    (vect_par_constant_low): Likewise.
    * testsuite/gcc.target/arm/neon-vaddws16.c: New test.
    * testsuite/gcc.target/arm/neon-vaddws32.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu16.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu32.c: New test.
    * testsuite/gcc.target/arm/neon-vaddwu8.c: New test.
    * testsuite/lib/target-supports.exp
      (check_effective_target_vect_widen_sum_hi_to_si_pattern): Indicate
      that arm neon support vector widen sum of HImode TO SImode.

From-SVN: r235402
2016-04-25 05:03:09 +00:00
GCC Administrator 151a16073f Daily bump.
From-SVN: r235401
2016-04-25 00:16:25 +00:00
Uros Bizjak 9bb069e586 i386.md (*lea<mode>_general_4): Use const_0_to_3_operand predicate for operand 2.
* config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
	predicate for operand 2.

From-SVN: r235397
2016-04-25 00:03:15 +02:00
Uros Bizjak 55284a77e6 i386-protos.h (standard_sse_constant_p): Add machine_mode argument.
* config/i386/i386-protos.h (standard_sse_constant_p): Add
	machine_mode argument.
	* config/i386/i386.c (standard_sse_constant_p): Return 2 for
	constm1_rtx operands.  For VOIDmode constants, get mode from
	pred_mode.  Check mode size if the mode is supported by ABI.
	(standard_sse_constant_opcode): Do not use standard_constant_p.
	Strictly check ABI support for all-ones operands.
	(ix86_legitimate_constant_p): Handle TImode, OImode and XImode
	immediates. Update calls to standard_sse_constant_p.
	(ix86_expand_vector_move): Update calls to standard_sse_constant_p.
	(ix86_rtx_costs): Ditto.
	* config/i386/i386.md (*movxi_internal_avx512f): Use
	nonimmediate_or_sse_const_operand instead of vector_move_operand.
	Use (v,BC) alternative instead of (v,C). Use register_operand
	checks instead of MEM_P.
	(*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
	of vector_move_operand.  Add (v,BC) alternative and corresponding avx2
	isa attribute.  Use register_operand checks instead of MEM_P.
	(*movti_internal): Use nonimmediate_or_sse_const_operand for
	TARGET_SSE.  Improve TARGET_SSE insn constraint.  Add (v,BC)
	alternative and corresponding sse2 isa attribute.
	(*movtf_internal, *movdf_internal, *movsf_interal): Update calls
	to standard_sse_constant_p.
	(FP constant splitters): Ditto.
	* config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
	(C): Ditto.
	* config/i386/predicates.md (constm1_operand): Remove.
	(nonimmediate_or_sse_const_operand): Rewrite using RTX.
	* config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
	vector_all_ones_operand instead of constm1_operand.


Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r235396
2016-04-24 22:58:02 +02:00
Jonathan Wakely a635cdb2cc libstdc++/70762 fix fallback implementation of nonexistent_path
PR libstdc++/70762
	* testsuite/util/testsuite_fs.h (__gnu_test::nonexistent_path): Use
	static counter to return a different path on every call.

From-SVN: r235395
2016-04-24 19:06:54 +01:00
Trevor Saunders e4dbabfe54 make avail_stores a vec<rtx_insn *>
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* print-rtl.c (print_rtx_insn_vec): New function.
	* print-rtl.h: New prototype.
	* store-motion.c (struct st_expr): Make avail_stores a vector.
	(st_expr_entry): Adjust.
	(free_st_expr_entry): Likewise.
	(print_store_motion_mems): Likewise.
	(find_moveable_store): Likewise.
	(compute_store_table): Likewise.
	(delete_store): Likewise.
	(build_store_vectors): Likewise.

From-SVN: r235394
2016-04-24 08:45:38 +00:00
Trevor Saunders 5d911cafe9 stop using rtx_insn_list in reorg.c
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* reorg.c (try_merge_delay_insns): Make merged_insns a vector.

From-SVN: r235393
2016-04-24 08:45:13 +00:00
Trevor Saunders 12e109d14b add some utility methods to vec
gcc/ChangeLog:

2016-04-24  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* vec.h (vec_safe_contains): New function.
	(vec::contains): Likewise.
	(vec::begin): Likewise.
	(vec::end): Likewise.

From-SVN: r235392
2016-04-24 07:47:38 +00:00
GCC Administrator dc3d45f24d Daily bump.
From-SVN: r235390
2016-04-24 00:16:23 +00:00
Jakub Jelinek d6c1a7a7c7 re PR sanitizer/70712 (False positive from AddressSanitizer with use of 'alignas')
PR sanitizer/70712
	* cfgexpand.c (expand_stack_vars): Fix typo.

	* c-c++-common/asan/pr70712.c: New test.

From-SVN: r235384
2016-04-23 07:28:16 +02:00
Ian Lance Taylor 0e94da57dc compiler: Expose runtime code through Func_expression.
Enables us to easily check if a Call_expression is a call to a runtime
    function and, if so, which runtime function is corresponds to.
    This will be used during escape analysis.
    
    Reviewed-on: https://go-review.googlesource.com/18544

From-SVN: r235383
2016-04-23 04:58:00 +00:00
Tim Shen 216f7526fe re PR libstdc++/70745 (Wrong handling of regex_constant::match_not_eow and regex_constant::match_not_bow)
PR libstdc++/70745
	* include/bits/regex_executor.tcc (_Executor<>::_M_word_boundary):
	Fix the match_not_bow and match_not_eow behavior.
	* testsuite/28_regex/regression.cc: Add testcase.

From-SVN: r235382
2016-04-23 03:58:37 +00:00
Trevor Saunders ab0fc037f0 add basic .gitattributes files to notice whitespace issues
gcc/testsuite/ChangeLog:

2016-04-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* .gitattributes: New file.

/ChangeLog:

2016-04-22  Trevor Saunders  <tbsaunde+gcc@tbsaunde.org>

	* .gitattributes: New file.

From-SVN: r235381
2016-04-23 02:37:43 +00:00
Ian Lance Taylor a38f74e823 cmd/go: bring in final version of gccgo pkg-config support
This updates gccgo to the final version of https://golang.org/cl/18790,
    by Michael Hudson-Doyle.
    
    Update golang/go#11739.
    
    Reviewed-on: https://go-review.googlesource.com/22400

From-SVN: r235380
2016-04-23 00:41:03 +00:00
GCC Administrator cd32366081 Daily bump.
From-SVN: r235379
2016-04-23 00:16:21 +00:00
Segher Boessenkool c048fa95cd Add myself as maintainer for the PowerPC port
* MAINTAINERS (rs6000/powerpc port): Add myself.

From-SVN: r235373
2016-04-22 23:18:49 +02:00
Christophe Lyon 2aa64824cc [testsuite] gcc-dg: handle all return values when shouldfail is set
2016-04-22  Christophe Lyon  <christophe.lyon@linaro.org>

	* lib/gcc-dg.exp (${tool}_load): Add default return value handler.

From-SVN: r235372
2016-04-22 21:28:58 +02:00
Jason Merrill 9aa36ae522 * c-cppbuiltin.c (c_cpp_builtins): Fix __cpp_range_based_for.
From-SVN: r235371
2016-04-22 12:16:27 -04:00
Jason Merrill 76f9244ed0 * parser.c (cp_parser_perform_range_for_lookup): Decay the array.
From-SVN: r235370
2016-04-22 12:16:21 -04:00
Dominique d'Humieres e7e12d92e3 submodule_14.f08: Add cleanup-submodules.
2016-04-22  Dominique d'Humieres  <dominiq@lps.ens.fr>

	* gfortran.dg/submodule_14.f08: Add cleanup-submodules.
	* gfortran.dg/submodule_15.f08: Likewise.

From-SVN: r235367
2016-04-22 15:48:28 +02:00
Szabolcs Nagy 2c384ad87f [PATCH 2/2] (header usage fix) include c++ headers in system.h
2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* system.h (list, map, set, vector): Include conditionally.
	* auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
	* graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
	* ipa-icf.c (INCLUDE_LIST): Define.
	* config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
	* config/sh/sh.c (INCLUDE_VECTOR): Define.
	* config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
	(INCLUDE_LIST, INCLUDE_VECTOR): Define.
	* cp/logic.cc (INCLUDE_LIST): Define.
	* fortran/trans-common.c (INCLUDE_MAP): Define.

From-SVN: r235362
2016-04-22 11:00:42 +00:00
Szabolcs Nagy e4ccecd5d0 [PATCH 1/2] (header usage fix) remove unused system header includes
2016-04-22  Szabolcs Nagy  <szabolcs.nagy@arm.com>

	* auto-profile.c: Remove <string.h> include.
	* ipa-icf-gimple.c: Remove <list> include.
	* diagnostic.c: Remove <new> include.
	* genmatch.c: Likewise.
	* pretty-print.c: Likewise.
	* toplev.c: Likewise
	* c/c-objc-common.c: Likewise.
	* cp/error.c: Likewise.
	* fortran/error.c: Likewise.

From-SVN: r235361
2016-04-22 10:57:56 +00:00
Richard Biener 9a13d066d7 lto-streamer-in.c (input_ssa_names): Do not allocate GIMPLE_NOP for all SSA names.
2016-04-22  Richard Biener  <rguenther@suse.de>

	* lto-streamer-in.c (input_ssa_names): Do not allocate
	GIMPLE_NOP for all SSA names.
	* lto-streamer-out.c (output_ssa_names): Do not output
	SSA names that should have been released.

From-SVN: r235360
2016-04-22 09:05:10 +00:00
Richard Biener d143119205 re PR tree-optimization/70740 (ICE when compiling the Linux kernel (net/wireless/util.o))
2016-04-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70740
	* tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
	VDEF.

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

From-SVN: r235359
2016-04-22 06:59:32 +00:00
Waldemar Brodkorb b8ce3fe29d * config/m68k/linux-atomic.c: Do not include unistd.h
From-SVN: r235358
2016-04-21 23:43:43 -06:00
GCC Administrator b688836877 Daily bump.
From-SVN: r235357
2016-04-22 00:16:20 +00:00
H.J. Lu 04a63c2454 X86: Fix a typo in call_insn_operand
r231923 has

 ;; Test for a valid operand for a call instruction.
 ;; Allow constant call address operands in Pmode only.
 (define_special_predicate "call_insn_operand"
   (ior (match_test "constant_call_address_operand
 		     (op, mode == VOIDmode ? mode : Pmode)")
        (match_operand 0 "call_register_no_elim_operand")
-       (and (not (match_test "TARGET_X32"))
-	    (match_operand 0 "memory_operand"))))
+       (ior (and (not (match_test "TARGET_X32"))
+		 (match_operand 0 "sibcall_memory_operand"))
                                   ^^^^^^^^^^^^^^^^^^^^^^^ A typo.
+	    (and (match_test "TARGET_X32 && Pmode == DImode")
+		 (match_operand 0 "GOT_memory_operand")))))

"sibcall_memory_operand" should be "memory_operand".

gcc/

	PR target/70750
	* config/i386/predicates.md (call_insn_operand): Replace
	sibcall_memory_operand with memory_operand.

gcc/testsuite/

	PR target/70750
	* gcc.target/i386/pr70750-1.c: New test.
	* gcc.target/i386/pr70750-2.c: Likewise.

From-SVN: r235353
2016-04-21 15:01:34 -07:00
Patrick Palka 6e07f9aaf3 vrp: remove redundant has_single_use tests
gcc/ChangeLog:

	* tree-vrp.c (register_edge_assert_for_2): Remove redundant
	has_single_use() tests.
	(register_edge_assert_for_1): Likewise.
	(find_assert_locations_1): Check the liveness bitmap instead of
	checking has_single_use().

From-SVN: r235352
2016-04-21 21:58:08 +00:00
Patrick Palka 5c71225085 Reuse the saved_scope structures allocated by push_to_top_level
gcc/cp/ChangeLog:

	* name-lookup.c (free_saved_scope): New free list of saved_scope
	structures.
	(push_to_top_level): Attempt to reuse a saved_scope struct
	from free_saved_scope instead of allocating a new one each time.
	(pop_from_top_level_1): Chain the now-unused saved_scope structure
	onto free_saved_scope.

From-SVN: r235351
2016-04-21 21:55:35 +00:00
Joseph Myers 617d8e43f9 * sv.po: Update.
From-SVN: r235349
2016-04-21 21:59:01 +01:00