| 2018-07-26 Release Manager |
| |
| * GCC 8.2.0 released. |
| |
| 2018-07-18 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/85602 |
| * calls.c (maybe_warn_nonstring_arg): Handle strncat. |
| * tree-ssa-strlen.c (is_strlen_related_p): Make extern. |
| Handle integer subtraction. |
| (maybe_diag_stxncpy_trunc): Handle nonstring source arguments. |
| * tree-ssa-strlen.h (is_strlen_related_p): Declare. |
| * doc/invoke.texi (-Wstringop-truncation): Update. |
| |
| gcc/testsuite/ChangeLog: |
| |
| 2018-07-16 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| Backport from mainline |
| 2017-03-24 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc-protos.h (arc_pad_return): Remove. |
| * config/arc/arc.c (machine_function): Remove force_short_suffix |
| and size_reason. |
| (arc_print_operand): Adjust printing of '&'. |
| (arc_verify_short): Remove conditional printing of short suffix. |
| (arc_final_prescan_insn): Remove reference to size_reason. |
| (pad_return): New function. |
| (arc_reorg): Call pad_return. |
| (arc_pad_return): Remove. |
| (arc_init_machine_status): Remove reference to force_short_suffix. |
| * config/arc/arc.md (vunspec): Add VUNSPEC_ARC_BLOCKAGE. |
| (attr length): When attribute iscompact is true force to 2 |
| regardless; in the case of maybe check if we want to force the |
| instruction to have 4 bytes length. |
| (nopv): Change it to generate 4 byte long nop as well. |
| (blockage): New pattern. |
| (simple_return): Remove call to arc_pad_return. |
| (p_return_i): Likewise. |
| |
| 2018-07-19 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-07-13 Richard Biener <rguenther@suse.de> |
| |
| PR debug/86452 |
| * dwarf2out.c (gen_type_die_with_usage): Use scope_die_for |
| instead of get_context_die. |
| |
| 2018-07-11 Richard Biener <rguenther@suse.de> |
| |
| PR debug/86457 |
| * dwarf2out.c (init_sections_and_labels): Use |
| output_asm_line_debug_info consistently. |
| (dwarf2out_early_finish): Likewise. |
| (dwarf2out_finish): Remove DW_AT_stmt_list from early generated |
| type units. |
| |
| 2018-07-16 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-07-13 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85974 |
| * match.pd (addr1 - addr2): Allow either of the operand to |
| have a conversion. |
| |
| 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-06-06 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85935 |
| * graphite-scop-detection.c (find_params_in_bb): Analyze |
| condition operands with respect to the correct loop. Assert |
| the analysis doesn't fail. |
| |
| 2018-07-16 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR tree-optimization/86514 |
| * tree-ssa-reassoc.c (init_range_entry) <CASE_CONVERT>: Return for a |
| conversion to a boolean type from a type with greater precision. |
| |
| 2018-07-15 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| Backport from mainline |
| 2018-07-13 Bill Schmidt <wschmidt@linux.ibm.com> |
| Steve Munroe <munroesj52@gmail.com> |
| |
| * config/rs6000/emmintrin.h (_mm_and_si128): New function. |
| (_mm_andnot_si128): Likewise. |
| (_mm_or_si128): Likewise. |
| (_mm_xor_si128): Likewise. |
| |
| 2018-07-14 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/86274 |
| * gimple-ssa-sprintf.c (fmtresult::type_max_digits): Verify |
| precondition. |
| (format_floating): Correct handling of infinities and NaNs. |
| |
| 2018-07-13 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-07-13 H.J. Lu <hongjiu.lu@intel.com> |
| Sunil K Pandey <sunil.k.pandey@intel.com> |
| |
| PR target/84413 |
| * config/i386/i386.c (m_CORE_AVX512): New. |
| (m_CORE_AVX2): Likewise. |
| (m_CORE_ALL): Add m_CORE_AVX2. |
| * config/i386/x86-tune.def: Replace m_HASWELL with m_CORE_AVX2. |
| Replace m_SKYLAKE_AVX512 with m_CORE_AVX512 on avx256_optimal |
| and remove the rest of m_SKYLAKE_AVX512. |
| |
| 2018-07-13 Marek Polacek <polacek@redhat.com> |
| |
| Backport from trunk |
| 2018-07-03 Marek Polacek <polacek@redhat.com> |
| |
| PR middle-end/86202 |
| * gimple-fold.c (size_must_be_zero_p): Check the type of the size. |
| |
| 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-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/86492 |
| * gimple-ssa-store-merging.c |
| (imm_store_chain_info::coalesce_immediate_stores): Call |
| check_no_overlap even for the merge_overlapping case. |
| |
| 2018-07-11 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/avx512bitalgintrin.h (_mm512_mask_bitshuffle_epi64_mask): |
| Use __mmask64 type instead of __mmask8 for __M argument. |
| * config/i386/avx512fintrin.h (_mm512_mask_xor_epi64, |
| _mm512_maskz_xor_epi64): Use __mmask8 type instead of __mmask16 for |
| __U argument. |
| (_mm512_mask_cmpneq_epi64_mask): Use __mmask8 type instead of |
| __mmask16 for __M argument. |
| (_mm512_maskz_insertf32x4, _mm512_maskz_inserti32x4, |
| _mm512_mask_insertf32x4, _mm512_mask_inserti32x4): Cast last argument |
| to __mmask16 instead of __mmask8. |
| * config/i386/avx512vlintrin.h (_mm_mask_add_ps, _mm_maskz_add_ps, |
| _mm256_mask_add_ps, _mm256_maskz_add_ps, _mm_mask_sub_ps, |
| _mm_maskz_sub_ps, _mm256_mask_sub_ps, _mm256_maskz_sub_ps, |
| _mm256_maskz_cvtepi32_ps, _mm_maskz_cvtepi32_ps): Use __mmask8 type |
| instead of __mmask16 for __U argument. |
| * config/i386/avx512vlbwintrin.h (_mm_mask_cmp_epi8_mask): Use |
| __mmask16 instead of __mmask8 for __U argument. |
| (_mm256_mask_cmp_epi8_mask): Use __mmask32 instead of __mmask16 for |
| __U argument. |
| (_mm256_cmp_epi8_mask): Use __mmask32 return type instead of |
| __mmask16. |
| (_mm_mask_cmp_epu8_mask): Use __mmask16 instead of __mmask8 for __U |
| argument. |
| (_mm256_mask_cmp_epu8_mask): Use __mmask32 instead of __mmask16 for |
| __U argument. |
| (_mm256_cmp_epu8_mask): Use __mmask32 return type instead of |
| __mmask16. |
| (_mm_mask_cmp_epi16_mask): Cast last argument to __mmask8 instead |
| of __mmask16. |
| (_mm256_mask_cvtepi8_epi16): Use __mmask16 instead of __mmask32 for |
| __U argument. |
| (_mm_mask_cvtepi8_epi16): Use __mmask8 instead of __mmask32 for |
| __U argument. |
| (_mm256_mask_cvtepu8_epi16): Use __mmask16 instead of __mmask32 for |
| __U argument. |
| (_mm_mask_cvtepu8_epi16): Use __mmask8 instead of __mmask32 for |
| __U argument. |
| (_mm256_mask_cmpneq_epu8_mask, _mm256_mask_cmplt_epu8_mask, |
| _mm256_mask_cmpge_epu8_mask, _mm256_mask_cmple_epu8_mask): Change |
| return type as well as __M argument type and all casts from __mmask8 |
| to __mmask32. |
| (_mm256_mask_cmpneq_epu16_mask, _mm256_mask_cmplt_epu16_mask, |
| _mm256_mask_cmpge_epu16_mask, _mm256_mask_cmple_epu16_mask): Change |
| return type as well as __M argument type and all casts from __mmask8 |
| to __mmask16. |
| (_mm256_mask_cmpneq_epi8_mask, _mm256_mask_cmplt_epi8_mask, |
| _mm256_mask_cmpge_epi8_mask, _mm256_mask_cmple_epi8_mask): Change |
| return type as well as __M argument type and all casts from __mmask8 |
| to __mmask32. |
| (_mm256_mask_cmpneq_epi16_mask, _mm256_mask_cmplt_epi16_mask, |
| _mm256_mask_cmpge_epi16_mask, _mm256_mask_cmple_epi16_mask): Change |
| return type as well as __M argument type and all casts from __mmask8 |
| to __mmask16. |
| * config/i386/avx512vbmi2vlintrin.h (_mm_mask_shrdi_epi32, |
| _mm_mask_shldi_epi32): Cast last argument to __mmask8 instead of |
| __mmask16. |
| |
| 2018-07-11 Grazvydas Ignotas <notasas@gmail.com> |
| |
| * config/i386/avx512bwintrin.h: (_mm512_mask_cmp_epi8_mask, |
| _mm512_mask_cmp_epu8_mask): Use __mmask64 type instead of __mmask32 |
| for __U argument. |
| |
| 2018-07-05 Martin Sebor <msebor@redhat.com> |
| |
| PR c++/86400 |
| * tree-ssa-strlen.c (maybe_set_strlen_range): Use type size rather |
| than its domain to compute its the upper bound of a char array. |
| |
| 2018-07-03 Carl Love <cel@us.ibm.com> |
| |
| Backport from trunk |
| 2018-07-03 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c.c: Map ALTIVEC_BUILTIN_VEC_UNPACKH for |
| float argument to VSX_BUILTIN_DOUBLEH_V4SF. |
| Map ALTIVEC_BUILTIN_VEC_UNPACKL for float argument to |
| VSX_BUILTIN_DOUBLEL_V4SF. |
| |
| 2018-07-04 Luis Machado <luis.machado@linaro.org> |
| |
| * config/aarch64/aarch64.c (qdf24xx_addrcost_table): New static |
| global. |
| (qdf24xx_tunings) <addr_costs>: Set to qdf24xx_addrcost_table. |
| |
| 2018-07-02 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-06-26 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/86285 |
| * config/rs6000/rs6000.c (rs6000_init_builtins): Do not set |
| ieee128_float_type_node to long_double_type_node unless |
| TARGET_LONG_DOUBLE_128 is set. |
| |
| 2018-07-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| * config/i386/i386.c (ix86_finalize_stack_frame_flags): Do not overrule |
| -fno-omit-frame-pointer when not optimizing. |
| |
| 2018-06-30 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/86064 |
| * dwarf2out.c (loc_list_has_views): Adjust comments. |
| (dw_loc_list): Split single cross-partition range with |
| nonzero locview. |
| |
| 2018-06-29 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2018-06-22 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change |
| behavior of vec_pack (vector double, vector double) to match |
| behavior of vec_float2 (vector double, vector double). |
| |
| 2018-06-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/rs6000/t-rs6000: Append rs6000-modes.h to TM_H. |
| |
| 2018-06-28 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport from mainline |
| 2017-05-23 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * doc/sourcebuild.texi (Endianness): New subsubsection. |
| |
| 2018-06-27 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| Backport 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 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| Backport from trunk |
| 2018-06-26 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| * config/rs6000/rs6000-string.c (expand_block_clear): Don't use |
| unaligned vsx for 16B memset. |
| |
| 2018-06-26 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| Backport from trunk |
| 2018-06-22 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| PR target/86222 |
| * config/rs6000/rs6000-string.c (expand_strn_compare): Handle -m32 |
| correctly. |
| |
| 2018-06-26 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-05-08 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. |
| |
| 2018-06-26 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-05-08 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/85645 |
| * regcprop.c (copyprop_hardreg_forward_1): Don't propagate into an |
| insn that has a REG_CFA_REGISTER note. |
| |
| 2018-06-26 Robin Dapp <rdapp@linux.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.ibm.com> |
| |
| Back port from trunk |
| 2018-06-25 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config.gcc (powerpc64le*): Revert January 16th, 2018 patch that |
| added IEEE/IBM long double multilib support on PowerPC little |
| endian Linux systems. |
| * config/rs6000/linux64.h (MULTILIB_DEFAULTS_IEEE): Likewise. |
| (MULTILIB_DEFAULTS): Likewise. |
| * config/rs6000/rs6000.c (rs6000_option_override_internal): |
| Likewise. |
| * config/rs6000/rs6000.h (TARGET_IEEEQUAD_MULTILIB): Likewise. |
| * config/rs6000/t-ldouble-linux64le-ibm: Delete, no longer used. |
| * config/rs6000/t-ldouble-linux64le-ieee: Delete, no longer used. |
| |
| 2018-06-25 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 2018-06-04 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.md (abs<mode>2): Handle IFmode. |
| |
| 2018-05-02 Jan Hubicka <jh@suse.cz> |
| |
| Backport from mainline |
| 2018-04-30 Jan Hubicka <jh@suse.cz> |
| |
| * lto-wrapper.c (ltrans_priorities): New static var. |
| (cmp_priority): New. |
| (run_gcc): Read priorities and if doing parallel build order |
| the Makefile by them. |
| |
| 2018-06-25 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 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-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 David Edelsohn <dje.gcc@gmail.com> |
| |
| Backport from mainline |
| |
| 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-22 Michael Meissner <meissner@linux.ibm.com> |
| |
| Back port from trunk |
| 2018-06-21 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.md (extendtfif2): Add missing 128-bit |
| conversion insn that shows up when pr85657-3.c is compiled using |
| IEEE 128-bit long double. |
| |
| Back port from trunk |
| 2018-06-21 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.c (init_float128_ieee): Prevent complex |
| multiply and divide external functions from being created more |
| than once. |
| |
| Back port from trunk |
| 2018-06-21 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.md (neg<mode>2_internal): Use the correct |
| mode to check whether the mode is IBM extended. |
| |
| 2018-06-18 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/85358 |
| * config/rs6000/rs6000-modes.def (toplevel): Rework the 128-bit |
| floating point modes, so that IFmode is numerically greater than |
| TFmode, which is greater than KFmode using FRACTIONAL_FLOAT_MODE |
| to declare the ordering. This prevents IFmode from being |
| converted to TFmode when long double is IEEE 128-bit on an ISA 3.0 |
| machine. Include rs6000-modes.h to share the fractional values |
| between genmodes* and the rest of the compiler. |
| (IFmode): Likewise. |
| (KFmode): Likewise. |
| (TFmode): Likewise. |
| * config/rs6000/rs6000-modes.h: New file. |
| * config/rs6000/rs6000.c (rs6000_debug_reg_global): Change the |
| meaning of rs6000_long_double_size so that 126..128 selects an |
| appropriate 128-bit floating point type. |
| (rs6000_option_override_internal): Likewise. |
| * config/rs6000/rs6000.h (toplevel): Include rs6000-modes.h. |
| (TARGET_LONG_DOUBLE_128): Change the meaning of |
| rs6000_long_double_size so that 126..128 selects an appropriate |
| 128-bit floating point type. |
| (LONG_DOUBLE_TYPE_SIZE): Update comment. |
| * config/rs6000/rs6000.md (trunciftf2): Correct the modes of the |
| source and destination to match the standard usage. |
| (truncifkf2): Likewise. |
| (copysign<mode>3, IEEE iterator): Rework copysign of float128 on |
| ISA 2.07 to use an explicit clobber, instead of passing in a |
| temporary. |
| (copysign<mode>3_soft): Likewise. |
| |
| Back port from trunk |
| 2018-06-08 David Edelsohn <dje.gcc@gmail.com> |
| |
| * config/rs6000/rs6000.c (rs6000_passes_ieee128): Protect with #if |
| TARGET_ELF. |
| |
| Back port from trunk |
| 2018-06-04 Michael Meissner <meissner@linux.ibm.com> |
| |
| * config/rs6000/rs6000.c (rs6000_passes_ieee128): New boolean to |
| track if we pass or return IEEE 128-bit floating point. |
| (ieee128_mangling_gcc_8_1): New boolean to say whether to generate |
| C++ mangling that is compatible with GCC 8.1. |
| (TARGET_ASM_GLOBALIZE_DECL_NAME): Override target hook. |
| (init_cumulative_args): Note if we pass or return IEEE 128-bit |
| floating point types. |
| (rs6000_function_arg_advance_1): Likewise. |
| (rs6000_mangle_type): Optionally generate mangled names that match |
| what GCC 8.1 generated for IEEE 128-bit floating point types. |
| (rs6000_globalize_decl_name): If we have an external function that |
| passes or returns IEEE 128-bit types, generate a weak reference |
| from the mangled name used in GCC 8.1 to the current mangled |
| name. |
| (rs6000_init_builtins): Make __ibm128 use the long double type if |
| long double is IBM extended double. Make __float128 use the long |
| double type if long double is IEEE 128-bit. |
| |
| PR target/85657 |
| * config/rs6000/rs6000-builtin.def (BU_IBM128_2): New helper |
| macro for __ibm128 built-in functions. |
| (PACK_IF): Add __ibm128 pack/unpack functions. |
| (UNPACK_IF): Likewise. |
| * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Do not |
| enable long double built-in functions if long double is IEEE |
| 128-bit floating point. |
| (rs6000_invalid_builtin): Update long double built-in function |
| error message. |
| (rs6000_expand_builtin): For PACK_IF and UNPACK_IF built-in |
| functions, adjust the built-in function to use the long double |
| built-in function if __ibm128 and long double are the same type. |
| * doc/extend.texi (PowerPC builtins): Update documention for |
| __builtin_{,un}pack_longdouble. Add documentation for |
| __builtin_{,un}pack_ibm128. |
| |
| Back port from trunk |
| 2018-06-01 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (rs6000_mangle_type): Change the mangling of |
| the 128-bit floating point types. Fix function comment. |
| |
| 2018-06-22 Michael Meissner <meissner@linux.ibm.com> |
| |
| Back port from trunk |
| 2018-05-21 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/85657 |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Do not |
| define __ibm128 as long double. |
| * config/rs6000/rs6000.c (rs6000_init_builtins): Create __ibm128 |
| as a distinct type with IEEE 128-bit floating point is supported. |
| (init_float128_ieee): Fix up conversions between IFmode and IEEE |
| 128-bit types to use the correct functions. |
| (rs6000_expand_float128_convert): Use explicit FLOAT_EXTEND to |
| convert between 128-bit floating point types that have different |
| modes but the same representation, instead of using gen_lowpart to |
| makean alias. |
| * config/rs6000/rs6000.md (IFKF): New iterator for IFmode and |
| KFmode. |
| (IFKF_reg): New attributes to give the register constraints for |
| IFmode and KFmode. |
| (extend<mode>tf2_internal): New insns to mark an explicit |
| conversion between 128-bit floating point types that have a |
| different mode but share the same representation. |
| |
| 2018-06-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR target/85994 |
| * config/i386/sol2.h (CPP_SPEC): Don't pass -P for |
| -x assembler-with-cpp. |
| |
| 2018-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de> |
| |
| Backported 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-20 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-06-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/86108 |
| * bb-reorder.c (create_forwarder_block): Renamed to ... |
| (create_eh_forwarder_block): ... this. Split OLD_BB after labels and |
| jump from new landing pad to the second part. |
| (sjlj_fix_up_crossing_landing_pad, dw2_fix_up_crossing_landing_pad): |
| Adjust callers. |
| |
| 2018-06-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/86194 |
| * var-tracking.c (use_narrower_mode_test): Check if shift amount can |
| be narrowed. |
| |
| 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-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 c/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-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86095 |
| * common.opt (Wunsafe-loop-optimizations): Add Ignore, remove Var, |
| documented as preserved for backward compatibility only. |
| * doc/invoke.texi: Remove -Wunsafe-loop-optimizations documentation. |
| |
| 2018-06-15 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85878 |
| * expr.c (expand_assignment): Remove now redundant COMPLEX_MODE_P |
| check from first store_expr, use to_mode instead of GET_MODE (to_rtx). |
| Only call store_expr for halves if the mode is the same. |
| |
| PR middle-end/86123 |
| * match.pd ((X / Y) == 0 -> X < Y): Don't transform complex divisions. |
| Fix up comment formatting. |
| |
| 2018-06-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/86122 |
| * match.pd ((A +- CST1) +- CST2): Punt if last resort |
| unsigned_type_for returns NULL. |
| |
| 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-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. |
| * tree.c (type_hash_canon): Assert we didn't find ourselves. |
| |
| 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-05-05 Roland McGrath <mcgrathr@google.com> |
| |
| PR other/77609 |
| * varasm.c (default_section_type_flags): Set SECTION_NOTYPE for |
| any section for which we don't know a specific type it should have, |
| regardless of name. Previously this was done only for the exact |
| names ".init_array", ".fini_array", and ".preinit_array". |
| (default_elf_asm_named_section): Add comment about |
| relationship with default_section_type_flags and SECTION_NOTYPE. |
| (get_section): Don't consider it a type conflict if one side has |
| SECTION_NOTYPE and the other doesn't, as long as neither has the |
| SECTION_BSS et al used in the default_section_type_flags logic. |
| |
| 2018-06-13 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/86114 |
| * gimple-fold.c (gimple_fold_builtin_strlen): Only handle LHS |
| of integer types. |
| * tree-ssa-strlen.c (maybe_set_strlen_range): Same. |
| |
| 2018-06-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/86048 |
| * config/i386/winnt.c (i386_pe_seh_cold_init): Do not emit negative |
| offsets for register save directives. Emit a second batch of save |
| directives, if need be, when the function accesses prior frames. |
| |
| 2018-06-11 Jason Merrill <jason@redhat.com> |
| |
| PR c++/80485 - inline function non-zero address. |
| * symtab.c (nonzero_address): Check DECL_COMDAT. |
| |
| 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-11 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| Backport from trunk |
| 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. |
| |
| 2018-06-08 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline |
| * gcc/config/rs6000/vsx.md (vextract_fp_from_shorth, |
| vextract_fp_from_shortl): Add BE support. |
| |
| 2018-06-08 Carl Love <cel@us.ibm.com> |
| |
| Backport from mainline |
| * gcc/config/rs6000/vsx.md (first_match_index_<mode>): |
| Calculate index using natureal element order. |
| (first_match_or_eos_index_<mode>): |
| Calculate index using natural element order. |
| (first_match_index_<mode>): |
| Calculate index using natural element order. |
| (first_match_or_eos_index_<mode>): |
| Calculate index using natural order. |
| (define_insn vclzlsbb): Change to define_insn vclzlsbb_<mode>. |
| for BE and LE modes. |
| * gcc/config/rs6000/rs6000-c.c: Rename P9V_BUILTIN_VCLZLSBB, |
| P9V_BUILTIN_VCLZLSBB_V16QI. |
| * gcc/config/rs6000/rs6000-builtin.def: Make VCLZLSBB mode |
| specific. |
| |
| 2018-06-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from mainline |
| 2018-06-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/81497 |
| * config/arm/arm-builtins.c (arm_type_qualifiers): Add |
| qualifier_void_pointer and qualifier_const_void_pointer. |
| (arm_ldc_qualifiers, arm_stc_qualifiers): Use the above. |
| (arm_init_builtins): Handle the above. |
| * config/arm/arm_acle.h (__arm_cdp, __arm_ldc, __arm_ldcl, __arm_stc, |
| __arm_stcl, __arm_mcr, __arm_cdp2, __arm_ldc2, __arm_ldcl2, __arm_stc2, |
| __arm_stcl2,__arm_mcr2, __arm_mcrr, __arm_mcrr2): Remove return for |
| void intrinsics. |
| |
| 2018-06-07 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85684 |
| * config/i386/i386.c (ix86_expand_builtin) <case IX86_BUILTIN_RDPID>: |
| Generate SImode target register for null target. |
| <case IX86_BUILTIN_XGETBV>: Ditto. |
| <case IX86_BUILTIN_XSETBV>: Optimize LSHIFTRT generation. |
| * config/i386/xsaveintrin.h (_xgetbv): Add missing return. |
| |
| 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-06 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-06-04 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/86038 |
| * tracer.c (find_best_successor): Check probability for |
| being initialized, bail out if not. |
| |
| 2018-05-30 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85964 |
| * tracer.c (better_p): Drop initialized count check, we only |
| call the function with initialized counts now. |
| (find_best_successor): Do find a best edge if one |
| has uninitialized count. |
| (find_best_predecessor): Likewise. Do BB frequency check only |
| if count is initialized. |
| |
| 2018-05-28 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85934 |
| * tree-vect-generic.c (expand_vector_operations_1): Hoist |
| vector boolean check before scalar optimization. |
| |
| 2018-05-22 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85863 |
| * tree-vect-stmts.c (vect_is_simple_cond): Only widen invariant |
| comparisons when vectype is specified. |
| (vectorizable_condition): Do not specify vectype for |
| vect_is_simple_cond when SLP vectorizing. |
| |
| 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-04 Martin Sebor <msebor@redhat.com> |
| |
| PR c/85623 |
| * calls.c (maybe_warn_nonstring_arg): Use string length to set |
| or ajust the presumed bound on an operation to avoid unnecessary |
| warnings. |
| |
| 2018-06-04 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/86003 |
| * config/arm/arm-cpus.in (ALL_QUIRKS): Add xscale feature to the list |
| of bits to ignore when comparing architectures. |
| |
| 2018-06-04 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/86025 |
| * tree.c (inchash::add_expr): Handle IDENTIFIER_NODE. |
| |
| 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-31 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85950 |
| * config/i386/i386.md (l<rounding_insn><MODEF:mode><SWI48:mode>2): |
| Enable for TARGET_SSE4_1 and generate rounds{s,d} and cvtts{s,d}2si{,q} |
| sequence. |
| (sse4_1_round<mode>2): Use nonimmediate_operand |
| for operand 1 predicate. |
| |
| 2018-05-31 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85984 |
| * bb-reorder.c (pass_partition_blocks::gate): Return false for |
| functions with naked attribute. |
| |
| 2018-05-31 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85829 |
| * config/i386/x86-tune.def: Re-enable partial_reg_dependency |
| and movx for Haswell. |
| |
| 2018-05-30 Jakub Jelinek <jakub@redhat.com> |
| |
| Backported from mainline |
| 2018-05-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85756 |
| * config/i386/i386.md: Disallow non-commutative arithmetics in |
| last twpeephole for mem {+,-,&,|,^}= x; mem != 0 after cmpelim |
| optimization. Use COMMUTATIVE_ARITH_P test rather than != MINUS |
| in the peephole2 before it. |
| |
| 2018-05-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85683 |
| * config/i386/i386.md: Add peepholes for mem {+,-,&,|,^}= x; mem != 0 |
| after cmpelim optimization. |
| |
| 2018-05-28 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-05-26 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85900 |
| PR target/85345 |
| * varasm.c (assemble_alias): Lookup ifunc attribute on error. |
| |
| 2018-05-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85900 |
| PR target/85345 |
| * varasm.c (assemble_alias): Check ifunc_resolver only on |
| FUNCTION_DECL. |
| |
| 2018-05-22 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85345 |
| * cgraph.h (cgraph_node::create): Set ifunc_resolver for ifunc |
| attribute. |
| (cgraph_node::create_alias): Likewise. |
| (cgraph_node::get_availability): Check ifunc_resolver instead |
| of looking up ifunc attribute. |
| * cgraphunit.c (maybe_diag_incompatible_alias): Likewise. |
| * varasm.c (do_assemble_alias): Likewise. |
| (assemble_alias): Likewise. |
| (default_binds_local_p_3): Likewise. |
| * cgraph.h (cgraph_node): Add ifunc_resolver. |
| (cgraph_node::only_called_directly_or_aliased_p): Return false |
| for IFUNC resolver. |
| * lto-cgraph.c (input_node): Set ifunc_resolver for ifunc |
| attribute. |
| * symtab.c (symtab_node::verify_base): Verify that ifunc_resolver |
| is equivalent to lookup_attribute ("ifunc", DECL_ATTRIBUTES (decl)). |
| (symtab_node::binds_to_current_def_p): Check ifunc_resolver |
| instead of looking up ifunc attribute. |
| |
| 2018-05-27 John David Anglin <danglin@gcc.gnu.org> |
| |
| * config/pa/pa-linux.h (NEED_INDICATE_EXEC_STACK): Define to 0. |
| |
| 2018-05-25 Richard Biener <rguenther@suse.de> |
| |
| PR c++/85912 |
| * tree-dump.c (dequeue_and_dump): Remove access to removed |
| operand 2 of a SWITCH_EXPR. |
| |
| 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-23 Bin Cheng <bin.cheng@arm.com> |
| |
| Backport from mainline |
| 2018-05-17 Bin Cheng <bin.cheng@arm.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85793 |
| * tree-vect-stmts.c (vectorizable_load): Handle 1 element-wise load |
| for VMAT_ELEMENTWISE. |
| |
| 2018-05-23 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85874 |
| * tree-data-ref.c (create_runtime_alias_checks): Defer |
| and ignore overflow warnings. |
| |
| 2018-05-23 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-05-23 Yury Gribov <tetra2005@gmail.com> |
| |
| PR tree-optimization/85822 |
| * tree-vrp.c (is_masked_range_test): Fix handling of negative |
| constants. |
| |
| 2018-05-23 Martin Liska <mliska@suse.cz> |
| |
| Backport from mainline |
| 2018-05-11 Martin Liska <mliska@suse.cz> |
| |
| PR sanitizer/85556 |
| * doc/extend.texi: Document LLVM style format for no_sanitize |
| attribute. |
| |
| 2018-05-22 Martin Sebor <msebor@redhat.com> |
| |
| PR middle-end/85643 |
| * calls.c (get_attr_nonstring_decl): Handle MEM_REF. |
| |
| 2018-05-22 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/85814 |
| * tree-ssa-strlen.c (get_stridx_plus_constant): Cope with |
| a null return from get_strinfo when unsharing the next |
| strinfo in the chain. |
| |
| 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-18 Toon Moene <toon@moene.org> |
| |
| * doc/invoke.texi: Move -floop-unroll-and-jam documentation |
| directly after that of -floop-interchange. Indicate that both |
| options are enabled by default when specifying -O3. |
| |
| 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-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/85733 |
| * config/arm/arm-cpus.in (fgroup ARMv6m): Add be8 feature. |
| |
| 2018-05-11 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/85606 |
| * config/arm/arm-cpus.in: Add comment that ARMv6-m and ARMv6S-m are now |
| equivalent. |
| (cortex-m0): Use armv6s-m isa. |
| (cortex-m0plus): Likewise. |
| (cortex-m1): Likewise. |
| (cortex-m0.small-multiply): Likewise. |
| (cortex-m0plus.small-multiply): Likewise. |
| (cortex-m1.small-multiply): Likewise. |
| |
| 2018-05-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR rtl-optimization/85638 |
| * bb-reorder.c: Include common/common-target.h. |
| (create_forwarder_block): New function extracted from... |
| (fix_up_crossing_landing_pad): ...here. Rename into... |
| (dw2_fix_up_crossing_landing_pad): ...this. |
| (sjlj_fix_up_crossing_landing_pad): New function. |
| (find_rarely_executed_basic_blocks_and_crossing_edges): In SJLJ mode, |
| call sjlj_fix_up_crossing_landing_pad if there are incoming EH edges |
| from both partitions and exit the loop after one iteration. |
| |
| 2018-05-08 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-03 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85615 |
| * tree-ssa-threadupdate.c (thread_block_1): Only allow exits |
| to loops not nested in BBs loop father to avoid creating multi-entry |
| loops. |
| |
| 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-05-08 Richard Earnshaw <rearnsha@arm.com> |
| |
| PR target/85658 |
| * config/arm/parsecpu.awk (check_cpu): Fix operator precedence. |
| (check_arch): Likewise. |
| (check_fpu): Return the result rather than printing it. |
| (end arch): Fix operator precedence. |
| (end cpu): Likewise. |
| (END): Print the result from check_fpu. |
| |
| 2018-05-08 Richard Biener <rguenther@suse.de> |
| |
| Backport from mainline |
| 2018-05-04 Richard Biener <rguenther@suse.de> |
| |
| * bb-reorder.c (sanitize_hot_paths): Release hot_bbs_to_check. |
| * gimple-ssa-store-merging.c |
| (imm_store_chain_info::output_merged_store): Remove redundant create, |
| release split_store vector contents on failure. |
| * tree-vect-slp.c (vect_schedule_slp_instance): Avoid leaking |
| scalar stmt vector on cache hit. |
| |
| 2018-05-04 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85627 |
| * tree-complex.c (tree_lower_complex): Handle removed blocks. |
| |
| 2018-05-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline. |
| 2018-04-25 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-predicates.c (nds32_can_use_bclr_p): Mask with |
| GET_MODE_MASK before any checking. |
| (nds32_can_use_bset_p): Likewise. |
| (nds32_can_use_btgl_p): Likewise. |
| |
| 2018-05-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline. |
| 2018-04-25 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-doubleword.md: New define_split pattern for |
| illegal register number. |
| |
| 2018-05-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline. |
| 2018-04-25 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_print_operand): Set op_value ealier. |
| |
| 2018-05-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| Backport from mainline. |
| 2018-04-25 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (ASM_APP_ON): Add missing newline character. |
| |
| 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-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| Backport from trunk. |
| 2018-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/85512 |
| * config/aarch64/constraints.md (Usg): Limit to 31. |
| (Usj): Limit to 63. |
| |
| 2018-05-02 Jakub Jelinek <jakub@redhat.com> |
| |
| * BASE-VER: Set to 8.1.1. |
| |
| 2018-05-02 Release Manager |
| |
| * GCC 8.1.0 released. |
| |
| 2018-05-02 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/85586 |
| * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Only |
| exit early for statements in the same group if the accesses are |
| not strided. |
| |
| 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 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/85549 |
| * ipa-cp.c (find_aggregate_values_for_callers_subset): Make sure |
| the jump function allows for passing through aggregate values. |
| |
| 2018-04-27 Jeff Law <law@redhat.com> |
| |
| * config.gcc: Mark tile* targets as deprecated/obsolete. |
| |
| 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-26 Richard Biener <rguenther@suse.de> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| * cgraph.h (symbol_table): Just declare debug method here. |
| * symtab.c (symbol_table::debug): Define. |
| |
| 2018-04-26 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (-Wreturn-type): Document default status for C++. |
| |
| 2018-04-25 H.J. Lu <hongjiu.lu@intel.com> |
| |
| Backport from mainline |
| 2018-04-25 Sebastian Peryt <sebastian.peryt@intel.com> |
| |
| PR target/85473 |
| * config/i386/i386.c (ix86_expand_builtin): Change memory |
| operand to XI, extend p0 to Pmode. |
| * config/i386/i386.md: Change unspec volatile and operand |
| 1 mode to XI, change operand 0 mode to P. |
| |
| 2018-04-25 Jakub Jelinek <jakub@redhat.com> |
| |
| * DEV-PHASE: Set to prerelease. |
| |
| 2018-04-24 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (init_float128_ieee): Fix spelling mistakes |
| in __abskf2 and __powikf2. |
| |
| 2018-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/85512 |
| * config/aarch64/constraints.md (Usg, Usj): New constraints. |
| * config/aarch64/iterators.md (cmode_simd): New mode attribute. |
| * config/aarch64/aarch64.md (*aarch64_ashr_sisd_or_int_<mode>3): |
| Use the above on operand 2. Reindent. |
| (*aarch64_lshr_sisd_or_int_<mode>3): Likewise. |
| |
| 2018-04-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85485 |
| * common/config/i386/i386-common.c (ix86_handle_option): Don't |
| handle OPT_mcet. |
| * config/i386/i386.opt (mcet): Removed. |
| * doc/install.texi: Remove -mcet documentation. |
| * doc/invoke.texi: Likewise. |
| |
| 2018-04-24 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85485 |
| * doc/install.texi: Remove -mcet from bootstrap-cet. |
| |
| 2018-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85511 |
| * config/i386/i386.c (ix86_init_mmx_sse_builtins): Don't define |
| __builtin_ia32_readeflags_u32 and __builtin_ia32_writeeflags_u32 |
| if TARGET_64BIT. |
| |
| PR target/85503 |
| * config/rs6000/rs6000-p8swap.c (const_load_sequence_p): Punt if |
| const_vector is not CONST_VECTOR or SYMBOL_REF for a constant pool |
| containing a CONST_VECTOR. |
| |
| 2018-04-24 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * doc/install.texi: Update newlib dependency for nvptx. |
| |
| 2018-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85508 |
| * config/i386/i386.c (ix86_expand_vector_init_one_var): Use UINTVAL |
| instead of INTVAL when shifting x left. |
| |
| 2018-04-24 Andreas Krebbel <krebbel@linux.ibm.com> |
| |
| PR tree-optimization/85478 |
| * tree-vect-loop.c (vect_analyze_loop_2): Do not call |
| vect_grouped_store_supported for single element vectors. |
| |
| 2018-04-24 Richard Biener <rguenther@suse.de> |
| |
| PR target/85491 |
| * config/i386/i386.c (ix86_add_stmt_cost): Restrict strided |
| load cost increase to the case of non-constant step. |
| |
| 2018-04-24 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84828 |
| * reg-stack.c (move_for_stack_reg): Don't fail assertion about dead |
| destination if any_malformed_asm. |
| |
| 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-23 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/85423 |
| * sel-sched-ir.c (has_dependence_note_mem_dep): Only discard |
| dependencies to debug insns when the previous insn is non-debug. |
| |
| 2018-04-23 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md ("vunspec"): Delete it, unify all the unspec |
| enums into a single definition. |
| (fls): Fix predicates and printing. |
| (seti): Likewise. |
| |
| 2018-04-23 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc-protos.h (check_if_valid_sleep_operand): Remove. |
| * config/arc/arc.c (arc_expand_builtin): Sleep accepts registers |
| and short u6 immediate. |
| (check_if_valid_sleep_operand): Remove. |
| * config/arc/arc.md (Sleep): Accepts registers and u6 immediates. |
| |
| 2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_compute_stack_frame): Consider |
| flag_always_save_lp condition. |
| * config/nds32/nds32.opt (malways-save-lp): New option. |
| |
| 2018-04-22 Shiva Chen <shiva0217@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_use_load_post_increment): Declare. |
| * config/nds32/nds32.c (nds32_use_load_post_increment): New. |
| * config/nds32/nds32.h |
| (USE_LOAD_POST_INCREMENT, USE_LOAD_POST_DECREMENT): Define. |
| (USE_STORE_POST_INCREMENT, USE_STORE_POST_DECREMENT): Define. |
| |
| 2018-04-22 Shiva Chen <shiva0217@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_ls_333_p): Remove. |
| * config/nds32/nds32.c (nds32_ls_333_p): Remove. |
| |
| 2018-04-22 Shiva Chen <shiva0217@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_case_vector_shorten_mode): |
| Declare. |
| * config/nds32/nds32.c (nds32_case_vector_shorten_mode): New function. |
| * config/nds32/nds32.h (CASE_VECTOR_SHORTEN_MODE): Modify. |
| |
| 2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_compute_stack_frame): Fix wrong value. |
| |
| 2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_data_alignment, |
| nds32_local_alignment): Declare. |
| * config/nds32/nds32.c (nds32_data_alignment, nds32_constant_alignment, |
| nds32_local_alignment): New functions. |
| (TARGET_CONSTANT_ALIGNMENT): Define. |
| * config/nds32/nds32.h (DATA_ALIGNMENT, LOCAL_ALIGNMENT): Define. |
| |
| 2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c |
| (TARGET_HARD_REGNO_MODE_OK): Move to the bottom of file. |
| (TARGET_MODES_TIEABLE_P): Likewise. |
| |
| 2018-04-22 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_asm_file_start): Display optimization |
| level Ofast and Og. |
| |
| 2018-04-22 Monk Chiang <sh.chiang04@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/constants.md (unspec_volatile_element): Add enum values |
| for unaligned access. |
| * config/nds32/nds32-intrinsic.c: Implementation of expanding |
| unaligned access. |
| * config/nds32/nds32-intrinsic.md: Likewise. |
| * config/nds32/nds32_intrinsic.h: Likewise. |
| * config/nds32/nds32.h (nds32_builtins): Likewise. |
| * config/nds32/nds32.opt (munaligned-access): New option. |
| * config/nds32/nds32.c (nds32_asm_file_start): Display |
| flag_unaligned_access status. |
| |
| 2018-04-20 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/riscv/elf.h (LINK_SPEC): Pass --no-relax if |
| -mno-relax is present. |
| * config/riscv/linux.h (LINK_SPEC): Ditto. |
| |
| 2018-04-20 Martin Sebor <msebor@redhat.com> |
| |
| PR c/85365 |
| * gimple-fold.c (gimple_fold_builtin_strcpy): Suppress -Wrestrict |
| for null pointers. |
| (gimple_fold_builtin_stxcpy_chk): Same. |
| * gimple-ssa-warn-restrict.c (check_bounds_or_overlap): Same. |
| |
| 2018-04-20 Michael Meissner <meissner@linux.ibm.com> |
| |
| PR target/85456 |
| * config/rs6000/rs6000.c (init_float128_ieee): Add support to call |
| __powikf2 when long double is IEEE 128-bit. |
| |
| 2018-04-20 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/riscv/riscv.c (riscv_first_stack_step): Round up min |
| step to make sure stack always aligned. |
| |
| 2018-04-20 Carl Love <cel@us.ibm.com> |
| |
| PR target/83402 |
| * config/rs6000/rs6000-c.c (rs6000_gimple_fold_builtin): Add |
| size check for arg0. |
| |
| 2018-04-20 Nathan Sidwell <nathan@codesourcery.com> |
| Tom de Vries <tom@codesourcery.com> |
| |
| PR target/85445 |
| * config/nvptx/nvptx.c (nvptx_emit_forking, nvptx_emit_joining): |
| Emit insns for calls too. |
| (nvptx_find_par): Always look for worker-level predecessor insn. |
| (nvptx_propagate): Add is_call parm, return bool. Copy frame for |
| calls. |
| (nvptx_vpropagate, nvptx_wpropagate): Adjust. |
| (nvptx_process_pars): Propagate frames for calls. |
| |
| 2018-04-20 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85469 |
| * common/config/i386/i386-common.c (OPTION_MASK_ISA_IBT_SET): |
| Removed. |
| (OPTION_MASK_ISA_IBT_UNSET): Likewise. |
| (ix86_handle_option): Don't handle OPT_mibt. |
| * config/i386/cet.h: Check __CET__ instead of __IBT__ and |
| __SHSTK__. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Remove |
| has_ibt and ibt. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Don't |
| check OPTION_MASK_ISA_IBT nor flag_cf_protection. |
| (ix86_target_macros): Define __CET__ with flag_cf_protection |
| for -fcf-protection. |
| * config/i386/i386.c (isa2_opts): Remove -mibt. |
| * config/i386/i386.h (TARGET_IBT): Removed. |
| (TARGET_IBT_P): Likewise. |
| (ix86_valid_target_attribute_inner_p): Don't check OPT_mibt. |
| * config/i386/i386.md (nop_endbr): Don't check TARGET_IBT. |
| * config/i386/i386.opt (mcet): Update help message. |
| (mshstk): Likewise. |
| (mibt): Removed. |
| * doc/invoke.texi: Remove -mibt. Document __CET__. Document |
| -mcet as an alias for -mshstk. |
| |
| 2018-04-20 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85475 |
| * match.pd ((X * CST) * Y -> (X * Y) * CST): Avoid exponential |
| complexity by forcing a single use of the multiply operand. |
| |
| 2018-04-20 Martin Jambor <mjambor@suse.cz> |
| |
| ipa/85449 |
| * ipa-cp.c (cgraph_edge_brings_value_p): Move check for self-feeding |
| recursion dependency to only apply to non-clones. |
| |
| 2018-04-20 Martin Jambor <mjambor@suse.cz> |
| |
| ipa/85447 |
| * ipa-cp.c (create_specialized_node): Check that clones of |
| self-recursive edges exist during IPA-CP. |
| |
| 2018-04-19 Toon Moene <toon@moene.org> |
| |
| * doc/invoke.texi: Add -floop-unroll-and-jam to options enabled |
| by -O3. |
| |
| 2018-04-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85467 |
| * fold-const.c (fold_ternary_loc) <case BIT_FIELD_REF>: Use |
| VECTOR_TYPE_P macro. If type is vector type, VIEW_CONVERT_EXPR the |
| VECTOR_CST element to type. |
| |
| 2018-04-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85397 |
| * config/i386/i386.h (STACK_SAVEAREA_MODE): New. |
| * config/i386/i386.md (builtin_setjmp_setup): Removed. |
| (builtin_longjmp): Likewise. |
| (save_stack_nonlocal): New pattern. |
| (restore_stack_nonlocal): Likewise. |
| |
| 2018-04-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85404 |
| * config/i386/cet.c (file_end_indicate_exec_stack_and_cet): |
| Replace ASM_OUTPUT_LABEL with fprintf. |
| |
| 2018-04-19 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85417 |
| * config/i386/cet.c (file_end_indicate_exec_stack_and_cet): |
| Check flag_cf_protection instead of TARGET_IBT and TARGET_SHSTK. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Also |
| define __IBT__ and __SHSTK__ for -fcf-protection. |
| * config/i386/i386.c (pass_insert_endbranch::gate): Don't check |
| TARGET_IBT. |
| (ix86_trampoline_init): Likewise. |
| (x86_output_mi_thunk): Likewise. |
| (ix86_notrack_prefixed_insn_p): Likewise. |
| (ix86_option_override_internal): Don't disallow -fcf-protection. |
| * config/i386/i386.md (rdssp<mode>): Also enable for |
| -fcf-protection. |
| (incssp<mode>): Likewise. |
| (nop_endbr): Likewise. |
| * config/i386/i386.opt (mcet): Change help message to built-in |
| functions only. |
| (mibt): Likewise. |
| (mshstk): Likewise. |
| * doc/invoke.texi: Remove -mcet, -mibt and -mshstk condition |
| on -fcf-protection. Change -mcet, -mibt and -mshstk to only |
| enable CET built-in functions. |
| |
| 2018-04-19 Sebastian Peryt <sebastian.peryt@intel.com> |
| |
| * common/config/i386/i386-common.c |
| (OPTION_MASK_ISA_MOVDIRI_SET, OPTION_MASK_ISA_MOVDIR64B_SET, |
| OPTION_MASK_ISA_MOVDIRI_UNSET, |
| OPTION_MASK_ISA_MOVDIR64B_UNSET): New defines. |
| (ix86_handle_option): Handle -mmovdiri and -mmovdir64b. |
| * config.gcc (movdirintrin.h): New header. |
| * config/i386/cpuid.h (bit_MOVDIRI, |
| bit_MOVDIR64B): New bits. |
| * config/i386/driver-i386.c (host_detect_local_cpu): Detect -mmovdiri |
| and -mmvodir64b. |
| * config/i386/i386-builtin-types.def ((VOID, PUNSIGNED, UNSIGNED), |
| (VOID, PVOID, PCVOID)): New function types. |
| * config/i386/i386-builtin.def (__builtin_ia32_directstoreu_u32, |
| __builtin_ia32_directstoreu_u64, |
| __builtin_ia32_movdir64b): New builtins. |
| * config/i386/i386-c.c (__MOVDIRI__, __MOVDIR64B__): New. |
| * config/i386/i386.c (ix86_target_string): Added -mmovdir64b |
| and -mmovdiri. |
| (ix86_valid_target_attribute_inner_p): Ditto. |
| (ix86_expand_special_args_builtin): Added VOID_FTYPE_PUNSIGNED_UNSIGNED |
| and VOID_FTYPE_PUNSIGNED_UNSIGNED. |
| (ix86_expand_builtin): Expand IX86_BUILTIN_MOVDIR64B. |
| * config/i386/i386.h (TARGET_MOVDIRI, TARGET_MOVDIRI_P, |
| TARGET_MOVDIR64B, TARGET_MOVDIR64B_P): New. |
| * config/i386/i386.md (UNSPECV_MOVDIRI, UNSPECV_MOVDIR64B): New. |
| (movdiri<mode>, movdir64b_<mode>): New. |
| * config/i386/i386.opt: Add -mmovdiri and -mmovdir64b. |
| * config/i386/immintrin.h: Include movdirintrin.h. |
| * config/i386/movdirintrin.h: New file. |
| * doc/invoke.texi: Added -mmovdiri and -mmovdir64b. |
| |
| 2018-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85455 |
| * cfg.c (clear_bb_flags): When loop state says we have |
| marked irreducible regions also preserve BB_IRREDUCIBLE_LOOP. |
| |
| 2018-04-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84737 |
| * tree-vect-data-refs.c (vect_copy_ref_info): New function |
| copying restrict info. |
| (vect_setup_realignment): Use it. |
| * tree-vectorizer.h (vect_copy_ref_info): Declare. |
| * tree-vect-stmts.c (vectorizable_store): Copy ref info from |
| the first DR to all generated stores. |
| (vectorizable_load): Likewise for loads. |
| |
| 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. |
| |
| * doc/install.texi: Document --disable-cet being the default and |
| --enable-cet=auto. |
| |
| 2018-04-18 Martin Liska <mliska@suse.cz> |
| |
| * ipa-devirt.c (odr_subtypes_equivalent_p): Fix GNU coding |
| style. |
| |
| 2018-04-18 Martin Liska <mliska@suse.cz> |
| |
| Revert |
| 2018-03-02 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR ipa/83983 |
| * ipa-devirt.c (odr_subtypes_equivalent_p): Get the ODR type of both |
| arguments if they are comparable. |
| |
| 2018-04-18 Martin Liska <mliska@suse.cz> |
| |
| Revert |
| 2018-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR lto/84805 |
| * ipa-devirt.c (odr_subtypes_equivalent_p): Do not get the ODR type of |
| incomplete types. |
| |
| 2018-04-18 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85388 |
| * config/i386/i386.c (ix86_expand_split_stack_prologue): Insert |
| ENDBR after calling __morestack. |
| |
| 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-18 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/81084 |
| * config.gcc: Obsolete powerpc*-*-*spe*. |
| |
| 2018-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/84637 |
| * dbxout.c (dbxout_int): Perform negation in unsigned int type. |
| (stabstr_D): Change type of unum from unsigned int to |
| unsigned HOST_WIDE_INT. Perform negation in unsigned HOST_WIDE_INT |
| type. |
| |
| 2018-04-17 Jim Wilson <jimw@sifive.com> |
| |
| PR 84856 |
| * config/riscv/riscv.c (riscv_compute_frame_info): Add calls to |
| RISCV_STACK_ALIGN when using outgoing_args_size and pretend_args_size. |
| Set arg_pointer_offset after using pretend_args_size. |
| |
| 2018-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85431 |
| * dse.c (record_store): Ignore zero width stores. |
| |
| PR sanitizer/85230 |
| * asan.c (handle_builtin_stack_restore): Adjust comment. Emit |
| __asan_allocas_unpoison call and last_alloca_addr = new_sp before |
| __builtin_stack_restore rather than after it. |
| * builtins.c (expand_asan_emit_allocas_unpoison): Pass |
| arg1 + (virtual_dynamic_stack_rtx - stack_pointer_rtx) as second |
| argument instead of virtual_dynamic_stack_rtx. |
| |
| 2018-04-17 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-protos.h (rs6000_builtin_is_supported_p): |
| New prototype. |
| * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): |
| Add note to error message to explain internal mapping of overloaded |
| built-in function name to non-overloaded built-in function name. |
| * config/rs6000/rs6000.c (rs6000_builtin_is_supported_p): New |
| function. |
| |
| 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-04-17 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): Add |
| (=v, v) alternative and explicit "memory" attribute. |
| (vec_extract_lo_<mode><mask_name>): Likewise. Also add |
| "type", "prefix", "prefix_extra", "length_immediate" and "mode" |
| attributes. |
| (vec_extract_lo_<mode><mask_name>): Add (=v, v) alternative and use |
| "sselog1" type instead of "sselog". |
| (vec_extract_hi_<mode><mask_name>): Use "sselog1" type instead of |
| "sselog". Remove explicit "memory" attribute. |
| (vec_extract_lo_v32hi): Add (=v, v) alternative and explicit "memory", |
| "type", "prefix", "prefix_extra", "length_immediate" and "mode" |
| attributes. |
| (vec_extract_hi_v32hi): Merge all alternatives into one, use |
| "sselog1" type instead of "sselog". Remove explicit "memory" |
| attribute. |
| (vec_extract_hi_v16hi): Merge each pair of alternatives into one, |
| use "sselog1" type instead of "sselog". Remove explicit "memory" |
| attribute. |
| (vec_extract_lo_v64qi): Add (=v, v) alternative and explicit "memory", |
| "type", "prefix", "prefix_extra", "length_immediate" and "mode" |
| attributes. |
| (vec_extract_hi_v64qi): Merge all alternatives into one, use |
| "sselog1" type instead of "sselog". Remove explicit "memory" |
| attribute. |
| (vec_extract_hi_v32qi): Merge each pair of alternatives into one, |
| use "sselog1" type instead of "sselog". Remove explicit "memory" |
| attribute. |
| |
| PR target/85430 |
| * config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu. |
| |
| PR middle-end/85414 |
| * rtlhooks.c (gen_lowpart_if_possible): Don't call gen_lowpart_SUBREG |
| on a SUBREG. |
| |
| 2018-04-17 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/85421 |
| * ipa-cp.c (create_specialized_node): Call |
| expand_all_artificial_thunks if necessary. |
| |
| 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-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85281 |
| * config/i386/sse.md (reduces<mode><mask_scalar_name>, |
| avx512f_vmcmp<mode>3<round_saeonly_name>, |
| avx512f_vmcmp<mode>3_mask<round_saeonly_name>, |
| avx512f_sgetexp<mode><mask_scalar_name><round_saeonly_scalar_name>, |
| avx512f_rndscale<mode><round_saeonly_name>, |
| avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>, |
| avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>): |
| Use %<iptr>2 instead of %2 for -masm=intel. |
| (avx512f_vcvtss2usi<round_name>, avx512f_vcvtss2usiq<round_name>, |
| avx512f_vcvttss2usi<round_saeonly_name>, |
| avx512f_vcvttss2usiq<round_saeonly_name>): Use %k1 instead of %1 for |
| -masm=intel. |
| (avx512f_vcvtsd2usi<round_name>, avx512f_vcvtsd2usiq<round_name>, |
| avx512f_vcvttsd2usi<round_saeonly_name>, |
| avx512f_vcvttsd2usiq<round_saeonly_name>, ufloatv2siv2df2<mask_name>): |
| Use %q1 instead of %1 for -masm=intel. |
| (avx512f_sfixupimm<mode><sd_maskz_name><round_saeonly_name>, |
| avx512f_sfixupimm<mode>_mask<round_saeonly_name>): Use %<iptr>3 instead |
| of %3 for -masm=intel. |
| (sse2_shufpd_v2df_mask): Fix a typo, change %{6%} to %{%6%} for |
| -masm=intel. |
| (*avx512vl_<code>v2div2qi2_store): Use %w0 instead of %0 for |
| -masm=intel. |
| (*avx512vl_<code><mode>v4qi2_store): Use %k0 instead of %0 for |
| -masm=intel. |
| (avx512vl_<code><mode>v4qi2_mask_store): Use a single pattern with |
| %k0 and %1 for -masm=intel rather than two patterns, one with %0 and |
| %g1. |
| (*avx512vl_<code><mode>v8qi2_store): Use %q0 instead of %0 for |
| -masm=intel. |
| (avx512vl_<code><mode>v8qi2_mask_store): Use a single pattern with |
| %q0 and %1 for -masm=intel rather than two patterns, one with %0 and |
| %g1 and one with %0 and %1. |
| (avx512er_vmrcp28<mode><round_saeonly_name>, |
| avx512er_vmrsqrt28<mode><round_saeonly_name>): Use %<iptr>1 instead of |
| %1 for -masm=intel. |
| (avx5124fmaddps_4fmaddps_mask, avx5124fmaddps_4fmaddss_mask, |
| avx5124fmaddps_4fnmaddps_mask, avx5124fmaddps_4fnmaddss_mask, |
| avx5124vnniw_vp4dpwssd_mask, avx5124vnniw_vp4dpwssds_mask): Swap order |
| of %0 and %{%4%} for -masm=intel. |
| (avx5124fmaddps_4fmaddps_maskz, avx5124fmaddps_4fmaddss_maskz, |
| avx5124fmaddps_4fnmaddps_maskz, avx5124fmaddps_4fnmaddss_maskz, |
| avx5124vnniw_vp4dpwssd_maskz, avx5124vnniw_vp4dpwssds_maskz): Swap |
| order of %0 and %{%5%}%{z%} for -masm=intel. |
| |
| 2018-04-17 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/85405 |
| * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields. |
| |
| 2018-04-17 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/85329 |
| * multiple_target.c (create_dispatcher_calls): Set apostrophes |
| for target_clone error message. Make default implementation |
| clone to be a local declaration. |
| (separate_attrs): Add new argument and check for an empty |
| string. |
| (expand_target_clones): Handle it. |
| (ipa_target_clone): Make redirection just for target_clones |
| functions. |
| |
| 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-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-16 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85403 |
| * config/i386/i386.c (get_builtin_code_for_version): Check |
| error_mark_node. |
| |
| 2018-04-16 Olga Makhotina <olga.makhotina@intel.com> |
| |
| PR target/84331 |
| * gcc/config.gcc: Support "skylake". |
| * gcc/config/i386/i386-c.c (ix86_target_macros_internal): Handle |
| PROCESSOR_SKYLAKE. |
| * gcc/config/i386/i386.c (m_SKYLAKE): Define. |
| (processor_target_table): Add "skylake". |
| (ix86_option_override_internal): Add "skylake". |
| (get_builtin_code_for_version): Handle PROCESSOR_SKYLAKE, |
| PROCESSOR_CANNONLAKE. |
| (get_builtin_code_for_version): Fix priority for |
| PROCESSOR_ICELAKE_CLIENT, PROCESSOR_ICELAKE_SERVER, |
| PROCESSOR_SKYLAKE-AVX512. |
| * gcc/config/i386/i386.h (processor_costs): Define TARGET_SKYLAKE. |
| (processor_type): Add PROCESSOR_SKYLAKE. |
| |
| 2018-04-16 Paolo Carlini <paolo.carlini@oracle.com> |
| Jason Merrill <jason@redhat.com> |
| |
| PR c++/85112 |
| * convert.c (convert_to_integer_1): Use direct recursion for |
| enumeral types and types with a precision less than the number |
| of bits in their mode. |
| |
| 2018-04-16 Julia Koval <julia.koval@intel.com> |
| |
| PR target/84413 |
| * config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL, |
| X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Add m_SKYLAKE_AVX512 |
| |
| 2018-04-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85293 |
| * config/rs6000/rs6000.opt (mdirect-move): Make deprecated. |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Remove -mdirect-move |
| and -mno-direct-move. |
| |
| 2018-04-13 Paul A. Clarke <pc@us.ibm.com> |
| |
| PR target/83402 |
| * config/rs6000/emmintrin.h (_mm_slli_epi{16,32,64}): |
| Ensure that vec_splat_s32 is only called with 0 <= shift < 16. |
| Ensure negative shifts result in {0}. |
| |
| 2018-04-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR rtl-optimization/79916 |
| * config/rs6000/rs6000.c (rs6000_emit_move): Use assigned hard |
| regs (if any) to define how to gnerate SD moves when LRA is in |
| progress. |
| |
| 2018-04-13 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85393 |
| * except.h (expand_dw2_landing_pad_for_region): Remove declaration. |
| * except.c (expand_dw2_landing_pad_for_region): Make static. |
| * bb-reorder.c (fix_up_crossing_landing_pad): In new_bb emit just |
| a label and unconditional jump to old_bb, rather than |
| expand_dw2_landing_pad_for_region insn(s) and jump to single_succ |
| basic block. |
| |
| PR rtl-optimization/85376 |
| * simplify-rtx.c (simplify_const_unary_operation): For CLZ and CTZ and |
| zero op0, if C?Z_DEFINED_VALUE_AT_ZERO is false, return NULL_RTX |
| instead of a specific value. |
| |
| 2018-04-13 Jan Hubicka <hubicka@ucw.cz> |
| Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/82965 |
| PR tree-optimization/83991 |
| * cfgloopanal.c (expected_loop_iterations_unbounded): Add |
| by_profile_only parameter. |
| * cfgloopmanip.c (scale_loop_profile): Further scale loop's profile |
| information if the loop was predicted to iterate too many times. |
| * cfgloop.h (expected_loop_iterations_unbounded): Update prototype |
| |
| 2018-04-13 Jan Hubicka <hubicka@ucw.cz> |
| |
| PR lto/71991 |
| * config/i386/i386.c (ix86_can_inline_p): Allow safe transitions for |
| always inline. |
| |
| 2018-04-13 Martin Liska <mliska@suse.cz> |
| Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/81657 |
| * expr.h (enum block_op_methods): Add BLOCK_OP_NO_LIBCALL_RET. |
| * expr.c (emit_block_move_hints): Handle BLOCK_OP_NO_LIBCALL_RET. |
| * builtins.c (expand_builtin_memory_copy_args): Use |
| BLOCK_OP_NO_LIBCALL_RET method for mempcpy with non-ignored target, |
| handle dest_addr == pc_rtx. |
| |
| 2018-04-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85291 |
| * config/rs6000/rs6000.md (fix_trunc<mode>si2): Use legacy code if |
| asked to not generate direct moves. |
| (fix_trunc<mode>si2_stfiwx): Similar. |
| (fix_trunc<mode>si2_internal): Similar. |
| |
| 2018-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/83157 |
| * var-tracking.c (add_stores): Handle STRICT_LOW_PART SET_DEST. |
| * cselib.c (cselib_record_sets): For STRICT_LOW_PART dest, |
| lookup if dest in some wider mode is known to be const0_rtx and |
| if so, record permanent equivalence for it to be ZERO_EXTEND of |
| the narrower mode destination. |
| |
| 2018-04-12 Cesar Philippidis <cesar@codesourcery.com> |
| |
| * lto-streamer-out.c (output_function): Revert 259346. |
| * omp-expand.c (expand_oacc_for): Likewise. |
| |
| 2018-04-12 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/85354 |
| * sel-sched-ir.c (sel_init_pipelining): Move cfg_cleanup call... |
| * sel-sched.c (sel_global_init): ... here. |
| |
| 2018-04-12 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/85238 |
| * lto-wrapper.c (debug_objcopy): Open the files in binary mode. |
| * dwarf2out.c (dwarf2out_early_finish): Do not generate assembly in LTO |
| mode for PE-COFF targets. |
| * config/i386/i386-protos.h (i386_pe_asm_lto_start): Declare. |
| (i386_pe_asm_lto_end): Likewise. |
| * config/i386/cygming.h (TARGET_ASM_LTO_START): Define. |
| (TARGET_ASM_LTO_END): Likewise. |
| * config/i386/winnt.c (saved_debug_info_level): New static variable. |
| (i386_pe_asm_lto_start): New function. |
| (i386_pe_asm_lto_end): Likewise. |
| |
| 2018-04-12 Cesar Philippidis <cesar@codesourcery.com> |
| Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/84955 |
| * lto-streamer-out.c (output_function): Fix CFG loop state before |
| streaming out. |
| * omp-expand.c (expand_oacc_for): Handle calls to internal |
| functions like regular functions. |
| |
| 2018-04-12 Richard Biener <rguenther@suse.de> |
| |
| PR lto/85371 |
| * dwarf2out.c (init_sections_and_labels): Use debug_line_section[_label] |
| for the early LTO debug to properly generate references to it |
| during DIE emission. Do not re-use that for the skeleton for |
| split-dwarf. |
| (dwarf2out_early_finish): Likewise. |
| |
| 2018-04-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85328 |
| * config/i386/sse.md |
| (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name> split, |
| <mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name> split, |
| vec_extract_lo_<mode><mask_name> split, vec_extract_lo_v32hi, |
| vec_extract_lo_v64qi): For non-AVX512VL if input is xmm16+ reg |
| and output is a reg, avoid creating invalid lowpart subreg, but |
| instead split into a 512-bit move. Don't split if not AVX512VL, |
| input is xmm16+ reg and output is a mem. |
| (vec_extract_lo_<mode><mask_name>, vec_extract_lo_v32hi, |
| vec_extract_lo_v64qi): Don't require split if not AVX512VL, input is |
| xmm16+ reg and output is a mem. |
| |
| 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-12 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/85342 |
| * regcprop.c (copyprop_hardreg_forward_1): Remove replaced array, use |
| a bool scalar var inside of the loop instead. Don't try to update |
| recog_data.operand after failed apply_change_group. |
| |
| 2018-04-12 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/85296 |
| * config/nvptx/nvptx.c (flexible_array_member_type_p): New function. |
| (nvptx_assemble_decl_begin): Add undefined param. Declare undefined |
| array with flexible array member as array without given dimension. |
| (nvptx_assemble_undefined_decl): Set nvptx_assemble_decl_begin call |
| argument for undefined param to true. |
| |
| 2018-04-11 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| PR target/85321 |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document options |
| -mcall- and -mtraceback=. Remove options -mabi=spe and -mabi=no-spe |
| from PowerPC section. |
| * config/rs6000/sysv4.opt (mcall-): Improve help text. |
| * config/rs6000/rs6000.opt (mblock-compare-inline-limit=): Trim |
| help text that is too long. |
| * config/rs6000/rs6000.opt (mblock-compare-inline-loop-limit=): Trim |
| help text that is too long. |
| * config/rs6000/rs6000.opt (mstring-compare-inline-limit=): Trim |
| help text that is too long. |
| |
| 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 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/84566 |
| * sched-deps.c (sched_analyze_insn): Check deps->readonly when invoking |
| sched_macro_fuse_insns. |
| |
| 2018-04-11 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR target/84301 |
| * sched-rgn.c (add_branch_dependences): Move sel_sched_p check here... |
| (compute_block_dependences): ... from here. |
| |
| 2018-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/85331 |
| * vec-perm-indices.h (vec_perm_indices::clamp): Change input type |
| from int to HOST_WIDE_INT. |
| |
| 2018-04-11 Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/84149 |
| * ipa-cp.c (propagate_vals_across_pass_through): Expand comment. |
| (cgraph_edge_brings_value_p): New parameter dest_val, check if it is |
| not the same as the source val. |
| (cgraph_edge_brings_value_p): New parameter. |
| (gather_edges_for_value): Pass destination value to |
| cgraph_edge_brings_value_p. |
| (perhaps_add_new_callers): Likewise. |
| (get_info_about_necessary_edges): Likewise and exclude values brought |
| only by self-recursive edges. |
| (create_specialized_node): Redirect only clones of self-calling edges. |
| (+self_recursive_pass_through_p): New function. |
| (find_more_scalar_values_for_callers_subset): Use it. |
| (find_aggregate_values_for_callers_subset): Likewise. |
| (known_aggs_to_agg_replacement_list): Removed. |
| (decide_whether_version_node): Re-calculate known constants for all |
| remaining context clones. |
| |
| 2018-04-11 Richard Biener <rguenther@suse.de> |
| |
| PR lto/85339 |
| * dwarf2out.c (dwarf2out_finish): Remove DW_AT_stmt_list attribute |
| from early DWARF output. |
| (dwarf2out_early_finish): Output line info unconditionally into |
| early DWARF and add reference to it. |
| |
| 2018-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85281 |
| * config/i386/sse.md (iptr): Add V16SFmode and V8DFmode cases. |
| (<avx512>_vec_dup<mode><mask_name>): Use a single pattern for modes |
| other than V2DFmode using iptr mode attribute. |
| (<avx512>_vec_dup<mode><mask_name>): Use iptr mode attribute. |
| |
| 2018-04-11 Alexander Monakov <amonakov@ispras.ru> |
| |
| PR rtl-optimization/84659 |
| * sel-sched-ir.c (sel_init_pipelining): Invoke cleanup_cfg. |
| |
| 2018-04-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/85302 |
| * dwarf2out.c (skip_loc_list_entry): Don't call size_of_locs if |
| SIZEP is NULL. |
| (output_loc_list): Pass address of a dummy size variable even in the |
| locview handling loop. |
| (index_location_lists): Add comment on why skip_loc_list_entry can't |
| call size_of_locs. |
| |
| 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-10 Aaron Sawdey <acsawdey@linux.ibm.com> |
| |
| PR target/85321 |
| * doc/invoke.texi (RS/6000 and PowerPC Options): Document options |
| -mblock-compare-inline-limit, -mblock-compare-inline-loop-limit, |
| and -mstring-compare-inline-limit. |
| |
| 2018-04-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85287 |
| * gcc/config/rs6000/rs6000.md (allocate_stack): Put the residual size |
| for stack clash protection in a register whenever we need it to be in |
| a register. |
| |
| 2018-04-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * common/config/rs6000/rs6000-common.c (rs6000_option_init_struct): |
| Enable -fasynchronous-unwind-tables by default if OBJECT_FORMAT_ELF. |
| |
| 2018-04-10 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/85321 |
| * config/rs6000/rs6000.opt (mtraceback=): Show the allowed values in |
| the help text. |
| (mlong-double-): Ditto. |
| * config/rs6000/sysv4.opt (msdata=): Ditto. |
| (mtls-size=): Ditto. |
| |
| 2018-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Remove |
| erroneous entries for |
| "vector int vec_ldl (int, long int *)", and |
| "vector unsigned int vec_ldl (int, unsigned long int *)". |
| Add comments and entries for |
| "vector bool char vec_ldl (int, bool char *)", |
| "vector bool short vec_ldl (int, bool short *)", |
| "vector bool int vec_ldl (int, bool int *)", |
| "vector bool long long vec_ldl (int, bool long long *)", |
| "vector pixel vec_ldl (int, pixel *)", |
| "vector long long vec_ldl (int, long long *)", |
| "vector unsigned long long vec_ldl (int, unsigned long long *)". |
| * config/rs6000/rs6000.c (rs6000_init_builtins): Initialize new |
| type tree bool_long_long_type_node and correct definition of |
| bool_V2DI_type_node to make reference to this new type tree. |
| (rs6000_mangle_type): Replace erroneous reference to |
| bool_long_type_node with bool_long_long_type_node. |
| * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Add |
| comments to emphasize sign distinctions for char and int types and |
| replace RS6000_BTI_bool_long constant with |
| RS6000_BTI_bool_long_long constant. Also add comment to restrict |
| use of RS6000_BTI_pixel. |
| (bool_long_type_node): Remove this macro definition. |
| (bool_long_long_type_node): New macro definition |
| |
| 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-10 Martin Liska <mliska@suse.cz> |
| |
| * gdbhooks.py: Add pretty-printers for varpool_node, symtab_node, |
| cgraph_edge and ipa_ref. |
| |
| 2018-04-10 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85177 |
| PR target/85255 |
| * config/i386/sse.md |
| (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Fix |
| computation of the VEC_MERGE selector from mask. |
| (<extract_type>_vinsert<shuffletype><extract_suf>_1<mask_name>): |
| Fix decoding of the VEC_MERGE selector into mask. |
| |
| 2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/85286 |
| * tree-vect-data-refs.c (vect_get_smallest_scalar_type): |
| |
| 2018-04-10 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| * final.c (final_1): Set insn_last_address as well as |
| insn_current_address. |
| |
| 2018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/85173 |
| * explow.c (emit_stack_probe): Call validize_mem on memory location |
| before passing it to gen_probe_stack. Create address operand and |
| legitimize it for the probe_stack_address case. |
| |
| 2018-04-09 Jan Hubicka <jh@suse.cz> |
| |
| PR lto/85078 |
| * ipa-devirt.c (rebuild_type_inheritance-hash): New. |
| * ipa-utils.h (rebuild_type_inheritance-hash): Declare. |
| * tree.c (free_lang_data_in_type): Fix handling of binfos; |
| walk basetypes. |
| (free_lang_data): Rebuild type inheritance graph. |
| |
| 2018-04-09 Martin Sebor <msebor@redhat.com> |
| |
| * invoke.texi (-finline-small-functions): Mention other optimization |
| options. |
| (-findirect-inlining, -fpartial-inlining): Same. |
| (-finline-functions-called-once): Same. |
| (-freorder-blocks-and-partition): Same. |
| |
| 2018-04-09 Jan Hubicka <jh@suse.cz> |
| |
| PR rtl/84058 |
| * cfgcleanup.c (try_forward_edges): Do not give up on crossing |
| jumps; choose last target that matches the criteria (i.e. |
| no partition changes for non-crossing jumps). |
| * cfgrtl.c (cfg_layout_redirect_edge_and_branch): Add basic |
| support for redirecting crossing jumps to non-crossing. |
| |
| 2018-04-09 Alexey Brodkin <abrodkin@synopsys.com> |
| |
| * config/arc/arc.c (arc_expand_prologue): Set stack usage info |
| also for naked functions. |
| |
| 2018-04-09 Claudiu Zissulescu <claziss@synopsys.com> |
| |
| * config/arc/arc.md (add_shift): New pattern. |
| (add_shift2): Likewise. |
| (sub_shift): Likewise. |
| (sub_shift_cmp0_noout): Likewise. |
| (compare_si_ashiftsi): Likewise. |
| (xbfu_cmp0_noout): New combine pattern. |
| (xbfu_cmp0"): Likewise. |
| (movsi_set_cc_insn): Place the predicable variant first. |
| (commutative_binary_cmp0_noout): Remove clobber. |
| (commutative_binary_cmp0): New pattern. |
| (noncommutative_binary_cmp0): Likewise. |
| (noncommutative_binary_cmp0_noout): Likewise. |
| (noncommutative_binary_comparison_result_used): Removed. |
| (rsub_cmp0): New pattern. |
| (rsub_cmp0_noout): Likewise. |
| (extzvsi): Changed, keep only meaningful variants. |
| (SQH, SEZ): New iterators. |
| (SQH_postfix): New mode attribute. |
| (SEZ_prefix): New code attribute. |
| (<SEZ_prefix>xt<SQH_postfix>_cmp0_noout): New instruction pattern. |
| (<SEZ_prefix>xt<SQH_postfix>_cmp0): Likewise. |
| * config/arc/predicates.md (cc_set_register): Use CC_REG instead |
| of numerical value. |
| (noncommutative_operator): Check the availability of barrel |
| shifter option. |
| |
| 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-09 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/84041 |
| * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add UNSPECV_MEMBAR. |
| (define_expand "*memory_barrier"): New define_expand. |
| (define_insn "memory_barrier"): New insn. |
| |
| 2018-04-09 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/80463 |
| PR rtl-optimization/83972 |
| PR rtl-optimization/83480 |
| |
| * sel-sched-ir.c (has_dependence_note_mem_dep): Take into account the |
| correct producer for the insn. |
| (tidy_control_flow): Fixup seqnos in case of debug insns. |
| |
| 2018-04-09 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/83913 |
| |
| * sel-sched-ir.c (merge_expr_data): Choose the middle between two |
| different sched-times when merging exprs. |
| |
| 2018-04-09 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/83962 |
| |
| * sel-sched-ir.c (tidy_control_flow): Correct the order in which we call |
| tidy_fallthru_edge and tidy_control_flow. |
| |
| 2018-04-09 Andrey Belevantsev <abel@ispras.ru> |
| |
| PR rtl-optimization/83530 |
| |
| * sel-sched.c (force_next_insn): New global variable. |
| (remove_insn_for_debug): When force_next_insn is true, also leave only |
| next insn in the ready list. |
| (sel_sched_region): When the region wasn't scheduled, make another pass |
| over it with force_next_insn set to 1. |
| |
| 2018-04-08 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config.gcc (nds32le-*-*, nds32be-*-*): Add nds32/nds32_intrinsic.h |
| into tm_file. |
| * config/nds32/constants.md (unspec_volatile_element): Add enum values |
| for interrupt control. |
| * config/nds32/nds32-intrinsic.c: Implementation of intrinsic |
| functions for interrupt control. |
| * config/nds32/nds32-intrinsic.md: Likewise. |
| * config/nds32/nds32_intrinsic.h: Likewise. |
| * config/nds32/nds32.h (nds32_builtins): Likewise. |
| |
| 2018-04-08 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_init_machine_status, |
| nds32_legitimate_index_p, nds32_legitimate_address_p): Consider |
| strict_aligned_p field. |
| (nds32_expand_to_rtl_hook): New function. |
| (TARGET_EXPAND_TO_RTL_HOOK): Define. |
| * config/nds32/nds32.h (machine_function): Add strict_aligned_p field. |
| |
| 2018-04-08 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config.gcc (nds32*-*-*): Check that n7 is valid to --with-cpu. |
| * config/nds32/nds32-n7.md: New file. |
| * config/nds32/nds32-opts.h (nds32_cpu_type): Add CPU_N7. |
| * config/nds32/nds32-pipelines-auxiliary.c: Implementation for n7 |
| pipeline. |
| * config/nds32/nds32-protos.h: More declarations for n7 pipeline. |
| * config/nds32/nds32.md (pipeline_model): Add n7. |
| * config/nds32/nds32.opt (mcpu): Support n7 pipeline cpus. |
| * config/nds32/pipelines.md: Include n7 settings. |
| |
| 2018-04-08 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config.gcc (nds32*-*-*): Check that e8 is valid to --with-cpu. |
| * config/nds32/nds32-e8.md: New file. |
| * config/nds32/nds32-opts.h (nds32-cpu_type): Add CPU_E8. |
| * config/nds32/nds32-pipelines-auxiliary.c: Implementation for e8 |
| pipeline. |
| * config/nds32/nds32-protos.h: More declarations for e8 pipeline. |
| * config/nds32/nds32.md (pipeline_model): Add e8. |
| * config/nds32/nds32.opt (mcpu): Support e8 pipeline cpus. |
| * config/nds32/pipelines.md: Include e8 settings. |
| |
| 2018-04-08 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config.gcc (nds32*-*-*): Check that n6/n8/s8 are valid to --with-cpu. |
| * config/nds32/nds32-n8.md: New file. |
| * config/nds32/nds32-opts.h (nds32_cpu_type): Add CPU_N6 and CPU_N8. |
| * config/nds32/nds32-pipelines-auxiliary.c: Implementation for n8 |
| pipeline. |
| * config/nds32/nds32-protos.h: More declarations for n8 pipeline. |
| * config/nds32/nds32-utils.c: More implementations for n8 pipeline. |
| * config/nds32/nds32.md (pipeline_model): Add n8. |
| * config/nds32/nds32.opt (mcpu): Support n8 pipeline cpus. |
| * config/nds32/pipelines.md: Include n8 settings. |
| |
| 2018-04-08 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config.gcc (nds32*): Add nds32-utils.o into extra_objs. |
| * config/nds32/nds32-n9-2r1w.md: New file. |
| * config/nds32/nds32-n9-3r2w.md: New file. |
| * config/nds32/nds32-opts.h (nds32_cpu_type, nds32_mul_type, |
| nds32_register_ports): New or modify for cpu n9. |
| * config/nds32/nds32-pipelines-auxiliary.c: Implementation for n9 |
| pipeline. |
| * config/nds32/nds32-protos.h: More declarations for n9 pipeline. |
| * config/nds32/nds32-utils.c: New file. |
| * config/nds32/nds32.h (TARGET_PIPELINE_N9, TARGET_PIPELINE_SIMPLE, |
| TARGET_MUL_SLOW): Define. |
| * config/nds32/nds32.md (pipeline_model): New attribute. |
| * config/nds32/nds32.opt (mcpu, mconfig-mul, mconfig-register-ports): |
| New options that support cpu n9. |
| * config/nds32/pipelines.md: Include n9 settings. |
| * config/nds32/t-nds32 (nds32-utils.o): Add dependency. |
| |
| 2018-04-08 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-md-auxiliary.c (output_cond_branch): Output align |
| information if necessary. |
| (output_cond_branch_compare_zero): Likewise. |
| * config/nds32/nds32.c (nds32_adjust_insn_length): Consider align case. |
| (nds32_target_alignment): Refine for alignment. |
| * config/nds32/nds32.h (NDS32_ALIGN_P): Define. |
| (FUNCTION_BOUNDARY): Modify. |
| * config/nds32/nds32.md (call_internal, call_value_internal): Consider |
| align case. |
| * config/nds32/nds32.opt (malways-align, malign-functions): New. |
| |
| 2018-04-08 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/constants.md (unspec_volatile_element): Add values for |
| TLB operation and data prefetch. |
| * config/nds32/nds32-intrinsic.c: Implementation of intrinsic |
| functions for TLB operation and data prefetch. |
| * config/nds32/nds32-intrinsic.md: Likewise. |
| * config/nds32/nds32_intrinsic.h: Likewise. |
| * config/nds32/nds32.c (nds32_dpref_names): Likewise. |
| (nds32_print_operand): Likewise. |
| * config/nds32/nds32.h (nds32_builtins): Likewise. |
| |
| 2018-04-07 Thomas Koenig <tkoenig@gcc.gnu.org> |
| Andrew Pinski <pinsika@gcc.gnu.org> |
| |
| PR middle-end/82976 |
| * match.pd: Use constant_boolean_node of correct type instead of |
| boolean_true_node or boolean_false_node for simplifying |
| pointer comparisons to zero. |
| |
| 2018-04-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/80021 |
| * tree.c (verify_type_variant): Make error call in verify_variant_match |
| translatable and remove final full stop. |
| |
| 2018-04-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/constants.md (unspec_volatile_element): Add |
| UNSPEC_VOLATILE_EH_RETURN. |
| * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push, |
| nds32_output_stack_pop): Support dwarf exception handling process. |
| * config/nds32/nds32-protos.h (nds32_dynamic_chain_address): Declare. |
| * config/nds32/nds32.c (nds32_init_machine_status): Support dwarf |
| exception handling process. |
| (nds32_compute_stack_frame): Likewise. |
| (nds32_return_addr_rtx): Likewise. |
| (nds32_initial_elimination_offset): Likewise. |
| (nds32_expand_prologue): Likewise. |
| (nds32_expand_epilogue): Likewise. |
| (nds32_dynamic_chain_address): New function. |
| * config/nds32/nds32.h (machine_function): Add fields for dwarf |
| exception handling. |
| (DYNAMIC_CHAIN_ADDRESS): Define. |
| (EH_RETURN_DATA_REGNO): Define. |
| (EH_RETURN_STACKADJ_RTX): Define. |
| * config/nds32/nds32.md (eh_return, nds32_eh_return): Implement |
| patterns for dwarf exception handling. |
| |
| 2018-04-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h: Clean up obsolete macros. |
| |
| 2018-04-07 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/constants.md (unspec_element, unspec_volatile_element): |
| Add enum values for particular instructions. |
| * config/nds32/nds32-intrinsic.c: Implementation of expanding |
| particular intrinsic functions. |
| * config/nds32/nds32-intrinsic.md: Likewise. |
| * config/nds32/nds32_intrinsic.h: Likewise. |
| * config/nds32/nds32.h (nds32_builtins): Likewise. |
| * config/nds32/nds32.md (type): Add pbsad and pbsada. |
| (btst, ave): New patterns for particular instructions. |
| |
| 2018-04-07 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/constants.md (unspec_element, unspec_volatile_element): |
| Add enum values for atomic load/store and memory sync. |
| * config/nds32/nds32-intrinsic.c: Implementation for atomic load/store |
| and memory sync. |
| * config/nds32/nds32-intrinsic.md: Likewise. |
| * config/nds32/nds32_intrinsic.h: Likewise. |
| * config/nds32/nds32.h (nds32_builtins): Likewise. |
| |
| 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 |
| (offseti - 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-07 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/constants.md (unspec_volatile_element): Add cache |
| control enum values. |
| * config/nds32/nds32-intrinsic.c: Add cache control expand functions. |
| * config/nds32/nds32-intrinsic.md: Add cache control patterns. |
| * config/nds32/nds32.c (nds32_cctl_names): New. |
| (nds32_print_operand): Handle cache control register names. |
| * config/nds32/nds32.h (nds32_builtins): New enum values. |
| * config/nds32/nds32_intrinsic.h: Add cache control enum types and |
| macros. |
| * config/nds32/nds32.md (type): Add mmu. |
| * config/nds32/pipelines.md (simple_insn): Add mmu. |
| |
| 2018-04-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (type): Remove call. |
| * config/nds32/pipelines.md (simple_insn): Likewise. |
| |
| 2018-04-07 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/constants.md (unspec_volatile_element): Add |
| UNSPEC_VOLATILE_FMFCSR, UNSPEC_VOLATILE_FMTCSR and |
| UNSPEC_VOLATILE_FMFCFG. |
| * config/nds32/nds32-intrinsic.c (bdesc_noarg): New builtin |
| description for fmfcfg and fmfcsr. |
| (bdesc_1arg): Add fmtcsr. |
| (bdesc_2arg): Add fcpynss, fcpyss, fcpynsd and fcpysd. |
| (nds32_expand_builtin_impl): Deal with FPU intrinsic functions. |
| * config/nds32/nds32-intrinsic.md (unspec_fcpynsd, unspec_fcpysd, |
| unspec_fcpynss, unspec_fcpysd, unspec_fcpyss, unspec_fmfcsr, |
| unspec_fmfcfg): New patterns. |
| * config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_FMFCFG, |
| NDS32_BUILTIN_FMFCSR, NDS32_BUILTIN_FMTCSR, NDS32_BUILTIN_FCPYNSS, |
| NDS32_BUILTIN_FCPYSS,NDS32_BUILTIN_FCPYNSD and NDS32_BUILTIN_FCPYSD. |
| * config/nds32/nds32_intrinsic.h (__nds32__fcpynsd, __nds32__fcpynss, |
| __nds32__fcpysd, __nds32__fcpyss, __nds32__fmfcsr, __nds32__fmtcsr, |
| __nds32__fmfcfg): Define. |
| |
| 2018-04-07 Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_intrinsic_register_names): Add more |
| intrinsic register names. |
| * config/nds32/nds32_intrinsic.h (nds32_intrinsic_registers): Add more |
| intrinsic register enum values and macros. |
| |
| 2018-04-07 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_legitimate_index_p): Modify condition |
| for load/store addressing form. |
| (nds32_print_operand_address): Likewise. |
| |
| 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-06 Ruslan Bukin <br@bsdpad.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config.gcc (riscv*-*-freebsd*): Add RISC-V FreeBSD support. |
| * config/riscv/freebsd.h: New. |
| |
| 2018-04-06 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_adjust_insn_length): Refine. |
| * config/nds32/nds32.h (ADJUST_INSN_LENGTH): Change the location in |
| file. |
| |
| 2018-04-06 Chung-Ju Wu <jasonwucj@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-md-auxiliary.c (nds32_output_return, |
| nds32_output_call, nds32_symbol_binds_local_p): New functions. |
| * config/nds32/nds32-protos.h (nds32_output_call, |
| nds32_output_return): Declare. |
| * config/nds32/nds32.md: Refine all the call and return patterns. |
| |
| 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. |
| |
| PR rtl-optimization/84872 |
| * cfgloopmanip.c (create_preheader): Use make_forwarder_block even if |
| nentry == 1 when CP_FALLTHRU_PREHEADERS and single_entry is |
| EDGE_CROSSING edge. |
| |
| 2018-04-06 Tamar Christina <tamar.christina@arm.com> |
| |
| * expr.c (copy_blkmode_to_reg): Revert 254862. |
| * doc/sourcebuild.texi (word_mode_no_slow_unalign): Likewise. |
| |
| 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-06 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/85213 |
| * fold-const.c (twoval_comparison_p): Remove SAVE_P argument and don't |
| look through SAVE_EXPRs with non-side-effects argument. Adjust |
| recursive calls. |
| (fold_comparison): Adjust twoval_comparison_p caller, don't handle |
| save_p here. |
| |
| 2018-04-06 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/85180 |
| * alias.c (find_base_term): New wrapper around find_base_term |
| unwinding CSELIB_VAL_PTR changes. |
| (find_base_term): Do not restore CSELIB_VAL_PTR during the |
| recursion. |
| |
| 2018-04-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com> |
| |
| * config/s390/s390.c (s390_z10_optimize_cmp): Expand dedicated NOP |
| instructions. |
| * config/s390/s390.md (UNSPECV_NOP_LR_0, UNSPECV_NOP_LR_1): New |
| constant definitions. |
| ("nop"): lr 0,0 -> nopr r0 |
| ("nop_lr0", "nop_lr1"): New insn definitions. |
| |
| 2018-04-06 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (*stack_push, *stack_pop): Use |
| NDS32_V3PUSH_AVAILABLE_P macro. |
| |
| 2018-04-06 Monk Chiang <sh.chiang04@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config.gcc (nds32*-*-*): Add v2j v3f v3s checking. |
| (nds32*-*-*): Add float and fpu_config into supported_defaults. |
| * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): |
| Include TARGET_DEFAULT_FPU_ISA and TARGET_DEFAULT_FPU_FMA. |
| * config/nds32/constants.md (unspec_element): Add UNSPEC_COPYSIGN, |
| UNSPEC_FCPYNSD, UNSPEC_FCPYNSS, UNSPEC_FCPYSD and UNSPEC_FCPYSS. |
| * config/nds32/constraints.md: New constraints and checking for hard |
| float configuration. |
| * config/nds32/iterators.md: New mode iterator and attribute for hard |
| float configuration. |
| * config/nds32/nds32-doubleword.md: Use hard float alternatives and |
| patterns. |
| * config/nds32/nds32-fpu.md: New file. |
| * config/nds32/nds32-md-auxiliary.c: New functions and checkings to |
| deal with hard float code generation. |
| * config/nds32/nds32-opts.h (nds32_arch_type): Add ARCH_V3F and |
| ARCH_V3S. |
| (abi_type, float_reg_number): New enum type. |
| * config/nds32/nds32-predicates.c: New predicates for hard float. |
| * config/nds32/nds32-protos.h: Declare functions for hard float. |
| * config/nds32/nds32.c: Implementation for hard float configuration. |
| * config/nds32/nds32.h: Definitions for hard float configuration. |
| * config/nds32/nds32.md: Include hard float machine description and |
| modify patterns for hard float configuration. |
| * config/nds32/nds32.opt: New options for hard float configuration. |
| * config/nds32/predicates.md: New predicates for hard float |
| configuration. |
| |
| 2018-04-06 Kuan-Lin Chen <kuanlinchentw@gmail.com> |
| |
| * common/config/nds32/nds32-common.c |
| (nds32_option_optimization_table): Enable -mreleax-hint by default. |
| |
| 2018-04-05 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85195 |
| * match.pd (BIT_FIELD_REF CONSTRUCTOR@0 @1 @2): Use view_convert around |
| CONSTRUCTOR_ELT (ctor, ...)->value. |
| |
| 2018-04-05 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85193 |
| * config/i386/i386.md (define_attr "memory"): Handle rotate1 type. |
| |
| 2018-04-05 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/85204 |
| * config/nvptx/nvptx.c (nvptx_single): Fix neutering of bb with only |
| cond jump. |
| |
| 2018-04-05 Shiva Chen <shiva0217@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/constraints.md (U33): Fine-tune checking condition. |
| * config/nds32/nds32-md-auxiliary.c (nds32_mem_format): Ditto. |
| * config/nds32/nds32.h (nds32_16bit_address_type): Add |
| ADDRESS_POST_MODIFY_LO_REG_IMM3U. |
| |
| 2018-04-05 Shiva Chen <shiva0217@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/constraints.md (Ufe): New memory constraint. |
| * config/nds32/nds32-md-auxiliary.c (nds32_mem_format, |
| nds32_output_16bit_load): Consider r8 register for lwi45.fe format. |
| * config/nds32/nds32.c (nds32_print_operand): Output lwi45.fe |
| operands. |
| * config/nds32/nds32.h (nds32_16bit_address_type): Add ADDRESS_R8_IMM7U. |
| * config/nds32/nds32.md (*mov<mode>): Adjust pattern. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md: Use optimize_size in the condition for |
| alu-shift instructions. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (divsi4, udivsi4): New patterns. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (negsi2): Refine pattern. |
| |
| 2018-04-05 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/iterators.md (shift_rotate): New code iterator. |
| (shift): New code attribute. |
| * config/nds32/nds32-md-auxiliary.c (nds32_expand_constant): New. |
| * config/nds32/nds32-protos.h (nds32_expand_constant): Declare. |
| * config/nds32/nds32.c (nds32_print_operand): Deal with more cases. |
| * config/nds32/nds32.md (addsi3, *add_srli): Refine implementation for |
| bit-wise operations. |
| (andsi3, *andsi3): Ditto. |
| (iorsi3, *iorsi3, *or_slli, *or_srli): Ditto. |
| (xorsi3, *xorsi3, *xor_slli, *xor_srli): Ditto. |
| (<shift>si3, *ashlsi3, *ashrsi3, *lshrsi3, *rotrsi3): Ditto. |
| * config/nds32/predicates.md (nds32_rimm5u_operand, nds32_and_operand, |
| nds32_ior_operand, nds32_xor_operand): New predicates. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (add<mode>3, sub<mode>3): Rename to ... |
| (addsi3, subsi3): ... this. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (*sub_srli, *and_slli): Fine-tune predicator. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md: Adjust indention. |
| |
| 2018-04-05 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32.md (feature): New attribute. |
| |
| 2018-04-05 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (subtype): New attribute. |
| |
| 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-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-04 Michael Matz <matz@suse.de> |
| |
| * builtins.c (compute_objsize): Pass correct operand |
| to array_at_struct_end_p. |
| |
| 2018-04-04 Richard Biener <rguenther@suse.de> |
| |
| PR lto/85176 |
| * dwarf2out.c (dwarf2out_register_external_die): Peel namespaces |
| from contexts for DINFO_LEVEL_TERSE and below. |
| |
| 2018-04-04 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-doubleword.md (move_<mode>): Require |
| resiter_operand condition. |
| * config/nds32/nds32.md (*move<mode>): Ditto. |
| |
| 2018-04-04 Kito Cheng <kito.cheng@gmail.com> |
| Monk Chiang <sh.chiang04@gmail.com> |
| |
| * config/nds32/nds32.md (movmisalign<mode>): New pattern. |
| |
| 2018-04-04 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (movqi, movhi): Merge into mov<mode>. |
| |
| 2018-04-04 Chung-Ju Wu <jasonwucj@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-md-auxiliary.c (nds32_inverse_cond_code, |
| nds32_cond_code_str, output_cond_branch, |
| output_cond_branch_compare_zero, nds32_expand_cbranch, |
| nds32_expand_cstore, nds32_expand_movcc, |
| nds32_output_cbranchsi4_equality_zero, |
| nds32_output_cbranchsi4_equality_reg, |
| nds32_output_cbranchsi4_equality_reg_or_const_int, |
| nds32_output_cbranchsi4_greater_less_zero: New functions. |
| * config/nds32/nds32-protos.h (nds32_expand_cbranch, |
| nds32_expand_cstore, nds32_expand_movcc, |
| nds32_output_cbranchsi4_equality_zero, |
| nds32_output_cbranchsi4_equality_reg, |
| nds32_output_cbranchsi4_equality_reg_or_const_int, |
| nds32_output_cbranchsi4_greater_less_zero): Declare. |
| * config/nds32/predicates.md (nds32_movecc_comparison_operator, |
| nds32_rimm11s_operand): New predicates. |
| * config/nds32/nds32.h (nds32_expand_result_type): New enum type. |
| * config/nds32/nds32.md: Rewrite all the branch and conditional move |
| patterns. |
| |
| 2018-04-04 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-doubleword.md: Refine all the instruction type. |
| * config/nds32/nds32.md: Ditto. |
| * config/nds32/pipelines.md: Ditto. |
| |
| 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-04 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.md (enabled): Use yes/no for this attribute. |
| |
| 2018-04-04 Chung-Ju Wu <jasonwucj@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-md-auxiliary.c (nds32_long_call_p): New function. |
| * config/nds32/nds32-protos.h (nds32_long_call_p): Declare. |
| * config/nds32/nds32.c (nds32_function_ok_for_sibcall): New function. |
| (TARGET_FUNCTION_OK_FOR_SIBCALL): Define. |
| * config/nds32/nds32.md (sibcall_internal): New. |
| (sibcall_register): Remove. |
| (sibcall_immediate): Remove. |
| (sibcall_value_internal): New. |
| (sibcall_value_register): Remove. |
| (sibcall_value_immediate): Remove. |
| * config/nds32/predicates.md (nds32_general_register_operand): New. |
| (nds32_call_address_operand): New. |
| |
| 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. |
| |
| PR tree-optimization/85156 |
| * builtins.c (fold_builtin_expect): Use save_expr on arg1 to avoid |
| evaluating the argument multiple times. |
| |
| 2018-04-03 Bill Schmidt <wschmidt@linux.ibm.com> |
| |
| * config/rs6000/emmintrin.h (_mm_cvtpd_epi32): Use __vector rather |
| than vector. |
| (_mm_cvtpd_ps): Likewise. |
| (_mm_cvttpd_epi32): Likewise. |
| * config/rs6000/mmintrin.h (_mm_unpacklo_pi8): Likewise. |
| * config/rs6000/xmmintrin.h: For strict-ANSI C++ or C11, undefine |
| vector, pixel, and bool following altivec.h include. |
| |
| 2018-04-03 Martin Sebor <msebor@redhat.com> |
| |
| * doc/extend.texi (Common Function Attributes): Clarify. |
| (const attribute): Likewise. |
| (pure attribute): Likewise. |
| |
| 2018-04-03 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/85169 |
| * config/i386/i386.c (ix86_expand_vector_set): Use |
| HOST_WIDE_INT_1U << elt instead of 1 << elt. Formatting fix. |
| |
| 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 Martin Liska <mliska@suse.cz> |
| |
| PR tree-optimization/82491 |
| * rtl.h (strip_offset_and_add): Replace += suboffset with |
| poly_uint64 () + suboffset. |
| |
| 2018-03-29 Martin Liska <mliska@suse.cz> |
| Martin Jambor <mjambor@suse.cz> |
| |
| PR ipa/84947 |
| * ipa-cp.c (propagate_bits_across_jump_function): Bail out if |
| param_type is not an integral or pointer type. |
| |
| 2018-04-03 Richard Biener <rguenther@suse.de> |
| |
| * sese.h (recompute_all_dominators): Remove. |
| |
| 2018-04-02 Martin Sebor <msebor@redhat.com> |
| |
| * doc/invoke.texi (-Wrestrict): Fix typos. |
| |
| 2018-04-02 Jim Wilson <jimw@sifive.com> |
| |
| * config/riscv/riscv.h (SHIFT_COUNT_TRUNCATED): Set to zero. |
| * config/riscv/riscv.md (<optab>si3): Use QImode shift count. |
| (<optab>di3, <optab>si3_extend): Likewise. |
| (<optab>si3_mask, <optab>si3_mask_1): New. |
| (<optab>di3_mask, <optab>di3_mask_1): New. |
| (<optab>si3_extend_mask, <optab>si3_extend_mask_1): New. |
| (lshrsi3_zero_extend_1): Use VOIDmode shift count. |
| * config/riscv/sync.md (atomic_test_and_set): Emit QImode shift count. |
| |
| 2018-04-02 Gerald Pfeifer <gerald@pfeifer.com> |
| |
| * doc/cpp.texi (Variadic Macros): Fix line continuation in an |
| example. |
| |
| 2018-04-02 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (TARGET_CANONICALIZE_COMPARISON): Define. |
| (nds32_canonicalize_comparison): New function. |
| |
| 2018-04-01 Chung-Ju Wu <jasonwucj@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| Kuan-Lin Chen <kuanlinchentw@gmail.com> |
| |
| * config.gcc (nds32): Add nds32-relax-opt.o into extra_objs. |
| * config/nds32/constants.md (unspec_volatile_element): Add |
| UNSPEC_VOLATILE_RELAX_GROUP. |
| * config/nds32/nds32-relax-opt.c: New file. |
| * config/nds32/nds32-predicates.c |
| (nds32_symbol_load_store_p): New function. |
| * config/nds32/nds32-protos.h |
| (nds32_symbol_load_store_p): Declare function. |
| (make_pass_nds32_relax_opt): Declare new rtl pass function. |
| * config/nds32/nds32.c |
| (nds32_register_pass): New function to register pass. |
| (nds32_register_passes): New function to register passes. |
| * config/nds32/nds32.md (relax_group): New pattern. |
| * config/nds32/nds32.opt (mrelax-hint): New option. |
| * config/nds32/t-nds32 (nds32-relax-opt.o): New dependency. |
| |
| 2018-04-01 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/t-nds32: Modify files dependency. |
| |
| 2018-04-01 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (FUNCTION_PROFILER): Output newline character. |
| (PROFILE_HOOK): Define its implementation. |
| |
| 2018-04-01 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (WCHAR_TYPE, WCHAR_TYPE_SIZE): Use unsigned int |
| type and 32-bit size. |
| |
| 2018-04-01 Jakub Jelinek <jakub@redhat.com> |
| |
| PR middle-end/85090 |
| * config/i386/sse.md (V): Add V64QI and V32HI for TARGET_AVX512F. |
| (V_128_256): New mode iterator. |
| (*avx512dq_vextract<shuffletype>64x2_1 splitter): New define_split. |
| (*avx512f_vextract<shuffletype>32x4_1 splitter): Likewise. |
| (xop_pcmov_<mode><avxsizesuffix>): Use V_128_256 mode iterator instead |
| of V. |
| * config/i386/i386.c (ix86_expand_vector_set): Improve V32HImode and |
| V64QImode expansion for !TARGET_AVX512BW && TARGET_AVX512F. |
| |
| 2018-03-31 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR target/83315 |
| * config/rs6000/xmmintrin.h (_mm_set_ps, _mm_max_ps): Handle (quiet) |
| NaN inputs correctly. |
| |
| 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-30 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/84818 |
| * builtins.c (check_access): Use warning_n. |
| |
| 2018-03-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/83822 |
| * config/rs6000/rs6000-string.c (expand_compare_loop): Fix redundant |
| condition. |
| * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Fix redundant |
| condition. |
| |
| 2018-03-30 Julia Koval <julia.koval@intel.com> |
| |
| PR target/84413 |
| * x86-tune.def (movx, partial_reg_dependency): Enable for |
| m_SKYLAKE_AVX512. |
| |
| 2018-03-29 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR inline-asm/84985 |
| * lra-constraints.c (process_alt_operands): Move setting |
| this_alternative_matches below. |
| |
| 2018-03-29 Martin Liska <mliska@suse.cz> |
| |
| PR lto/84995. |
| * doc/invoke.texi: Document how LTO works with debug info. |
| Describe auto-load support of binutils. Mention 'x86-64' |
| as valid option value of -march option. |
| |
| 2018-03-29 Jakub Jelinek <jakub@redhat.com> |
| |
| * config/i386/sse.md (<avx512>_blendm<mode>): Use <sseintprefix>. |
| |
| PR c/85094 |
| * fold-const.c (operand_equal_p): Handle DEBUG_BEGIN_STMT. |
| For STATEMENT_LIST, pass down OEP_LEXICOGRAPHIC and maybe |
| OEP_NO_HASH_CHECK for recursive call, to avoid exponential |
| checking. |
| |
| 2018-03-28 Peter Bergner <bergner@vnet.ibm.com> |
| |
| PR target/84912 |
| * config/rs6000/rs6000.h (RS6000_BTM_POWERPC64): New define. |
| (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64. |
| * config/rs6000/rs6000.c (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 (BU_P7_POWERPC64_MISC_2): New macro |
| definition. |
| (DIVDE): Use it. |
| (DIVDEU): Likewise. |
| |
| 2018-03-28 Carl Love <cel@us.ibm.com> |
| |
| Revert |
| 2017-09-27 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-builtin.def (BU_FP_1MISC_1): Add define macro. |
| (FCTID, FCTIW): Add BU_FP_MISC_1 macro expansion for builtins. |
| * config/rs6000/rs6000.md (lrintsfsi2): Add define_insn for the |
| fctiw instruction. |
| |
| 2018-03-28 Bill Schmidt <wschmidt@linux.vnet.ibm.com> |
| |
| * config/rs6000/xmmintrin.h (_mm_max_pi16): Use __vector __bool |
| instead of __vector bool. |
| (_mm_max_pu8): Likewise. |
| (_mm_min_pi16): Likewise. |
| |
| 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 (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs. |
| (UNSPEC_DIV_EXTEND): Remove deleted unspecs. |
| (div_extend): Likewise. |
| * doc/extend.texi (__builtin_divweo): Remove documentation for deleted |
| builtin function. |
| (__builtin_divweuo): Likewise. |
| (__builtin_divdeo): Likewise. |
| (__builtin_divdeuo): Likewise. |
| |
| 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. |
| |
| PR tree-optimization/82004 |
| * gimple-match-head.c (optimize_pow_to_exp): New function. |
| * match.pd (pow(C,x) -> exp(log(C)*x)): Wrap with #if GIMPLE. |
| Don't fold to exp if optimize_pow_to_exp is false. |
| |
| 2018-03-28 Martin Liska <mliska@suse.cz> |
| |
| PR other/84819 |
| * calls.c (initialize_argument_information): Fix trailing space. |
| * common.opt: Fix typo and provide better explanation for |
| -fsanitize-coverage option. |
| * config/i386/i386.opt: Fix typo. |
| |
| 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-03-28 Martin Liska <mliska@suse.cz> |
| |
| PR target/84988 |
| * config/i386/i386.c (ix86_function_arg_advance): Do not call |
| chkp_type_bounds_count if MPX is not enabled. |
| |
| 2018-03-27 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (BRANCH_COST): Adjust cost. |
| |
| 2018-03-27 Michael Meissner <meissner@linux.vnet.ibm.com> |
| |
| PR target/84914 |
| * config/rs6000/rs6000.c (create_complex_muldiv): New helper |
| function to create the function decl for complex long double |
| multiply and divide for -mabi=ieeelongdouble. |
| (init_float128_ieee): Call it. |
| |
| 2018-03-27 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/85044 |
| * config/i386/i386.c (ix86_trampoline_init): Insert ENDBR for |
| -fcf-protection=branch -mibt. |
| * config/i386/i386.h (TRAMPOLINE_SIZE): Increased by 4 bytes. |
| |
| 2018-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| PR target/81863 |
| * config/arm/arm.c (arm_valid_symbolic_address): Handle arm_word_relocations |
| |
| 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-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR middle-end/84067 |
| * match.pd ((A * C) +- (B * C) -> (A+-B) * C): Guard with |
| explicit single_use checks. |
| |
| 2018-03-27 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/85082 |
| * tree-ssa-sccvn.c (vn_reference_lookup_or_insert_for_pieces): |
| Valueize the VUSE. |
| |
| 2018-03-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com> |
| |
| * config.gcc (aarch64*-*-linux*): New TARGET_DEFAULT_ASYNC_UNWIND_TABLES |
| * common/config/aarch64/aarch64-common.c (aarch64_optimization_table[]): |
| Turn on fasynchronous-unwind-tables and funwind-tables. |
| |
| 2018-03-26 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/85073 |
| * config/i386/i386.md (*bmi_blsr_<mode>_cmp): New insn pattern. |
| (*bmi_blsr_<mode>_ccz): Ditto. |
| |
| 2018-03-26 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/85063 |
| * omp-general.c (offloading_function_p): New function. Factor out |
| of ... |
| * omp-offload.c (pass_omp_target_link::gate): ... here. |
| * omp-general.h (offloading_function_p): Declare. |
| * tree-switch-conversion.c (build_one_array): Mark CSWTCH.x variable |
| with attribute omp declare target for offloading functions. |
| |
| 2018-03-24 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/84005 |
| * tree-data-ref.h (get_base_for_alignment): Declare. |
| * tree-data-ref.c (get_base_for_alignment_1): New function. |
| (get_base_for_alignment): Likewise. |
| * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Use |
| get_base_for_alignment to find a suitable base object, instead |
| of always using drb->base_address. |
| |
| 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. |
| |
| 2018-03-23 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR inline-asm/85030 |
| * lra-constraints.c (process_alt_operands): Don't match BLKmode |
| and non BLKmode operands. |
| |
| 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-23 Richard Biener <rguenther@suse.de> |
| |
| PR debug/85020 |
| * dwarf2out.c (rtl_for_decl_location): Do not generate RTL early when |
| we are going to emit early debug for LTO. |
| |
| 2018-03-23 Jakub Jelinek <jakub@redhat.com> |
| |
| 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. |
| |
| PR sanitizer/85029 |
| * sanopt.c (maybe_optimize_ubsan_ptr_ifn): If DECL_REGISTER (base), |
| just don't try to optimize it rather than assert it never happens. |
| |
| 2018-03-22 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| * config/rs6000/rs6000-builtin.def: Remove various BU_ALTIVEC_X |
| macro expansions for definition of ST_INTERNAL_<mode> and |
| LD_INTERNAL_<mode> builtins. |
| * config/rs6000/rs6000-protos.h (rs6000_address_for_altivec): |
| Remove prototype. |
| * config/rs6000/rs6000.c (altivec_expand_ld_builtin): Delete this |
| function. |
| (altivec_expand_st_builtin): Likewise. |
| (altivec_expand_builtin): Remove calls to deleted functions. |
| (rs6000_address_for_altivec): Delete this function. |
| * config/rs6000/vector.md: Remove expands for |
| vector_altivec_load_<mode> and vector_altivec_store_<mode>. |
| |
| 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-22 Kelvin Nilsen <kelvin@gcc.gnu.org> |
| |
| PR target/84760 |
| * doc/extend.texi: Add four new prototypes for vec_ld. |
| * config/rs6000/rs6000-builtin.def (LVX_V1TI): Reorder symbol |
| definitions for more logical presentation. |
| * config/rs6000/rs6000-c.c: (altivec_overloaded_builtins): Add |
| entries for V1TI variants of __builtin_altivec_ld builtin. |
| * config/rs6000/rs6000.c: (altivec_expand_lv_builtin): Add test and |
| handling of V1TI variant of LVX icode pattern. |
| (altivec_expand_builtin): Add case for ALTIVEC_BUILTIN_LVX_V1TI. |
| (rs6000_gimple_fold_builtin): Likewise. |
| (altivec_init_builtins): Add code to define |
| __builtin_altivec_lvx_v1ti function. |
| |
| 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. |
| |
| 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-22 Jakub Jelinek <jakub@redhat.com> |
| |
| 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-21 Joseph Myers <joseph@codesourcery.com> |
| |
| * doc/extend.texi (__builtin_tgmath): Document when complex |
| integer types are treated as _Complex _Float64. |
| |
| 2018-03-21 Tom de Vries <tom@codesourcery.com> |
| |
| * doc/extend.texi (__builtin_extend_pointer): Remove pasto. |
| |
| 2018-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84960 |
| * tree-cfg.c (remove_bb): Don't move forced labels into bb->prev_bb |
| if it is ENTRY block, move them into single succ of ENTRY in that case. |
| |
| 2018-03-21 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/84811 |
| * poly-int.h (poly_span_traits): Remove the T3 parameter and |
| promote HOST_WIDE_INT T2 - T1 results to unsigned HOST_WIDE_INT. |
| (maybe_in_range_p, known_in_range_p, ranges_known_overlap_p): |
| (known_subrange_p): Update accordingly. Cast each value involved |
| in the size comparison, rather than casting the result of the |
| subtraction. |
| |
| 2018-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84982 |
| * gimple-ssa-store-merging.c (invert_op): Handle boolean inversion |
| by flipping the least significant bit rather than all bits from |
| bitpos to bitpos + bitsize - 1. |
| |
| 2018-03-21 Nathan Sidwell <nathan@acm.org> |
| |
| * doc/extend.texi (Deprecated Features): Remove mention of |
| long-deleted deprecations. |
| |
| 2018-03-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE> |
| |
| PR jit/84288 |
| * configure.ac (gcc_cv_ld_soname) <*-*-solaris2*>: Set. |
| * configure: Regenerate. |
| |
| 2018-03-21 Tom de Vries <tom@codesourcery.com> |
| |
| PR tree-optimization/83126 |
| * tree-parloops.c (num_phis): New function. |
| (gen_parallel_loop): Detect and handle canonicalize_loop_ivs failure. |
| |
| 2018-03-21 Nathan Sidwell <nathan@acm.org> |
| |
| * doc/extend.texi (Deprecated Features): Update deprecated flags, |
| mention anon-struct/union members and trailing attributes. |
| |
| 2018-03-21 Bin Cheng <bin.cheng@arm.com> |
| |
| PR tree-optimization/84969 |
| * tree-loop-distribution.c (fuse_memset_builtins): Don't reorder |
| builtin memset partitions if they set different rhs values. |
| |
| 2018-03-21 Jakub Jelinek <jakub@redhat.com> |
| |
| PR rtl-optimization/84989 |
| * simplify-rtx.c (simplify_unary_operation_1): Don't try to simplify |
| VEC_DUPLICATE with scalar result mode. |
| |
| 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-03-21 Martin Liska <mliska@suse.cz> |
| |
| PR target/84988 |
| * tree-chkp.c (CHKP_ARRAY_MAX_CHECK_STEPS): Define a new macro. |
| (chkp_find_bound_slots_1): Limit number of iterations. |
| |
| 2018-03-20 David H. Gutteridge <dhgutteridge@sympatico.ca> |
| |
| PR target/84838 |
| * Minor grammar fixes for x86 options. |
| |
| 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. |
| |
| 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-p8swap.c (rs6000_gen_stvx): Use new expanders. |
| (rs6000_gen_lvx): 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-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-20 Richard Biener <rguenther@suse.de> |
| |
| PR target/84986 |
| * config/i386/i386.c (ix86_add_stmt_cost): Only cost |
| sign-conversions as zero, fall back to standard scalar_stmt |
| cost for the rest. |
| |
| 2018-03-20 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/84825 |
| * predict.c (rebuild_frequencies): Handle case when we have |
| PROFILE_ABSENT, but flag_guess_branch_prob is false. |
| |
| 2018-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| 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. |
| |
| PR target/84845 |
| * config/aarch64/aarch64.md (*aarch64_reg_<mode>3_neg_mask2): Rename |
| to ... |
| (*aarch64_<optab>_reg_<mode>3_neg_mask2): ... this. If pseudos can't |
| be created, use lowpart_subreg of operands[0] rather than operands[0] |
| itself. |
| (*aarch64_reg_<mode>3_minus_mask): Rename to ... |
| (*aarch64_ashl_reg_<mode>3_minus_mask): ... this. |
| (*aarch64_<optab>_reg_di3_mask2): Use const_int_operand predicate |
| and n constraint instead of aarch64_shift_imm_di and Usd. |
| (*aarch64_reg_<optab>_minus<mode>3): Rename to ... |
| (*aarch64_<optab>_reg_minus<mode>3): ... this. |
| |
| 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-20 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/84952 |
| * config/nvptx/nvptx.c (nvptx_single): Don't neuter bar.sync. |
| (nvptx_process_pars): Emit bar.sync asap and alap. |
| |
| 2018-03-20 Tom de Vries <tom@codesourcery.com> |
| |
| PR target/84954 |
| * config/nvptx/nvptx.c (prevent_branch_around_nothing): Also update |
| seen_label if seen_label is already set. |
| |
| 2018-03-20 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84945 |
| * config/i386/i386.c (fold_builtin_cpu): For features above 31 |
| use __cpu_features2 variable instead of __cpu_model.__cpu_features[0]. |
| Use 1U instead of 1. Formatting fixes. |
| |
| PR c/84953 |
| * builtins.c (fold_builtin_strpbrk): For strpbrk(x, "") use type |
| instead of TREE_TYPE (s1) for the return value. |
| |
| 2018-03-19 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84946 |
| * gimple-ssa-store-merging.c (mem_valid_for_store_merging): Compute |
| bitsize + bitsize in poly_uint64 rather than poly_int64. |
| |
| 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. |
| |
| PR rtl-optimization/84643 |
| * memmodel.h (enum memmodel): Add MEMMODEL_MAX enumerator. |
| |
| 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-19 Sudakshina Das <sudi.das@arm.com> |
| |
| PR target/81647 |
| * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_int_equiv>): Modify |
| instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED. |
| |
| 2018-03-19 Jim Wilson <jimw@sifive.com> |
| |
| PR bootstrap/84856 |
| * config/riscv/riscv.c (riscv_function_arg_boundary): Use |
| PREFERRED_STACK_BOUNDARY instead of STACK_BOUNDARY. |
| (riscv_first_stack_step): Likewise. |
| (riscv_option_override): Use STACK_BOUNDARY instead of |
| MIN_STACK_BOUNDARY. |
| * config/riscv/riscv.h (STACK_BOUNDARY): Renamed from |
| MIN_STACK_BOUNDARY. |
| (BIGGEST_ALIGNMENT): Set to 128. |
| (PREFERRED_STACK_BOUNDARY): Renamed from STACK_BOUNDARY. |
| (RISCV_STACK_ALIGN): Use PREFERRED_STACK_BOUNDARY instead of |
| STACK_BOUNDARY. |
| |
| 2018-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84933 |
| * tree-vrp.c (set_and_canonicalize_value_range): Treat out-of-bound |
| values as -INF/INF when canonicalizing an ANTI_RANGE to a RANGE. |
| |
| 2018-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84859 |
| * tree-ssa-phiopt.c (single_trailing_store_in_bb): New function. |
| (cond_if_else_store_replacement): Perform sinking operation on |
| single-store BBs regardless of MAX_STORES_TO_SINK setting. |
| Generalize what a BB with a single eligible store is. |
| |
| 2018-03-19 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84929 |
| * tree-data-ref.c (analyze_siv_subscript_cst_affine): Guard |
| chrec_is_positive against non-chrec arg. |
| |
| 2018-03-19 Tamar Christina <tamar.christina@arm.com> |
| |
| PR target/84711 |
| * config/arm/arm.c (arm_can_change_mode_class): revert r258554. |
| |
| 2018-03-18 Martin Liska <mliska@suse.cz> |
| |
| PR rtl-optimization/84635 |
| * regrename.c (build_def_use): Use matches_mode only when |
| matches >= 0. |
| |
| 2018-03-18 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| PR tree-optimization/84913 |
| * tree-vect-loop.c (vectorizable_reduction): Don't try to |
| vectorize chains of COND_EXPRs. |
| |
| 2018-03-18 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (MAX_REGS_PER_ADDRESS): Fix the value. |
| |
| 2018-03-18 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Define. |
| |
| 2018-03-18 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.h (CLZ_DEFINED_VALUE_AT_ZERO): Define. |
| |
| 2018-03-17 Chung-Ju Wu <jasonwucj@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_adjust_reg_alloc_order): Declare. |
| * config/nds32/nds32.c (nds32_reg_alloc_order_for_speed): New array. |
| (nds32_adjust_reg_alloc_order): New function. |
| * config/nds32/nds32.h (ADJUST_REG_ALLOC_ORDER): Define. |
| |
| 2018-03-17 Kito Cheng <kito.cheng@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_asm_output_mi_thunk, |
| nds32_print_operand, nds32_print_operand_address): Use |
| HOST_WIDE_INT_PRINT_DEC instead. |
| |
| 2018-03-17 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_register_priority): Modify cost. |
| |
| 2018-03-17 Jakub Jelinek <jakub@redhat.com> |
| |
| PR target/84902 |
| * config/i386/i386.c (initial_ix86_tune_features, |
| initial_ix86_arch_features): Use unsigned HOST_WIDE_INT rather than |
| unsigned long long. |
| (set_ix86_tune_features): Change ix86_tune_mask from unsigned int |
| to unsigned HOST_WIDE_INT, initialize to HOST_WIDE_INT_1U << ix86_tune |
| rather than 1u << ix86_tune. Formatting fix. |
| (ix86_option_override_internal): Change ix86_arch_mask from |
| unsigned int to unsigned HOST_WIDE_INT, initialize to |
| HOST_WIDE_INT_1U << ix86_arch rather than 1u << ix86_arch. |
| (ix86_function_specific_restore): Likewise. |
| |
| 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 c/84909 |
| * hsa-gen.c (mem_type_for_type): Fix comment typo. |
| * tree-vect-loop-manip.c (vect_create_cond_for_niters_checks): |
| Likewise. |
| * gimple-ssa-warn-restrict.c (builtin_memref::set_base_and_offset): |
| Likewise. |
| |
| 2018-03-16 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/84876 |
| * lra-assigns.c (lra_split_hard_reg_for): Don't use |
| regno_allocno_class_array and sorted_pseudos. |
| * lra-constraints.c (spill_hard_reg_in_range): Ignore hard regs in |
| insns where regno is used. |
| |
| 2018-03-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/84833 |
| * multiple_target.c (create_dispatcher_calls): Redirect |
| reference in the symbol table. |
| |
| 2018-03-16 Martin Liska <mliska@suse.cz> |
| |
| PR ipa/84722 |
| * multiple_target.c (create_dispatcher_calls): Redirect also |
| an alias. |
| |
| 2018-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| PR c++/79937 |
| PR c++/82410 |
| * tree.h (TARGET_EXPR_NO_ELIDE): Define. |
| * gimplify.c (gimplify_modify_expr_rhs): Don't elide TARGET_EXPRs with |
| TARGET_EXPR_NO_ELIDE flag set unless *expr_p is INIT_EXPR. |
| |
| 2018-03-16 Julia Koval <julia.koval@intel.com> |
| |
| * doc/invoke.texi (Skylake Server): Add CLWB. |
| Cannonlake): Remove CLWB. |
| |
| 2018-03-16 Jakub Jelinek <jakub@redhat.com> |
| |
| 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 Sandra Loosemore <sandra@codesourcery.com> |
| |
| * config/nios2/nios2.md (movsi_internal): Fix thinko in |
| split predicate. |
| |
| 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. |
| |
| 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-15 Olga Makhotina <olga.makhotina@intel.com> |
| |
| * config/i386/sgxintrin.h (_enclv_u32): New intrinsic. |
| (__enclv_bc, __enclv_cd, __enclv_generic): New definitions. |
| (ERDINFO, ETRACKC, ELDBC, ELDUC): New leaves. |
| |
| 2018-03-15 David Malcolm <dmalcolm@redhat.com> |
| Paul Hua <paul.hua.gm@gmail.com> |
| |
| PR c/84852 |
| * gcc.dg/fixits-pr84852-1.c: Fix filename in dg-regexp. |
| |
| 2018-03-15 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (abi_v4_pass_in_fpr): Add back the |
| TARGET_DOUBLE_FLOAT and TARGET_SINGLE_FLOAT conditions on the DFmode |
| resp. SFmode cases. |
| |
| 2018-03-15 Tamar Christina <tamar.christina@arm.com> |
| |
| PR target/84711 |
| * config/arm/arm.c (arm_can_change_mode_class): Use GET_MODE_UNIT_SIZE |
| instead of GET_MODE_SIZE when comparing Units. |
| |
| 2018-03-15 Vladimir Mezentsev <vladimir.mezentsev@oracle.com> |
| |
| PR target/68256 |
| * varasm.c (hash_section): Return an unchangeble hash value |
| * config/aarch64/aarch64.c (aarch64_use_blocks_for_constant_p): |
| Return !aarch64_can_use_per_function_literal_pools_p (). |
| |
| 2018-03-15 Jakub Jelinek <jakub@redhat.com> |
| |
| 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-15 Julia Koval <julia.koval@intel.com> |
| |
| * config/i386/i386.c (F_AVX512VBMI2, F_GFNI, F_VPCLMULQDQ, |
| F_AVX512VNNI, F_AVX512BITALG): New. |
| |
| 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-14 Carl Love <cel@us.ibm.com> |
| |
| * config/rs6000/rs6000-c.c: Add macro definitions for |
| ALTIVEC_BUILTIN_VEC_PERMXOR. |
| * config/rs6000/rs6000.h: Add #define for vec_permxor builtin. |
| * config/rs6000/rs6000-builtin.def: Add macro expansions for VPERMXOR. |
| * config/rs6000/altivec.md (altivec_vpermxor): New define expand. |
| * config/rs6000/rs6000-p8swap.c (rtx_is_swappable_p): Add case |
| UNSPEC_VPERMXOR. |
| * config/doc/extend.texi: Add prototypes for vec_permxor. |
| |
| 2018-03-14 David Malcolm <dmalcolm@redhat.com> |
| |
| PR c/84852 |
| * diagnostic-show-locus.c (class layout_point): Convert m_line |
| from int to linenum_type. |
| (line_span::comparator): Use linenum "compare" function when |
| comparing line numbers. |
| (test_line_span): New function. |
| (layout_range::contains_point): Convert param "row" from int to |
| linenum_type. |
| (layout_range::intersects_line_p): Likewise. |
| (layout::will_show_line_p): Likewise. |
| (layout::print_source_line): Likewise. |
| (layout::should_print_annotation_line_p): Likewise. |
| (layout::print_annotation_line): Likewise. |
| (layout::print_leading_fixits): Likewise. |
| (layout::annotation_line_showed_range_p): Likewise. |
| (struct line_corrections): Likewise for field m_row. |
| (line_corrections::line_corrections): Likewise for param "row". |
| (layout::print_trailing_fixits): Likewise. |
| (layout::get_state_at_point): Likewise. |
| (layout::get_x_bound_for_row): Likewise. |
| (layout::print_line): Likewise. |
| (diagnostic_show_locus): Likewise for locals "last_line" and |
| "row". |
| (selftest::diagnostic_show_locus_c_tests): Call test_line_span. |
| * input.c (selftest::test_linenum_comparisons): New function. |
| (selftest::input_c_tests): Call it. |
| * selftest.c (selftest::test_assertions): Test ASSERT_GT, |
| ASSERT_GT_AT, ASSERT_LT, and ASSERT_LT_AT. |
| * selftest.h (ASSERT_GT): New macro. |
| (ASSERT_GT_AT): New macro. |
| (ASSERT_LT): New macro. |
| (ASSERT_LT_AT): New macro. |
| |
| 2018-03-14 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/84780 |
| * combine.c (distribute_links): Don't make a link based on pc_rtx. |
| |
| 2018-03-14 Martin Liska <mliska@suse.cz> |
| |
| * tree.c (record_node_allocation_statistics): Use |
| get_stats_node_kind. |
| (get_stats_node_kind): New function extracted from |
| record_node_allocation_statistics. |
| (free_node): Use get_stats_node_kind. |
| |
| 2018-03-14 Richard Biener <rguenther@suse.de> |
| |
| * tree-ssa-pre.c (compute_antic_aux): Remove code that asserts |
| that the value-set of ANTIC_IN doesn't grow. |
| |
| Revert |
| * tree-ssa-pre.c (struct bb_bitmap_sets): Add visited_with_visited_succs |
| member. |
| (BB_VISITED_WITH_VISITED_SUCCS): New define. |
| (compute_antic): Initialize BB_VISITED_WITH_VISITED_SUCCS. |
| |
| 2018-03-14 Julia Koval <julia.koval@intel.com> |
| |
| * config.gcc (icelake-client, icelake-server): New. |
| (icelake): Remove. |
| * config/i386/i386.c (initial_ix86_tune_features): Extend to 64 bit. |
| (initial_ix86_arch_features): Ditto. |
| (PTA_SKYLAKE): Add SGX. |
| (PTA_ICELAKE): Remove. |
| (PTA_ICELAKE_CLIENT): New. |
| (PTA_ICELAKE_SERVER): New. |
| (ix86_option_override_internal): Split up icelake on icelake client and |
| icelake server. |
| (get_builtin_code_for_version): Ditto. |
| (fold_builtin_cpu): Ditto. |
| * config/i386/driver-i386.c (config/i386/driver-i386.c): Ditto. |
| * config/i386/i386-c.c (ix86_target_macros_internal): Ditto |
| * config/i386/i386.h (processor_type): Ditto. |
| * doc/invoke.texi: Ditto. |
| |
| 2018-03-14 Jakub Jelinek <jakub@redhat.com> |
| |
| PR sanitizer/83392 |
| * sanopt.c (maybe_optimize_ubsan_ptr_ifn): Handle also |
| INTEGER_CST offset, add it together with bitpos / 8 and |
| sign extend based on POINTER_SIZE. |
| |
| PR target/84844 |
| Revert |
| 2017-04-20 Uros Bizjak <ubizjak@gmail.com> |
| |
| PR target/78090 |
| * config/i386/constraints.md (Yc): New register constraint. |
| * config/i386/i386.md (*float<SWI48:mode><MODEF:mode>2_mixed): |
| Use Yc constraint for alternative 2 of operand 0. Remove |
| preferred_for_speed attribute. |
| |
| 2018-03-14 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84830 |
| * tree-ssa-pre.c (compute_antic_aux): Intersect the new ANTIC_IN |
| with the old one to avoid oscillations. |
| |
| 2018-03-13 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/83712 |
| * lra-assigns.c (find_all_spills_for): Ignore uninteresting |
| pseudos. |
| (assign_by_spills): Return a flag of reload assignment failure. |
| Do not process the reload assignment failures. Do not spill other |
| reload pseudos if they has the same reg class. Update n if |
| necessary. |
| (lra_assign): Add a return arg. Set up from the result of |
| assign_by_spills call. |
| (find_reload_regno_insns, lra_split_hard_reg_for): New functions. |
| * lra-constraints.c (split_reg): Add a new arg. Use it instead of |
| usage_insns if it is not NULL. |
| (spill_hard_reg_in_range): New function. |
| (split_if_necessary, inherit_in_ebb): Pass a new arg to split_reg. |
| * lra-int.h (spill_hard_reg_in_range, lra_split_hard_reg_for): New |
| function prototypes. |
| (lra_assign): Change prototype. |
| * lra.c (lra): Add code to deal with fails by splitting hard reg |
| live ranges. |
| |
| 2018-03-01 Palmer Dabbelt <palmer@sifive.com> |
| |
| * config/riscv/riscv.opt (mrelax): New option. |
| * config/riscv/riscv.c (riscv_file_start): Emit ".option |
| "norelax" when riscv_mrelax is disabled. |
| * doc/invoke.texi (RISC-V): Document "-mrelax" and "-mno-relax". |
| |
| 2018-03-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com> |
| |
| PR target/84743 |
| * config/rs6000/rs6000.c (rs6000_reassociation_width): Disable parallel |
| reassociation for int modes. |
| |
| 2018-03-13 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| * tree-vect-loop-manip.c (vect_maybe_permute_loop_masks): |
| Reverse the choice between VEC_UNPACK_LO_EXPR and VEC_UNPACK_HI_EXPR |
| for big-endian. |
| * config/aarch64/iterators.md (hi_lanes_optab): New int attribute. |
| * config/aarch64/aarch64-sve.md |
| (*aarch64_sve_<perm_insn><perm_hilo><mode>): Rename to... |
| (aarch64_sve_<perm_insn><perm_hilo><mode>): ...this. |
| (*extend<mode><Vwide>2): Rename to... |
| (aarch64_sve_extend<mode><Vwide>2): ...this. |
| (vec_unpack<su>_<perm_hilo>_<mode>): Turn into a define_expand, |
| renaming the old pattern to... |
| (aarch64_sve_punpk<perm_hilo>_<mode>): ...this. Only define |
| unsigned packs. |
| (vec_unpack<su>_<perm_hilo>_<SVE_BHSI:mode>): Turn into a |
| define_expand, renaming the old pattern to... |
| (aarch64_sve_<su>unpk<perm_hilo>_<SVE_BHSI:mode>): ...this. |
| (*vec_unpacku_<perm_hilo>_<mode>_no_convert): Delete. |
| (vec_unpacks_<perm_hilo>_<mode>): Take BYTES_BIG_ENDIAN into |
| account when deciding which SVE instruction the optab should use. |
| (vec_unpack<su_optab>_float_<perm_hilo>_vnx4si): Likewise. |
| |
| 2018-03-13 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| * config/aarch64/aarch64.md (V4_REGNUM, V8_REGNUM, V12_REGNUM) |
| (V20_REGNUM, V24_REGNUM, V28_REGNUM, P1_REGNUM, P2_REGNUM, P3_REGNUM) |
| (P4_REGNUM, P5_REGNUM, P6_REGNUM, P8_REGNUM, P9_REGNUM, P10_REGNUM) |
| (P11_REGNUM, P12_REGNUM, P13_REGNUM, P14_REGNUM): New define_constants. |
| (tlsdesc_small_<mode>): Turn a define_expand and use |
| tlsdesc_small_sve_<mode> for SVE. Rename original define_insn to... |
| (tlsdesc_small_advsimd_<mode>): ...this. |
| (tlsdesc_small_sve_<mode>): New pattern. |
| |
| 2018-03-13 Richard Sandiford <richard.sandiford@linaro.org> |
| |
| * config/aarch64/iterators.md (UNSPEC_SMUL_HIGHPART) |
| (UNSPEC_UMUL_HIGHPART): New constants. |
| (MUL_HIGHPART): New int iteraor. |
| (su): Handle UNSPEC_SMUL_HIGHPART and UNSPEC_UMUL_HIGHPART. |
| * config/aarch64/aarch64-sve.md (<su>mul<mode>3_highpart): New |
| define_expand. |
| (*<su>mul<mode>3_highpart): New define_insn. |
| |
| 2018-03-13 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR lto/84805 |
| * ipa-devirt.c (odr_subtypes_equivalent_p): Do not get the ODR type of |
| incomplete types. |
| |
| 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-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 middle-end/84831 |
| * stmt.c (parse_output_constraint): If the CONSTRAINT_LEN (*p, p) |
| characters starting at p contain '\0' character, don't look beyond |
| that. |
| |
| 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/84828 |
| * reg-stack.c (change_stack): Change update_end var from int to |
| rtx_insn *, if non-NULL don't update just BB_END (current_block), but |
| also call set_block_for_insn on the newly added insns and rescan. |
| |
| PR target/84786 |
| * config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v |
| on the last operand. |
| |
| PR c++/84704 |
| * tree.c (stabilize_reference_1): Return save_expr (e) for |
| STATEMENT_LIST even if it doesn't have side-effects. |
| |
| 2018-03-12 Jonathan Wakely <jwakely@redhat.com> |
| |
| * doc/invoke.texi (-mclflushopt): Fix spelling of option. |
| |
| 2018-03-12 Renlin Li <renlin.li@arm.com> |
| |
| * config/aarch64/aarch64.md (movhf_aarch64): Fix mode argument to |
| aarch64_output_scalar_simd_mov_immediate. |
| |
| 2018-03-12 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/83456 |
| * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid warning |
| for perfectly overlapping calls to memcpy. |
| (gimple_fold_builtin_memory_chk): Same. |
| (gimple_fold_builtin_strcpy): Handle no-warning. |
| (gimple_fold_builtin_stxcpy_chk): Same. |
| * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Handle no-warning. |
| |
| 2018-03-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| * config/rs6000/rs6000.c (abi_v4_pass_in_fpr): Add bool "named" |
| parameter. Use it for SFmode. |
| (rs6000_function_arg_advance_1): Adjust. |
| (rs6000_function_arg): Adjust. |
| (rs6000_gimplify_va_arg): Pass false for that new parameter. |
| |
| 2018-03-12 Segher Boessenkool <segher@kernel.crashing.org> |
| |
| PR rtl-optimization/84169 |
| PR rtl-optimization/84780 |
| * combine.c (can_combine_p): Check for a 2-insn combination whether |
| the destination register is used between the two insns, too. |
| |
| 2018-03-12 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84803 |
| * tree-if-conv.c (ifcvt_memrefs_wont_trap): Don't do anything |
| for refs DR analysis didn't process. |
| |
| 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-03-12 Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_md_asm_adjust): New function. |
| (TARGET_MD_ASM_ADJUST): Define. |
| |
| 2018-03-12 Monk Chiang <sh.chiang04@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_compute_stack_frame, |
| nds32_emit_stack_push_multiple, nds32_emit_stack_pop_multiple, |
| nds32_emit_stack_v3push, nds32_emit_stack_v3pop, |
| nds32_emit_adjust_frame, nds32_expand_prologue, nds32_expand_epilogue, |
| nds32_expand_prologue_v3push, nds32_expand_epilogue_v3pop): Refine. |
| * config/nds32/nds32.h (NDS32_FIRST_CALLEE_SAVE_GPR_REGNUM, |
| NDS32_LAST_CALLEE_SAVE_GPR_REGNUM, NDS32_V3PUSH_AVAILABLE_P): New. |
| * config/nds32/nds32.md (prologue, epilogue): Use macro |
| NDS32_V3PUSH_AVAILABLE_P to do checking. |
| |
| 2018-03-11 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/58150 |
| * dwarf2out.c (gen_enumeration_type_die): Don't guard adding |
| DW_AT_declaration for ENUM_IS_OPAQUE on -gdwarf-4 or -gno-strict-dwarf, |
| but on TYPE_SIZE. Don't do anything for ENUM_IS_OPAQUE if not creating |
| a new die. Don't set TREE_ASM_WRITTEN if ENUM_IS_OPAQUE. Guard |
| addition of most attributes on !orig_type_die or the attribute not |
| being present already. Assert TYPE_VALUES is NULL for ENUM_IS_OPAQUE. |
| |
| 2018-03-11 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32.c (nds32_cpu_cpp_builtins): Modify to define |
| __NDS32_VH__ macro. |
| * config/nds32/nds32.opt (mvh): New option. |
| |
| 2018-03-11 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-protos.h (nds32_cpu_cpp_builtins): Declare |
| function. |
| * config/nds32/nds32.c (nds32_cpu_cpp_builtins): New function. |
| * config/nds32/nds32.h (TARGET_CPU_CPP_BUILTINS): Modify its |
| definition. |
| |
| 2018-03-11 Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/nds32-memory-manipulation.c (nds32_expand_strlen): New |
| function. |
| * config/nds32/nds32-multiple.md (strlensi): New pattern. |
| * config/nds32/nds32-protos.h (nds32_expand_strlen): Declare function. |
| |
| 2018-03-11 Monk Chiang <sh.chiang04@gmail.com> |
| Kito Cheng <kito.cheng@gmail.com> |
| Chung-Ju Wu <jasonwucj@gmail.com> |
| |
| * config/nds32/constants.md (unspec_element): Add UNSPEC_FFB, |
| UNSPEC_FFMISM and UNSPEC_FLMISM. |
| * config/nds32/nds32-intrinsic.c (bdesc_2arg): Add builtin description |
| for ffb, ffmism and flmism. |
| * config/nds32/nds32-intrinsic.md (unspec_ffb): Define new pattern. |
| (unspec_ffmism): Ditto. |
| (unspec_flmism): Ditto. |
| (nds32_expand_builtin_impl): Check if string extension is available. |
| * config/nds32/nds32.h (nds32_builtins): Add NDS32_BUILTIN_FFB, |
| NDS32_BUILTIN_FFMISM and NDS32_BUILTIN_FLMISM. |
| |
| 2018-03-10 Vladimir Makarov <vmakarov@redhat.com> |
| |
| Reverting patch: |
| 2018-03-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/83712 |
| * lra-assigns.c (assign_by_spills): Return a flag of reload |
| assignment failure. Do not process the reload assignment |
| failures. Do not spill other reload pseudos if they has the same |
| reg class. |
| (lra_assign): Add a return arg. Set up from the result of |
| assign_by_spills call. |
| (find_reload_regno_insns, lra_split_hard_reg_for): New functions. |
| * lra-constraints.c (split_reg): Add a new arg. Use it instead of |
| usage_insns if it is not NULL. |
| (spill_hard_reg_in_range): New function. |
| (split_if_necessary, inherit_in_ebb): Pass a new arg to split_reg. |
| * lra-int.h (spill_hard_reg_in_range, lra_split_hard_reg_for): New |
| function prototypes. |
| (lra_assign): Change prototype. |
| * lra.c (lra): Add code to deal with fails by splitting hard reg |
| live ranges. |
| |
| 2018-03-10 H.J. Lu <hongjiu.lu@intel.com> |
| |
| PR target/84807 |
| * config/i386/i386.opt: Replace Enforcment with Enforcement. |
| |
| 2018-03-10 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/84620 |
| * dwarf2out.h (dw_val_class): Add dw_val_class_symview. |
| (dw_val_node): Add val_symbolic_view. |
| * dwarf2out.c (dw_line_info_table): Add symviews_since_reset. |
| (symview_upper_bound): New. |
| (new_line_info_table): Initialize symviews_since_reset. |
| (dwarf2out_source_line): Count symviews_since_reset and set |
| symview_upper_bound. |
| (dw_val_equal_p): Handle symview. |
| (add_AT_symview): New. |
| (print_dw_val): Handle symview. |
| (attr_checksum, attr_checksum_ordered): Likewise. |
| (same_dw_val_p, size_of_die): Likewise. |
| (value_format, output_die): Likewise. |
| (add_high_low_attributes): Use add_AT_symview for entry_view. |
| (dwarf2out_finish): Reset symview_upper_bound, clear |
| zero_view_p. |
| |
| 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-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. |
| * config/powerpcspe/powerpcspe.c (rs6000_gimplify_va_arg): Likewise. |
| |
| 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-09 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/84526 |
| * gimple-ssa-warn-restrict.c (builtin_memref::set_base_and_offset): |
| Remove dead code. |
| (builtin_access::generic_overlap): Be prepared to handle non-array |
| base objects. |
| |
| 2018-03-09 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR rtl-optimization/84682 |
| * lra-constraints.c (process_address_1): Check is_address flag |
| for address constraints. |
| (process_alt_operands): Likewise. |
| * lra.c (lra_set_insn_recog_data): Pass asm operand locs to |
| preprocess_constraints. |
| * recog.h (preprocess_constraints): Add oploc parameter. |
| Adjust callers. |
| * recog.c (preprocess_constraints): Test address_operand for |
| CT_ADDRESS constraints. |
| |
| 2018-03-09 Vladimir Makarov <vmakarov@redhat.com> |
| |
| PR target/83712 |
| * lra-assigns.c (assign_by_spills): Return a flag of reload |
| assignment failure. Do not process the reload assignment |
| failures. Do not spill other reload pseudos if they has the same |
| reg class. |
| (lra_assign): Add a return arg. Set up from the result of |
| assign_by_spills call. |
| (find_reload_regno_insns, lra_split_hard_reg_for): New functions. |
| * lra-constraints.c (split_reg): Add a new arg. Use it instead of |
| usage_insns if it is not NULL. |
| (spill_hard_reg_in_range): New function. |
| (split_if_necessary, inherit_in_ebb): Pass a new arg to split_reg. |
| * lra-int.h (spill_hard_reg_in_range, lra_split_hard_reg_for): New |
| function prototypes. |
| (lra_assign): Change prototype. |
| * lra.c (lra): Add code to deal with fails by splitting hard reg |
| live ranges. |
| |
| 2018-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com> |
| |
| PR target/83193 |
| * common/config/arm/arm-common.c (arm_parse_arch_option_name): |
| Accept complain bool parameter. Only emit errors if it is true. |
| (arm_parse_cpu_option_name): Likewise. |
| (arm_target_thumb_only): Adjust callers of the above. |
| * config/arm/arm-protos.h (arm_parse_cpu_option_name): Adjust |
| prototype to take a default true bool parameter. |
| (arm_parse_arch_option_name): Likewise. |
| |
| 2018-03-09 David Malcolm <dmalcolm@redhat.com> |
| Francois-Xavier Coudert <fxcoudert@gcc.gnu.org> |
| |
| PR jit/64089 |
| PR jit/84288 |
| * Makefile.in (LD_VERSION_SCRIPT_OPTION, LD_SONAME_OPTION): New. |
| * configure: Regenerate. |
| * configure.ac ("linker --version-script option"): New. |
| ("linker soname option"): New. |
| |
| 2018-03-09 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84775 |
| * tree-if-conv.c (add_bb_predicate_gimplified_stmts): Delink |
| immediate uses of predicate stmts and mark them modified. |
| |
| Revert |
| PR tree-optimization/84178 |
| * tree-if-conv.c (combine_blocks): Move insert_gimplified_predicates |
| to caller. |
| (version_loop_for_if_conversion): Delay update_ssa call. |
| (tree_if_conversion): Delay update_ssa until after predicate |
| insertion. |
| |
| 2018-03-09 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/84763 |
| * config/i386/winnt.c (i386_pe_seh_cold_init): Use small pre-allocation |
| when the function accesses prior frames. |
| |
| 2018-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR debug/84456 |
| * dwarf2out.c (dw_loc_list): If list && loc_list->first->next, call |
| gen_llsym, otherwise call maybe_gen_llsym. |
| |
| PR inline-asm/84742 |
| * recog.c (asm_operand_ok): Return 0 if multi-character constraint |
| has ',' character inside of it. |
| |
| 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-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. |
| |
| 2018-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84178 |
| * tree-if-conv.c (combine_blocks): Move insert_gimplified_predicates |
| to caller. |
| (version_loop_for_if_conversion): Delay update_ssa call. |
| (tree_if_conversion): Delay update_ssa until after predicate |
| insertion. |
| |
| 2018-03-08 David Malcolm <dmalcolm@redhat.com> |
| |
| PR tree-optimization/84178 |
| * tree-if-conv.c (release_bb_predicate): Remove the |
| the assertion that the stmts have NULL use_ops. |
| Discard the statements, asserting that they haven't |
| yet been added to a BB. |
| |
| 2018-03-08 Richard Biener <rguenther@suse.de> |
| |
| PR tree-optimization/84746 |
| * tree-ssa-pre.c (find_leader_in_sets): Deal with SET1 being NULL. |
| (phi_translate): Pass in destination ANTIC_OUT set. |
| (phi_translate_1): Likewise. For a simplified result lookup |
| a leader in ANTIC_OUT and AVAIL_OUT, not the ANTIC_IN sets. |
| (phi_translate_set): Adjust. |
| (do_pre_regular_insertion): Likewise. |
| (do_pre_partial_partial_insertion): Likewise. |
| |
| 2018-03-08 Martin Liska <mliska@suse.cz> |
| |
| PR gcov-profile/84735 |
| * doc/gcov.texi: Document usage of profile files. |
| * gcov-io.h: Document changes in the format. |
| |
| 2018-03-08 Alexandre Oliva <aoliva@redhat.com> |
| |
| PR debug/84404 |
| PR debug/84408 |
| * dwarf2out.c (struct dw_line_info_table): Update comments for |
| view == -1. |
| (FORCE_RESET_NEXT_VIEW): New. |
| (FORCE_RESETTING_VIEW_P): New. |
| (RESETTING_VIEW_P): Check for -1 too. |
| (ZERO_VIEW_P): Likewise. |
| (new_line_info_table): Force-reset next view. |
| (dwarf2out_begin_function): Likewise. |
| (dwarf2out_source_line): Simplify zero_view_p initialization. |
| Test FORCE_RESETTING_VIEW_P and RESETTING_VIEW_P instead of |
| view directly. Omit view when omitting .loc at line 0. |
| |
| 2018-03-08 Jakub Jelinek <jakub@redhat.com> |
| |
| PR tree-optimization/84740 |
| * tree-switch-conversion.c (process_switch): Call build_constructors |
| only if info.phi_count is non-zero. |
| |
| 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-07 Jakub Jelinek <jakub@redhat.com> |
| |
| * doc/contrib.texi: Add entries for Martin Liska, David Malcolm, |
| Marek Polacek, extend Vladimir Makarov's, Jonathan Wakely's and |
| Volker Reichelt's entry and add entries for people that perform |
| GCC fuzzy testing and report numerous bugs. |
| |
| 2018-03-07 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-07 Martin Sebor <msebor@redhat.com> |
| |
| PR tree-optimization/84468 |
| * tree-ssa-strlen.c (maybe_diag_stxncpy_trunc): Consider successor |
| basic block when looking for nul assignment. |
| |
| 2018-03-07 Eric Botcazou <ebotcazou@adacore.com> |
| |
| PR target/84277 |
| * except.h (output_function_exception_table): Adjust prototype. |
| * except.c (output_function_exception_table): Remove FNNAME parameter |
| and add SECTION parameter. Ouput one part of the table at a time. |
| * final.c (final_scan_insn_1) <NOTE_INSN_SWITCH_TEXT_SECTIONS>: Output |
| the first part of the exception table and emit unwind directives. |
| * config/i386/i386-protos.h (i386_pe_end_cold_function): Declare. |
| (i386_pe_seh_cold_init): Likewise. |
| * config/i386/cygming.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro. |
| (ASM_DECLARE_COLD_FUNCTION_SIZE): Likewise. |
| * config/i386/i386.c (x86_expand_epilogue): Fix wording in comment. |
| (ix86_output_call_insn): Emit a nop in one more case for SEH. |
| * config/i386/winnt.c: Include except.h. |
| (struct seh_frame_state): Add reg_offset, after_prologue and |
| in_cold_section fields. |
| (i386_pe_seh_end_prologue): Set seh->after_prologue. |
| (i386_pe_seh_cold_init): New function. |
| (i386_pe_seh_fini): Add COLD parameter and bail out if it is not equal |
| to seh->in_cold_section. |
| (seh_emit_push): Record the offset of the push. |
| (seh_emit_save): Record the offet of the save. |
| (i386_pe_seh_unwind_emit): Deal with NOTE_INSN_SWITCH_TEXT_SECTIONS. |
| Test seh->after_prologue to disregard the epilogue. |
| (i386_pe_end_function): Pass FALSE to i386_pe_seh_fini. |
| (i386_pe_end_cold_function): New function. |
| |
| 2018-03-07 Jakub Jelinek <jakub@redhat.com> |
| |
| PR fortran/84565 |
| * config/aarch64/predicates.md (aarch64_simd_reg_or_zero): Use |
| aarch64_simd_or_scalar_imm_zero rather than aarch64_simd_imm_zero. |
| |
| PR c++/84704 |
| * gimple-expr.c (create_tmp_var_raw): Set
|