- Dec 14, 2015
-
-
Nathan Sidwell authored
gcc/ * config/nvptx/nvptx.h (PARM_BOUNDARY): Set to 32. * config/nvptx/nvptx.c (PASS_IN_REG_P, RETURN_IN_REG_P): Delete. (pass_in_memory, promote_arg, promote_return): New. (nvptx_function_arg_boundary): Delete. (nvptx_function_value): Use promote_return. (nvptx_pass_by_reference): Use pass_in_memory. (nvptx_return_in_memory): Use pass_in_memory. (nvptx_promote_function_mode): Use promote_arg. (write_arg): Adjust arg splitting logic. (write_return): Check and clear ret_reg_mode, if needed. (write_fn_proto, nvptx_declare_function_name): Adust write_return calls. (TARGET_RUNCTION_ARG_BOUNDARY, TARGET_FUNCTION_ARG_ROUND_BOUNDARY): Don't override. gcc/testsuite/ * g++.dg/abi/nvptx-nrv1.C: New. * g++.dg/abi/nvptx-ptrmem1.C: New. * gcc.target/nvptx/abi-complex-arg.c: New. * gcc.target/nvptx/abi-complex-ret.c: New. * gcc.target/nvptx/abi-enum-arg.c: New. * gcc.target/nvptx/abi-enum-ret.c: New. * gcc.target/nvptx/abi-knr-arg.c: New. * gcc.target/nvptx/abi-knr-ret.c: New. * gcc.target/nvptx/abi-scalar-arg.c: New. * gcc.target/nvptx/abi-scalar-ret.c: New. * gcc.target/nvptx/abi-struct-arg.c: New. * gcc.target/nvptx/abi-struct-ret.c: New. * gcc.target/nvptx/abi-vararg-1.c: New. * gcc.target/nvptx/abi-vararg-2.c: New. * gcc.target/nvptx/abi-vect-arg.c: New. * gcc.target/nvptx/abi-vect-ret.c: New. From-SVN: r231628
-
Jakub Jelinek authored
PR c/68833 * common.opt (Wmissing-noreturn): Add Warning option. * opts-common.c (control_warning_option): If opt is alias_target with alias_arg, set arg to it. * c.opt (Wmissing-format-attribute, Wnormalized): Add Warning option. * c-c++-common/pr68833-1.c: New test. * c-c++-common/pr68833-2.c: New test. From-SVN: r231624
-
Ilya Verbin authored
libgomp/ * libgomp.h (gomp_device_state): New enum. (struct gomp_device_descr): Replace is_initialized with state. (gomp_fini_device): Remove declaration. * oacc-host.c (host_dispatch): Use state instead of is_initialized. * oacc-init.c (acc_init_1): Use state instead of is_initialized. (acc_shutdown_1): Likewise. Inline gomp_fini_device. (acc_set_device_type): Use state instead of is_initialized. (acc_set_device_num): Likewise. * target.c (resolve_device): Use state instead of is_initialized. Do not initialize finalized device. (gomp_map_vars): Do nothing if device is finalized. (gomp_unmap_vars): Likewise. (gomp_update): Likewise. (GOMP_offload_register_ver): Use state instead of is_initialized. (GOMP_offload_unregister_ver): Likewise. (gomp_init_device): Likewise. (gomp_unload_device): Likewise. (gomp_fini_device): Remove. (gomp_get_target_fn_addr): Do nothing if device is finalized. (GOMP_target): Go to host fallback if device is finalized. (GOMP_target_ext): Likewise. (gomp_exit_data): Do nothing if device is finalized. (gomp_target_task_fn): Go to host fallback if device is finalized. (gomp_target_fini): New static function. (gomp_target_init): Use state instead of is_initialized. Call gomp_target_fini at exit. liboffloadmic/ * plugin/libgomp-plugin-intelmic.cpp (unregister_main_image): Remove. (register_main_image): Do not call unregister_main_image at exit. (GOMP_OFFLOAD_fini_device): Allow for OpenMP. Unregister main image. From-SVN: r231623
-
Segher Boessenkool authored
convert_move does not know how to zero-extend a constant integer to the target mode -- simply because it does not know the source mode. As a result, 32-bit SImode with the high bit set would be effectively sign- extended instead of zero-extended. This patch fixes it. PR target/68865 PR target/68879 * config/rs6000/rs6000.md (cstore_si_as_di): Force all operands into registers. From-SVN: r231621
-
Richard Biener authored
re PR tree-optimization/68707 (testcase gcc.dg/vect/O3-pr36098.c vectorized using VEC_PERM_EXPR rather than VEC_LOAD_LANES) 2015-12-10 Richard Biener <rguenther@suse.de> PR tree-optimization/68707 PR tree-optimization/67323 * tree-vect-slp.c (vect_analyze_slp_instance): Drop SLP instances if they can be vectorized using load/store-lane instructions. From-SVN: r231620
-
Richard Biener authored
2015-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/68852 * tree-vectorizer.h (struct _slp_tree): Add def_type member. (SLP_TREE_DEF_TYPE): New accessor. * tree-vect-stmts.c (vect_is_simple_use): Remove BB vectorization hack. * tree-vect-slp.c (vect_create_new_slp_node): Initialize SLP_TREE_DEF_TYPE. (vect_build_slp_tree): When a node is to be built up from scalars do not push a NULL as child but instead set its def_type to vect_external_def. (vect_analyze_slp_cost_1): Check for child def-type instead of NULL. (vect_detect_hybrid_slp_stmts): Likewise. (vect_bb_slp_scalar_cost): Likewise. (vect_get_slp_defs): Likewise. (vect_slp_analyze_node_operations): Likewise. Before processing node push the children def-types to the underlying stmts vinfo and restore it afterwards. (vect_schedule_slp_instance): Likewise. (vect_slp_analyze_bb_1): Do not mark stmts not in SLP instances as not vectorizable. * g++.dg/torture/pr68852.C: New testcase. From-SVN: r231619
-
Richard Biener authored
re PR tree-optimization/68775 (spec2006 test case 465.tonto fails with the gcc 6.0 fortran compiler) 2015-12-14 Richard Biener <rguenther@suse.de> PR tree-optimization/68775 * tree-vect-slp.c (vect_build_slp_tree): Make sure to apply a operand swapping even if replacing the op with scalars. From-SVN: r231617
-
Kyrylo Tkachov authored
* combine.c (change_zero_ext): Do not create a shift of zero length. From-SVN: r231613
-
Ville Voutilainen authored
From-SVN: r231612
-
Ville Voutilainen authored
* doc/html/index.html: Regenerate. * doc/html/manual/status.html: Likewise. * doc/xml/manual/status_cxx2017.xml: Add P0013R1 to C++ 201z and to Library Fundamentals 2 TS. From-SVN: r231611
-
Alexander Monakov authored
* gcc.dg/builtin-return-1.c: Correct effective-target test. * gcc.dg/stack-usage-2.c: Use effective-target test. From-SVN: r231610
-
Claudiu Zissulescu authored
gcc/ 2015-12-14 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Provide target hook. (arc_no_speculation_in_delay_slots_p): New function. From-SVN: r231609
-
Claudiu Zissulescu authored
gcc/ 2015-12-14 Claudiu Zissulescu <claziss@synopsys.com> Andrew Burgess <andrew.burgess@embecosm.com> * config/arc/arc.c (frame_move): Set frame related flag. (arc_save_restore): Emit epilogue related DWARF2 information. (arc_expand_epilogue): Likewise. * config/arc/arc.opt (mno-epilogue-cfi): Remove. (mepilogue-cfi): Likewise. * doc/invoke.texi: Remove -m[no]-epilogue-cfi documentation. Co-Authored-By:
Andrew Burgess <andrew.burgess@embecosm.com> From-SVN: r231608
-
Martin Jambor authored
2015-12-14 Martin Jambor <mjambor@suse.cz> PR ipa/66616 * ipa-cp.c (propagate_constants_accross_call): Move thuk check... (call_passes_through_thunk_p): ...here. (find_more_scalar_values_for_callers_subset): Perform thunk checks like propagate_constants_accross_call does. testsuite/ * g++.dg/ipa/pr66616.C: New test. From-SVN: r231607
-
Jakub Jelinek authored
PR rtl-optimization/68730 * cfgrtl.c (cfg_layout_finalize): Free dominators. * gcc.dg/pr68730.c: New test. From-SVN: r231606
-
Thomas Preud'homme authored
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
-
GCC Administrator authored
From-SVN: r231604
-
- Dec 13, 2015
-
-
Alexandre Oliva authored
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
-
David Edelsohn authored
From-SVN: r231598
-
Kazu Kirata authored
[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
-
Jeff Law authored
* 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
-
Tom de Vries authored
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
-
Jan Hubicka authored
* 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 authored
* 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
-
David Edelsohn authored
* g++.dg/opt/pr48549.C: XFAIL AIX. * g++.dg/abi/anon1.C: XFAIL AIX. * gcc.dg/graphite/pr42917.c: XFAIL AIX. From-SVN: r231592
-
GCC Administrator authored
From-SVN: r231591
-
- Dec 12, 2015
-
-
Jan Hubicka authored
* 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
-
Eric Botcazou authored
From-SVN: r231587
-
Eric Botcazou authored
* 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
-
Tobias Burnus authored
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 authored
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
-
David Edelsohn authored
* 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
-
Paolo Bonzini authored
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
-
GCC Administrator authored
From-SVN: r231580
-
- Dec 11, 2015
-
-
Jeff Law authored
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
-
Eric Botcazou authored
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
-
Jonathan Wakely authored
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
-
Nathan Sidwell authored
* 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
-
Jan-Benedict Glaw authored
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
-
Nathan Sidwell authored
From-SVN: r231570
-