Commit Graph

135012 Commits

Author SHA1 Message Date
Michael Meissner f9ea9950e0 re PR target/64204 (gcc.dg/c11-atomic-2.c fails on powerpc 64-bit little endian after -mupper-regs patches went in)
2014-12-08  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/64204
	* config/rs6000/rs6000.c (rs6000_emit_move): Do not split TFmode
	constant moves if -mupper-regs-df.

	* config/rs6000/rs6000.md (mov<mode>_64bit_dm): Optimize moving
	0.0L to TFmode.
	(movtd_64bit_nodm): Likewise.
	(mov<mode>_32bit, FMOVE128 case): Likewise.

From-SVN: r218505
2014-12-09 03:56:28 +00:00
Sandra Loosemore 10828a0194 simplify-rtx.c (simplify_relational_operation_1): Handle simplification identities for BICS patterns.
2014-12-08  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* simplify-rtx.c (simplify_relational_operation_1): Handle
	simplification identities for BICS patterns.

	gcc/testsuite/
	* gcc.target/aarch64/bics_4.c: New.

From-SVN: r218503
2014-12-08 21:53:00 -05:00
Trevor Saunders 58dddbd21a move gimple_canonical_types htab out of gc memory
lto/

	* lto.c (read_cgraph_and_symbols): allocate gimple_canonical_types
	htab with malloc instead of ggc.

From-SVN: r218502
2014-12-09 02:30:13 +00:00
Trevor Saunders f3dba89405 remove param_is from nvptx
gcc/

	* config/nvptx/nvptx.c: Convert htabs to hash_table.

From-SVN: r218501
2014-12-09 02:30:06 +00:00
GCC Administrator 13ef90907a Daily bump.
From-SVN: r218500
2014-12-09 00:16:30 +00:00
David Edelsohn ca9f165c10 re PR target/64226 (Secondary reload incorrect TOC address)
PR target/64226
        * config/rs6000/rs6000.c (rs6000_secondary_reload_inner)
        [SYMBOL_REF]: Do not explicitly call create_TOC_reference for
        TARGET_TOC. Always use rs6000_emit_move.

From-SVN: r218497
2014-12-08 18:47:39 -05:00
Mark Wielaard bc3518da23 DWARFv5 Emit DW_TAG_atomic_type for C11 _Atomic.
This implements the DW_TAG_atomic_type for C11 _Atomic proposal as adopted
in the latest DWARF5 draft. http://dwarfstd.org/ShowIssue.php?issue=131112.1

gcc/ChangeLog

	PR debug/60782
	* dwarf2out.c (modified_type_die): Handle TYPE_QUAL_ATOMIC.

gcc/testsuite/ChangeLog

	PR debug/60782
	* gcc.dg/debug/dwarf2/atomic.c: New test.
	* gcc.dg/debug/dwarf2/stacked-qualified-types-3.c: Likewise.

include/ChangeLog

	PR debug/60782
	* dwarf2.def: Add DWARFv5 DW_TAG_atomic_type.

From-SVN: r218496
2014-12-08 22:32:23 +00:00
Jeff Law 009a34807e Fix typo in ChangeLog
From-SVN: r218495
2014-12-08 15:11:42 -07:00
David Wohlferd c475c36cf6 re PR inline-asm/61692 (ICE in extract_insn in recog.c for asm with many parameters)
PR target/61692
	* cfgexpand.c (expand_asm_operands): Count all inline asm params.

	PR target/61692
        * gcc.dg/pr61692.c: New test.

