- 26 Jan, 2016 40 commits
-
-
Fixes golang/go#12937. Reviewed-on: https://go-review.googlesource.com/16233 From-SVN: r232857
Ian Lance Taylor committed -
From-SVN: r232856
Eric Botcazou committed -
The gofrontend asks the backend compiler for the architecture appropriate size of a given type. For array types, it is possible to construct a type too large to fit on the machine. This patch does two things: 1. When an impossibly large type is encountered, we mark the type as erroneous and later calls to discover the size of that type are short-circuited. 2. When generating the GC symbol data for an impossibly large array of arrays, we avoid generating symbol data as soon as we find an array that is too large to be expressed. Fixes golang/go#12938. Reviewed-on: https://go-review.googlesource.com/16234 From-SVN: r232855
Ian Lance Taylor committed -
2016-01-26 Tom de Vries <tom@codesourcery.com> PR tree-optimization/69110 * tree-data-ref.c (initialize_data_dependence_relation): Handle DR_NUM_DIMENSIONS == 0. * gcc.dg/autopar/pr69110.c: New test. * testsuite/libgomp.c/pr69110.c: New test. From-SVN: r232852
Tom de Vries committed -
2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com> Sebastian Pop <s.pop@samsung.com> * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle isl_ast_op_cond and isl_ast_op_select. (gcc_expression_from_isl_expr_op): Same. * gcc.dg/graphite/isl-ast-op-select.c: New. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r232851
Abderrazek Zaafrani committed -
2016-01-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/69385 * trans-expr.c (gfc_trans_assignment_1): Exclude initialization assignments from check on assignment of scalars to unassigned arrays and correct wrong code within the corresponding block. 2015-01-26 Paul Thomas <pault@gcc.gnu.org> PR fortran/69385 * gfortran.dg/allocate_error_6.f90: New test. From-SVN: r232850
Paul Thomas committed -
PR c++/68949 * constexpr.c (register_constexpr_fundef): Keep the un-massaged body. (cxx_eval_call_expression): Don't look through clones. * optimize.c (maybe_clone_body): Clear DECL_SAVED_TREE of the alias. * semantics.c (expand_or_defer_fn_1): Keep DECL_SAVED_TREE of maybe-in-charge *tor. From-SVN: r232848
Jason Merrill committed -
PR c++/68782 gcc/ * tree.c (recompute_constructor_flags): Split out from build_constructor. (verify_constructor_flags): New. * tree.h: Declare them. gcc/cp/ * constexpr.c (cxx_eval_bare_aggregate): Update TREE_CONSTANT and TREE_SIDE_EFFECTS. (cxx_eval_constant_expression) [CONSTRUCTOR]: Call verify_constructor_flags. From-SVN: r232847
Jason Merrill committed -
PR rtl-optimization/69217 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there are no TYPE_FIELDS set for the record type. From-SVN: r232845
Iain Buclaw committed -
re PR target/68662 (FAIL: gcc.dg/lto/20090210 c_lto_20090210_0.o-c_lto_20090210_1.o link, -O2 -flto -flto-partition=none -fuse-linker-plugin -fno-fat-lto-objects) PR target/68662 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize toc_label_name unconditionally. (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for SYMBOL_REF string. Use toc_label_name instead of constructing LCTOC1. (rs6000_elf_declare_function_name): Use toc_label_name instead of constructing LCTOC1. From-SVN: r232844
Jakub Jelinek committed -
re PR c++/68357 (FAIL: g++.dg/other/darwin-cfstring1.C -std=* (internal compiler error) on x86_64-apple-darwin1(0|4|5)) PR c++/68357 * cp-gimplify.c (cp_fold): If some operand folds to error_mark_node, return error_mark_node instead of building trees with error_mark_node operands. From-SVN: r232843
Jakub Jelinek committed -
PR libstdc++/69478 * include/bits/stl_algobase.h (__copy_move<_IsMove, true, random_access_iterator_tag>): Check is_move_assignable when moving. (__copy_move_backwards<_IsMove, true, random_access_iterator_tag>): Likewise. * testsuite/25_algorithms/copy/move_iterators/69478.cc: New. * testsuite/25_algorithms/copy_backward/move_iterators/69478.cc: New. * testsuite/25_algorithms/move/69478.cc: New. * testsuite/25_algorithms/move_backward/69478.cc: new. From-SVN: r232842
Jonathan Wakely committed -
gcc/ChangeLog: 2016-01-26 Martin Sebor <msebor@redhat.com> PR other/69477 * doc/extend.texi (Common Type Attributes): Move text that talks about attribute packed from attribute aligned to the section discussing the former attribute for clarity. From-SVN: r232840
Martin Sebor committed -
PR middle-end/60908 * trans-mem.c (tm_region_init): Mark entry block as visited. testsuite/ * gcc.dg/tm/pr60908.c: New test. From-SVN: r232839
Richard Henderson committed -
From-SVN: r232838
Nathan Sidwell committed -
gcc/c-family/ChangeLog: PR other/69006 * c-opts.c (c_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. gcc/cp/ChangeLog: PR other/69006 * error.c (print_instantiation_partial_context_line): Add missing newlines from output for the t == NULL case. (print_instantiation_partial_context): Remove call to pp_newline. gcc/ChangeLog: PR other/69006 * diagnostic-show-locus.c (layout::print_source_line): Replace call to pp_newline with call to layout::print_newline. (layout::print_annotation_line): Likewise. (layout::move_to_column): Likewise. (layout::print_any_fixits): After printing any fixits, print a trailing newline, if necessary. (layout::print_newline): New method, resetting any colorization before a newline. (diagnostic_show_locus): Move the pp_newline to before the early bailout. Remove dummy block enclosing the layout instance. * diagnostic.c (default_diagnostic_finalizer): Replace invocation of pp_newline_and_flush with pp_flush. (diagnostic_append_note): Delete use of pp_newline. (diagnostic_append_note_at_rich_loc): Delete. * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete. * pretty-print.h (output_buffer_append_r): Reset buff->line_length when newline characters are added to the buffer. gcc/fortran/ChangeLog: PR other/69006 * error.c (gfc_diagnostic_starter): Delete use of pp_newline. gcc/testsuite/ChangeLog: PR other/69006 * g++.dg/ext/timevar1.C: Add dg-allow-blank-lines-in-output directive. * gcc.dg/plugin/diagnostic-test-show-locus-color.c: Update expected multiline output to reflect the colorization being disabled before newlines. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (custom_diagnostic_finalizer): Replace call to pp_newline_and_flush with call to pp_flush. * gcc.dg/unroll-2.c: Add dg-allow-blank-lines-in-output directive. * gfortran.dg/implicit_class_1.f90: Likewise. * lib/gcc-dg.exp (allow_blank_lines): New global. (dg-allow-blank-lines-in-output): New procedure. (gcc-dg-prune): Complain about blank lines in the output, unless dg-allow-blank-lines-in-output was called. * lib/multiline.exp (_build_multiline_regex): Only support arbitrary followup text for non-blank-lines, not for blank lines. From-SVN: r232837
David Malcolm committed -
* configure.ac (ac_cv_std_swap_in_utility): New test. * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well. * configure: Regenerate. * config.in: Regenerate. From-SVN: r232836
Michael Matz committed -
* include/c_compatibility/stdlib.h: Include wide character related definitions only when they are available in cstdlib. From-SVN: r232835
Andris Pavenis committed -
gcc/ 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (cstoresi4): Force operand into register. (arcset<code>): Fix predicate. (arcsetltu): Likewise. (arcsetgeu): Likewise. (arcsethi): Likewise. (arcsetls): Likewise. From-SVN: r232834
Claudiu Zissulescu committed -
re PR tree-optimization/69483 (gcc ICE on x86_64-linux-gnu with "expected class 'type', have 'exceptional' (error_mark) in useless_type_conversion_p") PR tree-optimization/69483 * gimple-fold.c (canonicalize_constructor_val): Return NULL if base has error_mark_node type. * c-parser.c (c_parser_translation_unit): Use FOR_EACH_VEC_ELT. * gcc.dg/pr69483.c: New test. * g++.dg/opt/pr69483.C: New test. From-SVN: r232833
Jakub Jelinek committed -
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org> gcc/ PR target/68620 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors. * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq): New helper macros. (vget_lane_f16): Handle big-endian. (vgetq_lane_f16): Likewise. (vset_lane_f16): Likewise. (vsetq_lane_f16): Likewise. * config/arm/iterators.md (VQXMOV): Add V8HF. (VDQ): Add V4HF and V8HF. (V_reg): Handle V4HF and V8HF. (Is_float_mode): Likewise. * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf, neon_vdup_nv8hf): New patterns. (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>): Use VD_LANE iterator. (neon_vld1_dup<mode>): Use VQ2 iterator. testsuite/ PR target/68620 * gcc.target/arm/pr68620.c: New test. From-SVN: r232832
Christophe Lyon committed -
* gcc.target/i386/pr68986-2.c: Remove -m32. From-SVN: r232831
H.J. Lu committed -
* omp-low.h (oacc_fn_attrib_kernels_p): Declare. (set_oacc_fn_attrib): Add IS_KERNEL arg. * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg. (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New. (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib. (oacc_validate_dims): Add LEVEL arg, don't return level. (new_oacc_loop_routine): Use oacc_fn_attrib_level, not oacc_validate_dims. (execute_oacc_device_lower): Adjust, add more dump output. * tree-ssa-loop.c (gate_oacc_kernels): Use oacc_fn_attrib_kernels_p. * tree-parloops.c (create_parallel_loop): Adjust set_oacc_fn_attrib call. From-SVN: r232830
Nathan Sidwell committed -
re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only) PR lto/69254 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus. (append_compiler_options): Handle -fcilkplus. (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}. From-SVN: r232829
Jakub Jelinek committed -
PR target/66655 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has been marked as DECL_ONE_ONLY but we do not the means to make it so, then do not allow it to bind locally. From-SVN: r232828
Nick Clifton committed -
re PR lto/69254 (ICE in streamer_get_builtin_tree when using -fsanitize=shift on the compile side only) PR lto/69254 * opts.h (parse_sanitizer_options): New prototype. * opts.c (sanitizer_opts): New array. (parse_sanitizer_options): New function. (common_handle_option): Use parse_sanitizer_options. From-SVN: r232826
Jakub Jelinek committed -
Stack alignment adjustment for __tls_get_addr should be done in ix86_update_stack_boundary, not ix86_compute_frame_layout. Also there is no need to over-align stack for __tls_get_addr and function with __tls_get_addr call isn't a leaf function. gcc/ PR target/68986 * config/i386/i386.c (ix86_compute_frame_layout): Move stack alignment adjustment to ... (ix86_update_stack_boundary): Here. Don't over-align stack for __tls_get_addr. (ix86_finalize_stack_realign_flags): Use stack_alignment_needed if __tls_get_addr is called. gcc/testsuite/ PR target/68986 * gcc.target/i386/pr68986-1.c: New test. * gcc.target/i386/pr68986-2.c: Likewise. * gcc.target/i386/pr68986-3.c: Likewise. From-SVN: r232825
H.J. Lu committed -
From-SVN: r232824
Christian Bruel committed -
From-SVN: r232822
Eric Botcazou committed -
re PR tree-optimization/69467 (Pattern X * C1 CMP 0 to X CMP 0 causes performance drop on 32-bit x86.) 2016-01-26 Richard Biener <rguenther@suse.de> PR middle-end/69467 * match.pd: Guard X * CST CMP 0 pattern with single_use. From-SVN: r232821
Richard Biener committed -
2016-01-26 Richard Biener <rguenther@suse.de> PR tree-optimization/69452 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove. (move_computations_dom_walker::before_dom_children): Rename to ... (move_computations_worker): This. (move_computations): Perform an RPO rather than a DOM walk. * gcc.dg/torture/pr69452.c: New testcase. From-SVN: r232820
Richard Biener committed -
PR target/69442 * combine.c (combine_instructions): For REG_EQUAL note with SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST to the underlying register. * doc/rtl.texi (REG_EQUAL): Document the behavior of REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT. * gcc.dg/pr69442.c: New test. From-SVN: r232819
Jakub Jelinek committed -
gcc/ChangeLog: PR target/67896 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtin_types): Do not set structural equality to __Poly{8,16,64,128}_t types. gcc/testsuite/ChangeLog: PR target/67896 * gcc.target/aarch64/simd/pr67896.C: New. From-SVN: r232818
Roger Ferrer Ibáñez committed -
As described in the PR, wi::divmod_internal was sign- rather than zero-extending a modulus result in cases where the result has fewer HWIs than the precision and the upper bit of the upper HWI was set. This patch tries to make things more robust by getting wi_pack to handle the canonicalisation step itself. Tested on x86_64-linux-gnu. I added tests to the wide-int plugin since that seemed more direct. gcc/ PR tree-optimization/69400 * wide-int.cc (wi_pack): Take the precision as argument and perform canonicalization here rather than in the callers. Use the main loop to handle all full-width HWIs. Add a zero HWI if in_len isn't a full result. (wi::divmod_internal): Update accordingly. (wi::mul_internal): Likewise. Simplify. gcc/testsuite/ PR tree-optimization/69400 * gcc.dg/plugin/wide-int_plugin.c (test_wide_int_mod_trunc): New function. (plugin_init): Call it. * gcc.dg/torture/pr69400.c: New test. From-SVN: r232817
Richard Sandiford committed -
2016-01-26 Christophe Lyon <christophe.lyon@linaro.org> * gcc.target/arm/pr68674.c: Check and use arm_fp effective target. From-SVN: r232816
Christophe Lyon committed -
gcc/jit/ * jit-playback.c: Include pthread.h. From-SVN: r232815
Iain Buclaw committed -
Keep unchanged the implementation for isl-0.14. * graphite-poly.c (apply_poly_transforms): Simplify. (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK. (print_isl_map): Same. (print_isl_union_map): Same. (print_isl_schedule): New. (debug_isl_schedule): New. * graphite-dependences.c (scop_get_reads): Do not call isl_union_map_add_map that is undocumented isl functionality. (scop_get_must_writes): Same. (scop_get_may_writes): Same. (scop_get_original_schedule): Remove. (scop_get_dependences): Do not call isl_union_map_compute_flow that is deprecated in isl 0.15. Instead, use isl_union_access_* interface. (compute_deps): Remove. * graphite-isl-ast-to-gimple.c (print_schedule_ast): New. (debug_schedule_ast): New. (translate_isl_ast_to_gimple::scop_to_isl_ast): Call set_separate_option. (graphite_regenerate_ast_isl): Add dump. (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code from scop->transformed_schedule. (graphite_regenerate_ast_isl): Add more dump. * graphite-optimize-isl.c (optimize_isl): Set scop->transformed_schedule. Check whether schedules are equal. (apply_poly_transforms): Move here. * graphite-poly.c (apply_poly_transforms): ... from here. (free_poly_bb): Static. (free_scop): Static. (pbb_number_of_iterations_at_time): Remove. (print_isl_ast): New. (debug_isl_ast): New. (debug_scop_pbb): New. * graphite-scop-detection.c (print_edge): Move. (print_sese): Move. * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove. (build_scop_scattering): Remove. (create_pw_aff_from_tree): Assert instead of bailing out. (add_condition_to_pbb): Remove unused code, do not fail. (add_conditions_to_domain): Same. (add_conditions_to_constraints): Remove. (build_scop_context): New. (add_iter_domain_dimension): New. (build_iteration_domains): Initialize pbb->iterators. Call add_conditions_to_domain. (nested_in): New. (loop_at): New. (index_outermost_in_loop): New. (index_pbb_in_loop): New. (outermost_pbb_in): New. (add_in_sequence): New. (add_outer_projection): New. (outer_projection_mupa): New. (add_loop_schedule): New. (build_schedule_pbb): New. (build_schedule_loop): New. (embed_in_surrounding_loops): New. (build_schedule_loop_nest): New. (build_original_schedule): New. (build_poly_scop): Call build_original_schedule. * graphite.h: Declare print_isl_schedule and debug_isl_schedule. (free_poly_dr): Remove. (struct poly_bb): Add iterators. Remove schedule, transformed, saved. (free_poly_bb): Remove. (debug_loop_vec): Remove. (print_isl_ast): Declare. (debug_isl_ast): Declare. (scop_do_interchange): Remove. (scop_do_strip_mine): Remove. (scop_do_block): Remove. (flatten_all_loops): Remove. (optimize_isl): Remove. (pbb_number_of_iterations_at_time): Remove. (debug_scop_pbb): Declare. (print_schedule_ast): Declare. (debug_schedule_ast): Declare. (struct scop): Remove schedule. Add original_schedule, transformed_schedule. (free_gimple_poly_bb): Remove. (print_generated_program): Remove. (debug_generated_program): Remove. (unify_scattering_dimensions): Remove. * sese.c (print_edge): ... here. (print_sese): ... here. (debug_edge): ... here. (debug_sese): ... here. * sese.h (print_edge): Declare. (print_sese): Declare. (dump_edge): Declare. (dump_sese): Declare. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r232812
Aditya Kumar committed -
The patch disables all fuse-*.c tests when configuring gcc with isl 0.14 or earlier. ChangeLog: * Makefile.in: Regenerate. * Makefile.tpl: Export ISLVER. * configure: Regenerate. * config/isl.m4: Detect isl-0.15. gcc/ * Makefile.in: Set ISLVER in site.exp. gcc/testsuite/ * gcc.dg/graphite/graphite.exp: Only run the fuse-*.c tests with isl-0.15. Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r232811
Aditya Kumar committed -
Co-Authored-By: Sebastian Pop <s.pop@samsung.com> From-SVN: r232810
Aditya Kumar committed -
From-SVN: r232809
GCC Administrator committed
-