annotate gcc/ChangeLog @ 158:494b0b89df80 default tip

...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Mon, 25 May 2020 18:13:55 +0900
parents 1830386684a0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1 2020-02-12 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3 * config/h8300/h8300.md (comparison shortening peepholes): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
4 a mode iterator to merge the HImode and SImode peepholes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
5
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
6 2020-02-12 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
7
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
8 PR middle-end/93663
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
9 * real.c (is_even): Make static. Function comment fix.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
10 (is_halfway_below): Make static, don't assert R is not inf/nan,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
11 instead return false for those. Small formatting fixes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
12
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
13 2020-02-12 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
14
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
15 PR middle-end/93646
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
16 * tree-ssa-strlen.c (handle_builtin_stxncpy): Rename...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
17 (handle_builtin_stxncpy_strncat): ...to this. Change first argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
18 Issue only -Wstringop-overflow strncat, never -Wstringop-truncation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
19 (strlen_check_and_optimize_call): Adjust callee name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
20
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
21 2020-02-12 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
22
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
23 * config/h8300/h8300.md (comparison shortening peepholes): Drop
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
24 (and (xor)) variant. Combine other two into single peephole.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
25
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
26 2020-02-12 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
27
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
28 PR rtl-optimization/93565
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
29 * config/aarch64/aarch64.c (aarch64_rtx_costs): Add CTZ costs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
30
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
31 2020-02-12 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
32
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
33 * config/aarch64/aarch64-simd.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
34 (aarch64_zero_extend<GPI:mode>_reduc_plus_<VDQV_E:mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
35 * config/aarch64/aarch64.md (popcount<mode>2): Use it instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
36 generating separate ADDV and zero_extend patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
37 * config/aarch64/iterators.md (VDQV_E): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
38
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
39 2020-02-12 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
40
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
41 * config/h8300/h8300.md (cpymemsi, movmd): Remove dead patterns,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
42 expanders, splits, etc.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
43 (movmd_internal_<mode>, movmd splitter, movstr, movsd): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
44 (stpcpy_internal_<mode>, stpcpy splitter): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
45 (peepholes to convert QI/HI mode pushes to SI mode pushes): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
46 * config/h8300/h8300.c (h8300_swap_into_er6): Remove unused function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
47 (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
48 * config/h8300/h8300-protos.h (h8300_swap_into_er6): Remove unused
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
49 function prototype.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
50 (h8300_swap_out_of_er6, h8sx_emit_movmd): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
51
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
52 2020-02-12 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
53
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
54 PR target/93670
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
55 * config/i386/sse.md (VI48F_256_DQ): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
56 (avx512vl_vextractf128<mode>): Use it instead of VI48F_256. Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
57 TARGET_AVX512DQ from condition.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
58 (vec_extract_lo_<mode><mask_name>): Use <mask_avx512dq_condition>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
59 instead of <mask_mode512bit_condition> in condition. If
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
60 TARGET_AVX512DQ is false, emit vextract*64x4 instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
61 vextract*32x8.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
62 (vec_extract_lo_<mode><mask_name>): Drop <mask_avx512dq_condition>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
63 from condition.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
64
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
65 2020-02-12 Kewen Lin <linkw@gcc.gnu.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
66
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
67 PR target/91052
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
68 * ira.c (combine_and_move_insns): Skip multiple_sets def_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
69
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
70 2020-02-12 Segher Boessenkool <segher@kernel.crashing.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
71
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
72 * config/rs6000/rs6000.c (rs6000_debug_print_mode): Don't use sizeof
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
73 where strlen is more legible.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
74 (rs6000_builtin_vectorized_libmass): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
75 (rs6000_print_options_internal): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
76
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
77 2020-02-11 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
78
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
79 PR tree-optimization/93683
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
80 * tree-ssa-alias.c (stmt_kills_ref_p): Avoid using LHS when not set.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
81
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
82 2020-02-11 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
83
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
84 * config/rs6000/predicates.md (cint34_operand): Rename the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
85 -mprefixed-addr option to be -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
86 * config/rs6000/rs6000-cpus.def (ISA_FUTURE_MASKS_SERVER): Rename
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
87 the -mprefixed-addr option to be -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
88 (OTHER_FUTURE_MASKS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
89 (POWERPC_MASKS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
90 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rename
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
91 the -mprefixed-addr option to be -mprefixed. Change error
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
92 messages to refer to -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
93 (num_insns_constant_gpr): Rename the -mprefixed-addr option to be
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
94 -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
95 (rs6000_legitimate_offset_address_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
96 (rs6000_mode_dependent_address): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
97 (rs6000_opt_masks): Change the spelling of "-mprefixed-addr" to be
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
98 "-mprefixed" for target attributes and pragmas.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
99 (address_to_insn_form): Rename the -mprefixed-addr option to be
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
100 -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
101 (rs6000_adjust_insn_length): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
102 * config/rs6000/rs6000.h (FINAL_PRESCAN_INSN): Rename the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
103 -mprefixed-addr option to be -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
104 (ASM_OUTPUT_OPCODE): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
105 * config/rs6000/rs6000.md (prefixed insn attribute): Rename the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
106 -mprefixed-addr option to be -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
107 * config/rs6000/rs6000.opt (-mprefixed): Rename the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
108 -mprefixed-addr option to be prefixed. Change the option from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
109 being undocumented to being documented.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
110 * doc/invoke.texi (RS/6000 and PowerPC Options): Document the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
111 -mprefixed option. Update the -mpcrel documentation to mention
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
112 -mprefixed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
113
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
114 2020-02-11 Hans-Peter Nilsson <hp@axis.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
115
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
116 * ira-conflicts.c (print_hard_reg_set): Correct output for sets
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
117 including FIRST_PSEUDO_REGISTER - 1.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
118 * ira-color.c (print_hard_reg_set): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
119
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
120 2020-02-11 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
121
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
122 * config/arm/arm-builtins.c (enum arm_type_qualifiers):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
123 (USTERNOP_QUALIFIERS): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
124 (USMAC_LANE_QUADTUP_QUALIFIERS): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
125 (SUMAC_LANE_QUADTUP_QUALIFIERS): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
126 (arm_expand_builtin_args): Add case ARG_BUILTIN_LANE_QUADTUP_INDEX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
127 (arm_expand_builtin_1): Add qualifier_lane_quadtup_index.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
128 * config/arm/arm_neon.h (vusdot_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
129 (vusdot_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
130 (vusdotq_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
131 (vsudot_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
132 (vsudotq_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
133 * config/arm/arm_neon_builtins.def (usdot, usdot_lane,sudot_lane): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
134 * config/arm/iterators.md (DOTPROD_I8MM): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
135 (sup, opsuffix): Add <us/su>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
136 * config/arm/neon.md (neon_usdot, <us/su>dot_lane: New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
137 * config/arm/unspecs.md (UNSPEC_DOT_US, UNSPEC_DOT_SU): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
138
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
139 2020-02-11 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
140
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
141 PR tree-optimization/93661
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
142 PR tree-optimization/93662
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
143 * tree-ssa-sccvn.c (vn_reference_lookup_3): Properly guard
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
144 tree_to_poly_int64.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
145 * tree-sra.c (get_access_for_expr): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
146
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
147 2020-02-10 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
148
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
149 PR target/93637
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
150 * config/i386/sse.md (VI_256_AVX2): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
151 (vcond_mask_<mode><sseintvecmodelower>): Use it instead of VI_256.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
152 Change condition from TARGET_AVX2 to TARGET_AVX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
153
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
154 2020-02-10 Iain Sandoe <iain@sandoe.co.uk>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
155
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
156 PR other/93641
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
157 * config/darwin-c.c (darwin_cfstring_ref_p): Fix up last
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
158 argument of strncmp.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
159
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
160 2020-02-10 Hans-Peter Nilsson <hp@axis.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
161
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
162 Try to generate zero-based comparisons.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
163 * config/cris/cris.c (cris_reduce_compare): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
164 * config/cris/cris-protos.h (cris_reduce_compare): Add prototype.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
165 * config/cris/cris.md ("cbranch<mode>4", "cbranchdi4", "cstoredi4")
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
166 (cstore<mode>4"): Apply cris_reduce_compare in expanders.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
167
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
168 2020-02-10 Richard Earnshaw <rearnsha@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
169
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
170 PR target/91913
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
171 * config/arm/arm.md (movsi_compare0): Allow SP as a source register
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
172 in Thumb state and also as a destination in Arm state. Add T16
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
173 variants.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
174
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
175 2020-02-10 Hans-Peter Nilsson <hp@axis.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
176
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
177 * md.texi (Define Subst): Match closing paren in example.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
178
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
179 2020-02-10 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
180
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
181 PR target/58218
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
182 PR other/93641
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
183 * config/i386/i386.c (x86_64_elf_section_type_flags): Fix up last
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
184 arguments of strncmp.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
185
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
186 2020-02-10 Feng Xue <fxue@os.amperecomputing.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
187
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
188 PR ipa/93203
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
189 * ipa-cp.c (ipcp_lattice::add_value): Add source with same call edge
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
190 but different source value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
191 (adjust_callers_for_value_intersection): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
192 (gather_edges_for_value): Adjust order of callers to let a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
193 non-self-recursive caller be the first element.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
194 (self_recursive_pass_through_p): Add a new parameter "simple", and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
195 check generalized self-recursive pass-through jump function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
196 (self_recursive_agg_pass_through_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
197 (find_more_scalar_values_for_callers_subset): Compute value from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
198 pass-through jump function for self-recursive.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
199 (intersect_with_plats): Cleanup previous implementation code for value
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
200 itersection with self-recursive call edge.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
201 (intersect_with_agg_replacements): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
202 (intersect_aggregates_with_edge): Deduce value from pass-through jump
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
203 function for self-recursive call edge. Cleanup previous implementation
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
204 code for value intersection with self-recursive call edge.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
205 (decide_whether_version_node): Remove dead callers and adjust order
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
206 to let a non-self-recursive caller be the first element.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
207
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
208 2020-02-09 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
209
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
210 * recog.c: Move pass_split_before_sched2 code in front of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
211 pass_split_before_regstack.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
212 (pass_data_split_before_sched2): Rename pass to split3 from split4.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
213 (pass_data_split_before_regstack): Rename pass to split4 from split3.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
214 (rest_of_handle_split_before_sched2): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
215 (pass_split_before_sched2::execute): Unconditionally call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
216 split_all_insns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
217 (enable_split_before_sched2): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
218 (pass_split_before_sched2::gate): Use enable_split_before_sched2.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
219 (pass_split_before_regstack::gate): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
220 * config/nds32/nds32.c (nds32_split_double_word_load_store_p):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
221 Update name check for renamed split4 pass.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
222 * config/sh/sh.c (register_sh_passes): Update pass insertion
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
223 point for renamed split4 pass.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
224
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
225 2020-02-09 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
226
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
227 * gimplify.c (gimplify_adjust_omp_clauses_1): Promote
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
228 DECL_IN_CONSTANT_POOL variables into "omp declare target" to avoid
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
229 copying them around between host and target.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
230
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
231 2020-02-08 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
232
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
233 PR target/91927
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
234 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
235 STRICT_ALIGNMENT also.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
236
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
237 2020-02-08 Jim Wilson <jimw@sifive.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
238
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
239 PR target/93532
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
240 * config/riscv/riscv.h (HARD_REGNO_CALLER_SAVE_MODE): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
241
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
242 2020-02-08 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
243 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
244
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
245 PR target/65782
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
246 * config/i386/i386.h (CALL_USED_REGISTERS): Make
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
247 xmm16-xmm31 call-used even in 64-bit ms-abi.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
248
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
249 2020-02-07 Dennis Zhang <dennis.zhang@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
250
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
251 * config/aarch64/aarch64-simd-builtins.def (simd_smmla): New entry.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
252 (simd_ummla, simd_usmmla): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
253 * config/aarch64/aarch64-simd.md (aarch64_simd_<sur>mmlav16qi): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
254 * config/aarch64/arm_neon.h (vmmlaq_s32, vmmlaq_u32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
255 (vusmmlaq_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
256
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
257 2020-02-07 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
258
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
259 PR middle-end/93519
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
260 * tree-inline.c (fold_marked_statements): Do a PRE walk,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
261 skipping unreachable regions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
262 (optimize_inline_calls): Skip folding stmts when we didn't
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
263 inline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
264
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
265 2020-02-07 H.J. Lu <hongjiu.lu@intel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
266
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
267 PR target/85667
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
268 * config/i386/i386.c (function_arg_ms_64): Add a type argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
269 Don't return aggregates with only SFmode and DFmode in SSE
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
270 register.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
271 (ix86_function_arg): Pass arg.type to function_arg_ms_64.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
272
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
273 2020-02-07 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
274
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
275 PR target/93122
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
276 * config/rs6000/rs6000-logue.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
277 (rs6000_emit_probe_stack_range_stack_clash): Always use gen_add3_insn,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
278 if it fails, move rs into end_addr and retry. Add
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
279 REG_FRAME_RELATED_EXPR note whenever it returns more than one insn or
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
280 the insn pattern doesn't describe well what exactly happens to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
281 dwarf2cfi.c.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
282
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
283 PR target/93594
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
284 * config/i386/predicates.md (avx_identity_operand): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
285 * config/i386/sse.md (*avx_vec_concat<mode>_1): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
286 (avx_<castmode><avxsizesuffix>_<castmode>,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
287 avx512f_<castmode><avxsizesuffix>_256<castmode>): Change patterns to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
288 a VEC_CONCAT of the operand and UNSPEC_CAST.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
289 (avx512f_<castmode><avxsizesuffix>_<castmode>): Change pattern to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
290 a VEC_CONCAT of VEC_CONCAT of the operand and UNSPEC_CAST with
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
291 UNSPEC_CAST.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
292
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
293 PR target/93611
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
294 * config/i386/i386.c (ix86_lea_outperforms): Make sure to clear
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
295 recog_data.insn if distance_non_agu_define changed it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
296
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
297 2020-02-06 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
298
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
299 PR target/93569
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
300 * config/rs6000/rs6000.c (reg_to_non_prefixed): Before ISA 3.0
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
301 we only had X-FORM (reg+reg) addressing for vectors. Also before
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
302 ISA 3.0, we only had X-FORM addressing for scalars in the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
303 traditional Altivec registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
304
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
305 2020-02-06 <zhongyunde@huawei.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
306 Vladimir Makarov <vmakarov@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
307
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
308 PR rtl-optimization/93561
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
309 * lra-assigns.c (spill_for): Check that tested hard regno is not out of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
310 hard register range.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
311
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
312 2020-02-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
313
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
314 * config/aarch64/aarch64.md (aarch64_movk<mode>): Add a type
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
315 attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
316
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
317 2020-02-06 Segher Boessenkool <segher@kernel.crashing.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
319 * config/rs6000/rs6000.c (rs6000_emit_set_long_const): Handle the case
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
320 where the low and the high 32 bits are equal to each other specially,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
321 with an rldimi instruction.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
322
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
323 2020-02-06 Mihail Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
324
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
325 * config/arm/arm-cpus.in: Set profile M for armv8.1-m.main.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
326
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
327 2020-02-06 Mihail Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
328
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
329 * config/arm/arm-tables.opt: Regenerate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
330
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
331 2020-02-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
332
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
333 PR target/87763
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
334 * config/aarch64/aarch64-protos.h (aarch64_movk_shift): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
335 * config/aarch64/aarch64.c (aarch64_movk_shift): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
336 * config/aarch64/aarch64.md (aarch64_movk<mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
337
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
338 2020-02-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
339
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
340 PR rtl-optimization/87763
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
341 * config/aarch64/aarch64.md (*ashiftsi_extvdi_bfiz): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
342
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
343 2020-02-06 Delia Burduv <delia.burduv@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
344
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
345 * config/aarch64/aarch64-simd-builtins.def
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
346 (bfmlaq): New built-in function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
347 (bfmlalb): New built-in function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
348 (bfmlalt): New built-in function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
349 (bfmlalb_lane): New built-in function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
350 (bfmlalt_lane): New built-in function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
351 * config/aarch64/aarch64-simd.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
352 (aarch64_bfmmlaqv4sf): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
353 (aarch64_bfmlal<bt>v4sf): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
354 (aarch64_bfmlal<bt>_lane<q>v4sf): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
355 * config/aarch64/arm_neon.h (vbfmmlaq_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
356 (vbfmlalbq_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
357 (vbfmlaltq_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
358 (vbfmlalbq_lane_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
359 (vbfmlaltq_lane_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
360 (vbfmlalbq_laneq_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
361 (vbfmlaltq_laneq_f32): New intrinsic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
362 * config/aarch64/iterators.md (BF_MLA): New int iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
363 (bt): New int attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
364
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
365 2020-02-06 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
366
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
367 * config/i386/i386.md (*pushtf): Emit "#" instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
368 calling gcc_unreachable in insn output.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
369 (*pushxf): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
370 (*pushdf): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
371 (*pushsf_rex64): Ditto for alternatives other than 1.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
372 (*pushsf): Ditto for alternatives other than 1.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
373
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
374 2020-02-06 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
375
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
376 PR gcov-profile/91971
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
377 PR gcov-profile/93466
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
378 * coverage.c (coverage_init): Revert mangling of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
379 path into filename. It can lead to huge filename length.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
380 Creation of subfolders seem more natural.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
381
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
382 2020-02-06 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
383
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
384 PR target/93300
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
385 * config/arm/arm.c (arm_block_arith_comp_libfuncs_for_mode): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
386 (arm_init_libfuncs): Add BFmode support to block spurious BF libfuncs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
387 Use arm_block_arith_comp_libfuncs_for_mode for HFmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
388
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
389 2020-02-06 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
390
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
391 PR target/93594
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
392 * config/i386/predicates.md (avx_identity_operand): New predicate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
393 * config/i386/sse.md (*avx_vec_concat<mode>_1): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
394 define_insn_and_split.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
395
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
396 PR libgomp/93515
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
397 * omp-low.c (use_pointer_for_field): For nested constructs, also
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
398 look for map clauses on target construct.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
399 (scan_omp_1_stmt) <case GIMPLE_OMP_TARGET>: Bump temporarily
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
400 taskreg_nesting_level.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
401
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
402 PR libgomp/93515
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
403 * gimplify.c (gimplify_scan_omp_clauses) <do_notice>: If adding
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
404 shared clause, call omp_notice_variable on outer context if any.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
405
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
406 2020-02-05 Jason Merrill <jason@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
407
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
408 PR c++/92003
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
409 * symtab.c (symtab_node::nonzero_address): A DECL_COMDAT decl has
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
410 non-zero address even if weak and not yet defined.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
411
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
412 2020-02-05 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
413
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
414 PR tree-optimization/92765
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
415 * gimple-fold.c (get_range_strlen_tree): Handle MEM_REF and PARM_DECL.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
416 * tree-ssa-strlen.c (compute_string_length): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
417 (determine_min_objsize): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
418 (get_len_or_size): Add an argument. Call get_range_strlen_dynamic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
419 Avoid using type size as the upper bound on string length.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
420 (handle_builtin_string_cmp): Add an argument. Adjust.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
421 (strlen_check_and_optimize_call): Pass additional argument to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
422 handle_builtin_string_cmp.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
423
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
424 2020-02-05 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
425
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
426 * config/i386/i386.md (*pushdi2_rex64 peephole2): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
427 (*pushdi2_rex64 peephole2): Unconditionally split after
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
428 epilogue_completed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
429 (*ashl<mode>3_doubleword): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
430 (*<shift_insn><mode>3_doubleword): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
431
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
432 2020-02-05 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
433
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
434 PR target/93568
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
435 * config/rs6000/rs6000.c (get_vector_offset): Fix
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
436
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
437 2020-02-05 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
438
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
439 * config/gcn/t-gcn-hsa (MULTILIB_OPTIONS): Use / not space.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
440
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
441 2020-02-05 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
442
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
443 * doc/analyzer.texi
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
444 (Special Functions for Debugging the Analyzer): Update description
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
445 of __analyzer_dump_exploded_nodes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
446
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
447 2020-02-05 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
448
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
449 PR target/92190
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
450 * config/i386/i386-features.c (ix86_add_reg_usage_to_vzeroupper): Only
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
451 include sets and not clobbers in the vzeroupper pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
452 * config/i386/sse.md (*avx_vzeroupper): Require in insn condition that
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
453 the parallel has 17 (64-bit) or 9 (32-bit) elts.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
454 (*avx_vzeroupper_1): New define_insn_and_split.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
455
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
456 PR target/92190
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
457 * recog.c (pass_split_after_reload::gate): For STACK_REGS targets,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
458 don't run when !optimize.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
459 (pass_split_before_regstack::gate): For STACK_REGS targets, run even
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
460 when !optimize.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
461
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
462 2020-02-05 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
463
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
464 PR middle-end/90648
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
465 * genmatch.c (dt_node::gen_kids_1): Emit number of argument
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
466 checks before matching calls.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
467
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
468 2020-02-05 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
469
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
470 * tree-ssa-alias.c (aliasing_matching_component_refs_p): Fix up
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
471 function comment typo.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
472
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
473 PR middle-end/93555
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
474 * omp-simd-clone.c (expand_simd_clones): If simd_clone_mangle or
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
475 simd_clone_create failed when i == 0, adjust clone->nargs by
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
476 clone->inbranch.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
477
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
478 2020-02-05 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
479
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
480 PR c++/92717
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
481 * doc/invoke.texi: Document that one should
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
482 not combine ASLR and -fpch.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
483
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
484 2020-02-04 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
485
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
486 PR tree-optimization/93538
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
487 * match.pd (addr EQ/NE ptr): Amend to handle &ptr->x EQ/NE ptr.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
488
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
489 2020-02-04 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
490
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
491 PR tree-optimization/91123
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
492 * tree-ssa-sccvn.c (vn_walk_cb_data::finish): New method.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
493 (vn_walk_cb_data::last_vuse): New member.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
494 (vn_walk_cb_data::saved_operands): Likewsie.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
495 (vn_walk_cb_data::~vn_walk_cb_data): Release saved_operands.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
496 (vn_walk_cb_data::push_partial_def): Use finish.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
497 (vn_reference_lookup_2): Update last_vuse and use finish if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
498 we've saved operands.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
499 (vn_reference_lookup_3): Use finish and update calls to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
500 push_partial_defs everywhere. When translating through
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
501 memcpy or aggregate copies save off operands and alias-set.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
502 (eliminate_dom_walker::eliminate_stmt): Restore VN_WALKREWRITE
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
503 operation for redundant store removal.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
504
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
505 2020-02-04 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
506
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
507 PR tree-optimization/92819
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
508 * tree-ssa-forwprop.c (simplify_vector_constructor): Avoid
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
509 generating more stmts than before.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
510
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
511 2020-02-04 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
512
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
513 * config/arm/arm.c (arm_gen_far_branch): Move the function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
514 outside of selftests.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
515
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
516 2020-02-03 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
517
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
518 * config/rs6000/rs6000.c (adjust_vec_address_pcrel): New helper
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
519 function to adjust PC-relative vector addresses.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
520 (rs6000_adjust_vec_address): Call adjust_vec_address_pcrel to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
521 handle vectors with PC-relative addresses.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
522
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
523 2020-02-03 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
524
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
525 * config/rs6000/rs6000.c (reg_to_non_prefixed): Add forward
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
526 reference.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
527 (hard_reg_and_mode_to_addr_mask): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
528 (rs6000_adjust_vec_address): If the original vector address
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
529 was REG+REG or REG+OFFSET and the element is not zero, do the add
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
530 of the elements in the original address before adding the offset
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
531 for the vector element. Use address_to_insn_form to validate the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
532 address using the register being loaded, rather than guessing
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
533 whether the address is a DS-FORM or DQ-FORM address.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
534
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
535 2020-02-03 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
536
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
537 * config/rs6000/rs6000.c (get_vector_offset): New helper function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
538 to calculate the offset in memory from the start of a vector of a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
539 particular element. Add code to keep the element number in
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
540 bounds if the element number is variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
541 (rs6000_adjust_vec_address): Move calculation of offset of the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
542 vector element to get_vector_offset.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
543 (rs6000_split_vec_extract_var): Do not do the initial AND of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
544 element here, move the code to get_vector_offset.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
545
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
546 2020-02-03 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
547
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
548 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add some
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
549 gcc_asserts.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
550
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
551 2020-02-03 Segher Boessenkool <segher@kernel.crashing.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
552
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
553 * config/rs6000/constraints.md: Improve documentation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
554
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
555 2020-02-03 Richard Earnshaw <rearnsha@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
556
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
557 PR target/93548
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
558 * config/arm/t-arm: ($(srcdir)/config/arm/arm-tune.md)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
559 ($(srcdir)/config/arm/arm-tables.opt): Use move-if-change.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
560
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
561 2020-02-03 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
562
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
563 * config.gcc: Remove "carrizo" support.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
564 * config/gcn/gcn-opts.h (processor_type): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
565 * config/gcn/gcn.c (gcn_omp_device_kind_arch_isa): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
566 * config/gcn/gcn.opt (gpu_type): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
567 * config/gcn/t-omp-device: Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
568
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
569 2020-02-03 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
570
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
571 PR target/91816
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
572 * config/arm/arm-protos.h: New function arm_gen_far_branch prototype.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
573 * config/arm/arm.c (arm_gen_far_branch): New function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
574 arm_gen_far_branch.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
575 * config/arm/arm.md: Update b<cond> for Thumb2 range checks.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
576
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
577 2020-02-03 Julian Brown <julian@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
578 Tobias Burnus <tobias@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
579
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
580 * doc/invoke.texi: Update mention of OpenACC version to 2.6.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
581
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
582 2020-02-03 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
583
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
584 PR target/93533
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
585 * config/s390/s390.md (popcounthi2_z196): Fix up expander to emit
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
586 valid RTL to sum up the lowest and second lowest bytes of the popcnt
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
587 result.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
588
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
589 2020-02-02 Vladimir Makarov <vmakarov@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
590
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
591 PR rtl-optimization/91333
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
592 * ira-color.c (struct allocno_color_data): Add member
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
593 hard_reg_prefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
594 (init_allocno_threads): Set the member up.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
595 (bucket_allocno_compare_func): Add compare hard reg
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
596 prefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
597
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
598 2020-01-31 Sandra Loosemore <sandra@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
599
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
600 nios2: Support for GOT-relative DW_EH_PE_datarel encoding.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
601
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
602 * configure.ac [nios2-*-*]: Check HAVE_AS_NIOS2_GOTOFF_RELOCATION.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
603 * config.in: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
604 * configure: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
605 * config/nios2/nios2.h (ASM_PREFERRED_EH_DATA_FORMAT): Fix handling
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
606 for PIC when HAVE_AS_NIOS2_GOTOFF_RELOCATION.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
607 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
608
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
609 2020-02-01 Andrew Burgess <andrew.burgess@embecosm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
610
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
611 * configure: Regenerate.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
612
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
613 2020-01-31 Vladimir Makarov <vmakarov@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
614
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
615 PR rtl-optimization/91333
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
616 * ira-color.c (bucket_allocno_compare_func): Move conflict hard
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
617 reg preferences comparison up.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
618
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
619 2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
620
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
621 * config/aarch64/aarch64.h (TARGET_SVE_BF16): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
622 * config/aarch64/aarch64-sve-builtins-sve2.h (svcvtnt): Move to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
623 aarch64-sve-builtins-base.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
624 * config/aarch64/aarch64-sve-builtins-sve2.cc (svcvtnt): Move to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
625 aarch64-sve-builtins-base.cc.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
626 * config/aarch64/aarch64-sve-builtins-base.h (svbfdot, svbfdot_lane)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
627 (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
628 (svcvtnt): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
629 * config/aarch64/aarch64-sve-builtins-base.cc (svbfdot, svbfdot_lane)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
630 (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
631 (svcvtnt): New functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
632 * config/aarch64/aarch64-sve-builtins-base.def (svbfdot, svbfdot_lane)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
633 (svbfmlalb, svbfmlalb_lane, svbfmlalt, svbfmlalt_lane, svbfmmla)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
634 (svcvtnt): New functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
635 (svcvt): Add a form that converts f32 to bf16.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
636 * config/aarch64/aarch64-sve-builtins-shapes.h (ternary_bfloat)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
637 (ternary_bfloat_lane, ternary_bfloat_lanex2, ternary_bfloat_opt_n):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
638 Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
639 * config/aarch64/aarch64-sve-builtins-shapes.cc (parse_element_type):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
640 Treat B as bfloat16_t.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
641 (ternary_bfloat_lane_base): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
642 (ternary_bfloat_def): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
643 (ternary_bfloat): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
644 (ternary_bfloat_lane_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
645 (ternary_bfloat_lane): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
646 (ternary_bfloat_lanex2_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
647 (ternary_bfloat_lanex2): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
648 (ternary_bfloat_opt_n_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
649 (ternary_bfloat_opt_n): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
650 * config/aarch64/aarch64-sve-builtins.cc (TYPES_cvt_bfloat): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
651 * config/aarch64/aarch64-sve.md (@aarch64_sve_<sve_fp_op>vnx4sf)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
652 (@aarch64_sve_<sve_fp_op>_lanevnx4sf): New patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
653 (@aarch64_sve_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
654 (@cond_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
655 (*cond_<optab>_trunc<VNx4SF_ONLY:mode><VNx8BF_ONLY:mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
656 (@aarch64_sve_cvtnt<VNx8BF_ONLY:mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
657 * config/aarch64/aarch64-sve2.md (@aarch64_sve2_cvtnt<mode>): Key
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
658 the pattern off the narrow mode instead of the wider one.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
659 * config/aarch64/iterators.md (VNx8BF_ONLY): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
660 (UNSPEC_BFMLALB, UNSPEC_BFMLALT, UNSPEC_BFMMLA): New unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
661 (sve_fp_op): Handle them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
662 (SVE_BFLOAT_TERNARY_LONG): New int itertor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
663 (SVE_BFLOAT_TERNARY_LONG_LANE): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
664
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
665 2020-01-31 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
666
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
667 * config/aarch64/arm_sve.h: Include arm_bf16.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
668 * config/aarch64/aarch64-modes.def (BF): Move definition before
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
669 VECTOR_MODES. Remove separate VECTOR_MODES for V4BF and V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
670 (SVE_MODES): Handle BF modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
671 * config/aarch64/aarch64.c (aarch64_classify_vector_mode): Handle
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
672 BF modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
673 (aarch64_full_sve_mode): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
674 * config/aarch64/iterators.md (SVE_STRUCT): Add VNx16BF, VNx24BF
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
675 and VNx32BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
676 (SVE_FULL, SVE_FULL_HSD, SVE_ALL): Add VNx8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
677 (Vetype, Vesize, Vctype, VEL, Vel, VEL_INT, V128, v128, vwcore)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
678 (V_INT_EQUIV, v_int_equiv, V_FP_EQUIV, v_fp_equiv, vector_count)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
679 (insn_length, VSINGLE, vsingle, VPRED, vpred, VDOUBLE): Handle the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
680 new SVE BF modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
681 * config/aarch64/aarch64-sve-builtins.h (TYPE_bfloat): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
682 type_class_index.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
683 * config/aarch64/aarch64-sve-builtins.cc (TYPES_all_arith): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
684 (TYPES_all_data): Add bf16.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
685 (TYPES_reinterpret1, TYPES_reinterpret): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
686 (register_tuple_type): Increase buffer size.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
687 * config/aarch64/aarch64-sve-builtins.def (svbfloat16_t): New type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
688 (bf16): New type suffix.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
689 * config/aarch64/aarch64-sve-builtins-base.def (svabd, svadd, svaddv)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
690 (svcmpeq, svcmpge, svcmpgt, svcmple, svcmplt, svcmpne, svmad, svmax)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
691 (svmaxv, svmin, svminv, svmla, svmls, svmsb, svmul, svsub, svsubr):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
692 Change type from all_data to all_arith.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
693 * config/aarch64/aarch64-sve-builtins-sve2.def (svaddp, svmaxp)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
694 (svminp): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
695
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
696 2020-01-31 Dennis Zhang <dennis.zhang@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
697 Matthew Malcomson <matthew.malcomson@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
698 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
699
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
700 * doc/invoke.texi (f32mm): Document new AArch64 -march= extension.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
701 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Define
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
702 __ARM_FEATURE_SVE_MATMUL_INT8, __ARM_FEATURE_SVE_MATMUL_FP32 and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
703 __ARM_FEATURE_SVE_MATMUL_FP64 as appropriate. Don't define
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
704 __ARM_FEATURE_MATMUL_FP64.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
705 * config/aarch64/aarch64-option-extensions.def (fp, simd, fp16)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
706 (sve): Add AARCH64_FL_F32MM to the list of extensions that should
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
707 be disabled at the same time.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
708 (f32mm): New extension.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
709 * config/aarch64/aarch64.h (AARCH64_FL_F32MM): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
710 (AARCH64_FL_F64MM): Bump to the next bit up.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
711 (AARCH64_ISA_F32MM, TARGET_SVE_I8MM, TARGET_F32MM, TARGET_SVE_F32MM)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
712 (TARGET_SVE_F64MM): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
713 * config/aarch64/iterators.md (SVE_MATMULF): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
714 (UNSPEC_FMMLA, UNSPEC_SMATMUL, UNSPEC_UMATMUL, UNSPEC_USMATMUL)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
715 (UNSPEC_TRN1Q, UNSPEC_TRN2Q, UNSPEC_UZP1Q, UNSPEC_UZP2Q, UNSPEC_ZIP1Q)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
716 (UNSPEC_ZIP2Q): New unspeccs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
717 (DOTPROD_US_ONLY, PERMUTEQ, MATMUL, FMMLA): New int iterators.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
718 (optab, sur, perm_insn): Handle the new unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
719 (sve_fp_op): Handle UNSPEC_FMMLA. Resort.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
720 * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
721 TARGET_SVE_F64MM instead of separate tests.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
722 (@aarch64_<DOTPROD_US_ONLY:sur>dot_prod<vsi2qi>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
723 (@aarch64_<DOTPROD_US_ONLY:sur>dot_prod_lane<vsi2qi>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
724 (@aarch64_sve_add_<MATMUL:optab><vsi2qi>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
725 (@aarch64_sve_<FMMLA:sve_fp_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
726 (@aarch64_sve_<PERMUTEQ:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
727 * config/aarch64/aarch64-sve-builtins.cc (TYPES_s_float): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
728 (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
729 (TYPES_s_signed): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
730 (TYPES_s_integer): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
731 (TYPES_d_float): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
732 (TYPES_d_data): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
733 * config/aarch64/aarch64-sve-builtins-shapes.h (mmla): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
734 (ternary_intq_uintq_lane, ternary_intq_uintq_opt_n, ternary_uintq_intq)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
735 (ternary_uintq_intq_lane, ternary_uintq_intq_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
736 * config/aarch64/aarch64-sve-builtins-shapes.cc (mmla_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
737 (svmmla): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
738 (ternary_resize2_opt_n_base): Add TYPE_CLASS2 and TYPE_CLASS3
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
739 template parameters.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
740 (ternary_resize2_lane_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
741 (ternary_resize2_base): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
742 (ternary_qq_lane_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
743 (ternary_intq_uintq_lane_def): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
744 (ternary_intq_uintq_lane): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
745 (ternary_intq_uintq_opt_n_def): New class
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
746 (ternary_intq_uintq_opt_n): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
747 (ternary_qq_lane_def): Inherit from ternary_qq_lane_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
748 (ternary_uintq_intq_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
749 (ternary_uintq_intq): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
750 (ternary_uintq_intq_lane_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
751 (ternary_uintq_intq_lane): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
752 (ternary_uintq_intq_opt_n_def): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
753 (ternary_uintq_intq_opt_n): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
754 * config/aarch64/aarch64-sve-builtins-base.h (svmmla, svsudot)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
755 (svsudot_lane, svtrn1q, svtrn2q, svusdot, svusdot_lane, svusmmla)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
756 (svuzp1q, svuzp2q, svzip1q, svzip2q): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
757 * config/aarch64/aarch64-sve-builtins-base.cc (svdot_lane_impl):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
758 Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
759 (svdotprod_lane_impl): ...this new class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
760 (svmmla_impl, svusdot_impl): New classes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
761 (svdot_lane): Update to use svdotprod_lane_impl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
762 (svmmla, svsudot, svsudot_lane, svtrn1q, svtrn2q, svusdot)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
763 (svusdot_lane, svusmmla, svuzp1q, svuzp2q, svzip1q, svzip2q): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
764 functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
765 * config/aarch64/aarch64-sve-builtins-base.def (svmmla): New base
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
766 function, with no types defined.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
767 (svmmla, svusmmla, svsudot, svsudot_lane, svusdot, svusdot_lane): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
768 AARCH64_FL_I8MM functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
769 (svmmla): New AARCH64_FL_F32MM function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
770 (svld1ro): Depend only on AARCH64_FL_F64MM, not on AARCH64_FL_V8_6.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
771 (svmmla, svtrn1q, svtrn2q, svuz1q, svuz2q, svzip1q, svzip2q): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
772 AARCH64_FL_F64MM function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
773 (REQUIRED_EXTENSIONS):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
774
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
775 2020-01-31 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
776
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
777 * config/gcn/gcn-valu.md (addv64di3_exec): Allow one '0' in each
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
778 alternative only.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
779
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
780 2020-01-31 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
781
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
782 * config/i386/i386.md (*movoi_internal_avx): Do not check for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
783 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL. Remove MODE_V8SF handling.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
784 (*movti_internal): Do not check for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
785 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
786 (*movtf_internal): Move check for TARGET_SSE2 and size optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
787 just after check for TARGET_AVX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
788 (*movdf_internal): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
789 * config/i386/mmx.md (*mov<mode>_internal): Do not check for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
790 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
791 * config/i386/sse.md (mov<mode>_internal): Only check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
792 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL with V2DFmode. Move check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
793 for TARGET_SSE2 and size optimization just after check for TARGET_AVX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
794 (<sse>_andnot<mode>3<mask_name>): Move check for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
795 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL after check for TARGET_AVX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
796 (<code><mode>3<mask_name>): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
797 (*andnot<mode>3): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
798 (*andnottf3): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
799 (*<code><mode>3): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
800 (*<code>tf3): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
801 (*andnot<VI:mode>3): Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
802 TARGET_SSE_PACKED_SINGLE_INSN_OPTIMAL handling.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
803 (<mask_codefor><code><VI48_AVX_AVX512F:mode>3<mask_name>): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
804 (*<code><VI12_AVX_AVX512F:mode>3): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
805 (sse4_1_blendv<ssemodesuffix>): Ditto.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
806 * config/i386/x86-tune.def (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
807 Explain that tune applies to 128bit instructions only.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
808
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
809 2020-01-31 Kwok Cheung Yeung <kcy@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
810
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
811 * config/gcn/mkoffload.c (process_asm): Add sgpr_count and vgpr_count
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
812 to definition of hsa_kernel_description. Parse assembly to find SGPR
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
813 and VGPR count of kernel and store in hsa_kernel_description.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
814
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
815 2020-01-31 Tamar Christina <tamar.christina@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
816
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
817 PR rtl-optimization/91838
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
818 * simplify-rtx.c (simplify_binary_operation_1): Update LSHIFTRT case
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
819 to truncate if allowed or reject combination.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
820
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
821 2020-01-31 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
822
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
823 * tree-ssa-loop-ivopts.c (get_iv): Use sizetype for zero-step.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
824 (find_inv_vars_cb): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
825
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
826 2020-01-31 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
827
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
828 * calls.c (special_function_p): Split out the check for DECL_NAME
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
829 being non-NULL and fndecl being extern at file scope into a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
830 new maybe_special_function_p and call it. Drop check for fndecl
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
831 being non-NULL that was after a usage of DECL_NAME (fndecl).
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
832 * tree.h (maybe_special_function_p): New inline function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
833
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
834 2020-01-30 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
835
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
836 * config/gcn/gcn-valu.md (gather<mode>_exec): Move contents ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
837 (mask_gather_load<mode>): ... here, and zero-initialize the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
838 destination.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
839 (maskload<mode>di): Zero-initialize the destination.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
840 * config/gcn/gcn.c:
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
841
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
842 2020-01-30 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
843
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
844 PR analyzer/93356
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
845 * doc/analyzer.texi (Limitations): Note that constraints on
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
846 floating-point values are currently ignored.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
847
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
848 2020-01-30 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
849
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
850 PR lto/93384
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
851 * symtab.c (symtab_node::noninterposable_alias): If localalias
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
852 already exists, but is not usable, append numbers after it until
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
853 a unique name is found. Formatting fix.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
854
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
855 PR middle-end/93505
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
856 * combine.c (simplify_comparison) <case ROTATE>: Punt on out of range
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
857 rotate counts.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
858
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
859 2020-01-30 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
860
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
861 * config/gcn/gcn.c (print_operand): Handle LTGT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
862 * config/gcn/predicates.md (gcn_fp_compare_operator): Allow ltgt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
863
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
864 2020-01-30 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
865
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
866 * tree-pretty-print.c (dump_generic_node): Wrap VECTOR_CST
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
867 and CONSTRUCTOR in _Literal (type) with TDF_GIMPLE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
868
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
869 2020-01-30 John David Anglin <danglin@gcc.gnu.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
870
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
871 * config/pa/pa.c (pa_elf_select_rtx_section): Place function pointers
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
872 without a DECL in .data.rel.ro.local.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
873
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
874 2020-01-30 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
875
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
876 PR target/93494
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
877 * config/arm/arm.md (uaddvdi4): Actually emit what gen_uaddvsi4
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
878 returned.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
879
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
880 PR target/91824
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
881 * config/i386/sse.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
882 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
883 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext): ... this. Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
884 any_extend code iterator instead of always zero_extend.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
885 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext_lt): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
886 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_lt): ... this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
887 Use any_extend code iterator instead of always zero_extend.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
888 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_zext_shift): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
889 (*<sse>_movmsk<ssemodesuffix><avxsizesuffix>_<u>ext_shift): ... this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
890 Use any_extend code iterator instead of always zero_extend.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
891 (*sse2_pmovmskb_ext): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
892 (*sse2_pmovmskb_ext_lt): New define_insn_and_split.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
893
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
894 PR target/91824
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
895 * config/i386/i386.md (*popcountsi2_zext): New define_insn_and_split.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
896 (*popcountsi2_zext_falsedep): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
897
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
898 2020-01-30 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
899
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
900 * config.in: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
901 * configure: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
902
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
903 2020-01-29 Tobias Burnus <tobias@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
904
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
905 PR bootstrap/93409
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
906 * config/gcn/gcn-hsa.h (ASM_SPEC): Add -mattr=-code-object-v3 as
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
907 LLVM's assembler changed the default in version 9.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
908
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
909 2020-01-24 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
910
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
911 PR tree-optimization/89689
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
912 * builtins.def (BUILT_IN_OBJECT_SIZE): Make it const rather than pure.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
913
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
914 2020-01-29 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
915
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
916 Revert:
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
917
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
918 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
919
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
920 PR rtl-optimization/87763
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
921 * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
922 simplification to handle subregs as well as bare regs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
923 * config/i386/i386.md (*testqi_ext_3): Match QI extracts too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
924
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
925 2020-01-29 Joel Hutton <Joel.Hutton@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
926
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
927 PR target/93221
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
928 * ira.c (ira): Revert use of simplified LRA algorithm.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
929
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
930 2020-01-29 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
931
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
932 PR tree-optimization/92706
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
933 * tree-sra.c (struct access): Fields first_link, last_link,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
934 next_queued and grp_queued renamed to first_rhs_link, last_rhs_link,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
935 next_rhs_queued and grp_rhs_queued respectively, new fields
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
936 first_lhs_link, last_lhs_link, next_lhs_queued and grp_lhs_queued.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
937 (struct assign_link): Field next renamed to next_rhs, new field
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
938 next_lhs. Updated comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
939 (work_queue_head): Renamed to rhs_work_queue_head.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
940 (lhs_work_queue_head): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
941 (add_link_to_lhs): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
942 (relink_to_new_repr): Also relink LHS lists.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
943 (add_access_to_work_queue): Renamed to add_access_to_rhs_work_queue.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
944 (add_access_to_lhs_work_queue): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
945 (pop_access_from_work_queue): Renamed to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
946 pop_access_from_rhs_work_queue.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
947 (pop_access_from_lhs_work_queue): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
948 (build_accesses_from_assign): Also add links to LHS lists and to LHS
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
949 work_queue.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
950 (child_would_conflict_in_lacc): Renamed to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
951 child_would_conflict_in_acc. Adjusted parameter names.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
952 (create_artificial_child_access): New parameter set_grp_read, use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
953 (subtree_mark_written_and_enqueue): Renamed to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
954 subtree_mark_written_and_rhs_enqueue.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
955 (propagate_subaccesses_across_link): Renamed to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
956 propagate_subaccesses_from_rhs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
957 (propagate_subaccesses_from_lhs): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
958 (propagate_all_subaccesses): Also propagate subaccesses from LHSs to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
959 RHSs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
960
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
961 2020-01-29 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
962
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
963 PR tree-optimization/92706
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
964 * tree-sra.c (struct access): Adjust comment of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
965 grp_total_scalarization.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
966 (find_access_in_subtree): Look for single children spanning an entire
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
967 access.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
968 (scalarizable_type_p): Allow register accesses, adjust callers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
969 (completely_scalarize): Remove function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
970 (scalarize_elem): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
971 (create_total_scalarization_access): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
972 (sort_and_splice_var_accesses): Do not track total scalarization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
973 flags.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
974 (analyze_access_subtree): New parameter totally, adjust to new meaning
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
975 of grp_total_scalarization.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
976 (analyze_access_trees): Pass new parameter to analyze_access_subtree.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
977 (can_totally_scalarize_forest_p): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
978 (create_total_scalarization_access): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
979 (create_total_access_and_reshape): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
980 (total_should_skip_creating_access): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
981 (totally_scalarize_subtree): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
982 (analyze_all_variable_accesses): Perform total scalarization after
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
983 subaccess propagation using the new functions above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
984 (initialize_constant_pool_replacements): Output initializers by
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
985 traversing the access tree.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
986
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
987 2020-01-29 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
988
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
989 * tree-sra.c (verify_sra_access_forest): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
990 (verify_all_sra_access_forests): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
991 (create_artificial_child_access): Set parent.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
992 (analyze_all_variable_accesses): Call the verifier.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
993
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
994 2020-01-28 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
995
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
996 * cgraph.c (cgraph_edge::resolve_speculation): Only lookup direct edge
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
997 if called on indirect edge.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
998 (cgraph_edge::redirect_call_stmt_to_callee): Lookup indirect edge of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
999 speculative call if needed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1000
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1001 2020-01-29 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1002
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1003 PR tree-optimization/93428
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1004 * tree-vect-slp.c (vect_build_slp_tree_2): Compute the load
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1005 permutation when the load node is created.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1006 (vect_analyze_slp_instance): Re-use it here.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1007
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1008 2020-01-28 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1009
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1010 * ipa-prop.c (update_indirect_edges_after_inlining): Fix warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1011
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1012 2020-01-28 Vladimir Makarov <vmakarov@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1013
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1014 PR rtl-optimization/93272
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1015 * ira-lives.c (process_out_of_region_eh_regs): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1016 (process_bb_node_lives): Call it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1017
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1018 2020-01-28 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1019
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1020 * coverage.c (read_counts_file): Make error message lowercase.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1021
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1022 2020-01-28 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1023
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1024 * profile-count.c (profile_quality_display_names): Fix ordering.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1025
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1026 2020-01-28 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1027
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1028 PR lto/93318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1029 * cgraph.c (cgraph_add_edge_to_call_site_hash): Update call site
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1030 hash only when edge is first within the sequence.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1031 (cgraph_edge::set_call_stmt): Update handling of speculative calls.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1032 (symbol_table::create_edge): Do not set target_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1033 (cgraph_edge::remove_caller): Watch for speculative calls when updating
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1034 the call site hash.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1035 (cgraph_edge::make_speculative): Drop target_prob parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1036 (cgraph_edge::speculative_call_info): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1037 (cgraph_edge::first_speculative_call_target): New member function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1038 (update_call_stmt_hash_for_removing_direct_edge): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1039 (cgraph_edge::resolve_speculation): Rewrite to new API.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1040 (cgraph_edge::speculative_call_for_target): New member function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1041 (cgraph_edge::make_direct): Rewrite to new API; fix handling of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1042 multiple speculation targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1043 (cgraph_edge::redirect_call_stmt_to_callee): Likewise; fix updating
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1044 of profile.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1045 (verify_speculative_call): Verify that targets form an interval.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1046 * cgraph.h (cgraph_edge::speculative_call_info): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1047 (cgraph_edge::first_speculative_call_target): New member function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1048 (cgraph_edge::next_speculative_call_target): New member function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1049 (cgraph_edge::speculative_call_target_ref): New member function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1050 (cgraph_edge;:speculative_call_indirect_edge): New member funtion.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1051 (cgraph_edge): Remove target_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1052 * cgraphclones.c (cgraph_node::set_call_stmt_including_clones):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1053 Fix handling of speculative calls.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1054 * ipa-devirt.c (ipa_devirt): Fix handling of speculative cals.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1055 * ipa-fnsummary.c (analyze_function_body): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1056 * ipa-inline.c (speculation_useful_p): Use new speculative call API.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1057 * ipa-profile.c (dump_histogram): Fix formating.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1058 (ipa_profile_generate_summary): Watch for overflows.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1059 (ipa_profile): Do not require probablity to be 1/2; update to new API.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1060 * ipa-prop.c (ipa_make_edge_direct_to_target): Update to new API.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1061 (update_indirect_edges_after_inlining): Update to new API.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1062 * ipa-utils.c (ipa_merge_profiles): Rewrite merging of speculative call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1063 profiles.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1064 * profile-count.h: (profile_probability::adjusted): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1065 * tree-inline.c (copy_bb): Update to new speculative call API; fix
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1066 updating of profile.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1067 * value-prof.c (gimple_ic_transform): Rename to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1068 (dump_ic_profile): ... this one; update dumping.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1069 (stream_in_histogram_value): Fix formating.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1070 (gimple_value_profile_transformations): Update.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1071
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1072 2020-01-28 H.J. Lu <hongjiu.lu@intel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1073
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1074 PR target/91461
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1075 * config/i386/i386.md (*movoi_internal_avx): Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1076 TARGET_SSE_TYPELESS_STORES check.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1077 (*movti_internal): Prefer TARGET_AVX over
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1078 TARGET_SSE_TYPELESS_STORES.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1079 (*movtf_internal): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1080 * config/i386/sse.md (mov<mode>_internal): Prefer TARGET_AVX over
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1081 TARGET_SSE_TYPELESS_STORES. Remove "<MODE_SIZE> == 16" check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1082 from TARGET_SSE_TYPELESS_STORES.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1083
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1084 2020-01-28 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1085
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1086 * diagnostic-core.h (warning_at): Rename overload to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1087 (warning_meta): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1088 (emit_diagnostic_valist): Delete decl of overload taking
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1089 diagnostic_metadata.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1090 * diagnostic.c (emit_diagnostic_valist): Likewise for defn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1091 (warning_at): Rename overload taking diagnostic_metadata to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1092 (warning_meta): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1093
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1094 2020-01-28 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1095
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1096 PR tree-optimization/93439
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1097 * tree-parloops.c (create_loop_fn): Move clique bookkeeping...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1098 * tree-cfg.c (move_sese_region_to_fn): ... here.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1099 (verify_types_in_gimple_reference): Verify used cliques are
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1100 tracked.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1101
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1102 2020-01-28 H.J. Lu <hongjiu.lu@intel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1103
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1104 PR target/91399
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1105 * config/i386/i386-options.c (set_ix86_tune_features): Add an
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1106 argument of a pointer to struct gcc_options and pass it to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1107 parse_mtune_ctrl_str.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1108 (ix86_function_specific_restore): Pass opts to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1109 set_ix86_tune_features.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1110 (ix86_option_override_internal): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1111 (parse_mtune_ctrl_str): Add an argument of a pointer to struct
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1112 gcc_options and use it for x_ix86_tune_ctrl_string.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1113
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1114 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1115
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1116 PR rtl-optimization/87763
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1117 * simplify-rtx.c (simplify_truncation): Extend sign/zero_extract
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1118 simplification to handle subregs as well as bare regs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1119 * config/i386/i386.md (*testqi_ext_3): Match QI extracts too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1120
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1121 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1122
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1123 * tree-vect-loop.c (vectorizable_reduction): Fail gracefully
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1124 for reduction chains that (now) include a call.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1125
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1126 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1127
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1128 PR tree-optimization/92822
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1129 * tree-ssa-forwprop.c (simplify_vector_constructor): When filling
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1130 out the don't-care elements of a vector whose significant elements
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1131 are duplicates, make the don't-care elements duplicates too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1132
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1133 2020-01-28 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1134
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1135 PR tree-optimization/93434
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1136 * tree-predcom.c (split_data_refs_to_components): Record which
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1137 components have had aliasing loads removed. Prevent store-store
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1138 commoning for all such components.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1139
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1140 2020-01-28 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1141
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1142 PR target/93418
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1143 * config/i386/i386.c (ix86_fold_builtin) <do_shift>: If mask is not
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1144 -1 or is_vshift is true, use new_vector with number of elts npatterns
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1145 rather than new_unary_operation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1146
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1147 PR tree-optimization/93454
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1148 * gimple-fold.c (fold_array_ctor_reference): Perform
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1149 elt_size.to_uhwi () just once, instead of calling it in every
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1150 iteration. Punt if that value is above size of the temporary
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1151 buffer. Decrease third native_encode_expr argument when
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1152 bufoff + elt_sz is above size of buf.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1153
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1154 2020-01-27 Joseph Myers <joseph@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1155
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1156 * config/mips/mips.c (mips_declare_object_name)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1157 [USE_GNU_UNIQUE_OBJECT]: Support use of gnu_unique_object.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1158
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1159 2020-01-27 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1160
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1161 PR gcov-profile/93403
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1162 * tree-profile.c (gimple_init_gcov_profiler): Generate
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1163 both __gcov_indirect_call_profiler_v4 and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1164 __gcov_indirect_call_profiler_v4_atomic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1165
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1166 2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1167
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1168 PR target/92822
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1169 * config/aarch64/aarch64-simd.md (aarch64_get_half<mode>): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1170 expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1171 (@aarch64_split_simd_mov<mode>): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1172 (aarch64_simd_mov_from_<mode>low): Add a GPR alternative.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1173 Leave the vec_extract patterns to handle 2-element vectors.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1174 (aarch64_simd_mov_from_<mode>high): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1175 (vec_extract<VQMOV_NO2E:mode><Vhalf>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1176 (vec_extractv2dfv1df): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1177
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1178 2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1179
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1180 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Match
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1181 jump conditions for *compare_condjump<GPI:mode>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1182
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1183 2020-01-27 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1184
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1185 PR analyzer/93276
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1186 * digraph.cc (test_edge::test_edge): Specify template for base
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1187 class initializer.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1188
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1189 2020-01-27 Claudiu Zissulescu <claziss@synopsys.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1190
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1191 * config/arc/arc.c (arc_rtx_costs): Update mul64 cost.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1192
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1193 2020-01-27 Claudiu Zissulescu <claziss@synopsys.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1194
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1195 * config/arc/arc-protos.h (gen_mlo): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1196 (gen_mhi): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1197 * config/arc/arc.c (AUX_MULHI): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1198 (arc_must_save_reister): Special handling for r58/59.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1199 (arc_compute_frame_size): Consider mlo/mhi registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1200 (arc_save_callee_saves): Emit fp/sp move only when emit_move
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1201 paramter is true.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1202 (arc_conditional_register_usage): Remove TARGET_BIG_ENDIAN from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1203 mlo/mhi name selection.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1204 (arc_restore_callee_saves): Don't early restore blink when ISR.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1205 (arc_expand_prologue): Add mlo/mhi saving.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1206 (arc_expand_epilogue): Add mlo/mhi restoring.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1207 (gen_mlo): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1208 (gen_mhi): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1209 * config/arc/arc.h (DBX_REGISTER_NUMBER): Correct register
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1210 numbering when MUL64 option is used.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1211 (DWARF2_FRAME_REG_OUT): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1212 * config/arc/arc.md (arc600_stall): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1213 (VUNSPEC_ARC_ARC600_STALL): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1214 (mulsi64): Use correct mlo/mhi registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1215 (mulsi_600): Clean it up.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1216 * config/arc/predicates.md (mlo_operand): Remove any dependency on
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1217 TARGET_BIG_ENDIAN.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1218 (mhi_operand): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1219
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1220 2020-01-27 Claudiu Zissulescu <claziss@synopsys.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1221 Petro Karashchenko <petro.karashchenko@ring.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1222
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1223 * config/arc/arc.c (arc_is_uncached_mem_p): Check struct
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1224 attributes if needed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1225 (prepare_move_operands): Generate special unspec instruction for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1226 direct access.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1227 (arc_isuncached_mem_p): Propagate uncached attribute to each
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1228 structure member.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1229 * config/arc/arc.md (VUNSPEC_ARC_LDDI): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1230 (VUNSPEC_ARC_STDI): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1231 (ALLI): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1232 (mALLI): New mode attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1233 (lddi): New instruction pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1234 (stdi): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1235 (stdidi_split): Split instruction for architectures which are not
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1236 supporting ll64 option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1237 (lddidi_split): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1238
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1239 2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1240
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1241 PR rtl-optimization/92989
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1242 * lra-lives.c (process_bb_lives): Update the live-in set before
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1243 processing additional clobbers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1244
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1245 2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1246
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1247 PR rtl-optimization/93170
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1248 * cselib.c (cselib_invalidate_regno_val): New function, split out
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1249 from...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1250 (cselib_invalidate_regno): ...here.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1251 (cselib_invalidated_by_call_p): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1252 (cselib_process_insn): Iterate over all the hard-register entries in
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1253 REG_VALUES and invalidate any that cross call-clobbered registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1254
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1255 2020-01-27 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1256
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1257 * dojump.c (split_comparison): Use HONOR_NANS rather than
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1258 HONOR_SNANS when splitting LTGT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1259
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1260 2020-01-27 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1261
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1262 PR driver/91220
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1263 * opts.c (print_filtered_help): Exclude language-specific
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1264 options from --help=common unless enabled in all FEs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1265
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1266 2020-01-27 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1267
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1268 * opts.c (print_help): Exclude params from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1269 all except --help=param.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1270
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1271 2020-01-27 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1272
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1273 PR target/93274
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1274 * config/i386/i386-features.c (make_resolver_func):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1275 Align the code with ppc64 target implementation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1276 Do not generate a unique name for resolver function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1277
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1278 2020-01-27 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1279
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1280 PR tree-optimization/93397
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1281 * tree-vect-slp.c (vect_analyze_slp_instance): Delay
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1282 converted reduction chain SLP graph adjustment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1283
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1284 2020-01-26 Marek Polacek <polacek@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1285
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1286 PR sanitizer/93436
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1287 * sanopt.c (sanitize_rewrite_addressable_params): Avoid crash on
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1288 null DECL_NAME.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1289
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1290 2020-01-26 Jason Merrill <jason@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1291
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1292 PR c++/92601
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1293 * tree.c (verify_type_variant): Only verify TYPE_NEEDS_CONSTRUCTING
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1294 of complete types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1295
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1296 2020-01-26 Darius Galis <darius.galis@cyberthorstudios.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1297
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1298 * config/rx/rx.md (setmemsi): Added rx_allow_string_insns constraint
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1299 (rx_setmem): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1300
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1301 2020-01-26 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1302
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1303 PR target/93412
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1304 * config/i386/i386.md (*addv<dwi>4_doubleword, *subv<dwi>4_doubleword):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1305 Use nonimmediate_operand instead of x86_64_hilo_general_operand and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1306 drop <di> from constraint of last operand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1307
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1308 PR target/93430
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1309 * config/i386/sse.md (*avx_vperm_broadcast_<mode>): Disallow for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1310 TARGET_AVX2 and V4DFmode not in the split condition, but in the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1311 pattern condition, though allow { 0, 0, 0, 0 } broadcast always.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1312
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1313 2020-01-25 Feng Xue <fxue@os.amperecomputing.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1314
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1315 PR ipa/93166
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1316 * ipa-cp.c (get_info_about_necessary_edges): Remove value
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1317 check assertion.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1319 2020-01-24 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1320
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1321 PR tree-optimization/92788
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1322 * tree-ssa-threadedge.c (thread_across_edge): Check EDGE_COMPLEX
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1323 not EDGE_ABNORMAL.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1324
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1325 2020-01-24 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1326
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1327 PR target/93395
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1328 * config/i386/sse.md (*avx_vperm_broadcast_v4sf,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1329 *avx_vperm_broadcast_<mode>,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1330 <sse2_avx_avx512f>_vpermil<mode><mask_name>,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1331 *<sse2_avx_avx512f>_vpermilp<mode><mask_name>):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1332 Move before avx2_perm<mode>/avx512f_perm<mode>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1333
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1334 PR target/93376
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1335 * simplify-rtx.c (simplify_const_unary_operation,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1336 simplify_const_binary_operation): Punt for mode precision above
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1337 MAX_BITSIZE_MODE_ANY_INT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1338
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1339 2020-01-24 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1340
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1341 * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Change
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1342 alu.shift_reg to 0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1343
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1344 2020-01-24 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1345
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1346 PR target/13721
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1347 * config/h8300/h8300.c (h8300_print_operand): Only call byte_reg
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1348 for REGs. Call output_operand_lossage to get more reasonable
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1349 diagnostics.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1350
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1351 2020-01-24 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1352
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1353 * config/gcn/gcn-valu.md (vec_cmp<mode>di): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1354 gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1355 (vec_cmpu<mode>di): Use gcn_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1356 (vec_cmp<u>v64qidi): Use gcn_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1357 (vec_cmp<mode>di_exec): Use gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1358 (vec_cmpu<mode>di_exec): Use gcn_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1359 (vec_cmp<u>v64qidi_exec): Use gcn_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1360 (vec_cmp<mode>di_dup): Use gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1361 (vec_cmp<mode>di_dup_exec): Use gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1362 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1363 gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1364 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1365 gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1366 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1367 gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1368 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1369 gcn_fp_compare_operator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1370
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1371 2020-01-24 Maciej W. Rozycki <macro@wdc.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1372
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1373 * doc/install.texi (Cross-Compiler-Specific Options): Document
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1374 `--with-toolexeclibdir' option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1375
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1376 2020-01-24 Hans-Peter Nilsson <hp@axis.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1377
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1378 * target.def (flags_regnum): Also mention effect on delay slot filling.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1379 * doc/tm.texi: Regenerate.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1380
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1381 2020-01-23 Jeff Law <law@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1382
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1383 PR translation/90162
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1384 * config/h8300/h8300.c (h8300_option_override): Fix diagnostic text.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1385
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1386 2020-01-23 Mikael Tillenius <mti-1@tillenius.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1387
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1388 PR target/92269
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1389 * config/h8300/h8300.h (FUNCTION_PROFILER): Fix emission of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1390 profiling label
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1391
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1392 2020-01-23 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1393
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1394 PR rtl-optimization/93402
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1395 * postreload.c (reload_combine_recognize_pattern): Don't try to adjust
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1396 USE insns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1397
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1398 2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1399
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1400 * config.in: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1401 * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to 1
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1402 for TARGET_LIBC_GNUSTACK.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1403 * configure: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1404 * configure.ac: Define TARGET_LIBC_GNUSTACK if glibc version is
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1405 found to be 2.31 or greater.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1406
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1407 2020-01-23 Dragan Mladjenovic <dmladjenovic@wavecomp.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1408
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1409 * config/mips/linux.h (NEED_INDICATE_EXEC_STACK): Define to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1410 TARGET_SOFT_FLOAT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1411 * config/mips/mips.c (TARGET_ASM_FILE_END): Define to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1412 (mips_asm_file_end): New function. Delegate to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1413 file_end_indicate_exec_stack if NEED_INDICATE_EXEC_STACK is true.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1414 * config/mips/mips.h (NEED_INDICATE_EXEC_STACK): Define to 0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1415
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1416 2020-01-23 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1417
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1418 PR target/93376
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1419 * config/i386/i386-modes.def (POImode): New mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1420 (MAX_BITSIZE_MODE_ANY_INT): Change from 128 to 160.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1421 * config/i386/i386.md (DPWI): New mode attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1422 (addv<mode>4, subv<mode>4): Use <DPWI> instead of <DWI>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1423 (QWI): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1424 (QPWI): ... this. Use POI instead of OI for TImode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1425 (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1426 *subv<dwi>4_doubleword, *subv<dwi>4_doubleword_1): Use <QPWI>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1427 instead of <QWI>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1428
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1429 2020-01-23 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1430
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1431 PR target/93341
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1432 * config/aarch64/aarch64.md (UNSPEC_SPECULATION_TRACKER_REV): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1433 unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1434 (speculation_tracker_rev): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1435 * config/aarch64/aarch64-speculation.cc (aarch64_do_track_speculation):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1436 Use speculation_tracker_rev to track the inverse condition.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1437
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1438 2020-01-23 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1439
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1440 PR tree-optimization/93381
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1441 * tree-ssa-sccvn.c (vn_walk_cb_data::push_partial_def): Take
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1442 alias-set of the def as argument and record the first one.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1443 (vn_walk_cb_data::first_set): New member.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1444 (vn_reference_lookup_3): Pass the alias-set of the current def
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1445 to push_partial_def. Fix alias-set used in the aggregate copy
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1446 case.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1447 (vn_reference_lookup): Consistently set *last_vuse_ptr.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1448 * real.c (clear_significand_below): Fix out-of-bound access.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1449
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1450 2020-01-23 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1451
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1452 PR target/93346
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1453 * config/i386/i386.md (*bmi2_bzhi_<mode>3_2, *bmi2_bzhi_<mode>3_3):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1454 New define_insn patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1455
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1456 2020-01-23 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1457
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1458 * doc/sourcebuild.texi (check-function-bodies): Add an
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1459 optional target/xfail selector.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1460
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1461 2020-01-23 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1462
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1463 PR rtl-optimization/93124
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1464 * auto-inc-dec.c (merge_in_block): Don't add auto inc/decs to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1465 bare USE and CLOBBER insns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1466
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1467 2020-01-22 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1468
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1469 * config/arc/arc.c (output_short_suffix): Check insn for nullness.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1470
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1471 2020-01-22 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1472
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1473 PR analyzer/93307
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1474 * gdbinit.in (break-on-saved-diagnostic): Update for move of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1475 diagnostic_manager into "ana" namespace.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1476 * selftest-run-tests.c (selftest::run_tests): Update for move of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1477 selftest::run_analyzer_selftests to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1478 ana::selftest::run_analyzer_selftests.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1479
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1480 2020-01-22 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1481
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1482 * cfgexpand.c (union_stack_vars): Update the size.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1483
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1484 2020-01-22 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1485
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1486 PR tree-optimization/93381
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1487 * tree-ssa-structalias.c (find_func_aliases): Assume offsetting
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1488 throughout, handle all conversions the same.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1489
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1490 2020-01-22 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1491
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1492 PR target/93335
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1493 * config/aarch64/aarch64.c (aarch64_expand_subvti): Only use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1494 gen_subdi3_compare1_imm if low_in2 satisfies aarch64_plus_immediate
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1495 predicate, not whenever it is CONST_INT. Otherwise, force_reg it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1496 Call force_reg on high_in2 unconditionally.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1497
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1498 2020-01-22 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1499
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1500 PR tree-optimization/92924
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1501 * profile.c (compute_value_histograms): Divide
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1502 all counter values.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1503
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1504 2020-01-22 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1505
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1506 PR target/91298
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1507 * output.h (assemble_name_resolve): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1508 * varasm.c (assemble_name_resolve): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1509 (assemble_name): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1510 * config/i386/i386.h (ASM_OUTPUT_SYMBOL_REF): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1511
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1512 2020-01-22 Joseph Myers <joseph@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1513
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1514 * doc/sourcebuild.texi (Texinfo Manuals, Front End): Refer to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1515 update_web_docs_git instead of update_web_docs_svn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1516
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1517 2020-01-21 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1518
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1519 PR target/9311
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1520 * config/aarch64/aarch64.md (tlsgd_small_<mode>): Have operand 0
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1521 as PTR mode. Have operand 1 as being modeless, it can be P mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1522 (*tlsgd_small_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1523 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1524 <case SYMBOL_SMALL_TLSGD>: Call gen_tlsgd_small_* with a ptr_mode
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1525 register. Convert that register back to dest using convert_mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1526
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1527 2020-01-21 Jim Wilson <jimw@sifive.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1528
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1529 * config/riscv/riscv-sr.c (riscv_sr_match_prologue): Use INTVAL
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1530 instead of XINT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1531
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1532 2020-01-21 H.J. Lu <hongjiu.lu@intel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1533 Uros Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1534
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1535 PR target/93319
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1536 * config/i386/i386.c (ix86_tls_module_base): Replace Pmode
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1537 with ptr_mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1538 (legitimize_tls_address): Do GNU2 TLS address computation in
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1539 ptr_mode and zero-extend result to Pmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1540 * config/i386/i386.md (@tls_dynamic_gnu2_64_<mode>): Replace
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1541 :P with :PTR and Pmode with ptr_mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1542 (*tls_dynamic_gnu2_lea_64_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1543 (*tls_dynamic_gnu2_call_64_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1544 (*tls_dynamic_gnu2_combine_64_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1545
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1546 2020-01-21 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1547
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1548 PR target/93333
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1549 * config/riscv/riscv.c (riscv_rtx_costs) <case ZERO_EXTRACT>: Verify
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1550 the last two operands are CONST_INT_P before using them as such.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1551
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1552 2020-01-21 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1553
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1554 * config/aarch64/aarch64-sve-builtins.def: Use get_typenode_from_name
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1555 to get the integer element types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1556
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1557 2020-01-21 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1558
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1559 * config/aarch64/aarch64-sve-builtins.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1560 (function_expander::convert_to_pmode): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1561 * config/aarch64/aarch64-sve-builtins.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1562 (function_expander::convert_to_pmode): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1563 (function_expander::get_contiguous_base): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1564 (function_expander::prepare_gather_address_operands): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1565 * config/aarch64/aarch64-sve-builtins-sve2.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1566 (svwhilerw_svwhilewr_impl::expand): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1567
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1568 2020-01-21 Szabolcs Nagy <szabolcs.nagy@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1569
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1570 PR target/92424
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1571 * config/aarch64/aarch64.c (aarch64_declare_function_name): Set
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1572 cfun->machine->label_is_assembled.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1573 (aarch64_print_patchable_function_entry): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1574 (TARGET_ASM_PRINT_PATCHABLE_FUNCTION_ENTRY): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1575 * config/aarch64/aarch64.h (struct machine_function): New field,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1576 label_is_assembled.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1577
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1578 2020-01-21 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1579
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1580 PR ipa/93315
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1581 * ipa-profile.c (ipa_profile): Delete call_sums and set it to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1582 NULL on exit.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1583
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1584 2020-01-18 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1585
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1586 PR lto/93318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1587 * cgraph.c (cgraph_edge::resolve_speculation,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1588 cgraph_edge::redirect_call_stmt_to_callee): Fix update of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1589 call_stmt_site_hash.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1590
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1591 2020-01-21 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1592
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1593 * config/rs6000/rs6000.c (common_mode_defined): Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1594 unused variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1595
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1596 2020-01-21 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1597
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1598 PR tree-optimization/92328
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1599 * tree-ssa-sccvn.c (vn_reference_lookup_3): Preserve
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1600 type when value-numbering same-sized store by inserting a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1601 VIEW_CONVERT_EXPR.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1602 (eliminate_dom_walker::eliminate_stmt): When eliminating
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1603 a redundant store handle bit-reinterpretation of the same value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1604
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1605 2020-01-21 Andrew Pinski <apinski@marvel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1606
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1607 PR tree-opt/93321
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1608 * tree-into-ssa.c (prepare_block_for_update_1): Split out
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1609 from ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1610 (prepare_block_for_update): This. Use a worklist instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1611 recursing.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1612
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1613 2020-01-21 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1614
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1615 * gcc/config/arm/arm.c (clear_operation_p):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1616 Initialise last_regno, skip first iteration
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1617 based on the first_set value and use ints instead
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1618 of the unnecessary HOST_WIDE_INTs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1619
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1620 2020-01-21 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1621
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1622 PR target/93073
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1623 * config/rs6000/rs6000.c (rs6000_emit_cmove): If using fsel, punt for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1624 compare_mode other than SFmode or DFmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1625
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1626 2020-01-21 Kito Cheng <kito.cheng@sifive.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1627
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1628 PR target/93304
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1629 * config/riscv/riscv-protos.h (riscv_hard_regno_rename_ok): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1630 * config/riscv/riscv.c (riscv_hard_regno_rename_ok): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1631 * config/riscv/riscv.h (HARD_REGNO_RENAME_OK): Defined.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1632
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1633 2020-01-20 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1634
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1635 * config/aarch64/aarch64.c (neoversen1_tunings): Set jump_align to 4.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1636
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1637 2020-01-20 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1638
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1639 PR middle-end/93242
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1640 * targhooks.c (default_print_patchable_function_entry): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1641 output_asm_insn to emit the nop instruction.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1642
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1643 2020-01-20 Fangrui Song <maskray@google.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1644
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1645 PR middle-end/93194
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1646 * targhooks.c (default_print_patchable_function_entry): Align to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1647 POINTER_SIZE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1648
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1649 2020-01-20 H.J. Lu <hongjiu.lu@intel.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1650
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1651 PR target/93319
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1652 * config/i386/i386.c (legitimize_tls_address): Pass Pmode to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1653 gen_tls_dynamic_gnu2_64. Compute GNU2 TLS address in ptr_mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1654 * config/i386/i386.md (tls_dynamic_gnu2_64): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1655 (@tls_dynamic_gnu2_64_<mode>): This. Replace DI with P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1656 (*tls_dynamic_gnu2_lea_64): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1657 (*tls_dynamic_gnu2_lea_64_<mode>): This. Replace DI with P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1658 Remove the {q} suffix from lea.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1659 (*tls_dynamic_gnu2_call_64): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1660 (*tls_dynamic_gnu2_call_64_<mode>): This. Replace DI with P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1661 (*tls_dynamic_gnu2_combine_64): Renamed to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1662 (*tls_dynamic_gnu2_combine_64_<mode>): This. Replace DI with P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1663 Pass Pmode to gen_tls_dynamic_gnu2_64.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1664
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1665 2020-01-20 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1666
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1667 * config/aarch64/aarch64.h (SLOW_BYTE_ACCESS): Set to 1.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1668
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1669 2020-01-20 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1670
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1671 * config/aarch64/aarch64-sve-builtins-base.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1672 (svld1ro_impl::memory_vector_mode): Remove parameter name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1673
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1674 2020-01-20 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1675
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1676 PR debug/92763
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1677 * dwarf2out.c (prune_unused_types): Unconditionally mark
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1678 called function DIEs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1679
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1680 2020-01-20 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1681
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1682 PR tree-optimization/93199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1683 * tree-eh.c (struct leh_state): Add
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1684 new field outer_non_cleanup.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1685 (cleanup_is_dead_in): Pass leh_state instead
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1686 of eh_region. Add a checking that state->outer_non_cleanup
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1687 points to outer non-clean up region.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1688 (lower_try_finally): Record outer_non_cleanup
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1689 for this_state.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1690 (lower_catch): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1691 (lower_eh_filter): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1692 (lower_eh_must_not_throw): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1693 (lower_cleanup): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1694
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1695 2020-01-20 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1696
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1697 PR tree-optimization/93094
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1698 * tree-vectorizer.h (vect_loop_versioning): Adjust.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1699 (vect_transform_loop): Likewise.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1700 * tree-vectorizer.c (try_vectorize_loop_1): Pass down
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1701 loop_vectorized_call to vect_transform_loop.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1702 * tree-vect-loop.c (vect_transform_loop): Pass down
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1703 loop_vectorized_call to vect_loop_versioning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1704 * tree-vect-loop-manip.c (vect_loop_versioning): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1705 the earlier discovered loop_vectorized_call.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1706
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1707 2020-01-19 Eric S. Raymond <esr@thyrsus.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1708
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1709 * doc/contribute.texi: Update for SVN -> Git transition.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1710 * doc/install.texi: Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1711
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1712 2020-01-18 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1713
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1714 PR lto/93318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1715 * cgraph.c (cgraph_edge::make_speculative): Increase number of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1716 speculative targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1717 (verify_speculative_call): New function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1718 (cgraph_node::verify_node): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1719 * ipa-profile.c (ipa_profile): Fix formating; do not set number of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1720 speculations.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1721
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1722 2020-01-18 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1723
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1724 PR lto/93318
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1725 * cgraph.c (cgraph_edge::resolve_speculation): Fix foramting.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1726 (cgraph_edge::make_direct): Remove all indirect targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1727 (cgraph_edge::redirect_call_stmt_to_callee): Use make_direct..
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1728 (cgraph_node::verify_node): Verify that only one call_stmt or
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1729 lto_stmt_uid is set.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1730 * cgraphclones.c (cgraph_edge::clone): Set only one call_stmt or
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1731 lto_stmt_uid.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1732 * lto-cgraph.c (lto_output_edge): Simplify streaming of stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1733 (lto_output_ref): Simplify streaming of stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1734 * lto-streamer-in.c (fixup_call_stmt_edges_1): Clear lto_stmt_uid.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1735
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1736 2020-01-18 Tamar Christina <tamar.christina@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1737
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1738 * config/aarch64/aarch64-sve-builtins-base.cc (memory_vector_mode):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1739 Mark parameter unused.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1740
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1741 2020-01-18 Hans-Peter Nilsson <hp@axis.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1742
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1743 * config.gcc <obsolete targets>: Add crisv32-*-* and cris-*-linux*
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1744
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1745 2019-01-18 Gerald Pfeifer <gerald@pfeifer.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1746
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1747 * varpool.c (ctor_useable_for_folding_p): Fix grammar.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1748
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1749 2020-01-18 Iain Sandoe <iain@sandoe.co.uk>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1750
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1751 * Makefile.in: Add coroutine-passes.o.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1752 * builtin-types.def (BT_CONST_SIZE): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1753 (BT_FN_BOOL_PTR): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1754 (BT_FN_PTR_PTR_CONST_SIZE_BOOL): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1755 * builtins.def (DEF_COROUTINE_BUILTIN): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1756 * coroutine-builtins.def: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1757 * coroutine-passes.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1758 * function.h (struct GTY function): Add a bit to indicate that the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1759 function is a coroutine component.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1760 * internal-fn.c (expand_CO_FRAME): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1761 (expand_CO_YIELD): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1762 (expand_CO_SUSPN): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1763 (expand_CO_ACTOR): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1764 * internal-fn.def (CO_ACTOR): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1765 (CO_YIELD): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1766 (CO_SUSPN): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1767 (CO_FRAME): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1768 * passes.def: Add pass_coroutine_lower_builtins,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1769 pass_coroutine_early_expand_ifns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1770 * tree-pass.h (make_pass_coroutine_lower_builtins): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1771 (make_pass_coroutine_early_expand_ifns): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1772 * doc/invoke.texi: Document the fcoroutines command line
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1773 switch.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1774
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1775 2020-01-18 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1776
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1777 * config/arm/vfp.md (*clear_vfp_multiple): Remove unused variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1778
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1779 PR target/93312
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1780 * config/arm/arm.c (clear_operation_p): Don't use REGNO until
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1781 after checking the argument is a REG. Don't use REGNO (reg)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1782 again to set last_regno, reuse regno variable instead.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1783
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1784 2020-01-17 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1785
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1786 * doc/analyzer.texi (Limitations): Add note about NaN.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1787
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1788 2020-01-17 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1789 Sudakshina Das <sudi.das@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1790
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1791 * config/arm/arm.md (ashldi3): Generate thumb2_lsll for both reg
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1792 and valid immediate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1793 (ashrdi3): Generate thumb2_asrl for both reg and valid immediate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1794 (lshrdi3): Generate thumb2_lsrl for valid immediates.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1795 * config/arm/constraints.md (Pg): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1796 * config/arm/predicates.md (long_shift_imm): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1797 (arm_reg_or_long_shift_imm): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1798 * config/arm/thumb2.md (thumb2_asrl): New immediate alternative.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1799 (thumb2_lsll): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1800 (thumb2_lsrl): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1801
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1802 2020-01-17 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1803 Sudakshina Das <sudi.das@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1804
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1805 * config/arm/arm.md (ashldi3): Generate thumb2_lsll for TARGET_HAVE_MVE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1806 (ashrdi3): Generate thumb2_asrl for TARGET_HAVE_MVE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1807 * config/arm/arm.c (arm_hard_regno_mode_ok): Allocate even odd
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1808 register pairs for doubleword quantities for ARMv8.1M-Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1809 * config/arm/thumb2.md (thumb2_asrl): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1810 (thumb2_lsll): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1811
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1812 2020-01-17 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1813
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1814 * config/arm/arm.c (cmse_nonsecure_call_inline_register_clear): Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1815 unused variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1816
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1817 2020-01-17 Alexander Monakov <amonakov@ispras.ru>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1818
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1819 * gdbinit.in (help-gcc-hooks): New command.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1820 (pp, pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, ptc, pdn, ptn, pdd, prc,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1821 pi, pbm, pel, trt): Take $arg0 instead of $ if supplied. Update
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1822 documentation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1823
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1824 2020-01-17 Matthew Malcomson <matthew.malcomson@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1825
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1826 * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): Use the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1827 correct target macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1828
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1829 2020-01-17 Matthew Malcomson <matthew.malcomson@arm.com>
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1830
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
1831 * config/aarch64/aarch64-protos.h
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1832 (aarch64_sve_ld1ro_operand_p): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1833 * config/aarch64/aarch64-sve-builtins-base.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1834 (class load_replicate): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1835 (class svld1ro_impl): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1836 (class svld1rq_impl): Change to inherit from load_replicate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1837 (svld1ro): New sve intrinsic function base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1838 * config/aarch64/aarch64-sve-builtins-base.def (svld1ro):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1839 New DEF_SVE_FUNCTION.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1840 * config/aarch64/aarch64-sve-builtins-base.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1841 (svld1ro): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1842 * config/aarch64/aarch64-sve-builtins.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1843 (function_expander::add_mem_operand): Modify assert to allow
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1844 OImode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1845 * config/aarch64/aarch64-sve.md (@aarch64_sve_ld1ro<mode>): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1846 pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1847 * config/aarch64/aarch64.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1848 (aarch64_sve_ld1rq_operand_p): Implement in terms of ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1849 (aarch64_sve_ld1rq_ld1ro_operand_p): This.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1850 (aarch64_sve_ld1ro_operand_p): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1851 * config/aarch64/aarch64.md (UNSPEC_LD1RO): New unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1852 * config/aarch64/constraints.md (UOb,UOh,UOw,UOd): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1853 * config/aarch64/predicates.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1854 (aarch64_sve_ld1ro_operand_{b,h,w,d}): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1855
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1856 2020-01-17 Matthew Malcomson <matthew.malcomson@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1857
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1858 * config/aarch64/aarch64-c.c (_ARM_FEATURE_MATMUL_FLOAT64):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1859 Introduce this ACLE specified predefined macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1860 * config/aarch64/aarch64-option-extensions.def (f64mm): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1861 (fp): Disabling this disables f64mm.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1862 (simd): Disabling this disables f64mm.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1863 (fp16): Disabling this disables f64mm.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1864 (sve): Disabling this disables f64mm.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1865 * config/aarch64/aarch64.h (AARCH64_FL_F64MM): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1866 (AARCH64_ISA_F64MM): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1867 (TARGET_F64MM): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1868 * doc/invoke.texi (f64mm): Document new option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1869
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1870 2020-01-17 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1871
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1872 * config/aarch64/aarch64.c (generic_tunings): Add branch fusion.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1873 (neoversen1_tunings): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1874
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1875 2020-01-17 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1876
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1877 PR target/92692
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1878 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1879 Add assert to ensure prolog has been emitted.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1880 (aarch64_split_atomic_op): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1881 * config/aarch64/atomics.md (aarch64_compare_and_swap<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1882 Use epilogue_completed rather than reload_completed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1883 (aarch64_atomic_exchange<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1884 (aarch64_atomic_<atomic_optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1885 (atomic_nand<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1886 (aarch64_atomic_fetch_<atomic_optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1887 (atomic_fetch_nand<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1888 (aarch64_atomic_<atomic_optab>_fetch<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1889 (atomic_nand_fetch<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1890
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1891 2020-01-17 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1892
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1893 PR target/93133
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1894 * config/aarch64/aarch64.h (REVERSIBLE_CC_MODE): Return false
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1895 for FP modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1896 (REVERSE_CONDITION): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1897 * config/aarch64/iterators.md (CC_ONLY): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1898 (CCFP_CCFPE): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1899 (e): New mode attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1900 * config/aarch64/aarch64.md (ccmp<GPI:mode>): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1901 (@ccmp<CC_ONLY:mode><GPI:mode>): ...this, using CC_ONLY instead of CC.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1902 (fccmp<GPF:mode>, fccmpe<GPF:mode>): Merge into...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1903 (@ccmp<CCFP_CCFPE:mode><GPF:mode>): ...this combined pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1904 (@ccmp<CC_ONLY:mode><GPI:mode>_rev): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1905 (@ccmp<CCFP_CCFPE:mode><GPF:mode>_rev): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1906 * config/aarch64/aarch64.c (aarch64_gen_compare_reg): Update
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1907 name of generator from gen_ccmpdi to gen_ccmpccdi.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1908 (aarch64_gen_ccmp_next): Use code_for_ccmp. If we want to reverse
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1909 the previous comparison but aren't able to, use the new ccmp_rev
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1910 patterns instead.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1911
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1912 2020-01-17 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1913
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1914 * gimplify.c (gimplify_return_expr): Use poly_int_tree_p rather
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1915 than testing directly for INTEGER_CST.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1916 (gimplify_target_expr, gimplify_omp_depend): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1917
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1918 2020-01-17 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1919
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1920 PR tree-optimization/93292
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1921 * tree-vect-stmts.c (vectorizable_comparison): Punt also if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1922 get_vectype_for_scalar_type returns NULL.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1923
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1924 2020-01-16 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1925
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1926 * params.opt (-param=max-predicted-iterations): Increase range from 0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1927 * predict.c (estimate_loops): Add 1 to param_max_predicted_iterations.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1928
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1929 2020-01-16 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1930
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1931 * ipa-fnsummary.c (estimate_calls_size_and_time): Fix formating of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1932 dump.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1933 * params.opt: (max-predicted-iterations): Set bounds.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1934 * predict.c (real_almost_one, real_br_prob_base,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1935 real_inv_br_prob_base, real_one_half, real_bb_freq_max): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1936 (propagate_freq): Add max_cyclic_prob parameter; cap cyclic
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1937 probabilities; do not truncate to reg_br_prob_bases.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1938 (estimate_loops_at_level): Pass max_cyclic_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1939 (estimate_loops): Compute max_cyclic_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1940 (estimate_bb_frequencies): Do not initialize real_*; update calculation
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1941 of back edge prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1942 * profile-count.c (profile_probability::to_sreal): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1943 * profile-count.h (class sreal): Move up in file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1944 (profile_probability::to_sreal): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1945
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1946 2020-01-16 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1947
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1948 * config/arm/arm.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1949 (arm_invalid_conversion): New function for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1950 (arm_invalid_unary_op): New function for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1951 (arm_invalid_binary_op): New function for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1952
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1953 2020-01-16 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1954
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1955 * config.gcc: Add arm_bf16.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1956 * config/arm/arm-builtins.c (arm_mangle_builtin_type): Fix comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1957 (arm_simd_builtin_std_type): Add BFmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1958 (arm_init_simd_builtin_types): Define element types for vector types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1959 (arm_init_bf16_types): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1960 (arm_init_builtins): Add arm_init_bf16_types function call.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1961 * config/arm/arm-modes.def: Add BFmode and V4BF, V8BF vector modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1962 * config/arm/arm-simd-builtin-types.def: Add V4BF, V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1963 * config/arm/arm.c (aapcs_vfp_sub_candidate): Add BFmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1964 (arm_hard_regno_mode_ok): Add BFmode and tidy up statements.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1965 (arm_vector_mode_supported_p): Add V4BF, V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1966 (arm_mangle_type): Add __bf16.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1967 * config/arm/arm.h: Add V4BF, V8BF to VALID_NEON_DREG_MODE,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1968 VALID_NEON_QREG_MODE respectively. Add export arm_bf16_type_node,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1969 arm_bf16_ptr_type_node.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1970 * config/arm/arm.md: Add BFmode to movhf expand, mov pattern and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1971 define_split between ARM registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1972 * config/arm/arm_bf16.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1973 * config/arm/arm_neon.h: Add arm_bf16.h and Bfloat vector types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1974 * config/arm/iterators.md: (ANY64_BF, VDXMOV, VHFBF, HFBF, fporbf): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1975 (VQXMOV): Add V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1976 * config/arm/neon.md: Add BF vector types to movhf NEON move patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1977 * config/arm/vfp.md: Add BFmode to movhf patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1978
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1979 2020-01-16 Mihail Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1980 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1981
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1982 * config/arm/arm-cpus.in (mve, mve_float): New features.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1983 (dsp, mve, mve.fp): New options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1984 * config/arm/arm.h (TARGET_HAVE_MVE, TARGET_HAVE_MVE_FLOAT): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1985 * config/arm/t-rmprofile: Map v8.1-M multilibs to v8-M.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1986 * doc/invoke.texi: Document the armv8.1-m mve and dps options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1987
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1988 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1989 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1990
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1991 * config/arm/arm-cpus.in (ARMv8_1m_main): Redefine as an extension to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1992 Armv8-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1993 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Remove
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1994 error for using -mcmse when targeting Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1995
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1996 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1997 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1998
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
1999 * config/arm/arm.md (nonsecure_call_internal): Do not force memory
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2000 address in r4 when targeting Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2001 (nonsecure_call_value_internal): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2002 * config/arm/thumb2.md (nonsecure_call_reg_thumb2): Make memory address
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2003 a register match_operand again. Emit BLXNS when targeting
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2004 Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2005 (nonsecure_call_value_reg_thumb2): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2006
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2007 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2008 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2009
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2010 * config/arm/arm.c (arm_add_cfa_adjust_cfa_note): Declare early.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2011 (cmse_nonsecure_call_inline_register_clear): Define new lazy_fpclear
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2012 variable as true when floating-point ABI is not hard. Replace
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2013 check against TARGET_HARD_FLOAT_ABI by checks against lazy_fpclear.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2014 Generate VLSTM and VLLDM instruction respectively before and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2015 after a function call to cmse_nonsecure_call function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2016 * config/arm/unspecs.md (VUNSPEC_VLSTM): Define unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2017 (VUNSPEC_VLLDM): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2018 * config/arm/vfp.md (lazy_store_multiple_insn): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2019 (lazy_load_multiple_insn): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2020
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2021 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2022 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2023
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2024 * config/arm/arm.c (vfp_emit_fstmd): Declare early.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2025 (arm_emit_vfp_multi_reg_pop): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2026 (cmse_nonsecure_call_inline_register_clear): Abstract number of VFP
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2027 registers to clear in max_fp_regno. Emit VPUSH and VPOP to save and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2028 restore callee-saved VFP registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2029
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2030 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2031 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2032
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2033 * config/arm/arm.c (arm_emit_multi_reg_pop): Declare early.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2034 (cmse_nonsecure_call_clear_caller_saved): Rename into ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2035 (cmse_nonsecure_call_inline_register_clear): This. Save and clear
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2036 callee-saved GPRs as well as clear ip register before doing a nonsecure
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2037 call then restore callee-saved GPRs after it when targeting
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2038 Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2039 (arm_reorg): Adapt to function rename.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2040
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2041 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2042 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2043
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2044 * config/arm/arm-protos.h (clear_operation_p): Adapt prototype.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2045 * config/arm/arm.c (clear_operation_p): Extend to be able to check a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2046 clear_vfp_multiple pattern based on a new vfp parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2047 (cmse_clear_registers): Generate VSCCLRM to clear VFP registers when
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2048 targeting Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2049 (cmse_nonsecure_entry_clear_before_return): Clear VFP registers
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2050 unconditionally when targeting Armv8.1-M Mainline architecture. Check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2051 whether VFP registers are available before looking call_used_regs for a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2052 VFP register.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2053 * config/arm/predicates.md (clear_multiple_operation): Adapt to change
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2054 of prototype of clear_operation_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2055 (clear_vfp_multiple_operation): New predicate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2056 * config/arm/unspecs.md (VUNSPEC_VSCCLRM_VPR): New volatile unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2057 * config/arm/vfp.md (clear_vfp_multiple): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2058
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2059 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2060 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2061
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2062 * config/arm/arm-protos.h (clear_operation_p): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2063 * config/arm/arm.c (clear_operation_p): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2064 (cmse_clear_registers): Generate clear_multiple instruction pattern if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2065 targeting Armv8.1-M Mainline or successor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2066 (output_return_instruction): Only output APSR register clearing if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2067 Armv8.1-M Mainline instructions not available.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2068 (thumb_exit): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2069 * config/arm/predicates.md (clear_multiple_operation): New predicate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2070 * config/arm/thumb2.md (clear_apsr): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2071 (clear_multiple): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2072 * config/arm/unspecs.md (VUNSPEC_CLRM_APSR): New volatile unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2073
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2074 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2075 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2076
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2077 * config/arm/arm.c (fp_sysreg_names): Declare and define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2078 (use_return_insn): Also return false for Armv8.1-M Mainline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2079 (output_return_instruction): Skip FPSCR clearing if Armv8.1-M
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2080 Mainline instructions are available.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2081 (arm_compute_frame_layout): Allocate space in frame for FPCXTNS
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2082 when targeting Armv8.1-M Mainline Security Extensions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2083 (arm_expand_prologue): Save FPCXTNS if this is an Armv8.1-M
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2084 Mainline entry function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2085 (cmse_nonsecure_entry_clear_before_return): Clear IP and r4 if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2086 targeting Armv8.1-M Mainline or successor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2087 (arm_expand_epilogue): Fix indentation of caller-saved register
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2088 clearing. Restore FPCXTNS if this is an Armv8.1-M Mainline
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2089 entry function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2090 * config/arm/arm.h (TARGET_HAVE_FP_CMSE): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2091 (FP_SYSREGS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2092 (enum vfp_sysregs_encoding): Define enum.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2093 (fp_sysreg_names): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2094 * config/arm/unspecs.md (VUNSPEC_VSTR_VLDR): New volatile unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2095 * config/arm/vfp.md (push_fpsysreg_insn): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2096 (pop_fpsysreg_insn): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2097
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2098 2020-01-16 Mihail-Calin Ionescu <mihail.ionescu@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2099 Thomas Preud'homme <thomas.preudhomme@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2100
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2101 * config/arm/arm-cpus.in (armv8_1m_main): New feature.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2102 (ARMv4, ARMv4t, ARMv5t, ARMv5te, ARMv5tej, ARMv6, ARMv6j, ARMv6k,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2103 ARMv6z, ARMv6kz, ARMv6zk, ARMv6t2, ARMv6m, ARMv7, ARMv7a, ARMv7ve,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2104 ARMv7r, ARMv7m, ARMv7em, ARMv8a, ARMv8_1a, ARMv8_2a, ARMv8_3a,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2105 ARMv8_4a, ARMv8_5a, ARMv8m_base, ARMv8m_main, ARMv8r): Reindent.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2106 (ARMv8_1m_main): New feature group.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2107 (armv8.1-m.main): New architecture.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2108 * config/arm/arm-tables.opt: Regenerate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2109 * config/arm/arm.c (arm_arch8_1m_main): Define and default initialize.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2110 (arm_option_reconfigure_globals): Initialize arm_arch8_1m_main.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2111 (arm_options_perform_arch_sanity_checks): Error out when targeting
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2112 Armv8.1-M Mainline Security Extensions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2113 * config/arm/arm.h (arm_arch8_1m_main): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2114
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2115 2020-01-16 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2116
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2117 * config/aarch64/aarch64-simd-builtins.def (aarch64_bfdot,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2118 aarch64_bfdot_lane, aarch64_bfdot_laneq): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2119 * config/aarch64/aarch64-simd.md (aarch64_bfdot, aarch64_bfdot_lane,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2120 aarch64_bfdot_laneq): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2121 * config/aarch64/arm_bf16.h (vbfdot_f32, vbfdotq_f32,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2122 vbfdot_lane_f32, vbfdotq_lane_f32, vbfdot_laneq_f32,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2123 vbfdotq_laneq_f32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2124 * config/aarch64/iterators.md (UNSPEC_BFDOT, Vbfdottype,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2125 VBFMLA_W, VBF): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2126 (isquadop): Add V4BF, V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2127
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2128 2020-01-16 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2129
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2130 * config/aarch64/aarch64-builtins.c: (enum aarch64_type_qualifiers):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2131 New qualifier_lane_quadtup_index, TYPES_TERNOP_SSUS,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2132 TYPES_QUADOPSSUS_LANE_QUADTUP, TYPES_QUADOPSSSU_LANE_QUADTUP.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2133 (aarch64_simd_expand_args): Add case SIMD_ARG_LANE_QUADTUP_INDEX.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2134 (aarch64_simd_expand_builtin): Add qualifier_lane_quadtup_index.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2135 * config/aarch64/aarch64-simd-builtins.def (usdot, usdot_lane,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2136 usdot_laneq, sudot_lane,sudot_laneq): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2137 * config/aarch64/aarch64-simd.md (aarch64_usdot): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2138 (aarch64_<sur>dot_lane): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2139 * config/aarch64/arm_neon.h (vusdot_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2140 (vusdotq_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2141 (vusdot_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2142 (vsudot_lane_s32): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2143 * config/aarch64/iterators.md (DOTPROD_I8MM): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2144 (UNSPEC_USDOT, UNSPEC_SUDOT): New unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2146 2020-01-16 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2147
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2148 * value-prof.c (dump_histogram_value): Fix
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2149 obvious spacing issue.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2150
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2151 2020-01-16 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2152
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2153 * tree-ssa-sccvn.c(vn_reference_lookup_3): Check lhs for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2154 !storage_order_barrier_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2155
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2156 2020-01-16 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2157
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2158 * sched-int.h (_dep): Add unused bit-field field for the padding.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2159 * sched-deps.c (init_dep_1): Init unused field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2160
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2161 2020-01-16 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2162
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2163 * optabs.h (create_expand_operand): Initialize target field also.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2164
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2165 2020-01-16 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2166
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2167 PR tree-optimization/92429
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2168 * tree-ssa-loop-niter.h (simplify_replace_tree): Add parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2169 * tree-ssa-loop-niter.c (simplify_replace_tree): Add parameter to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2170 control folding.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2171 * tree-vect-loop.c (update_epilogue_vinfo): Do not fold when replacing
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2172 tree.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2173
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2174 2020-01-16 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2175
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2176 * config/aarch64/aarch64.c (aarch64_split_sve_subreg_move): Apply
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2177 aarch64_sve_int_mode to each mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2178
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2179 2020-01-15 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2180
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2181 * doc/analyzer.texi (Overview): Add note about
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2182 -fdump-ipa-analyzer.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2183
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2184 2020-01-15 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2185
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2186 PR tree-optimization/93231
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2187 * tree-ssa-forwprop.c (optimize_count_trailing_zeroes): Check
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2188 input_type is unsigned. Use tree_to_shwi for shift constant.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2189 Check CST_STRING element size is CHAR_TYPE_SIZE bits.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2190 (simplify_count_trailing_zeroes): Add test to handle known non-zero
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2191 inputs more efficiently.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2192
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2193 2020-01-15 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2194
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2195 * config/i386/i386.md (*movsf_internal): Do not require
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2196 SSE2 ISA for alternatives 14 and 15.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2197
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2198 2020-01-15 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2200 PR middle-end/93273
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2201 * tree-eh.c (sink_clobbers): If we already visited the destination
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2202 block do not defer insertion.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2203 (pass_lower_eh_dispatch::execute): Maintain BB_VISITED for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2204 the purpose of defered insertion.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2205
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2206 2020-01-15 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2207
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2208 * BASE-VER: Bump to 10.0.1.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2209
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2210 2020-01-15 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2211
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2212 PR tree-optimization/93247
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2213 * tree-vect-loop.c (update_epilogue_loop_vinfo): Check the access
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2214 type of the stmt that we're going to vectorize.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2215
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2216 2020-01-15 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2217
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2218 * tree-vect-slp.c (vectorize_slp_instance_root_stmt): Use a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2219 VIEW_CONVERT_EXPR if the vectorized constructor has a diffeent
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2220 type from the lhs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2221
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2222 2020-01-15 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2223
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2224 * ipa-profile.c (ipa_profile_read_edge_summary): Do not allow
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2225 2 calls of streamer_read_hwi in a function call.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2226
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2227 2020-01-15 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2228
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2229 * alias.c (record_alias_subset): Avoid redundant work when
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2230 subset is already recorded.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2231
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2232 2020-01-14 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2233
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2234 * doc/invoke.texi (-fdiagnostics-show-cwe): Add note that some of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2235 the analyzer options provide CWE identifiers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2236
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2237 2020-01-14 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2238
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2239 * tree-diagnostic-path.cc (path_summary::event_range::print):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2240 When testing for UNKNOWN_LOCATION, look through ad-hoc wrappers
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2241 using get_pure_location.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2242
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2243 2020-01-15 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2244
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2245 PR tree-optimization/93262
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2246 * tree-ssa-dse.c (maybe_trim_memstar_call): For *_chk builtins,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2247 perform head trimming only if the last argument is constant,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2248 either all ones, or larger or equal to head trim, in the latter
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2249 case decrease the last argument by head_trim.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2250
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2251 PR tree-optimization/93249
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2252 * tree-ssa-dse.c: Include builtins.h and gimple-fold.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2253 (maybe_trim_memstar_call): Move head_trim and tail_trim vars to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2254 function body scope, reindent. For BUILTIN_IN_STRNCPY*, don't
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2255 perform head trim unless we can prove there are no '\0' chars
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2256 from the source among the first head_trim chars.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2257
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2258 2020-01-14 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2259
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2260 * Makefile.in (ANALYZER_OBJS): Add analyzer/function-set.o.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2261
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2262 2020-01-15 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2263
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2264 PR target/93009
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2265 * config/i386/sse.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2266 (*<sd_mask_codefor>fma_fmadd_<mode><sd_maskz_name>_bcst_1,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2267 *<sd_mask_codefor>fma_fmsub_<mode><sd_maskz_name>_bcst_1,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2268 *<sd_mask_codefor>fma_fnmadd_<mode><sd_maskz_name>_bcst_1,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2269 *<sd_mask_codefor>fma_fnmsub_<mode><sd_maskz_name>_bcst_1): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2270 just a single alternative instead of two, make operands 1 and 2
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2271 commutative.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2272
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2273 2020-01-14 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2274
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2275 PR lto/91576
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2276 * ipa-devirt.c (odr_types_equivalent_p): Compare TREE_ADDRESSABLE and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2277 TYPE_MODE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2278
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2279 2020-01-14 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2280
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2281 * Makefile.in (lang_opt_files): Add analyzer.opt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2282 (ANALYZER_OBJS): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2283 (OBJS): Add digraph.o, graphviz.o, ordered-hash-map-tests.o,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2284 tristate.o and ANALYZER_OBJS.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2285 (TEXI_GCCINT_FILES): Add analyzer.texi.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2286 * common.opt (-fanalyzer): New driver option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2287 * config.in: Regenerate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2288 * configure: Regenerate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2289 * configure.ac (--disable-analyzer, ENABLE_ANALYZER): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2290 (gccdepdir): Also create depdir for "analyzer" subdir.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2291 * digraph.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2292 * digraph.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2293 * doc/analyzer.texi: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2294 * doc/gccint.texi ("Static Analyzer") New menu item.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2295 (analyzer.texi): Include it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2296 * doc/invoke.texi ("Static Analyzer Options"): New list and new section.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2297 ("Warning Options"): Add static analysis warnings to the list.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2298 (-Wno-analyzer-double-fclose): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2299 (-Wno-analyzer-double-free): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2300 (-Wno-analyzer-exposure-through-output-file): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2301 (-Wno-analyzer-file-leak): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2302 (-Wno-analyzer-free-of-non-heap): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2303 (-Wno-analyzer-malloc-leak): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2304 (-Wno-analyzer-possible-null-argument): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2305 (-Wno-analyzer-possible-null-dereference): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2306 (-Wno-analyzer-null-argument): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2307 (-Wno-analyzer-null-dereference): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2308 (-Wno-analyzer-stale-setjmp-buffer): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2309 (-Wno-analyzer-tainted-array-index): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2310 (-Wno-analyzer-use-after-free): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2311 (-Wno-analyzer-use-of-pointer-in-stale-stack-frame): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2312 (-Wno-analyzer-use-of-uninitialized-value): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2313 (-Wanalyzer-too-complex): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2314 (-fanalyzer-call-summaries): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2315 (-fanalyzer-checker=): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2316 (-fanalyzer-fine-grained): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2317 (-fno-analyzer-state-merge): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2318 (-fno-analyzer-state-purge): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2319 (-fanalyzer-transitivity): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2320 (-fanalyzer-verbose-edges): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2321 (-fanalyzer-verbose-state-changes): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2322 (-fanalyzer-verbosity=): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2323 (-fdump-analyzer): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2324 (-fdump-analyzer-callgraph): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2325 (-fdump-analyzer-exploded-graph): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2326 (-fdump-analyzer-exploded-nodes): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2327 (-fdump-analyzer-exploded-nodes-2): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2328 (-fdump-analyzer-exploded-nodes-3): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2329 (-fdump-analyzer-supergraph): New warning.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2330 * doc/sourcebuild.texi (dg-require-dot): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2331 (dg-check-dot): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2332 * gdbinit.in (break-on-saved-diagnostic): New command.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2333 * graphviz.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2334 * graphviz.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2335 * ordered-hash-map-tests.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2336 * ordered-hash-map.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2337 * passes.def (pass_analyzer): Add before
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2338 pass_ipa_whole_program_visibility.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2339 * selftest-run-tests.c (selftest::run_tests): Call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2340 selftest::ordered_hash_map_tests_cc_tests.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2341 * selftest.h (selftest::ordered_hash_map_tests_cc_tests): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2342 decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2343 * shortest-paths.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2344 * timevar.def (TV_ANALYZER): New timevar.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2345 (TV_ANALYZER_SUPERGRAPH): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2346 (TV_ANALYZER_STATE_PURGE): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2347 (TV_ANALYZER_PLAN): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2348 (TV_ANALYZER_SCC): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2349 (TV_ANALYZER_WORKLIST): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2350 (TV_ANALYZER_DUMP): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2351 (TV_ANALYZER_DIAGNOSTICS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2352 (TV_ANALYZER_SHORTEST_PATHS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2353 * tree-pass.h (make_pass_analyzer): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2354 * tristate.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2355 * tristate.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2356
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2357 2020-01-14 Uroš Bizjak <ubizjak@gmail.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2358
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2359 PR target/93254
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2360 * config/i386/i386.md (*movsf_internal): Require SSE2 ISA for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2361 alternatives 9 and 10.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2362
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2363 2020-01-14 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2364
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2365 * attribs.c (excl_hash_traits::empty_zero_p): New static constant.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2366 * gcov.c (function_start_pair_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2367 * graphite.c (struct sese_scev_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2368 * hash-map-tests.c (selftest::test_nonzero_empty_key): New selftest.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2369 (selftest::hash_map_tests_c_tests): Call it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2370 * hash-map-traits.h (simple_hashmap_traits::empty_zero_p):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2371 New static constant, using the value of = H::empty_zero_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2372 (unbounded_hashmap_traits::empty_zero_p): Likewise, using the value
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2373 from default_hash_traits <Value>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2374 * hash-map.h (hash_map::empty_zero_p): Likewise, using the value
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2375 from Traits.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2376 * hash-set-tests.c (value_hash_traits::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2377 * hash-table.h (hash_table::alloc_entries): Guard the loop of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2378 calls to mark_empty with !Descriptor::empty_zero_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2379 (hash_table::empty_slow): Conditionalize the memset call with a
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2380 check that Descriptor::empty_zero_p; otherwise, loop through the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2381 entries calling mark_empty on them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2382 * hash-traits.h (int_hash::empty_zero_p): New static constant.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2383 (pointer_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2384 (pair_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2385 * ipa-devirt.c (default_hash_traits <type_pair>::empty_zero_p):
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2386 Likewise.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2387 * ipa-prop.c (ipa_bit_ggc_hash_traits::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2388 (ipa_vr_ggc_hash_traits::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2389 * profile.c (location_triplet_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2390 * sanopt.c (sanopt_tree_triplet_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2391 (sanopt_tree_couple_hash::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2392 * tree-hasher.h (int_tree_hasher::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2393 * tree-ssa-sccvn.c (vn_ssa_aux_hasher::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2394 * tree-vect-slp.c (bst_traits::empty_zero_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2395 * tree-vectorizer.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2396 (default_hash_traits<scalar_cond_masked_key>::empty_zero_p):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2397 Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2398
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2399 2020-01-14 Kewen Lin <linkw@gcc.gnu.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2400
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2401 * cfgloopanal.c (average_num_loop_insns): Free bbs when early return,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2402 fix typo on return value.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2403
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2404 2020-01-14 Xiong Hu Luo <luoxhu@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2405
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2406 PR ipa/69678
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2407 * cgraph.c (symbol_table::create_edge): Init speculative_id and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2408 target_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2409 (cgraph_edge::make_speculative): Add param for setting speculative_id
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2410 and target_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2411 (cgraph_edge::speculative_call_info): Update comments and find reference
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2412 by speculative_id for multiple indirect targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2413 (cgraph_edge::resolve_speculation): Decrease the speculations
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2414 for indirect edge, drop it's speculative if not direct target
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2415 left. Update comments.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2416 (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2417 (cgraph_node::dump): Print num_speculative_call_targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2418 (cgraph_node::verify_node): Don't report error if speculative
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2419 edge not include statement.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2420 (cgraph_edge::num_speculative_call_targets_p): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2421 * cgraph.h (int common_target_id): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2422 (int common_target_probability): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2423 (num_speculative_call_targets): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2424 (make_speculative): Add param for setting speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2425 (cgraph_edge::num_speculative_call_targets_p): New declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2426 (target_prob): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2427 (speculative_id): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2428 * ipa-fnsummary.c (analyze_function_body): Create and duplicate
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2429 call summaries for multiple speculative call targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2430 * cgraphclones.c (cgraph_node::create_clone): Clone speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2431 * ipa-profile.c (struct speculative_call_target): New struct.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2432 (class speculative_call_summary): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2433 (class speculative_call_summaries): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2434 (call_sums): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2435 (ipa_profile_generate_summary): Generate indirect multiple targets summaries.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2436 (ipa_profile_write_edge_summary): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2437 (ipa_profile_write_summary): Stream out indirect multiple targets summaries.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2438 (ipa_profile_dump_all_summaries): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2439 (ipa_profile_read_edge_summary): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2440 (ipa_profile_read_summary_section): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2441 (ipa_profile_read_summary): Stream in indirect multiple targets summaries.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2442 (ipa_profile): Generate num_speculative_call_targets from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2443 profile summaries.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2444 * ipa-ref.h (speculative_id): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2445 * ipa-utils.c (ipa_merge_profiles): Update with target_prob.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2446 * lto-cgraph.c (lto_output_edge): Remove indirect common_target_id and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2447 common_target_probability. Stream out speculative_id and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2448 num_speculative_call_targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2449 (input_edge): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2450 * predict.c (dump_prediction): Remove edges count assert to be
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2451 precise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2452 * symtab.c (symtab_node::create_reference): Init speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2453 (symtab_node::clone_references): Clone speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2454 (symtab_node::clone_referring): Clone speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2455 (symtab_node::clone_reference): Clone speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2456 (symtab_node::clear_stmts_in_references): Clear speculative_id.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2457 * tree-inline.c (copy_bb): Duplicate all the speculative edges
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2458 if indirect call contains multiple speculative targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2459 * value-prof.h (check_ic_target): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2460 * value-prof.c (gimple_value_profile_transformations):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2461 Use void function gimple_ic_transform.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2462 * value-prof.c (gimple_ic_transform): Handle topn case.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2463 Fix comment typos. Change it to a void function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2464
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2465 2020-01-13 Andrew Pinski <apinski@marvell.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2466
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2467 * config/aarch64/aarch64-cores.def (octeontx2): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2468 (octeontx2t98): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2469 (octeontx2t96): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2470 (octeontx2t93): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2471 (octeontx2f95): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2472 (octeontx2f95n): New define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2473 (octeontx2f95mm): New define.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2474 * config/aarch64/aarch64-tune.md: Regenerate.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2475 * doc/invoke.texi (-mcpu=): Document the new cpu types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2476
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2477 2020-01-13 Jason Merrill <jason@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2478
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2479 PR c++/33799 - destroy return value if local cleanup throws.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2480 * gimplify.c (gimplify_return_expr): Handle COMPOUND_EXPR.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2481
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2482 2020-01-13 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2483
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2484 * ipa-cp.c (get_max_overall_size): Use newly
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2485 renamed param param_ipa_cp_unit_growth.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2486 * params.opt: Remove legacy param name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2487
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2488 2020-01-13 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2489
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2490 PR tree-optimization/93213
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2491 * tree-ssa-strlen.c (handle_store): Only allow single-byte nul-over-nul
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2492 stores to be eliminated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2493
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2494 2020-01-13 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2495
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2496 * opts.c (print_help): Do not print CL_PARAM
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2497 and CL_WARNING for CL_OPTIMIZATION.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2498
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2499 2020-01-13 Jonathan Wakely <jwakely@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2500
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2501 PR driver/92757
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2502 * doc/invoke.texi (Warning Options): Add caveat about some warnings
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2503 depending on optimization settings.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2504
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2505 2020-01-13 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2506
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2507 PR tree-optimization/90838
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2508 * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2509 SCALAR_INT_TYPE_MODE directly in CTZ_DEFINED_VALUE_AT_ZERO macro
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2510 argument rather than to initialize temporary for targets that
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2511 don't use the mode argument at all. Initialize ctzval to avoid
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2512 warning at -O0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2513
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2514 2020-01-10 Thomas Schwinge <thomas@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2515
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2516 * tree.h (OMP_CLAUSE_USE_DEVICE_PTR_IF_PRESENT): New definition.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2517 * tree-core.h: Document it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2518 * gimplify.c (gimplify_omp_workshare): Set it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2519 * omp-low.c (lower_omp_target): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2520 * tree-pretty-print.c (dump_omp_clause): Print it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2521
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2522 * omp-low.c (lower_omp_target) <OMP_CLAUSE_USE_DEVICE_PTR etc.>:
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2523 Assert that for OpenACC we always have 'GOMP_MAP_USE_DEVICE_PTR'.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2524
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2525 2020-01-10 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2526
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2527 * Makefile.in (OBJS): Add tree-diagnostic-path.o.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2528 * common.opt (fdiagnostics-path-format=): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2529 (diagnostic_path_format): New enum.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2530 (fdiagnostics-show-path-depths): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2531 * coretypes.h (diagnostic_event_id_t): New forward decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2532 * diagnostic-color.c (color_dict): Add "path".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2533 * diagnostic-event-id.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2534 * diagnostic-format-json.cc (json_from_expanded_location): Make
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2535 non-static.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2536 (json_end_diagnostic): Call context->make_json_for_path if it
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2537 exists and the diagnostic has a path.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2538 (diagnostic_output_format_init): Clear context->print_path.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2539 * diagnostic-path.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2540 * diagnostic-show-locus.c (colorizer::set_range): Special-case
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2541 when printing a run of events in a diagnostic_path so that they
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2542 all get the same color.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2543 (layout::m_diagnostic_path_p): New field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2544 (layout::layout): Initialize it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2545 (layout::print_any_labels): Don't colorize the label text for an
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2546 event in a diagnostic_path.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2547 (gcc_rich_location::add_location_if_nearby): Add
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2548 "restrict_to_current_line_spans" and "label" params. Pass the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2549 former to layout.maybe_add_location_range; pass the latter
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2550 when calling add_range.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2551 * diagnostic.c: Include "diagnostic-path.h".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2552 (diagnostic_initialize): Initialize context->path_format and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2553 context->show_path_depths.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2554 (diagnostic_show_any_path): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2555 (diagnostic_path::interprocedural_p): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2556 (diagnostic_report_diagnostic): Call diagnostic_show_any_path.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2557 (simple_diagnostic_path::num_events): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2558 (simple_diagnostic_path::get_event): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2559 (simple_diagnostic_path::add_event): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2560 (simple_diagnostic_event::simple_diagnostic_event): New ctor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2561 (simple_diagnostic_event::~simple_diagnostic_event): New dtor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2562 (debug): New overload taking a diagnostic_path *.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2563 * diagnostic.def (DK_DIAGNOSTIC_PATH): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2564 * diagnostic.h (enum diagnostic_path_format): New enum.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2565 (json::value): New forward decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2566 (diagnostic_context::path_format): New field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2567 (diagnostic_context::show_path_depths): New field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2568 (diagnostic_context::print_path): New callback field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2569 (diagnostic_context::make_json_for_path): New callback field.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2570 (diagnostic_show_any_path): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2571 (json_from_expanded_location): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2572 * doc/invoke.texi (-fdiagnostics-path-format=): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2573 (-fdiagnostics-show-path-depths): New option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2574 (-fdiagnostics-color): Add "path" to description of default
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2575 GCC_COLORS; describe it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2576 (-fdiagnostics-format=json): Document how diagnostic paths are
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2577 represented in the JSON output format.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2578 * gcc-rich-location.h (gcc_rich_location::add_location_if_nearby):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2579 Add optional params "restrict_to_current_line_spans" and "label".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2580 * opts.c (common_handle_option): Handle
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2581 OPT_fdiagnostics_path_format_ and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2582 OPT_fdiagnostics_show_path_depths.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2583 * pretty-print.c: Include "diagnostic-event-id.h".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2584 (pp_format): Implement "%@" format code for printing
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2585 diagnostic_event_id_t *.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2586 (selftest::test_pp_format): Add tests for "%@".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2587 * selftest-run-tests.c (selftest::run_tests): Call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2588 selftest::tree_diagnostic_path_cc_tests.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2589 * selftest.h (selftest::tree_diagnostic_path_cc_tests): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2590 * toplev.c (general_init): Initialize global_dc->path_format and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2591 global_dc->show_path_depths.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2592 * tree-diagnostic-path.cc: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2593 * tree-diagnostic.c (maybe_unwind_expanded_macro_loc): Make
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2594 non-static. Drop "diagnostic" param in favor of storing the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2595 original value of "where" and re-using it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2596 (virt_loc_aware_diagnostic_finalizer): Update for dropped param of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2597 maybe_unwind_expanded_macro_loc.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2598 (tree_diagnostics_defaults): Initialize context->print_path and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2599 context->make_json_for_path.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2600 * tree-diagnostic.h (default_tree_diagnostic_path_printer): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2601 decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2602 (default_tree_make_json_for_path): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2603 (maybe_unwind_expanded_macro_loc): New decl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2604
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2605 2020-01-10 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2606
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2607 PR tree-optimization/93210
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2608 * fold-const.h (native_encode_initializer,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2609 can_native_interpret_type_p): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2610 * fold-const.c (native_encode_string): Fix up handling with off != -1,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2611 simplify.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2612 (native_encode_initializer): New function, moved from dwarf2out.c.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2613 Adjust to native_encode_expr compatible arguments, including dry-run
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2614 and partial extraction modes. Don't handle STRING_CST.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2615 (can_native_interpret_type_p): No longer static.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2616 * gimple-fold.c (fold_ctor_reference): For native_encode_expr, verify
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2617 offset / BITS_PER_UNIT fits into int and don't call it if
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2618 can_native_interpret_type_p fails. If suboff is NULL and for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2619 CONSTRUCTOR fold_{,non}array_ctor_reference returns NULL, retry with
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2620 native_encode_initializer.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2621 (fold_const_aggregate_ref_1): Formatting fix.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2622 * dwarf2out.c (native_encode_initializer): Moved to fold-const.c.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2623 (tree_add_const_value_attribute): Adjust caller.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2624
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2625 PR tree-optimization/90838
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2626 * tree-ssa-forwprop.c (simplify_count_trailing_zeroes): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2627 SCALAR_INT_TYPE_MODE instead of TYPE_MODE as operand of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2628 CTZ_DEFINED_VALUE_AT_ZERO.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2629
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2630 2020-01-10 Vladimir Makarov <vmakarov@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2631
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2632 PR inline-asm/93027
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2633 * lra-constraints.c (match_reload): Permit input operands have the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2634 same mode as output while other input operands have a different
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2635 mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2636
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2637 2020-01-10 Wilco Dijkstra <wdijkstr@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2638
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2639 PR tree-optimization/90838
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2640 * tree-ssa-forwprop.c (check_ctz_array): Add new function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2641 (check_ctz_string): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2642 (optimize_count_trailing_zeroes): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2643 (simplify_count_trailing_zeroes): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2644 (pass_forwprop::execute): Try ctz simplification.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2645 * match.pd: Add matching for ctz idioms.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2646
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2647 2020-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2648
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2649 * config/aarch64/aarch64.c (aarch64_invalid_conversion): New function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2650 for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2651 (aarch64_invalid_unary_op): New function for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2652 (aarch64_invalid_binary_op): New function for target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2653
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2654 2020-01-10 Stam Markianos-Wright <stam.markianos-wright@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2655
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2656 * config.gcc: Add arm_bf16.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2657 * config/aarch64/aarch64-builtins.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2658 (aarch64_simd_builtin_std_type): Add BFmode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2659 (aarch64_init_simd_builtin_types): Define element types for vector
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2660 types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2661 (aarch64_init_bf16_types): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2662 (aarch64_general_init_builtins): Add arm_init_bf16_types function call.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2663 * config/aarch64/aarch64-modes.def: Add BFmode and V4BF, V8BF vector
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2664 modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2665 * config/aarch64/aarch64-simd-builtin-types.def: Add BF SIMD types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2666 * config/aarch64/aarch64-simd.md: Add BF vector types to NEON move
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2667 patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2668 * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): Add V4BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2669 (AARCH64_VALID_SIMD_QREG_MODE): Add V8BF.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2670 * config/aarch64/aarch64.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2671 (aarch64_classify_vector_mode): Add support for BF types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2672 (aarch64_gimplify_va_arg_expr): Add support for BF types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2673 (aarch64_vq_mode): Add support for BF types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2674 (aarch64_simd_container_mode): Add support for BF types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2675 (aarch64_mangle_type): Add support for BF scalar type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2676 * config/aarch64/aarch64.md: Add BFmode to movhf pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2677 * config/aarch64/arm_bf16.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2678 * config/aarch64/arm_neon.h: Add arm_bf16.h and Bfloat vector types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2679 * config/aarch64/iterators.md: Add BF types to mode attributes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2680 (HFBF, GPF_TF_F16_MOV, VDMOV, VQMOV, VQMOV_NO2Em VALL_F16MOV): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2681
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2682 2020-01-10 Jason Merrill <jason@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2683
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2684 PR c++/93173 - incorrect tree sharing.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2685 * gimplify.c (copy_if_shared): No longer static.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2686 * gimplify.h: Declare it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2687
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2688 2020-01-10 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2689
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2690 * doc/invoke.texi (-msve-vector-bits=): Document that
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2691 -msve-vector-bits=128 now generates VL-specific code for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2692 little-endian targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2693 * config/aarch64/aarch64-sve-builtins.cc (register_builtin_types): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2694 build_vector_type_for_mode to construct the data vector types.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2695 * config/aarch64/aarch64.c (aarch64_convert_sve_vector_bits): Generate
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2696 VL-specific code for -msve-vector-bits=128 on little-endian targets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2697 (aarch64_simd_container_mode): Always prefer Advanced SIMD modes
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2698 for 128-bit vectors.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2699
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2700 2020-01-10 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2701
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2702 * config/aarch64/aarch64.c (aarch64_evpc_sel): Fix gen_vcond_mask
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2703 invocation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2704
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2705 2020-01-10 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2706
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2707 * config/aarch64/aarch64-builtins.c
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2708 (aarch64_builtin_vectorized_function): Check for specific vector modes,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2709 rather than checking the number of elements and the element mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2710
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2711 2020-01-10 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2712
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2713 * tree-vect-loop.c (vect_create_epilog_for_reduction): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2714 get_related_vectype_for_scalar_type rather than build_vector_type
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2715 to create the index type for a conditional reduction.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2716
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2717 2020-01-10 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2718
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2719 * tree-vect-loop.c (update_epilogue_loop_vinfo): Update DR_REF
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2720 for any type of gather or scatter, including strided accesses.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2721
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2722 2020-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2723
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2724 * tree-vectorizer.h (get_dr_vinfo_offset): Add missing function
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2725 comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2726
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2727 2020-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2728
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2729 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2730 get_dr_vinfo_offset
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2731 * tree-vect-loop.c (update_epilogue_loop_vinfo): Remove orig_drs_init
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2732 parameter and its use to reset DR_OFFSET's.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2733 (vect_transform_loop): Remove orig_drs_init argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2734 * tree-vect-loop-manip.c (vect_update_init_of_dr): Update the offset
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2735 member of dr_vec_info rather than the offset of the associated
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2736 data_reference's innermost_loop_behavior.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2737 (vect_update_init_of_dr): Pass dr_vec_info instead of data_reference.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2738 (vect_do_peeling): Remove orig_drs_init parameter and its construction.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2739 * tree-vect-stmts.c (check_scan_store): Replace use of DR_OFFSET with
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2740 get_dr_vinfo_offset.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2741 (vectorizable_store): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
2742 (vectorizable_load): Likewise.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2743
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2744 2020-01-10 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2745
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2746 * gimple-ssa-store-merging
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2747 (pass_store_merging::terminate_all_aliasing_chains): Cache alias info.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2748
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2749 2020-01-10 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2750
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2751 PR ipa/93217
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2752 * ipa-inline-analysis.c (offline_size): Make proper parenthesis
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2753 encapsulation that was there before r280040.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2754
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2755 2020-01-10 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2756
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2757 PR middle-end/93199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2758 * tree-eh.c (sink_clobbers): Move clobbers to out-of-IL
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2759 sequences to avoid walking them again for secondary opportunities.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2760 (pass_lower_eh_dispatch::execute): Instead actually insert
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2761 them here.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2762
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2763 2020-01-10 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2764
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2765 PR middle-end/93199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2766 * tree-eh.c (redirect_eh_edge_1): Avoid some work if possible.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2767 (cleanup_all_empty_eh): Walk landing pads in reverse order to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2768 avoid quadraticness.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2769
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2770 2020-01-10 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2771
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2772 * params.opt (param_ipa_sra_max_replacements): Mark as Optimization.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2773 * ipa-sra.c (pull_accesses_from_callee): New parameter caller, use it
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2774 to get param_ipa_sra_max_replacements.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2775 (param_splitting_across_edge): Pass the caller to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2776 pull_accesses_from_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2777
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2778 2020-01-10 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2779
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2780 * params.opt (param_ipcp_unit_growth): Mark as Optimization.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2781 * ipa-cp.c (max_new_size): Removed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2782 (orig_overall_size): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2783 (get_max_overall_size): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2784 (estimate_local_effects): Use it. Adjust dump.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2785 (decide_about_value): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2786 (ipcp_propagate_stage): Do not calculate max_new_size, just store
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2787 orig_overall_size. Adjust dump.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2788 (ipa_cp_c_finalize): Clear orig_overall_size instead of max_new_size.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2789
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2790 2020-01-10 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2791
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2792 * params.opt (param_ipa_max_agg_items): Mark as Optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2793 * ipa-cp.c (merge_agg_lats_step): New parameter max_agg_items, use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2794 instead of param_ipa_max_agg_items.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2795 (merge_aggregate_lattices): Extract param_ipa_max_agg_items from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2796 optimization info for the callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2797
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2798 2020-01-09 Kwok Cheung Yeung <kcy@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2799
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2800 * lto-streamer-in.c (input_function): Remove streamed-in inline debug
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2801 markers if debug_inline_points is false.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2802
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2803 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2804
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2805 * config.gcc (aarch64*-*-*): Add aarch64-sve-builtins-sve2.o to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2806 extra_objs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2807 * config/aarch64/t-aarch64 (aarch64-sve-builtins.o): Depend on
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2808 aarch64-sve-builtins-base.def, aarch64-sve-builtins-sve2.def and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2809 aarch64-sve-builtins-sve2.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2810 (aarch64-sve-builtins-sve2.o): New rule.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2811 * config/aarch64/aarch64.h (AARCH64_ISA_SVE2_AES): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2812 (AARCH64_ISA_SVE2_BITPERM, AARCH64_ISA_SVE2_SHA3): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2813 (AARCH64_ISA_SVE2_SM4, TARGET_SVE2_AES, TARGET_SVE2_BITPERM): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2814 (TARGET_SVE2_SHA, TARGET_SVE2_SM4): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2815 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins): Handle
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2816 TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3 and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2817 TARGET_SVE2_SM4.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2818 * config/aarch64/aarch64-sve.md: Update comments with SVE2
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2819 instructions that are handled here.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2820 (@cond_asrd<mode>): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2821 (@cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2822 (*cond_asrd<mode>_2): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2823 (*cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>_2): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2824 (*cond_asrd<mode>_z): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2825 (*cond_<SVE_INT_SHIFT_IMM:sve_int_op><mode>_z): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2826 * config/aarch64/aarch64.md (UNSPEC_LDNT1_GATHER): New unspec.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2827 (UNSPEC_STNT1_SCATTER, UNSPEC_WHILEGE, UNSPEC_WHILEGT): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2828 (UNSPEC_WHILEHI, UNSPEC_WHILEHS): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2829 * config/aarch64/aarch64-sve2.md (@aarch64_gather_ldnt<mode>): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2830 pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2831 (@aarch64_gather_ldnt_<ANY_EXTEND:optab><SVE_FULL_SDI:mode><SVE_PARTIAL_I:mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2832 (@aarch64_scatter_stnt<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2833 (@aarch64_scatter_stnt_<SVE_FULL_SDI:mode><SVE_PARTIAL_I:mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2834 (@aarch64_mul_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2835 (@aarch64_sve_suqadd<mode>_const): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2836 (*<sur>h<addsub><mode>): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2837 (@aarch64_pred_<SVE2_COND_INT_BINARY_REV:sve_int_op><mode>): ...this
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2838 new pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2839 (@cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2840 (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_2): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2841 (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_3): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2842 (*cond_<SVE2_COND_INT_BINARY:sve_int_op><mode>_any): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2843 (*cond_<SVE2_COND_INT_BINARY_NOREV:sve_int_op><mode>_z): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2844 (@aarch64_sve_<SVE2_INT_BINARY:sve_int_op><mode>):: Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2845 (@aarch64_sve_<SVE2_INT_BINARY:sve_int_op>_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2846 (@aarch64_pred_<SVE2_COND_INT_SHIFT:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2847 (@cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2848 (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_2): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2849 (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_3): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2850 (*cond_<SVE2_COND_INT_SHIFT:sve_int_op><mode>_any): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2851 (@aarch64_sve_<SVE2_INT_TERNARY:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2852 (@aarch64_sve_<SVE2_INT_TERNARY_LANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2853 (@aarch64_sve_add_mul_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2854 (@aarch64_sve_sub_mul_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2855 (@aarch64_sve2_xar<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2856 (@aarch64_sve2_bcax<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2857 (*aarch64_sve2_eor3<mode>): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2858 (@aarch64_sve2_eor3<mode>): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2859 (@aarch64_sve2_bsl<mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2860 (@aarch64_sve2_nbsl<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2861 (@aarch64_sve2_bsl1n<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2862 (@aarch64_sve2_bsl2n<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2863 (@aarch64_sve_add_<SHIFTRT:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2864 (*aarch64_sve2_sra<mode>): Add MOVPRFX support.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2865 (@aarch64_sve_add_<VRSHR_N:sve_int_op><mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2866 (@aarch64_sve_<SVE2_INT_SHIFT_INSERT:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2867 (@aarch64_sve2_<USMAX:su>aba<mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2868 (*aarch64_sve2_<USMAX:su>aba<mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2869 (@aarch64_sve_<SVE2_INT_BINARY_WIDE:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2870 (<su>mull<bt><Vwide>): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2871 (@aarch64_sve_<SVE2_INT_BINARY_LONG:sve_int_op><mode>): ...this new
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2872 pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2873 (@aarch64_sve_<SVE2_INT_BINARY_LONG_lANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2874 (@aarch64_sve_<SVE2_INT_SHIFT_IMM_LONG:sve_int_op><mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2875 (@aarch64_sve_add_<SVE2_INT_ADD_BINARY_LONG:sve_int_op><mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2876 (@aarch64_sve_add_<SVE2_INT_ADD_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2877 (@aarch64_sve_qadd_<SVE2_INT_QADD_BINARY_LONG:sve_int_op><mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2878 (@aarch64_sve_qadd_<SVE2_INT_QADD_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2879 (@aarch64_sve_sub_<SVE2_INT_SUB_BINARY_LONG:sve_int_op><mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2880 (@aarch64_sve_sub_<SVE2_INT_SUB_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2881 (@aarch64_sve_qsub_<SVE2_INT_QSUB_BINARY_LONG:sve_int_op><mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2882 (@aarch64_sve_qsub_<SVE2_INT_QSUB_BINARY_LONG_LANE:sve_int_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2883 (@aarch64_sve_<SVE2_FP_TERNARY_LONG:sve_fp_op><mode>): New patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2884 (@aarch64_<SVE2_FP_TERNARY_LONG_LANE:sve_fp_op>_lane_<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2885 (@aarch64_sve_<SVE2_INT_UNARY_NARROWB:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2886 (@aarch64_sve_<SVE2_INT_UNARY_NARROWT:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2887 (@aarch64_sve_<SVE2_INT_BINARY_NARROWB:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2888 (@aarch64_sve_<SVE2_INT_BINARY_NARROWT:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2889 (<SHRNB:r>shrnb<mode>): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2890 (@aarch64_sve_<SVE2_INT_SHIFT_IMM_NARROWB:sve_int_op><mode>): ...this
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2891 new pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2892 (<SHRNT:r>shrnt<mode>): Generalize to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2893 (@aarch64_sve_<SVE2_INT_SHIFT_IMM_NARROWT:sve_int_op><mode>): ...this
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2894 new pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2895 (@aarch64_pred_<SVE2_INT_BINARY_PAIR:sve_int_op><mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2896 (@aarch64_pred_<SVE2_FP_BINARY_PAIR:sve_fp_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2897 (@cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2898 (*cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>_2): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2899 (*cond_<SVE2_INT_BINARY_PAIR_LONG:sve_int_op><mode>_z): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2900 (@aarch64_sve_<SVE2_INT_CADD:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2901 (@aarch64_sve_<SVE2_INT_CMLA:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2902 (@aarch64_<SVE2_INT_CMLA:optab>_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2903 (@aarch64_sve_<SVE2_INT_CDOT:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2904 (@aarch64_<SVE2_INT_CDOT:optab>_lane_<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2905 (@aarch64_pred_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2906 (@cond_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2907 (*cond_<SVE2_COND_FP_UNARY_LONG:sve_fp_op><mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2908 (@aarch64_sve2_cvtnt<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2909 (@aarch64_pred_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2910 (@cond_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2911 (*cond_<SVE2_COND_FP_UNARY_NARROWB:sve_fp_op><mode>_any): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2912 (@aarch64_sve2_cvtxnt<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2913 (@aarch64_pred_<SVE2_U32_UNARY:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2914 (@cond_<SVE2_U32_UNARY:sve_int_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2915 (*cond_<SVE2_U32_UNARY:sve_int_op><mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2916 (@aarch64_pred_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2917 (@cond_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): New expander.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2918 (*cond_<SVE2_COND_INT_UNARY_FP:sve_fp_op><mode>): New pattern.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2919 (@aarch64_sve2_pmul<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2920 (@aarch64_sve_<SVE2_PMULL:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2921 (@aarch64_sve_<SVE2_PMULL_PAIR:optab><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2922 (@aarch64_sve2_tbl2<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2923 (@aarch64_sve2_tbx<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2924 (@aarch64_sve_<SVE2_INT_BITPERM:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2925 (@aarch64_sve2_histcnt<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2926 (@aarch64_sve2_histseg<mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2927 (@aarch64_pred_<SVE2_MATCH:sve_int_op><mode>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2928 (*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_cc): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2929 (*aarch64_pred_<SVE2_MATCH:sve_int_op><mode>_ptest): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2930 (aarch64_sve2_aes<CRYPTO_AES:aes_op>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2931 (aarch64_sve2_aes<CRYPTO_AESMC:aesmc_op>): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2932 (*aarch64_sve2_aese_fused, *aarch64_sve2_aesd_fused): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2933 (aarch64_sve2_rax1, aarch64_sve2_sm4e, aarch64_sve2_sm4ekey): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2934 (<su>mulh<r>s<mode>3): Update after above pattern name changes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2935 * config/aarch64/iterators.md (VNx16QI_ONLY, VNx4SF_ONLY)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2936 (SVE_STRUCT2, SVE_FULL_BHI, SVE_FULL_HSI, SVE_FULL_HDI)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2937 (SVE2_PMULL_PAIR_I): New mode iterators.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2938 (UNSPEC_ADCLB, UNSPEC_ADCLT, UNSPEC_ADDHNB, UNSPEC_ADDHNT, UNSPEC_BDEP)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2939 (UNSPEC_BEXT, UNSPEC_BGRP, UNSPEC_CADD90, UNSPEC_CADD270, UNSPEC_CDOT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2940 (UNSPEC_CDOT90, UNSPEC_CDOT180, UNSPEC_CDOT270, UNSPEC_CMLA)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2941 (UNSPEC_CMLA90, UNSPEC_CMLA180, UNSPEC_CMLA270, UNSPEC_COND_FCVTLT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2942 (UNSPEC_COND_FCVTNT, UNSPEC_COND_FCVTX, UNSPEC_COND_FCVTXNT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2943 (UNSPEC_COND_FLOGB, UNSPEC_EORBT, UNSPEC_EORTB, UNSPEC_FADDP)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2944 (UNSPEC_FMAXP, UNSPEC_FMAXNMP, UNSPEC_FMLALB, UNSPEC_FMLALT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2945 (UNSPEC_FMLSLB, UNSPEC_FMLSLT, UNSPEC_FMINP, UNSPEC_FMINNMP)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2946 (UNSPEC_HISTCNT, UNSPEC_HISTSEG, UNSPEC_MATCH, UNSPEC_NMATCH)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2947 (UNSPEC_PMULLB, UNSPEC_PMULLB_PAIR, UNSPEC_PMULLT, UNSPEC_PMULLT_PAIR)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2948 (UNSPEC_RADDHNB, UNSPEC_RADDHNT, UNSPEC_RSUBHNB, UNSPEC_RSUBHNT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2949 (UNSPEC_SLI, UNSPEC_SRI, UNSPEC_SABDLB, UNSPEC_SABDLT, UNSPEC_SADDLB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2950 (UNSPEC_SADDLBT, UNSPEC_SADDLT, UNSPEC_SADDWB, UNSPEC_SADDWT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2951 (UNSPEC_SBCLB, UNSPEC_SBCLT, UNSPEC_SMAXP, UNSPEC_SMINP)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2952 (UNSPEC_SQCADD90, UNSPEC_SQCADD270, UNSPEC_SQDMULLB, UNSPEC_SQDMULLBT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2953 (UNSPEC_SQDMULLT, UNSPEC_SQRDCMLAH, UNSPEC_SQRDCMLAH90)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2954 (UNSPEC_SQRDCMLAH180, UNSPEC_SQRDCMLAH270, UNSPEC_SQRSHRNB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2955 (UNSPEC_SQRSHRNT, UNSPEC_SQRSHRUNB, UNSPEC_SQRSHRUNT, UNSPEC_SQSHRNB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2956 (UNSPEC_SQSHRNT, UNSPEC_SQSHRUNB, UNSPEC_SQSHRUNT, UNSPEC_SQXTNB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2957 (UNSPEC_SQXTNT, UNSPEC_SQXTUNB, UNSPEC_SQXTUNT, UNSPEC_SSHLLB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2958 (UNSPEC_SSHLLT, UNSPEC_SSUBLB, UNSPEC_SSUBLBT, UNSPEC_SSUBLT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2959 (UNSPEC_SSUBLTB, UNSPEC_SSUBWB, UNSPEC_SSUBWT, UNSPEC_SUBHNB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2960 (UNSPEC_SUBHNT, UNSPEC_TBL2, UNSPEC_UABDLB, UNSPEC_UABDLT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2961 (UNSPEC_UADDLB, UNSPEC_UADDLT, UNSPEC_UADDWB, UNSPEC_UADDWT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2962 (UNSPEC_UMAXP, UNSPEC_UMINP, UNSPEC_UQRSHRNB, UNSPEC_UQRSHRNT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2963 (UNSPEC_UQSHRNB, UNSPEC_UQSHRNT, UNSPEC_UQXTNB, UNSPEC_UQXTNT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2964 (UNSPEC_USHLLB, UNSPEC_USHLLT, UNSPEC_USUBLB, UNSPEC_USUBLT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2965 (UNSPEC_USUBWB, UNSPEC_USUBWT): New unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2966 (UNSPEC_SMULLB, UNSPEC_SMULLT, UNSPEC_UMULLB, UNSPEC_UMULLT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2967 (UNSPEC_SMULHS, UNSPEC_SMULHRS, UNSPEC_UMULHS, UNSPEC_UMULHRS)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2968 (UNSPEC_RSHRNB, UNSPEC_RSHRNT, UNSPEC_SHRNB, UNSPEC_SHRNT): Move
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2969 further down file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2970 (VNARROW, Ventype): New mode attributes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2971 (Vewtype): Handle VNx2DI. Fix typo in comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2972 (VDOUBLE): New mode attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2973 (sve_lane_con): Handle VNx8HI.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2974 (SVE_INT_UNARY): Include ss_abs and ss_neg for TARGET_SVE2.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2975 (SVE_INT_BINARY): Likewise ss_plus, us_plus, ss_minus and us_minus.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2976 (sve_int_op, sve_int_op_rev): Handle the above codes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2977 (sve_pred_int_rhs2_operand): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2978 (MULLBT, SHRNB, SHRNT): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2979 (SVE_INT_SHIFT_IMM): New int iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2980 (SVE_WHILE): Add UNSPEC_WHILEGE, UNSPEC_WHILEGT, UNSPEC_WHILEHI
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2981 and UNSPEC_WHILEHS for TARGET_SVE2.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2982 (SVE2_U32_UNARY, SVE2_INT_UNARY_NARROWB, SVE2_INT_UNARY_NARROWT)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2983 (SVE2_INT_BINARY, SVE2_INT_BINARY_LANE, SVE2_INT_BINARY_LONG)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2984 (SVE2_INT_BINARY_LONG_LANE, SVE2_INT_BINARY_NARROWB)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2985 (SVE2_INT_BINARY_NARROWT, SVE2_INT_BINARY_PAIR, SVE2_FP_BINARY_PAIR)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2986 (SVE2_INT_BINARY_PAIR_LONG, SVE2_INT_BINARY_WIDE): New int iterators.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2987 (SVE2_INT_SHIFT_IMM_LONG, SVE2_INT_SHIFT_IMM_NARROWB): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2988 (SVE2_INT_SHIFT_IMM_NARROWT, SVE2_INT_SHIFT_INSERT, SVE2_INT_CADD)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2989 (SVE2_INT_BITPERM, SVE2_INT_TERNARY, SVE2_INT_TERNARY_LANE): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2990 (SVE2_FP_TERNARY_LONG, SVE2_FP_TERNARY_LONG_LANE, SVE2_INT_CMLA)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2991 (SVE2_INT_CDOT, SVE2_INT_ADD_BINARY_LONG, SVE2_INT_QADD_BINARY_LONG)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2992 (SVE2_INT_SUB_BINARY_LONG, SVE2_INT_QSUB_BINARY_LONG): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2993 (SVE2_INT_ADD_BINARY_LONG_LANE, SVE2_INT_QADD_BINARY_LONG_LANE)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2994 (SVE2_INT_SUB_BINARY_LONG_LANE, SVE2_INT_QSUB_BINARY_LONG_LANE)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2995 (SVE2_COND_INT_UNARY_FP, SVE2_COND_FP_UNARY_LONG): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2996 (SVE2_COND_FP_UNARY_NARROWB, SVE2_COND_INT_BINARY): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2997 (SVE2_COND_INT_BINARY_NOREV, SVE2_COND_INT_BINARY_REV): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2998 (SVE2_COND_INT_SHIFT, SVE2_MATCH, SVE2_PMULL): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
2999 (optab): Handle the new unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3000 (su, r): Remove entries for UNSPEC_SHRNB, UNSPEC_SHRNT, UNSPEC_RSHRNB
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3001 and UNSPEC_RSHRNT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3002 (lr): Handle the new unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3003 (bt): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3004 (cmp_op, while_optab_cmp, sve_int_op): Handle the new unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3005 (sve_int_op_rev, sve_int_add_op, sve_int_qadd_op, sve_int_sub_op)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3006 (sve_int_qsub_op): New int attributes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3007 (sve_fp_op, rot): Handle the new unspecs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3008 * config/aarch64/aarch64-sve-builtins.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3009 (function_resolver::require_matching_pointer_type): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3010 (function_resolver::resolve_unary): Add an optional boolean argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3011 (function_resolver::finish_opt_n_resolution): Add an optional
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3012 type_suffix_index argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3013 (gimple_folder::redirect_call): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3014 (gimple_expander::prepare_gather_address_operands): Add an optional
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3015 bool parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3016 * config/aarch64/aarch64-sve-builtins.cc: Include
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3017 aarch64-sve-builtins-sve2.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3018 (TYPES_b_unsigned, TYPES_b_integer, TYPES_bh_integer): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3019 (TYPES_bs_unsigned, TYPES_hs_signed, TYPES_hs_integer): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3020 (TYPES_hd_unsigned, TYPES_hsd_signed): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3021 (TYPES_hsd_integer): Use TYPES_hsd_signed.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3022 (TYPES_s_float_hsd_integer, TYPES_s_float_sd_integer): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3023 (TYPES_s_unsigned): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3024 (TYPES_s_integer): Use TYPES_s_unsigned.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3025 (TYPES_sd_signed, TYPES_sd_unsigned): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3026 (TYPES_sd_integer): Use them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3027 (TYPES_d_unsigned): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3028 (TYPES_d_integer): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3029 (TYPES_d_data, TYPES_cvt_long, TYPES_cvt_narrow_s): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3030 (TYPES_cvt_narrow): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3031 (DEF_SVE_TYPES_ARRAY): Include the new types macros above.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3032 (preds_mx): New variable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3033 (function_builder::add_overloaded_function): Allow the new feature
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3034 set to be more restrictive than the original one.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3035 (function_resolver::infer_pointer_type): Remove qualifiers from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3036 the pointer type before printing it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3037 (function_resolver::require_matching_pointer_type): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3038 (function_resolver::resolve_sv_displacement): Handle functions
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3039 that don't support 32-bit vector indices or svint32_t vector offsets.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3040 (function_resolver::finish_opt_n_resolution): Take the inferred type
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3041 as a separate argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3042 (function_resolver::resolve_unary): Optionally treat all forms in
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3043 the same way as normal merging functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3044 (gimple_folder::redirect_call): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3045 (function_expander::prepare_gather_address_operands): Add an argument
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3046 that says whether scaled forms are available. If they aren't,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3047 handle scaling of vector indices and don't add the extension and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3048 scaling operands.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3049 (function_expander::map_to_unspecs): If aarch64_sve isn't available,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3050 fall back to using cond_* instead.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3051 * config/aarch64/aarch64-sve-builtins-functions.h (rtx_code_function):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3052 Split out the member variables into...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3053 (rtx_code_function_base): ...this new base class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3054 (rtx_code_function_rotated): Inherit rtx_code_function_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3055 (unspec_based_function): Split out the member variables into...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3056 (unspec_based_function_base): ...this new base class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3057 (unspec_based_function_rotated): Inherit unspec_based_function_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3058 (unspec_based_function_exact_insn): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3059 (unspec_based_add_function, unspec_based_add_lane_function)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3060 (unspec_based_lane_function, unspec_based_pred_function)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3061 (unspec_based_qadd_function, unspec_based_qadd_lane_function)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3062 (unspec_based_qsub_function, unspec_based_qsub_lane_function)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3063 (unspec_based_sub_function, unspec_based_sub_lane_function): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3064 typedefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3065 (unspec_based_fused_function): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3066 (unspec_based_mla_function, unspec_based_mls_function): New typedefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3067 (unspec_based_fused_lane_function): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3068 (unspec_based_mla_lane_function, unspec_based_mls_lane_function): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3069 typedefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3070 (CODE_FOR_MODE1): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3071 (fixed_insn_function): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3072 (while_comparison): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3073 * config/aarch64/aarch64-sve-builtins-shapes.h (binary_long_lane)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3074 (binary_long_opt_n, binary_narrowb_opt_n, binary_narrowt_opt_n)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3075 (binary_to_uint, binary_wide, binary_wide_opt_n, compare, compare_ptr)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3076 (load_ext_gather_index_restricted, load_ext_gather_offset_restricted)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3077 (load_gather_sv_restricted, shift_left_imm_long): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3078 (shift_left_imm_to_uint, shift_right_imm_narrowb): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3079 (shift_right_imm_narrowt, shift_right_imm_narrowb_to_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3080 (shift_right_imm_narrowt_to_uint, store_scatter_index_restricted)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3081 (store_scatter_offset_restricted, tbl_tuple, ternary_long_lane)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3082 (ternary_long_opt_n, ternary_qq_lane_rotate, ternary_qq_rotate)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3083 (ternary_shift_left_imm, ternary_shift_right_imm, ternary_uint)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3084 (unary_convert_narrowt, unary_long, unary_narrowb, unary_narrowt)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3085 (unary_narrowb_to_uint, unary_narrowt_to_uint, unary_to_int): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3086 * config/aarch64/aarch64-sve-builtins-shapes.cc (apply_predication):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3087 Also add an initial argument for unary_convert_narrowt, regardless
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3088 of the predication type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3089 (build_32_64): Allow loads and stores to specify MODE_none.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3090 (build_sv_index64, build_sv_uint_offset): New functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3091 (long_type_suffix): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3092 (binary_imm_narrowb_base, binary_imm_narrowt_base): New classes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3093 (binary_imm_long_base, load_gather_sv_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3094 (shift_right_imm_narrow_wrapper, ternary_shift_imm_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3095 (ternary_resize2_opt_n_base, ternary_resize2_lane_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3096 (unary_narrowb_base, unary_narrowt_base): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3097 (binary_long_lane_def, binary_long_lane): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3098 (binary_long_opt_n_def, binary_long_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3099 (binary_narrowb_opt_n_def, binary_narrowb_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3100 (binary_narrowt_opt_n_def, binary_narrowt_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3101 (binary_to_uint_def, binary_to_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3102 (binary_wide_def, binary_wide): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3103 (binary_wide_opt_n_def, binary_wide_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3104 (compare_def, compare): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3105 (compare_ptr_def, compare_ptr): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3106 (load_ext_gather_index_restricted_def,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3107 load_ext_gather_index_restricted): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3108 (load_ext_gather_offset_restricted_def,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3109 load_ext_gather_offset_restricted): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3110 (load_gather_sv_def): Inherit from load_gather_sv_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3111 (load_gather_sv_restricted_def, load_gather_sv_restricted): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3112 (shift_left_imm_def, shift_left_imm): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3113 (shift_left_imm_long_def, shift_left_imm_long): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3114 (shift_left_imm_to_uint_def, shift_left_imm_to_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3115 (store_scatter_index_restricted_def,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3116 store_scatter_index_restricted): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3117 (store_scatter_offset_restricted_def,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3118 store_scatter_offset_restricted): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3119 (tbl_tuple_def, tbl_tuple): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3120 (ternary_long_lane_def, ternary_long_lane): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3121 (ternary_long_opt_n_def, ternary_long_opt_n): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3122 (ternary_qq_lane_def): Inherit from ternary_resize2_lane_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3123 (ternary_qq_lane_rotate_def, ternary_qq_lane_rotate): New shape
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3124 (ternary_qq_opt_n_def): Inherit from ternary_resize2_opt_n_base.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3125 (ternary_qq_rotate_def, ternary_qq_rotate): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3126 (ternary_shift_left_imm_def, ternary_shift_left_imm): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3127 (ternary_shift_right_imm_def, ternary_shift_right_imm): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3128 (ternary_uint_def, ternary_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3129 (unary_convert): Fix typo in comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3130 (unary_convert_narrowt_def, unary_convert_narrowt): New shape.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3131 (unary_long_def, unary_long): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3132 (unary_narrowb_def, unary_narrowb): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3133 (unary_narrowt_def, unary_narrowt): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3134 (unary_narrowb_to_uint_def, unary_narrowb_to_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3135 (unary_narrowt_to_uint_def, unary_narrowt_to_uint): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3136 (unary_to_int_def, unary_to_int): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3137 * config/aarch64/aarch64-sve-builtins-base.cc (unspec_cmla)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3138 (unspec_fcmla, unspec_cond_fcmla, expand_mla_mls_lane): New functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3139 (svasrd_impl): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3140 (svcadd_impl::expand): Handle integer operations too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3141 (svcmla_impl::expand, svcmla_lane::expand): Likewise, using the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3142 new functions to derive the unspec numbers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3143 (svmla_svmls_lane_impl): Replace with...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3144 (svmla_lane_impl, svmls_lane_impl): ...these new classes. Handle
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3145 integer operations too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3146 (svwhile_impl): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3147 (svwhilelx_impl): ...this and inherit from while_comparison.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3148 (svasrd): Use unspec_based_function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3149 (svmla_lane): Use svmla_lane_impl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3150 (svmls_lane): Use svmls_lane_impl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3151 (svrecpe, svrsqrte): Handle unsigned integer operations too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3152 (svwhilele, svwhilelt): Use svwhilelx_impl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3153 * config/aarch64/aarch64-sve-builtins-sve2.h: New file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3154 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3155 * config/aarch64/aarch64-sve-builtins-sve2.def: Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3156 * config/aarch64/aarch64-sve-builtins.def: Include
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3157 aarch64-sve-builtins-sve2.def.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3158
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3159 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3160
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3161 * config/aarch64/aarch64-protos.h (aarch64_sve_arith_immediate_p)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3162 (aarch64_sve_sqadd_sqsub_immediate_p): Add a machine_mode argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3163 * config/aarch64/aarch64.c (aarch64_sve_arith_immediate_p)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3164 (aarch64_sve_sqadd_sqsub_immediate_p): Likewise. Handle scalar
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3165 immediates as well as vector ones.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3166 * config/aarch64/predicates.md (aarch64_sve_arith_immediate)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3167 (aarch64_sve_sub_arith_immediate, aarch64_sve_qadd_immediate)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3168 (aarch64_sve_qsub_immediate): Update calls accordingly.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3169
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3170 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3171
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3172 * config/aarch64/aarch64-sve2.md: Add banner comments.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3173 (<su>mulh<r>s<mode>3): Move further up file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3174 (<su>mull<bt><Vwide>, <r>shrnb<mode>, <r>shrnt<mode>)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3175 (*aarch64_sve2_sra<mode>): Move further down file.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3176 * config/aarch64/t-aarch64 (s-check-sve-md): Check aarch64-sve2.md too.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3177
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3178 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3179
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3180 * config/aarch64/iterators.md (SVE_WHILE): Add UNSPEC_WHILERW
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3181 and UNSPEC_WHILEWR.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3182 (while_optab_cmp): Handle them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3183 * config/aarch64/aarch64-sve.md
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3184 (*while_<while_optab_cmp><GPI:mode><PRED_ALL:mode>_ptest): Make public
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3185 and add a "@" marker.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3186 * config/aarch64/aarch64-sve2.md (check_<raw_war>_ptrs<mode>): Use it
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3187 instead of gen_aarch64_sve2_while_ptest.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3188 (@aarch64_sve2_while<cmp_op><GPI:mode><PRED_ALL:mode>_ptest): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3189
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3190 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3191
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3192 * config/aarch64/aarch64.md (UNSPEC_WHILE_LE): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3193 (UNSPEC_WHILELE): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3194 (UNSPEC_WHILE_LO): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3195 (UNSPEC_WHILELO): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3196 (UNSPEC_WHILE_LS): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3197 (UNSPEC_WHILELS): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3198 (UNSPEC_WHILE_LT): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3199 (UNSPEC_WHILELT): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3200 * config/aarch64/iterators.md (SVE_WHILE): Update accordingly.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3201 (cmp_op, while_optab_cmp): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3202 * config/aarch64/aarch64.c (aarch64_sve_move_pred_via_while): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3203 * config/aarch64/aarch64-sve-builtins-base.cc (svwhilele): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3204 (svwhilelt): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3205
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3206 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3207
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3208 * config/aarch64/aarch64-sve-builtins-shapes.h (unary_count): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3209 (unary_to_uint): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3210 * config/aarch64/aarch64-sve-builtins-shapes.cc (unary_count_def)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3211 (unary_count): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3212 (unary_to_uint_def, unary_to_uint): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3213 * config/aarch64/aarch64-sve-builtins-base.def: Update accordingly.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3214
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3215 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3216
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3217 * config/aarch64/aarch64-sve-builtins-functions.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3218 (code_for_mode_function): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3219 (CODE_FOR_MODE0, QUIET_CODE_FOR_MODE0): New macros.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3220 * config/aarch64/aarch64-sve-builtins-base.cc (svcompact_impl)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3221 (svext_impl, svmul_lane_impl, svsplice_impl, svtmad_impl): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3222 (svcompact, svext, svsplice): Use QUIET_CODE_FOR_MODE0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3223 (svmul_lane, svtmad): Use CODE_FOR_MODE0.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3224
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3225 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3226
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3227 * config/aarch64/iterators.md (addsub): New code attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3228 * config/aarch64/aarch64-simd.md (aarch64_<su_optab><optab><mode>):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3229 Re-express as...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3230 (aarch64_<su_optab>q<addsub><mode>): ...this, making the same change
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3231 in the asm string and attributes. Fix indentation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3232 * config/aarch64/aarch64-sve.md (@aarch64_<su_optab><optab><mode>):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3233 Re-express as...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3234 (@aarch64_sve_<optab><mode>): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3235 * config/aarch64/aarch64-sve-builtins.h
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3236 (function_expander::expand_signed_unpred_op): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3237 * config/aarch64/aarch64-sve-builtins.cc
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3238 (function_expander::expand_signed_unpred_op): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3239 (function_expander::map_to_rtx_codes): If the optab isn't defined,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3240 try using code_for_aarch64_sve instead.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3241 * config/aarch64/aarch64-sve-builtins-base.cc (svqadd_impl): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3242 (svqsub_impl): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3243 (svqadd, svqsub): Use rtx_code_function instead.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3244
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3245 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3246
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3247 * config/aarch64/iterators.md (SRHSUB, URHSUB): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3248 (HADDSUB, sur, addsub): Remove them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3249
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3250 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3251
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3252 * tree-nrv.c (pass_return_slot::execute): Handle all internal
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3253 functions the same way, rather than singling out those that
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3254 aren't mapped directly to optabs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3255
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3256 2020-01-09 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3257
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3258 * target.def (compatible_vector_types_p): New target hook.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3259 * hooks.h (hook_bool_const_tree_const_tree_true): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3260 * hooks.c (hook_bool_const_tree_const_tree_true): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3261 * doc/tm.texi.in (TARGET_COMPATIBLE_VECTOR_TYPES_P): New hook.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3262 * doc/tm.texi: Regenerate.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3263 * gimple-expr.c: Include target.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3264 (useless_type_conversion_p): Use targetm.compatible_vector_types_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3265 * config/aarch64/aarch64.c (aarch64_compatible_vector_types_p): New
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3266 function.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3267 (TARGET_COMPATIBLE_VECTOR_TYPES_P): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3268 * config/aarch64/aarch64-sve-builtins.cc (gimple_folder::convert_pred):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3269 Use the original predicate if it already has a suitable type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3270
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3271 2020-01-09 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3272
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3273 * cgraph.h (cgraph_edge): Make remove, set_call_stmt, make_direct,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3274 resolve_speculation and redirect_call_stmt_to_callee static. Change
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3275 return type of set_call_stmt to cgraph_edge *.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3276 * auto-profile.c (afdo_indirect_call): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3277 redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3278 * cgraph.c (cgraph_edge::set_call_stmt): Make return cgraph-edge *,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3279 make the this pointer explicit, adjust self-recursive calls and the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3280 call top make_direct. Return the resulting edge.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3281 (cgraph_edge::remove): Make this pointer explicit.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3282 (cgraph_edge::resolve_speculation): Likewise, adjust call to remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3283 (cgraph_edge::make_direct): Likewise, adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3284 resolve_speculation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3285 (cgraph_edge::redirect_call_stmt_to_callee): Likewise, also adjust
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3286 call to set_call_stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3287 (cgraph_update_edges_for_call_stmt_node): Update call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3288 set_call_stmt and remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3289 * cgraphclones.c (cgraph_node::set_call_stmt_including_clones):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3290 Renamed edge to master_edge. Adjusted calls to set_call_stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3291 (cgraph_node::create_edge_including_clones): Moved "first" definition
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3292 of edge to the block where it was used. Adjusted calls to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3293 set_call_stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3294 (cgraph_node::remove_symbol_and_inline_clones): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3295 cgraph_edge::remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3296 * cgraphunit.c (walk_polymorphic_call_targets): Adjusted calls to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3297 make_direct and redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3298 * ipa-fnsummary.c (redirect_to_unreachable): Adjust calls to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3299 resolve_speculation and make_direct.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3300 * ipa-inline-transform.c (inline_transform): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3301 redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3302 (check_speculations_1):: Adjust call to resolve_speculation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3303 * ipa-inline.c (resolve_noninline_speculation): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3304 resolve-speculation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3305 (inline_small_functions): Adjust call to resolve_speculation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3306 (ipa_inline): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3307 * ipa-prop.c (ipa_make_edge_direct_to_target): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3308 make_direct.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3309 * ipa-visibility.c (function_and_variable_visibility): Make iteration
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3310 safe with regards to edge removal, adjust calls to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3311 redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3312 * ipa.c (walk_polymorphic_call_targets): Adjust calls to make_direct
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3313 and redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3314 * multiple_target.c (create_dispatcher_calls): Adjust call to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3315 redirect_call_stmt_to_callee
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3316 (redirect_to_specific_clone): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3317 * tree-cfgcleanup.c (delete_unreachable_blocks_update_callgraph):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3318 Adjust calls to cgraph_edge::remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3319 * tree-inline.c (copy_bb): Adjust call to set_call_stmt.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3320 (redirect_all_calls): Adjust call to redirect_call_stmt_to_callee.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3321 (expand_call_inline): Adjust call to cgraph_edge::remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3322
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3323 2020-01-09 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3324
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3325 * params.opt: Set Optimization for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3326 param_max_speculative_devirt_maydefs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3327
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3328 2020-01-09 Martin Sebor <msebor@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3329
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3330 PR middle-end/93200
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3331 PR fortran/92956
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3332 * builtins.c (compute_objsize): Avoid handling MEM_REFs of vector type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3333
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3334 2020-01-09 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3335
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3336 * auto-profile.c (auto_profile): Use opt_for_fn
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3337 for a parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3338 * ipa-cp.c (ipcp_lattice::add_value): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3339 (propagate_vals_across_arith_jfunc): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3340 (hint_time_bonus): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3341 (incorporate_penalties): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3342 (good_cloning_opportunity_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3343 (perform_estimation_of_a_value): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3344 (estimate_local_effects): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3345 (ipcp_propagate_stage): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3346 * ipa-fnsummary.c (decompose_param_expr): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3347 (set_switch_stmt_execution_predicate): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3348 (analyze_function_body): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3349 * ipa-inline-analysis.c (offline_size): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3350 * ipa-inline.c (early_inliner): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3351 * ipa-prop.c (ipa_analyze_node): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3352 (ipcp_transform_function): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3353 * ipa-sra.c (process_scan_results): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3354 (ipa_sra_summarize_function): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3355 * params.opt: Rename ipcp-unit-growth to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3356 ipa-cp-unit-growth. Add Optimization for various
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3357 IPA-related parameters.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3358
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3359 2020-01-09 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3360
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3361 PR middle-end/93054
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3362 * gimplify.c (gimplify_expr): Deal with NOP definitions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3363
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3364 2020-01-09 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3365
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3366 PR tree-optimization/93040
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3367 * gimple-ssa-store-merging.c (find_bswap_or_nop): Raise search limit.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3368
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3369 2020-01-09 Georg-Johann Lay <avr@gjlay.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3370
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3371 * common/config/avr/avr-common.c (avr_option_optimization_table)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3372 [OPT_LEVELS_1_PLUS]: Set -fsplit-wide-types-early.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3373
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3374 2020-01-09 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3375
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3376 * cgraphclones.c (symbol_table::materialize_all_clones):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3377 Use cgraph_node::dump_name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3378
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3379 2020-01-09 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3380
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3381 PR inline-asm/93202
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3382 * config/riscv/riscv.c (riscv_print_operand_reloc): Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3383 output_operand_lossage instead of gcc_unreachable.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3384 * doc/md.texi (riscv f constraint): Fix typo.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3385
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3386 PR target/93141
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3387 * config/i386/i386.md (subv<mode>4): Use SWIDWI iterator instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3388 SWI. Use <general_hilo_operand> instead of <general_operand>. Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3389 CONST_SCALAR_INT_P instead of CONST_INT_P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3390 (*subv<mode>4_1): Rename to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3391 (subv<mode>4_1): ... this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3392 (*subv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3393 define_insn_and_split patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3394 (*subv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3395 patterns.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3396
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3397 2020-01-08 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3398
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3399 * vec.c (class selftest::count_dtor): New class.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3400 (selftest::test_auto_delete_vec): New test.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3401 (selftest::vec_c_tests): Call it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3402 * vec.h (class auto_delete_vec): New class template.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3403 (auto_delete_vec<T>::~auto_delete_vec): New dtor.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3404
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3405 2020-01-08 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3406
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3407 * sbitmap.h (auto_sbitmap): Add operator const_sbitmap.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3408
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3409 2020-01-08 Jim Wilson <jimw@sifive.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3410
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3411 * config/riscv/riscv.c (riscv_legitimize_tls_address): Ifdef out
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3412 use of TLS_MODEL_LOCAL_EXEC when not pic.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3413
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3414 2020-01-08 David Malcolm <dmalcolm@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3415
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3416 * hash-map-tests.c (selftest::test_map_of_strings_to_int): Fix
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3417 memory leak.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3418
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3419 2020-01-08 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3420
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3421 PR target/93187
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3422 * config/i386/i386.md (*stack_protect_set_2_<mode> peephole2,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3423 *stack_protect_set_3 peephole2): Also check that the second
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3424 insns source is general_operand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3425
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3426 PR target/93174
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3427 * config/i386/i386.md (addcarry<mode>_0): Use nonimmediate_operand
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3428 predicate for output operand instead of register_operand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3429 (addcarry<mode>, addcarry<mode>_1): Likewise. Add alternative with
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3430 memory destination and non-memory operands[2].
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3431
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3432 2020-01-08 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3433
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3434 * cgraph.c (cgraph_node::dump): Use ::dump_name or
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3435 ::dump_asm_name instead of (::name or ::asm_name).
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3436 * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3437 * cgraphunit.c (walk_polymorphic_call_targets): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3438 (analyze_functions): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3439 (expand_all_functions): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3440 * ipa-cp.c (ipcp_cloning_candidate_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3441 (propagate_bits_across_jump_function): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3442 (dump_profile_updates): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3443 (ipcp_store_bits_results): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3444 (ipcp_store_vr_results): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3445 * ipa-devirt.c (dump_targets): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3446 * ipa-fnsummary.c (analyze_function_body): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3447 * ipa-hsa.c (check_warn_node_versionable): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3448 (process_hsa_functions): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3449 * ipa-icf.c (sem_item_optimizer::merge_classes): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3450 (set_alias_uids): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3451 * ipa-inline-transform.c (save_inline_function_body): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3452 * ipa-inline.c (recursive_inlining): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3453 (inline_to_all_callers_1): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3454 (ipa_inline): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3455 * ipa-profile.c (ipa_propagate_frequency_1): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3456 (ipa_propagate_frequency): Likewise.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3457 * ipa-prop.c (ipa_make_edge_direct_to_target): Likewise.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3458 (remove_described_reference): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3459 * ipa-pure-const.c (worse_state): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3460 (check_retval_uses): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3461 (analyze_function): Likewise.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3462 (propagate_pure_const): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3463 (propagate_nothrow): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3464 (dump_malloc_lattice): Likewise.
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3465 (propagate_malloc): Likewise.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3466 (pass_local_pure_const::execute): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3467 * ipa-visibility.c (optimize_weakref): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3468 (function_and_variable_visibility): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3469 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3470 (ipa_discover_variable_flags): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3471 * lto-streamer-out.c (output_function): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3472 (output_constructor): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3473 * tree-inline.c (copy_bb): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3474 * tree-ssa-structalias.c (ipa_pta_execute): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3475 * varpool.c (symbol_table::remove_unreferenced_decls): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3476
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3477 2020-01-08 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3478
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3479 PR middle-end/93199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3480 * tree-eh.c (sink_clobbers): Update virtual operands for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3481 the first and last stmt only. Add a dry-run capability.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3482 (pass_lower_eh_dispatch::execute): Perform clobber sinking
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3483 after CFG manipulations and in RPO order to catch all
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3484 secondary opportunities reliably.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3485
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3486 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3487
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3488 PR target/93182
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3489 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3490
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3491 2019-01-08 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3492
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3493 PR middle-end/93199
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3494 * gimple-fold.c (rewrite_to_defined_overflow): Mark stmt modified.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3495 * tree-ssa-loop-im.c (move_computations_worker): Properly adjust
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3496 virtual operand, also updating SSA use.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3497 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3498 Update stmt after resetting virtual operand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3499 (tree_loop_interchange::move_code_to_inner_loop): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3500 * gimple-iterator.c (gsi_remove): When not removing the stmt
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3501 permanently do not delink immediate uses or mark the stmt modified.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3502
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3503 2020-01-08 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3504
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3505 * ipa-fnsummary.c (dump_ipa_call_summary): Use symtab_node::dump_name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3506 (ipa_call_context::estimate_size_and_time): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3507 (inline_analyze_function): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3508
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3509 2020-01-08 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3510
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3511 * cgraph.c (cgraph_node::dump): Use systematically
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3512 dump_asm_name.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3513
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3514 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3515
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3516 Add -nodevicespecs option for avr.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3517
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3518 PR target/93182
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3519 * config/avr/avr.opt (-nodevicespecs): New driver option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3520 * config/avr/driver-avr.c (avr_devicespecs_file): Only issue
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3521 "-specs=device-specs/..." if that option is not set.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3522 * doc/invoke.texi (AVR Options) <-nodevicespecs>: Document.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3523
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3524 2020-01-08 Georg-Johann Lay <avr@gjlay.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3525
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3526 Implement 64-bit double functions for avr.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3527
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3528 PR target/92055
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3529 * config.gcc (tm_defines) [target=avr]: Support --with-libf7,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3530 --with-double-comparison.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3531 * doc/install.texi: Document them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3532 * config/avr/avr-c.c (avr_cpu_cpp_builtins)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3533 <WITH_LIBF7_LIBGCC, WITH_LIBF7_MATH, WITH_LIBF7_MATH_SYMBOLS>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3534 <WITH_DOUBLE_COMPARISON>: New built-in defines.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3535 * doc/invoke.texi (AVR Built-in Macros): Document them.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3536 * config/avr/avr-protos.h (avr_float_lib_compare_returns_bool): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3537 * config/avr/avr.c (avr_float_lib_compare_returns_bool): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3538 * config/avr/avr.h (FLOAT_LIB_COMPARE_RETURNS_BOOL): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3539
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3540 2020-01-08 Richard Earnshaw <rearnsha@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3541
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3542 PR target/93188
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3543 * config/arm/t-multilib (MULTILIB_MATCHES): Add rules to match
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3544 armv7-a{+mp,+sec,+mp+sec} to appropriate armv7 multilib variants
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3545 when only building rm-profile multilibs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3546
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3547 2020-01-08 Feng Xue <fxue@os.amperecomputing.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3548
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3549 PR ipa/93084
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3550 * ipa-cp.c (self_recursively_generated_p): Find matched aggregate
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3551 lattice for a value to check.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3552 (propagate_vals_across_arith_jfunc): Add an assertion to ensure
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3553 finite propagation in self-recursive scc.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3554
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3555 2020-01-08 Luo Xiong Hu <luoxhu@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3556
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3557 * ipa-inline.c (caller_growth_limits): Restore the AND.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3558
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3559 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3560
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3561 * config/gcn/gcn-valu.md (VEC_1REG_INT_ALT): Delete iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3562 (VEC_ALLREG_ALT): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3563 (VEC_ALLREG_INT_MODE): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3564 (VCMP_MODE): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3565 (VCMP_MODE_INT): New iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3566 (vec_cmpu<mode>di): Use VCMP_MODE_INT.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3567 (vec_cmp<u>v64qidi): New define_expand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3568 (vec_cmp<mode>di_exec): Use VCMP_MODE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3569 (vec_cmpu<mode>di_exec): New define_expand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3570 (vec_cmp<u>v64qidi_exec): New define_expand.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3571 (vec_cmp<mode>di_dup): Use VCMP_MODE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3572 (vec_cmp<mode>di_dup_exec): Use VCMP_MODE.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3573 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>): Rename ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3574 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>): ... to this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3575 (vcond<VEC_ALL1REG_MODE:mode><VEC_1REG_ALT:mode>_exec): Rename ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3576 (vcond<VEC_ALLREG_MODE:mode><VEC_ALLREG_ALT:mode>_exec): ... to this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3577 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>): Rename ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3578 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>): ... to this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3579 (vcondu<VEC_ALL1REG_MODE:mode><VEC_1REG_INT_ALT:mode>_exec): Rename ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3580 (vcondu<VEC_ALLREG_MODE:mode><VEC_ALLREG_INT_MODE:mode>_exec): ... to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3581 this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3582 * config/gcn/gcn.c (print_operand): Fix 8 and 16 bit suffixes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3583 * config/gcn/gcn.md (expander): Add sign_extend and zero_extend.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3584
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3585 2020-01-07 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3586
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3587 * config/gcn/constraints.md (DA): Update description and match.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3588 (DB): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3589 (Db): New constraint.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3590 * config/gcn/gcn-protos.h (gcn_inline_constant64_p): Add second
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3591 parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3592 * config/gcn/gcn.c (gcn_inline_constant64_p): Add 'mixed' parameter.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3593 Implement 'Db' mixed immediate type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3594 * config/gcn/gcn-valu.md (addcv64si3<exec_vcc>): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3595 (addcv64si3_dup<exec_vcc>): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3596 (subcv64si3<exec_vcc>): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3597 (addv64di3): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3598 (addv64di3_exec): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3599 (subv64di3): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3600 (addv64di3_dup): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3601 (addv64di3_dup_exec): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3602 (addv64di3_zext): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3603 (addv64di3_zext_exec): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3604 (addv64di3_zext_dup): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3605 (addv64di3_zext_dup_exec): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3606 (addv64di3_zext_dup2): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3607 (addv64di3_zext_dup2_exec): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3608 (addv64di3_sext_dup2): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3609 (addv64di3_sext_dup2_exec): Rework constraints.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3610
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3611 2020-01-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3612
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3613 * doc/sourcebuild.texi (arm_little_endian, arm_nothumb): Documented
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3614 existing target checks.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3615
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3616 2020-01-07 Richard Biener <rguenther@suse.de>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3617
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3618 * doc/install.texi: Bump minimal supported MPC version.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3619
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3620 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3621
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3622 * langhooks-def.h (lhd_simulate_enum_decl): Declare.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3623 (LANG_HOOKS_SIMULATE_ENUM_DECL): Use it.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3624 * langhooks.c: Include stor-layout.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3625 (lhd_simulate_enum_decl): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3626 * config/aarch64/aarch64-sve-builtins.cc (init_builtins): Call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3627 handle_arm_sve_h for the LTO frontend.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3628 (register_vector_type): Cope with null returns from pushdecl.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3629
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3630 2020-01-07 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3631
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3632 * config/aarch64/aarch64-protos.h (aarch64_sve::svbool_type_p)
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3633 (aarch64_sve::nvectors_if_data_type): Replace with...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3634 (aarch64_sve::builtin_type_p): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3635 * config/aarch64/aarch64-sve-builtins.cc: Include attribs.h.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3636 (find_vector_type): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3637 (add_sve_type_attribute): New function.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3638 (lookup_sve_type_attribute): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3639 (register_builtin_types): Add an "SVE type" attribute to each type.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3640 (register_tuple_type): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3641 (svbool_type_p, nvectors_if_data_type): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3642 (mangle_builtin_type): Use lookup_sve_type_attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3643 (builtin_type_p): Likewise. Add an overload that returns the
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3644 number of constituent vector and predicate registers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3645 * config/aarch64/aarch64.c (aarch64_sve_argument_p): Delete.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3646 (aarch64_returns_value_in_sve_regs_p): Use aarch64_sve::builtin_type_p
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3647 instead of aarch64_sve_argument_p.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3648 (aarch64_takes_arguments_in_sve_regs_p): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3649 (aarch64_pass_by_reference): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3650 (aarch64_function_value_1): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3651 (aarch64_return_in_memory): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3652 (aarch64_layout_arg): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3653
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3654 2020-01-07 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3655
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3656 PR tree-optimization/93156
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3657 * tree-ssa-ccp.c (bit_value_binop): For x * x note that the second
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3658 least significant bit is always clear.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3659
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3660 PR tree-optimization/93118
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3661 * match.pd ((x >> c) << c -> x & (-1<<c)): Add nop_convert?. Add new
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3662 simplifier with two intermediate conversions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3663
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3664 2020-01-07 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3665
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3666 * params.opt: Add Optimization for various parameters.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3667
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3668 2020-01-07 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3669
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3670 PR ipa/83411
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3671 * doc/extend.texi: Explain cloning for target_clone
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3672 attribute.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3673
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3674 2020-01-07 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3675
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3676 PR tree-optimization/92860
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3677 * common.opt: Make in Optimization option
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3678 as it is affected by -O0, which is an Optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3679 option.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3680 * tree-inline.c (tree_inlinable_function_p):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3681 Use opt_for_fn for warn_inline.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3682 (expand_call_inline): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3683
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3684 2020-01-07 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3685
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3686 PR tree-optimization/92860
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3687 * common.opt: Make flag_ree as optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3688 attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3689
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3690 2020-01-07 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3691
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3692 PR optimization/92860
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3693 * params.opt: Mark param_min_crossjump_insns with Optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3694 keyword.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3695
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3696 2020-01-07 Luo Xiong Hu <luoxhu@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3697
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3698 * ipa-inline-analysis.c (estimate_growth): Fix typo.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3699 * ipa-inline.c (caller_growth_limits): Use OR instead of AND.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3700
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3701 2020-01-06 Michael Meissner <meissner@linux.ibm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3702
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3703 * config/rs6000/rs6000.c (hard_reg_and_mode_to_addr_mask): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3704 helper function to return the valid addressing formats for a given
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3705 hard register and mode.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3706 (rs6000_adjust_vec_address): Call hard_reg_and_mode_to_addr_mask.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3707
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3708 * config/rs6000/constraints.md (Q constraint): Update
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3709 documentation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3710 * doc/md.texi (RS/6000 constraints): Update 'Q' cosntraint
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3711 documentation.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3712
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3713 * config/rs6000/vsx.md (vsx_extract_<mode>_var, VSX_D iterator):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3714 Use 'Q' for doing vector extract from memory.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3715 (vsx_extract_v4sf_var): Use 'Q' for doing vector extract from
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3716 memory.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3717 (vsx_extract_<mode>_var, VSX_EXTRACT_I iterator): Use 'Q' for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3718 doing vector extract from memory.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3719 (vsx_extract_<mode>_<VS_scalar>mode_var): Use 'Q' for doing vector
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3720 extract from memory.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3721
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3722 * config/rs6000/rs6000.c (rs6000_adjust_vec_address): Add support
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3723 for the offset being 34-bits when -mcpu=future is used.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3724
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3725 2020-01-06 John David Anglin <danglin@gcc.gnu.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3726
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3727 * config/pa/pa.md: Revert change to use ordered_comparison_operator
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3728 instead of cmpib_comparison_operator in cmpib patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3729 * config/pa/predicates.md (cmpib_comparison_operator): Revert removal
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3730 of cmpib_comparison_operator. Revise comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3731
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3732 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3733
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3734 * tree-vect-slp.c (vect_build_slp_tree_1): Require all shifts
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3735 in an IFN_DIV_POW2 node to be equal.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3736
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3737 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3738
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3739 * tree-vect-stmts.c (vect_check_load_store_mask): Rename to...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3740 (vect_check_scalar_mask): ...this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3741 (vectorizable_store, vectorizable_load): Update call accordingly.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3742 (vectorizable_call): Use vect_check_scalar_mask to check the mask
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3743 argument in calls to conditional internal functions.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3744
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3745 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3746
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3747 * config/gcn/gcn-valu.md (subv64di3): Use separate alternatives for
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3748 '0' matching inputs.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3749 (subv64di3_exec): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3750
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3751 2020-01-06 Bryan Stenson <bryan@siliconvortex.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3752
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3753 * config/mips/mips.c (vr4130_align_insns): Fix typo.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3754 * doc/md.texi (movstr): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3755
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3756 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3757
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3758 * config/gcn/gcn-valu.md (vec_extract<mode><scalar_mode>): Add early
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3759 clobber.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3760
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3761 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3762
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3763 * config/aarch64/t-aarch64 ($(srcdir)/config/aarch64/aarch64-tune.md):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3764 Depend on...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3765 (s-aarch64-tune-md): ...this new stamp file. Pipe the new contents
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3766 to a temporary file and use move-if-change to update the real
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3767 file where necessary.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3768
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3769 2020-01-06 Richard Sandiford <richard.sandiford@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3770
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3771 * config/aarch64/aarch64-sve.md (@aarch64_sel_dup<mode>): Use Upl
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3772 rather than Upa for CPY /M.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3773
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3774 2020-01-06 Andrew Stubbs <ams@codesourcery.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3775
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3776 * config/gcn/gcn.c (gcn_inline_constant_p): Allow 64 as an inline
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3777 immediate.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3778
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3779 2020-01-06 Martin Liska <mliska@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3780
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3781 PR tree-optimization/92860
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3782 * params.opt: Mark param_max_combine_insns with Optimization
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3783 keyword.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3784
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3785 2020-01-05 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3786
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3787 PR target/93141
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3788 * config/i386/i386.md (SWIDWI): New mode iterator.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3789 (DWI, dwi): Add TImode variants.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3790 (addv<mode>4): Use SWIDWI iterator instead of SWI. Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3791 <general_hilo_operand> instead of <general_operand>. Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3792 CONST_SCALAR_INT_P instead of CONST_INT_P.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3793 (*addv<mode>4_1): Rename to ...
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3794 (addv<mode>4_1): ... this.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3795 (QWI): New mode attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3796 (*addv<dwi>4_doubleword, *addv<dwi>4_doubleword_1): New
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3797 define_insn_and_split patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3798 (*addv<mode>4_overflow_1, *addv<mode>4_overflow_2): New define_insn
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3799 patterns.
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3800 (uaddv<mode>4): Use SWIDWI iterator instead of SWI. Use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3801 <general_hilo_operand> instead of <general_operand>.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3802 (*addcarry<mode>_1): New define_insn.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3803 (*add<dwi>3_doubleword_cc_overflow_1): New define_insn_and_split.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3804
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3805 2020-01-03 Konstantin Kharlamov <Hi-Angel@yandex.ru>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3806
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3807 * gdbinit.in (pr, prl, pt, pct, pgg, pgq, pgs, pge, pmz, pdd, pbs, pbm):
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3808 Use "call" instead of "set".
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3809
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3810 2020-01-03 Martin Jambor <mjambor@suse.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3811
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3812 PR ipa/92917
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3813 * ipa-cp.c (print_all_lattices): Skip functions without info.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3814
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3815 2020-01-03 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3816
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3817 PR target/93089
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3818 * config/i386/i386-options.c (ix86_simd_clone_adjust): If
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3819 TARGET_PREFER_AVX128, use prefer-vector-width=256 for 'c' and 'd'
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3820 simd clones. If TARGET_PREFER_AVX256, use prefer-vector-width=512
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3821 for 'e' simd clones.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3822
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3823 PR target/93089
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3824 * config/i386/i386.opt (x_prefer_vector_width_type): Remove TargetSave
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3825 entry.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3826 (mprefer-vector-width=): Add Save.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3827 * config/i386/i386-options.c (ix86_target_string): Add PVW argument, print
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3828 -mprefer-vector-width= if non-zero. Fix up -mfpmath= comment.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3829 (ix86_debug_options, ix86_function_specific_print): Adjust
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3830 ix86_target_string callers.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3831 (ix86_valid_target_attribute_inner_p): Handle prefer-vector-width=.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3832 (ix86_valid_target_attribute_tree): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3833 * config/i386/i386-options.h (ix86_target_string): Add PVW argument.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3834 * config/i386/i386-expand.c (ix86_expand_builtin): Adjust
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3835 ix86_target_string caller.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3836
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3837 PR target/93110
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3838 * config/i386/i386.md (abs<mode>2): Use expand_simple_binop instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3839 emitting ASHIFTRT, XOR and MINUS by hand. Use gen_int_mode with QImode
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3840 instead of gen_int_shift_amount + convert_modes.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3841
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3842 PR rtl-optimization/93088
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3843 * loop-iv.c (find_single_def_src): Punt after looking through
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3844 128 reg copies for regs with single definitions. Move definitions
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3845 to first uses.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3846
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3847 2020-01-02 Dennis Zhang <dennis.zhang@arm.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3848
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3849 * config/arm/arm-c.c (arm_cpu_builtins): Define
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3850 __ARM_FEATURE_MATMUL_INT8, __ARM_FEATURE_BF16_VECTOR_ARITHMETIC,
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3851 __ARM_FEATURE_BF16_SCALAR_ARITHMETIC, and
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3852 __ARM_BF16_FORMAT_ALTERNATIVE when enabled.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3853 * config/arm/arm-cpus.in (armv8_6, i8mm, bf16): New features.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3854 * config/arm/arm-tables.opt: Regenerated.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3855 * config/arm/arm.c (arm_option_reconfigure_globals): Initialize
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3856 arm_arch_i8mm and arm_arch_bf16 when enabled.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3857 * config/arm/arm.h (TARGET_I8MM): New macro.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3858 (TARGET_BF16_FP, TARGET_BF16_SIMD): Likewise.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3859 * config/arm/t-aprofile: Add matching rules for -march=armv8.6-a.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3860 * config/arm/t-arm-elf (all_v8_archs): Add armv8.6-a.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3861 * config/arm/t-multilib: Add matching rules for -march=armv8.6-a.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3862 (v8_6_a_simd_variants): New.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3863 (v8_*_a_simd_variants): Add i8mm and bf16.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3864 * doc/invoke.texi (armv8.6-a, i8mm, bf16): Document new options.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3865
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3866 2020-01-02 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3867
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3868 PR ipa/93087
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3869 * predict.c (compute_function_frequency): Don't call
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3870 warn_function_cold on functions that already have cold attribute.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3871
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3872 2020-01-01 John David Anglin <danglin@gcc.gnu.org>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3873
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3874 PR target/67834
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3875 * config/pa/pa.c (pa_elf_select_rtx_section): New. Put references to
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3876 COMDAT group function labels in .data.rel.ro.local section.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3877 * config/pa/pa32-linux.h (TARGET_ASM_SELECT_RTX_SECTION): Define.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3878
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3879 PR target/93111
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3880 * config/pa/pa.md (scc): Use ordered_comparison_operator instead of
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3881 comparison_operator in B and S integer comparisons. Likewise, use
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3882 ordered_comparison_operator instead of cmpib_comparison_operator in
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3883 cmpib patterns.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3884 * config/pa/predicates.md (cmpib_comparison_operator): Remove.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3885
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3886 2020-01-01 Jakub Jelinek <jakub@redhat.com>
111
kono
parents: 67
diff changeset
3887
kono
parents: 67
diff changeset
3888 Update copyright years.
0
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3889
a06113de4d67 first commit
kent <kent@cr.ie.u-ryukyu.ac.jp>
parents:
diff changeset
3890 * gcc.c (process_command): Update copyright notice dates.
111
kono
parents: 67
diff changeset
3891 * gcov-dump.c (print_version): Ditto.
kono
parents: 67
diff changeset
3892 * gcov.c (print_version): Ditto.
kono
parents: 67
diff changeset
3893 * gcov-tool.c (print_version): Ditto.
kono
parents: 67
diff changeset
3894 * gengtype.c (create_file): Ditto.
kono
parents: 67
diff changeset
3895 * doc/cpp.texi: Bump @copying's copyright year.
kono
parents: 67
diff changeset
3896 * doc/cppinternals.texi: Ditto.
kono
parents: 67
diff changeset
3897 * doc/gcc.texi: Ditto.
kono
parents: 67
diff changeset
3898 * doc/gccint.texi: Ditto.
kono
parents: 67
diff changeset
3899 * doc/gcov.texi: Ditto.
kono
parents: 67
diff changeset
3900 * doc/install.texi: Ditto.
kono
parents: 67
diff changeset
3901 * doc/invoke.texi: Ditto.
131
84e7813d76e9 gcc-8.2
mir3636
parents: 111
diff changeset
3902
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3903 2020-01-01 Jan Hubicka <hubicka@ucw.cz>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3904
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3905 * ipa.c (walk_polymorphic_call_targets): Fix updating of overall
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3906 summary.
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3907
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3908 2020-01-01 Jakub Jelinek <jakub@redhat.com>
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3909
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3910 PR tree-optimization/93098
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3911 * match.pd (popcount): For shift amounts, use integer_onep
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3912 or wi::to_widest () == cst instead of tree_to_uhwi () == cst
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3913 tests. Make sure that precision is power of two larger than or equal
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3914 to 16. Ensure shift is never negative. Use HOST_WIDE_INT_UC macro
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3915 instead of ULL suffixed constants. Formatting fixes.
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
3916
145
1830386684a0 gcc-9.2.0
anatofuz
parents: 131
diff changeset
3917 Copyright (C) 2020 Free Software Foundation, Inc.
55
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
3918
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
3919 Copying and distribution of this file, with or without modification,
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
3920 are permitted in any medium without royalty provided the copyright
77e2b8dfacca update it from 4.4.3 to 4.5.0
ryoma <e075725@ie.u-ryukyu.ac.jp>
parents: 47
diff changeset
3921 notice and this notice are preserved.