From-SVN: r218494
2014-12-08 14:58:23 -07:00
Lynn Boger eecea65c8b Added myself to Write After Approval list
From-SVN: r218491
2014-12-08 14:12:23 -06:00
David Malcolm 2a72a9538f PR jit/63854: Introduce xstrdup_for_dump
gcc/ChangeLog:
	PR jit/63854
	* cgraph.h (xstrdup_for_dump): New function.
	* cgraph.c (cgraph_node::get_create): Replace use of xstrdup
	within fprintf with xstrdup_for_dump.
	(cgraph_edge::make_speculative): Likewise.
	(cgraph_edge::resolve_speculation): Likewise.
	(cgraph_edge::redirect_call_stmt_to_callee): Likewise.
	(cgraph_node::dump): Likewise.
	* cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
	* ipa-cp.c (perhaps_add_new_callers): Likewise.
	* ipa-inline.c (report_inline_failed_reason): Likewise.
	(want_early_inline_function_p): Likewise.
	(edge_badness): Likewise.
	(update_edge_key): Likewise.
	(flatten_function): Likewise.
	(inline_always_inline_functions): Likewise.
	* ipa-profile.c (ipa_profile): Likewise.
	* ipa-prop.c (ipa_print_node_jump_functions): Likewise.
	(ipa_make_edge_direct_to_target): Likewise.
	(remove_described_reference): Likewise.
	(propagate_controlled_uses): Likewise.
	* ipa-utils.c (ipa_merge_profiles): Likewise.

From-SVN: r218490
2014-12-08 19:31:45 +00:00
David Malcolm 53b730ff90 libgccjit++.h: use indentation to show inheritance
gcc/jit/ChangeLog:
	* libgccjit++.h: Indent the forward declarations of the classes to
	show the inheritance hierarchy.

From-SVN: r218489
2014-12-08 19:05:01 +00:00
David Malcolm 0f37944592 Make jit/notes.txt better reflect current status quo
gcc/jit/ChangeLog:
	* notes.txt: Show the beginning and ending of
	recording::context::compile vs playback::context::compile.  Show
	the creation and unlinking of the tempdir.  Show toplev::finalize.
	Move "RELEASE MUTEX" to the correct location.  Show
	gcc_jit_result_release, and indicate where the
	dlopen/dlsym/dlclose occur.

From-SVN: r218488
2014-12-08 18:56:21 +00:00
Bernd Edlinger b09e592eee re PR ipa/64049 (r215898 caused wrong code at -O3)
2014-12-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/64049
        * ipa-polymorphic-call.c
        (pa_polymorphic_call_context::ipa_polymorphic_call): Allow RESULT_DECL.

testsuite/ChangeLog:
2014-12-08  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR ipa/64049
        * g++.dg/ipa/pr64049.h: New.
        * g++.dg/ipa/pr64049-1.C: New.
        * g++.dg/ipa/pr64049-2.C: New.

From-SVN: r218487
2014-12-08 18:30:15 +00:00
Alex Velenko cd8fc5ee0d Bics instruction generation for aarch64
gcc/

	* config/aarch64/aarch64.md (and_one_cmpl<mode>3_compare0_no_reuse):
	New define_insn.
	* (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse):
	Likewise.

gcc/testsuite/

	* gcc.target/aarch64/bics_3.c : New testcase.

From-SVN: r218486
2014-12-08 18:10:39 +00:00
Ian Lance Taylor 942f7f5af3 re PR go/64198 (ICE in gofrontend)
PR go/64198
compiler: Don't crash on invalid ++.

From-SVN: r218485
2014-12-08 18:05:30 +00:00
Felix Yang 58a3bd25ba arm_neon.h (vrecpe_u32, [...]): Rewrite using builtin functions.
* config/aarch64/arm_neon.h (vrecpe_u32, vrecpeq_u32): Rewrite using
        builtin functions.
        (vfma_f32, vfmaq_f32, vfmaq_f64, vfma_n_f32, vfmaq_n_f32, vfmaq_n_f64,
        vfms_f32, vfmsq_f32, vfmsq_f64): Likewise.
        (vhsub_s8, vhsub_u8, vhsub_s16, vhsub_u16, vhsub_s32, vhsub_u32,
        vhsubq_s8, vhsubq_u8, vhsubq_s16, vhsubq_u16, vhsubq_s32, vhsubq_u32,
        vsubhn_s16, vsubhn_u16, vsubhn_s32, vsubhn_u32, vsubhn_s64, vsubhn_u66,
        vrsubhn_s16, vrsubhn_u16, vrsubhn_s32, vrsubhn_u32, vrsubhn_s64,
        vrsubhn_u64, vsubhn_high_s16, vsubhn_high_u16, vsubhn_high_s32,
        vsubhn_high_u32, vsubhn_high_s64, vsubhn_high_u64, vrsubhn_high_s16,
        vrsubhn_high_u16, vrsubhn_high_s32, vrsubhn_high_u32, vrsubhn_high_s64,
        vrsubhn_high_u64): Likewise.
        * config/aarch64/iterators.md (VDQ_SI): New mode iterator.
        * config/aarch64/aarch64.md (define_c_enum "unspec"): Add UNSPEC_URECPE.
        * config/aarch64/aarch64-simd.md (aarch64_urecpe<mode>): New pattern.
        * config/aarch64/aarch64-simd-builtins.def (shsub, uhsub, subhn, rsubhn,
        subhn2, rsubhn2, urecpe): New builtins.

