- 14 Dec, 2015 2 commits
-
-
2015-12-14 Thomas Preud'homme <thomas.preudhomme@arm.com> PR testsuite/68629 * lib/target-supports.exp (check_effective_target_cilkplus): Also check that compiling with -fcilkplus does not give an error. * c-c++-common/attr-simd-3.c: Require cilkplus effective target. From-SVN: r231605
Thomas Preud'homme committed -
From-SVN: r231604
GCC Administrator committed
-
- 13 Dec, 2015 9 commits
-
-
VTA's cselib expression hashing compares expressions with the same hash before adding them to the hash table. When there is a collision involving a self-referencing expression, we could get infinite recursion, in spite of the cycle breakers already in place. The problem is currently latent in the trunk, because by chance we don't get a collision. Such value cycles are often introduced by reverse_op; most often, they're indirect, and then value canonicalization takes care of the cycle, but if the reverse operation simplifies to the original value, we used to issue a (plus V (const_int 0)), because at some point adding a plain value V to a location list as a reverse_op equivalence caused other problems. This dummy zero, in turn, caused the value canonicalizer to not fully realize the equivalence, leading to more complex graphs and, occasionally, to infinite recursion when comparing such value-plus-zero expressions recursively. Simply using V solves the infinite recursion from the PR testcase, since the extra equivalence and the preexisting value canonicalization together prevent recursion while the unrecognized equivalence wouldn't, but it exposed another infinite recursion in memrefs_conflict_p: get_addr had a cycle breaker in place, to skip RTL referencing values introduced after the one we're examining, but it wouldn't break the cycle if the value itself appeared in the expression being examined. After removing the dummy zero above, this kind of cycle in the equivalence graph is no longer introduced by VTA itself, but dummy zeros are also present in generated code, such as in the 32-bit x86's pro_epilogue_adjust_stack_si_add epilogue insn generated as part of the builtin longjmp in _Unwind_RaiseException building libgcc's unwind-dw2.o. So, break the recursion cycle for them too. for gcc/ChangeLog PR debug/67355 * var-tracking.c (reverse_op): Don't add dummy zero to reverse ops that simplify back to the original value. * alias.c (refs_newer_value_p): Cut off recursion for expressions containing the original value. From-SVN: r231599
Alexandre Oliva committed -
From-SVN: r231598
David Edelsohn committed -
[PATCH][PR target/19201] Peephole to improve clearing items in structure for m68k * config/m68k/m68k.md (load feeding clear byte): New peephole2. * gcc.target/m68k/pr19201.c: New test. From-SVN: r231597
Kazu Kirata committed -
* gcc.target/m68k/pr63347.c: Remove #include <stdlib> add -w to command line options. * gcc.target/m68k/20090709-1.c: Adjust expected output. From-SVN: r231596
Jeff Law committed -
2015-12-13 Tom de Vries <tom@codesourcery.com> * tree-ssa-structalias.c (find_func_clobbers): Handle sizes and kinds parameters of GOACC_paralllel. From-SVN: r231595
Tom de Vries committed -
* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data. * varpool.c (varpool_node::get_constructor): Likewise. * lto-section-in.c (lto_get_section_data): Add new flag decompress. (lto_free_section_data): Likewise. (lto_get_raw_section_data): New function. (lto_free_raw_section_data): New function. (copy_function_or_variable): Copy sections w/o decompressing. (lto_output_decl_state_refs): Picke compressed bit. * lto-streamer.h (lto_in_decl_state): New flag compressed. (lto_out_decl_state): Likewise. (lto_get_section_data, lto_free_section_data): Update prototypes (lto_get_raw_section_data, lto_free_raw_section_data): Declare. (lto_write_raw_data): Declare. (lto_begin_section): Remove FIXME. (lto_write_raw_data): New function. (lto_write_stream): Remove FIXME. (lto_new_out_decl_state): Set compressed flag. From-SVN: r231594
Jan Hubicka committed -
* cgraph.c (cgraph_node::get_untransformed_body): Pass compressed flag to lto_get_section_data. * varpool.c (varpool_node::get_constructor): Likewise. * lto-section-in.c (lto_get_section_data): Add new flag decompress. (lto_free_section_data): Likewise. (lto_get_raw_section_data): New function. (lto_free_raw_section_data): New function. (copy_function_or_variable): Copy sections w/o decompressing. (lto_output_decl_state_refs): Picke compressed bit. * lto-streamer.h (lto_in_decl_state): New flag compressed. (lto_out_decl_state): Likewise. (lto_get_section_data, lto_free_section_data): Update prototypes (lto_get_raw_section_data, lto_free_raw_section_data): Declare. (lto_write_raw_data): Declare. (lto_begin_section): Remove FIXME. (lto_write_raw_data): New function. (lto_write_stream): Remove FIXME. (lto_new_out_decl_state): Set compressed flag. * lto.c (lto_read_in_decl_state): Unpickle compressed bit. From-SVN: r231593
Jan Hubicka committed -
* g++.dg/opt/pr48549.C: XFAIL AIX. * g++.dg/abi/anon1.C: XFAIL AIX. * gcc.dg/graphite/pr42917.c: XFAIL AIX. From-SVN: r231592
David Edelsohn committed -
From-SVN: r231591
GCC Administrator committed
-
- 12 Dec, 2015 8 commits
-
-
* tree.c (free_lang_data_in_type, find_decls_types_r): Also free unnecesary type decls. * tree.h (is_redundant_typedef): Declare. * dwarf2out.c (is_redundant_typedef): Export; booleanize From-SVN: r231588
Jan Hubicka committed -
From-SVN: r231587
Eric Botcazou committed -
* config/sparc/sparc.h (TARGET_SUPPORTS_WIDE_INT): Define to 1. * config/sparc/sparc.c (sparc_emit_set_const64): Remove code conditionalized on HOST_BITS_PER_WIDE_INT == 32. (sparc_cannot_force_const_mem) <CONST_WIDE_INT>: New case. <CONST_DOUBLE>: Remove VOIDmode test. (epilogue_renumber) <CONST_WIDE_INT>: New case. (sparc_print_operand): Remove support for CONST_DOUBLE with VOIDmode. (sparc_assemble_integer): Likewise. (set_extends): Likewise. (sparc_rtx_costs) <CONST_INT>: Use SMALL_INT. <CONST_WIDE_INT>: New case. <CONST_DOUBLE>: Remove support for VOIDmode. <MULT>: Remove support for CONST_DOUBLE with VOIDmode. * config/sparc/predicates.md (const_zero_operand): Add const_wide_int. (const_all_ones_operand): Likewise. (uns_small_int_operand): Remove const_double and code conditionalized on HOST_BITS_PER_WIDE_INT == 32. (arith_double_operand): Likewise. (arith_double_add_operand): Likewise. (input_operand): Remove support for CONST_DOUBLE with DImode. * config/sparc/sparc.md (DImode CONST_INT splitter): Remove code conditionalized on HOST_BITS_PER_WIDE_INT == 32. (DFmode CONST_DOUBLE splitter): Likewise. (*adddi3_insn_sp32): Likewise. (*subdi3_insn_sp32): Likewise. (DImode logical splitter): Likewise. (DImode CONST_DOUBLE splitter): Delete. From-SVN: r231586
Eric Botcazou committed -
2014-12-12 Tobias Burnus <burnus@net-b.de> gcc/fortran PR fortran/45859 * expr.c (gfc_is_simply_contiguous): Optionally permit array * elements. (gfc_check_pointer_assign): Update call. * interface.c (compare_parameter): Ditto. * trans-array.c (gfc_conv_array_parameter): Ditto. * trans-intrinsic.c (gfc_conv_intrinsic_transfer, conv_isocbinding_function): Ditto. * gfortran.h (gfc_is_simply_contiguous): Update prototype. gcc/testsuite/ PR fortran/45859 * gcc/testsuite/gfortran.dg/coarray_args_2.f90: Remove dg-error. From-SVN: r231585
Tobias Burnus committed -
re PR fortran/68815 (Error/warning diagnostic: '%s' should be converted to %qs-like or %<%s%>-like string strings) 2014-12-12 Tobias Burnus <burnus@net-b.de> gcc/c-family/ PR fortran/68815 * c-format.c (gcc_gfc_char_table): Add 'q' flag to remaining specifiers (%d, %i,%u and %c). gcc/fortran/ PR fortran/68815 * check.c (gfc_check_reshape): Replace %<%d%> by %qd. * matchexp.c (gfc_match_defined_op_name): Use %qc. * symbol.c (gfc_add_new_implicit_range, gfc_merge_new_implicit): Ditto. From-SVN: r231584
Tobias Burnus committed -
* gcc.target/powerpc/pr67808.c: Add -mlong-double-128 option. * g++.dg/cpp1y/pr58708.C: Test appropriate value for size of wchar_t. From-SVN: r231583
David Edelsohn committed -
gcc: PR sanitizer/68418 * c-family/c-ubsan.c (ubsan_instrument_shift): Disable sanitization of left shifts for wrapping signed types as well. gcc/testsuite: PR sanitizer/68418 * gcc.dg/ubsan/c99-wrapv-shift-1.c, gcc.dg/ubsan/c99-wrapv-shift-2.c: New testcases. From-SVN: r231582
Paolo Bonzini committed -
From-SVN: r231580
GCC Administrator committed
-
- 11 Dec, 2015 21 commits
-
-
PR tree-optimization/68844 * gcc.dg/tree-ssa/ssa-dom-thread-4.c: Update expected output. 2015-12-11 Jan Beulich <jbeulich@suse.com> From-SVN: r231577
Jeff Law committed -
PR middle-end/68215 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter. Do not gimplify the result. (do_unop): Adjust call to tree_vec_extract. (do_binop): Likewise. (do_compare): Likewise. (do_plus_minus): Likewise. (do_negate): Likewise. (expand_vector_condition): Likewise. (do_cond): Likewise. From-SVN: r231575
Eric Botcazou committed -
PR libstdc++/59768 * include/std/functional (_Unwrap, __invfwd): Define. (__invoke_impl): Remove reference_wrapper overloads and use __invfwd. * include/std/type_traits (__result_of_memobj, __result_of_memfun): Add partial specializations for const reference_wrappers and simplify. * testsuite/20_util/bind/ref_neg.cc: Use dg-excess-errors. * testsuite/20_util/function_objects/invoke/59768.cc: New. From-SVN: r231574
Jonathan Wakely committed -
* config/nvptx/nvptx.h (RETURN_ADDR_REGNO): Delete. (OUTGOING_ARG_POINTER_REGNUM): Delete. (ASM_OUTPUT_COMMON, ASM_OUTPUT_LOCAL): Delete. (REGISTER_NAMES): Name static chain regs. * config/nvptx/nvptx.c (nvptx_function_arg): Add ARG_UNUSED, merge ifs. (nvptx_incoming_arg): Merge ifs. (nvptx_function_arg_boundary): Reimplement to avoid mixing units. (nvptx_function_value): Tail call nvptx_libcall_value. (nvptx_pass_by_reference): Add ARG_UNUSED. (nvptx_static_chain): Use conditional op. (nvptx_handle_kernel_attribute): Use VOID_TYPE_P. From-SVN: r231572
Nathan Sidwell committed -
2015-12-11 Jan-Benedict Glaw <jbglaw@lug-owl.de> Dominique d'Humieres <dominiq@lps.ens.fr> PR target/26427 PR target/33120 PR testsuite/35710 * config/darwin.c (darwin_use_anchors_for_symbol_p): Fix indention and trailing whitespace. Co-Authored-By: Dominique d'Humieres <dominiq@lps.ens.fr> From-SVN: r231571
Jan-Benedict Glaw committed -
From-SVN: r231570
Nathan Sidwell committed -
Function (or more narrow) scope static variables (as well as others not placed on the stack) should also not have any effect on the stack alignment. I noticed the issue first with Linux'es dynamic_pr_debug() construct using an 8-byte aligned sub-file-scope local variable. According to my checking bad behavior started with 4.6.x (4.5.3 was still okay), but generated code got quite a bit worse as of 4.9.0. gcc/ 2015-12-11 Jan Beulich <jbeulich@suse.com> * cfgexpand.c (expand_one_var): Exit early for static and external variables when adjusting stack alignment related. gcc/testsuite/ 2015-12-11 Jan Beulich <jbeulich@suse.com> * gcc.c-torture/execute/stkalign.c: New. From-SVN: r231569
Jan Beulich committed -
From-SVN: r231567
Uros Bizjak committed -
gcc/ChangeLog * config/s390/s390.c (s390_rtx_costs) (s390_cannot_force_const_mem, legitimate_pic_operand_p) (s390_preferred_reload_class, s390_reload_symref_address) (legitimate_reload_constant_p, print_operand): Wide int support. * config/s390/predicates.md ("const0_operand", "constm1_operand") ("consttable_operand"): Likewise. ("larl_operand"): Add a comment. * config/s390/s390.h (TARGET_SUPPORTS_WIDE_INT): Enable wide int support. From-SVN: r231566
Dominik Vogt committed -
libmpx/ 2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com> * mpxrt/Makefile.am (libmpx_la_LDFLAGS): Add -version-info option. * libmpxwrap/Makefile.am (libmpx_la_LDFLAGS): Likewise and fix include path. * libmpx/Makefile.in: Regenerate. * mpxrt/Makefile.in: Regenerate. * libmpxwrap/Makefile.in: Regenerate. * mpxrt/libtool-version: New version. * libmpxwrap/libtool-version: Likewise. * mpxrt/libmpx.map: Add new version and a new symbol. * mpxrt/mpxrt.h: New file. * mpxrt/mpxrt.c (NUM_L1_BITS): Moved to mpxrt.h. (REG_IP_IDX): Moved to mpxrt.h. (REX_PREFIX): Moved to mpxrt.h. (XSAVE_OFFSET_IN_FPMEM): Moved to mpxrt.h. (MPX_L1_SIZE): Moved to mpxrt.h. * libmpxwrap/mpx_wrappers.c (mpx_pointer): New type. (mpx_bt_entry): New type. (alloc_bt): New function. (get_bt): New function. (copy_if_possible): New function. (copy_if_possible_from_end): New function. (move_bounds): New function. (__mpx_wrapper_memmove): Use move_bounds to copy bounds. gcc/testsuite/ 2015-12-11 Tsvetkova Alexandra <aleksandra.tsvetkova@intel.com> * gcc.target/i386/mpx/memmove-1.c: New test. * gcc.target/i386/mpx/memmove-2.c: New test. From-SVN: r231565
Tsvetkova Alexandra committed -
gcc/ * config/nvptx/nvptx.h (TARGET_SUPPORTS_WIDE_INT): Define. * config/nvptx/nvptx.c (nvptxx_assemble_integer): Return false for unrecognizable RTX. gcc/testsuite/ * gcc.target/nvptx/ary-init.c: Repair dg_final syntax. * gcc.target/nvptx/decl-init.c: Likewise. Add TI case. From-SVN: r231564
Nathan Sidwell committed -
PR libstdc++/68139 From-SVN: r231562
Ville Voutilainen committed -
2015-12-11 Tom de Vries <tom@codesourcery.com> * passes.def: Remove unpaired TERMINATE_PASS_LIST. From-SVN: r231561
Tom de Vries committed -
* hash-map.h (hash_map::hash_map): Gather statistics only when GATHER_STATISTICS is true. * hash-set.h (hash_set::hash_set): Ditto. * hash-table.h (hash_table::hash_table): Ditto. (hash_table::create_ggc): Ditto. From-SVN: r231560
Michael Matz committed -
2015-12-11 Martin Jambor <mjambor@suse.cz> PR ipa/68064 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Add checking assert that align is nonzero. testsuite/ * g++.dg/torture/pr68064.C: New test. From-SVN: r231559
Martin Jambor committed -
gcc/ChangeLog * config/s390/s390.c (s390_expand_setmem): Use new expanders. * config/s390/s390.md ("*setmem_long") ("*setmem_long_and", "*setmem_long_31z"): Fix warnings. ("*setmem_long_and_31z"): New define_insn. ("setmem_long_<P:mode>"): New expanders. * (<modesize>): New mode attribute gcc/testsuite/ChangeLog * gcc.target/s390/md/setmem_long-1.c: New test. From-SVN: r231558
Dominik Vogt committed -
gcc/ChangeLog * config/s390/s390.md ("movstr", "*movstr"): Fix warning. ("movstr<P:mode>"): New indirect expanders used by "movstr". gcc/testsuite/ChangeLog * gcc.target/s390/md/movstr-1.c: New test. * gcc.target/s390/s390.exp: Add subdir md. Do not run hotpatch tests twice. From-SVN: r231557
Dominik Vogt committed -
re PR target/67484 (options-save.c sanitizer asan detects freed storage referenced heap-use-after-free) Fix PR target/67484 Uros Bizjak <ubizjak@gmail.com> PR target/67484 * config/i386/i386.c (ix86_valid_target_attribute_tree): Use ggc_strdup to copy option_strings to opts->x_ix86_arch_string and opts->x_ix86_tune_string. From-SVN: r231556
Martin Liska committed -
lto-streamer.h (lto_simple_header_with_strings): Remove main_size field already in lto_simple_header. 2015-12-11 Richard Biener <rguenther@suse.de> * lto-streamer.h (lto_simple_header_with_strings): Remove main_size field already in lto_simple_header. From-SVN: r231555
Richard Biener committed -
gcc/ * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask vectype. From-SVN: r231554
Ilya Enkovich committed -
gcc/ * config/i386/i386.c (ix86_get_mask_mode): Use scalar modes for 32 and 16 byte boolean vectors when possible. gcc/testsuite/ * gcc.dg/vect/vect-32-chars.c: New test. From-SVN: r231553
Ilya Enkovich committed
-