| 2019-11-14 Release Manager |
| |
| * GCC 7.5.0 released. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_indirection_name): Rework the |
| function to emit linker-visible symbols only for indirections |
| in the data section. Clean up the code and update comments. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-09 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_override_options): Make the check for |
| Objective-C ABI version more specific for 64bit code. |
| |
| Backport from mainline |
| 2019-10-06 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_override_options): Adjust objective-c |
| ABI version error messages to avoid punctuation and contracted |
| negations. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-07-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin. |
| (STARTFILE_SPEC): Split crt3 into a separate spec. |
| (DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec. |
| (DARWIN_CRT2_SPEC): New. |
| (DARWIN_CRT3_SPEC): New. |
| (MIN_LD64_OMIT_STUBS): Revise to 62.1. |
| * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions. |
| (DARWIN_CRT3_SPEC): New. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the |
| spec. |
| |
| Backport from mainline |
| 2019-06-25 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h (ENDFILE_SPEC): New. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-18 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_emit_unwind_label): New default to false. |
| (darwin_override_options): Set darwin_emit_unwind_label as needed. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-08-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_indirect_call_target): Rename symbol stub |
| flag. |
| (darwin_override_options): Likewise. |
| * config/darwin.h: Likewise. |
| * config/darwin.opt: Likewise. |
| * config/i386/i386.c (output_pic_addr_const): Likewise. |
| * config/rs6000/darwin.h: Likewise. |
| * config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise. |
| * config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ... |
| ... this TARGET_MACHO_SYMBOL_STUBS. |
| (FUNCTION_PROFILER):Likewise. |
| * config/i386/i386.h: Likewise. |
| |
| Backport from mainline |
| 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_indirect_call_target): Use renamed |
| darwin_picsymbol_stubs to decide on output. |
| (darwin_override_options): Handle darwin_picsymbol_stubs. |
| * config/darwin.h (MIN_LD64_OMIT_STUBS): New. |
| (LD64_VERSION): Revise default. |
| * config/darwin.opt: (mpic-symbol-stubs): New option. |
| (darwin_picsymbol_stubs): New variable. |
| * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS): |
| rename to TARGET_MACHO_PICSYM_STUBS. |
| * config/i386/i386.c (output_pic_addr_const): Likewise. |
| * config/i386/i386.h Likewise. |
| * config/rs6000/darwin.h: Likewise. |
| * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed |
| darwin_picsymbol_stubs. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-28 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove |
| override on extra_headers. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour |
| user-specified float mode choice for kernel mode code. |
| |
| 2019-11-01 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-23 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h: Handle GCC target pragma. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-17 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/65342 |
| * config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete. |
| (movdi_low_st): Delete. |
| * config/rs6000/rs6000.c |
| (darwin_rs6000_legitimate_lo_sum_const_p): New. |
| (mem_operand_gpr): Validate Mach-O LO_SUM cases separately. |
| * config/rs6000/rs6000.md (movsi_low): Delete. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-12 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/67183 |
| * config/darwin.c (machopic_indirection): New field to flag |
| non-lazy-symbol-pointers in the data section. |
| (machopic_indirection_name): Compute if an indirection should |
| appear in the data section. |
| (machopic_output_data_section_indirection): New callback split |
| from machopic_output_indirection. |
| (machopic_output_stub_indirection): Likewise. |
| (machopic_output_indirection): Retain the code for non-lazy |
| symbol pointers in their regular section. |
| (machopic_finish): Use the new callbacks to order the indirection |
| output. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-12 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin-protos.h (machopic_finish): Delete. |
| * config/darwin.c (machopic_finish): Make static. |
| |
| Backport from mainline |
| 2019-10-09 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_indirect_data_reference): Set flag to |
| indicate that the new symbol is an indirection. |
| (machopic_indirect_call_target): Likewise. |
| * config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New. |
| (MACHO_SYMBOL_INDIRECTION_P): New. |
| (MACHO_SYMBOL_FLAG_STATIC): Adjust bit number. |
| |
| Backport from mainline |
| 2019-10-08 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_indirect_data_reference): Check for |
| required indirections before making direct access to defined |
| values. |
| (machopic_output_indirection): Place the indirected pointes for |
| required indirections into the non-lazy symbol pointers section. |
| (darwin_encode_section_info): |
| * config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New. |
| (MACHO_SYMBOL_MUST_INDIRECT_P): New. |
| |
| Backport from mainline |
| 2019-10-07 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_output_indirection): Don't put |
| hidden symbol indirections into the .data section, use the |
| non-lazy symbol pointers section as normal. |
| (darwin_encode_section_info): Record if a symbol is hidden. |
| * config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New. |
| (MACHO_SYMBOL_HIDDEN_VIS_P): New. |
| |
| Backport from mainline |
| 2019-10-07 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_symbol_defined_p): Use symbol flag |
| predicates instead of accessing bits directly. |
| (machopic_indirect_call_target): Likewise. |
| (machopic_output_indirection): Likewise. |
| (darwin_encode_section_info): Improve description. Use renamed |
| symbol flags. Use predicate macros for variables and functions. |
| * config/darwin.h: |
| Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE. |
| Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED. |
| Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC. |
| (MACHO_SYMBOL_VARIABLE_P): New. |
| (MACHO_SYMBOL_DEFINED_P):New. |
| (MACHO_SYMBOL_STATIC_P): New. |
| * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete. |
| (SYMBOL_FLAG_SUBT_DEP): New. |
| * config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/59888 |
| * config/darwin.c (darwin_rodata_section): Add relocation flag, |
| choose const_data section for constants with relocations. |
| (machopic_select_section): Pass relocation flag to |
| darwin_rodata_section (). |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-09-21 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (machopic_legitimize_pic_address): Check |
| for lra, rather than reload. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-10-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/87243 |
| * config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New. |
| (darwin_driver_init): Use the sysroot provided by SDKROOT when that |
| is available and the user has not set one on the command line. |
| |
| 2019-10-29 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-07-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases. |
| (RDYNAMIC): Rename to, DARWIN_RDYNAMIC. |
| (DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker |
| clauses. |
| (LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and |
| DARWIN_NOPIE_SPEC. |
| |
| Backport from mainline |
| 2019-06-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC |
| and DARWIN_NOPIE_SPEC. |
| (RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC. |
| (DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h. |
| (DARWIN_NOPIE_SPEC): Collate from darwin10.h. |
| (DARWIN_NOCOMPACT_UNWIND): New from darwin10.h |
| (DARWIN_EXPORT_DYNAMIC): Delete. |
| * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind |
| and pie options processing to darwin.h. |
| * config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h |
| |
| 2019-10-25 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backport from mainline |
| 2019-05-08 Mihail Ionescu <mihail.ionescu@arm.com> |
| Richard Earnshaw <rearnsha@arm.com> |
| PR target/88167 |
| * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New |
| function. |
| (thumb1_epilogue_unused_call_clobbered_lo_regs): New function. |
| (thumb1_compute_save_core_reg_mask): Don't force a spare work |
| register if both the epilogue and prologue can use call-clobbered |
| regs. |
| (thumb1_unexpanded_epilogue): Use |
| thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for |
| picking temporaries for restoring high regs to match that of the |
| prologue where possible. |
| (thumb1_expand_prologue): Add any usable call-clobbered low registers to |
| the list of work registers. Detect if the return address is still live |
| at the end of the prologue and avoid using it for a work register if so. |
| If the return address is not live, add LR to the list of pushable regs |
| after the first pass. |
| |
| 2019-10-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-10-17 Richard Biener <rguenther@suse.de> |
| |
| PR debug/91887 |
| * dwarf2out.c (gen_formal_parameter_die): Also try to match |
| context_die against a DW_TAG_GNU_formal_parameter_pack parent. |
| |
| 2019-09-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/91812 |
| * tree-ssa-phiprop.c (propagate_with_phi): Do not replace |
| volatile loads. |
| |
| 2019-10-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/92131 |
| * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting |
| range would be symbolic, drop to varying for any explicit overflow |
| in the constant part or if neither range is a singleton. |
| |
| 2019-10-18 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from trunk |
| 2019-10-18 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/86040 |
| * config/avr/avr.c (avr_out_lpm): Do not shortcut-return. |
| |
| 2019-10-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2019-03-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/89721 |
| * lra-constraints (invariant_p): Return false if side_effects_p holds. |
| |
| 2019-10-17 Richard Earnshaw <rearnsha@arm.com> |
| |
| Backport from mainline |
| 2019-05-03 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/89400 |
| * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1. |
| Restrict 'all' variant to 32-bit configurations. |
| (unaligned_loadhiu): Likewise. |
| (unaligned_storehi): Likewise. |
| (unaligned_storesi): Likewise. |
| (unaligned_loadhis): Disable when compiling for thumb1. |
| |
| 2019-10-16 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backport from mainline |
| 2019-10-08 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com> |
| |
| * config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and |
| LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and |
| MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain. |
| |
| 2019-10-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2019-10-10 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/88630 |
| * config/sh/sh.h (TARGET_FPU_SH4_300): New macro. |
| * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns |
| also for TARGET_FPU_SH4_300. |
| (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of |
| TARGET_SH4_300. |
| * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition. |
| (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr. |
| (*negsf2_i): Split into ... |
| (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns. |
| (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc. |
| (**abssf2_i): Split into ... |
| (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns. |
| (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr. |
| (*negdf2_i): Split into ... |
| (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns. |
| (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc. |
| (**abssf2_i): Split into ... |
| (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns. |
| |
| 2019-10-07 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2019-10-01 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR target/91275 |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Don't swap |
| vpmsumd. |
| |
| 2019-10-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| |
| 2019-10-01 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/88562 |
| * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use |
| sh_check_add_incdec_notes to preserve REG_INC notes when replacing |
| a memory access insn. |
| |
| 2019-09-28 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline. |
| 2019-05-12 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/82920 |
| * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for |
| Darwin. |
| |
| 2019-09-28 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline. |
| 2019-05-12 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/82920 |
| * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New. |
| (ix86_output_indirect_branch_via_reg): Use output mechanism |
| accounting for __USER_LABEL_PREFIX__. |
| (ix86_output_indirect_branch_via_push): Likewise. |
| (ix86_output_function_return): Likewise. |
| (ix86_output_indirect_function_return): Likewise. |
| |
| 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/80672 |
| * config/sh/sh.c (parse_validate_atomic_model_option): Use |
| std::string::compare instead of std::string::find. |
| |
| 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-07-15 Jeff Law <law@redhat.com> |
| |
| PR target/85993 |
| * config/sh/sh.c (output_mi_thunk): Remove dead conditional |
| block. |
| |
| 2019-09-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-16 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.opt (prebind, noprebind, seglinkedit, |
| noseglinkedit): Add RejectNegative. |
| |
| Backport from mainline |
| 2019-06-14 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.opt: Add RejectNegative where needed, reorder |
| and add minimal functional descriptions. |
| |
| 2019-09-23 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2019-06-18 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack |
| pointer adjustment for the case of no callee-saved registers and |
| stack frame bigger than 128 bytes. |
| |
| 2019-09-20 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_trampoline_init): Remove spurious extended |
| characters. |
| |
| 2019-09-20 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2019-06-06 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| PR rtl-optimization/88751 |
| * ira.c (ira): Use the number of the actually referenced registers |
| when calculating the threshold. |
| |
| 2019-09-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/89795 |
| * rtlanal.c (nonzero_bits1) <SUBREG>: Do not propagate results from |
| inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set. |
| |
| 2019-09-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87853 |
| * config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi |
| instead of __v16qs. |
| |
| PR target/91704 |
| * config/i386/avxintrin.h (__v32qs): New typedef. |
| * config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs |
| instead of __v32qi. |
| |
| 2019-09-08 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-12-23 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New. |
| |
| 2019-08-22 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-05-31 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New. |
| |
| 2019-09-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-08-18 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts |
| for cpu and machine. Factor 64/32b builtins. |
| |
| Backport from mainline |
| 2019-06-23 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/darwin.h: (__PPC__, __PPC64__): New. |
| |
| 2019-09-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-08-23 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR pch/61250 |
| * ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure |
| and issue any diagnostics needed before collecting the pre-PCH |
| state. |
| |
| 2019-09-05 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-07-24 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR bootstrap/87030 |
| * config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749. |
| |
| PR bootstrap/87030 |
| * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here... |
| * config/i386/darwin32-biarch.h .. to here. |
| * config/i386/darwin64-biarch.h: Adjust comments. |
| * config/rs6000/darwin32-biarch.h: Likewise. |
| * config/rs6000/darwin64-biarch.h: Likewise. |
| * config.gcc: Missed commit from r273746 |
| (*-*-darwin*): Don't include CPU t-darwin here. |
| (i[34567]86-*-darwin*): Adjust to use biarch files. Produce |
| an error message if i686-darwin configuration is attempted for |
| Darwin >= 18. |
| |
| Backport from mainline |
| 2019-07-23 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR bootstrap/87030 |
| * config.gcc (*-*-darwin*): Don't include CPU t-darwin here. |
| (i[34567]86-*-darwin*): Adjust to use biarch files. Produce |
| an error message if i686-darwin configuration is attempted for |
| Darwin >= 18. |
| (x86_64-*-darwin*): Switch to single multilib for Darwin >= 18. |
| (powerpc-*-darwin*): Use biarch files where needed. |
| (powerpc64-*-darwin*): Likewise. |
| * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file. |
| (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single |
| arch case. |
| * config/i386/darwin32-biarch.h: New. |
| * config/i386/darwin64.h: Rename. |
| * gcc/config/i386/darwin64-biarch.h: To this. |
| * config/i386/t-darwin: Rename. |
| * gcc/config/i386/t-darwin32-biarch: To this. |
| * config/i386/t-darwin64: Rename. |
| * gcc/config/i386/t-darwin64-biarch: To this. |
| * config/rs6000/darwin32-biarch.h: New. |
| * config/rs6000/darwin64.h: Rename. |
| * config/rs6000/darwin64-biarch.h: To this. |
| (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single |
| arch case. |
| * config/rs6000/t-darwin8: Rename. |
| * config/rs6000/t-darwin32-biarch: To this. |
| * config/rs6000/t-darwin64 Rename. |
| * config/rs6000/t-darwin64-biarch: To this. |
| |
| 2019-09-05 Richard Biener <rguenther@suse.de> |
| |
| * lto-streamer.h (LTO_minor_version): Bump. |
| |
| Backport from mainline |
| 2019-05-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90328 |
| * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest. |
| * tree-data-ref.c (dr_may_alias_p): Check whether the clique |
| is valid in the loop nest before using it. |
| (initialize_data_dependence_relation): Adjust. |
| * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing |
| loop as loop-nest to dr_may_alias_p. |
| |
| 2019-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/89578 |
| * cfgloop.h (struct loop): Add owned_clique field. |
| * cfgloopmanip.c (copy_loop_info): Copy it. |
| * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique |
| cliques. |
| * tree-inline.c (copy_loops): Remap owned_clique. |
| * lto-streamer-in.c (input_cfg): Stream owned_clique. |
| * lto-streamer-out.c (output_cfg): Likewise. |
| |
| 2019-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/87609 |
| * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques. |
| |
| 2019-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/87609 |
| * cfghooks.h (dependence_hash): New typedef. |
| (struct copy_bb_data): New type. |
| (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument. |
| (duplicate_block): Likewise. |
| * cfghooks.c (duplicate_block): Pass down copy_bb_data. |
| (copy_bbs): Create and pass down copy_bb_data. |
| * cfgrtl.c (cfg_layout_duplicate_bb): Adjust. |
| (rtl_duplicate_bb): Likewise. |
| * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL |
| remap dependence info. |
| |
| 2019-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/87609 |
| * tree-core.h (tree_base): Document special clique values. |
| * tree-inline.c (remap_dependence_clique): Do not use the |
| special clique value of one. |
| (maybe_set_dependence_info): Use clique one. |
| (clear_dependence_clique): New callback. |
| (compute_dependence_clique): Clear clique one from all refs |
| before assigning it (again). |
| |
| 2019-08-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-07-07 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_override_options): Make a final check on PIC |
| options. |
| |
| 2019-09-04 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-07-07 Iain Sandoe <iain@sandoe.co.uk> |
| * config/darwin.c (darwin_override_options): Don't jam symbol stubs |
| on for kernel code. |
| |
| 2019-09-04 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-27 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not |
| use longcall for 64b code. |
| |
| 2019-09-04 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-06-19 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors |
| in computing the number of options to be moved. |
| |
| Backport from mainline |
| 2019-06-13 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin-driver.c (validate_macosx_version_min): New. |
| (darwin_default_min_version): Cleanup and validate supplied version. |
| (darwin_driver_init): Likewise and push cleaned version into opts. |
| |
| 2019-09-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-03-26 Bin Cheng <bin.cheng@linux.alibaba.com> |
| |
| PR tree-optimization/81740 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): |
| In case of outer loop vectorization, check for backward dependence |
| at the inner loop if outer loop dependence is reversed. |
| |
| 2019-09-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-11-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/88149 |
| * tree-vect-slp.c (vect_slp_analyze_node_operations): Detect |
| the case where there are two different def types for the |
| same operand at different operand position in the same stmt. |
| |
| 2019-09-04 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-04-09 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always |
| use gimple_expr_type for load and store calls. Skip over the |
| condition argument in a conditional internal function. |
| Protect use of TREE_INT_CST_LOW. |
| |
| 2019-04-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90006 |
| * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle |
| calls like lrint. |
| |
| 2019-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/89698 |
| * fold-const.c (operand_equal_p): For INDIRECT_REF check |
| that the access types are similar. |
| |
| 2019-01-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/88903 |
| * tree-vect-stmts.c (vectorizable_shift): Verify we see all |
| scalar stmts a SLP shift amount is composed of when detecting |
| shifts by scalars. |
| |
| 2018-12-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/88448 |
| PR middle-end/88415 |
| * tree-complex.c (update_complex_assignment): Properly transfer |
| or clean EH info around gimple_assign_set_rhs_with_ops. |
| |
| 2018-11-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/88030 |
| * tree-complex.c (need_eh_cleanup): New global. |
| (update_complex_assignment): Mark blocks that need EH update. |
| (expand_complex_comparison): Likewise. |
| (tree_lower_complex): Allocate and deallocate need_eh_cleanup, |
| perform EH cleanup and schedule CFG cleanup if that did anything. |
| |
| 2018-11-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/87929 |
| * tree-complex.c (expand_complex_comparison): Clean EH. |
| |
| 2017-07-25 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace |
| to update EH info here. |
| |
| 2019-09-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-05-18 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin-c.c (darwin_register_objc_includes): Do not |
| prepend the sysroot when building gnu-runtime header search |
| paths. |
| |
| 2019-09-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2019-05-18 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c (darwin_file_end): Use switch_to_section () |
| instead of direct output of the asm. |
| |
| 2019-09-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-08-22 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.h (LINK_COMMAND_SPEC_A): Update lto options |
| to match gcc/gcc.c. |
| |
| 2019-09-02 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89710 |
| * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use |
| safe_dyn_cast. |
| |
| 2019-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/89572 |
| * tree-scalar-evolution.c (get_loop_exit_condition): Use |
| safe_dyn_cast. |
| * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables): |
| Use gimple_location_safe. |
| |
| 2019-02-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89296 |
| * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting |
| of no-warning flag to cases that might emit the bogus warning. |
| |
| 2019-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89135 |
| * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks |
| with abnormal preds. |
| |
| 2019-09-02 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-07-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/91200 |
| * tree-ssa-phiopt.c (cond_store_replacement): Check we have |
| no PHI nodes in middle-bb. |
| |
| 2019-07-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/91162 |
| * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI |
| node make sure to replace all uses with something valid. |
| |
| 2019-07-11 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/91131 |
| * gimplify.c (gimplify_compound_literal_expr): Force a temporary |
| when the object is volatile and we have not cleared it even though |
| there are no nonzero elements. |
| |
| 2019-07-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/91126 |
| * tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust |
| native encoding offset for BYTES_BIG_ENDIAN. |
| (vn_reference_lookup_3): Likewise. |
| |
| 2019-07-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/91126 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Adjust |
| native encoding offset for BYTES_BIG_ENDIAN. |
| |
| 2019-04-29 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90278 |
| * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean |
| EH on comparison simplification. |
| |
| 2019-04-11 Richard Biener <rguenther@suse.de> |
| |
| 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-09-02 Bin Cheng <bin.linux@linux.alibaba.com> |
| |
| Backport from mainline |
| 2019-07-18 Bin Cheng <bin.linux@linux.alibaba.com> |
| |
| PR tree-optimization/91137 |
| * tree-ssa-loop-ivopts.c (struct ivopts_data): New field. |
| (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize): |
| Init, use and fini the above new field. |
| (determine_base_object_1): New function. |
| (determine_base_object): Reimplement using walk_tree. |
| |
| 2019-08-30 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-05-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90637 |
| * tree-ssa-sink.c (statement_sink_location): Honor the |
| computed sink location for single-uses. |
| |
| * gcc.dg/gomp/pr90637.c: New testcase. |
| |
| 2019-06-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90930 |
| * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited |
| flag on new stmts to avoid re-processing them. |
| |
| 2019-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/90194 |
| * match.pd: Add pattern to simplify view-conversion of an |
| empty constructor. |
| |
| 2019-04-24 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/90213 |
| * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication |
| by size and BITS_PER_UNIT on poly-wide-ints. |
| |
| 2019-04-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/90071 |
| * tree-ssa-reassoc.c (init_range_entry): Do not pick up |
| abnormal operands from def stmts. |
| |
| 2019-03-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/89677 |
| * tree-scalar-evolution.c (simplify_peeled_chrec): Do not |
| throw FP expressions at tree-affine. |
| |
| 2019-08-30 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/91481 |
| * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, |
| and UNSPEC_DARN_RAW. |
| (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and |
| UNSPECV_DARN_RAW. |
| (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32. |
| (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW. |
| (darn): Use an unspec_volatile, and UNSPECV_DARN. |
| |
| 2019-08-30 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32, |
| UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to... |
| * config/rs6000/rs6000.md (unspec): ... here. |
| * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb, |
| *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, |
| cmpeqb, *cmpeqb_internal): Delete, move to... |
| * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb, |
| *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal, |
| cmpeqb, *cmpeqb_internal): ... here. |
| |
| 2019-08-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2019-07-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/91150 |
| * config/i386/i386.c (expand_vec_perm_blend): Change mask type |
| from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast |
| comparison to unsigned HOST_WIDE_INT before shifting it left. |
| |
| 2019-07-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/78884 |
| * gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member. |
| (gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd |
| loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE. |
| (gimplify_adjust_omp_clauses): Add safelen (1) clause if |
| ctx->add_safelen1 is set. |
| |
| PR rtl-optimization/90756 |
| * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it |
| for VECTOR_TYPE_P. |
| |
| 2019-06-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/90760 |
| * symtab.c (symtab_node::set_section): Allow being called on aliases |
| as long as they aren't analyzed yet. |
| |
| 2019-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/90139 |
| * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return |
| assign_temp instead of gen_reg_rtx. |
| |
| 2019-06-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/90811 |
| * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d |
| instead of and.u%d. |
| |
| 2019-05-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/90329 |
| * lto-streamer.h (LTO_minor_version): Bump to 1. |
| |
| 2019-05-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/90329 |
| * tree-core.h (struct tree_decl_common): Document |
| decl_nonshareable_flag for PARM_DECLs. |
| * tree.h (DECL_HIDDEN_STRING_LENGTH): Define. |
| * calls.c (expand_call): Don't try tail call if caller |
| has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be |
| passed on the stack and callee needs to pass any arguments on the |
| stack. |
| * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use |
| else if instead of series of mutually exclusive ifs. Handle |
| DECL_HIDDEN_STRING_LENGTH for PARM_DECLs. |
| * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise. |
| |
| 2019-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/90187 |
| * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into |
| a register if both if_true and if_false are MEMs. |
| |
| PR tree-optimization/90208 |
| * tree-cfg.c (remove_bb): Move forced labels from removed bbs |
| after labels of new_bb, not before them. |
| |
| 2019-04-16 Jakub Jelinek <jakub@redhat.com> |
| |
| 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. |
| |
| 2019-04-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/89998 |
| * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type |
| instead of integer_type_node if possible, don't add ranges if return |
| type is not compatible with int. |
| * gimple-fold.c (gimple_fold_builtin_sprintf, |
| gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded |
| integer_type_node. |
| |
| 2019-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/89872 |
| * gimplify.c (gimplify_compound_literal_expr): Don't optimize a |
| non-addressable complit into its initializer if it is volatile. |
| |
| 2019-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89621 |
| * tree-inline.h (struct copy_body_data): Add |
| dont_remap_vla_if_no_change flag. |
| * tree-inline.c (remap_type_3, remap_type_2): New functions. |
| (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change |
| and remap_type_2 returns false. |
| * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change. |
| |
| 2019-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/89752 |
| * lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't |
| update this_alternative nor this_alternative_set. |
| |
| 2019-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/89768 |
| * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode |
| instead of GEN_INT. |
| (unroll_loop_runtime_iterations): Likewise. |
| |
| PR target/89752 |
| * gimplify.c (gimplify_asm_expr): For output argument with |
| TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise |
| diagnose error. |
| |
| PR target/89726 |
| * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil |
| compensation use x2 += 1 instead of x2 -= -1 and when honoring |
| signed zeros, do another copysign after the compensation. |
| |
| 2019-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/89704 |
| * dwarf2out.c (add_const_value_attribute): Return false for MINUS, |
| SIGN_EXTEND and ZERO_EXTEND. |
| |
| 2019-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/89679 |
| * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it |
| would contain a paradoxical SUBREG. |
| |
| PR tree-optimization/89703 |
| * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types |
| aren't compatible also with builtin_decl_explicit. Check pure |
| or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}} |
| and BUILT_IN_STPNCPY{,_CHK}. |
| |
| 2019-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/88588 |
| * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args. |
| (ipa_simd_modify_function_body): Handle PHIs. |
| |
| 2019-03-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89663 |
| * builtins.c (expand_builtin_int_roundingfn, |
| expand_builtin_int_roundingfn_2): Return NULL_RTX instead of |
| gcc_unreachable if validate_arglist fails. |
| |
| 2019-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/88568 |
| * tree.c (handle_dll_attribute): Don't clear TREE_STATIC for |
| dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT. |
| |
| 2019-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/89587 |
| * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only |
| if_multiarch. |
| |
| PR middle-end/89590 |
| * builtins.c (maybe_emit_free_warning): Punt if free doesn't have |
| exactly one argument. |
| |
| 2019-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/89520 |
| * convert.c (convert_to_real_1, convert_to_integer_1): Punt for |
| builtins if they don't have a single scalar floating point argument. |
| Formatting fixes. |
| |
| 2019-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89412 |
| * expr.c (expand_assignment): If result is a MEM, use change_address |
| instead of simplify_gen_subreg. |
| |
| 2019-02-20 Jakub Jelinek <jakub@redhat.com> |
| David Malcolm <dmalcolm@redhat.com> |
| |
| PR middle-end/89091 |
| * fold-const.c (decode_field_reference): Return NULL_TREE if |
| lang_hooks.types.type_for_size returns NULL. Check it before |
| overwriting *exp_. Use return NULL_TREE instead of return 0. |
| |
| 2019-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/88074 |
| PR middle-end/89415 |
| * toplev.c (do_compile): Double the emin/emax exponents to workaround |
| buggy mpc_norm. |
| |
| 2019-02-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/88074 |
| * toplev.c (do_compile): Initialize mpfr's exponent range |
| based on available float modes. |
| |
| 2019-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/89361 |
| * config/s390/s390.c (s390_indirect_branch_attrvalue, |
| s390_indirect_branch_settings): Define unconditionally. |
| (s390_set_current_function): Likewise, but guard the whole body except |
| the s390_indirect_branch_settings call with |
| #if S390_USE_TARGET_ATTRIBUTE. |
| (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally. |
| |
| 2019-02-15 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/89278 |
| * tree-loop-distribution.c: Include tree-eh.h. |
| (generate_memset_builtin, generate_memcpy_builtin): Call |
| rewrite_to_non_trapping_overflow on builtin->size before passing it |
| to force_gimple_operand_gsi. |
| |
| 2019-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/89342 |
| * optc-save-gen.awk: Handle optimize_fast like optimize_size or |
| optimize_debug. |
| * opth-gen.awk: Likewise. |
| |
| 2019-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/89354 |
| * combine.c (make_extraction): Punt if extraction_mode is narrower |
| than len bits. |
| |
| PR tree-optimization/89314 |
| * fold-const.c (fold_binary_loc): Cast strlen argument to |
| const char * before dereferencing it. Formatting fixes. |
| |
| 2019-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89303 |
| * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var |
| into pt->vars_contains_escaped_heap instead of setting |
| pt->vars_contains_escaped_heap to it. |
| |
| PR middle-end/89281 |
| * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of |
| INTVAL (size), compare it to GET_MODE_MASK instead of |
| 1 << GET_MODE_BITSIZE. |
| |
| 2019-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89246 |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| If !node->definition and TYPE_ARG_TYPES is non-NULL, use |
| TYPE_ARG_TYPES instead of DECL_ARGUMENTS. |
| |
| 2019-01-16 David Malcolm <dmalcolm@redhat.com> |
| |
| PR target/88861 |
| * combine.c (delete_noop_moves): Convert to "bool" return, |
| returning true if any edges are eliminated. |
| (combine_instructions): Also return true if delete_noop_moves |
| returns true. |
| |
| 2019-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/89234 |
| * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn |
| is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P. |
| (copy_reg_eh_region_note_backward): Likewise. |
| |
| 2019-02-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/89188 |
| * dce.c (delete_unmarked_insns): Don't remove no-op moves if they |
| can throw, non-call exceptions are enabled and we can't delete |
| dead exceptions or alter cfg. Set must_clean if |
| delete_insn_and_edges returns true, don't set it blindly for calls. |
| |
| PR rtl-optimization/89195 |
| * combine.c (make_extraction): For MEMs, don't extract bytes outside |
| of the original MEM. |
| |
| PR target/89186 |
| * optabs.c (prepare_cmp_insn): Pass x and y to |
| emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0). |
| |
| 2019-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/87887 |
| * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen): |
| Punt with warning on aggregate return or argument types. Ignore |
| type/mode checking for uniform arguments. |
| |
| 2019-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/88107 |
| * tree-cfg.c (find_outermost_region_in_block): Add ALL argument, |
| instead of assertion that eh_region_outermost is non-NULL, if it |
| is NULL, set *ALL to true and return NULL. |
| (move_sese_region_to_fn): Adjust caller, if all is set, call |
| duplicate_eh_regions with NULL region. |
| |
| 2019-01-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/66676 |
| PR ipa/89104 |
| * omp-simd-clone.c (simd_clone_clauses_extract) |
| <case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL |
| OMP_CLAUSE_ALIGNED_ALIGNMENT. |
| |
| 2019-01-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/89002 |
| * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ |
| for lastprivate/linear IV, push gimplify context around gimplify_assign |
| and, if it needed any temporaries, pop it into a gimple bind around the |
| sequence. |
| |
| 2019-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87214 |
| * config/i386/sse.md |
| (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>, |
| avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the |
| first constants in pairs are multiples of 2. Formatting fixes. |
| (avx512vl_shuf_<shuffletype>32x4_1<mask_name>, |
| avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the |
| first constants in each quadruple are multiples of 4. Formatting fixes. |
| |
| 2019-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/49429 |
| PR target/49454 |
| PR rtl-optimization/86334 |
| PR target/88906 |
| * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs |
| addressable from here... |
| (emit_block_op_via_libcall): ... to here. |
| |
| 2019-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/88870 |
| * dce.c (deletable_insn_p): Never delete const/pure calls that can |
| throw if we can't alter the cfg or delete dead exceptions. |
| (mark_insn): Don't call find_call_stack_args for such calls. |
| |
| 2019-01-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/88568 |
| * tree.c (handle_dll_attribute): Clear TREE_STATIC after setting |
| DECL_EXTERNAL. |
| |
| 2019-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/82564 |
| PR target/88620 |
| * expr.c (expand_assignment): For calls returning VLA structures |
| if to_rtx is not a MEM, force it into a stack temporary. |
| |
| 2019-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/88594 |
| * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead |
| of GET_MODE (opN) as modes of the libcall arguments. |
| |
| 2019-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/88644 |
| * dwarf2out.c (modified_type_die): If type is equal to sizetype, |
| change it to qualified_type. |
| |
| 2018-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85594 |
| PR middle-end/88553 |
| * omp-expand.c (extract_omp_for_update_vars): Regimplify the condition |
| if needed. |
| (expand_omp_for_generic): Don't clobber t temporary for ordered loops. |
| |
| PR rtl-optimization/88563 |
| * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Swap innermode |
| and mode arguments to convert_modes. Likewise swap mode and word_mode |
| arguments. Handle both arguments with VOIDmode before convert_modes |
| of one of them. Formatting fixes. |
| |
| 2018-12-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/88470 |
| * cfgcleanup.c (outgoing_edges_match): If the function is |
| shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake |
| edge to EXIT, return false. |
| |
| PR rtl-optimization/88416 |
| * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify |
| even if !AUTO_INC_DEC. |
| |
| 2018-12-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85593 |
| * final.c (rest_of_handle_final): Don't call collect_fn_hard_reg_usage |
| for functions with naked attribute. |
| |
| 2018-11-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/87895 |
| * omp-simd-clone.c (ipa_simd_modify_function_body): When removing |
| or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT. |
| (simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that |
| redirects edges to EXIT to edges to incr_bb, iterate while EXIT |
| has any preds and always use EDGE_PRED (, 0). |
| |
| 2018-10-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/87647 |
| * varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR. |
| |
| 2018-10-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85488 |
| PR middle-end/87649 |
| * omp-low.c (check_omp_nesting_restrictions): Diagnose ordered without |
| depend closely nested inside of loop with ordered clause with |
| a parameter. |
| |
| 2019-08-25 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/91533 |
| Backport from mainline |
| 2019-06-30 Uroš Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2. |
| * config/i386/i386-builtin.def (__builtin_ia32_pabsb): |
| Use CODE_FOR_ssse3_absv8qi2. |
| (__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2. |
| (__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2. |
| |
| 2019-08-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/91510 |
| Backport from mainline |
| 2017-09-26 Martin Jambor <mjambor@suse.cz> |
| |
| * tree-sra.c (compare_access_positions): Put integral types first, |
| stabilize sorting of integral types, remove conditions putting |
| non-full-precision integers last. |
| (sort_and_splice_var_accesses): Disable scalarization if a |
| non-integert would be represented by a non-full-precision integer. |
| |
| 2019-08-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/91347 |
| * dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls |
| before reload if HARD_FRAME_POINTER_IS_ARG_POINTER. |
| |
| 2019-07-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2019-07-22 Martin Liska <mliska@suse.cz> |
| |
| PR driver/91172 |
| * opts-common.c (decode_cmdline_option): Decode |
| argument of -Werror and check it for a wrong language. |
| * opts-global.c (complain_wrong_lang): Remove such case. |
| |
| 2019-07-16 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainline |
| 2019-03-05 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/89222 |
| * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem |
| to decide when to split off a non-zero offset from a symbol. |
| * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets |
| in function symbols. |
| |
| 2019-07-15 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/vector.md: Fix shift count operand printing. |
| |
| 2019-07-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/91136 |
| * df-core.c (ACCESSING REFS): Fix typos in comment. |
| * resource.c (mark_target_live_reg): Add artificial defs that occur at |
| the beginning of the block to the initial set of live registers. |
| |
| 2019-06-28 Jeff Law <law@redhat.com> |
| |
| Backport from mainline |
| 2019-06-21 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/90949 |
| * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info. |
| * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state. |
| |
| 2019-06-27 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2019-06-25 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/90939 |
| * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert. |
| |
| 2019-06-16 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR middle-end/64242 |
| * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add |
| frame clobbers and schedule block. |
| (builtin_longjmp): Likewise. |
| |
| 2019-05-24 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/90530 |
| * config/pa/pa.c (pa_cannot_change_mode_class): Accept mode changes |
| from DImode to SImode in floating-point registers on 64-bit target. |
| * config/pa/pa.md (umulsidi3): Change nonimmediate_operand to |
| register_operand in xmpyu patterns. |
| |
| 2019-05-23 Uroš Bizjak <ubizjak@gmail.com> |
| |
| Backported from mainline |
| 2019-05-21 Uroš Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/cpuid.h (__cpuid): For 32bit targets, zero |
| %ebx and %ecx bafore calling cpuid with leaf 1 or |
| non-constant leaf argument. |
| |
| 2019-05-21 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/90547 |
| * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): |
| Avoid calling gen_lowpart with CONST operand. |
| |
| 2019-05-20 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline. |
| 2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/89765 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic |
| to compute vector element selector for both constant and variable |
| operands. |
| |
| 2019-01-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/86215 |
| Backport from mainline |
| 2017-09-25 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/80556 |
| * config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead |
| of libgcc_eh for m64. |
| * config/i386/darwin64.h: Likewise. |
| |
| 2019-05-15 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2019-04-11 David Edelsohn <dje.gcc@gmail.com> |
| * 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 coff_private_rodata_section_name. |
| (rs6000_xcoff_file_start): Generate coff_private_rodata_section_name. |
| |
| 2018-12-04 David Edelsohn <dje.gcc@gmail.com> |
| 2018-12-13 David Edelsohn <dje.gcc@gmail.com> |
| PR target/61976 |
| * config/rs6000/rs6000.c (rs6000_function_arg): Don't pass aggregates |
| in FPRs on AIX. Ensure type is non-NULL. |
| (rs6000_arg_partial_bytes): Same. |
| |
| 2019-05-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/t-rtems: Replace -march=armv7-m multilibs with |
| -mcpu=cortex-m3 and -mcpu=cortex-m4 multilibs. |
| |
| 2019-05-13 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline. |
| 2019-05-06 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/89424 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add |
| handling of V1TImode. |
| |
| 2019-05-07 Richard Sandiford <richard.sandiford@arm.com> |
| |
| Backport from mainline: |
| 2019-01-25 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR middle-end/89037 |
| * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi |
| instead of accessing TREE_INT_CST_ELT directly. |
| |
| 2019-05-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| Backport from mainline. |
| 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| PR target/86538 |
| * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): |
| Define __ARM_FEATURE_ATOMICS |
| |
| 2019-04-30 Srinath Parvathaneni <srinath.parvathaneni@arm.com> |
| |
| PR target/90075 |
| * config/aarch64/iterators.md (V_INT_EQUIV): Add mode for |
| integer equivalent of floating point values. |
| |
| Backport from mainline |
| 2018-12-11 Richard Earnshaw <Richard.Earnshaw@arm.com> |
| PR target/37369 |
| * config/aarch64/iterators.md (sizem1): Add sizes for |
| SFmode and DFmode. |
| (Vbtype): Add SFmode mapping. |
| * config/aarch64/aarch64.md (copysigndf3, copysignsf3): Delete. |
| (copysign<GPF:mode>3): New expand pattern. |
| (copysign<GPF:mode>3_insn): New insn pattern. |
| |
| 2019-04-22 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2019-03-15 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/87532 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| When handling vec_extract, use modular arithmetic to allow |
| constant selectors greater than vector length. |
| * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow |
| V1TImode vectors to have constant selector values greater than 0. |
| Use modular arithmetic to compute vector index. |
| (rs6000_split_vec_extract_var): Use modular arithmetic to compute |
| index for in-memory vectors. Correct code generation for |
| in-register vectors. Use inner mode of vector rather than mode of |
| destination for move instruction. |
| (altivec_expand_vec_ext_builtin): Use modular arithmetic to |
| compute index. |
| |
| 2019-04-12 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/87532 |
| * config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var): |
| Use QI inner mode with V16QI vector mode. |
| |
| 2019-04-19 Xiong Hu Luo <luoxhu@linux.ibm.com> |
| |
| Backport from trunk |
| 2018-05-23 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/sourcebuild.texi (Endianness): New subsubsection. |
| |
| 2019-04-11 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2019-03-08 Martin Liska <mliska@suse.cz> |
| |
| PR target/86952 |
| * config/i386/i386.c (ix86_option_override_internal): Disable |
| jump tables when retpolines are used. |
| |
| 2019-04-10 Matthew Malcomson <matthew.malcomson@arm.com> |
| |
| PR target/90024 |
| * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter. |
| * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint |
| into three. |
| * config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode |
| differences directly. |
| (*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint. |
| |
| 2019-04-07 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/89945 |
| * config/i386/i386.md (anddi_1 to andsi_1_zext splitter): |
| Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand. |
| |
| 2019-04-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2019-02-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * rtlanal.c (get_initial_register_offset): Fall back to the estimate |
| as long as the epilogue isn't completed. |
| |
| 2019-04-03 Richard Biener <rguenther@suse.de> |
| |
| PR lto/89896 |
| * lto-wrapper.c (run_gcc): Avoid implicit rules making |
| the all target phony. |
| |
| 2019-04-02 Xiong Hu Luo <luoxhu@linux.ibm.com> |
| |
| Backport from trunk r250477. |
| |
| 2017-07-24 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c.c: Add support for built-in functions |
| vector float vec_extract_fp32_from_shorth (vector unsigned short); |
| vector float vec_extract_fp32_from_shortl (vector unsigned short); |
| * config/rs6000/altivec.h (vec_extract_fp_from_shorth, |
| vec_extract_fp_from_shortl): Add defines for the two builtins. |
| * config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH, |
| VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1 |
| new builtins. |
| * config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn. |
| (vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands. |
| * doc/extend.texi: Update the built-in documentation file for the |
| new built-in function. |
| |
| Backport from trunk r255555. |
| |
| 2017-12-11 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_extract_fp32_from_shorth, |
| vec_extract_fp32_from_shortl]): Add #defines. |
| * config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion. |
| * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH, |
| ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND, |
| ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL, |
| ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD, |
| ALTIVEC_BUILTIN_VEC_SLL): Add expansions. |
| * doc/extend.texi: Add documentation for the added builtins. |
| |
| 2019-03-28 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-11-05 Martin Liska <mliska@suse.cz> |
| |
| PR web/87829 |
| * doc/invoke.texi: Remove options that are |
| not disabled with -Os. |
| |
| 2019-02-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-02-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89253 |
| * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can |
| duplicate the loop. |
| |
| 2019-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/89223 |
| * tree-data-ref.c (initialize_matrix_A): Fail if constant |
| doesn't fit in HWI. |
| (analyze_subscript_affine_affine): Handle failure from |
| initialize_matrix_A. |
| |
| 2019-01-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/88739 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating |
| BIT_FIELD_REFs of non-mode-precision integral operands. |
| |
| 2019-03-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/86554 |
| * tree-ssa-sccvn.c (visit_nary_op): When value-numbering to |
| expressions with different overflow behavior make sure there's an |
| available expression on the path. |
| |
| 2018-11-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/88105 |
| * tree-ssa-dom.c (pass_dominator::execute): Do not walk |
| backedges. |
| |
| 2018-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/84552 |
| * tree-scalar-evolution.c: Include tree-into-ssa.h. |
| (follow_copies_to_constant): Do not follow SSA names registered |
| for update. |
| |
| 2019-03-21 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_analyze_swaps): Rebuild |
| ud- and du-chains between phases. |
| |
| 2019-03-21 Matthias Klose <doko@ubuntu.com> |
| |
| Backport from mainline |
| 2019-02-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89505 |
| * tree-ssa-structalias.c (compute_dependence_clique): Make sure |
| to handle restrict pointed-to vars with multiple subvars |
| correctly. |
| |
| 2019-03-17 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2019-03-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/89523 |
| * config/i386/i386.c (ix86_print_operand): Handle 'M' to add |
| addr32 prefix to VSIB address for X32. |
| * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend |
| "%M2" to opcode. |
| (*avx512pf_gatherpf<mode>df_mask): Likewise. |
| (*avx512pf_scatterpf<mode>sf_mask): Likewise. |
| (*avx512pf_scatterpf<mode>df_mask): Likewise. |
| (*avx2_gathersi<mode>): Prepend "%M3" to opcode. |
| (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode. |
| (*avx2_gatherdi<mode>): Prepend "%M3" to opcode. |
| (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode. |
| (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode. |
| (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.` |
| (*avx512f_gathersi<mode>): Prepend "%M4" to opcode. |
| (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode. |
| (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode. |
| (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode. |
| (*avx512f_scattersi<mode>): Prepend "%M0" to opcode. |
| (*avx512f_scatterdi<mode>): Likewise. |
| |
| 2019-03-14 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2019-03-07 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/87525 |
| * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit |
| for extern inline functions. |
| |
| 2019-03-14 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84272 |
| * config/aarch64/cortex-a57-fma-steering.c (fma_forest::merge_forest): |
| Use ++iter rather than iter++ for std::list iterators. |
| (func_fma_steering::dfs): Likewise. Don't delete nodes right away, |
| defer deleting them until all nodes in the forest are processed. Do |
| free even leaf nodes. Change to_process into auto_vec. |
| |
| 2019-03-13 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE |
| requirement. |
| |
| 2019-03-11 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2019-02-11 David Malcolm <dmalcolm@redhat.com> |
| |
| PR lto/88147 |
| * input.c (selftest::test_line_offset_overflow): New selftest. |
| (selftest::input_c_tests): Call it. |
| |
| 2019-03-07 Xiong Hu Luo <luoxhu@linux.ibm.com> |
| |
| Backport of r268834 from mainline to gcc-7-branch. |
| 2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be, |
| vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines. |
| * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator. |
| (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns. |
| * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1. |
| (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE): |
| New BU_CRYPTO_2. |
| * config/rs6000/rs6000.c (builtin_function_type) |
| <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE, |
| CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE, |
| CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options. |
| * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be, |
| vec_ncipher_be, vec_ncipherlast_be): New builtin functions. |
| |
| 2019-02-27 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/89397 |
| * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check |
| TARGET_SSE in addition to TARGET_SSE_MATH. |
| |
| (ix86_excess_precision): Ditto. |
| (ix86_float_exceptions_rounding_supported_p): Ditto. |
| (use_rsqrt_p): Ditto. |
| * config/i386/sse.md (rsqrt<mode>2): Ditto. |
| |
| 2019-02-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2019-02-14 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/89242 |
| * dce.c (delete_unmarked_insns): Call free_dominance_info we |
| process a transformation. |
| |
| 2019-02-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2019-02-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/89009 |
| * ipa-cp.c (build_toporder_info): Remove usage of a param. |
| * ipa-inline.c (inline_small_functions): Likewise. |
| * ipa-pure-const.c (propagate_pure_const): Likewise. |
| (propagate_nothrow): Likewise. |
| * ipa-reference.c (propagate): Likewise. |
| * ipa-utils.c (struct searchc_env): Remove unused field. |
| (searchc): Always search across AVAIL_INTERPOSABLE. |
| (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as |
| the only called IPA pure const can properly not propagate |
| across interposable boundary. |
| * ipa-utils.h (ipa_reduced_postorder): Remove param. |
| |
| 2019-02-11 Stefan Agner <stefan@agner.ch> |
| |
| Backport from mainline. |
| 2019-01-10 Stefan Agner <stefan@agner.ch> |
| |
| PR target/88648 |
| * config/arm/arm.c (arm_option_override_internal): Force |
| opts->x_inline_asm_unified to true only if TARGET_THUMB2_P. |
| |
| 2019-02-09 Alan Modra <amodra@gmail.com> |
| |
| PR target/88343 |
| * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Match |
| logic in rs6000_emit_prologue emitting pic_offset_table setup. |
| |
| 2019-02-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2018-06-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85755 |
| * config/rs6000/rs6000.md (*movdi_internal32): Put constraint modifiers |
| on the correct operand. |
| (*movdi_internal64): Ditto. |
| |
| 2019-02-06 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline. |
| 2019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin): |
| Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to |
| type of vector element when vec_extract is implemented by direct |
| move. |
| |
| 2019-02-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage |
| after restoring registers saved to allocate the frame on Windows. |
| |
| 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| PR target/88856 |
| * config/s390/s390.md: Remove load and test FP splitter. |
| |
| 2019-02-04 Bill Schmidt <wshmidt@linux.ibm.com> |
| |
| PR target/87064 |
| Backport from mainline |
| |
| 2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR target/87064 |
| * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar): |
| Disable for little-endian. |
| |
| 2019-01-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87064 |
| * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar): |
| Disable for little endian. |
| |
| 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/89008 |
| * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't |
| process anything of the form X * 0. |
| |
| 2019-01-31 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/89115 |
| * lra.c (lra_rtx_hash): Properly hash CONST_INT values. |
| |
| 2019-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/89115 |
| * opts.c (default_options_optimization): Reduce |
| PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1. |
| Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative |
| to the default. |
| |
| 2019-01-30 Kewen Lin <linkw@gcc.gnu.org> |
| |
| Backport from mainline. |
| 2019-01-17 Kewen Lin <linkw@gcc.gnu.org> |
| |
| * doc/extend.texi: Add four new prototypes for vec_ld and seven new |
| prototypes for vec_st. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries |
| for scalar address type variants of altivec_vec_ld/altivec_vec_st, |
| mainly on signed/unsigned long long and double. |
| |
| 2019-01-27 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/88948 |
| * rtl.h (prepare_copy_insn): New prototype. |
| * gcse.c (prepare_copy_insn): New function, split out from |
| process_insert_insn. |
| (process_insert_insn): Use prepare_copy_insn. |
| * store-motion.c (replace_store_insn): Use prepare_copy_insn |
| instead of gen_move_insn. |
| |
| 2019-01-24 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/88998 |
| * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives. |
| Disparage MMX alternative. |
| (sse2_cvtpd2pi): Ditto. |
| (sse2_cvttpd2pi): Ditto. |
| |
| 2019-01-24 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2019-01-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/89008 |
| * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do |
| not leave another stray operand. |
| |
| 2019-01-22 Uroš Bizjak <ubizjak@gmail.com> |
| |
| PR target/88938 |
| * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32, |
| case IX86_BUILTIN_BEXTRI64]: Sanitize operands. |
| |
| 2019-01-18 Uroš Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.c (alpha_gimplify_va_arg): |
| Handle split indirect COMPLEX_TYPE arguments. |
| |
| 2019-01-16 Martin Jambor <mjambor@suse.cz> |
| |
| Backported from mainline |
| 2018-12-10 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/88214 |
| * ipa-prop.c (determine_locally_known_aggregate_parts): Make sure |
| we check pointers against pointers. |
| |
| 2019-01-09 Eric Botcazou <ebotcazou@adacore.com> |
| James Clarke <jrtc27@jrtc27.com> |
| |
| PR target/84010 |
| * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode |
| consistently in TLS address generation and adjust code to the renaming |
| of patterns. Mark calls to __tls_get_addr as const. |
| * config/sparc/sparc.md (tgd_hi22): Turn into... |
| (tgd_hi22<P:mode>): ...this and use Pmode throughout. |
| (tgd_lo10): Turn into... |
| (tgd_lo10<P:mode>): ...this and use Pmode throughout. |
| (tgd_add32): Merge into... |
| (tgd_add64): Likewise. |
| (tgd_add<P:mode>): ...this and use Pmode throughout. |
| (tldm_hi22): Turn into... |
| (tldm_hi22<P:mode>): ...this and use Pmode throughout. |
| (tldm_lo10): Turn into... |
| (tldm_lo10<P:mode>): ...this and use Pmode throughout. |
| (tldm_add32): Merge into... |
| (tldm_add64): Likewise. |
| (tldm_add<P:mode>): ...this and use Pmode throughout. |
| (tldm_call32): Merge into... |
| (tldm_call64): Likewise. |
| (tldm_call<P:mode>): ...this and use Pmode throughout. |
| (tldo_hix22): Turn into... |
| (tldo_hix22<P:mode>): ...this and use Pmode throughout. |
| (tldo_lox10): Turn into... |
| (tldo_lox10<P:mode>): ...this and use Pmode throughout. |
| (tldo_add32): Merge into... |
| (tldo_add64): Likewise. |
| (tldo_add<P:mode>): ...this and use Pmode throughout. |
| (tie_hi22): Turn into... |
| (tie_hi22<P:mode>): ...this and use Pmode throughout. |
| (tie_lo10): Turn into... |
| (tie_lo10<P:mode>): ...this and use Pmode throughout. |
| (tie_ld64): Use DImode throughout. |
| (tie_add32): Merge into... |
| (tie_add64): Likewise. |
| (tie_add<P:mode>): ...this and use Pmode throughout. |
| (tle_hix22_sp32): Merge into... |
| (tle_hix22_sp64): Likewise. |
| (tle_hix22<P:mode>): ...this and use Pmode throughout. |
| (tle_lox22_sp32): Merge into... |
| (tle_lox22_sp64): Likewise. |
| (tle_lox22<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldub_sp32): Merge into... |
| (*tldo_ldub_sp64): Likewise. |
| (*tldo_ldub<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldub1_sp32): Merge into... |
| (*tldo_ldub1_sp64): Likewise. |
| (*tldo_ldub1<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldub2_sp32): Merge into... |
| (*tldo_ldub2_sp64): Likewise. |
| (*tldo_ldub2<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldsb1_sp32): Merge into... |
| (*tldo_ldsb1_sp64): Likewise. |
| (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldsb2_sp32): Merge into... |
| (*tldo_ldsb2_sp64): Likewise. |
| (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldub3_sp64): Use DImode throughout. |
| (*tldo_ldsb3_sp64): Likewise. |
| (*tldo_lduh_sp32): Merge into... |
| (*tldo_lduh_sp64): Likewise. |
| (*tldo_lduh<P:mode>): ...this and use Pmode throughout. |
| (*tldo_lduh1_sp32): Merge into... |
| (*tldo_lduh1_sp64): Likewise. |
| (*tldo_lduh1<P:mode>): ...this and use Pmode throughout. |
| (*tldo_ldsh1_sp32): Merge into... |
| (*tldo_ldsh1_sp64): Likewise. |
| (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout. |
| (*tldo_lduh2_sp64): Use DImode throughout. |
| (*tldo_ldsh2_sp64): Likewise. |
| (*tldo_lduw_sp32): Merge into... |
| (*tldo_lduw_sp64): Likewise. |
| (*tldo_lduw<P:mode>): ...this and use Pmode throughout. |
| (*tldo_lduw1_sp64): Use DImode throughout. |
| (*tldo_ldsw1_sp64): Likewise. |
| (*tldo_ldx_sp64): Likewise. |
| (*tldo_stb_sp32): Merge into... |
| (*tldo_stb_sp64): Likewise. |
| (*tldo_stb<P:mode>): ...this and use Pmode throughout. |
| (*tldo_sth_sp32): Merge into... |
| (*tldo_sth_sp64): Likewise. |
| (*tldo_sth<P:mode>): ...this and use Pmode throughout. |
| (*tldo_stw_sp32): Merge into... |
| (*tldo_stw_sp64): Likewise. |
| (*tldo_stw<P:mode>): ...this and use Pmode throughout. |
| (*tldo_stx_sp64): Use DImode throughout. |
| |
| 2019-01-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/invoke.texi (-Os): Add reference to -finline-functions. |
| (-finline-small-functions): Add references to -O3 and -Os. |
| (-findirect-inlining): Likewise. |
| (-finline-functions): Add references to -Os, -fprofile-use and |
| -fauto-profile. |
| |
| 2019-01-03 Iain Sandoe <iain@sandoe.co.uk> |
| |
| revert: |
| 2018-12-30 Iain Sandoe <iain@sandoe.co.uk> |
| |
| backport from mainline. |
| 2018-12-12 Segher Boessenkool <segher@kernel.crashing.org> |
| Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/88343 |
| * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg |
| unless it has been used. |
| (first_reg_to_save): Remove dead code. |
| |
| 2019-01-02 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-12-06 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR inline-asm/55681 |
| * doc/extend.texi (Basic Asm): Update grammar. |
| (Extended Asm): Update grammar. |
| |
| Backport from trunk |
| 2018-12-06 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/extend.texi (Using Assembly Language with C): Document asm inline. |
| (Size of an asm): Fix typo. Document asm inline. |
| * gimple-pretty-print.c (dump_gimple_asm): Handle asm inline. |
| * gimple.h (enum gf_mask): Add GF_ASM_INLINE. |
| (gimple_asm_set_volatile): Fix typo. |
| (gimple_asm_inline_p): New. |
| (gimple_asm_set_inline): New. |
| * gimplify.c (gimplify_asm_expr): Propagate the asm inline flag from |
| tree to gimple. |
| * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Compare the |
| gimple_asm_inline_p flag, too. |
| * tree-core.h (tree_base): Document that protected_flag is ASM_INLINE_P |
| in an ASM_EXPR. |
| * tree-inline.c (estimate_num_insns): If gimple_asm_inline_p return |
| a minimum size for an asm. |
| * tree.h (ASM_INLINE_P): New. |
| |
| 2018-12-30 Iain Sandoe <iain@sandoe.co.uk> |
| |
| backport from mainline. |
| 2018-12-12 Segher Boessenkool <segher@kernel.crashing.org> |
| Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/88343 |
| * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg |
| unless it has been used. |
| (first_reg_to_save): Remove dead code. |
| |
| 2018-12-24 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-12-06 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR c++/87380 |
| * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the |
| default. |
| * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New. |
| |
| 2018-12-24 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-12-06 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/78444 |
| * config/i386/darwin.h (STACK_BOUNDARY): Remove macro. |
| * config/i386/i386.c (ix86_compute_frame_layout): Ensure at least 128b |
| stack alignment in non-leaf functions. |
| |
| 2018-12-24 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-08-15 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR target/81685 |
| * config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION, |
| DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION, |
| DEBUG_PUBTYPES_SECTION) update to include GNU variant. |
| |
| 2018-12-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-12-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/88418 |
| * config/i386/i386.c (ix86_expand_sse_cmp): For vector modes, |
| check operand 1 with vector_operand predicate. |
| (ix86_expand_sse_movcc): For vector modes, check op_true with |
| vector_operand, not nonimmediate_operand. |
| |
| 2018-12-19 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-12-18 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| * doc/extend.texi (PowerPC Altivec/VSX Built-in Functions): |
| Describe when a typedef name can be used as the type specifier for |
| a vector type, and when it cannot. |
| |
| 2018-12-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-12-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/88213 |
| * config/rs6000/vsx.md (*vsx_extract_<P:mode>_<VSX_D:mode>_load): |
| Require TARGET_POWERPC64. |
| |
| 2018-12-17 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com> |
| |
| Backport from trunk |
| 2018-12-17 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com> |
| |
| PR rtl-optimization/88253 |
| * combine.c (combine_simplify_rtx): Test for side-effects before |
| substituting by zero. |
| |
| 2018-12-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-12-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/88001 |
| * function.c (match_asm_constraints_1): Don't invalidly share RTL. |
| |
| 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390-builtins.def (s390_vec_double_s64): Map to |
| s390_vec_double_s64 instead of s390_vcdgb. |
| (s390_vec_double_u64): Map to s390_vec_double_u64 instead of |
| s390_vcdlgb. |
| |
| 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64") |
| ("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT. |
| ("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT. |
| |
| 2018-12-12 Peter Bergner <bergner@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-12-07 Peter Bergner <bergner@linux.ibm.com> |
| |
| PR target/87496 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow |
| -mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128. |
| Do not error for -mabi=ibmlongdouble and no ISA 2.06 support. |
| * doc/invoke.texi: Document -mabi=ibmlongdouble and -mabi=ieeelongdouble |
| require -mlong-double-128. |
| |
| 2018-12-06 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Increment to 7.4.1. |
| |
| 2018-12-06 Release Manager |
| |
| * GCC 7.4.0 released. |
| |
| 2018-11-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79351 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from |
| empty CONSTRUCTORs ensure the store is at a constant position. |
| |
| 2018-11-26 Iain Sandoe <iain@sandoe.co.uk> |
| |
| Backport from mainline |
| 2018-08-22 Iain Sandoe <iain@sandoe.co.uk> |
| |
| PR bootstrap/81033 |
| PR target/81733 |
| PR target/52795 |
| * gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New. |
| (dwarf2out_switch_text_section): Generate a local label for the second |
| function sub-section and apply it as the second FDE start label. |
| * gcc/final.c (final_scan_insn_1): Emit second FDE label after the |
| second sub-section start. |
| |
| 2018-11-26 Iain Sandoe <iain@sandoe.co.uk> |
| |
| 2018-08-15 Iain Sandoe <iain@sandoe.co.uk> |
| |
| * config/darwin.c |
| (darwin_function_switched_text_sections): Delete. |
| * gcc/config/darwin.h |
| (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise. |
| |
| 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-11-20 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390.md ("clztidi2"): Swap the RTX's written to the |
| DImode parts of the target operand. |
| |
| 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * doc/invoke.texi: Document z14/arch12 -march option. |
| |
| 2018-10-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/87645 |
| Backport from mainline |
| 2018-07-12 Richard Biener <rguenther@suse.de> |
| |
| * gimple-match-head.c (gimple_resimplify1): Apply recursion |
| limit. |
| (gimple_resimplify2): Likewise. |
| (gimple_resimplify3): Likewise. |
| (gimple_resimplify4): Likewise. |
| |
| 2018-11-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-10-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/87610 |
| * tree-ssa-structalias.c (struct vls_data): Add escaped_p member. |
| (visit_loadstore): When a used restrict tag escaped verify that |
| the points-to solution of "other" pointers do not include |
| escaped. |
| (compute_dependence_clique): If a used restrict tag escaped |
| communicated that down to visit_loadstore. |
| |
| 2018-10-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/87665 |
| PR tree-optimization/87745 |
| * tree-vectorizer.h (get_earlier_stmt): Remove. |
| (get_later_stmt): Pick up UID from the original non-pattern stmt. |
| |
| 2018-10-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/87665 |
| * tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust |
| to reflect reality. |
| |
| 2018-11-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/86139 |
| * tree-vect-generic.c (build_word_mode_vector_type): Remove |
| duplicate and harmful type_hash_canon. |
| |
| 2018-06-15 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/86076 |
| * tree-cfg.c (move_stmt_op): unshare invariant addresses |
| before adjusting their block. |
| |
| 2018-11-22 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-11-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/88051 |
| * config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC. |
| (movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec. |
| |
| 2018-11-22 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2017-11-19 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/82961 |
| * vmsdbgout.c (vmsdbgout_early_finish): New function. |
| (vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish. |
| |
| 2018-11-21 Mihail Ionescu <mihail.ionescu@arm.com> |
| |
| PR target/87867 |
| Backport from mainiline |
| 2018-09-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks. |
| (arm32_output_mi_thunk): Deal with long calls. |
| |
| 2018-11-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-03-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84777 |
| * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For |
| force-vectorize loops ignore whether we are optimizing for size. |
| |
| 2018-01-26 Richard Biener <rguenther@suse.de> |
| |
| PR rtl-optimization/84003 |
| * dse.c (record_store): Only record redundant stores when |
| the earlier store aliases at least all accesses the later one does. |
| |
| 2018-11-20 Xuepeng Guo <xuepeng.guo@intel.com> |
| |
| Backport from mainline |
| 2018-11-05 Xuepeng Guo <xuepeng.guo@intel.com> |
| |
| PR target/87853 |
| * config/i386/emmintrin.h (__v16qs): New to cope with option |
| -funsigned-char. |
| (_mm_cmpeq_epi8): Replace __v16qi with __v16qs. |
| (_mm_cmplt_epi8): Likewise. |
| (_mm_cmpgt_epi8): Likewise. |
| |
| 2018-11-20 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/85925 |
| * rtl.h (word_register_operation_p): New predicate. |
| * combine.c (record_dead_and_set_regs_1): Only apply specific handling |
| for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX. |
| * rtlanal.c (nonzero_bits1): Likewise. Adjust couple of comments. |
| (num_sign_bit_copies1): Likewise. |
| |
| 2018-11-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-11-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/87928 |
| * config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI |
| instead of (TARGET_64BIT && ix86_abi == MS_ABI). |
| * config/i386/darwin.h (STACK_BOUNDARY): Ditto. |
| * config/i386/cygming.h (STACK_BOUNDARY): Remove. |
| |
| 2018-11-15 Nathan Sidwell <nathan@acm.org> |
| |
| PR debug/88006 |
| PR debug/87462 |
| * dwarf2out.c (dwarf2out_finish): Apply resolve_addr to comdat |
| type list. |
| |
| 2018-11-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-11-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR middle-end/58372 |
| * cfgexpand.c (pass_expand::execute): Move the call to |
| finish_eh_generation in front of the call to expand_stack_alignment. |
| |
| 2018-11-07 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2018-11-05 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0. |
| |
| 2018-10-26 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-10-19 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/87473 |
| * gimple-ssa-strength-reduction.c (record_phi_increments): For |
| phi arguments identical to the base expression of the phi |
| candidate, record a phi-adjust increment of zero minus the index |
| expression of the hidden basis. |
| (phi_incr_cost): For phi arguments identical to the base |
| expression of the phi candidate, the difference to compare against |
| the increment is zero minus the index expression of the hidden |
| basis, and there is no potential savings from replacing the (phi) |
| statement. |
| (ncd_with_phi): For phi arguments identical to the base expression |
| of the phi candidate, the difference to compare against the |
| increment is zero minus the index expression of the hidden basis. |
| (all_phi_incrs_profitable): For phi arguments identical to the |
| base expression of the phi candidate, the increment to be checked |
| for profitability is zero minus the index expression of the hidden |
| basis. |
| |
| 2018-10-19 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-10-15 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vec_init): Force vector element |
| into reg if it isn't a general operand. |
| |
| 2018-10-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/87623 |
| * fold-const.c (fold_truth_andor_1): If the right side is not constant, |
| bail out if both sides do not have the same storage order. |
| |
| 2018-10-16 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backported from mainline |
| PR target/87511 |
| * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p): |
| Use HOST_WIDE_INT_1U for shift. |
| |
| 2018-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-10-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87550 |
| * config/i386/i386-builtin.def (IX86_BUILTIN_RDPMC): Move from args set |
| to special_args set. |
| |
| 2018-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/87248 |
| * fold-const.c (fold_ternary_loc) <case COND_EXPR>: Verify also that |
| BIT_AND_EXPR's second operand is a power of two. Formatting fix. |
| |
| 2018-08-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/87065 |
| * combine.c (simplify_if_then_else): Formatting fix. |
| (if_then_else_cond): Guard MULT optimization with SCALAR_INT_MODE_P |
| check. |
| (known_cond): Don't return const_true_rtx for vector modes. Use |
| CONST0_RTX instead of const0_rtx. Formatting fixes. |
| |
| 2018-07-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86627 |
| * expmed.c (expand_divmod): Punt if d == HOST_WIDE_INT_MIN |
| and size > HOST_BITS_PER_WIDE_INT. For size > HOST_BITS_PER_WIDE_INT |
| and abs_d == d, do the power of two handling if profitable. |
| |
| 2018-07-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86542 |
| * omp-low.c (create_task_copyfn): Copy over also fields corresponding |
| to _looptemp_ clauses, other than the first two. |
| |
| PR middle-end/86539 |
| * gimplify.c (gimplify_omp_for): Ensure taskloop firstprivatized init |
| and cond temporaries don't have reference type if iterator has |
| pointer type. For init use &for_pre_body instead of pre_p if |
| for_pre_body is non-empty. |
| |
| 2018-07-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86660 |
| * omp-low.c (scan_sharing_clauses): Don't ignore map clauses for |
| declare target to variables if they have always,{to,from,tofrom} map |
| kinds. |
| |
| 2018-10-12 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-08-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/87024 |
| * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len |
| calls. |
| |
| 2018-08-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/86505 |
| * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len () |
| across a va-arg-pack using call adjust its return value accordingly. |
| |
| 2018-10-09 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-09-29 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87370 |
| * config/i386/i386.c (construct_container): Use TImode for |
| BLKmode values in 2 integer registers. |
| |
| 2018-10-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-10-08 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87517 |
| * config/i386/avx512fintrin.h (_mm512_mask_fmaddsub_round_pd): |
| Defined with __builtin_ia32_vfmaddsubpd512_mask. |
| |
| 2018-10-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-10-05 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87522 |
| * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to |
| assembler for -mavx. |
| * config/i386/gnu-user64.h (ASM_SPEC): Likewise. |
| |
| 2018-10-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-09-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (SSE_REGNO): Fix check for FIRST_REX_SSE_REG. |
| (GET_SSE_REGNO): Rename from SSE_REGNO. Update all uses for rename. |
| |
| 2018-10-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR other/87353 |
| * doc/invoke.texi (Link Options): Fix formatting and grammar. |
| |
| 2018-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (output_move_double): Don't allow STRD instructions |
| if starting source register is not even. |
| |
| 2018-09-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/87467 |
| * config/i386/avx512fintrin.h (_mm512_abs_pd, _mm512_mask_abs_pd): Use |
| __m512d type for __A argument rather than __m512. |
| |
| 2018-09-27 Michael Meissner <meissner@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-08-20 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/87033 |
| * config/rs6000/rs6000.md (extendsi<mode>2): Change constraints |
| from 'Y' to 'YZ' to enable the LWAX instruction to be generated |
| for indexed loads. |
| |
| 2018-09-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false |
| if the call takes a static chain. |
| |
| 2018-09-19 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (atomic_storeqi): Restore deleted expander. |
| (atomic_storehi): Likewise. |
| (atomic_storesi): Likewise. |
| (atomic_loaddi): Restore compare and swap exchange loop code. |
| |
| 2018-09-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-08-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/86989 |
| * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is |
| the TOC register. |
| |
| 2018-09-12 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-09-12 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New |
| constants. |
| ("trunc<BFP:mode><DFP_ALL:mode>2") |
| ("trunc<DFP_ALL:mode><BFP:mode>2") |
| ("extend<BFP:mode><DFP_ALL:mode>2") |
| ("extend<DFP_ALL:mode><BFP:mode>2"): Set proper rounding mode |
| according to the target operand type. |
| |
| 2018-09-04 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2018-09-04 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and |
| XOR operations in NAND case. |
| |
| 2018-09-04 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (Option Summary): Add -Waligned-new. |
| |
| 2018-09-03 Tom de Vries <tdevries@suse.de> |
| |
| backport from trunk: |
| 2018-06-21 Tom de Vries <tdevries@suse.de> |
| |
| PR tree-optimization/85859 |
| * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call |
| test with comment from bb_no_side_effects_p. |
| |
| 2018-08-25 Jozef Lawrynowicz <jozef.l@mittosystems.com> |
| |
| Backport from mainline |
| PR target/86662 |
| * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array |
| with all enabled __intN types. |
| |
| * gcc/testsuite/gcc.target/msp430/pr86662.c: New test. |
| |
| 2018-08-21 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-08-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/87014 |
| * config/i386/i386.md (eh_return): Always update EH return |
| address in word_mode. |
| |
| 2018-08-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-08-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum. |
| Update comment for atomic instructions. |
| (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf, |
| atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1): |
| Remove. |
| (atomic_loaddi): Revise fence expansion to only emit fence prior to |
| load for __ATOMIC_SEQ_CST model. |
| (atomic_loaddi_1): Remove float register target. |
| (atomic_storedi): Handle CONST_INT values. |
| (atomic_storedi_1): Remove float register source. Add special case |
| for zero value. |
| (memory_barrier): New expander and insn. |
| |
| 2018-08-13 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-05-09 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/85645 |
| * regrename.c (build_def_use): Also kill the chains that include the |
| destination of a REG_CFA_REGISTER note. |
| |
| PR rtl-optimization/85645 |
| * regcprop.c (copyprop_hardreg_forward_1): Don't propagate into an |
| insn that has a REG_CFA_REGISTER note. |
| |
| 2018-08-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-06-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/86197 |
| * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An |
| ieee128 argument takes up only one (vector) register, not two (floating |
| point) registers. |
| |
| 2018-08-02 Jozef Lawrynowicz <jozef.l@mittosystems.com> |
| |
| Backport from mainline |
| 2018-07-31 Jozef Lawrynowicz <jozef.l@mittosystems.com> |
| |
| PR middle-end/86705 |
| * gcc/cfgexpand.c (set_parm_rtl): Use the alignment of Pmode when |
| MAX_SUPPORTED_STACK_ALIGNMENT would otherwise be exceeded by the |
| requested variable alignment. |
| (expand_one_ssa_partition): Likewise. |
| (expand_one_var): Likewise. |
| |
| 2018-08-01 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/86724 |
| * graphite.h: Include isl/id.h and isl/space.h to allow build |
| with ISL 0.20. |
| |
| 2018-07-29 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_output_addr_vec): Align address table. |
| * config/pa/pa.h (JUMP_TABLES_IN_TEXT_SECTION): Revise comment. |
| * config/pa/pa32-linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define. |
| |
| 2018-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| PR target/84168 |
| 2017-09-28 Joseph Myers <joseph@codesourcery.com> |
| |
| * config/aarch64/aarch64.c (aarch64_elf_asm_constructor) |
| (aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section |
| when creating .init_array and .fini_array sections with priority |
| specified. |
| |
| 2018-07-12 Richard Biener <rguenther@suse.de> |
| |
| PR target/84829 |
| * config/gnu-user.h (GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC): |
| Remove -mieee-fp handling. |
| |
| 2018-07-10 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline |
| 2017-09-07 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to |
| the sldi instruction. |
| |
| 2018-06-29 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * lex.c (search_line_fast): Remove illegal coercion of an |
| unaligned pointer value to vector pointer type and replace with |
| use of __builtin_vec_vsx_ld () built-in function, which operates |
| on unaligned pointer values. |
| |
| 2018-06-27 David Edelsohn <dje.gcc@gmail.com> |
| |
| 2018-06-19 Tony Reix <tony.reix@atos.com> |
| Damien Bergamini <damien.bergamini@atos.com> |
| David Edelsohn <dje.gcc@gmail.com> |
| |
| * collect2.c (static_obj): New variable. |
| (static_libs): New variable. |
| (is_in_list): Uncomment declaration. |
| (main): Track AIX libraries linked statically. |
| (is_in_list): Uncomment definition. |
| (scan_prog_file): Don't add AIX shared libraries initializer |
| to constructor list if linking statically. |
| |
| 2018-06-26 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backported from mainline |
| 2018-06-20 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change |
| behavior of vec_packsu (vector unsigned long long, vector unsigned |
| long long) to match behavior of vec_packs with same signature. |
| |
| 2018-06-26 Robin Dapp <rdapp@linux.vnet.ibm.com> |
| |
| * config/s390/s390.h (enum processor_flags): Do not use |
| default tune parameter when -march was specified. |
| |
| 2018-06-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/86314 |
| * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2s): |
| Check reg_overlap_mentioned_p in addition to reg_set_p with the same |
| operands. |
| |
| 2018-06-25 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2018-04-17 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/85424 |
| * config/rs6000/rs6000.md (pack<mode>): Do not try handle a pack |
| where the inputs overlap with the output. |
| |
| 2018-06-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84786 |
| * config/i386/sse.md (vshift_count): New mode attr. |
| (<shift_insn><mode>3<mask_name>): Use <vshift_count>N instead of vN |
| as last operand's constraint for VI2_AVX2_AVX512BW shifts. Use YvN |
| instead of vN as last operand's constraint for VI48_AVX2 shifts. |
| |
| 2018-06-23 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/85989 |
| * gimple-ssa-backprop.c (backprop::m_visited_phis): New member |
| variable. |
| (backprop::intersect_uses): Check it when deciding whether this |
| is a backedge reference. |
| (backprop::process_block): Add each phi to m_visited_phis |
| after visiting it, then clear it at the end. |
| |
| 2018-06-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/86231 |
| * tree-vrp.c (union_ranges): For ( [ ) ] or ( )[ ] range and |
| anti-range don't overwrite *vr0min before using it to compute *vr0max. |
| |
| 2018-06-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85878 |
| * expr.c (expand_assignment): Only call store_expr for halves if the |
| mode is the same. |
| |
| 2018-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85945 |
| * lower-subreg.c (find_decomposable_subregs): Don't decompose float |
| subregs of multi-word pseudos unless the float mode has word size. |
| |
| 2018-06-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/86025 |
| * tree.c (inchash::add_expr): Handle IDENTIFIER_NODE. |
| |
| 2018-05-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/85659 |
| * cfgexpand.c (expand_asm_stmt): Don't create a temporary if |
| the type is addressable. Don't force op into register if it has |
| BLKmode. |
| |
| 2018-05-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR web/85578 |
| * doc/install.texi2html: Replace _002d with - and _002a with * in |
| generated html files using sed. |
| |
| 2018-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85529 |
| * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB |
| argument. Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE, |
| rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious |
| zero extension or masking of the MSB bit. |
| (optimize_range_tests): Add FIRST_BB argument, pass it through |
| to optimize_range_tests_var_bound. |
| (maybe_optimize_range_tests, reassociate_bb): Adjust |
| optimize_range_tests callers. |
| |
| 2018-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85446 |
| * match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Require |
| the integral and pointer types to have the same precision. |
| |
| 2018-04-18 David Malcolm <dmalcolm@redhat.com> |
| |
| PR jit/85384 |
| * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version |
| by using gcc_base_ver to generate a gcc_driver_version, and use |
| it when generating GCC_DRIVER_NAME. |
| * configure: Regenerate. |
| |
| 2018-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85431 |
| * dse.c (record_store): Ignore zero width stores. |
| |
| PR target/85430 |
| * config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu. |
| |
| 2018-04-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85300 |
| * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also |
| into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if |
| simplify_unary_operation fails. |
| |
| 2018-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85257 |
| * fold-const.c (native_encode_vector): If not all elts could fit |
| and off is -1, return 0 rather than offset. |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass |
| (offset - offset2) / BITS_PER_UNIT as 4th argument to |
| native_encode_expr. Verify len * BITS_PER_UNIT >= maxsizei. Don't |
| adjust buffer in native_interpret_expr call. |
| |
| 2018-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/85252 |
| * dwarf2out.c (rtl_for_decl_init): For STRING_CST initializer only |
| build CONST_STRING if TYPE_MAX_VALUE is non-NULL and is INTEGER_CST. |
| |
| 2018-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85167 |
| * shrink-wrap.c (move_insn_for_shrink_wrap): Don't set bb_uses and |
| bb_defs if *split_p, instead preinitialize it to NULL. |
| |
| 2018-03-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85095 |
| * config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0, |
| *sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns. |
| |
| 2018-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/85022 |
| * emit-rtl.c (init_emit_regs): Indicate that VOIDmode MEMs don't have |
| known size by default. |
| |
| PR inline-asm/85034 |
| * function.c (match_asm_constraints_1): Don't optimize if input |
| doesn't satisfy general_operand predicate for output's mode. |
| |
| PR inline-asm/85022 |
| * alias.c (write_dependence_p): Don't require for x_canonicalized |
| non-VOIDmode if x has VOIDmode. |
| |
| 2018-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/84941 |
| * function.c (match_asm_constraints_1): Don't do the optimization |
| if input isn't a REG, SUBREG, MEM or constant. |
| |
| PR sanitizer/85018 |
| * dwarf2asm.c (dw2_output_indirect_constant_1): Set |
| DECL_INITIAL (decl) to decl at the end. |
| * varasm.c (use_blocks_for_decl_p): Revert the 2018-03-20 change, |
| adjust the comment. |
| |
| 2018-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/84875 |
| * dce.c (delete_unmarked_insns): Don't remove frame related noop moves |
| holding REG_CFA_RESTORE notes, instead turn them into a USE. |
| |
| PR c/84953 |
| * builtins.c (fold_builtin_strpbrk): For strpbrk(x, "") use type |
| instead of TREE_TYPE (s1) for the return value. |
| |
| PR target/84990 |
| * dwarf2asm.c (dw2_output_indirect_constant_1): Temporarily turn off |
| flag_section_anchors. |
| * varasm.c (use_blocks_for_decl_p): Remove hack for |
| dw2_force_const_mem. |
| |
| 2018-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/78651 |
| * dwarf2asm.c: Include fold-const.c. |
| (dw2_output_indirect_constant_1): Set DECL_INITIAL (decl) to ADDR_EXPR |
| of decl rather than decl itself. |
| |
| 2018-03-19 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR sanitizer/78651 |
| * dwarf2asm.c (dw2_output_indirect_constant_1): Disable ASan before |
| calling assemble_variable. |
| |
| 2018-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84899 |
| * postreload.c (reload_combine_recognize_pattern): Perform |
| INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and |
| truncate_int_for_mode the result for the destination's mode. |
| |
| PR tree-optimization/84841 |
| * tree-ssa-reassoc.c (INTEGER_CONST_TYPE): Change to 1 << 4 from |
| 1 << 3. |
| (FLOAT_ONE_CONST_TYPE): Define. |
| (constant_type): Return FLOAT_ONE_CONST_TYPE for -1.0 and 1.0. |
| (sort_by_operand_rank): Put entries with higher constant_type last |
| rather than first to match comments. |
| |
| 2018-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79085 |
| * calls.c (expand_call): For TREE_ADDRESSABLE rettype ignore alignment |
| check and use address of target always. |
| |
| PR target/84860 |
| * optabs.c (emit_conditional_move): Pass address of cmode's copy |
| rather than address of cmode as last argument to prepare_cmp_insn. |
| |
| 2018-03-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/84834 |
| * match.pd ((A & C) != 0 ? D : 0): Use INTEGER_CST@2 instead of |
| integer_pow2p@2 and test integer_pow2p in condition. |
| (A < 0 ? C : 0): Similarly for @1. |
| |
| PR target/84827 |
| * config/i386/i386.md (round<mode>2): For 387 fancy math, disable |
| pattern if -ftrapping-math -fno-fp-int-builtin-inexact. |
| |
| PR target/84786 |
| * config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v |
| on the last operand. |
| |
| 2018-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84772 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Mark va_arg_tmp |
| temporary TREE_ADDRESSABLE before gimplification of BUILT_IN_MEMCPY. |
| |
| PR c++/84767 |
| * tree-inline.c (copy_tree_body_r): For INDIRECT_REF of a remapped |
| decl, use remap_type if we want to use the type. |
| |
| 2018-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84739 |
| * tree-tailcall.c (find_tail_calls): Check call arguments against |
| DECL_ARGUMENTS (current_function_decl) rather than |
| DECL_ARGUMENTS (func) when checking for tail recursion. |
| |
| 2018-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84700 |
| * combine.c (combine_simplify_rtx): Don't try to simplify if |
| if_then_else_cond returned non-NULL, but either true_rtx or false_rtx |
| are equal to x. |
| |
| 2018-06-22 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to |
| __typeof__. |
| (cmse_check_pointed_object): Likewise. |
| |
| 2018-06-22 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| Backport from mainline |
| 2018-05-17 Jerome Lambourg <lambourg@adacore.com> |
| |
| * config/arm/arm_cmse.h (cmse_nsfptr_create, cmse_is_nsfptr): Remove |
| #include <stdint.h>. Replace intptr_t with __INTPTR_TYPE__. |
| |
| 2018-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2018-06-15 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom |
| multilibs for *-*-rtems*. |
| * config/riscv/t-rtems: New file. |
| |
| 2018-06-19 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2018-06-19 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec |
| constant. |
| (allocate_stack, frame_blockage, *frame_blockage): New patterns. |
| |
| 2018-06-19 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * gimplify.c (gimplify_init_constructor): Really never clear for an |
| incomplete constructor if CONSTRUCTOR_NO_CLEARING is set. |
| |
| 2018-06-18 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/82063 |
| * calls.c (alloc_max_size): Correct a logic error/typo. |
| Treat excessive arguments as infinite. Warn for invalid arguments. |
| * doc/invoke.texi (-Walloc-size-larger-than): Update. |
| |
| 2018-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2018-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/rtems.h (STDINT_LONG32): Define. |
| |
| 2018-06-11 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-06-08 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/85755 |
| * config/rs6000/rs6000.c (mem_operand_gpr): Enable PRE_INC and PRE_DEC |
| addresses. |
| |
| 2018-06-07 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-06-06 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/63177 |
| * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9. |
| Don't handle -mcpu=power8 if -mpower9-vector is also used. |
| |
| 2018-06-07 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-05-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85588 |
| * fold-const.c (negate_expr_p): Restrict negation of operand |
| zero of a division to when we know that can happen without |
| overflow. |
| (fold_negate_expr_1): Likewise. |
| |
| 2018-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85567 |
| * gimplify.c (gimplify_save_expr): When in SSA form allow |
| SAVE_EXPRs to compute to SSA vars. |
| |
| 2018-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85597 |
| * tree-vect-stmts.c (vectorizable_operation): For ternary SLP |
| do not use split vect_get_vec_defs call but call vect_get_slp_defs |
| directly. |
| |
| 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Add void function type. |
| * config/s390/s390-builtins.def: Use the function type for the |
| tbeginc builtin. |
| |
| 2018-06-01 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| Backport from mainline: |
| 2018-05-23 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add |
| first_interp field. |
| (alloc_cand_and_find_basis): Initialize first_interp field. |
| (slsr_process_mul): Modify first_interp field. |
| (slsr_process_add): Likewise. |
| (slsr_process_cast): Modify first_interp field for each new |
| interpretation. |
| (slsr_process_copy): Likewise. |
| (dump_candidate): Dump first_interp field. |
| (replace_mult_candidate): Process all interpretations, not just |
| subsequent ones. |
| (replace_rhs_if_not_dup): Likewise. |
| (replace_one_candidate): Likewise. |
| |
| Backport from mainline: |
| 2018-05-25 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| PR tree-optimization/85712 |
| * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip if |
| this candidate has already been replaced in-situ by a copy. |
| |
| 2018-05-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>64<round_name>): |
| Add {q} suffix to insn mnemonic. |
| |
| 2018-05-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85903 |
| * config/i386/sse.md (movdi_to_sse): Do not generate pseudo |
| when memory input operand is handled. |
| |
| 2018-05-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2018-05-17 Pat Haugen <pthaugen@us.ibm.com> |
| Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85698 |
| * config/rs6000/rs6000.c (rs6000_output_move_128bit): Check |
| dest operand. |
| |
| 2018-05-17 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2018-05-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/85655 |
| * ipa-cp.c (intersect_with_plats): Check that the lattice contains |
| single const. |
| |
| 2018-05-01 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2018-04-16 Cesar Philippidis <cesar@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| |
| PR middle-end/84955 |
| * omp-expand.c (expand_oacc_for): Add dummy false branch for |
| tiled basic blocks without omp continue statements. |
| |
| 2018-04-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-04-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85284 |
| * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions): |
| Only use the niter constraining form of simple_iv when the exit |
| is always executed. |
| |
| 2018-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85244 |
| * tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref |
| after seeing a component reference with an adjacent field. Treat |
| refs to arrays at struct end of external decls similar to |
| refs to unconstrained commons. |
| |
| 2018-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85168 |
| * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Avoid |
| propagating abnormals. |
| |
| 2018-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-04-17 Martin Liska <mliska@suse.cz> |
| |
| PR lto/85405 |
| * ipa-devirt.c (odr_types_equivalent_p): Remove trailing |
| in message, remote space in between '_G' and '('. |
| |
| 2018-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-04-17 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/85405 |
| * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields. |
| |
| 2018-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-03-28 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/85081 |
| * gimplify.c (asan_poison_variable): Don't do the check for |
| gimplify_omp_ctxp here. |
| (gimplify_decl_expr): Do it here. |
| (gimplify_target_expr): Likewise. |
| |
| 2018-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/84963 |
| * ipa-icf.c (sem_item_optimizer::fixup_points_to_sets): Remove |
| not intended return statement. |
| |
| 2018-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-03-13 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/84658. |
| * (sem_item_optimizer::sem_item_optimizer): Initialize new |
| vector. |
| (sem_item_optimizer::~sem_item_optimizer): Release it. |
| (sem_item_optimizer::merge_classes): Register variable aliases. |
| (sem_item_optimizer::fixup_pt_set): New function. |
| (sem_item_optimizer::fixup_points_to_sets): Likewise. |
| * ipa-icf.h: Declare new variables and functions. |
| |
| 2018-04-23 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-04-16 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| PR target/83660 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark |
| vec_extract expression as having side effects to make sure it gets |
| a cleanup point. |
| |
| 2018-04-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/85496 |
| * expr.c (store_field): In the bitfield case, if the value comes from |
| a function call and is returned in registers by means of a PARALLEL, |
| do not change the mode of the temporary unless BLKmode and VOIDmode. |
| |
| 2018-04-20 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-03-09 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/83969 |
| * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New prototype. |
| Add strict argument and use it. |
| (rs6000_split_multireg_move): Update for new strict argument. |
| (mem_operand_gpr): Disallow all non-offsettable addresses. |
| * config/rs6000/rs6000.md (*movdi_internal64): Use YZ constraint. |
| |
| 2018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/85261 |
| * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand |
| into register. |
| |
| 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_output_indirect_thunk_function): Check |
| also for flag_dwarf2_cfi_asm. |
| |
| 2018-04-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/alpha/alpha.md (stack_probe_internal): Rename |
| from "probe_stack". Update all callers. |
| |
| 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2018-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/85203 |
| * config/arm/arm-builtins.c (arm_expand_builtin): Change |
| expansion to perform a bitwise AND of the argument followed by a |
| boolean negation of the result. |
| |
| 2018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/84748 |
| * config/aarch64/aarch64.md (*compare_cstore<mode>_insn): Mark pattern |
| as clobbering CC_REGNUM. |
| |
| 2018-04-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/85196 |
| * config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands |
| based on LABEL_REF. Remove useless assertion. |
| (pic_address_needs_scratch): Fix formatting. |
| (sparc_legitimize_pic_address): Minor tweaks. |
| (sparc_delegitimize_address): Adjust assertion accordingly. |
| * config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand |
| into symbolic_operand. |
| (movsi_high_pic_label_ref): Likewise. |
| (movsi_lo_sum_pic_label_ref): Likewise. |
| (movdi_pic_label_ref): Likewise. |
| (movdi_high_pic_label_ref): Likewise. |
| (movdi_lo_sum_pic_label_ref): Likewise. |
| |
| 2018-04-06 Amaan Cheval <amaan.cheval@gmail.com> |
| |
| * config.gcc (x86_64-*-rtems*): Add rtems.h to tm_file for |
| custom LIB_SPEC setup. |
| |
| 2018-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85193 |
| * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. |
| |
| 2018-04-04 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-04-04 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR rtl-optimization/84878 |
| * ddg.c (add_cross_iteration_register_deps): Use DF_REF_BB to determine |
| the basic block. Assert the use reference is not artificial and that |
| it has an associated insn. |
| |
| 2018-04-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (emit_i387_cw_initialization): Always use logic |
| instructions when changing rounding bits to preserve precision bits |
| in the x87 control word. |
| |
| 2018-04-03 Cesar Philippidis <cesar@codesourcery.com> |
| |
| Backport from mainline |
| 2018-03-27 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR target/85056 |
| * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to |
| extern array declarations. |
| |
| 2018-04-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84912 |
| * config/rs6000/rs6000.h: Update copyright date. |
| (RS6000_BTM_POWERPC64): New define. |
| (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. |
| * config/rs6000/rs6000.c: Update copyright date. |
| (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64. |
| (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64 |
| (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64. |
| * config/rs6000/rs6000-builtin.def: Update copyright date. |
| (BU_P7_POWERPC64_MISC_2): New macro definition. |
| (DIVDE): Use it. |
| (DIVDEU): Likewise. |
| |
| Backport from mainline |
| 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84912 |
| * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion. |
| (DIVWEUO): Likewise. |
| (DIVDEO): Likewise. |
| (DIVDEUO): Likewise. |
| * config/rs6000/rs6000.c (builtin_function_type): Remove support for |
| DIVWEUO and DIVDEUO. |
| * config/rs6000/rs6000.md: Update copyright date. |
| (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. |
| (UNSPEC_DIV_EXTEND): Remove deleted unspecs. |
| (div_extend): Likewise. |
| * doc/extend.texi: Update copyright date. |
| (__builtin_divweo): Remove documentation for deleted builtin function. |
| (__builtin_divweuo): Likewise. |
| (__builtin_divdeo): Likewise. |
| (__builtin_divdeuo): Likewise. |
| |
| 2018-04-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80546 |
| * config/rs6000/vsx.md (??r): New mode attribute. |
| (*vsx_mov<mode>_64bit): Use it. |
| (*vsx_mov<mode>_32bit): Likewise. |
| |
| 2018-03-29 Sebastian Peryt <sebastian.peryt@intel.com> |
| |
| PR c++/84783 |
| * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64) |
| (_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics. |
| |
| 2018-03-29 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from mainline |
| 2018-03-22 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/84826 |
| * config/arm/arm.h (machine_function): Add static_chain_stack_bytes. |
| * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid |
| re-computing once computed. |
| (arm_expand_prologue): Compute machine->static_chain_stack_bytes. |
| (arm_init_machine_status): Initialize |
| machine->static_chain_stack_bytes. |
| |
| 2018-03-28 Sudakshina Das <sudi.das@arm.com> |
| |
| 2018-03-19 Sudakshina Das <sudi.das@arm.com> |
| PR target/81647 |
| |
| * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Modify |
| instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED. |
| |
| 2018-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/85026 |
| * config/arm/arm.md (unaligned_loadhis): Remove first alternative. |
| Clean up attributes. |
| |
| 2018-03-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-03-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/82411 |
| * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put |
| readonly data in sdata, if that is disabled. |
| * config/rs6000/sysv4.opt (mreadonly-in-sdata): New option. |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document |
| -mreadonly-in-sdata option. |
| |
| 2018-03-27 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from mainline: |
| 2018-03-20 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/82989 |
| * config/arm/neon.md (ashldi3_neon): Update ?s for constraints |
| to favor GPR over NEON registers. |
| (<shift>di3_neon): Likewise. |
| |
| 2018-03-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-03-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/82518 |
| * config/arm/arm.c (arm_array_mode_supported_p): Return false for |
| BYTES_BIG_ENDIAN. |
| |
| 2018-03-23 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-03-20 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/83789 |
| * config/rs6000/altivec.md (altivec_lvx_<mode>_2op): Delete define_insn. |
| (altivec_lvx_<mode>_1op): Likewise. |
| (altivec_stvx_<mode>_2op): Likewise. |
| (altivec_stvx_<mode>_1op): Likewise. |
| (altivec_lvx_<VM2:mode>): New define_expand. |
| (altivec_stvx_<VM2:mode>): Likewise. |
| (altivec_lvx_<VM2:mode>_2op_<P:mptrsize>): New define_insn. |
| (altivec_lvx_<VM2:mode>_1op_<P:mptrsize>): Likewise. |
| (altivec_stvx_<VM2:mode>_2op_<P:mptrsize>): Likewise. |
| (altivec_stvx_<VM2:mode>_1op_<P:mptrsize>): Likewise. |
| * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Likewise. |
| (altivec_expand_stv_builtin): Likewise. |
| (altivec_expand_builtin): Likewise. |
| * config/rs6000/vector.md: Likewise. |
| |
| 2018-03-23 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline: |
| 2018-03-14 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR. |
| |
| 2018-03-22 Tom de Vries <tom@codesourcery.com> |
| |
| backport from trunk: |
| 2018-03-22 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/84956 |
| * tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with |
| bb_has_abnormal_pred. |
| |
| 2018-03-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-03-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84574 |
| * config/i386/i386.c (indirect_thunk_needed): Update comments. |
| (indirect_thunk_bnd_needed): Likewise. |
| (indirect_thunks_used): Likewise. |
| (indirect_thunks_bnd_used): Likewise. |
| (indirect_return_needed): New. |
| (indirect_return_bnd_needed): Likewise. |
| (output_indirect_thunk_function): Add a bool argument for |
| function return. |
| (output_indirect_thunk_function): Don't generate alias for |
| function return thunk. |
| (ix86_code_end): Call output_indirect_thunk_function to generate |
| function return thunks. |
| (ix86_output_function_return): Set indirect_return_bnd_needed |
| and indirect_return_needed instead of indirect_thunk_bnd_needed |
| and indirect_thunk_needed. |
| |
| 2018-03-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/83451 |
| * config/pa/pa.c (pa_emit_move_sequence): Always emit secondary reload |
| insn for floating-point loads and stores. |
| |
| 2018-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (-mclflushopt): Fix spelling of option. |
| |
| 2018-03-12 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/84485 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Return |
| true for zero dependence distances if the step might be zero, |
| and if there is no metadata that guarantees correctness. |
| (vect_analyze_data_ref_access): Check safelen as well as |
| force_vectorize. |
| |
| 2018-03-11 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-02-14 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/83984 |
| * config/pa/pa.md: Load address of PIC label using the linkage table |
| if the label is nonlocal. |
| |
| Backport from mainline |
| 2018-03-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use |
| sprint_ul. |
| (ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change. |
| (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise. |
| * config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above. |
| |
| 2018-03-09 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| Backport from mainline |
| 2017-09-13 Kugan Vivekanandarajah <kuganv@linaro.org> |
| |
| * config/aarch64/aarch64.c (aarch64_override_options_after_change_1): |
| Disable pc relative literal load irrespective of |
| TARGET_FIX_ERR_A53_84341 for default. |
| |
| 2018-03-06 Denis Chertykov <chertykov@gmail.com> |
| |
| Backport from mainline |
| 2018-02-07 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/84209 |
| * config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros. |
| * config/avr/avr.md: Only post-reload split REG-REG moves if |
| either register is GENERAL_REG_P. |
| |
| 2018-03-06 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline |
| 2/16/18 commit 257748 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/altivec.h: Remove vec_vextract4b and vec_vinsert4b. |
| * config/rs6000/rs6000-builtin.def: Remove macro expansion for |
| VINSERT4B_DI and VINSERT4B. |
| * config/rs6000/rs6000.c: Remove case statements for |
| P9V_BUILTIN_VINSERT4B, P9V_BUILTIN_VINSERT4B_DI, |
| and P9V_BUILTIN_VEC_VINSERT4B. |
| * config/rs6000/rs6000-c.c (altivec_expand_builtin): Remove entries for |
| P9V_BUILTIN_VEC_VEXTRACT4B and P9V_BUILTIN_VEC_VINSERT4B. |
| * config/rs6000/vsx.md: Remove define_expand vinsert4b, |
| define_insn *vinsert4b_internal, define_insn "*vinsert4b_di_internal. |
| * doc/extend.texi: Remove vec_vextract4b, non ABI definitions for |
| vec_insert4b. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-20 Martin Liska <mliska@suse.cz> |
| |
| PR c/84310 |
| PR target/79747 |
| * final.c (shorten_branches): Build align_tab array with one |
| more element. |
| * opts.c (finish_options): Add alignment option limit check. |
| (MAX_CODE_ALIGN): Likewise. |
| (MAX_CODE_ALIGN_VALUE): Likewise. |
| * doc/invoke.texi: Document maximum allowed option value for |
| all -falign-* options. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-19 Martin Liska <mliska@suse.cz> |
| |
| PR other/80589 |
| * doc/invoke.texi: Fix typo. |
| * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-05 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/84137 |
| * doc/gcov.texi: Fix typo in documentation. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-05 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/83879 |
| * doc/gcov.texi: Document necessity of --dynamic-list-data when |
| using dlopen functionality. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-12-19 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/82675 |
| * loop-unroll.c (unroll_loop_constant_iterations): Allocate one |
| more element in sbitmap. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-03-05 Martin Liska <mliska@suse.cz> |
| |
| * ipa-utils.c (ipa_merge_profiles): Do not merge alias or |
| a function without profile. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-21 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR c/84229 |
| * ipa-cp.c (determine_versionability): Do not version functions caling |
| va_arg_pack. |
| |
| 2018-03-06 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-02-08 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/81360 |
| * cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare |
| * symtab.c: Include builtins.h |
| (symtab_node::output_to_lto_symbol_table_p): Move here |
| from lto-streamer-out.c:output_symbol_p. |
| * lto-streamer-out.c (write_symbol): Turn early exit to assert. |
| (output_symbol_p): Move all logic to symtab.c |
| (produce_symtab): Update. |
| |
| 2018-03-06 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-22 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/81572 |
| * lra-int.h (LRA_UNKNOWN_ALT, LRA_NON_CLOBBERED_ALT): New macros. |
| * lra.c (lra_set_insn_recog_data, lra_update_insn_recog_data): Use |
| LRA_UNKNOWN_ALT. |
| * lra-constraints.c (curr_insn_transform): Set up |
| LRA_NON_CLOBBERED_ALT for moves processed on the fast path. Use |
| LRA_UNKNOWN_ALT. |
| (remove_inheritance_pseudos): Use LRA_UNKNOWN_ALT. |
| * lra-eliminations.c (spill_pseudos): Ditto. |
| (process_insn_for_elimination): Ditto. |
| * lra-lives.c (reg_early_clobber_p): Use the new macros. |
| * lra-spills.c (spill_pseudos): Use LRA_UNKNOWN_ALT and |
| LRA_NON_CLOBBERED_ALT. |
| |
| 2018-03-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-03-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84486 |
| * tree-ssa-pre.c (create_expression_by_pieces): Remove dead code. |
| When inserting a __builtin_assume_aligned call set the LHS |
| SSA name alignment info accordingly. |
| |
| 2018-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/84607 |
| * genmatch.c (capture_info::walk_match): Do not mark |
| captured expressions without operands as expr_p given |
| they act more like predicates and should be subject to |
| "lost tail" side-effect preserving. |
| |
| 2018-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84524 |
| * config/i386/sse.md (*<code><mode>3): Replace <mask_prefix3> with |
| orig,vex. |
| (*<plusminus_insn><mode>3): Likewise. Remove <mask_operand3> uses. |
| |
| 2018-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-03-02 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR ipa/84628 |
| * expr.c (expand_expr_real_1) <case CALL_EXPR>: Don't emit diagnostics |
| for error or warning attributes if CALL_FROM_THUNK_P is set. |
| Formatting fixes. |
| |
| 2018-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR inline-asm/84625 |
| * config/i386/i386.c (ix86_print_operand): Use conditional |
| output_operand_lossage instead of gcc_assert if CONST_VECTOR is not |
| zero vector. |
| |
| 2018-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and |
| p->max as pointers rather than using iterative_hash_expr. |
| |
| 2017-11-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/82916 |
| * gimple-ssa-store-merging.c |
| (pass_store_merging::terminate_all_aliasing_chains): For |
| gimple_store_p stmts also call refs_output_dependent_p. |
| |
| 2018-02-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/84444 |
| * builtins.c (builtin_mathfn_code): Don't check if CALL_EXPR_FN (t) |
| is ADDR_EXPR. |
| |
| 2018-02-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/84425 |
| * ipa-inline.c (inline_small_functions): Fix a typo. |
| |
| 2018-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/82210 |
| * stor-layout.c (place_field): For variable length fields, adjust |
| offset_align afterwards not just based on the field's alignment, |
| but also on the size. |
| |
| 2018-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/83987 |
| * omp-low.c (maybe_remove_omp_member_access_dummy_vars, |
| remove_member_access_dummy_vars): New functions. |
| (lower_omp_for, lower_omp_taskreg, lower_omp_target, |
| lower_omp_1, execute_lower_omp): Use them. |
| |
| PR rtl-optimization/84308 |
| * shrink-wrap.c (spread_components): Release todo vector. |
| |
| 2018-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/84285 |
| * gcc.c (STATIC_LIBASAN_LIBS, STATIC_LIBTSAN_LIBS, |
| STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS): Handle -static like |
| -static-lib*san. |
| |
| 2018-02-09 Marek Polacek <polacek@redhat.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/83659 |
| * fold-const.c (fold_indirect_ref_1): Use VECTOR_TYPE_P macro. |
| Formatting fixes. Verify first that tree_fits_shwi_p (op01). |
| Sync some changes from cxx_fold_indirect_ref. |
| |
| 2018-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for |
| *DIV_EXPR and *MOD_EXPR. |
| |
| 2018-02-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81661 |
| PR tree-optimization/84117 |
| * tree-eh.h (rewrite_to_non_trapping_overflow): Declare. |
| * tree-eh.c: Include gimplify.h. |
| (find_trapping_overflow, replace_trapping_overflow, |
| rewrite_to_non_trapping_overflow): New functions. |
| * tree-vect-loop.c: Include tree-eh.h. |
| (vect_get_loop_niters): Use rewrite_to_non_trapping_overflow. |
| |
| 2018-01-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/83986 |
| * sched-deps.c (sched_analyze_insn): For frame related insns, add anti |
| dependence against last_pending_memory_flush in addition to |
| pending_jump_insns. |
| |
| 2018-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/84040 |
| * sched-deps.c (sched_macro_fuse_insns): Return immediately if |
| !insn_set. |
| |
| 2018-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/83977 |
| * tree-inline.c (tree_function_versioning): Remove "omp declare simd" |
| attributes from DECL_ATTRIBUTES (new_decl) without affecting |
| DECL_ATTRIBUTES (old_decl). |
| |
| 2018-01-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/83945 |
| * tree-emutls.c: Include gimplify.h. |
| (lower_emutls_2): New function. |
| (lower_emutls_1): If ADDR_EXPR is a gimple invariant and walk_tree |
| with lower_emutls_2 callback finds some TLS decl in it, unshare_expr |
| it before further processing. |
| |
| PR target/83930 |
| * simplify-rtx.c (simplify_binary_operation_1) <case UMOD>: Use |
| UINTVAL (trueop1) instead of INTVAL (op1). |
| |
| 2018-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR preprocessor/83722 |
| * gcc.c (try_generate_repro): Pass |
| &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than |
| &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to |
| do_report_bug. |
| |
| 2018-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/83605 |
| * gimple-ssa-strength-reduction.c: Include tree-eh.h. |
| (find_candidates_dom_walker::before_dom_children): Ignore stmts that |
| can throw. |
| |
| 2018-03-01 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84039 |
| * config/i386/constraints.md (Bs): Replace |
| ix86_indirect_branch_register with |
| TARGET_INDIRECT_BRANCH_REGISTER. |
| (Bw): Likewise. |
| * config/i386/i386.md (indirect_jump): Likewise. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Peepholes of indirect call and jump via memory: Likewise. |
| (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER. |
| (*sibcall_value_GOT_32): Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New. |
| |
| 2018-03-01 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_output_indirect_jmp): Update comments. |
| |
| 2018-02-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84530 |
| * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove |
| the bool argument. |
| (ix86_output_indirect_function_return): New prototype. |
| (ix86_split_simple_return_pop_internal): Likewise. |
| * config/i386/i386.c (indirect_return_via_cx): New. |
| (indirect_return_via_cx_bnd): Likewise. |
| (indirect_thunk_name): Handle return va CX_REG. |
| (output_indirect_thunk_function): Create alias for |
| __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd. |
| (ix86_output_indirect_jmp): Remove the bool argument. |
| (ix86_output_indirect_function_return): New function. |
| (ix86_split_simple_return_pop_internal): Likewise. |
| * config/i386/i386.md (*indirect_jump): Don't pass false |
| to ix86_output_indirect_jmp. |
| (*tablejump_1): Likewise. |
| (simple_return_pop_internal): Change it to define_insn_and_split. |
| Call ix86_split_simple_return_pop_internal to split it for |
| -mfunction-return=. |
| (simple_return_indirect_internal): Call |
| ix86_output_indirect_function_return instead of |
| ix86_output_indirect_jmp. |
| |
| 2017-03-02 Thomas Schwinge <thomas@codesourcery.com> |
| |
| Backport from trunk r256891: |
| 2018-01-19 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR target/83790 |
| * config/nvptx/nvptx.c (output_init_frag): Don't use generic address |
| spaces for function labels. |
| |
| 2018-02-26 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline: commit 257747 on 2018-02-16. |
| |
| * config/rs6000/altivec.h: Add builtin names vec_extract4b |
| vec_insert4b. |
| * config/rs6000/rs6000-builtin.def: Add INSERT4B and EXTRACT4B |
| definitions. |
| * config/rs6000/rs6000-c.c: Add the definitions for |
| P9V_BUILTIN_VEC_EXTRACT4B and P9V_BUILTIN_VEC_INSERT4B. |
| * config/rs6000/rs6000.c (altivec_expand_builtin): Add |
| P9V_BUILTIN_EXTRACT4B and P9V_BUILTIN_INSERT4B case statements. |
| * config/rs6000/vsx.md: Add define_insn extract4b. Add define_expand |
| definition for insert4b and define insn *insert3b_internal. |
| * doc/extend.texi: Add documentation for vec_extract4b. |
| |
| 2018-02-26 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/83496 |
| * reorg.c (steal_delay_list_from_target): Change REDUNDANT array from |
| booleans to RTXes. Call fix_reg_dead_note on every non-null element. |
| (steal_delay_list_from_fallthrough): Call fix_reg_dead_note on a |
| redundant insn, if any. |
| (relax_delay_slots): Likewise. |
| (update_reg_unused_notes): Rename REDUNDANT_INSN to OTHER_INSN. |
| |
| 2018-02-22 Sudakshina Das <sudi.das@arm.com> |
| Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline: |
| 2017-12-14 Sudakshina Das <sudi.das@arm.com> |
| Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/81228 |
| * config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT to |
| CCFPEmode. |
| * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Add |
| LTGT. |
| |
| 2018-02-16 Jozef Lawrynowicz <jozefl.gcc@gmail.com> |
| |
| PR target/79242 |
| * machmode.def: Define a complex mode for PARTIAL_INT. |
| * genmodes.c (complex_class): Return MODE_COMPLEX_INT for |
| MODE_PARTIAL_INT. |
| * doc/rtl.texi: Document CSPImode. |
| * config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode |
| handling. |
| (msp430_hard_regno_nregs_with_padding): Likewise. |
| |
| 2018-02-16 Sudakshina Das <sudi.das@arm.com> |
| |
| Backport from trunk |
| 2018-01-10 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/82096 |
| * expmed.c (emit_store_flag_force): Swap if const op0 |
| and change VOIDmode to mode of op0. |
| |
| 2018-02-16 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84190 |
| * tree-ssa.c (non_rewritable_mem_ref_base): Do not touch |
| volatile accesses if the decl isn't volatile. |
| |
| 2018-02-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2018-02-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/84154 |
| * config/rs6000/rs6000.md (fix_trunc<SFDF:mode><QHI:mode>2): |
| Convert from define_expand to be define_insn_and_split. Rework |
| float/double/_Float128 conversions to QI/HI/SImode to work with |
| both ISA 2.07 (power8) or ISA 3.0 (power9). Fix regression where |
| conversions to QI/HImode types did a store and then a load to |
| truncate the value. For conversions to VSX registers, don't split |
| the insn, instead emit the code directly. Use the code iterator |
| any_fix to combine signed and unsigned conversions. |
| (fix<uns>_trunc<SFDF:mode>si2_p8): Likewise. |
| (fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise. |
| (fix_trunc<IEEE128:mode><QHI:mode>2): Likewise. |
| (fix<uns>_trunc<SFDF:mode><QHI:mode>2): Likewise. |
| (fix_<mode>di2_hw): Likewise. |
| (fixuns_<mode>di2_hw): Likewise. |
| (fix_<mode>si2_hw): Likewise. |
| (fixuns_<mode>si2_hw): Likewise. |
| (fix<uns>_<IEEE128:mode><SDI:mode>2_hw): Likewise. |
| (fix<uns>_trunc<IEEE128:mode><QHI:mode>2): Likewise. |
| (fctiw<u>z_<mode>_smallint): Rename fctiw<u>z_<mode>_smallint to |
| fix<uns>_trunc<SFDF:mode>si2_p8. |
| (fix_trunc<SFDF:mode><QHI:mode>2_internal): Delete, no longer |
| used. |
| (fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise. |
| (fix<uns>_<mode>_mem): Likewise. |
| (fctiw<u>z_<mode>_mem): Likewise. |
| (fix<uns>_<mode>_mem): Likewise. |
| (fix<uns>_trunc<SFDF:mode><QHSI:mode>2_mem): On ISA 3.0, prevent |
| the register allocator from doing a direct move to the GPRs to do |
| a store, and instead use the ISA 3.0 store byte/half-word from |
| vector register instruction. For IEEE 128-bit floating point, |
| also optimize stores of 32-bit ints. |
| (fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem): Likewise. |
| |
| 2018-02-15 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/83758 |
| * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return |
| a reg rtx. |
| |
| 2018-02-14 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-02-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84279 |
| * config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses. |
| |
| 2018-02-14 Martin Jambor <mjambor@suse.cz> |
| |
| PR c++/83990 |
| * ipa-prop.c (ipa_modify_call_arguments): Use location of call |
| statements, also set location of a load to a temporary. |
| |
| 2018-02-10 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as |
| function label. |
| |
| Backport from mainline |
| 2018-02-01 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR target/84089 |
| * config/pa/predicates.md (base14_operand): Handle VOIDmode. |
| |
| 2018-02-09 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2018-02-08 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa-gen.c (get_symbol_for_decl): Set program allocation for |
| static local variables. |
| |
| 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/PR84295 |
| * config/s390/s390.c (s390_set_current_function): Invoke |
| s390_indirect_branch_settings also if fndecl didn't change. |
| |
| 2018-02-08 Iain Sandoe <iain@codesourcery.com> |
| |
| PR target/84113 |
| * config/rs6000/altivec.md (*restore_world): Remove LR use. |
| * config/rs6000/predicates.md (restore_world_operation): Adjust op |
| count, remove one USE. |
| |
| 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-opts.h (enum indirect_branch): Define. |
| * config/s390/s390-protos.h (s390_return_addr_from_memory) |
| (s390_indirect_branch_via_thunk) |
| (s390_indirect_branch_via_inline_thunk): Add function prototypes. |
| (enum s390_indirect_branch_type): Define. |
| * config/s390/s390.c (struct s390_frame_layout, struct |
| machine_function): Remove. |
| (indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask) |
| (indirect_branch_table_label_no, indirect_branch_table_name): |
| Define variables. |
| (INDIRECT_BRANCH_NUM_OPTIONS): Define macro. |
| (enum s390_indirect_branch_option): Define. |
| (s390_return_addr_from_memory): New function. |
| (s390_handle_string_attribute): New function. |
| (s390_attribute_table): Add new attribute handler. |
| (s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns. |
| (s390_indirect_branch_via_thunk): New function. |
| (s390_indirect_branch_via_inline_thunk): New function. |
| (s390_function_ok_for_sibcall): When jumping via thunk disallow |
| sibling call optimization for non z10 compiles. |
| (s390_emit_call): Force indirect branch target to be a single |
| register. Add r1 clobber for non-z10 compiles. |
| (s390_emit_epilogue): Emit return jump via return_use expander. |
| (s390_reorg): Handle JUMP_INSNs as execute targets. |
| (s390_option_override_internal): Perform validity checks for the |
| new command line options. |
| (s390_indirect_branch_attrvalue): New function. |
| (s390_indirect_branch_settings): New function. |
| (s390_set_current_function): Invoke s390_indirect_branch_settings. |
| (s390_output_indirect_thunk_function): New function. |
| (s390_code_end): Implement target hook. |
| (s390_case_values_threshold): Implement target hook. |
| (TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target |
| macros. |
| * config/s390/s390.h (struct s390_frame_layout) |
| (struct machine_function): Move here from s390.c. |
| (TARGET_INDIRECT_BRANCH_NOBP_RET) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK) |
| (TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK) |
| (TARGET_INDIRECT_BRANCH_NOBP_CALL) |
| (TARGET_DEFAULT_INDIRECT_BRANCH_TABLE) |
| (TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL) |
| (TARGET_INDIRECT_BRANCH_THUNK_NAME_EX) |
| (TARGET_INDIRECT_BRANCH_TABLE): Define macros. |
| * config/s390/s390.md (UNSPEC_EXECUTE_JUMP) |
| (INDIRECT_BRANCH_THUNK_REGNUM): Define constants. |
| (mnemonic attribute): Add values which aren't recognized |
| automatically. |
| ("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable |
| pattern for branch conversion. Fix mnemonic attribute. |
| ("*c<code>", "*sibcall_br", "*sibcall_value_br", "*return"): Emit |
| indirect branch via thunk if requested. |
| ("indirect_jump", "<code>"): Expand patterns for branch conversion. |
| ("*indirect_jump"): Disable for branch conversion using out of |
| line thunks. |
| ("indirect_jump_via_thunk<mode>_z10") |
| ("indirect_jump_via_thunk<mode>") |
| ("indirect_jump_via_inlinethunk<mode>_z10") |
| ("indirect_jump_via_inlinethunk<mode>", "*casesi_jump") |
| ("casesi_jump_via_thunk<mode>_z10", "casesi_jump_via_thunk<mode>") |
| ("casesi_jump_via_inlinethunk<mode>_z10") |
| ("casesi_jump_via_inlinethunk<mode>", "*basr_via_thunk<mode>_z10") |
| ("*basr_via_thunk<mode>", "*basr_r_via_thunk_z10") |
| ("*basr_r_via_thunk", "return<mode>_prez10"): New pattern. |
| ("*indirect2_jump"): Disable for branch conversion. |
| ("casesi_jump"): Turn into expander and expand patterns for branch |
| conversion. |
| ("return_use"): New expander. |
| ("*return"): Emit return via thunk and rename it to ... |
| ("*return<mode>"): ... this one. |
| * config/s390/s390.opt: Add new options and and enum for the |
| option values. |
| |
| 2018-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84233 |
| * tree-ssa-phiprop.c (propagate_with_phi): Use separate |
| changed flag instead of boguously re-using phi_inserted. |
| |
| 2018-02-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): |
| Display warning message for -mno-speculate-indirect-jumps. |
| |
| 2018-02-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR bootstrap/84017 |
| * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86. |
| * configure: Regenerate. |
| |
| 2018-02-05 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-02-01 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/56010 |
| PR target/83743 |
| * config/rs6000/driver-rs6000.c: #include "diagnostic.h". |
| #include "opts.h". |
| (rs6000_supported_cpu_names): New static variable. |
| (linux_cpu_translation_table): Likewise. |
| (elf_platform) <cpu>: Define new static variable and use it. |
| Translate kernel AT_PLATFORM name to canonical name if needed. |
| Error if platform name is unknown. |
| |
| 2018-02-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-02-02 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_output_function_return): Pass |
| INVALID_REGNUM, instead of -1, as invalid register number to |
| indirect_thunk_name and output_indirect_thunk. |
| |
| 2018-02-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-01-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/84123 |
| * combine.c (change_zero_ext): Check if hard register satisfies |
| can_change_dest_mode before calling gen_lowpart_SUBREG. |
| |
| 2018-02-01 Renlin Li <renlin.li@arm.com> |
| |
| Backport from mainline |
| 2018-02-01 Renlin Li <renlin.li@arm.com> |
| |
| PR target/83370 |
| * config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle |
| TAILCALL_ADDR_REGS. |
| (aarch64_register_move_cost): Likewise. |
| * config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to |
| TAILCALL_ADDR_REGS. |
| (REG_CLASS_NAMES): Likewise. |
| (REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to |
| TAILCALL_ADDR_REGS. Remove IP registers. |
| * config/aarch64/aarch64.md (Ucs): Update register constraint. |
| |
| 2018-02-01 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82795 |
| * tree-if-conv.c (predicate_mem_writes): Remove bogus assert. |
| |
| 2018-01-31 Richard Biener <rguenther@suse.de> |
| Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-29 Richard Biener <rguenther@suse.de> |
| Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR bootstrap/80867 |
| * tree-vect-stmts.c (vectorizable_call): Don't call |
| targetm.vectorize_builtin_md_vectorized_function if callee is |
| NULL. |
| |
| 2018-01-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/84071 |
| * doc/tm.texi.in (WORD_REGISTER_OPERATIONS): Add explicit case. |
| * doc/tm.texi: Regenerate. |
| |
| 2018-01-31 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/84071 |
| * combine.c (record_dead_and_set_regs_1): Record the source unmodified |
| for a paradoxical SUBREG on a WORD_REGISTER_OPERATIONS target. |
| |
| 2018-01-29 Joseph Myers <joseph@codesourcery.com> |
| |
| Backport from mainline |
| 2018-01-24 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/68467 |
| * config/m68k/m68k.c (m68k_promote_function_mode): New function. |
| (TARGET_PROMOTE_FUNCTION_MODE): New macro. |
| |
| 2018-01-29 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-01-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81763 |
| * config/i386/i386.md (*andndi3_doubleword): Add earlyclobber |
| to (=&r,r,rm) alternative. Add (=r,0,rm) and (=r,r,0) alternatives. |
| |
| 2018-01-29 Alan Modra <amodra@gmail.com> |
| |
| Backport from mainline |
| 2018-01-26 Alan Modra <amodra@gmail.com> |
| PR target/84033 |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude |
| UNSPEC_VBPERMQ. |
| |
| 2018-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * doc/invoke.texi: Replace -mfunction-return==@var{choice} with |
| -mfunction-return=@var{choice}. |
| |
| 2018-01-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-23 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/83905 |
| * config/i386/i386.c (ix86_expand_prologue): Use cost reference |
| of struct ix86_frame. |
| (ix86_expand_epilogue): Likewise. Add a local variable for |
| the reg_save_offset field in struct ix86_frame. |
| |
| 2018-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/83985 |
| * dce.c (deletable_insn_p): Return false for separate shrink wrapping |
| REG_CFA_RESTORE insns. |
| (delete_unmarked_insns): Don't ignore separate shrink wrapping |
| REG_CFA_RESTORE insns here. |
| |
| 2018-01-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (indirect_thunk_name): Declare regno |
| as unsigned int. Compare regno with INVALID_REGNUM. |
| (output_indirect_thunk): Ditto. |
| (output_indirect_thunk_function): Ditto. |
| (ix86_code_end): Declare regno as unsigned int. Use INVALID_REGNUM |
| in the call to output_indirect_thunk_function. |
| |
| 2018-01-25 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2018-01-22 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/83862 |
| * config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete, |
| no longer used. |
| * config/rs6000/rs6000.c (rs6000_split_signbit): Likewise. |
| * config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE |
| 128-bit to produce an UNSPEC move to get the double word with the |
| signbit and then a shift directly to do signbit. |
| (signbit<mode>2_dm): Replace old IEEE 128-bit signbit |
| implementation with a new version that just does either a direct |
| move or a regular move. Move memory interface to separate insns. |
| Move insns so they are next to the expander. |
| (signbit<mode>2_dm_mem_be): New combiner insns to combine load |
| with signbit move. Split big and little endian case. |
| (signbit<mode>2_dm_mem_le): Likewise. |
| (signbit<mode>2_dm_<su>ext): Delete, no longer used. |
| (signbit<mode>2_dm2): Likewise. |
| |
| 2018-01-25 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Back port from mainline |
| 2018-01-10 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/83399 |
| * config/rs6000/rs6000.c (print_operand) <'y'>: Use |
| VECTOR_MEM_ALTIVEC_OR_VSX_P. |
| * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use |
| indexed_or_indirect_operand predicate. |
| (*vsx_le_perm_load_<mode> for VSX_W): Likewise. |
| (*vsx_le_perm_load_v8hi): Likewise. |
| (*vsx_le_perm_load_v16qi): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_D): Likewise. |
| (*vsx_le_perm_store_<mode> for VSX_W): Likewise. |
| (*vsx_le_perm_store_v8hi): Likewise. |
| (*vsx_le_perm_store_v16qi): Likewise. |
| (eight unnamed splitters): Likewise. |
| |
| 2018-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store): |
| New function. |
| (rs6000_analyze_swaps): Mark a web unoptimizable if it contains a |
| swap associated with both a load and a store. |
| |
| 2018-01-25 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Increment to 7.3.1. |
| |
| 2018-01-25 Release Manager |
| |
| * GCC 7.3.0 released. |
| |
| 2018-01-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/81443 |
| * rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results |
| from inner REGs to paradoxical SUBREGs. |
| |
| 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| David Edelsohn <dje.gcc@gmail.com> |
| |
| PR target/83946 |
| * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>): |
| Change "crset eq" to "crset 2". |
| (*call_value_indirect_nonlocal_sysv<mode>): Likewise. |
| (*call_indirect_aix<mode>_nospec): Likewise. |
| (*call_value_indirect_aix<mode>_nospec): Likewise. |
| (*call_indirect_elfv2<mode>_nospec): Likewise. |
| (*call_value_indirect_elfv2<mode>_nospec): Likewise. |
| (*sibcall_nonlocal_sysv<mode>): Change "crset eq" to "crset 2"; |
| change assembly output from . to $. |
| (*sibcall_value_nonlocal_sysv<mode>): Likewise. |
| (indirect_jump<mode>_nospec): Change assembly output from . to $. |
| (*tablejump<mode>_internal1_nospec): Likewise. |
| |
| 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/80870 |
| * config/sh/sh_optimize_sett_clrt.cc: |
| Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes. |
| |
| 2018-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for |
| -mspeculate-indirect-jumps. |
| * config/rs6000/rs6000.md (*call_indirect_elfv2<mode>): Disable |
| for -mno-speculate-indirect-jumps. |
| (*call_indirect_elfv2<mode>_nospec): New define_insn. |
| (*call_value_indirect_elfv2<mode>): Disable for |
| -mno-speculate-indirect-jumps. |
| (*call_value_indirect_elfv2<mode>_nospec): New define_insn. |
| (indirect_jump): Emit different RTL for |
| -mno-speculate-indirect-jumps. |
| (*indirect_jump<mode>): Disable for |
| -mno-speculate-indirect-jumps. |
| (*indirect_jump<mode>_nospec): New define_insn. |
| (tablejump): Emit different RTL for |
| -mno-speculate-indirect-jumps. |
| (tablejumpsi): Disable for -mno-speculate-indirect-jumps. |
| (tablejumpsi_nospec): New define_expand. |
| (tablejumpdi): Disable for -mno-speculate-indirect-jumps. |
| (tablejumpdi_nospec): New define_expand. |
| (*tablejump<mode>_internal1): Disable for |
| -mno-speculate-indirect-jumps. |
| (*tablejump<mode>_internal1_nospec): New define_insn. |
| * config/rs6000/rs6000.opt (mspeculate-indirect-jumps): New |
| option. |
| |
| Backport from mainline |
| 2018-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>): |
| Generate different code for -mno-speculate-indirect-jumps. |
| (*call_value_indirect_nonlocal_sysv<mode>): Likewise. |
| (*call_indirect_aix<mode>): Disable for |
| -mno-speculate-indirect-jumps. |
| (*call_indirect_aix<mode>_nospec): New define_insn. |
| (*call_value_indirect_aix<mode>): Disable for |
| -mno-speculate-indirect-jumps. |
| (*call_value_indirect_aix<mode>_nospec): New define_insn. |
| (*sibcall_nonlocal_sysv<mode>): Generate different code for |
| -mno-speculate-indirect-jumps. |
| (*sibcall_value_nonlocal_sysv<mode>): Likewise. |
| |
| 2018-01-17 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-12-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81877 |
| * tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters. |
| (outermost_indep_loop): Adjust. |
| (ref_indep_loop_p_1): Likewise. Remove safelen handling again. |
| (can_sm_ref_p): Adjust. |
| |
| 2017-12-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81782 |
| * tree-ssa-uninit.c (warn_uninitialized_vars): Properly |
| handle accesses outside of zero-sized vars. |
| |
| 2018-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mailine |
| 2018-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/83687 |
| * config/arm/iterators.md (VF): New mode iterator. |
| * config/arm/neon.md (neon_vabd<mode>_2): Use the above. |
| Remove integer-related logic from pattern. |
| (neon_vabd<mode>_3): Likewise. |
| |
| 2018-01-17 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-01-04 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/82352 |
| * ipa-icf.c (sem_function::merge): Do not cross comdat boundary. |
| |
| 2018-01-17 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-01-03 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/83549 |
| * cif-code.def (VARIADIC_THUNK): New enum value. |
| * ipa-inline-analysis.c (compute_inline_parameters): |
| Do not inline variadic thunks. |
| |
| 2018-01-17 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-12-27 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/83552 |
| * tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result |
| of get_string_lenth to a SSA_NAME if not a GIMPLE value. |
| |
| 2018-01-16 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-12-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/83424 |
| * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_expand_prologue): Don't use reference |
| of struct ix86_frame. |
| (ix86_expand_epilogue): Likewise. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow |
| -mcmodel=large with -mindirect-branch=thunk, |
| -mindirect-branch=thunk-extern, -mfunction-return=thunk and |
| -mfunction-return=thunk-extern. |
| * doc/invoke.texi: Document -mcmodel=large is incompatible with |
| -mindirect-branch=thunk, -mindirect-branch=thunk-extern, |
| -mfunction-return=thunk and -mfunction-return=thunk-extern. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (print_reg): Print the name of the full |
| integer register without '%'. |
| (ix86_print_operand): Handle 'V'. |
| * doc/extend.texi: Document 'V' modifier. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/predicates.md (indirect_branch_operand): Rewrite |
| ix86_indirect_branch_register logic. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Update |
| ix86_indirect_branch_register check. Don't check |
| ix86_indirect_branch_register with GOT_memory_operand. |
| (Bw): Likewise. |
| * config/i386/predicates.md (GOT_memory_operand): Don't check |
| ix86_indirect_branch_register here. |
| (GOT32_symbol_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/predicates.md (constant_call_address_operand): |
| Rewrite ix86_indirect_branch_register logic. |
| (sibcall_insn_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Replace |
| ix86_indirect_branch_thunk_register with |
| ix86_indirect_branch_register. |
| (Bw): Likewise. |
| * config/i386/i386.md (indirect_jump): Likewise. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Peepholes of indirect call and jump via memory: Likewise. |
| * config/i386/i386.opt: Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/constraints.md (Bs): Disallow memory operand for |
| -mindirect-branch-register. |
| (Bw): Likewise. |
| * config/i386/predicates.md (indirect_branch_operand): Likewise. |
| (GOT_memory_operand): Likewise. |
| (call_insn_operand): Likewise. |
| (sibcall_insn_operand): Likewise. |
| (GOT32_symbol_operand): Likewise. |
| * config/i386/i386.md (indirect_jump): Call convert_memory_address |
| for -mindirect-branch-register. |
| (tablejump): Likewise. |
| (*sibcall_memory): Likewise. |
| (*sibcall_value_memory): Likewise. |
| Disallow peepholes of indirect call and jump via memory for |
| -mindirect-branch-register. |
| (*call_pop): Replace m with Bw. |
| (*call_value_pop): Likewise. |
| (*sibcall_pop_memory): Replace m with Bs. |
| * config/i386/i386.opt (mindirect-branch-register): New option. |
| * doc/invoke.texi: Document -mindirect-branch-register option. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/83839 |
| * config/i386/i386.c (output_indirect_thunk_function): Use |
| ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO |
| for __x86.return_thunk. |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-protos.h (ix86_output_function_return): New. |
| * config/i386/i386.c (ix86_set_indirect_branch_type): Also |
| set function_return_type. |
| (indirect_thunk_name): Add ret_p to indicate thunk for function |
| return. |
| (output_indirect_thunk_function): Pass false to |
| indirect_thunk_name. |
| (ix86_output_indirect_branch_via_reg): Likewise. |
| (ix86_output_indirect_branch_via_push): Likewise. |
| (output_indirect_thunk_function): Create alias for function |
| return thunk if regno < 0. |
| (ix86_output_function_return): New function. |
| (ix86_handle_fndecl_attribute): Handle function_return. |
| (ix86_attribute_table): Add function_return. |
| * config/i386/i386.h (machine_function): Add |
| function_return_type. |
| * config/i386/i386.md (simple_return_internal): Use |
| ix86_output_function_return. |
| (simple_return_internal_long): Likewise. |
| * config/i386/i386.opt (mfunction-return=): New option. |
| (indirect_branch): Mention -mfunction-return=. |
| * doc/extend.texi: Document function_return function attribute. |
| * doc/invoke.texi: Document -mfunction-return= option. |
| |
| 2018-01-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-01-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386-opts.h (indirect_branch): New. |
| * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise. |
| * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone |
| with local indirect jump when converting indirect call and jump. |
| (ix86_set_indirect_branch_type): New. |
| (ix86_set_current_function): Call ix86_set_indirect_branch_type. |
| (indirectlabelno): New. |
| (indirect_thunk_needed): Likewise. |
| (indirect_thunk_bnd_needed): Likewise. |
| (indirect_thunks_used): Likewise. |
| (indirect_thunks_bnd_used): Likewise. |
| (INDIRECT_LABEL): Likewise. |
| (indirect_thunk_name): Likewise. |
| (output_indirect_thunk): Likewise. |
| (output_indirect_thunk_function): Likewise. |
| (ix86_output_indirect_branch_via_reg): Likewise. |
| (ix86_output_indirect_branch_via_push): Likewise. |
| (ix86_output_indirect_branch): Likewise. |
| (ix86_output_indirect_jmp): Likewise. |
| (ix86_code_end): Call output_indirect_thunk_function if needed. |
| (ix86_output_call_insn): Call ix86_output_indirect_branch if |
| needed. |
| (ix86_handle_fndecl_attribute): Handle indirect_branch. |
| (ix86_attribute_table): Add indirect_branch. |
| * config/i386/i386.h (machine_function): Add indirect_branch_type |
| and has_local_indirect_jump. |
| * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump |
| to true. |
| (tablejump): Likewise. |
| (*indirect_jump): Use ix86_output_indirect_jmp. |
| (*tablejump_1): Likewise. |
| (simple_return_indirect_internal): Likewise. |
| * config/i386/i386.opt (mindirect-branch=): New option. |
| (indirect_branch): New. |
| (keep): Likewise. |
| (thunk): Likewise. |
| (thunk-inline): Likewise. |
| (thunk-extern): Likewise. |
| * doc/extend.texi: Document indirect_branch function attribute. |
| * doc/invoke.texi: Document -mindirect-branch= option. |
| |
| 2018-01-16 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/81481 |
| * ira-costs.c (scan_one_insn): Don't take into account PIC equiv |
| with a symbol for LRA. |
| |
| 2018-01-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2018-01-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/83629 |
| * config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b, |
| load_toc_v4_PIC_3c): Wrap const term in CONST RTL. |
| |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| PR target/83330 |
| * config/i386/i386.c (ix86_function_arg_advance): Set |
| outgoing_args_on_stack to true if there are outgoing arguments |
| on stack. |
| (ix86_function_arg): Likewise. |
| (ix86_compute_frame_layout): Align stack frame if argument is |
| passed on stack. |
| * config/i386/i386.h (machine_function): Add |
| outgoing_args_on_stack. |
| |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| * config/i386/i386.c (ix86_expand_prologue): Use reference of |
| struct ix86_frame. |
| (ix86_expand_epilogue): Likewise. |
| |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2017-11-06 H.J. Lu <hongjiu.lu@intel.com> |
| |
| * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference |
| of struct ix86_frame. |
| (ix86_initial_elimination_offset): Likewise. |
| (ix86_expand_split_stack_prologue): Likewise. |
| |
| 2018-01-15 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2017-06-01 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * config/i386/i386.c (ix86_frame): Moved to ... |
| * config/i386/i386.h (ix86_frame): Here. |
| (machine_function): Add frame. |
| * config/i386/i386.c (ix86_compute_frame_layout): Repace the |
| frame argument with &cfun->machine->frame. |
| (ix86_can_use_return_insn_p): Don't pass &frame to |
| ix86_compute_frame_layout. Copy frame from cfun->machine->frame. |
| (ix86_can_eliminate): Likewise. |
| (ix86_expand_prologue): Likewise. |
| (ix86_expand_epilogue): Likewise. |
| (ix86_expand_split_stack_prologue): Likewise. |
| |
| 2018-01-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/83677 |
| * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal): |
| Reverse order of second and third operands in first alternative. |
| * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order |
| of first and second elements in UNSPEC_VPERMR vector. |
| (altivec_expand_vec_perm_le): Likewise. |
| |
| 2018-01-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2018-01-12 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/83628 |
| * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern. |
| (*saddl_se_1): Ditto. |
| (*ssubsi_1): Ditto. |
| (*ssubl_se_1): Ditto. |
| |
| Backport from mainline |
| 2018-01-09 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/83628 |
| * combine.c (force_int_to_mode) <case ASHIFT>: Use mode instead of |
| op_mode in the force_to_mode call. |
| |
| 2018-01-12 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-12 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/81819 |
| * config/rx/rx.c (rx_is_restricted_memory_address): |
| Handle SUBREG case. |
| |
| 2018-01-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/83565 |
| * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do |
| not extend the result to a larger mode for rotate operations. |
| (num_sign_bit_copies1): Likewise. |
| |
| 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2018-01-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR bootstrap/81926 |
| * cgraphunit.c (symbol_table::compile): Switch to text_section |
| before calling assembly_start debug hook. |
| |
| 2018-01-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-01-11 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/81821 |
| * config/rx/rx.md (BW): New mode attribute. |
| (sync_lock_test_and_setsi): Add mode suffix to insn output. |
| |
| 2018-01-09 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-01-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/83713 |
| * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks. |
| |
| 2018-01-08 Jim Wilson <jimw@sifive.com> |
| |
| Backport from mainline |
| 2018-01-08 Monk Chiang <sh.chiang04@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/riscv/riscv.c (machine_function::is_leaf): Remove field. |
| (riscv_leaf_function_p): Delete. |
| (riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE. |
| |
| 2018-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2017-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/82975 |
| * config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830. |
| |
| 2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backported from mainline |
| 2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration. |
| * config/epiphany/rtems.h: New file. |
| |
| 2018-01-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/83628 |
| * config/alpha/alpha.md (*sadd<modesuffix>): Use ASHIFT |
| instead of MULT rtx. Update all corresponding splitters. |
| (*saddl_se): Ditto. |
| (*ssub<modesuffix>): Ditto. |
| (*ssubl_se): Ditto. |
| (*cmp_sadd_di): Update split patterns. |
| (*cmp_sadd_si): Ditto. |
| (*cmp_sadd_sidi): Ditto. |
| (*cmp_ssub_di): Ditto. |
| (*cmp_ssub_si): Ditto. |
| (*cmp_ssub_sidi): Ditto. |
| * config/alpha/predicates.md (const23_operand): New predicate. |
| * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]: |
| Look for ASHIFT, not MULT inner operand. |
| (alpha_split_conditional_move): Update for *sadd<modesuffix> change. |
| |
| 2018-01-02 Andrew Waterman <andrew@sifive.com> |
| |
| * config/riscv/linux.h (ICACHE_FLUSH_FUNC): New. |
| * config/riscv/riscv.md (clear_cache): Use it. |
| |
| 2018-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/83608 |
| * expr.c (store_expr_with_bounds): Use simplify_gen_subreg instead of |
| convert_modes if target mode has the right side, but different mode |
| class. |
| |
| PR middle-end/83609 |
| * expr.c (expand_assignment): Fix up a typo in simplify_gen_subreg |
| last argument when extracting from CONCAT. If either from_real or |
| from_imag is NULL, use expansion through memory. If result is not |
| a CONCAT and simplify_gen_subreg fails, try to simplify_gen_subreg |
| the parts directly to inner mode, if even that fails, use expansion |
| through memory. |
| |
| PR middle-end/83623 |
| * expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT, |
| check for bswap in mode rather than HImode and use that in expand_unop |
| too. |
| |
| 2017-12-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/83553 |
| * fold-const.c (struct contains_label_data): New type. |
| (contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless |
| inside of a SWITCH_BODY seen during the walk. |
| (contains_label_p): Use walk_tree instead of |
| walk_tree_without_duplicates, prepare data for contains_label_1 and |
| provide own pset. |
| |
| 2017-12-22 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/82027 |
| * lto-cgraph.c (output_cgraph_opt_summary_p): Also check former |
| clones. |
| |
| 2017-12-22 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-12-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/83448 |
| * gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index |
| if navail is >= dir.len. |
| |
| PR rtl-optimization/80747 |
| PR rtl-optimization/83512 |
| * cfgrtl.c (force_nonfallthru_and_redirect): When splitting |
| succ edge from ENTRY, copy partition from e->dest to the newly |
| created bb. |
| * bb-reorder.c (reorder_basic_blocks_simple): If last_tail is |
| ENTRY, use BB_PARTITION of its successor block as current_partition. |
| Don't copy partition when splitting succ edge from ENTRY. |
| |
| PR tree-optimization/83523 |
| * tree-ssa-math-opts.c (is_widening_mult_p): Return false if |
| for INTEGER_TYPE TYPE_OVERFLOW_TRAPS. |
| (convert_mult_to_fma): Likewise. |
| |
| PR tree-optimization/83521 |
| * tree-ssa-phiopt.c (factor_out_conditional_conversion): Use |
| gimple_build_assign without code on result of |
| fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create |
| a VIEW_CONVERT_EXPR. |
| |
| 2017-12-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR ipa/82801 |
| PR ipa/83346 |
| * ipa-inline.c (flatten_remove_node_hook): New function. |
| (ipa_inline): Keep only nodes with flatten attribute at the end of |
| the array in the order from ipa_reverse_postorder, only walk that |
| portion of array for flattening, if there is more than one such |
| node, temporarily register a removal hook and ignore removed nodes. |
| |
| 2017-12-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/83467 |
| * config/i386/i386.md (*ashl<mode>3_mask): Add operand |
| constraints to operand 2. |
| (*<shift_insn><mode>3_mask): Ditto. |
| (*<rotate_insn><mode>3_mask): Ditto. |
| |
| 2017-12-19 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline |
| 2017-11-15 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/82726 |
| PR tree-optimization/70754 |
| * tree-predcom.c (order_drefs_by_pos): New function. |
| (combine_chains): Move code setting has_max_use_after to... |
| (try_combine_chains): ...here. New parameter. Sort combined chains |
| according to position information. |
| (tree_predictive_commoning_loop): Update call to above function. |
| (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New. |
| |
| 2017-11-15 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/82726 |
| Revert |
| 2017-01-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/70754 |
| * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE. |
| (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert |
| combined stmt before it if not NULL. |
| (combine_chains): Process refs reversely and compute dominance point |
| for root ref. |
| |
| Revert |
| 2017-02-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/79663 |
| * tree-predcom.c (combine_chains): Process refs in reverse order |
| only for ZERO length chains, and add explaining comment. |
| |
| 2017-12-19 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-12-19 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| PR target/83387 |
| * config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float |
| multilib. |
| |
| 2017-12-19 Daniel Cederman <cederman@gaisler.com> |
| |
| Backport from mainline |
| 2017-12-19 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure |
| the jump is to a label. |
| |
| 2017-12-17 John David Anglin <danglin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-12-03 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing, |
| require base operand is a REG_POINTER prior to reload on targets |
| with non-equivalent space registers. |
| |
| 2017-12-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/83269 |
| * fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A |
| subtraction in arg0's type if type is signed and arg0 is unsigned. |
| Formatting fix. |
| |
| Backported from mainline |
| 2017-12-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/83198 |
| * gimple-ssa-sprintf.c (format_floating): Set type solely based on |
| dir.modifier, regardless of TREE_TYPE (arg). Assume non-REAL_CST |
| value if arg is a REAL_CST with incompatible type. |
| |
| 2017-12-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80631 |
| * tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo. |
| (vect_create_epilog_for_reduction): Add INDUC_VAL argument, for |
| INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of |
| hardcoding zero as the value if COND_EXPR is never true. For |
| INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if |
| INDUC_VAL is equal to INITIAL_DEF. |
| (vectorizable_reduction): Compute INDUC_VAL for |
| vect_create_epilog_for_reduction, if no value is suitable, don't |
| use INTEGER_INDUC_COND_REDUCTION for now. Formatting fixes. |
| |
| 2017-12-08 Joseph Myers <joseph@codesourcery.com> |
| Alexander Monakov <amonakov@ispras.ru> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81906 |
| * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math. |
| |
| 2017-12-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/81212 |
| * tree-cfg.c (pass_warn_function_return::execute): Handle |
| __builtin_ubsan_handle_missing_return like __builtin_unreachable |
| with BUILTINS_LOCATION. |
| |
| PR target/78643 |
| PR target/80583 |
| * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield |
| is BLKmode for vector field with vector raw mode, use TYPE_MODE |
| instead of DECL_MODE. |
| |
| 2017-11-29 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80819 |
| * config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm) |
| alternative. |
| |
| 2017-11-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/81553 |
| * combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z) |
| to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP |
| is a shift where C1 has different mode than the whole shift, use C1's |
| mode for MULT rather than the shift's mode. |
| |
| 2017-11-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/83014 |
| * ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer |
| instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling |
| tree_to_uhwi twice. |
| |
| * tree-object-size.c (pass_through_call): Do not handle |
| BUILT_IN_STPNCPY_CHK which is not a pass through call. |
| |
| 2017-11-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/82253 |
| * expr.c (expand_assignment): For CONCAT to_rtx, complex type from and |
| bitpos/bitsize covering the whole destination, use store_expr only if |
| the complex mode is the same. Otherwise, use expand_normal and if |
| it returns CONCAT, subreg each part separately instead of trying to |
| subreg the whole result. |
| |
| 2017-11-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/83084 |
| * valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset |
| debug insns if they would contain UNSPEC_VOLATILE or volatile asm. |
| (dead_debug_insert_temp): Likewise, but also ignore even non-volatile |
| asm. |
| |
| 2017-11-21 James Cowgill <James.Cowgill@imgtec.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82880 |
| * config/mips/frame-header-opt.c (mips_register_frame_header_opt): |
| Remove static keyword from f variable. |
| |
| 2017-12-15 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/83439 |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Adjust remaining gimple_set_modified to use the modified |
| variable instead. |
| |
| 2017-12-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/66488 |
| * ggc-page.c (HOST_BITS_PER_PTR): Do not define here... |
| * hwint.h (HOST_BITS_PER_PTR): ...but here instead. |
| * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete. |
| |
| 2017-12-15 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| PR tree-optimization/82060 |
| * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): |
| Move devirtualization after stmt folding and before EH/AB/noreturn |
| cleanup to get the stmt refs canonicalized. Use a bool instead |
| of gimple_modified_p since that doesn't work for NOPs. Schedule |
| NOPs generated by folding for removal. |
| |
| 2017-12-15 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-05 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82102 |
| * tree-ssa-pre.c (eliminate): Check if lhs is NULL. |
| |
| 2017-09-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/82128 |
| * gimple-fold.c (gimple_fold_call): Update SSA name in-place to |
| default-def to avoid breaking iterator update with the weird |
| interaction with cgraph_update_edges_for_call_stmt_node. |
| |
| 2017-12-15 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-11-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82402 |
| * tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly |
| set SSA_NAME_OCCURS_IN_ABNORMAL_PHI. |
| |
| 2017-10-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82697 |
| * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set |
| zero for conditional load and unconditional store. |
| |
| 2017-11-02 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/82765 |
| * varasm.c (decode_addr_const): Make offset HOST_WIDE_INT. |
| Truncate ARRAY_REF index and element size. |
| |
| 2017-11-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82902 |
| * tree-ssa-phiprop.c (propagate_with_phi): Test proper type. |
| |
| 2017-12-14 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-10-02 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80210 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite |
| function to not use the have_cpu variable. Do not set cpu_index, |
| rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT |
| or the default cpu. |
| (rs6000_valid_attribute_p): Remove duplicate initializations of |
| old_optimize and func_optimize. |
| (rs6000_pragma_target_parse): Call rs6000_activate_target_options (). |
| (rs6000_activate_target_options): Make global. |
| * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add |
| prototype. |
| |
| 2017-12-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-12-13 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define. |
| * config/rs6000/rs6000.c (cpu_supports_info): Use it. |
| |
| 2017-12-11 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-12-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81959 |
| * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for |
| whether we can allocate pseudos before trying to fix an address. |
| * config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the |
| memory address is indexed or indirect. |
| (floatuns_<mode>si2_hw2): Likewise. |
| |
| 2017-12-11 Sudakshina Das <sudi.das@arm.com> |
| |
| Backported from trunk |
| 2017-12-01 Sudakshina Das <sudi.das@arm.com> |
| |
| * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute. |
| |
| 2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from trunk |
| 2017-05-08 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/80101 |
| * config/rs6000/power6.md: Replace store_data_bypass_p calls with |
| rs6000_store_data_bypass_p in seven define_bypass directives and |
| in several comments. |
| * config/rs6000/rs6000-protos.h: Add prototype for |
| rs6000_store_data_bypass_p function. |
| * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New |
| function implements slightly different (rs6000-specific) semantics |
| than store_data_bypass_p, returning false rather than aborting |
| with assertion error when arguments do not satisfy the |
| requirements of store data bypass. |
| (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with |
| rs6000_store_data_bypass_p. |
| |
| 2017-12-06 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Revert |
| 2017-11-29 Martin Aberg <maberg@gaisler.com> |
| |
| * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length |
| to prevent b2bst errata sequence. |
| (sqrtdf2_fix): Likewise. |
| |
| 2017-12-05 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2017-12-05 Max Filippov <jcmvbkbc@gmail.com> |
| * config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New |
| function. |
| (TARGET_ASAN_SHADOW_OFFSET): New macro definition. |
| * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if |
| ASAN is enabled. |
| |
| 2017-12-05 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2017-05-08 Max Filippov <jcmvbkbc@gmail.com> |
| * config/xtensa/xtensa-protos.h |
| (xtensa_initial_elimination_offset): New declaration. |
| * config/xtensa/xtensa.c (xtensa_initial_elimination_offset): |
| New function. Move its body from the INITIAL_ELIMINATION_OFFSET |
| macro definition, add case for FRAME_POINTER_REGNUM when |
| FRAME_GROWS_DOWNWARD. |
| * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro |
| definition. |
| (INITIAL_ELIMINATION_OFFSET): Replace body with call to |
| xtensa_initial_elimination_offset. |
| |
| 2017-12-04 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref |
| instead of MEM_P in a couple more places. Fix formatting issues. |
| |
| 2017-12-04 Sebastian Peryt <sebastian.peryt@intel.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| |
| Bakcported from trunk |
| PR target/82941 |
| PR target/82942 |
| PR target/82990 |
| * config/i386/i386.c (pass_insert_vzeroupper): Remove |
| TARGET_AVX512F check from gate condition. |
| (ix86_check_avx256_register): Changed to ... |
| (ix86_check_avx_upper_register): ... this. Add extra check for |
| VALID_AVX512F_REG_OR_XI_MODE. |
| (ix86_avx_u128_mode_needed): Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_check_avx256_stores): Changed to ... |
| (ix86_check_avx_upper_stores): ... this. Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_avx_u128_mode_after): Changed |
| avx_reg256_found to avx_upper_reg_found. Changed |
| ix86_check_avx256_stores to ix86_check_avx_upper_stores. |
| (ix86_avx_u128_mode_entry): Changed |
| ix86_check_avx256_register to ix86_check_avx_upper_register. |
| (ix86_avx_u128_mode_exit): Ditto. |
| (ix86_option_override_internal): Set MASK_VZEROUPPER if |
| neither -mzeroupper nor -mno-zeroupper is used and |
| TARGET_EMIT_VZEROUPPER is set. |
| * config/i386/i386.h: (host_detect_local_cpu): New define. |
| (TARGET_EMIT_VZEROUPPER): New. |
| * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER |
| |
| 2017-12-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-28 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR 81288/target |
| * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle |
| TARGET_ISEL && !TARGET_MFCRF differently. Simplify code. |
| |
| 2017-11-30 Jim Wilson <jimw@sifive.com> |
| |
| Backport from mainline |
| 2017-11-30 Jim Wilson <jimw@sifive.com> |
| * doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and |
| -mno-memcpy options. For -mplt, -mfdiv, -mdiv, -msave-restore, and |
| -mstrict-align, add info on default value. Delete redundant lines for |
| -mabi. Add missing -mexplicit-relocs docs. |
| |
| Backport from mainline |
| 2017-11-01 Palmer Dabbelt <palmer@dabbelt.com> |
| * doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB". |
| * doc/invoke.texi (RISC-V Options): Explicitly name the medlow |
| and medany code models, and describe what they do. |
| |
| 2017-10-27 Palmer Dabbelt <palmer@dabbelt.com> |
| PR target/82717 |
| * doc/invoke.texi (RISC-V) <-mabi>: Correct and improve. |
| |
| 2017-11-29 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/82808 |
| * tree.c (expr_type_first_operand_type_p): New function. |
| * tree.h (expr_type_first_operand_type_p): Declare it. |
| * ipa-cp.c (ipa_get_jf_pass_through_result): Use it. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the |
| movsi_pic_gotdata_op instruction as a load for the UT699 errata |
| workaround. |
| |
| 2017-11-29 Martin Aberg <maberg@gaisler.com> |
| |
| * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length |
| to prevent b2bst errata sequence. |
| (sqrtdf2_fix): Likewise. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (fpop_reg_depend_p): New function. |
| (div_sqrt_insn_p): New function. |
| (sparc_do_work_around_errata): Insert NOP instructions to |
| prevent sequences that could trigger the TN-0013 errata for |
| certain LEON3 processors. |
| (pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt. |
| (sparc_option_override): Set sparc_fix_lost_divsqrt appropriately. |
| * config/sparc/sparc.md (fix_lost_divsqrt): New attribute. |
| (in_branch_delay): Prevent div and sqrt in delay slot if |
| fix_lost_divsqrt. |
| * config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (atomic_insn_p): New function. |
| (sparc_do_work_around_errata): Insert NOP instructions to |
| prevent sequences that could trigger the TN-0010 errata for |
| UT700. |
| * config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make |
| instruction referable in atomic_insns_p. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc. |
| (atomic_compare_and_swap_leon3_1): Likewise. |
| (ldstub): Likewise. |
| |
| 2017-11-29 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.c (fpop_insn_p): New function. |
| (sparc_do_work_around_errata): Insert NOP instructions to |
| prevent sequences that could trigger the TN-0012 errata for |
| GR712RC. |
| (pass_work_around_errata::gate): Also test sparc_fix_gr712rc. |
| * config/sparc/sparc.md (fix_gr712rc): New attribute. |
| (in_branch_annul_delay): Prevent floating-point instructions |
| in delay slot of annulled integer branch. |
| |
| 2017-11-28 Jim Wilson <jimw@sifive.com> |
| |
| Backport from mainline |
| 2017-11-04 Andrew Waterman <andrew@sifive.com> |
| |
| * config/riscv/riscv.c (riscv_option_override): Conditionally set |
| TARGET_STRICT_ALIGN based upon -mtune argument. |
| |
| Backport from mainline |
| 2017-05-04 Andrew Waterman <andrew@sifive.com> |
| |
| * config/riscv/riscv.opt (mstrict-align): New option. |
| * config/riscv/riscv.h (STRICT_ALIGNMENT): Use it. Update comment. |
| (SLOW_UNALIGNED_ACCESS): Define. |
| (riscv_slow_unaligned_access): Declare. |
| * config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access |
| field. |
| (riscv_slow_unaligned_access): New variable. |
| (rocket_tune_info): Set slow_unaligned_access to true. |
| (optimize_size_tune_info): Set slow_unaligned_access to false. |
| (riscv_cpu_info_table): Add entry for optimize_size_tune_info. |
| (riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN. |
| (riscv_option_override): Set riscv_slow_unaligned_access. |
| * doc/invoke.texi: Add -mstrict-align to RISC-V. |
| |
| Backport from mainline |
| 2017-11-07 Michael Clark <michaeljclark@mac.com> |
| |
| * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define. |
| (MUSL_DYNAMIC_LINKER): Likewise. |
| |
| 2017-11-27 Jim Wilson <jimw@sifive.com> |
| |
| Backport from mainline |
| 2017-10-25 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define. |
| * config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s, |
| mark as a sign-extending load. |
| (local_pic_load_u): Define. |
| |
| Backport from mainline |
| 2017-11-03 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/riscv/riscv.c (riscv_legitimize_move): Handle |
| non-legitimate address. |
| |
| 2017-11-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/82621 |
| * combine.c (try_combine): Do not split PARALLELs of two SETs if the |
| dest of one of those SETs is unused. |
| |
| 2017-11-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-11-23 Oleg Endo <olegendo@gcc.gnu.org> |
| |
| PR target/83111 |
| * config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel, |
| sibcall_value_pcrel_fdpic): Use local variable instead of |
| operands[3]. |
| (calli_tbr_rel): Add missing operand 2. |
| (call_valuei_tbr_rel): Add missing operand 3. |
| |
| 2017-11-22 Richard Biener <rguenther@suse.de> |
| |
| Revert |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/82044 |
| PR tree-optimization/82042 |
| * dse.c (check_mem_read_rtx): Check for overflow. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-27 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/82457 |
| * doc/invoke.texi: Document that one needs a non-strict ISO mode |
| for fork-like functions to be properly instrumented. |
| |
| 2017-11-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| Backport from mainline |
| 2017-11-21 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/ppc-asm.h (f50, vs50): Fix values. |
| |
| 2017-11-21 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2017-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.c (output_return_instruction): Add comments to |
| indicate requirement for cmse_nonsecure_entry return to account |
| for the size of clearing instruction output here. |
| (thumb_exit): Likewise. |
| * config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for |
| return in hardfloat mode. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/82044 |
| PR tree-optimization/82042 |
| * dse.c (check_mem_read_rtx): Check for overflow. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-11-08 Martin Liska <mliska@suse.cz> |
| |
| * gimplify.c (expand_FALLTHROUGH_r): Simplify usage |
| of gimple_call_internal_p. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-11-08 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/82792 |
| * gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-31 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/82633 |
| * doc/gcov.texi: Document -fkeep-{static,inline}-functions and |
| their interaction with GCOV infrastructure. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-19 Martin Liska <mliska@suse.cz> |
| |
| PR driver/81829 |
| * file-find.c (remove_prefix): Remove. |
| * file-find.h (remove_prefix): Likewise. |
| * gcc-ar.c: Remove smartness of lookup. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-18 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/82545 |
| * asan.c (asan_expand_poison_ifn): Do not put gimple stmt |
| on an abnormal edge. |
| |
| 2017-11-21 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-10-11 Martin Liska <mliska@suse.cz> |
| |
| * print-rtl.c (print_insn): Move declaration of idbuf |
| to same scope as name. |
| |
| 2017-11-21 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| Backport from mainline |
| 2017-11-17 Vineet Gupta <vgupta@synopsys.com> |
| |
| * config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc |
| upstreaming review comments. |
| |
| 2017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since |
| Solaris 11. Update comment. |
| * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12 |
| renaming. |
| * config/sol2.h (STARTFILE_SPEC): Likewise. |
| * configure: Regenerate. |
| |
| 2017-11-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-09-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/77687 |
| * config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch |
| address instead of to r1 and r11. |
| |
| 2017-11-17 Vineet Gupta <vgupta@synopsys.com> |
| |
| * config.gcc: Remove uclibc from arc target spec. |
| |
| 2017-11-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop |
| explicitly as a stream of bytes. |
| |
| 2017-11-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82985 |
| Backport from mainline |
| 2017-08-15 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81790 |
| * tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both |
| CONSTRUCTORs from simplifying and VN. |
| |
| 2017-11-15 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| Backport from mainline |
| 2017-09-25 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| PR debug/82155 |
| * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl |
| on the FUNCTION_DECL function context if it has a DIE that is a |
| declaration. |
| |
| 2017-11-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| Backport from mainline |
| 2017-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler |
| supports -xbrace_comment option. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define. |
| (ASM_CPU_SPEC): Use it. |
| |
| 2017-11-09 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from mainline |
| 2017-11-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/64682 |
| PR rtl-optimization/69567 |
| PR rtl-optimization/69737 |
| PR rtl-optimization/82683 |
| * combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same |
| register mentioned in the note, drop the note, unless it came from I3, |
| in which case it should go to I3 again. |
| |
| 2017-11-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| Backport from mainline |
| 2017-10-31 Matthew Fortune <matthew.fortune@imgtec.com> |
| Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/81803 |
| * lra-constraints.c (curr_insn_transform): Also reload the whole |
| register for a strict subreg no wider than a word if this is for |
| a WORD_REGISTER_OPERATIONS target. |
| |
| 2017-11-03 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR middle-end/60580 |
| * config/aarch64/aarch64.c (aarch64_frame_pointer_required) |
| Check special value of flag_omit_frame_pointer. |
| (aarch64_can_eliminate): Likewise. |
| (aarch64_override_options_after_change_1): Simplify handling of |
| -fomit-frame-pointer and -fomit-leaf-frame-pointer. |
| |
| 2017-11-01 Martin Jambor <mjambor@suse.cz> |
| |
| PR c++/81702 |
| * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert. |
| |
| 2017-10-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/82772 |
| * config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM". |
| |
| 2017-10-27 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-10-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/82159 |
| * expr.c (store_field): Don't optimize away bitsize == 0 store |
| from CALL_EXPR with addressable return type. |
| |
| 2017-09-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81715 |
| * tree-inline.c (expand_call_inline): Emit clobber stmts for |
| VAR_DECLs to which addressable non-volatile parameters are mapped |
| and for id->retvar after the return value assignment, though |
| for -fsanitize=kernel-address only. Clear id->retval and id->retbnd |
| after inlining. |
| |
| 2017-09-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/82234 |
| * doc/extend.texi: Add @findex entry for __builtin_shuffle. |
| |
| 2017-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/82192 |
| * combine.c (make_extraction): Don't look through non-paradoxical |
| SUBREGs or TRUNCATE if pos + len is or might be bigger than |
| inner's mode. |
| |
| 2017-10-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82703 |
| * config/i386/i386-protos.h (maybe_get_pool_constant): Removed. |
| * config/i386/i386.c (maybe_get_pool_constant): Removed. |
| (ix86_split_to_parts): Use avoid_constant_pool_reference instead of |
| maybe_get_pool_constant. |
| * config/i386/predicates.md (zero_extended_scalar_load_operand): |
| Likewise. |
| |
| 2017-10-24 Qing Zhao <qing.zhao@oracle.com> |
| Wilco Dijkstra <wilco.dijkstra@arm.com> |
| |
| * builtins.c (expand_builtin_update_setjmp_buf): Add a |
| converstion to Pmode from the buf_addr. |
| |
| 2017-10-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82603 |
| * tree-if-conv.c (predicate_mem_writes): Make sure to only |
| remove false predicated stores. |
| |
| 2017-10-20 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-10-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82436 |
| * tree-vect-slp.c (vect_supported_load_permutation_p): More |
| conservatively choose the vectorization factor when checking |
| whether we can perform the required load permutation. |
| (vect_transform_slp_perm_load): Assert when we may not fail. |
| |
| 2017-10-19 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/82445 |
| * config/arm/arm.c (align_ok_ldrd_strd): New function. |
| (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of |
| the mem into it. |
| (gen_operands_ldrd_strd): Validate the alignment of the accesses. |
| |
| 2017-10-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/82602 |
| * ira.c (rtx_moveable_p): Return false for volatile asm. |
| |
| 2017-10-18 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR middle-end/82556 |
| * lra-constraints.c (curr_insn_transform): Use non-input operand |
| instead of output one for matched reload. |
| |
| 2017-10-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/82549 |
| * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1): |
| Formatting fixes. Instead of calling make_bit_field_ref with negative |
| bitpos return 0. |
| |
| 2017-10-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82274 |
| * internal-fn.c (expand_mul_overflow): If both operands have |
| the same highpart of -1 or 0 and the topmost bit of lowpart |
| is different, overflow is if res <= 0 rather than res < 0. |
| |
| PR target/82524 |
| * config/i386/i386.md (addqi_ext_1, andqi_ext_1, |
| *andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change |
| =Q constraints to +Q and into insn condition add check |
| that operands[0] and operands[1] are equal. |
| (*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change |
| =Q constraints to +Q and into insn condition add check |
| that operands[0] is equal to either operands[1] or operands[2]. |
| |
| 2017-10-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| Backported from mainline r253602 |
| 2017-10-10 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config.gcc: (armv7*-*-freebsd*): New target. |
| (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define. |
| |
| 2017-10-06 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from mainline r253242. |
| 2017-09-27 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/71727 |
| * config/aarch64/aarch64.c |
| (aarch64_builtin_support_vector_misalignment): Always return false |
| when misalignment is unknown. |
| |
| 2017-10-04 Jason Merrill <jason@redhat.com> |
| |
| PR c++/82406 - C++ error with noexcept function type |
| PR c++/70029 - ICE with ref-qualifier and -flto |
| * langhooks.h (struct lang_hooks_for_types): Add |
| copy_lang_qualifiers. |
| * attribs.c (build_type_attribute_qual_variant): Use it. |
| * langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to |
| NULL. |
| (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it. |
| * tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check. |
| |
| 2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/82337 |
| * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a |
| phi definition if the PHI result appears in an abnormal PHI. |
| (find_basis_for_base_expr): Don't record a basis if the LHS of the |
| basis appears in an abnormal PHI. |
| |
| 2017-09-30 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c (ix86_split_idivmod): Use mode instead of |
| always SImode for DIV and MOD in REG_EQUAL notes. |
| |
| Backported from mainline |
| 2017-09-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/82159 |
| * gimplify.c (gimplify_modify_expr): Don't optimize away zero sized |
| lhs from calls if the lhs has addressable type. |
| |
| 2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com> |
| |
| Backport from mainline |
| 2017-06-29 Maya Rashish <coypu@sdf.org> |
| |
| PR target/77480 |
| * config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared |
| objects. |
| |
| 2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com> |
| |
| Backport from mainline |
| 2017-09-26 Krister Walfridsson <krister.walfridsson@gmail.com> |
| |
| PR target/39570 |
| * gcc/config/netbsd-protos.h: New file. |
| * gcc/config/netbsd.c: New file. |
| * gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define. |
| * gcc/config/t-netbsd: New file. |
| * gcc/config.gcc (tm_p_file): Add netbsd-protos.h. |
| (tmake_file) Add t-netbsd. |
| (extra_objs) Add netbsd.o. |
| |
| 2017-09-28 Krister Walfridsson <krister.walfridsson@gmail.com> |
| |
| Backport from mainline |
| 2017-05-14 Krister Walfridsson <krister.walfridsson@gmail.com> |
| |
| PR target/80600 |
| * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc. |
| |
| 2017-09-27 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| Backport from trunk r249639. |
| 2017-06-26 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * doc/sourcebuild.texi (ARM-specific attributes): Document new |
| arm_neon_ok_no_float_abi effective target. |
| |
| 2017-09-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82244 |
| * tree-vrp.c (remove_range_assertions): Do not propagate |
| a constant to abnormals but replace the assert with a copy. |
| |
| 2017-09-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82276 |
| PR tree-optimization/82244 |
| * tree-vrp.c (build_assert_expr_for): Set |
| SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on |
| has it set. |
| (remove_range_assertions): Revert earlier change. |
| |
| 2017-09-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82264 |
| * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check |
| for GIMPLE_CONDs. |
| (vn_phi_lookup): Likewise. |
| (vn_phi_insert): Likewise. |
| * is-a.h (safe_dyn_cast): New. |
| |
| 2017-09-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82285 |
| * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle |
| enumeral types. |
| |
| 2017-09-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82291 |
| * tree-if-conv.c (predicate_mem_writes): Make sure to |
| remove writes in blocks predicated with false. |
| |
| 2017-09-21 Alan Modra <amodra@gmail.com> |
| |
| PR target/81996 |
| * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use |
| stack_pointer_rtx for count 0. Update comments. Break up |
| large rtl expression. |
| |
| 2017-09-21 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/71951 |
| * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define. |
| |
| 2017-09-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H |
| to processor_model and "amdfam17h" to arch_names_table. |
| * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * config/i386/i386.c (sorted_attr_string): Skip empty strings. |
| |
| 2017-09-19 Martin Liska <mliska@suse.cz> |
| |
| Revert backport: |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-18 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-09-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82084 |
| * fold-const.h (can_native_encode_string_p): Declare. |
| * fold-const.c (can_native_encode_string_p): Factor out from ... |
| (native_encode_string): ... here. |
| * tree-vect-stmts.c (vectorizable_store): Call it to avoid |
| vectorizing stores from constants we later cannot handle. |
| |
| 2017-09-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/82108 |
| * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment |
| for gap in the non-permutation SLP case. |
| |
| 2017-09-15 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-09-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81325 |
| * cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions |
| if and where to split a bb, except for splitting before debug insn |
| sequences followed by non-label real insn. Delete debug insns |
| in between basic blocks. |
| |
| 2017-09-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/82112 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For |
| ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion |
| on it early, rather than manual conversion late. For |
| ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion |
| instead of performing manual conversion. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-09-14 Martin Liska <mliska@suse.cz> |
| |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Add proper printf format. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-30 Martin Liska <mliska@suse.cz> |
| |
| PR inline-asm/82001 |
| * ipa-icf-gimple.c (func_checker::compare_tree_list_operand): |
| Rename to ... |
| (func_checker::compare_asm_inputs_outputs): ... this function. |
| (func_checker::compare_gimple_asm): Use the function to compare |
| also ASM constrains. |
| * ipa-icf-gimple.h: Rename the function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-29 Martin Liska <mliska@suse.cz> |
| |
| PR other/39851 |
| * gcc.c (driver_handle_option): Add new argument. |
| * opts-common.c (handle_option): Pass |
| target_option_override_hook. |
| * opts-global.c (lang_handle_option): Add new option. |
| (set_default_handlers): Add new argument. |
| (decode_options): Likewise. |
| * opts.c (target_handle_option): Likewise. |
| (common_handle_option): Call target_option_override_hook. |
| * opts.h (struct cl_option_handler_func): Add hook for |
| target option override. |
| (struct cl_option_handlers): Likewise. |
| (set_default_handlers): Add new argument. |
| (decode_options): Likewise. |
| (common_handle_option): Likewise. |
| (target_handle_option): Likewise. |
| * toplev.c (toplev::main): Pass targetm.target_option.override |
| hook. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-10 Martin Liska <mliska@suse.cz> |
| |
| PR c++/81355 |
| * c-attribs.c (handle_target_attribute): |
| Report warning for an empty string argument of target attribute. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-08-08 Martin Liska <mliska@suse.cz> |
| |
| PR tree-opt/81696 |
| * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider |
| LABEL_DECLs that can be from a different function. |
| |
| 2017-09-15 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/81128 |
| * ipa-visibility.c (non_local_p): Handle visibility. |
| |
| 2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/81833 |
| * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a |
| define_insn to a define_expand. |
| (altivec_vsum2sws_direct): New define_insn. |
| (altivec_vsumsws): Convert from a define_insn to a define_expand. |
| |
| 2017-09-11 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| PR target/82181 |
| * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both |
| words of DImode object are reachable by xtensa_uimm8x4 access. |
| |
| 2017-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/80695 |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): |
| Account for direct move costs for vec_construct of integer |
| vectors. |
| |
| Backport from mainline |
| 2017-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/80695 |
| * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): |
| Reduce cost estimate for direct moves. |
| |
| 2017-09-08 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/81988 |
| * config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32. |
| (*mulsi3_sp64): New instruction. |
| (mulsi3): New expander. |
| |
| 2017-09-07 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-09-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/81768 |
| * omp-low.c (lower_omp_for): Recompute tree invariant if |
| gimple_omp_for_initial/final is ADDR_EXPR. |
| |
| PR middle-end/81768 |
| * omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR |
| into gimple val before gimplification fo the COND_EXPR. |
| |
| 2017-09-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto. |
| |
| 2017-09-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81923 |
| * asan.c (create_odr_indicator): Strip name encoding from assembler |
| name before appending it after __odr_asan_. |
| |
| 2017-08-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/81687 |
| * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL |
| LABEL_DECLs. |
| * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels. |
| (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL |
| or DECL_NONLOCAL labels here. |
| |
| 2017-08-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81621 |
| * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish |
| after setting changeable df flags. |
| |
| PR driver/81650 |
| * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??) |
| instead of 10??LU, perform unit multiplication in wide_int, |
| don't change alloc_object_size_limit if the limit is larger |
| than SSIZE_MAX. |
| |
| PR middle-end/81052 |
| * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp. |
| (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd. |
| |
| 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline: |
| 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81987 |
| * gimple-ssa-strength-reduction.c (insert_initializers): Don't |
| insert an initializer in a location not dominated by the stride |
| definition. |
| |
| 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81503 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure |
| folded constant fits in the target type; reorder tests for clarity. |
| |
| 2017-09-05 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| Backport from trunk |
| PR ada/79542 |
| * dwarf2out.c (modified_type_die): For C typedef types that have |
| an ultimate origin, process the ultimate origin instead of the |
| input type. |
| (gen_typedef_die): Assert that input DECLs have no ultimate |
| origin. |
| (gen_type_die_with_usage): For typedef variants that have an |
| ultimate origin, just call gen_decl_die on the original DECL. |
| (process_scope_var): Avoid creating DIEs for local typedefs and |
| concrete static variables. |
| |
| 2017-08-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/81504 |
| * config/rs6000/rs6000.c (find_alignment_op): Add reference |
| parameter and_insn and return it. |
| (recombine_lvx_pattern): Insert a copy to ensure availability of |
| the base register of the copied masking operation at the point of |
| the instruction replacement. |
| (recombine_stvx_pattern): Likewise. |
| |
| 2017-08-29 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81593 |
| * config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns |
| to recognize inserting into a vector from a double word element |
| that was extracted from another vector, and eliminate extra |
| XXPERMDI instructions. |
| (vsx_concat_<mode>_2): Likewise. |
| (vsx_concat_<mode>_3): Likewise. |
| (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector |
| concat to allow optimizing inserts from previous extracts. |
| |
| 2017-08-29 Alan Modra <amodra@gmail.com> |
| |
| Apply from mainline |
| 2017-08-12 Alan Modra <amodra@gmail.com> |
| PR target/81170 |
| PR target/81295 |
| * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to |
| match gnu-user.h startfile. |
| (ENDFILE_LINUX_SPEC): Similarly. |
| |
| 2017-08-08 Alan Modra <amodra@gmail.com> |
| H.J. Lu <hongjiu.lu@intel.com> |
| PR target/81170 |
| PR target/81295 |
| PR driver/81523 |
| * gcc.c (NO_PIE_SPEC): Delete. |
| (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r |
| exclusion.. |
| (LINK_PIE_SPEC): ..to here. |
| (LINK_COMMAND_SPEC): Support -no-pie. |
| * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct |
| chain of crtbegin*.o selection, update for PIE_SPEC changes and |
| format. |
| (GNU_USER_TARGET_ENDFILE_SPEC): Similarly. |
| * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly. |
| (ENDFILE_CRTEND_SPEC): Similarly. |
| |
| 2017-08-29 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81977 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through |
| memcpy. |
| |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| PR debug/81993 |
| * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes): |
| Do nothing for removed DIEs. |
| |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81088 |
| * fold-const.c (split_tree): Drop TREE_OVERFLOW flag from |
| literal constants. |
| (fold_binary_loc): When associating do not treat pre-existing |
| TREE_OVERFLOW on literal constants as a reason to allow |
| TREE_OVERFLOW on associated literal constants. |
| |
| 2017-06-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81065 |
| * fold-const.c (extract_muldiv_1): Remove bogus distribution |
| case of C * (x * C2 + C3). |
| (fold_addr_of_array_ref_difference): Properly fold index difference. |
| |
| 2017-06-07 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/80932 |
| * fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add |
| TYPE_OVERFLOW_WRAPS check. |
| |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-08-21 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81884 |
| * tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses |
| at struct end conservatively when comparing common bases. |
| |
| 2017-05-04 Richard Biener <rguenther@suse.de> |
| |
| * tree.c (array_at_struct_end_p): Handle arrays at struct |
| end with flexarrays more conservatively. Refactor and treat |
| arrays of arrays or aggregates more strict. Fix |
| VIEW_CONVERT_EXPR handling. Remove allow_compref argument. |
| * tree.h (array_at_struct_end_p): Adjust prototype. |
| * gimple-fold.c (get_range_strlen): Likewise. |
| * tree-chkp.c (chkp_may_narrow_to_field): Likewise. |
| |
| 2017-08-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-08-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81181 |
| * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ... |
| (compute_antic): ... end of iteration here. |
| |
| 2017-08-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81723 |
| * tree-vect-slp.c (struct bst_traits): New hash traits. |
| (bst_fail): New global. |
| (vect_build_slp_tree_2): New worker, split out from ... |
| (vect_build_slp_tree): ... this now wrapping it with using |
| bst_fail set to cache SLP tree build fails. Properly handle |
| max_tree_size. |
| (vect_analyze_slp_instance): Allocate and free bst_fail. |
| |
| 2017-08-24 Richard Biener <rguenther@suse.de> |
| |
| PR target/81921 |
| * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h |
| and ipa-inline.h. |
| (ix86_can_inline_p): When ix86_fpmath flags do not match |
| check whether the callee uses FP math at all. |
| |
| 2017-08-23 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-17 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/72804 |
| * config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for |
| operands residing in integer registers. |
| (*vsx_le_perm_load_<mode>): Likewise. |
| (*vsx_le_perm_store_<mode>): Likewise. |
| (define_peephole2): Add peepholes to optimize the above. |
| |
| 2017-08-22 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-17 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80210 |
| * config/rs6000/rs6000.c (rs6000_activate_target_options): New function. |
| (rs6000_set_current_function): Rewrite function to use it. |
| |
| 2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt. |
| * config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define. |
| (DOT_SYMBOLS): Likewise. |
| (MINIMAL_TOC_SECTION_ASM_OP): Likewise. |
| (RELOCATABLE_NEEDS_FIXUP): Likewise. |
| (RS6000_ABI_NAME): Likewise. |
| (TARGET_CMODEL): Likewise. |
| (TOC_SECTION_ASM_OP): Likewise. |
| (SET_CMODEL): New macro. |
| (SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options. |
| |
| 2017-08-22 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-08-22 trunk r251256. |
| |
| PR target/81910 |
| * config/avr/avr.c (avr_handle_addr_attribute): Early return if |
| not VAR_P. Filter attribute warnings with OPT_Wattributes. |
| (avr_attribute_table) <io, io_low, address>: Initialize |
| .decl_required with true. |
| |
| 2017-08-21 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/79883 |
| * config/avr/avr.c (avr_set_current_function): Typo in diagnostic. |
| |
| 2017-08-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81894 |
| * doc/extend.texi (x86 Built-in Functions): Correct the name of |
| __builtin_ia32_lzcnt_u16. |
| |
| 2017-08-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR target/81861 |
| * config/i386/i386.c (ix86_option_override_internal): Save target |
| specific options after ix86_stack_protector_guard_reg was changed. |
| |
| 2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81354 |
| * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge): |
| Insert on edges rather than explicitly creating landing pads. |
| (analyze_candidates_and_replace): Commit edge inserts. |
| |
| 2017-08-15 Joseph Myers <joseph@codesourcery.com> |
| |
| PR target/78460 |
| PR target/67712 |
| * config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for |
| constant count if that count is less than 32. |
| |
| 2017-08-14 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Set to 7.2.1. |
| |
| 2017-08-14 Release Manager |
| |
| * GCC 7.2.0 released. |
| |
| 2017-08-08 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81766 |
| * function.c (thread_prologue_and_epilogue_insns): Restore |
| behavior of always calling find_many_sub_basic_blocks on |
| the inserted prologue. |
| |
| 2017-08-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79499 |
| * function.c (thread_prologue_and_epilogue_insns): Determine blocks |
| for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN |
| of first NONDEBUG_INSN_P in each of the split_prologue_seq and |
| prologue_seq sequences - if any. |
| |
| 2017-08-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81641 |
| * config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel |
| print "ds:" only for immediates in generic address space. |
| |
| 2017-08-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81622 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For |
| __builtin_vec_cmpne verify both arguments are compatible vectors |
| before looking at TYPE_MODE on the element type. For __builtin_vec_ld |
| verify arg1_type is a pointer or array type. For __builtin_vec_st, |
| move computation of aligned to after checking the argument types. |
| Formatting fixes. |
| |
| 2017-08-01 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-07-26 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/81561 |
| * gcov.c (unblock): Make unblocking safe as we need to preserve |
| index correspondence of blocks and block_lists. |
| |
| 2017-08-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71752 |
| PR tree-optimization/81633 |
| * tree-vect-slp.c (vect_get_slp_defs): Handle null operands |
| in the original suggested way. |
| |
| 2017-08-01 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/80769 |
| * tree-ssa-strlen.c (strinfo): Document that "stmt" is also used |
| for malloc and calloc. Document the new invariant that all related |
| strinfos have delayed lengths or none do. |
| (get_next_strinfo): New function. |
| (verify_related_strinfos): Move earlier in file. |
| (set_endptr_and_length): New function, split out from... |
| (get_string_length): ...here. Also set the lengths of related |
| strinfos. |
| |
| 2017-08-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81588 |
| * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If |
| ranges[i].in_p, invert comparison code ccode. For >/>=, |
| swap rhs1 and rhs2 and comparison code unconditionally, |
| for </<= don't do that. Don't swap rhs1/rhs2 again if |
| ranges[i].in_p, instead invert comparison code ccode if |
| opcode or oe->rank is BIT_IOR_EXPR. |
| |
| 2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config.gcc: Add z14. |
| * config/s390/driver-native.c (s390_host_detect_local_cpu): Add |
| CPU model numbers for z13s and z14. |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace |
| arch12 with z14. |
| * config/s390/s390-opts.h (enum processor_type): Rename |
| PROCESSOR_ARCH12 to PROCESSOR_3906_Z14. |
| * config/s390/s390.c (processor_table): Add field for CPU name to |
| be passed to Binutils. |
| (s390_asm_output_machine_for_arch): Use the new field in |
| processor_table for Binutils. |
| (s390_expand_builtin): Replace arch12 with z14. |
| (s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14. |
| (s390_get_sched_attrmask): Likewise. |
| (s390_get_unit_mask): Likewise. |
| * config/s390/s390.opt: Add z14 to processor_type enum. |
| |
| 2017-07-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81604 |
| * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't |
| change type to the element type, instead add eltype variable and |
| use it where we are interested in the element type. |
| |
| 2017-07-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| * config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define. |
| (PPC_FEATURE2_SCV): Likewise. |
| * config/rs6000/rs6000.c (cpu_supports_info): Use them. |
| |
| 2017-07-28 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2017-07-25 David Edelsohn <dje.gcc@gmail.com> |
| |
| * dwarf2asm.c (dw2_asm_output_nstring): Encode double quote |
| character for AIX. |
| * dwarf2out.c (output_macinfo): Copy debug_line_section_label |
| to dl_section_ref. On AIX, append an expression to subtract |
| the size of the section length to dl_section_ref. |
| |
| 2017-07-28 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline r250496 |
| 2017-07-25 Bin Cheng <bin.cheng@arm.com> |
| |
| PR target/81414 |
| * config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac |
| instructions if no du chain is found. |
| |
| 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h. Add |
| rs6000/biarch64.h. |
| * config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro. |
| (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise. |
| (CRT_CALL_STATIC_FUNCTION): Likewise. |
| (ASM_DEFAULT_SPEC): New define. |
| (ASM_SPEC32): Likewise. |
| (ASM_SPEC64): Likewise. |
| (ASM_SPEC_COMMON): Likewise. |
| (ASM_SPEC): Likewise. |
| (INVALID_64BIT): Likewise. |
| (LINK_OS_DEFAULT_SPEC): Likewise. |
| (LINK_OS_SPEC32): Likewise. |
| (LINK_OS_SPEC64): Likewise. |
| (POWERPC_LINUX): Likewise. |
| (PTRDIFF_TYPE): Likewise. |
| (RESTORE_FP_PREFIX): Likewise. |
| (RESTORE_FP_SUFFIX): Likewise. |
| (SAVE_FP_PREFIX): Likewise. |
| (SAVE_FP_SUFFIX): Likewise. |
| (SIZE_TYPE): Likewise. |
| (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise. |
| (TARGET_64BIT): Likewise. |
| (TARGET_64BIT): Likewise. |
| (TARGET_AIX): Likewise. |
| (WCHAR_TYPE_SIZE): Likewise. |
| (WCHAR_TYPE): Undefine. |
| (TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines. |
| (CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC. |
| (CPP_OS_RTEMS_SPEC): Delete. |
| (SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems. Add |
| asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and |
| link_os_spec64. |
| * config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs. |
| |
| 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*). |
| * config/riscv/rtems.h: New file. |
| |
| 2017-07-27 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag |
| earlier and only if MASK_FPU is set. Adjust formatting. |
| |
| 2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/81534 |
| * config/s390/s390.md ("*atomic_compare_and_swap<mode>_1") |
| ("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"): |
| Change s_operand to memory_operand. |
| |
| 2017-07-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81555 |
| PR tree-optimization/81556 |
| * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument, |
| if true, force CHANGED for the recursive invocation. |
| (reassociate_bb): Remember original length of ops array, pass |
| len != orig_len as NEXT_CHANGED in rewrite_expr_tree call. |
| |
| 2017-07-27 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-07-17 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/81302 |
| * opts.c (finish_options): Do not allow -fgnu-tm |
| w/ -fsanitize={kernel-,}address. Say sorry. |
| |
| 2017-07-27 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-07-26 Martin Liska <mliska@suse.cz> |
| |
| PR sanitize/81186 |
| * function.c (expand_function_start): Make expansion of |
| nonlocal_goto_save_area after parm_birth_insn. |
| |
| 2017-07-27 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-30 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/81021 |
| * tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN |
| before BUILT_IN_UNWIND_RESUME when ASAN is used. |
| |
| 2017-07-27 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-28 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/81224 |
| * asan.c (instrument_derefs): Bail out inner references |
| that are hard register variables. |
| |
| 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD. |
| (sparc_option_override): Honour MASK_FSMULD. |
| * config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD. |
| * config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD. |
| * config/sparc/sparc.opt (mfsmuld): New option. |
| * doc/invoke.texi (mfsmuld): Document option. |
| |
| 2017-07-26 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-25 trunk r250499. |
| |
| PR 81487 |
| * hsa-brig.c (brig_init): Use xasprintf instead of asprintf. |
| * gimple-pretty-print.c (dump_probability): Same. |
| * tree-ssa-structalias.c (alias_get_name): Same. |
| |
| 2017-07-26 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-06-18 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81410 |
| * tree-vect-stmts.c (vectorizable_load): Properly adjust for |
| the gap in the ! slp_perm SLP case after each group. |
| |
| 2017-07-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81455 |
| * tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to |
| not walk in cycles when looking for guards. |
| |
| 2017-07-25 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81505 |
| * fold-const.c (fold_negate_const): TREE_OVERFLOW should be |
| sticky. |
| |
| 2017-06-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81175 |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin |
| rather than def_builtin_pure for __builtin_ia32_gatherpf*. |
| |
| 2017-06-26 Richard Biener <rguenther@suse.de> |
| |
| PR target/81175 |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): |
| Use def_builtin_pure for all gather builtins. |
| |
| 2017-06-21 Marc Glisse <marc.glisse@inria.fr> |
| |
| * config/i386/i386.c (struct builtin_isa): New field pure_p. |
| Reorder for compactness. |
| (def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p. |
| (def_builtin_pure, def_builtin_pure2): New functions. |
| (ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure. |
| |
| 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU |
| from all CPU target flags enable members. |
| |
| 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| PR libgcc/61152 |
| * config/aarch64/rtems.h: Add GCC Runtime Library Exception. |
| Format changes. |
| * config/arm/rtems.h: Likewise. |
| * config/bfin/rtems.h: Likewise. |
| * config/i386/rtemself.h: Likewise. |
| * config/lm32/rtems.h: Likewise. |
| * config/m32c/rtems.h: Likewise. |
| * config/m68k/rtemself.h: Likewise. |
| * config/microblaze/rtems.h: Likewise. |
| * config/mips/rtems.h: Likewise. |
| * config/moxie/rtems.h: Likewise. |
| * config/nios2/rtems.h: Likewise. |
| * config/rs6000/rtems.h: Likewise. |
| * config/rtems.h: Likewise. |
| * config/sh/rtems.h: Likewise. |
| * config/sh/rtemself.h: Likewise. |
| * config/sparc/rtemself.h: Likewise. |
| |
| 2017-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/81162 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't |
| replace a negate with an add. |
| |
| 2017-07-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-12 trunk r250151. |
| |
| PR target/81407 |
| * config/avr/avr.c (avr_encode_section_info) |
| [progmem && !TREE_READONLY]: Error if progmem object needs |
| constructing. |
| |
| 2017-07-25 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| PR target/79041 |
| * config/aarch64/aarch64.c (aarch64_classify_symbol): |
| Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals. |
| |
| 2017-07-25 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from trunk r247719. |
| |
| 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR rtl-optimization/75964 |
| * simplify-rtx.c (simplify_const_relational_operation): Remove |
| invalid handling of comparisons of integer ABS. |
| |
| 2017-07-25 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from 2017-07-20 trunk r250384. |
| |
| PR tree-optimization/81388 |
| Revert r238585: |
| 2016-07-21 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up |
| by removing computation of may_be_zero. |
| |
| 2017-07-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80569 |
| * config/i386/i386.c (ix86_option_override_internal): Disable |
| BMI, BMI2 and TBM instructions for -m16. |
| |
| 2017-07-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from trunk |
| 2017-07-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81193 |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC |
| provides the hardware capability bits, define the macro |
| __BUILTIN_CPU_SUPPORTS__. |
| * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning |
| if GLIBC does not provide the hardware capability bits. Add a |
| gcc_unreachable call if the built-in cpu function is neither |
| __builtin_cpu_is nor __builtin_cpu_supports. |
| * doc/extend.texi (PowerPC built-in functions): Document that |
| GLIBC 2.23 or newer is needed by __builtin_cpu_is and |
| __builtin_cpu_supports. Document the macros defined by GCC if the |
| newer GLIBC is available. |
| |
| 2017-07-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81471 |
| * config/i386/i386.md (rorx_immediate_operand): New mode attribute. |
| (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as |
| operand 2 predicate. |
| (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as |
| operand 2 predicate. |
| (ror,rol -> rorx splitters): Use const_int_operand as |
| operand 2 predicate. |
| |
| 2017-07-18 Tom de Vries <tom@codesourcery.com> |
| |
| backport from mainline: |
| PR target/81069 |
| 2017-07-17 Tom de Vries <tom@codesourcery.com> |
| |
| * config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late |
| as possible. |
| |
| 2017-07-18 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-18 trunk r250301. |
| |
| PR target/81473 |
| * config/avr/avr.c (avr_optimize_casesi): Don't use |
| INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX. |
| |
| 2017-07-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/81428 |
| * match.pd (X / X -> one): Don't optimize _Fract divisions, as 1 |
| can't be built for those types. |
| |
| PR tree-optimization/81365 |
| * tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting |
| aggregate moves onto bb predecessor edges, make sure there are no |
| loads that could alias the lhs in between the start of bb and the |
| loads from *phi. |
| |
| Backported from mainline |
| 2017-06-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81225 |
| * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For |
| V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead |
| of nonimmediate_operand and <store_mask_constraint> instead of m for |
| the input operand. For V8FI iterator, always split if input is a MEM. |
| For V16FI and V8SF_256 iterators, don't test if both operands are MEM |
| if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate> |
| instead of register_operand and <store_mask_constraint> instead of v for |
| the input operand. Make sure both operands aren't MEMs for if not |
| <mask_applied>. |
| |
| 2017-07-17 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-17 trunk r250258. |
| |
| PR 80929 |
| * config/avr/avr.c (avr_mul_highpart_cost): New static function. |
| (avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost. |
| [LSHIFTRT, outer_code = TRUNCATE]: Same. |
| |
| 2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backport from mainline |
| 2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * gcc/config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add |
| conditional builtin define __FIX_LEON3FT_B2BST. |
| |
| 2017-07-17 Daniel Cederman <cederman@gaisler.com> |
| |
| Backport from mainline |
| 2017-07-17 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace |
| MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc |
| with -mfix-ut700. |
| |
| 2017-07-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/81424 |
| * optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg |
| to remove potential trapping from operands if -fnon-call-exceptions. |
| |
| 2017-07-16 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back |
| to back store errata sensitive sequence from being generated. |
| (sqrtdf2_fix): Likewise. |
| |
| 2017-07-12 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-12 trunk r250156. |
| |
| PR target/79883 |
| * config/avr/avr.c (avr_set_current_function): In diagnostic |
| messages: Quote keywords and (parts of) identifiers. |
| [WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or |
| "INTERRUPT". |
| |
| 2017-07-11 Daniel Cederman <cederman@gaisler.com> |
| |
| * config/sparc/sparc.opt (mfix-ut700): New option. |
| (mfix-gr712rc): Likewise. |
| (sparc_fix_b2bst): New variable. |
| * doc/invoke.texi (SPARC options): Document them. |
| (ARM options): Fix warnings. |
| * config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP |
| instructions to prevent sequences that can trigger the store-store |
| errata for certain LEON3FT processors. |
| (pass_work_around_errata::gate): Also test sparc_fix_b2bst. |
| (sparc_option_override): Set sparc_fix_b2bst appropriately. |
| * config/sparc/sparc.md (fix_b2bst): New attribute. |
| (in_branch_delay): Prevent stores in delay slot if fix_b2bst. |
| |
| 2017-07-10 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81375 |
| * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH. |
| (rcpps): Ditto. |
| (*rsqrtsf2_sse): Ditto. |
| (rsqrtsf2): Ditto. |
| (div<mode>3): Macroize insn from divdf3 and divsf3 |
| using MODEF mode iterator. |
| |
| 2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/81348 |
| * config/rs6000/rs6000.md (HI sign_extend splitter): Use the |
| correct operand in doing the split. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/m8.md: New file. |
| * config/sparc/sparc.md: Include m8.md. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/sparc.opt: New option -mvis4b. |
| * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B. |
| (sparc_option_override): Handle VIS4B. |
| (enum sparc_builtins): Define |
| SPARC_BUILTIN_DICTUNPACK{8,16,32}, |
| SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL, |
| SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL, |
| SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and |
| SPARC_BUILTIN_FPCMPUR{8,16,32}SHL. |
| (check_constant_argument): New function. |
| (sparc_vis_init_builtins): Define builtins |
| __builtin_vis_dictunpack{8,16,32}, |
| __builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl, |
| __builtin_vis_fpcmpu{le,gt}{8,16,32}shl, |
| __builtin_vis_fpcmpde{8,16,32}shl and |
| __builtin_vis_fpcmpur{8,16,32}shl. |
| (sparc_expand_builtin): Check that the constant operands to |
| __builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed |
| constant and in range. |
| * config/sparc/sparc-c.c (sparc_target_macros): Handle |
| TARGET_VIS4B. |
| * config/sparc/sparc.h (SPARC_IMM2_P): Define. |
| (SPARC_IMM5_P): Likewise. |
| * config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b". |
| (enabled): Handle vis4b. |
| (UNSPEC_DICTUNPACK): New unspec. |
| (UNSPEC_FPCMPSHL): Likewise. |
| (UNSPEC_FPUCMPSHL): Likewise. |
| (UNSPEC_FPCMPDESHL): Likewise. |
| (UNSPEC_FPCMPURSHL): Likewise. |
| (cpu_feature): New CPU feature `vis4b'. |
| (dictunpack{8,16,32}): New insns. |
| (FPCSMODE): New mode iterator. |
| (fpcscond): New code iterator. |
| (fpcsucond): Likewise. |
| (fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns. |
| (fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise. |
| (fpcmpde{8,16,32}{si,di}shl): Likewise. |
| (fpcmpur{8,16,32}{si,di}shl): Likewise. |
| * config/sparc/constraints.md: Define constraints `q' for unsigned |
| 2-bit integer constants and `t' for unsigned 5-bit integer |
| constants. |
| * config/sparc/predicates.md (imm5_operand_dictunpack8): New |
| predicate. |
| (imm5_operand_dictunpack16): Likewise. |
| (imm5_operand_dictunpack32): Likewise. |
| (imm2_operand): Likewise. |
| * doc/invoke.texi (SPARC Options): Document -mvis4b. |
| * doc/extend.texi (SPARC VIS Built-in Functions): Document the |
| ditunpack* and fpcmp*shl builtins. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config.gcc: Handle m8 in --with-{cpu,tune} options. |
| * config.in: Add HAVE_AS_SPARC6 define. |
| * config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC |
| M8. |
| * config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for |
| TARGET_CPU_m8. |
| (ASM_CPU32_DEFAUILT_SPEC): Likewise. |
| (CPP_CPU_SPEC): Handle m8. |
| (ASM_CPU_SPEC): Likewise. |
| * config/sparc/sparc-opts.h (enum processor_type): Add |
| PROCESSOR_M8. |
| * config/sparc/sparc.c (m8_costs): New struct. |
| (sparc_option_override): Handle TARGET_CPU_m8. |
| (sparc32_initialize_trampoline): Likewise. |
| (sparc64_initialize_trampoline): Likewise. |
| (sparc_issue_rate): Likewise. |
| (sparc_register_move_cost): Likewise. |
| * config/sparc/sparc.h (TARGET_CPU_m8): Define. |
| (CPP_CPU64_DEFAULT_SPEC): Define for M8. |
| (ASM_CPU64_DEFAULT_SPEC): Likewise. |
| (CPP_CPU_SPEC): Handle M8. |
| (ASM_CPU_SPEC): Likewise. |
| (AS_M8_FLAG): Define. |
| * config/sparc/sparc.md: Add m8 to the cpu attribute. |
| * config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets. |
| * configure.ac (HAVE_AS_SPARC6): Check for assembler support for |
| M8 instructions. |
| * configure: Regenerate. |
| * doc/invoke.texi (SPARC Options): Document -mcpu=m8 and |
| -mtune=m8. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/niagara7.md: Rework the DFA scheduler to use insn |
| subtypes. |
| * config/sparc/sparc.md: Remove the `v3pipe' insn attribute. |
| ("*movdi_insn_sp32"): Do not set v3pipe. |
| ("*movsi_insn"): Likewise. |
| ("*movdi_insn_sp64"): Likewise. |
| ("*movsf_insn"): Likewise. |
| ("*movdf_insn_sp32"): Likewise. |
| ("*movdf_insn_sp64"): Likewise. |
| ("*zero_extendsidi2_insn_sp64"): Likewise. |
| ("*sign_extendsidi2_insn"): Likewise. |
| ("*mov<VM32:mode>_insn"): Likewise. |
| ("*mov<VM64:mode>_insn_sp64"): Likewise. |
| ("*mov<VM64:mode>_insn_sp32"): Likewise. |
| ("<plusminus_insn><VADDSUB:mode>3"): Likewise. |
| ("<vlop:code><VL:mode>3"): Likewise. |
| ("*not_<vlop:code><VL:mode>3"): Likewise. |
| ("*nand<VL:mode>_vis"): Likewise. |
| ("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise. |
| ("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise. |
| ("one_cmpl<VL:mode>2"): Likewise. |
| ("faligndata<VM64:mode>_vis"): Likewise. |
| ("alignaddrsi_vis"): Likewise. |
| ("alignaddrdi_vis"): Likweise. |
| ("alignaddrlsi_vis"): Likewise. |
| ("alignaddrldi_vis"): Likewise. |
| ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise. |
| ("bmaskdi_vis"): Likewise. |
| ("bmasksi_vis"): Likewise. |
| ("bshuffle<VM64:mode>_vis"): Likewise. |
| ("cmask8<P:mode>_vis"): Likewise. |
| ("cmask16<P:mode>_vis"): Likewise. |
| ("cmask32<P:mode>_vis"): Likewise. |
| ("pdistn<P:mode>_vis"): Likewise. |
| ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/sparc.md ("subtype"): New insn attribute. |
| ("*wrgsr_sp64"): Set insn subtype. |
| ("*rdgsr_sp64"): Likewise. |
| ("alignaddrsi_vis"): Likewise. |
| ("alignaddrdi_vis"): Likewise. |
| ("alignaddrlsi_vis"): Likewise. |
| ("alignaddrldi_vis"): Likewise. |
| ("<plusminus_insn><VADDSUB:mode>3"): Likewise. |
| ("fexpand_vis"): Likewise. |
| ("fpmerge_vis"): Likewise. |
| ("faligndata<VM64:mode>_vis"): Likewise. |
| ("bshuffle<VM64:mode>_vis"): Likewise. |
| ("cmask8<P:mode>_vis"): Likewise. |
| ("cmask16<P:mode>_vis"): Likewise. |
| ("cmask32<P:mode>_vis"): Likewise. |
| ("fchksm16_vis"): Likewise. |
| ("v<vis3_shift_patname><GCM:mode>3"): Likewise. |
| ("fmean16_vis"): Likewise. |
| ("fp<plusminus_insn>64_vis"): Likewise. |
| ("<plusminus_insn>v8qi3"): Likewise. |
| ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise. |
| ("<vis4_minmax_patname><VMMAX:mode>3"): Likewise. |
| ("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise. |
| ("<vis3_addsub_ss_patname>v8qi3"): Likewise. |
| ("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise. |
| ("*movqi_insn"): Likewise. |
| ("*movhi_insn"): Likewise. |
| ("*movsi_insn"): Likewise. |
| ("movsi_pic_gotdata_op"): Likewise. |
| ("*movdi_insn_sp32"): Likewise. |
| ("*movdi_insn_sp64"): Likewise. |
| ("movdi_pic_gotdata_op"): Likewise. |
| ("*movsf_insn"): Likewise. |
| ("*movdf_insn_sp32"): Likewise. |
| ("*movdf_insn_sp64"): Likewise. |
| ("*zero_extendhisi2_insn"): Likewise. |
| ("*zero_extendqihi2_insn"): Likewise. |
| ("*zero_extendqisi2_insn"): Likewise. |
| ("*zero_extendqidi2_insn"): Likewise. |
| ("*zero_extendhidi2_insn"): Likewise. |
| ("*zero_extendsidi2_insn_sp64"): Likewise. |
| ("ldfsr"): Likewise. |
| ("prefetch_64"): Likewise. |
| ("prefetch_32"): Likewise. |
| ("tie_ld32"): Likewise. |
| ("tie_ld64"): Likewise. |
| ("*tldo_ldub_sp32"): Likewise. |
| ("*tldo_ldub1_sp32"): Likewise. |
| ("*tldo_ldub2_sp32"): Likewise. |
| ("*tldo_ldub_sp64"): Likewise. |
| ("*tldo_ldub1_sp64"): Likewise. |
| ("*tldo_ldub2_sp64"): Likewise. |
| ("*tldo_ldub3_sp64"): Likewise. |
| ("*tldo_lduh_sp32"): Likewise. |
| ("*tldo_lduh1_sp32"): Likewise. |
| ("*tldo_lduh_sp64"): Likewise. |
| ("*tldo_lduh1_sp64"): Likewise. |
| ("*tldo_lduh2_sp64"): Likewise. |
| ("*tldo_lduw_sp32"): Likewise. |
| ("*tldo_lduw_sp64"): Likewise. |
| ("*tldo_lduw1_sp64"): Likewise. |
| ("*tldo_ldx_sp64"): Likewise. |
| ("*mov<VM32:mode>_insn"): Likewise. |
| ("*mov<VM64:mode>_insn_sp64"): Likewise. |
| ("*mov<VM64:mode>_insn_sp32"): Likewise. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/sparc.md ("type"): New insn type viscmp. |
| ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to |
| viscmp. |
| ("fpcmp<gcond:code>8<P:mode>_vis"): Likewise. |
| ("fucmp<gcond:code>8<P:mode>_vis"): Likewise. |
| ("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise. |
| * config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle |
| viscmp. |
| ("n7_vis_logical_11cycle"): Likewise. |
| * config/sparc/niagara4.md ("n4_vis_logical"): Likewise. |
| * config/sparc/niagara2.md ("niag3_vis": Likewise. |
| * config/sparc/niagara.md ("niag_vis"): Likewise. |
| * config/sparc/ultra3.md ("us3_fga"): Likewise. |
| * config/sparc/ultra1_2.md ("us1_fga_double"): Likewise. |
| |
| 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com> |
| |
| * config/sparc/sparc.md: New instruction type `bmask'. |
| (bmaskdi_vis): Use the `bmask' type. |
| (bmasksi_vis): Likewise. |
| * config/sparc/ultra3.md (us3_array): Likewise. |
| * config/sparc/niagara7.md (n7_array): Likewise. |
| * config/sparc/niagara4.md (n4_array): Likewise. |
| * config/sparc/niagara2.md (niag2_vis): Likewise. |
| (niag3_vis): Likewise. |
| * config/sparc/niagara.md (niag_vis): Likewise. |
| |
| 2017-07-05 Georg-Johann Lay <avr@gjlay.de> |
| |
| Backport from 2017-07-05 trunk r249995. |
| |
| PR target/81305 |
| * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]: |
| Don't depend on "optimize > 0". |
| (out_movhi_r_mr, out_movqi_mr_r): Same. |
| (out_movhi_mr_r, out_movqi_r_mr): Same. |
| (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for |
| io_address_operand on "optimize > 0". |
| |
| 2017-07-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81300 |
| * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes): |
| Require dead FLAGS_REG at the beginning of a peephole. |
| |
| 2017-07-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81294 |
| * config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y |
| arguments in the call to __builtin_ia32_sbb_u32. |
| (_subborrow_u64): Swap _X and _Y arguments in the call to |
| __builtin_ia32_sbb_u64. |
| |
| 2017-07-03 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk: |
| |
| 2017-06-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead |
| of REGNO. |
| |
| 2017-07-03 Tom de Vries <tom@codesourcery.com> |
| |
| backport from mainline: |
| PR tree-optimization/81192 |
| 2017-07-03 Tom de Vries <tom@codesourcery.com> |
| |
| * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle |
| BB_SAME_SUCC (bb) == NULL. |
| |
| 2017-06-29 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80510 |
| * config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in |
| 32-bit, since indexed is not valid for DImode. |
| (mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA |
| 3.0 d-form load/stores to be the same as mov<mode>_hardfloat64. |
| (define_peephole2 for Altivec d-form load): Add 32-bit support. |
| (define_peephole2 for Altivec d-form store): Likewise. |
| |
| Backport from mainline |
| 2017-06-20 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79799 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support |
| for doing vector set of SFmode on ISA 3.0. |
| * config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise. |
| (vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF |
| element. |
| (vsx_insert_extract_v4sf_p9): Add an optimization for inserting a |
| SFmode value into a V4SF variable that was extracted from another |
| V4SF variable without converting the element to double precision |
| and back to single precision vector format. |
| (vsx_insert_extract_v4sf_p9_2): Likewise. |
| |
| 2017-06-29 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-06-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/81112 |
| * ipa-prop.c (find_constructor_constant_at_offset): Handle |
| RANGE_EXPR conservatively. |
| |
| 2017-06-28 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-06-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/81007 |
| * ipa-polymorphic-call.c |
| (ipa_polymorphic_call_context::restrict_to_inner_class): |
| Skip FIELD_DECLs with error_mark_node type. |
| * passes.def (all_lowering_passes): Run pass_build_cgraph_edges |
| last again. |
| |
| 2017-06-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/81083 |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals |
| as values. |
| |
| 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backports from trunk: |
| |
| 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80692 |
| * real.c (do_compare): Give decimal_do_compare preference over |
| comparing just the signs. |
| |
| 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80618 |
| * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the |
| splitter result in the canonical way. |
| |
| 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org> |
| PR target/80966 |
| * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that |
| gen_add3_insn did not fail. |
| * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to |
| r0, construct that number in a temporary reg and add that reg to r0. |
| If asked to put the result in r0 as well, fail. |
| |
| 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org> |
| PR middle-end/80902 |
| * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after |
| a call, force the call to not be a tail call. |
| |
| 2017-06-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81209 |
| * ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var. |
| |
| PR middle-end/81207 |
| * gimple-fold.c (replace_call_with_call_and_fold): Handle |
| gimple_vuse copying separately from gimple_vdef copying. |
| |
| 2017-06-24 Jim Wilson <jim.wilson@linaro.org> |
| |
| * config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to |
| here. |
| * config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here. |
| * config/arm/arm-cpu-cdata.h: Regenerate. |
| * config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise. |
| * config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise. |
| * config/arm/arm-cpus.in: Delete falkor and qdf24xx entries. |
| * config/arm/arm.c (arm_qdf24xx_tune): Delete. |
| * config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx |
| support. |
| * config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx |
| support. |
| * config/arm/t-rmprofile: Likewise. |
| * doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support. |
| |
| 2017-06-24 Marek Polacek <polacek@redhat.com> |
| |
| Backport from mainline |
| 2017-05-04 Marek Polacek <polacek@redhat.com> |
| |
| PR tree-optimization/80612 |
| * calls.c (get_size_range): Check for INTEGRAL_TYPE_P. |
| |
| 2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| Backport from mainline |
| 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com> |
| |
| * config/arm/arm-builtins.c (arm_init_builtins): Rename |
| __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename |
| __builtin_arm_stfscr to __builtin_arm_set_fpscr. |
| |
| 2017-06-23 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/81187 |
| * doc/invoke.texi (-Wnoexcept-type): Fix name of option, from |
| -Wnoexcept. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-06-19 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/80879 |
| * gimplify.c (gimplify_switch_expr): |
| Initialize live_switch_vars for SWITCH_BODY == STATEMENT_LIST. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-31 Martin Liska <mliska@suse.cz> |
| |
| PR target/79155 |
| * config/i386/cpuid.h: Fix typo in a comment in cpuid.h. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-30 Martin Liska <mliska@suse.cz> |
| |
| PR other/80909 |
| * auto-profile.c (get_function_decl_from_block): Fix |
| parenthesis. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-26 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80663 |
| * params.def: Bound partial-inlining-entry-probability param. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79849. |
| PR ipa/79850. |
| * ipa-devirt.c (warn_types_mismatch): Fix typo. |
| (odr_types_equivalent_p): Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-15 Martin Liska <mliska@suse.cz> |
| |
| PR driver/31468 |
| * gcc.c (process_command): Do not allow empty argument of -o option. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Add missing preposition. |
| * gcov.c (function_info::function_info): Properly fill up |
| all member variables. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-05-02 Martin Liska <mliska@suse.cz> |
| |
| PR other/80589 |
| * common.opt: Fix typo. |
| * doc/invoke.texi: Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Enhance documentation of gcov. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| * doc/gcov.texi: Sort options in alphabetic order. |
| * doc/gcov-dump.texi: Likewise. |
| * doc/gcov-tool.texi: Likewise. |
| * gcov.c (print_usage): Likewise. |
| * gcov-dump.c (print_usage): Likewise. |
| * gcov-tool.c (print_merge_usage_message): Likewise. |
| (print_rewrite_usage_message): Likewise. |
| (print_overlap_usage_message): Likewise. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/53915 |
| * gcov.c (format_gcov): Print 'NAN %' when top > bottom. |
| |
| 2017-06-22 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-28 Martin Liska <mliska@suse.cz> |
| |
| PR driver/56469 |
| * coverage.c (coverage_remove_note_file): New function. |
| * coverage.h: Declare the function. |
| * toplev.c (finalize): Clean if an error has been seen. |
| |
| 2017-06-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81151 |
| * config/i386/sse.md (round<mode>2): Renumber match_dup and |
| operands indexes to avoid gap between operands and match_dups. |
| |
| PR c++/81130 |
| * gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types |
| with ctors/dtors if GOVD_SHARED is set. |
| |
| Backported from mainline |
| 2017-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81121 |
| * config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df} |
| splitter): Require TARGET_SSE2 in the condition. |
| |
| PR sanitizer/81125 |
| * ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser |
| by removing enum keyword. |
| (ubsan_type_descriptor): Likewise. Formatting fix. |
| |
| 2017-06-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/81125 |
| * ubsan.h (enum ubsan_encode_value_phase): New. |
| (ubsan_encode_value): Change second argument to |
| enum ubsan_encode_value_phase with default value of |
| UBSAN_ENCODE_VALUE_GENERIC. |
| * ubsan.c (ubsan_encode_value): Change second argument to |
| enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P, |
| adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just |
| create_tmp_var_raw instead of create_tmp_var and use a |
| TARGET_EXPR. |
| (ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin, |
| instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust |
| ubsan_encode_value callers. |
| |
| PR sanitizer/81111 |
| * ubsan.c (ubsan_encode_value): If current_function_decl is NULL, |
| use create_tmp_var_raw instead of create_tmp_var, mark it addressable |
| just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR. |
| |
| 2017-06-20 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from Mainline |
| * config/aarch64/aarch64-option-extensions.def (fp16): Fix expected |
| feature string. |
| |
| 2017-06-20 Andreas Schwab <schwab@suse.de> |
| |
| PR target/80970 |
| * config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d" |
| instead of "+d". |
| |
| 2017-06-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| Backport from mainline |
| 2017-06-19 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| PR target/71778 |
| * config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET |
| if given a non-constant argument for an intrinsic which requires a |
| constant. |
| |
| 2017-06-19 Alexander Monakov <amonakov@ispras.ru> |
| |
| * doc/invoke.texi (mcx16): Rewrite. |
| |
| 2017-06-15 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/80474 |
| * reorg.c (update_block): Do not ignore instructions in a delay slot. |
| |
| 2017-06-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3. |
| (MASK_FEATURES): New macro. |
| * config/sparc/sparc.c (sparc_option_override): Remove the special |
| handling of -mfpu and generalize it to all MASK_FEATURES switches. |
| |
| 2017-06-14 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry. |
| |
| 2017-06-12 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.md (return expander): Emit frame blockage if |
| function uses alloca. |
| |
| 2017-06-08 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/81015 |
| Revert: |
| 2016-12-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/59874 |
| * config/i386/i386.md (*ctzhi2): New insn_and_split pattern. |
| (*clzhi2): Ditto. |
| |
| 2017-06-08 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| 2017-06-02 David Edelsohn <dje.gcc@gmail.com> |
| |
| * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New. |
| (dl_section_ref): New. |
| (dwarf2out_finish): Copy debug_line_section_label to dl_section_ref. |
| On AIX, append an expression to subtract the size of the |
| section length to dl_section_ref. |
| |
| 2017-06-07 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80549 |
| * tree-cfgcleanup.c (mfb_keep_latches): New helper. |
| (cleanup_tree_cfg_noloop): Create forwarders to known loop |
| headers if they do not have a preheader. |
| |
| 2017-05-26 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80842 |
| * tree-ssa-ccp.c (set_lattice_value): Always meet with the old |
| value. |
| |
| 2017-05-31 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80906 |
| * graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get |
| and pass through iv_map. |
| (copy_bb_and_scalar_dependences): Adjust. |
| (translate_pending_phi_nodes): Likewise. |
| (copy_loop_close_phi_args): Handle code-generating IVs instead |
| of ICEing. |
| |
| 2017-05-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80705 |
| * tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED |
| bases are not vectorizable. |
| |
| 2017-06-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2017-05-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80718 |
| * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer |
| VSX registers over GPRs, particularly on ISA 2.07 which does not |
| have the MTVSRDD instruction. |
| |
| 2017-06-06 David S. Miller <davem@davemloft.net> |
| |
| PR target/80968 |
| * config/sparc/sparc.c (sparc_expand_prologue): Emit frame |
| blockage if function uses alloca. |
| |
| 2017-06-05 Volker Reichelt <v.reichelt@netcologne.de> |
| |
| * doc/invoke.texi (-Wduplicated-branches): Add to warning list. |
| |
| 2017-06-02 Prakhar Bahuguna <prakhar.bahuguna@arm.com> |
| |
| Backport from mainline |
| 2017-05-05 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| Prakhar Bahuguna <prakhar.bahuguna@arm.com> |
| |
| PR target/71607 |
| * config/arm/arm.md (use_literal_pool): Remove. |
| (64-bit immediate split): No longer takes cost into consideration |
| if arm_disable_literal_pool is enabled. |
| * config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is |
| used when arm_disable_literal_pool is enabled. |
| (arm_max_const_double_inline_cost): Remove use of |
| arm_disable_literal_pool. |
| (push_minipool_fix): Add assert. |
| (arm_reorg): Add return if arm_disable_literal_pool is enabled. |
| * config/arm/vfp.md (no_literal_pool_df_immediate): New. |
| (no_literal_pool_sf_immediate): New. |
| |
| 2017-06-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80903 |
| * loop-doloop.c (add_test): Unshare sequence. |
| |
| 2017-05-31 Martin Jambor <mjambor@suse.cz> |
| |
| Backport from mainline |
| 2017-04-24 Martin Jambor <mjambor@suse.cz> |
| |
| PR tree-optimization/80293 |
| * tree-sra.c (scalarizable_type_p): New parameter const_decl, make |
| char arrays not totally scalarizable if it is false. |
| (analyze_all_variable_accesses): Pass correct value in the new |
| parameter. Add a statistics counter. |
| |
| 2017-05-30 Max Filippov <jcmvbkbc@gmail.com> |
| |
| Backport from mainline |
| 2017-05-29 Max Filippov <jcmvbkbc@gmail.com> |
| |
| * config/xtensa/xtensa.c (xtensa_emit_call): Use |
| HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string. |
| (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld |
| format string. |
| |
| 2017-05-29 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/install.texi (Options specification): Restore entry of |
| --enable-sjlj-exceptions. |
| |
| 2017-05-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/80725 |
| * config/s390/s390.c (s390_check_qrst_address): Check incoming |
| address against address_operand predicate. |
| * config/s390/s390.md ("*indirect_jump"): Swap alternatives. |
| |
| 2017-05-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-23 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movdi_internal): Remove SSE4 |
| alternative 18 (?r, *v). Update insn attributes. |
| (*movsi_internal): Remove SSE4 alternative 13 (?r, *v). |
| Update insn attributes. |
| (*zero_extendsidi2): Remove SSE4 alternative (?r, *x). |
| Update insn attributes. |
| * config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4 |
| alternative 1 (r, v). Remove isa attribute. |
| * config/i386/i386.c (dimode_scalar_chain::make_vector_copies): |
| Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC |
| and !TARGET_INTER_UNIT_MOVES_TO_VEC targets. |
| |
| 2017-05-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative |
| to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r) |
| and (?*y,m). Update insn attributes. |
| |
| 2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| Backported from mainline |
| 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com> |
| |
| * config/sparc/sparc.md (length): Return the correct value for -mflat |
| sibcalls to match output_sibcall. |
| |
| 2017-05-26 Marek Polacek <polacek@redhat.com> |
| |
| Backported from mainline |
| 2017-05-26 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/80875 |
| * fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1 |
| can be negated. |
| |
| 2017-05-26 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-05-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80809 |
| * omp-low.c (finish_taskreg_remap): New function. |
| (finish_taskreg_scan): If unit size of ctx->record_type |
| is non-constant, unshare the size expression and replace |
| decls in it with possible outer var refs. |
| |
| PR middle-end/80809 |
| * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use |
| GOVD_SHARED rather than GOVD_PRIVATE with it. |
| (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect |
| GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE. |
| |
| PR middle-end/80853 |
| * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE |
| as last argument to build_outer_var_ref for pointer bases of array |
| section reductions. |
| |
| 2017-05-25 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Backport from trunk |
| 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80510 |
| * config/rs6000/predicates.md (simple_offsettable_mem_operand): |
| New predicate. |
| |
| * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator. |
| (define_peephole2 for Altivec d-form load): Add peepholes to catch |
| cases where the register allocator uses a move and an offsettable |
| memory operation to/from a FPR register on ISA 2.06/2.07. |
| (define_peephole2 for Altivec d-form store): Likewise. |
| |
| Backport from trunk |
| 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/68163 |
| * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that |
| are now unused after splitting mov{sf,sd}_hardfloat. |
| (f32_lr2): Likewise. |
| (f32_lm): Likewise. |
| (f32_lm2): Likewise. |
| (f32_li): Likewise. |
| (f32_li2): Likewise. |
| (f32_lv): Likewise. |
| (f32_sr): Likewise. |
| (f32_sr2): Likewise. |
| (f32_sm): Likewise. |
| (f32_sm2): Likewise. |
| (f32_si): Likewise. |
| (f32_si2): Likewise. |
| (f32_sv): Likewise. |
| (f32_dm): Likewise. |
| (f32_vsx): Likewise. |
| (f32_av): Likewise. |
| (mov<mode>_hardfloat): Split into separate movsf and movsd pieces. |
| For movsf, order stores so the VSX stores occur before the GPR |
| store which encourages the register allocator to use a traditional |
| FPR instead of a GPR. For movsd, order the stores so that the GPR |
| store comes before the VSX stores to allow the power6 to work. |
| This is due to the power6 not having a 32-bit integer store |
| instruction from a FPR. |
| (movsf_hardfloat): Likewise. |
| (movsd_hardfloat): Likewise. |
| |
| 2017-05-25 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainlin |
| PR rtl-optimization/80754 |
| * lra-remat.c (do_remat): Add overlap checks for dst_regno. |
| |
| 2017-05-25 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| Backport from mainline |
| PR target/80671 |
| * config/aarch64/cortex-a57-fma-steering.c (merge_forest): |
| Move member access before delete. |
| |
| 2017-05-23 Sheldon Lobo <sheldon.lobo@oracle.com> |
| |
| Backport from mainline |
| 2017-05-18 Sheldon Lobo <sheldon.lobo@oracle.com> |
| |
| * config/sparc/sparc.c (sparc_option_override): Set function |
| alignment for -mcpu=niagara7 to 64 to match the I$ line. |
| * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch |
| latency to 1. |
| * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch |
| latency to 2. |
| * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo. |
| |
| 2017-05-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80799 |
| * config/i386/mmx.md (*mov<mode>_internal): Enable |
| alternatives 11, 12, 13 and 14 also for 32bit targets. |
| Remove alternatives 15, 16, 17 and 18. |
| * config/i386/sse.md (vec_concatv2di): Change |
| alternative (!x, *y) to (x, ?!*Yn). |
| |
| 2017-05-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80706 |
| * config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec. |
| (UNSPEC_STX_ATOMIC): Ditto. |
| (loaddi_via_sse): New insn. |
| (storedi_via_sse): Ditto. |
| (atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse. |
| Update corresponding peephole2 patterns. |
| (atomic_storedi_fpu): Ditto. |
| |
| 2017-05-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var. |
| (rs6000_init_cost): Initialize rs6000_vect_nonmem. |
| (rs6000_add_stmt_cost): Update rs6000_vect_nonmem. |
| (rs6000_finish_cost): Avoid vectorizing simple copy loops with |
| VF=2 that require versioning. |
| |
| 2017-05-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8 |
| built-ins for vec_xl and vec_xst with short and char pointer |
| arguments. |
| |
| 2017-05-10 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/80090 |
| * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF, |
| handle calling assemble_external ourself. |
| |
| PR target/79027 |
| * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from |
| modes with zero size. Enhance comment. |
| |
| 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| Back port from mainline |
| 2017-05-05 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79038 |
| PR target/79202 |
| PR target/79203 |
| * config/rs6000/rs6000.md (u code attribute): Add FIX and |
| UNSIGNED_FIX. |
| (extendsi<mode>2): Add support for doing sign extension via |
| VUPKHSW and XXPERMDI if the value is in Altivec registers and we |
| don't have ISA 3.0 instructions. |
| (extendsi<mode>2 splitter): Likewise. |
| (fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer), |
| generate the normal insns since SImode can now go in vector |
| registers. Disallow the special UNSPECs needed for previous |
| machines to hide SImode being used. Add new insns |
| fctiw{,w}_<mode>_smallint if SImode can go in vector registers. |
| (fix_trunc<mode>si2_stfiwx): Likewise. |
| (fix_trunc<mode>si2_internal): Likewise. |
| (fixuns_trunc<mode>si2): Likewise. |
| (fixuns_trunc<mode>si2_stfiwx): Likewise. |
| (fctiw<u>z_<mode>_smallint): Likewise. |
| (fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion |
| of floating point to 32-bit integer from doing a direct move to |
| the GPR registers to do a store. |
| (fctiwz_<mode>): Break long line. |
| |
| 2017-05-08 Tamar Christina <tamar.christina@arm.com> |
| |
| PR middle-end/79665 |
| * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR, |
| CEIL_MOD_EXPR, ROUND_MOD_EXPR cases. |
| |
| 2017-05-03 Jan Beulich <jbeulich@suse.com> |
| |
| Backport from mainline |
| 2017-05-01 Jan Beulich <jbeulich@suse.com> |
| |
| * config/i386/sse.md (xop_vpermil2<mode>3): Do not allow operand |
| swapping, add (x,x,m,x,n) alternative. |
| |
| 2017-05-03 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2017-04-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80453 |
| * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members. |
| * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs |
| from the conditions. |
| (vn_phi_eq): Pass them down. |
| (vn_phi_lookup): Record them. |
| (vn_phi_insert): Likewise. |
| |
| 2017-04-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80492 |
| * alias.c (compare_base_decls): Handle registers with asm |
| specification conservatively. |
| |
| 2017-04-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80539 |
| * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not |
| being in loop-closed SSA form conservatively. |
| (chrec_fold_multiply_poly_poly): Likewise. |
| |
| 2017-05-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| Backport from mainline |
| 2017-05-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/68491 |
| * config/i386/cpuid.h (__get_cpuid): Always return 0 when |
| __get_cpuid_max returns 0. |
| (__get_cpuid_count): Ditto. |
| |
| 2017-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2017-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the |
| environment. |
| |
| 2017-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 7.1.1. |
| |
| 2017-05-02 Release Manager |
| |
| * GCC 7.1.0 released. |
| |
| 2017-05-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80591 |
| Revert |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (find_func_aliases): Properly handle |
| asm inputs. |
| |
| 2017-04-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/80531 |
| * cgraph.h (symtab_node::debug_symtab): No longer inline. |
| * symtab.c (symtab_node::debug_symtab): Move definition here. |
| |
| 2017-04-27 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/80530 |
| * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure |
| that the logic for permitting reciprocal estimates matches that |
| in use_rsqrt_p. |
| |
| 2017-04-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/80534 |
| * tree.c (type_cache_hasher::equal): Only compare |
| TYPE_TYPELESS_STORAGE flag on non-aggregate element types. |
| (build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on |
| non-aggregate element types. |
| * tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details |
| about the flag on ARRAY_TYPEs in the comment, formatting fix. |
| |
| PR target/79430 |
| * reg-stack.c (emit_swap_insn): If i1src mentions the stack pointer, |
| punt if tmp contains autoinc of stack pointer. |
| |
| PR target/77728 |
| * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove. |
| (aarch64_function_arg_alignment): Return unsigned int again, but still |
| ignore TYPE_FIELDS chain decls other than FIELD_DECLs. |
| (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. |
| Don't emit -Wpsabi note. |
| (aarch64_function_arg_boundary): Likewise. |
| (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment |
| caller. |
| |
| 2017-04-25 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/80497 |
| * gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer |
| constants are representable in HOST_WIDE_INT. |
| (parse_directive): Ditto. |
| |
| 2017-04-25 Marek Polacek <polacek@redhat.com> |
| |
| 2017-04-25 Marek Polacek <polacek@redhat.com> |
| Backport from mainline |
| |
| PR sanitizer/80349 |
| * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's |
| first argument to type. |
| |
| 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/77728 |
| * config/arm/arm.c: Include gimple.h. |
| (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align |
| returns negative, increment ncrn only if it returned positive. |
| (arm_needs_doubleword_align): Return int instead of bool, |
| ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain |
| members, but if there is any such non-FIELD_DECL |
| > PARM_BOUNDARY aligned decl, return -1 instead of false. |
| (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align |
| returns negative, increment nregs only if it returned positive. |
| (arm_setup_incoming_varargs): Likewise. |
| (arm_function_arg_boundary): Emit -Wpsabi note if |
| arm_needs_doubleword_align returns negative, return |
| DOUBLEWORD_ALIGNMENT only if it returned positive. |
| |
| 2017-04-25 Bill Seurer <seurer@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| PR target/80482 |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change |
| type checks to test for compatibility instead of equality. |
| |
| 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/77728 |
| * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New |
| type. |
| (aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment |
| struct. Ignore DECL_ALIGN of decls other than FIELD_DECL for |
| the alignment computation, but return their maximum in warn_alignment. |
| (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller. |
| Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment |
| is smaller. |
| (aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX. |
| (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment |
| caller. |
| |
| 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/80464 |
| * config/s390/vector.md: Split MEM->GPR vector moves for |
| non-s_operand addresses. |
| |
| 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/79895 |
| * config/s390/predicates.md (reload_const_wide_int_operand): New |
| predicate. |
| * config/s390/s390.md ("movti"): Remove d/P alternative. |
| ("movti_bigconst"): New pattern definition. |
| |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from maineline |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/80080 |
| * s390-protos.h (s390_expand_cs_hqi): Removed. |
| (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes. |
| * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer |
| modes as well as CCZ1mode and CCZmode. |
| (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new |
| signature of s390_emit_compare_and_swap. |
| (s390_expand_cs_hqi): Likewise, make static. |
| (s390_expand_cs_tdsi): Generate an explicit compare before trying |
| compare-and-swap, in some cases. |
| (s390_expand_cs): Wrapper function. |
| (s390_expand_atomic_exchange_tdsi): New backend specific expander for |
| atomic_exchange. |
| (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode. |
| * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the |
| patterns for small and large integers. Forbid symref memory operands. |
| Move expander to s390.c. Require cc register. |
| ("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal") |
| ("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1") |
| ("*atomic_compare_and_swapdi<CCZZ1:mode>_2") |
| ("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid |
| symref memory operands. Remove CC mode and call s390_match_ccmode |
| instead. |
| ("atomic_exchange<mode>"): Allow and implement all integer modes. |
| |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md (define_peephole2): New peephole to help |
| combining the load-and-test pattern with volatile memory. |
| |
| |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| Backport from mainline |
| 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal |
| with CCZmode for TARGET_Z196. |
| |
| 2017-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80501 |
| * combine.c (make_compound_operation_int): Set subreg_code to SET |
| even for AND with mask of the sign bit of mode. |
| |
| PR rtl-optimization/80500 |
| * loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on |
| sum's initial value. |
| |
| 2017-04-24 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2017-04-24 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/79931 |
| * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE. |
| |
| 2017-04-20 Alexander Monakov <amonakov@ispras.ru> |
| |
| Backport from mainline |
| 2017-04-20 Alexander Monakov <amonakov@ispras.ru> |
| |
| * omp-low.c (lower_lastprivate_clauses): Correct handling of linear |
| and lastprivate clauses in SIMT case. |
| |
| 2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| Backport from mainline |
| 2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips.c (mips_expand_vec_perm_const): Re-fix |
| uninitialized variable warning to avoid buffer overrun. |
| |
| 2017-04-20 Jakub Jelinek <jakub@redhat.com> |
| |
| * DEV-PHASE: Set to prerelease. |
| |
| 2017-04-20 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| * config/arm/arm.c (arm_elf_asm_cdtor): Create non-default |
| priority .init_array and .fini_array section with SECTION_NOTYPE |
| flag. |
| |
| 2017-04-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80423 |
| * tree.h (build_array_type): Add typeless_storage default argument. |
| * tree.c (type_cache_hasher::equal): Also compare |
| TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs. |
| (build_array_type): Add typeless_storage argument, set |
| TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to |
| recursive call. |
| (build_nonshared_array_type): Adjust build_array_type_1 caller. |
| (build_array_type): Likewise. Add typeless_storage argument. |
| |
| 2017-04-19 Eric Botcazou <ebotcazou@adacore.com> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80426 |
| * tree-vrp.c (extract_range_from_binary_expr_1): For an additive |
| operation on symbolic operands, also compute the overflow for the |
| invariant part when the operation degenerates into a negation. |
| |
| 2017-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80461 |
| * dwarf2out.c (modified_type_die, gen_type_die_with_usage): |
| Check for t with zero TYPE_QUALS_NO_ADDR_SPACE. |
| |
| PR debug/80436 |
| * tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses. |
| |
| 2017-04-19 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/80462 |
| * config/avr/avr.c (tree.h): Include it. |
| (cgraph.h): Include it. |
| (avr_encode_section_info): Don't warn for uninitialized progmem |
| variable if it's just an alias. |
| |
| 2017-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/65972 |
| * auto-profile.c (afdo_vpt_for_early_inline): Update SSA |
| when needed by AutoPGO. |
| |
| 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com> |
| |
| PR lto/50345 |
| * doc/lto.texi: Remove an extra 'that'. |
| |
| 2017-04-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/80429 |
| * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that |
| are only used in debug insns. |
| |
| 2017-04-19 Eric Botcazou <ebotcazou@adacore.com> |
| Vladimir Makarov <vmakarov@redhat.com> |
| |
| * config/sparc/predicates.md (input_operand): Add comment. Return |
| true for any memory operand when LRA is in progress. |
| * config/sparc/sparc.c (sparc_expand_move): Minor formatting fix. |
| |
| 2017-04-18 Jeff Law <law@redhat.com> |
| |
| PR target/74563 |
| * mips.md ({return,simple_return}_internal): Do not overwrite |
| operands[0]. |
| |
| 2017-04-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80443 |
| * tree-vrp.c (intersect_ranges): For signed 1-bit precision type, |
| instead of adding 1, subtract -1 and similarly instead of subtracting |
| 1 add -1. |
| |
| 2017-04-18 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR rtl-optimization/80357 |
| * haifa-sched.c (tmp_bitmap): New variable. |
| (model_recompute): Handle duplicate use records. |
| (alloc_global_sched_pressure_data): Initialize tmp_bitmap. |
| (free_global_sched_pressure_data): Free it. |
| |
| 2017-04-18 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| Revert: |
| 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe. |
| (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR |
| instead of SYSTEM_HEADER_DIR. |
| |
| 2017-04-18 Jeff Law <law@redhat.com> |
| |
| PR middle-end/80422 |
| * cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have |
| predecessors after walking up the insn chain. |
| |
| 2017-04-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80263 |
| * dwarf2out.c (modified_type_die): Try harder not to emit internal |
| sizetype type into debug info. |
| |
| 2017-04-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80099 |
| * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate |
| unneeded test for TARGET_UPPER_REGS_SF. |
| * config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise. |
| |
| 2017-04-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80444 |
| * sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb |
| instead of gsi_after_labels. |
| |
| 2017-04-18 Jeff Law <law@redhat.com> |
| |
| * regcprop.c (maybe_mode_change): Avoid creating copies of the |
| stack pointer. |
| |
| Revert: |
| 2017-04-13 Jeff Law <law@redhat.com> |
| * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear |
| in operands[1] if it is a MEM and TARGET_MIPS16 is active. |
| |
| 2017-04-18 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/79453 |
| * config/avr/avr.c (intl.h): Include it. |
| (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _(). |
| |
| 2017-04-18 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/78783 |
| * gcov-tool.c (gcov_output_files): Validate that destination |
| file is either removed by the tool or by a user. |
| |
| 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com> |
| Guy Benyei <guybe@mellanox.com> |
| |
| * config/arc/arc.c (arc_reorg): Move loop_end_id into a more local |
| block, and do not negate it, the stored id is already negative. |
| |
| 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com> |
| |
| * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax. |
| |
| 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/80098 |
| * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define |
| masks of options that should be turned off if the VSX vector |
| options are turned off. |
| (OTHER_P8_VECTOR_MASKS): Likewise. |
| (OTHER_VSX_VECTOR_MASKS): Likewise. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Call |
| rs6000_disable_incompatible_switches to validate no type switches |
| like -mvsx. |
| (rs6000_incompatible_switch): New function to disallow turning on |
| other vector options if -mno-vsx, -mno-power8-vector, or |
| -mno-power9-vector are specified. |
| |
| 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls. |
| |
| 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc-protos.h (arc_decl_pretend_args): Remove. |
| * config/arc/arc.c (arc_decl_pretend_args): Likewise. |
| * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise. |
| (ARG_POINTER_CFA_OFFSET): Likewise. |
| |
| 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (arc_mode_dependent_address_p): Relax |
| conditions to take advantage of various optimizations. |
| |
| 2017-04-13 Jeff Law <law@redhat.com> |
| |
| * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear |
| in operands[1] if it is a MEM and TARGET_MIPS16 is active. |
| (zero_extendsidi2_dext): Likewise. |
| |
| 2017-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80403 |
| * fold-const.c (fold_ternary_loc): Revert |
| use op0 instead of fold_convert_loc (loc, type, arg0) part of |
| 2017-04-12 change. |
| |
| 2017-04-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/80343 |
| * lra-remat.c (update_scratch_ops): Assign original hard reg to |
| new scratch pseudo. |
| |
| 2017-04-13 Denis Khalikov <d.khalikov@partner.samsung.com> |
| |
| PR sanitizer/80414 |
| * ubsan.c (ubsan_expand_bounds_ifn): Pass original index |
| to ubsan_encode_value. |
| |
| 2017-04-13 Jeff Law <law@redhat.com> |
| |
| * reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs |
| appearing in DEBUG_INSNs. |
| |
| 2017-04-13 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80413 |
| * gcov-io.c (gcov_write_string): Copy to buffer just when |
| allocated size is greater than zero. |
| |
| 2017-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80321 |
| * dwarf2out.c (decls_for_scope): Ignore declarations of |
| current_function_decl in BLOCK_NONLOCALIZED_VARS. |
| |
| 2017-04-12 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/69953 |
| * ipa-visibility.c (non_local_p): Fix typos. |
| (localize_node): When localizing symbol in same comdat group, |
| dissolve the group only when we know external symbols are going |
| to be privatized. |
| (function_and_variable_visibility): Do not localize DECL_EXTERNAL. |
| |
| 2017-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79390 |
| * optabs.c (emit_conditional_move): If the preferred op2/op3 operand |
| order does not result in usable sequence, retry with reversed operand |
| order. |
| |
| PR sanitizer/80403 |
| PR sanitizer/80404 |
| PR sanitizer/80405 |
| * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument |
| to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use |
| op0 instead of fold_convert_loc (loc, type, arg0). |
| |
| 2017-04-12 Jeff Law <law@redhat.com> |
| |
| * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still |
| has a delay slot in the generated code. |
| |
| * config/cris/cris.md (cris_preferred_reload_class): Return |
| GENNONACR_REGS rather than GENERAL_REGS. |
| |
| 2017-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/80163 |
| * expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND |
| vs. ZERO_EXTEND based on signedness of treeop0's type rather than |
| signedness of the result type. |
| |
| 2017-04-12 Richard Biener <rguenther@suse.de> |
| Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/80359 |
| * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not |
| trim stores to TARGET_MEM_REFs. |
| |
| 2017-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79390 |
| * gimple-ssa-split-paths.c (is_feasible_trace): Restrict |
| threading case even more. |
| |
| 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/80382 |
| * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test |
| for quad_address_p for TImode, instead of just not indexed_address. |
| |
| 2017-04-12 Richard Biener <rguenther@suse.de> |
| Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR middle-end/79671 |
| * alias.c (component_uses_parent_alias_set_from): Handle |
| TYPE_TYPELESS_STORAGE. |
| (get_alias_set): Likewise. |
| * tree-core.h (tree_type_common): Add typeless_storage flag. |
| * tree.h (TYPE_TYPELESS_STORAGE): New macro. |
| * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE |
| for types containing members with TYPE_TYPELESS_STORAGE. |
| (place_field): Likewise. |
| (layout_type): Likewise for ARRAY_TYPE. |
| * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE. |
| * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream |
| TYPE_TYPELESS_STORAGE. |
| * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise. |
| |
| 2017-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80349 |
| * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's |
| first argument to type. |
| |
| 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/80376 |
| PR target/80315 |
| * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return |
| CONST0_RTX (mode) rather than const0_rtx where appropriate. |
| (rs6000_expand_binop_builtin): Likewise. |
| (rs6000_expand_ternop_builtin): Likewise; also add missing |
| vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for |
| vshasigma built-ins. |
| * doc/extend.texi: Document that vec_xxpermdi's third argument |
| must be a constant. |
| |
| 2017-04-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain): |
| Use shift_const cost parameter when calculating gain of STV shifts. |
| |
| 2017-04-11 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70478 |
| * lra-constraints.c (process_alt_operands): Check memory for |
| disfavoring memory insn operand. |
| |
| 2017-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80100 |
| * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform |
| left shift in unsigned HOST_WIDE_INT type. |
| |
| PR rtl-optimization/80385 |
| * simplify-rtx.c (simplify_unary_operation_1): Don't transform |
| (not (neg X)) into (plus X -1) for complex or non-integral modes. |
| |
| PR libgomp/80394 |
| * omp-low.c (scan_omp_task): Don't optimize away empty tasks |
| if they have any depend clauses. |
| |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * cgraph.c (cgraph_node::dump): Dump calls_comdat_local. |
| * ipa-split.c (split_function): Create a local comdat symbol |
| if caller is in a comdat group. |
| |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * ipa-cp.c (determine_versionability): Handle calls_comdat_local |
| flags. |
| |
| 2017-04-11 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/80364 |
| * gimple-ssa-sprintf.c (get_int_range): Remove second argument and |
| always use the int type. Use INTEGRAL_TYPE_P() rather than testing |
| for INTEGER_TYPE. |
| (directive::set_width, directive::set_precision, format_character): |
| Adjust. |
| (parse_directive): Use INTEGRAL_TYPE_P() rather than testing for |
| INTEGER_TYPE. |
| |
| 2017-04-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/80389 |
| * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch |
| conflict, set target->arch_name instead of target->cpu_name. |
| |
| 2017-04-11 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80374 |
| * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use |
| build_zero_cst, remove fold_convertible_p check again. |
| |
| 2017-04-11 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/70878 |
| * ubsan.c (instrument_object_size): Do not instrument register |
| variables. |
| |
| 2017-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80381 |
| * config/i386/i386-builtin-types.def |
| (V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT, |
| V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT, |
| V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT, |
| V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT, |
| V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT, |
| V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT, |
| V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT, |
| V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT, |
| V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT, |
| V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT, |
| V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT, |
| V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT, |
| V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT, |
| V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT, |
| V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT, |
| V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT, |
| V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT, |
| V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases. |
| * config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask, |
| __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask, |
| __builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask, |
| __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask, |
| __builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask, |
| __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask, |
| __builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask, |
| __builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask, |
| __builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask, |
| __builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask, |
| __builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask, |
| __builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask, |
| __builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask, |
| __builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask, |
| __builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask, |
| __builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask, |
| __builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask, |
| __builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask, |
| __builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask, |
| __builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask, |
| __builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask, |
| __builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask, |
| __builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask, |
| __builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask, |
| __builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask, |
| __builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask, |
| __builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask, |
| __builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type |
| aliases. |
| * config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count |
| flag to second_arg_count, handle 4 argument function type _COUNT |
| aliases, handle second_arg_count on second argument rather than last. |
| |
| 2017-04-10 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/80374 |
| * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to |
| record anything if we can not convert integer_zero_node to the |
| desired type. |
| |
| 2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/80108 |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): |
| Enhance special handling given to the TARGET_P9_MINMAX option in |
| relation to certain other options. |
| |
| 2017-04-10 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/80153 |
| * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and |
| remove POINTER_PLUS_EXPR's base part directly, rather than through |
| aff_tree. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/80153 |
| * tree-affine.c (aff_combination_to_tree): Get base pointer from |
| the first element of pointer type aff_tree. Build result expr in |
| aff_tree's type. |
| (add_elt_to_tree): Convert to type unconditionally. Remove other |
| fold_convert calls. |
| * tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types. |
| (rewrite_use_nonlinear_expr): Check invariant using iv information. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-structalias.c (find_func_aliases): Properly handle |
| asm inputs. |
| |
| 2017-04-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70478 |
| * lra-constraints.c (curr_small_class_check): New. |
| (update_and_check_small_class_inputs): New. |
| (process_alt_operands): Update curr_small_class_check. Disfavor |
| alternative insn memory operands. Check available regs for small |
| class operands. |
| |
| 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/80057 |
| * config/mips/mips.opt (-mvirt): Update description. |
| * doc/invoke.texi (-mvirt): Likewise. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80362 |
| * fold-const.c (fold_binary_loc): Look at unstripped ops when |
| looking for NEGATE_EXPR in -A / -B to A / B folding. |
| |
| 2017-04-10 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80224 |
| * gcov.c (print_usage): Fix usage string. |
| (get_gcov_intermediate_filename): Remove. |
| (output_gcov_file): Use both for normal and intermediate format. |
| (generate_results): Do not initialize special file for |
| intermediate format. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80304 |
| * tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse |
| for safelen. |
| |
| 2017-04-10 Nathan Sidwell <nathan@acm.org> |
| |
| PR target/79905 |
| * config/rs6000/rs6000.c (rs6000_vector_type): New. |
| (rs6000_init_builtins): Use it. |
| |
| 2016-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.md (<mrc>): Add mode to SET source. |
| (<mrrc>): Likewise. |
| |
| 2017-04-10 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80344 |
| * gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs. |
| |
| 2017-04-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80324 |
| * config/i386/avx512fintrin.h (_mm512_reduce_add_epi32, |
| _mm512_reduce_mul_epi32, _mm512_reduce_and_epi32, |
| _mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32, |
| _mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32, |
| _mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32, |
| _mm512_reduce_max_epi32, _mm512_reduce_min_epu32, |
| _mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32, |
| _mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32, |
| _mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps, |
| _mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps, |
| _mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps, |
| _mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps, |
| _mm512_reduce_add_epi64, _mm512_reduce_mul_epi64, |
| _mm512_reduce_and_epi64, _mm512_reduce_or_epi64, |
| _mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64, |
| _mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64, |
| _mm512_reduce_min_epi64, _mm512_reduce_max_epi64, |
| _mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64, |
| _mm512_reduce_min_epu64, _mm512_reduce_max_epu64, |
| _mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64, |
| _mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd, |
| _mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd, |
| _mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics. |
| |
| 2017-04-08 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70478 |
| * lra-constraints.c: Reverse the last patch. |
| |
| 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME. |
| Add comment for WCHAR_T. |
| |
| 2017-04-08 Martin Liska <mliska@suse.cz> |
| |
| Revert: |
| 2017-04-07 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * ipa-split.c (split_function): Add function part to a same comdat |
| group. |
| |
| 2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/80358 |
| * config/rs6000/rs6000.c (expand_block_compare): Fix boundary check. |
| |
| 2017-04-07 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * rs6000/rs6000.c (vec_load_pendulum): Rename... |
| (vec_pairing): ...to this. |
| (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns. |
| (rs6000_sched_init): Adjust for name change. |
| (struct rs6000_sched_context): Likewise. |
| (rs6000_init_sched_context): Likewise. |
| (rs6000_set_sched_context): Likewise. |
| |
| 2017-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80322 |
| PR target/80323 |
| PR target/80325 |
| PR target/80326 |
| * config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New |
| intrinsics. |
| * config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int, |
| _mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd, |
| _mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise. |
| |
| 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE. |
| |
| 2017-04-07 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70703 |
| * ira-color.c (update_conflict_hard_regno_costs): Use |
| int64_t instead of HOST_WIDE_INT. |
| |
| 2017-04-07 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70478 |
| * lra-constraints.c (process_alt_operands): Disfavor alternative |
| insn memory operands. |
| |
| 2017-04-07 Jeff Law <law@redhat.com> |
| |
| * config/iq2000/iq2000.c (final_prescan_insn): Do not separate a |
| CALL and NOTE_INSN_CALL_ARG_LOCATION. |
| |
| 2017-04-07 Martin Liska <mliska@suse.cz> |
| |
| PR target/79889 |
| * config/aarch64/aarch64.c (aarch64_process_target_attr): |
| Show error message instead of an ICE. |
| |
| 2017-04-07 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80212 |
| * ipa-split.c (split_function): Add function part to a same comdat |
| group. |
| |
| 2017-04-07 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80341 |
| * tree.c (get_unwidened): Also handle ! for_type case for |
| INTEGER_CSTs. |
| * convert.c (do_narrow): Split out from ... |
| (convert_to_integer_1): ... here. Do not pass final truncation |
| type to get_unwidened for TRUNC_DIV_EXPR. |
| |
| 2017-04-07 Richard Biener <rguenther@suse.de> |
| |
| * tree-affine.c (wide_int_ext_for_comb): Take type rather |
| than aff_tree. |
| (aff_combination_const): Adjust. |
| (aff_combination_scale): Likewise. |
| (aff_combination_add_elt): Likewise. |
| (aff_combination_add_cst): Likewise. |
| (aff_combination_convert): Likewise. |
| (add_elt_to_tree): Likewise. Remove unused argument. |
| (aff_combination_to_tree): Adjust calls to add_elt_to_tree. |
| |
| 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default |
| definition. |
| * config/arm/arm.c (arm_default_short_enums): Use |
| ARM_DEFAULT_SHORT_ENUMS. |
| * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define. |
| |
| 2017-04-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/80234 |
| * dwarf2out.c (gen_member_die): Handle C++17 inline static data |
| members with redundant out-of-class redeclaration. |
| |
| 2017-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80286 |
| * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern. |
| * config/i386/i386.md (*zero_extendsidi2): |
| Add (?*x,*x) and (?*v,*v) alternatives. |
| |
| 2017-04-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79733 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand |
| mode from insn data. Convert operands to insn operand mode. |
| Copy operands that don't satisfy insn predicate to a register. |
| |
| 2017-04-06 Sam Thursfield <sam.thursfield@codethink.co.uk> |
| |
| * config/rs6000/x-aix: Increase memory limit for genautomata on AIX. |
| Update comments. |
| |
| 2017-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80334 |
| * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly |
| preserve alignment of accesses. |
| |
| 2017-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80262 |
| * tree-sra.c (build_ref_for_offset): Preserve address-space |
| information. |
| * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): |
| Drop useless address-space information on MEM_REF offsets. |
| |
| 2017-04-05 Andreas Schwab <schwab@linux-m68k.org> |
| |
| * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type. |
| |
| 2017-04-05 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70703 |
| * ira-color.c (update_conflict_hard_regno_costs): Use |
| HOST_WIDE_INT instead of long. |
| |
| 2017-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80298 |
| * config/i386/mmintrin.h: Add -msse target option when __SSE__ is |
| not defined for x86_64 target. Add -mmmx target option when __SSE2__ |
| is not defined. |
| * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined |
| for x86_64 target. Handle -m3dnowa option. |
| |
| 2017-04-05 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/70703 |
| * ira-color.c (update_costs_from_allocno): Use the smallest mode. |
| (update_conflict_hard_regno_costs): Use long instead of unsigned |
| arithmetic for cost calculation. |
| |
| 2017-04-05 Jakub Jelinek <jakub@redhat.com> |
| Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| PR sanitizer/80308 |
| * asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value |
| for big endian. |
| |
| 2017-04-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/78002 |
| * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace |
| ptr_mode with Pmode throughout. |
| * config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename |
| into probe_stack_range and use DImode. |
| |
| 2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/79890 |
| * config/s390/s390.c (s390_register_info_gprtofpr): Return if |
| call_eh_return is true. |
| |
| 2017-04-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_resolve_overloaded_builtin): |
| Initialize last_match_fntype_index. |
| |
| 2017-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80310 |
| * tree-nvr.c: Include internal-fn.h. |
| (pass_return_slot::execute): Ignore internal calls without |
| direct optab. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR c++/80297 |
| * genmatch.c (capture::gen_transform): For GENERIC unshare_expr |
| captures used multiple times, except for the last use. |
| * generic-match-head.c: Include gimplify.h. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79390 |
| * target.h (struct noce_if_info): Declare. |
| * targhooks.h (default_noce_conversion_profitable_p): Declare. |
| * target.def (noce_conversion_profitable_p): New target hook. |
| * ifcvt.h (struct noce_if_info): New type, moved from ... |
| * ifcvt.c (struct noce_if_info): ... here. |
| (noce_conversion_profitable_p): Renamed to ... |
| (default_noce_conversion_profitable_p): ... this. No longer |
| static nor inline. |
| (noce_try_store_flag_constants, noce_try_addcc, |
| noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith, |
| noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p |
| instead of noce_conversion_profitable_p. |
| * config/i386/i386.c: Include ifcvt.h. |
| (ix86_option_override_internal): Don't override |
| PARAM_MAX_RTL_IF_CONVERSION_INSNS default. |
| (ix86_noce_conversion_profitable_p): New function. |
| (TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine. |
| * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment. |
| * doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add. |
| * doc/tm.texi: Regenerated. |
| |
| 2017-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar |
| correction. |
| |
| 2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/80307 |
| * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32 |
| instructions for small multiply cores. |
| |
| 2017-04-04 Jeff Law <law@redhat.com> |
| |
| * config/mips/mips.c (mips_multi_add): Zero initialize the newly |
| added member. |
| (mips_expand_vec_perm_const): Initialize elements in orig_perm |
| that are not set by the loop over the elements. |
| |
| 2017-04-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80286 |
| * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar |
| int mode, convert_modes it to mode as unsigned, otherwise use |
| lowpart_subreg to mode rather than SImode. |
| * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>, |
| ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>): |
| Use DImode instead of SImode for the shift count operand. |
| * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3): |
| Likewise. |
| |
| 2017-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80281 |
| * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned |
| arithmetic done for the negate or the plus. Simplify. |
| (A - (-B) -> A + B): Likewise. |
| * fold-const.c (split_tree): Make sure to not negate pointers. |
| |
| 2017-04-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/60818 |
| * simplify-rtx.c (simplify_binary_operation_1): Do not replace |
| a compare of comparisons with the thing compared if this results |
| in a different machine mode. |
| |
| 2017-04-03 Jonathan Wakely <jwakely@redhat.com> |
| |
| * alias.c (base_alias_check): Fix typo in comment. |
| * cgraph.h (class ipa_polymorphic_call_context): Likewise. |
| * cgraphunit.c (symbol_table::compile): Likewise. |
| * collect2.c (maybe_run_lto_and_relink): Likewise. |
| * config/arm/arm.c (arm_thumb1_mi_thunk): Likewise. |
| * config/avr/avr-arch.h (avr_arch_info_t): Likewise. |
| * config/avr/avr.c (avr_map_op_t): Likewise. |
| * config/cr16/cr16.h (DATA_ALIGNMENT): Likewise. |
| * config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise. |
| * config/epiphany/epiphany.md (movcc): Likewise. |
| * config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise. |
| * config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue): |
| Likewise. |
| * config/mips/mips.c (mips_save_restore_reg): Likewise. |
| * config/rx/rx.c (rx_is_restricted_memory_address): Likewise. |
| * config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise. |
| * config/sh/sh.c (sh_rtx_costs): Likewise. |
| * fold-const.c (fold_truth_andor): Likewise. |
| * genautomata.c (collapse_flag): Likewise. |
| * gengtype.h (struct type::u::s): Likewise. |
| * gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise. |
| * input.c (FORMAT_AMOUNT): Likewise. |
| * ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector) |
| (known_aggs_to_agg_replacement_list): Likewise. |
| * ipa-inline-analysis.c: Likewise. |
| * ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise. |
| * ipa-polymorphic-call.c |
| (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise. |
| * loop-unroll.c (analyze_insn_to_expand_var): Likewise. |
| * lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos): |
| Likewise. |
| * modulo-sched.c (apply_reg_moves): Likewise. |
| * omp-expand.c (build_omp_regions_1): Likewise. |
| * trans-mem.c (struct tm_wrapper_hasher): Likewise. |
| * tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise. |
| * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise. |
| * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise. |
| * value-prof.c: Likewise. |
| * var-tracking.c (val_reset): Likewise. |
| |
| 2017-04-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80275 |
| * fold-const.c (split_address_to_core_and_offset): Handle |
| POINTER_PLUS_EXPR. |
| |
| 2017-04-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * tree-nested.c (get_descriptor_type): Make sure that the alignment of |
| descriptors is at least equal to that of functions. |
| |
| 2017-04-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (movdi_to_sse): Add missing DONE. |
| |
| 2017-04-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80250 |
| * config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern. |
| (mov<IMOD4:mode>): New expander. |
| (*mov<IMOD4:mode>_internal): New insn and split pattern. |
| |
| 2017-03-31 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/79405 |
| * fwprop.c (propagations_left): New variable. |
| (forward_propagate_into): Decrement it. |
| (fwprop_init): Initialize it. |
| (fw_prop): If the variable has reached zero, stop propagating. |
| (fwprop_addr): Ditto. |
| |
| 2017-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/79255 |
| * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is |
| a FUNCTION_DECL, pass it as decl instead of origin to |
| process_scope_var. |
| |
| 2017-03-31 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format |
| string. |
| |
| 2017-03-31 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/80107 |
| * config/rs6000/rs6000.md (extendhi<mode>2): Add test for |
| TARGET_VSX_SMALL_INTEGER. |
| |
| 2017-03-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Add |
| reference to the OpenPOWER 64-Bit ELF V2 ABI Specification. |
| |
| 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update |
| extraction from odd-numbered MSA register. |
| |
| 2017-03-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/80173 |
| * expmed.c (store_bit_field_1): Don't attempt to create |
| a word subreg out of hard registers wider than word if they |
| have HARD_REGNO_NREGS of 1 for their mode. |
| |
| PR middle-end/80163 |
| * varasm.c (initializer_constant_valid_p_1): Disallow sign-extending |
| conversions to integer types wider than word and pointer. |
| |
| PR debug/80025 |
| * cselib.h (rtx_equal_for_cselib_1): Add depth argument. |
| (rtx_equal_for_cselib_p): Pass 0 to it. |
| * cselib.c (cselib_hasher::equal): Likewise. |
| (rtx_equal_for_cselib_1): Add depth argument. If depth |
| is 128, don't look up VALUE locs and punt. Increment |
| depth in recursive calls when walking VALUE locs. |
| |
| 2017-03-31 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes. |
| (make_gcov_file_name): Use the canonical path name for generating |
| the MD5 value. |
| (read_line): Fix handling of files with ascii null bytes. |
| |
| 2017-03-30 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * config/mips/mips.c (mips_expand_vector_init): Create a const_vector |
| to initialise a vector register instead |
| of using a const_int. |
| |
| 2017-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/80189 |
| * gimplify.c (omp_default_clause): Use %qs instead of %s in |
| diagnostic messages. |
| |
| 2017-03-30 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/80246 |
| * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0. |
| (dfp_diex_<mode>): Update mode of operand 1. |
| * doc/extend.texi (dxex, dxexq): Document change to return type. |
| (diex, diexq): Document change to argument type. |
| |
| 2017-03-30 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/77333 |
| * cgraph.h (cgraph_build_function_type_skip_args): Declare. |
| * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that |
| it reflects the signature changes performed at the callee side. |
| * cgraphclones.c (build_function_type_skip_args): Make public, renamed |
| to cgraph_build_function_type_skip_args. |
| (build_function_decl_skip_args): Adjust call to the above function. |
| |
| 2017-03-30 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80206 |
| * config/i386/sse.md |
| (<extract_type>_vextract<shuffletype><extract_suf>_mask): Use |
| register as dest whenever it is a MEM not rtx_equal_p to the |
| corresponding dup operand, and when forcing into reg move the |
| reg into the memory afterwards. |
| (<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask): |
| Likewise. Use <ssehalfvecmode> instead of <ssequartermode> |
| for the force_reg mode. |
| (avx512vl_vextractf128<mode>): Use register as dest either |
| always when a MEM, or when it is a MEM not rtx_equal_p to the |
| corresponding dup operand, or even not when it is a CONST_VECTOR |
| depending on the mode and lo vs. hi. |
| (avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous |
| parens. |
| (avx512f_vextract<shuffletype>32x4_1_maskm): Likewise. |
| (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>): |
| Likewise. Require that operands[2] is even. |
| (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>): |
| Remove extraneous parens. Require that operands[2] is a multiple |
| of 4. |
| (vec_extract_lo_<mode><mask_name>): Don't bother testing if |
| operands[0] is a MEM if <mask_applied>, the predicates/constraints |
| disallow memory then. |
| |
| 2017-03-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77498 |
| * tree-ssa-pre.c (phi_translate_1): Do not allow simplifications |
| to non-constants over backedges. |
| |
| 2017-03-29 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/80233 |
| * combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns |
| as last_combined_insn. Do not test for BARRIER_P separately. |
| |
| 2017-03-29 Andreas Schwab <schwab@suse.de> |
| |
| PR ada/80146 |
| * calls.c (prepare_call_address): Convert funexp to Pmode before |
| copying to temp reg. |
| |
| 2017-03-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/80158 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): |
| Handle possible future case of more than one alternate |
| interpretation. |
| (replace_rhs_if_not_dup): Likewise. |
| (replace_one_candidate): Likewise. |
| |
| 2017-03-28 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/80193 |
| * ira.c (ira): Do not check allocation for LRA. |
| |
| 2017-03-28 Alexander Monakov <amonakov@ispras.ru> |
| |
| * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare. |
| (nvptx_output_simt_exit): Declare. |
| * config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use |
| cfun->machine->unisimt_location. Handle NULL unisimt_predicate. |
| (init_softstack_frame): Move initialization of crtl->is_leaf to... |
| (nvptx_declare_function_name): ...here. Emit declaration of local |
| memory space buffer for omp_simt_enter insn. |
| (nvptx_output_unisimt_switch): New. |
| (nvptx_output_softstack_switch): New. |
| (nvptx_output_simt_enter): New. |
| (nvptx_output_simt_exit): New. |
| * config/nvptx/nvptx.h (struct machine_function): New fields |
| has_simtreg, unisimt_location, simt_stack_size, simt_stack_align. |
| * config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec. |
| (UNSPECV_SIMT_EXIT): Ditto. |
| (omp_simt_enter_insn): New insn. |
| (omp_simt_enter): New expansion. |
| (omp_simt_exit): New insn. |
| * config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option. |
| |
| * internal-fn.c (expand_GOMP_SIMT_ENTER): New. |
| (expand_GOMP_SIMT_ENTER_ALLOC): New. |
| (expand_GOMP_SIMT_EXIT): New. |
| * internal-fn.def (GOMP_SIMT_ENTER): New internal function. |
| (GOMP_SIMT_ENTER_ALLOC): Ditto. |
| (GOMP_SIMT_EXIT): Ditto. |
| * target-insns.def (omp_simt_enter): New insn. |
| (omp_simt_exit): Ditto. |
| * omp-low.c (struct omplow_simd_context): New fields simt_eargs, |
| simt_dlist. |
| (lower_rec_simd_input_clauses): Implement SIMT privatization. |
| (lower_rec_input_clauses): Likewise. |
| (lower_lastprivate_clauses): Handle SIMT privatization. |
| |
| * omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h. |
| (ompdevlow_adjust_simt_enter): New. |
| (find_simtpriv_var_op): New. |
| (execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER, |
| IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT. |
| |
| * tree-inline.h (struct copy_body_data): New field dst_simt_vars. |
| * tree-inline.c (expand_call_inline): Handle SIMT privatization. |
| (copy_decl_for_dup_finish): Ditto. |
| |
| * tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER. |
| |
| 2017-03-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/53383 |
| * config/i386/i386.c (ix86_option_override_internal): Always |
| allow -mpreferred-stack-boundary=3 for 64-bit targets. |
| |
| 2017-03-28 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop. |
| |
| 2017-03-28 Bin Cheng <bin.cheng@arm.com> |
| |
| * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and |
| mark new edge's irreducible flag accordign to it. |
| (vect_do_peeling): Check loop preheader edge's irreducible flag |
| and pass it to function slpeel_add_loop_guard. |
| |
| 2017-03-28 Richard Sandiford <richard.sandiford@arm.com> |
| |
| PR tree-optimization/80218 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Update block frequencies and counts. |
| |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78644 |
| * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value |
| of a simplification result we may not use it at all. |
| |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/80205 |
| * tree-inline.c (copy_phis_for_bb): Do not create PHI node |
| without arguments, generate default definition of a SSA name. |
| |
| 2017-03-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80222 |
| * gimple-fold.c (gimple_fold_indirect_ref): Do not touch |
| TYPE_REF_CAN_ALIAS_ALL references. |
| * fold-const.c (fold_indirect_ref_1): Likewise. |
| |
| 2017-03-28 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/80104 |
| * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a |
| thunk call as DECL_GIMPLE_REG_P when vector or complex type. |
| |
| 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com> |
| Thomas Petazzoni <thomas.petazzoni@free-electrons.com> |
| |
| * config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec. |
| (EXTRA_SPECS): Define. |
| (SUBTARGET_EXTRA_SPECS): Likewise. |
| (SUBTARGET_CPP_SPEC): Likewise. |
| * config/arc/elf.h (EXTRA_SPECS): Renamed to |
| SUBTARGET_EXTRA_SPECS. |
| * config/arc/linux.h (SUBTARGET_CPP_SPEC): Define. |
| |
| 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/simdext.md (vst64_insn): Update pattern. |
| (vld32wh_insn): Likewise. |
| (vld32wl_insn): Likewise. |
| (vld64_insn): Likewise. |
| (vld32_insn): Likewise. |
| |
| 2017-03-28 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/80067 |
| * fold-const.c (fold_comparison): Use protected_set_expr_location |
| instead of SET_EXPR_LOCATION. |
| |
| 2017-03-28 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * tree.c (add_expr): Avoid name lookup warning. |
| |
| 2017-03-27 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/80216 |
| * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in |
| function name. Limit recursion depth. |
| (record_temporary_equivalences): Corresponding changes. |
| |
| 2017-03-27 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is |
| covered first. |
| |
| 2017-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/80102 |
| * reg-notes.def (REG_CFA_NOTE): Define. Use it for CFA related |
| notes. |
| * cfgcleanup.c (reg_note_cfa_p): New array. |
| (insns_have_identical_cfa_notes): New function. |
| (old_insns_match_p): Don't cross-jump in between /f |
| and non-/f instructions. If both i1 and i2 are frame related, |
| verify all CFA notes, their order and content. |
| |
| 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78543 |
| * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap |
| HImode and SImode with zero extend to DImode to one insn. |
| (bswap<mode>2_extenddi): Likewise. |
| (bswapsi2_extenddi): Likewise. |
| (bswaphi2_extendsi): Likewise. |
| (bswaphi2): Combine bswap HImode and SImode into one insn. |
| Separate memory insns from swapping register. |
| (bswapsi2): Likewise. |
| (bswap<mode>2): Likewise. |
| (bswaphi2_internal): Delete, no longer used. |
| (bswapsi2_internal): Likewise. |
| (bswap<mode>2_load): Split bswap HImode/SImode into separate load, |
| store, and gpr<-gpr swap insns. |
| (bswap<mode>2_store): Likewise. |
| (bswaphi2_reg): Register only splitter, combine with the splitter. |
| (bswaphi2 splitter): Likewise. |
| (bswapsi2_reg): Likewise. |
| (bswapsi2 splitter): Likewise. |
| (bswapdi2): If we have the LDBRX and STDBRX instructions, split |
| the insns into load, store, and register/register insns. |
| (bswapdi2_ldbrx): Likewise. |
| (bswapdi2_load): Likewise. |
| (bswapdi2_store): Likewise. |
| (bswapdi2_reg): Likewise. |
| |
| 2017-03-27 Gunther Nikl <gnikl@users.sourceforge.net> |
| |
| * system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case. |
| (HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise. |
| |
| 2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/80103 |
| * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and |
| add comments. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| special handling for target option conflicts between dform |
| options (-mpower9-dform, -mpower9-dform-vector, |
| -mpower9-dform-scalar) and -mno-direct-move. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80181 |
| * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED. |
| |
| 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/predicates.md (move_double_src_operand): Replace the |
| call to move_double_src_operand with a call to address_operand. |
| |
| 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define. |
| * config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise. |
| * config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT. |
| |
| 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/predicates.md (long_immediate_loadstore_operand): |
| Consider scaled addresses cases. |
| |
| 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (arc_epilogue_uses): BLINK should be also |
| restored when in interrupt. |
| * config/arc/arc.md (simple_return): ARCv2 rtie instruction |
| doesn't have delay slot. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/79776 |
| * tree-ssa-structalias.c (associate_varinfo_to_alias): Skip |
| inlined thunk clones. |
| |
| 2017-03-27 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/80168 |
| * asan.c (instrument_derefs): Copy over last operand from |
| original COMPONENT_REF to the new COMPONENT_REF with |
| DECL_BIT_FIELD_REPRESENTATIVE. |
| * ubsan.c (instrument_object_size): Likewise. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80170 |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make |
| sure DR/SCEV didnt fold in constants we do not see when looking |
| at the reference base alignment. |
| |
| 2017-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80171 |
| * gimple-fold.c (fold_ctor_reference): Properly guard against |
| NULL return value from canonicalize_constructor_val. |
| |
| 2017-03-25 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80180 |
| * config/i386/i386.c (ix86_expand_builtin) |
| <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between |
| flags reg setting and flags reg using instructions. |
| <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg |
| clobbering instructions to zero extend op2. |
| |
| 2017-03-25 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Configuration) <--with-aix-soname>: |
| Update link to AIX ld. |
| |
| 2017-03-25 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/80160 |
| PR rtl-optimization/80159 |
| * lra-assigns.c (must_not_spill_p): Tighten new test to also take |
| reg_alternate_class into account. |
| |
| 2017-03-24 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/80148 |
| * lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos |
| to consider in curr_insn_transform. |
| |
| 2017-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * genrecog.c (validate_pattern): Add VEC_SELECT validation. |
| * genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits |
| and emit_mode_inner. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtins.def: Add VXE builtins. Add a flags |
| argument to the overloaded builtin variants. Use the new flag to |
| deprecate certain builtin variants. |
| * config/s390/s390-builtin-types.def: Add new builtin types. |
| * config/s390/s390-builtins.h: Support new flags field for |
| overloaded builtins. |
| * config/s390/s390-c.c (OB_DEF_VAR): New flags field. |
| (s390_macro_to_expand): Enable vector float data type. |
| (s390_cpu_cpp_builtins_internal): Indicate support of the new |
| builtins by incrementing the __VEC__ version number. |
| (s390_expand_overloaded_builtin): Support expansion of vec_xl and |
| vec_xst. |
| (s390_resolve_overloaded_builtin): Emit error messages depending |
| on the builtin flags. |
| * config/s390/s390.c (s390_expand_builtin): Support additional |
| flags argument. Change error message to match the messages |
| emitted in s390-c.c. |
| * config/s390/s390.md: New UNSPEC_* constants. |
| (op_type): Add new instruction types. |
| * config/s390/vecintrin.h: Add new builtins and test data class |
| constants. |
| * config/s390/vx-builtins.md (V_HW_32_64): Add V4SF. |
| (V_HW_4, VEC_HW, VECF_HW): New mode iterators. |
| (VEC_INEXACT, VEC_NOINEXACT): New constants. |
| ("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>") |
| ("vec_insert_and_zero<mode>", "vec_mergeh<mode>") |
| ("vec_mergel<mode>"): V_HW -> VEC_HW. |
| |
| ("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di") |
| ("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly") |
| ("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64") |
| ("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition. |
| |
| ("and_av2df3", "and_cv2df3", "vec_andc_av2df3") |
| ("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3") |
| ("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs") |
| ("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition. |
| |
| ("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df") |
| ("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df") |
| ("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64") |
| ("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly") |
| ("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc") |
| ("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc") |
| ("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ... |
| |
| ("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>") |
| ("vec_scatter_element<V_HW_4:mode>_DI") |
| ("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb") |
| ("vec_fpint<mode>", "vflls") |
| ("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc") |
| ("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc") |
| ("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc") |
| ("*vec_cmphe<mode>_cc"): ... these. |
| |
| ("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding |
| mode constant instead of magic value. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vec_compare): Support other |
| vector floating point modes than just V2DF. |
| (s390_expand_vcond): Likewise. |
| (s390_hard_regno_mode_ok): Allow SFmode values in VRs. |
| (s390_cannot_change_mode_class): Prevent mode changes between TF |
| and V1TF in vector registers. |
| * config/s390/s390.md (DF, SF): New mode attributes. |
| ("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3") |
| ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add |
| SFmode support for VRs. |
| * config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new |
| vector fp modes. |
| (VFT, VF_HW): New mode iterators. |
| (vw, sdx): New mode attributes. |
| ("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2") |
| ("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2") |
| ("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc") |
| ("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df") |
| ("vec_unorderedv2df"): Adjust the v2df only patterns to support |
| also the new vector floating point modes. Renaming to ... |
| |
| ("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3") |
| ("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2") |
| ("abs<mode>2", "negabs<mode>2", "smax<mode>3") |
| ("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc") |
| ("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>") |
| ("vec_unordered<mode>"): ... these. |
| |
| ("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe") |
| ("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf") |
| ("*vec_extendv2df"): New insn definitions. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3") |
| ("mulditi3_2", "*muldi3_sign"): New patterns. |
| ("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and |
| rename the pattern definition. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("indirect_jump"): Turn insn definition into |
| expander. |
| ("*indirect_jump", "*indirect2_jump"): New pattern definitions. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vec_init): Use vllezl |
| instruction if possible. |
| * config/s390/vector.md (vec_halfnumelts): New mode |
| attribute. |
| ("*vec_vllezlf<mode>"): New pattern. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vector.md ("popcountv16qi2", "popcountv8hi2") |
| ("popcountv4si2", "popcountv2di2"): Rename to ... |
| ("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx") |
| ("popcountv2di2_vx"): ... these and add !TARGET_VXE to the |
| condition. |
| ("popcount<mode>2_vxe"): New pattern. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * common/config/s390/s390-common.c (processor_flags_table): Add |
| arch12. |
| * config.gcc: Add arch12. |
| * config/s390/driver-native.c (s390_host_detect_local_cpu): |
| Default to arch12 for unknown CPU model numbers. |
| * config/s390/s390-builtins.def: Add B_VXE builtin flag. |
| * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust |
| PROCESSOR_max sanity check. |
| * config/s390/s390-opts.h (enum processor_type): Add |
| PROCESSOR_ARCH12. |
| * config/s390/s390.c (processor_table): Add arch12. |
| (s390_expand_builtin): Add check for B_VXE flag. |
| (s390_issue_rate): Add PROCESSOR_ARCH12. |
| (s390_get_sched_attrmask): Likewise. |
| (s390_get_unit_mask): Likewise. |
| (s390_sched_score): Enable z13 scheduling for arch12. |
| (s390_sched_reorder): Likewise. |
| (s390_sched_variable_issue): Likewise. |
| * config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and |
| PF_VXE. |
| (s390_tune_attr): Use z13 scheduling also for arch12. |
| (TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE) |
| (TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE) |
| (TARGET_VXE_P): New macros. |
| * config/s390/s390.md: Add arch12 to cpu attribute. Add arch12 |
| and vxe to cpu_facility. Add arch12 and vxe to enabled attribute. |
| * config/s390/s390.opt: Add arch12 as processor_type. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md |
| ("fixuns_truncdddi2", "fixuns_trunctddi2") |
| ("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ... |
| ("fixuns_trunc<FP:mode><GPR:mode>2"): New expander. |
| |
| ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"): |
| Rename expanders to ... |
| |
| ("fixuns_trunc<BFP:mode><GPR:mode>2_emu") |
| ("fixuns_truncdddi2_emu"): ... these. |
| |
| ("fixuns_trunc<mode>si2_emu"): New expander. |
| |
| ("*fixuns_truncdfdi2_z13"): Rename to ... |
| ("*fixuns_truncdfdi2_vx"): ... this. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/2964.md: Remove the single element vector compare |
| instructions which are no longer used. |
| * config/s390/s390.c (s390_select_ccmode): Remove handling of |
| vector CCmodes. |
| (s390_canonicalize_comparison): Remove handling of DFmode |
| compares. |
| (s390_expand_vec_compare_scalar): Remove function. |
| (s390_emit_compare): Don't call s390_expand_vec_compare_scalar. |
| * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove |
| pattern. |
| ("*cmp<mode>_ccs"): Add wfcdb instruction. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a |
| FP zero. |
| ("*mov<mode>_64" DD_DF): Remove the vector instructions. These |
| will anyway by matched by mov<mode>_64dfp. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to |
| vlef/vstef. Add missing operand to vleif. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_vec_init): Enable vector load |
| pair for all vector types with 64 bit elements. |
| * config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ... |
| * config/s390/vector.md (V_HW_64): ... here. |
| (V_128_NOSINGLE): New mode iterator. |
| ("vec_init<V_HW:mode>"): Use V_128 as mode iterator. |
| ("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator. |
| ("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions. |
| ("*vec_load_pairv2di"): Change to ... |
| ("*vec_load_pair<mode>"): ... this one. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/constraints.md: Add comments. |
| (jKK): Reject element sizes > 8 bytes. |
| * config/s390/s390.c (s390_split_ok_p): Enable splitting also for |
| s_operands. |
| * config/s390/s390.md: Add the s_operand checks formerly in |
| s390_split_ok_p to various splitters where they are still |
| required. |
| * config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives |
| for 128 bit vectors. Plus two splitters. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md: Rename the cpu facilty vec to vx throughout |
| the file. |
| |
| 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/79893 |
| * config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an |
| error if the boundary argument is not constant. |
| |
| 2017-03-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/80112 |
| * loop-doloop.c (doloop_condition_get): Don't check condition |
| if cmp isn't SET with IF_THEN_ELSE src. |
| |
| 2017-03-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/80158 |
| * gimple-ssa-strength-reduction.c (replace_mult_candidate): When |
| replacing a candidate statement, also replace it for the |
| candidate's alternate interpretation. |
| (replace_rhs_if_not_dup): Likewise. |
| (replace_one_candidate): Likewise. |
| |
| 2017-03-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80167 |
| * graphite-isl-ast-to-gimple.c |
| (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs |
| properly. |
| (translate_isl_ast_to_gimple::get_rename): Likewise. |
| |
| 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Change |
| handling of certain combinations of target options, including the |
| combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs. |
| -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector. |
| |
| 2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/71436 |
| * config/arm/arm.md (*load_multiple): Add reload_completed to |
| matching condition. |
| |
| 2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR tree-optimization/79908 |
| PR tree-optimization/80136 |
| * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has |
| been cast away, gimplify_and_add suffices. |
| |
| 2017-03-23 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * tree-vrp.c (identify_jump_threads): Delete avail_exprs. |
| |
| 2017-03-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80032 |
| * gimplify.c (gimple_push_cleanup): Forced unconditional |
| cleanups still have to go to the conditional_cleanups |
| sequence. |
| |
| 2017-03-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80072 |
| * tree-ssa-reassoc.c (struct operand_entry): Change id field type |
| to unsigned int. |
| (next_operand_entry_id): Change type to unsigned int. |
| (sort_by_operand_rank): Make sure to return the right return value |
| even if unsigned fields are bigger than INT_MAX. |
| (struct oecount): Change cnt and id type to unsigned int. |
| (oecount_hasher::equal): Formatting fix. |
| (oecount_cmp): Make sure to return the right return value |
| even if unsigned fields are bigger than INT_MAX. |
| (undistribute_ops_list): Change next_oecount_id type to unsigned int. |
| |
| PR c++/80129 |
| * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear |
| TREE_READONLY on result if writing it more than once. |
| |
| PR sanitizer/80110 |
| * doc/invoke.texi (-fsanitize=thread): Document that with |
| -fnon-call-exceptions atomics are not able to throw |
| exceptions. |
| |
| PR sanitizer/80110 |
| * tsan.c: Include tree-eh.h. |
| (instrument_builtin_call): Call maybe_clean_eh_stmt or |
| maybe_clean_or_replace_eh_stmt where needed. |
| (instrument_memory_accesses): Add cfg_changed argument. |
| Call gimple_purge_dead_eh_edges on each block and set *cfg_changed |
| if it returned true. |
| (tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed. |
| |
| PR rtl-optimization/63191 |
| * config/i386/i386.c (ix86_delegitimize_address): Turn into small |
| wrapper function, moved the whole old content into ... |
| (ix86_delegitimize_address_1): ... this. New inline function. |
| (ix86_find_base_term): Use ix86_delegitimize_address_1 with |
| true as last argument instead of ix86_delegitimize_address. |
| |
| 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_branch_cost): Copy |
| cortexa57_branch_cost. |
| |
| 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (generic_tunings): Add AES fusion. |
| |
| 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/80123 |
| * doc/md.texi (Constraints): Document wA constraint. |
| * config/rs6000/constraints.md (wA): New. |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class. |
| (rs6000_init_hard_regno_mode_ok): Init wA constraint. |
| * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New. |
| * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint. |
| |
| 2017-03-22 Cesar Philippidis <cesar@codesourcery.com> |
| |
| PR c++/80029 |
| * gimplify.c (is_oacc_declared): New function. |
| (oacc_default_clause): Use it to set default flags for acc declared |
| variables inside parallel regions. |
| (gimplify_scan_omp_clauses): Strip firstprivate pointers for acc |
| declared variables. |
| (gimplify_oacc_declare): Gimplify the declare clauses. Add the |
| declare attribute to any decl as necessary. |
| |
| 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com> |
| |
| PR target/80082 |
| * config/arm/arm-isa.h (isa_bit_lpae): New feature bit. |
| (ISA_ARMv7ve): Add isa_bit_lpae to the definition. |
| * config/arm/arm-protos.h (arm_arch7ve): Rename into ... |
| (arm_arch_lpae): This. |
| * config/arm/arm.c (arm_arch7ve): Rename into ... |
| (arm_arch_lpae): This. Define it in term of isa_bit_lpae. |
| * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of |
| arm_arch_lpae. |
| |
| 2017-03-22 Martin Liska <mliska@suse.cz> |
| |
| PR target/79906 |
| * config/rs6000/rs6000.c (rs6000_inner_target_options): Show |
| error message instead of an ICE. |
| |
| 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/extend.texi (6.11 Additional Floating Types): Revise. |
| |
| 2017-03-21 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add |
| comments. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| comments. |
| |
| 2017-03-21 Martin Sebor <msebor@redhat.com> |
| |
| * doc/extend.texi: Use "cannot" instead of "can't." |
| * doc/hostconfig.texi: Same. |
| * doc/install.texi: Same. |
| * doc/invoke.texi: Same. |
| * doc/loop.texi: Same. |
| * doc/md.texi: Same. |
| * doc/objc.texi: Same. |
| * doc/rtl.texi: Same. |
| * doc/tm.texi: Same. |
| * doc/tm.texi.in: Same. |
| * doc/trouble.texi: Same. |
| |
| 2017-03-21 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/63238 |
| * dwarf2out.c (struct checksum_attributes): Add at_alignment. |
| (collect_checksum_attributes): Set it. |
| (die_checksum_ordered): Use it. |
| |
| 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/79908 |
| * tree-stdarg.c (expand_ifn_va_arg_1): Revert the following |
| change: For a VA_ARG whose LHS has been cast away, use |
| force_gimple_operand to construct the side effects. |
| |
| 2017-03-21 David Malcolm <dmalcolm@redhat.com> |
| |
| PR translation/80001 |
| * omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics |
| more amenable to translation. |
| (oacc_loop_auto_partitions): Likewise. |
| |
| 2017-03-21 Marek Polacek <polacek@redhat.com> |
| Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/80109 |
| * gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info |
| on INTEGRAL_TYPE_P. |
| |
| 2017-03-21 Jakub Jelinek <jakub@redhat.com> |
| Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/80125 |
| * combine.c (can_combine_p): Revert the 2017-03-20 change, only |
| check reg_used_between_p between insn and one of succ or succ2 |
| depending on if succ is artificial insn not inserted into insn |
| stream. |
| |
| 2017-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/80081 |
| * Makefile.in: Add gcov-dump and fix installation of gcov-tool. |
| * doc/gcc.texi: Include gcov-dump stuff. |
| * doc/gcov-dump.texi: New file. |
| |
| 2017-03-21 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| PR rtl-optimization/79150 |
| * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the |
| conditional jump, if the jump is the last insn of the loop. |
| |
| 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| Richard Biener <rguenth@suse.de> |
| |
| PR tree-optimization/79908 |
| * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has |
| been cast away, use force_gimple_operand to construct the side |
| effects. |
| |
| 2017-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR libfortran/79956 |
| * simplify-rtx.c (simplify_immed_subreg): Initialize a variable |
| to NULL. |
| |
| 2017-03-21 Brad Spengler <spender@grsecurity.net> |
| |
| PR plugins/80094 |
| * plugin.c (htab_hash_plugin): New function. |
| (add_new_plugin): Use it and adjust. |
| (parse_plugin_arg_opt): Adjust. |
| (init_one_plugin): Likewise. |
| |
| 2017-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80032 |
| * gimplify.c (gimple_push_cleanup): Add force_uncond parameter, |
| if set force the cleanup to happen unconditionally. |
| (gimplify_target_expr): Push inserted clobbers with force_uncond |
| to avoid them being removed by control-dependent DCE. |
| |
| 2017-03-21 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80122 |
| * tree-inline.c (copy_bb): Do not expans va-arg packs or |
| va_arg_pack_len when the inlined call stmt requires pack |
| expansion itself. |
| * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *. |
| |
| 2017-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/78158 |
| * tsan.c (instrument_builtin_call): If the memory model argument |
| is not a constant, assume it is valid. |
| |
| PR c/67338 |
| * fold-const.c (round_up_loc): Negate divisor in unsigned type to |
| avoid UB. |
| |
| 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/79910 |
| * combine.c (can_combine_p): Do not allow combining an I0 or I1 |
| if its dest is used by an insn before I2 (other than the combined |
| insns themselves, which are properly handled already). |
| |
| 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Revert: |
| 2017-03-17 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * combine.c (record_used_regs): New static function. |
| (try_combine): Handle situations where there is an additional |
| instruction between I2 and I3 which needs to have a LOG_LINK |
| updated. |
| |
| Revert: |
| 2017-03-17 Jim Wilson <jim.wilson@linaro.org> |
| |
| * combine.c (try_combine): Delete redundant i1 test. Call |
| prev_nonnote_nondebug_insn instead of prev_nonnote_insn. |
| |
| 2017-03-20 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/80083 |
| * config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for |
| alternatives 13/14. |
| |
| 2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR tree-optimization/80054 |
| * gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail |
| the optimization if a PHI or any of its arguments is not dominated |
| by the candidate's basis. Use gphi* rather than gimple* as |
| appropriate. |
| (replace_profitable_candidates): Clean up a gimple* variable that |
| should be a gphi* variable. |
| |
| 2017-03-20 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/52477 |
| * doc/extend.texi (attribute constructor): Document present limitation. |
| |
| 2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/79963 |
| * config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and |
| __POWER9_VECTOR__ #ifdef control, change template definition to |
| use Power9-specific built-in function. |
| (vec_any_eq): Likewise. |
| * config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used |
| to control outcomes from this test. |
| (vector_ae_<mode>p): For VEC_F modes, likewise. |
| |
| 2017-03-20 Ian Lance Taylor <iant@google.com> |
| |
| * config/i386/i386.c (ix86_function_regparm): Save an extra |
| register for -fsplit-stack with DECL_STATIC_CHAIN. |
| |
| 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| PR target/79912 |
| * config/riscv/riscv.c (riscv_preferred_reload_class): Remove. |
| (TARGET_PREFERRED_RELOAD_CLASS): Likewise. |
| |
| 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * config/riscv/riscv.c (riscv_print_operand): Use "fence |
| iorw,ow". |
| * config/riscv/sync.mc (mem_thread_fence_1): Use "fence |
| iorw,iorw". |
| |
| 2017-03-20 Marek Polacek <polacek@redhat.com> |
| |
| PR sanitizer/80063 |
| * asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0). |
| |
| 2017-03-20 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80113 |
| * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not |
| allocate extra SSA name for PHI def. |
| (add_close_phis_to_outer_loops): Likewise. |
| (add_close_phis_to_merge_points): Likewise. |
| (copy_loop_close_phi_args): Likewise. |
| (copy_cond_phi_nodes): Likewise. |
| |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79753 |
| * tree-chkp.c (chkp_build_returned_bound): Do not build |
| returned bounds for a LHS that's not a BOUNDED_P type. |
| |
| 2017-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR target/79769 |
| PR target/79770 |
| * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST, |
| COMPLEX_CST and VECTOR_CST. |
| |
| 2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| PR target/78857 |
| * config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the |
| target operand. A new splitter adds the clobber statement in case |
| the target operand is dead anyway. |
| |
| 2017-03-19 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <sparc-*-linux*>: No longer refer |
| to age-old versions of binutils and glibc. |
| |
| 2017-03-18 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/contrib.texi (Contributors): Remove duplicate entry for myself. |
| |
| 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Add Segher Boessenkool. |
| |
| 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <arm-*-eabi>: Remove old |
| requirement for binutils 2.13. |
| |
| 2017-03-17 Jim Wilson <jim.wilson@linaro.org> |
| |
| * combine.c (try_combine): Delete redundant i1 test. Call |
| prev_nonnote_nondebug_insn instead of prev_nonnote_insn. |
| |
| 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com |
| |
| * doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf, |
| riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of |
| contents. |
| <riscv64-*-elf>: Re-arrange section |
| <riscv32-*-elf>: Add a note about requiring binutils 2.28. |
| <riscv32-*-linux>: Likewise. |
| <riscv64-*-elf>: Likewise |
| <riscv64-*-linux>: Likewise. |
| |
| 2017-03-17 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/80052 |
| * aarch64.opt(verbose-cost-dump): Fix typo. |
| |
| 2017-03-17 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79951 |
| * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test |
| for VECTOR_UNIT_VSX_P (<MODE>mode) too. |
| |
| 2017-03-17 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * reload.c (find_reloads): When reloading a nonoffsettable address, |
| use RELOAD_OTHER for it and its address reloads. |
| |
| PR rtl-optimization/79910 |
| * combine.c (record_used_regs): New static function. |
| (try_combine): Handle situations where there is an additional |
| instruction between I2 and I3 which needs to have a LOG_LINK |
| updated. |
| |
| 2017-03-17 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/71437 |
| * tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the |
| conditional in the hash table first. |
| (vrp_dom_walker::before_dom_children): Extract condition from |
| ASSERT_EXPR. Record condition, its inverion and any implied |
| conditions as well. |
| |
| 2017-03-17 Marek Polacek <polacek@redhat.com> |
| Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR tree-optimization/80079 |
| * gimple-ssa-store-merging.c (class pass_store_merging): Initialize |
| m_stores_head. |
| |
| 2017-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80075 |
| * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns. |
| Properly verify the LHS before the RHS possibly claims to be |
| handled. |
| (stmt_could_throw_p): Hande gimple conds fully here. Clobbers |
| do not throw. |
| |
| 2017-03-17 Martin Jambor <mjambor@suse.cz> |
| |
| * doc/invoke.texi (Option Options): Include -fipa-vrp in the list. |
| (List of -O2 options): Likewise. |
| (-fipa-bit-cp): Replace "ipa" with "interprocedural." |
| (-fipa-vrp) New. |
| |
| 2017-03-17 Tom de Vries <tom@codesourcery.com> |
| |
| * gcov-dump.c (print_usage): Print bug_report_url. |
| |
| 2017-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/80050 |
| * genmatch.c (parser::next): Remove pointless check for CPP_EOF. |
| (parser::peek): Likewise. |
| |
| 2017-03-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80048 |
| * sese.c (free_sese_info): Properly release rename_map and |
| copied_bb_map elements. |
| |
| 2017-03-16 Alexandre Oliva <aoliva@redhat.com> |
| |
| * gimple-ssa-store-merging.c (struct imm_store_chain_info): |
| Add linked-list forward and backlinks. Insert on |
| construction, remove on destruction. |
| (class pass_store_merging): Add m_stores_head field. |
| (pass_store_merging::terminate_and_process_all_chains): |
| Iterate over m_stores_head list. |
| (pass_store_merging::terminate_all_aliasing_chains): |
| Likewise. |
| (pass_store_merging::execute): Check for debug stmts first. |
| Push new chains onto the m_stores_head stack. |
| |
| 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71294 |
| * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a |
| SPLAT operation on ISA 2.07 64-bit systems that have direct move, |
| but no MTVSRDD support, by doing MTVSRD and XXPERMDI. |
| |
| 2017-03-16 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/71437 |
| * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge |
| member function. Implementation moved into after_dom_children |
| member function and into the threader's thread_outgoing_edges |
| function. |
| (dom_opt_dom_walker::after_dom_children): Simplify by moving |
| some code into new thread_outgoing_edges. |
| * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify |
| definition. Simplify marker handling (do it here). Assume we always |
| have the available expression and the const/copies tables. |
| (thread_outgoing_edges): New function extracted from tree-ssa-dom.c |
| and tree-vrp.c |
| * tree-ssa-threadedge.h (thread_outgoing_edges): Declare. |
| * tree-vrp.c (equiv_stack): No longer file scoped. |
| (vrp_dom_walker): New class. |
| (vrp_dom_walker::before_dom_children): New member function. |
| (vrp_dom_walker::after_dom_children): Likewise. |
| (identify_jump_threads): Setup domwalker. Use it rather than |
| walking edges in a random order by hand. Simplify setup/finalization. |
| (finalize_jump_threads): Remove. |
| (vrp_finalize): Do not call identify_jump_threads here. |
| (execute_vrp): Do it here instead and call thread_through_all_blocks |
| here too. |
| |
| PR tree-optimization/71437 |
| * tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All |
| callers changed. |
| (simplify_stmt_for_jump_threading): Add basic_block argument. All |
| callers changed. |
| (lhs_of_dominating_assert): Moved from here into tree-vrp.c. |
| (dom_opt_dom_walker::thread_across_edge): Remove |
| handle_dominating_asserts argument. All callers changed. |
| (record_temporary_equivalences_from_stmts_at_dest): Corresponding |
| changes. Remove calls to lhs_of_dominating_assert. Other |
| uses of handle_dominating_asserts turn into unconditional code |
| (simplify_control_stmt_condition_1): Likewise. |
| (simplify_control_stmt_condition): Likewise. |
| (thread_through_normal_block, thread_across_edge): Likewise. |
| * tree-ssa-threadedge.h (thread_across_edge): Corresponding changes. |
| * tree-vrp.c (lhs_of_dominating_assert): Move here. Return original |
| object if it is not an SSA_NAME. |
| (simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert |
| before calling into the VRP specific simplifiers. |
| (identify_jump_threads): Remove handle_dominating_asserts |
| argument. |
| |
| 2017-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/79886 |
| * tree-diagnostic.c (default_tree_printer): No longer static. |
| * tree-diagnostic.h (default_tree_printer): New prototype. |
| |
| 2017-03-16 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>) |
| Change ins into fmov. |
| |
| 2017-03-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF. |
| * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>): |
| Use h_con constraint for operand 1. |
| (*aarch64_fnma4_elt_from_dup<mode>): Likewise. |
| (*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2. |
| |
| 2017-03-15 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/71437 |
| * tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function. |
| (record_temporary_equivalences): Use it. |
| |
| PR tree-optimization/71437 |
| * tree-ssa-dom.c (struct cond_equivalence): Moved from here into |
| tree-ssa-scopedtables. |
| (lookup_avail_expr, build_and_record_new_cond): Likewise. |
| (record_conditions, record_cond, vuse_eq): Likewise. |
| (record_edge_info): Adjust to API tweak of record_conditions. |
| (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr. |
| (record_temporary_equivalences, optimize_stmt): Likewise. |
| (eliminate_redundant_computations): Likewise. |
| (record_equivalences_from_stmt): Likewise. |
| * tree-ssa-scopedtables.c: Include options.h and params.h. |
| (vuse_eq): New function, moved from tree-ssa-dom.c |
| (build_and_record_new_cond): Likewise. |
| (record_conditions): Likewise. Accept vector of conditions rather |
| than edge_equivalence structure for first argument. |
| for the first argument. |
| (avail_exprs_stack::lookup_avail_expr): New member function, moved |
| from tree-ssa-dom.c. |
| (avail_exprs_stack::record_cond): Likewise. |
| * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here |
| from tree-ssa-dom.c. |
| (avail_exprs_stack): Add new member functions lookup_avail_expr |
| and record_cond. |
| (record_conditions): Declare. |
| |
| 2017-03-15 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/80017 |
| * lra-constraints.c (process_alt_operands): Increase reject for |
| reloading an input/output operand. |
| |
| 2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79038 |
| * config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define |
| insns to convert from signed/unsigned char/short to IEEE 128-bit |
| floating point. |
| (floatuns<QHI:mode><IEEE128:mode>2): Likewise. |
| |
| 2017-03-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/80019 |
| * config/i386/i386.c (ix86_vector_duplicate_value): Create |
| subreg of inner mode for values already in registers. |
| |
| 2017-03-15 Bernd Schmidt <bschmidt@redhat.com> |
| |
| * config/c6x/c6x.c (hwloop_optimize): Handle case where the old |
| iteration reg is used after the loop. |
| |
| 2017-03-14 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79800 |
| * gimple-ssa-sprintf.c (format_floating: Add argument. Handle |
| precision in negative-positive range. |
| (format_floating): Call non-const overload with adjusted precision. |
| |
| 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79947 |
| * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for |
| -mpowerpc-gfxopt. |
| |
| 2017-03-14 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/80020 |
| * builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro. |
| * builtins.def (aligned_alloc): Use it. |
| |
| PR c/79936 |
| * Makefile.in (GTFILES): Add calls.c. |
| * calls.c: Include "gt-calls.h". |
| |
| 2017-03-14 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/79728 |
| * regs.h (struct target_regs): New field |
| x_contains_allocatable_regs_of_mode. |
| (contains_allocatable_regs_of_mode): New macro. |
| * reginfo.c (init_reg_sets_1): Initialize it, and change |
| contains_reg_of_mode so it includes global regs as well. |
| * reload.c (push_reload): Use contains_allocatable_regs_of_mode |
| rather than contains_regs_of_mode. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| * doc/invoke.texi: Document options that can't be combined with |
| -fcheck-pointer-bounds. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/79831 |
| * doc/invoke.texi (-Wchkp): Document the option. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| * Makefile.in: Install gcov-dump. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| * multiple_target.c (expand_target_clones): Bail out for |
| an invalid attribute. |
| |
| 2017-03-14 Richard Biener <rguenther@suse.de> |
| |
| * alias.c (struct alias_set_entry): Pack properly. |
| * cfgloop.h (struct loop): Likewise. |
| * cse.c (struct set): Likewise. |
| * ipa-utils.c (struct searchc_env): Likewise. |
| * loop-invariant.c (struct invariant): Likewise. |
| * lra-remat.c (struct cand): Likewise. |
| * recog.c (struct change_t): Likewise. |
| * rtl.h (struct address_info): Likewise. |
| * symbol-summary.h (function_summary): Likewise. |
| * tree-loop-distribution.c (struct partition): Likewise. |
| * tree-object-size.c (struct object_size_info): Likewise. |
| * tree-ssa-loop-ivopts.c (struct cost_pair): Likewise. |
| * tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise. |
| * tree-vect-data-refs.c (struct _vect_peel_info): Likewise. |
| * tree-vect-slp.c (struct _slp_oprnd_info): Likewise. |
| * tree-vect-stmts.c (struct simd_call_arg_info): Likewise. |
| * tree-vectorizer.h (struct _loop_vec_info): Likewise. |
| (struct _stmt_vec_info): Likewise. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR target/79892 |
| * multiple_target.c (create_dispatcher_calls): Check that |
| a target can create a function dispatcher. |
| |
| 2017-03-14 Martin Liska <mliska@suse.cz> |
| |
| PR lto/66295 |
| * multiple_target.c (expand_target_clones): Drop local.local |
| flag for default implementation. |
| |
| 2017-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/80030 |
| * tree-vect-stmts.c (vectorizable_store): Plug memleak. |
| |
| 2017-03-13 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/riscv/riscv.c (riscv_emit_float_compare>: Use |
| gcc_fallthrough() instead of __attribute__((fallthrough)); |
| |
| 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/gcc.texi: Remove "up" link to (DIR). |
| * doc/gccint.texi: Ditto. |
| |
| 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <avr>: Remove reference to |
| binutils 2.13. |
| |
| 2017-03-13 Jeff Law <law@redhat.com> |
| |
| * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru |
| attribute rather than comments. |
| |
| * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to |
| match_scratch operand is highest. |
| |
| 2017-03-13 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/78339 |
| * ipa-pure-const.c (warn_function_noreturn): If the declarations |
| is a CHKP clone, use original declaration. |
| |
| 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (arc_init): Use multiplier whenever we have it. |
| (arc_conditional_register_usage): Use a different allocation order |
| when optimizing for size. |
| * common/config/arc/arc-common.c (arc_option_optimization_table): |
| Section anchors default on when optimizing for size. |
| |
| 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md (*tst_bitfield_tst): Fix pattern. |
| |
| 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (arc_output_addsi): Emit code density adds. |
| * config/arc/arc.md (cpu_facility): Add cd variant. |
| (*movqi_insn): Add code density variant. |
| (*movhi_insn): Likewise. |
| (*movqi_insn): Likewise. |
| (*addsi3_mixed): Likewise. |
| (subsi3_insn): Likewise. |
| |
| 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md (movsi_cond_exec): Update constraint. |
| |
| 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC |
| expressions with MINUS and UNARY ops. |
| |
| 2017-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/79911 |
| * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): |
| Rename to... |
| (vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch |
| between vec_select and vector argument. |
| (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to... |
| (vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise. |
| (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to... |
| (vec_sel_widen_usum_lo<mode><V_half>3): ... This. |
| (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to... |
| (vec_sel_widen_usum_hi<mode><V_half>3): ... This. |
| |
| 2017-03-13 Richard Biener <rguenther@suse.de> |
| |
| PR other/79991 |
| * params.def (vect-max-peeling-for-alignment): Fix typo. |
| |
| 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <mips-*-*>: Remove description of |
| issue that only occurred with binutils below 2.18. |
| |
| 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <cris-axis-elf>: No longer |
| refer to binutils 2.11/2.12 minimum. |
| |
| 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific) <powerpc-*-*>: Remove link to |
| ftp.kernel.org and simplify binutils requirement. |
| |
| 2017-03-11 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/invoke.texi (Warning Options): Fix spelling of link-time |
| optimization. |
| (Optimize Options): Ditto. Also remove redundancy. |
| |
| 2017-03-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR translation/79848 |
| * ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to |
| "%qs". |
| * ipa-pure-const.c (suggest_attribute): Likewise. Convert _ |
| to G_ to avoid double translation. |
| |
| 2017-03-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR translation/79923 |
| * auto-profile.c (get_combined_location): Convert leading |
| character of diagnostics to lower case and remove trailing period. |
| (read_profile): Likewise for various diagnostics. |
| * config/arm/arm.c (arm_option_override): Remove trailing period |
| from various diagnostics. |
| * config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise. |
| (msp430_expand_delay_cycles): Likewise. |
| |
| 2017-03-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR target/79925 |
| * config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the |
| full command-line argument, rather than just "str". |
| (aarch64_validate_march): Likewise. |
| (aarch64_validate_mtune): Likewise. |
| |
| 2017-03-10 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/78911 |
| * lra-assigns.c (must_not_spill_p): New function. |
| (spill_for): Use it. |
| |
| 2017-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79981 |
| * tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of |
| ATOMIC_COMPARE_EXCHANGE ifn result. |
| (stmt_interesting_for_vrp, vrp_visit_stmt): Handle |
| IFN_ATOMIC_COMPARE_EXCHANGE. |
| |
| 2017-03-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/79875 |
| * opts.c (parse_sanitizer_options): Add missing question mark to |
| "did you mean" message. |
| |
| 2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned |
| built-in. |
| (VMULEUH_UNS): Likewise. |
| (VMULOUB_UNS): Likewise. |
| (VMULOUH_UNS): Likewise. |
| * config/rs6000/rs6000.c (builtin_function_type): Remove |
| references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS. |
| |
| 2017-03-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR bootstrap/79952 |
| * read-rtl-function.c (function_reader::read_rtx_operand): Update |
| x with result of extra_parsing_for_operand_code_0. |
| (function_reader::extra_parsing_for_operand_code_0): Convert |
| return type from void to rtx, returning x. When reading |
| SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the |
| larger size containing struct block_symbol. |
| |
| 2017-03-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow |
| -mfloat128-hardware without -m64. |
| |
| 2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com> |
| |
| PR target/79941 |
| * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB] |
| entries to the case statement that marks unsigned arguments to |
| overloaded functions. |
| |
| 2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix |
| two typographic errors in the handling of TARGET_UPPER_REGS_DI. |
| |
| 2017-03-10 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79907 |
| * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test |
| TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass. |
| |
| 2017-03-10 Martin Liska <mliska@suse.cz> |
| |
| PR target/65705 |
| PR target/69804 |
| * toplev.c (process_options): Enable MPX with LSAN and UBSAN. |
| * tree-chkp.c (chkp_walk_pointer_assignments): Verify that |
| FIELD != NULL. |
| |
| 2017-03-10 Olivier Hainque <hainque@adacore.com> |
| |
| * tree-switch-conversion (array_value_type): Start by resetting |
| candidate type to it's main variant. |
| |
| 2017-03-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79909 |
| * combine.c (try_combine): Use simplify_replace_rtx on individual |
| CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx |
| of the whole CALL_INSN_FUNCTION_USAGE. |
| |
| PR tree-optimization/79972 |
| * gimple-ssa-warn-alloca.c (alloca_call_type): Only call |
| get_range_info on SSA_NAMEs. Formatting fixes. |
| |
| 2017-03-10 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/77975 |
| * tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch |
| edge to be constant. |
| (get_val_for): For constant x return it. Formatting fix. |
| (loop_niter_by_eval): Avoid pointless looping if the next iteration |
| would use the same bases as the current one. |
| |
| 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate |
| instead of vec_select for V1TImode. |
| * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no |
| longer needed. |
| (VSX_LE_128): Add V1TI to this mode iterator. |
| (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator. |
| (*vsx_le_perm_store_<mode>): Likewise. |
| (pre-reload splitter for VSX stores): Likewise. |
| (post-reload splitter for VSX stores): Likewise. |
| (*vsx_xxpermdi2_le_<mode>): Likewise. |
| (*vsx_lxvd2x2_le_<mode>): Likewise. |
| (*vsx_stxvd2x2_le_<mode>): Likewise. |
| |
| 2017-03-09 Michael Eager <eager@eagercon.com> |
| |
| Correct failures with --enable-checking=yes,rtl. |
| |
| * config/microblaze/microblaze.c (microblaze_expand_shift): |
| Replace GET_CODE test with CONST_INT_P and INTVAL test with |
| test for const0_rtx. |
| * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone, |
| lshrsi3_byone): Replace INTVAL with test for const1_rtx. |
| |
| 2017-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79977 |
| * graphite-scop-detection.c (scop_detection::merge_sese): |
| Handle the case of extra exits to blocks dominating the entry. |
| |
| 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes): |
| Document rdynamic. |
| |
| 2017-03-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/79949 |
| * lra-constraints.c (process_alt_operands): Check memory when |
| trying to predict a cycle. Print about the overall increase. |
| |
| 2017-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79971 |
| * gimple-expr.c (useless_type_conversion_p): Preserve |
| TYPE_SATURATING for fixed-point types. |
| |
| 2017-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR ipa/79970 |
| * ipa-prop.c (ipa_modify_formal_parameters): Avoid changing |
| alignment of BLKmode params. |
| |
| 2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/79913 |
| * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator. |
| (VALL_NO_V2Q): Likewise. |
| (VDQF_DF): Delete. |
| * config/aarch64/aarch64-simd.md |
| (aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q |
| iterator. |
| (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use |
| VALL_NO_V2Q mode iterator. |
| (*aarch64_vgetfmulx<mode>): Use VDQF iterator. |
| |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79631 |
| * tree-chkp-opt.c (chkp_is_constant_addr): Call |
| tree_int_cst_sign_bit just for INTEGER constants. |
| |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR target/65705 |
| PR target/69804 |
| * toplev.c (process_options): Disable -fcheck-pointer-bounds with |
| sanitizers. |
| |
| 2017-03-09 Marek Polacek <polacek@redhat.com> |
| |
| PR c++/79672 |
| * tree.c (inchash::add_expr): Handle TREE_VEC. |
| |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79764 |
| (chkp_narrow_size_and_offset): New function. |
| (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF. |
| (void chkp_parse_bit_field_ref): New function. |
| (chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF. |
| (chkp_process_stmt): Use chkp_parse_bit_field_ref. |
| |
| 2017-03-09 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79761 |
| * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param. |
| (chkp_find_bounds_1): Remove gcc_unreachable. |
| |
| 2017-03-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/79944 |
| * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and |
| BUILT_IN_SYNC*, determine the access type from the size suffix and |
| always build a MEM_REF with that type. Handle forgotten |
| BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16. |
| |
| PR target/79932 |
| * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask, |
| _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask, |
| _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask, |
| _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask, |
| _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask, |
| _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask, |
| _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask, |
| _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask, |
| _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask, |
| _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask, |
| _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask, |
| _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask, |
| _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask, |
| _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask, |
| _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask, |
| _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask, |
| _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask, |
| _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask, |
| _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask, |
| _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask, |
| _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask, |
| _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask, |
| _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask, |
| _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask, |
| _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask, |
| _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask, |
| _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask, |
| _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask, |
| _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask, |
| _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move |
| definitions outside of __OPTIMIZE__ guarded section. |
| |
| PR target/79932 |
| * config/i386/avx512bwintrin.h (_mm512_packs_epi32, |
| _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32, |
| _mm512_packus_epi32, _mm512_maskz_packus_epi32, |
| _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__ |
| guarded section. |
| |
| 2017-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>") |
| ("vfenez<mode>"): Add missing constraints. |
| |
| 2017-03-08 Martin Sebor <msebor@redhat.com> |
| |
| PR target/79928 |
| * config/nds32/nds32.c (nds32_option_override): |
| Fix misspelled diagnostic. |
| |
| 2017-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/79940 |
| * gimplify.c (gimplify_omp_for): Replace index var in outer |
| taskloop statement with an artificial variable and add |
| OMP_CLAUSE_PRIVATE clause for it. |
| |
| 2017-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79955 |
| * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn |
| for accesses that are completely outside of the variable. |
| |
| 2017-03-08 Andrew Haley <aph@redhat.com> |
| |
| PR tree-optimization/79943 |
| * tree-ssa-loop-split.c (compute_new_first_bound): When |
| calculating the new upper bound, (END-BEG) should be added, not |
| subtracted. |
| |
| 2017-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/avr/avr.md (setmemhi): Make sure match_dup |
| operand number comes before match_scratch. |
| |
| 2017-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79920 |
| * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline |
| with ncopies == 1 to ... |
| (vect_transform_slp_perm_load): ... here. Properly compute |
| all element loads by iterating VF times over the group. Do |
| not handle ncopies (computed in a broken way) in |
| vect_create_mask_and_perm. |
| |
| 2017-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/79904 |
| * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1 |
| is a uniform vector, use uniform_vector_p return value instead of |
| building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type. |
| |
| 2017-03-07 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/79809 |
| * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT. |
| (alloca_call_type): Likewise. |
| |
| 2017-03-07 Martin Liska <mliska@suse.cz> |
| |
| * gcov.c (process_args): Put comment to correct location. |
| |
| 2017-03-07 Martin Liska <mliska@suse.cz> |
| |
| PR middle-end/68270 |
| * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref. |
| Use array_at_struct_end_p instead of DECL_CHAIN (field). |
| (chkp_narrow_bounds_for_field): Likewise. |
| (chkp_parse_array_and_component_ref): Pass one more argument to |
| call. |
| |
| 2017-03-07 Richard Biener <rguenther@suse.de> |
| |
| * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve |
| preheaders. |
| |
| 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/i386/i386.c (ix86_local_alignment): Align most aggregates |
| of 16 bytes and more to 16 bytes, not those of 16 bits and more. |
| |
| 2017-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR c/79855 |
| * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop |
| to end of description. |
| (PARAM_MAX_STORES_TO_MERGE): Likewise. |
| |
| 2017-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79901 |
| * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to |
| ... |
| (*avx512f_<code><mode>3<mask_name>): ... this. |
| (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F |
| iterator instead of VI8_AVX2_AVX512BW. |
| |
| PR rtl-optimization/79901 |
| * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no |
| min/max expander, expand it using expand_vec_cond_expr. |
| |
| PR sanitizer/79897 |
| * ubsan.c (ubsan_encode_value): Call mark_addressable on the |
| temporary. |
| |
| 2017-03-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79821 |
| * dwarf2out.h (dw_vec_const): Change array type from unsigned char * |
| to void * for PCH reasons. |
| * dwarf2out.c (output_loc_operands, output_die): Cast |
| v.val_vec.array to unsigned char *. |
| |
| 2017-03-06 John David Anglin <danglin@gcc.gnu.org> |
| |
| PR target/77850 |
| * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and |
| vector types. |
| |
| 2017-03-06 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/79571 |
| * lra-constraints.c (process_alt_operands): Calculate static |
| reject and subtract it from overall when only addresses will be |
| reloaded. |
| |
| 2017-03-06 Julia Koval <julia.koval@intel.com> |
| |
| PR target/79793 |
| * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set |
| incoming stack boundary to 128 for 64-bit targets. |
| |
| 2017-03-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79894 |
| * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call |
| to NULL after folding it. |
| |
| 2017-03-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79824 |
| * tree-vect-stmts.c (get_group_load_store_type): Fix alignment |
| check disabling peeling for gaps. |
| |
| 2017-03-06 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| * doc/sourcebuild.texi (Effective-Target Keywords, Environment |
| attributes): Document gettimeofday. |
| |
| 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_option_override_internal): Set |
| PARAM_MIN_VECT_LOOP_BOUND |
| |
| 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0. |
| * config/s390/s390.md: Likewise. |
| |
| 2017-03-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79812 |
| * config/i386/sse.md (VI8F_256_512): Remove mode iterator. |
| (<avx2_avx512>_perm<mode>): Rename to ... |
| (avx2_perm<mode>): ... this. Use VI8F_256 iterator instead |
| of VI8F_256_512. |
| (<avx512>_perm<mode>_mask): Rename to ... |
| (avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead |
| of VI8F_256_512. |
| (<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ... |
| (avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator |
| instead of VI8F_256_512. |
| (avx512f_perm<mode>): New define_expand. |
| (avx512f_perm<mode>_mask): Likewise. |
| (avx512f_perm<mode>_1<mask_name>): New define_insn. |
| (<avx512>_vec_dup<mode>_1): Fix up vec_select mode. |
| |
| 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com> |
| |
| * config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>, |
| msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for |
| if_then_else. |
| (smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'. |
| |
| 2017-03-06 Martin Liska <mliska@suse.cz> |
| |
| PR sanitize/79783 |
| * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON |
| when having a SSA NAME w/o VAR_DECL assigned to it. |
| |
| 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com> |
| |
| * config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d, |
| msa_dpsub_<su>_d): Fix MODE for vec_select. |
| |
| 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com> |
| |
| * config/mips/mips.c (mips_gen_const_int_vector): Change type of last |
| argument. |
| * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise. |
| |
| 2017-03-06 Richard Biener <rguenther@suse.de> |
| |
| * lto-streamer.c (lto_check_version): Use %qs in diagnostics. |
| * plugin.c (register_plugin_info): Likewise. |
| * tree-chkp.c (chkp_make_static_const_bounds): Likewise. |
| |
| 2017-03-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (sse_storehps, sse_storelps, |
| avx_<castmode><avxsizesuffix>_<castmode>, |
| avx512f_<castmode><avxsizesuffix>_<castmode>, |
| avx512f_<castmode><avxsizesuffix>_256<castmode>): Require |
| in condition that at least one operand is not a MEM. |
| |
| 2017-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79805 |
| * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET, |
| ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove |
| ECF_NOTHROW. |
| * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set |
| gimple_call_nothrow_p flag based on whether original builtin can throw. |
| If it can, emit following stmts on the fallthrough edge. |
| * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except |
| don't create new bb if inserting just debug stmts on the edge, try to |
| insert them on the fallthru bb or just reset debug stmts. |
| |
| 2017-03-03 Segher Boesssenkool <segher@kernel.crashing.org> |
| |
| PR target/43763 |
| * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and |
| restore recog_data (including the operand rtxes inside it) around |
| the call to get_insn_template. |
| |
| 2017-03-03 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79699 |
| * context.c (context::~context): Free MPFR caches to avoid |
| a memory leak on program exit. |
| |
| 2017-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_float_const_representable_p): |
| Use wide_int::ulow () instead of .elt (0). |
| |
| 2017-03-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*pushtf): Change *roF constraint to *roC. |
| (*pushxf): Limit oF constraint to 32bit targets and add oC |
| constraint for 64bit targets. |
| (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment. |
| (*pushdf): Change rmF constraint to rmC. |
| |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute): |
| Remove unused variable. |
| |
| 2017-03-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79807 |
| * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target |
| is a memory operand, increase num_memory. |
| (ix86_expand_args_builtin): Likewise. |
| |
| 2017-03-03 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/79760 |
| * ipa-devirt.c (maybe_record_node): Properly handle |
| __cxa_pure_virtual visibility. |
| |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79803 |
| * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove |
| assert. |
| (pass_loop_prefetch::execute): Disabled optimization if an |
| assumption about L1 cache size is not met. |
| |
| 2017-03-03 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int. |
| (hash_scan_set): Likewise. |
| (dump_hash_table): Likewise. |
| (hoist_code): Likewise. |
| |
| 2017-03-03 Richard Biener <rguenther@suse.de> |
| |
| * fixed-value.c (fixed_from_string): Restore use of elt (1) |
| in place of uhigh (). |
| (fixed_convert_from_real): Likewise. |
| |
| 2017-03-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79514 |
| * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode. |
| |
| 2017-03-03 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79818 |
| * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing |
| TYPE_OVERFLOW_UNDEFINED check. |
| |
| 2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand |
| numbers. |
| (vector_ae_<mode>_p): Likewise. |
| (vector_nez_<mode>_p): Likewise. |
| (vector_ne_v2di_p): Likewise. |
| (vector_ae_v2di_p): Likewise. |
| (vector_ne_<mode>_p): Likewise. |
| * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand |
| numbers. |
| (vsx_tsqrt<mode>2_fe): Likewise. |
| |
| 2017-03-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79514 |
| * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern. |
| |
| 2017-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79780 |
| * cprop.c (one_cprop_pass): When second and further conditional trap |
| in a single basic block is turned into an unconditional trap, turn it |
| into a deleted note to avoid RTL verification failures. |
| |
| 2017-03-02 Richard Biener <rguenther@suse.de> |
| |
| * fold-const.c (const_binop): Use ulow () instead of elt (0). |
| |
| 2017-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79345 |
| PR c++/42000 |
| * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit |
| param and abort the walk, returning -1 if it is hit. |
| (walk_aliased_vdefs): Take a limit param and pass it on. |
| * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param, |
| defaulting to 0 and return a signed int. |
| * tree-ssa-uninit.c (struct check_defs_data): New struct. |
| (check_defs): New helper. |
| (warn_uninitialized_vars): Use walk_aliased_vdefs to warn |
| about uninitialized memory. |
| * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid |
| bogus uninitialized warning. |
| (fixed_convert_from_real): Likewise. |
| |
| 2017-03-02 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/66768 |
| * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr |
| iv_use if base object can't be determined. |
| |
| 2017-03-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79345 |
| * gensupport.h (struct pattern_stats): Add min_scratch_opno field. |
| * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it. |
| (get_pattern_stats): Initialize it. |
| * genemit.c (gen_expand): Verify match_scratch numbers come after |
| match_operand/match_dup numbers. |
| * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and |
| match_scratch numbers. |
| * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>): |
| Likewise. |
| * config/s390/s390.md (trunctdsd2): Likewise. |
| |
| 2017-03-02 Richard Biener <rguenther@suse.de> |
| |
| * wide-int.h (wide_int_storage::operator=): Implement in terms |
| of wi::copy. |
| |
| 2017-03-02 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79777 |
| * tree-ssa-pre.c (eliminate_insert): Give up if we simplify |
| the to insert expression to sth existing. |
| |
| 2017-03-01 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/79692 |
| * gimple-ssa-sprintf.c |
| (directive::known_width_and_precision): New function. |
| (format_integer): Use it. |
| (get_mpfr_format_length): Consider the full range of precision |
| when computing %g output with the # flag. Set the likely byte |
| count to 3 rather than 1 when precision is indeterminate. |
| (format_floating): Correct the lower bound of precision. |
| |
| 2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * doc/invoke.texi: Document default code model for 64-bit Linux. |
| |
| 2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/79752 |
| * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit |
| udiv rather than div since input pattern is unsigned. |
| |
| 2017-03-01 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (print_reg): Warn for values of |
| unsupported size in integer register. |
| |
| 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79439 |
| * config/rs6000/predicates.md (current_file_function_operand): Do |
| not allow self calls to be local if the function is replaceable. |
| |
| 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/79395 |
| * config/rs6000/altivec.h (vec_ctz and others): Change the |
| preprocessor macro that controls conditional compilation from |
| _ARCH_PWR9 to __POWER9_VECTOR__. |
| (vec_all_ne): Change parameterization of __altivec_scalar_pred |
| macro expansion under preprocessor #ifdef __POWER9_VECTOR__ |
| control (instead of _ARCH_PWR9 control) so that template |
| definition uses power9-specific function. |
| (vec_any_eq): Likewise. |
| (vec_all_ne): Change macro definition to use a power9-specific |
| expansion under #ifdef __POWER9_VECTOR__ control (instead of |
| _ARCH_PWR9 control). |
| (vec_any_eq) Likewise. |
| * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2 |
| expansion for CMPNEF to remove support for xvcmpnesp instruction. |
| (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove |
| support for xvcmpnedp instruction. |
| (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2 |
| macro expansion so that Power9 implementation of vec_all_ne does |
| not use the AltiVec predicate framework. |
| (VCMPNEH_P): Likewise. |
| (VCMPNEW_P): Likewise. |
| (VCMPNED_P): Likewise. |
| (VCMPNEFP_P): Likewise. |
| (VCMPNEDP_P): Likewise. |
| (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change |
| implementation of vec_any_eq to not use AltiVec predicate |
| framework. |
| (VCMPAEH_P): Likewise. |
| (VCMPAEW_P): Likewise. |
| (VCMPAED_P): Likewise. |
| (VCMPAEFP_P): Likewise. |
| (VCMPAEDP_P): Likewise. |
| (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with |
| BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does |
| not use the AltiVec predicate framework. |
| (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation |
| of vec_any_eq to not use AltiVec predicate framework. |
| * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add |
| support for predefined __POWER9_VECTOR__ macro to indicate that |
| Power9 instruction selection is enabled. |
| (altivec_overloaded_builtins): Remove extraneous |
| ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded |
| function argument types RS6000_BTI_bool_V16QI and |
| RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE |
| entry for overloaded function argument types RS6000_BTI_bool_V4SI |
| andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove |
| two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to |
| P9V_BUILTIN_CMPNEF to force use of instructions not specific to |
| Power9 for implementations of vec_cmpne. Change the signature for |
| all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function |
| (representing vec_all_ne) to remove the previously described first |
| argument of type RS6000_BTI_INTSI, as this was an artifact of |
| reliance on the AltiVec predicate framework, which is no longer |
| used in the implementation of these functions. Add |
| P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq |
| function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries |
| since, unlike the AltiVec predicate framework implementation, we |
| do not share function descriptors between vec_alle and vec_anyeq. |
| (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the |
| set of modes that receive special treatment even when |
| TARGET_P9_VECTOR is true. The special treatment emits code that |
| does not depend on Power9 instructions. |
| * config/rs6000/vector.md (vector_ne_<mode>_p): Change this |
| define_expand to not rely on AltiVec predicate framework. |
| (vector_ae_<mode>p): New define_expand to represent vec_any_eq |
| function. |
| (vector_ne_v2di_p): Change this define_expand to not rely on |
| AltiVec predicate framework. |
| (vector_ae_v2di_p): New define_expand to represent vec_any_eq |
| function. |
| (vector_ne_<mode>_p): Change this define_expand to not rely on |
| AltiVec predicate framework. |
| (vector_ae_<mode>p): New define_expand to represent vec_any_eq |
| function. |
| * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I |
| (V16QI, V8HI, V4SI), correct a typo in the code emitted for this |
| define_insn pattern. |
| (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this |
| define_insn pattern because the xvcmpne<VSs>. instruction is not |
| supported. |
| (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs> |
| instruction is not supported. |
| |
| 2017-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/nvptx/nvptx.c: Include intl.h. |
| |
| 2017-03-01 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/78140 |
| * ipa-prop.h (ipa_bits): Removed field known. |
| (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr |
| to pointers. Adjusted their comments to warn about their sharing. |
| (ipcp_transformation_summary): Change bits to a vector of pointers. |
| (ipa_check_create_edge_args): Moved to ipa-prop.c, declare. |
| (ipa_get_ipa_bits_for_value): Declare. |
| * tree-vrp.h (value_range): Mark as GTY((for_user)). |
| * ipa-prop.c (ipa_bit_ggc_hash_traits): New. |
| (ipa_bits_hash_table): Likewise. |
| (ipa_vr_ggc_hash_traits): Likewise. |
| (ipa_vr_hash_table): Likewise. |
| (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr |
| being pointers and vr_known being removed. |
| (ipa_set_jf_unknown): Likewise. |
| (ipa_get_ipa_bits_for_value): New function. |
| (ipa_set_jfunc_bits): Likewise. |
| (ipa_get_value_range): New overloaded functions. |
| (ipa_set_jfunc_vr): Likewise. |
| (ipa_compute_jump_functions_for_edge): Use the above functions to |
| construct bits and vr parts of jump functions. |
| (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate |
| ipa_bits_hash_table and ipa_vr_hash_table if they do not already |
| exist. |
| (ipcp_grow_transformations_if_necessary): Also allocate |
| ipa_bits_hash_table and ipa_vr_hash_table if they do not already |
| exist. |
| (ipa_node_params_t::duplicate): Do not copy bits, just pointers to |
| them. Fix too long lines. |
| (ipa_write_jump_function): Adjust for bits and m_vr being pointers and |
| vr_known being removed. |
| (ipa_read_jump_function): Use new setter functions to construct bits |
| and vr parts of jump functions or set them to NULL. |
| (write_ipcp_transformation_info): Adjust for bits being pointers. |
| (read_ipcp_transformation_info): Likewise. |
| (ipcp_update_bits): Likewise. Fix excessively long lines a trailing |
| space. |
| Include gt-ipa-prop.h. |
| * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits |
| being pointers. |
| (ipcp_store_bits_results): Likewise. |
| (propagate_vr_across_jump_function): Adjust for m_vr being a pointer. |
| Do not write to existing jump functions but use a temporary instead. |
| |
| 2017-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79681 |
| * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF, |
| attempt to use its first operand as BIT_FIELD_REF base. |
| |
| 2017-03-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79721 |
| * tree-chrec.c (chrec_evaluate): Perform computation of Newtons |
| interpolating formula in wrapping arithmetic. |
| (chrec_apply): Convert chrec_evaluate return value to wanted type. |
| |
| 2017-03-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79734 |
| * tree-vect-generic.c (expand_vector_condition): Optimize |
| AVX512 vector boolean VEC_COND_EXPRs into bitwise operations. |
| Handle VEC_COND_EXPR where comparison has different inner width from |
| type's inner width. |
| |
| 2017-02-28 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation, |
| markup, and similar issues. Remove @opindex entries for things |
| that aren't options. Add missing -mmpy-option entries. |
| |
| 2017-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79737 |
| * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is |
| a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear |
| tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1 |
| instead of byte_size. Formatting fix. |
| (shift_bytes_in_array_right): Formatting fix. |
| |
| 2017-02-28 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/79749 |
| * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing |
| condition on optimize for the leaf function test. |
| |
| 2017-02-28 Martin Liska <mliska@suse.cz> |
| |
| PR lto/79625 |
| * read-rtl-function.c (function_reader::handle_unknown_directive): |
| Bail out when one uses -flto. |
| |
| 2017-02-28 Martin Liska <mliska@suse.cz> |
| |
| * common.opt: Replace space with tabular for options of <number> |
| type. |
| * config/i386/i386.opt: Show <number> value for |
| -mlarge-data-threshold. |
| * opts.c (print_filtered_help): Do not display number in hexadecimal |
| format. |
| |
| 2017-02-28 Martin Liska <mliska@suse.cz> |
| |
| * common.opt: Fix --help=option -Q for options which are of |
| an enum type. |
| |
| 2017-02-28 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (print_reg): Error out for values |
| of 8-bit size in invalid integer register. |
| |
| 2017-02-28 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79691 |
| * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length. |
| |
| 2017-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79729 |
| * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace |
| gcc_unreachable with output_operand_lossage. |
| |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79740 |
| * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant |
| inserts. |
| (visit_nary_op): Insert the nary into the hashtable if we |
| pattern-matched sth. |
| * tree-ssa-pre.c (eliminate_insert): Robustify. |
| |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79731 |
| * fold-const.c (decode_field_reference): Reject out-of-bound |
| accesses. |
| |
| 2017-02-28 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/i386.c: Include intl.h. |
| (ix86_option_override_internal): Use cond ? G_("...") : G_("...") |
| instead of just cond ? "..." : "...". |
| * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise. |
| * coverage.c (read_counts_file): Likewise. |
| * omp-offload.c: Include intl.h. |
| (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead |
| of just cond ? "..." : "...". |
| * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead |
| of just cond ? "..." : "...". |
| |
| 2017-02-28 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/79742 |
| * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for' |
| entry, if present. |
| * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct |
| 'tune for' CPU name. |
| * config/arm/arm-cpu-data.h: Regenerated. |
| |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79732 |
| * tree-inline.c (expand_call_inline): Do not shadow var. |
| |
| 2017-02-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79723 |
| * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve |
| address-space properly. |
| |
| 2017-02-28 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * doc/optinfo.texi (Optimization groups): Fix option used for |
| OPTGROUP_ALL. |
| * doc/invoke.texi (-fopt-info): Document "omp". |
| * dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC. |
| (OPTGROUP_ALL): Add OPTGROUP_OMP. |
| * hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP. |
| * ipa-hsa.c (pass_data_ipa_hsa): Likewise. |
| * omp-simd-clone.c (pass_data_omp_simd_clone): Likewise. |
| |
| * dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust |
| all users. |
| * dumpfile.c (optgroup_options): Instead of "openmp", associate |
| OPTGROUP_OMP with "omp". |
| |
| 2017-02-27 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/79544 |
| * config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD |
| for arithmetic shift of unsigned V2DI. |
| |
| 2017-02-27 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and |
| arc/linux.h headers. |
| * config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove. |
| (LINK_SPEC): Likewise. |
| (ARC_TLS_EXTRA_START_SPEC): Likewise. |
| (EXTRA_SPECS): Likewise. |
| (STARTFILE_SPEC): Likewise. |
| (ENDFILE_SPEC): Likewise. |
| (LIB_SPEC): Likewise. |
| (TARGET_SDATA_DEFAULT): Likewise. |
| (TARGET_MMEDIUM_CALLS_DEFAULT): Likewise. |
| (MULTILIB_DEFAULTS): Likewise. |
| (DWARF2_UNWIND_INFO): Likewise. |
| * config/arc/big.h: New file. |
| * config/arc/elf.h: Likewise. |
| * config/arc/linux.h: Likewise. |
| * config/arc/t-uClibc: Remove. |
| |
| 2017-02-27 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/77536 |
| * tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function. |
| (tree_transform_and_unroll_loop): Use above function to compute the |
| estimated niter of unrolled loop and use it when scaling profile. |
| Also use count info rather than frequency if it's non-zero. |
| * tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration. |
| * tree-vect-loop.c (scale_profile_for_vect_loop): New function. |
| (vect_transform_loop): Call above function. |
| |
| 2017-02-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/45397 |
| * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR. |
| * tree-ssa-sccvn.c (valueized_wider_op): New helper. |
| (visit_nary_op): Add pattern matching for CSEing sign-changed |
| or truncated operations with wider ones. |
| |
| 2017-02-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79690 |
| * tree-vect-stmts.c (vectorizable_store): Use vector type |
| built from the DR with address-space. |
| |
| 2017-02-26 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/invoke.texi (Optimize Options): Refine the description |
| of asan-use-after-return. |
| |
| 2017-02-25 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/79584 |
| * lra-constraints.c (base_to_reg): Reload ad->base, the entire |
| base, not ad->base_term, the reg within base. Remove assertion |
| that ad->base == ad->base_term. Replace gen_int_mode using |
| bogus mode with const0_rtx. |
| |
| 2017-02-25 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79396 |
| * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle |
| FMA_EXPR like tcc_binary or tcc_unary. |
| |
| * tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning. |
| |
| PR debug/77589 |
| * dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value |
| bitfield. |
| (size_of_loc_descr): Handle DW_OP_GNU_variable_value. |
| (output_loc_operands): Handle DW_OP_call_ref and |
| DW_OP_GNU_variable_value. |
| (struct variable_value_struct): New type. |
| (struct variable_value_hasher): Likewise. |
| (variable_value_hash): New variable. |
| (string_types): Remove. |
| (copy_loc_descr): New function. |
| (add_loc_descr_to_each): Clarify comment. Use copy_loc_descr. |
| (prepend_loc_descr_to_each): New function. |
| (add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each |
| instead of add_loc_descr_to_each if the first argument is single |
| location list and the second has multiple. |
| (resolve_args_picking_1): Handle DW_OP_GNU_variable_value. |
| (loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value |
| when looking for variable value which doesn't have other location info. |
| (loc_list_from_tree): Formatting fix. |
| (gen_array_type_die): Simplify DW_AT_string_length handling. |
| (adjust_string_types): Remove. |
| (gen_subprogram_die): Don't call adjust_string_types nor test/set |
| string_types. Call resolve_variable_values. |
| (prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value. |
| (resolve_addr_in_expr): Likewise. Add A argument. |
| (copy_deref_exprloc): Remove deref argument. Adjust for the |
| original expression being DW_OP_GNU_variable_value with optionally |
| DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref |
| optionally after it. |
| (optimize_string_length): Rework for DW_OP_GNU_variable_value. |
| (resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr |
| callers. Set remove_AT_byte_size if removing DW_AT_string_length. |
| (variable_value_hasher::hash, variable_value_hasher::equal): New |
| methods. |
| (resolve_variable_value_in_expr, resolve_variable_value, |
| resolve_variable_values, note_variable_value_in_expr, |
| note_variable_value): New functions. |
| (dwarf2out_early_finish): Call note_variable_value on all toplevel |
| DIEs. |
| |
| 2017-02-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/79677 |
| * opts.h (handle_generated_option): Add GENERATED_P argument. |
| * opts-common.c (handle_option): Adjust function comment. |
| (handle_generated_option): Add GENERATED_P argument, pass it to |
| handle_option. |
| (control_warning_option): Pass false to handle_generated_option |
| GENERATED_P. |
| * opts.c (maybe_default_option): Pass true to handle_generated_option |
| GENERATED_P. |
| * optc-gen.awk: Likewise. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of |
| a REG, look at the REG it is a SUBREG of. |
| (splitter for cmpeqsi_t): Ditto. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make |
| the special USEs with the pattern of the insn, not the insn itself. |
| |
| 2017-02-24 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/79473 |
| * doc/invoke.texi: Document -mload-store-pairs. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.c (nios2_simple_const_p): Returns false if the |
| argument isn't a CONST_INT. |
| (nios2_alternate_compare_const): Assert op is a CONST_INT. |
| (nios2_valid_compare_const_p): Assert op is a CONST_INT. |
| (nios2_validate_compare): Bypass alternate compare logic if *op2 |
| is not a CONST_INT. |
| (ldstwm_operation_p): Return false if first_base is not a REG or |
| if first_offset is not a CONST_INT. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/cris/cris.md: Use correct operand in a define_peephole2. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL. |
| |
| 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of |
| this_insn if it is an INSN or JUMP_INSN. |
| (force_offsettable): Look at base, not at addr. |
| * config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL |
| on things that aren't necessarily CONST_INTs. |
| |
| 2017-02-24 Uros Bizjak <ubizjak@gmail.com> |
| |
| * doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that |
| -mfpmath=sse is the default also for x86-32 targets with SSE2 |
| instruction set when @option{-ffast-math} is enabled |
| |
| 2017-02-24 Jeff Law <law@redhat.com> |
| |
| PR rtl-optimizatoin/79286 |
| * ira.c (update_equiv_regs): Drop may_trap_p exception to |
| dominance test. |
| |
| 2017-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79389 |
| * gimple-ssa-split-paths.c (is_feasible_trace): Properly skip |
| debug insns. |
| |
| 2017-02-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| * tree-ssa-loop-niter.c (number_of_iterations_exit): Update |
| function comment to reflect reality. |
| (loop_exits_before_overflow): Fix typo in function description. |
| |
| 2017-02-24 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79389 |
| * gimple-ssa-split-paths.c (is_feasible_trace): Verify more |
| properly that a threading opportunity exists. Detect conditional |
| copy/constant propagation opportunities. |
| |
| 2017-02-23 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/visium/visium.md (type): Add trap. |
| (b): New mode attribute. |
| (*btst): Rename into... |
| (*btst<mode>): ...this and adjust. |
| (*cbranchsi4_btst_insn): Rename into... |
| (*cbranch<mode>4_btst_insn): ...this and adjust. |
| (trap): New define_insn. |
| |
| 2017-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79389 |
| * ifcvt.c (struct noce_if_info): Add rev_cond field. |
| (noce_reversed_cond_code): New function. |
| (noce_emit_store_flag): Use rev_cond if non-NULL instead of |
| reversed_comparison_code. Formatting fix. |
| (noce_try_store_flag): Test rev_cond != NULL in addition to |
| reversed_comparison_code. |
| (noce_try_store_flag_constants): Likewise. |
| (noce_try_store_flag_mask): Likewise. |
| (noce_try_addcc): Use rev_cond if non-NULL instead of |
| reversed_comparison_code. |
| (noce_try_cmove_arith): Likewise. Formatting fixes. |
| (noce_try_minmax, noce_try_abs): Clear rev_cond. |
| (noce_find_if_block): Initialize rev_cond. |
| (find_cond_trap): Call noce_get_condition with then_bb == trap_bb |
| instead of false as last argument never attempt to reverse it |
| afterwards. |
| |
| 2017-02-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/79663 |
| * tree-predcom.c (combine_chains): Process refs in reverse order |
| only for ZERO length chains, and add explaining comment. |
| |
| 2017-02-23 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/79578 |
| * tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF |
| in call to operand_equal_p. |
| |
| 2017-01-23 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix another undefined behavior. |
| |
| 2017-02-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79683 |
| * tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite |
| vector types for data-refs. |
| |
| 2017-02-23 Martin Liska <mliska@suse.cz> |
| |
| * params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0. |
| |
| 2017-02-23 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79665 |
| * internal-fn.c (get_range_pos_neg): Moved to ... |
| * tree.c (get_range_pos_neg): ... here. No longer static. |
| * tree.h (get_range_pos_neg): New prototype. |
| * expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments |
| are known to be in between 0 and signed maximum inclusive, try to |
| expand both unsigned and signed divmod and use the cheaper one from |
| those. |
| |
| 2017-02-22 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/79578 |
| * tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p |
| to compare base operands. |
| |
| 2017-02-22 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/79211 |
| * config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use |
| gpc_reg_operand instead of fpr_reg_operand. |
| |
| 2017-02-22 Sameera Deshpande <sameera.deshpande@imgtec.com> |
| |
| * config/mips/mips.c (mips_return_in_memory): Force FP |
| vector types to be returned in memory for o32 ABI. |
| |
| 2017-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable |
| instead of DW_TAG_member for static data member declarations and don't |
| set no_linkage_name for static inline data members. |
| (gen_member_die): For -gdwarf-5 don't change DW_TAG_variable |
| to DW_TAG_member. |
| |
| 2017-02-22 Martin Liska <mliska@suse.cz> |
| |
| * doc/invoke.texi: Replace inequality signs with square brackets |
| for -Wnormalized. |
| |
| 2017-02-22 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/78660 |
| * lra-constraints.c (simplify_operand_subreg): Handle |
| WORD_REGISTER_OPERATIONS targets. |
| |
| 2017-02-22 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70465 |
| * reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F)) |
| and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1) |
| elimination by swapping fld*. |
| |
| 2017-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79673 |
| * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to |
| convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off |
| irrelevant address-space qualifiers and avoiding a |
| ADDR_SPACE_CONVERT_EXPR from fold_convert. |
| |
| 2017-02-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79666 |
| * tree-vrp.c (extract_range_from_binary_expr_1): Make sure |
| to not symbolically negate if that may introduce undefined |
| overflow. |
| |
| 2017-02-22 Martin Liska <mliska@suse.cz> |
| |
| PR lto/79587 |
| * data-streamer-in.c (streamer_read_gcov_count): Remove assert. |
| * data-streamer-out.c (streamer_write_gcov_count_stream): |
| Likewise. |
| * value-prof.c (stream_out_histogram_value): Make assert more |
| precise based on type of counter. |
| |
| 2017-02-21 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79593 |
| * config/i386/i386.md (standard_x87sse_constant_load splitter): |
| Use nonimmediate_operand instead of memory_operand for operand 1. |
| (float-extend standard_x87sse_constant_load splitter): Ditto. |
| |
| 2017-02-21 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/79621 |
| * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore |
| blocks with edges to themselves. |
| |
| 2017-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79633 |
| * tree-chkp-opt.c (chkp_optimize_string_function_calls): Use |
| is_gimple_call instead of comparing gimple_code with GIMPLE_CALL. |
| Use gimple_call_builtin_p. |
| |
| PR target/79570 |
| * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head |
| on temporarily removed DEBUG_INSNs. |
| |
| PR tree-optimization/79649 |
| * tree-loop-distribution.c (classify_partition): Give up on |
| non-generic address space loads/stores. |
| |
| 2017-02-21 Aldy Hernandez <aldyh@redhat.com> |
| |
| * doc/loop.texi (Loop manipulation): Remove nonexistent |
| tree_ssa_loop_version from the documentation. |
| * cfgloopmanip.c (loop_version): Document CONDITION_BB argument. |
| |
| 2017-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79494 |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Call |
| make_reg_eh_region_note_nothrow_nononlocal on call_insn. |
| * config/rs6000/rs6000.c: Include except.h. |
| (rs6000_expand_split_stack_prologue): Call |
| make_reg_eh_region_note_nothrow_nononlocal on the call insn. |
| |
| 2017-02-21 Martin Jambor <mjambor@suse.cz> |
| |
| PR lto/79579 |
| * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges |
| have been analyzed. |
| |
| 2017-02-21 Martin Jambor <mjambor@suse.cz> |
| |
| * common.opt (-fipa-cp-alignment): Mark as ignored and preserved |
| for backward compatibility only. |
| * doc/invoke.texi (Option Summary): Remove all references to |
| -fipa-cp-alignment. |
| |
| 2017-02-21 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/78660 |
| Revert: |
| 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * lra-constraints.c (curr_insn_transform): Handle |
| WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs. |
| |
| 2017-02-21 Martin Liska <mliska@suse.cz> |
| |
| * config/i386/i386.opt: Replace -masm-dialect with -masm. |
| |
| 2017-02-21 Thomas Schwinge <thomas@codesourcery.com> |
| |
| PR translation/79638 |
| * config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y". |
| |
| 2017-02-21 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/67205 |
| * config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define. |
| (arm_function_ok_for_sibcall): Return false for an indirect call by |
| descriptor if all the argument registers are used. |
| (arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the |
| alignment of the function. |
| |
| 2017-02-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/61441 |
| * simplify-rtx.c (simplify_const_unary_operation): For |
| -fsignaling-nans and sNaN operand, return NULL_RTX rather than |
| the sNaN unmodified. |
| |
| 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de> |
| |
| * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe. |
| (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR |
| instead of SYSTEM_HEADER_DIR. |
| |
| 2017-02-20 Gerald Pfeifer <gerald@pfeifer.com> |
| Martin Liška <mliska@suse.cz> |
| |
| * doc/invoke.texi (use-after-scope-direct-emission-threshold): |
| Fix typos and grammar, use active voice, and clarify. |
| |
| 2017-02-20 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/79537 |
| * gimplify.c (gimplify_expr): Handle unused *&&L;. |
| |
| PR sanitizer/79558 |
| * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null. |
| |
| 2017-02-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79568 |
| * config/i386/i386.c (ix86_expand_builtin): Handle |
| OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in |
| ix86_builtins_isa[fcode].isa as a requirement of those |
| flags and any other flag in the bitmask. |
| (ix86_init_mmx_sse_builtins): Use 0 instead of |
| ~OPTION_MASK_ISA_64BIT as mask. |
| * config/i386/i386-builtin.def (__builtin_ia32_rdtsc, |
| __builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi, |
| __builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi, |
| __builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise. |
| |
| 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/78012 |
| * lra-constraints.c (split_reg): Check requested split mode |
| is supported by the register. |
| |
| 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * lra-constraints.c (simplify_operand_subreg): Remove early |
| return false. |
| |
| 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/78660 |
| * lra-constraints.c (curr_insn_transform): Tighten condition |
| for converting SUBREG reloads from OP_OUT to OP_INOUT. |
| |
| 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| PR target/78660 |
| * lra-constraints.c (curr_insn_transform): Handle |
| WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs. |
| |
| 2017-02-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| Revert: |
| 2016-05-30 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)". |
| |
| 2017-02-19 Jonathan Wakely <jwakely@redhat.com> |
| |
| PR c++/69523 |
| * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update |
| description. |
| |
| 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format |
| for FMA_EXPR. |
| |
| 2017-02-18 Jakub Jelinek <jakub@redhat.com> |
| |
| * final.c (last_columnnum, override_columnnum): New variables. |
| (final_start_function): Set last_columnnum, pass it to begin_prologue |
| hook and pass 0 to dwarf2out_begin_prologue. |
| (final_scan_insn): Update override_columnnum. Pass last_columnnum |
| to source_line debug hook. |
| (notice_source_line): Compute last_columnnum and for debug_column_info |
| return true on column changes. |
| * debug.h (struct gcc_debug_hooks): Add column argument to |
| source_line and begin_prologue hooks. |
| (debug_nothing_int_charstar_int_bool): Remove prototype. |
| (debug_nothing_int_int_charstar, |
| debug_nothing_int_int_charstar_int_bool): New prototypes. |
| (dwarf2out_begin_prologue): Add column argument. |
| * debug.c (do_nothing_debug_hooks): Adjust source_line and |
| begin_prologue hooks. |
| (debug_nothing_int_charstar_int_bool): Remove. |
| (debug_nothing_int_int_charstar, |
| debug_nothing_int_int_charstar_int_bool): New functions. |
| * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it |
| through to dwarf2out_source_line. |
| (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook. |
| (dwarf2out_source_line): Add column argument, emit it if requested. |
| * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column |
| arguments. |
| * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise. |
| * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise. |
| * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it |
| through to dwarf2out_begin_prologue. |
| (vmsdbgout_source_line): Add column argument, pass it through to |
| dwarf2out_source_line. |
| * dbxout.c (dbxout_begin_prologue): Add column argument, adjust |
| dbxout_source_line caller. |
| (dbxout_source_line): Add column argument. |
| |
| * common.opt (gno-column-info, gcolumn-info): New options. |
| * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix. |
| (check_die): Also test for multiple DW_AT_decl_column attributes. |
| (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add |
| DW_AT_decl_column if requested. |
| (gen_subprogram_die): Compare and/or add also DW_AT_decl_column |
| if requested. |
| (gen_variable_die): Likewise. |
| (add_call_src_coords_attributes): Add DW_AT_call_column if requested. |
| * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document. |
| |
| PR target/79569 |
| * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report. |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define. |
| (ix86_handle_option): Handle OPT_m3dnowa. |
| * doc/invoke.texi (-m3dnowa): Document. |
| * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use |
| -m3dnowa instead of -m3dnow -march=athlon. |
| |
| PR target/79559 |
| * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage |
| instead of gcc_assert for K, r and R code checks. Formatting fixes. |
| |
| 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79261 |
| * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add |
| support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be. |
| * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call |
| generator for vsx_xxpermdi_<mode>_be. |
| * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to |
| force big-endian semantics. |
| (vsx_xxpermdi_<mode>_be): New define_expand with same |
| implementation as previous version of vsx_xxpermdi_<mode>. |
| |
| 2017-02-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79327 |
| * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust |
| variable, its initialization and use. |
| |
| 2017-02-17 Julia Koval <julia.koval@intel.com> |
| |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New. |
| (OPTION_MASK_ISA_PKU_UNSET): New. |
| (ix86_handle_option): Handle -mrdpid. |
| * config/i386/cpuid.h (bit_RDPID): New. |
| * config/i386/driver-i386.c (host_detect_local_cpu): |
| Detect RDPID feature. |
| * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New. |
| * config/i386/i386-c.c (ix86_target_macros_internal): |
| Handle RDPID flag. |
| * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts. |
| (ix86_valid_target_attribute_inner_p): Add "rdpid". |
| (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID. |
| * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New. |
| * config/i386/i386.md (define_insn "rdpid"): New. |
| * config/i386/i386.opt Add -mrdpid. |
| * config/i386/immintrin.h (_rdpid_u32): New. |
| |
| 2017-02-17 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/79541 |
| * lra-constraints.c (curr_insn_transform): Remove wrong asm insn |
| instead of transforming it into USE. |
| |
| 2017-02-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments. |
| If HONOR_SNANS (SFmode) force the input to a register. |
| (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition. |
| (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates |
| an frsp or similar insn. |
| |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79577 |
| * params.def (selsched-max-sched-times): Increase minimum to 1. |
| |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/79574 |
| * gcse.c (want_to_gcse_p): Prevent integer overflow. |
| |
| 2017-02-17 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79529 |
| * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use |
| ssa_defined_default_def_p to handle cases which are implicitly |
| defined. |
| * tree-ssa.c (ssa_defined_default_def_p): New function. |
| (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases |
| which are implicitly defined. |
| * tree-ssa.h (ssa_defined_default_def_p): Declare. |
| |
| 2017-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79576 |
| * params.def (max-ssa-name-query-depth): Limit to 10. |
| |
| 2017-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79552 |
| * tree-ssa-structalias.c (visit_loadstore): Properly verify |
| default defs. |
| |
| 2017-02-17 Richard Biener <rguenther@suse.de> |
| |
| PR bootstrap/79567 |
| * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2. |
| |
| 2017-02-17 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/79536 |
| * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr. |
| (fold_negate_expr): New wrapper. |
| |
| 2017-02-16 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]: |
| Correct terminology and de-emphasize pre-standard behavior. |
| |
| 2017-02-16 Alan Modra <amodra@gmail.com> |
| |
| PR rtl-optimization/79286 |
| * ira.c (def_dominates_uses): New function. |
| (update_equiv_regs): Don't create an equivalence for insns that |
| may trap where the register def does not dominate the use. |
| |
| 2017-02-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/78127 |
| * lra.c (lra): Call lra_eliminate before finish the loop after |
| lra_constraint. |
| |
| 2017-02-16 Richard Biener <rguenther@suse.de> |
| |
| * graphite.h: Do not include isl/isl_val_gmp.h, instead include |
| isl/isl_val.h. |
| * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove. |
| (gcc_expression_from_isl_expr_int): Use generic isl_val interface. |
| * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h. |
| (isl_val_int_from_wi): New function. |
| (extract_affine_gmp): Rename to ... |
| (extract_affine_wi): ... this, take a widest_int. |
| (extract_affine_int): Just wrap extract_affine_wi. |
| (add_param_constraints): Use isl_val_int_from_wi. |
| (add_loop_constraints): Likewise, and extract_affine_wi. |
| |
| 2017-02-15 Jeff Law <law@redhat.com> |
| |
| PR middle-end/79521 |
| * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling |
| ira_init_register_move_cost_if_necessary. |
| |
| 2017-02-15 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/32003 |
| * doc/invoke.texi (-fdump-final-insns): Replace option accidentally |
| removed in a prior commit. |
| |
| 2017-02-15 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/79347 |
| * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile |
| counters during peeling. |
| |
| 2017-02-15 Thomas Schwinge <thomas@codesourcery.com> |
| |
| * Makefile.in (site.exp): Remove "set ISLVER". |
| |
| 2017-02-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79487 |
| * real.c (real_from_integer): Call real_convert even for decimal. |
| |
| 2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/79421 |
| * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS. |
| |
| 2017-02-14 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C" |
| cores and change the partno/implementer to be correct. |
| (thunderx2t99p1): New core which replaces thunderx2t99 and still has |
| the 'B" as the implementer. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| |
| 2017-02-14 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000.c: Add case statement entry to make the |
| xvcvuxdsp built-in argument unsigned. |
| * config/rs6000/vsx.md: Fix the source and return operand types so they |
| match the instruction definitions from the ISA document. Fix typo |
| in the instruction generation for the (define_insn "vsx_xvcvuxdsp" |
| statement. |
| |
| 2017-02-14 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/79282 |
| * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add |
| member early_clobber_alts. |
| * lra-lives.c (reg_early_clobber_p): New. |
| (process_bb_lives): Use it. |
| * lra.c (new_insn_reg): New arg early_clobber_alts. Use it. |
| (debug_operand_data): Initialize early_clobber_alts. |
| (setup_operand_alternative): Set up early_clobber_alts. |
| (collect_non_operand_hard_regs): Ditto. Pass early clobber |
| alternatives to new_insn_reg. |
| (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use |
| it. |
| (lra_update_insn_regno_info): Pass the new arg. |
| |
| 2017-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79505 |
| * omp-offload.c (free_oacc_loop): Release loop->ifns vector. |
| (new_oacc_loop_raw): Don't clear already cleared fields. |
| |
| PR target/79481 |
| * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd, |
| _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd, |
| _mm512_prefetch_i64gather_ps): New inline functions and macros. |
| |
| 2017-02-14 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/79495 |
| * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative. |
| |
| 2017-02-14 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/79498 |
| * config/i386/i386.c (timode_scalar_chain::convert_insn): Insert |
| the extra instruction to the right place to store 128-bit constant |
| when needed. |
| |
| 2017-02-14 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/79448 |
| * gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX |
| warning for strings of unknown length. |
| |
| 2017-02-13 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config.gcc (supported_defaults) [powerpc*-*-*]: Update. |
| |
| 2017-02-14 Jeff Law <law@redhat.com> |
| |
| PR target/79404 |
| * ira-costs.c (scan_one_insn): Initialize register move costs |
| for pseudos seen in USE/CLOBBER insns. |
| |
| PR tree-optimization/79095 |
| * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR, |
| if the numerator has the range ~[0,0] make the resultant range ~[0,0]. |
| (extract_range_from_binary_expr): For MINUS_EXPR with no derived range, |
| if the operands are known to be not equal, then the resulting range |
| is ~[0,0]. |
| (intersect_ranges): If the new range is ~[0,0] and the old range is |
| wide, then prefer ~[0,0]. |
| * tree-vrp.c (overflow_comparison_p_1): New function. |
| (overflow_comparison_p): New function. |
| * tree-vrp.c (register_edge_assert_for_2): Register additional asserts |
| if NAME is used in an overflow test. |
| (vrp_evaluate_conditional_warnv_with_ops): If the ops represent an |
| overflow check that can be expressed as an equality test, then adjust |
| ops to be that equality test. |
| |
| 2017-02-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-builtin-types.def: Remove flags argument. |
| * config/s390/s390.c (s390_init_builtins): Likewise. |
| |
| 2017-02-14 Martin Liska <mliska@suse.cz> |
| |
| * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body |
| vector. Fix trailing white spaces. |
| |
| 2017-02-14 James Greenhalgh <james.greenhalgh@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle |
| HFmode. |
| |
| 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68664 |
| * config/arm/arm.c (arm_sched_can_speculate_insn): |
| New function. Declare prototype. |
| (TARGET_SCHED_CAN_SPECULATE_INSN): Define. |
| |
| 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR rtl-optimization/68664 |
| * config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn): |
| New function. |
| (TARGET_SCHED_CAN_SPECULATE_INSN): Define. |
| |
| 2017-02-14 Amit Pawar <amit.pawar@amd.com> |
| |
| * config/i386/i386.c (znver1_cost): Fix the alignment for function and |
| max skip bytes for function, loop and jump. |
| |
| 2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org> |
| |
| * gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for |
| ABS_EXPR for gimple dump. |
| |
| 2017-02-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79462 |
| * config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4]. |
| |
| PR tree-optimization/79408 |
| * tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the |
| case when on TRUNC_MOD_EXPR op0 is INTEGER_CST. |
| (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges |
| also if rhs1 is INTEGER_CST. |
| |
| 2017-02-14 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79432 |
| * tree-into-ssa.c (insert_phi_nodes): When the function can |
| have abnormal edges rewrite SSA names with broken use-def |
| dominance out of SSA and register them for PHI insertion. |
| |
| 2017-02-13 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/79496 |
| * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid |
| clearing info.nowrite flag when snprintf size argument is a range. |
| |
| 2017-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| * cprop.c (cprop_jump): Add missing space in string literal. |
| * tree-ssa-structalias.c (rewrite_constraints): Likewise. |
| (get_constraint_for_component_ref): Likewise. |
| * df-core.c (df_worklist_dataflow_doublequeue): Likewise. |
| * tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise. |
| * lra-constraints.c (process_alt_operands): Likewise. |
| * ipa-inline.c (inline_small_functions): Likewise. |
| * tree-ssa-sccvn.c (visit_reference_op_store): Likewise. |
| * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise. |
| * trans-mem.c (diagnose_tm_1_op): Likewise. |
| * omp-grid.c (grid_find_single_omp_among_assignments): Likewise. |
| (grid_parallel_clauses_gridifiable): Likewise. |
| |
| * config/nvptx/mkoffload.c (process): Add space in between |
| , and %d. |
| |
| * config/i386/i386.h (REG_CLASS_NAMES): Add , in between |
| "MOD4_SSE_REGS" and "ALL_REGS". |
| |
| * spellcheck.c (test_data): Add , in between "foo" and "food". |
| |
| 2017-02-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/79449 |
| * config/rs6000/rs6000.c (expand_block_compare): Make sure runtime |
| boundary crossing check and subsequent code generation agree. |
| |
| 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64.c (has_memory_op): Delete. |
| (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of |
| has_memory_op. |
| |
| 2017-02-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79388 |
| PR rtl-optimization/79450 |
| * combine.c (distribute_notes): When removing TEM_INSN for which |
| corresponding dest has last value recorded, invalidate that last |
| value. |
| |
| 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead |
| of explicit '@'. Add missing assembly comment marker on branch costs |
| printout. |
| |
| 2017-02-13 Nathan Sidwell <nathan@acm.org> |
| |
| * gengtype-lex.l (<in_struct>): Add '/'. |
| |
| 2017-02-13 Martin Liska <mliska@suse.cz> |
| |
| PR c/79471 |
| * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC. |
| |
| 2017-02-13 Richard Biener <rguenther@suse.de> |
| |
| * configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS): |
| Remove. |
| * configure: Re-generate. |
| * config.in: Likewise. |
| * graphite-dependences.c: Simplify as if |
| HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined. |
| * graphite-isl-ast-to-gimple.c: Likewise. |
| * graphite-optimize-isl.c: Likewise. |
| * graphite-poly.c: Likewise. |
| * graphite-sese-to-poly.c: Likewise. |
| * graphite.h: Likewise. |
| * toplev.c: Include isl/version.h and use isl_version () for |
| printing the ISL version. |
| * doc/install.texi: Update ISL requirement. |
| |
| 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/standards.texi (Standards): Update reference to |
| Objective-C 2.0. |
| |
| 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (Named Address Spaces): sourceware.org now |
| defaults to https. |
| * doc/install.texi (Binaries): Ditto. |
| (Specific): Ditto. |
| |
| 2017-02-11 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/cpp.texi: Replace "stringify"/"stringification" with C |
| standard terminology "stringize"/"stringizing" throughout. |
| * doc/cppinternals.texi: Likewise. |
| |
| 2017-02-11 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi: Fix some spelling mistakes and typos. |
| * doc/invoke.texi: Likewise. |
| |
| 2017-02-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/79224 |
| * params.def (inline-min-speedup) Change from 10 to 8. |
| |
| 2017-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to |
| 4.5. |
| |
| 2017-02-11 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/79224 |
| * ipa-inline-analysis.c (get_minimal_bb): New function. |
| (record_modified): Use it. |
| (remap_edge_change_prob): Handle also ancestor functions. |
| |
| 2017-02-11 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Remove broken link into |
| the Mauve CVS repository. |
| |
| 2017-02-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79454 |
| * internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise |
| result computation whenever lhs doesn't have vector mode, not |
| just when it has BLKmode. |
| |
| 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/makefile.texi (profiledbootstrap): Refer to the |
| installation instructions only in textual form. |
| |
| 2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/79295 |
| * config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints. |
| |
| 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): Use https for blackfin.uclinux.org. |
| (Specific): Update mingw-w64 reference. |
| (Binaries): Ditto. |
| (Specific): Remove broken link to Renesas RX processor. |
| |
| 2017-02-10 Richard Biener <rguenther@suse.de> |
| |
| * toplev.c (process_options): Do not mention obsolete graphite |
| options when printing sorry message about missing graphite support. |
| Mention -floop-nest-optimize. |
| |
| 2017-02-10 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| * config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm. |
| (vtst_p16): Likewise. |
| (vtstq_p8): Likewise. |
| (vtstq_p16): Likewise. |
| (vtst_p64): New. |
| (vtstq_p64): Likewise. |
| * config/arm/arm_neon.h (vgetq_lane_p64): New. |
| (vset_lane_p64): New. |
| (vsetq_lane_p64): New. |
| |
| 2017-02-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79411 |
| * tree-ssa-reassoc.c (is_reassociable_op): Return false if |
| stmt operands are SSA_NAMEs used in abnormal phis. |
| (can_reassociate_p): Return false if op is SSA_NAME used in abnormal |
| phis. |
| |
| 2017-02-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR ipa/70795 |
| * cgraphunit.c (cgraph_node::add_new_function): Set externally_visible |
| flag if needed. |
| |
| 2017-02-09 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-loop-unswitch.c (hoist_guard): Update profile. |
| |
| 2017-02-09 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-offload.c (oacc_loop_auto_partitions): Use || instead of | |
| to avoid warning. |
| |
| PR c/79413 |
| * gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants, |
| not arbitrary TREE_CONSTANT. |
| |
| PR c/79431 |
| * gimplify.c (gimplify_adjust_omp_clauses): Ignore |
| "omp declare target link" attribute unless is_global_var. |
| * omp-offload.c (find_link_var_op): Likewise. |
| |
| 2017-02-09 Nathan Sidwell <nathan@codesourcery.com> |
| Chung-Lin Tang <cltang@codesourcery.com> |
| |
| * gimplify.c (gimplify_scan_omp_clauses): No special handling for |
| OMP_CLAUSE_TILE. |
| (gimplify_adjust_omp_clauses): Don't delete TILE. |
| (gimplify_omp_for): Deal with TILE. |
| * internal-fn.c (expand_GOACC_TILE): New function. |
| * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative. |
| (GOACC_TILE): New. |
| * omp-expand.c (struct oacc_collapse): Add tile and outer fields. |
| (expand_oacc_collapse_init): Add LOC paramter. Initialize tile |
| element fields. |
| (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling, |
| avoid DIV for outermost collapse var. |
| (expand_oacc_for): Insert tile element loop as needed. Adjust. |
| Remove out of date comments, fix whitespace. |
| * omp-general.c (omp_extract_for_data): Deal with tiling. |
| * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag, |
| adjust OLF_DIM_BASE value. |
| (struct omp_for_data): Add tiling field. |
| * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE. |
| (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels |
| for auto loops. Remove default auto determining, moved to |
| oacc_loop_fixed_partitions. |
| * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call |
| stmts, add e_mask field. |
| (oacc_dim_call): New function, abstracted out from oacc_thread_numbers. |
| (oacc_thread_numbers): Use oacc_dim_call. |
| (oacc_xform_tile): New. |
| (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector. |
| (finish_oacc_loop): Adjust for ifns vector. |
| (oacc_loop_discover_walk): Append loop abstraction sites to list, |
| add case for GOACC_TILE fns. |
| (oacc_loop_xform_loop): Delete. |
| (oacc_loop_process): Iterate over call list directly, and add |
| handling for GOACC_TILE fns. |
| (oacc_loop_fixed_partitions): Determine default auto, deal with TILE, |
| dump partitioning. |
| (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but |
| vector partitioning to outer loops. Assign 2 partitions to loops |
| when available. Add TILE handling. |
| (oacc_loop_partition): Adjust oacc_loop_auto_partitions call. |
| (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs. |
| * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE. |
| * tree.c (omp_clause_num_ops): Adjust TILE ops. |
| * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New. |
| |
| 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * configure.ac (ACX_BUGURL): Update. |
| * configure: Regenerate. |
| |
| 2017-02-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69823 |
| * graphite-scop-detection.c (scop_detection::harmful_loop_in_region): |
| Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap. |
| |
| 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com> |
| |
| * config/arc/arc-c.def: Add __NPS400__ definition. |
| * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here. |
| (TARGET_NPS400): Define. |
| |
| 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com> |
| |
| * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in |
| file. |
| (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t |
| pointer, arch_info. |
| (arc_cpu_types): Fill the arch_info field with a pointer into the |
| arc_arch_types table. |
| (arc_selected_cpu): Declare. |
| * config/arc/arc.c (arc_selected_cpu): Make global. |
| (arc_selected_arch): Delete. |
| (arc_base_cpu): Delete. |
| (arc_override_options): Remove references to deleted variables, |
| update access to arch information. |
| (ARC_OPT): Update access to arch information. |
| (ARC_OPTX): Likewise. |
| * config/arc/arc.h (arc_base_cpu): Remove declaration. |
| (TARGET_ARC600): Update access to arch information. |
| (TARGET_ARC601): Likewise. |
| (TARGET_ARC700): Likewise. |
| (TARGET_EM): Likewise. |
| (TARGET_HS): Likewise. |
| * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch |
| information. |
| |
| 2017-02-08 Pat Haugen <pthaugen@us.ibm.com> |
| |
| PR target/78604 |
| * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert |
| condition/operands for integer GE/LE/GEU/LEU operations. |
| |
| 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR translation/79397 |
| * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling |
| of AltiVec. |
| |
| 2017-02-08 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/79375 |
| * ipa-prop.c (ipa_alloc_node_params): Make static, return bool |
| whether allocation happened. |
| (ipa_initialize_node_params): Do not call ipa_alloc_node_params if |
| nothing was allocated. |
| |
| 2017-02-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79408 |
| * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not |
| constant, but SSA_NAME with a known integer range, use the minimum |
| of that range instead of op1 to determine if modulo can be replaced |
| with its first operand. |
| |
| 2016-02-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX. |
| |
| 2017-02-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71824 |
| * graphite-scop-detection.c (scop_detection::build_scop_breadth): |
| Check all loops contained in the merged region. |
| |
| 2017-02-07 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.md (popcount<mode>2): New pattern. |
| |
| 2017-02-07 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64-cores.def (thunderx): Disable LSE. |
| (thunderxt88): Likewise. |
| (thunderxt81): Disable LSE and change v8.1 to v8. |
| (thunderxt83): Likewise. |
| |
| 2017-02-07 Jakub Jelinek <jakub@redhat.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79399 |
| * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size |
| type from int to size_t. |
| * ira-costs.c (struct_costs_size): Change type from int to size_t. |
| |
| 2017-02-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/79386 |
| * cprop.c (bypass_conditional_jumps): Initialize |
| bypass_last_basic_block already before splitting bbs after |
| unconditional traps... |
| (bypass_conditional_jumps): ... rather than here. |
| |
| PR target/79299 |
| * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs. |
| (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2, |
| *avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them, |
| fix -masm=intel patterns. |
| |
| 2017-02-07 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79256 |
| PR middle-end/79278 |
| * builtins.c (get_object_alignment_2): Use min_align_of_type |
| to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT |
| and ADJUST_FIELD_ALIGN. |
| |
| * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional |
| type parameter. |
| * doc/tm.texi: Regenerate. |
| * stor-layout.c (layout_decl): Adjust. |
| (update_alignment_for_field): Likewise. |
| (place_field): Likewise. |
| (min_align_of_type): Likewise. |
| * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust. |
| * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise. |
| * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/frv/frv.c (frv_adjust_field_align): Likewise. |
| * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/i386/i386.c (x86_field_alignment): Likewise. |
| * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise. |
| * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p): |
| Likewise. |
| |
| Revert |
| 2017-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79256 |
| * targhooks.c (default_builtin_vector_alignment_reachable): Honor |
| BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus |
| alignment on TYPE. |
| |
| 2017-02-07 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode |
| argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw |
| builtins to SImode and emit a zero-extend, if necessary. |
| |
| 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * docs/invoke.texi (RISC-V Options): Alphabetize. |
| |
| 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * doc/invoke.texi (RISC-V Options): Use two spaces to separate |
| options. |
| |
| 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com> |
| |
| * config/riscv/riscv.c: New file. |
| * gcc/common/config/riscv/riscv-common.c: Likewise. |
| * config.gcc: Likewise. |
| * config/riscv/constraints.md: Likewise. |
| * config/riscv/elf.h: Likewise. |
| * config/riscv/generic.md: Likewise. |
| * config/riscv/linux.h: Likewise. |
| * config/riscv/multilib-generator: Likewise. |
| * config/riscv/peephole.md: Likewise. |
| * config/riscv/pic.md: Likewise. |
| * config/riscv/predicates.md: Likewise. |
| * config/riscv/riscv-builtins.c: Likewise. |
| * config/riscv/riscv-c.c: Likewise. |
| * config/riscv/riscv-ftypes.def: Likewise. |
| * config/riscv/riscv-modes.def: Likewise. |
| * config/riscv/riscv-opts.h: Likewise. |
| * config/riscv/riscv-protos.h: Likewise. |
| * config/riscv/riscv.h: Likewise. |
| * config/riscv/riscv.md: Likewise. |
| * config/riscv/riscv.opt: Likewise. |
| * config/riscv/sync.md: Likewise. |
| * config/riscv/t-elf-multilib: Likewise. |
| * config/riscv/t-linux: Likewise. |
| * config/riscv/t-linux-multilib: Likewise. |
| * config/riscv/t-riscv: Likewise. |
| * configure.ac: Likewise. |
| * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew |
| Waterman as RISC-V maintainers. |
| * doc/install.texi: Add RISC-V entries. |
| * doc/invoke.texi: Add RISC-V options section. |
| * doc/md.texi: Add RISC-V constraints section. |
| * configure: Regenerated. |
| |
| 2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/66144 |
| * config/rs6000/vector.md (vcond<mode><mode>): Allow the true and |
| false values to be constant vectors with all 0 or all 1 bits set. |
| (vcondu<mode><mode>): Likewise. |
| * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New |
| predicate. |
| (fpmask_comparison_operator): Update comment. |
| (vecint_comparison_operator): New predicate. |
| * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize |
| vector conditionals when the true and false values are constant |
| vectors with all 0 bits or all 1 bits set. |
| |
| 2017-02-06 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79376 |
| * gimple-fold.c (get_range_strlen): Set the minimum length to zero. |
| |
| 2017-02-06 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/sse.md (vector modes -> vec_extract* splitter): Use |
| explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate |
| to simplify split condition. |
| |
| 2017-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * omp-expand.c (oxpand_omp_atomic_fetch_op, |
| expand_omp_atomic_pipeline): Return false if can_atomic_load_p is |
| false. |
| |
| 2017-02-06 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/68664 |
| * target.def (can_speculate_insn): New hook. |
| * doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook. |
| * doc/tm.texi: Regenerate. |
| * sched-rgn.c (can_schedule_ready_p): Use the new hook. |
| * config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro. |
| (rs6000_sched_can_speculate_insn): New function. |
| |
| 2017-02-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79284 |
| * tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define. |
| * tree-vect-stmts.c (vect_get_vec_def_for_operand, |
| vectorizable_mask_load_store, vectorizable_operation, |
| vect_is_simple_cond, get_same_sized_vectype): Use it instead |
| of comparing TREE_CODE of a type against BOOLEAN_TYPE. |
| * tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1, |
| vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise. |
| * tree-vect-slp.c (vect_get_constant_vectors): Likewise. |
| * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise. |
| Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after |
| is_gimple_assign (stmt). Replace another such test with |
| is_gimple_assign (stmt). |
| |
| 2017-02-06 Georg-Johann Lay <avr@gjlay.de> |
| |
| PR target/78883 |
| * config/avr/avr.c (rtl-iter.h): Include it. |
| (TARGET_LEGITIMATE_COMBINED_INSN): New hook define... |
| (avr_legitimate_combined_insn): ...and implementation. |
| |
| 2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/predicates.md ("larl_operand"): Use macros from hwint.h. |
| * config/s390/s390.c (s390_const_operand_ok) |
| (s390_canonicalize_comparison, s390_extract_part) |
| (s390_single_part, s390_contiguous_bitmask_nowrap_p) |
| (s390_contiguous_bitmask_p, s390_rtx_costs) |
| (legitimize_pic_address): Likewise. |
| * config/s390/s390.md ("clzdi2", "clztidi2"): Likewise. |
| * config/s390/vx-builtins.md ("vec_genbytemaskv16qi") |
| ("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>") |
| ("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT. |
| * config/s390/vector.md ("vec_vfenes<mode>"): Likewise. |
| |
| 2017-02-06 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.md (*addhi3_zero_extend): Add alternative where |
| REGNO($0) == REGNO($1). |
| |
| 2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/linux.h(SIZE_TYPE): Add comment. |
| |
| 2017-02-06 Julian Brown <julian@codesourcery.com> |
| Naveen H.S <Naveen.Hurugalawadi@cavium.com> |
| Virendra Pathak <virendra.pathak@broadcom.com> |
| |
| * config/aarch64/aarch64-cores.def: Change the scheduler |
| to Thunderx2t99. |
| * config/aarch64/aarch64.md: Include thunderx2t99.md. |
| * config/aarch64/thunderx2t99.md: New file. |
| |
| 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/standards.texi (Go Language): Update link to language |
| standard. |
| |
| 2017-02-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-eh.c (lower_resx): Sanitize profile. |
| (cleanup_empty_eh_move_lp): Likewise. |
| |
| 2017-02-05 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR tree-ssa/79347 |
| * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add |
| ELSE_PROB. |
| * cfgloopmanip.h (loop_version): Update prototype. |
| * modulo-sched.c (sms_schedule): Update call of loop_version. |
| * tree-if-conv.c(version_loop_for_if_conversion): Likewise. |
| * tree-parloops.c (gen_parallel_loop): Likewise. |
| * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise. |
| * tree-ssa-loop-split.c (split_loop): Likewise. |
| * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise. |
| * tree-vect-loop-manip.c (vect_loop_versioning): Likewise. |
| |
| 2017-02-05 Martin Liska <mliska@suse.cz> |
| |
| PR bootstrap/78985 |
| * config/s390/s390.c (s390_gimplify_va_arg): Initialize local |
| variable to NULL. |
| (print_operand_address): Initialize a struct to zero. |
| |
| 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/contrib.texi (Contributors): Refer to Hans Boehm's |
| garbage collector only in textual form. |
| |
| 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (x86 specific memory model extensions for |
| transactional memory): Simplify a phrase. |
| |
| 2017-02-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/79353 |
| * config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with |
| 'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32. |
| (atomic_storedi_1): Likewise. |
| |
| 2017-02-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79338 |
| * tree-parloops.c (gather_scalar_reductions): Don't call |
| vect_analyze_loop_form for loop->inner before destroying loop's |
| loop_vinfo. |
| |
| 2017-02-03 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79327 |
| * gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix |
| when precision has resulted in leading zeros. |
| (format_integer): Adjust the likely counter to assume an unknown |
| argument that may be zero is non-zero. |
| |
| 2017-02-03 Jason Merrill <jason@redhat.com> |
| |
| PR c++/78689 |
| * tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to |
| avoid copying non-taken branch. |
| |
| 2017-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79340 |
| * tree-vect-loop.c (vectorizable_reduction): Release |
| vec_defs elements after safe_splicing them into other vectors. |
| Formatting fixes. |
| |
| PR tree-optimization/79327 |
| * gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning |
| true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of |
| dirtype. |
| (format_integer): Use wide_int_to_tree instead of build_int_cst |
| + to_?hwi. If argmin is NULL, just set argmin and argmax to |
| TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation |
| of shortest and longest sequence. |
| |
| 2017-02-03 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (dimode_scalar_chain::convert_reg): |
| Use pextrd for TARGET_SSE4_1 when creating scalar copy. |
| |
| 2017-02-03 Walter Lee <walt@tilera.com> |
| |
| PR target/78862 |
| * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage |
| after initial stackframe link reg save. |
| * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise. |
| |
| 2017-02-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79354 |
| * config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of |
| wu for stxssp alternative. |
| |
| 2017-02-03 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/79352 |
| * gimple-fold.c (get_range_strlen): Add argument. |
| (get_range_strlen): Change return type to bool. |
| (get_maxval_strlen): Pass in a dummy argument. |
| * gimple-fold.h (get_range_strlen): Change return type to bool. |
| * gimple-ssa-sprintf.c (get_string_length): Set unlikely counter. |
| * tree.h (array_at_struct_end_p): Add argument. |
| * tree.c (array_at_struct_end_p): Handle it. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| PR lto/66295 |
| * multiple_target.c (create_dispatcher_calls): Redirect edge |
| from a caller of a dispatcher. |
| (expand_target_clones): Make the clones local. |
| (ipa_target_clone): Do both target clones and resolvers. |
| (ipa_dispatcher_calls): Remove the pass. |
| (pass_dispatcher_calls::gate): Likewise. |
| (make_pass_dispatcher_calls): Likewise. |
| * passes.def (pass_target_clone): Put as very first IPA early |
| pass. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| * symtab.c (symtab_node::binds_to_current_def_p): Bail out |
| in case of a function with ifunc attribute. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| * cgraph.c (cgraph_node::dump): Dump function version info. |
| * symtab.c (symtab_node::dump_base): Add missing new line. |
| |
| 2017-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| * tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function. |
| (ifcombine_ifandif): Use it. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| * doc/invoke.texi: Document default value for |
| use-after-scope-direct-emission-threshold. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79339 |
| * gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear. |
| (format_floating): Likewise. |
| |
| 2017-02-03 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79337 |
| * ipa-prop.c (ipa_node_params_t::insert): Remove current |
| implementation. |
| (ipa_node_params_t::remove): Likewise. |
| * ipa-prop.h (ipa_node_params::ipa_node_params): Make default |
| initialization from removed ipa_node_params_t::insert. |
| (ipa_node_params::~ipa_node_params): Move from removed |
| ipa_node_params_t::release. |
| * symbol-summary.h (symbol_summary::m_released): New member. |
| Do not release a summary twice. Do not allow to call finalizer |
| for types of a summary that live in GGC memory. |
| |
| 2017-02-02 Naveen H.S <Naveen.Hurugalawadi@cavium.com> |
| |
| * config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and |
| cmp_branch fusion. |
| |
| 2017-02-02 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/79275 |
| * gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero. |
| (format_string): Tighten up the range of output for non-constant |
| strings and correct the expected range for wide non-constant strings. |
| |
| 2017-02-02 Martin Sebor <msebor@redhat.com> |
| |
| * doc/invoke.texi (-maccumulate-args): Fix bad grammar. |
| |
| PR middle-end/32003 |
| * doc/invoke.texi (-fdump-tree-): Remove pass-specific options from |
| index. |
| (-fdump-tree-@var): Add to index and document how to come up |
| with pass-specific option and dump file names. |
| (-fdump-passes): Clarify where to look for output. |
| |
| 2017-02-02 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77445 |
| * tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump |
| statistics of the analyzed path; allow threading for speed when |
| any of BBs along the path are optimized for speed. |
| |
| 2017-02-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR middle-end/78468 |
| * emit-rtl.c (init_emit): Add ??? comment for problematic alignment |
| settings of the virtual registers. |
| |
| Revert again |
| 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * explow.c (get_dynamic_stack_size): Take known alignment of stack |
| pointer + STACK_DYNAMIC_OFFSET into account when calculating the size |
| needed. |
| |
| 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/vx-builtins.md ("vec_ceil", "vec_floor") |
| ("vec_trunc", "vec_roundc", "vec_round"): Remove expanders. |
| |
| 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md: Add missing comments with the expanded |
| mnemonics. |
| * config/s390/vector.md: Likewise. |
| * config/s390/vx-builtins.md: Likewise. |
| |
| 2017-02-02 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/79197 |
| * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ... |
| (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all |
| conditions on a single line. |
| |
| 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename |
| __S390_VX__ to __VX__. |
| |
| 2017-02-01 Andrew Pinski <apinski@cavium.com> |
| |
| * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass |
| stmt_info to record_stmt_cost. |
| (vect_get_known_peeling_cost): Pass stmt_info if known to |
| record_stmt_cost. |
| * config/aarch64/aarch64-protos.h (cpu_vector_cost): Split |
| cpu_vector_cost field into |
| scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost |
| field into vec_int_stmt_cost and vec_fp_stmt_cost. |
| * config/aarch64/aarch64.c (generic_vector_cost): Update for the |
| splitting of scalar_stmt_cost and vec_stmt_cost. |
| (thunderx_vector_cost): Likewise. |
| (cortexa57_vector_cost): LIkewise. |
| (exynosm1_vector_cost): Likewise. |
| (xgene1_vector_cost): Likewise. |
| (thunderx2t99_vector_cost): Improve after the splitting of the two |
| fields. |
| (aarch64_builtin_vectorization_cost): Update for the splitting of |
| scalar_stmt_cost and vec_stmt_cost. |
| |
| 2017-02-01 Torvald Riegel <triegel@redhat.com> |
| Richard Henderson <rth@redhat.com> |
| |
| * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free" |
| conditional on existance of a fast atomic load. |
| * optabs-query.c (can_atomic_load_p): New function. |
| * optabs-query.h (can_atomic_load_p): Declare it. |
| * optabs.c (expand_atomic_exchange): Always delegate to libatomic if |
| no fast atomic load is available for the particular size of access. |
| (expand_atomic_compare_and_swap): Likewise. |
| (expand_atomic_load): Likewise. |
| (expand_atomic_store): Likewise. |
| (expand_atomic_fetch_op): Likewise. |
| * testsuite/lib/target-supports.exp |
| (check_effective_target_sync_int_128): Remove x86 because it provides |
| no fast atomic load. |
| (check_effective_target_sync_int_128_runtime): Likewise. |
| |
| 2017-02-01 Richard Biener <rguenther@suse.de> |
| |
| * graphite.c: Include tree-vectorizer.h for find_loop_location. |
| (graphite_transform_loops): Provide opt-info for optimized nests. |
| * tree-parloop.c (parallelize_loops): Provide opt-info for |
| parallelized loops. |
| |
| 2017-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/79315 |
| * tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it |
| was not set before. |
| |
| 2017-02-01 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71824 |
| * graphite-scop-detection.c (scop_detection::build_scop_breadth): |
| Verify the loops are valid in the merged SESE region. |
| (scop_detection::can_represent_loop_1): Check analyzing the |
| evolution of the number of iterations in the region succeeds. |
| |
| 2017-01-31 Ian Lance Taylor <iant@golang.org> |
| |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Add |
| REG_ARGS_SIZE note to 32-bit push insns and call insn. |
| |
| 2017-01-31 David Malcolm <dmalcolm@redhat.com> |
| |
| PR preprocessor/79210 |
| * input.c (get_substring_ranges_for_loc): Replace line_width |
| assertion with error-handling. |
| |
| 2017-01-31 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77318 |
| * graphite-sese-to-poly.c (extract_affine): Fix assert. |
| (create_pw_aff_from_tree): Take loop parameter. |
| (add_condition_to_pbb): Pass loop of the condition to |
| create_pw_aff_from_tree. |
| |
| 2017-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/s390/s390.c (s390_asan_shadow_offset): New function. |
| (TARGET_ASAN_SHADOW_OFFSET): Redefine. |
| |
| 2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78597 |
| PR target/79038 |
| * config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete, |
| no longer used. |
| (convert_int_to_float128): Likewise. |
| * config/rs6000/rs6000.c (convert_float128_to_int): Likewise. |
| (convert_int_to_float128): Likewise. |
| * config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise. |
| (UNSPEC_IEEE128_CONVERT): Likewise. |
| (floatsi<mode>2, FLOAT128 iterator): Bypass calling |
| rs6000_expand_float128_convert if we have IEEE 128-bit hardware. |
| Use local variables for IBM extended format. |
| (fix_trunc<mode>si2, FLOAT128 iterator): Likewise. |
| (fix_trunc<mode>si2_fprs): Likewise. |
| (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise. |
| (floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise. |
| (fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support |
| to know that we can now have integers of all sizes in vector |
| registers. |
| (fix<uns>_<mode>di2_hw): Likewise. |
| (float<uns>_<mode>si2_hw): Likewise. |
| (fix_<mode>si2_hw): Likewise. |
| (fixuns_<mode>si2_hw): Likewise. |
| (float<uns>_<mode>di2_hw): Likewise. |
| (float_<mode>di2_hw): Likewise. |
| (float_<mode>si2_hw): Likewise. |
| (floatuns_<mode>di2_hw): Likewise. |
| (floatuns_<mode>si2_hw): Likewise. |
| (xscvqp<su>wz_<mode>): Delete, no longer used. |
| (xscvqp<su>dz_<mode>): Likewise. |
| (xscv<su>dqp_<mode>): Likewise. |
| (ieee128_mfvsrd_64bit): Likewise. |
| (ieee128_mfvsrd_32bit): Likewise. |
| (ieee128_mfvsrwz): Likewise. |
| (ieee128_mtvsrw): Likewise. |
| (ieee128_mtvsrd_64bit): Likewise. |
| (ieee128_mtvsrd_32bit): Likewise. |
| |
| 2017-01-31 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79285 |
| * ipa-prop.c (ipa_free_all_node_params): Call release method |
| instead of ~sumbol_summary to not to trigger double times |
| dtor of hash_map. |
| |
| 2017-01-31 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR tree-optimization/71691 |
| * bitmap.h (class auto_bitmap): New. |
| * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call |
| is_maybe_undefined instead of ssa_undefined_value_p. |
| |
| 2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename |
| __S390_ARCH_LEVEL__ to __ARCH__. |
| |
| 2017-01-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/79267 |
| * value-prof.c (gimple_ic): Only drop lhs for noreturn calls |
| if should_remove_lhs_p is true. |
| |
| 2017-01-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/63238 |
| * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment. |
| (add_alignment_attribute): New. |
| (base_type_die): Add alignment attribute. |
| (subrange_type_die): Likewise. |
| (modified_type_die): Likewise. |
| (gen_array_type_die): Likewise. |
| (gen_descr_array_type_die: Likewise. |
| (gen_enumeration_type_die): Likewise. |
| (gen_subprogram_die): Likewise. |
| (gen_variable_die): Likewise. |
| (gen_field_die): Likewise. |
| (gen_ptr_to_mbr_type_die): Likewise. |
| (gen_struct_or_union_type_die): Likewise. |
| (gen_subroutine_type_die): Likewise. |
| (gen_typedef_die): Likewise. |
| (base_type_cmp): Compare alignment attribute. |
| |
| 2017-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/79170 |
| * config/rs6000/altivec.md (*setb_internal): Rename to setb_signed. |
| (setb_unsigned) New pattern for setb with CCUNS. |
| * config/rs6000/rs6000.c (expand_block_compare): Use a different |
| subfc./subfe sequence to avoid overflow problems. Generate a |
| shorter sequence with cmpld/setb for power9. |
| * config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern |
| for generating subfc. instruction. |
| (cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence |
| now uses this instruction. |
| |
| 2017-01-30 Ian Lance Taylor <iant@google.com> |
| |
| PR debug/79289 |
| * dwarf2out.c (gen_type_die_with_usage): When picking a variant |
| for FUNCTION_TYPE/METHOD_TYPE, use the first matching one. |
| |
| 2017-01-30 Martin Sebor <msebor@redhat.com> |
| |
| * gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision): |
| Move constant to the right of a relational operator. |
| (get_mpfr_format_length, format_character, format_string): Ditto. |
| (should_warn_p, maybe_warn): Same. |
| |
| * doc/invoke.texi (-Wformat-truncation=1): Fix typo. |
| |
| 2017-01-30 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79061 |
| * asan.c (get_translation_unit_decl): Remove function. |
| (asan_add_global): Force has_dynamic_init to zero in LTO mode. |
| |
| 2017-01-30 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/79259 |
| * opts.c (common_handle_option): Enable flag_ipa_bit_cp w/ |
| -fprofile-generate. |
| |
| 2017-01-30 Martin Liska <mliska@suse.cz> |
| |
| PR bootstrap/78985 |
| * config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze): |
| Initialize variables with NULL value. |
| |
| 2017-01-30 Richard Earnshaw <rearnsh@arm.com> |
| |
| PR target/79260 |
| * config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to |
| tm_p_file. |
| * arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h. |
| |
| 2017-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79276 |
| * tree-vrp.c (process_assert_insertions): Properly adjust common |
| when removing a duplicate. |
| |
| 2017-01-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79256 |
| * targhooks.c (default_builtin_vector_alignment_reachable): Honor |
| BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus |
| alignment on TYPE. |
| * tree.c (build_aligned_type): Set TYPE_USER_ALIGN. |
| |
| 2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| PR target/79240 |
| * config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask") |
| ("*r<noxa>sbg_<mode>_sll_bitmask") |
| ("*extzv_<mode>_srl<clobbercc_or_nocc>") |
| ("*extzv_<mode>_sll<clobbercc_or_nocc>"): |
| Use contiguous_bitmask_nowrap_operand. |
| |
| 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79268 |
| * config/rs6000/altivec.h (vec_xl): Revise #define. |
| (vec_xst): Likewise. |
| |
| 2017-01-27 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum. |
| |
| 2017-01-27 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/79194 |
| * cprop.c (one_cprop_pass): Move deletion of code after unconditional |
| traps before call to bypass_conditional_jumps. |
| |
| 2017-01-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR tree-optimization/71374 |
| * lra-constraints.c (check_conflict_input_operands): New. |
| (match_reload): Use it. |
| |
| 2017-01-27 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/79131 |
| * lra-assigns.c (find_hard_regno_for_1): Take endianess for into |
| account to calculate conflict_set. |
| |
| 2017-01-27 Bin Cheng <bin.cheng@arm.com> |
| |
| PR rtl-optimization/78559 |
| * combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for |
| other_insn in combine. |
| |
| 2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com> |
| |
| * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use |
| uint16_type_node for BT_UINT16. |
| |
| 2017-01-27 David Malcolm <dmalcolm@redhat.com> |
| |
| * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and |
| "RTL Tests" to menu. |
| (GIMPLE Tests): New node. |
| (RTL Tests): New node. |
| |
| 2017-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79245 |
| * tree-loop-distribution.c (distribute_loop): Apply cost |
| modeling also to detected patterns. |
| |
| 2017-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71433 |
| * tree-vrp.c (register_new_assert_for): Revert earlier changes. |
| (compare_assert_loc): New function. |
| (process_assert_insertions): Sort and optimize assert locations |
| to remove duplicates and push down identical assertions on |
| edges to their destination block. |
| |
| 2017-01-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79244 |
| * tree-vrp.c (remove_range_assertions): Forcefully propagate |
| out SSA names even if abnormal. |
| |
| 2017-01-27 Jakub Jelinek <jakub@redhat.com> |
| |
| * realmpfr.h: Poison MPFR_RND{N,Z,U,D}. |
| * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN |
| instead of MPFR_RNDN. |
| |
| 2017-01-27 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/79239 |
| * arm.c (arm_option_override): Don't call build_target_option_node |
| until after doing all option overrides. |
| (arm_valid_target_attribute_tree): Likewise. |
| |
| 2017-01-27 Martin Liska <mliska@suse.cz> |
| |
| * doc/invoke.texi (-fprofile-arcs): Document profiling support |
| for {cd}tors and C++ {cd}tors. |
| |
| 2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com> |
| |
| * config/s390/s390.md ("*setmem_long_and") |
| ("*setmem_long_and_31z"): Use zero_extend instead of and. |
| |
| 2017-01-26 Martin Sebor <msebor@redhat.com> |
| |
| * gimple-ssa-sprintf.c (format_floating): Simplify the computation |
| of precision. |
| |
| 2017-01-26 Martin Sebor <msebor@redhat.com> |
| |
| * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and |
| HAVE_DFmode before using XFmode or DFmode. |
| (parse_directive): Avoid using the z length modifier to avoid |
| the ISO C++98 does not support the ‘z’ gnu_printf length modifier. |
| |
| PR middle-end/78703 |
| * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change |
| to accept adjustment as an array. |
| (get_int_range): New function. |
| (struct directive): Make width and prec arrays. |
| (directive::set_width, directive::set_precision): Call get_int_range. |
| (format_integer, format_floating): Handle width and precision ranges. |
| (format_string, parse_directive): Same. |
| |
| 2017-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/79129 |
| * dwarf2out.c (generate_skeleton_bottom_up): For children with |
| comdat_type_p set, just clone them, but keep the children in the |
| original DIE. |
| |
| PR debug/78835 |
| * dwarf2out.c (prune_unused_types): Mark all functions with DIEs |
| which have direct callers with -fvar-tracking-assignments enabled |
| in the current TU. |
| (resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin |
| inside of type units. |
| |
| 2017-01-26 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/78703 |
| * gimple-ssa-sprintf.c (struct result_range): Add likely and |
| unlikely counters. |
| (struct format_result): Replace number_chars, number_chars_min, |
| and number_chars_max with a single member of struct result_range. |
| Remove bounded. |
| (format_result::operator+=): Adjust. |
| (struct fmtresult): Remove bounded. Handle likely and unlikely |
| counters. |
| (fmtresult::adjust_for_width_or_precision): New function. |
| (fmtresult:type_max_digits): New function. |
| (bytes_remaining): Handle likely and unlikely counters. |
| (min_bytes_remaining): Remove. |
| (format_percent): Simplify. |
| (format_integer, format_floating): Set likely and unlikely counters. |
| (get_string_length, format_character, format_string): Same. |
| (format_plain, should_warn_p): New function. |
| (maybe_warn): Call should_warn_p. Update diagnostic messages |
| and handle those for all directives, including plain strings. |
| (format_directive): Handle likely and unlikely counters. |
| Remove unnecessary quoting from diagnostics. Add an informational |
| note. |
| (add_bytes): Remove. |
| (pass_sprintf_length::compute_format_length): Simplify. |
| (try_substitute_return_value): Handle likely and unlikely counters. |
| |
| 2017-01-26 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove |
| bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins |
| |
| 2017-01-26 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/79131 |
| * lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take |
| endianess for subregs into account. |
| * lra-constraints.c (lra_constraints): Do risky transformations |
| always on the first iteration. |
| * lra-lives.c (check_pseudos_live_through_calls): Add arg |
| last_call_used_reg_set. |
| (process_bb_lives): Define and use last_call_used_reg_set. |
| * lra.c (lra): Always continue after lra_constraints on the first |
| iteration. |
| |
| 2017-01-26 Kirill Yukhin <kirill.yukhin@gmail.com> |
| |
| * gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long |
| constant. |
| * gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto. |
| |
| 2017-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/avx512fintrin.h (_ktest_mask16_u8, |
| _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ... |
| * config/i386/avx512dqintrin.h (_ktest_mask16_u8, |
| _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here. |
| * config/i386/i386-builtin.def (__builtin_ia32_ktestchi, |
| __builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use |
| OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F. |
| * config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator. |
| (kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ. |
| |
| 2017-01-26 Marek Polacek <polacek@redhat.com> |
| |
| PR c/79199 |
| * fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL |
| for the third operand. |
| |
| 2017-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/79236 |
| * omp-low.c (struct omp_context): Add simt_stmt field. |
| (scan_omp_for): Return omp_context *. |
| (scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD |
| context to the _simt_ SIMD stmt. |
| (lower_omp_for): For combined SIMD with sibling _simt_ |
| SIMD, make sure to use the same decls in _looptemp_ |
| clauses as in the sibling. |
| |
| 2017-01-26 David Sherwood <david.sherwood@arm.com> |
| |
| PR middle-end/79212 |
| * gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in |
| all contexts. |
| |
| 2017-01-26 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/70465 |
| * reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1); |
| emit fld b; fld a; if possible. |
| |
| * brig-builtins.def: Update copyright years. |
| * config/arm/arm_acle_builtins.def: Update copyright years. |
| |
| 2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79179 |
| * config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY |
| constraint instead of o for the stxsd instruction. |
| |
| 2017-01-25 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order |
| of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD. |
| |
| 2017-01-25 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (C++ Dialect Options): Fix typo. |
| |
| 2017-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/69264 |
| * target.def (vector_alignment_reachable): Improve documentation. |
| * doc/tm.texi: Regenerate. |
| * targhooks.c (default_builtin_vector_alignment_reachable): Simplify |
| and add a comment. |
| * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert |
| earlier changes with respect to TYPE_USER_ALIGN. |
| (vector_alignment_reachable_p): Likewise. Improve dumping. |
| |
| 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/79145 |
| * config/arm/arm.md (xordi3): Force constant operand into a register |
| for TARGET_IWMMXT. |
| |
| 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * doc/invoke.texi (-fstore-merging): Correct default optimization |
| levels at which it is enabled. |
| (-O): Move -fstore-merging from list to... |
| (-O2): ... Here. |
| |
| 2017-01-25 Richard Biener <rguenther@suse.de> |
| |
| PR debug/78363 |
| * omp-expand.c: Include debug.h. |
| (expand_omp_taskreg): Make sure to generate early debug before |
| outlining anything from a function. |
| (expand_omp_target): Likewise. |
| (grid_expand_target_grid_body): Likewise. |
| |
| 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79061 |
| * asan.c (get_translation_unit_decl): New function. |
| (asan_add_global): Extract modules file name from globals |
| TRANSLATION_UNIT_DECL name. |
| |
| 2017-01-24 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/77439 |
| * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction |
| for long calls with APCS frame and VFP. |
| |
| 2017-01-24 David Malcolm <dmalcolm@redhat.com> |
| |
| * cfg.c (original_copy_tables_initialized_p): New function. |
| * cfg.h (original_copy_tables_initialized_p): New decl. |
| * cfgrtl.c (relink_block_chain): Guard the call to |
| free_original_copy_tables with a call to |
| original_copy_tables_initialized_p. |
| * cgraph.h (symtab_node::native_rtl_p): New decl. |
| * cgraphunit.c (symtab_node::native_rtl_p): New function. |
| (symtab_node::needed_p): Don't assert for early assembly output |
| for __RTL functions. |
| (cgraph_node::finalize_function): Set "force_output" for __RTL |
| functions. |
| (cgraph_node::analyze): Bail out early for __RTL functions. |
| (analyze_functions): Update assertion to support __RTL functions. |
| (cgraph_node::expand): Bail out early for __RTL functions. |
| * final.c (rest_of_clean_state): Don't call delete_tree_ssa for |
| __RTL functions. |
| * function.h (struct function): Update comment for field |
| "pass_startwith". |
| * gimple-expr.c: Include "tree-pass.h". |
| (gimple_has_body_p): Return false for __RTL functions. |
| * Makefile.in (OBJS): Add run-rtl-passes.o. |
| * pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New |
| accessor. |
| (gcc::pass_manager::get_clean_slate): New accessor. |
| * passes.c: Include "insn-addr.h". |
| (should_skip_pass_p): Add logging. Update logic for running |
| "expand" to be compatible with both __GIMPLE and __RTL. Guard |
| property-provider override so it is only done for gimple passes. |
| Don't skip dfinit. |
| (skip_pass): New function. |
| (execute_one_pass): Call skip_pass when skipping passes. |
| * read-md.c (md_reader::read_char): Support filtering |
| the input to a subset of line numbers. |
| (md_reader::md_reader): Initialize fields |
| m_first_line and m_last_line. |
| (md_reader::read_file_fragment): New function. |
| * read-md.h (md_reader::read_file_fragment): New decl. |
| (md_reader::m_first_line): New field. |
| (md_reader::m_last_line): New field. |
| * read-rtl-function.c (function_reader::create_function): Only |
| create cfun if it doesn't already exist. Set PROP_rtl on cfun's |
| curr_properties. Set DECL_INITIAL to a dummy block. |
| (read_rtl_function_body_from_file_range): New function. |
| * read-rtl-function.h (read_rtl_function_body_from_file_range): |
| New decl. |
| * run-rtl-passes.c: New file. |
| * run-rtl-passes.h: New file. |
| |
| 2017-01-24 Jeff Law <law@redhat.com> |
| |
| * config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase |
| buffer size. |
| |
| 2017-01-24 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/79159 |
| * tree-ssa-loop-niter.c (get_cst_init_from_scev): New function. |
| (record_nonwrapping_iv): Improve boundary using above function if no |
| value range information. |
| |
| 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com> |
| Martin Jambor <mjambor@suse.cz> |
| |
| * brig-builtins.def: New file. |
| * builtins.def (DEF_HSAIL_BUILTIN): New macro. |
| (DEF_HSAIL_ATOMIC_BUILTIN): Likewise. |
| (DEF_HSAIL_SAT_BUILTIN): Likewise. |
| (DEF_HSAIL_INTR_BUILTIN): Likewise. |
| (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise. |
| * builtin-types.def (BT_INT8): New. |
| (BT_INT16): Likewise. |
| (BT_UINT8): Likewise. |
| (BT_UINT16): Likewise. |
| (BT_FN_ULONG): Likewise. |
| (BT_FN_UINT_INT): Likewise. |
| (BT_FN_UINT_ULONG): Likewise. |
| (BT_FN_UINT_LONG): Likewise. |
| (BT_FN_UINT_PTR): Likewise. |
| (BT_FN_ULONG_PTR): Likewise. |
| (BT_FN_INT8_FLOAT): Likewise. |
| (BT_FN_INT16_FLOAT): Likewise. |
| (BT_FN_UINT32_FLOAT): Likewise. |
| (BT_FN_UINT16_FLOAT): Likewise. |
| (BT_FN_UINT8_FLOAT): Likewise. |
| (BT_FN_UINT64_FLOAT): Likewise. |
| (BT_FN_UINT16_UINT32): Likewise. |
| (BT_FN_UINT32_UINT16): Likewise. |
| (BT_FN_UINT16_UINT16_UINT16): Likewise. |
| (BT_FN_INT_PTR_INT): Likewise. |
| (BT_FN_UINT_PTR_UINT): Likewise. |
| (BT_FN_LONG_PTR_LONG): Likewise. |
| (BT_FN_ULONG_PTR_ULONG): Likewise. |
| (BT_FN_VOID_UINT64_UINT64): Likewise. |
| (BT_FN_UINT8_UINT8_UINT8): Likewise. |
| (BT_FN_INT8_INT8_INT8): Likewise. |
| (BT_FN_INT16_INT16_INT16): Likewise. |
| (BT_FN_INT_INT_INT): Likewise. |
| (BT_FN_UINT_FLOAT_UINT): Likewise. |
| (BT_FN_FLOAT_UINT_UINT): Likewise. |
| (BT_FN_ULONG_UINT_UINT): Likewise. |
| (BT_FN_ULONG_UINT_PTR): Likewise. |
| (BT_FN_ULONG_ULONG_ULONG): Likewise. |
| (BT_FN_UINT_UINT_UINT): Likewise. |
| (BT_FN_VOID_UINT_PTR): Likewise. |
| (BT_FN_UINT_UINT_PTR: Likewise. |
| (BT_FN_UINT32_UINT64_PTR): Likewise. |
| (BT_FN_INT_INT_UINT_UINT): Likewise. |
| (BT_FN_UINT_UINT_UINT_UINT): Likewise. |
| (BT_FN_UINT_UINT_UINT_PTR): Likewise. |
| (BT_FN_UINT_ULONG_ULONG_UINT): Likewise. |
| (BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise. |
| (BT_FN_LONG_LONG_UINT_UINT): Likewise. |
| (BT_FN_ULONG_ULONG_UINT_UINT): Likewise. |
| (BT_FN_VOID_UINT32_UINT64_PTR): Likewise. |
| (BT_FN_VOID_UINT32_UINT32_PTR): Likewise. |
| (BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise. |
| (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise. |
| (BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise. |
| * doc/frontends.texi: List BRIG FE. |
| * doc/install.texi (Testing): Add BRIG tesring requirements. |
| * doc/invoke.texi (Overall Options): Mention BRIG. |
| * doc/standards.texi (Standards): Doucment BRIG HSA version. |
| |
| 2017-01-24 Richard Biener <rguenther@suse.de> |
| |
| PR translation/79208 |
| * ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic. |
| |
| 2017-01-24 Martin Jambor <mjambor@suse.cz> |
| |
| PR bootstrap/79198 |
| * ipa-prop.c (ipa_free_all_node_params): Call summary destructor. |
| * ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts |
| and known_contexts. |
| |
| 2017-01-24 Aldy Hernandez <aldyh@redhat.com> |
| |
| PR middle-end/79123 |
| * gimple-ssa-warn-alloca.c (alloca_call_type): Make sure |
| casts from signed to unsigned really don't have a range. |
| |
| 2017-01-24 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to |
| GMP_RNDx for compatiblity. |
| |
| 2017-01-24 Martin Liska <mliska@suse.cz> |
| |
| PR bootstrap/79132 |
| * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert |
| that would prevent us to call alloca with -1 as argument. |
| |
| 2017-01-24 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (output_compilation_unit_header, output_file_names): |
| Avoid -Wformat-security warning. |
| |
| 2017-01-23 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve |
| cost table. |
| |
| 2017-01-23 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/78703 |
| * gimple-ssa-sprintf.c (warn_level): New global. |
| (format_integer): Use it here and throughout the rest of the file. |
| Use the same switch to compute sign as base. |
| (maybe_warn): New function. |
| (format_directive): Factor out warnings into maybe_warn. |
| Add debugging output. Use warn_level. |
| (add_bytes): Use warn_level. |
| (pass_sprintf_length::compute_format_length): Add debugging output. |
| (try_substitute_return_value): Same. |
| (pass_sprintf_length::handle_gimple_call): Set and use warn_level. |
| |
| PR middle-end/78703 |
| * gimple-ssa-sprintf.c (struct format_result): Remove constant member. |
| (struct fmtresult, format_integer, format_floating): Adjust. |
| (fmtresult::fmtresult): Set max correctly in two argument ctor. |
| (get_string_length, format_string,format_directive): Same. |
| (pass_sprintf_length::compute_format_length): Same. |
| (try_substitute_return_value): Simplify slightly. |
| |
| PR middle-end/78703 |
| * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting. |
| (fmtresult::operator+=): Outlined. |
| (struct fmtresult): Add ctors. |
| (struct conversion_spec): Rename... |
| (struct directive): ...to this. Add and remove data members. |
| (directive::set_width, directive::set_precision): New functions. |
| (format_percent): Use fmtresult ctor. |
| (get_width_and_precision): Remove. |
| (format_integer): Make naming changes. Avoid computing width and |
| precision. |
| (format_floating): Same. Adjust indentation. |
| (format_character, format_none): New functions. |
| (format_string): Moved character handling to format_character. |
| (format_directive): Remove arguments, change return type. |
| (parse_directive): New function. |
| (pass_sprintf_length::compute_format_length): Move directive |
| parsing to parse_directive. |
| |
| 2017-01-23 Jakub Jelinek <jakub@redhat.com> |
| |
| * tree.h (assign_assembler_name_if_neeeded): Rename to ... |
| (assign_assembler_name_if_needed): ... this. |
| * tree.c (assign_assembler_name_if_neeeded): Rename to ... |
| (assign_assembler_name_if_needed): ... this. |
| (free_lang_data_in_cgraph): Adjust callers. |
| * cgraphunit.c (cgraph_node::analyze): Likewise. |
| * omp-expand.c (expand_omp_taskreg, expand_omp_target): |
| Likewise. |
| |
| 2017-01-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79088 |
| PR tree-optimization/79188 |
| * tree-ssa-threadupdate.c (mark_threaded_blocks): Move code |
| resetting loop bounds after last path deletion. Reset loop |
| bounds of the target loop, make code match the comments. |
| * tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute): |
| Make sure loops need no fixups. |
| |
| 2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert |
| exponent support with double type for first argument. |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed |
| type returned by __builtin_vec_extract_sig, |
| __builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp |
| functions from "vector int" to "vector unsigned int" or from |
| "vector long long int" to "vector unsigned long long int". |
| Changed type returned by __builtin_vec_extract_exp, |
| __builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp |
| functions from "vector int" to "vector unsigned int" or from |
| "vector long long int" to "vector unsigned long long int". |
| Changed return type of __builtin_vec_test_data_class, |
| __builtin_vec_test_data_class_sp, and |
| __builtin_vec_test_data_class_dp from "vector int" to |
| "vector bool int" or from "vector long long int" to "vector bool |
| long long int" and changed second argument type from "unsigned |
| int" to "int". Added new overloaded function forms "vector float |
| __builtin_vec_insert_exp (vector float, vector unsigned int)" and |
| "vector float __builtin_vec_insert_exp_sp (vector float, vector |
| unsigned int)" and "vector double __builtin_vec_insert_exp (vector |
| double, vector unsigned long long int)" and "vector double |
| __builtin_vec_insert_exp_dp (vector double, vector unsigned long |
| long int)". Changed return type of |
| __builtin_scalar_test_data_class and |
| __builtin_scalar_test_data_class_sp and |
| __builtin_scalar_test_data_class_dp from "unsigned int" to "bool |
| int" and changed second argument from "unsigned int" to "int". |
| Changed type returned by __builtin_scalar_test_neg, |
| __builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp |
| from "int" to "bool int". Added new overloaded function form |
| "double __builtin_scalar_insert_exp (double, unsigned long long int)". |
| * config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert |
| exponent double-precision with floating point first argument. |
| * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust |
| documentation of scalar_test_data_class, scalar_test_neg, |
| scalar_extract_sig, scalar_extract_exp, scalar_insert_exp, |
| vector_extract_exp, vec_extract_sig, vec_insert_exp, and |
| vec_test_data_class built-in functions to reflect refinements in |
| their type signatures. |
| |
| 2017-01-23 Andreas Tobler <andreast@gcc.gnu.org> |
| |
| * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase |
| size of buf. |
| (aarch64_elf_asm_destructor): Likewise. |
| |
| 2017-01-23 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/78634 |
| * config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function. |
| (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define. |
| * ifcvt.c (noce_try_cmove): Add missing cost check. |
| |
| PR rtl-optimization/71724 |
| * combine.c (if_then_else_cond): Look for situations where it is |
| beneficial to undo the work of one of the recursive calls. |
| |
| 2017-01-23 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/70754 |
| * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE. |
| (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert |
| combined stmt before it if not NULL. |
| (combine_chains): Process refs reversely and compute dominance point |
| for root ref. |
| |
| 2017-01-23 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/79196 |
| * tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ... |
| (fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp |
| instead of memcmp. |
| (strlen_optimize_stmt): Call the renamed function. |
| |
| 2017-01-23 Michael Matz <matz@suse.de> |
| |
| PR tree-optimization/78384 |
| * tree-ssa-loop-split.c (patch_loop_exit): Use correct edge. |
| |
| 2017-01-23 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79186 |
| * tree-vrp.c (register_new_assert_for): Make sure we've seen |
| both incoming edges before moving an assert. |
| |
| 2017-01-23 Martin Jambor <mjambor@suse.cz> |
| |
| * ipa-prop.c (load_from_param_1): Removed. |
| (load_from_unmodified_param): Bits from load_from_param_1 put back |
| here. |
| (load_from_param): Removed. |
| (compute_complex_assign_jump_func): Removed stmt2 and just replaced it |
| with stmt. Reverted back to use of load_from_unmodified_param. |
| |
| 2017-01-23 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/79108 |
| * ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()). |
| (ipa_node_params): Annotate with GTY((for_user)). Make descriptors |
| field a pointer to garbage collected vector, mark lattices and |
| ipcp_orig_node with GTY((skip)). |
| (ipa_get_param_count): Adjust to descriptors being a pointer. |
| (ipa_get_param): Likewise. |
| (ipa_get_type): Likewise. |
| (ipa_get_param_move_cost): Likewise. |
| (ipa_set_param_used): Likewise. |
| (ipa_get_controlled_uses): Likewise. |
| (ipa_set_controlled_uses): Likewise. |
| (ipa_is_param_used): Likewise. |
| (ipa_node_params_t): Move into garbage collector. New methods insert |
| and remove. |
| (ipa_node_params_sum): Annotate wth GTY(()). |
| (ipa_check_create_node_params): Adjust to ipa_node_params_sum being |
| garbage collected. |
| (ipa_load_from_parm_agg): Adjust declaration. |
| * ipa-icf.c (param_used_p): Adjust to descriptors being a pointer. |
| * ipa-profile.c (ipa_profile): Likewise. |
| * ipa-prop.c (ipa_get_param_decl_index_1): Likewise. |
| (ipa_populate_param_decls): Make descriptors parameter garbage |
| collected. |
| (ipa_dump_param): Adjust to descriptors being a pointer. |
| (ipa_alloc_node_params): Likewise. |
| (ipa_initialize_node_params): Likewise. |
| (load_from_param_1): Make descriptors parameter garbage collected. |
| (load_from_unmodified_param): Likewise. |
| (load_from_param): Likewise. |
| (ipa_load_from_parm_agg): Likewise. |
| (ipa_node_params::~ipa_node_params): Removed. |
| (ipa_free_all_node_params): Remove call to delete operator. |
| (ipa_node_params_t::insert): New. |
| (ipa_node_params_t::remove): Likewise. |
| (ipa_node_params_t::duplicate): Adjust to descriptors being a pointer, |
| copy known_csts and known_contexts vectors. |
| (ipa_read_node_info): Adjust to descriptors being a pointer. |
| (ipcp_modif_dom_walker): Make m_descriptors field garbage |
| collected. |
| (ipcp_transform_function): Make descriptors variable garbage |
| collected. |
| |
| 2017-01-23 Andrew Senkevich <andrew.senkevich@intel.com> |
| |
| * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics. |
| * config/i386/avx512dqintrin.h: Ditto. |
| * config/i386/avx512fintrin.h: Ditto. |
| * gcc/config/i386/i386.c: Handle new builtins. |
| * config/i386/i386-builtin.def: Add new builtins. |
| * config/i386/sse.md (ktest<mode>, kortest<mode>): New. |
| (UNSPEC_KORTEST, UNSPEC_KTEST): New. |
| |
| 2017-01-23 Jakub Jelinek <jakub@redhat.com> |
| Martin Liska <mliska@suse.cz> |
| |
| * asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE. |
| * asan.c (asan_expand_poison_ifn): Support stores and use |
| appropriate ASAN report function. |
| * internal-fn.c (expand_ASAN_POISON_USE): New function. |
| * internal-fn.def (ASAN_POISON_USE): Declare. |
| * tree-into-ssa.c (maybe_add_asan_poison_write): New function. |
| (maybe_register_def): Create ASAN_POISON_USE when sanitizing. |
| * tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove |
| ASAN_POISON calls w/o LHS. |
| * tree-ssa.c (execute_update_addresses_taken): Create clobber |
| for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS |
| from ASAN_MARK (POISON, &x, ...) coming to a PHI node. |
| * gimplify.c (asan_poison_variables): Add attribute |
| use_after_scope_memory to variables that really needs to live |
| in memory. |
| * tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when |
| having the attribute. |
| |
| 2017-01-23 Martin Liska <mliska@suse.cz> |
| |
| * asan.c (create_asan_shadow_var): New function. |
| (asan_expand_poison_ifn): Likewise. |
| * asan.h (asan_expand_poison_ifn): New declaration. |
| * internal-fn.c (expand_ASAN_POISON): Likewise. |
| * internal-fn.def (ASAN_POISON): New builtin. |
| * sanopt.c (pass_sanopt::execute): Expand |
| asan_expand_poison_ifn. |
| * tree-inline.c (copy_decl_for_dup_finish): Make function |
| external. |
| * tree-inline.h (copy_decl_for_dup_finish): Likewise. |
| * tree-ssa.c (is_asan_mark_p): New function. |
| (execute_update_addresses_taken): Rewrite local variables |
| (identified just by use-after-scope as addressable) into SSA. |
| |
| 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/install.texi (Specific): opensource.apple.com uses https |
| now. Remove trailing slash. |
| |
| 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * README.Portability: Remove note on an Irix compatibility issue. |
| |
| 2017-01-22 Dimitry Andric <dim@FreeBSD.org> |
| |
| * gcov.c (INCLUDE_ALGORITHM): Define. |
| (INCLUDE_VECTOR): Define. |
| No longer include <vector> and <algorithm> directly. |
| |
| 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/extend.texi (Thread-Local): Change www.akkadia.org reference |
| to https. |
| * doc/invoke.texi (Code Gen Options): Ditto. |
| |
| 2017-01-21 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/78407 |
| * cfg.c (update_bb_profile_for_threading): Fix updating of probablity. |
| |
| 2017-01-21 Bernd Schmidt <bschmidt@redhat.com> |
| |
| rtl-optimization/79125 |
| * cprop.c (local_cprop_pass): Handle cases where we make an |
| unconditional trap. |
| |
| 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/61729 |
| PR target/77850 |
| * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to |
| read from, for big endian. |
| |
| 2017-01-20 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register |
| register pauth builtins for LP64 only. |
| |
| 2017-01-20 Marek Polacek <polacek@redhat.com> |
| |
| PR c/79152 |
| * gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive |
| non-case labels. |
| |
| 2017-01-20 Alexander Monakov <amonakov@ispras.ru> |
| |
| * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless |
| of safelen status. |
| * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev. |
| * passes.c (dump_properties): Handle PROP_gimple_lomp_dev. |
| * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev. |
| |
| 2017-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/71270 |
| * config/arm/arm.c (neon_valid_immediate): Reject vector constants |
| in big-endian mode when they are not a single duplicated value. |
| |
| 2017-01-20 Richard Biener <rguenther@suse.de> |
| |
| * BASE-VER: Bump to 7.0.1. |
| |
| 2017-01-20 Alexander Monakov <amonakov@ispras.ru> |
| |
| * omp-low.c (omplow_simd_context): New struct. Use it... |
| (lower_rec_simd_input_clauses): ...here and... |
| (lower_rec_input_clauses): ...here to hold common data. Adjust all |
| references to idx, lane, max_vf, is_simt. |
| |
| 2017-01-20 Graham Markall <graham.markall@embecosm.com> |
| |
| * config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when |
| mcpu=nps400. |
| |
| 2017-01-20 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.h: Renaed to hsa-common.h. Adjusted a comment. |
| * hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to |
| gt-hsa-common.h. |
| * Makefile.in (OBJS): Rename hsa.o to hsa-common.o. |
| (GTFILES): Rename hsa.c to hsa-common.c. |
| * hsa-brig.c: Change include of hsa.h to hsa-common.h. |
| * hsa-dump.c: Likewise. |
| * hsa-gen.c: Likewise. |
| * hsa-regalloc.c: Likewise. |
| * ipa-hsa.c: Likewise. |
| * omp-expand.c: Likewise. |
| * omp-low.c: Likewise. |
| * toplev.c: Likewise. |
| |
| 2017-01-20 Marek Polacek <polacek@redhat.com> |
| |
| PR c/64279 |
| * doc/invoke.texi: Document -Wduplicated-branches. |
| * fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR, |
| COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR, |
| POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT, |
| STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions |
| return 0 only when not OEP_LEXICOGRAPHIC. |
| (fold_build_cleanup_point_expr): Use the expression |
| location when building CLEANUP_POINT_EXPR. |
| * tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC. |
| * tree.c (add_expr): Handle error_mark_node. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| PR lto/69188 |
| * tree-profile.c (init_ic_make_global_vars): Do not call |
| finalize_decl. |
| (gimple_init_gcov_profiler): Likewise. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/71190 |
| * cgraph.h (maybe_create_reference): Remove argument and |
| update comment. |
| * cgraphclones.c (cgraph_node::create_virtual_clone): Remove one |
| argument. |
| * ipa-cp.c (create_specialized_node): Likewise. |
| * symtab.c (symtab_node::maybe_create_reference): Handle |
| VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type. |
| |
| 2017-01-20 Martin Liska <mliska@suse.cz> |
| |
| * read-rtl-function.c (function_reader::create_function): Use |
| build_decl instread of build_decl_stat. |
| |
| 2017-01-20 Andrew Senkevich <andrew.senkevich@intel.com> |
| |
| * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics. |
| * config/i386/avx512dqintrin.h: Ditto. |
| * config/i386/avx512fintrin.h: Ditto. |
| * config/i386/i386-builtin-types.def: Add new types. |
| * gcc/config/i386/i386.c: Handle new types. |
| * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi) |
| (__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi) |
| (__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi) |
| (__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi) |
| (__builtin_ia32_kshiftridi): New. |
| * config/i386/sse.md (k<code><mode>): Rename *k<code><mode>. |
| |
| 2017-01-19 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/78875 |
| PR target/79140 |
| * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally |
| define to rs6000_init_stack_protect_guard. |
| (rs6000_init_stack_protect_guard): New function. |
| |
| 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com> |
| Yunqiang Su <yunqiang.su@imgtec.com> |
| |
| * config.gcc (supported_defaults): Add madd4. |
| (with_madd4): Add validation. |
| (all_defaults): Add madd4. |
| * config/mips/mips.opt (mmadd4): New option. |
| * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for |
| mmadd4. |
| (TARGET_CPU_CPP_BUILTINS): Add builtin_define for |
| __mips_no_madd4. |
| (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4. |
| (ISA_HAS_FUSED_MADD4): Likewise. |
| * gcc/doc/invoke.texi (-mmadd4): Document the new option. |
| * gcc/doc/install.texi (--with-madd4): Document the new option. |
| |
| 2017-01-19 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New |
| entries for AARCH64_PAUTH_BUILTIN_XPACLRI, |
| AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716. |
| (aarch64_init_pauth_hint_builtins): New. |
| (aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins. |
| (aarch64_expand_builtin): Expand new builtins. |
| |
| 2017-01-19 Jiong Wang <jiong.wang@arm.com> |
| |
| * reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note. |
| * combine-stack-adj.c (no_unhandled_cfa): Handle |
| REG_CFA_TOGGLE_RA_MANGLE. |
| * dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE. |
| * config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF |
| info for return address signing. |
| (aarch64_expand_epilogue): Likewise. |
| |
| 2017-01-19 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-opts.h (aarch64_function_type): New enum. |
| * config/aarch64/aarch64-protos.h |
| (aarch64_return_address_signing_enabled): New declaration. |
| * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled): |
| New function. |
| (aarch64_expand_prologue): Sign return address before it's pushed onto |
| stack. |
| (aarch64_expand_epilogue): Authenticate return address fetched from |
| stack. |
| (aarch64_override_options): Sanity check for ILP32 and ISA level. |
| (aarch64_attributes): New function attributes for "sign-return-address". |
| * config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP, |
| UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs. |
| ("*do_return"): Generate combined instructions according to key index. |
| ("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New. |
| * config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer |
| iterators. |
| (pauth_mnem_prefix, pauth_hint_num_a): New integer attributes. |
| * config/aarch64/aarch64.opt (msign-return-address=): New. |
| * doc/extend.texi (AArch64 Function Attributes): Documents |
| "sign-return-address=". |
| * doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=". |
| |
| 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com> |
| |
| * doc/invoke.texi: Add missing -mlxc1-sxc1 options to |
| overall option summary. |
| |
| 2017-01-19 Jiong Wang <jiong.wang@arm.com> |
| |
| * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a". |
| * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3, |
| AARCH64_ISA_V8_3, TARGET_ARMV8_3): New. |
| * doc/invoke.texi (AArch64 Options): Document "armv8.3-a". |
| |
| 2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable |
| -mpower9-minmax by default for -mcpu=power9. |
| (ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE |
| 128-bit floating point. |
| |
| 2017-01-20 Alan Modra <amodra@gmail.com> |
| |
| * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if |
| optimizing for size. |
| |
| 2017-01-20 Alan Modra <amodra@gmail.com> |
| |
| PR target/79144 |
| * config/rs6000/rs6000.c (expand_strn_compare): Get the asm name |
| for strcmp and strncmp from corresponding builtin decl. |
| |
| 2017-01-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config.gcc (x86_64-*-rtems*): Use i386/rtemself.h |
| instead of i386/rtems-64.h. |
| * config/i386/rtems-64.h: Remove. |
| |
| 2017-01-19 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78478 |
| Revert: |
| 2013-11-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define. |
| |
| 2017-01-19 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup): |
| Change int to HOST_WIDE_INT. |
| * config/aarch64/aarch64-protos.h |
| (aarch64_simd_gen_const_vector_dup): Likewise. |
| * config/aarch64/aarch64-simd.md: Add copysign<mode>3. |
| |
| 2017-01-19 David Malcolm <dmalcolm@redhat.com> |
| |
| * langhooks-def.h (lhd_type_for_size): New decl. |
| (LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size. |
| * langhooks.c (lhd_type_for_size): New function, taken from |
| lto_type_for_size. |
| |
| 2017-01-19 Pat Haugen <pthaugen@us.ibm.com> |
| |
| * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add |
| define_bypass for CR latency. |
| (power9-cracked-alu): Update bypass latency and remove power9-branch. |
| (power9-alu2): Add define_bypass for CR latency. |
| (power9-cmp): New. |
| (power9-mul): Update insn latency. |
| (power9-mul-compare): Update insn latency, bypass latency and remove |
| power9-branch. |
| |
| 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads): |
| Delete. |
| * config/aarch64/aarch64.md |
| (aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to |
| aarch64_nopcrelative_literal_loads. |
| (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise. |
| |
| 2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com> |
| |
| * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for |
| TARGET_LOONGSON_3A. |
| (ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A. |
| |
| 2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com> |
| |
| PR target/78176 |
| * config.gcc (supported_defaults): Add lxc1-sxc1. |
| (with_lxc1_sxc1): Add validation. |
| (all_defaults): Add lxc1-sxc1. |
| * config/mips/mips.opt (mlxc1-sxc1): New option. |
| * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for |
| mlxc1-sxc1. |
| (TARGET_CPU_CPP_BUILTINS): Add builtin_define for |
| __mips_no_lxc1_sxc1. |
| (ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1. |
| * gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option. |
| * doc/install.texi (--with-lxc1-sxc1): Document the new option. |
| |
| 2017-01-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/72488 |
| * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make |
| sure to restore SSA info. |
| * tree-ssa.c (verify_ssa): Verify SSA info is not shared. |
| |
| 2017-01-19 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR rtl-optimization/79121 |
| * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness |
| of the inner type when shifting an extended value. |
| |
| 2017-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/78407 |
| * symtab.c (symtab_node::equal_address_to): Fix comparing of |
| interposable aliases. |
| |
| 2017-01-18 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/78516 |
| * config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints. |
| Use the evmergelohi instruction. |
| (mov_si<mode>_e500_subreg4_2_le): Likewise. |
| (mov_sitf_e500_subreg8_2_be): Likewise. |
| (mov_sitf_e500_subreg12_2_le): Likewise. |
| (mov_si<mode>_e500_subreg0_2_le): Fix constraints. |
| (mov_si<mode>_e500_subreg4_2_be): Likewise. |
| (mov_sitf_e500_subreg8_2_le): Likewise. |
| (mov_sitf_e500_subreg12_2_be): Likewise. |
| |
| 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.md (altivec_vbpermq): Change "type" |
| attribute from vecsimple to vecperm. |
| (altivec_vbpermq2): Likewise. |
| |
| 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79040 |
| * config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz. |
| |
| 2017-01-18 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| * config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg. |
| * config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand |
| strcmp. Fix bug where comparison didn't stop with zero byte. Fix |
| case where N arg is SIZE_MAX. |
| * config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare. |
| (cmpstrsi): Add pattern. |
| |
| 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add |
| __builtin_vec_revb builtins. |
| * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add |
| built-in functions to support generation of the ISA 3.0 XXBR<x> |
| vector byte reverse instructions. |
| (P9V_BUILTIN_XXBRQ_V1TI): Likewise. |
| (P9V_BUILTIN_XXBRD_V2DI): Likewise. |
| (P9V_BUILTIN_XXBRD_V2DF): Likewise. |
| (P9V_BUILTIN_XXBGW_V4SI): Likewise. |
| (P9V_BUILTIN_XXBGW_V4SF): Likewise. |
| (P9V_BUILTIN_XXBGH_V8HI): Likewise. |
| (P9V_BUILTIN_VEC_REVB): Likewise. |
| * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to |
| generate the ISA 3.0 XXBR<x> vector byte reverse instructions. |
| (p9_xxbrq_v16qi): Likewise. |
| (p9_xxbrd_<mode>, VSX_D iterator): Likewise. |
| (p9_xxbrw_<mode>, VSX_W iterator): Likewise. |
| (p9_xxbrh_v8hi): Likewise. |
| * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0. |
| * doc/extend.texi (RS/6000 Altivec Built-ins): Document the |
| vec_revb built-in functions. |
| |
| 2017-01-18 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR rtl-optimization/78952 |
| * config/i386/i386.md (any_extract): New code iterator. |
| (*insvqi_2): Use any_extract for source operand. |
| (*insvqi_3): Use any_shiftrt for source operand. |
| |
| 2017-01-18 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.c (aarch64_sched_adjust_priority) |
| New function. |
| (TARGET_SCHED_ADJUST_PRIORITY): Define target hook. |
| |
| 2017-01-18 Matthias Klose <doko@ubuntu.com> |
| |
| * doc/install.texi: Allow default for --with-target-bdw-gc-include. |
| |
| 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_bperm): Change #define. |
| * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant. |
| (altivec_vbpermq2): New define_insn. |
| (altivec_vbpermd): Likewise. |
| * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic |
| function interface. |
| (VBPERMD): Likewise. |
| (VBPERM): New polymorphic function interface. |
| * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table): |
| Add entries for P9V_BUILTIN_VEC_VBPERM. |
| * doc/extend.texi: Add interfaces for vec_bperm. |
| |
| 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase |
| first letter of error messages. |
| (s390_resolve_overloaded_builtin): Likewise. |
| * config/s390/s390.c (s390_expand_builtin): Likewise. |
| (s390_invalid_arg_for_unprototyped_fn): Likewise. |
| (s390_valid_target_attribute_inner_p): Likewise. |
| * config/s390/s390.md ("tabort"): Likewise. |
| |
| 2017-01-18 Toma Tabacu <toma.tabacu@imgtec.com> |
| |
| * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro. |
| (ISA_AVOID_DIV_HILO): New macro. |
| (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro. |
| (ISA_HAS_DDIV): Likewise. |
| |
| 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/invoke.texi (fabi-version): Correct number of occurrences. |
| |
| 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| * doc/invoke.texi (fabi-version): Spelling fix. |
| |
| 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR c++/70182 |
| * doc/invoke.texi (fabi-version): Mention mangling fix for |
| operator names. |
| |
| 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de> |
| |
| PR c++/77489 |
| * doc/invoke.texi (fabi-version): Document discriminator mangling. |
| |
| 2017-01-17 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/78875 |
| * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle |
| the new options. |
| * config/rs6000/rs6000.md (stack_protect_set): Handle the new more |
| flexible settings. |
| (stack_protect_test): Ditto. |
| * config/rs6000/rs6000.opt (mstack-protector-guard=, |
| mstack-protector-guard-reg=, mstack-protector-guard-offset=): New |
| options. |
| * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]: |
| Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and |
| -mstack-protector-guard-offset=. |
| (RS/6000 and PowerPC Options): Ditto. |
| |
| 2017-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (MASK_CLASS_P): New define. |
| * config/i386/i386.c (inline_secondary_memory_needed): Ensure that |
| there are no registers from different register sets also when |
| mask registers are used. Update function comment. |
| * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative |
| to (*k/*r) and (*k/*km) alternatives. |
| |
| 2017-01-17 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter. |
| * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove. |
| (EH_RETURN_HANDLER_RTX): New define. |
| * config/aarch64/aarch64.c (aarch64_frame_pointer_required): |
| Force frame pointer in EH return functions. |
| (aarch64_expand_epilogue): Add barrier for eh_return. |
| (aarch64_final_eh_return_addr): Remove. |
| (aarch64_eh_return_handler_rtx): New function. |
| * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr): |
| Remove. |
| (aarch64_eh_return_handler_rtx): New prototype. |
| |
| 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/altivec.h (vec_rlmi): New #define. |
| (vec_vrlnm): Likewise. |
| (vec_rlnm): Likewise. |
| * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value. |
| (UNSPEC_VRLNM): Likewise. |
| (VIlong): New mode iterator. |
| (altivec_vrl<VI_char>mi): New define_insn. |
| (altivec_vrl<VI_char>nm): Likewise. |
| * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic |
| function entry. |
| (VRLDNM): Likewise. |
| (RLNM): New polymorphic function entry. |
| (VRLWMI): New monomorphic function entry. |
| (VRLDMI): Likewise. |
| (RLMI): New polymorphic function entry. |
| * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add |
| new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM. |
| * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and |
| vec_vrlnm. |
| |
| 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/78839 |
| * dwarf2out.c (field_byte_offset): Restore the |
| PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET |
| and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold. |
| (analyze_variants_discr, gen_variant_part): Use fold_build2 instead |
| of build2 + fold. |
| |
| 2017-01-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ada/67205 |
| * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define |
| |
| 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/71669 |
| * dwarf2out.c (add_data_member_location_attribute): For constant |
| offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute |
| instead of DW_AT_data_member_location, DW_AT_bit_offset and |
| DW_AT_byte_size attributes. |
| |
| 2017-01-17 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference |
| after forcing to constant memory when the code model is medium. |
| |
| 2017-01-17 Julia Koval <julia.koval@intel.com> |
| |
| PR target/76731 |
| * config/i386/avx512fintrin.h |
| (_mm512_i32gather_ps): Change __addr type to void const*. |
| (_mm512_mask_i32gather_ps): Ditto. |
| (_mm512_i32gather_pd): Ditto. |
| (_mm512_mask_i32gather_pd): Ditto. |
| (_mm512_i64gather_ps): Ditto. |
| (_mm512_mask_i64gather_ps): Ditto. |
| (_mm512_i64gather_pd): Ditto. |
| (_mm512_mask_i64gather_pd): Ditto. |
| (_mm512_i32gather_epi32): Ditto. |
| (_mm512_mask_i32gather_epi32): Ditto. |
| (_mm512_i32gather_epi64): Ditto. |
| (_mm512_mask_i32gather_epi64): Ditto. |
| (_mm512_i64gather_epi32): Ditto. |
| (_mm512_mask_i64gather_epi32): Ditto. |
| (_mm512_i64gather_epi64): Ditto. |
| (_mm512_mask_i64gather_epi64): Ditto. |
| (_mm512_i32scatter_ps): Change __addr type to void*. |
| (_mm512_mask_i32scatter_ps): Ditto. |
| (_mm512_i32scatter_pd): Ditto. |
| (_mm512_mask_i32scatter_pd): Ditto. |
| (_mm512_i64scatter_ps): Ditto. |
| (_mm512_mask_i64scatter_ps): Ditto. |
| (_mm512_i64scatter_pd): Ditto. |
| (_mm512_mask_i64scatter_pd): Ditto. |
| (_mm512_i32scatter_epi32): Ditto. |
| (_mm512_mask_i32scatter_epi32): Ditto. |
| (_mm512_i32scatter_epi64): Ditto. |
| (_mm512_mask_i32scatter_epi64): Ditto. |
| (_mm512_i64scatter_epi32): Ditto. |
| (_mm512_mask_i64scatter_epi32): Ditto. |
| (_mm512_i64scatter_epi64): Ditto. |
| (_mm512_mask_i64scatter_epi64): Ditto. |
| * config/i386/avx512pfintrin.h |
| (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*. |
| (_mm512_mask_prefetch_i32gather_ps): Ditto. |
| (_mm512_mask_prefetch_i64gather_pd): Ditto. |
| (_mm512_mask_prefetch_i64gather_ps): Ditto. |
| (_mm512_prefetch_i32scatter_pd): Change __addr type to void*. |
| (_mm512_prefetch_i32scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i32scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i32scatter_ps): Ditto. |
| (_mm512_prefetch_i64scatter_pd): Ditto. |
| (_mm512_prefetch_i64scatter_ps): Ditto. |
| (_mm512_mask_prefetch_i64scatter_pd): Ditto. |
| (_mm512_mask_prefetch_i64scatter_ps): Ditto. |
| * config/i386/avx512vlintrin.h |
| (_mm256_mmask_i32gather_ps): Change __addr type to void const*. |
| (_mm_mmask_i32gather_ps): Ditto. |
| (_mm256_mmask_i32gather_pd): Ditto. |
| (_mm_mmask_i32gather_pd): Ditto. |
| (_mm256_mmask_i64gather_ps): Ditto. |
| (_mm_mmask_i64gather_ps): Ditto. |
| (_mm256_mmask_i64gather_pd): Ditto. |
| (_mm_mmask_i64gather_pd): Ditto. |
| (_mm256_mmask_i32gather_epi32): Ditto. |
| (_mm_mmask_i32gather_epi32): Ditto. |
| (_mm256_mmask_i32gather_epi64): Ditto. |
| (_mm_mmask_i32gather_epi64): Ditto. |
| (_mm256_mmask_i64gather_epi32): Ditto. |
| (_mm_mmask_i64gather_epi32): Ditto. |
| (_mm256_mmask_i64gather_epi64): Ditto. |
| (_mm_mmask_i64gather_epi64): Ditto. |
| (_mm256_i32scatter_ps): Change __addr type to void*. |
| (_mm256_mask_i32scatter_ps): Ditto. |
| (_mm_i32scatter_ps): Ditto. |
| (_mm_mask_i32scatter_ps): Ditto. |
| (_mm256_i32scatter_pd): Ditto. |
| (_mm256_mask_i32scatter_pd): Ditto. |
| (_mm_i32scatter_pd): Ditto. |
| (_mm_mask_i32scatter_pd): Ditto. |
| (_mm256_i64scatter_ps): Ditto. |
| (_mm256_mask_i64scatter_ps): Ditto. |
| (_mm_i64scatter_ps): Ditto. |
| (_mm_mask_i64scatter_ps): Ditto. |
| (_mm256_i64scatter_pd): Ditto. |
| (_mm256_mask_i64scatter_pd): Ditto. |
| (_mm_i64scatter_pd): Ditto. |
| (_mm_mask_i64scatter_pd): Ditto. |
| (_mm256_i32scatter_epi32): Ditto. |
| (_mm256_mask_i32scatter_epi32): Ditto. |
| (_mm_i32scatter_epi32): Ditto. |
| (_mm_mask_i32scatter_epi32): Ditto. |
| (_mm256_i32scatter_epi64): Ditto. |
| (_mm256_mask_i32scatter_epi64): Ditto. |
| (_mm_i32scatter_epi64): Ditto. |
| (_mm_mask_i32scatter_epi64): Ditto. |
| (_mm256_i64scatter_epi32): Ditto. |
| (_mm256_mask_i64scatter_epi32): Ditto. |
| (_mm_i64scatter_epi32): Ditto. |
| (_mm_mask_i64scatter_epi32): Ditto. |
| (_mm256_i64scatter_epi64): Ditto. |
| (_mm256_mask_i64scatter_epi64): Ditto. |
| (_mm_i64scatter_epi64): Ditto. |
| (_mm_mask_i64scatter_epi64): Ditto. |
| * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT) |
| (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT) |
| (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT) |
| (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT) |
| (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT) |
| (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT) |
| (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT) |
| (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT) |
| (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT) |
| (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT) |
| (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT) |
| (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT) |
| (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT) |
| (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT) |
| (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT) |
| (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT) |
| (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT) |
| (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT) |
| (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT) |
| (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT) |
| (VOID_QI_V8DI_PCINT_INT_INT): Remove. |
| (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT) |
| (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT) |
| (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT) |
| (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT) |
| (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT) |
| (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT) |
| (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT) |
| (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT) |
| (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT) |
| (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT |
| (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT) |
| (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT) |
| (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT) |
| (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT) |
| (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT) |
| (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT) |
| (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT) |
| (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT) |
| (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT) |
| (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT) |
| (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT) |
| (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT) |
| (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT) |
| (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT) |
| (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT) |
| (VOID_QI_V8DI_PCVOID_INT_INT): Add. |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin |
| definitions accordingly. |
| |
| 2017-01-17 Kito Cheng <kito.cheng@gmail.com> |
| Kuan-Lin Chen <kuanlinchentw@gmail.com> |
| |
| PR target/79079 |
| * internal-fn.c (expand_mul_overflow): Use convert_modes instead of |
| gen_lowpart. |
| |
| 2017-01-17 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/79058 |
| * ira-conflicts.c (ira_build_conflicts): Update total conflict |
| hard regs for inner regno. |
| |
| 2017-01-17 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/71207 |
| * ipa-polymorphic-call.c (contains_type_p): Fix wrong |
| assumption and add comment. |
| |
| 2017-01-17 Nathan Sidwell <nathan@acm.org> |
| |
| * ipa-visibility.c (localize_node): New function, broken out of ... |
| (function_and_variable_visibility): ... here. Call it. |
| |
| 2017-01-17 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77445 |
| * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): |
| correctly set frequency of oudgoing edge. |
| (duplicate_thread_path): Fix profile updating. |
| |
| 2017-01-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR other/79046 |
| * configure.ac: Add GCC_BASE_VER. |
| * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get |
| version from BASE-VER file. |
| (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s). |
| (gcc.o): Depend on $(BASEVER). |
| * common.opt (dumpfullversion): New option. |
| * gcc.c (driver_handle_option): Handle OPT_dumpfullversion. |
| * doc/invoke.texi: Document -dumpfullversion. |
| * doc/install.texi: Document --with-gcc-major-version-only. |
| * configure: Regenerated. |
| |
| 2017-01-17 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/71433 |
| * tree-vrp.c (register_new_assert_for): Merge same asserts |
| on all incoming edges. |
| (process_assert_insertions_for): Handle insertions at the |
| beginning of BBs. |
| |
| 2017-01-17 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * config/i386/cygwin.h (LIBGCJ_SONAME): Remove. |
| * config/i386/mingw32.h (LIBGCJ_SONAME): Remove. |
| |
| 2017-01-17 Kaz Kojima <kkojima@gcc.gnu.org> |
| |
| PR target/78633 |
| * config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid |
| RTL sharing. |
| |
| 2017-01-17 Alan Modra <amodra@gmail.com> |
| |
| PR target/79066 |
| * config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic. |
| * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow |
| symbolic stack limit when pic. |
| |
| 2017-01-16 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/78608 |
| * gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN. |
| |
| 2017-01-16 Jeff Law <law@redhat.com> |
| |
| Revert: |
| 2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com> |
| * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection |
| for several include directories that may be relative to sysroot. |
| * config/i386/x-mingw32 (gplus_includedir): Define. |
| (gplus_tool_includedir, gplus_backward_include_dir): Likewise. |
| (native_system_includedir): Likewise. |
| * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not |
| override if TARGET_SYSTEM_ROOT is defined. |
| (NATIVE_SYSTEM_HEADER_DIR): Likewise. |
| |
| PR tree-optimization/79090 |
| PR tree-optimization/33562 |
| PR tree-optimization/61912 |
| PR tree-optimization/77485 |
| * tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT |
| and computed trims into the dump file. |
| |
| 2017-01-17 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove. |
| |
| 2017-01-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c/79089 |
| * gimplify.c (gimplify_init_constructor): If want_value and |
| object == lhs, unshare lhs to avoid invalid tree sharing. Formatting |
| fix. |
| |
| PR target/79080 |
| * loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on |
| sequence. Formatting fixes. |
| (doloop_optimize): Formatting fixes. |
| |
| PR driver/49726 |
| * gcc.c (debug_level_greater_than_spec_func): New function. |
| (static_spec_functions): Add debug-level-gt spec function. |
| (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of |
| !g0. |
| * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. |
| * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise. |
| * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames, |
| gpubnames, ggnu-pubnames, gno-record-gcc-switches, |
| grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs, |
| gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag. |
| |
| 2017-01-16 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and |
| QImode fixups to general and mask registers only. |
| |
| 2017-01-16 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support |
| for built-in functions |
| vector signed char vec_nabs (vector signed char) |
| vector signed short vec_nabs (vector signed short) |
| vector signed int vec_nabs (vector signed int) |
| vector signed long long vec_nabs (vector signed long long) |
| vector float vec_nabs (vector float) |
| vector double vec_nabs (vector double) |
| * config/rs6000/rs6000-builtin.def: Add definitions for NABS functions |
| and NABS overload. |
| * config/rs6000/altivec.md: New define_expand nabs<mode>2 types |
| * config/rs6000/altivec.h: New define for vec_nabs built-in function. |
| * doc/extend.texi: Update the documentation file for the new built-in |
| functions. |
| |
| 2017-01-16 Martin Sebor <msebor@redhat.com> |
| |
| * gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning |
| message. |
| |
| 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/rs6000.c (rtx_is_swappable_p): Change |
| UNSPEC_VSX__XXSPLTD to require special splat handling. |
| |
| 2017-01-16 David Malcolm <dmalcolm@redhat.com> |
| |
| PR bootstrap/78616 |
| * system.h: Poison strndup. |
| |
| 2017-01-16 Alan Modra <amodra@gmail.com> |
| |
| PR target/79098 |
| * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't |
| use a switch. |
| |
| 2017-01-16 Georg-Johann Lay <avr@gjlay.de> |
| |
| * config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4. |
| |
| 2017-01-15 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (ix86_legitimate_combined_insn): Do not |
| call recog here. Assert that INSN_CODE (insn) is non-negative. |
| |
| 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/72749 |
| * cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the |
| fallthrough. |
| * haifa-sched.c (dump_insn_stream): Don't crash if there is a label |
| in the currently scheduled RTL fragment. |
| |
| 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/78751 |
| * ifcvt.c (find_cond_trap): If we generated a non-existing insn, |
| give up. |
| |
| 2017-01-14 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/79090 |
| * tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and |
| variable length stores. |
| (compute_trims): Delete dead assignment to *trim_tail. |
| (dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with |
| zero length. |
| |
| 2017-01-14 Bernd Schmidt <bschmidt@redhat.com> |
| |
| PR rtl-optimization/78626 |
| PR rtl-optimization/78727 |
| * cprop.c (one_cprop_pass): Collect unconditional traps in the middle |
| of a block, and split such blocks after everything else is finished. |
| |
| 2017-01-14 Alan Modra <amodra@gmail.com> |
| |
| PR target/72749 |
| * combine.c (recog_for_combine_1): Set INSN_CODE before calling |
| target legitimate_combined_insn. |
| * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define. |
| (rs6000_legitimate_combined_insn): New function. |
| * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove |
| all uses. |
| (ctr<mode>_internal3): Rename from *ctr<mode>_internal5. |
| (ctr<mode>_internal4): Rename from *ctr<mode>_internal6. |
| (ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name. |
| |
| 2017-01-14 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/frontends.texi (G++ and GCC): Remove references to Java. |
| |
| 2017-01-13 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/33562 |
| PR tree-optimization/61912 |
| PR tree-optimization/77485 |
| * tree-ssa-dse.c (delete_dead_call): Accept gsi rather than |
| a statement. |
| (delete_dead_assignment): Likewise. |
| (dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than |
| statement to delete_dead_call and delete_dead_assignment. |
| |
| 2017-01-13 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/78304 |
| * substring-locations.c (format_warning_va): Strengthen case 1 so |
| that both endpoints of the substring must be within the format |
| range for just the substring to be printed. |
| |
| 2017-01-13 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable. |
| * config/i386/i386.c (ix86_target_string): Add missing options |
| to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to |
| isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to |
| flags_other and ix86_target_other to flags2_other. Display unknown |
| isa2 options. |
| (ix86_valid_target_attribute_inner_p): Add missing options and |
| reorder options by implied ISAs, as in ix86_target_string. |
| |
| 2017-01-13 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * hash-table.h (hash_table::too_empty_p): New function. |
| (hash_table::expand): Use it. |
| (hash_table::traverse): Likewise. |
| (hash_table::empty_slot): Use sizeof (value_type) instead of |
| sizeof (PTR) to convert bytes to elements. Shrink the table |
| if the current size is excessive for the current number of |
| elements. |
| |
| 2017-01-13 Richard Sandiford <richard.sandiford@arm.com> |
| |
| * ira-costs.c (record_reg_classes): Break from the inner loop |
| early once alt_fail is known to be true. Update outer loop |
| handling accordingly. |
| |
| 2017-01-13 Jeff Law <law@redhat.com> |
| |
| * tree-ssa-dse.c (decrement_count): New function. |
| (increment_start_addr, maybe_trim_memstar_call): Likewise. |
| (dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly |
| when we know the partially dead statement is a mem* function. |
| |
| PR tree-optimization/61912 |
| PR tree-optimization/77485 |
| * tree-ssa-dse.c: Include expr.h. |
| (maybe_trim_constructor_store): New function. |
| (maybe_trim_partially_dead_store): Call maybe_trim_constructor_store. |
| |
| PR tree-optimization/33562 |
| PR tree-optimization/61912 |
| PR tree-optimization/77485 |
| * doc/invoke.texi: Document new dse-max-object-size param. |
| * params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM. |
| * tree-ssa-dse.c: Include params.h. |
| (dse_store_status): New enum. |
| (initialize_ao_ref_for_dse): New, partially extracted from |
| dse_optimize_stmt. |
| (valid_ao_ref_for_dse, normalize_ref): New. |
| (setup_live_bytes_from_ref, compute_trims): Likewise. |
| (clear_bytes_written_by, maybe_trim_complex_store): Likewise. |
| (maybe_trim_partially_dead_store): Likewise. |
| (maybe_trim_complex_store): Likewise. |
| (dse_classify_store): Renamed from dse_possibly_dead_store_p. |
| Track what bytes live from the original store. Return tri-state |
| for dead, partially dead or live. |
| (dse_dom_walker): Add constructor, destructor and new private members. |
| (delete_dead_call, delete_dead_assignment): New extracted from |
| dse_optimize_stmt. |
| (dse_optimize_stmt): Make a member of dse_dom_walker. |
| Use initialize_ao_ref_for_dse. |
| |
| PR tree-optimization/33562 |
| PR tree-optimization/61912 |
| PR tree-optimization/77485 |
| * sbitmap.h (bitmap_count_bits): Prototype. |
| (bitmap_clear_range, bitmap_set_range): Likewise. |
| * sbitmap.c (bitmap_clear_range): New function. |
| (bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise. |
| |
| 2017-01-13 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/79043 |
| * function.c (set_cfun): Add new argument force. |
| * function.h (set_cfun): Likewise. |
| * ipa-inline-transform.c (inline_call): Use the function when |
| strict alising from is dropped for function we inline to. |
| |
| 2017-01-13 Richard Biener <rguenther@suse.de> |
| |
| * tree-pretty-print.c (dump_generic_node): Fix inverted condition |
| for dumping GIMPLE INTEGER_CSTs. |
| |
| 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__ |
| to 201112L since C++17. |
| |
| 2017-01-13 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR sanitizer/78887 |
| * asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators |
| if -fsanitize=kernel-address is present. |
| |
| 2017-01-13 Richard Biener <rguenther@suse.de> |
| |
| * tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs |
| as _Literal ( type ) number in case usual suffixes do not |
| preserve all information. |
| |
| 2017-01-13 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/77283 |
| * gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h |
| and ssa-iterators.h. |
| (is_feasible_trace): Implement a cost model based on joiner |
| PHI node uses. |
| |
| 2017-01-12 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/79004 |
| * config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting |
| char or short to __float128/_Float128 directly. |
| |
| 2017-01-12 Martin Sebor <msebor@redhat.com> |
| |
| to -Wformat-overflow. |
| * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust. |
| (min_bytes_remaining): Same. |
| (get_string_length): Same. |
| (format_string): Same. |
| (format_directive): Same. |
| (add_bytes): Same. |
| (pass_sprintf_length::handle_gimple_call): Same. |
| |
| 2017-01-12 Jakub Jelinek <jakub@redhat.com> |
| |
| * gimple-ssa-sprintf.c (try_substitute_return_value): Remove |
| info.nowrite calls with no lhs that can't throw. Return bool |
| whether gsi_remove has been called or not. |
| (pass_sprintf_length::handle_gimple_call): Return bool whether |
| try_substitute_return_value called gsi_remove. Formatting fix. |
| (pass_sprintf_length::execute): Don't use gsi_remove if |
| handle_gimple_call returned true. |
| |
| PR bootstrap/79069 |
| * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't |
| be removed due to side-effects, don't remove following barrier nor |
| turn the successor edge into fallthru edge. |
| |
| 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| PR target/79044 |
| * config/rs6000/rs6000.c (insn_is_swappable_p): Mark |
| element-reversing loads and stores as not swappable. |
| |
| 2017-01-12 Nathan Sidwell <nathan@acm.org> |
| Nicolai Stange <nicstange@gmail.com> |
| |
| * combine.c (try_combine): Don't ignore result of overlap checking |
| loop. Combine overlap & asm check into single loop. |
| |
| 2017-01-12 Richard Biener <rguenther@suse.de> |
| |
| * tree-pretty-print.c (dump_generic_node): Provide -gimple |
| variant for MEM_REF. Sanitize INTEGER_CST for -gimple. |
| |
| 2017-01-12 Richard Biener <rguenther@suse.de> |
| |
| * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION |
| and TS_TARGET_OPTION directly derive from TS_BASE. |
| * tree-core.h (tree_optimization_option): Derive from tree_base. |
| (tree_target_option): Likewise. |
| |
| 2017-01-11 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.c (memory_address_length): Increase len |
| only when rip_relative_addr_p returns false. |
| |
| 2017-01-11 Julia Koval <julia.koval@intel.com> |
| |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New. |
| (OPTION_MASK_ISA_SGX_SET): New. |
| (ix86_handle_option): Handle OPT_msgx. |
| * config.gcc: Added sgxintrin.h. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__. |
| * config/i386/i386.c (ix86_target_string): Add -msgx. |
| (PTA_SGX): New. |
| (ix86_option_override_internal): Handle new options. |
| (ix86_valid_target_attribute_inner_p): Add sgx. |
| * config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New. |
| * config/i386/i386.opt: Add msgx. |
| * config/i386/sgxintrin.h: New file. |
| * config/i386/x86intrin.h: Add sgxintrin.h. |
| |
| 2017-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/71537 |
| * fold-const.c (maybe_nonzero_address): Return 1 for function |
| local objects. |
| (tree_single_nonzero_warnv_p): Don't handle function local objects |
| here. |
| |
| PR c++/72813 |
| * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps |
| of c-header. |
| |
| 2017-01-11 David Malcolm <dmalcolm@redhat.com> |
| |
| PR driver/78877 |
| * opts.c: Include "spellcheck.h" |
| (struct string_fragment): New struct. |
| (struct edit_distance_traits<const string_fragment &>): New |
| struct. |
| (get_closest_sanitizer_option): New function. |
| (parse_sanitizer_options): Offer suggestions for unrecognized arguments. |
| |
| 2017-01-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease |
| by 12. |
| (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always |
| DWARF_COMPILE_UNIT_HEADER_SIZE plus 12. |
| (DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define. |
| (calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE |
| for initial die_offset if dwarf_split_debug_info. |
| (output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for |
| initial next_die_offset if dwo_id is non-NULL. Don't emit padding |
| fields. |
| (output_skeleton_debug_sections): Formatting fix. Use |
| DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of |
| DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding. |
| |
| 2017-01-11 Wilco Dijkstra <wdijkstr@arm.com> |
| |
| * config/arm/cortex-a53.md: Add bypasses for |
| cortex_a53_r2f_cvt. |
| (cortex_a53_r2f): Only use for transfers. |
| (cortex_a53_f2r): Likewise. |
| (cortex_a53_r2f_cvt): Add reservation for conversions. |
| (cortex_a53_f2r_cvt): Likewise. |
| |
| 2017-01-11 Tamar Christina <tamar.christina@arm.com> |
| |
| * config/arm/arm_neon.h: Add __artificial__ and gnu_inline |
| to all inlined functions, change static to extern. |
| |
| 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org> |
| |
| PR target/78253 |
| * config/arm/arm.c (legitimize_pic_address): Handle reference to |
| weak symbol. |
| (arm_assemble_integer): Likewise. |
| |
| 2017-01-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| * config.gcc: Use new awk script to check CPU, FPU and architecture |
| parameters for --with-... options. |
| * config/arm/parsecpu.awk: New file |
| * config/arm/arm-cpus.in: New file. |
| * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def |
| files. |
| * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def |
| files. |
| * config/arm/t-arm: Update dependency rules. |
| * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead |
| of processing .def files. |
| * config/arm/genopt.sh: Deleted. |
| * config/arm/gentune.sh: Deleted. |
| * config/arm/arm-cores.def: Deleted. |
| * config/arm/arm-arches.def: Deleted. |
| * config/arm/arm-fpus.def: Deleted. |
| * config/arm/arm-tune.md: Regenerated. |
| * config/arm/arm-tables.opt: Regenerated. |
| * config/arm/arm-cpu.h: New generated file. |
| * config/arm/arm-cpu-data.h: New generated file. |
| * config/arm/arm-cpu-cdata.h: New generated file. |
| |
| 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com> |
| |
| PR lto/79042 |
| * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized |
| bit. |
| (input_varpool_node): Unpack dynamically_initialized bit. |
| |
| 2017-01-11 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/79032 |
| * lra-constraints.c (simplify_operand_subreg): In the MEM case, test |
| the alignment of the adjusted memory reference against that of MODE, |
| instead of the alignment of the original memory reference. |
| |
| 2017-01-11 Martin Jambor <mjambor@suse.cz> |
| |
| * hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL |
| test. |
| * ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial |
| decorated functions. |
| |
| 2017-01-11 Richard Biener <rguenther@suse.de> |
| |
| * tree-vrp.c (evrp_dom_walker::before_dom_children): Also |
| set range/nonnull info for PHI results. Do not set it on |
| stmts marked for removal. |
| |
| 2017-01-10 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (store_field): In the bitfield case, fetch the return value |
| from the registers before applying a single big-endian adjustment. |
| Always do a final load for a BLKmode value not larger than a word. |
| |
| 2017-01-10 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c++/77949 |
| * input.c (selftest::test_accessing_ordinary_linemaps): Verify |
| that we correctly handle column numbers greater than |
| LINE_MAP_MAX_COLUMN_NUMBER. |
| |
| 2017-01-10 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/78245 |
| * gimple-ssa-sprintf.c (get_destination_size): Call |
| {init,fini}object_sizes. |
| * tree-object-size.c (addr_object_size): Adjust. |
| (pass_through_call): Adjust. |
| (pass_object_sizes::execute): Adjust. |
| * tree-object-size.h (fini_object_sizes): Declare. |
| |
| 2017-01-10 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/78775 |
| * builtins.c (get_size_range): Move... |
| * calls.c: ...to here. |
| (alloc_max_size): Accept zero argument. |
| (operand_signed_p): Remove. |
| (maybe_warn_alloc_args_overflow): Call get_size_range. |
| * calls.h (get_size_range): Declare. |
| |
| 2017-01-10 Joe Seymour <joe.s@somniumtech.com> |
| |
| * config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data |
| from TI's devices.csv file as of September 2016. |
| * config/msp430/msp430.c (msp430_mcu_data): Likewise. |
| |
| 2017-01-10 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/extend.texi: Tweak formatting to fix overfull hbox warnings. |
| * doc/invoke.texi: Likewise. |
| * doc/md.texi: Likewise. |
| * doc/objc.texi: Likewise. |
| |
| 2017-01-10 Joshua Conner <joshconner@google.com> |
| |
| * config/arm/fuchsia-elf.h: New file. |
| * config/fuchsia.h: New file. |
| * config.gcc (*-*-fuchsia*): Set native_system_header_dir. |
| (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to |
| targets. |
| * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts. |
| |
| 2016-01-10 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/79034 |
| * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds): |
| Propagate out degenerate PHIs in the joiner. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sort_sem_items_by_decl_uid): New function. |
| (sort_congruence_classes_by_decl_uid): Likewise. |
| (sort_congruence_class_groups_by_decl_uid): Likewise. |
| (sem_item_optimizer::merge_classes): Sort class, groups in these |
| classes and members in the groups by DECL_UID of declarations. |
| This would make merge operations stable. |
| |
| 2017-01-10 Martin Liska <mliska@suse.cz> |
| |
| * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove |
| usage of m_classes_vec. |
| (sem_item_optimizer::~sem_item_optimizer): Likewise. |
| (sem_item_optimizer::get_group_by_hash): Likewise. |
| (sem_item_optimizer::subdivide_classes_by_equality): Likewise. |
| (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise. |
| (sem_item_optimizer::verify_classes): Likewise. |
| (sem_item_optimizer::process_cong_reduction): Likewise. |
| (sem_item_optimizer::dump_cong_classes): Likewise. |
| (sem_item_optimizer::merge_classes): Likewise. |
| * ipa-icf.h (congruence_class_hash): Rename from |
| congruence_class_group_hash. Remove declaration of m_classes_vec. |
| |
| 2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com> |
| |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET, |
| OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New. |
| * config.gcc: Add avx512vpopcntdqintrin.h. |
| * config/i386/avx512vpopcntdqintrin.h: New. |
| * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New. |
| * config/i386/i386-builtin-types.def: Add new types. |
| * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si, |
| __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di, |
| __builtin_ia32_vpopcountq_v8di_mask): New. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Define |
| __AVX512VPOPCNTDQ__. |
| * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq. |
| (PTA_AVX512VPOPCNTDQ): Define. |
| * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ, |
| TARGET_AVX512VPOPCNTDQ_P): Define. |
| * config/i386/i386.opt: Add mavx512vpopcntdq. |
| * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h. |
| * config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New. |
| |
| 2017-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77484 |
| * predict.def (PRED_CALL): Set to 67. |
| |
| 2017-01-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * expr.c (store_field): In the bitfield case, if the value comes from |
| a function call and is of an aggregate type returned in registers, do |
| not modify the field mode; extract the value in all cases if the mode |
| is BLKmode and the size is not larger than a word. |
| |
| 2017-01-09 Dominique d'Humieres <dominiq@lps.ens.fr> |
| |
| PR target/71017 |
| * config/i386/cpuid.h: Fix undefined behavior. |
| |
| 2017-01-04 Jeff Law <law@redhat.com> |
| |
| PR tree-optimization/79007 |
| PR tree-optimization/67955 |
| * tree-ssa-alias.c (same_addr_size_stores_p): Only need to be |
| conservative for pt.null when flag_non_call_exceptions is on. |
| |
| 2017-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/79019 |
| PR translation/79020 |
| * params.def (PARAM_INLINE_MIN_SPEEDUP, |
| PARAM_IPA_CP_SINGLE_CALL_PENALTY, |
| PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos |
| in descriptions. |
| * config/avr/avr.opt (maccumulate-args): Likewise. |
| * config/msp430/msp430.opt (mwarn-mcu): Likewise. |
| * common.opt (freport-bug): Likewise. |
| * cif-code.def (CIF_FINAL_ERROR): Likewise. |
| * doc/invoke.texi (ipa-cp-single-call-penalty): Likewise. |
| * config/s390/s390.c (s390_invalid_binary_op): Fix spelling in |
| translatable string. |
| * config/i386/i386.c (function_value_32): Likewise. |
| * config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise. |
| * config/msp430/msp430.c (msp430_option_override, msp430_attr): |
| Likewise. |
| * config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise. |
| * common/config/msp430/msp430-common.c (msp430_handle_option): |
| Likewise. |
| * symtab.c (symtab_node::verify_base): Likewise. |
| * opts.c (set_debug_level): Likewise. |
| * tree.c (verify_type_variant): Likewise. Fix typo in comment. |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add |
| missing whitespace to translatable strings. |
| * config/avr/avr.md (bswapsi2): Fix typo in comment. |
| * config/sh/superh.h: Likewise. |
| * config/i386/xopintrin.h: Likewise. |
| * config/i386/znver1.md: Likewise. |
| * config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise. |
| * ipa-inline-analysis.c (compute_inline_parameters): Likewise. |
| * double-int.h (struct double_int): Likewise. |
| * double-int.c (div_and_round_double): Likewise. |
| * wide-int.cc: Likewise. |
| * tree-ssa.c (non_rewritable_mem_ref_base): Likewise. |
| * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise. |
| * cfgcleanup.c (crossjumps_occured): Renamed to ... |
| (crossjumps_occurred): ... this. |
| (try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg): |
| Adjust all uses. |
| |
| PR tree-optimization/78899 |
| * tree-if-conv.c (version_loop_for_if_conversion): Instead of |
| returning bool return struct loop *, NULL for failure and the new |
| loop on success. |
| (versionable_outer_loop_p): Don't version outer loop if it has |
| dont_vectorized bit set. |
| (tree_if_conversion): When versioning outer loop, ensure |
| tree_if_conversion is performed also on the inner loop of the |
| non-vectorizable outer loop copy. |
| * tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold |
| LOOP_VECTORIZED in inner loop of the scalar outer loop and |
| prevent vectorization of it. |
| (vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure |
| the outer loop vectorization of the non-scalar version is attempted |
| before vectorization of the inner loop in scalar version. If |
| outer LOOP_VECTORIZED guarded loop is not vectorized, prevent |
| vectorization of its inner loop. |
| * tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop |
| has 2 inner loops, rename also on edges from bb whose single pred |
| is outer_loop->header. Fix typo in function comment. |
| |
| 2017-01-09 Martin Sebor <msebor@redhat.com> |
| |
| PR bootstrap/79033 |
| * asan.c (asan_emit_stack_protection): Increase local buffer size |
| to avoid snprintf truncation warning. |
| |
| 2017-01-09 Andrew Pinski <apinski@cavium.com> |
| |
| * config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan |
| to reference thunderx2t99 for the tuning structure |
| * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs): |
| Rename to ... |
| (thunderx2t99_extra_costs): This. |
| * config/aarch64/aarch64-tune.md: Regenerate. |
| * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ... |
| (vulcan_addrcost_table): This. |
| (vulcan_regmove_cost): Rename to ... |
| (thunderx2t99_regmove_cost): This. |
| (vulcan_vector_cost): Rename to ... |
| (thunderx2t99_vector_cost): this. |
| (vulcan_branch_cost): Rename to ... |
| (thunderx2t99_branch_cost): This. |
| (vulcan_tunings): Rename to ... |
| (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 . |
| * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99. |
| |
| 2017-01-09 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/78365 |
| PR ipa/78599 |
| * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr. |
| * ipa-cp.c (ipa_vr_operation_and_type_effects): New function. |
| (propagate_vr_accross_jump_function): Use the above function for all |
| value range computations for pass-through jump functions and type |
| converasion from explicit value range values. |
| (ipcp_propagate_stage): Do not attempt to deduce types of formal |
| parameters from TYPE_ARG_TYPES. |
| * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace. |
| (ipa_write_node_info): Stream type of the actual argument. |
| (ipa_read_node_info): Likewise. Also remove trailing whitespace. |
| |
| 2017-01-09 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (driver_handle_option): Handle OPT_E and set have_E. |
| (lookup_compiler): Do not show error message with have_E. |
| |
| 2017-01-09 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/78938 |
| * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR |
| where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use |
| BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of |
| {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting |
| fixes. |
| |
| 2017-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| * tree-ssa-address.c (gen_addr_rtx): Don't handle index if it |
| is const0_rtx. |
| |
| 2017-01-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/78997 |
| * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA |
| name condition properly. |
| |
| 2017-01-09 Richard Biener <rguenther@suse.de> |
| |
| PR debug/79000 |
| * dwarf2out.c (is_cxx): New overload with context. |
| (is_naming_typedef_decl): Use it. |
| |
| 2017-01-08 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * invoke.texi (Option Summary): Correct spacing in option lists |
| and add line breaks to fix over-long lines. |
| |
| 2017-01-08 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR middle-end/17660 |
| |
| * extend.texi (Common Variable Attributes): Add xref to GCC |
| Internals manual to explain mode attribute keywords. |
| |
| 2017-01-08 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR other/16519 |
| * doc/invoke.texi (Option Summary): Move -pthread to Linker Options |
| and Preprocessor Options. |
| (Options for Linking): Document -pthread here.... |
| (RS/6000 and PowerPC Options): ...not here. |
| (Solaris 2 Options): ...or here. |
| * doc/cppopts.texi: Document -pthread. |
| |
| 2017-01-08 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/77708 |
| * doc/invoke.texi (Warning Options): Document -Wformat-truncation. |
| * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt): |
| New member functions. |
| (format_directive): Used them. |
| (add_bytes): Same. |
| (pass_sprintf_length::handle_gimple_call): Same. |
| * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size |
| to avoid truncation for any argument. |
| (extract_affine_mul): Same. |
| * tree.c (get_file_function_name): Same. |
| |
| 2017-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77484 |
| * predict.def (PRED_INDIR_CALL): Set to 86. |
| |
| 2017-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR preprocessor/54124 |
| * doc/cppopts.texi: Reformat -d subtable to list the full name |
| of the options. Add cross-reference to the docs for the general |
| compiler -d options. |
| * doc/invoke.texi (Developer Options): Add cross-reference to the |
| preprocessor-specific -d option documentation. |
| |
| 2017-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| PR preprocessor/13498 |
| * doc/cpp.texi (Search Path): Rewrite to remove obsolete and |
| redudant material, and reflect new command-line options. |
| (System Headers): Likewise. |
| |
| 2017-01-07 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * doc/cppdiropts.texi: Merge documentation of -I, -iquote, |
| -isystem, and -idirafter. Copy-edit. |
| * doc/cppopts.texi: Copy-edit. Remove contradiction about |
| default for -ftrack-macro-expansion. Delete obsolete and |
| badly-formatted implementation details about -fdebug-cpp output. |
| * doc/cppwarnopts.texi: Copy-edit. |
| |
| 2017-01-07 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c++/72803 |
| * input.c (selftest::test_accessing_ordinary_linemaps): Verify |
| that the transition from a max line width >= 1<<10 to narrower |
| lines works correctly. |
| |
| 2017-01-07 Alexandre Oliva <aoliva@redhat.com> |
| |
| * doc/options.texi (PerFunction): New. |
| * opt-functions.awk (switch_flags): Map both Optimization and |
| PerFunction to CL_OPTIMIZATION. |
| * opth-gen.awk: Test for PerFunction flag along with |
| Optimization. |
| * optc-save-gen.awk: Likewise. Introduce var_opt_hash and set |
| it only when the latter is present. Skip those that don't in |
| the hash function generator. |
| * common.opt (fvar-tracking): Mark as PerFunction instead of |
| Optimization. |
| (fvar-tracking-assignments): Likewise. |
| (fvar-tracking-assignments-toggle): Likewise. |
| (fvar-tracking-uninit): Likewise. |
| |
| 2017-01-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR translation/79018 |
| * params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between |
| the and store. |
| |
| 2017-01-06 Mikael Pettersson <mikpelinux@gmail.com> |
| |
| PR target/57583 |
| * config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option. |
| * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle |
| TARGET_LONG_JUMP_TABLE_OFFSETS. |
| * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise. |
| * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise. |
| * config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise. |
| (ASM_OUTPUT_ADDR_DIFF_ELF): Likewise. |
| * config/m68k/m68k.md (tablejump expander): Likewise. |
| (*tablejump_pcrel_hi): Renamed from unnamed insn, reject |
| TARGET_LONG_JUMP_TABLE_OFFSETS. |
| (*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS. |
| * doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets. |
| |
| 2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com> |
| David Holsgrove <david.holsgrove@xilinx.com> |
| |
| * common/config/microblaze/microblaze-common.c |
| (TARGET_EXCEPT_UNWIND_INFO): Remove. |
| * config/microblaze/microblaze-protos.h (microblaze_eh_return): |
| New prototype. |
| * config/microblaze/microblaze.c (microblaze_must_save_register) |
| (microblaze_expand_epilogue, microblaze_return_addr): Handle |
| calls_eh_return. |
| (microblaze_eh_return): New function. |
| * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET) |
| (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM) |
| (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros. |
| * config/microblaze/microblaze.md (eh_return): New pattern. |
| |
| 2017-01-06 Jakub Jelinek <jakub@redhat.com> |
| |
| * system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP, |
| GCC_DIAGNOSTIC_STRINGIFY): Define. |
| |
| * read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm.md (<mcrr>): New. |
| (<mrrc>): New. |
| * config/arm/arm.c (arm_arch5te): New. |
| (arm_option_override): Set arm_arch5te. |
| (arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc |
| and mrrc2. |
| * config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to... |
| (arm_mcrr_qualifiers): ... this. New. |
| (MRRC_QUALIFIERS): Define to... |
| (arm_mrrc_qualifiers): ... this. New. |
| * config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc, |
| __arm_mrrc2): New. |
| * config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New. |
| * config/arm/iterators.md (MCRRI, mcrr, MCRR): New. |
| (MRRCI, mrrc, MRRC): New. |
| * config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC, |
| VUNSPEC_MRRC2): New. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm.md (<mcr>): New. |
| (<mrc>): New. |
| * config/arm/arm.c (arm_coproc_builtin_available): Add |
| support for mcr, mrc, mcr2 and mrc2. |
| * config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to... |
| (arm_mcr_qualifiers): ... this. New. |
| (MRC_QUALIFIERS): Define to ... |
| (arm_mrc_qualifiers): ... this. New. |
| (MCR_QUALIFIERS): Define to ... |
| (arm_mcr_qualifiers): ... this. New. |
| * config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2, |
| __arm_mrc2): New. |
| * config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New. |
| * config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New. |
| * config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC, |
| VUNSPEC_MRC2): New. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm.md (*ldc): New. |
| (*stc): New. |
| (<ldc>): New. |
| (<stc>): New. |
| * config/arm/arm.c (arm_coproc_builtin_available): Add |
| support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l. |
| (arm_coproc_ldc_stc_legitimate_address): New. |
| * config/arm/arm-builtins.c (arm_type_qualifiers): Add |
| 'qualifier_const_pointer'. |
| (LDC_QUALIFIERS): Define to... |
| (arm_ldc_qualifiers): ... this. New. |
| (STC_QUALIFIERS): Define to... |
| (arm_stc_qualifiers): ... this. New. |
| * config/arm/arm-protos.h |
| (arm_coproc_ldc_stc_legitimate_address): New. |
| * config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc, |
| __arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New. |
| * config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc, |
| stc2, stcl, stc2l): New. |
| * config/arm/constraints.md (Uz): New. |
| * config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New. |
| * config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL, |
| VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL, |
| VUNSPEC_STC2L): New. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm.md (<cdp>): New. |
| * config/arm/arm.c (neon_const_bounds): Rename this ... |
| (arm_const_bounds): ... this. |
| (arm_coproc_builtin_available): New. |
| * config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase. |
| (arm_type_qualifiers): Add 'qualifier_unsigned_immediate'. |
| (CDP_QUALIFIERS): Define to... |
| (arm_cdp_qualifiers): ... this. New. |
| (void_UP): Define. |
| (arm_expand_builtin_args): Add case for 6 arguments. |
| * config/arm/arm-protos.h (neon_const_bounds): Rename this ... |
| (arm_const_bounds): ... this. |
| (arm_coproc_builtin_available): New. |
| * config/arm/arm_acle.h (__arm_cdp): New. |
| (__arm_cdp2): New. |
| * config/arm/arm_acle_builtins.def (cdp): New. |
| (cdp2): New. |
| * config/arm/iterators.md (CDPI,CDP,cdp): New. |
| * config/arm/neon.md: Rename all 'neon_const_bounds' to |
| 'arm_const_bounds'. |
| * config/arm/types.md (coproc): New. |
| * config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New. |
| * gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics. |
| * gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok, |
| arm_coproc3_ok, arm_coproc4_ok): Document new effective targets. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New. |
| (UBINOP_QUALIFIERS): New. |
| (si_UP): Define. |
| (acle_builtin_data): New. Change comment. |
| (arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H, |
| ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH, |
| ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include |
| arm_acle_builtins.def. |
| (ARM_BUILTIN_ACLE_PATTERN_START): Define. |
| (arm_init_acle_builtins): New. |
| (CRC32_BUILTIN): Remove. |
| (bdesc_2arg): Remove entries for crc32b, crc32h, crc32w, |
| crc32cb, crc32ch and crc32cw. |
| (arm_init_crc32_builtins): Remove. |
| (arm_init_builtins): Use arm_init_acle_builtins rather |
| than arm_init_crc32_builtins. |
| (arm_expand_acle_builtin): New. |
| (arm_expand_builtin): Use 'arm_expand_acle_builtin'. |
| * config/arm/arm_acle_builtins.def: New. |
| |
| 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com> |
| |
| * config/arm/arm-builtins.c (neon_builtin_datum): Rename to .. |
| (arm_builtin_datum): ... this. |
| (arm_init_neon_builtin): Rename to ... |
| (arm_init_builtin): ... this. Add a new parameters PREFIX |
| and USE_SIG_IN_NAME. |
| (arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with |
| 'arm_init_builtin'. Replace type 'neon_builtin_datum' with |
| 'arm_builtin_datum'. |
| (arm_init_vfp_builtins): Likewise. |
| (builtin_arg): Rename enum's replacing 'NEON_ARG' with |
| 'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY. |
| (arm_expand_neon_args): Rename to ... |
| (arm_expand_builtin_args): ... this. Rename builtin_arg |
| enum values and differentiate between ARG_BUILTIN_MEMORY |
| and ARG_BUILTIN_NEON_MEMORY. |
| (arm_expand_neon_builtin_1): Rename to ... |
| (arm_expand_builtin_1): ... this. Rename builtin_arg enum |
| values, arm_expand_builtin_args and add bool parameter NEON. |
| (arm_expand_neon_builtin): Use arm_expand_builtin_1. |
| (arm_expand_vfp_builtin): Likewise. |
| (NEON_MAX_BUILTIN_ARGS): Remove, it was unused. |
| |
| 2017-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77484 |
| * predict.def (PRED_POLYMORPHIC_CALL): Set to 59. |
| * predict.c (tree_estimate_probability_bb): Reverse direction of |
| polymorphic call predictor. |
| |
| 2017-01-06 David Malcolm <dmalcolm@redhat.com> |
| |
| * passes.c (execute_one_pass): Split out pass-skipping logic into... |
| (determine_pass_name_match): ...this new function and... |
| (should_skip_pass_p): ...this new function. |
| |
| 2017-01-06 Nathan Sidwell <nathan@acm.org> |
| |
| * ipa-visibility.c (function_and_variable_visibility): Reformat |
| comments and long lines. Remove extrneous if. |
| * symtab.c (symtab_node::make_decl_local): Fix code format. |
| (symtab_node::set_section_for_node): Fix comment typo. |
| |
| 2017-01-06 Martin Liska <mliska@suse.cz> |
| |
| PR bootstrap/79003 |
| * lra-constraints.c: Rename invariant to lra_invariant. |
| * predict.c (set_even_probabilities): Initialize e to NULL. |
| |
| 2017-01-05 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/78910 |
| * gimple-ssa-sprintf.c (tree_digits): Add an argument. |
| (format_integer): Correct off-by-one error in the handling |
| of precision with negative numbers in signed conversions.. |
| |
| 2017-01-05 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry. |
| |
| 2017-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71016 |
| * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to |
| factor_out_conditional_conversion. Formatting fix. |
| (factor_out_conditional_conversion): Add cond_stmt argument. |
| If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of |
| cond_stmt and if arg0_def_stmt is not the only stmt in its bb. |
| Formatting fix. |
| |
| 2017-01-05 David Malcolm <dmalcolm@redhat.com> |
| |
| * Makefile.in (OBJS): Add read-md.o, read-rtl.o, |
| read-rtl-function.o, and selftest-rtl.o. |
| * config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h. |
| (selftest::aarch64_test_loading_full_dump): New function. |
| (selftest::aarch64_run_selftests): New function. |
| (TARGET_RUN_TARGET_SELFTESTS): Wire it up to |
| selftest::aarch64_run_selftests. |
| * config/i386/i386.c |
| (selftest::ix86_test_loading_dump_fragment_1): New function. |
| (selftest::ix86_test_loading_call_insn): New function. |
| (selftest::ix86_test_loading_full_dump): New function. |
| (selftest::ix86_test_loading_unspec): New function. |
| (selftest::ix86_run_selftests): Call the new functions. |
| * emit-rtl.c (maybe_set_max_label_num): New function. |
| * emit-rtl.h (maybe_set_max_label_num): New decl. |
| * function.c (instantiate_decls): Guard call to |
| instantiate_decls_1 with if (DECL_INITIAL (fndecl)). |
| * function-tests.c (selftest::verify_three_block_rtl_cfg): Remove |
| "static". |
| * gensupport.c (gen_reader::gen_reader): Pass "false" |
| for new "compact" param of rtx_reader. |
| * print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)" |
| rather than an empty string for NULL strings. |
| * read-md.c: Potentially include config.h rather than bconfig.h. |
| Wrap include of errors.h with #ifdef GENERATOR_FILE. |
| (have_error): New global, copied from errors.c. |
| (md_reader::read_name): Rename to... |
| (md_reader::read_name_1): ...this, adding "out_loc" param, |
| and converting "missing name or number" to returning false, rather |
| than failing. |
| (md_reader::read_name): Reimplement in terms of read_name_1. |
| (md_reader::read_name_or_nil): New function. |
| (md_reader::read_string): Handle "(nil)" by returning NULL. |
| (md_reader::md_reader): Add new param "compact". |
| (md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE. |
| (md_reader::read_file): New method. |
| * read-md.h (md_reader::md_reader): Add new param "compact". |
| (md_reader::read_file): New method. |
| (md_reader::is_compact): New accessor. |
| (md_reader::read_name): Convert return type from void to file_location. |
| (md_reader::read_name_or_nil): New decl. |
| (md_reader::read_name_1): New decl. |
| (md_reader::m_compact): New field. |
| (noop_reader::noop_reader): Pass "false" for new "compact" param |
| of rtx_reader. |
| (rtx_reader::rtx_reader): Add new "compact" param. |
| (rtx_reader::read_rtx_operand): Make virtual and convert return |
| type from void to rtx. |
| (rtx_reader::read_until): New decl. |
| (rtx_reader::handle_any_trailing_information): New virtual function. |
| (rtx_reader::postprocess): New virtual function. |
| (rtx_reader::finalize_string): New virtual function. |
| (rtx_reader::m_in_call_function_usage): New field. |
| (rtx_reader::m_reuse_rtx_by_id): New field. |
| * read-rtl-function.c: New file. |
| * selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function. |
| * selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro. |
| (selftest::verify_three_block_rtl_cfg): New decl. |
| * read-rtl-function.h: New file. |
| * read-rtl.c: Potentially include config.h rather than bconfig.h. |
| For host, include function.h, memmodel.h, and emit-rtl.h. |
| (one_time_initialization): New function. |
| (struct compact_insn_name): New struct. |
| (compact_insn_names): New array. |
| (find_code): Handle insn codes in compact dumps. |
| (apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE. |
| (bind_subst_iter_and_attr): Likewise. |
| (add_condition_to_string): Likewise. |
| (add_condition_to_rtx): Likewise. |
| (apply_attribute_uses): Likewise. |
| (add_current_iterators): Likewise. |
| (apply_iterators): Likewise. |
| (initialize_iterators): Guard usage of apply_subst_iterator with |
| #ifdef GENERATOR_FILE. |
| (read_conditions): Wrap with #ifdef GENERATOR_FILE. |
| (md_reader::read_mapping): Likewise. |
| (add_define_attr_for_define_subst): Likewise. |
| (add_define_subst_attr): Likewise. |
| (read_subst_mapping): Likewise. |
| (check_code_iterator): Likewise. |
| (rtx_reader::read_rtx): Likewise. Move one-time initialization |
| logic to... |
| (one_time_initialization): New function. |
| (rtx_reader::read_until): New method. |
| (read_flags): New function. |
| (parse_reg_note_name): New function. |
| (rtx_reader::read_rtx_code): Initialize "iterator" to NULL. |
| Handle reuse_rtx ids. |
| Wrap iterator lookup within #ifdef GENERATOR_FILE. |
| Add parsing support for RTL dumps, mirroring the special-cases in |
| print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID |
| values, and calling handle_any_trailing_information. |
| (rtx_reader::read_rtx_operand): Convert return type from void |
| to rtx, returning return_rtx. Handle case 'e'. Call |
| finalize_string on XSTR and XTMPL fields. |
| (rtx_reader::read_nested_rtx): Handle dumps in which trailing |
| "(nil)" values were omitted. Call the postprocess vfunc on the |
| return_rtx. |
| (rtx_reader::rtx_reader): Add new "compact" param and pass to base |
| class ctor. Initialize m_in_call_function_usage. Call |
| one_time_initialization. |
| * rtl-tests.c (selftest::test_uncond_jump): Call |
| set_new_first_and_last_insn. |
| * rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE. |
| * selftest-rtl.c: New file. |
| * selftest-rtl.h (class selftest::rtl_dump_test): New class. |
| (selftest::get_insn_by_uid): New decl. |
| * selftest-run-tests.c (selftest::run_tests): Call |
| read_rtl_function_c_tests. |
| * selftest.h (selftest::read_rtl_function_c_tests): New decl. |
| * tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function |
| dumps. |
| |
| 2017-01-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (*testqi_ext_3): No need to handle memory |
| operands in a special way. Assert that pos+len <= mode precision. |
| |
| 2017-01-05 Jakub Jelinek <jakub@redhat.com> |
| |
| * common.opt (fvect-cost-model): Remove RejectNegative flag, use |
| 3 argument Alias with unlimited for the negative form. |
| (fno-vect-cost-model): Removed. |
| |
| 2017-01-05 Martin Liska <mliska@suse.cz> |
| |
| * hsa-gen.c (gen_hsa_divmod): New function. |
| (gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD. |
| |
| 2017-01-05 Martin Liska <mliska@suse.cz> |
| |
| PR pch/78970 |
| * gcc.c (lookup_compiler): Reject '-' filename for a precompiled |
| header. |
| |
| 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_setmem): Unroll the loop for |
| small constant length operands. |
| |
| 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes |
| between loop iterations. |
| |
| 2017-01-05 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/78815 |
| * gimplify.c (gimplify_decl_expr): Compare to |
| asan_poisoned_variables instread of checking flags. |
| (gimplify_target_expr): Likewise. |
| (gimplify_expr): Likewise. |
| (gimplify_function_tree): Conditionally initialize |
| asan_poisoned_variables. |
| |
| 2017-01-04 Jeff Law <law@redhat.com> |
| |
| PR tree-optimizatin/78812 |
| * rtl.h (contains_mem_rtx_p): Prototype. |
| * ifcvt.c (containts_mem_rtx_p): Move from here to... |
| * rtlanal.c (contains_mem_rtx_p): Here and remove static linkage. |
| * gcse.c (prune_expressions): Use contains_mem_rtx_p to discover |
| and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look |
| through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs. |
| |
| 2017-01-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * input.c (assert_char_at_range): Default-initialize actual_range. |
| |
| 2017-01-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * df-scan.c (df_ref_create_structure): Make regno unsigned, |
| to match the caller. |
| |
| 2017-01-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * cfgexpand.c (expand_gimple_basic_block): Disregard debug |
| insns after final jump in test to emit dummy move. |
| |
| 2017-01-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * gimple-iterator.h (gsi_one_nondebug_before_end_p): New. |
| * tree-eh.c (cleanup_empty_eh): Skip more debug stmts. |
| |
| 2017-01-04 Alexandre Oliva <aoliva@redhat.com> |
| |
| * multiple_target.c (create_dispatcher_calls): Init e_next. |
| * tree-ssa-loop-split.c (split_loop): Init border. |
| * tree-vect-loop.c (vect_determine_vectorization_factor): Init |
| scalar_type. |
| |
| 2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/71977 |
| PR target/70568 |
| PR target/78823 |
| * config/rs6000/predicates.md (sf_subreg_operand): New predicate. |
| (altivec_register_operand): Do not return true if the operand |
| contains a SUBREG mixing SImode and SFmode. |
| (vsx_register_operand): Likewise. |
| (vsx_reg_sfsubreg_ok): New predicate. |
| (vfloat_operand): Do not return true if the operand contains a |
| SUBREG mixing SImode and SFmode. |
| (vint_operand): Likewise. |
| (vlogical_operand): Likewise. |
| (gpc_reg_operand): Likewise. |
| (int_reg_operand): Likewise. |
| * config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration. |
| * config/rs6000/rs6000.c (valid_sf_si_move): New function to |
| determine if a MOVSI or MOVSF operation contains SUBREGs that mix |
| SImode and SFmode. |
| (rs6000_emit_move_si_sf_subreg): New helper function. |
| (rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily |
| fixup SUBREGs involving SImode and SFmode. |
| * config/rs6000/vsx.md (SFBOOL_*): New constants that are operand |
| numbers for the new peephole2 optimization. |
| (peephole2 for SFmode unions): New peephole2 to optimize cases in |
| the GLIBC math library that do AND/IOR/XOR operations on single |
| precision floating point. |
| * config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal |
| target macros to say whether we need to avoid SUBREGs mixing |
| SImode and SFmode. |
| (TARGET_ALLOW_SF_SUBREG): Likewise. |
| * config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs. |
| (UNSPEC_SI_FROM_SF): Likewise. |
| (iorxor): Change spacing. |
| (and_ior_xor): New iterator for AND, IOR, and XOR. |
| (movsi_from_sf): New insns for SImode/SFmode SUBREG support. |
| (movdi_from_sf_zero_ext): Likewise. |
| (mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand |
| instead of gpc_reg_operand. Add SImode/SFmode SUBREG support. |
| (movsf_from_si): New insn for SImode/SFmode SUBREG support. |
| (fma<mode>4): Use gpc_reg_operand instead of register_operand. |
| (fms<mode>4): Likewise. |
| (fnma<mode>4): Likewise. |
| (fnms<mode>4): Likewise. |
| (nfma<mode>4): Likewise. |
| (nfms<mode>4): Likewise. |
| |
| 2017-01-04 Marek Polacek <polacek@redhat.com> |
| |
| PR c++/64767 |
| * doc/invoke.texi: Document -Wpointer-compare. |
| |
| 2017-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| * optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without |
| RejectNegative. |
| |
| * dwarf2out.c (output_loc_list): Don't throw away 64K+ location |
| descriptions for -gdwarf-5 and emit them as uleb128 instead of |
| 2-byte data. |
| |
| 2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/78056 |
| * doc/sourcebuild.texi (PowerPC-specific attributes): Add |
| documentation of the powerpc_popcntb_ok attribute. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): Add |
| code to issue warning messages if a requested CPU configuration is |
| not supported by the binary (assembler and loader) toolchain. |
| (spe_init_builtins): Add two assertions to prevent ICE if attempt is |
| made to define a built-in function that has been disabled. |
| (paired_init_builtins): Add assertion to prevent ICE if attempt is |
| made to define a built-in function that has been disabled. |
| (altivec_init_builtins): Add comment explaining why definition |
| of the DST built-in functions is not preceded by an assertion |
| check. Add assertions to prevent ICE if attempts are made to |
| define an altivec predicate or an abs* built-in function that has |
| been disabled. |
| (htm_init_builtins): Add comment explaining why definition of the |
| htm built-in functions is not preceded by an assertion check. |
| |
| 2017-01-04 Jeff Law <law@redhat.com> |
| |
| PR tree-optimizatin/67955 |
| * tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first. |
| Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify |
| the points-to solution does not include pt_null. Use DECL_PT_UID |
| unconditionally. |
| |
| 2017-01-04 Uros Bizjak <ubizjak@gmail.com> |
| |
| * config/i386/i386.md (HI/SImode test with imm to QImode splitters): |
| Use gen_int_mode instead of gen_lopwart for const_int operands. |
| |
| 2017-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/71563 |
| * match.pd: Simplify X << Y into X if Y is known to be 0 or |
| out of range value - has low bits known to be zero. |
| |
| 2017-01-04 Alan Modra <amodra@gmail.com> |
| |
| * Makefile.in (aclocal_deps): Update and order as per aclocal.m4. |
| * configure: Regenerate. |
| * config.in: Regenerate. |
| |
| 2017-01-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR bootstrap/77569 |
| * input.c (ebcdic_execution_charset::on_error): Don't use strstr for |
| a substring of the message, but strcmp with the whole message. Ifdef |
| ENABLE_NLS, translate the message first using dgettext. |
| |
| 2017-01-03 Jeff Law <law@redhat.com> |
| |
| PR tree-optimizatin/78856 |
| * tree-ssa-threadupdate.c: Include tree-vectorizer.h. |
| (mark_threaded_blocks): Remove code to truncate thread paths that |
| cross multiple loop headers. Instead invalidate the cached loop |
| iteration information and handle case of a thread path walking |
| into an irreducible region. |
| |
| 2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/78900 |
| * config/rs6000/rs6000.c (rs6000_split_signbit): Change some |
| assertions. Add support for doing the signbit if the IEEE 128-bit |
| floating point value is in a GPR. |
| * config/rs6000/rs6000.md (Fsignbit): Delete. |
| (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa". |
| Update the length attribute if the value is in a GPR. |
| (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate |
| the sign or zero extension instruction, since the value is always 0/1. |
| (signbit<mode>2_dm2): Delete using <Fsignbit>. |
| |
| PR target/78953 |
| * config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are |
| extracting SImode to a GPR register so that we can generate a |
| store, limit the vector to be in a traditional Altivec register |
| for the vextuwrx instruction. |
| |
| 2017-01-03 Ian Lance Taylor <iant@google.com> |
| |
| * godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE. |
| |
| 2017-01-03 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/78696 |
| * gimple-ssa-sprintf.c (format_floating): Correct handling of |
| precision. Use MPFR for %f for greater fidelity. Correct handling |
| of %g. |
| (pass_sprintf_length::compute_format_length): Set width and precision |
| specified by asrerisk to void_node for vararg functions. |
| (try_substitute_return_value): Adjust dump output. |
| |
| 2017-01-03 David Edelsohn <dje.gcc@gmail.com> |
| |
| * doc/invoke.texi (RS6000 options): LRA is enabled by default. |
| |
| 2017-01-03 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * doc/invoke.texi (SPARC options): Document -mlra as the default. |
| * config/sparc/sparc.c (sparc_option_override): Force LRA unless |
| -mlra/-mno-lra was passed to the compiler. |
| |
| 2017-01-03 James Cowgill <James.Cowgill@imgtec.com> |
| |
| PR rtl-optimization/65618 |
| * emit-rtl.c (try_split): Move initialization of "before" and |
| "after" to just before the call to emit_insn_after_setloc. |
| |
| 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/md.texi (Standard Names): Remove reference to Java frontend. |
| |
| 2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com> |
| |
| * dwarf2out.c (gen_enumeration_type_die): When |
| -gno-strict-dwarf, add a DW_AT_encoding attribute. |
| |
| 2017-01-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/78965 |
| * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length): |
| Change first argument from const call_info & to call_info &. For %n |
| set info.nowrite to false. |
| |
| PR middle-end/78901 |
| * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change |
| possibly throwing calls. |
| |
| * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME |
| and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs |
| and fns handling, rather than in a separate case SSA_NAME. |
| |
| 2017-01-02 Jeff Law <law@redhat.com> |
| |
| * config/darwin-driver.c (darwin_driver_init): Const-correctness |
| fixes for first_period and second_period variables. |
| |
| 2017-01-02 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78967 |
| * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec. |
| (*insvqi_1): New insn pattern. |
| (*insvqi_1_mem_rex64): Ditto. |
| (*insvqi_2): Ditto. |
| (*insvqi_3): Rename from *insvqi. |
| |
| (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag. |
| |
| 2017-01-02 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/cfg.texi (Edges): Remove reference to Java. |
| (Maintaining the CFG): Ditto. |
| |
| 2017-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77674 |
| * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of |
| transparent aliases. |
| |
| 2017-01-01 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR middle-end/77484 |
| * predict.def (PRED_CALL): Update hitrate. |
| (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors. |
| * predict.c (tree_estimate_probability_bb): Split CALL predictor |
| into direct/indirect/polymorphic variants. |
| |
| 2017-01-01 Jakub Jelinek <jakub@redhat.com> |
| |
| Update copyright years. |
| |
| * gcc.c (process_command): Update copyright notice dates. |
| * gcov-dump.c (print_version): Ditto. |
| * gcov.c (print_version): Ditto. |
| * gcov-tool.c (print_version): Ditto. |
| * gengtype.c (create_file): Ditto. |
| * doc/cpp.texi: Bump @copying's copyright year. |
| * doc/cppinternals.texi: Ditto. |
| * doc/gcc.texi: Ditto. |
| * doc/gccint.texi: Ditto. |
| * doc/gcov.texi: Ditto. |
| * doc/install.texi: Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| Copyright (C) 2017 Free Software Foundation, Inc. |
| |
| Copying and distribution of this file, with or without modification, |
| are permitted in any medium without royalty provided the copyright |
| notice and this notice are preserved. |