Co-Authored-By: Haijian Zhang <z.zhanghaijian@huawei.com>
Co-Authored-By: Jiji Jiang <jiangjiji@huawei.com>
Co-Authored-By: Pengfei Sui <suipengfei@huawei.com>

From-SVN: r218484
2014-12-08 14:19:44 +00:00
Ilya Tocar 28adf6e75e Enable non-const v64qi permutations.
gcc/
	* config/i386/i386.c (ix86_expand_vec_perm_vpermi2): Handle v64qi.
	* config/i386/sse.md (VEC_PERM_AVX2): Add v64qi.

From-SVN: r218483
2014-12-08 14:48:01 +03:00
Ilya Tocar 9f9f61155a Enable const permutations for V64QImode.
gcc/
	* config/i386/i386.c (expand_vec_perm_broadcast_1): Handle v64qi.
	(expand_vec_perm_vpermi2_vpshub2): New.
	(ix86_expand_vec_perm_const_1): Use it.
	(ix86_vectorize_vec_perm_const_ok): Handle v64qi.
	* config/i386/sse.md (VEC_PERM_CONST): Add v64qi.

From-SVN: r218482
2014-12-08 14:45:35 +03:00
Ilya Enkovich d3fb44cbf6 tree-chkp.c (chkp_build_returned_bound): Don't predict return bounds for strchr calls.
* tree-chkp.c (chkp_build_returned_bound): Don't predict
	return bounds for strchr calls.

From-SVN: r218479
2014-12-08 10:10:00 +00:00
Ilya Enkovich 985f48f7b5 tree-chkp.c (chkp_call_returns_bounds_p): New.
gcc/

	* tree-chkp.c (chkp_call_returns_bounds_p): New.
	(chkp_build_returned_bound): Use zero bounds as
	returned by calls not returning bounds.

gcc/testsuite/

	* gcc.target/i386/chkp-bndret.c: New.
	* gcc.target/i386/chkp-strchr.c: New.

From-SVN: r218478
2014-12-08 10:01:19 +00:00
Richard Biener 2625bb5df5 builtins.c (fold_builtin_0): Remove unused ignore parameter.
2014-12-08  Richard Biener  <rguenther@suse.de>

	* builtins.c (fold_builtin_0): Remove unused ignore parameter.
	(fold_builtin_1): Likewise.
	(fold_builtin_3): Likewise.
	(fold_builtin_varargs): Likewise.
	(fold_builtin_2): Likewise.  Do not fold stpcpy here.
	(fold_builtin_n): Adjust.
	(fold_builtin_stpcpy): Move to gimple-fold.c.
	(gimple_fold_builtin_stpcpy): Moved and gimplified from builtins.c.
	(gimple_fold_builtin): Fold stpcpy here.

From-SVN: r218477
2014-12-08 09:20:35 +00:00
Trevor Saunders b0122457bc don't ICE when section attribute is used on things in comdats
gcc/

	PR ipa/63621
	* symtab.c (symtab_node::verify): Check for section attribute before
	asserting something isn't in a section and a comdat group.

