- 11 Mar, 2016 7 commits
-
-
re PR rtl-optimization/70174 (ICE at -O1 and above on x86_64-linux-gnu in gen_lowpart_general, at rtlhooks.c:63) PR rtl-optimization/70174 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible followed by gen_lowpart on force_reg instead of just gen_lowpart. * gcc.dg/pr70174.c: New test. From-SVN: r234137
Jakub Jelinek committed -
re PR tree-optimization/70169 (ICE at -O1 and above on x86_64-linux-gnu in gen_lsm_tmp_name, at tree-ssa-loop.c:791) PR tree-optimization/70169 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable for unknown codes. * gcc.dg/pr70169.c: New test. From-SVN: r234136
Jakub Jelinek committed -
re PR rtl-optimization/70160 (gcc ICE at -O2 (seg fault) and above on valid code on x86_64-linux-gnu) gcc/ PR target/70160 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses of uninitialized values. gcc/testsuite/ PR target/70160 * gcc.target/i386/pr70160.c: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r234135
Ilya Enkovich committed -
We do not have a direct conversion instruction from 128 bit DFP to 32 bit DFP so this needs to be done in two steps. The first needs to be done with the "prepare for shorter precision rounding mode" in order to produce a correct result. gcc/ChangeLog: 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md ("trunctddd2"): Turn former define_insn into define_expand. ("*trunctddd2"): New pattern definition. ("trunctdsd2"): Set prep_for_short_prec rounding mode for the TD->DD truncation. gcc/testsuite/ChangeLog: 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * gcc.target/s390/dfp-1.c: New test. From-SVN: r234134
Andreas Krebbel committed -
This patch replaces a few magic numbers used for floating point rounding modes with macros. This is mostly a NoOp change apart from: fixuns_truncdddi2, fixuns_trunctddi2, fixuns_trunc<mode>si2: Replace 5 with DFP_RND_TOWARD_0 (which is 9). 5 as well as 9 represent round towards 0 with the difference that for 5 the new DFP quantum exception is enabled as well. This exception isn't IEEE754 and we do not have an interface to enable and test it anyway. So we do not intend to enable it. This so far should not have any noticable effect since the quantum exception was not observable through the Posix functions. Some pattern ("fix_trunc<mode>di2") is already using rounding mode 9 correctly. gcc/ChangeLog: 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant definitions for BFP and DFP rounding modes. ("fixuns_truncdddi2", "fixuns_trunctddi2") ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2") ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2") ("fix_trunctf<mode>2"): Use the new constants instead of magic numbers. From-SVN: r234133
Andreas Krebbel committed -
The shift_count_or_setmem_operand predicate is now only used for setmem patterns anymore. Rename it together with the related functions. gcc/ChangeLog: 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com> * config/s390/constraints.md: Adjust comment. ("Y"): Adjust comment. Rename s390_decompose_shift_count to s390_decompose_addrstyle_without_index. * config/s390/predicates.md (shift_count_or_setmem_operand): Rename to setmem_operand. * config/s390/s390-protos.h (s390_decompose_shift_count): Rename to s390_decompose_addrstyle_without_index. * config/s390/s390.c (s390_decompose_shift_count) (s390_mem_constraint, print_shift_count_operand) (print_operand_address, print_operand): Rename s390_decompose_shift_count to s390_decompose_addrstyle_without_index and rename print_shift_count_operand to print_addrstyle_operand troughout the file. * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long") ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"): Rename shift_count_or_setmem_operand to setmem_operand. * config/s390/vx-builtins.md ("vec_insert<mode>") ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with nonmemory_operand. From-SVN: r234132
Andreas Krebbel committed -
From-SVN: r234130
GCC Administrator committed
-
- 10 Mar, 2016 20 commits
-
-
PR target/70168 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap): Handle overlapping retval and newval. From-SVN: r234126
Ulrich Weigand committed -
re PR testsuite/70009 (test case libgomp.oacc-c-c++-common/vprop.c fails starting with its introduction in r233607) libgomp/ PR testsuite/70009 * testsuite/libgomp.oacc-c-c++-common/vprop.c: Make test data signed. From-SVN: r234124
Cesar Philippidis committed -
From-SVN: r234120
Jason Merrill committed -
PR target/7044 * config/aarch64/aarch64.c (aarch64_override_options_after_change_1): When forcing flag_omit_frame_pointer to be true, use a special value that can be detected if this function is called again, thus preventing flag_omit_leaf_frame_pointer from being forced to be false. * gcc.target/aarch64/pr70044.c: New test. From-SVN: r234118
Nick Clifton committed -
PR c++/70001 * constexpr.c (cxx_eval_vec_init_1): For pre_init case, reuse return value from cxx_eval_constant_expression from earlier elements if it is valid constant initializer requiring no relocations. * g++.dg/cpp0x/constexpr-70001-1.C: New test. * g++.dg/cpp0x/constexpr-70001-2.C: New test. * g++.dg/cpp0x/constexpr-70001-3.C: New test. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r234117
Patrick Palka committed -
* common/config/aarch64/aarch64-common.c (aarch64_handle_option): Set x_flag_omit_leaf_frame_pointer when handling -momit-leaf-frame-pointer. From-SVN: r234116
Kyrylo Tkachov committed -
PR lto/69589 * cgraph.c (cgraph_node::dump): Dump split_part and indirect_call_target. * cgraph.h (cgraph_node): Add indirect_call_target flag. * ipa.c (has_addr_references_p): Cleanup. (is_indirect_call_target_p): New. (walk_polymorphic_call_targets): Do not mark virtuals that may be called indirectly as local. (symbol_table::remove_unreachable_nodes): Compute indirect_call_target. * g++.dg/lto/pr69589_0.C: New testcase * g++.dg/lto/pr69589_1.C: New testcase From-SVN: r234115
Jan Hubicka committed -
PR ipa/69630 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE on cxa_pure_virtual. From-SVN: r234114
Jan Hubicka committed -
PR lto/69589 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL. From-SVN: r234113
Jan Hubicka committed -
PR lto/69589 * tree.c (need_assembler_name_p): Only record main variant type names. From-SVN: r234112
Jan Hubicka committed -
PR c++/70153 * cp-gimplify.c (cp_fold): Handle UNARY_PLUS_EXPR. * g++.dg/delayedfold/unary-plus1.C: New test. From-SVN: r234111
Marek Polacek committed -
2016-03-10 Andre Vieira <andre.simoesdiasvieira@arm.com> gcc/testsuite/ * gcc.target/arm/pr45701-1.c: Escape brackets. * gcc.target/arm/pr45701-2.c: Likewise. From-SVN: r234109
Andre Vieira committed -
2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> PR target/70113. * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT): Always define to 0 or 1. (TARGET_FIX_ERR_A53_843419): New macro. * config/aarch64/aarch64-elf-raw.h (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes. * config/aarch64/aarch64-linux.h: Likewise. * config/aarch64/aarch64.c (aarch64_override_options_after_change_1): Do not default aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum 843419 is on. (aarch64_attributes): Handle fix-cortex-a53-843419. (aarch64_can_inline_p): Likewise. * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save. From-SVN: r234108
Christophe Lyon committed -
gcc/: * common.opt (funconstrained-commons, flag_unconstrained_commons): New. * tree.c (array_at_struct_end_p): Do not limit to size of decl for DECL_COMMONS if flag_unconstrained_commons is set. * tree-dfa.c (get_ref_base_and_extent): Likewise. * doc/invoke.texi (Optimize Options): Add -funconstrained-commons. (funconstrained-commons): Document. gcc/testsuite: * gfortran.dg/unconstrained_commons.f: New. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r234106
Alan Lawrence committed -
2016-03-10 Christophe Lyon <christophe.lyon@linaro.org> * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-fusion-pairs.def and aarch64-tuning-flags.def From-SVN: r234105
Christophe Lyon committed -
gcc/ * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask has a proper number of elements. From-SVN: r234104
Ilya Enkovich committed -
Optimizing indirect jumps to direct jumps, and deleting dead insns can lead to changes in register lifetimes, which in turn can result in bad reg_equiv info being passed to reload. So do these tasks before calculating reg_equiv info. gcc/ PR rtl-optimization/69195 PR rtl-optimization/47992 * ira.c (recorded_label_ref): Delete. (update_equiv_regs): Return void. (indirect_jump_optimize): New function. (ira): Call indirect_jump_optimize and delete_trivially_dead_insns before regstat_compute_ri. Don't rebuild_jump_labels here. Delete update_regstat. gcc/testsuite/ * gcc.dg/pr69195.c: New. * gcc.dg/pr69238.c: New. From-SVN: r234101
Alan Modra committed -
2016-03-10 Tom de Vries <tom@codesourcery.com> PR testsuite/68915 * gcc.dg/vect/pr46032.c: Xfail scan if alignment requirements not met. From-SVN: r234100
Tom de Vries committed -
2016-03-10 Richard Biener <rguenther@suse.de> PR tree-optimization/70128 * tree-ssa-structalias.c (set_uids_in_ptset): Set vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL. * gcc.dg/tree-ssa/alias-34.c: New testcase. * gcc.dg/tree-ssa/alias-35.c: Likewise. From-SVN: r234099
Richard Biener committed -
From-SVN: r234097
GCC Administrator committed
-
- 09 Mar, 2016 13 commits
-
-
re PR tree-optimization/70152 (gcc ICE at -O3 and above on valid code on x86_64-linux-gnu in "replace_uses_by") PR tree-optimization/70152 * tree-sra.c (replace_removed_params_ssa_names): Copy over SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name. * gcc.dg/pr70152.c: New test. From-SVN: r234092
Jakub Jelinek committed -
re PR target/70086 (ICE: in extract_constrain_insn_cached, at recog.c:2202 (insn does not satisfy its constraints) with -mavx512vl -ffloat-store) PR target/70086 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df instead of gen_sse2_loadlpd. * config/i386/sse.md (*vec_concatv2df): Rename to... (vec_concatv2df): ... this. * gcc.target/i386/pr70086-1.c: New test. * gcc.target/i386/pr70086-2.c: New test. * gcc.target/i386/pr70086-3.c: New test. From-SVN: r234091
Jakub Jelinek committed -
PR tree-optimization/70127 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change. * gcc.c-torture/execute/pr70127.c: New test. From-SVN: r234090
Jakub Jelinek committed -
gcc/c/ * c-parser.c (c_parser_oacc_loop): Update cclauses and clauses when calling c_finish_omp_clauses. gcc/cp/ * parser.c (cp_parser_oacc_loop): Update cclauses and clauses when calling c_finish_omp_clauses. gcc/testsuite/ * c-c++-common/goacc/combined-directives-2.c: New test. From-SVN: r234089
Cesar Philippidis committed -
diagnostic_show_locus can sometimes do the wrong thing when handling expressions built up from macros. PR c++/70105 (currently marked as a P3 regression) has an example of a diagnostic where over 500 lines of irrelevant source are printed, and underlined, giving >1000 lines of useless spew to stderr. This patch adds extra sanitization to diagnostic-show-locus.c, so that we only attempt to print underlines and secondary locations if such locations are "sufficiently sane" relative to the primary location of a diagnostic. This "sufficiently sane" condition is implemented by a new helper function compatible_locations_p, which requires such locations to have the same macro expansion hierarchy as the primary location, using linemap_macro_map_loc_unwind_toward_spelling, effectively mimicing the expansion performed by LRK_SPELLING_LOCATION. This may be too strong a condition, but it effectively fixes PR c++/70105, without removing any underlines in my testing. Successfully bootstrapped®rtested in combination with the previous patch on x86_64-pc-linux-gnu; adds 15 new PASS results to g++.sum and 4 new PASS results to gcc.sum. gcc/ChangeLog: PR c/68473 PR c++/70105 * diagnostic-show-locus.c (compatible_locations_p): New function. (layout::layout): Sanitize ranges using compatible_locations_p. gcc/testsuite/ChangeLog: PR c/68473 PR c++/70105 * g++.dg/diagnostic/pr70105.C: New test. * gcc.dg/plugin/diagnostic-test-expressions-1.c (foo): New decl. (test_multiple_ordinary_maps): New test function. libcpp/ChangeLog: PR c/68473 PR c++/70105 * line-map.c (linemap_macro_map_loc_unwind_toward_spelling): Move decl... * include/line-map.h (linemap_macro_map_loc_unwind_toward_spelling): ...here, converting from static to extern. From-SVN: r234088
David Malcolm committed -
gcc/ChangeLog: PR c/68473 PR c++/70105 * diagnostic-show-locus.c (layout_range::layout_range): Replace location_range param with three const expanded_locations * and a bool. (layout::layout): Replace call to rich_location::lazily_expand_location with get_expanded_location. Extract the range and perform location expansion here, passing the results to the layout_range ctor. * diagnostic.c (source_range::debug): Delete. * diagnostic.h (diagnostic_expand_location): Reimplement in terms of rich_location::get_expanded_location. * gcc-rich-location.c (get_range_for_expr): Delete. (gcc_rich_location::add_expr): Reimplement to avoid the rich_location::add_range overload that took a location_range, passing a location_t instead. gcc/testsuite/ChangeLog: PR c/68473 PR c++/70105 * gcc.dg/plugin/diagnostic_plugin_show_trees.c (show_tree): Drop range information from call to inform_at_rich_loc. * gcc.dg/plugin/diagnostic_plugin_test_show_locus.c (add_range): New. (test_show_locus): Replace calls to rich_location::add_range with calls to add_range. Rewrite the tests that used the now-defunct rich_location ctor taking a source_range. Simplify other tests by replacing calls to COMBINE_LOCATION_DATA with calls to make_location. libcpp/ChangeLog: PR c/68473 PR c++/70105 * include/line-map.h (source_range::debug): Delete. (struct location_range): Update comment. Replace expanded_location fields "m_start", "m_finish", and "m_caret" with a source_location field: "m_loc". (class rich_location): Reword comment. (rich_location::get_loc): Reimplement in terms of a new overloaded variant which takes an unsigned int. (rich_location::get_loc_addr): Delete. (rich_location::add_range): Drop params "start" and "finish" in favor of param "loc". Drop overloaded variants taking a source_range or location_range *. (rich_location::lazily_expand_location): Delete in favor of... (rich_location::get_expanded_location): New decl. (rich_location::m_loc): Delete field. (rich_location::m_column_override): New field. * line-map.c (rich_location::rich_location): Drop name of line_maps * param. Update initializations for deletion of field "m_loc" and addition of field "m_column_override". Reimplement body as a call to add_range. Delete overloaded variant taking a source_range. (rich_location::get_loc): New function. (rich_location::lazily_expand_location): Delete in favor of... (rich_location::get_expanded_location): New function. (rich_location::override_column): Reimplement. (rich_location::add_range): Drop params "start" and "finish" in favor of param "loc". Eliminate location expansion in favor of simply storing loc. Drop overloaded variants taking a source_range or location_range *. (rich_location::set_range): Eliminate location expansion. From-SVN: r234087
David Malcolm committed -
2016-03-09 Richard Biener <rguenther@suse.de> Jakub Jelinek <jakub@redhat.com> PR tree-optimization/70138 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Also skip vect_double_reduction_def. * gcc.dg/vect/pr70138-1.c: New testcase. * gcc.dg/vect/pr70138-2.c: Likewise. Co-Authored-By: Jakub Jelinek <jakub@redhat.com> From-SVN: r234086
Richard Biener committed -
re PR target/70049 (Error: operand size mismatch for `vpextrw' (wrong assembly generated) with -masm=intel) PR target/70049 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0 if the operand is "m". * gcc.target/i386/pr70049.c: New test. From-SVN: r234085
Jakub Jelinek committed -
2016-03-09 Richard Biener <rguenther@suse.de> c-family/ PR c/70143 * c-common.c (strict_aliasing_warning): Add back alias_sets_conflict_p check. * gcc.dg/Wstrict-aliasing-bogus-upcast.c: New testcase. * gcc.dg/Wstrict-aliasing-struct-with-char-member.c: Likewise. * gcc.dg/Wstrict-aliasing-struct-member.c: Remove again. From-SVN: r234084
Richard Biener committed -
From-SVN: r234083
Nathan Sidwell committed -
* gcc.dg/vect/bb-slp-34.c: Really don't xfail on aarch64-*-*, arm-*-*. From-SVN: r234081
Rainer Orth committed -
PR middle-end/67278 * gcc.dg/simd-7.c: Add -w -Wno-psabi to dg-options. From-SVN: r234080
Jakub Jelinek committed -
PR target/67278 * gcc.dg/simd-8.c: Add -w -Wno-psabi to dg-options. PR middle-end/70050 * gcc.dg/pr70050.c: Add -w to dg-options. Fix up PR number in testcase comment. From-SVN: r234079
Jakub Jelinek committed
-