X-Git-Url: http://git.ipfire.org/?a=blobdiff_plain;f=gcc%2FChangeLog;h=44a83877d868396c6825dd1b94f37fe50c56986e;hb=849a7926848082c390a6d4bdc1b02f672fea5ed9;hp=f1ed98e6f66999313a70279604f3b3aadc90ed02;hpb=29659b56ca23de6635b0efd28948e9ebaba3ec0b;p=thirdparty%2Fgcc.git diff --git a/gcc/ChangeLog b/gcc/ChangeLog index f1ed98e6f669..44a83877d868 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,444 @@ +2019-04-18 Richard Sandiford + + * fold-const.c (int_const_binop): Return early on failure. + +2019-04-18 Richard Sandiford + + PR middle-end/85164 + * combine.c (force_int_to_mode): Cast the argument rather than + the result of known_alignment. + * rtlanal.c (rtx_addr_can_trap_p_1): Use known_subrange_p. + +2019-04-18 Richard Biener + + PR debug/90131 + * tree-cfgcleanup.c (move_debug_stmts_from_forwarder): Split + out from ... + (remove_forwarder_block): ... here. + (remove_forwarder_block_with_phi): Also move debug stmts here. + +2019-04-18 Jakub Jelinek + + PR translation/79183 + * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of + inform where appropriate. + +2019-04-18 Richard Biener + + * tree.c (get_qualified_type): Put found type variants at the + head of the variant list. + +2018-04-17 Segher Boessenkool + + * config/rs6000/rs6000.c (rs6000_register_move_cost): Fix typo. + +2019-04-17 Hongtao Liu + + PR target/90125 + * config/i386/avx512fintrin.h (_mm_maskz_fmadd_round_sd, + _mm_maskz_fmadd_round_ss, _mm_maskz_fmsub_round_sd, + _mm_maskz_fmsub_round_ss, _mm_maskz_fnmadd_round_sd, + _mm_maskz_fnmadd_round_ss, _mm_maskz_fnmsub_round_sd, + _mm_maskz_fnmsub_round_ss): Use _maskz builtin instead of _mask3. + +2019-04-17 Peter Bergner + + * ira-conflicts.c (print_allocno_conflicts): Always print something, + even for allocno's with no conflicts. + (print_conflicts): Print an extra newline. + +2019-04-17 Segher Boessenkool + + * auto-inc-dec.c (attempt_change): Set the alignment of the + temporary memory to that of the original. + +2019-04-17 Joao Moreira + + * targhooks.c (default_print_patchable_function_entry): Emit + __patchable_function_entries section with writable flags to allow + relocation resolution. + +2019-04-17 Jonny Grant + + * collect2.c (main): Change gcc.gnu.org URL to HTTPS. + +2019-04-17 Jakub Jelinek + + PR middle-end/90095 + * internal-fn.c (expand_mul_overflow): Don't set SUBREG_PROMOTED_VAR_P + on lowpart SUBREGs. + +2019-04-17 Claudiu Zissulescu + + * config/arc/arc.c (arc_init): Format diagnostic string. + (arc_override_options): Likewise. + (check_if_valid_regno_const): Likewise. + (arc_reorg): Likewise. + +2019-04-17 Segher Boessenkool + + PR target/17108 + * config/rs6000/rs6000.c (rs6000_split_multireg_move): Adjust pattern + name. + (rs6000_emit_allocate_stack_1): Simplify condition. Adjust pattern + name. + * config/rs6000/rs6000.md (bits): Add entries for SF and DF. + (*movdi_update1): Use Pmode. + (movdi__update): Fix argument to avoiding_indexed_address_p. + (movdi__update_stack): Rename to ... + (movdi_update_stack): ... this. Fix comment. Change condition. Don't + use Pmode. + (*movsi_update1): Use Pmode. + (*movsi_update2): Use Pmode. + (movsi_update): Rename to ... + (movsi__update): ... this. Use Pmode. + (movsi_update_stack): Fix condition. + (*movhi_update1): Use Pmode. Fix argument to + avoiding_indexed_address_p. + (*movhi_update2): Ditto. + (*movhi_update3): Ditto. + (*movhi_update4): Ditto. + (*movqi_update1): Ditto. + (*movqi_update2): Ditto. + (*movqi_update3): Ditto. + (*movsf_update1, *movdf_update1): Merge, rename to... + (*mov_update1): This. Use Pmode. Fix argument to + avoiding_indexed_address_p. Add "size" attribute. + (*movsf_update2, *movdf_update2): Merge, rename to... + (*mov_update2): This. Ditto. + (*movsf_update3): Use Pmode. Fix argument to + avoiding_indexed_address_p. + (*movsf_update4): Ditto. + (allocate_stack): Simplify condition. Adjust pattern names. + +2019-04-17 Jakub Jelinek + + PR target/89093 + * config/arm/arm.c (arm_valid_target_attribute_rec): Don't skip + whitespace at the start of target attribute string. + +2019-04-16 Pat Haugen + + PR target/84369 + * config/rs6000/power9.md: Add store forwarding bypass. + +2019-04-16 Alexandre Oliva + + PR debug/89528 + * valtrack.c (dead_debug_insert_temp): Reset debug references + to the return value of a call being removed. + +2019-04-16 Claudiu Zissulescu + + * config/arc/arc-protos.h (arc_register_move_cost): Remove. + * config/arc/arc.c (arc_register_move_cost): Re-purpose it to + implement target hook. + (arc_memory_move_cost): New function. + (TARGET_REGISTER_MOVE_COST): Define. + (TARGET_MEMORY_MOVE_COST): Likewise. + * config/arc/arc.h (REGISTER_MOVE_COST): Remove. + (MEMORY_MOVE_COST): Likewise. + +2019-04-16 Claudiu Zissulescu + + * config/arc/arc.md (sibcall_insn): Use Rcd constraint. + (sibcall_value_insn): Likewise. + * config/arc/constraints.md (Rs5): Remove. + +2019-04-16 Claudiu Zissulescu + + * config/arc/arc.c (arc_hard_regno_modes): Add two missing modes + for last two fake registers. + (arc_conditional_register_usage): Make sure fake frame and arg + pointer regs are in general regs class. + (FRAME_POINTER_MASK): Remove. + (RETURN_ADDR_MASK): Remove. + (arc_must_save_register): Use hard frame regnum. + (frame_restore_reg): Use hard_frame_pointer_rtx. + (arc_save_callee_saves): Likewise. + (arc_restore_callee_saves): Likewise. + (arc_save_callee_enter): Likewise. + (arc_restore_callee_leave): Likewise. + (arc_save_callee_milli): Likewise. + (arc_eh_return_address_location): Likewise. + (arc_check_multi): Use hard frame regnum. + (arc_can_eliminate): Likewise. + * config/arc/arc.h (FIXED_REGISTERS): Make FP register available + for register allocator. + (REG_CLASS_CONTENTS): Update GENERAL_REGS. + (REGNO_OK_FOR_BASE_P): Consider FRAME_POINTER_REGNUM. + (FRAME_POINTER_REGNUM): Change it to a fake register. + (HARD_FRAME_POINTER_REGNUM): Defined. + (ARG_POINTER_REGNUM): Change it to a new fake register. + (ELIMINABLE_REGS): Update. + (REGISTER_NAMES): Update names. + * config/arc/arc.md (LP_START): Remove. + (LP_END): Likewise. + (shift_si3_loop): Update pattern. + +2019-04-16 Claudiu Zissulescu + + * config/arc/arc.c (arc_expand_prologue): Emit blockage regardless + to avoid delay slot scheduling. + (arc_must_save_register): Don't save SP. + * config/arc/arc.md (stack_tie): Remove. + (UNSPEC_ARC_STKTIE): Likewise. + +2019-04-16 Kito Cheng + Shiva Chen + + * config/nds32/nds32-md-auxiliary.c (nds32_split_ashiftdi3): Fix wrong + code gen with large shift amount. + +2019-04-16 Chung-Ju Wu + + * config/nds32/nds32-pipelines-auxiliary.c (wext_odd_dep_p): Handle + subreg. + +2019-04-16 Jakub Jelinek + + PR target/90096 + * config/i386/i386.c (ix86_target_string): Add ADD_ABI_P argument, only + print -m64/-mx32/-m32 if it is true. + (ix86_debug_options, ix86_function_specific_print): Pass true as + ADD_ABI_P to ix86_target_string. + (ix86_expand_builtin): Adjust ix86_target_string caller, pass true as + ADD_ABI_P only if OPTION_MASK_ISA_64BIT is set in bisa and in that case + or into it OPTION_MASK_ISA_ABI_64 or OPTION_MASK_ISA_ABI_X32. + + PR rtl-optimization/90082 + * dce.c (can_delete_call): New function. + (deletable_insn_p, mark_insn): Use it. + + PR tree-optimization/90090 + * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can + throw internally. + (is_division_by_square): Likewise. Formatting fix. + +2019-04-16 Richard Biener + + PR tree-optimization/56049 + * tree-ssa-loop-im.c (mem_ref_hasher::equal): Elide alias-set + equality check if alias-set zero will prevail. + +2019-04-15 Jeff Law + + * config/microblaze/microblaze.c (microblaze_expand_block_move): Treat + size and alignment as unsigned. + +2019-04-15 Richard Biener + + PR debug/90074 + * tree-loop-distribution.c (destroy_loop): Preserve correct + debug info. + +2019-04-15 Richard Biener + + PR tree-optimization/90071 + * tree-ssa-reassoc.c (init_range_entry): Do not pick up + abnormal operands from def stmts. + +2019-04-15 Segher Boessenkool + + PR rtl-optimization/89794 + * combine.c (count_auto_inc): New function. + (try_combine): Count how many auto_inc expressions there were in the + original instructions. Ensure we have the same number in the new + instructions. Remove the code that tried to ensure auto_inc side + effects on i1 and i0 are not lost. + +2019-04-15 Richard Biener + + PR ipa/88936 + * tree.h (auto_var_p): Declare. + * tree.c (auto_var_p): New function, split out from ... + (auto_var_in_fn_p): ... here. + * tree-ssa-structalias.c (struct variable_info): Add shadow_var_uid + member. + (new_var_info): Initialize it. + (set_uids_in_ptset): Also set the shadow variable uid if required. + (ipa_pta_execute): Postprocess points-to solutions assigning + shadow variable uids for locals that may reach their containing + function recursively. + * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Do not + assert but instead check whether the points-to solution is + a singleton. + +2019-04-15 Martin Jambor + + PR ipa/pr89693 + * cgraph.c (clone_of_p): Loop over clone chain for each step in + the thunk chain. + +2019-04-15 Monk Chiang + + * config.gcc (nds32*-*-linux*): Set gcc_cv_initfini_array to yes. + +2019-04-15 Monk Chiang + Kito Cheng + Shiva Chen + + * config/nds32/nds32-md-auxiliary.c + (nds32_legitimize_pic_address): Use new PIC pattern. + (nds32_legitimize_tls_address): Use new TLS pattern. + (nds32_output_symrel): New. + * config/nds32/nds32-protos.h (nds32_output_symrel): Declare. + (nds32_alloc_relax_group_id): Ditto. + * config/nds32/nds32-relax-opt.c (nds32_alloc_relax_group_id): New. + (nds32_group_insns): Use nds32_alloc_relax_group_id instead of use + relax_group_id. + (nds32_group_tls_insn): Ditto. + (nds32_group_float_insns): Ditto. + * config/nds32/nds32.md (tls_le): New. + (sym_got): Ditto. + +2019-04-15 Chung-Ju Wu + + * configure: Add nds32 target for dwarf2 debug_line checking. + * configure.ac: Regenerated. + +2019-04-14 Jan Hubicka + + PR lto/89358 + * ipa-devirt.c (skip_in_fields_list_p): New. + (odr_types_equivalent_p): Use it. + +2019-04-13 Jakub Jelinek + + PR target/89093 + * config/arm/arm.c (arm_valid_target_attribute_rec): Use strcmp + instead of strncmp when checking for thumb and arm. Formatting fixes. + +2019-04-12 Iain Buclaw + + * doc/install.texi: Document --with-target-system-zlib. + +2019-04-12 Martin Sebor + + PR c/88383 + PR c/89288 + PR c/89798 + PR c/89797 + * targhooks.c (default_vector_alignment): Avoid assuming + argument fits in SHWI. + * tree.h (TYPE_VECTOR_SUBPARTS): Avoid sign overflow in + a shift expression. + * doc/extend.texi (__builtin_has_attribute): Add a clarifying note. + +2019-04-12 Jakub Jelinek + + PR rtl-optimization/89965 + * dce.c: Include rtl-iter.h. + (struct check_argument_load_data): New type. + (check_argument_load): New function. + (find_call_stack_args): Check for loads from stack slots still tracked + in sp_bytes and punt if any is found. + + * config/mips/loongson-mmiintrin.h: Fix up #error message. + +2019-04-12 Jan Hubicka + + * params.def (PARAM_MAX_LTO_STREAMING_PARALLELISM): New parameter. + * doc/invoke.texi (max-lto-streaming-paralellism): New --param. + +2019-04-12 Martin Liska + + PR middle-end/89970 + * multiple_target.c (create_dispatcher_calls): Wrap ifunc + in error message. + (separate_attrs): Handle multiple 'default's. + (expand_target_clones): Rework error handling code. + +2019-04-12 Kelvin Nilsen + + PR target/87532 + * config/rs6000/rs6000.c (rs6000_split_vec_extract_var): Use inner + mode of vector rather than mode of destination for move instruction. + * config/rs6000/vsx.md (*vsx_extract__mode_var): + Use QI inner mode with V16QI vector mode. + +2019-04-12 Jakub Jelinek + + PR target/52726 + * config/tilepro/tilepro.c (tilepro_print_operand): Use just + "invalid %%t operand" in output_operand_lossage message. + +2019-04-12 Andreas Krebbel + + * config/s390/predicates.md (permute_pattern_operand): New + predicate. + * config/s390/vector.md ("*vec_splats_bswap_vec"): Add USE + operand for the permute pattern. + ("*vec_perm"): New insn definition. + ("bswap"): Generate the permute pattern operand in the + expander and perform the operand reloads for pre arch13 level + already. + ("*bswap_emu"): Rename to ... + ("*bswap"): ... this. And make the splitter vxe2 only. + * config/s390/vx-builtins.md ("*vec_insert_and_zero_bswap"): + Add the USE operand for the permute pattern. + ("*vec_set_bswap_vec"): Likewise. + +2019-04-12 Jakub Jelinek + + PR c/89946 + * varasm.c (assemble_start_function): Don't use tree_fits_uhwi_p + and gcc_unreachable if it fails, just call tree_to_uhwi which + verifies that too. Test TREE_CHAIN instead of list_length > 1. + Start warning message with a lower-case letter. Formatting fixes. + + PR rtl-optimization/90026 + * cfgcleanup.c (try_optimize_cfg): When removing empty bb with no + successors, look for BARRIERs inside of the whole BB_FOOTER chain + rather than just at the start of it. If e->src BB_FOOTER is not NULL + in cfglayout mode, use emit_barrier_after_bb. + +2018-04-11 Steve Ellcey + + PR rtl-optimization/87763 + * config/aarch64/aarch64.md (*aarch64_bfi4_noshift_alt): + New Instruction. + +2019-04-11 Tom de Vries + + * doc/extend.texi (@node Statement Exprs): Note variable shadowing at + max macro using statement expression. + +2019-04-11 David Edelsohn + + * xcoffout.h (xcoff_private_rodata_section_name): Declare. + * xcoffout.c (xcoff_private_rodata_section_name): Define. + * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create + read_only_private_data_section using xcoff_private_rodata_section_name. + (rs6000_xcoff_file_start): Generate xcoff_private_rodata_section_name. + +2019-04-11 Christophe Lyon + + PR target/90016 + * config/aarch64/aarch64.opt (msve-vector-bits): Add missing final '.'. + +2019-04-11 Jakub Jelinek + + PR rtl-optimization/89965 + * dce.c (sp_based_mem_offset): New function. + (find_call_stack_args): Use sp_based_mem_offset. + +2019-04-11 Jonathan Wakely + + * doc/invoke.texi (Optimize Options): Clarify -flive-patching docs. + +2019-04-11 Richard Biener + + PR tree-optimization/90020 + * tree-ssa-sccvn.c (vn_reference_may_trap): New function. + * tree-ssa-sccvn.h (vn_reference_may_trap): Declare. + * tree-ssa-pre.c (compute_avail): Use it to not put + possibly trapping references after a call that might not + return into EXP_GEN. + * gcse.c (compute_hash_table_work): Do not elide + marking a block containing a call if the call might not + return. + 2019-04-11 Richard Biener PR tree-optimization/90018