From-SVN: r218476
2014-12-08 00:35:33 +00:00
GCC Administrator 35efb9ac39 Daily bump.
From-SVN: r218475
2014-12-08 00:16:30 +00:00
Oleg Endo 10d1762223 re PR target/53513 ([SH] Add support for fpchg insn and improve fenv support)
gcc/testsuite/
	PR target/53513
	* gcc.target/sh/pr54602-4.c: Fix matching of rte-nop sequence.

From-SVN: r218472
2014-12-07 23:19:59 +00:00
Oleg Endo b63e26d5ef re PR target/50751 (SH Target: Displacement addressing does not work for QImode and HImode)
gcc/
	PR target/50751
	* config/sh/sh.md (extendqihi2): Allow only for TARGET_SH1.

From-SVN: r218469
2014-12-07 22:57:11 +00:00
Eric Botcazou 6c6a593dc0 compare-elim.c: Fix head comment.
* compare-elim.c: Fix head comment.
	(conforming_compare): Remove redundant test.
	(can_eliminate_compare): New function extracted from...
	(before_dom_children): ...here.  Use it, replace direct uses of
	flag_non_call_exceptions and tidy up.
	(maybe_select_cc_mode): Tidy up.

From-SVN: r218468
2014-12-07 21:55:47 +00:00
John David Anglin bbea402544 re PR testsuite/64038 (FAIL: gcc.dg/ipa/ipa-icf-5.c (test for excess errors))
PR testsuite/64038
	* gcc.dg/ipa/ipa-icf-5.c: Require c99_runtime.  Add c99_runtime options.
	* gcc.dg/ipa/ipa-icf-7.c: Likewise.

From-SVN: r218467
2014-12-07 17:48:56 +00:00
Oleg Endo 965a46d51a h8300.exp: Fix duplicated text.
gcc/testsuite/
	* gcc.target/h8300/h8300.exp: Fix duplicated text.
	* gcc.target/h8300/pragma-isr.c: Likewise.
	* gcc.target/h8300/pragma-isr2.c: Likewise.

From-SVN: r218465
2014-12-07 16:42:45 +00:00
Felix Yang a5e69cad62 aarch64-simd.md (clrsb<mode>2, [...]): New patterns.
* config/aarch64/aarch64-simd.md (clrsb<mode>2, popcount<mode>2): New
        patterns.
        * config/aarch64/aarch64-simd-builtins.def (clrsb, popcount): New
        builtins.
        * config/aarch64/arm_neon.h (vcls_s8, vcls_s16, vcls_s32, vclsq_s8,
        vclsq_s16, vclsq_s32, vcnt_p8, vcnt_s8, vcnt_u8, vcntq_p8, vcntq_s8,
        vcntq_u8): Rewrite using builtin functions.

Co-Authored-By: Shanyao Chen <chenshanyao@huawei.com>

From-SVN: r218464
2014-12-07 15:01:23 +00:00
Christophe Lyon 07bdf21b53 [ARM,AArch64][testsuite] Fix vaddl and vaddw tests
2014-12-07  Christophe Lyon  <christophe.lyon@linaro.org>

	* gcc.target/aarch64/advsimd-intrinsics/vaddhn.c: Actually execute
	the test.
	* gcc.target/aarch64/advsimd-intrinsics/vaddl.c: Actually execute
	the test. Fix expected output.
	* gcc.target/aarch64/advsimd-intrinsics/vaddw.c: Likewise.

From-SVN: r218463
2014-12-07 10:40:58 +01:00
Jan Hubicka 3cb251b779 symtab.c (symtab_node::equal_address_to): New function.
* symtab.c (symtab_node::equal_address_to): New function.
	* cgraph.h (symtab_node::equal_address_to): Declare.
	* fold-const.c (fold_comparison, fold_binary_loc): Use it.

	* c-family/c-common.c: Refuse weaks for symbols that can not change
	visibility.

	* gcc.dg/addr_equal-1.c: New testcase.

From-SVN: r218462
2014-12-07 07:35:11 +00:00
Jonathan Wakely 8c8d3b4c12 * doc/invoke.texi (Warning Options): Fix spelling and grammar.
From-SVN: r218461
2014-12-07 00:51:37 +00:00
GCC Administrator 4cbc054ed6 Daily bump.
From-SVN: r218460
2014-12-07 00:16:29 +00:00
James Greenhalgh 50e9ff8378 extend jump thread for finite state automata
PR tree-optimization/54742
	* params.def (max-fsm-thread-path-insns, max-fsm-thread-length,
	max-fsm-thread-paths): New.

	* doc/invoke.texi (max-fsm-thread-path-insns, max-fsm-thread-length,
	max-fsm-thread-paths): Documented.

	* tree-cfg.c (split_edge_bb_loc): Export.
	* tree-cfg.h (split_edge_bb_loc): Declared extern.

	* tree-ssa-threadedge.c (simplify_control_stmt_condition): Restore the
	original value of cond when simplification fails.
	(fsm_find_thread_path): New.
	(fsm_find_control_statement_thread_paths): New.
	(thread_through_normal_block): Call find_control_statement_thread_paths.

	* tree-ssa-threadupdate.c (dump_jump_thread_path): Pretty print
	EDGE_FSM_THREAD.
	(verify_seme): New.
	(duplicate_seme_region): New.
	(thread_through_all_blocks): Generate code for EDGE_FSM_THREAD edges
	calling duplicate_seme_region.

	* tree-ssa-threadupdate.h (jump_thread_edge_type): Add EDGE_FSM_THREAD.

	* testsuite/gcc.dg/tree-ssa/ssa-dom-thread-6.c: New test.
	* testsuite/gcc.dg/tree-ssa/ssa-dom-thread-7.c: New test.

Co-Authored-By: Brian Rzycki <b.rzycki@samsung.com>
Co-Authored-By: Sebastian Pop <s.pop@samsung.com>

From-SVN: r218451
2014-12-06 19:19:37 +00:00
Tobias Burnus b5a9fd3e94 error.c (gfc_error_check): Use bool not int.
2014-12-06  Tobias Burnus  <burnus@net-b.de>

        * error.c (gfc_error_check): Use bool not int.
        * gfortran.h (gfc_error_check): Update prototype.
        * match.c (gfc_match_if): Update call.
        * parse.c (decode_statement, decode_omp_directive,
        decode_gcc_attribute): Ditto.

From-SVN: r218450
2014-12-06 17:53:40 +01:00
Tobias Burnus 0f447a6e33 error.c (gfc_buffer_error, [...]): Use bool not
2014-12-06  Tobias Burnus  <burnus@net-b.de>
            Manuel López-Ibáñez  <manu@gcc.gnu.org>

        * error.c (gfc_buffer_error, gfc_error_flag_test): Use bool not
        * int.
        (buffer_flag): Remove static variable.
        (buffered_p): Add static variable.
        (gfc_error_init_1): Call gfc_buffer_error.
        (gfc_warning_1, gfc_warning, gfc_warning_now_1, gfc_error,
        gfc_error_now_1): Update for static variable change.
        * gfortran.h (gfc_buffer_error, gfc_error_flag_test): Update
        prototype.
        * parse.c (use_modules, decode_specification_statement,
        next_fixed, next_statement, match_deferred_characteristics):
        Update calls.
        * decl.c (gfc_match_data_decl): Ditto.
        * match.c (gfc_match_name): Ditto.


Co-Authored-By: Manuel López-Ibáñez <manu@gcc.gnu.org>

From-SVN: r218449
2014-12-06 17:33:11 +01:00
Bruce Korb b8a82c9dc6 clarification
From-SVN: r218448
2014-12-06 15:08:55 +00:00
Marek Polacek 7fb66c1527 re PR tree-optimization/64183 (Complete unroll doesn't happen for a while-loop)
PR tree-optimization/64183
	* c-gimplify.c (c_gimplify_expr): Don't convert the RHS of a
	shift-expression if it is integer_type_node.  Use types_compatible_p.

	* gcc.dg/tree-ssa/pr64183.c: New test.

From-SVN: r218447
2014-12-06 13:10:31 +00:00
H.J. Lu c7c8164083 Don't assert "alg != libcall" for -minline-stringops-dynamically
gcc/

	PR target/64200
	* config/i386/i386.c (decide_alg): Don't assert "alg != libcall"
	for TARGET_INLINE_STRINGOPS_DYNAMICALLY.

gcc/testsuite/

	PR target/64200
	* gcc.target/i386/memcpy-strategy-4.c: New test.

From-SVN: r218446
2014-12-06 03:32:46 -08:00
Tim Shen 00d6d5b1e7 Fix ChangeLog format.
From-SVN: r218444
2014-12-06 11:31:12 +00:00
GCC Administrator 909c02814b Daily bump.
From-SVN: r218443
2014-12-06 00:16:31 +00:00
Jakub Jelinek 06dd2aceb1 re PR sanitizer/64170 (ICE compiling Linux Kernel drivers/media/rc/imon.c in imon_incoming_packet)
PR sanitizer/64170
	* sanopt.c (maybe_optimize_asan_check_ifn): If base_checks is
	non-NULL, call maybe_get_dominating_check on it even if g is
	non-NULL.

	* gcc.dg/asan/pr64170.c: New test.

From-SVN: r218440
2014-12-06 00:00:09 +01:00
Jeff Law 40da08e0dd md.texi: Note problems using function calls to determine insn lengths and point readers...
* doc/md.texi: Note problems using function calls to determine
        insn lengths and point readers to a potential workaround.

From-SVN: r218439
2014-12-05 15:19:26 -07:00
Andreas Schwab 4b97b9f771 * combine.c (is_parallel_of_n_reg_sets)
(can_split_parallel_of_n_reg_sets): Only define if !HAVE_cc0.

From-SVN: r218436
2014-12-05 20:25:19 +00:00
Andrew Pinski 7eb2bd5718 aarch64-simd-builtins.def (bswap): Use CF2 rather than CF10 so 2 is appended on the code.
2014-12-05  Andrew Pinski  <apinski@cavium.com>

        * config/aarch64/aarch64-simd-builtins.def (bswap): Use CF2 rather
        than CF10 so 2 is appended on the code.
        * config/aarch64/aarch64-simd.md (bswap<mode>): Rename to ...
        (bswap<mode>2): This so it matches for the optabs.

From-SVN: r218435
2014-12-05 11:44:47 -08:00
Thomas Preud'homme 63edbb04b2 regrename.c (find_best_rename_reg): Rename to ...
2014-12-05  Thomas Preud'homme  <thomas.preudhomme@arm.com>

    gcc/
    * regrename.c (find_best_rename_reg): Rename to ...
    (find_rename_reg): This. Also add a parameter to skip tick check.
    * regrename.h: Likewise.
    * config/c6x/c6x.c (try_rename_operands): Adapt to above renaming.

From-SVN: r218434
2014-12-05 18:36:57 +00:00
Martin Jambor fda3e2851e re PR ipa/64192 (r218369 causes some regressions with -m32.)
2014-12-05  Martin Jambor  <mjambor@suse.cz>

	PR ipa/64192
	* ipa-prop.c (ipa_compute_jump_functions_for_edge): Convert alignment
	from bits to bytes after checking they are byte-aligned.

From-SVN: r218433
2014-12-05 19:14:37 +01:00
Renlin Li d86cb6d5c7 [AArch64]Clarify the usage of SCHED in AARCH64_CORE macro
gcc/

2014-12-05  Renlin Li  <renlin.li@arm.com>

	* config/aarch64/aarch64-opts.h (AARCH64_CORE): Rename IDENT to SCHED.
	* config/aarch64/aarch64.h (AARCH64_CORE): Likewise.
	* config/aarch64/aarch64.c (AARCH64_CORE): Rename X to IDENT,
	IDENT to SCHED.

From-SVN: r218432
2014-12-05 18:00:55 +00:00
Michael Meissner 663dfcf34e re PR target/53199 (__builtin_bswap64 and __builtin_bswap32 generate errors if -mcpu=power6)
2014-12-05  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/53199
	* gcc.target/powerpc/pr53199.c: Limit tests to 64-bit.

From-SVN: r218431
2014-12-05 17:50:40 +00:00