]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Daily bump.
[gcc.git] / gcc / ChangeLog
1 2022-11-10 David Malcolm <dmalcolm@redhat.com>
2
3 PR analyzer/99671
4 * tristate.h (tristate::is_unknown): New.
5
6 2022-11-10 David Malcolm <dmalcolm@redhat.com>
7
8 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
9 Add -Wanalyzer-deref-before-check.
10
11 2022-11-10 Marek Polacek <polacek@redhat.com>
12
13 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
14 Extend the description of -Wdangling-reference.
15
16 2022-11-10 Andrew Pinski <apinski@marvell.com>
17
18 * config/bfin/bfin.h (SLOW_SHORT_ACCESS): Delete.
19 * config/i386/i386.h (SLOW_SHORT_ACCESS): Delete.
20 * system.h: Poison SLOW_SHORT_ACCESS
21
22 2022-11-10 Aldy Hernandez <aldyh@redhat.com>
23
24 * value-range.cc (frange::set_nonnegative): Remove NAN sign handling.
25 (range_tests_signed_zeros): Adjust test.
26
27 2022-11-10 Richard Biener <rguenther@suse.de>
28
29 PR tree-optimization/84646
30 * tree-ssa-forwprop.cc (pass_forwprop::execute): Improve
31 copy propagation across PHIs.
32
33 2022-11-10 Philipp Tomsich <philipp.tomsich@vrull.eu>
34
35 * config/riscv/riscv-cores.def (RISCV_TUNE): Update
36 sifive-7-series to point to the sifive_7 pipeline description.
37
38 2022-11-10 Richard Biener <rguenther@suse.de>
39
40 PR tree-optimization/84646
41 * tree-ssa-ccp.cc (set_lattice_value): Make sure we
42 allow a const -> copy transition and avoid using meet
43 in that case.
44
45 2022-11-10 Martin Liska <mliska@suse.cz>
46
47 * doc/cpp/conf.py: Add newline at last line.
48 * doc/cppinternals/conf.py: Add newline at last line.
49 * doc/gcc/conf.py: Add newline at last line.
50 * doc/gccint/conf.py: Add newline at last line.
51 * doc/install/conf.py: Add newline at last line.
52
53 2022-11-10 Richard Biener <rguenther@suse.de>
54
55 * tree-ssa-loop-unswitch.cc (init_loop_unswitch_info): First collect
56 candidates and determine the outermost loop to unswitch.
57 (tree_ssa_unswitch_loops): First perform all guard hoisting,
58 then perform unswitching on innermost loop predicates.
59 (find_unswitching_predicates_for_bb): Keep track of the
60 outermost loop to unswitch.
61 (evaluate_bbs): Adjust exit test.
62 (tree_unswitch_single_loop): Dump whether we unswitched an outer
63 loop.
64 (tree_unswitch_loop): Remove assert we unswitch only innermost
65 loops.
66
67 2022-11-10 Jakub Jelinek <jakub@redhat.com>
68
69 PR target/107585
70 PR target/107546
71 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): Use
72 gen_int_mode rather than GEN_INT.
73
74 2022-11-09 Martin Liska <mliska@suse.cz>
75 Sinan <sinan.lin@linux.alibaba.com>
76
77 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
78 Add missing variable name.
79
80 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
81
82 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
83 NAN if appropriate.
84 * value-range.cc (range_tests_floats): New test.
85
86 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
87
88 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
89 (class foperator_minus): Same.
90
91 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
92
93 * gimple-array-bounds.cc (trailing_array): Replace
94 array_at_struct_end_p with new name and update comments.
95 * gimple-fold.cc (get_range_strlen_tree): Likewise.
96 * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
97 Likewise.
98 * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
99 * tree-if-conv.cc (idx_within_array_bound): Likewise.
100 * tree-object-size.cc (addr_object_size): Likewise.
101 * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
102 Likewise.
103 (stmt_kills_ref_p): Likewise.
104 * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
105 * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
106 * tree.cc (array_at_struct_end_p): Rename to ...
107 (array_ref_flexible_size_p): ... this.
108 (component_ref_size): Replace array_at_struct_end_p with new name.
109 * tree.h (array_at_struct_end_p): Rename to ...
110 (array_ref_flexible_size_p): ... this.
111
112 2022-11-09 Martin Liska <mliska@suse.cz>
113
114 * Makefile.in: Use new install URL.
115 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
116 Use intersphinx link.
117 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
118 Use new URL.
119 * doc/gccint/source-tree-structure-and-build-system.rst: Use
120 intersphinx link.
121 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
122 * doc/install/installing-gcc.rst: Likewise.
123
124 2022-11-09 Richard Biener <rguenther@suse.de>
125
126 PR tree-optimization/84646
127 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
128 Remove premature cycle rejection.
129
130 2022-11-09 Martin Liska <mliska@suse.cz>
131
132 * doc/cpp/character-sets.rst:
133 Add trailing newline.
134 * doc/cpp/conditional-syntax.rst:
135 Add trailing newline.
136 * doc/cpp/conditional-uses.rst:
137 Add trailing newline.
138 * doc/cpp/conditionals.rst:
139 Add trailing newline.
140 * doc/cpp/copyright.rst:
141 Add trailing newline.
142 * doc/cpp/deleted-code.rst:
143 Add trailing newline.
144 * doc/cpp/diagnostics.rst:
145 Add trailing newline.
146 * doc/cpp/environment-variables.rst:
147 Add trailing newline.
148 * doc/cpp/gnu-free-documentation-license.rst:
149 Add trailing newline.
150 * doc/cpp/header-files.rst:
151 Add trailing newline.
152 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
153 Add trailing newline.
154 * doc/cpp/header-files/computed-includes.rst:
155 Add trailing newline.
156 * doc/cpp/header-files/include-operation.rst:
157 Add trailing newline.
158 * doc/cpp/header-files/include-syntax.rst:
159 Add trailing newline.
160 * doc/cpp/header-files/once-only-headers.rst:
161 Add trailing newline.
162 * doc/cpp/header-files/search-path.rst:
163 Add trailing newline.
164 * doc/cpp/header-files/system-headers.rst:
165 Add trailing newline.
166 * doc/cpp/header-files/wrapper-headers.rst:
167 Add trailing newline.
168 * doc/cpp/implementation-defined-behavior.rst:
169 Add trailing newline.
170 * doc/cpp/implementation-details.rst:
171 Add trailing newline.
172 * doc/cpp/implementation-limits.rst:
173 Add trailing newline.
174 * doc/cpp/index.rst:
175 Add trailing newline.
176 * doc/cpp/indices-and-tables.rst:
177 Add trailing newline.
178 * doc/cpp/initial-processing.rst:
179 Add trailing newline.
180 * doc/cpp/invocation.rst:
181 Add trailing newline.
182 * doc/cpp/line-control.rst:
183 Add trailing newline.
184 * doc/cpp/macros.rst:
185 Add trailing newline.
186 * doc/cpp/macros/concatenation.rst:
187 Add trailing newline.
188 * doc/cpp/macros/directives-within-macro-arguments.rst:
189 Add trailing newline.
190 * doc/cpp/macros/function-like-macros.rst:
191 Add trailing newline.
192 * doc/cpp/macros/macro-arguments.rst:
193 Add trailing newline.
194 * doc/cpp/macros/macro-pitfalls.rst:
195 Add trailing newline.
196 * doc/cpp/macros/object-like-macros.rst:
197 Add trailing newline.
198 * doc/cpp/macros/predefined-macros.rst:
199 Add trailing newline.
200 * doc/cpp/macros/stringizing.rst:
201 Add trailing newline.
202 * doc/cpp/macros/undefining-and-redefining-macros.rst:
203 Add trailing newline.
204 * doc/cpp/macros/variadic-macros.rst:
205 Add trailing newline.
206 * doc/cpp/obsolete-features.rst:
207 Add trailing newline.
208 * doc/cpp/other-directives.rst:
209 Add trailing newline.
210 * doc/cpp/overview.rst:
211 Add trailing newline.
212 * doc/cpp/pragmas.rst:
213 Add trailing newline.
214 * doc/cpp/preprocessor-output.rst:
215 Add trailing newline.
216 * doc/cpp/the-preprocessing-language.rst:
217 Add trailing newline.
218 * doc/cpp/tokenization.rst:
219 Add trailing newline.
220 * doc/cpp/traditional-lexical-analysis.rst:
221 Add trailing newline.
222 * doc/cpp/traditional-macros.rst:
223 Add trailing newline.
224 * doc/cpp/traditional-miscellany.rst:
225 Add trailing newline.
226 * doc/cpp/traditional-mode.rst:
227 Add trailing newline.
228 * doc/cpp/traditional-warnings.rst:
229 Add trailing newline.
230 * doc/cppinternals/copyright.rst:
231 Add trailing newline.
232 * doc/cppinternals/cppinternals.rst:
233 Add trailing newline.
234 * doc/cppinternals/cpplib.rst:
235 Add trailing newline.
236 * doc/cppinternals/files.rst:
237 Add trailing newline.
238 * doc/cppinternals/index.rst:
239 Add trailing newline.
240 * doc/cppinternals/indices-and-tables.rst:
241 Add trailing newline.
242 * doc/cppinternals/internal-representation-of-macros.rst:
243 Add trailing newline.
244 * doc/cppinternals/just-which-line-number-anyway.rst:
245 Add trailing newline.
246 * doc/cppinternals/lexing-a-line.rst:
247 Add trailing newline.
248 * doc/cppinternals/lexing-a-token.rst:
249 Add trailing newline.
250 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
251 Add trailing newline.
252 * doc/cppinternals/macro-expansion-overview.rst:
253 Add trailing newline.
254 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
255 Add trailing newline.
256 * doc/cppinternals/multiple-include-optimization.rst:
257 Add trailing newline.
258 * doc/cppinternals/overview.rst:
259 Add trailing newline.
260 * doc/cppinternals/representation-of-line-numbers.rst:
261 Add trailing newline.
262 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
263 Add trailing newline.
264 * doc/gcc/binary-compatibility.rst:
265 Add trailing newline.
266 * doc/gcc/c++-implementation-defined-behavior.rst:
267 Add trailing newline.
268 * doc/gcc/c-implementation-defined-behavior.rst:
269 Add trailing newline.
270 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
271 Add trailing newline.
272 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
273 Add trailing newline.
274 * doc/gcc/c-implementation-defined-behavior/characters.rst:
275 Add trailing newline.
276 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
277 Add trailing newline.
278 * doc/gcc/c-implementation-defined-behavior/environment.rst:
279 Add trailing newline.
280 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
281 Add trailing newline.
282 * doc/gcc/c-implementation-defined-behavior/hints.rst:
283 Add trailing newline.
284 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
285 Add trailing newline.
286 * doc/gcc/c-implementation-defined-behavior/integers.rst:
287 Add trailing newline.
288 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
289 Add trailing newline.
290 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
291 Add trailing newline.
292 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
293 Add trailing newline.
294 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
295 Add trailing newline.
296 * doc/gcc/c-implementation-defined-behavior/statements.rst:
297 Add trailing newline.
298 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
299 Add trailing newline.
300 * doc/gcc/c-implementation-defined-behavior/translation.rst:
301 Add trailing newline.
302 * doc/gcc/conditionally-supported-behavior.rst:
303 Add trailing newline.
304 * doc/gcc/contributing-to-gcc-development.rst:
305 Add trailing newline.
306 * doc/gcc/contributors-to-gcc.rst:
307 Add trailing newline.
308 * doc/gcc/copyright.rst:
309 Add trailing newline.
310 * doc/gcc/exception-handling.rst:
311 Add trailing newline.
312 * doc/gcc/extensions-to-the-c++-language.rst:
313 Add trailing newline.
314 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
315 Add trailing newline.
316 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
317 Add trailing newline.
318 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
319 Add trailing newline.
320 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
321 Add trailing newline.
322 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
323 Add trailing newline.
324 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
325 Add trailing newline.
326 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
327 Add trailing newline.
328 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
329 Add trailing newline.
330 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
331 Add trailing newline.
332 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
333 Add trailing newline.
334 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
335 Add trailing newline.
336 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
337 Add trailing newline.
338 * doc/gcc/extensions-to-the-c-language-family.rst:
339 Add trailing newline.
340 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
341 Add trailing newline.
342 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
343 Add trailing newline.
344 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
345 Add trailing newline.
346 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
347 Add trailing newline.
348 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
349 Add trailing newline.
350 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
351 Add trailing newline.
352 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
353 Add trailing newline.
354 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
355 Add trailing newline.
356 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
357 Add trailing newline.
358 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
359 Add trailing newline.
360 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
361 Add trailing newline.
362 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
363 Add trailing newline.
364 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
365 Add trailing newline.
366 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
367 Add trailing newline.
368 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
369 Add trailing newline.
370 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
371 Add trailing newline.
372 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
373 Add trailing newline.
374 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
375 Add trailing newline.
376 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
377 Add trailing newline.
378 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
379 Add trailing newline.
380 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
381 Add trailing newline.
382 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
383 Add trailing newline.
384 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
385 Add trailing newline.
386 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
387 Add trailing newline.
388 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
389 Add trailing newline.
390 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
391 Add trailing newline.
392 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
393 Add trailing newline.
394 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
395 Add trailing newline.
396 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
397 Add trailing newline.
398 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
399 Add trailing newline.
400 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
401 Add trailing newline.
402 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
403 Add trailing newline.
404 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
405 Add trailing newline.
406 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
407 Add trailing newline.
408 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
409 Add trailing newline.
410 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
411 Add trailing newline.
412 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
413 Add trailing newline.
414 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
415 Add trailing newline.
416 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
417 Add trailing newline.
418 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
419 Add trailing newline.
420 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
421 Add trailing newline.
422 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
423 Add trailing newline.
424 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
425 Add trailing newline.
426 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
427 Add trailing newline.
428 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
429 Add trailing newline.
430 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
431 Add trailing newline.
432 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
433 Add trailing newline.
434 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
435 Add trailing newline.
436 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
437 Add trailing newline.
438 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
439 Add trailing newline.
440 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
441 Add trailing newline.
442 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
443 Add trailing newline.
444 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
445 Add trailing newline.
446 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
447 Add trailing newline.
448 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
449 Add trailing newline.
450 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
451 Add trailing newline.
452 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
453 Add trailing newline.
454 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
455 Add trailing newline.
456 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
457 Add trailing newline.
458 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
459 Add trailing newline.
460 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
461 Add trailing newline.
462 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
463 Add trailing newline.
464 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
465 Add trailing newline.
466 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
467 Add trailing newline.
468 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
469 Add trailing newline.
470 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
471 Add trailing newline.
472 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
473 Add trailing newline.
474 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
475 Add trailing newline.
476 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
477 Add trailing newline.
478 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
479 Add trailing newline.
480 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
481 Add trailing newline.
482 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
483 Add trailing newline.
484 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
485 Add trailing newline.
486 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
487 Add trailing newline.
488 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
489 Add trailing newline.
490 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
491 Add trailing newline.
492 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
493 Add trailing newline.
494 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
495 Add trailing newline.
496 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
497 Add trailing newline.
498 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
499 Add trailing newline.
500 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
501 Add trailing newline.
502 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
503 Add trailing newline.
504 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
505 Add trailing newline.
506 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
507 Add trailing newline.
508 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
509 Add trailing newline.
510 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
511 Add trailing newline.
512 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
513 Add trailing newline.
514 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
515 Add trailing newline.
516 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
517 Add trailing newline.
518 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
519 Add trailing newline.
520 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
521 Add trailing newline.
522 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
523 Add trailing newline.
524 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
525 Add trailing newline.
526 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
527 Add trailing newline.
528 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
529 Add trailing newline.
530 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
531 Add trailing newline.
532 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
533 Add trailing newline.
534 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
535 Add trailing newline.
536 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
537 Add trailing newline.
538 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
539 Add trailing newline.
540 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
541 Add trailing newline.
542 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
543 Add trailing newline.
544 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
545 Add trailing newline.
546 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
547 Add trailing newline.
548 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
549 Add trailing newline.
550 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
551 Add trailing newline.
552 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
553 Add trailing newline.
554 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
555 Add trailing newline.
556 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
557 Add trailing newline.
558 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
559 Add trailing newline.
560 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
561 Add trailing newline.
562 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
563 Add trailing newline.
564 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
565 Add trailing newline.
566 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
567 Add trailing newline.
568 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
569 Add trailing newline.
570 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
571 Add trailing newline.
572 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
573 Add trailing newline.
574 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
575 Add trailing newline.
576 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
577 Add trailing newline.
578 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
579 Add trailing newline.
580 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
581 Add trailing newline.
582 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
583 Add trailing newline.
584 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
585 Add trailing newline.
586 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
587 Add trailing newline.
588 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
589 Add trailing newline.
590 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
591 Add trailing newline.
592 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
593 Add trailing newline.
594 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
595 Add trailing newline.
596 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
597 Add trailing newline.
598 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
599 Add trailing newline.
600 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
601 Add trailing newline.
602 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
603 Add trailing newline.
604 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
605 Add trailing newline.
606 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
607 Add trailing newline.
608 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
609 Add trailing newline.
610 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
611 Add trailing newline.
612 * doc/gcc/funding.rst:
613 Add trailing newline.
614 * doc/gcc/gcc-command-options.rst:
615 Add trailing newline.
616 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
617 Add trailing newline.
618 * doc/gcc/gcc-command-options/description.rst:
619 Add trailing newline.
620 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
621 Add trailing newline.
622 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
623 Add trailing newline.
624 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
625 Add trailing newline.
626 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
627 Add trailing newline.
628 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
629 Add trailing newline.
630 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
631 Add trailing newline.
632 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
633 Add trailing newline.
634 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
635 Add trailing newline.
636 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
637 Add trailing newline.
638 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
639 Add trailing newline.
640 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
641 Add trailing newline.
642 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
643 Add trailing newline.
644 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
645 Add trailing newline.
646 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
647 Add trailing newline.
648 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
649 Add trailing newline.
650 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
651 Add trailing newline.
652 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
653 Add trailing newline.
654 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
655 Add trailing newline.
656 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
657 Add trailing newline.
658 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
659 Add trailing newline.
660 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
661 Add trailing newline.
662 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
663 Add trailing newline.
664 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
665 Add trailing newline.
666 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
667 Add trailing newline.
668 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
669 Add trailing newline.
670 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
671 Add trailing newline.
672 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
673 Add trailing newline.
674 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
675 Add trailing newline.
676 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
677 Add trailing newline.
678 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
679 Add trailing newline.
680 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
681 Add trailing newline.
682 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
683 Add trailing newline.
684 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
685 Add trailing newline.
686 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
687 Add trailing newline.
688 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
689 Add trailing newline.
690 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
691 Add trailing newline.
692 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
693 Add trailing newline.
694 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
695 Add trailing newline.
696 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
697 Add trailing newline.
698 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
699 Add trailing newline.
700 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
701 Add trailing newline.
702 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
703 Add trailing newline.
704 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
705 Add trailing newline.
706 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
707 Add trailing newline.
708 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
709 Add trailing newline.
710 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
711 Add trailing newline.
712 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
713 Add trailing newline.
714 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
715 Add trailing newline.
716 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
717 Add trailing newline.
718 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
719 Add trailing newline.
720 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
721 Add trailing newline.
722 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
723 Add trailing newline.
724 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
725 Add trailing newline.
726 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
727 Add trailing newline.
728 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
729 Add trailing newline.
730 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
731 Add trailing newline.
732 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
733 Add trailing newline.
734 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
735 Add trailing newline.
736 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
737 Add trailing newline.
738 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
739 Add trailing newline.
740 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
741 Add trailing newline.
742 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
743 Add trailing newline.
744 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
745 Add trailing newline.
746 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
747 Add trailing newline.
748 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
749 Add trailing newline.
750 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
751 Add trailing newline.
752 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
753 Add trailing newline.
754 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
755 Add trailing newline.
756 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
757 Add trailing newline.
758 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
759 Add trailing newline.
760 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
761 Add trailing newline.
762 * doc/gcc/gcc-command-options/options-for-linking.rst:
763 Add trailing newline.
764 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
765 Add trailing newline.
766 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
767 Add trailing newline.
768 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
769 Add trailing newline.
770 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
771 Add trailing newline.
772 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
773 Add trailing newline.
774 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
775 Add trailing newline.
776 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
777 Add trailing newline.
778 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
779 Add trailing newline.
780 * doc/gcc/gcc.rst:
781 Add trailing newline.
782 * doc/gcc/gcov-dump.rst:
783 Add trailing newline.
784 * doc/gcc/gcov-tool.rst:
785 Add trailing newline.
786 * doc/gcc/gcov.rst:
787 Add trailing newline.
788 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
789 Add trailing newline.
790 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
791 Add trailing newline.
792 * doc/gcc/gcov/introduction-to-gcov.rst:
793 Add trailing newline.
794 * doc/gcc/gcov/invoking-gcov.rst:
795 Add trailing newline.
796 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
797 Add trailing newline.
798 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
799 Add trailing newline.
800 * doc/gcc/general-public-license-3.rst:
801 Add trailing newline.
802 * doc/gcc/gnu-free-documentation-license.rst:
803 Add trailing newline.
804 * doc/gcc/gnu-objective-c-features.rst:
805 Add trailing newline.
806 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
807 Add trailing newline.
808 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
809 Add trailing newline.
810 * doc/gcc/gnu-objective-c-features/exceptions.rst:
811 Add trailing newline.
812 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
813 Add trailing newline.
814 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
815 Add trailing newline.
816 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
817 Add trailing newline.
818 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
819 Add trailing newline.
820 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
821 Add trailing newline.
822 * doc/gcc/gnu-objective-c-features/synchronization.rst:
823 Add trailing newline.
824 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
825 Add trailing newline.
826 * doc/gcc/gnu.rst:
827 Add trailing newline.
828 * doc/gcc/have-you-found-a-bug.rst:
829 Add trailing newline.
830 * doc/gcc/how-and-where-to-report-bugs.rst:
831 Add trailing newline.
832 * doc/gcc/how-to-get-help-with-gcc.rst:
833 Add trailing newline.
834 * doc/gcc/index.rst:
835 Add trailing newline.
836 * doc/gcc/indices-and-tables.rst:
837 Add trailing newline.
838 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
839 Add trailing newline.
840 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
841 Add trailing newline.
842 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
843 Add trailing newline.
844 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
845 Add trailing newline.
846 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
847 Add trailing newline.
848 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
849 Add trailing newline.
850 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
851 Add trailing newline.
852 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
853 Add trailing newline.
854 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
855 Add trailing newline.
856 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
857 Add trailing newline.
858 * doc/gcc/language-standards-supported-by-gcc.rst:
859 Add trailing newline.
860 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
861 Add trailing newline.
862 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
863 Add trailing newline.
864 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
865 Add trailing newline.
866 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
867 Add trailing newline.
868 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
869 Add trailing newline.
870 * doc/gcc/lto-dump.rst:
871 Add trailing newline.
872 * doc/gcc/programming-languages-supported-by-gcc.rst:
873 Add trailing newline.
874 * doc/gcc/reporting-bugs.rst:
875 Add trailing newline.
876 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
877 Add trailing newline.
878 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
879 Add trailing newline.
880 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
881 Add trailing newline.
882 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
883 Add trailing newline.
884 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
885 Add trailing newline.
886 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
887 Add trailing newline.
888 * doc/gccint/analysis-and-representation-of-loops.rst:
889 Add trailing newline.
890 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
891 Add trailing newline.
892 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
893 Add trailing newline.
894 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
895 Add trailing newline.
896 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
897 Add trailing newline.
898 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
899 Add trailing newline.
900 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
901 Add trailing newline.
902 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
903 Add trailing newline.
904 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
905 Add trailing newline.
906 * doc/gccint/analyzer-internals.rst:
907 Add trailing newline.
908 * doc/gccint/collect2.rst:
909 Add trailing newline.
910 * doc/gccint/contributing-to-gcc-development.rst:
911 Add trailing newline.
912 * doc/gccint/contributors-to-gcc.rst:
913 Add trailing newline.
914 * doc/gccint/control-flow-graph.rst:
915 Add trailing newline.
916 * doc/gccint/control-flow-graph/basic-blocks.rst:
917 Add trailing newline.
918 * doc/gccint/control-flow-graph/edges.rst:
919 Add trailing newline.
920 * doc/gccint/control-flow-graph/liveness-information.rst:
921 Add trailing newline.
922 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
923 Add trailing newline.
924 * doc/gccint/control-flow-graph/profile-information.rst:
925 Add trailing newline.
926 * doc/gccint/copyright.rst:
927 Add trailing newline.
928 * doc/gccint/debugging-the-analyzer.rst:
929 Add trailing newline.
930 * doc/gccint/funding.rst:
931 Add trailing newline.
932 * doc/gccint/gcc-and-portability.rst:
933 Add trailing newline.
934 * doc/gccint/general-public-license-3.rst:
935 Add trailing newline.
936 * doc/gccint/generic.rst:
937 Add trailing newline.
938 * doc/gccint/generic/attributes-in-trees.rst:
939 Add trailing newline.
940 * doc/gccint/generic/c-and-c++-trees.rst:
941 Add trailing newline.
942 * doc/gccint/generic/declarations.rst:
943 Add trailing newline.
944 * doc/gccint/generic/deficiencies.rst:
945 Add trailing newline.
946 * doc/gccint/generic/expressions.rst:
947 Add trailing newline.
948 * doc/gccint/generic/functions.rst:
949 Add trailing newline.
950 * doc/gccint/generic/language-dependent-trees.rst:
951 Add trailing newline.
952 * doc/gccint/generic/overview.rst:
953 Add trailing newline.
954 * doc/gccint/generic/statements.rst:
955 Add trailing newline.
956 * doc/gccint/generic/types.rst:
957 Add trailing newline.
958 * doc/gccint/gimple-api.rst:
959 Add trailing newline.
960 * doc/gccint/gimple.rst:
961 Add trailing newline.
962 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
963 Add trailing newline.
964 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
965 Add trailing newline.
966 * doc/gccint/gimple/exception-handling.rst:
967 Add trailing newline.
968 * doc/gccint/gimple/gimple-instruction-set.rst:
969 Add trailing newline.
970 * doc/gccint/gimple/gimple-sequences.rst:
971 Add trailing newline.
972 * doc/gccint/gimple/manipulating-gimple-statements.rst:
973 Add trailing newline.
974 * doc/gccint/gimple/operands.rst:
975 Add trailing newline.
976 * doc/gccint/gimple/sequence-iterators.rst:
977 Add trailing newline.
978 * doc/gccint/gimple/statement-and-operand-traversals.rst:
979 Add trailing newline.
980 * doc/gccint/gimple/temporaries.rst:
981 Add trailing newline.
982 * doc/gccint/gimple/tuple-representation.rst:
983 Add trailing newline.
984 * doc/gccint/gimple/tuple-specific-accessors.rst:
985 Add trailing newline.
986 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
987 Add trailing newline.
988 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
989 Add trailing newline.
990 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
991 Add trailing newline.
992 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
993 Add trailing newline.
994 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
995 Add trailing newline.
996 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
997 Add trailing newline.
998 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
999 Add trailing newline.
1000 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
1001 Add trailing newline.
1002 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
1003 Add trailing newline.
1004 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
1005 Add trailing newline.
1006 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
1007 Add trailing newline.
1008 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
1009 Add trailing newline.
1010 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
1011 Add trailing newline.
1012 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
1013 Add trailing newline.
1014 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
1015 Add trailing newline.
1016 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
1017 Add trailing newline.
1018 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
1019 Add trailing newline.
1020 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
1021 Add trailing newline.
1022 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
1023 Add trailing newline.
1024 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
1025 Add trailing newline.
1026 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
1027 Add trailing newline.
1028 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
1029 Add trailing newline.
1030 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
1031 Add trailing newline.
1032 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
1033 Add trailing newline.
1034 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
1035 Add trailing newline.
1036 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
1037 Add trailing newline.
1038 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
1039 Add trailing newline.
1040 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
1041 Add trailing newline.
1042 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
1043 Add trailing newline.
1044 * doc/gccint/gnu-free-documentation-license.rst:
1045 Add trailing newline.
1046 * doc/gccint/guidelines-for-diagnostics.rst:
1047 Add trailing newline.
1048 * doc/gccint/guidelines-for-options.rst:
1049 Add trailing newline.
1050 * doc/gccint/host-common.rst:
1051 Add trailing newline.
1052 * doc/gccint/host-configuration.rst:
1053 Add trailing newline.
1054 * doc/gccint/host-filesystem.rst:
1055 Add trailing newline.
1056 * doc/gccint/host-makefile-fragments.rst:
1057 Add trailing newline.
1058 * doc/gccint/host-misc.rst:
1059 Add trailing newline.
1060 * doc/gccint/index.rst:
1061 Add trailing newline.
1062 * doc/gccint/indices-and-tables.rst:
1063 Add trailing newline.
1064 * doc/gccint/interfacing-to-gcc-output.rst:
1065 Add trailing newline.
1066 * doc/gccint/introduction.rst:
1067 Add trailing newline.
1068 * doc/gccint/language-front-ends-in-gcc.rst:
1069 Add trailing newline.
1070 * doc/gccint/link-time-optimization.rst:
1071 Add trailing newline.
1072 * doc/gccint/link-time-optimization/design-overview.rst:
1073 Add trailing newline.
1074 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
1075 Add trailing newline.
1076 * doc/gccint/link-time-optimization/lto-file-sections.rst:
1077 Add trailing newline.
1078 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
1079 Add trailing newline.
1080 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
1081 Add trailing newline.
1082 * doc/gccint/machine-descriptions.rst:
1083 Add trailing newline.
1084 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
1085 Add trailing newline.
1086 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
1087 Add trailing newline.
1088 * doc/gccint/machine-descriptions/conditional-execution.rst:
1089 Add trailing newline.
1090 * doc/gccint/machine-descriptions/constant-definitions.rst:
1091 Add trailing newline.
1092 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
1093 Add trailing newline.
1094 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
1095 Add trailing newline.
1096 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
1097 Add trailing newline.
1098 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
1099 Add trailing newline.
1100 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
1101 Add trailing newline.
1102 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
1103 Add trailing newline.
1104 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
1105 Add trailing newline.
1106 * doc/gccint/machine-descriptions/instruction-attributes.rst:
1107 Add trailing newline.
1108 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
1109 Add trailing newline.
1110 * doc/gccint/machine-descriptions/iterators.rst:
1111 Add trailing newline.
1112 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
1113 Add trailing newline.
1114 * doc/gccint/machine-descriptions/operand-constraints.rst:
1115 Add trailing newline.
1116 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
1117 Add trailing newline.
1118 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
1119 Add trailing newline.
1120 * doc/gccint/machine-descriptions/predicates.rst:
1121 Add trailing newline.
1122 * doc/gccint/machine-descriptions/rtl-template.rst:
1123 Add trailing newline.
1124 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
1125 Add trailing newline.
1126 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
1127 Add trailing newline.
1128 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
1129 Add trailing newline.
1130 * doc/gccint/makefile-fragments.rst:
1131 Add trailing newline.
1132 * doc/gccint/match-and-simplify.rst:
1133 Add trailing newline.
1134 * doc/gccint/memory-management-and-type-information.rst:
1135 Add trailing newline.
1136 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
1137 Add trailing newline.
1138 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
1139 Add trailing newline.
1140 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
1141 Add trailing newline.
1142 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
1143 Add trailing newline.
1144 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
1145 Add trailing newline.
1146 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
1147 Add trailing newline.
1148 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
1149 Add trailing newline.
1150 * doc/gccint/option-file-format.rst:
1151 Add trailing newline.
1152 * doc/gccint/option-properties.rst:
1153 Add trailing newline.
1154 * doc/gccint/option-specification-files.rst:
1155 Add trailing newline.
1156 * doc/gccint/passes-and-files-of-the-compiler.rst:
1157 Add trailing newline.
1158 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
1159 Add trailing newline.
1160 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
1161 Add trailing newline.
1162 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
1163 Add trailing newline.
1164 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
1165 Add trailing newline.
1166 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
1167 Add trailing newline.
1168 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
1169 Add trailing newline.
1170 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
1171 Add trailing newline.
1172 * doc/gccint/plugins.rst:
1173 Add trailing newline.
1174 * doc/gccint/plugins/building-gcc-plugins.rst:
1175 Add trailing newline.
1176 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
1177 Add trailing newline.
1178 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
1179 Add trailing newline.
1180 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
1181 Add trailing newline.
1182 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
1183 Add trailing newline.
1184 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
1185 Add trailing newline.
1186 * doc/gccint/plugins/loading-plugins.rst:
1187 Add trailing newline.
1188 * doc/gccint/plugins/plugin-api.rst:
1189 Add trailing newline.
1190 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
1191 Add trailing newline.
1192 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
1193 Add trailing newline.
1194 * doc/gccint/rtl-representation.rst:
1195 Add trailing newline.
1196 * doc/gccint/rtl-representation/access-to-operands.rst:
1197 Add trailing newline.
1198 * doc/gccint/rtl-representation/access-to-special-operands.rst:
1199 Add trailing newline.
1200 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
1201 Add trailing newline.
1202 * doc/gccint/rtl-representation/bit-fields.rst:
1203 Add trailing newline.
1204 * doc/gccint/rtl-representation/comparison-operations.rst:
1205 Add trailing newline.
1206 * doc/gccint/rtl-representation/constant-expression-types.rst:
1207 Add trailing newline.
1208 * doc/gccint/rtl-representation/conversions.rst:
1209 Add trailing newline.
1210 * doc/gccint/rtl-representation/declarations.rst:
1211 Add trailing newline.
1212 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
1213 Add trailing newline.
1214 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
1215 Add trailing newline.
1216 * doc/gccint/rtl-representation/insns.rst:
1217 Add trailing newline.
1218 * doc/gccint/rtl-representation/machine-modes.rst:
1219 Add trailing newline.
1220 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
1221 Add trailing newline.
1222 * doc/gccint/rtl-representation/reading-rtl.rst:
1223 Add trailing newline.
1224 * doc/gccint/rtl-representation/registers-and-memory.rst:
1225 Add trailing newline.
1226 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
1227 Add trailing newline.
1228 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
1229 Add trailing newline.
1230 * doc/gccint/rtl-representation/rtl-object-types.rst:
1231 Add trailing newline.
1232 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
1233 Add trailing newline.
1234 * doc/gccint/rtl-representation/side-effect-expressions.rst:
1235 Add trailing newline.
1236 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
1237 Add trailing newline.
1238 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
1239 Add trailing newline.
1240 * doc/gccint/rtl-representation/vector-operations.rst:
1241 Add trailing newline.
1242 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
1243 Add trailing newline.
1244 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
1245 Add trailing newline.
1246 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
1247 Add trailing newline.
1248 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
1249 Add trailing newline.
1250 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
1251 Add trailing newline.
1252 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
1253 Add trailing newline.
1254 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
1255 Add trailing newline.
1256 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
1257 Add trailing newline.
1258 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
1259 Add trailing newline.
1260 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
1261 Add trailing newline.
1262 * doc/gccint/source-tree-structure-and-build-system.rst:
1263 Add trailing newline.
1264 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
1265 Add trailing newline.
1266 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
1267 Add trailing newline.
1268 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
1269 Add trailing newline.
1270 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
1271 Add trailing newline.
1272 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
1273 Add trailing newline.
1274 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
1275 Add trailing newline.
1276 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
1277 Add trailing newline.
1278 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
1279 Add trailing newline.
1280 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
1281 Add trailing newline.
1282 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
1283 Add trailing newline.
1284 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
1285 Add trailing newline.
1286 * doc/gccint/standard-header-file-directories.rst:
1287 Add trailing newline.
1288 * doc/gccint/static-analyzer.rst:
1289 Add trailing newline.
1290 * doc/gccint/target-macros.rst:
1291 Add trailing newline.
1292 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
1293 Add trailing newline.
1294 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
1295 Add trailing newline.
1296 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
1297 Add trailing newline.
1298 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
1299 Add trailing newline.
1300 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
1301 Add trailing newline.
1302 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
1303 Add trailing newline.
1304 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
1305 Add trailing newline.
1306 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
1307 Add trailing newline.
1308 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1309 Add trailing newline.
1310 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1311 Add trailing newline.
1312 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1313 Add trailing newline.
1314 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1315 Add trailing newline.
1316 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
1317 Add trailing newline.
1318 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
1319 Add trailing newline.
1320 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
1321 Add trailing newline.
1322 * doc/gccint/target-macros/position-independent-code.rst:
1323 Add trailing newline.
1324 * doc/gccint/target-macros/register-usage.rst:
1325 Add trailing newline.
1326 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
1327 Add trailing newline.
1328 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1329 Add trailing newline.
1330 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
1331 Add trailing newline.
1332 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
1333 Add trailing newline.
1334 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1335 Add trailing newline.
1336 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1337 Add trailing newline.
1338 * doc/gccint/target-macros/support-for-nested-functions.rst:
1339 Add trailing newline.
1340 * doc/gccint/target-macros/the-global-targetm-variable.rst:
1341 Add trailing newline.
1342 * doc/gccint/target-makefile-fragments.rst:
1343 Add trailing newline.
1344 * doc/gccint/testsuites.rst:
1345 Add trailing newline.
1346 * doc/gccint/testsuites/ada-language-testsuites.rst:
1347 Add trailing newline.
1348 * doc/gccint/testsuites/c-language-testsuites.rst:
1349 Add trailing newline.
1350 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
1351 Add trailing newline.
1352 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
1353 Add trailing newline.
1354 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
1355 Add trailing newline.
1356 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
1357 Add trailing newline.
1358 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
1359 Add trailing newline.
1360 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
1361 Add trailing newline.
1362 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
1363 Add trailing newline.
1364 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
1365 Add trailing newline.
1366 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
1367 Add trailing newline.
1368 * doc/gccint/testsuites/support-for-testing-gcov.rst:
1369 Add trailing newline.
1370 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
1371 Add trailing newline.
1372 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
1373 Add trailing newline.
1374 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
1375 Add trailing newline.
1376 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
1377 Add trailing newline.
1378 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
1379 Add trailing newline.
1380 * doc/gccint/the-gcc-low-level-runtime-library.rst:
1381 Add trailing newline.
1382 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
1383 Add trailing newline.
1384 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
1385 Add trailing newline.
1386 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
1387 Add trailing newline.
1388 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
1389 Add trailing newline.
1390 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
1391 Add trailing newline.
1392 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
1393 Add trailing newline.
1394 * doc/gccint/the-language.rst:
1395 Add trailing newline.
1396 * doc/gccint/user-experience-guidelines.rst:
1397 Add trailing newline.
1398 * doc/install/binaries.rst:
1399 Add trailing newline.
1400 * doc/install/building.rst:
1401 Add trailing newline.
1402 * doc/install/building/building-a-cross-compiler.rst:
1403 Add trailing newline.
1404 * doc/install/building/building-a-native-compiler.rst:
1405 Add trailing newline.
1406 * doc/install/building/building-in-parallel.rst:
1407 Add trailing newline.
1408 * doc/install/building/building-the-ada-compiler.rst:
1409 Add trailing newline.
1410 * doc/install/building/building-the-d-compiler.rst:
1411 Add trailing newline.
1412 * doc/install/building/building-with-profile-feedback.rst:
1413 Add trailing newline.
1414 * doc/install/configuration.rst:
1415 Add trailing newline.
1416 * doc/install/copyright.rst:
1417 Add trailing newline.
1418 * doc/install/downloading-gcc.rst:
1419 Add trailing newline.
1420 * doc/install/final-installation.rst:
1421 Add trailing newline.
1422 * doc/install/gnu-free-documentation-license.rst:
1423 Add trailing newline.
1424 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
1425 Add trailing newline.
1426 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
1427 Add trailing newline.
1428 * doc/install/how-to-interpret-test-results.rst:
1429 Add trailing newline.
1430 * doc/install/index.rst:
1431 Add trailing newline.
1432 * doc/install/indices-and-tables.rst:
1433 Add trailing newline.
1434 * doc/install/installing-gcc.rst:
1435 Add trailing newline.
1436 * doc/install/passing-options-and-running-multiple-testsuites.rst:
1437 Add trailing newline.
1438 * doc/install/prerequisites.rst:
1439 Add trailing newline.
1440 * doc/install/submitting-test-results.rst:
1441 Add trailing newline.
1442 * doc/install/testing.rst:
1443 Add trailing newline.
1444
1445 2022-11-09 Martin Liska <mliska@suse.cz>
1446
1447 * opts.cc (get_option_html_page): Port to sphinx URLs.
1448 (get_option_url): Likewise.
1449 (test_get_option_html_page): Likewise.
1450
1451 2022-11-09 Jakub Jelinek <jakub@redhat.com>
1452
1453 PR tree-optimization/107569
1454 * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
1455 from the negatives frange before unioning it into r.
1456
1457 2022-11-09 Martin Liska <mliska@suse.cz>
1458
1459 * Makefile.in: Add vpath default for .rst files.
1460 * config/avr/avr-devices.cc: For port RST.
1461 * config/avr/avr-mcus.def: Update path.
1462 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
1463 * config/avr/gen-avr-mmcu-rst.cc: ...here.
1464 * config/avr/t-avr: Update to rst.
1465 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
1466
1467 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
1468
1469 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
1470
1471 2022-11-09 Xi Ruoyao <xry111@xry111.site>
1472
1473 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
1474 Avoid signed overflow.
1475
1476 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
1477
1478 * range-op-float.cc (foperator_plus::op1_range): New.
1479 (foperator_plus::op2_range): New.
1480 (foperator_minus::op1_range): New.
1481 (foperator_minus::op2_range): New.
1482
1483 2022-11-09 Martin Liska <mliska@suse.cz>
1484
1485 * Makefile.in: Support installation if sphinx-build is missing.
1486
1487 2022-11-09 Martin Liska <mliska@suse.cz>
1488
1489 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1490 Port to RST.
1491 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1492 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
1493 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
1494
1495 2022-11-09 Martin Liska <mliska@suse.cz>
1496
1497 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1498 Do not include tm.rst.in.
1499 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1500 Likewise.
1501 * doc/gccint/target-macros/run-time-target-specification.rst:
1502 Likewise.
1503
1504 2022-11-09 Martin Liska <mliska@suse.cz>
1505
1506 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
1507 Fix cross manual refs.
1508 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
1509 Likewise.
1510
1511 2022-11-09 Martin Liska <mliska@suse.cz>
1512
1513 * Makefile.in: Support --with-sphinx-build.
1514 * configure.ac:
1515 * configure: Regenerate.
1516
1517 2022-11-09 Martin Liska <mliska@suse.cz>
1518
1519 * target.def: Use proper lexers for target macros.
1520 * doc/gccint/target-macros/tm.rst.in: Re-generate.
1521
1522 2022-11-09 Martin Liska <mliska@suse.cz>
1523
1524 * doc/analyzer.texi: Removed.
1525 * doc/avr-mmcu.texi: Removed.
1526 * doc/bugreport.texi: Removed.
1527 * doc/cfg.texi: Removed.
1528 * doc/collect2.texi: Removed.
1529 * doc/compat.texi: Removed.
1530 * doc/configfiles.texi: Removed.
1531 * doc/configterms.texi: Removed.
1532 * doc/contrib.texi: Removed.
1533 * doc/contribute.texi: Removed.
1534 * doc/cpp.texi: Removed.
1535 * doc/cppdiropts.texi: Removed.
1536 * doc/cppenv.texi: Removed.
1537 * doc/cppinternals.texi: Removed.
1538 * doc/cppopts.texi: Removed.
1539 * doc/cppwarnopts.texi: Removed.
1540 * doc/extend.texi: Removed.
1541 * doc/fragments.texi: Removed.
1542 * doc/frontends.texi: Removed.
1543 * doc/gcc.texi: Removed.
1544 * doc/gccint.texi: Removed.
1545 * doc/gcov-dump.texi: Removed.
1546 * doc/gcov-tool.texi: Removed.
1547 * doc/gcov.texi: Removed.
1548 * doc/generic.texi: Removed.
1549 * doc/gimple.texi: Removed.
1550 * doc/gnu.texi: Removed.
1551 * doc/gty.texi: Removed.
1552 * doc/headerdirs.texi: Removed.
1553 * doc/hostconfig.texi: Removed.
1554 * doc/implement-c.texi: Removed.
1555 * doc/implement-cxx.texi: Removed.
1556 * doc/include/fdl.texi: Removed.
1557 * doc/include/funding.texi: Removed.
1558 * doc/include/gcc-common.texi: Removed.
1559 * doc/include/gpl_v3.texi: Removed.
1560 * doc/install.texi: Removed.
1561 * doc/interface.texi: Removed.
1562 * doc/invoke.texi: Removed.
1563 * doc/languages.texi: Removed.
1564 * doc/libgcc.texi: Removed.
1565 * doc/loop.texi: Removed.
1566 * doc/lto-dump.texi: Removed.
1567 * doc/lto.texi: Removed.
1568 * doc/makefile.texi: Removed.
1569 * doc/match-and-simplify.texi: Removed.
1570 * doc/md.texi: Removed.
1571 * doc/objc.texi: Removed.
1572 * doc/optinfo.texi: Removed.
1573 * doc/options.texi: Removed.
1574 * doc/passes.texi: Removed.
1575 * doc/plugins.texi: Removed.
1576 * doc/poly-int.texi: Removed.
1577 * doc/portability.texi: Removed.
1578 * doc/rtl.texi: Removed.
1579 * doc/service.texi: Removed.
1580 * doc/sourcebuild.texi: Removed.
1581 * doc/standards.texi: Removed.
1582 * doc/tm.texi: Removed.
1583 * doc/tree-ssa.texi: Removed.
1584 * doc/trouble.texi: Removed.
1585 * doc/ux.texi: Removed.
1586 * doc/tm.texi.in: Removed.
1587
1588 2022-11-09 Martin Liska <mliska@suse.cz>
1589
1590 * doc/gccint/target-macros/tm.rst.in: New file.
1591
1592 2022-11-09 Martin Liska <mliska@suse.cz>
1593
1594 * Makefile.in: Support Sphinx based documentation.
1595 * configure: Regenerate.
1596 * configure.ac: Support Sphinx based documentation.
1597 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
1598
1599 2022-11-09 Martin Liska <mliska@suse.cz>
1600
1601 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
1602 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
1603 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
1604 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
1605 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
1606 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
1607 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
1608 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
1609 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
1610 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
1611 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1612 Likewise.
1613 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1614 Likewise.
1615 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1616 Likewise.
1617 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1618 Likewise.
1619 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1620 Likewise.
1621 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1622 Likewise.
1623 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1624 Likewise.
1625 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
1626 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
1627 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
1628 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
1629 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
1630 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
1631 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
1632 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
1633 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1634 Likewise.
1635 * doc/gccint/target-macros/register-classes.rst: Likewise.
1636 * doc/gccint/target-macros/register-usage.rst: Likewise.
1637 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
1638 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1639 Likewise.
1640 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1641 Likewise.
1642 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1643 Likewise.
1644 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1645 Likewise.
1646 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1647 Likewise.
1648 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1649 Likewise.
1650 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1651 Likewise.
1652 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1653 Likewise.
1654 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1655 Likewise.
1656 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1657 Likewise.
1658 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1659 Likewise.
1660 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1661 Likewise.
1662 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1663 Likewise.
1664 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1665 Likewise.
1666 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1667 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
1668
1669 2022-11-09 Martin Liska <mliska@suse.cz>
1670
1671 * common/common-target.def: Port to RST.
1672 * target.def: Port to RST.
1673
1674 2022-11-09 Martin Liska <mliska@suse.cz>
1675
1676 * doc/cpp/character-sets.rst: New file.
1677 * doc/cpp/conditional-syntax.rst: New file.
1678 * doc/cpp/conditional-uses.rst: New file.
1679 * doc/cpp/conditionals.rst: New file.
1680 * doc/cpp/conf.py: New file.
1681 * doc/cpp/copyright.rst: New file.
1682 * doc/cpp/deleted-code.rst: New file.
1683 * doc/cpp/diagnostics.rst: New file.
1684 * doc/cpp/environment-variables.rst: New file.
1685 * doc/cpp/gnu-free-documentation-license.rst: New file.
1686 * doc/cpp/header-files.rst: New file.
1687 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
1688 * doc/cpp/header-files/computed-includes.rst: New file.
1689 * doc/cpp/header-files/include-operation.rst: New file.
1690 * doc/cpp/header-files/include-syntax.rst: New file.
1691 * doc/cpp/header-files/once-only-headers.rst: New file.
1692 * doc/cpp/header-files/search-path.rst: New file.
1693 * doc/cpp/header-files/system-headers.rst: New file.
1694 * doc/cpp/header-files/wrapper-headers.rst: New file.
1695 * doc/cpp/implementation-defined-behavior.rst: New file.
1696 * doc/cpp/implementation-details.rst: New file.
1697 * doc/cpp/implementation-limits.rst: New file.
1698 * doc/cpp/index.rst: New file.
1699 * doc/cpp/indices-and-tables.rst: New file.
1700 * doc/cpp/initial-processing.rst: New file.
1701 * doc/cpp/invocation.rst: New file.
1702 * doc/cpp/line-control.rst: New file.
1703 * doc/cpp/macros.rst: New file.
1704 * doc/cpp/macros/concatenation.rst: New file.
1705 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
1706 * doc/cpp/macros/function-like-macros.rst: New file.
1707 * doc/cpp/macros/macro-arguments.rst: New file.
1708 * doc/cpp/macros/macro-pitfalls.rst: New file.
1709 * doc/cpp/macros/object-like-macros.rst: New file.
1710 * doc/cpp/macros/predefined-macros.rst: New file.
1711 * doc/cpp/macros/stringizing.rst: New file.
1712 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
1713 * doc/cpp/macros/variadic-macros.rst: New file.
1714 * doc/cpp/obsolete-features.rst: New file.
1715 * doc/cpp/other-directives.rst: New file.
1716 * doc/cpp/overview.rst: New file.
1717 * doc/cpp/pragmas.rst: New file.
1718 * doc/cpp/preprocessor-output.rst: New file.
1719 * doc/cpp/the-preprocessing-language.rst: New file.
1720 * doc/cpp/tokenization.rst: New file.
1721 * doc/cpp/traditional-lexical-analysis.rst: New file.
1722 * doc/cpp/traditional-macros.rst: New file.
1723 * doc/cpp/traditional-miscellany.rst: New file.
1724 * doc/cpp/traditional-mode.rst: New file.
1725 * doc/cpp/traditional-warnings.rst: New file.
1726 * doc/cppinternals/conf.py: New file.
1727 * doc/cppinternals/copyright.rst: New file.
1728 * doc/cppinternals/cppinternals.rst: New file.
1729 * doc/cppinternals/cpplib.rst: New file.
1730 * doc/cppinternals/files.rst: New file.
1731 * doc/cppinternals/index.rst: New file.
1732 * doc/cppinternals/indices-and-tables.rst: New file.
1733 * doc/cppinternals/internal-representation-of-macros.rst: New file.
1734 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
1735 * doc/cppinternals/lexing-a-line.rst: New file.
1736 * doc/cppinternals/lexing-a-token.rst: New file.
1737 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
1738 * doc/cppinternals/macro-expansion-overview.rst: New file.
1739 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
1740 * doc/cppinternals/multiple-include-optimization.rst: New file.
1741 * doc/cppinternals/overview.rst: New file.
1742 * doc/cppinternals/representation-of-line-numbers.rst: New file.
1743 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
1744 * doc/gcc/binary-compatibility.rst: New file.
1745 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
1746 * doc/gcc/c-implementation-defined-behavior.rst: New file.
1747 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
1748 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
1749 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
1750 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
1751 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
1752 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
1753 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
1754 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
1755 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
1756 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
1757 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
1758 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
1759 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
1760 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
1761 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1762 New file.
1763 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
1764 * doc/gcc/conditionally-supported-behavior.rst: New file.
1765 * doc/gcc/conf.py: New file.
1766 * doc/gcc/contributing-to-gcc-development.rst: New file.
1767 * doc/gcc/contributors-to-gcc.rst: New file.
1768 * doc/gcc/copyright.rst: New file.
1769 * doc/gcc/exception-handling.rst: New file.
1770 * doc/gcc/extensions-to-the-c++-language.rst: New file.
1771 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
1772 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
1773 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1774 New file.
1775 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1776 New file.
1777 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
1778 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1779 New file.
1780 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
1781 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
1782 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
1783 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
1784 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1785 New file.
1786 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
1787 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
1788 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
1789 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
1790 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
1791 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
1792 New file.
1793 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
1794 New file.
1795 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
1796 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
1797 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
1798 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
1799 New file.
1800 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
1801 New file.
1802 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
1803 New file.
1804 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
1805 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
1806 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
1807 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
1808 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
1809 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
1810 New file.
1811 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
1812 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
1813 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
1814 New file.
1815 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
1816 New file.
1817 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
1818 New file.
1819 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
1820 New file.
1821 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
1822 New file.
1823 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
1824 New file.
1825 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
1826 New file.
1827 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
1828 New file.
1829 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
1830 New file.
1831 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
1832 New file.
1833 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
1834 New file.
1835 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
1836 New file.
1837 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
1838 New file.
1839 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
1840 New file.
1841 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
1842 New file.
1843 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
1844 New file.
1845 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
1846 New file.
1847 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
1848 New file.
1849 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
1850 New file.
1851 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
1852 New file.
1853 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
1854 New file.
1855 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
1856 New file.
1857 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
1858 New file.
1859 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
1860 New file.
1861 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
1862 New file.
1863 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
1864 New file.
1865 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
1866 New file.
1867 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
1868 New file.
1869 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
1870 New file.
1871 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
1872 New file.
1873 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
1874 New file.
1875 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
1876 New file.
1877 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
1878 New file.
1879 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
1880 New file.
1881 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
1882 New file.
1883 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
1884 New file.
1885 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
1886 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
1887 New file.
1888 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
1889 New file.
1890 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
1891 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
1892 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
1893 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
1894 New file.
1895 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
1896 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
1897 New file.
1898 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
1899 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
1900 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
1901 New file.
1902 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
1903 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
1904 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
1905 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
1906 New file.
1907 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
1908 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
1909 New file.
1910 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
1911 New file.
1912 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
1913 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
1914 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
1915 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
1916 New file.
1917 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
1918 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
1919 New file.
1920 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
1921 New file.
1922 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
1923 New file.
1924 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
1925 New file.
1926 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
1927 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
1928 New file.
1929 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
1930 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
1931 New file.
1932 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
1933 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
1934 New file.
1935 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
1936 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
1937 New file.
1938 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
1939 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
1940 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
1941 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
1942 New file.
1943 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
1944 New file.
1945 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
1946 New file.
1947 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
1948 New file.
1949 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
1950 New file.
1951 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
1952 New file.
1953 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
1954 New file.
1955 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
1956 New file.
1957 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
1958 New file.
1959 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
1960 New file.
1961 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
1962 New file.
1963 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
1964 New file.
1965 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
1966 New file.
1967 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
1968 New file.
1969 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
1970 New file.
1971 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
1972 New file.
1973 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
1974 New file.
1975 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
1976 New file.
1977 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
1978 New file.
1979 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
1980 New file.
1981 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
1982 New file.
1983 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
1984 New file.
1985 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
1986 New file.
1987 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
1988 New file.
1989 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
1990 New file.
1991 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
1992 New file.
1993 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
1994 New file.
1995 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
1996 New file.
1997 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
1998 New file.
1999 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
2000 New file.
2001 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
2002 New file.
2003 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
2004 New file.
2005 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
2006 New file.
2007 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
2008 New file.
2009 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
2010 New file.
2011 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
2012 New file.
2013 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
2014 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
2015 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
2016 New file.
2017 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
2018 New file.
2019 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
2020 New file.
2021 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
2022 New file.
2023 * doc/gcc/funding.rst: New file.
2024 * doc/gcc/gcc-command-options.rst: New file.
2025 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
2026 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
2027 * doc/gcc/gcc-command-options/description.rst: New file.
2028 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
2029 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
2030 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
2031 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
2032 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
2033 New file.
2034 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
2035 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
2036 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
2037 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
2038 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
2039 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
2040 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
2041 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
2042 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
2043 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
2044 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
2045 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
2046 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
2047 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
2048 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
2049 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
2050 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
2051 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
2052 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
2053 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
2054 New file.
2055 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
2056 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
2057 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
2058 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
2059 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
2060 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
2061 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
2062 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
2063 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
2064 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
2065 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
2066 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
2067 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
2068 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
2069 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
2070 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
2071 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
2072 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
2073 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
2074 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
2075 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
2076 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
2077 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
2078 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
2079 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
2080 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
2081 New file.
2082 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
2083 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
2084 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
2085 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
2086 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
2087 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
2088 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
2089 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
2090 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
2091 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
2092 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
2093 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
2094 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
2095 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
2096 * doc/gcc/gcc-command-options/option-summary.rst: New file.
2097 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
2098 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
2099 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
2100 New file.
2101 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
2102 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
2103 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
2104 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
2105 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
2106 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
2107 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
2108 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
2109 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2110 New file.
2111 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
2112 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
2113 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
2114 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
2115 New file.
2116 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
2117 * doc/gcc/gcc.rst: New file.
2118 * doc/gcc/gcov-dump.rst: New file.
2119 * doc/gcc/gcov-tool.rst: New file.
2120 * doc/gcc/gcov.rst: New file.
2121 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
2122 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
2123 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
2124 * doc/gcc/gcov/invoking-gcov.rst: New file.
2125 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
2126 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
2127 * doc/gcc/general-public-license-3.rst: New file.
2128 * doc/gcc/gnu-free-documentation-license.rst: New file.
2129 * doc/gcc/gnu-objective-c-features.rst: New file.
2130 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
2131 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
2132 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
2133 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
2134 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
2135 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
2136 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
2137 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
2138 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
2139 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
2140 * doc/gcc/gnu.rst: New file.
2141 * doc/gcc/have-you-found-a-bug.rst: New file.
2142 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
2143 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
2144 * doc/gcc/index.rst: New file.
2145 * doc/gcc/indices-and-tables.rst: New file.
2146 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
2147 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
2148 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
2149 New file.
2150 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
2151 New file.
2152 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
2153 New file.
2154 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
2155 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
2156 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
2157 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
2158 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
2159 New file.
2160 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
2161 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
2162 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
2163 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
2164 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
2165 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
2166 New file.
2167 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
2168 * doc/gcc/lto-dump.rst: New file.
2169 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
2170 * doc/gcc/reporting-bugs.rst: New file.
2171 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
2172 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
2173 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
2174 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
2175 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
2176 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
2177 New file.
2178 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
2179 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
2180 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
2181 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
2182 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
2183 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
2184 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
2185 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
2186 New file.
2187 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
2188 * doc/gccint/analyzer-internals.rst: New file.
2189 * doc/gccint/collect2.rst: New file.
2190 * doc/gccint/conf.py: New file.
2191 * doc/gccint/contributing-to-gcc-development.rst: New file.
2192 * doc/gccint/contributors-to-gcc.rst: New file.
2193 * doc/gccint/control-flow-graph.rst: New file.
2194 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
2195 * doc/gccint/control-flow-graph/edges.rst: New file.
2196 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
2197 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
2198 * doc/gccint/control-flow-graph/profile-information.rst: New file.
2199 * doc/gccint/copyright.rst: New file.
2200 * doc/gccint/debugging-the-analyzer.rst: New file.
2201 * doc/gccint/funding.rst: New file.
2202 * doc/gccint/gcc-and-portability.rst: New file.
2203 * doc/gccint/general-public-license-3.rst: New file.
2204 * doc/gccint/generic.rst: New file.
2205 * doc/gccint/generic/attributes-in-trees.rst: New file.
2206 * doc/gccint/generic/c-and-c++-trees.rst: New file.
2207 * doc/gccint/generic/declarations.rst: New file.
2208 * doc/gccint/generic/deficiencies.rst: New file.
2209 * doc/gccint/generic/expressions.rst: New file.
2210 * doc/gccint/generic/functions.rst: New file.
2211 * doc/gccint/generic/language-dependent-trees.rst: New file.
2212 * doc/gccint/generic/overview.rst: New file.
2213 * doc/gccint/generic/statements.rst: New file.
2214 * doc/gccint/generic/types.rst: New file.
2215 * doc/gccint/gimple-api.rst: New file.
2216 * doc/gccint/gimple.rst: New file.
2217 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
2218 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
2219 * doc/gccint/gimple/exception-handling.rst: New file.
2220 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
2221 * doc/gccint/gimple/gimple-sequences.rst: New file.
2222 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
2223 * doc/gccint/gimple/operands.rst: New file.
2224 * doc/gccint/gimple/sequence-iterators.rst: New file.
2225 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
2226 * doc/gccint/gimple/temporaries.rst: New file.
2227 * doc/gccint/gimple/tuple-representation.rst: New file.
2228 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
2229 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
2230 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
2231 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
2232 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
2233 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
2234 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
2235 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
2236 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
2237 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
2238 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
2239 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
2240 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
2241 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
2242 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
2243 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
2244 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
2245 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
2246 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
2247 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
2248 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
2249 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
2250 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
2251 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
2252 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
2253 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
2254 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
2255 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
2256 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
2257 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
2258 * doc/gccint/gnu-free-documentation-license.rst: New file.
2259 * doc/gccint/guidelines-for-diagnostics.rst: New file.
2260 * doc/gccint/guidelines-for-options.rst: New file.
2261 * doc/gccint/host-common.rst: New file.
2262 * doc/gccint/host-configuration.rst: New file.
2263 * doc/gccint/host-filesystem.rst: New file.
2264 * doc/gccint/host-makefile-fragments.rst: New file.
2265 * doc/gccint/host-misc.rst: New file.
2266 * doc/gccint/index.rst: New file.
2267 * doc/gccint/indices-and-tables.rst: New file.
2268 * doc/gccint/interfacing-to-gcc-output.rst: New file.
2269 * doc/gccint/introduction.rst: New file.
2270 * doc/gccint/language-front-ends-in-gcc.rst: New file.
2271 * doc/gccint/link-time-optimization.rst: New file.
2272 * doc/gccint/link-time-optimization/design-overview.rst: New file.
2273 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
2274 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
2275 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
2276 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2277 New file.
2278 * doc/gccint/machine-descriptions.rst: New file.
2279 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
2280 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
2281 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
2282 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
2283 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
2284 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
2285 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
2286 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
2287 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
2288 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
2289 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
2290 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
2291 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
2292 * doc/gccint/machine-descriptions/iterators.rst: New file.
2293 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
2294 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
2295 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
2296 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2297 New file.
2298 * doc/gccint/machine-descriptions/predicates.rst: New file.
2299 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
2300 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
2301 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
2302 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
2303 * doc/gccint/makefile-fragments.rst: New file.
2304 * doc/gccint/match-and-simplify.rst: New file.
2305 * doc/gccint/memory-management-and-type-information.rst: New file.
2306 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2307 New file.
2308 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2309 New file.
2310 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2311 New file.
2312 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
2313 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2314 New file.
2315 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
2316 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2317 New file.
2318 * doc/gccint/option-file-format.rst: New file.
2319 * doc/gccint/option-properties.rst: New file.
2320 * doc/gccint/option-specification-files.rst: New file.
2321 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
2322 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
2323 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2324 New file.
2325 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
2326 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
2327 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
2328 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
2329 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
2330 * doc/gccint/plugins.rst: New file.
2331 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
2332 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
2333 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
2334 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
2335 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
2336 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
2337 * doc/gccint/plugins/loading-plugins.rst: New file.
2338 * doc/gccint/plugins/plugin-api.rst: New file.
2339 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
2340 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
2341 * doc/gccint/rtl-representation.rst: New file.
2342 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
2343 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
2344 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
2345 * doc/gccint/rtl-representation/bit-fields.rst: New file.
2346 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
2347 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
2348 * doc/gccint/rtl-representation/conversions.rst: New file.
2349 * doc/gccint/rtl-representation/declarations.rst: New file.
2350 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
2351 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
2352 * doc/gccint/rtl-representation/insns.rst: New file.
2353 * doc/gccint/rtl-representation/machine-modes.rst: New file.
2354 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
2355 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
2356 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
2357 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
2358 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
2359 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
2360 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
2361 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
2362 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
2363 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
2364 * doc/gccint/rtl-representation/vector-operations.rst: New file.
2365 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
2366 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
2367 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
2368 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2369 New file.
2370 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2371 New file.
2372 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2373 New file.
2374 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
2375 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2376 New file.
2377 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2378 New file.
2379 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
2380 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
2381 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2382 New file.
2383 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
2384 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2385 New file.
2386 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2387 New file.
2388 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2389 New file.
2390 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
2391 New file.
2392 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2393 New file.
2394 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2395 New file.
2396 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2397 New file.
2398 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2399 New file.
2400 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2401 New file.
2402 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2403 New file.
2404 * doc/gccint/standard-header-file-directories.rst: New file.
2405 * doc/gccint/static-analyzer.rst: New file.
2406 * doc/gccint/target-macros.rst: New file.
2407 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
2408 * doc/gccint/target-macros/addressing-modes.rst: New file.
2409 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
2410 * doc/gccint/target-macros/anchored-addresses.rst: New file.
2411 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
2412 * doc/gccint/target-macros/condition-code-status.rst: New file.
2413 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
2414 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
2415 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
2416 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
2417 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
2418 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2419 New file.
2420 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
2421 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
2422 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2423 New file.
2424 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
2425 New file.
2426 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2427 New file.
2428 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2429 New file.
2430 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2431 New file.
2432 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2433 New file.
2434 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2435 New file.
2436 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
2437 New file.
2438 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2439 New file.
2440 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
2441 New file.
2442 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
2443 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
2444 * doc/gccint/target-macros/emulating-tls.rst: New file.
2445 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
2446 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
2447 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
2448 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
2449 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
2450 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
2451 New file.
2452 * doc/gccint/target-macros/position-independent-code.rst: New file.
2453 * doc/gccint/target-macros/register-classes.rst: New file.
2454 * doc/gccint/target-macros/register-usage.rst: New file.
2455 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
2456 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
2457 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2458 New file.
2459 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2460 New file.
2461 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
2462 New file.
2463 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2464 New file.
2465 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
2466 New file.
2467 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
2468 New file.
2469 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
2470 New file.
2471 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
2472 New file.
2473 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
2474 New file.
2475 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
2476 New file.
2477 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2478 New file.
2479 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
2480 New file.
2481 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2482 New file.
2483 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
2484 New file.
2485 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
2486 New file.
2487 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
2488 New file.
2489 * doc/gccint/target-macros/storage-layout.rst: New file.
2490 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
2491 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
2492 * doc/gccint/target-makefile-fragments.rst: New file.
2493 * doc/gccint/testsuites.rst: New test.
2494 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
2495 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
2496 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
2497 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
2498 New test.
2499 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
2500 New test.
2501 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
2502 New test.
2503 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
2504 New test.
2505 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
2506 New test.
2507 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
2508 New test.
2509 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
2510 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
2511 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
2512 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
2513 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
2514 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
2515 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
2516 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
2517 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
2518 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
2519 New file.
2520 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
2521 New file.
2522 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
2523 New file.
2524 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
2525 New file.
2526 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
2527 New file.
2528 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
2529 New file.
2530 * doc/gccint/the-language.rst: New file.
2531 * doc/gccint/user-experience-guidelines.rst: New file.
2532 * doc/install/binaries.rst: New file.
2533 * doc/install/building.rst: New file.
2534 * doc/install/building/building-a-cross-compiler.rst: New file.
2535 * doc/install/building/building-a-native-compiler.rst: New file.
2536 * doc/install/building/building-in-parallel.rst: New file.
2537 * doc/install/building/building-the-ada-compiler.rst: New file.
2538 * doc/install/building/building-the-d-compiler.rst: New file.
2539 * doc/install/building/building-with-profile-feedback.rst: New file.
2540 * doc/install/conf.py: New file.
2541 * doc/install/configuration.rst: New file.
2542 * doc/install/copyright.rst: New file.
2543 * doc/install/downloading-gcc.rst: New file.
2544 * doc/install/final-installation.rst: New file.
2545 * doc/install/gnu-free-documentation-license.rst: New file.
2546 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
2547 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
2548 * doc/install/how-to-interpret-test-results.rst: New file.
2549 * doc/install/index.rst: New file.
2550 * doc/install/indices-and-tables.rst: New file.
2551 * doc/install/installing-gcc.rst: New file.
2552 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
2553 * doc/install/prerequisites.rst: New file.
2554 * doc/install/submitting-test-results.rst: New file.
2555 * doc/install/testing.rst: New file.
2556
2557 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2558
2559 * range-op-float.cc (class foperator_minus): New.
2560 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
2561
2562 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2563
2564 * range-op-float.cc (range_operator_float::fold_range): Abstract
2565 out from foperator_plus.
2566 (range_operator_float::rv_fold): New.
2567 (foperator_plus::fold_range): Remove.
2568 (foperator_plus::rv_fold): New.
2569 (propagate_nans): Remove.
2570 * range-op.h (class range_operator_float): Add rv_fold.
2571
2572 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2573
2574 * range-op-float.cc (foperator_plus::fold_range): Set NAN for
2575 addition of different signed infinities.
2576 (range_op_float_tests): New test.
2577
2578 2022-11-09 liuhongt <hongtao.liu@intel.com>
2579
2580 PR target/107540
2581 * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
2582 type from sselog to sselog1.
2583 (avx_movddup256<mask_name>): Ditto.
2584
2585 2022-11-08 David Faust <david.faust@oracle.com>
2586
2587 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
2588 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
2589 bpf_builtins for error checks.
2590 (bpf_core_walk): Use values of enum bpf_builtins.
2591 (bpf_core_newdecl): Likewise.
2592 (bpf_expand_builtin): Likewise.
2593
2594 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2595
2596 PR tree-optimization/24021
2597 * range-op-float.cc (propagate_nans): New.
2598 (frange_nextafter): New.
2599 (frange_arithmetic): New.
2600 (class foperator_plus): New.
2601 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
2602
2603 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2604
2605 * real.cc (real_isdenormal): New.
2606 (encode_ieee_single): Call real_isdenormal.
2607 (encode_ieee_double): Same.
2608 (encode_ieee_extended): Same.
2609 (encode_ieee_quad): Same.
2610 (encode_ieee_half): Same.
2611 (encode_arm_bfloat_half): Same.
2612 * real.h (real_isdenormal): Add mode argument. Rewrite for
2613 normalized values.
2614 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
2615 real_isdenormal.
2616
2617 2022-11-08 Richard Biener <rguenther@suse.de>
2618
2619 PR tree-optimization/107389
2620 * gimple-low.cc (lower_builtin_assume_aligned): New.
2621 (lower_stmt): Call it.
2622
2623 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2624
2625 * range-op.cc (operator_div::fold_range): Call
2626 update_known_bitmask.
2627 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
2628 2 as a right shift.
2629
2630 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
2631
2632 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
2633 of GCN_BUILTIN_LDEXPV to V64DFmode.
2634
2635 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
2636
2637 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
2638 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
2639 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
2640
2641 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2642
2643 * range-op.cc (irange_to_masked_value): New.
2644 (update_known_bitmask): New.
2645 (operator_mult::fold_range): Call update_known_bitmask.
2646
2647 2022-11-08 Jakub Jelinek <jakub@redhat.com>
2648
2649 PR tree-optimization/107547
2650 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
2651 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
2652 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
2653
2654 2022-11-08 Jakub Jelinek <jakub@redhat.com>
2655
2656 PR target/107546
2657 * config/i386/predicates.md (vector_or_const_vector_operand): New
2658 predicate.
2659 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
2660 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
2661 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
2662 predicate instead of nonimmediate_operand and
2663 vector_or_const_vector_operand instead of vector_operand.
2664 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
2665 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
2666 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
2667 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
2668 REG. Formatting fix.
2669
2670 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
2671
2672 PR rtl-optimization/107482
2673 * ira-color.cc (assign_hard_reg): Only call
2674 update_costs_from_copies when retry_p is false.
2675
2676 2022-11-08 konglin1 <lingling.kong@intel.com>
2677
2678 Revert:
2679 2022-11-07 konglin1 <lingling.kong@intel.com>
2680
2681 * config/i386/i386.opt:Add -mprefer-remote-atomic.
2682 * config/i386/sync.md (atomic_<plus_logic><mode>):
2683 New define_expand.
2684 (atomic_add<mode>): Rename to below one.
2685 (atomic_add<mode>_1): To this.
2686 (atomic_<logic><mode>): Ditto.
2687 (atomic_<logic><mode>_1): Ditto.
2688 * doc/invoke.texi: Add -mprefer-remote-atomic.
2689
2690 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
2691
2692 * config/i386/i386-options.cc (m_CORE_ATOM): New.
2693 * config/i386/x86-tune.def
2694 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
2695 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
2696 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
2697 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
2698 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
2699 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
2700 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
2701 (X86_TUNE_USE_LEAVE): Ditto.
2702 (X86_TUNE_PUSH_MEMORY): Ditto.
2703 (X86_TUNE_USE_INCDEC): Ditto.
2704 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
2705 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
2706 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
2707 (X86_TUNE_USE_SAHF): Ditto.
2708 (X86_TUNE_USE_BT): Ditto.
2709 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
2710 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
2711 (X86_TUNE_AVOID_MFENCE): Ditto.
2712 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
2713 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
2714 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
2715 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
2716 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
2717 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
2718 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
2719 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
2720 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
2721 (X86_TUNE_USE_GATHER): Ditto.
2722
2723 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
2724
2725 PR tree-optimization/104530
2726 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
2727 New. Split from:
2728 (ranger_cache::apply_inferred_ranges): Move setting cache to
2729 separate function.
2730 * gimple-range-cache.h (register_inferred_value): New prototype.
2731 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
2732 * gimple-range-infer.h (has_range_p): New prototype.
2733 * gimple-range.cc (register_transitive_inferred_ranges): New.
2734 * gimple-range.h (register_transitive_inferred_ranges): New proto.
2735 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
2736 ranges at the end of the block before folding final stmt.
2737
2738 2022-11-07 David Faust <david.faust@oracle.com>
2739
2740 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
2741
2742 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
2743
2744 PR tree-optimization/55157
2745 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
2746 by powers of 2.
2747
2748 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
2749
2750 PR middle-end/102566
2751 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
2752 if (_5 < 0) and if (_5 >= 0).
2753
2754 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
2755
2756 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
2757
2758 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
2759
2760 PR tree-optimization/107505
2761 * tree-ssa-sink.cc (statement_sink_location): Additionally
2762 reject ECF_RETURNS_TWICE calls.
2763
2764 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
2765
2766 PR tree-optimization/107541
2767 * range-op.cc (operator_div::fold_range): Restrict power of 2
2768 optimization to positive numbers.
2769
2770 2022-11-07 Richard Biener <rguenther@suse.de>
2771
2772 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
2773 (unswitch_predicate::unswitch_predicate): Initialize count.
2774 (init_loop_unswitch_info): First collect candidates and
2775 determine the outermost loop to unswitch.
2776 (tree_ssa_unswitch_loops): First perform all guard hoisting,
2777 then perform unswitching on innermost loop predicates.
2778 (find_unswitching_predicates_for_bb): Keep track of the
2779 most profitable predicate to unswitch on.
2780 (tree_unswitch_single_loop): Unswitch given predicate if
2781 not NULL.
2782
2783 2022-11-07 Martin Liska <mliska@suse.cz>
2784 Gerald Pfeifer <gerald@pfeifer.com>
2785
2786 * doc/invoke.texi: Improve wording.
2787
2788 2022-11-07 Martin Liska <mliska@suse.cz>
2789
2790 * range-op.cc: Add final override keywords.
2791
2792 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
2793
2794 PR tree-optimization/107412
2795 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
2796 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
2797 mask_p indicating it's for mask or length, and add some handlings for
2798 IFN LEN_{LOAD,STORE}.
2799 (gimple_fold_mask_load): Rename to ...
2800 (gimple_fold_partial_load): ... this, add one parameter mask_p.
2801 (gimple_fold_mask_store): Rename to ...
2802 (gimple_fold_partial_store): ... this, add one parameter mask_p.
2803 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
2804 and adjust calls on gimple_fold_mask_load_store_mem_ref to
2805 gimple_fold_partial_load_store_mem_ref.
2806
2807 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
2808
2809 * common/config/i386/cpuinfo.h
2810 (get_intel_cpu): Handle Grand Ridge.
2811 * common/config/i386/i386-common.cc
2812 (processor_names): Add grandridge.
2813 (processor_alias_table): Ditto.
2814 * common/config/i386/i386-cpuinfo.h:
2815 (enum processor_types): Add INTEL_GRANDRIDGE.
2816 * config.gcc: Add -march=grandridge.
2817 * config/i386/driver-i386.cc (host_detect_local_cpu):
2818 Handle grandridge.
2819 * config/i386/i386-c.cc (ix86_target_macros_internal):
2820 Ditto.
2821 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
2822 (processor_cost_table): Add grandridge.
2823 * config/i386/i386.h (enum processor_type):
2824 Add PROCESSOR_GRANDRIDGE.
2825 (PTA_GRANDRIDGE): Ditto.
2826 * doc/extend.texi: Add grandridge.
2827 * doc/invoke.texi: Ditto.
2828
2829 2022-11-07 konglin1 <lingling.kong@intel.com>
2830
2831 * config/i386/i386.opt:Add -mprefer-remote-atomic.
2832 * config/i386/sync.md (atomic_<plus_logic><mode>):
2833 New define_expand.
2834 (atomic_add<mode>): Rename to below one.
2835 (atomic_add<mode>_1): To this.
2836 (atomic_<logic><mode>): Ditto.
2837 (atomic_<logic><mode>_1): Ditto.
2838 * doc/invoke.texi: Add -mprefer-remote-atomic.
2839
2840 2022-11-07 konglin1 <lingling.kong@intel.com>
2841
2842 * common/config/i386/cpuinfo.h (get_available_features):
2843 Detect raoint.
2844 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
2845 OPTION_MASK_ISA2_RAOINT_UNSET): New.
2846 (ix86_handle_option): Handle -mraoint.
2847 * common/config/i386/i386-cpuinfo.h (enum processor_features):
2848 Add FEATURE_RAOINT.
2849 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
2850 raoint.
2851 * config.gcc: Add raointintrin.h
2852 * config/i386/cpuid.h (bit_RAOINT): New.
2853 * config/i386/i386-builtin.def (BDESC): Add new builtins.
2854 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
2855 __RAOINT__.
2856 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
2857 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
2858 Add -mraoint.
2859 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
2860 * config/i386/i386.opt: Add option -mraoint.
2861 * config/i386/x86gprintrin.h: Include raointintrin.h.
2862 * doc/extend.texi: Document raoint.
2863 * doc/invoke.texi: Document -mraoint.
2864 * doc/sourcebuild.texi: Document target raoint.
2865 * config/i386/raointintrin.h: New file.
2866
2867 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
2868
2869 * common/config/i386/cpuinfo.h
2870 (get_intel_cpu): Handle Granite Rapids.
2871 * common/config/i386/i386-common.cc:
2872 (processor_names): Add graniterapids.
2873 (processor_alias_table): Ditto.
2874 * common/config/i386/i386-cpuinfo.h
2875 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
2876 * config.gcc: Add -march=graniterapids.
2877 * config/i386/driver-i386.cc (host_detect_local_cpu):
2878 Handle graniterapids.
2879 * config/i386/i386-c.cc (ix86_target_macros_internal):
2880 Ditto.
2881 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
2882 (processor_cost_table): Add graniterapids.
2883 * config/i386/i386.h (enum processor_type):
2884 Add PROCESSOR_GRANITERAPIDS.
2885 (PTA_GRANITERAPIDS): Ditto.
2886 * doc/extend.texi: Add graniterapids.
2887 * doc/invoke.texi: Ditto.
2888
2889 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
2890 Hongtao Liu <hongtao.liu@intel.com>
2891
2892 * common/config/i386/cpuinfo.h (get_available_features):
2893 Detect PREFETCHI.
2894 * common/config/i386/i386-common.cc
2895 (OPTION_MASK_ISA2_PREFETCHI_SET,
2896 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
2897 (ix86_handle_option): Handle -mprefetchi.
2898 * common/config/i386/i386-cpuinfo.h
2899 (enum processor_features): Add FEATURE_PREFETCHI.
2900 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
2901 for prefetchi.
2902 * config.gcc: Add prfchiintrin.h.
2903 * config/i386/cpuid.h (bit_PREFETCHI): New.
2904 * config/i386/i386-builtin-types.def:
2905 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
2906 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
2907 * config/i386/i386-builtin.def (BDESC): Add new builtins.
2908 * config/i386/i386-c.cc (ix86_target_macros_internal):
2909 Define __PREFETCHI__.
2910 * config/i386/i386-expand.cc: Handle new builtins.
2911 * config/i386/i386-isa.def (PREFETCHI):
2912 Add DEF_PTA(PREFETCHI).
2913 * config/i386/i386-options.cc
2914 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
2915 * config/i386/i386.md (prefetchi): New define_insn.
2916 * config/i386/i386.opt: Add option -mprefetchi.
2917 * config/i386/predicates.md (local_func_symbolic_operand):
2918 New predicates.
2919 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
2920 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
2921 prefetchi.
2922 (_mm_prefetch): Handle the highest bit of enum.
2923 * doc/extend.texi: Document prefetchi.
2924 * doc/invoke.texi: Document -mprefetchi.
2925 * doc/sourcebuild.texi: Document target prefetchi.
2926 * config/i386/prfchiintrin.h: New file.
2927
2928 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
2929
2930 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
2931 mode when checking vec_set_optab.
2932
2933 2022-11-06 Xi Ruoyao <xry111@xry111.site>
2934
2935 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
2936 (type): Add fcopysign.
2937 (copysign<mode>3): New instruction template.
2938
2939 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2940
2941 * multiple_target.cc (expand_target_clones): Free memory.
2942
2943 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2944
2945 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
2946 * multiple_target.cc (create_dispatcher_calls): Likewise.
2947
2948 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
2949
2950 PR c/41041
2951 * doc/cppopts.texi: Document -fwide-exec-charset defaults
2952 correctly.
2953
2954 2022-11-05 Alexandre Oliva <oliva@adacore.com>
2955
2956 * common.opt (fmultiflags): New.
2957 * doc/invoke.texi: Document it.
2958 * gcc.cc (driver_self_specs): Discard it.
2959 * opts.cc (common_handle_option): Ignore it in the driver.
2960
2961 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
2962 Jason Merrill <jason@redhat.com>
2963
2964 * input.cc (get_source_text_between): New fn.
2965 * input.h (get_source_text_between): Declare.
2966
2967 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
2968
2969 PR tree-optimization/107342
2970 * range-op.cc (operator_mult::fold_range): New.
2971 (operator_div::fold_range): New.
2972
2973 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
2974
2975 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
2976 Do not take into account operand 2.
2977 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
2978
2979 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
2980
2981 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
2982
2983 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2984
2985 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
2986 extensions comment.
2987
2988 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2989
2990 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
2991 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
2992 [ACCEL_COMPILER]: Remove.
2993 * config/i386/intelmic-mkoffload.cc: Remove.
2994 * config/i386/intelmic-offload.h: Likewise.
2995 * config/i386/t-intelmic: Likewise.
2996 * config/i386/t-omp-device: Likewise.
2997 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
2998 * configure: Regenerate.
2999 * doc/install.texi (--enable-offload-targets=[...]): Update.
3000 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
3001
3002 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
3003
3004 * Makefile.in (OBJS): Remove 'dbxout.o'.
3005 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
3006 * dbxout.cc: Remove.
3007 * dbxout.h: Likewise.
3008 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
3009 Default to 'default_asm_out_constructor',
3010 'default_asm_out_destructor'.
3011 * targhooks.cc (default_asm_out_constructor)
3012 (default_asm_out_destructor): New.
3013 * targhooks.h (default_asm_out_constructor)
3014 (default_asm_out_destructor): Declare.
3015
3016 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
3017
3018 * Makefile.in (OBJS): Add 'dbxout.o'.
3019 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
3020 * dbxout.cc: New.
3021 * dbxout.h: Likewise.
3022 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
3023 Default to 'default_stabs_asm_out_constructor',
3024 'default_stabs_asm_out_destructor'.
3025
3026 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
3027 Haochen Jiang <haochen.jiang@intel.com>
3028
3029 * common/config/i386/cpuinfo.h (get_available_features): Detect
3030 amx-fp16.
3031 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
3032 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
3033 (ix86_handle_option): Handle -mamx-fp16.
3034 * common/config/i386/i386-cpuinfo.h (enum processor_features):
3035 Add FEATURE_AMX_FP16.
3036 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
3037 amx-fp16.
3038 * config.gcc: Add amxfp16intrin.h.
3039 * config/i386/cpuid.h (bit_AMX_FP16): New.
3040 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
3041 __AMX_FP16__.
3042 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
3043 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
3044 (ix86_valid_target_attribute_inner_p): Add new ATTR.
3045 (ix86_option_override_internal): Handle AMX-FP16.
3046 * config/i386/i386.opt: Add -mamx-fp16.
3047 * config/i386/immintrin.h: Include amxfp16intrin.h.
3048 * doc/extend.texi: Document -mamx-fp16.
3049 * doc/invoke.texi: Document amx-fp16.
3050 * doc/sourcebuild.texi: Document amx_fp16.
3051 * config/i386/amxfp16intrin.h: New file.
3052
3053 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
3054
3055 * common/config/i386/cpuinfo.h (get_intel_cpu):
3056 Add Sierra Forest.
3057 * common/config/i386/i386-common.cc
3058 (processor_names): Add Sierra Forest.
3059 (processor_alias_table): Ditto.
3060 * common/config/i386/i386-cpuinfo.h
3061 (enum processor_types): Add INTEL_SIERRAFOREST.
3062 * config.gcc: Add -march=sierraforest.
3063 * config/i386/driver-i386.cc (host_detect_local_cpu):
3064 Handle Sierra Forest.
3065 * config/i386/i386-c.cc (ix86_target_macros_internal):
3066 Ditto.
3067 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
3068 (processor_cost_table): Add sierra forest.
3069 * config/i386/i386.h (enum processor_type):
3070 Add PROCESSOR_SIERRA_FOREST.
3071 (PTA_SIERRAFOREST): Ditto.
3072 * doc/extend.texi: Add sierra forest.
3073 * doc/invoke.texi: Ditto.
3074
3075 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
3076
3077 * common/config/i386/cpuinfo.h (get_available_features):
3078 Detect cmpccxadd.
3079 * common/config/i386/i386-common.cc
3080 (OPTION_MASK_ISA2_CMPCCXADD_SET,
3081 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
3082 (ix86_handle_option): Handle -mcmpccxadd.
3083 * common/config/i386/i386-cpuinfo.h (enum processor_features):
3084 Add FEATURE_CMPCCXADD.
3085 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
3086 cmpccxadd.
3087 * config.gcc: Add cmpccxaddintrin.h.
3088 * config/i386/cpuid.h (bit_CMPCCXADD): New.
3089 * config/i386/i386-builtin-types.def:
3090 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
3091 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
3092 * config/i386/i386-builtin.def (BDESC): Add new builtins.
3093 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
3094 __CMPCCXADD__.
3095 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
3096 Add new parameter to indicate constant position.
3097 Handle INT_FTYPE_PINT_INT_INT_INT
3098 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
3099 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
3100 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
3101 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
3102 * config/i386/i386.opt: Add option -mcmpccxadd.
3103 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
3104 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
3105 * doc/extend.texi: Document cmpccxadd.
3106 * doc/invoke.texi: Document -mcmpccxadd.
3107 * doc/sourcebuild.texi: Document target cmpccxadd.
3108 * config/i386/cmpccxaddintrin.h: New file.
3109
3110 2022-11-03 Jason Merrill <jason@redhat.com>
3111
3112 * doc/invoke.texi: -fconcepts no longer implies
3113 -fconcepts-ts before C++20.
3114
3115 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
3116
3117 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
3118 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
3119 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
3120 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
3121 assembler output.
3122
3123 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
3124
3125 * gimple-range.cc (gimple_ranger::update_stmt): New.
3126 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
3127 * tree-ssa-operands.cc (update_stmt_operands): Notify range
3128 query that stmt has changed.
3129 * value-query.h (range_query::update_stmt): New.
3130
3131 2022-11-03 David Malcolm <dmalcolm@redhat.com>
3132
3133 * make-unique.h: New file.
3134
3135 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
3136
3137 PR target/107404
3138 * config/i386/i386.md (eliminate reg-reg move by inverting the
3139 condition of a cmove #2 peephole2): Check if eliminated move
3140 initialized a register, used in the moved instruction.
3141
3142 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
3143
3144 PR target/107510
3145 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
3146 UNSPEC_SMIN_DPP_SHR conditionals.
3147
3148 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
3149
3150 * common/config/riscv/riscv-common.cc: Add zawrs extension.
3151 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
3152 (TARGET_ZAWRS): New.
3153 * config/riscv/riscv.opt: New.
3154
3155 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
3156
3157 PR driver/93371
3158 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
3159
3160 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
3161
3162 * value-range.cc (frange::contains_p): Fix signed zero handling.
3163 (range_tests_signed_zeros): New test.
3164
3165 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3166
3167 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
3168
3169 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
3170
3171 PR target/100866
3172 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
3173 (altivec_vrl<VI_char>): ...this.
3174 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
3175 target is Power8 and mode is V8HI.
3176
3177 2022-11-01 David Seifert <soap@gentoo.org>
3178
3179 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
3180 * configure: Regenerate.
3181
3182 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
3183
3184 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
3185
3186 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
3187
3188 PR tree-optimization/107490
3189 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
3190 NANs.
3191 (foperator_unordered_lt::op2_range): Same.
3192 (foperator_unordered_le::op1_range): Same.
3193 (foperator_unordered_le::op2_range): Same.
3194 (foperator_unordered_gt::op1_range): Same.
3195 (foperator_unordered_gt::op2_range): Same.
3196 (foperator_unordered_ge::op1_range): Same.
3197 (foperator_unordered_ge::op2_range): Same.
3198
3199 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3200
3201 PR tree-optimization/107497
3202 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
3203 Check that ssa-name still exists before accessing it.
3204
3205 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3206
3207 * params.opt (param_vrp1_mode): Make ranger default.
3208
3209 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3210
3211 * tree-vrp.cc (class remove_unreachable): New.
3212 (remove_unreachable::maybe_register_block): New.
3213 (remove_unreachable::remove_and_update_globals): New.
3214 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
3215 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
3216 (rvrp_folder::m_unreachable): New member.
3217 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
3218
3219 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3220
3221 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
3222 exit block to be specified.
3223 (ranger_cache::range_from_dom): If exit block is specified, use
3224 the immediate predecessor instead of the dominator to start.
3225 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
3226 for exit block.
3227
3228 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3229
3230 * value-range.cc (irange::intersect_nonzero_bits): If new
3231 non-zero mask is the same as original, flag no change.
3232
3233 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
3234
3235 PR target/87832
3236 * config/i386/znver.md (znver1_idiv): New automaton.
3237 (znver1-idiv): New unit.
3238 (znver1_idiv_DI): Correct unit and cycles in the reservation.
3239 (znver1_idiv_SI): Ditto.
3240 (znver1_idiv_HI): Ditto.
3241 (znver1_idiv_QI): Ditto.
3242 (znver1_idiv_mem_DI): Ditto.
3243 (znver1_idiv_mem_SI): Ditto.
3244 (znver1_idiv_mem_HI): Ditto.
3245 (znver1_idiv_mem_QI): Ditto.
3246 (znver3_idiv_DI): Ditto.
3247 (znver3_idiv_SI): Ditto.
3248 (znver3_idiv_HI): Ditto.
3249 (znver3_idiv_QI): Ditto.
3250 (znver3_idiv_mem_DI): Ditto.
3251 (znver3_idiv_mem_SI): Ditto.
3252 (znver3_idiv_mem_HI): Ditto.
3253 (znver3_idiv_mem_QI): Ditto.
3254
3255 2022-11-01 liuhongt <hongtao.liu@intel.com>
3256
3257 PR target/107057
3258 * config/i386/sse.md (*vec_interleave_highv2df): Remove
3259 constraint 1.
3260 (*vec_interleave_lowv2df): Ditto.
3261 (vec_concatv2df): Ditto.
3262 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
3263 (avx512f_unpcklpd512<mask_name>): .. this.
3264 (avx512f_movddup512<mask_name>): Change to define_insn.
3265 (avx_movddup256<mask_name>): Ditto.
3266 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
3267 to ..
3268 (avx_unpcklpd256<mask_name>): .. this.
3269 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
3270 Disallow MEM_P (op1) && MEM_P (op2).
3271
3272 2022-11-01 liuhongt <hongtao.liu@intel.com>
3273
3274 PR target/55583
3275 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
3276 (x86_64_shld_1): .. this.
3277 (*x86_shld_1): Rename to ..
3278 (x86_shld_1): .. this.
3279 (*x86_64_shrd_1): Rename to ..
3280 (x86_64_shrd_1): .. this.
3281 (*x86_shrd_1): Rename to ..
3282 (x86_shrd_1): .. this.
3283 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
3284 (*x86_shld_shrd_1_nozext): Ditto.
3285 (*x86_64_shrd_shld_1_nozext): Ditto.
3286 (*x86_shrd_shld_1_nozext): Ditto.
3287
3288 2022-11-01 Cui,Lili <lili.cui@intel.com>
3289
3290 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
3291 judgement for INLINE_HINT_known_hot hint.
3292
3293 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
3294
3295 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
3296 enumerator type btf_enum{,64}.
3297 (btf_asm_type): Update btf_kflag according to enumeration type sign
3298 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
3299 (btf_asm_enum_const): New argument to represent the size of
3300 the BTF enum type, writing the enumerator constant value for
3301 32 bits, if it's 64 bits then explicitly writes lower 32-bits
3302 value and higher 32-bits value.
3303 (output_asm_btf_enum_list): Add enumeration size argument.
3304 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
3305 basic information.
3306 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
3307 dtd structure containing enumeration information.
3308 (ctf_add_enumerator): Update comment mention support for BTF
3309 enumeration in 64-bits.
3310 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
3311 for enumeration type and use it in ctf_add_enum.
3312 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
3313 use 32/64 bits enumerators.
3314 information.
3315 (ctf_dtdef): New field to describe enum signedness.
3316
3317 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3318
3319 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
3320 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
3321 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
3322 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
3323
3324 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3325
3326 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
3327 (<fexpander><mode>3): New define_expand.
3328 (<fexpander><mode>3<exec>): Likewise.
3329 (reduc_<fexpander>_scal_<mode>): Likewise.
3330 * config/gcn/gcn.md (fexpander): New attribute.
3331
3332 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3333
3334 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
3335 (V64_DI): Likewise.
3336 (V64_1REG): Likewise.
3337 (V64_INT_1REG): Likewise.
3338 (V64_2REG): Likewise.
3339 (V64_ALL): Likewise.
3340 (V64_FP): Likewise.
3341 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
3342 (fold_left_plus_<mode>): Use V_FP.
3343 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
3344 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
3345 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
3346 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
3347 (*plus_carry_dpp_shr_<mode>): Use V_DI.
3348 (mov_from_lane63_<mode>): Delete.
3349 (mov_from_lane63_<mode>): Delete.
3350 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
3351 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
3352
3353 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3354
3355 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
3356 Set base_type as ARG_UNUSED.
3357
3358 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3359
3360 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
3361 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
3362 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
3363 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
3364 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
3365 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
3366 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
3367 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
3368 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
3369 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
3370 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
3371 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
3372 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
3373 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
3374 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
3375 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
3376 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
3377 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
3378 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
3379 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
3380 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
3381 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
3382 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
3383 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
3384 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
3385 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
3386 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
3387 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
3388 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
3389 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
3390 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
3391 CASE_CFN_* is present.
3392 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
3393 Likewise.
3394 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
3395 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
3396 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
3397 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
3398 Likewise.
3399
3400 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3401
3402 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
3403 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
3404 * fold-const-call.cc (fold_const_call_sss): Handle
3405 CFN_BUILT_IN_NEXTAFTERF16B.
3406
3407 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3408
3409 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
3410 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
3411 New DEF_PRIMITIVE_TYPE.
3412 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
3413 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
3414 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
3415 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
3416 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
3417 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
3418 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
3419 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
3420 DEF_FUNCTION_TYPE_1.
3421 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
3422 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
3423 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
3424 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
3425 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
3426 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
3427 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
3428 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
3429 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
3430 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
3431 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
3432 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
3433 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
3434 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
3435 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
3436 DEF_FUNCTION_TYPE_2.
3437 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
3438 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
3439 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
3440 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
3441 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
3442 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
3443 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
3444 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
3445 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
3446 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
3447 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
3448 Define and undefine later.
3449 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
3450 (INF_TYPE): Define at a later line.
3451 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
3452 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
3453 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
3454 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
3455 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
3456 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
3457 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
3458 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
3459 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
3460 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
3461 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
3462 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
3463 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
3464 DEF_GCC_FLOATN_NX_BUILTINS.
3465 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
3466 cases when CASE_CFN_* is present.
3467 (fold_const_call_sss): Likewise.
3468 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
3469 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
3470 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
3471 builtins next to CASE_FLT_FN.
3472 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
3473 next to CASE_CFN_*: for various builtins.
3474 * tree-call-cdce.cc (can_test_argument_range): Add
3475 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
3476 (edom_only_function): Likewise.
3477
3478 2022-10-31 konglin1 <lingling.kong@intel.com>
3479
3480 * common/config/i386/i386-common.cc
3481 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
3482 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
3483 (ix86_handle_option): Handle -mavxneconvert, unset
3484 avxneconvert when avx2 is disabled.
3485 * common/config/i386/i386-cpuinfo.h (processor_types): Add
3486 FEATURE_AVXNECONVERT.
3487 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
3488 avxneconvert.
3489 * common/config/i386/cpuinfo.h (get_available_features):
3490 Detect avxneconvert.
3491 * config.gcc: Add avxneconvertintrin.h
3492 * config/i386/avxneconvertintrin.h: New.
3493 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
3494 Unified builtin with avxneconvert.
3495 (_mm_cvtneps_pbh): Ditto.
3496 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
3497 * config/i386/i386-builtin-types.def: Add
3498 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
3499 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
3500 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
3501 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
3502 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
3503 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
3504 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
3505 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
3506 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
3507 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
3508 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
3509 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
3510 * config/i386/i386-builtin.def: Add new builtins.
3511 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
3512 __AVXNECONVERT__.
3513 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
3514 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
3515 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
3516 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
3517 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
3518 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
3519 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
3520 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
3521 * config/i386/i386.opt: Add option -mavxneconvert.
3522 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
3523 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
3524 (vbcstnesh2ps_<mode>): Ditto.
3525 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
3526 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
3527 (vcvtneps2bf16_v4sf): Ditto.
3528 (*vcvtneps2bf16_v4sf): Ditto.
3529 (vcvtneps2bf16_v8sf): Ditto.
3530 * doc/invoke.texi: Document -mavxneconvert.
3531 * doc/extend.texi: Document avxneconvert.
3532 * doc/sourcebuild.texi: Document target avxneconvert.
3533
3534 2022-10-31 konglin1 <lingling.kong@intel.com>
3535
3536 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
3537 (_mm_cvtsbh_ss): Ditto.
3538 (_mm512_cvtne2ps_pbh): Ditto.
3539 (_mm512_mask_cvtne2ps_pbh): Ditto.
3540 (_mm512_maskz_cvtne2ps_pbh): Ditto.
3541 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
3542 (_mm256_cvtne2ps_pbh): Ditto.
3543 (_mm256_mask_cvtne2ps_pbh): Ditto.
3544 (_mm256_maskz_cvtne2ps_pbh): Ditto.
3545 (_mm_cvtne2ps_pbh): Ditto.
3546 (_mm_mask_cvtne2ps_pbh): Ditto.
3547 (_mm_maskz_cvtne2ps_pbh): Ditto.
3548 (_mm_cvtness_sbh): Ditto.
3549 * config/i386/i386-builtin-types.def (V8BF): Add new
3550 DEF_VECTOR_TYPE for BFmode.
3551 (V16BF): Ditto.
3552 (V32BF): Ditto.
3553 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
3554 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
3555 avx512bf16 ix86_builtin_func_type included HI to BF.
3556 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
3557 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
3558 vector.
3559 (avx512f_cvtneps2bf16_v4sf): New define_expand.
3560 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
3561 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
3562 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
3563 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
3564
3565 2022-10-31 liuhongt <hongtao.liu@intel.com>
3566
3567 PR target/107261
3568 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
3569 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
3570 V2BFmode.
3571 (ix86_convert_const_vector_to_integer): Ditto.
3572 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
3573 V2BFmode.
3574 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
3575 (VALID_MMX_REG_MODE): Add V4BFmode.
3576 * config/i386/i386.md (mode): Add V4BF and V2BF.
3577 (MODE_SIZE): Ditto.
3578 * config/i386/mmx.md (MMXMODE) Add V4BF.
3579 (V_32): Add V2BF.
3580 (V_16_32_64): Add V4BF and V2BF.
3581 (mmxinsnmode): Add V4BF and V2BF.
3582 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
3583
3584 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
3585
3586 * configure.ac (sjlj-exceptions): Restore dropped line.
3587 * configure: Regenerate.
3588
3589 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
3590
3591 * alias.cc (init_alias_analysis): Do not record sets to the hard
3592 frame pointer if the frame pointer has not been eliminated.
3593
3594 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
3595
3596 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
3597 (TARGET_D_MINFO_SECTION_START): ...this.
3598 (TARGET_D_MINFO_END_NAME): Rename to ...
3599 (TARGET_D_MINFO_SECTION_END): ... this.
3600 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
3601 (TARGET_D_MINFO_START_NAME): Remove.
3602 (TARGET_D_MINFO_END_NAME): Remove.
3603 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
3604 (TARGET_D_MINFO_START_NAME): Remove.
3605 (TARGET_D_MINFO_END_NAME): Remove.
3606 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
3607 (TARGET_D_MINFO_START_NAME): Remove.
3608 (TARGET_D_MINFO_END_NAME): Remove.
3609 * doc/tm.texi: Regenerate.
3610 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
3611 (TARGET_D_MINFO_SECTION_START): ...this.
3612 (TARGET_D_MINFO_END_NAME): Rename to ...
3613 (TARGET_D_MINFO_SECTION_END): ...this.
3614
3615 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
3616
3617 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
3618 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
3619 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3620 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3621 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3622 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3623 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3624 * config/i386/t-cygming: Add cygwin-d.o.
3625 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
3626 MinGW-specific version condition.
3627 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3628 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3629 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
3630 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3631 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3632 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
3633 kopensolaris-d.o.
3634 * config/t-linux: Add linux-d.o.
3635 * config/glibc-d.cc: Remove file.
3636 * config/gnu-d.cc: New file.
3637 * config/i386/cygwin-d.cc: New file.
3638 * config/kfreebsd-d.cc: New file.
3639 * config/kopensolaris-d.cc: New file.
3640 * config/linux-d.cc: New file.
3641
3642 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
3643
3644 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
3645 an unsigned int
3646 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
3647
3648 2022-10-28 Joseph Myers <joseph@codesourcery.com>
3649
3650 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
3651 Check TYPE_NO_NAMED_ARGS_STDARG_P.
3652 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
3653 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
3654 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
3655 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
3656 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
3657 Likewise.
3658 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
3659 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
3660 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
3661 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
3662 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
3663 * config/loongarch/loongarch.cc
3664 (loongarch_setup_incoming_varargs): Likewise.
3665 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
3666 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
3667 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
3668 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
3669 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
3670 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
3671 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
3672 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
3673 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
3674 * config/visium/visium.cc (visium_setup_incoming_varargs):
3675 Likewise.
3676 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
3677 flag_allow_parameterless_variadic_functions.
3678 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
3679 not document option.
3680 * function.cc (assign_parms): Call assign_parms_setup_varargs for
3681 TYPE_NO_NAMED_ARGS_STDARG_P case.
3682 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
3683 variadic macro. Pass second argument of 0 to __builtin_va_start.
3684 * target.def (setup_incoming_varargs): Update documentation.
3685 * doc/tm.texi: Regenerate.
3686 * tree-core.h (struct tree_type_common): Add
3687 no_named_args_stdarg_p.
3688 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
3689 TYPE_NO_NAMED_ARGS_STDARG_P.
3690 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
3691 TYPE_NO_NAMED_ARGS_STDARG_P.
3692 * tree.cc (type_cache_hasher::equal): Compare
3693 TYPE_NO_NAMED_ARGS_STDARG_P.
3694 (build_function_type): Add argument no_named_args_stdarg_p.
3695 (build_function_type_list_1, build_function_type_array_1)
3696 (reconstruct_complex_type): Update calls to build_function_type.
3697 (stdarg_p, prototype_p): Return true for (...) functions.
3698 (gimple_canonical_types_compatible_p): Compare
3699 TYPE_NO_NAMED_ARGS_STDARG_P.
3700 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
3701 (build_function_type): Update prototype.
3702
3703 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
3704
3705 PR tree-optimization/107346
3706 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
3707 that aren't multiples of BITS_PER_UNIT.
3708
3709 2022-10-28 Richard Biener <rguenther@suse.de>
3710
3711 PR tree-optimization/107407
3712 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
3713 varying index check when collecting PHI uses rather than
3714 after optimizing processing of the candidate defs.
3715
3716 2022-10-28 Richard Biener <rguenther@suse.de>
3717
3718 PR tree-optimization/107447
3719 * tree-ssa-loop-im.cc (determine_max_movement): Do not
3720 hoist returns-twice calls.
3721
3722 2022-10-28 Richard Biener <rguenther@suse.de>
3723
3724 PR tree-optimization/107435
3725 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
3726 value to vector component type.
3727
3728 2022-10-28 Julian Brown <julian@codesourcery.com>
3729 Thomas Schwinge <thomas@codesourcery.com>
3730
3731 PR middle-end/90115
3732 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
3733 privatization candidates.
3734
3735 2022-10-28 Martin Liska <mliska@suse.cz>
3736
3737 PR sanitizer/107298
3738 * doc/invoke.texi: Document sanitizers can trigger warnings.
3739
3740 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
3741
3742 * doc/makefile.texi (Makefile Targets): Document
3743 'distclean-stage[N]'.
3744
3745 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
3746
3747 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
3748
3749 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
3750
3751 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
3752
3753 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
3754
3755 PR target/107172
3756 * config/i386/i386.md (UNSPEC_CC_NE): New.
3757 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
3758
3759 2022-10-27 Andrew Pinski <apinski@marvell.com>
3760
3761 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
3762 (replace_phi_edge_with_variable):
3763 New argument, dce_ssa_names. Call simple_dce_from_worklist.
3764 (match_simplify_replacement): If we inserted a sequence,
3765 mark the lhs of the new sequence to be possible dce.
3766 Always move the statement and mark the lhs (if it is a name)
3767 as possible to remove.
3768
3769 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
3770
3771 * config/aarch64/aarch64-protos.h: Replace constexpr with
3772 CONSTEXPR.
3773 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
3774 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
3775 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
3776 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
3777 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
3778 * config/aarch64/aarch64.cc: Likewise.
3779 * config/aarch64/driver-aarch64.cc: Likewise
3780
3781 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
3782
3783 PR tree-optimization/107394
3784 * value-range-storage.cc (frange_storage_slot::get_frange): Use
3785 frange constructor.
3786
3787 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
3788
3789 * optc-save-gen.awk: Clarify 'Init' option property usage for
3790 streaming optimization.
3791
3792 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
3793 Yvan ROUX <yvan.roux@foss.st.com>
3794
3795 * ira.cc: Resize array after reg number increased.
3796
3797 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3798 Sinan Lin <sinan@isrc.iscas.ac.cn>
3799
3800 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
3801 use while Zfinx is enable.
3802 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
3803 registers use when Zdinx enable in RV32 cases.
3804 (riscv_option_override): New target enable MASK_FDIV.
3805 (riscv_libgcc_floating_mode_supported_p): New error info when
3806 use incompatible arch&abi.
3807 (riscv_excess_precision): New target enable FLOAT16.
3808
3809 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3810
3811 * config/riscv/iterators.md (TARGET_ZFINX):New target.
3812 (TARGET_ZDINX): Ditto.
3813 (TARGET_ZHINX): Ditto.
3814 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
3815 (riscv_atomic_assign_expand_fenv): Ditto.
3816 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
3817 * config/riscv/riscv.md: Ditto.
3818
3819 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3820 Sinan Lin <sinan@isrc.iscas.ac.cn>
3821
3822 * common/config/riscv/riscv-common.cc: New extensions.
3823 * config/riscv/arch-canonicalize: New imply relations.
3824 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
3825 (MASK_ZDINX): Ditto.
3826 (MASK_ZHINX): Ditto.
3827 (MASK_ZHINXMIN): Ditto.
3828 (TARGET_ZFINX): New target.
3829 (TARGET_ZDINX): Ditto.
3830 (TARGET_ZHINX): Ditto.
3831 (TARGET_ZHINXMIN): Ditto.
3832 * config/riscv/riscv.opt: New target variable.
3833
3834 2022-10-26 David Faust <david.faust@oracle.com>
3835
3836 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
3837 (enum bpf_builtins): Add new builtin.
3838 (bpf_init_builtins): Likewise.
3839 (bpf_core_field_info): New function.
3840 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
3841 relocation to...
3842 (maybe_make_core_relo): ... here. New function.
3843 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
3844 (bpf_core_newdecl): Likewise.
3845 (bpf_core_walk): Likewise.
3846 (bpf_core_is_maybe_aggregate_access): Improve logic.
3847 (struct core_walk_data): New.
3848 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
3849 relocation kinds.
3850 * config/bpf/coreout.h: Analogous change.
3851 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
3852
3853 2022-10-26 Marek Polacek <polacek@redhat.com>
3854
3855 PR c++/106393
3856 * doc/invoke.texi: Document -Wdangling-reference.
3857
3858 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3859
3860 * config/xtensa/xtensa.md (movdi):
3861 Copy operands[0...1] to ops[0...3] and then use the latter before
3862 calling xtensa_split_DI_reg_imm() and emitting insns.
3863
3864 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
3865
3866 PR other/107353
3867 * ipa-visibility.cc (function_and_variable_visibility):
3868 Conditionally upgrade TLS model instead of asserting.
3869
3870 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
3871
3872 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
3873 stmt is non-negative and adjust the range.
3874
3875 2022-10-26 Martin Liska <mliska@suse.cz>
3876
3877 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
3878 (reset_cpu_feature): New.
3879 (get_zhaoxin_cpu): Use reset_cpu_feature.
3880
3881 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3882
3883 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
3884
3885 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3886
3887 PR target/107357
3888 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
3889 (ADJUST_NUNITS): Adjust according to -march.
3890 (ADJUST_BYTESIZE): Ditto.
3891 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
3892 Remove.
3893 (riscv_v_ext_vector_mode_p): Change function implementation.
3894 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
3895 Change to riscv_v_ext_vector_mode_p.
3896 (register_builtin_type): Ditto.
3897 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
3898 modes.
3899 (ENTRY): Ditto.
3900 (riscv_v_ext_enabled_vector_mode_p): Remove.
3901 (riscv_v_adjust_nunits): New function.
3902 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
3903 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
3904
3905 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3906
3907 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
3908 * config/riscv/constraints.md (vu): New constraint.
3909 (vi): Ditto.
3910 (Wc0): Ditto.
3911 (Wc1): Ditto.
3912 * config/riscv/predicates.md (vector_length_operand): New.
3913 (reg_or_mem_operand): Ditto.
3914 (vector_move_operand): Ditto.
3915 (vector_mask_operand): Ditto.
3916 (vector_merge_operand): Ditto.
3917 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
3918 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
3919 (riscv_vector::legitimize_move): Ditto.
3920 (tail_policy): Ditto.
3921 (mask_policy): Ditto.
3922 * config/riscv/riscv-v.cc: New.
3923 * config/riscv/riscv-vector-builtins-bases.cc
3924 (vsetvl::expand): Refactor how LMUL encoding.
3925 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
3926 print and mask operand print.
3927 (riscv_regmode_natural_size): New.
3928 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
3929 * config/riscv/riscv.md (mode): Add vector modes.
3930 * config/riscv/t-riscv (riscv-v.o) New.
3931 * config/riscv/vector-iterators.md: New.
3932 * config/riscv/vector.md (vundefined<mode>): New.
3933 (mov<mode>): New.
3934 (*mov<mode>): New.
3935 (@vsetvl<mode>_no_side_effects): New.
3936 (@pred_mov<mode>): New.
3937
3938 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
3939
3940 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
3941 Add svinval and svnapot extension.
3942 (riscv_ext_flag_table): Ditto.
3943 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
3944 (MASK_SVNAPOT): Ditto.
3945 (TARGET_SVINVAL): Ditto.
3946 (TARGET_SVNAPOT): Ditto.
3947 * config/riscv/riscv.opt (riscv_sv_subext): New.
3948
3949 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3950
3951 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
3952
3953 2022-10-26 Martin Liska <mliska@suse.cz>
3954
3955 * configure: Regenerate.
3956
3957 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
3958
3959 * value-range.cc (frange::set): Use HONOR_*.
3960 (frange::verify_range): Same.
3961 * value-range.h (frange_val_min): Same.
3962 (frange_val_max): Same.
3963
3964 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
3965
3966 PR target/106460
3967 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
3968 for HIGH code rtx.
3969
3970 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
3971
3972 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
3973 Add `h`.
3974 (riscv_supported_std_ext): Ditto.
3975 (multi_letter_subset_rank): Remove `h`.
3976 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
3977 extension.
3978 (riscv_subset_list::parse): Ditto.
3979
3980 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
3981
3982 * auto-profile.cc (get_combined_location): Include discriminator in the
3983 returned combined location.
3984 (read_function_instance): Read discriminators from profiles.
3985
3986 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
3987
3988 PR target/107304
3989 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
3990 field with vector raw mode.
3991
3992 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
3993
3994 * config/rs6000/rs6000.md (CCEITHER): Delete.
3995 (CCANY): New.
3996 (un): Delete.
3997 (isel_<un>signed_<GPR:mode>): Rename to...
3998 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3999 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
4000 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
4001 (setbc_<un>signed_<GPR:mode>): Rename to...
4002 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
4003 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
4004 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
4005 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
4006 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
4007 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
4008 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
4009 (eq<mode>3 for GPR): Adjust.
4010 (ne<mode>3 for GPR): Adjust.
4011 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
4012 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
4013
4014 2022-10-25 Richard Biener <rguenther@suse.de>
4015
4016 PR tree-optimization/107176
4017 PR tree-optimization/66375
4018 PR tree-optimization/42512
4019 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
4020 the PR66375 fix, do not not associate PLUS_EXPR to be able
4021 to use tail-recursion.
4022 (follow_ssa_edge_binary): Likewise.
4023 (interpret_loop_phi): Revert PR42512 fix, do not throw
4024 away analyze_evolution_in_loop result after the fact.
4025 (follow_ssa_edge_expr): When reaching halting_phi initalize
4026 the evolution to the symbolic value of the PHI result.
4027 (add_to_evolution_1): When adding the first evolution verify
4028 we can handle the expression wrapping the symbolic evolution
4029 and replace that in full using the initial condition.
4030 (class scev_dfs): New, contains ...
4031 (follow_ssa_edge_expr, follow_ssa_edge_binary,
4032 follow_ssa_edge_in_condition_phi_branch,
4033 follow_ssa_edge_in_condition_phi,
4034 follow_ssa_edge_inner_loop_phi,
4035 add_to_evolution, add_to_evolution_1): ... these with
4036 loop and halting_phi arguments in class data.
4037 (scev_dfs::get_ev): New toplevel DFS entry, start with
4038 a chrec_dont_know evolution.
4039 (analyze_evolution_in_loop): Use scev_dfs.
4040
4041 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
4042
4043 * profile.cc (branch_prob): Be prepared for ignored functions with
4044 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
4045
4046 2022-10-25 Richard Biener <rguenther@suse.de>
4047
4048 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
4049 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
4050
4051 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
4052
4053 * common/config/i386/i386-common.cc (processor_alias_table): Use
4054 CPU_ZNVER3 for znver4.
4055 * config/i386/znver.md: Remove znver4 reservations.
4056
4057 2022-10-25 Jakub Jelinek <jakub@redhat.com>
4058
4059 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
4060 and There -> These.
4061
4062 2022-10-25 Jakub Jelinek <jakub@redhat.com>
4063
4064 PR tree-optimization/107368
4065 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
4066 conditions call gimple_boolify on the condition.
4067
4068 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
4069
4070 * config.gcc: add -with-compact-branches=policy build option.
4071 * doc/install.texi: Likewise.
4072 * config/mips/mips.h: Likewise.
4073
4074 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
4075
4076 * config/mips/mips.cc (mips_option_override): not trigger error
4077 for compact-branches=always for pre-R6.
4078 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
4079 compact-branches=always for pre-R6.
4080 (TARGET_CB_NEVER): Likewise.
4081 (TARGET_CB_ALWAYS): Likewise.
4082 (struct mips_cpu_info): define macros for compact branch policy.
4083 * doc/invoke.texi: Document "always" with pre-R6.
4084
4085 2022-10-25 Jakub Jelinek <jakub@redhat.com>
4086
4087 PR tree-optimization/107369
4088 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
4089 IFN_ASSUME the same as for -O0.
4090
4091 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
4092
4093 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
4094 * configure: Regenerated.
4095 * config.in: Regenerated.
4096 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
4097 if ENABLE_MULTIARCH is defined.
4098 * config/mips/t-linux64: define correct multiarch path when
4099 multiarch is enabled.
4100
4101 2022-10-25 Richard Biener <rguenther@suse.de>
4102
4103 PR tree-optimization/100756
4104 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
4105 expand multiplications by invariants.
4106
4107 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
4108
4109 PR tree-optimization/107338
4110 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
4111 shfit_n calculation before the adjustments for widening loads.
4112
4113 2022-10-25 Martin Liska <mliska@suse.cz>
4114
4115 * common/config/riscv/riscv-common.cc
4116 (riscv_get_valid_option_values): Get out of ifdef.
4117
4118 2022-10-25 Martin Liska <mliska@suse.cz>
4119
4120 PR target/107364
4121 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
4122 Fix pedantic warning.
4123
4124 2022-10-24 Martin Liska <mliska@suse.cz>
4125
4126 PR analyzer/107366
4127 * diagnostic-format-sarif.cc
4128 (sarif_builder::maybe_make_physical_location_object): Gracefully
4129 reject locations with NULL filename.
4130
4131 2022-10-24 David Malcolm <dmalcolm@redhat.com>
4132
4133 PR analyzer/106300
4134 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
4135 "pipe2" to the list of functions the analyzer has hardcoded
4136 knowledge of.
4137
4138 2022-10-24 Jason Merrill <jason@redhat.com>
4139
4140 * tree.h (build_string_literal): New one-argument overloads that
4141 take tree (identifier) and const char *.
4142 * builtins.cc (fold_builtin_FILE)
4143 (fold_builtin_FUNCTION)
4144 * gimplify.cc (gimple_add_init_for_auto_var)
4145 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
4146
4147 2022-10-24 Martin Liska <mliska@suse.cz>
4148
4149 PR target/107364
4150 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
4151 Reorder enum values as BUILTIN_VENDOR_MAX should not point
4152 in the middle of the valid enum values.
4153
4154 2022-10-24 Marek Polacek <polacek@redhat.com>
4155
4156 PR c++/107276
4157 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
4158 when the type is erroneous.
4159
4160 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
4161
4162 PR target/106583
4163 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
4164 Add support for a bitmask immediate with 2 MOVKs.
4165 (aarch64_check_bitmask): New function after refactorization.
4166 (aarch64_bitmask_imm): Simplify replication of small modes.
4167 Split function into 64-bit only version for efficiency.
4168 (aarch64_move_imm): Move near other immediate functions.
4169 (aarch64_uimm12_shift): Likewise.
4170 (aarch64_clamp_to_uimm12_shift): Likewise.
4171 (aarch64_movk_shift): Likewise.
4172 (aarch64_replicate_bitmask_imm): Likewise.
4173 (aarch64_and_split_imm1): Likewise.
4174 (aarch64_and_split_imm2): Likewise.
4175 (aarch64_and_bitmask_imm): Likewise.
4176 (aarch64_movw_imm): Likewise.
4177
4178 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
4179
4180 PR tree-optimization/107355
4181 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
4182
4183 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
4184
4185 PR middle-end/107236
4186 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
4187 in DECL_CONTEXT and not to cfun->decl.
4188 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
4189 node's calls_declare_variant_alt value.
4190
4191 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
4192
4193 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
4194 (riscv_get_valid_option_values): New.
4195 (TARGET_GET_VALID_OPTION_VALUES): New.
4196 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
4197 for tune here.
4198 (RISCV_CORE): Fix comment.
4199 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
4200 riscv-cores.def.
4201
4202 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
4203
4204 PR tree-optimization/107365
4205 * value-range.cc (frange::verify_range): Predicate NAN check in
4206 VARYING range on HONOR_NANS instead of flag_finite_math_only.
4207 (range_tests_floats): Same.
4208 (range_tests_floats_various): New.
4209 (range_tests): Call range_tests_floats_various.
4210
4211 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
4212 Yvan ROUX <yvan.roux@foss.st.com>
4213
4214 * lto-wrapper.cc: Quote paths in makefile.
4215
4216 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4217
4218 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
4219
4220 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4221
4222 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
4223 with constexpr throughout.
4224 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
4225 * config/riscv/riscv-vector-builtins.cc
4226 (struct registered_function_hasher): Likewise.
4227 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
4228 Likewise.
4229
4230 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4231
4232 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
4233
4234 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4235
4236 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
4237
4238 2022-10-22 Michael Eager <eager@eagercon.com>
4239
4240 * config/microblaze/microblaze.cc
4241 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
4242 (microblaze_address_insns): Replace abort() with gcc_unreachable().
4243 (print_operand_address): Same.
4244 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
4245 (get_branch_target): Replace abort() with gcc_unreachable().
4246
4247 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
4248
4249 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
4250 with !flag_finite_math_only.
4251
4252 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4253
4254 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
4255 Remove register A0 from FIXED_REGS if the CALL0 ABI.
4256 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
4257 unconditionally after restoring callee-saved registers for
4258 sibling-call functions, in order to prevent misleading that
4259 register A0 is free to use.
4260
4261 2022-10-21 Jakub Jelinek <jakub@redhat.com>
4262
4263 PR target/107322
4264 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
4265 BFmode comparisons promote arguments to SFmode and recurse.
4266 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
4267 if comparison operands are BFmode and operands[1] is not
4268 ix86_fp_comparison_operator.
4269
4270 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
4271
4272 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
4273 * common/config/i386/i386-common.cc (processor_names): Add znver4.
4274 (processor_alias_table): Add znver4 and modularize old znvers.
4275 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
4276 AMDFAM19H_ZNVER4.
4277 * config.gcc (x86_64-*-* |...): Likewise.
4278 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
4279 -march=native recognize znver4 cpus.
4280 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
4281 * config/i386/i386-options.cc (m_ZNVER4): New definition.
4282 (m_ZNVER): Include m_ZNVER4.
4283 (processor_cost_table): Add znver4.
4284 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
4285 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
4286 (PTA_ZNVER1): New definition.
4287 (PTA_ZNVER2): Likewise.
4288 (PTA_ZNVER3): Likewise.
4289 (PTA_ZNVER4): Likewise.
4290 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
4291 md file.
4292 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
4293 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
4294 (ix86_adjust_cost): Likewise.
4295 * config/i386/znver1.md: Rename to znver.md.
4296 * config/i386/znver.md: Add new reservations for znver4.
4297 * doc/extend.texi: Add details about znver4.
4298 * doc/invoke.texi: Likewise.
4299
4300 2022-10-21 Richard Biener <rguenther@suse.de>
4301
4302 PR tree-optimization/107323
4303 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
4304 New function.
4305 (loop_distribution::break_alias_scc_partitions): Revert
4306 postorder save/restore from the PR94125 fix. Instead
4307 make sure to not ignore edges from SCCs we are going to
4308 merge.
4309
4310 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
4311
4312 * config/riscv/riscv.md: Add atomic type attribute.
4313 * config/riscv/sync.md: Add atomic type for atomic instructions.
4314
4315 2022-10-21 Jakub Jelinek <jakub@redhat.com>
4316
4317 PR tree-optimization/54346
4318 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
4319 Optimize nested VEC_PERM_EXPRs even if target can't handle the
4320 new one provided we don't increase number of VEC_PERM_EXPRs the
4321 target can't handle.
4322
4323 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4324
4325 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
4326 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
4327 (DEF_RVV_FUNCTION): Ditto.
4328 (handle_pragma_vector): Add intrinsic framework.
4329 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
4330 * config/riscv/riscv.md: include vector.md.
4331 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
4332 * config/riscv/riscv-vector-builtins-bases.cc: New file.
4333 * config/riscv/riscv-vector-builtins-bases.h: New file.
4334 * config/riscv/riscv-vector-builtins-functions.def: New file.
4335 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
4336 * config/riscv/riscv-vector-builtins-shapes.h: New file.
4337 * config/riscv/riscv-vector-builtins-types.def: New file.
4338 * config/riscv/vector.md: New file.
4339
4340 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4341
4342 * config.gcc: Add gt files since function_instance is GTY ((user)).
4343 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
4344 (riscv_builtin_decl): Ditto.
4345 (riscv_expand_builtin): Ditto.
4346 * config/riscv/riscv-protos.h (builtin_decl): New function.
4347 (expand_builtin): Ditto.
4348 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
4349 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
4350 (struct registered_function_hasher): New struct.
4351 (DEF_RVV_OP_TYPE): New macro.
4352 (DEF_RVV_TYPE): Ditto.
4353 (DEF_RVV_PRED_TYPE): Ditto.
4354 (GTY): New declaration.
4355 (add_attribute): New function.
4356 (check_required_extensions): Ditto.
4357 (rvv_arg_type_info::get_tree_type): Ditto.
4358 (function_instance::function_instance): Ditto.
4359 (function_instance::operator==): Ditto.
4360 (function_instance::any_type_float_p): Ditto.
4361 (function_instance::get_return_type): Ditto.
4362 (function_instance::get_arg_type): Ditto.
4363 (function_instance::hash): Ditto.
4364 (function_instance::call_properties): Ditto.
4365 (function_instance::reads_global_state_p): Ditto.
4366 (function_instance::modifies_global_state_p): Ditto.
4367 (function_instance::could_trap_p): Ditto.
4368 (function_builder::function_builder): Ditto.
4369 (function_builder::~function_builder): Ditto.
4370 (function_builder::allocate_argument_types): Ditto.
4371 (function_builder::register_function_group): Ditto.
4372 (function_builder::append_name): Ditto.
4373 (function_builder::finish_name): Ditto.
4374 (function_builder::get_attributes): Ditto.
4375 (function_builder::add_function): Ditto.
4376 (function_builder::add_unique_function): Ditto.
4377 (function_call_info::function_call_info): Ditto.
4378 (function_expander::function_expander): Ditto.
4379 (function_expander::add_input_operand): Ditto.
4380 (function_expander::generate_insn): Ditto.
4381 (registered_function_hasher::hash): Ditto.
4382 (registered_function_hasher::equal): Ditto.
4383 (builtin_decl): Ditto.
4384 (expand_builtin): Ditto.
4385 (gt_ggc_mx): Define for using GCC garbage collect.
4386 (gt_pch_nx): Define for using GCC garbage collect.
4387 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
4388 (DEF_RVV_PRED_TYPE): Ditto.
4389 (vbool64_t): Add suffix.
4390 (vbool32_t): Ditto.
4391 (vbool16_t): Ditto.
4392 (vbool8_t): Ditto.
4393 (vbool4_t): Ditto.
4394 (vbool2_t): Ditto.
4395 (vbool1_t): Ditto.
4396 (vint8mf8_t): Ditto.
4397 (vuint8mf8_t): Ditto.
4398 (vint8mf4_t): Ditto.
4399 (vuint8mf4_t): Ditto.
4400 (vint8mf2_t): Ditto.
4401 (vuint8mf2_t): Ditto.
4402 (vint8m1_t): Ditto.
4403 (vuint8m1_t): Ditto.
4404 (vint8m2_t): Ditto.
4405 (vuint8m2_t): Ditto.
4406 (vint8m4_t): Ditto.
4407 (vuint8m4_t): Ditto.
4408 (vint8m8_t): Ditto.
4409 (vuint8m8_t): Ditto.
4410 (vint16mf4_t): Ditto.
4411 (vuint16mf4_t): Ditto.
4412 (vint16mf2_t): Ditto.
4413 (vuint16mf2_t): Ditto.
4414 (vint16m1_t): Ditto.
4415 (vuint16m1_t): Ditto.
4416 (vint16m2_t): Ditto.
4417 (vuint16m2_t): Ditto.
4418 (vint16m4_t): Ditto.
4419 (vuint16m4_t): Ditto.
4420 (vint16m8_t): Ditto.
4421 (vuint16m8_t): Ditto.
4422 (vint32mf2_t): Ditto.
4423 (vuint32mf2_t): Ditto.
4424 (vint32m1_t): Ditto.
4425 (vuint32m1_t): Ditto.
4426 (vint32m2_t): Ditto.
4427 (vuint32m2_t): Ditto.
4428 (vint32m4_t): Ditto.
4429 (vuint32m4_t): Ditto.
4430 (vint32m8_t): Ditto.
4431 (vuint32m8_t): Ditto.
4432 (vint64m1_t): Ditto.
4433 (vuint64m1_t): Ditto.
4434 (vint64m2_t): Ditto.
4435 (vuint64m2_t): Ditto.
4436 (vint64m4_t): Ditto.
4437 (vuint64m4_t): Ditto.
4438 (vint64m8_t): Ditto.
4439 (vuint64m8_t): Ditto.
4440 (vfloat32mf2_t): Ditto.
4441 (vfloat32m1_t): Ditto.
4442 (vfloat32m2_t): Ditto.
4443 (vfloat32m4_t): Ditto.
4444 (vfloat32m8_t): Ditto.
4445 (vfloat64m1_t): Ditto.
4446 (vfloat64m2_t): Ditto.
4447 (vfloat64m4_t): Ditto.
4448 (vfloat64m8_t): Ditto.
4449 (vv): Ditto.
4450 (vx): Ditto.
4451 (v): Ditto.
4452 (wv): Ditto.
4453 (wx): Ditto.
4454 (x_x_v): Ditto.
4455 (vf2): Ditto.
4456 (vf4): Ditto.
4457 (vf8): Ditto.
4458 (vvm): Ditto.
4459 (vxm): Ditto.
4460 (x_x_w): Ditto.
4461 (v_v): Ditto.
4462 (v_x): Ditto.
4463 (vs): Ditto.
4464 (mm): Ditto.
4465 (m): Ditto.
4466 (vf): Ditto.
4467 (vm): Ditto.
4468 (wf): Ditto.
4469 (vfm): Ditto.
4470 (v_f): Ditto.
4471 (ta): Ditto.
4472 (tu): Ditto.
4473 (ma): Ditto.
4474 (mu): Ditto.
4475 (tama): Ditto.
4476 (tamu): Ditto.
4477 (tuma): Ditto.
4478 (tumu): Ditto.
4479 (tam): Ditto.
4480 (tum): Ditto.
4481 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
4482 (RVV_REQUIRE_RV64BIT): Ditto.
4483 (RVV_REQUIRE_ZVE64): Ditto.
4484 (RVV_REQUIRE_ELEN_FP_32): Ditto.
4485 (RVV_REQUIRE_ELEN_FP_64): Ditto.
4486 (enum operand_type_index): New enum.
4487 (DEF_RVV_OP_TYPE): New macro.
4488 (enum predication_type_index): New enum.
4489 (DEF_RVV_PRED_TYPE): New macro.
4490 (enum rvv_base_type): New enum.
4491 (struct rvv_builtin_suffixes): New struct.
4492 (struct rvv_arg_type_info): Ditto.
4493 (struct rvv_type_info): Ditto.
4494 (struct rvv_op_info): Ditto.
4495 (class registered_function): New class.
4496 (class function_base): Ditto.
4497 (class function_shape): Ditto.
4498 (struct function_group_info): New struct.
4499 (class GTY): New class.
4500 (class function_builder): Ditto.
4501 (class function_call_info): Ditto.
4502 (function_call_info::function_returns_void_p): New function.
4503 (class function_expander): New class.
4504 (function_instance::operator!=): New function.
4505 (function_expander::expand): Ditto.
4506 (function_expander::add_input_operand): Ditto.
4507 (function_base::call_properties): Ditto.
4508
4509 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
4510
4511 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
4512 (ssedvecmodelower): Rename from vi1si.
4513 (sdot_prod<mode>): New define_expand.
4514 (udot_prod<mode>): Ditto.
4515
4516 2022-10-21 Kong Lingling <lingling.kong@intel.com>
4517 Hongyu Wang <hongyu.wang@intel.com>
4518 Haochen Jiang <haochen.jiang@intel.com>
4519
4520 * common/config/i386/cpuinfo.h (get_available_features): Detect
4521 avxvnniint8.
4522 * common/config/i386/i386-common.cc
4523 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
4524 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
4525 (ix86_handle_option): Handle -mavxvnniint8.
4526 * common/config/i386/i386-cpuinfo.h (enum processor_features):
4527 Add FEATURE_AVXVNNIINT8.
4528 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
4529 avxvnniint8.
4530 * config.gcc: Add avxvnniint8intrin.h.
4531 * config/i386/avxvnniint8intrin.h: New file.
4532 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
4533 * config/i386/i386-builtin.def: Add new builtins.
4534 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
4535 __AVXVNNIINT8__.
4536 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
4537 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
4538 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
4539 * config/i386/i386.opt: Add option -mavxvnniint8.
4540 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
4541 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
4542 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
4543 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
4544 (vpdp<vpdotprodtype>_<mode>): New define_insn.
4545 * doc/extend.texi: Document avxvnniint8.
4546 * doc/invoke.texi: Document -mavxvnniint8.
4547 * doc/sourcebuild.texi: Document target avxvnniint8.
4548
4549 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
4550
4551 * common/config/i386/i386-common.cc
4552 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
4553 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
4554 (ix86_handle_option): Handle -mavxifma.
4555 * common/config/i386/i386-cpuinfo.h (processor_types): Add
4556 FEATURE_AVXIFMA.
4557 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
4558 avxifma.
4559 * common/config/i386/cpuinfo.h (get_available_features):
4560 Detect avxifma.
4561 * config.gcc: Add avxifmaintrin.h
4562 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
4563 to macro.
4564 (_mm_madd52hi_epu64): Likewise.
4565 (_mm256_madd52lo_epu64): Likewise.
4566 (_mm256_madd52hi_epu64): Likewise.
4567 * config/i386/avxifmaintrin.h: New header.
4568 * config/i386/cpuid.h (bit_AVXIFMA): New.
4569 * config/i386/i386-builtin.def: Add new builtins, and correct
4570 pattern names for AVX512IFMA.
4571 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
4572 builtins like AVX-VNNI.
4573 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
4574 __AVXIFMA__.
4575 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
4576 Relax ISA masks for AVXIFMA.
4577 * config/i386/i386-isa.def: Add AVXIFMA.
4578 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
4579 (ix86_valid_target_attribute_inner_p): Handle avxifma.
4580 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
4581 * config/i386/i386.opt: Add option -mavxifma.
4582 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
4583 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
4584 Remove.
4585 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
4586 (vpamdd52huq<mode>_maskz): Rename to ...
4587 (vpmadd52huq<mode>_maskz): ... this.
4588 (vpamdd52luq<mode>_maskz): Rename to ...
4589 (vpmadd52luq<mode>_maskz): ... this.
4590 (vpmadd52<vpmadd52type><mode>): New define_insn.
4591 (vpmadd52<vpmadd52type>v8di): Likewise.
4592 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
4593 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
4594 (vpmadd52<vpmadd52type><mode>_mask): ... this.
4595 * doc/invoke.texi: Document -mavxifma.
4596 * doc/extend.texi: Document avxifma.
4597 * doc/sourcebuild.texi: Document target avxifma.
4598
4599 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4600
4601 PR c++/106654
4602 * value-query.cc (get_range_global): Handle non integer ranges for
4603 default def SSA names.
4604
4605 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4606
4607 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
4608 (foperator_unordered_lt::op2_range): New.
4609
4610 2022-10-20 Artem Klimov <jakmobius@gmail.com>
4611 Alexander Monakov <amonakov@gcc.gnu.org>
4612
4613 PR middle-end/99619
4614 * ipa-visibility.cc (function_and_variable_visibility): Promote
4615 TLS access model afer visibility optimizations.
4616 * varasm.cc (have_optimized_refs): New helper.
4617 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
4618 (decl_default_tls_model): ... here in place of 'optimize' check.
4619
4620 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4621
4622 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
4623 false side with a NAN operand.
4624 (foperator_unordered_le::op2_range): Same.
4625 (foperator_unordered_gt::op1_range): Same.
4626 (foperator_unordered_gt::op2_range): Same.
4627 (foperator_unordered_ge::op1_range): Same.
4628 (foperator_unordered_ge::op2_range): Same.
4629 (foperator_unordered_equal::op1_range): Same.
4630
4631 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
4632
4633 PR tree-optimization/107326
4634 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
4635 vectype when widening container.
4636
4637 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4638
4639 * value-range.h (frange::set_varying): Do not set NAN flags for
4640 !HONOR_NANS.
4641 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
4642 !HONOR_NANS.
4643 (frange::verify_range): Same.
4644 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
4645
4646 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4647
4648 * range-op-float.cc (finite_operand_p): Remove.
4649 (finite_operands_p): Rename to...
4650 (maybe_isnan): ...this.
4651 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
4652 (foperator_equal::fold_range): Same.
4653 (foperator_equal::op1_range): Same.
4654 (foperator_not_equal::fold_range): Same.
4655 (foperator_lt::fold_range): Same.
4656 (foperator_le::fold_range): Same.
4657 (foperator_gt::fold_range): Same.
4658 (foperator_ge::fold_range): Same.
4659
4660 2022-10-20 Jakub Jelinek <jakub@redhat.com>
4661
4662 * passes.cc (pass_manager::register_pass): Fix a comment
4663 typo - copmilation -> compilation.
4664
4665 2022-10-20 Richard Biener <rguenther@suse.de>
4666
4667 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
4668 Disallow latch PHI defs.
4669 (vectorizable_recurr): Revert previous change.
4670
4671 2022-10-20 Julian Brown <julian@codesourcery.com>
4672
4673 PR target/105421
4674 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
4675 argument forces FLAT addressing mode, not just
4676 pointer-to-non-aggregate.
4677
4678 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
4679
4680 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
4681 * configure: Regenerate.
4682
4683 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4684
4685 * config/aarch64/aarch64-sve-builtins.h
4686 (gimple_folder::fold_to_cstu): New member function.
4687 * config/aarch64/aarch64-sve-builtins.cc
4688 (gimple_folder::fold_to_cstu): Define.
4689 * config/aarch64/aarch64-sve-builtins-base.cc
4690 (svcnt_bhwd_impl::fold): Use it.
4691
4692 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4693
4694 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
4695 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
4696 (unspec_based_function_rotated, unspec_based_function_exact_insn)
4697 (unspec_based_fused_function, unspec_based_fused_lane_function):
4698 Replace constructors with using directives.
4699 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
4700 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
4701 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
4702 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
4703 (svst234_impl, svundef_impl): Likewise.
4704 * config/aarch64/aarch64-sve-builtins-sve2.cc
4705 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
4706 (svstnt1_scatter_truncate_impl): Likewise.
4707
4708 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4709
4710 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
4711 with constexpr throughout.
4712 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
4713 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
4714 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
4715 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
4716
4717 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4718
4719 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
4720 merging alternative.
4721 (*aarch64_brk<brk_op>_ptest): Likewise.
4722
4723 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4724
4725 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
4726 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
4727 (*aarch64_brkn_ptest): Likewise.
4728 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
4729 (*aarch64_brk<brk_op>_ptest): Likewise.
4730
4731 2022-10-20 Richard Biener <rguenther@suse.de>
4732
4733 PR c/107305
4734 PR c/107306
4735 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
4736 indicate whether to emit an ICE. Add return value.
4737 (verify_gimple_in_cfg): Likewise.
4738 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
4739 (verify_gimple_in_cfg): Likewise.
4740
4741 2022-10-20 Richard Biener <rguenther@suse.de>
4742
4743 PR tree-optimization/107240
4744 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
4745 simplify shifted value first.
4746
4747 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
4748
4749 * gimple-range-gori.h (compute_operand_range): Make public.
4750 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
4751 (gimple_infer_range::gimple_infer_range): Check for assume calls.
4752 * gimple-range-infer.h (check_assume_func): Add prototype.
4753 * gimple-range.cc (assume_query::assume_range_p): New.
4754 (assume_query::range_of_expr): New.
4755 (assume_query::assume_query): New.
4756 (assume_query::calculate_op): New.
4757 (assume_query::calculate_phi): New.
4758 (assume_query::check_taken_edge): New.
4759 (assume_query::calculate_stmt): New.
4760 (assume_query::dump): New.
4761 * gimple-range.h (class assume_query): New.
4762 * tree-vrp.cc (pass_assumptions::execute): Add processing.
4763
4764 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
4765
4766 * range-op-float.cc (build_le): Document result.
4767 (build_lt): Same.
4768 (build_ge): Same.
4769 (foperator_ge::op2_range): Check result of build_*.
4770 (foperator_unordered_le::op1_range): Same.
4771 (foperator_unordered_le::op2_range): Same.
4772 (foperator_unordered_gt::op1_range): Same.
4773 (foperator_unordered_gt::op2_range): Same.
4774 (foperator_unordered_ge::op1_range): Same.
4775 (foperator_unordered_ge::op2_range): Same.
4776
4777 2022-10-19 Marek Polacek <polacek@redhat.com>
4778
4779 PR c++/85043
4780 * doc/invoke.texi: Update documentation of -Wuseless-cast.
4781
4782 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
4783
4784 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
4785 Value_Range not int_range_max.
4786
4787 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
4788
4789 PR tree-optimization/107312
4790 * range.h (range_true_and_false): Special case 1-bit signed types.
4791 * value-range.cc (range_tests_misc): New test.
4792
4793 2022-10-19 LIU Hao <lh_mouse@126.com>
4794
4795 * config/i386/mingw-mcfgthread.h: New file
4796 * config/i386/mingw32.h: Add builtin macro and default libraries
4797 for mcfgthread when thread model is `mcf`
4798 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
4799 is `mcf`
4800 * configure.ac: Recognize `mcf` as a valid thread model
4801 * config.in: Regenerate
4802 * configure: Regenerate
4803
4804 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
4805
4806 * gengtype.cc (output_escaped_param): Add missing const.
4807 (get_string_option): Add missing check for option type.
4808 (walk_type): Support new "string_length" GTY option.
4809 (write_types_process_field): Likewise.
4810 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
4811 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
4812 (gt_pch_n_S2): Declare...
4813 * stringpool.cc (gt_pch_n_S2): ...new function.
4814 * doc/gty.texi: Document new GTY((string_length)) option.
4815
4816 2022-10-19 Martin Liska <mliska@suse.cz>
4817
4818 * doc/extend.texi: Remove useless @tie{} directives.
4819
4820 2022-10-19 Martin Jambor <mjambor@suse.cz>
4821
4822 PR tree-optimization/107206
4823 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
4824 (analyze_access_subtree): Do not create replacements for accesses with
4825 this flag when not toally scalarizing.
4826 (propagate_subaccesses_from_lhs): Set the new flag.
4827
4828 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
4829
4830 PR target/106355
4831 * config/s390/s390.cc (s390_call_saved_register_used): For a
4832 parameter with BLKmode fix determining number of consecutive
4833 registers.
4834
4835 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4836
4837 * config/xtensa/xtensa-protos.h
4838 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
4839 * config/xtensa/xtensa.cc
4840 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
4841 New functions.
4842 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
4843 (xt_true_regnum): Rework.
4844 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
4845 Switch from CALL_USED_REGISTERS, and revise the comment.
4846 * config/xtensa/constraints.md (Y):
4847 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
4848 * config/xtensa/predicates.md (move_operand): Ditto.
4849 * config/xtensa/xtensa.md: Add two new split patterns:
4850 - splits DImode immediate load into two SImode ones
4851 - puts out-of-constraint SImode constants into the constant pool
4852 * config/xtensa/xtensa.opt (-mlra): New target-specific option
4853 for testing purpose.
4854
4855 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
4856
4857 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
4858
4859 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4860
4861 PR middle-end/107262
4862 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
4863 of constants, use simplify_unary_operation if fromi has VOIDmode
4864 instead of recursive convert_mode_scalar.
4865
4866 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4867
4868 PR tree-optimization/106990
4869 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
4870 !TYPE_OVERFLOW_SANITIZED (type).
4871
4872 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4873
4874 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
4875 (ix86_bf16_type_node): New variable.
4876 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
4877 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
4878 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
4879 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
4880 rather than bfloat16_type_node. Don't initialize unused
4881 ix86_bf16_ptr_type_node.
4882 * config/i386/i386-builtin-types.def (BFLOAT16): Use
4883 ix86_bf16_type_node rather than bfloat16_type_node.
4884
4885 2022-10-19 Richard Biener <rguenther@suse.de>
4886
4887 PR tree-optimization/106781
4888 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
4889 LHS removal from fixup_noreturn_call.
4890
4891 2022-10-19 liuhongt <hongtao.liu@intel.com>
4892
4893 PR target/107271
4894 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
4895 (expand_vec_perm_shufps_shufps): Call
4896 ix86_vec_perm_index_canon
4897
4898 2022-10-18 Martin Jambor <mjambor@suse.cz>
4899
4900 * ipa-prop.h (ipa_agg_value): Remove type.
4901 (ipa_agg_value_set): Likewise.
4902 (ipa_copy_agg_values): Remove function.
4903 (ipa_release_agg_values): Likewise.
4904 (ipa_auto_call_arg_values) Add a forward declaration.
4905 (ipa_call_arg_values): Likewise.
4906 (class ipa_argagg_value_list): New constructors, added member function
4907 value_for_index_p.
4908 (class ipa_auto_call_arg_values): Removed the destructor and member
4909 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
4910 (class ipa_call_arg_values): Removed member function safe_aggval_at.
4911 Use ipa_argagg_values for m_known_aggs.
4912 (ipa_get_indirect_edge_target): Removed declaration.
4913 (ipa_find_agg_cst_for_param): Likewise.
4914 (ipa_find_agg_cst_from_init): New declaration.
4915 (ipa_agg_value_from_jfunc): Likewise.
4916 (ipa_agg_value_set_from_jfunc): Removed declaration.
4917 (ipa_push_agg_values_from_jfunc): New declaration.
4918 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
4919 ipa_agg_value_from_jfunc, made public.
4920 (ipa_agg_value_set_from_jfunc): Removed.
4921 (ipa_push_agg_values_from_jfunc): New function.
4922 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
4923 avs for this purpose too.
4924 (ipa_get_indirect_edge_target): Removed the overload working on
4925 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
4926 one.
4927 (devirtualization_time_bonus): Use ipa_argagg_value_list and
4928 ipa_get_indirect_edge_target_1 instead of
4929 ipa_get_indirect_edge_target.
4930 (context_independent_aggregate_values): Removed function.
4931 (gather_context_independent_values): Work on ipa_argagg_value_list.
4932 (estimate_local_effects): Likewise, define some iterator variables
4933 only in the construct where necessary.
4934 (ipcp_discover_new_direct_edges): Adjust the call to
4935 ipa_get_indirect_edge_target_1.
4936 (push_agg_values_for_index_from_edge): Adjust the call
4937 ipa_agg_value_from_node which has been renamed to
4938 ipa_agg_value_from_jfunc.
4939 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
4940 ipa_argagg_value_list.
4941 (evaluate_properties_for_edge): Replace manual filling in aggregate
4942 values with call to ipa_push_agg_values_from_jfunc.
4943 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
4944 (ipa_cached_call_context::duplicate_from): Likewise.
4945 (ipa_cached_call_context::release): Likewise.
4946 (ipa_call_context::equal_to): Likewise.
4947 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
4948 (ipa_find_agg_cst_for_param): Removed function.
4949 (ipa_find_agg_cst_from_jfunc_items): New function.
4950 (try_make_edge_direct_simple_call): Replace calls to
4951 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
4952 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
4953 (try_make_edge_direct_virtual_call): Replace calls to
4954 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
4955 simple query of constant jump function and a call to
4956 ipa_find_agg_cst_from_jfunc_items.
4957 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
4958
4959 2022-10-18 Martin Jambor <mjambor@suse.cz>
4960
4961 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
4962 (ipcp_transformation): Added forward declaration.
4963 (ipa_argagg_value): New type.
4964 (ipa_argagg_value_list): New type.
4965 (ipa_agg_replacement_value): Removed type.
4966 (ipcp_transformation): Switch from using ipa_agg_replacement_value
4967 to ipa_argagg_value_list.
4968 (ipa_get_agg_replacements_for_node): Removed.
4969 (ipa_dump_agg_replacement_values): Removed declaration.
4970 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
4971 (values_equal_for_ipcp_p): Moved up in the file.
4972 (ipa_argagg_value_list::dump): New function.
4973 (ipa_argagg_value_list::debug): Likewise.
4974 (ipa_argagg_value_list::get_elt): Likewise.
4975 (ipa_argagg_value_list::get_elt_for_index): Likewise.
4976 (ipa_argagg_value_list::get_value): New overloaded functions.
4977 (ipa_argagg_value_list::superset_of_p): New function.
4978 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
4979 (push_agg_values_from_plats): Likewise.
4980 (intersect_argaggs_with): Likewise.
4981 (get_clone_agg_value): Removed.
4982 (ipa_agg_value_from_node): Make last parameter const, use
4983 ipa_argagg_value_list to search values coming from clones.
4984 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
4985 values coming from clones.
4986 (ipcp_discover_new_direct_edges): Pass around a vector of
4987 ipa_argagg_values rather than a link list of replacement values.
4988 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
4989 values coming from clones.
4990 (create_specialized_node): Work with a vector of ipa_argagg_values
4991 rather than a link list of replacement values.
4992 (self_recursive_agg_pass_through_p): Make the pointer parameters
4993 const.
4994 (copy_plats_to_inter): Removed.
4995 (intersect_with_plats): Likewise.
4996 (agg_replacements_to_vector): Likewise.
4997 (intersect_with_agg_replacements): Likewise.
4998 (intersect_aggregates_with_edge): Likewise.
4999 (push_agg_values_for_index_from_edge): Likewise.
5000 (push_agg_values_from_edge): Likewise.
5001 (find_aggregate_values_for_callers_subset): Rewrite.
5002 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
5003 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
5004 aggregate values.
5005 (decide_about_value): Work with a vector of ipa_argagg_values rather
5006 than a link list of replacement values.
5007 (decide_whether_version_node): Likewise.
5008 (ipa_analyze_node): Check number of parameters, assert that there
5009 are no descriptors when bailing out.
5010 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
5011 ipa_argagg_value.
5012 (ipa_node_params_t::duplicate): Removed superfluous handling of
5013 ipa_agg_replacement_values. Name of src parameter removed because
5014 it is no longer used.
5015 (ipcp_transformation_t::duplicate): Replaced duplication of
5016 ipa_agg_replacement_values with copying vector m_agg_values.
5017 (ipa_dump_agg_replacement_values): Removed.
5018 (write_ipcp_transformation_info): Stream the new data-structure
5019 instead of the old.
5020 (read_ipcp_transformation_info): Likewise.
5021 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
5022 of linked lists of ipa_agg_replacement_values, copy the items and
5023 truncate the vector as necessary to keep it sorted instead of marking
5024 items as invalid. Return one bool if CFG should be updated.
5025 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
5026 linked list of ipa_agg_replacement_values.
5027 (ipcp_modif_dom_walker::before_dom_children): Use
5028 ipa_argagg_value_list instead of walking a list of
5029 ipa_agg_replacement_values.
5030 (ipcp_transform_function): Switch to the new data structure, adjust
5031 dumping.
5032
5033 2022-10-18 Richard Biener <rguenther@suse.de>
5034
5035 PR tree-optimization/107302
5036 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
5037 placement for a PHI latch def.
5038
5039 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
5040
5041 PR tree-optimization/107275
5042 * tree-if-conv.cc (if_convertible_loop_p_1): Move
5043 find_data_references_in_loop call from here...
5044 (if_convertible_loop_p): And move data-reference vector initialization
5045 from here...
5046 (tree_if_conversion):... to here.
5047
5048 2022-10-18 Jakub Jelinek <jakub@redhat.com>
5049
5050 PR c++/106654
5051 * gimple.def (GIMPLE_ASSUME): New statement kind.
5052 * gimple.h (struct gimple_statement_assume): New type.
5053 (is_a_helper <gimple_statement_assume *>::test,
5054 is_a_helper <const gimple_statement_assume *>::test): New.
5055 (gimple_build_assume): Declare.
5056 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
5057 (gimple_assume_guard, gimple_assume_set_guard,
5058 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
5059 New inline functions.
5060 * gsstruct.def (GSS_ASSUME): New.
5061 * gimple.cc (gimple_build_assume): New function.
5062 (gimple_copy): Handle GIMPLE_ASSUME.
5063 * gimple-pretty-print.cc (dump_gimple_assume): New function.
5064 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
5065 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
5066 * omp-low.cc (WALK_SUBSTMTS): Likewise.
5067 (lower_omp_1): Likewise.
5068 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
5069 Likewise.
5070 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
5071 * function.h (struct function): Add assume_function bitfield.
5072 * gimplify.cc (gimplify_call_expr): If the assumption isn't
5073 simple enough, expand it into GIMPLE_ASSUME wrapped block or
5074 for -O0 drop it.
5075 * gimple-low.cc: Include attribs.h.
5076 (create_assumption_fn): New function.
5077 (struct lower_assumption_data): New type.
5078 (find_assumption_locals_r, assumption_copy_decl,
5079 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
5080 lower_assumption): New functions.
5081 (lower_stmt): Handle GIMPLE_ASSUME.
5082 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
5083 IFN_ASSUME calls.
5084 * lto-streamer-out.cc (output_struct_function_base): Pack
5085 assume_function bit.
5086 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
5087 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
5088 has TREE_ASM_WRITTEN set and don't release its body.
5089 (symbol_table::compile): Allow assume functions not to have released
5090 body.
5091 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
5092 * passes.cc (execute_one_pass): For TODO_discard_function don't
5093 release body of assume functions.
5094 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
5095 of PROP_assumptions_done functions.
5096 * tree-pass.h (PROP_assumptions_done): Define.
5097 (TODO_discard_function): Adjust comment.
5098 (make_pass_assumptions): Declare.
5099 * passes.def (pass_assumptions): Add.
5100 * timevar.def (TV_TREE_ASSUMPTIONS): New.
5101 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
5102 * tree-vrp.cc (pass_data_assumptions): New variable.
5103 (pass_assumptions): New class.
5104 (make_pass_assumptions): New function.
5105
5106 2022-10-18 Richard Biener <rguenther@suse.de>
5107
5108 PR tree-optimization/107301
5109 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
5110 Check whether we can duplicate the block.
5111 (find_implicit_erroneous_behavior): Likewise.
5112
5113 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
5114
5115 PR tree-optimization/107273
5116 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
5117 instead of copying precison of each member.
5118
5119 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5120
5121 PR target/101697
5122 * config/h8300/combiner.md: Replace '<' preincment constraint with
5123 ZA/Z1..ZH/Z7 combinations.
5124 * config/h8300/movepush.md: Similarly
5125
5126 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5127
5128 * config/h8300/constraints.md (Za..Zh): New constraints for
5129 autoinc addresses using a specific register.
5130 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
5131 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
5132
5133 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
5134
5135 * config/i386/cet.c: Remove accidental commit.
5136 * config/i386/driver-mingw32.c: Likewise.
5137 * config/i386/i386-builtins.c: Likewise.
5138 * config/i386/i386-d.c: Likewise.
5139 * config/i386/i386-expand.c: Likewise.
5140 * config/i386/i386-features.c: Likewise.
5141 * config/i386/i386-options.c: Likewise.
5142 * config/i386/t-cet: Likewise.
5143 * config/i386/x86-tune-sched-atom.c: Likewise.
5144 * config/i386/x86-tune-sched-bd.c: Likewise.
5145 * config/i386/x86-tune-sched-core.c: Likewise.
5146 * config/i386/x86-tune-sched.c: Likewise.
5147
5148 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5149
5150 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
5151 Enable redundant extension elimination at -O2 and above.
5152 * config/i386/cet.c: New file.
5153 * config/i386/driver-mingw32.c: New file.
5154 * config/i386/i386-builtins.c: New file.
5155 * config/i386/i386-d.c: New file.
5156 * config/i386/i386-expand.c: New file.
5157 * config/i386/i386-features.c: New file.
5158 * config/i386/i386-options.c: New file.
5159 * config/i386/t-cet: New file.
5160 * config/i386/x86-tune-sched-atom.c: New file.
5161 * config/i386/x86-tune-sched-bd.c: New file.
5162 * config/i386/x86-tune-sched-core.c: New file.
5163 * config/i386/x86-tune-sched.c: New file.
5164
5165 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5166
5167 * config/h8300/extensions.md (CCZN setting zero extended load): Add
5168 missing splitter.
5169
5170 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
5171
5172 PR tree-optimization/107293
5173 * tree-ssa-dom.cc
5174 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
5175 Check that condition post-dominates the definition point.
5176
5177 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
5178
5179 PR tree-optimization/107286
5180 * value-range.cc (range_tests_floats): Do not test for -Inf when
5181 flag_finite_math_only.
5182
5183 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5184
5185 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
5186 Provide relation_trio class.
5187 * gimple-range-gori.cc (gori_compute::refine_using_relation):
5188 Provide relation_trio class.
5189 (gori_compute::refine_using_relation): Ditto.
5190 (gori_compute::compute_operand1_range): Provide lhs_op2 and
5191 op1_op2 relations via relation_trio class.
5192 (gori_compute::compute_operand2_range): Ditto.
5193 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
5194 relation_trio instead of relation_kind.
5195 (gimple_range_op_handler::calc_op2): Ditto.
5196 (*::fold_range): Ditto.
5197 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
5198 (gimple_range_op::calc_op2): Adjust prototypes.
5199 * range-op-float.cc (*::fold_range): Use relation_trio instead of
5200 relation_kind.
5201 (*::op1_range): Ditto.
5202 (*::op2_range): Ditto.
5203 * range-op.cc (*::fold_range): Use relation_trio instead of
5204 relation_kind.
5205 (*::op1_range): Ditto.
5206 (*::op2_range): Ditto.
5207 * range-op.h (class range_operator): Adjust prototypes.
5208 (class range_operator_float): Ditto.
5209 (class range_op_handler): Adjust prototypes.
5210 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
5211 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
5212 the enum.
5213 (relation_oracle::validate_relation): Use relation_trio in call
5214 to fold_range.
5215 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
5216 final element.
5217 (class relation_trio): New.
5218 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
5219
5220 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5221
5222 * range-op-float.cc (foperator_not_equal::op1_range): Check for
5223 VREL_EQ after singleton.
5224 (foperator_unordered::op1_range): Set VARYING before calling
5225 clear_nan().
5226 (foperator_ordered::op1_range): Set rather than clear NAN if both
5227 operands are the same.
5228
5229 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5230
5231 * value-relation.cc (value_relation::dump): Change message.
5232 * value-relation.h (value_relation::set_relation): If op1 is the
5233 same as op2 do not create a relation.
5234
5235 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
5236
5237 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
5238 'case QImode:', etc.
5239
5240 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
5241
5242 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
5243
5244 2022-10-17 Richard Biener <rguenther@suse.de>
5245 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5246
5247 PR tree-optimization/99409
5248 PR tree-optimization/99394
5249 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
5250 (stmt_vec_info_type::recurr_info_type): Likewise.
5251 (vectorizable_recurr): New function.
5252 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
5253 function.
5254 (vect_analyze_scalar_cycles_1): Look for first order
5255 recurrences.
5256 (vect_analyze_loop_operations): Handle them.
5257 (vect_transform_loop): Likewise.
5258 (vectorizable_recurr): New function.
5259 (maybe_set_vectorized_backedge_value): Handle the backedge value
5260 setting in the first order recurrence PHI and the permutes.
5261 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
5262 recurrences.
5263 (vect_transform_stmt): Likewise.
5264 (vect_is_simple_use): Likewise.
5265 (vect_is_simple_use): Likewise.
5266 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
5267 (vect_build_slp_tree_2): Likewise.
5268 (vect_schedule_scc): Handle the backedge value setting in the
5269 first order recurrence PHI and the permutes.
5270
5271 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5272
5273 * config/riscv/t-riscv: Change Tab into 2 space.
5274
5275 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5276
5277 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
5278
5279 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
5280
5281 * config.gcc: --target=*-elf --without-{newlib,headers} should
5282 provide stdint.h.
5283
5284 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
5285
5286 * common/config/i386/cpuinfo.h:
5287 (get_intel_cpu): Handle Meteorlake.
5288 * common/config/i386/i386-common.cc:
5289 (processor_alias_table): Add Meteorlake.
5290
5291 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
5292
5293 * common/config/i386/cpuinfo.h:
5294 (get_intel_cpu): Handle Raptorlake.
5295 * common/config/i386/i386-common.cc:
5296 (processor_alias_table): Add Raptorlake.
5297
5298 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5299
5300 * config/h8300/constraints.md (Z0..Z7): New register
5301 constraints.
5302 * config/h8300/h8300.h (reg_class): Add new classes.
5303 (REG_CLASS_NAMES): Similarly.
5304 (REG_CLASS_CONTENTS): Similarly.
5305
5306 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5307
5308 * config/h8300/constraints.md (Zz constraint): Renamed
5309 from "z".
5310 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
5311 constraint to use Zz instead of Z.
5312
5313 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5314
5315 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
5316
5317 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5318
5319 * value-range.cc (frange::set): Implement distinction between
5320 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
5321
5322 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5323
5324 * gimple-range-op.cc (class cfn_copysign): New.
5325 (gimple_range_op_handler::maybe_builtin_call): Add
5326 CFN_BUILT_IN_COPYSIGN*.
5327
5328 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5329
5330 * real.h (real_isdenormal): Check rvc_normal.
5331 * value-range.cc (range_tests_floats): New test.
5332
5333 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5334
5335 * gimple-range-op.cc
5336 (gimple_range_op_handler::maybe_builtin_call): Replace
5337 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
5338
5339 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5340
5341 * value-range.cc (frange::set): Normalize ranges for both bounds.
5342
5343 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5344
5345 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
5346
5347 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5348
5349 * gimple-range-op.cc
5350 (gimple_range_op_handler::maybe_builtin_call): Add
5351 CFN_BUILT_IN_SIGNBIT[FL]* entries.
5352
5353 2022-10-14 Richard Biener <rguenther@suse.de>
5354
5355 PR tree-optimization/107254
5356 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
5357 For permutes also analyze live lanes.
5358 (vect_schedule_slp_node): For permutes also code generate
5359 live lane extracts.
5360
5361 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
5362
5363 PR target/107248
5364 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
5365 blockage for leaf functions.
5366 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
5367 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
5368 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
5369
5370 2022-10-14 Jakub Jelinek <jakub@redhat.com>
5371
5372 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
5373 * tree.h (bfloat16_type_node): Define.
5374 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
5375 like float16_type_mode.
5376 (build_common_tree_nodes): Initialize bfloat16_type_node if
5377 BFmode is supported.
5378 * expmed.h (maybe_expand_shift): Declare.
5379 * expmed.cc (maybe_expand_shift): No longer static.
5380 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
5381 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
5382 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
5383 -ffast-math generic implementation for BF -> SF and SF -> BF
5384 conversions.
5385 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
5386 * builtins.def (BUILT_IN_NANSF16B): New builtin.
5387 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
5388 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
5389 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
5390 for -msse2.
5391 (ix86_mangle_type): Mangle BFmode as DF16b.
5392 (ix86_invalid_conversion, ix86_invalid_unary_op,
5393 ix86_invalid_binary_op): Remove.
5394 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
5395 TARGET_INVALID_BINARY_OP): Don't redefine.
5396 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
5397 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
5398 ix86_bf16_type_node, only create it if still NULL.
5399 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
5400 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
5401
5402 2022-10-14 Jakub Jelinek <jakub@redhat.com>
5403
5404 PR middle-end/323
5405 PR c++/107097
5406 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
5407 option now also works in C++.
5408
5409 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
5410
5411 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
5412 early for calls made from thunks.
5413
5414 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
5415
5416 * expr.cc (emit_group_stote): Fix handling of modes of different
5417 sizes for big-endian targets in latest change and add commentary.
5418
5419 2022-10-13 Martin Liska <mliska@suse.cz>
5420
5421 * output.h (assemble_vtv_preinit_initializer): Remove.
5422 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
5423
5424 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5425
5426 PR tree-optimization/102540
5427 PR tree-optimization/102872
5428 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
5429 Handle partial equivs.
5430 (ranger_cache::range_from_dom): Cleanup dump output.
5431
5432 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5433
5434 * range-op.cc (operator_cast::lhs_op1_relation): New.
5435 (operator_bitwise_and::lhs_op1_relation): New.
5436
5437 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5438
5439 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
5440 iterator.
5441 * value-relation.cc
5442 (equiv_relation_iterator::equiv_relation_iterator): New.
5443 (equiv_relation_iterator::next): New.
5444 (equiv_relation_iterator::get_name): New.
5445 * value-relation.h (class relation_oracle): Privatize some methods.
5446 (class equiv_relation_iterator): New.
5447 (FOR_EACH_EQUIVALENCE): New.
5448 (FOR_EACH_PARTIAL_EQUIV): New.
5449 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
5450
5451 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5452
5453 * value-relation.cc (equiv_chain::dump): Don't print empty
5454 equivalences.
5455 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
5456 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
5457 (equiv_oracle::add_partial_equiv): New.
5458 (equiv_oracle::partial_equiv_set): New.
5459 (equiv_oracle::partial_equiv): New.
5460 (equiv_oracle::query_relation): Check for partial equivs too.
5461 (equiv_oracle::dump): Also dump partial equivs.
5462 (dom_oracle::register_relation): Handle partial equivs.
5463 (dom_oracle::query_relation): Check for partial equivs.
5464 * value-relation.h (enum relation_kind_t): Add partial equivs.
5465 (relation_partial_equiv_p): New.
5466 (relation_equiv_p): New.
5467 (class pe_slice): New.
5468 (class equiv_oracle): Add prototypes.
5469 (pe_to_bits): New.
5470 (bits_to_pe): New.
5471 (pe_min): New.
5472
5473 2022-10-13 Richard Biener <rguenther@suse.de>
5474
5475 PR tree-optimization/107247
5476 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5477 Reduce multi vector SLP reduction accumulators. Check
5478 the adjusted number of accumulator vectors against
5479 one for the re-use in the epilogue.
5480
5481 2022-10-13 Jakub Jelinek <jakub@redhat.com>
5482
5483 * genmodes.cc (emit_mode_wider): Emit previous content of
5484 mode_wider array into mode_next array and for mode_wider
5485 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
5486 otherwise skip through modes with the same precision.
5487 * machmode.h (mode_next): Declare.
5488 (GET_MODE_NEXT_MODE): New inline function.
5489 (mode_iterator::get_next, mode_iterator::get_known_next): New
5490 function templates.
5491 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
5492 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
5493 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
5494 (FOR_EACH_WIDER_MODE_FROM): Define.
5495 (FOR_EACH_NEXT_MODE): Define.
5496 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
5497 instead of FOR_EACH_MODE_FROM.
5498 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
5499 !CLASS_HAS_WIDER_MODES_P check.
5500 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
5501 FOR_EACH_MODE_FROM.
5502 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
5503 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
5504
5505 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
5506
5507 PR target/105773
5508 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
5509 GT/LE for merging compare with zero into AND.
5510 (aarch64_get_condition_code_1): Add CC_NZVmode support.
5511 * config/aarch64/aarch64-modes.def: Add CC_NZV.
5512 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
5513
5514 2022-10-13 Richard Biener <rguenther@suse.de>
5515
5516 PR tree-optimization/107160
5517 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5518 Do not register accumulator if we failed to reduce it
5519 to a single vector.
5520
5521 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
5522
5523 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
5524 (class foperator_equal): Add using.
5525 (class foperator_not_equal): Same.
5526 (class foperator_lt): Same.
5527 (class foperator_le): Same.
5528 (class foperator_gt): Same.
5529 (class foperator_ge): Same.
5530 * range-op.cc (range_op_handler::op1_op2_relation): New.
5531 * range-op.h (range_operator_float::op1_op2_relation): New.
5532
5533 2022-10-13 Richard Biener <rguenther@suse.de>
5534
5535 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
5536 * match.pd: Replace 'return' statements in with expressions
5537 with appropriate variants.
5538
5539 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
5540
5541 PR tree-optimization/107229
5542 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
5543
5544 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
5545
5546 PR tree-optimization/107226
5547 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
5548 BITFIELD_REF's with non integral typed first operands.
5549
5550 2022-10-13 Joseph Myers <joseph@codesourcery.com>
5551
5552 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
5553 (LDBL_IS_IEC_60559): Update comment.
5554
5555 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5556
5557 * range-op-float.cc (class foperator_negate): New.
5558 (floating_op_table::floating_op_table): Add NEGATE_EXPR
5559 (range_op_float_tests): Add negate tests.
5560
5561 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5562
5563 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
5564
5565 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5566
5567 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
5568 clang-format.
5569 (add_vector_type_attribute): Ditto.
5570 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
5571 clang-format.
5572 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
5573 clang-format.
5574
5575 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5576
5577 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
5578 vector types.
5579 (build_const_pointer): New function.
5580 (register_builtin_type): Ditto.
5581 (DEF_RVV_TYPE): Simplify macro.
5582 (register_vector_type): Refine implementation.
5583 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
5584
5585 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5586
5587 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
5588 this to ....
5589 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
5590 here.
5591
5592 2022-10-12 Cui,Lili <lili.cui@intel.com>
5593
5594 * config/i386/driver-i386.cc (host_detect_local_cpu):
5595 Move sapphirerapids out of AVX512_VP2INTERSECT.
5596 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
5597 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
5598
5599 2022-10-12 Martin Liska <mliska@suse.cz>
5600
5601 * gcov-io.cc (gcov_write_summary): Rename to ...
5602 (gcov_write_object_summary): ... this.
5603 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
5604 (GCOV_TAG_SUMMARY_LENGTH): ... this.
5605
5606 2022-10-12 Martin Liska <mliska@suse.cz>
5607
5608 * configure: Regenerate.
5609
5610 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5611
5612 * range-op-float.cc (frange_float): New.
5613 (range_op_float_tests): New.
5614 * range-op.cc (range_op_tests): Call range_op_float_tests.
5615
5616 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5617
5618 * value-range.h (frange::nan_signbit_p): New.
5619
5620 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5621
5622 * value-range.cc (frange::set_nonnegative): Pass bool to
5623 update_nan.
5624 * value-range.h: Disallow conversion to bool in update_nan().
5625
5626 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5627
5628 * value-range.h (frange::frange): Add constructor taking type.
5629
5630 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5631
5632 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
5633 methods.
5634
5635 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5636
5637 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
5638 calling tracer.trailer().
5639
5640 2022-10-11 Jakub Jelinek <jakub@redhat.com>
5641
5642 PR target/107185
5643 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
5644 MASK_REGNO_P (REGNO (x)).
5645
5646 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5647
5648 * range-op-float.cc (class foperator_abs): New.
5649 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
5650
5651 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5652
5653 * range-op-float.cc (foperator_unordered_le::op1_range): New.
5654 (foperator_unordered_le::op2_range): New.
5655 (foperator_unordered_gt::op1_range): New.
5656 (foperator_unordered_gt::op2_range): New.
5657 (foperator_unordered_ge::op1_range): New.
5658 (foperator_unordered_ge::op2_range): New.
5659 (foperator_unordered_equal::op1_range): New.
5660
5661 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5662
5663 * range-op-float.cc (class foperator_unordered_lt): New.
5664 (class foperator_relop_unknown): Remove
5665 (class foperator_unordered_le): New.
5666 (class foperator_unordered_gt): New.
5667 (class foperator_unordered_ge): New.
5668 (class foperator_unordered_equal): New.
5669 (floating_op_table::floating_op_table): Replace all UN_EXPR
5670 entries with their appropriate fop_unordered_* counterpart.
5671
5672 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5673
5674 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
5675 (operator_lt::op2_range): Same.
5676 (operator_le::op2_range): Same.
5677 (operator_gt::op2_range): Same.
5678 (operator_ge::op2_range): Same.
5679
5680 2022-10-11 Richard Biener <rguenther@suse.de>
5681
5682 PR tree-optimization/107212
5683 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
5684 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
5685 reduction.
5686 (vectorizable_live_operation): Do not pun to the SLP
5687 node representative for reduction epilogue generation.
5688
5689 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5690
5691 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
5692
5693 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5694
5695 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
5696 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
5697 (GEN_VNM): Add gathervNm_expr.
5698 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
5699 (gcn_expand_vector_init): Add initialization of vectors from smaller
5700 vectors.
5701
5702 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5703
5704 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
5705 * config/gcn/gcn-valu.md
5706 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
5707 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
5708 new overload variant.
5709
5710 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5711
5712 * config/gcn/gcn-valu.md
5713 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
5714 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
5715 * config/gcn/gcn.h (MODE_VF): New macro.
5716
5717 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5718
5719 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
5720 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
5721 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
5722 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
5723 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
5724 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
5725 (ADJUST_ALIGNMENT): Likewise.
5726 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
5727 (gcn_full_exec_reg): Delete.
5728 (gcn_scalar_exec): Delete.
5729 (gcn_scalar_exec_reg): Delete.
5730 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
5731 (vgpr_2reg_mode_p): Likewise.
5732 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
5733 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
5734 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
5735 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
5736 Add additional vector modes.
5737 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
5738 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
5739 Add additional vector mode mappings.
5740 (mov<mode>): Implement vector length conversions.
5741 (ldexp<mode>3<exec>): Use VnSI.
5742 (frexp<mode>_exp2<exec>): Likewise.
5743 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
5744 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
5745 (fold_left_plus_<mode>): Use V64_FP.
5746 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
5747 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
5748 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
5749 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
5750 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
5751 (mov_from_lane63_<mode>): Use V64_2REG.
5752 * config/gcn/gcn.cc (VnMODE): New function.
5753 (gcn_can_change_mode_class): Support multiple vector sizes.
5754 (gcn_modes_tieable_p): Likewise.
5755 (gcn_operand_part): Likewise.
5756 (gcn_scalar_exec): Delete function.
5757 (gcn_scalar_exec_reg): Delete function.
5758 (gcn_full_exec): Delete function.
5759 (gcn_full_exec_reg): Delete function.
5760 (gcn_inline_fp_constant_p): Support multiple vector sizes.
5761 (gcn_fp_constant_p): Likewise.
5762 (A): New macro.
5763 (GEN_VN_NOEXEC): New macro.
5764 (GEN_VNM_NOEXEC): New macro.
5765 (GEN_VN): New macro.
5766 (GEN_VNM): New macro.
5767 (GET_VN_FN): New macro.
5768 (CODE_FOR): New macro.
5769 (CODE_FOR_OP): New macro.
5770 (gen_mov_with_exec): Delete function.
5771 (gen_duplicate_load): Delete function.
5772 (gcn_expand_vector_init): Support multiple vector sizes.
5773 (strided_constant): Likewise.
5774 (gcn_addr_space_legitimize_address): Likewise.
5775 (gcn_expand_scalar_to_vector_address): Likewise.
5776 (gcn_expand_scaled_offsets): Likewise.
5777 (gcn_secondary_reload): Likewise.
5778 (gcn_valid_cvt_p): Likewise.
5779 (gcn_expand_builtin_1): Likewise.
5780 (gcn_make_vec_perm_address): Likewise.
5781 (gcn_vectorize_vec_perm_const): Likewise.
5782 (gcn_vector_mode_supported_p): Likewise.
5783 (gcn_autovectorize_vector_modes): New hook.
5784 (gcn_related_vector_mode): Support multiple vector sizes.
5785 (gcn_expand_dpp_shr_insn): Add FIXME comment.
5786 (gcn_md_reorg): Support multiple vector sizes.
5787 (print_reg): Likewise.
5788 (print_operand): Likewise.
5789 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
5790
5791 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
5792
5793 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
5794 here...
5795 (tree_if_conversion): ... to here. Also call bitfield lowering when
5796 appropriate.
5797 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
5798 need to lower bitfields.
5799 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
5800 checked earlier.
5801 (get_bitfield_rep): New function.
5802 (lower_bitfield): Likewise.
5803 (bitfields_to_lower_p): Likewise.
5804 (need_to_lower_bitfields): New global boolean.
5805 (need_to_ifcvt): Likewise.
5806 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
5807 message.
5808 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
5809 parameter.
5810 (vect_recog_bitfield_ref_pattern): New.
5811 (vect_recog_bit_insert_pattern): New.
5812
5813 2022-10-11 liuhongt <hongtao.liu@intel.com>
5814
5815 PR target/107093
5816 * config/i386/i386.md (*notxor<mode>_1): New post_reload
5817 define_insn_and_split.
5818 (*notxorqi_1): Ditto.
5819
5820 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5821
5822 PR tree-optimization/107195
5823 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
5824 to [0,0] when nonzero mask is 0.
5825
5826 2022-10-11 Olivier Hainque <hainque@adacore.com>
5827 Olivier Hainque <hainque@adacore.com>
5828
5829 * configure: Regenerate.
5830
5831 2022-10-11 Olivier Hainque <hainque@adacore.com>
5832
5833 * config.gcc (*vxworks*): Add t-slibgcc fragment
5834 if enable_shared.
5835
5836 2022-10-11 Olivier Hainque <hainque@adacore.com>
5837
5838 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
5839 internal macros.
5840 (VXWORKS_LIBGCC_SPEC): Use them and document.
5841
5842 2022-10-11 Martin Liska <mliska@suse.cz>
5843
5844 * gimple-range-op.cc: Add override keyword.
5845
5846 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
5847
5848 PR debug/107193
5849 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
5850 out of the loop.
5851
5852 2022-10-11 Liwei Xu <liwei.xu@intel.com>
5853 liuhongt <hongtao.liu@intel.com>
5854
5855 PR tree-optimization/54346
5856 * match.pd: Merge the index of VCST then generates the new vec_perm.
5857
5858 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
5859
5860 PR rtl-optimization/107182
5861 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
5862 return, clear EDGE_CROSSING on the appropriate edge.
5863
5864 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5865
5866 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
5867 from config/riscv/riscv-vector-builtins.h.
5868 (DEF_RVV_TYPE): Change USER_NAME to NAME.
5869 (register_vector_type): Change user_name to name.
5870 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
5871 USER_NAME to NAME.
5872 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
5873 to riscv-vector-builtins.cc.
5874 (DEF_RVV_TYPE): Change USER_NAME to NAME.
5875
5876 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5877
5878 * config/riscv/riscv.md: Add vsetvl instruction type.
5879
5880 2022-10-10 Nathan Sidwell <nathan@acm.org>
5881
5882 * common.opt (-fabi-version=): Document 18.
5883 * doc/invoke.texi (-fabi-version): Document 18.
5884
5885 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
5886
5887 PR other/99723
5888 * toplev.cc (toplev::main): Don't run self tests in case of
5889 previous error.
5890
5891 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
5892
5893 * config/riscv/riscv-c.cc: Add newline to the end of file.
5894
5895 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5896
5897 * range-op-float.cc (class foperator_identity): Make members public.
5898 (class foperator_equal): Same.
5899 (class foperator_not_equal): Same.
5900 (class foperator_lt): Same.
5901 (class foperator_le): Same.
5902 (class foperator_gt): Same.
5903 (class foperator_ge): Same.
5904 (class foperator_unordered): Same.
5905 (class foperator_ordered): Same.
5906
5907 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5908
5909 * value-range.h (frange::maybe_isnan): New.
5910
5911 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5912
5913 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
5914 TRUE side for x != x.
5915
5916 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5917
5918 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
5919 operands are equal and result is TRUE.
5920
5921 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5922
5923 * range.h (range_true): Return int_range<2>.
5924 (range_false): Same.
5925 (range_true_and_false): Same.
5926
5927 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5928
5929 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
5930
5931 2022-10-10 liuhongt <hongtao.liu@intel.com>
5932
5933 PR target/107185
5934 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
5935 predicate of operands[0] and operands[1].
5936
5937 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5938
5939 * common/config/arc/arc-common.cc (arc_option_optimization_table):
5940 Remove Rcq and Rcw options.
5941 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
5942 backwards compatibility.
5943 (mRcw): Likewise.
5944 * doc/invoke.texi (mRcw, mRcq): Update document.
5945
5946 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5947
5948 * config/arc/arc.cc (arc_check_short_reg_p): New function.
5949 (arc_address_cost): Replace satisfies_constraint_Rcq with the
5950 above new function.
5951 (arc_output_addsi): Likewise.
5952 (split_addsi): Likewise.
5953 (split_subsi): Likewise.
5954 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
5955 (movhi_insn): Likewise.
5956 (movsi_insn): Likewise.
5957 (tst_movb): Likewise.
5958 (tst): Likewise.
5959 (tst_bitfield): Likewise.
5960 (abssi2): Likewise.
5961 (addsi3_mixed): Likewise.
5962 (mulhisi3_reg): Likewise.
5963 (umulhisi3_reg): Likewise.
5964 (mulsi_600): Likewise.
5965 (mul64): Likewise.
5966 (subsi3_insn): Likewise.
5967 (bicsi3_insn): Likewise.
5968 (xorsi3): Likewise.
5969 (negsi2): Likewise.
5970 (one_cmplsi2): Likewise.
5971 (lshrsi3_insn): Likewise.
5972 (cmpsi_cc_insn_mixed): Likewise.
5973 (cmpsi_cc_zn_insn): Likewise.
5974 (btst): Likewise.
5975 (cmpsi_cc_z_insn): Likewise.
5976 (cmpsi_cc_c_insn): Likewise.
5977 (indirect_jump): Likewise.
5978 (casesi_jump): Likewise.
5979 (call_i): Likewise.
5980 (call_value_i): Likewise.
5981 (bbit): Likewise.
5982 (abssf2): Likewise.
5983 (ashlsi2_cnt1): Likewise.
5984 (lshrsi3_cnt1): Likewise.
5985 (ashrsi3_cnt1): Likewise.
5986 * config/arc/constraints.md (Rcq): Remove.
5987
5988 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5989
5990 * config/arc/arc.md (smaxsi3): Remove Rcw.
5991 (sminsi3): Likewise.
5992 (addsi3_mixed): Likewise.
5993 (add_f_2): Likewise.
5994 (subsi3_insn): Likewise.
5995 (sub_f): Likewise.
5996 (sub_n): Likewise.
5997 (bset): Likewise.
5998 (bxor): Likewise.
5999 (bclr): Likewise.
6000 (bset_insn): Likewise.
6001 (bxor_insn): Likewise.
6002 (bclr_insn): Likewise.
6003 (bmsk_insn): Likewise.
6004 (bicsi3_insn): Likewise.
6005 (xorsi3): Likewise.
6006 (negsi2): Likewise.
6007 (lshrsi3_insn): Likewise.
6008 (abssf2): Likewise.
6009 (negsf2): Likewise.
6010 * config/arc/constraints.md(Rcw): Remove it.
6011
6012 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
6013
6014 * config/arc/arc.md(mulsi3_700): Remove Rcr.
6015 (mulsi3_highpart): Likewise.
6016 (umulsi3_highpart_i): Likewise.
6017 (umulsi3_highpart_int): Likewise.
6018 (macd): Likewise.
6019 (macdu): Likewise.
6020 * config/arc/constraints.md (Rcr): Remove it.
6021
6022 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
6023
6024 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
6025
6026 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
6027
6028 PR target/106562
6029 * config/pru/pru-protos.h (pru_noteq_condition): New
6030 function declaration.
6031 * config/pru/pru.cc (pru_noteq_condition): New function.
6032 * config/pru/pru.md (cbranchdi4): Define new pattern.
6033
6034 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
6035
6036 * config/pru/pru.md (lshrdi3): New expand pattern.
6037 (ashldi3): Ditto.
6038
6039 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
6040
6041 * config.gcc: set with_arch to default_mips_arch if no defined.
6042 * config/mips/driver-native.cc (host_detect_local_cpu):
6043 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
6044 pass -mnan=2008 if __mips_nan2008__ is defined.
6045 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
6046 * configure.ac: detect sys/auxv.h and getauxval.
6047 * configure: regenerated.
6048
6049 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
6050
6051 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
6052 on the same line within the same basic block.
6053
6054 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
6055
6056 PR tree-optimization/101836
6057 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
6058 to determine a flexible array member reference.
6059
6060 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
6061
6062 * doc/extend.texi: Document strict_flex_array attribute.
6063 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
6064 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
6065 * tree-core.h (struct tree_decl_common): New bit field
6066 decl_not_flexarray.
6067 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
6068 in new bit decl_not_flexarray.
6069 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
6070 out new bit decl_not_flexarray.
6071 * tree.cc (array_at_struct_end_p): Update it with the new bit field
6072 decl_not_flexarray.
6073 * tree.h (DECL_NOT_FLEXARRAY): New flag.
6074
6075 2022-10-07 Olivier Hainque <hainque@adacore.com>
6076
6077 * config/vxworks/_vxworks-versions.h: Use OS specific
6078 paths in #include of version.h.
6079
6080 2022-10-07 Martin Liska <mliska@suse.cz>
6081
6082 * opts.cc (finish_options): Print sorry message only
6083 for -flive-patching=inline-only-static.
6084
6085 2022-10-07 Jason Merrill <jason@redhat.com>
6086
6087 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
6088 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
6089
6090 2022-10-07 Richard Biener <rguenther@suse.de>
6091
6092 PR tree-optimization/107153
6093 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
6094 SSA form here.
6095 * tree-parloops.cc (gen_parallel_loop): Update SSA form
6096 after to-exit-first transform, no PHI insertion is necessary.
6097 (pass_parallelize_loops::execute): Force re-write of the
6098 virtual operand SSA web.
6099
6100 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
6101
6102 * value-range.cc (irange::irange_contains_p): Fix comment typo.
6103
6104 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
6105
6106 * function.cc (thread_prologue_and_epilogue_insns): Update only
6107 entry and exit blocks when not optimizing. Remove dead statement.
6108
6109 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
6110
6111 * value-range.cc (irange::irange_set): Convert nonzero mask to
6112 tree.
6113 (irange::irange_set_anti_range): Same.
6114 (irange::set): Same.
6115 (irange::verify_range): Same.
6116 (irange::contains_p): Same.
6117 (irange::invert): Same.
6118 (irange::set_range_from_nonzero_bits): Same.
6119 (irange::set_nonzero_bits): Same.
6120 (mask_to_wi): Same.
6121 (irange::intersect_nonzero_bits): Same.
6122 (irange::union_nonzero_bits): Same.
6123 * value-range.h (irange::varying_compatible_p): Same.
6124 (gt_ggc_mx): Same.
6125 (gt_pch_nx): Same.
6126 (irange::set_undefined): Same.
6127 (irange::set_varying): Same.
6128
6129 2022-10-07 Martin Liska <mliska@suse.cz>
6130
6131 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
6132 size to function parameter.
6133 (ix86_unary_operator_ok): Likewise.
6134
6135 2022-10-07 Martin Liska <mliska@suse.cz>
6136
6137 * auto-profile.cc (get_inline_stack): Remove unused variable.
6138
6139 2022-10-07 Jakub Jelinek <jakub@redhat.com>
6140
6141 * ipa-prop.h (ipa_constant_data): Fix comment typo.
6142 * value-range.cc (irange::irange_contains_p): Likewise.
6143 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
6144 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
6145 * tree-inline.cc (remap_ssa_name): Likewise.
6146
6147 2022-10-07 Jakub Jelinek <jakub@redhat.com>
6148
6149 * attribs.h (is_attribute_namespace_p): New inline function.
6150 (lookup_attribute): Document meaning of ATTR_NS equal to "".
6151 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
6152 (private_lookup_attribute): For ATTR_NS "" match either standard
6153 attribute or "gnu" namespace one.
6154
6155 2022-10-07 Olivier Hainque <hainque@adacore.com>
6156
6157 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
6158 4 to 3 for VxWorks >= 7.
6159
6160 2022-10-07 Olivier Hainque <hainque@adacore.com>
6161
6162 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
6163 defined already.
6164 * common.opt (gdwarf-): Use it.
6165 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
6166 * doc/tm.texi: Update accordingly.
6167 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
6168 * config/vxworks.cc: Remove code setting dwarf_version, now
6169 handled by the DWARF_DEFAULT_VERSION redefinition.
6170
6171 2022-10-07 Olivier Hainque <hainque@adacore.com>
6172
6173 * ginclude/stddef.h: #undef offsetof before #define.
6174
6175 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6176
6177 PR tree-optimization/107170
6178 * vr-values.cc (vr_values::range_of_expr): Do not die on
6179 unsupported types.
6180
6181 2022-10-06 Joseph Myers <joseph@codesourcery.com>
6182
6183 * doc/invoke.texi (-fno-asm): Update description of effects on
6184 typeof keyword.
6185
6186 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
6187
6188 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
6189 dependency that is a write-after-write if the access function is not
6190 affine or constant.
6191
6192 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
6193
6194 * df-scan.cc (df_ref_create_structure): Minor cleanup.
6195
6196 2022-10-06 Richard Biener <rguenther@suse.de>
6197
6198 PR middle-end/107115
6199 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
6200 eliding a seemingly redundant store.
6201
6202 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6203
6204 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
6205 New pattern.
6206
6207 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
6208
6209 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
6210 Ampere-1 core entry.
6211
6212 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
6213
6214 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
6215
6216 2022-10-06 Richard Biener <rguenther@suse.de>
6217
6218 PR tree-optimization/107107
6219 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
6220 affect value-numbering when doing the tail merging
6221 MODIFY_EXPR lookup.
6222
6223 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
6224
6225 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
6226 common-pave-size.
6227
6228 2022-10-06 Jakub Jelinek <jakub@redhat.com>
6229
6230 PR c++/106654
6231 * internal-fn.def (ASSUME): New internal function.
6232 * internal-fn.h (expand_ASSUME): Declare.
6233 * internal-fn.cc (expand_ASSUME): Define.
6234 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
6235 * fold-const.h (simple_condition_p): Declare.
6236 * fold-const.cc (simple_operand_p_2): Rename to ...
6237 (simple_condition_p): ... this. Remove forward declaration.
6238 No longer static. Adjust function comment and fix a typo in it.
6239 Adjust recursive call.
6240 (simple_operand_p): Adjust function comment.
6241 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
6242 simple_condition_p.
6243 * doc/extend.texi: Document assume attribute. Move fallthrough
6244 attribute example to its section.
6245
6246 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
6247
6248 PR rtl-optimization/107088
6249 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
6250 subvalue relations.
6251
6252 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6253
6254 * value-range.cc (frange::set): Call set_nan unconditionally.
6255 (range_tests_nan): Adjust tests.
6256 (range_tests_signed_zeros): Same.
6257 (range_tests_floats): Same.
6258 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
6259 (frange::set_nan): Set undefined if !HONOR_NANS.
6260
6261 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6262
6263 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
6264 to finite_operands_p.
6265 (foperator_le::fold_range): Same.
6266 (foperator_gt::fold_range): Same.
6267 (foperator_ge::fold_range): Same.
6268
6269 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6270
6271 * value-range-pretty-print.cc (vrange_printer::print_real_value):
6272 Avoid printing INF and NAN twice.
6273
6274 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6275
6276 * config/rs6000/constraints.md (wD): Delete.
6277 * doc/md.texi (Machine Constraints): Adjust.
6278
6279 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6280
6281 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
6282 define_expand. Split the contents to...
6283 (*vsx_extract_<mode>_0): ... this. Rewrite.
6284 (*vsx_extract_<mode>_1): ... and this. Rewrite.
6285
6286 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6287
6288 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
6289 "wD" constraint.
6290
6291 2022-10-05 David Malcolm <dmalcolm@redhat.com>
6292
6293 PR analyzer/107060
6294 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
6295
6296 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
6297
6298 * config.gcc: Add riscv_vector.h.
6299 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
6300 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
6301 (riscv_register_pragmas): Ditto.
6302 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
6303 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
6304 (mangle_builtin_type): Ditto.
6305 (verify_type_context): Ditto.
6306 (handle_pragma_vector): New function.
6307 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
6308 (register_vector_type): New function.
6309 (init_builtins): Add RVV builtin types support.
6310 (handle_pragma_vector): New function.
6311 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
6312 name according to file name.
6313 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
6314 (init_builtins): Remove declaration in riscv-vector-builtins.h.
6315 (mangle_builtin_type): Ditto.
6316 (verify_type_context): Ditto.
6317 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
6318 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
6319 * config/riscv/t-riscv: Remove redundant file including.
6320 * config/riscv/riscv_vector.h: New file.
6321
6322 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6323
6324 * range-op.cc (operator_cast::fold_range): Handle truncating casts
6325 for nonzero masks.
6326
6327 2022-10-05 Martin Liska <mliska@suse.cz>
6328
6329 PR c/107156
6330 * attribs.h (lookup_attribute_by_prefix): Support the attribute
6331 starting with underscore (_Noreturn).
6332
6333 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6334
6335 PR tree-optimization/107052
6336 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
6337 nonzero bit mask.
6338
6339 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6340
6341 PR tree-optimization/107052
6342 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
6343
6344 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
6345
6346 PR tree-optimization/106698
6347 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
6348
6349 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
6350
6351 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
6352 Remove __riscv_cmodel_pic, that deprecated in last version.
6353
6354 2022-10-05 David Malcolm <dmalcolm@redhat.com>
6355
6356 PR analyzer/107072
6357 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
6358
6359 2022-10-04 Jakub Jelinek <jakub@redhat.com>
6360
6361 * attribs.h (remove_attribute): Declare overload with additional
6362 attr_ns argument.
6363 (private_lookup_attribute): Declare overload with additional
6364 attr_ns and attr_ns_len arguments.
6365 (lookup_attribute): New overload with additional attr_ns argument.
6366 * attribs.cc (remove_attribute): New overload with additional
6367 attr_ns argument.
6368 (private_lookup_attribute): New overload with additional
6369 attr_ns and attr_ns_len arguments.
6370
6371 2022-10-04 Jakub Jelinek <jakub@redhat.com>
6372
6373 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
6374 common_function_versions): Use auto_diagnostic_group.
6375
6376 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6377
6378 * value-range.cc (irange::set_nonzero_bits): Remove assert.
6379
6380 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
6381
6382 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
6383 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
6384 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
6385 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
6386 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
6387 __ARM_FEATURE_RCPC when appropriate.
6388
6389 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
6390
6391 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
6392 (-fopenmp-simd): Likewise; update permitted directives.
6393
6394 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
6395
6396 * doc/install.texi (Specific): Add missing items to bullet list.
6397 (amdgcn): Update LLVM requirements, use version not date for newlib.
6398 (nvptx): Use version not git hash for newlib.
6399
6400 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6401
6402 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
6403 special case.
6404 * value-range.cc (irange::irange_set): Adjust for nonzero mask
6405 being a wide int.
6406 (irange::irange_set_anti_range): Same.
6407 (irange::set): Same.
6408 (irange::verify_range): Same.
6409 (irange::legacy_equal_p): Same.
6410 (irange::operator==): Same.
6411 (irange::contains_p): Same.
6412 (irange::legacy_intersect): Same.
6413 (irange::legacy_union): Same.
6414 (irange::irange_single_pair_union): Call union_nonzero_bits.
6415 (irange::irange_union): Same.
6416 (irange::irange_intersect): Call intersect_nonzero_bits.
6417 (irange::intersect): Adjust for nonzero mask being a wide int.
6418 (irange::invert): Same.
6419 (irange::set_nonzero_bits): Same.
6420 (irange::get_nonzero_bits_from_range): New.
6421 (irange::set_range_from_nonzero_bits): New.
6422 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
6423 int.
6424 (irange::intersect_nonzero_bits): Same.
6425 (irange::union_nonzero_bits): Same.
6426 (range_tests_nonzero_bits): Remove test.
6427 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
6428 mask being a wide int.
6429 (gt_ggc_mx): Same.
6430 (gt_pch_nx): Same.
6431 (irange::set_undefined): Same.
6432 (irange::set_varying): Same.
6433 (irange::normalize_kind): Same.
6434
6435 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6436
6437 PR tree-optimization/107130
6438 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
6439 (class cfn_ffs): New.
6440 (gimple_range_op_handler::maybe_builtin_call): Separate out
6441 CASE_CFN_FFS into its own case.
6442
6443 2022-10-03 Sergei Trofimovich <siarheit@google.com>
6444
6445 * config/i386/t-i386: Add build-time dependencies against
6446 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
6447 i386-features.o.
6448
6449 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
6450
6451 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
6452 operand 3.
6453 * doc/md.texi (while_ult): Document new operand 3 usage.
6454 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
6455 maps to a non-vector mode.
6456
6457 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
6458
6459 PR tree-optimization/107109
6460 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
6461
6462 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
6463
6464 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
6465 clobber.
6466 (mve_vrev64q_m_f<mode>): Likewise.
6467
6468 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6469
6470 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
6471 (range_tests_nonzero_bits): New test.
6472
6473 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6474
6475 * value-range.cc (irange::operator==): Early bail on m_num_ranges
6476 equal to 0.
6477
6478 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6479
6480 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
6481 check when comparing VR_VARYING ranges.
6482
6483 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6484
6485 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
6486 incompatible ranges in ipa-prop.
6487
6488 2022-10-02 Jakub Jelinek <jakub@redhat.com>
6489
6490 PR tree-optimization/107121
6491 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
6492 DEFFERED_INIT -> DEFERRED_INIT.
6493
6494 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
6495
6496 * config/vxworks-driver.cc: New.
6497 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
6498 * config/t-vxworks: Add vxworks-driver.o.
6499 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
6500
6501 2022-10-02 Olivier Hainque <hainque@adacore.com>
6502
6503 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
6504 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
6505 of ENABLE_SHARED_LIBGCC.
6506
6507 2022-10-01 Stafford Horne <shorne@gmail.com>
6508
6509 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
6510 HAVE_AS_TLS is defined.
6511
6512 2022-10-01 Julian Brown <julian@codesourcery.com>
6513
6514 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
6515 handling.
6516
6517 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
6518
6519 * config/h8300/h8300.md (HSI2): New iterator.
6520 (eqne_invert): Similarly.
6521 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
6522 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
6523 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
6524 define_insn_and_splits and/or define_insns.
6525 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
6526 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
6527
6528 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
6529
6530 * tree-ssa-dom.cc (record_edge_info): Install correct version of
6531 patch.
6532
6533 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
6534
6535 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
6536
6537 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
6538
6539 * tree-ssa-dom.cc (single_block_loop_p): New function.
6540 (record_edge_info): Also record equivalences for the outgoing
6541 edge of a single block loop where the condition is an invariant.
6542
6543 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
6544
6545 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
6546 (free_all_edge_infos): Do not clear e->aux here.
6547
6548 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
6549
6550 * target.def (TARGET_C_EXCESS_PRECISION): Document
6551 -fexcess-precision=16.
6552
6553 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
6554
6555 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
6556
6557 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
6558
6559 PR target/106815
6560 * config/riscv/riscv.cc (riscv_excess_precision): Add support
6561 for EXCESS_PRECISION_TYPE_FLOAT16.
6562
6563 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6564
6565 PR c++/107080
6566 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
6567 and _Float16 as DF16_.
6568 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
6569 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
6570 rather than mangling __fp16 as __fp16.
6571
6572 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
6573
6574 PR preprocessor/69543
6575 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
6576 information away from the diagnostic location.
6577 (maybe_warn_read_write_only): Likewise.
6578 (maybe_warn_operand): Likewise.
6579
6580 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6581
6582 PR c++/107080
6583 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
6584 as Dh and _Float16 as DF16_.
6585
6586 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6587
6588 PR c++/107080
6589 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
6590 for float128_type_node or float64x_type_node, don't check
6591 float128t_type_node later on.
6592 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
6593 for float128_type_node or float64x_type_node.
6594 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
6595 Don't check float128_type_node later on.
6596 * config/s390/s390.cc (s390_mangle_type): Don't use
6597 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
6598 a few lines earlier.
6599
6600 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
6601 Yvan ROUX <yvan.roux@foss.st.com>
6602
6603 * doc/sourcebuild.texi: Document new vma_equals_lma effective
6604 target check.
6605
6606 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
6607
6608 * config/riscv/riscv.cc (riscv_file_start): New .option.
6609 * config/riscv/riscv.opt: New options.
6610 * doc/invoke.texi: New definations.
6611
6612 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
6613
6614 PR target/99888
6615 PR target/105649
6616 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
6617 documentation for PowerPC ELFv2 ABI dual entry points.
6618 * config/rs6000/rs6000-internal.h
6619 (rs6000_print_patchable_function_entry): New function declaration.
6620 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
6621 Support patchable-function-entry by emitting nops before and after
6622 local entry for the function that needs global entry.
6623 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
6624 the function that needs global entry till global entry has been
6625 emitted.
6626 * config/rs6000/rs6000.h (struct machine_function): New bool member
6627 global_entry_emitted.
6628
6629 2022-09-30 Richard Biener <rguenther@suse.de>
6630
6631 PR tree-optimization/107095
6632 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
6633 for .MASK_STORE size.
6634
6635 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6636
6637 * range-op.cc (plus_minus_ranges): New.
6638 (adjust_op1_for_overflow): New.
6639 (operator_plus::op1_range): Use new adjustment.
6640 (operator_plus::op2_range): Ditto.
6641 (operator_minus::op1_range): Ditto.
6642 * value-relation.h (relation_lt_le_gt_ge_p): New.
6643
6644 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6645
6646 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
6647 (gori_compute::compute_operand1_range): Invoke
6648 refine_using_relation when applicable.
6649 (gori_compute::compute_operand2_range): Ditto.
6650 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
6651
6652 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6653
6654 * gimple-range-gori.cc (ori_compute::compute_operand_range):
6655 Create a relation record and pass it along when possible.
6656 (gori_compute::compute_operand1_range): Pass relation along.
6657 (gori_compute::compute_operand2_range): Ditto.
6658 (gori_compute::compute_operand1_and_operand2_range): Ditto.
6659 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
6660 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
6661 relation to op1_range call.
6662 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
6663 * gimple-range-op.h (class gimple_range_op_handler): Adjust
6664 prototypes.
6665
6666 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6667
6668 * value-relation.cc (class value_relation): Move to .h file.
6669 (value_relation::set_relation): Ditto.
6670 (value_relation::value_relation): ditto.
6671 * value-relation.h (class value_relation): Move from .cc file.
6672 (value_relation::set_relation): Ditto
6673 (value_relation::value_relation): Ditto.
6674
6675 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6676
6677 * range-op.cc (operator_minus::op2_range): Check for undefined.
6678 (operator_mult::op1_range): Ditto.
6679 (operator_exact_divide::op1_range): Ditto.
6680 (operator_lshift::op1_range): Ditto.
6681 (operator_rshift::op1_range): Ditto.
6682 (operator_cast::op1_range): Ditto.
6683 (operator_bitwise_and::op1_range): Ditto.
6684 (operator_bitwise_or::op1_range): Ditto.
6685 (operator_trunc_mod::op1_range): Ditto.
6686 (operator_trunc_mod::op2_range): Ditto.
6687 (operator_bitwise_not::op1_range): Ditto.
6688 (pointer_or_operator::op1_range): Ditto.
6689 (range_op_handler::op1_range): Ditto.
6690 (range_op_handler::op2_range): Ditto.
6691
6692 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
6693
6694 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
6695 Remove unused elt_bits variable.
6696
6697 2022-09-29 Olivier Hainque <hainque@adacore.com>
6698
6699 * config/vxworks.h: Add comment on our use of
6700 HAVE_INITFINI_ARRAY_SUPPORT.
6701
6702 2022-09-29 Olivier Hainque <hainque@adacore.com>
6703
6704 * config/aarch64/t-aarch64-vxworks: Request multilib
6705 variants for mcmodel=large.
6706
6707 2022-09-29 Olivier Hainque <hainque@adacore.com>
6708
6709 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
6710 resetting to 0.
6711
6712 2022-09-29 Olivier Hainque <hainque@adacore.com>
6713
6714 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
6715 when ARM_UNWIND_INFO is set.
6716
6717 2022-09-29 Julian Brown <julian@codesourcery.com>
6718
6719 PR middle-end/107028
6720 * gimplify.cc (omp_check_mapping_compatibility,
6721 oacc_resolve_clause_dependencies): New functions.
6722 (omp_accumulate_sibling_list): Remove redundant duplicate clause
6723 detection for OpenACC.
6724 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
6725 list for struct variables that are fully mapped on the same directive
6726 for OpenACC.
6727 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
6728
6729 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
6730
6731 PR middle-end/25521
6732 * varasm.cc (categorize_decl_for_section): Place `const volatile'
6733 objects in read-only sections.
6734 (default_select_section): Likewise.
6735
6736 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6737
6738 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
6739 of to_widest.
6740
6741 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6742
6743 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
6744 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
6745 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
6746 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
6747 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
6748 on TARGET_SVE.
6749 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
6750 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
6751 (TARGET_F32MM, TARGET_F64MM): Delete.
6752 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
6753 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
6754 || TARGET_SIMD.
6755 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
6756 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
6757 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
6758 rather than TARGET_SIMD && TARGET_AES.
6759 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
6760 (*aarch64_crypto_aese_fused): Likewise.
6761 (*aarch64_crypto_aesd_fused): Likewise.
6762 (aarch64_crypto_pmulldi): Likewise.
6763 (aarch64_crypto_pmullv2di): Likewise.
6764 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
6765 (aarch64_crypto_sha1hv4si): Likewise.
6766 (aarch64_be_crypto_sha1hv4si): Likewise.
6767 (aarch64_crypto_sha1su1v4si): Likewise.
6768 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
6769 (aarch64_crypto_sha1su0v4si): Likewise.
6770 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
6771 (aarch64_crypto_sha256su0v4si): Likewise.
6772 (aarch64_crypto_sha256su1v4si): Likewise.
6773 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
6774 (aarch64_crypto_sha512su0qv2di): Likewise.
6775 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
6776 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
6777 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
6778 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
6779 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
6780 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
6781 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
6782 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
6783 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
6784
6785 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6786
6787 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
6788 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
6789 (aarch64_isa_flags): Redefine as read-only macros.
6790 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
6791 !TARGET_GENERAL_REGS_ONLY.
6792 * common/config/aarch64/aarch64-common.cc
6793 (aarch64_set_asm_isa_flags): New function.
6794 (aarch64_handle_option): Call it when updating -mgeneral-regs.
6795 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
6796 m_old_isa_flags with m_old_asm_isa_flags.
6797 (aarch64_set_asm_isa_flags): Declare.
6798 * config/aarch64/aarch64-builtins.cc
6799 (aarch64_simd_switcher::aarch64_simd_switcher)
6800 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
6801 aarch64_asm_isa_flags instead of aarch64_isa_flags.
6802 * config/aarch64/aarch64-sve-builtins.cc
6803 (check_required_extensions): Use aarch64_asm_isa_flags instead
6804 of aarch64_isa_flags.
6805 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
6806 (aarch64_override_options, aarch64_handle_attr_arch)
6807 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
6808 aarch64_set_asm_isa_flags to set the ISA flags.
6809 (aarch64_option_print, aarch64_declare_function_name)
6810 (aarch64_start_file): Use aarch64_asm_isa_flags instead
6811 of aarch64_isa_flags.
6812 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
6813 aarch64_isa_flags.
6814
6815 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6816
6817 * common/config/aarch64/aarch64-common.cc (all_extensions):
6818 Include the feature flag in flags_on and flags_off.
6819 (aarch64_parse_extension): Update accordingly.
6820 (aarch64_get_extension_string_for_isa_flags): Likewise.
6821
6822 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6823
6824 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
6825 for feature flags throughout.
6826 * config/aarch64/aarch64-protos.h: Likewise.
6827 * config/aarch64/aarch64-sve-builtins.h: Likewise.
6828 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
6829 * config/aarch64/aarch64.cc: Likewise.
6830 * config/aarch64/aarch64.opt: Likewise.
6831 * config/aarch64/driver-aarch64.cc: Likewise.
6832
6833 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6834
6835 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
6836 (processor_name_to_arch, arch_to_arch_name): Remove const from
6837 member variables.
6838 (all_extensions, all_cores, all_architectures): Make a constexpr.
6839 * config/aarch64/aarch64.cc (processor): Remove const from
6840 member variables.
6841 (all_architectures): Make a constexpr.
6842 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
6843 (aarch64_arch_driver_info): Remove const from member variables.
6844 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
6845 (get_arch_from_id): Return a pointer to const.
6846 (host_detect_local_cpu): Update accordingly.
6847
6848 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6849
6850 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
6851 (arch_to_arch_name): Use const char * instead of std::string.
6852
6853 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6854
6855 * common/config/aarch64/aarch64-common.cc
6856 (TARGET_OPTION_INIT_STRUCT): Delete.
6857 (aarch64_option_extension): Remove is_synthetic_flag.
6858 (all_extensions): Update accordingly.
6859 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
6860 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
6861 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
6862 all_extensions instead of all_extensions_on.
6863
6864 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6865
6866 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
6867 * config/aarch64/aarch64-cores.def: Use the same format to specify
6868 lists of features.
6869 * config/aarch64/aarch64-arches.def: Likewise, moving that information
6870 from aarch64.h.
6871 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
6872 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
6873 Turn AARCH64_FL_* macros into constexprs, getting the definitions
6874 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
6875 * common/config/aarch64/aarch64-common.cc: Include
6876 aarch64-feature-deps.h.
6877 (all_extensions): Update for new .def format.
6878 (all_extensions_by_on, all_cores, all_architectures): Likewise.
6879 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
6880 (aarch64_extensions): Update for new .def format.
6881 (aarch64_cpu_data, aarch64_arches): Likewise.
6882 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
6883 (all_architectures, all_cores): Update for new .def format.
6884 * config/aarch64/aarch64-sve-builtins.cc
6885 (check_required_extensions): Likewise.
6886 * config/aarch64/aarch64-feature-deps.h: New file.
6887
6888 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6889
6890 * config/aarch64/aarch64-option-extensions.def: Move crypto
6891 after sha2.
6892
6893 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6894
6895 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
6896 on fp as well as simd.
6897 (sha3): Likewise.
6898 (aes): Likewise. Make +noaes disable crypto.
6899 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
6900 sve2-sha3.
6901 (sve2-sha3): Depend on sha2 as well as sha3.
6902
6903 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6904
6905 PR target/107025
6906 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
6907 (AARCH64_FL_FOR_V8_4A): Update accordingly.
6908 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
6909 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
6910 AARCH64_FL_RCPC8_4.
6911
6912 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6913
6914 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
6915 from the flags field.
6916 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
6917 here instead.
6918 * config/aarch64/aarch64.cc (all_cores): Likewise.
6919 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
6920
6921 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6922
6923 * config.gcc: Remove dead aarch64-option-extensions.def code.
6924 * config/aarch64/aarch64-arches.def: Update comment.
6925
6926 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6927
6928 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
6929 ARCH_IDENT fields.
6930 * config/aarch64/aarch64-cores.def: Update accordingly.
6931 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
6932 * config/aarch64/aarch64.cc (all_cores): Likewise.
6933 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
6934 leading "V".
6935
6936 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6937
6938 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
6939 (AARCH64_FL_FOR_V8A): ...this.
6940 (AARCH64_FL_FOR_ARCH8_1): Rename to...
6941 (AARCH64_FL_FOR_V8_1A): ...this.
6942 (AARCH64_FL_FOR_ARCH8_2): Rename to...
6943 (AARCH64_FL_FOR_V8_2A): ...this.
6944 (AARCH64_FL_FOR_ARCH8_3): Rename to...
6945 (AARCH64_FL_FOR_V8_3A): ...this.
6946 (AARCH64_FL_FOR_ARCH8_4): Rename to...
6947 (AARCH64_FL_FOR_V8_4A): ...this.
6948 (AARCH64_FL_FOR_ARCH8_5): Rename to...
6949 (AARCH64_FL_FOR_V8_5A): ...this.
6950 (AARCH64_FL_FOR_ARCH8_6): Rename to...
6951 (AARCH64_FL_FOR_V8_6A): ...this.
6952 (AARCH64_FL_FOR_ARCH8_7): Rename to...
6953 (AARCH64_FL_FOR_V8_7A): ...this.
6954 (AARCH64_FL_FOR_ARCH8_8): Rename to...
6955 (AARCH64_FL_FOR_V8_8A): ...this.
6956 (AARCH64_FL_FOR_ARCH8_R): Rename to...
6957 (AARCH64_FL_FOR_V8R): ...this.
6958 (AARCH64_FL_FOR_ARCH9): Rename to...
6959 (AARCH64_FL_FOR_V9A): ...this.
6960 (AARCH64_FL_FOR_ARCH9_1): Rename to...
6961 (AARCH64_FL_FOR_V9_1A): ...this.
6962 (AARCH64_FL_FOR_ARCH9_2): Rename to...
6963 (AARCH64_FL_FOR_V9_2A): ...this.
6964 (AARCH64_FL_FOR_ARCH9_3): Rename to...
6965 (AARCH64_FL_FOR_V9_3A): ...this.
6966 * common/config/aarch64/aarch64-common.cc (all_cores): Update
6967 accordingly.
6968 * config/aarch64/aarch64-arches.def: Likewise.
6969 * config/aarch64/aarch64-cores.def: Likewise.
6970 * config/aarch64/aarch64.cc (all_cores): Likewise.
6971
6972 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6973
6974 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
6975 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
6976 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
6977 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
6978 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
6979 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
6980 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
6981 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
6982 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
6983 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
6984 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
6985 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
6986 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
6987 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
6988 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
6989
6990 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6991
6992 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
6993 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
6994 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
6995 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
6996 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
6997 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
6998 accordingly.
6999 * common/config/aarch64/aarch64-common.cc
7000 (aarch64_get_extension_string_for_isa_flags): Likewise.
7001 * config/aarch64/aarch64-c.cc
7002 (aarch64_define_unconditional_macros): Likewise.
7003
7004 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
7005
7006 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
7007
7008 2022-09-29 Jakub Jelinek <jakub@redhat.com>
7009
7010 PR bootstrap/107059
7011 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
7012 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
7013 before FIXED_INCLUDE_DIR entry with multilib flag 0.
7014 * gcc.cc (do_spec_1): If multiarch_dir, add
7015 include-fixed/multiarch_dir paths before include-fixed paths.
7016
7017 2022-09-29 Martin Liska <mliska@suse.cz>
7018
7019 PR driver/106897
7020 * common.opt: Add -gz=zstd value.
7021 * configure.ac: Detect --compress-debug-sections=zstd
7022 for both linker and assembler.
7023 * configure: Regenerate.
7024 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
7025 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
7026
7027 2022-09-29 Richard Biener <rguenther@suse.de>
7028
7029 PR tree-optimization/105646
7030 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
7031 the set of fallthru reachable blocks from function entry
7032 and use that to determine wlims.always_executed.
7033
7034 2022-09-29 liuhongt <hongtao.liu@intel.com>
7035
7036 PR tree-optimization/107055
7037 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
7038 nonlinear induction variables.
7039 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
7040 functions.
7041 (vectorizable_nonlinear_induction): Put part codes into
7042 vect_can_peel_nonlinear_iv_p.
7043 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
7044
7045 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
7046
7047 * basic-block.h: Remove discriminator from basic blocks.
7048 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
7049 * final.cc (final_start_function_1): Switch from per-bb to per statement
7050 discriminator.
7051 (final_scan_insn_1): Don't keep track of basic block discriminators.
7052 (compute_discriminator): Switch from basic block discriminators to
7053 instruction discriminators.
7054 (insn_discriminator): New function to return instruction discriminator.
7055 (notice_source_line): Use insn_discriminator.
7056 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
7057 basic block discriminators.
7058 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
7059 discriminators.
7060 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
7061 discriminators.
7062 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
7063 (location_with_discriminator): New function to combine locus with
7064 a discriminator.
7065 (has_discriminator): New function to check if a location has a discriminator.
7066 (get_discriminator_from_loc): New function to get the discriminator
7067 from a location.
7068 * input.h: Declarations of new functions.
7069 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
7070 (apply_location_cache): Keep track of current discriminator.
7071 (input_location_and_block): Read discriminator from stream.
7072 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
7073 UINT_MAX.
7074 (lto_output_location_1): Write discriminator to stream.
7075 * lto-streamer.h: Add discriminator to cached_location.
7076 Add current_discr to lto_location_cache.
7077 Add current_discr to output_block.
7078 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
7079 * rtl.h: Add extern declaration of insn_discriminator.
7080 * tree-cfg.cc (assign_discriminator): New function to assign a unique
7081 discriminator value to all statements in a basic block that have the given
7082 line number.
7083 (assign_discriminators): Assign discriminators to statement locations.
7084 * tree-pretty-print.cc (dump_location): Dump discriminators.
7085 * tree.cc (set_block): Preserve discriminator when setting block.
7086 (set_source_range): Preserve discriminator when setting source range.
7087
7088 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
7089
7090 PR target/107061
7091 * config/i386/predicates.md (encodekey128_operation): Check
7092 XMM4-XMM6 as clobbered.
7093 (encodekey256_operation): Likewise.
7094 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
7095 (encodekey256u32): Likewise.
7096
7097 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7098
7099 * config.gcc: Add riscv-vector-builtins.o.
7100 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
7101 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
7102 * config/riscv/riscv.cc (ENTRY): New macro.
7103 (riscv_v_ext_enabled_vector_mode_p): New function.
7104 (riscv_mangle_type): Add RVV mangle.
7105 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
7106 (riscv_verify_type_context): Add context check for RVV.
7107 (riscv_vector_alignment): Add RVV alignment target hook support.
7108 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
7109 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
7110 (TARGET_VECTOR_ALIGNMENT): Ditto.
7111 * config/riscv/t-riscv: Add riscv-vector-builtins.o
7112 * config/riscv/riscv-vector-builtins.cc: New file.
7113 * config/riscv/riscv-vector-builtins.def: New file.
7114 * config/riscv/riscv-vector-builtins.h: New file.
7115 * config/riscv/riscv-vector-switch.def: New file.
7116
7117 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
7118
7119 * var-tracking.cc (vt_add_function_parameter): Add entry values
7120 up to maximal register mode.
7121
7122 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
7123
7124 * cselib.cc (new_cselib_val): Keep track of further subvalue
7125 relations.
7126
7127 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
7128
7129 * config/arm/arm-c.cc (arm_cpu_builtins): Define
7130 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
7131
7132 2022-09-28 Xi Ruoyao <xry111@xry111.site>
7133
7134 PR tree-optimization/105414
7135 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
7136 (UNSPEC_FMIN): Likewise.
7137 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
7138 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
7139
7140 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
7141
7142 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
7143 Fixed typo in "asan_mapping.h".
7144
7145 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
7146
7147 PR middle-end/58245
7148 * calls.cc: Include "tree-eh.h".
7149 (expand_call): Check stack canary before throwing exception.
7150
7151 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
7152
7153 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
7154
7155 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
7156
7157 * doc/invoke.texi: Update ABI version info.
7158
7159 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7160
7161 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
7162 singleton.
7163
7164 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7165
7166 * value-range.cc (irange::set_nonzero_bits): Set range when known.
7167
7168 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7169
7170 * value-range.h (irange::set): New version taking wide_int_ref.
7171
7172 2022-09-27 Jakub Jelinek <jakub@redhat.com>
7173
7174 PR tree-optimization/107029
7175 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
7176 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
7177 signed and so can trigger even the (b % 4) == 3 case.
7178
7179 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
7180
7181 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
7182 and return are available before trying to use them.
7183
7184 2022-09-27 Jakub Jelinek <jakub@redhat.com>
7185
7186 PR c++/106652
7187 PR c++/85518
7188 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
7189 enumerator.
7190 * tree.h (float128t_type_node): Define.
7191 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
7192 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
7193 _Float<N> is supported in C++ too.
7194 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
7195 float128t_type_node.
7196 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
7197 float128t_type_node for __float128 instead of float128_type_node
7198 and create it if NULL.
7199 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
7200 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
7201 0.0f.
7202 * config/ia64/ia64.cc (ia64_init_builtins): Use
7203 float128t_type_node for __float128 instead of float128_type_node
7204 and create it if NULL.
7205 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
7206 for float128t_type_node if non-NULL.
7207 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
7208 float128_type_node as "u9__ieee128".
7209 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
7210 float128t_type_node for __float128 instead of float128_type_node
7211 and create it if NULL.
7212
7213 2022-09-26 Martin Liska <mliska@suse.cz>
7214
7215 * doc/invoke.texi: Add missing dash for
7216 Wanalyzer-exposure-through-uninit-copy.
7217
7218 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
7219
7220 PR tree-optimization/107009
7221 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
7222 (range_op_bitwise_and_tests): New test.
7223
7224 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
7225
7226 PR tree-optimization/107009
7227 * tree-ssa-dom.cc
7228 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
7229 Iterate over exports.
7230
7231 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7232
7233 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
7234 the default.
7235 * config/nvptx/gen-multilib-matches.sh: New.
7236 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
7237 (MULTILIB_EXCEPTIONS): Handle this.
7238 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
7239 * doc/invoke.texi (Nvidia PTX Options): Likewise.
7240
7241 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7242
7243 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
7244 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
7245 (MULTILIB_EXCEPTIONS): Handle it.
7246
7247 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7248
7249 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
7250 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
7251 '-misa' appeared.
7252 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
7253 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
7254
7255 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7256
7257 * config/nvptx/nvptx.h (ASM_SPEC): Define.
7258
7259 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
7260
7261 * cfgcleanup.cc (bb_is_just_return): No longer static.
7262 * cfgcleanup.h (bb_is_just_return): Add prototype.
7263 * cfgrtl.cc (fixup_reorder_chain): Do not create an
7264 unconditional jump to a return block. Conditionally
7265 remove unreachable blocks.
7266
7267 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
7268
7269 PR middle-end/106982
7270 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
7271
7272 2022-09-26 Martin Liska <mliska@suse.cz>
7273
7274 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
7275 and use only dst.
7276
7277 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7278
7279 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
7280 (armv9.2-a): Likewise.
7281 (armv9.3-a): Likewise.
7282 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
7283 (AARCH64_FL_V9_2): Likewise.
7284 (AARCH64_FL_V9_3): Likewise.
7285 (AARCH64_FL_FOR_ARCH9_1): Likewise.
7286 (AARCH64_FL_FOR_ARCH9_2): Likewise.
7287 (AARCH64_FL_FOR_ARCH9_3): Likewise.
7288 (AARCH64_ISA_V9_1): Likewise.
7289 (AARCH64_ISA_V9_2): Likewise.
7290 (AARCH64_ISA_V9_3): Likewise.
7291 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
7292 armv9.3-a values to -march.
7293
7294 2022-09-26 Martin Liska <mliska@suse.cz>
7295
7296 * value-range.cc (tree_compare): Remove unused function.
7297
7298 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
7299
7300 PR target/96072
7301 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
7302 condition for adding REG_CFA_DEF_CFA reg note with
7303 frame_pointer_needed_indeed.
7304
7305 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
7306
7307 PR target/100645
7308 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
7309 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
7310
7311 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
7312 Liwei Xu <liwei.xu@intel.com>
7313
7314 PR target/53346
7315 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
7316 New function.
7317 (ix86_expand_vec_perm_const_1): Insert
7318 expand_vec_perm_shufps_shufps at the end of 2-instruction
7319 expand sequence.
7320
7321 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7322
7323 * doc/sourcebuild.texi: Fix chapter level.
7324
7325 2022-09-24 Jakub Jelinek <jakub@redhat.com>
7326
7327 PR c/107001
7328 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
7329 at the end.
7330 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
7331 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
7332 update parent.
7333 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
7334 cur_region back after new_omp_region.
7335
7336 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
7337
7338 * config/riscv/riscv.h (LOCAL_SYM_P): New.
7339 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
7340
7341 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
7342
7343 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
7344 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
7345 (ADJUST_ALIGNMENT): Adjust alignment.
7346 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
7347 (RVV_MODES): New macro.
7348 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
7349 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
7350
7351 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
7352
7353 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
7354 * config.gcc: Add riscv-selftests.o
7355 * config/riscv/predicates.md: Allow const_poly_int.
7356 * config/riscv/riscv-protos.h (riscv_reinit): New function.
7357 (riscv_parse_arch_string): change as exten function.
7358 (riscv_run_selftests): New function.
7359 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
7360 into const pool.
7361 (riscv_report_v_required): New function.
7362 (riscv_expand_op): New function.
7363 (riscv_expand_mult_with_const_int): New function.
7364 (riscv_legitimize_poly_move): Ditto.
7365 (riscv_legitimize_move): New function.
7366 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
7367 vector RA.
7368 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
7369 -marh no 'v'.
7370 (riscv_reinit): New function.
7371 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
7372 * config/riscv/t-riscv: Add riscv-selftests.o.
7373 * config/riscv/riscv-selftests.cc: New file.
7374
7375 2022-09-23 Richard Biener <rguenther@suse.de>
7376
7377 PR tree-optimization/106922
7378 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
7379 an arbitrary number of same valued skipped stores.
7380
7381 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7382
7383 * value-range.cc (frange::set): Swap setters such that the one
7384 accepting REAL_VALUE_TYPE does all the work.
7385
7386 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7387
7388 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
7389 (demeter): Update tunings to neoversev2.
7390 * config/aarch64/aarch64-tune.md: Regenerate.
7391 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
7392 neoversev2_addrcost_table.
7393 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
7394 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
7395 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
7396 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
7397 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
7398 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
7399 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
7400 Update references to above.
7401 (demeter_vector_cost): Rename to neoversev2_vector_cost.
7402 (demeter_tunings): Rename to neoversev2_tunings.
7403 (aarch64_vec_op_count::rename_cycles_per_iter): Use
7404 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
7405 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
7406
7407 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7408
7409 * range-op-float.cc (build_le): Use vrp_val_*.
7410 (build_lt): Same.
7411 (build_ge): Same.
7412 (build_gt): Same.
7413 * value-range.cc (frange::set): Chop ranges outside of the
7414 representable numbers for -ffinite-math-only.
7415 (frange::normalize_kind): Use vrp_val*.
7416 (frange::verify_range): Same.
7417 (frange::set_nonnegative): Same.
7418 (range_tests_floats): Remove tests that depend on -INF and +INF.
7419 * value-range.h (real_max_representable): Add prototype.
7420 (real_min_representable): Same.
7421 (vrp_val_max): Set max representable number for
7422 -ffinite-math-only.
7423 (vrp_val_min): Same but for min.
7424 (frange::set_varying): Use vrp_val*.
7425
7426 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7427
7428 * real.cc (debug): New.
7429
7430 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7431
7432 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
7433 (vrange_printer::visit): Call print_real_value.
7434 * value-range-pretty-print.h: New print_real_value.
7435
7436 2022-09-23 Martin Liska <mliska@suse.cz>
7437
7438 * common.opt: Update -flto-compression-level documentation.
7439 * opts.cc (print_filtered_help): Do not append range to an
7440 option that uses \t syntax.
7441
7442 2022-09-23 Jakub Jelinek <jakub@redhat.com>
7443
7444 * attribs.cc (decl_attributes): Improve diagnostics, instead of
7445 saying expected between 1 and 1, found 2 just say expected 1, found 2.
7446
7447 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
7448
7449 PR target/94962
7450 * config/i386/constraints.md (BH): New define_constraint.
7451 * config/i386/i386.cc (standard_sse_constant_p): Add return
7452 3/4 when operand matches new predicate.
7453 (standard_sse_constant_opcode): Add new alternative branch to
7454 return "vpcmpeqd".
7455 * config/i386/predicates.md
7456 (vector_all_ones_zero_extend_half_operand): New define_predicate.
7457 (vector_all_ones_zero_extend_quarter_operand): Ditto.
7458 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
7459
7460 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7461
7462 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
7463 (range_of_call): Do not check for builtins.
7464 (fold_using_range::range_of_builtin_call): Delete.
7465 (fold_using_range::range_of_builtin_int_call): Delete.
7466 * gimple-range-fold.h: Adjust prototypes.
7467 * gimple-range-op.cc (class cfn_parity): New.
7468 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7469
7470 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7471
7472 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7473 for CFN_GOACC_DIM_*.
7474 * gimple-range-op.cc (class cfn_goacc_dim): New.
7475 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7476
7477 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7478
7479 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7480 for CFN_BUILT_IN_STRLEN.
7481 * gimple-range-op.cc (class cfn_strlen): New.
7482 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7483
7484 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7485
7486 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
7487 (range_of_builtin_int_call): Remove cases for
7488 CFN_BUILT_IN_UBSAN_CHECK.
7489 * gimple-range-op.cc (class cfn_ubsan): New.
7490 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7491
7492 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7493
7494 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7495 for CFN_BUILT_IN_CLRSB.
7496 * gimple-range-op.cc (class cfn_clrsb): New.
7497 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7498
7499 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7500
7501 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7502 for CFN_CTZ.
7503 * gimple-range-op.cc (class cfn_ctz): New.
7504 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7505
7506 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7507
7508 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7509 for CFN_CLZ.
7510 * gimple-range-op.cc (class cfn_clz): New.
7511 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7512
7513 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7514
7515 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7516 for CFN_FFS and CFN_POPCOUNT.
7517 * gimple-range-op.cc (class cfn_pocount): New.
7518 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7519
7520 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7521
7522 * gimple-range-fold.cc (get_letter_range): Move to new class.
7523 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
7524 and CFN_BUILT_IN_TOLOWER.
7525 * gimple-range-op.cc (class cfn_toupper_tolower): New.
7526 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7527
7528 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7529
7530 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7531 for CFN_BUILT_IN_SIGNBIT.
7532 * gimple-range-op.cc (class cfn_signbit): New.
7533 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7534
7535 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7536
7537 * gimple-range-fold.cc
7538 (fold_using_range::range_of_builtin_int_call): Remove case for
7539 CFN_BUILT_IN_CONSTANT_P.
7540 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
7541 Check if a call also creates a range-op object.
7542 (gimple_range_op_handler): Also check builtin calls.
7543 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
7544 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
7545 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
7546 handler for supported built-in calls.
7547 * gimple-range-op.h (maybe_builtin_call): New prototype.
7548
7549 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7550
7551 * gimple-range-fold.cc (range_of_range_op): Set result to
7552 VARYING if the call to fold_range fails.
7553 * tree-data-ref.cc (compute_distributive_range): Ditto.
7554 * tree-vrp.cc (range_fold_binary_expr): Ditto.
7555 (range_fold_unary_expr): Ditto.
7556 * value-query.cc (range_query::get_tree_range): Ditto.
7557
7558 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7559
7560 * range-op-float.cc (range_operator_float::fold_range): New base
7561 method for "int = float op int".
7562 * range-op.cc (range_op_handler::fold_range): New case.
7563 * range-op.h: Update prototypes.
7564
7565 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7566
7567 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
7568 operand 1 for second range if there is no operand 2.
7569
7570 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7571
7572 * Makefile.in (OBJS): Add gimple-range-op.o.
7573 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
7574 gimple_range_op_handler.
7575 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
7576 to a method in gimple_range_op_handler.
7577 (gimple_range_operand1): Ditto.
7578 (gimple_range_operand2): Ditto.
7579 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
7580 (fold_using_range::range_of_range_op): Ditto.
7581 (fold_using_range::relation_fold_and_or): Ditto.
7582 (fur_source::register_outgoing_edges): Ditto.
7583 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
7584 * gimple-range-fold.h: Adjust prototypes.
7585 * gimple-range-gori.cc (gimple_range_calc_op1): Move
7586 to a method in gimple_range_op_handler.
7587 (gimple_range_calc_op2): Ditto.
7588 (gori_compute::compute_operand_range): Use
7589 gimple_range_op_handler.
7590 (gori_compute::compute_logical_operands): Ditto.
7591 (compute_operand1_range): Ditto.
7592 (gori_compute::compute_operand2_range): Ditto.
7593 (gori_compute::compute_operand1_and_operand2_range): Ditto.
7594 * gimple-range-gori.h: Adjust protoypes.
7595 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
7596 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
7597 * gimple-range.cc (gimple_ranger::prefill_name): Use
7598 gimple_range_op_handler.
7599 (gimple_ranger::prefill_stmt_dependencies): Ditto.
7600 * gimple-range.h: Include gimple-range-op.h.
7601 * range-op.cc (range_op_handler::range_op_handler): Adjust and
7602 remove gimple * parameter option.
7603 * range-op.h: Adjust prototypes.
7604
7605 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7606
7607 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
7608 (ange_op_handler::range_op_handler): Likewise.
7609 (range_op_handler::operator bool): Remove.
7610 (range_op_handler::fold_range): Use appropriate handler.
7611 (range_op_handler::op1_range): Likewise.
7612 (range_op_handler::op2_range): Likewise.
7613 (range_op_handler::lhs_op1_relation): Likewise.
7614 (range_op_handler::lhs_op2_relation): Likewise.
7615 (range_op_handler::op1_op2_relation): Likewise.
7616 * range-op.h (class range_op_handler): Store handler pointers.
7617 (range_op_handler:: operator bool): Inline.
7618
7619 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7620
7621 * tree-ssa-threadbackward.cc
7622 (back_threader::find_paths_to_names): Replace sequence with
7623 a call to gimple_range_ssa_names.
7624
7625 2022-09-22 Martin Liska <mliska@suse.cz>
7626 Fangrui Song <i@maskray.me>
7627
7628 * configure: Regenerate.
7629 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
7630 and gcc_cv_as_compress_debug={0,1}.
7631 * doc/invoke.texi: Document the removal.
7632 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
7633 zlib-gnu.
7634 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
7635
7636 2022-09-22 Richard Biener <rguenther@suse.de>
7637
7638 PR tree-optimization/106922
7639 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
7640 (vn_walk_cb_data::finish): Perform delayed verification of
7641 a skipped may-alias.
7642 (vn_reference_lookup_pieces): Likewise.
7643 (vn_reference_lookup): Likewise.
7644 (vn_reference_lookup_3): When skipping stores of the same
7645 value also handle constant stores that are more than a
7646 single VDEF away by delaying the verification.
7647
7648 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
7649
7650 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
7651 definition.
7652
7653 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
7654
7655 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
7656 (xtensa_output_mi_thunk): New functions.
7657 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
7658 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
7659 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
7660 when called with reload_completed set to 1.
7661
7662 2022-09-22 Richard Biener <rguenther@suse.de>
7663
7664 PR tree-optimization/99407
7665 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
7666 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
7667 (pass_dse::use_dr_analysis_p): New pass parameter.
7668 (pass_dse::set_pass_param): Implement.
7669 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
7670 * passes.def: Allow DR analysis for the DSE pass before loop.
7671
7672 2022-09-22 Richard Biener <rguenther@suse.de>
7673
7674 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
7675 function split out from ...
7676 (vn_nary_op_insert_pieces_predicated): ... here.
7677
7678 2022-09-22 liuhongt <hongtao.liu@intel.com>
7679
7680 PR target/106994
7681 * config/i386/mmx.md (floorv2sf2): Fix typo, use
7682 register_operand instead of vector_operand for operands[1].
7683
7684 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7685
7686 PR tree-optimization/106967
7687 * value-range.cc (frange::set): Set known NANs to undefined for
7688 flag_finite_math_only.
7689
7690 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7691
7692 * value-range.cc (frange::combine_zeros): Call set_undefined.
7693 (frange::intersect_nans): Same.
7694 (frange::intersect): Same.
7695 (frange::verify_range): Undefined ranges do not have a type.
7696 * value-range.h (frange::set_undefined): Clear NAN flags and type.
7697
7698 2022-09-21 Richard Biener <rguenther@suse.de>
7699
7700 PR tree-optimization/106984
7701 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
7702 a separate statement.
7703
7704 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7705
7706 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
7707 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
7708 OPTION_DEFAULT_SPECS.
7709 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
7710 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
7711 is given.
7712 (CONFIG_TUNE_SPEC): Define.
7713 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
7714
7715 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7716
7717 PR tree-optimization/106967
7718 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
7719 (foperator_equal::op1_range): Same.
7720 (foperator_not_equal::fold_range): Same.
7721 (foperator_not_equal::op1_range): Same.
7722 (foperator_lt::fold_range): Same.
7723 (foperator_lt::op1_range): Same.
7724 (foperator_lt::op2_range): Same.
7725 (foperator_le::fold_range): Same.
7726 (foperator_le::op1_range): Same.
7727 (foperator_le::op2_range): Same.
7728 (foperator_gt::fold_range): Same.
7729 (foperator_gt::op1_range): Same.
7730 (foperator_gt::op2_range): Same.
7731 (foperator_ge::fold_range): Same.
7732 (foperator_ge::op1_range): Same.
7733 (foperator_ge::op2_range): Same.
7734 (foperator_unordered::op1_range): Same.
7735 (foperator_ordered::fold_range): Same.
7736 (foperator_ordered::op1_range): Same.
7737 (build_le): Assert that we don't have a NAN.
7738 (build_lt): Same.
7739 (build_gt): Same.
7740 (build_ge): Same.
7741
7742 2022-09-21 liuhongt <hongtao.liu@intel.com>
7743
7744 PR tree-optimization/106963
7745 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
7746 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
7747
7748 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7749
7750 * value-range.h (frange::maybe_isnan): Return false for
7751 undefined ranges.
7752
7753 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7754
7755 * value-range.cc (frange::set_nonnegative): Set +NAN.
7756 (range_tests_signed_zeros): New test.
7757 * value-range.h (frange::update_nan): New overload to set NAN sign.
7758
7759 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7760
7761 PR target/106491
7762 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
7763 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
7764 markup to (new) extern declarations instead of to the main
7765 definition.
7766
7767 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7768
7769 PR tree-optimization/106794
7770 PR tree-optimization/106914
7771 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
7772 Only consider loads that already have a permutation.
7773 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
7774 loads with permutations are leaf nodes. Prevent any kind of grouped
7775 access from changing layout if it doesn't have a load permutation.
7776
7777 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7778
7779 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
7780 early-out optimisation to SSA_NAMEs.
7781
7782 2022-09-20 Martin Liska <mliska@suse.cz>
7783
7784 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
7785 * doc/md.texi: Likewise.
7786 * gimple-range-infer.cc (non_null_loadstore): Likewise.
7787
7788 2022-09-20 liuhongt <hongtao.liu@intel.com>
7789
7790 PR target/106910
7791 * config/i386/mmx.md (nearbyintv2sf2): New expander.
7792 (rintv2sf2): Ditto.
7793 (ceilv2sf2): Ditto.
7794 (lceilv2sfv2si2): Ditto.
7795 (floorv2sf2): Ditto.
7796 (lfloorv2sfv2si2): Ditto.
7797 (btruncv2sf2): Ditto.
7798 (lrintv2sfv2si2): Ditto.
7799 (roundv2sf2): Ditto.
7800 (lroundv2sfv2si2): Ditto.
7801 (*mmx_roundv2sf2): New define_insn.
7802
7803 2022-09-20 konglin1 <lingling.kong@intel.com>
7804
7805 PR middle-end/105735
7806 * tree-scalar-evolution.cc
7807 (analyze_and_compute_bitop_with_inv_effect): New function.
7808 (final_value_replacement_loop): Enhanced to handle bitop
7809 with inv induction.
7810
7811 2022-09-20 Xi Ruoyao <xry111@xry111.site>
7812
7813 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
7814 -static-pie, pass -static -pie --no-dynamic-linker -z text to
7815 the linker, and do not pass --dynamic-linker.
7816
7817 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7818
7819 * value-range.cc (frange::flush_denormals_to_zero): New.
7820 (frange::set): Call flush_denormals_to_zero.
7821 * value-range.h (class frange): Add flush_denormals_to_zero.
7822
7823 2022-09-20 liuhongt <hongtao.liu@intel.com>
7824
7825 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
7826 latest Intel processors.
7827
7828 2022-09-20 konglin1 <lingling.kong@intel.com>
7829
7830 PR target/106887
7831 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7832 Fixed V16BF mode case.
7833
7834 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7835
7836 * targhooks.cc (default_zero_call_used_regs): Improve sorry
7837 message.
7838
7839 2022-09-18 Julian Brown <julian@codesourcery.com>
7840
7841 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
7842 (gimplify_adjust_omp_clauses): Move ATTACH and
7843 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
7844 for offloaded OpenMP regions.
7845
7846 2022-09-18 Jakub Jelinek <jakub@redhat.com>
7847
7848 PR middle-end/106831
7849 * value-range.cc (frange::singleton_p): Avoid propagating long
7850 doubles that may have multiple representations.
7851
7852 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
7853
7854 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
7855 union of zero.
7856 * value-query.cc (range_query::get_tree_range): Remove set_signbit
7857 use.
7858 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
7859 Remove.
7860 (vrange_printer::print_frange_nan): New.
7861 * value-range-pretty-print.h (print_frange_prop): Remove.
7862 (print_frange_nan): New.
7863 * value-range-storage.cc (frange_storage_slot::set_frange): Set
7864 kind and NAN fields.
7865 (frange_storage_slot::get_frange): Restore kind and NAN fields.
7866 * value-range-storage.h (class frange_storage_slot): Add kind and
7867 NAN fields.
7868 * value-range.cc (frange::update_nan): Remove.
7869 (frange::set_signbit): Remove.
7870 (frange::set): Adjust for NAN fields.
7871 (frange::normalize_kind): Remove m_props.
7872 (frange::combine_zeros): New.
7873 (frange::union_nans): New.
7874 (frange::union_): Handle new NAN fields.
7875 (frange::intersect_nans): New.
7876 (frange::intersect): Handle new NAN fields.
7877 (frange::operator=): Same.
7878 (frange::operator==): Same.
7879 (frange::contains_p): Same.
7880 (frange::singleton_p): Remove special case for signed zeros.
7881 (frange::verify_range): Adjust for new NAN fields.
7882 (frange::set_zero): Handle signed zeros.
7883 (frange::set_nonnegative): Same.
7884 (range_tests_nan): Adjust tests.
7885 (range_tests_signed_zeros): Same.
7886 (range_tests_signbit): Same.
7887 (range_tests_floats): Same.
7888 * value-range.h (class fp_prop): Remove.
7889 (FP_PROP_ACCESSOR): Remove.
7890 (class frange_props): Remove
7891 (frange::lower_bound): NANs don't have endpoints.
7892 (frange::upper_bound): Same.
7893 (frange_props::operator==): Remove.
7894 (frange_props::union_): Remove.
7895 (frange_props::intersect): Remove.
7896 (frange::update_nan): New.
7897 (frange::clear_nan): New.
7898 (frange::undefined_p): New.
7899 (frange::set_nan): New.
7900 (frange::known_finite): Adjust for new NAN representation.
7901 (frange::maybe_isnan): Same.
7902 (frange::known_isnan): Same.
7903 (frange::signbit_p): Same.
7904 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
7905 known_signbit_p into signbit_p.
7906
7907 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7908
7909 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
7910 to prevent warning.
7911
7912 2022-09-17 Jakub Jelinek <jakub@redhat.com>
7913
7914 PR tree-optimization/106958
7915 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
7916 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
7917 If type has pointer type, cast exp to pointer_sized_int_node
7918 even when id < l.
7919
7920 2022-09-16 liuhongt <hongtao.liu@intel.com>
7921
7922 PR target/106910
7923 * config/i386/i386-builtins.cc
7924 (ix86_builtin_vectorized_function): Modernized with
7925 corresponding expanders.
7926 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
7927 expander.
7928 (floor<mode>2): Ditto.
7929 (lfloor<mode><sseintvecmodelower>2): Ditto.
7930 (ceil<mode>2): Ditto.
7931 (lceil<mode><sseintvecmodelower>2): Ditto.
7932 (btrunc<mode>2): Ditto.
7933 (lround<mode><sseintvecmodelower>2): Ditto.
7934 (exp2<mode>2): Ditto.
7935
7936 2022-09-15 Joseph Myers <joseph@codesourcery.com>
7937
7938 * ginclude/float.h (INFINITY): Define only if
7939 [__FLT_HAS_INFINITY__].
7940
7941 2022-09-15 Richard Biener <rguenther@suse.de>
7942
7943 PR tree-optimization/106922
7944 * tree-ssa-pre.cc (translate_vuse_through_block): Only
7945 keep the VUSE if its def dominates PHIBLOCK.
7946 (prune_clobbered_mems): Rewrite logic so we check whether
7947 a value dies in a block when the VUSE def doesn't dominate it.
7948
7949 2022-09-15 Richard Biener <rguenther@suse.de>
7950
7951 * tree.cc (build_common_tree_nodes): Initialize void_list_node
7952 here.
7953
7954 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
7955
7956 PR target/106550
7957 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
7958
7959 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7960
7961 * range-op-float.cc (frange_add_zeros): New.
7962 (build_le): Call frange_add_zeros.
7963 (build_ge): Same.
7964 (foperator_equal::op1_range): Same.
7965 (foperator_not_equal::op1_range): Same.
7966
7967 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7968
7969 * range-op-float.cc (build_le): Accept frange instead of number.
7970 (build_lt): Same.
7971 (build_ge): Same.
7972 (build_gt): Same.
7973 (foperator_lt::op1_range): Pass full range to build_*.
7974 (foperator_lt::op2_range): Same.
7975 (foperator_le::op1_range): Same.
7976 (foperator_le::op2_range): Same.
7977 (foperator_gt::op1_range): Same.
7978 (foperator_gt::op2_range): Same.
7979 (foperator_ge::op1_range): Same.
7980 (foperator_ge::op2_range): Same.
7981
7982 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7983
7984 * value-range.cc (frange::set): Use set_nan.
7985 * value-range.h (frange::set_nan): Inline code originally in
7986 set().
7987
7988 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7989
7990 * range-op-float.cc (frange_set_nan): Remove.
7991 (build_lt): Use set_nan, update_nan, clear_nan.
7992 (build_gt): Same.
7993 (foperator_equal::op1_range): Same.
7994 (foperator_not_equal::op1_range): Same.
7995 (foperator_lt::op1_range): Same.
7996 (foperator_lt::op2_range): Same.
7997 (foperator_le::op1_range): Same.
7998 (foperator_le::op2_range): Same.
7999 (foperator_gt::op1_range): Same.
8000 (foperator_gt::op2_range): Same.
8001 (foperator_ge::op1_range): Same.
8002 (foperator_ge::op2_range): Same.
8003 (foperator_unordered::op1_range): Same.
8004 (foperator_ordered::op1_range): Same.
8005 * value-query.cc (range_query::get_tree_range): Same.
8006 * value-range.cc (frange::set_nan): Same.
8007 (frange::update_nan): Same.
8008 (frange::union_): Same.
8009 (frange::intersect): Same.
8010 (range_tests_nan): Same.
8011 (range_tests_signed_zeros): Same.
8012 (range_tests_signbit): Same.
8013 (range_tests_floats): Same.
8014 * value-range.h (class frange): Add update_nan and clear_nan.
8015 (frange::set_nan): New.
8016
8017 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
8018
8019 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
8020 * value-range-pretty-print.cc (vrange_printer::visit): Move read
8021 of type until after undefined_p is checked.
8022 * value-range.cc (frange::set): Remove asserts for REAL_CST.
8023 (frange::contains_p): Tidy up.
8024 (range_tests_nan): Add comment.
8025 * value-range.h (frange::type): Check for undefined_p.
8026 (frange::set_undefined): Remove set of endpoints.
8027
8028 2022-09-14 Julian Brown <julian@codesourcery.com>
8029
8030 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
8031 GOMP_MAP_STRUCT (for reindexing).
8032 (omp_gather_mapping_groups): Reimplement using...
8033 (omp_gather_mapping_groups_1): This new function. Stop processing at
8034 GATHER_SENTINEL.
8035 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
8036 (omp_index_mapping_groups): Reimplement using...
8037 (omp_index_mapping_groups_1): This new function. Handle
8038 REINDEX_SENTINEL.
8039 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
8040 functions.
8041 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
8042 same as current group. Use omp_mapped_by_containing_struct.
8043 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
8044 and omp_reindex_mapping_groups. Robustify group deletion for reordered
8045 lists.
8046 (gimplify_scan_omp_clauses): Update calls to
8047 omp_build_struct_sibling_lists.
8048
8049 2022-09-14 Julian Brown <julian@codesourcery.com>
8050
8051 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
8052 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
8053 (insert_struct_comp_map): Refactor function into...
8054 (build_omp_struct_comp_nodes): This new function. Remove list handling
8055 and improve self-documentation.
8056 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
8057 code to strip outer parts of address out of function, but strip no-op
8058 conversions.
8059 (omp_mapping_group): Add DELETED field for use during reindexing.
8060 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
8061 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
8062 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
8063 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
8064 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
8065 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
8066 helper functions.
8067 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
8068 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
8069 (omp_build_struct_sibling_lists): New function.
8070 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
8071 struct_seen_clause, struct_deref_set. Call
8072 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
8073 lists in the function's main processing loop.
8074 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
8075 handling, unused now.
8076 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
8077 struct references, and references to pointers to structs also.
8078
8079 2022-09-14 Richard Biener <rguenther@suse.de>
8080
8081 PR tree-optimization/106938
8082 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
8083 edges for all last stmts in a block. Do EH cleanup
8084 only on the last stmt in a block.
8085
8086 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
8087
8088 PR tree-optimization/106936
8089 * value-query.cc (range_query::get_value_range): Remove assert.
8090
8091 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8092
8093 * config/mips/mips.cc (mips_option_override): Drop unused variable.
8094
8095 2022-09-14 Julian Brown <julian@codesourcery.com>
8096
8097 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
8098 functions.
8099 (omp_tsort_mark): Add enum.
8100 (omp_mapping_group): Add struct.
8101 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
8102 omp_group_last, omp_gather_mapping_groups, omp_group_base,
8103 omp_index_mapping_groups, omp_containing_struct,
8104 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
8105 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
8106 functions.
8107 (gimplify_scan_omp_clauses): Call above functions instead of
8108 omp_target_reorder_clauses, unless we've seen an error.
8109 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
8110 sorted mapping groups.
8111
8112 2022-09-14 Jakub Jelinek <jakub@redhat.com>
8113
8114 PR tree-optimization/106878
8115 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
8116 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
8117 the second argument is INTEGER_CST, BIT_AND_EXPR.
8118 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
8119 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
8120 POINTER_TYPE_P or OFFSET_TYPE.
8121 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
8122 pointers cast them to pointer sized integers first.
8123
8124 2022-09-14 Richard Biener <rguenther@suse.de>
8125
8126 PR tree-optimization/106934
8127 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
8128 of bitfields.
8129 (maybe_rewrite_mem_ref_base): Likewise.
8130
8131 2022-09-14 liuhongt <hongtao.liu@intel.com>
8132
8133 PR tree-optimization/106905
8134 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
8135 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
8136 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
8137
8138 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
8139
8140 PR target/106877
8141 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
8142 in gcc_assert.
8143
8144 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
8145
8146 Revert:
8147 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8148
8149 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
8150 New macro definition.
8151 (xtensa_constant_ok_for_cprop_p):
8152 Implement the hook as mentioned above.
8153
8154 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
8155
8156 PR target/104482
8157 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
8158 the equality check for argument number, and move this hunk ahead.
8159
8160 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
8161
8162 PR target/105485
8163 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
8164 the handling for unresolved overloaded builtin function.
8165 (rs6000_expand_builtin): Likewise.
8166
8167 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
8168
8169 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
8170 m_nstores, m_reduc_factor, m_gather_load and member function
8171 determine_suggested_unroll_factor.
8172 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
8173 m_reduc_factor and m_gather_load.
8174 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
8175 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
8176 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
8177 (rs6000-vect-unroll-issue): Likewise.
8178 (rs6000-vect-unroll-reduc-threshold): Likewise.
8179 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
8180
8181 2022-09-13 Richard Biener <rguenther@suse.de>
8182
8183 PR middle-end/106909
8184 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
8185 flag of a unreachable call.
8186
8187 2022-09-13 Richard Biener <rguenther@suse.de>
8188
8189 PR tree-optimization/106913
8190 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
8191 ft_reachable on EXIT_BLOCK.
8192
8193 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
8194
8195 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
8196 TARGET_FLOAT instead of TARGET_SIMD.
8197 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
8198 TARGET_SIMD.
8199 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
8200 in GPRs.
8201 (aarch64_classify_address): Treat little-endian structure moves
8202 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
8203 (aarch64_secondary_memory_needed): New function.
8204 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
8205 in the same way as TF, TI and TD.
8206 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
8207 (aarch64_rtx_costs): Likewise.
8208 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
8209 separately from a single 128-bit vector. Handle the cost implied
8210 by aarch64_secondary_memory_needed.
8211 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
8212 TARGET_SIMD.
8213 (aarch64_expand_vec_perm_const_1): Likewise.
8214 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
8215 * config/aarch64/iterators.md (VTX): New iterator.
8216 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
8217 (arch_enabled): Adjust accordingly.
8218 (@aarch64_reload_mov<TX:mode>): Extend to...
8219 (@aarch64_reload_mov<VTX:mode>): ...this.
8220 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
8221 rather than TARGET_SIMD.
8222 (movmisalign<mode>): Likewise.
8223 (load_pair<DREG:mode><DREG2:mode>): Likewise.
8224 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
8225 (load_pair<VQ:mode><VQ2:mode>): Likewise.
8226 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
8227 (@aarch64_split_simd_mov<mode>): Likewise.
8228 (aarch64_get_low<mode>): Likewise.
8229 (aarch64_get_high<mode>): Likewise.
8230 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
8231 lowpart extracts.
8232 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
8233 TARGET_SIMD. Use different w<-w and r<-w instructions for
8234 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
8235 add an alternative specifically for w<-Z.
8236 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
8237 TARGET_SIMD. Likewise for the associated define_splits. Disable
8238 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
8239 specifically for w<-Z.
8240 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
8241 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
8242 but add a new r<-w one for !TARGET_SIMD.
8243 (*aarch64_get_high<mode>): New pattern.
8244 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
8245 (store_pair_lanes<mode>): Likewise.
8246 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
8247 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
8248 alternative for !TARGET_SIMD.
8249 (*aarch64_combine_internal_be<mode>): Likewise.
8250 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
8251 Remove bogus arch attribute.
8252 (*aarch64_combinez_be<mode>): Likewise.
8253 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
8254 TARGET_SIMD.
8255 (aarch64_combine<mode>): Likewise.
8256 (aarch64_rev_reglist<mode>): Likewise.
8257 (mov<mode>): Likewise.
8258 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
8259 !TARGET_SIMD, regardless of endianness. Extend associated
8260 define_splits in the same way, both for this pattern and the
8261 ones below.
8262 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
8263 alternative to TARGET_SIMD.
8264 (*aarch64_be_movoi): Likewise.
8265 (*aarch64_be_movci): Likewise.
8266 (*aarch64_be_movxi): Likewise.
8267 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
8268 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
8269 to TARGET_SIMD for tuples of 128-bit vectors.
8270 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
8271 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
8272 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
8273 the VQ and VP_2E LDP and STP peepholes.
8274
8275 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
8276
8277 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
8278 condition. Likewise for the related define_split. Tweak formatting.
8279
8280 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8281
8282 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
8283 New macro definition.
8284 (xtensa_constant_ok_for_cprop_p):
8285 Implement the hook as mentioned above.
8286
8287 2022-09-12 Joseph Myers <joseph@codesourcery.com>
8288
8289 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
8290 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
8291
8292 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
8293
8294 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
8295 a warning + not enabling offloading if -misa=sm_30 prevents
8296 reverse offload.
8297 (main): Use tool_name as progname for diagnostic.
8298 * config/gcn/mkoffload.cc (main): Likewise.
8299
8300 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
8301
8302 * value-range.cc (frange::set_signbit): Avoid changing sign when
8303 already in the correct sign.
8304
8305 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
8306
8307 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
8308 Recognize all 4 return registers.
8309 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
8310 * config/xtensa/xtensa.md (untyped_call): New pattern.
8311
8312 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
8313
8314 * doc/extend.texi (Floating Types): Fix "_float128" typo.
8315
8316 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8317
8318 * config/xtensa/xtensa.cc (xtensa_constantsynth):
8319 Add new pattern for the abovementioned case.
8320
8321 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
8322 Segher Boessenkool <segher@kernel.crashing.org>
8323
8324 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
8325
8326 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8327
8328 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
8329 the abovementioned process so that insns that overwrite clobbered
8330 register no longer need to be contiguous.
8331 (DSC): Remove as no longer needed.
8332
8333 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8334
8335 * config/xtensa/xtensa.cc (machine_function): New boolean member as
8336 a flag that controls whether to emit the insns for stack pointer
8337 adjustment inside of the pro/epilogue.
8338 (xtensa_emit_adjust_stack_ptr): New function to share the common
8339 codes and to emit insns if not inhibited.
8340 (xtensa_expand_epilogue): Change to use the function mentioned
8341 above when using the CALL0 ABI.
8342 (xtensa_expand_prologue): Ditto.
8343 And also change to set the inhibit flag used by
8344 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
8345 used for its own adjustment.
8346
8347 2022-09-09 David Malcolm <dmalcolm@redhat.com>
8348
8349 * doc/invoke.texi (Static Analyzer Options): Add
8350 -Wanalyzer-exposure-through-uninit-copy.
8351
8352 2022-09-09 David Malcolm <dmalcolm@redhat.com>
8353
8354 * Makefile.in (ANALYZER_OBJS): Add
8355 analyzer/known-function-manager.o.
8356
8357 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
8358
8359 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
8360 (record_id): Store func name without quotes, store dim separately.
8361 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
8362 at least sm_35, create '$offload_func_table' global array and init
8363 with reverse-offload function addresses.
8364 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
8365 force_public attribute to force .visible.
8366 (nvptx_declare_function_name): For "omp target
8367 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
8368
8369 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
8370
8371 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
8372 similar to pre-existing .offload_var_table.
8373
8374 2022-09-09 Joseph Myers <joseph@codesourcery.com>
8375
8376 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
8377 New macro.
8378
8379 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
8380
8381 PR middle-end/106833
8382 * tree.cc (verify_opaque_type): New function.
8383 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
8384
8385 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
8386
8387 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
8388 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
8389 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
8390 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
8391 MATH_UNOP_TRIG): New iterators.
8392 (math_unop): New attributes.
8393 (<math_unop><mode>2, <math_unop><mode>2<exec>,
8394 <math_unop><mode>2, <math_unop><mode>2<exec>,
8395 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
8396 ldexp<mode>3, ldexp<mode>3<exec>,
8397 frexp<mode>_exp2, frexp<mode>_mant2,
8398 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
8399 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
8400 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
8401 dconst1over2pi.
8402 (gcn_dconst1over2pi): New.
8403 (gcn_builtin_type_index): Add entry for v64df type.
8404 (v64df_type_node): New.
8405 (gcn_init_builtin_types): Initialize v64df_type_node.
8406 (gcn_expand_builtin_1): Expand new builtins to instructions.
8407 (print_operand): Fix assembler output for 1/(2*PI) constant.
8408 * config/gcn/gcn.md (unspec): Add new entries.
8409
8410 2022-09-09 Richard Biener <rguenther@suse.de>
8411
8412 PR tree-optimization/106722
8413 * tree-predcom.cc (ref_at_iteration): Do not associate the
8414 constant part of the offset into the MEM_REF offset
8415 operand, across a non-zero offset.
8416
8417 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
8418
8419 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
8420 Move forward for cover all all necessary functions for suppress
8421 unused function warnings.
8422 (riscv_multi_lib_check): Move forward, and tweak message to suppress
8423 -Werror=format-diag warning.
8424
8425 2022-09-09 Richard Biener <rguenther@suse.de>
8426
8427 PR tree-optimization/106881
8428 * gimple-predicate-analysis.cc (simple_control_dep_chain):
8429 Add only non-fallthru edges and avoid the same set of edges
8430 as compute_control_dep_chain_pdom does.
8431
8432 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8433
8434 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
8435 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
8436 * doc/tm.texi: Regenerate.
8437
8438 2022-09-09 Martin Liska <mliska@suse.cz>
8439
8440 * optc-save-gen.awk: Always compare array option values with memcmp.
8441
8442 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
8443
8444 PR c++/106838
8445 * doc/extend.texi (Type Traits): Fix requirements. Document
8446 __is_aggregate and __is_final.
8447
8448 2022-09-08 Tim Lange <mail@tim-lange.me>
8449
8450 PR analyzer/106625
8451 * doc/invoke.texi:
8452 State that the checker also reasons about symbolic values.
8453
8454 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
8455
8456 PR tree-optimization/106886
8457 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
8458 Fix copying of scalar stmts.
8459
8460 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
8461
8462 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
8463
8464 2022-09-08 Richard Biener <rguenther@suse.de>
8465
8466 PR middle-end/106870
8467 * gimple-harden-conditionals.cc (insert_check_and_trap):
8468 Set the control-altering flag on the built IFN_TRAP.
8469 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
8470 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
8471 flag on the .ABNORMAL_DISPATCHER call.
8472 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
8473 resetting the control altering flag for ECF_NORETURN calls.
8474 (cleanup_control_flow_bb): Set the control altering flag on
8475 discovered noreturn calls.
8476 * symtab-thunks.cc (expand_thunk): Set the control altering
8477 flag for the noreturn tailcall case.
8478 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
8479 calls.
8480
8481 2022-09-08 Jakub Jelinek <jakub@redhat.com>
8482
8483 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
8484 Add doacross(sink:omp_cur_iteration-1) support.
8485 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
8486 Adjust expand_omp_ordered_sink caller.
8487 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
8488 non-NULL, set that variable to true at the start of outermost
8489 non-collapsed loop and set it to false at the end of innermost
8490 ordered loop.
8491 (expand_omp_for_generic): If fd->ordered, allocate
8492 1 + (fd->ordered - fd->collapse) further elements in counts array.
8493 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
8494 fd->ordered - 1 loop if any.
8495
8496 2022-09-08 Richard Biener <rguenther@suse.de>
8497
8498 PR tree-optimization/106881
8499 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
8500 Add only non-fallthru edges and avoid the same set of edges
8501 as the caller does.
8502
8503 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
8504
8505 * gimple-range-fold.cc
8506 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
8507 * range-op-float.cc (finite_operand_p): Same.
8508 (finite_operands_p): Same.
8509 (foperator_lt::fold_range): Same.
8510 (foperator_le::fold_range): Same.
8511 (foperator_gt::fold_range): Same.
8512 (foperator_ge::fold_range): Same.
8513 (foperator_unordered::fold_range): Same.
8514 (foperator_unordered::op1_range): Same.
8515 (foperator_ordered::fold_range): Same.
8516 * value-range.cc (frange::set_nan): Same.
8517 (frange::set_signbit): Same.
8518 (frange::union_): Same.
8519 (frange::intersect): Same.
8520 (frange::operator==): Same.
8521 (frange::singleton_p): Same.
8522 (frange::verify_range): Same.
8523 (range_tests_nan): Same.
8524 (range_tests_floats): Same.
8525 * value-range.h(frange::known_finite): New.
8526 (frange::maybe_inf): New.
8527 (frange::known_inf): New.
8528 (frange::maybe_nan): New.
8529 (frange::known_nan): New.
8530 (frange::known_signbit): New.
8531
8532 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
8533
8534 * config/darwin-d.cc: Include tm.h.
8535 * config/dragonfly-d.cc: Likewise.
8536 * config/freebsd-d.cc: Remove memmodel.h.
8537 * config/glibc-d.cc: Likewise.
8538 * config/netbsd-d.cc: Include tm.h.
8539 * config/openbsd-d.cc: Likewise.
8540 * config/sol2-d.cc: Likewise.
8541
8542 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
8543
8544 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
8545 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
8546 (mve_vqshluq_m_n_s<mode>): Likewise.
8547 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
8548 instead of mve_imm_8/Rb.
8549 (mve_vqrshrunbq_n_s<mode>): Likewise.
8550 (mve_vqrshrntq_n_<supf><mode>): Likewise.
8551 (mve_vqrshruntq_n_s<mode>): Likewise.
8552 (mve_vrshrnbq_n_<supf><mode>): Likewise.
8553 (mve_vrshrntq_n_<supf><mode>): Likewise.
8554 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
8555 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
8556 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
8557 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
8558 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
8559 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
8560 of mve_imm_selective_upto_8/Rg.
8561 (mve_vsriq_m_n_<supf><mode>): Likewise.
8562
8563 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
8564
8565 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
8566 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
8567 (splitter for multi-insn constant loads): Ditto.
8568
8569 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
8570
8571 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
8572 -mvrsave is present.
8573 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
8574 -mcpu=e6500.
8575
8576 2022-09-07 Martin Liska <mliska@suse.cz>
8577
8578 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
8579 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
8580 * configure: Regenerate.
8581 * config.in: Regenerate.
8582
8583 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
8584
8585 PR rtl-optimization/105586
8586 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
8587 (schedule_region): Use it for all blocks.
8588
8589 2022-09-07 Joseph Myers <joseph@codesourcery.com>
8590
8591 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
8592 __STDC_VERSION__ > 201710L]: Disable all content.
8593 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
8594 > 201710L] (bool, true, false): Do not define.
8595
8596 2022-09-07 Martin Liska <mliska@suse.cz>
8597
8598 PR bootstrap/106855
8599 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
8600 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
8601 Restore usage of XCOFF_DEBUGGING_INFO.
8602 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
8603 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
8604 XCOFF_DEBUGGING_INFO.
8605 (dw2_asm_output_nstring): Likewise.
8606 (USE_LINKONCE_INDIRECT): Likewise.
8607 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
8608 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
8609 (output_fde): Likewise.
8610 (output_call_frame_info): Likewise.
8611 (have_macinfo): Likewise.
8612 (add_AT_loc_list): Likewise.
8613 (add_AT_view_list): Likewise.
8614 (output_compilation_unit_header): Likewise.
8615 (output_pubnames): Likewise.
8616 (output_aranges): Likewise.
8617 (output_line_info): Likewise.
8618 (output_macinfo): Likewise.
8619 (dwarf2out_finish): Likewise.
8620 (dwarf2out_early_finish): Likewise.
8621
8622 2022-09-07 Richard Biener <rguenther@suse.de>
8623
8624 PR tree-optimization/106866
8625 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
8626 we changed cfun->calls_setjmp make sure to purge all
8627 abnormal call edges.
8628
8629 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
8630
8631 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
8632 float LE comparing with zero for fpuv3.
8633 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
8634 features are enabled.
8635
8636 2022-09-07 Richard Biener <rguenther@suse.de>
8637
8638 PR tree-optimization/106860
8639 * tree-ssa-loop-split.cc (split_loop): Find the exit to
8640 latch edge from the loop exit edge instead of from the
8641 latch. Verify we're going to find it.
8642
8643 2022-09-07 Richard Biener <rguenther@suse.de>
8644
8645 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
8646 Adjust to take the region exit source as argument.
8647 (uninit_analysis::init_from_phi_def): Adjust.
8648 (uninit_analysis::init_use_preds): Mark the dominating region
8649 before computing control dependences.
8650
8651 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
8652
8653 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
8654 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
8655 in that case. Extend w<-r to w<-Z.
8656 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
8657 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
8658 available.
8659 (define_split): Do not apply the floating-point immediate-to-register
8660 split to zeros, even if MOVI is not available.
8661
8662 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
8663
8664 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
8665 Disallow use of FPRs in register asms for !TARGET_FLOAT.
8666
8667 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
8668
8669 PR target/106828
8670 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
8671 (TARGET_ASAN_SHADOW_OFFSET): New.
8672
8673 2022-09-07 Jakub Jelinek <jakub@redhat.com>
8674
8675 * doc/invoke.texi (-Wno-unicode): Document.
8676
8677 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
8678
8679 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
8680
8681 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
8682
8683 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
8684 replacements.
8685
8686 2022-09-07 liuhongt <hongtao.liu@intel.com>
8687
8688 PR tree-optimization/103144
8689 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
8690 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
8691 (vect_create_nonlinear_iv_init): New function.
8692 (vect_peel_nonlinear_iv_init): Ditto.
8693 (vect_create_nonlinear_iv_step): Ditto
8694 (vect_create_nonlinear_iv_vec_step): Ditto
8695 (vect_update_nonlinear_iv): Ditto
8696 (vectorizable_nonlinear_induction): Ditto.
8697 (vectorizable_induction): Call
8698 vectorizable_nonlinear_induction when induction_type is not
8699 vect_step_op_add.
8700 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
8701 Update nonlinear iv for epilogue loop.
8702 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
8703 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
8704
8705 2022-09-06 Richard Biener <rguenther@suse.de>
8706
8707 PR tree-optimization/106754
8708 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
8709 New function, split out from compute_control_dep_chain. Handle
8710 loop-exit like conditions here by pushing to the control vector.
8711 (compute_control_dep_chain): Adjust and streamline dumping.
8712 In the wrapper perform a post-dominator walk as well.
8713 (uninit_analysis::init_use_preds): Remove premature early exit.
8714
8715 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
8716
8717 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
8718
8719 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
8720
8721 * range-op-float.cc (build_le): Handle NANs and going past infinity.
8722 (build_lt): Same.
8723 (build_ge): Same.
8724 (build_gt): Same.
8725 (foperator_lt::op1_range): Avoid adjustments to range if build_*
8726 returned false.
8727 (foperator_lt::op2_range): Same.
8728 (foperator_le::op1_range): Same.
8729 (foperator_le::op2_range): Same.
8730 (foperator_gt::op1_range): Same.
8731 (foperator_gt::op2_range): Same.
8732
8733 2022-09-06 Richard Biener <rguenther@suse.de>
8734
8735 * gimple-predicate-analysis.cc (compute_control_dep_chain):
8736 Add output flag to indicate whether we possibly have dropped
8737 any chains. Return whether the info is complete from the
8738 wrapping overload.
8739 (uninit_analysis::init_use_preds): Adjust accordingly, with
8740 a workaround for PR106754.
8741 (uninit_analysis::init_from_phi_def): Properly guard the
8742 case where we complete an empty chain.
8743
8744 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8745
8746 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
8747
8748 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
8749
8750 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
8751 type with same element type as arg0, and length as op2.
8752
8753 2022-09-06 Richard Biener <rguenther@suse.de>
8754
8755 PR tree-optimization/106844
8756 * gimple-predicate-analysis.cc (compute_control_dep_chain):
8757 Return whether we found a chain.
8758
8759 2022-09-06 Richard Biener <rguenther@suse.de>
8760
8761 PR tree-optimization/106841
8762 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
8763 scatter/gather offset.
8764
8765 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8766
8767 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
8768
8769 2022-09-06 Jakub Jelinek <jakub@redhat.com>
8770
8771 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
8772 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
8773 GIMPLE_OMP_TEAMS as upper bound.
8774 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
8775 inline functions.
8776 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
8777 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
8778 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
8779 with NULL OMP_ORDERED_BODY.
8780 * omp-low.cc (check_omp_nesting_restrictions): Use
8781 gimple_omp_ordered_standalone_p test instead of
8782 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
8783 (lower_omp_ordered): Likewise.
8784 * omp-expand.cc (expand_omp, build_omp_regions_1,
8785 omp_make_gimple_edges): Likewise.
8786
8787 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
8788
8789 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
8790 (cskyv2_addcc_invert): Likewise.
8791
8792 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
8793
8794 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
8795 `insn'.
8796 (bpf_expand_epilogue): Likewise.
8797
8798 2022-09-06 liuhongt <hongtao.liu@intel.com>
8799
8800 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
8801 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
8802 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
8803 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
8804 (avx512f_vcvtps2ph512_mask_sae): New expander
8805
8806 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8807
8808 * gimple-range-fold.cc
8809 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
8810 when there's the possibility of a NAN.
8811
8812 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8813
8814 * gimple-range-fold.cc
8815 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
8816 in __builtin_signbit to nonzero.
8817
8818 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
8819
8820 PR target/106453
8821 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
8822 bits of operand 0 are consumed, and the result is zero-extended
8823 to 64 bits.
8824
8825 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8826
8827 PR middle-end/106831
8828 * value-range.h (frange::supports_p): Disable decimal floats.
8829 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
8830 check.
8831 (frange_drop_ninf): Same.
8832
8833 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8834
8835 PR middle-end/106824
8836 * value-range.cc (frange::set_nan): Set undefined when updating a
8837 NAN to a non-NAN.
8838
8839 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
8840
8841 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
8842 condition for MASK_DIV and simplify incompatible checking.
8843 * config/riscv/riscv.md (muldi3): Adding parentheses.
8844
8845 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8846
8847 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
8848 string is a valid -mcpu string and emit hint.
8849
8850 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
8851
8852 * common/config/riscv/riscv-common.cc: Add Zmmul.
8853 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
8854 (TARGET_ZMMUL): Ditto.
8855 * config/riscv/riscv.cc (riscv_option_override):Ditto.
8856 * config/riscv/riscv.md: Add Zmmul
8857 * config/riscv/riscv.opt: Ditto.
8858
8859 2022-09-05 Richard Biener <rguenther@suse.de>
8860
8861 * tree-cfg.h (get_cases_for_edge): Declare.
8862 * tree-cfg.cc (get_cases_for_edge): Export.
8863 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
8864 Start and end recording case labels.
8865 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
8866 (predicate::init_from_control_deps): Use get_cases_for_edge.
8867
8868 2022-09-05 Richard Biener <rguenther@suse.de>
8869
8870 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
8871 (compute_control_dep_chain): Move uninit-control-dep-attempts
8872 checking where it also counts the post-dominator check
8873 invocations.
8874
8875 2022-09-05 Richard Biener <rguenther@suse.de>
8876
8877 * gimple-predicate-analysis.h (predicate::debug): New.
8878 (predicate::dump): Add FILE * argument, add base overload.
8879 * gimple-predicate-analysis.cc (debug): New.
8880 (dump_pred_info): Add FILE * argument.
8881 (dump_pred_chain): Likewise.
8882 (predicate::dump): Split out preamble into overload. Add
8883 FILE * argument.
8884 (predicate::debug): New.
8885 (predicate::simplify): Adjust.
8886 (predicate::normalize): Likewise.
8887 (predicate::init_from_control_deps): Likewise.
8888
8889 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
8890
8891 * config/aarch64/aarch64-protos.h
8892 (aarch64_init_simd_builtins): Remove prototype.
8893 * config/aarch64/aarch64-builtins.cc
8894 (aarch64_simd_builtins_initialized_p): Delete.
8895 (aarch64_init_simd_builtins): Make static. Remove protection
8896 against multiple calls.
8897 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
8898 lazy SIMD builtin initialization.
8899 * config/aarch64/aarch64.cc
8900 (aarch64_option_valid_attribute_p): Likewise.
8901
8902 2022-09-05 Xi Ruoyao <xry111@xry111.site>
8903
8904 * config/loongarch/genopts/loongarch.opt.in: Add
8905 -mdirect-extern-access option.
8906 * config/loongarch/loongarch.opt: Regenerate.
8907 * config/loongarch/loongarch.cc
8908 (loongarch_symbol_binds_local_p): Return true if
8909 TARGET_DIRECT_EXTERN_ACCESS.
8910 (loongarch_option_override_internal): Complain if
8911 -mdirect-extern-access is used with -fPIC or -fpic.
8912 * doc/invoke.texi: Document -mdirect-extern-access for
8913 LoongArch.
8914
8915 2022-09-05 Martin Liska <mliska@suse.cz>
8916
8917 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
8918 DEBUGGER_REGNO.
8919 * doc/tm.texi: Regenerate.
8920
8921 2022-09-05 Martin Liska <mliska@suse.cz>
8922
8923 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
8924 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
8925 (aarch64_debugger_regno): Likewise.
8926 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
8927 (aarch64_debugger_regno): Likewise.
8928 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
8929 (DEBUGGER_REGNO): Likewise.
8930 (DWARF_FRAME_REGNUM): Likewise.
8931 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
8932 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
8933 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
8934 (DEBUGGER_REGNO): Likewise.
8935 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
8936 (arm_debugger_regno): Likewise.
8937 * config/arm/arm.cc (arm_dbx_regno): Likewise.
8938 (arm_debugger_regno): Likewise.
8939 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
8940 (DEBUGGER_REGNO): Likewise.
8941 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
8942 (DEBUGGER_REGNO): Likewise.
8943 * config/c6x/c6x.cc: Likewise.
8944 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
8945 (DEBUGGER_REGNO): Likewise.
8946 * config/cris/cris.h (enum reg_class): Likewise.
8947 (DBX_REGISTER_NUMBER): Likewise.
8948 (DEBUGGER_REGNO): Likewise.
8949 * config/csky/csky.cc (enum reg_class): Likewise.
8950 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
8951 (DBX_REGISTER_NUMBER): Likewise.
8952 (DEBUGGER_REGNO): Likewise.
8953 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
8954 (DEBUGGER_REGNO): Likewise.
8955 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
8956 (DEBUGGER_REGNO): Likewise.
8957 * config/gcn/gcn.cc (print_operand): Likewise.
8958 * config/i386/bsd.h (ASM_QUAD): Likewise.
8959 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
8960 (DEBUGGER_REGNO): Likewise.
8961 (DWARF_FRAME_REGNUM): Likewise.
8962 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
8963 (DEBUGGER_REGNO): Likewise.
8964 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
8965 (DEBUGGER_REGNO): Likewise.
8966 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
8967 (DEBUGGER_REGNO): Likewise.
8968 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
8969 (DEBUGGER_REGNO): Likewise.
8970 * config/i386/gas.h: Likewise.
8971 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
8972 (DEBUGGER_REGNO): Likewise.
8973 * config/i386/i386.cc (enum reg_class): Likewise.
8974 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
8975 (DEBUGGER_REGNO): Likewise.
8976 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
8977 (DEBUGGER_REGNO): Likewise.
8978 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
8979 (DEBUGGER_REGNO): Likewise.
8980 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
8981 (DEBUGGER_REGNO): Likewise.
8982 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
8983 (DEBUGGER_REGNO): Likewise.
8984 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
8985 (DEBUGGER_REGNO): Likewise.
8986 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
8987 (DEBUGGER_REGNO): Likewise.
8988 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
8989 (DEBUGGER_REGNO): Likewise.
8990 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
8991 (DEBUGGER_REGNO): Likewise.
8992 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
8993 (DEBUGGER_REGNO): Likewise.
8994 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
8995 (ia64_debugger_regno): Likewise.
8996 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
8997 (ia64_dbx_regno): Likewise.
8998 (ia64_debugger_regno): Likewise.
8999 (process_cfa_adjust_cfa): Likewise.
9000 (process_cfa_register): Likewise.
9001 (ia64_asm_unwind_emit): Likewise.
9002 * config/ia64/ia64.h: Likewise.
9003 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
9004 (DEBUGGER_REGNO): Likewise.
9005 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
9006 (DEBUGGER_REGNO): Likewise.
9007 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
9008 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
9009 (DEBUGGER_REGNO): Likewise.
9010 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
9011 (DEBUGGER_REGNO): Likewise.
9012 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
9013 (DEBUGGER_REGNO): Likewise.
9014 (__transfer_from_trampoline): Likewise.
9015 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
9016 (DEBUGGER_REGNO): Likewise.
9017 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
9018 (DBX_REGISTER_NUMBER): Likewise.
9019 (DEBUGGER_REGNO): Likewise.
9020 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
9021 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
9022 (DEBUGGER_REGNO): Likewise.
9023 (GP_DBX_FIRST): Likewise.
9024 (GP_DEBUGGER_FIRST): Likewise.
9025 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
9026 (DEBUGGER_REGNO): Likewise.
9027 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
9028 (mmix_debugger_regno): Likewise.
9029 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
9030 (mmix_debugger_regno): Likewise.
9031 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
9032 (DEBUGGER_REGNO): Likewise.
9033 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
9034 (nds32_debugger_regno): Likewise.
9035 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
9036 (nds32_debugger_regno): Likewise.
9037 (nds32_use_blocks_for_constant_p): Likewise.
9038 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
9039 (DEBUGGER_REGNO): Likewise.
9040 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
9041 (DEBUGGER_REGNO): Likewise.
9042 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
9043 (DEBUGGER_REGNO): Likewise.
9044 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
9045 (DEBUGGER_REGNO): Likewise.
9046 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
9047 (DEBUGGER_REGNO): Likewise.
9048 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
9049 (rs6000_debugger_regno): Likewise.
9050 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
9051 (rs6000_debugger_regno): Likewise.
9052 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
9053 (DEBUGGER_REGNO): Likewise.
9054 (DWARF2_FRAME_REG_OUT): Likewise.
9055 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
9056 (DEBUGGER_REGNO): Likewise.
9057 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
9058 (DEBUGGER_REGNO): Likewise.
9059 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
9060 (DEBUGGER_REGNO): Likewise.
9061 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
9062 (DEBUGGER_REGNO): Likewise.
9063 (SH_DBX_REGISTER_NUMBER): Likewise.
9064 (SH_DEBUGGER_REGNO): Likewise.
9065 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
9066 (DEBUGGER_REGNO): Likewise.
9067 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
9068 (DEBUGGER_REGNO): Likewise.
9069 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
9070 (DEBUGGER_REGNO): Likewise.
9071 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
9072 (DEBUGGER_REGNO): Likewise.
9073 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
9074 (xtensa_debugger_regno): Likewise.
9075 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
9076 (xtensa_debugger_regno): Likewise.
9077 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
9078 (DEBUGGER_REGNO): Likewise.
9079 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
9080 (DEBUGGER_REGNO): Likewise.
9081 (DWARF_FRAME_REGNUM): Likewise.
9082 * doc/tm.texi: Likewise.
9083 * doc/tm.texi.in: Likewise.
9084 * dwarf2out.cc (dbx_reg_number): Likewise.
9085 (debugger_reg_number): Likewise.
9086 (reg_loc_descriptor): Likewise.
9087 (multiple_reg_loc_descriptor): Likewise.
9088 (mem_loc_descriptor): Likewise.
9089 * except.cc: Likewise.
9090
9091 2022-09-05 konglin1 <lingling.kong@intel.com>
9092
9093 PR target/106742
9094 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
9095 Handle V8BF mode.
9096 (expand_vec_perm_broadcast_1): Ditto.
9097 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
9098 (vec_set<mode>_0): Add @ to it.
9099 (@vec_set<mode>_0): Ditto.
9100 (vec_interleave_high<mode><mask_name>): Ditto.
9101 (@vec_interleave_high<mode><mask_name>): Ditto.
9102 (vec_interleave_low<mode><mask_name>): Ditto.
9103 (@vec_interleave_low<mode><mask_name>): Ditto.
9104 * config/i386/subst.md (SUBST_V): Add BF vector mode.
9105
9106 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
9107
9108 * value-range.cc (early_nan_resolve): Remove.
9109 (frange::intersect): Handle NANs.
9110
9111 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
9112
9113 * value-range.cc (frange::union_): Do not drop properties when
9114 unioning a NAN with something else.
9115 (range_tests_signed_zeros): Add tests.
9116
9117 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
9118
9119 * real.cc (encode_ieee_single): Use real_isdenormal.
9120 (encode_ieee_double): Same.
9121 (encode_ieee_extended): Same.
9122 (encode_ieee_quad): Same.
9123 (encode_ieee_half): Same.
9124 (encode_arm_bfloat_half): Same.
9125 * real.h (real_isdenormal): New.
9126
9127 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
9128
9129 * value-range.cc (frange::singleton_p): Move NAN check to the top.
9130
9131 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
9132
9133 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
9134
9135 2022-09-03 Jakub Jelinek <jakub@redhat.com>
9136
9137 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
9138 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
9139 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
9140 (enum omp_clause_doacross_kind): New type.
9141 (struct tree_omp_clause): Add subcode.doacross_kind member.
9142 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
9143 (OMP_CLAUSE_DOACROSS_KIND): Define.
9144 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
9145 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
9146 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
9147 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
9148 OMP_CLAUSE_DOACROSS entries.
9149 * tree-nested.cc (convert_nonlocal_omp_clauses,
9150 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
9151 * tree-pretty-print.cc (dump_omp_clause): Don't handle
9152 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
9153 OMP_CLAUSE_DOACROSS.
9154 * gimplify.cc (gimplify_omp_depend): Don't handle
9155 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
9156 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
9157 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
9158 (find_standalone_omp_ordered): New function.
9159 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
9160 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
9161 set OMP_CLAUSE_ORDERED_DOACROSS.
9162 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
9163 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
9164 diagnostics that presence or absence of ordered clause parameter
9165 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
9166 actual user name of the clause - doacross or depend - in diagnostics.
9167 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
9168 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
9169 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
9170 set fd->ordered to -1 and set it after the loop in that case to
9171 fd->collapse.
9172 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
9173 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
9174 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
9175 or depend - in diagnostics. Diagnose mixing of stand-alone and
9176 block associated ordered constructs binding to the same loop.
9177 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
9178 instead handle OMP_CLAUSE_DOACROSS.
9179 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
9180 OMP_CLAUSE_DEPEND.
9181 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
9182 OMP_CLAUSE_DEPEND_SINK.
9183 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
9184 doacross(sink:omp_cur_iteration-1).
9185 (expand_omp_ordered_source_sink): Use
9186 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
9187 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
9188 - doacross or depend - in diagnostics.
9189 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
9190 OMP_CLAUSE_DEPEND.
9191 (build_omp_regions_1): Likewise.
9192 (omp_make_gimple_edges): Likewise.
9193 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
9194 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
9195 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
9196
9197 2022-09-02 David Malcolm <dmalcolm@redhat.com>
9198
9199 PR c/90885
9200 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
9201
9202 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
9203
9204 PR d/105659
9205 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
9206 * config/aarch64/aarch64-d.cc: Include tm_d.h.
9207 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
9208 config/aarch64/aarch64-d.h.
9209 (aarch64_d_register_target_info): Likewise.
9210 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
9211 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9212 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
9213 tm_p.h.
9214 * config/arm/arm-protos.h (arm_d_target_versions): Move to
9215 config/arm/arm-d.h.
9216 (arm_d_register_target_info): Likewise.
9217 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
9218 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9219 * config/default-d.cc: Remove memmodel.h include.
9220 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
9221 * config/glibc-d.cc: Likewise.
9222 * config/i386/i386-d.cc: Include tm_d.h.
9223 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
9224 config/i386/i386-d.h.
9225 (ix86_d_register_target_info): Likewise.
9226 (ix86_d_has_stdcall_convention): Likewise.
9227 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
9228 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9229 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
9230 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
9231 * config/mips/mips-d.cc: Include tm_d.h.
9232 * config/mips/mips-protos.h (mips_d_target_versions): Move to
9233 config/mips/mips-d.h.
9234 (mips_d_register_target_info): Likewise.
9235 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
9236 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9237 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
9238 * config/openbsd-d.cc: Likewise.
9239 * config/pa/pa-d.cc: Include tm_d.h.
9240 * config/pa/pa-protos.h (pa_d_target_versions): Move to
9241 config/pa/pa-d.h.
9242 (pa_d_register_target_info): Likewise.
9243 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
9244 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9245 * config/riscv/riscv-d.cc: Include tm_d.h.
9246 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
9247 config/riscv/riscv-d.h.
9248 (riscv_d_register_target_info): Likewise.
9249 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
9250 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9251 * config/rs6000/rs6000-d.cc: Include tm_d.h.
9252 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
9253 config/rs6000/rs6000-d.h.
9254 (rs6000_d_register_target_info): Likewise.
9255 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
9256 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
9257 * config/s390/s390-d.cc: Include tm_d.h.
9258 * config/s390/s390-protos.h (s390_d_target_versions): Move to
9259 config/s390/s390-d.h.
9260 (s390_d_register_target_info): Likewise.
9261 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
9262 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9263 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
9264 * config/sparc/sparc-d.cc: Include tm_d.h.
9265 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
9266 config/sparc/sparc-d.h.
9267 (sparc_d_register_target_info): Likewise.
9268 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
9269 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9270 * configure: Regenerate.
9271 * configure.ac (tm_d_file): Remove defaults.h.
9272 (tm_d_include_list): Remove options.h and insn-constants.h.
9273 * config/aarch64/aarch64-d.h: New file.
9274 * config/arm/arm-d.h: New file.
9275 * config/i386/i386-d.h: New file.
9276 * config/mips/mips-d.h: New file.
9277 * config/pa/pa-d.h: New file.
9278 * config/riscv/riscv-d.h: New file.
9279 * config/rs6000/rs6000-d.h: New file.
9280 * config/s390/s390-d.h: New file.
9281 * config/sparc/sparc-d.h: New file.
9282
9283 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
9284
9285 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
9286 (fold_builtin_fpclassify): Same.
9287 * fold-const-call.cc (fold_const_call_cc): Same.
9288 * match.pd: Same.
9289 * omp-low.cc (omp_reduction_init_op): Same.
9290 * realmpfr.cc (real_from_mpfr): Same.
9291 * tree.cc (build_complex_inf): Same.
9292
9293 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
9294
9295 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
9296 NOP_EXPR for MMA pointer casting.
9297
9298 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
9299
9300 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
9301 Reduce the fallback cost to 1. Only use it if the number of
9302 input lanes is equal to the number of output lanes.
9303
9304 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
9305
9306 PR tree-optimization/106787
9307 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
9308 from...
9309 (vect_bb_partition_graph_r): ...here. Replace the visited set
9310 with a map from nodes to instances. Ensure that a node only
9311 appears in one partition.
9312 (vect_bb_partition_graph): Update accordingly.
9313
9314 2022-09-02 Richard Biener <rguenther@suse.de>
9315
9316 * timevar.def (TV_TREE_RPO_VN): New.
9317 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
9318 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
9319 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
9320 (pass_fre::execute): Adjust.
9321 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
9322
9323 2022-09-02 Richard Biener <rguenther@suse.de>
9324
9325 PR tree-optimization/106809
9326 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
9327 more than one successor before doing extra work.
9328
9329 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
9330
9331 * common/config/riscv/riscv-common.cc: Include <vector>.
9332 (struct riscv_multi_lib_info_t): New.
9333 (riscv_subset_list::match_score): Ditto.
9334 (find_last_appear_switch): Ditto.
9335 (prefixed_with): Ditto.
9336 (struct multi_lib_info_t): Ditto.
9337 (riscv_current_arch_str): Ditto.
9338 (riscv_current_abi_str): Ditto.
9339 (riscv_multi_lib_info_t::parse): Ditto.
9340 (riscv_check_cond): Ditto.
9341 (riscv_check_conds): Ditto.
9342 (riscv_compute_multilib): Ditto.
9343 (TARGET_COMPUTE_MULTILIB): Defined.
9344 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
9345 doing link.
9346 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
9347 * config/riscv/riscv.h (riscv_multi_lib_check): New.
9348 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
9349 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
9350
9351 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
9352
9353 * common/common-target.def (compute_multilib): New.
9354 * common/common-targhooks.h (default_compute_multilib): New.
9355 * common/common-targhooks.cc (default_compute_multilib): New.
9356 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
9357 * doc/tm.texi: Regen.
9358 * gcc.cc: Include common/common-target.h.
9359 (set_multilib_dir) Call targetm_common.compute_multilib.
9360 (SWITCH_LIVE): Move to opts.h.
9361 (SWITCH_FALSE): Ditto.
9362 (SWITCH_IGNORE): Ditto.
9363 (SWITCH_IGNORE_PERMANENTLY): Ditto.
9364 (SWITCH_KEEP_FOR_GCC): Ditto.
9365 (struct switchstr): Ditto.
9366 * opts.h (SWITCH_LIVE): Move from gcc.c.
9367 (SWITCH_FALSE): Ditto.
9368 (SWITCH_IGNORE): Ditto.
9369 (SWITCH_IGNORE_PERMANENTLY): Ditto.
9370 (SWITCH_KEEP_FOR_GCC): Ditto.
9371 (struct switchstr): Ditto.
9372
9373 2022-09-02 Martin Liska <mliska@suse.cz>
9374
9375 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
9376 debugging format.
9377
9378 2022-09-02 Martin Liska <mliska@suse.cz>
9379
9380 * Makefile.in: Remove -gstabs option support, DBX-related
9381 macros and DBX debugging info support.
9382 * collect2.cc (scan_prog_file): Likewise.
9383 * common.opt: Likewise.
9384 * config.gcc: Likewise.
9385 * config.in: Likewise.
9386 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
9387 * config/alpha/alpha.cc: Likewise.
9388 * config/alpha/elf.h (ASM_SPEC): Likewise.
9389 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
9390 (DBX_CONTIN_LENGTH): Likewise.
9391 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
9392 (DBX_CONTIN_LENGTH): Likewise.
9393 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
9394 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
9395 (ASM_DEBUG_SPEC): Likewise.
9396 (DBX_DEBUGGING_INFO): Likewise.
9397 (DBX_USE_BINCL): Likewise.
9398 (DBX_CONTIN_LENGTH): Likewise.
9399 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9400 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
9401 (DBX_CONTIN_LENGTH): Likewise.
9402 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
9403 (DBX_CONTIN_LENGTH): Likewise.
9404 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
9405 (DBX_CONTIN_LENGTH): Likewise.
9406 * config/ia64/ia64.h: Likewise.
9407 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
9408 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
9409 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
9410 (DBX_CONTIN_LENGTH): Likewise.
9411 (DBX_CONTIN_CHAR): Likewise.
9412 * config/mips/mips.cc (mips_output_filename): Likewise.
9413 (mips_option_override): Likewise.
9414 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
9415 (DBX_DEBUGGING_INFO): Likewise.
9416 (DBX_CONTIN_LENGTH): Likewise.
9417 (DBX_REGISTER_NUMBER): Likewise.
9418 (GP_DBX_FIRST): Likewise.
9419 (FP_DBX_FIRST): Likewise.
9420 (MD_DBX_FIRST): Likewise.
9421 * config/nvptx/nvptx.cc: Likewise.
9422 * config/openbsd.h (DBX_NO_XREFS): Likewise.
9423 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
9424 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
9425 (DBX_CONTIN_LENGTH): Likewise.
9426 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
9427 (DBX_USE_BINCL): Likewise.
9428 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
9429 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9430 * config/pdp11/pdp11.cc: Likewise.
9431 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
9432 (PREFERRED_DEBUGGING_TYPE): Likewise.
9433 (DBX_CONTIN_LENGTH): Likewise.
9434 * config/rs6000/rs6000-builtin.cc: Likewise.
9435 * config/rs6000/rs6000-call.cc: Likewise.
9436 * config/rs6000/rs6000-logue.cc (defined): Likewise.
9437 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
9438 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
9439 (rs6000_xcoff_declare_function_name): Likewise.
9440 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
9441 (DBX_FUNCTION_FIRST): Likewise.
9442 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
9443 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
9444 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
9445 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9446 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
9447 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
9448 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
9449 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
9450 * config/vax/vax.cc (vax_file_start): Likewise.
9451 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
9452 (DBX_CONTIN_LENGTH): Likewise.
9453 (DBX_CONTIN_CHAR): Likewise.
9454 (DBX_NO_XREFS): Likewise.
9455 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
9456 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
9457 (XCOFF_DEBUGGING_INFO): Likewise.
9458 * configure: Regenerate. Likewise.
9459 * configure.ac: Likewise.
9460 * debug.h: Likewise.
9461 * doc/install.texi: Likewise.
9462 * doc/invoke.texi: Likewise.
9463 * doc/passes.texi: Likewise.
9464 * doc/tm.texi: Likewise.
9465 * doc/tm.texi.in: Likewise.
9466 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
9467 (dw2_asm_output_nstring): Likewise.
9468 (USE_LINKONCE_INDIRECT): Likewise.
9469 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
9470 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
9471 (output_fde): Likewise.
9472 (output_call_frame_info): Likewise.
9473 (have_macinfo): Likewise.
9474 (add_AT_loc_list): Likewise.
9475 (add_AT_view_list): Likewise.
9476 (output_compilation_unit_header): Likewise.
9477 (output_pubnames): Likewise.
9478 (output_aranges): Likewise.
9479 (output_line_info): Likewise.
9480 (output_macinfo): Likewise.
9481 (dwarf2out_finish): Likewise.
9482 (dwarf2out_early_finish): Likewise.
9483 * final.cc (final_scan_insn_1): Likewise.
9484 (rest_of_handle_final): Likewise.
9485 * flag-types.h (enum debug_info_type): Likewise.
9486 (DBX_DEBUG): Likewise.
9487 (XCOFF_DEBUG): Likewise.
9488 * function.cc (defined): Likewise.
9489 * gcc.cc (defined): Likewise.
9490 (ASM_DEBUG_SPEC): Likewise.
9491 (ASM_DEBUG_OPTION_SPEC): Likewise.
9492 * opts.cc (common_handle_option): Likewise.
9493 (set_debug_level): Likewise.
9494 * system.h (fancy_abort): Likewise.
9495 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
9496 (TARGET_ASM_DESTRUCTOR): Likewise.
9497 * toplev.cc (defined): Likewise.
9498 * varasm.cc: Likewise.
9499 * config/dbxcoff.h: Removed.
9500 * config/dbxelf.h: Removed.
9501 * dbxout.cc: Removed.
9502 * dbxout.h: Removed.
9503 * gstab.h: Removed.
9504 * stab.def: Removed.
9505 * xcoffout.cc: Removed.
9506 * xcoffout.h: Removed.
9507
9508 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
9509
9510 PR ipa/106627
9511 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
9512 Set TREE_NOTHROW correctly for dispatcher declaration.
9513 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9514 Likewise.
9515
9516 2022-09-01 Tamar Christina <tamar.christina@arm.com>
9517
9518 PR other/106782
9519 * config/aarch64/aarch64.cc
9520 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
9521 HOST_WIDE_INT_PRINT_UNSIGNED.
9522
9523 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
9524
9525 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
9526 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
9527 to the number of vector elements, if that's a known constant.
9528 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
9529 comment about zero SLP_TREE_LANES.
9530 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
9531 all partition members when looking for potential layouts.
9532 Handle existing permutes of fixed-length vectors.
9533
9534 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
9535
9536 PR target/106707
9537 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
9538 Do not convert a move pattern where both operands are AX_REG.
9539
9540 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9541
9542 * range-op-float.cc (build_le): Convert to dconst*inf.
9543 (build_ge): Same.
9544 * value-range.cc (frange::set_signbit): Same.
9545 (frange::normalize_kind): Same.
9546 (range_tests_floats): Same.
9547 * value-range.h (vrp_val_max): Same.
9548 (vrp_val_min): Same.
9549 (frange::set_varying): Same.
9550
9551 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9552
9553 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
9554 dconstninf.
9555 * real.h: Add dconstinf and dconstninf.
9556
9557 2022-09-01 Richard Biener <rguenther@suse.de>
9558
9559 * gimple-predicate-analysis.cc (compute_control_dep_chain):
9560 Remove cycle detection, instead avoid walking backedges.
9561
9562 2022-09-01 Richard Biener <rguenther@suse.de>
9563
9564 * gimple-predicate-analysis.cc (compute_control_dep_chain):
9565 New wrapping overload.
9566 (uninit_analysis::init_use_preds): Simplify.
9567 (uninit_analysis::init_from_phi_def): Likewise.
9568
9569 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9570
9571 * gimple-range-fold.cc
9572 (fold_using_range::range_of_builtin_int_call): Add case for
9573 CFN_BUILT_IN_SIGNBIT.
9574
9575 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9576
9577 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
9578 bit.
9579 (foperator_not_equal::op1_range): Same.
9580 * value-query.cc (range_query::get_tree_range): Set sign bit.
9581 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
9582 * value-range.cc (frange::set_signbit): New.
9583 (frange::set): Adjust for sign bit.
9584 (frange::normalize_kind): Same.
9585 (frange::union_): Remove useless comment.
9586 (frange::intersect): Same.
9587 (frange::contains_p): Adjust for sign bit.
9588 (frange::singleton_p): Same.
9589 (frange::verify_range): Same.
9590 (range_tests_signbit): New tests.
9591 (range_tests_floats): Call range_tests_signbit.
9592 * value-range.h (class frange_props): Add signbit
9593 (class frange): Same.
9594
9595 2022-09-01 Jakub Jelinek <jakub@redhat.com>
9596
9597 PR other/106782
9598 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
9599 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
9600 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
9601 derived types of gimple to gimple * to avoid -Wformat warnings.
9602 * tree-vect-loop-manip.cc (vect_set_loop_condition,
9603 vect_update_ivs_after_vectorizer): Likewise.
9604 * tree-vect-stmts.cc (vectorizable_load): Likewise.
9605 * tree-vect-patterns.cc (vect_split_statement,
9606 vect_recog_mulhs_pattern, vect_recog_average_pattern,
9607 vect_determine_precisions_from_range,
9608 vect_determine_precisions_from_users): Likewise.
9609 * gimple-loop-versioning.cc
9610 (loop_versioning::analyze_term_using_scevs): Likewise.
9611 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
9612 (vect_build_slp_tree): Cast slp_tree to void * to avoid
9613 -Wformat warnings.
9614 (optimize_load_redistribution_1, vect_match_slp_patterns,
9615 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
9616 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
9617 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
9618 (vect_print_slp_tree): Likewise. Also use
9619 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
9620 * tree-vect-loop.cc (vect_determine_vectorization_factor,
9621 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
9622 vectorizable_induction, vect_transform_loop): Cast pointers to derived
9623 types of gimple to gimple * to avoid -Wformat warnings.
9624 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
9625 -Wformat warnings.
9626 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
9627 instead of %d.
9628 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
9629 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
9630 instead of SLP_TREE_DEF_TYPE (node).
9631
9632 2022-09-01 Jakub Jelinek <jakub@redhat.com>
9633
9634 PR c++/106655
9635 * doc/invoke.texi (-Winvalid-utf8): Document it.
9636
9637 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9638
9639 PR tree-optimization/106785
9640 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
9641 (range_tests_floats): Same.
9642
9643 2022-09-01 konglin1 <lingling.kong@intel.com>
9644
9645 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
9646 recognition.
9647
9648 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
9649
9650 PR target/101322
9651 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
9652 Enforce the use of a valid MMA pointer type.
9653
9654 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9655
9656 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
9657 registers.
9658
9659 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9660
9661 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
9662 (riscv_output_move): Add csrr vlenb assembly.
9663 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
9664 (ext): New attribute.
9665 (ext_enabled): Ditto.
9666 (enabled): Ditto.
9667
9668 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9669
9670 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
9671 "vr" constraint.
9672 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
9673 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
9674 (vp): Add poly constraint.
9675
9676 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9677
9678 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
9679
9680 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9681
9682 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
9683 configuration according to TARGET_MIN_VLEN.
9684 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
9685
9686 2022-08-31 Martin Liska <mliska@suse.cz>
9687
9688 * config.build: Remove deprecated ports.
9689 * config.gcc: Likewise.
9690 * config.host: Likewise.
9691 * configure.ac: Likewise.
9692 * configure: Regenerate.
9693 * config/pa/pa-hpux10.h: Removed.
9694 * config/pa/pa-hpux10.opt: Removed.
9695 * config/pa/t-dce-thr: Removed.
9696
9697 2022-08-31 Martin Liska <mliska@suse.cz>
9698
9699 * Makefile.in: Always install limits.h and syslimits.h to
9700 include folder.
9701 * configure.ac: Assign STMP_FIXINC blank if
9702 --disable-fixincludes is used.
9703 * configure: Regenerate.
9704
9705 2022-08-31 Richard Biener <rguenther@suse.de>
9706
9707 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9708 Assert the guard_bb isn't empty and has more than one successor.
9709 Drop appropriate parts of the predicate when an edge fails to
9710 register a predicate.
9711 (predicate::dump): Dump empty predicate as TRUE.
9712
9713 2022-08-31 Richard Biener <rguenther@suse.de>
9714
9715 PR tree-optimization/90994
9716 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9717 Ignore exceptional control flow and skip the edge for the purpose of
9718 predicate generation also for non-calls.
9719
9720 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
9721
9722 * value-range-storage.cc (frange_storage_slot::set_frange): Save
9723 endpoints.
9724 (frange_storage_slot::get_frange): Restore endpoints.
9725 * value-range-storage.h (class frange_storage_slot): Add endpoint
9726 fields.
9727
9728 2022-08-31 Martin Liska <mliska@suse.cz>
9729
9730 PR tree-optimization/106789
9731 * range-op-float.cc (default_frelop_fold_range): Remove the
9732 function.
9733
9734 2022-08-31 Martin Liska <mliska@suse.cz>
9735
9736 * value-range.h: Add more override keywords.
9737
9738 2022-08-31 Martin Liska <mliska@suse.cz>
9739
9740 * value-range.h: Add override.
9741
9742 2022-08-31 Richard Biener <rguenther@suse.de>
9743
9744 PR tree-optimization/65244
9745 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
9746 Add argument to specify whether the predicate is for the USE.
9747 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9748 Also include predicates effective fallthru control edges when
9749 the predicate is for the USE.
9750
9751 2022-08-31 Richard Biener <rguenther@suse.de>
9752
9753 PR tree-optimization/73550
9754 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9755 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
9756 (predicate::dump): Adjust for better readability.
9757
9758 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9759 Jakub Jelinek <jakub@redhat.com>
9760
9761 * omp-simd-clone.cc (simd_clone_adjust_return_type,
9762 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
9763 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
9764
9765 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
9766
9767 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
9768 argument.
9769
9770 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
9771
9772 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
9773 initialize const_vf to 0.
9774
9775 2022-08-31 Martin Liska <mliska@suse.cz>
9776
9777 * config.gcc: Remove cr16.
9778
9779 2022-08-30 Martin Jambor <mjambor@suse.cz>
9780
9781 * vec.h (array_slice): Add constructors for non-const reference to
9782 heap vector and pointers to heap vectors.
9783
9784 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9785
9786 * value-range.cc (early_nan_resolve): Change comment.
9787 (frange::union_): Handle union when one side is a NAN.
9788 (range_tests_nan): Add tests for NAN union.
9789
9790 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
9791
9792 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
9793 (gcn_simd_clone_adjust): New.
9794 (gcn_simd_clone_usable): New.
9795 (TARGET_SIMD_CLONE_ADJUST): New.
9796 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
9797 (TARGET_SIMD_CLONE_USABLE): New.
9798
9799 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
9800
9801 * doc/tm.texi: Regenerate.
9802 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
9803 vecsize.
9804 (simd_clone_adjust_argument_types): Likewise.
9805 * target.def (compute_vecsize_and_simdlen): Document the new
9806 vecsize_int and vecsize_float semantics.
9807
9808 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9809
9810 * expmed.cc (store_bit_field_1): Fix byte offset calculation
9811 for undefined structures.
9812
9813 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9814
9815 * params.opt (-param=vect-max-layout-candidates=): New parameter.
9816 * doc/invoke.texi (vect-max-layout-candidates): Document it.
9817 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
9818 (auto_load_permutation_t): Likewise.
9819 * tree-vect-slp.cc (vect_slp_node_weight): New function.
9820 (slpg_layout_cost): New class.
9821 (slpg_vertex): Replace perm_in and perm_out with partition,
9822 out_degree, weight and out_weight.
9823 (slpg_partition_info, slpg_partition_layout_costs): New classes.
9824 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
9825 the previous vect_optimize_slp.
9826 (vect_optimize_slp): Use it.
9827
9828 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9829
9830 * hash-traits.h (vec_hash_base): New class.
9831 (vec_free_hash_base): Likewise.
9832
9833 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9834
9835 * hash-traits.h (int_hash_base): New struct, split out from...
9836 (int_hash): ...this class, which now inherits from int_hash_base.
9837 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
9838 parameter for the key that provides hash and equality functions.
9839 (unbounded_int_hashmap_traits): Turn into a type alias of
9840 unbounded_hashmap_traits.
9841
9842 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9843
9844 * graphds.cc (graphds_scc): Add a pass-back parameter for the
9845 final node order.
9846 * graphds.h (graphds_scc): Update prototype accordingly.
9847
9848 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9849
9850 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
9851 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
9852 of STMT_VINFO_VECTYPE.
9853
9854 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9855
9856 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
9857 (vectorizable_slp_permutation): ...here.
9858
9859 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9860
9861 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
9862 that the requested number of units is interoperable with the requested
9863 prevailing mode.
9864
9865 2022-08-30 Martin Liska <mliska@suse.cz>
9866
9867 * config.gcc: Remove the port.
9868 * config/m32c/rtems.h: Removed.
9869
9870 2022-08-30 Richard Biener <rguenther@suse.de>
9871
9872 PR tree-optimization/73550
9873 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9874 Do not apply MAX_NUM_CHAINS again.
9875
9876 2022-08-30 Richard Biener <rguenther@suse.de>
9877
9878 * gimple-predicate-analysis.cc (format_edge_vec): Dump
9879 both source and destination.
9880 (dump_dep_chains): Remove.
9881 (uninit_analysis::init_use_preds): Remove redundant
9882 dumping of chains.
9883
9884 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9885
9886 * value-range-storage.cc (frange_storage_slot::get_frange): Use
9887 frange_nan.
9888 * value-range.cc (frange::set_nan): New.
9889 (frange_nan): Move to header file.
9890 (range_tests_nan): Adjust frange_nan callers to pass type.
9891 New test.
9892 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
9893 (frange_nan): New.
9894
9895 2022-08-30 Richard Biener <rguenther@suse.de>
9896
9897 PR tree-optimization/67196
9898 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
9899 Simplify and normalize use prediates before first use.
9900
9901 2022-08-30 Richard Biener <rguenther@suse.de>
9902
9903 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
9904 parentizing and AND prepending.
9905 (predicate::dump): Do not dump the GENERIC expanded
9906 predicate, properly parentize and prepend ORs to the
9907 piecewise predicate dump.
9908 (build_pred_expr): Remove.
9909
9910 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9911
9912 * range-op-float.cc (finite_operand_p): New.
9913 (build_le): New.
9914 (build_lt): New.
9915 (build_ge): New.
9916 (build_gt): New.
9917 (foperator_equal::fold_range): New implementation with endpoints.
9918 (foperator_equal::op1_range): Same.
9919 (foperator_not_equal::fold_range): Same.
9920 (foperator_not_equal::op1_range): Same.
9921 (foperator_lt::fold_range): Same.
9922 (foperator_lt::op1_range): Same.
9923 (foperator_lt::op2_range): Same.
9924 (foperator_le::fold_range): Same.
9925 (foperator_le::op1_range): Same.
9926 (foperator_le::op2_range): Same.
9927 (foperator_gt::fold_range): Same.
9928 (foperator_gt::op1_range): Same.
9929 (foperator_gt::op2_range): Same.
9930 (foperator_ge::fold_range): Same.
9931 (foperator_ge::op1_range): Same.
9932 (foperator_ge::op2_range): Same.
9933
9934 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9935
9936 * range-op-float.cc (frange_set_nan): New.
9937 (frange_drop_inf): New.
9938 (frange_drop_ninf): New.
9939 (foperator_equal::op1_range): Adjust for endpoints.
9940 (foperator_lt::op1_range): Same.
9941 (foperator_lt::op2_range): Same.
9942 (foperator_gt::op1_range): Same.
9943 (foperator_gt::op2_range): Same.
9944 (foperator_unordered::op1_range): Same.
9945 * value-query.cc (range_query::get_tree_range): Same.
9946 * value-range-pretty-print.cc (vrange_printer::visit): Same.
9947 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
9948 * value-range.cc (frange::set): Same.
9949 (frange::normalize_kind): Same.
9950 (frange::union_): Same.
9951 (frange::intersect): Same.
9952 (frange::operator=): Same.
9953 (early_nan_resolve): New.
9954 (frange::contains_p): New.
9955 (frange::singleton_p): New.
9956 (frange::set_nonzero): New.
9957 (frange::nonzero_p): New.
9958 (frange::set_zero): New.
9959 (frange::zero_p): New.
9960 (frange::set_nonnegative): New.
9961 (frange_float): New.
9962 (frange_nan): New.
9963 (range_tests_nan): New.
9964 (range_tests_signed_zeros): New.
9965 (range_tests_floats): New.
9966 (range_tests): New.
9967 * value-range.h (frange::lower_bound): New.
9968 (frange::upper_bound): New.
9969 (vrp_val_min): Use real_inf with a sign instead of negating inf.
9970 (frange::frange): New.
9971 (frange::set_varying): Adjust for endpoints.
9972 (real_max_representable): New.
9973 (real_min_representable): New.
9974
9975 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9976
9977 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
9978 for real zero.
9979
9980 2022-08-30 Martin Liska <mliska@suse.cz>
9981
9982 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
9983 argument.
9984
9985 2022-08-30 Richard Biener <rguenther@suse.de>
9986
9987 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
9988 the set of fallthru reachable blocks from function entry
9989 and use that to determine wlims.always_executed.
9990
9991 2022-08-30 Richard Biener <rguenther@suse.de>
9992
9993 PR tree-optimization/56654
9994 * tree-ssa-uninit.cc (cand_cmp): New.
9995 (find_uninit_use): First process all PHIs and collect candidate
9996 stmts, then sort those after RPO.
9997 (warn_uninitialized_phi): Pass on bb_to_rpo.
9998 (execute_late_warn_uninitialized): Compute and pass on
9999 reverse lookup of RPO number from basic block index.
10000
10001 2022-08-30 Richard Biener <rguenther@suse.de>
10002
10003 * gimple-predicate-analysis.h (uninit_analysis::operator()):
10004 Remove.
10005 * gimple-predicate-analysis.cc
10006 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
10007 simplify a bit.
10008 * tree-ssa-uninit.cc (defined_args): New global.
10009 (compute_uninit_opnds_pos): Mask with the recorded set
10010 of guarded maybe-uninitialized uses.
10011 (uninit_undef_val_t::operator()): Remove.
10012 (find_uninit_use): Process all PHI uses, recording the
10013 guarded ones and marking the PHI result as uninitialized
10014 consistently.
10015 (warn_uninitialized_phi): Adjust.
10016 (execute_late_warn_uninitialized): Get rid of the PHI worklist
10017 and instead walk the function in RPO order.
10018 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
10019
10020 2022-08-30 Tamar Christina <tamar.christina@arm.com>
10021
10022 PR tree-optimization/106744
10023 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
10024
10025 2022-08-30 Tamar Christina <tamar.christina@arm.com>
10026
10027 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
10028
10029 2022-08-29 David Faust <david.faust@oracle.com>
10030
10031 PR target/106745
10032 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
10033 computation of index for anonymous members.
10034
10035 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
10036
10037 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
10038 target macro.
10039
10040 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
10041
10042 PR target/106748
10043 * config/i386/i386-expand.cc
10044 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
10045 * config/i386/sse.md (V_256H): Add V16BF.
10046
10047 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10048
10049 * config/s390/s390.cc (s390_address_cost): Declare.
10050 (s390_hard_regno_nregs): Declare.
10051 (s390_rtx_costs): Add handling for REG and MEM in SET.
10052
10053 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10054
10055 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
10056 (is_reverse_perm_mask): New function.
10057 (expand_perm_with_rot): Recognize reverse pattern.
10058 (expand_perm_with_vstbrq): New function.
10059 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
10060 (vectorize_vec_perm_const_1): Use.
10061 (s390_vectorize_vec_perm_const): Add expand functions.
10062 * config/s390/vx-builtins.md: Prefer vster over vler.
10063
10064 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10065
10066 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
10067 * config/s390/vector.md: Rewrite patterns to use vec_select.
10068 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
10069 Likewise.
10070
10071 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10072
10073 PR target/100869
10074 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
10075 (rotl<mode>3_di): New pattern.
10076 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
10077 elements.
10078
10079 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10080
10081 * config/s390/s390.cc (s390_issue_rate): Add z15.
10082
10083 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10084
10085 * common/config/s390/s390-common.cc: Enable -funroll-loops and
10086 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
10087 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
10088 loops larger than 12 instructions.
10089 (s390_override_options_after_change): Set unroll options.
10090 (s390_option_override_internal): Likewise.
10091 * config/s390/s390.opt: Document munroll-only-small-loops.
10092
10093 2022-08-29 Richard Biener <rguenther@suse.de>
10094
10095 * gimple-predicate-analysis.cc (is_loop_exit,
10096 find_control_equiv_block): Inline into single caller ...
10097 (uninit_analysis::init_use_preds): ... here and refactor.
10098
10099 2022-08-29 Richard Biener <rguenther@suse.de>
10100
10101 * gimple-predicate-analysis.cc (compute_control_dep_chain):
10102 Inline is_loop_exit and refactor, add comment about
10103 loop exits.
10104
10105 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
10106
10107 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
10108 (riscv_frame_info::reset(void)): New.
10109 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
10110 of memset when clean frame.
10111
10112 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
10113
10114 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
10115 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
10116 (riscv_address_insns): Add RVV modes condition.
10117 (riscv_binary_cost): Ditto.
10118 (riscv_rtx_costs): Adjust cost for RVV.
10119 (riscv_secondary_memory_needed): Add RVV modes condition.
10120 (riscv_hard_regno_nregs): Add RVV register allocation.
10121 (riscv_hard_regno_mode_ok): Add RVV register allocation.
10122 (riscv_class_max_nregs): Add RVV register allocation.
10123 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
10124 (UNITS_PER_V_REG): New macro.
10125 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
10126 (V_REG_FIRST): New macro.
10127 (V_REG_LAST): Ditto.
10128 (V_REG_NUM): Ditto.
10129 (V_REG_P): Ditto.
10130 (VL_REG_P): Ditto.
10131 (VTYPE_REG_P): Ditto.
10132 (RISCV_DWARF_VL): Ditto.
10133 (RISCV_DWARF_VTYPE): Ditto.
10134 (enum reg_class): Add RVV register types.
10135 (REG_CLASS_CONTENTS): Add RVV register types.
10136 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
10137
10138 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
10139
10140 * config/riscv/riscv.md: Add new type for vector instructions.
10141
10142 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
10143
10144 PR target/106017
10145 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
10146 of MMA pointer conversions.
10147
10148 2022-08-27 Xi Ruoyao <xry111@xry111.site>
10149
10150 * config/i386/gcc-auto-profile: Regenerate.
10151
10152 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10153
10154 * real.cc (real_iszero): New.
10155 * real.h (real_iszero): New.
10156
10157 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10158
10159 * real.cc (real_isinf): New overload.
10160 (real_inf): Add sign argument.
10161 * real.h (real_isinf): New overload.
10162 (real_inf): Add sign argument.
10163
10164 2022-08-26 Marek Polacek <polacek@redhat.com>
10165
10166 PR c++/81159
10167 * doc/invoke.texi: Document -Wself-move.
10168
10169 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10170
10171 * value-range.cc (vrange::set): Set varying.
10172 (vrange::set_nonzero): Same.
10173 (vrange::set_zero): Same.
10174 (vrange::set_nonnegative): Same.
10175
10176 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10177
10178 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
10179 copy op2 range when honoring signed zeros.
10180
10181 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10182
10183 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
10184 add newline.
10185 (profitable_path_p): Same.
10186
10187 2022-08-26 Richard Biener <rguenther@suse.de>
10188
10189 * gimple-predicate-analysis.h
10190 (uninit_analysis::use_cannot_happen): Remove.
10191 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
10192 (uninit_analysis::use_cannot_happen): Likewise.
10193 (uninit_analysis::is_use_guarded): Do not call
10194 use_cannot_happen.
10195 (dump_predicates): Remove.
10196 (simple_control_dep_chain): Remove edge overload.
10197
10198 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
10199
10200 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
10201 * internal-fn.def (GOMP_TARGET_REV): New.
10202 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
10203 'omp target device_ancestor_host' as in_other_partition and don't
10204 error if absent.
10205 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
10206 * omp-expand.cc (expand_omp_target): For reverse offload, remove
10207 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
10208 empty-body nohost function.
10209 * omp-offload.cc (execute_omp_device_lower): Handle
10210 IFN_GOMP_TARGET_REV.
10211 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
10212 nullify fn argument for reverse offload
10213
10214 2022-08-26 Jakub Jelinek <jakub@redhat.com>
10215
10216 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
10217 * builtins.cc (expand_builtin_issignaling): New function.
10218 (expand_builtin_signbit): Don't overwrite target.
10219 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
10220 (fold_builtin_classify): Likewise.
10221 (fold_builtin_1): Likewise.
10222 * optabs.def (issignaling_optab): New.
10223 * fold-const-call.cc (fold_const_call_ss): Handle
10224 BUILT_IN_ISSIGNALING.
10225 * config/i386/i386.md (issignalingxf2): New expander.
10226 * doc/extend.texi (__builtin_issignaling): Document.
10227 (__builtin_isinf, __builtin_isnan): Clarify behavior with
10228 -ffinite-math-only.
10229 * doc/md.texi (issignaling<mode>2): Likewise.
10230
10231 2022-08-26 Jakub Jelinek <jakub@redhat.com>
10232
10233 PR tree-optimization/106099
10234 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
10235 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
10236 __builtin_trap to avoid the need of vops.
10237
10238 2022-08-26 Richard Biener <rguenther@suse.de>
10239
10240 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
10241 New helper.
10242 (compute_control_dep_chain): Adjust to honor marked region
10243 if provided.
10244 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
10245 region to improve compute_control_dep_chain walking.
10246 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
10247
10248 2022-08-26 Richard Biener <rguenther@suse.de>
10249
10250 * gimple-predicate-analysis.cc
10251 (uninit_analysis::collect_phi_def_edges): Only expand a
10252 PHI def edge when it is possibly undefined.
10253
10254 2022-08-26 Martin Liska <mliska@suse.cz>
10255
10256 * doc/extend.texi: Remove cr16 related stuff.
10257 * doc/install.texi: Likewise.
10258 * doc/invoke.texi: Likewise.
10259 * doc/md.texi: Likewise.
10260 * function-tests.cc (test_expansion_to_rtl): Likewise.
10261 * common/config/cr16/cr16-common.cc: Removed.
10262 * config/cr16/constraints.md: Removed.
10263 * config/cr16/cr16-protos.h: Removed.
10264 * config/cr16/cr16.cc: Removed.
10265 * config/cr16/cr16.h: Removed.
10266 * config/cr16/cr16.md: Removed.
10267 * config/cr16/cr16.opt: Removed.
10268 * config/cr16/predicates.md: Removed.
10269 * config/cr16/t-cr16: Removed.
10270
10271 2022-08-26 liuhongt <hongtao.liu@intel.com>
10272
10273 PR target/106704
10274 * config/i386/i386-builtin.def (BDESC): Add
10275 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
10276 corresponding builtins.
10277 * config/i386/i386.cc (ix86_gimple_fold_builtin):
10278 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
10279 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
10280
10281 2022-08-25 Marek Polacek <polacek@redhat.com>
10282
10283 * ginclude/stddef.h: Define nullptr_t.
10284
10285 2022-08-25 Joseph Myers <joseph@codesourcery.com>
10286
10287 * gimplify.cc (gimplify_modify_expr): Convert initialization from
10288 a variable-size CONSTRUCTOR to memset before call to
10289 gimplify_modify_expr_rhs.
10290
10291 2022-08-25 Jason Merrill <jason@redhat.com>
10292
10293 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
10294
10295 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
10296
10297 PR target/106101
10298 * config/s390/predicates.md (subreg_register_operand): New
10299 predicate.
10300 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
10301 function prototype.
10302 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
10303 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
10304 gen_lowpart.
10305 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
10306 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
10307 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
10308 subreg_register_operand predicate instead of register_operand.
10309
10310 2022-08-25 Xi Ruoyao <xry111@xry111.site>
10311
10312 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
10313 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
10314 * config/loongarch/loongarch.cc (loongarch_attribute_table):
10315 New attribute table.
10316 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
10317 (loongarch_handle_model_attribute): New static function.
10318 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
10319 model attribute of SYMBOL_REF_DECL into account returning
10320 SYMBOL_PCREL or SYMBOL_PCREL64.
10321 (loongarch_use_anchors_for_symbol_p): New static function.
10322 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
10323 (loongarch_symbol_extreme_p): New static function.
10324 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
10325 (loongarch_symbol_insns): Likewise.
10326 (loongarch_split_symbol_type): Likewise.
10327 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
10328 TARGET_CMODEL_EXTREME for PC-relative addressing.
10329 (loongarch_print_operand_reloc): Likewise.
10330 * doc/extend.texi (Variable Attributes): Document new
10331 LoongArch specific attribute.
10332
10333 2022-08-25 Xi Ruoyao <xry111@xry111.site>
10334
10335 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
10336 Return early if the rtx is not SYMBOL_REF.
10337
10338 2022-08-25 Richard Biener <rguenther@suse.de>
10339
10340 PR tree-optimization/106737
10341 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
10342 verify SSA form.
10343
10344 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
10345
10346 PR target/106459
10347 * config/loongarch/loongarch.cc (loongarch_build_integer):
10348 Use HOST_WIDE_INT.
10349 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
10350 (HWIT_1U): New Defined.
10351 (LU12I_OPERAND): Use HOST_WIDE_INT.
10352 (LU32I_OPERAND): Likewise.
10353 (LU52I_OPERAND): Likewise.
10354 (HWIT_UC_0xFFF): Likwise.
10355
10356 2022-08-24 Andrew Pinski <apinski@marvell.com>
10357
10358 PR target/106632
10359 PR target/106588
10360 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
10361 instead of i.
10362 (*slliuw): Likewise.
10363 (*bexti): Likewise. Also add a check for operands[2] to be less
10364 than the mode bitsize.
10365
10366 2022-08-24 Andrew Pinski <apinski@marvell.com>
10367
10368 * config/riscv/constraints.md (DbS): New constraint.
10369 (DnS): New constraint.
10370 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
10371 (*bclr<mode>): Likewise.
10372 (*binvi<mode>): Likewise.
10373
10374 2022-08-24 Andrew Pinski <apinski@marvell.com>
10375
10376 PR target/106586
10377 * config/riscv/predicates.md (single_bit_mask_operand):
10378 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
10379 (not_single_bit_mask_operand): Likewise.
10380 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
10381 1<<31 for 32bits as it is already handled.
10382 Call trunc_int_for_mode on the upper part after the subtraction.
10383 (riscv_move_integer): Call trunc_int_for_mode before generating
10384 the integer just make sure the constant has been sign extended
10385 corectly.
10386 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
10387 addition for the new rhs.
10388 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
10389 then mask off the upper 32bits of the HWI as it will be sign extended.
10390
10391 2022-08-24 Andrew Pinski <apinski@marvell.com>
10392
10393 * config/riscv/constraints.md (DsS): New constraint.
10394 (DsD): New constraint.
10395 * config/riscv/iterators.md (shiftm1c): New iterator.
10396 * config/riscv/bitmanip.md (*bset<mode>_mask):
10397 Use shiftm1c.
10398 (*bset<mode>_1_mask): Likewise.
10399
10400 2022-08-24 Andrew Pinski <apinski@marvell.com>
10401
10402 * config/riscv/constraints.md (Ds3): New constraint.
10403 * config/riscv/predicates.md (imm123_operand): New predicate.
10404 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
10405 (*shNadduw): Likewise.
10406
10407 2022-08-24 Andrew Pinski <apinski@marvell.com>
10408
10409 * config/riscv/riscv.cc (riscv_print_operand):
10410 Handle '~'.
10411 (riscv_print_operand_punct_valid_p): New function
10412 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
10413 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
10414 Use %~ instead of conditional the pattern on TARGET_64BIT.
10415 (rotrsi3): Likewise.
10416 (rotlsi3): Likewise.
10417 * config/riscv/riscv.md: Add ~ to the list of modifiers.
10418 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
10419 (subsi3): Likewise.
10420 (negsi2): Likewise.
10421 (mulsi3): Likewise.
10422 (optab>si3/any_div): Likewise.
10423 (*add<mode>hi3): Likewise.
10424 (<optab>si3/any_shift): Likewise.
10425
10426 2022-08-24 Andrew Pinski <apinski@marvell.com>
10427
10428 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
10429 keep the list in riscv.md in sync with this list.
10430 * config/riscv/riscv.md: Add list of modifiers as comments.
10431
10432 2022-08-24 Andrew Pinski <apinski@marvell.com>
10433
10434 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
10435 * config/riscv/iterators.md: Here.
10436
10437 2022-08-24 Andrew Pinski <apinski@marvell.com>
10438
10439 * config/riscv/bitmanip.md
10440 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
10441 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
10442 * config/riscv/iterators.md: Here.
10443
10444 2022-08-24 Andrew Pinski <apinski@marvell.com>
10445
10446 * config/riscv/riscv.md (GPR): Move to new file.
10447 (P, X, BR): Likewise.
10448 (MOVE32, MOVE64, SHORT): Likewise.
10449 (HISI, SUPERQI, SUBX): Likewise.
10450 (ANYI, ANYF, SOFTF): Likewise.
10451 (size, load, default_load): Likewise.
10452 (softload, store, softstore): Likewise.
10453 (reg, fmt, ifmt, amo): Likewise.
10454 (UNITMODE, HALFMODE): Likewise.
10455 (RINT, rint_pattern, rint_rm): Likewise.
10456 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
10457 (any_extend, any_shiftrt, any_shift): Likewise.
10458 (any_bitwise): Likewise.
10459 (any_div, any_mod): Likewise.
10460 (any_gt, any_ge, any_lt, any_le): Likewise.
10461 (u, su): Likewise.
10462 (optab, insn): Likewise.
10463 * config/riscv/iterators.md: New file.
10464
10465 2022-08-24 Andrew Pinski <apinski@marvell.com>
10466
10467 PR target/106601
10468 * config/riscv/bitmanip.md (bswaphi2): New pattern.
10469
10470 2022-08-24 Andrew Pinski <apinski@marvell.com>
10471
10472 PR target/106600
10473 * config/riscv/bitmanip.md (bswap<mode>2): Remove
10474 condition on TARGET_64BIT as X is already conditional there.
10475
10476 2022-08-24 Joseph Myers <joseph@codesourcery.com>
10477
10478 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
10479 exponent for the type.
10480
10481 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
10482
10483 PR target/106733
10484 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
10485 constants as legitimate addresses for functions.
10486 (bpf_small_register_classes_for_mode_p): Define target hook.
10487
10488 2022-08-24 Richard Biener <rguenther@suse.de>
10489
10490 * gimple-predicate-analysis.cc: Move predicate normalization
10491 after the comment documenting it.
10492
10493 2022-08-24 Richard Biener <rguenther@suse.de>
10494
10495 * gimple-predicate-analysis.h (predicate): Split out
10496 non-predicate related functionality into ..
10497 (uninit_analysis): .. this new class.
10498 * gimple-predicate-analysis.cc: Refactor into two classes.
10499 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
10500
10501 2022-08-24 Richard Biener <rguenther@suse.de>
10502
10503 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10504 Do simple_control_dep_chain only up to cd_root, add the PHI
10505 operand edge to the chains like init_from_phi_def does.
10506 (predicate::is_use_guarded): Speedup early out, avoid half-way
10507 initializing the PHI def predicate.
10508
10509 2022-08-24 Jakub Jelinek <jakub@redhat.com>
10510
10511 PR target/106721
10512 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
10513 Change V32HF, V16HF and V8HF entries from "f" to "i".
10514 (iptr): Add V32BF, V16BF, V8BF and BF entries.
10515 (i128vldq): Add V16HF and V16BF entries.
10516 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
10517 mask_opernad3 -> mask_operand3.
10518
10519 2022-08-24 Martin Liska <mliska@suse.cz>
10520 Jørgen Kvalsvik <j@lambda.is>
10521
10522 * gcov.cc (add_line_counts): Add group functions to coverage
10523 summary.
10524 (accumulate_line_counts): Similarly for files.
10525
10526 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
10527
10528 * config/loongarch/genopts/loongarch-strings: Support code model medium.
10529 * config/loongarch/genopts/loongarch.opt.in: Likewise.
10530 * config/loongarch/loongarch-def.c: Likewise.
10531 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
10532 (CMODEL_EXTREME): Likewise.
10533 (N_CMODEL_TYPES): Likewise.
10534 (CMODEL_MEDIUM): Likewise.
10535 * config/loongarch/loongarch-opts.cc: Likewise.
10536 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
10537 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
10538 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10539 Tls symbol Loading support medium mode.
10540 (loongarch_legitimize_call_address): When medium mode, make a symbolic
10541 jump with two instructions.
10542 (loongarch_option_override_internal): Support medium.
10543 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
10544 (@sibcall_internal_1<mode>): New function call templates added to support
10545 medium mode.
10546 (@sibcall_value_internal_1<mode>): Likewise.
10547 (@sibcall_value_multiple_internal_1<mode>): Likewise.
10548 (@call_internal_1<mode>): Likewise.
10549 (@call_value_internal_1<mode>): Likewise.
10550 (@call_value_multiple_internal_1<mode>): Likewise.
10551 * config/loongarch/loongarch.opt: Support medium.
10552 * config/loongarch/predicates.md: Add processing about medium mode.
10553 * doc/invoke.texi: Document for '-mcmodel=medium'.
10554
10555 2022-08-24 Richard Biener <rguenther@suse.de>
10556
10557 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10558 Start the compute_control_dep_chain walk from the immediate
10559 dominator of the PHI.
10560
10561 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
10562
10563 PR target/106714
10564 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
10565 __PTRDIFF_TYPE__.
10566 (_tile_stream_loadd_internal): Likewise.
10567 (_tile_stored_internal): Likewise.
10568
10569 2022-08-23 Richard Biener <rguenther@suse.de>
10570
10571 PR tree-optimization/106722
10572 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
10573 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
10574 * gimple-predicate-analysis.cc: ... here and document.
10575 (simple_control_dep_chain): New function, factored from
10576 predicate::use_cannot_happen.
10577 (predicate::use_cannot_happen): Adjust.
10578 (predicate::predicate): Use simple_control_dep_chain as fallback.
10579
10580 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
10581
10582 * range-op-float.cc (foperator_equal::op1_range): Set range to
10583 range of op2.
10584
10585 2022-08-23 Richard Biener <rguenther@suse.de>
10586
10587 * gimple-predicate-analysis.cc (is_loop_exit): Split out
10588 from ...
10589 (is_non_loop_exit_postdominating): ... here. Remove after
10590 inlining ...
10591 (find_control_equiv_block): ... here.
10592 (compute_control_dep_chain): ... and here.
10593 (predicate::is_use_guarded): Do not excempt loop exits
10594 from short-cutting the case of the use post-dominating the
10595 PHI definition.
10596
10597 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
10598
10599 PR tree-optimization/106687
10600 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
10601 for the VREL_GT case as well.
10602
10603 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10604
10605 * config/pru/pru.md (pru_<code>di3): New alternative for
10606 two operands but without earlyclobber.
10607
10608 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10609
10610 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
10611 variants for loading -1 consts.
10612
10613 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10614
10615 PR target/106564
10616 * config/pru/constraints.md (Um): New constraint for -1.
10617 (Uf): New constraint for IOR fill-bytes constants.
10618 (Uz): New constraint for AND zero-bytes constants.
10619 * config/pru/predicates.md (const_fillbytes_operand): New
10620 predicate for IOR fill-bytes constants.
10621 (const_zerobytes_operand): New predicate for AND zero-bytes
10622 constants.
10623 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
10624 (struct pru_byterange): New struct to describe a byte range.
10625 (pru_calc_byterange): New declaration.
10626 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
10627 64-bit zero-extend.
10628 (pru_output_sign_extend): Remove.
10629 (pru_calc_byterange): New helper function to extract byte
10630 range info from a constant.
10631 (pru_print_operand): Remove 'y' and 'z' print modifiers.
10632 * config/pru/pru.md (zero_extendqidi2): New pattern.
10633 (zero_extendhidi2): New pattern.
10634 (zero_extendsidi2): New pattern.
10635 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
10636 (@pru_ior_fillbytes<mode>): New pattern.
10637 (@pru_and_zerobytes<mode>): New pattern.
10638 (<code>di3): Rewrite as an expand and handle ZERO and FILL
10639 special cases.
10640 (pru_<code>di3): New name for <code>di3.
10641 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
10642 handle bit-test for 64-bit registers.
10643
10644 2022-08-22 Richard Biener <rguenther@suse.de>
10645
10646 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
10647 (predicate::def_expr): Likewise.
10648 (predicate::use_expr): Likewise.
10649 (predicate::expr): Likewise.
10650 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
10651 (predicate::use_expr): Likewise.
10652 (predicate::expr): Likewise.
10653 (predicate::is_use_guarded): Do not build m_use_expr.
10654
10655 2022-08-22 Martin Liska <mliska@suse.cz>
10656
10657 PR lto/106700
10658 * configure.ac: Detect O_NONBLOCK flag for open.
10659 * config.in: Regenerate.
10660 * configure: Regenerate.
10661 * opts-common.cc (jobserver_info::connect): Set is_connected
10662 properly based on O_NONBLOCK.
10663 * opts-jobserver.h (struct jobserver_info): Add is_connected
10664 member variable.
10665
10666 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
10667
10668 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
10669 and repeat value different.
10670
10671 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
10672
10673 PR lto/106686
10674 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
10675 (tool_cleanup): Unlink offload_names.
10676 (compile_offload_image): Take filename argument to set it early.
10677 (compile_images_for_offload_targets): Update call; set
10678 offload_names to NULL after freeing the array.
10679
10680 2022-08-22 Richard Biener <rguenther@suse.de>
10681
10682 PR tree-optimization/105937
10683 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
10684 on backedges.
10685 (execute_late_warn_uninitialized): Mark backedges.
10686
10687 2022-08-22 Richard Biener <rguenther@suse.de>
10688
10689 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10690 If the use is guarded with multiple predicate paths compute
10691 the predicates intersection before going forward. When
10692 compute_control_dep_chain wasn't able to come up with at
10693 least one path from function entry to the PHI edge compute
10694 a conservative sparse path instead.
10695
10696 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
10697
10698 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
10699 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10700 Add extreme support for TLS GD and LD types.
10701 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
10702 and IE.
10703 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
10704 the symbol address will be obtained through five instructions.
10705 (loongarch_print_operand_reloc): Add support.
10706 (loongarch_print_operand): Add support.
10707 (loongarch_print_operand_address): Add support.
10708 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
10709 incompatible with '-mno-explicit-relocs'.
10710 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
10711 Loads bits 12-31 of data into registers.
10712 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
10713 the source register.
10714 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
10715 the source register.
10716 * config/loongarch/predicates.md: Symbols need to be decomposed
10717 when defining the macro TARGET_CMODEL_EXTREME
10718 * doc/invoke.texi: Modify the description information of cmodel in the document.
10719 Document -W[no-]extreme-plt.
10720
10721 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
10722
10723 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
10724 files_to_cleanup.
10725 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
10726 omp_requires_file to temp_files.
10727 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
10728 (main): Remove local omp_requires_file var.
10729 (tool_cleanup): Handle omp_requires_file.
10730
10731 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
10732
10733 * gimple-range-path.cc (path_range_query::path_range_query):
10734 Remove constructor that takes edge.
10735 * gimple-range-path.h (class path_range_query): Same.
10736 * tree-ssa-loop-ch.cc (edge_range_query): New.
10737 (entry_loop_condition_is_static): Call edge_range_query.
10738
10739 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10740
10741 * config/xtensa/xtensa.h
10742 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
10743 Add new register class "ISC_REGS".
10744 * config/xtensa/constraints.md (c): Add new register constraint.
10745 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
10746 (sibcall_internal, sibcall_value_internal):
10747 Change to use the new register constraint, and remove two split
10748 patterns for fixups that are no longer needed.
10749
10750 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
10751
10752 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
10753 pattern formatting.
10754
10755 2022-08-18 Tim Lange <mail@tim-lange.me>
10756
10757 PR analyzer/106181
10758 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
10759
10760 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
10761
10762 * gimple-range-path.cc (path_range_query::path_range_query): Add
10763 various constructors to take a path.
10764 (path_range_query::~path_range_query): Remove m_alloced_ranger.
10765 (path_range_query::range_on_path_entry): Adjust for m_ranger being
10766 a reference.
10767 (path_range_query::set_path): Rename to...
10768 (path_range_query::reset_path): ...this and call compute_ranges.
10769 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
10770 reference.
10771 (path_range_query::range_defined_in_block): Same.
10772 (path_range_query::compute_ranges_in_block): Same.
10773 (path_range_query::adjust_for_non_null_uses): Same.
10774 (path_range_query::compute_exit_dependencies): Use m_path instead
10775 of argument.
10776 (path_range_query::compute_ranges): Remove path argument.
10777 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
10778 (path_range_query::compute_outgoing_relations): Same.
10779 * gimple-range-path.h (class path_range_query): Add various
10780 constructors.
10781 Make compute_ranges and compute_exit_dependencies private.
10782 Rename set_path to reset_path.
10783 Make m_ranger a reference.
10784 Remove m_alloced_ranger.
10785 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
10786 path_range_query.
10787 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
10788 ranger and instantiate a new path_range_query every time.
10789 (ch_base::copy_headers): Pass ranger instead of path_range_query.
10790 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
10791 (back_threader::~back_threader): Remove m_solver.
10792 (back_threader::find_taken_edge_switch): Adjust for m_ranger
10793 reference.
10794 (back_threader::find_taken_edge_cond): Same.
10795 (back_threader::dump): Remove m_solver.
10796 (back_threader::back_threader): Move verify_marked_backedges
10797 here from the path_range_query constructor.
10798 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
10799 some code from compute_ranges_from_state here.
10800 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
10801 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
10802 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
10803 compute_ranges_from_state to compute_exit_dependencies.
10804 Remove m_path.
10805
10806 2022-08-18 Richard Biener <rguenther@suse.de>
10807
10808 PR middle-end/106617
10809 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
10810 guard, disable on GENERIC to not cause quadratic behavior
10811 with the fold-const.cc implementation and the use of !
10812
10813 2022-08-18 Andrew Pinski <apinski@marvell.com>
10814
10815 PR gcov-profile/106659
10816 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
10817 INCLUDE_VECTOR.
10818
10819 2022-08-18 konglin1 <lingling.kong@intel.com>
10820
10821 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
10822 BFmode.
10823 (ix86_expand_vector_init_duplicate): Support vector BFmode.
10824 (ix86_expand_vector_init_one_nonzero): Ditto.
10825 (ix86_expand_vector_init_one_var): Ditto.
10826 (ix86_expand_vector_init_concat): Ditto.
10827 (ix86_expand_vector_init_interleave): Ditto.
10828 (ix86_expand_vector_init_general): Ditto.
10829 (ix86_expand_vector_init): Ditto.
10830 (ix86_expand_vector_set_var): Ditto.
10831 (ix86_expand_vector_set): Ditto.
10832 (ix86_expand_vector_extract): Ditto.
10833 * config/i386/i386.cc (classify_argument): Add BF vector modes.
10834 (function_arg_64): Ditto.
10835 (ix86_gimplify_va_arg): Ditto.
10836 (ix86_get_ssemov): Ditto.
10837 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
10838 (VALID_AVX512F_REG_MODE): Ditto.
10839 (host_detect_local_cpu): Ditto.
10840 (VALID_SSE2_REG_MODE): Ditto.
10841 * config/i386/i386.md: Add BF vector modes.
10842 (MODE_SIZE): Ditto.
10843 (ssemodesuffix): Add bf suffix for BF vector modes.
10844 (ssevecmode): Ditto.
10845 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
10846 (VI12HFBF_AVX512VL): Ditto.
10847 (V_256_512): Ditto.
10848 (VF_AVX512HFBF16): Ditto.
10849 (VF_AVX512BWHFBF16): Ditto.
10850 (VIHFBF): Ditto.
10851 (avx512): Ditto.
10852 (VIHFBF_256): Ditto.
10853 (VIHFBF_AVX512BW): Ditto.
10854 (VI2F_256_512):Ditto.
10855 (V8_128):Ditto.
10856 (V16_256): Ditto.
10857 (V32_512): Ditto.
10858 (sseinsnmode): Ditto.
10859 (sseconstm1): Ditto.
10860 (sseintmodesuffix): New mode_attr.
10861 (avx512fmaskmode): Ditto.
10862 (avx512fmaskmodelower): Ditto.
10863 (ssedoublevecmode): Ditto.
10864 (ssehalfvecmode): Ditto.
10865 (ssehalfvecmodelower): Ditto.
10866 (ssescalarmode): Add vector BFmode mapping.
10867 (ssescalarmodelower): Ditto.
10868 (ssexmmmode): Ditto.
10869 (ternlogsuffix): Ditto.
10870 (ssescalarsize): Ditto.
10871 (sseintprefix): Ditto.
10872 (i128): Ditto.
10873 (xtg_mode): Ditto.
10874 (bcstscalarsuff): Ditto.
10875 (<avx512>_blendm<mode>): New define_insn for BFmode.
10876 (<avx512>_store<mode>_mask): Ditto.
10877 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
10878 (vec_set<mode>_0): New define_insn for BF vector set.
10879 (V8BFH_128): New mode_iterator for BFmode.
10880 (avx512fp16_mov<mode>): Ditto.
10881 (vec_set<mode>): New define_insn for BF vector set.
10882 (@vec_extract_hi_<mode>): Ditto.
10883 (@vec_extract_lo_<mode>): Ditto.
10884 (vec_set_hi_<mode>): Ditto.
10885 (vec_set_lo_<mode>): Ditto.
10886 (*vec_extract<mode>_0): New define_insn_and_split for BF
10887 vector extract.
10888 (*vec_extract<mode>): New define_insn.
10889 (VEC_EXTRACT_MODE): Add BF vector modes.
10890 (PINSR_MODE): Add V8BF.
10891 (sse2p4_1): Ditto.
10892 (pinsr_evex_isa): Ditto.
10893 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
10894 insert for V8BFmode.
10895 (pbroadcast_evex_isa): Add BF vector modes.
10896 (AVX2_VEC_DUP_MODE): Ditto.
10897 (VEC_INIT_MODE): Ditto.
10898 (VEC_INIT_HALF_MODE): Ditto.
10899 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
10900 broadcast.
10901 (avx2_pbroadcast<mode>_1): Ditto.
10902 (<avx512>_vec_dup<mode>_1): Ditto.
10903 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
10904 Ditto.
10905
10906 2022-08-18 Martin Liska <mliska@suse.cz>
10907
10908 * configure: Regenerate.
10909
10910 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
10911
10912 PR target/103109
10913 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
10914 (<u>madddi4_highpart): New.
10915 (<u>madddi4_highpart_le): New.
10916
10917 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
10918
10919 * gimple-range-path.cc
10920 (path_range_query::compute_exit_dependencies): Use
10921 gimple_range_ssa_names.
10922
10923 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
10924
10925 * config/riscv/predicates.md: Adjust runtime invariant.
10926 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
10927 (NUM_POLY_INT_COEFFS): New.
10928 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
10929 runtime invariant.
10930 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
10931 Adjust runtime invariant.
10932 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
10933 invariant.
10934 (enum riscv_microarchitecture_type): Ditto.
10935 (riscv_valid_offset_p): Ditto.
10936 (riscv_valid_lo_sum_p): Ditto.
10937 (riscv_address_insns): Ditto.
10938 (riscv_load_store_insns): Ditto.
10939 (riscv_legitimize_move): Ditto.
10940 (riscv_binary_cost): Ditto.
10941 (riscv_rtx_costs): Ditto.
10942 (riscv_output_move): Ditto.
10943 (riscv_extend_comparands): Ditto.
10944 (riscv_flatten_aggregate_field): Ditto.
10945 (riscv_get_arg_info): Ditto.
10946 (riscv_pass_by_reference): Ditto.
10947 (riscv_elf_select_rtx_section): Ditto.
10948 (riscv_stack_align): Ditto.
10949 (riscv_compute_frame_info): Ditto.
10950 (riscv_initial_elimination_offset): Ditto.
10951 (riscv_set_return_address): Ditto.
10952 (riscv_for_each_saved_reg): Ditto.
10953 (riscv_first_stack_step): Ditto.
10954 (riscv_expand_prologue): Ditto.
10955 (riscv_expand_epilogue): Ditto.
10956 (riscv_can_use_return_insn): Ditto.
10957 (riscv_secondary_memory_needed): Ditto.
10958 (riscv_hard_regno_nregs): Ditto.
10959 (riscv_convert_vector_bits): New.
10960 (riscv_option_override): Adjust runtime invariant.
10961 (riscv_promote_function_mode): Ditto.
10962 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
10963 (BITS_PER_RISCV_VECTOR): New.
10964 (BYTES_PER_RISCV_VECTOR): New.
10965 * config/riscv/riscv.md: Adjust runtime invariant.
10966
10967 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
10968
10969 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10970 Get __tls_get_addr address through got table when disable plt.
10971
10972 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10973
10974 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
10975 Use an "addmi" machine instruction for updating the stack pointer
10976 rather than addition/subtraction via hard register A9, if the amount
10977 of change satisfies the literal value conditions of that instruction
10978 when the CALL0 ABI is used.
10979 (xtensa_expand_epilogue): Ditto.
10980 And also inhibit the stack pointer addition of constant zero.
10981
10982 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
10983
10984 PR target/106640
10985 * config/i386/i386-features.cc
10986 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
10987 of XINT with INTVAL (XEXP (src, 1)).
10988
10989 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
10990
10991 * gimple-range-path.cc
10992 (path_range_query::compute_ranges_in_block): Remove
10993 set_root_oracle call.
10994 (path_range_query::compute_ranges): Pass ranger oracle to
10995 reset_path.
10996 * value-relation.cc (path_oracle::reset_path): Set root oracle.
10997 * value-relation.h (path_oracle::reset_path): Add root oracle
10998 argument.
10999
11000 2022-08-17 Marek Polacek <polacek@redhat.com>
11001
11002 PR c++/89780
11003 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
11004 OPT_Wpessimizing_move and OPT_Wredundant_move.
11005 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
11006
11007 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11008 Jakub Jelinek <jakub@redhat.com>
11009
11010 PR fortran/46539
11011 * common.opt (static-libquadmath): New option.
11012 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
11013 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
11014
11015 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
11016
11017 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
11018 when filenames come out identically.
11019
11020 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
11021
11022 PR middle-end/106548
11023 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
11024 for 'simd' linear-step values that are variable.
11025
11026 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
11027 Chung-Lin Tang <cltang@codesourcery.com>
11028
11029 PR c++/104493
11030 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
11031 instead of removed langhook.
11032 * omp-general.h (omp_mappable_type): New prototype.
11033 * omp-general.cc (omp_mappable_type): New; moved from ...
11034 * langhooks.cc (lhd_omp_mappable_type): ... here.
11035 * langhooks-def.h (lhd_omp_mappable_type,
11036 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
11037 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
11038 * langhooks.h (struct lang_hooks_for_types): Remove
11039 omp_mappable_type.
11040
11041 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
11042
11043 * config.gcc (arm): Define with_float to hard if target name ends
11044 with 'hf'.
11045
11046 2022-08-17 Richard Biener <rguenther@suse.de>
11047
11048 * tree-ssa-threadbackward.cc
11049 (back_threader_profitability): Split profitable_path_p
11050 into possibly_profitable_path_p and itself, keep state
11051 as new members.
11052 (back_threader::m_profit): Remove.
11053 (back_threader::find_paths): Likewise.
11054 (back_threader::maybe_register_path): Take profitability
11055 instance as parameter.
11056 (back_threader::find_paths_to_names): Likewise. Use
11057 possibly_profitable_path_p and avoid the path range query
11058 when the path is currently too large.
11059 (back_threader::find_paths): Fold into ...
11060 (back_threader::maybe_thread_block): ... this.
11061 (get_gimple_control_stmt): Remove.
11062 (back_threader_profitability::possibly_profitable_path_p):
11063 Split out from profitable_path_p, do early profitability
11064 checks.
11065 (back_threader_profitability::profitable_path_p): Do final
11066 profitability path after the taken edge has been determined.
11067
11068 2022-08-17 Xi Ruoyao <xry111@xry111.site>
11069
11070 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
11071 (fmin<mode>3): Likewise.
11072
11073 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
11074
11075 * gimple-range-fold.cc (gimple_range_ssa_names): New.
11076 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
11077 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
11078 code to new routine.
11079
11080 2022-08-16 Martin Liska <mliska@suse.cz>
11081
11082 PR target/106637
11083 * doc/install.texi: Remove link to www.bullfreeware.com
11084
11085 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
11086
11087 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
11088 zfh and zfhmin.
11089 (riscv_ext_version_table): Ditto.
11090 (riscv_ext_flag_table): Ditto.
11091 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
11092 (MASK_ZFH): Ditto.
11093 (TARGET_ZFHMIN): Ditto.
11094 (TARGET_ZFH): Ditto.
11095 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
11096 for zfh and zfhmin.
11097 (riscv_emit_float_compare): Handle HFmode.
11098 * config/riscv/riscv.md (ANYF): Add HF.
11099 (SOFTF): Add HF.
11100 (load): Ditto.
11101 (store): Ditto.
11102 (truncsfhf2): New.
11103 (truncdfhf2): Ditto.
11104 (extendhfsf2): Ditto.
11105 (extendhfdf2): Ditto.
11106 (*movhf_hardfloat): Ditto.
11107 (*movhf_softfloat): Make sure not ZFHMIN.
11108 * config/riscv/riscv.opt (riscv_zf_subext): New.
11109
11110 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
11111
11112 * config/riscv/riscv-builtins.cc: include stringpool.h
11113 (riscv_float16_type_node): New.
11114 (riscv_init_builtin_types): Ditto.
11115 (riscv_init_builtins): Call riscv_init_builtin_types.
11116 * config/riscv/riscv-modes.def (HF): New.
11117 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
11118 (riscv_mangle_type): New.
11119 (riscv_scalar_mode_supported_p): Ditto.
11120 (riscv_libgcc_floating_mode_supported_p): Ditto.
11121 (riscv_excess_precision): Ditto.
11122 (riscv_floatn_mode): Ditto.
11123 (riscv_init_libfuncs): Ditto.
11124 (TARGET_MANGLE_TYPE): Ditto.
11125 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
11126 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
11127 (TARGET_INIT_LIBFUNCS): Ditto.
11128 (TARGET_C_EXCESS_PRECISION): Ditto.
11129 (TARGET_FLOATN_MODE): Ditto.
11130 * config/riscv/riscv.md (mode): Add HF.
11131 (softload): Add HF.
11132 (softstore): Ditto.
11133 (fmt): Ditto.
11134 (UNITMODE): Ditto.
11135 (movhf): New.
11136 (*movhf_softfloat): New.
11137
11138 2022-08-16 Richard Biener <rguenther@suse.de>
11139
11140 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11141 Do not walk further if we are leaving the current loop.
11142
11143 2022-08-16 Sergei Trofimovich <siarheit@google.com>
11144
11145 PR driver/106624
11146 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
11147 argument using xstrdup().
11148
11149 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
11150
11151 * gimple-range-path.cc (path_range_query::import_p): Rename to...
11152 (path_range_query::exit_dependency_p): ...this.
11153 (path_range_query::dump): Rename imports to exit dependencies.
11154 (path_range_query::compute_ranges_in_phis): Same.
11155 (path_range_query::compute_ranges_in_block): Same.
11156 (path_range_query::adjust_for_non_null_uses): Same.
11157 (path_range_query::compute_ranges): Same.
11158 (path_range_query::compute_phi_relations): Same.
11159 (path_range_query::add_to_imports): Rename to...
11160 (path_range_query::add_to_exit_dependencies): ...this.
11161 (path_range_query::compute_imports): Rename to...
11162 (path_range_query::compute_exit_dependencies): ...this.
11163 * gimple-range-path.h (class path_range_query): Rename imports to
11164 exit dependencies.
11165
11166 2022-08-16 Martin Liska <mliska@suse.cz>
11167
11168 * value-range-storage.h (class obstack_vrange_allocator): Mark
11169 the class as final.
11170 (class ggc_vrange_allocator): Likewise.
11171
11172 2022-08-16 Martin Liska <mliska@suse.cz>
11173
11174 * value-range-equiv.h (class value_range_equiv): Add virtual
11175 destructor.
11176 * value-range.h: Likewise.
11177
11178 2022-08-16 Richard Biener <rguenther@suse.de>
11179
11180 PR middle-end/106630
11181 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
11182 narrowing conversions.
11183
11184 2022-08-16 Martin Liska <mliska@suse.cz>
11185
11186 * value-range-equiv.h (class value_range_equiv):
11187
11188 2022-08-16 Martin Liska <mliska@suse.cz>
11189
11190 * config/i386/i386-features.h (class general_scalar_chain): Add
11191 final override for a method.
11192 (class timode_scalar_chain): Likewise.
11193
11194 2022-08-16 Richard Biener <rguenther@suse.de>
11195
11196 * doc/invoke.texi (max-jump-thread-paths): Adjust.
11197
11198 2022-08-16 Martin Liska <mliska@suse.cz>
11199
11200 * opts-common.cc (jobserver_info::connect): Open fifo
11201 in non-blocking mode.
11202
11203 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
11204
11205 PR target/103353
11206 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
11207 check to preparation statements and add handlings for !TARGET_MMA.
11208 (define_expand movxo): Likewise.
11209
11210 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
11211
11212 PR tree-optimization/106322
11213 * tree-vect-stmts.cc (vectorizable_call): Don't allow
11214 vect_emulated_vector_p type for both vectype_in and vectype_out.
11215
11216 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11217
11218 * common/config/xtensa/xtensa-common.cc
11219 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
11220 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
11221
11222 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
11223
11224 PR tree-optimization/106621
11225 * value-range.cc (irange::set): Check for POLY_INT_CST early.
11226
11227 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11228
11229 * config/i386/i386-features.cc
11230 (timode_scalar_chain::compute_convert_gain): Provide costs for
11231 shifts and rotates.
11232 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
11233 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
11234 (timode_scalar_to_vector_candidate_p): Handle all shifts and
11235 rotates by integer constants between 0 and 127.
11236
11237 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11238
11239 * config/i386/i386-features.cc
11240 (timode_scalar_chain::compute_convert_gain): Provide gains for
11241 comparisons against 0/-1, including "*testti" patterns.
11242
11243 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11244
11245 PR tree-optimization/64992
11246 PR tree-optimization/98956
11247 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
11248 when X is zero_one_valued_p and the shift constant C is valid.
11249 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
11250 when X is zero_one_valued_p and the shift constant C is valid.
11251
11252 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11253 Richard Biener <rguenther@suse.de>
11254
11255 PR tree-optimization/71343
11256 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
11257 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
11258 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
11259 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
11260
11261 2022-08-15 Richard Biener <rguenther@suse.de>
11262
11263 * gimple-range-path.cc (range_on_path_entry): Just
11264 call range_on_entry.
11265
11266 2022-08-15 Jakub Jelinek <jakub@redhat.com>
11267
11268 PR rtl-optimization/106590
11269 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
11270 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
11271 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
11272 further conditional moves.
11273
11274 2022-08-15 konglin1 <lingling.kong@intel.com>
11275
11276 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
11277 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
11278 (ix86_register_bf16_builtin_type): New function.
11279 (ix86_bf16_type_node): New.
11280 (ix86_bf16_ptr_type_node): Ditto.
11281 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
11282 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
11283 (ADJUST_FLOAT_FORMAT): Ditto.
11284 * config/i386/i386.cc (classify_argument): Handle BFmode.
11285 (construct_container): Ditto.
11286 (function_value_32): Return __bf16 by %xmm0.
11287 (function_value_64): Return __bf16 by SSE register.
11288 (ix86_output_ssemov): Handle BFmode.
11289 (ix86_legitimate_constant_p): Disable BFmode constant double.
11290 (ix86_secondary_reload): Require gpr as intermediate register
11291 to store __bf16 from sse register when sse4 is not available.
11292 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
11293 (ix86_mangle_type): Add manlging for __bf16 type.
11294 (ix86_invalid_conversion): New function for target hook.
11295 (ix86_invalid_unary_op): Ditto.
11296 (ix86_invalid_binary_op): Ditto.
11297 (TARGET_INVALID_CONVERSION): New define for target hook.
11298 (TARGET_INVALID_UNARY_OP): Ditto.
11299 (TARGET_INVALID_BINARY_OP): Ditto.
11300 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
11301 * config/i386/i386.md ("mode"): Add BFmode.
11302 (MODE_SIZE): Ditto.
11303 (X87MODEFH): Ditto.
11304 (HFBF): Add new define_mode_iterator.
11305 (*pushhf_rex64): Change for BFmode.
11306 (*push<mode>_rex64): Ditto.
11307 (*pushhf): Ditto.
11308 (*push<mode>): Ditto.
11309 (MODESH): Ditto.
11310 (hfbfconstf): Add new define_mode_attr.
11311 (*mov<mode>_internal): Add BFmode.
11312
11313 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
11314 Uroš Bizjak <ubizjak@gmail.com>
11315
11316 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
11317 New predicate for values between 0/1 and 255, not multiples of 8.
11318 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
11319 shifts by constant bit counts.
11320 (*ashlvti3_internal): New define_insn_and_split that lowers
11321 logical left shifts by constant bit counts, that aren't multiples
11322 of 8, before reload.
11323 (lshrv1ti3): Delay lowering of logical right shifts by constant.
11324 (*lshrv1ti3_internal): New define_insn_and_split that lowers
11325 logical right shifts by constant bit counts, that aren't multiples
11326 of 8, before reload.
11327 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
11328 constant bit counts.
11329 (*ashrv1ti3_internal): New define_insn_and_split that lowers
11330 arithmetic right shifts by constant bit counts before reload.
11331 (rotlv1ti3): Delay lowering of rotate left by constant.
11332 (*rotlv1ti3_internal): New define_insn_and_split that lowers
11333 rotate left by constant bits counts before reload.
11334 (rotrv1ti3): Delay lowering of rotate right by constant.
11335 (*rotrv1ti3_internal): New define_insn_and_split that lowers
11336 rotate right by constant bits counts before reload.
11337
11338 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
11339
11340 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
11341
11342 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
11343
11344 PR middle-end/106057
11345 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
11346 function.
11347 (possible_polymorphic_call_targets): Use it.
11348
11349 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
11350
11351 * tree-ssa-loop.h: Improve comment
11352
11353 2022-08-12 Jakub Jelinek <jakub@redhat.com>
11354
11355 PR tree-optimization/106506
11356 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
11357 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
11358
11359 2022-08-12 Richard Biener <rguenther@suse.de>
11360
11361 PR tree-optimization/106593
11362 * tree-ssa-threadbackward.cc (back_threader::find_paths):
11363 If the imports from the conditional do not satisfy
11364 gimple_range_ssa_p don't try to thread anything.
11365
11366 2022-08-12 Tamar Christina <tamar.christina@arm.com>
11367
11368 PR target/106524
11369 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
11370 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
11371
11372 2022-08-12 Tim Lange <mail@tim-lange.me>
11373
11374 PR analyzer/106000
11375 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
11376
11377 2022-08-12 Andrew Pinski <apinski@marvell.com>
11378
11379 * config/aarch64/aarch64.md: Remove comment
11380 about MD_INCLUDES as it is out of date and not needed.
11381
11382 2022-08-11 Richard Biener <rguenther@suse.de>
11383
11384 * gimple-range-path.cc (path_range_query::compute_imports):
11385 Restrict walking SSA defs to blocks inside the path. Track
11386 the same operands as range_def_chain::get_def_chain does.
11387
11388 2022-08-11 Richard Biener <rguenther@suse.de>
11389
11390 PR tree-optimization/106514
11391 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11392 Compute and unwind both m_imports and interesting on the fly during
11393 path discovery.
11394 (back_threader::find_paths): Compute the original m_imports
11395 from just the SSA uses of the exit conditional. Drop
11396 handling single_succ_to_potentially_threadable_block.
11397 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
11398 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
11399
11400 2022-08-11 Richard Biener <rguenther@suse.de>
11401
11402 * gimple-range-path.h (path_range_query::compute_imports):
11403 Take path as argument, not the exit block.
11404 * gimple-range-path.cc (path_range_query::compute_imports):
11405 Likewise, and adjust, avoiding possibly stale m_path.
11406 (path_range_query::compute_outgoing_relations): Register
11407 relations for all conditionals.
11408 * tree-ssa-threadbackward.cc (back_threader::find_paths):
11409 Adjust.
11410
11411 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
11412
11413 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
11414 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
11415 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
11416
11417 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
11418
11419 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
11420 Remove function declaration.
11421
11422 2022-08-10 Richard Biener <rguenther@suse.de>
11423
11424 PR tree-optimization/106513
11425 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
11426 for head_marker.
11427
11428 2022-08-10 Martin Liska <mliska@suse.cz>
11429
11430 PR lto/106328
11431 * opts-jobserver.h (struct jobserver_info): Add pipefd.
11432 (jobserver_info::connect): New.
11433 (jobserver_info::disconnect): Likewise.
11434 (jobserver_info::get_token): Likewise.
11435 (jobserver_info::return_token): Likewise.
11436 * opts-common.cc: Implement the new functions.
11437
11438 2022-08-10 Martin Liska <mliska@suse.cz>
11439
11440 * opts-jobserver.h: Add one member.
11441 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
11442 format of --jobserver-auth.
11443
11444 2022-08-10 Martin Liska <mliska@suse.cz>
11445
11446 * gcc.cc (driver::detect_jobserver): Remove and move to
11447 jobserver.h.
11448 * lto-wrapper.cc (jobserver_active_p): Likewise.
11449 (run_gcc): Likewise.
11450 * opts-jobserver.h: New file.
11451 * opts-common.cc (jobserver_info::jobserver_info): New function.
11452
11453 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
11454
11455 * config/i386/i386-features.cc (scalar_chain::convert_compare):
11456 Create new pseudos only when/if needed. Add support for TEST,
11457 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
11458 When broadcasting V2DImode and V4SImode use new pseudo register.
11459 (timode_scalar_chain::convert_op): Do nothing if operand is
11460 already V1TImode. Avoid generating useless SUBREG conversions,
11461 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
11462 in addition to CONST_INT by using CONST_SCALAR_INT_P.
11463 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
11464 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
11465 pattern as an STV candidate.
11466 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
11467 operands in binary logic operations.
11468 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
11469 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
11470 as regular PTEST, i.e. cost->sse_op.
11471 * config/i386/i386.md (*testti_doubleword): New pre-reload
11472 define_insn_and_split that recognizes comparison of TI mode AND
11473 against zero.
11474 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
11475 define_insn_and_split that recognizes UNSPEC_PTEST of identical
11476 AND operands.
11477
11478 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
11479 Richard Biener <rguenther@suse.de>
11480
11481 PR middle-end/21137
11482 PR tree-optimization/98954
11483 * fold-const.cc (fold_binary_loc): Remove optimizations to
11484 optimize ((X >> C1) & C2) ==/!= 0.
11485 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
11486 check, and handle all values of INTEGER_CSTs @2 and @3.
11487 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
11488 checks, and handle all values of INTEGER_CSTs @2 and @3.
11489
11490 2022-08-09 David Malcolm <dmalcolm@redhat.com>
11491
11492 * doc/invoke.texi (Static Analyzer Options): Add notes on which
11493 functions the analyzer has hardcoded knowledge of.
11494
11495 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
11496
11497 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
11498 (num_arg_regs): Allow vector arguments.
11499 (gcn_function_arg): Likewise.
11500 (gcn_function_arg_advance): Likewise.
11501 (gcn_arg_partial_bytes): Likewise.
11502 (gcn_return_in_memory): Likewise.
11503 (gcn_expand_epilogue): Get return value from v8.
11504 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
11505 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
11506 (FIRST_VPARM_REG): New.
11507 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
11508 (struct gcn_args): Add vnum field.
11509 (LIBCALL_VALUE): All vector return values.
11510 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
11511 (gcn_call_value_indirect): Likewise.
11512
11513 2022-08-09 Richard Biener <rguenther@suse.de>
11514
11515 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
11516 directly. Avoid update_ssa when in SSA form.
11517 (expand_omp_atomic_store): Likewise.
11518 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
11519 form.
11520 (expand_omp_atomic_pipeline): Likewise.
11521 (expand_omp_atomic_mutex): Likewise.
11522 * tree-parloops.cc (gen_parallel_loop): Use
11523 TODO_update_ssa_no_phi after loop_version.
11524
11525 2022-08-09 Richard Biener <rguenther@suse.de>
11526
11527 * doc/invoke.texi (max-fsm-thread-length): Remove.
11528 * params.opt (max-fsm-thread-length): Likewise.
11529 * tree-ssa-threadbackward.cc
11530 (back_threader_profitability::profitable_path_p): Do not
11531 check max-fsm-thread-length.
11532
11533 2022-08-09 Richard Biener <rguenther@suse.de>
11534
11535 PR tree-optimization/106514
11536 * params.opt (max-jump-thread-paths): New.
11537 * doc/invoke.texi (max-jump-thread-paths): Document.
11538 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11539 Honor max-jump-thread-paths, take overall_path argument.
11540 (back_threader::find_paths): Pass 1 as initial overall_path.
11541
11542 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
11543
11544 PR middle-end/106492
11545 * omp-low.cc (lower_rec_input_clauses): Add missing folding
11546 to data type of linear-clause list item.
11547
11548 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
11549
11550 PR tree-optimization/106556
11551 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
11552 type of the cond_expr operands being evaluted.
11553
11554 2022-08-08 Tom Honermann <tom@honermann.net>
11555
11556 * ginclude/stdatomic.h (atomic_char8_t,
11557 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
11558
11559 2022-08-08 Andrew Pinski <apinski@marvell.com>
11560
11561 PR middle-end/103645
11562 * gimplify.cc (gimplify_init_constructor): Don't build/add
11563 gimple assignment of an empty type.
11564
11565 2022-08-08 Richard Biener <rguenther@suse.de>
11566
11567 PR lto/106540
11568 PR lto/106334
11569 * dwarf2out.cc (dwarf2out_register_external_die): Restore
11570 original assert.
11571 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
11572 to input DECL_INITIAL, avoiding to commit drefs.
11573
11574 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
11575
11576 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
11577 for x86_64_hilo_general_operand to general operand. Call
11578 force_reg on parts that are not x86_64_immediate_operand.
11579
11580 2022-08-05 David Malcolm <dmalcolm@redhat.com>
11581
11582 PR analyzer/105947
11583 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
11584
11585 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
11586
11587 * expmed.cc (emit_store_flag_1): Move code to expand double word
11588 equality and inequality against zero or -1, using word operations,
11589 to after trying to use the backend's cstore<mode>4 optab/expander.
11590
11591 2022-08-05 Tamar Christina <tamar.christina@arm.com>
11592
11593 PR middle-end/106534
11594 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
11595 value_replacement and store_elim from diamonds.
11596
11597 2022-08-05 Richard Biener <rguenther@suse.de>
11598
11599 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
11600 Check whether the registry register_path rejected the path.
11601 (back_threader_registry::register_path): Return whether
11602 register_jump_thread succeeded.
11603
11604 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
11605
11606 PR tree-optimization/106514
11607 * value-range.cc (unsupported_range::unsupported_range): Move...
11608 * value-range.h (unsupported_range::unsupported_range): ...here.
11609 (unsupported_range::set_undefined): New.
11610
11611 2022-08-05 Richard Biener <rguenther@suse.de>
11612
11613 PR tree-optimization/106533
11614 * tree-loop-distribution.cc (loop_distribution::execute): Continue
11615 analyzing the inner loops when find_seed_stmts_for_distribution
11616 fails.
11617
11618 2022-08-05 Andrew Pinski <apinski@marvell.com>
11619
11620 * config/riscv/predicates.md (splittable_const_int_operand):
11621 Remove the check for TARGET_64BIT for single bit const values.
11622
11623 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
11624
11625 PR tree-optimization/106514
11626 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
11627 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
11628
11629 2022-08-04 Tamar Christina <tamar.christina@arm.com>
11630
11631 * match.pd: New bit_not rule.
11632
11633 2022-08-04 Tamar Christina <tamar.christina@arm.com>
11634
11635 PR middle-end/106519
11636 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
11637 diamond shapes.
11638
11639 2022-08-04 Sam Feifer <sfeifer@redhat.com>
11640
11641 PR tree-optimization/106243
11642 * match.pd (-x & 1): New simplification.
11643
11644 2022-08-04 Richard Biener <rguenther@suse.de>
11645
11646 PR tree-optimization/106521
11647 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
11648 CFG cleanup manually before rewriting into LC SSA.
11649
11650 2022-08-04 Richard Biener <rguenther@suse.de>
11651
11652 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
11653 (back_threader::resolve_phi): Likewise.
11654 (back_threader::find_paths_to_names): Rewrite greedy search.
11655
11656 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
11657
11658 * config/s390/vector.md (V_HW_FT): New iterator.
11659 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
11660 of V_HW.
11661
11662 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
11663
11664 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
11665 setting -mblock-ops-vector-pair.
11666
11667 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
11668
11669 PR tree-optimization/106514
11670 * value-relation.cc (path_oracle::killing_def) Do not walk the
11671 equivalence set clearing bits.
11672
11673 2022-08-03 Tamar Christina <tamar.christina@arm.com>
11674
11675 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
11676 sequence of a three-way conditional.
11677 (replace_phi_edge_with_variable): Support diamonds.
11678 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
11679 min/max.
11680 (strip_bit_not, invert_minmax_code): New.
11681
11682 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
11683
11684 PR rtl-optimization/106187
11685 * alias.h (mems_same_for_tbaa_p): Declare.
11686 * alias.cc (mems_same_for_tbaa_p): New function.
11687 * dse.cc (record_store): Use it instead of open-coding
11688 alias check.
11689 * cselib.h (cselib_redundant_set_p): Declare.
11690 * cselib.cc: Include alias.h
11691 (cselib_redundant_set_p): New function.
11692 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
11693 of rtx_equal_for_cselib_p.
11694 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
11695 (reload_cse_noop_set_p): Delete.
11696
11697 2022-08-03 Martin Liska <mliska@suse.cz>
11698
11699 * doc/gcov-dump.texi: Document the new option.
11700 * gcov-dump.cc (main): Parse the new option.
11701 (print_usage): Show the option.
11702 (tag_counters): Sort key:value pairs of TOP N counter.
11703
11704 2022-08-03 Martin Liska <mliska@suse.cz>
11705
11706 * profile.cc (compute_branch_probabilities): Do not collect
11707 stats unless TDF_DETAILS.
11708
11709 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11710 Uroš Bizjak <ubizjak@gmail.com>
11711
11712 PR target/47949
11713 * config/i386/i386.md (peephole2): New peephole2 to convert
11714 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
11715 when optimizing for minimal size with -Oz.
11716
11717 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11718
11719 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
11720 to split comparisons against -1 using AND and CMP -1 instructions.
11721
11722 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11723
11724 * config/i386/i386-features.cc (compute_convert_gain): Add gain
11725 for converting suitable TImode shift to a V1TImode shift.
11726 (timode_scalar_chain::convert_insn): Add support for converting
11727 suitable ASHIFT and LSHIFTRT.
11728 (timode_scalar_to_vector_candidate_p): Consider logical shifts
11729 by integer constants that are multiples of 8 to be candidates.
11730
11731 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11732 Segher Boessenkool <segher@kernel.crashing.org>
11733 Richard Sandiford <richard.sandiford@arm.com>
11734
11735 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
11736 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
11737 that are all positive to complement the existing FFS and
11738 idempotent ABS simplifications.
11739 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
11740 val_signbit_known_clear_p is true of the operand.
11741 Simplify sign extensions of SUBREG truncations of operands
11742 that are already suitably (zero) extended.
11743 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
11744 of operands that are already suitably zero extended.
11745
11746 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
11747
11748 PR tree-optimization/106510
11749 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
11750 Check for unsupported statements early.
11751
11752 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
11753
11754 PR tree-optimization/106474
11755 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
11756 range of equivalences that may contribute to the range.
11757
11758 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
11759
11760 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
11761 encoding bit in BTF.
11762
11763 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11764
11765 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
11766 irange check.
11767 (tree_lower_bound): New.
11768 (tree_upper_bound): New.
11769 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
11770 vrange.
11771 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
11772 argument to vrange.
11773
11774 2022-08-02 Richard Biener <rguenther@suse.de>
11775
11776 * tree-ssa-threadbackward.cc
11777 (back_threader_profitability::profitable_path_p): Apply
11778 size constraints to all paths again.
11779
11780 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11781
11782 * range-op-float.cc (finite_operands_p): New.
11783 (frelop_early_resolve): New.
11784 (default_frelop_fold_range): New.
11785 (class foperator_equal): New.
11786 (class foperator_not_equal): New.
11787 (class foperator_lt): New.
11788 (class foperator_le): New.
11789 (class foperator_gt): New.
11790 (class foperator_ge): New.
11791 (class foperator_unordered): New.
11792 (class foperator_ordered): New.
11793 (class foperator_relop_unknown): New.
11794 (floating_op_table::floating_op_table): Add above classes to
11795 floating op table.
11796 * value-range.h (frange::supports_p): Enable.
11797
11798 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11799
11800 * tree-core.h (struct tree_ssa_name): Add frange_info and
11801 reshuffle the rest.
11802 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
11803 for frange.
11804 (vrange_storage::set_vrange): Same.
11805 (vrange_storage::get_vrange): Same.
11806 (vrange_storage::fits_p): Same.
11807 (frange_storage_slot::alloc_slot): New.
11808 (frange_storage_slot::set_frange): New.
11809 (frange_storage_slot::get_frange): New.
11810 (frange_storage_slot::fits_p): New.
11811 * value-range-storage.h (class frange_storage_slot): New.
11812
11813 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11814
11815 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
11816 query to integrals.
11817
11818 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11819
11820 * value-range.cc (frange::set): Initialize m_props and cleanup.
11821
11822 2022-08-02 Richard Biener <rguenther@suse.de>
11823
11824 PR tree-optimization/106497
11825 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
11826 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
11827
11828 2022-08-02 Martin Liska <mliska@suse.cz>
11829
11830 * profile.cc (compute_branch_probabilities): Dump details only
11831 if TDF_DETAILS.
11832 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
11833 TDF_ADDRESS is used, it makes comparison harder.
11834
11835 2022-08-02 Richard Biener <rguenther@suse.de>
11836
11837 PR tree-optimization/106498
11838 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
11839 SSA update here.
11840 (expand_omp_for): Or here.
11841 (execute_expand_omp): Instead schedule it here together
11842 with CFG cleanup via TODO.
11843
11844 2022-08-02 Richard Biener <rguenther@suse.de>
11845
11846 PR lto/106334
11847 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
11848 assert.
11849
11850 2022-08-02 Richard Biener <rguenther@suse.de>
11851
11852 PR tree-optimization/106495
11853 * tree-ssa-threadbackward.cc
11854 (back_threader_profitability::profitable_path_p): If known_edge
11855 is probably never executed avoid threading.
11856
11857 2022-08-01 David Malcolm <dmalcolm@redhat.com>
11858
11859 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
11860 error.
11861
11862 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
11863 Uroš Bizjak <ubizjak@gmail.com>
11864
11865 PR target/106481
11866 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
11867 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
11868 CONST_VECTOR.
11869
11870 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
11871
11872 PR target/83782
11873 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
11874 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
11875
11876 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
11877
11878 PR debug/106263
11879 * ctfc.h (struct ctf_dtdef): Add field linkage.
11880 * ctfc.cc (ctf_add_function): Set ctti_linkage.
11881 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
11882 function types and subprograms.
11883 * btfout.cc (btf_asm_func_type): Emit linkage information for the
11884 function.
11885 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
11886 for functions.
11887
11888 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
11889 Jakub Jelinek <jakub@redhat.com>
11890
11891 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
11892 the mask type.
11893
11894 2022-08-01 Sam Feifer <sfeifer@redhat.com>
11895
11896 PR tree-optimization/104992
11897 * match.pd (x / y * y == x): New simplification.
11898
11899 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11900
11901 * value-range.cc (tree_compare): New.
11902 (frange::set): Make more general.
11903 (frange::normalize_kind): Cleanup and return bool.
11904 (frange::union_): Use normalize_kind return value.
11905 (frange::intersect): Same.
11906 (frange::verify_range): Remove unnecessary else.
11907 * value-range.h (vrp_val_max): Move before frange class.
11908 (vrp_val_min): Same.
11909 (frange::frange): Remove set to m_type.
11910
11911 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11912
11913 * value-range.cc (vrange::supports_type_p): Use const_tree.
11914 (irange::supports_type_p): Same.
11915 (frange::supports_type_p): Same.
11916 * value-range.h (Value_Range::supports_type_p): Same.
11917 (irange::supports_p): Same.
11918
11919 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11920
11921 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
11922 query SCEV for integers.
11923 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
11924 irange check.
11925
11926 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
11927
11928 * config/i386/i386.md (define_expand <any_rotate>ti3): For
11929 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
11930 (rot[lr]64ti2_doubleword): New post-reload splitter.
11931
11932 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
11933 H.J. Lu <hjl.tools@gmail.com>
11934
11935 PR target/106450
11936 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
11937 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
11938 (timode_remove_non_convertible_regs): Update comment.
11939 Call timode_check_non_convertible_reg on all TImode register
11940 DEFs and USEs in each instruction.
11941
11942 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11943
11944 * config/xtensa/xtensa.md: Change hard register number used in
11945 the split patterns for indirect sibling call fixups from 10 to 11,
11946 the last free one for the CALL0 ABI.
11947
11948 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11949
11950 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
11951 Add new case for IF_THEN_ELSE.
11952
11953 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
11954
11955 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
11956 (<expander><mode>3<exec>): Use V_INT_noHI.
11957 (v<expander><mode>3<exec>): Likewise.
11958
11959 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
11960
11961 * config/gcn/gcn.md (one_cmpldi2): New.
11962
11963 2022-07-29 Richard Biener <rguenther@suse.de>
11964
11965 PR tree-optimization/105679
11966 * tree-ssa-threadbackward.cc
11967 (back_threader_profitability::profitable_path_p): Avoid threading
11968 when the entry edge is probably never executed.
11969
11970 2022-07-29 Richard Biener <rguenther@suse.de>
11971
11972 PR tree-optimization/106422
11973 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
11974 Check whether we can copy thread blocks and cancel the thread if not.
11975
11976 2022-07-29 Jakub Jelinek <jakub@redhat.com>
11977
11978 PR middle-end/106449
11979 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
11980 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
11981 or n2 before regimplifying it inside of a condition.
11982
11983 2022-07-29 Jakub Jelinek <jakub@redhat.com>
11984
11985 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
11986 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
11987 expand_omp_simd): Don't fold_convert second argument to
11988 fold_build_pointer_plus to sizetype.
11989
11990 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
11991
11992 * config.in: Regenerate.
11993 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
11994 Select the value of the macro definition according to whether
11995 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
11996 * configure: Regenerate.
11997 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
11998
11999 2022-07-29 Richard Biener <rguenther@suse.de>
12000
12001 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
12002 Use CONVERT_EXPR_CODE_P.
12003
12004 2022-07-29 Richard Biener <rguenther@suse.de>
12005
12006 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
12007 get_vectype_for_scalar_type instead of
12008 vect_get_vector_types_for_stmt.
12009
12010 2022-07-28 David Malcolm <dmalcolm@redhat.com>
12011
12012 PR analyzer/105893
12013 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
12014
12015 2022-07-28 David Malcolm <dmalcolm@redhat.com>
12016
12017 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
12018 url.
12019 (Static Analyzer Options): Likewise. Add urefs for all of the
12020 warnings that have associated CWE identifiers.
12021
12022 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
12023
12024 * doc/implement-c.texi (Floating point implementation): Mention
12025 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
12026 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
12027 implication in the descriptions of `-fno-trapping-math' and
12028 `-frounding-math'.
12029
12030 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
12031
12032 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
12033 (QUIET_PATTERN): New int attribute.
12034 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
12035 RTL insns entirely within the preparation statements.
12036 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
12037 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
12038 insns.
12039 (*riscv_fsnvsnan<mode>2): New insn.
12040
12041 2022-07-28 Richard Biener <rguenther@suse.de>
12042
12043 PR middle-end/106457
12044 * tree.cc (array_at_struct_end_p): Handle array objects
12045 specially.
12046
12047 2022-07-28 Jakub Jelinek <jakub@redhat.com>
12048
12049 PR tree-optimization/106099
12050 * internal-fn.def (TRAP): New internal fn.
12051 * internal-fn.h (expand_TRAP): Declare.
12052 * internal-fn.cc (expand_TRAP): Define.
12053 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
12054 use internal fn rather than builtin.
12055
12056 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
12057
12058 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
12059
12060 2022-07-27 WANG Xuerui <i@xen0n.name>
12061
12062 * doc/invoke.texi: Document -m[no-]explicit-relocs for
12063 LoongArch.
12064
12065 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
12066
12067 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
12068 duplicate backslashes.
12069
12070 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
12071
12072 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
12073 case.
12074
12075 2022-07-27 Jakub Jelinek <jakub@redhat.com>
12076
12077 PR debug/106261
12078 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
12079 output asm thunks for -dx.
12080
12081 2022-07-27 Jakub Jelinek <jakub@redhat.com>
12082
12083 PR middle-end/106332
12084 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
12085 that candidates is not an empty vector.
12086
12087 2022-07-27 Xi Ruoyao <xry111@xry111.site>
12088
12089 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
12090 assembler supports explicit relocation for LoongArch.
12091 * configure: Regenerate.
12092 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
12093 Define to 0 if not defined.
12094 * config/loongarch/genopts/loongarch.opt.in
12095 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
12096 * config/loongarch/loongarch.opt: Regenerate.
12097
12098 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
12099
12100 PR c/106016
12101 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
12102
12103 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12104
12105 * config/loongarch/loongarch-opts.cc: Modify the output message string
12106 of the warning.
12107
12108 2022-07-26 Martin Liska <mliska@suse.cz>
12109
12110 * doc/tm.texi.in: Fix placement of defmac.
12111 * doc/tm.texi: Copy.
12112
12113 2022-07-26 Martin Liska <mliska@suse.cz>
12114
12115 * doc/tm.texi.in: Fix cross @defmac and @hook.
12116 * doc/tm.texi: Copy.
12117
12118 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
12119
12120 PR tree-optimization/106444
12121 * value-range-pretty-print.cc (vrange_printer::visit): Handle
12122 legacy ranges.
12123 (vrange_printer::print_irange_bound): Work on wide_int's.
12124 * value-range-pretty-print.h (print_irange_bound): Same.
12125 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
12126
12127 2022-07-26 Richard Biener <rguenther@suse.de>
12128
12129 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
12130 points to a constant continue checking ptr2.
12131
12132 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
12133
12134 * config/aarch64/aarch64-builtins.cc
12135 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
12136 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
12137 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
12138 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
12139 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
12140 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
12141 (MODE_q_p128): Define macro to map to corresponding mode name.
12142 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
12143 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
12144 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
12145 corresponding qualifier name.
12146 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
12147 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
12148 functions for the above mappings
12149 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
12150 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
12151 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
12152 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
12153 for all vreinterpret intrinsics
12154 (enum aarch64_builtins): Add vreinterpret function codes
12155 (aarch64_init_simd_intrinsics): New
12156 (handle_arm_neon_h): Improved comment.
12157 (aarch64_general_fold_builtin): Fold vreinterpret calls
12158 * config/aarch64/arm_neon.h
12159 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
12160 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
12161 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
12162 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
12163 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
12164 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
12165 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
12166 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
12167 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
12168 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
12169 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
12170 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
12171 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
12172 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
12173 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
12174 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
12175 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
12176 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
12177 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
12178 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
12179 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
12180 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
12181 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
12182 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
12183 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
12184 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
12185 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
12186 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
12187 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
12188 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
12189 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
12190 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
12191 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
12192 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
12193 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
12194 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
12195 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
12196 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
12197 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
12198 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
12199 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
12200 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
12201 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
12202 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
12203 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
12204 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
12205 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
12206 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
12207 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
12208 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
12209 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
12210 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
12211 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
12212 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
12213 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
12214 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
12215 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
12216 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
12217 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
12218 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
12219 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
12220 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
12221 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
12222 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
12223 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
12224 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
12225 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
12226 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
12227 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
12228 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
12229 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
12230 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
12231 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
12232 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
12233 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
12234 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
12235 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
12236 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
12237 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
12238 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
12239 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
12240 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
12241 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
12242 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
12243 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
12244 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
12245 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
12246 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
12247 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
12248 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
12249 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
12250 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
12251 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
12252 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
12253 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
12254 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
12255 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
12256 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
12257 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
12258 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
12259 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
12260 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
12261 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
12262 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
12263 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
12264 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
12265 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
12266 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
12267 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
12268 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
12269 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
12270 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
12271 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
12272 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
12273 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
12274 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
12275 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
12276 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
12277 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
12278 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
12279 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
12280 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
12281 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
12282 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
12283 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
12284 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
12285 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
12286 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
12287 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
12288 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
12289 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
12290 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
12291 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
12292 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
12293 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
12294 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
12295 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
12296 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
12297 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
12298 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
12299 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
12300 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
12301 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
12302 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
12303 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
12304 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
12305 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
12306 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
12307 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
12308 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
12309 (vreinterpretq_p128_bf16): Delete
12310
12311 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
12312
12313 * config/aarch64/aarch64-builtins.cc
12314 (aarch64_simd_builtin_std_type): Rename to...
12315 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
12316 (aarch64_lookup_simd_builtin_type): Rename to...
12317 (aarch64_simd_builtin_type): ...this. Add const/pointer
12318 support, and extract table lookup to...
12319 (aarch64_lookup_simd_type_in_table): ...this function.
12320 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
12321 (aarch64_init_fcmla_laneq_builtins): Ditto.
12322 (aarch64_init_simd_builtin_functions): Ditto.
12323
12324 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
12325
12326 * config/aarch64/aarch64-builtins.cc
12327 (aarch64_general_gimple_fold_builtin): Add combine.
12328
12329 2022-07-26 Richard Biener <rguenther@suse.de>
12330
12331 PR tree-optimization/106189
12332 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
12333 Divide using offset_ints.
12334
12335 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12336
12337 * common/config/loongarch/loongarch-common.cc:
12338 Enable '-fsection-anchors' when O1 and more advanced optimization.
12339 * config/loongarch/genopts/loongarch.opt.in: Add new option
12340 '-mexplicit-relocs', and enable by default.
12341 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
12342 Delete function declaration.
12343 (loongarch_split_move_insn): Delete function declaration.
12344 (loongarch_split_symbol_type): Add function declaration.
12345 * config/loongarch/loongarch.cc (enum loongarch_address_type):
12346 Add new address type 'ADDRESS_LO_SUM'.
12347 (loongarch_classify_symbolic_expression): New function definitions.
12348 Classify the base of symbolic expression X, given that X appears in
12349 context CONTEXT.
12350 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
12351 (loongarch_split_symbol_type): New function definitions.
12352 Determines whether the symbol load should be split into two instructions.
12353 (loongarch_valid_lo_sum_p): New function definitions.
12354 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
12355 symbol has type SYMBOL_TYPE.
12356 (loongarch_classify_address): Add handling of 'LO_SUM'.
12357 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
12358 (loongarch_signed_immediate_p): Sort code.
12359 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
12360 (loongarch_const_insns): Add handling of 'HIGH'.
12361 (loongarch_split_move_insn_p): Add the static attribute to the function.
12362 (loongarch_emit_set): New function definitions.
12363 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
12364 (loongarch_legitimize_tls_address): Add symbol handling when defining the
12365 TARGET_EXPLICIT_RELOCS macro.
12366 (loongarch_split_symbol): New function definitions. Split symbol.
12367 (loongarch_legitimize_address): Add codes see if the address can split into a high part
12368 and a LO_SUM.
12369 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
12370 high and low.
12371 (loongarch_split_move_insn): Delete function definitions.
12372 (loongarch_output_move): Add support for HIGH and LO_SUM.
12373 (loongarch_print_operand_reloc): New function definitions.
12374 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
12375 (loongarch_memmodel_needs_release_fence): Sort code.
12376 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
12377 and LOW output.
12378 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
12379 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
12380 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
12381 * config/loongarch/loongarch.md (movti): Delete the template.
12382 (*movti): Delete the template.
12383 (movtf): Delete the template.
12384 (*movtf): Delete the template.
12385 (*low<mode>): New template of normal symbol low address.
12386 (@tls_low<mode>): New template of tls symbol low address.
12387 (@ld_from_got<mode>): New template load address from got table.
12388 (@ori_l_lo12<mode>): New template.
12389 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
12390 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
12391
12392 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12393
12394 * config/loongarch/constraints.md (a): Delete the constraint.
12395 (b): A constant call not local address.
12396 (h): Delete the constraint.
12397 (t): Delete the constraint.
12398 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
12399 Remove cModel type support other than normal.
12400 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
12401 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
12402 (loongarch_split_symbol): Delete useless function declarations.
12403 (loongarch_split_symbol_type): Delete useless function declarations.
12404 * config/loongarch/loongarch.cc (enum loongarch_address_type):
12405 Delete unnecessary comment information.
12406 (loongarch_symbol_binds_local_p): Modified the judgment order of label
12407 and symbol.
12408 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
12409 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
12410 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
12411 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
12412 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
12413 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
12414 and 'SYMBOL_PCREL'.
12415 (loongarch_address_insns): Sort code.
12416 (loongarch_12bit_offset_address_p): Sort code.
12417 (loongarch_14bit_shifted_offset_address_p): Sort code.
12418 (loongarch_call_tls_get_addr): Sort code.
12419 (loongarch_legitimize_tls_address): Sort code.
12420 (loongarch_output_move): Remove schema support for cmodel other than normal.
12421 (loongarch_memmodel_needs_release_fence): Sort code.
12422 (loongarch_print_operand): Sort code.
12423 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
12424 Rename to LARCH_12BIT_OFFSET_P.
12425 (LARCH_12BIT_OFFSET_P): New macro.
12426 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
12427 support for cmodel other than normal.
12428 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
12429 (is_const_call_plt_symbol): Delete this predicate.
12430 (is_const_call_global_noplt_symbol): Delete this predicate.
12431 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
12432 symbol or label.
12433
12434 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
12435
12436 PR target/106091
12437 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
12438 REG_EH_REGION when replacing one store insn having it.
12439 (replace_swapped_aligned_load): Likewise.
12440
12441 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12442
12443 * Makefile.in (OBJS): Add range-op-float.o.
12444 * range-op.cc (get_float_handler): New.
12445 (range_op_handler::range_op_handler): Save code and type for
12446 delayed querying.
12447 (range_op_handler::oeprator bool): Move from header file, and
12448 add support for floats.
12449 (range_op_handler::fold_range): Add support for floats.
12450 (range_op_handler::op1_range): Same.
12451 (range_op_handler::op2_range): Same.
12452 (range_op_handler::lhs_op1_relation): Same.
12453 (range_op_handler::lhs_op2_relation): Same.
12454 (range_op_handler::op1_op2_relation): Same.
12455 * range-op.h (class range_operator_float): New.
12456 (class floating_op_table): New.
12457 * value-query.cc (range_query::get_tree_range): Add case for
12458 REAL_CST.
12459 * range-op-float.cc: New file.
12460
12461 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
12462 Uroš Bizjak <ubizjak@gmail.com>
12463
12464 PR target/91681
12465 * config/i386/i386-expand.cc (split_double_concat): A new helper
12466 function for setting a double word value from two word values.
12467 * config/i386/i386-protos.h (split_double_concat): Prototype here.
12468 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
12469 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
12470 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
12471 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
12472 previous define_split for implementing DST = (HI<<32)|LO as
12473 pair of move instructions, setting lopart and hipart.
12474 (*concat<mode><dwi>3_2): Likewise.
12475 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
12476 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
12477
12478 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12479
12480 PR middle-end/106432
12481 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
12482 when the result range type is unsupported.
12483
12484 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
12485
12486 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
12487
12488 2022-07-25 Richard Biener <rguenther@suse.de>
12489
12490 PR middle-end/106414
12491 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
12492 precision types.
12493
12494 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
12495
12496 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
12497 (@aarch64_rbit<mode>): ... to this and change it in...
12498 (ffs<mode>2,ctz<mode>2): ... here.
12499 (@aarch64_rev16<mode>): New.
12500 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
12501 Define the following enum AARCH64_REV16, AARCH64_REV16L,
12502 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
12503 (aarch64_init_data_intrinsics): New.
12504 (aarch64_general_init_builtins): Add call to
12505 aarch64_init_data_intrinsics.
12506 (aarch64_expand_builtin_data_intrinsic): New.
12507 (aarch64_general_expand_builtin): Add call to
12508 aarch64_expand_builtin_data_intrinsic.
12509 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
12510 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
12511 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
12512
12513 2022-07-25 Martin Liska <mliska@suse.cz>
12514
12515 * doc/extend.texi: Remove trailing whitespaces.
12516 * doc/invoke.texi: Likewise.
12517
12518 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12519
12520 * value-range-pretty-print.cc (vrange_printer::visit): New.
12521 (vrange_printer::print_frange_prop): New.
12522 * value-range-pretty-print.h (class vrange_printer): Add visit and
12523 print_frange_prop.
12524 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
12525 (vrange_allocator::alloc_frange): New.
12526 * value-range.cc (vrange::operator=): Handle frange.
12527 (vrange::operator==): Same.
12528 (frange::accept): New.
12529 (frange::set): New.
12530 (frange::normalize_kind): New.
12531 (frange::union_): New.
12532 (frange::intersect): New.
12533 (frange::operator=): New.
12534 (frange::operator==): New.
12535 (frange::supports_type_p): New.
12536 (frange::verify_range): New.
12537 * value-range.h (enum value_range_discriminator): Handle frange.
12538 (class fp_prop): New.
12539 (FP_PROP_ACCESSOR): New.
12540 (class frange_props): New.
12541 (FRANGE_PROP_ACCESSOR): New.
12542 (class frange): New.
12543 (Value_Range::init): Handle frange.
12544 (Value_Range::operator=): Same.
12545 (Value_Range::supports_type_p): Same.
12546 (frange_props::operator==): New.
12547 (frange_props::union_): New.
12548 (frange_props::intersect): New
12549 (frange::frange): New.
12550 (frange::type): New.
12551 (frange::set_varying): New.
12552 (frange::set_undefined): New.
12553
12554 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
12555 Kewen Lin <linkw@linux.ibm.com>
12556
12557 PR testsuite/106345
12558 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
12559 to filter out all -mtune options.
12560
12561 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12562
12563 * value-query.cc (range_query::get_value_range): Add assert.
12564 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
12565 on unsupported types in vr_values.
12566 (simplify_using_ranges::simplify): Same.
12567
12568 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12569
12570 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
12571 types.
12572 * value-query.cc (get_ssa_name_range_info): Remove precision check.
12573
12574 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12575
12576 * value-relation.cc (value_relation::set_relation): Remove assert.
12577 (path_oracle::register_relation): Exit when trying to register
12578 same SSA name relations.
12579
12580 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12581
12582 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
12583 (ranger_cache::range_from_dom): Same.
12584 * tree-ssa-dom.cc
12585 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
12586
12587 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
12588 H.J. Lu <hjl.tools@gmail.com>
12589
12590 PR target/106303
12591 PR target/106347
12592 * config/i386/i386-features.cc (make_vector_copies): Move from
12593 general_scalar_chain to scalar_chain.
12594 (convert_reg): Likewise.
12595 (convert_insn_common): New scalar_chain method split out from
12596 general_scalar_chain convert_insn.
12597 (convert_registers): Move from general_scalar_chain to
12598 scalar_chain.
12599 (scalar_chain::convert): Call convert_insn_common before calling
12600 convert_insn.
12601 (timode_remove_non_convertible_regs): Iterate until there are
12602 no further changes to the candidates.
12603 * config/i386/i386-features.h (scalar_chain::hash_map): Move
12604 from general_scalar_chain.
12605 (scalar_chain::convert_reg): Likewise.
12606 (scalar_chain::convert_insn_common): New shared method.
12607 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
12608 (scalar_chain::convert_registers): Likewise. No longer virtual.
12609 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
12610 (general_scalar_chain::convert_reg): Likewise.
12611 (general_scalar_chain::make_vector_copies): Likewise.
12612 (general_scalar_chain::convert_registers): Delete virtual method.
12613 (timode_scalar_chain::convert_registers): Likewise.
12614
12615 2022-07-23 Immad Mir <mirimmad@outlook.com>
12616
12617 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
12618 "Common Function Attributes" section.
12619 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
12620 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
12621 warnings may be emitted through usage of three function attributes used
12622 for static analysis of file descriptors namely fd_arg, fd_arg_read and
12623 fd_arg_write.
12624
12625 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12626
12627 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
12628 Add a new insn_and_split pattern, and a few split patterns for
12629 spacial cases.
12630
12631 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
12632
12633 * graphds.cc (graphds_scc): Fix algorithm attribution.
12634
12635 2022-07-22 Richard Biener <rguenther@suse.de>
12636
12637 PR tree-optimization/106403
12638 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
12639 value valueization after check for IFN_MASKED_STORE or
12640 IFN_LEN_STORE.
12641
12642 2022-07-22 Richard Biener <rguenther@suse.de>
12643
12644 PR tree-optimization/106397
12645 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
12646 not update SSA form here.
12647 (mark_nontemporal_stores): Return whether we marked any
12648 non-temporal stores and inserted mfence.
12649 (loop_prefetch_arrays): Note when we need to update SSA.
12650 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
12651 at the end of the pass.
12652
12653 2022-07-22 Richard Biener <rguenther@suse.de>
12654
12655 PR tree-optimization/106387
12656 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
12657 if ptr is not an SSA name.
12658
12659 2022-07-22 liuhongt <hongtao.liu@intel.com>
12660
12661 PR target/106038
12662 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
12663 original "<code><mode>3".
12664 (*<code><mode>3): New define_insn, it's original
12665 "<code><mode>3" be extended to handle memory and immediate
12666 operand with ix86_binary_operator_ok. Also adjust define_split
12667 after it.
12668 (mmxinsnmode): New mode attribute.
12669 (*mov<mode>_imm): Refactor with mmxinsnmode.
12670 * config/i386/predicates.md
12671 (register_or_x86_64_const_vector_operand): New predicate.
12672
12673 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
12674
12675 * config/rs6000/altivec.md:
12676 (vstrir_code_<mode>): Rename to...
12677 (vstrir_direct_<mode>): ... this.
12678 (vstrir_p_code_<mode>): Rename to...
12679 (vstrir_p_direct_<mode>): ... this.
12680 (vstril_code_<mode>): Rename to...
12681 (vstril_direct_<mode>): ... this.
12682 (vstril_p_code_<mode>): Rename to...
12683 (vstril_p_direct_<mode>): ... this.
12684
12685 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
12686
12687 * config/rs6000/rs6000-c.cc: Update comments.
12688 (rs6000_target_modify_macros): Remove bu_mask references.
12689 (rs6000_define_or_undefine_macro): Replace bu_mask reference
12690 with a rs6000_cpu value check.
12691 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
12692 parameter from call to rs6000_target_modify_macros.
12693 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
12694 rs6000_target_modify_macros_ptr): Remove parameter from extern
12695 for the prototype.
12696 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
12697 parameter from prototype, update calls to this function.
12698 (rs6000_print_builtin_options): Remove prototype, call and function.
12699 (rs6000_builtin_mask_calculate): Remove function.
12700 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
12701 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
12702 and builtin_mask debug output.
12703 (rs6000_builtin_mask_names): Remove.
12704 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
12705 diff_bumask references; Update calls to rs6000_target_modify_ptr.
12706 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
12707
12708 2022-07-21 Sam Feifer <sfeifer@redhat.com>
12709
12710 PR tree-optimization/94920
12711 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
12712 (x <= 0 ? -x : 0): New simplification.
12713
12714 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12715
12716 Revert:
12717 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12718
12719 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
12720 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
12721
12722 2022-07-21 Richard Biener <rguenther@suse.de>
12723
12724 PR tree-optimization/106379
12725 * match.pd (~(a ^ b) -> a == b): New pattern.
12726
12727 2022-07-21 Richard Biener <rguenther@suse.de>
12728
12729 PR tree-optimization/106378
12730 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
12731 LEN_STORE, add mode to initialize a may-def and handle
12732 MASK_STORE that way.
12733 (dse_optimize_stmt): Query may-defs. Handle internal
12734 functions LEN_STORE and MASK_STORE similar to how
12735 we handle memory builtins but without byte tracking.
12736
12737 2022-07-21 Richard Biener <rguenther@suse.de>
12738
12739 PR tree-optimization/106365
12740 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
12741 the offset to start encoding of RHS from.
12742 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
12743 (vn_walk_cb_data::push_partial_def): Allow the first partial
12744 definition to be fully providing the def. Offset RHS
12745 before encoding if requested.
12746 (vn_reference_lookup_3): Initialize def_rhs everywhere.
12747 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
12748
12749 2022-07-21 Richard Biener <rguenther@suse.de>
12750
12751 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
12752 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
12753 and IFN_MASK_LOAD_LANES.
12754 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
12755 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
12756
12757 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
12758
12759 PR rtl-optimization/101347
12760 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
12761 population of nonlocal_goto_handler_labels from here ...
12762 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
12763 * rtlanal.cc (remove_node_from_insn_list): Verify that a
12764 duplicate is not present in the remainder of the list.
12765
12766 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
12767
12768 * rtl.h (remove_node_from_expr_list): Remove declaration.
12769 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
12770
12771 2022-07-20 Richard Biener <rguenther@suse.de>
12772
12773 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
12774 invariant updated address when the input was invariant.
12775
12776 2022-07-20 liuhongt <hongtao.liu@intel.com>
12777
12778 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
12779 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
12780 * timevar.def (TV_TREE_POWCABS): New timevar.
12781 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
12782 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
12783 (class pass_expand_powcabs): Ditto.
12784 (pass_expand_powcabs::execute): Ditto.
12785 (make_pass_expand_powcabs): Ditto.
12786 (pass_cse_sincos::execute): Remove pow/cabs expand part.
12787 (make_pass_cse_sincos): Ditto.
12788
12789 2022-07-20 Richard Biener <richard.guenther@gmail.com>
12790 Hongtao Liu <hongtao.liu@intel.com>
12791
12792 PR tree-optimization/106010
12793 * tree-complex.cc (init_dont_simulate_again): Lower complex
12794 type move.
12795 (expand_complex_move): Also expand COMPLEX_CST for rhs.
12796
12797 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
12798
12799 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
12800 for incoming ranges on join nodes and add to worklist.
12801
12802 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
12803
12804 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
12805 (ranger_cache::range_from_dom): Put all nodes to be calculated
12806 in the worklist and resolve after the dom walk.
12807 * gimple-range-cache.h (resolve_dom): New prototype.
12808
12809 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12810
12811 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
12812 returns_twice calls.
12813
12814 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12815
12816 * cfghooks.cc (duplicate_block): Expand comment.
12817 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
12818 calls that may return twice.
12819
12820 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12821
12822 * tree-ssa-sink.cc (select_best_block): Punt if selected block
12823 has incoming abnormal edges.
12824
12825 2022-07-19 Martin Liska <mliska@suse.cz>
12826
12827 * doc/extend.texi: Remove trailing :.
12828
12829 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12830
12831 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
12832 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
12833
12834 2022-07-19 Richard Biener <rguenther@suse.de>
12835
12836 PR middle-end/106331
12837 * builtins.cc (get_memory_rtx): Compute alignment from
12838 the original address and set MEM_OFFSET to unknown when
12839 we create a MEM_EXPR from the base object of the address.
12840
12841 2022-07-19 Richard Biener <rguenther@suse.de>
12842
12843 PR lto/106334
12844 * dwarf2out.cc (dwarf2out_register_external_die): Allow
12845 map entry re-use during WPA.
12846
12847 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
12848 Richard Biener <rguenther@suse.de>
12849
12850 PR c/106264
12851 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
12852 COMPOUND_EXPR to silence spurious warning if result isn't used.
12853 (fold_builtin_modf): Likewise.
12854 (do_mpfr_remquo): Likewise.
12855
12856 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12857
12858 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
12859 Change the relative cost of '(set (reg) (const_int N))' where
12860 N fits into signed 12-bit from 4 to 0 if optimizing for size.
12861 And use the appropriate macro instead of the bare number 4.
12862
12863 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
12864
12865 PR tree-optimization/106280
12866 * value-relation.cc (dom_oracle::register_relation): Register
12867 transitives only when it is possible for there to be one.
12868 (dom_oracle::set_one_relation): Return NULL if this is an
12869 existing relation.
12870
12871 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12872
12873 * doc/invoke.texi (RISC-V Options): Add index references for
12874 `mrelax' and `mriscv-attribute'.
12875
12876 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12877
12878 * doc/invoke.texi (Option Summary): Add missing second space
12879 around `-mstack-protector-guard-reg='.
12880
12881 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12882
12883 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
12884 (RISC-V Options): Likewise, and `-mriscv-attribute'.
12885
12886 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
12887
12888 * config/arc/arc-arch.h (arc_tune_attr): Add
12889 ARC_TUNE_ARCHS4X_REL31A variant.
12890 * config/arc/arc.cc (arc_override_options): Tune options for
12891 release 310a.
12892 (arc_sched_issue_rate): Use correct enum.
12893 (arc600_corereg_hazard): Textual change.
12894 (arc_hazard): Add release 310a tunning.
12895 * config/arc/arc.md (tune): Update and take into consideration new
12896 tune option.
12897 (tune_dspmpy): Likewise.
12898 (tune_store): New attribute.
12899 * config/arc/arc.opt (mtune): New tune option.
12900 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
12901 (hs4x_brcc_op): New instruction rezervation.
12902 (hs4x_data_store_1_op): Likewise.
12903 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
12904 * config/arc/arc-tables.opt: Regenerate.
12905 * config/arc/t-multilib: Likewise.
12906 * doc/invoke.texi (ARC): Update mcpu and tune sections.
12907
12908 2022-07-18 Richard Biener <rguenther@suse.de>
12909
12910 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
12911 When computing cost-based merging do not disregard builtin
12912 classified partitions in some cases.
12913
12914 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
12915
12916 PR target/106253
12917 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
12918 Delete.
12919 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
12920 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
12921 Delete.
12922 * config/arm/arm_neon_builtins.def (copysignf): Delete.
12923 * config/arm/iterators.md (nvrint_pattern): New attribute.
12924 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
12925 New pattern.
12926 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
12927 Likewise.
12928 (neon_copysignf<mode>): Rename to...
12929 (copysign<mode>3): ...this.
12930
12931 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
12932
12933 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
12934 pointer first when in interrupts.
12935
12936 2022-07-18 Richard Biener <rguenther@suse.de>
12937
12938 * tree-loop-distribution.cc (copy_loop_before): Add
12939 the ability to replace the original LC PHI defs.
12940 (generate_loops_for_partition): Pass through a flag
12941 whether to redirect original LC PHI defs.
12942 (generate_code_for_partition): Likewise.
12943 (loop_distribution::distribute_loop): Compute the partition
12944 that should provide the LC PHI defs for common reductions
12945 and pass that down.
12946
12947 2022-07-18 Richard Ball <richard.ball@arm.com>
12948
12949 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
12950 (aarch64_evpc_uzp): Likewise.
12951 (aarch64_evpc_zip): Likewise.
12952
12953 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12954
12955 PR target/106231
12956 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
12957 to recognize any_extend:DI of ctz:SI which is implicitly extended.
12958 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
12959 extended ctz:SI that has preceding xor to break false dependency.
12960
12961 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12962
12963 * config/i386/predicates.md (x86_64_const_vector_operand):
12964 Check the operand's mode matches the specified mode argument.
12965
12966 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12967
12968 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
12969 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
12970 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
12971 (vec_pack_trunc_qi): Update to specify the now required
12972 UNSPEC_MASKOP unspec.
12973 (vec_pack_trunc_<mode>): Likewise.
12974
12975 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12976
12977 * config/xtensa/xtensa.md
12978 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
12979 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
12980 represented as '-(1 << N)', decrease the lower bound of N from 12
12981 to 1. And the other immediate for conditional branch is now no
12982 longer limited to zero, but also one of some positive integers.
12983 Finally, remove the checks of some conditions, because the comparison
12984 expressions that don't satisfy such checks are determined as
12985 compile-time constants and thus will be optimized away before
12986 RTL expansion.
12987
12988 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12989
12990 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
12991 (xtensa_constantsynth_2insn): Change to try all three synthetic
12992 methods and to use the one that fits the immediate value of
12993 the seed into a Narrow Move Immediate instruction "MOVI.N"
12994 when the Code Density Option is configured.
12995
12996 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
12997
12998 PR target/85620
12999 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
13000 false if callee has indirect_return attribute and caller
13001 doesn't.
13002
13003 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
13004
13005 PR target/106273
13006 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
13007 constraints to reflect the output is earlyclobber, unless it is
13008 the same register (pair) as one of the operands.
13009
13010 2022-07-15 David Malcolm <dmalcolm@redhat.com>
13011
13012 * doc/invoke.texi (Static Analyzer Options): Add the new fd
13013 warnings to the initial gccoptlist, and to the list of those
13014 disabled by -fanalyzer-checker=taint.
13015
13016 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
13017
13018 * config/aarch64/aarch64-builtins.cc
13019 (enum aarch64_type_qualifiers): Remove qualifier_internal.
13020 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
13021
13022 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
13023
13024 * config/aarch64/aarch64-builtins.cc
13025 (v1di_UP): Add V1DI mode to _UP macros.
13026 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
13027 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
13028 * config/aarch64/aarch64-simd.md
13029 (vec_extractv2dfv1df): Replace with...
13030 (vec_extract<mode><V1half>): ...this.
13031 * config/aarch64/aarch64.cc
13032 (aarch64_classify_vector_mode): Add V1DI mode.
13033 * config/aarch64/iterators.md
13034 (VQ_2E, V1HALF, V1half): New.
13035 (nunits): Add V1DI mode.
13036
13037 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
13038
13039 PR target/106278
13040 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
13041 Fix indentation whitespace.
13042 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
13043 (timode_scalar_chain::convert_insn): Delete dead code.
13044 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
13045 Fix indentation whitespace.
13046 (convertible_comparison_p): Likewise.
13047 (timode_scalar_to_vector_candidate_p): Likewise.
13048
13049 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
13050
13051 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
13052
13053 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
13054
13055 * Makefile.in (OBJS): Add value-range-pretty-print.o.
13056 * pretty-print.h (pp_vrange): New.
13057 * value-range.cc (vrange::dump): Call pp version.
13058 (unsupported_range::dump): Move to its own file.
13059 (dump_bound_with_infinite_markers): Same.
13060 (irange::dump): Same.
13061 (irange::dump_bitmasks): Same.
13062 (vrange::debug): Remove.
13063 * value-range.h: Remove virtual designation for dump methods.
13064 Remove dump_bitmasks method.
13065 * value-range-pretty-print.cc: New file.
13066 * value-range-pretty-print.h: New file.
13067
13068 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
13069
13070 * value-range.cc (irange::accept): New.
13071 (unsupported_range::accept): New.
13072 * value-range.h (class vrange_visitor): New.
13073 (class vrange): Add accept method.
13074 (class unsupported_range): Same.
13075 (class Value_Range): Same.
13076
13077 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
13078
13079 * diagnostic-format-json.cc (json_from_location_range): Adjust
13080 to new label_text API.
13081 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
13082 Likewise.
13083 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
13084 (layout::print_any_labels): Likewise.
13085 * tree-diagnostic-path.cc (class path_label): Likewise.
13086 (struct event_range): Likewise.
13087 (default_tree_diagnostic_path_printer): Likewise.
13088 (default_tree_make_json_for_path): Likewise.
13089
13090 2022-07-15 konglin1 <lingling.kong@intel.com>
13091
13092 PR target/106113
13093 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
13094 comparison due to intrinsics changed over time.
13095 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
13096 Add unordered check and mode for sse comi codegen.
13097 (ix86_expand_sse_comi): Add unordered check and check a different
13098 CCmode.
13099 (ix86_expand_sse_comi_round):Extract unordered check and mode part
13100 in ix86_ssecom_setcc.
13101
13102 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13103
13104 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
13105 op_mode instead of vmode in calls to force_reg for op0 and op1.
13106
13107 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
13108
13109 PR tree-optimization/103798
13110 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
13111 (simplify_builtin_call): Inline memchr with constant strings of
13112 no more than the bytes of a word.
13113 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
13114 * tree-ssa-strlen.h (use_in_zero_equality): New.
13115
13116 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
13117
13118 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
13119 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
13120 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
13121 pass it in the call to lookup_tmp_var.
13122 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
13123 (get_initialized_tmp_var): Likewise.
13124 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
13125 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
13126
13127 2022-07-14 Martin Liska <mliska@suse.cz>
13128
13129 * doc/gimple.texi: Close properly a deftypefn.
13130
13131 2022-07-14 Martin Liska <mliska@suse.cz>
13132
13133 * doc/gimple.texi: Close properly a deftypefn.
13134
13135 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13136
13137 * config/xtensa/xtensa.md:
13138 In FP constant synthesis split pattern, subcontract to
13139 avoid_constant_pool_reference() as in the case of integer,
13140 because it can handle well too. And cast to int32_t before
13141 calling xtensa_constantsynth() in order to ignore upper 32-bit.
13142
13143 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
13144
13145 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
13146
13147 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
13148
13149 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
13150 (irange::legacy_intersect): Clear nonzero mask.
13151 (irange::legacy_union): Same.
13152 (irange::invert): Same.
13153
13154 2022-07-13 Richard Biener <rguenther@suse.de>
13155
13156 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
13157 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
13158 (dom_jt_state::get_blocks_on_stack): Likewise.
13159 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
13160 (back_propagate_equivalences): Remove dominator bitmap
13161 compute and instead use passed in m_blocks_on_stack.
13162 (record_temporary_equivalences): Likewise.
13163 (record_equivalences_from_incoming_edge): Likewise.
13164 (dom_opt_dom_walker::before_dom_children): Maintain and
13165 pass down blocks on stack.
13166 (dom_opt_dom_walker::after_dom_children): Likewise.
13167
13168 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
13169
13170 * config/aarch64/aarch64-builtins.cc
13171 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
13172
13173 2022-07-13 Richard Biener <rguenther@suse.de>
13174
13175 PR tree-optimization/106249
13176 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
13177 Only verify LC SSA of the new_loop if we created it.
13178 Use TODO_update_ssa_nophi for the SSA update after versioning
13179 the loop.
13180
13181 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
13182
13183 * range-op.cc (unsigned_singleton_p): Remove.
13184 (operator_bitwise_and::remove_impossible_ranges): Remove.
13185 (operator_bitwise_and::fold_range): Set nonzero bits. *
13186 * value-range.cc (irange::get_nonzero_bits): Remove
13187 legacy_mode_p assert.
13188 (irange::dump_bitmasks): Remove legacy_mode_p check.
13189
13190 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
13191
13192 PR target/106253
13193 * predict.h (insn_optimization_type): Declare.
13194 * predict.cc (insn_optimization_type): New function.
13195 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
13196 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
13197 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
13198 * internal-fn.cc (unary_convert_direct): New macro.
13199 (expand_convert_optab_fn): New function.
13200 (expand_unary_convert_optab_fn): New macro.
13201 (direct_unary_convert_optab_supported_p): Likewise.
13202 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
13203 convert_optab_handler.
13204 * config/aarch64/aarch64-protos.h
13205 (aarch64_builtin_vectorized_function): Delete.
13206 * config/aarch64/aarch64-builtins.cc
13207 (aarch64_builtin_vectorized_function): Delete.
13208 * config/aarch64/aarch64.cc
13209 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
13210 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
13211 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
13212 optimize_insn_for_size_p test.
13213
13214 2022-07-12 Richard Biener <rguenther@suse.de>
13215
13216 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
13217 Remove.
13218 (vect_do_peeling): Do not call it, adjust comment.
13219
13220 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
13221
13222 * config/aarch64/aarch64-builtins.cc
13223 (aarch64_builtin_vectorized_function): Remove handling of
13224 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
13225
13226 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
13227
13228 PR tree-optimization/106234
13229 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
13230 cache value before recursively resolving it.
13231
13232 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
13233
13234 * config/i386/i386-features.h (scalar_chain): Add fields
13235 insns_conv, n_sse_to_integer and n_integer_to_sse to this
13236 parent class, moved from general_scalar_chain.
13237 (scalar_chain::convert_compare): Protected method moved
13238 from general_scalar_chain.
13239 (mark_dual_mode_def): Make protected, not private virtual.
13240 (scalar_chain:convert_op): New private virtual method.
13241 (general_scalar_chain::general_scalar_chain): Simplify constructor.
13242 (general_scalar_chain::~general_scalar_chain): Delete destructor.
13243 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
13244 n_integer_to_sse fields to parent class, scalar_chain.
13245 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
13246 (general_scalar_chain::convert_compare): Delete prototype.
13247 (timode_scalar_chain::compute_convert_gain): Remove simplistic
13248 implementation, convert to a method prototype.
13249 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
13250 (timode_scalar_chain::convert_op): Prototype new virtual method.
13251 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
13252 Allocate insns_conv and initialize n_sse_to_integer and
13253 n_integer_to_sse fields in constructor.
13254 (scalar_chain::scalar_chain): Free insns_conv in destructor.
13255 (general_scalar_chain::general_scalar_chain): Delete
13256 constructor, now defined in the class declaration.
13257 (general_scalar_chain::~general_scalar_chain): Delete destructor.
13258 (scalar_chain::mark_dual_mode_def): Renamed from
13259 general_scalar_chain::mark_dual_mode_def.
13260 (timode_scalar_chain::mark_dual_mode_def): Delete.
13261 (scalar_chain::convert_compare): Renamed from
13262 general_scalar_chain::convert_compare.
13263 (timode_scalar_chain::compute_convert_gain): New method to
13264 determine the gain from converting a TImode chain to V1TImode.
13265 (timode_scalar_chain::convert_op): New method to convert an
13266 operand from TImode to V1TImode.
13267 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
13268 on REG_EQUAL notes that were originally TImode (not CONST_INT).
13269 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
13270 (timode_mem_p): Helper predicate to check where operand is
13271 memory reference with sufficient alignment for TImode STV.
13272 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
13273 to check whether COMPARE is convertible. Handle SET_DESTs that
13274 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
13275 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
13276
13277 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
13278
13279 PR tree-optimization/106250
13280 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
13281 argument to directly_supported_p.
13282
13283 2022-07-11 Richard Biener <rguenther@suse.de>
13284
13285 * tree-into-ssa.cc (update_ssa): Do not forcefully
13286 re-compute dominance fast queries for TODO_update_ssa_no_phi.
13287
13288 2022-07-11 Richard Biener <rguenther@suse.de>
13289
13290 PR tree-optimization/106228
13291 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
13292 VUSE compute for the non-loop case.
13293
13294 2022-07-11 Richard Biener <rguenther@suse.de>
13295
13296 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
13297 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
13298 (rewrite_update_dom_walker::m_in_region_flag): New.
13299 (rewrite_update_dom_walker::before_dom_children): If the region
13300 to update is marked, STOP at exits.
13301 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
13302 to be updated.
13303 (dump_update_ssa): Use bitmap_empty_p.
13304 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
13305 TODO_update_ssa_no_phi.
13306 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
13307 pending update_ssa to the caller.
13308
13309 2022-07-11 Richard Biener <rguenthert@suse.de>
13310
13311 PR target/105459
13312 * config/i386/i386-options.cc (ix86_set_current_function):
13313 Rebuild the target optimization node whenever necessary,
13314 not only when the optimization node didn't change.
13315
13316 2022-07-11 Richard Biener <rguenther@suse.de>
13317
13318 PR tree-optimization/106228
13319 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
13320 set a VUSE operand on the emitted load.
13321
13322 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
13323
13324 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
13325 verification against legacy value_range.
13326 (gimple_ranger::register_inferred_ranges): Same.
13327 (gimple_ranger::export_global_ranges): Rename update_global_range
13328 to set_range_info.
13329 * tree-core.h (struct range_info_def): Remove.
13330 (struct irange_storage_slot): New.
13331 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
13332 (struct tree_ssa_name): Add vrange_storage support.
13333 * tree-ssanames.cc (range_info_p): New.
13334 (range_info_fits_p): New.
13335 (range_info_alloc): New.
13336 (range_info_free): New.
13337 (range_info_get_range): New.
13338 (range_info_set_range): New.
13339 (set_range_info_raw): Remove.
13340 (set_range_info): Adjust to use vrange_storage.
13341 (set_nonzero_bits): Same.
13342 (get_nonzero_bits): Same.
13343 (duplicate_ssa_name_range_info): Remove overload taking
13344 value_range_kind.
13345 Rewrite tree overload to use vrange_storage.
13346 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
13347 * tree-ssanames.h (struct range_info_def): Remove.
13348 (set_range_info): Adjust prototype to take vrange.
13349 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
13350 duplicate_ssa_name_range_info.
13351 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
13352 (SSA_NAME_RANGE_TYPE): Remove.
13353 * value-query.cc (get_ssa_name_range_info): Adjust to use
13354 vrange_storage.
13355 (update_global_range): Remove.
13356 (get_range_global): Remove as_a<irange>.
13357 * value-query.h (update_global_range): Remove.
13358 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
13359 Rename update_global_range to set_range_info.
13360 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
13361 gcc_unreachable.
13362
13363 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
13364
13365 * value-range.cc (irange::operator=): Call verify_range.
13366 (irange::irange_set): Normalize kind after everything else has
13367 been set.
13368 (irange::irange_set_anti_range): Same.
13369 (irange::set): Same.
13370 (irange::verify_range): Disallow nonzero masks for VARYING.
13371 (irange::irange_union): Call verify_range.
13372 Handle nonzero masks better.
13373 (irange::irange_intersect): Same.
13374 (irange::set_nonzero_bits): Calculate mask if either range has an
13375 explicit mask.
13376 (irange::intersect_nonzero_bits): Same.
13377 (irange::union_nonzero_bits): Same.
13378 (range_tests_nonzero_bits): New.
13379 (range_tests): Call range_tests_nonzero_bits.
13380 * value-range.h (class irange): Remove set_nonzero_bits method
13381 with trees.
13382 (irange::varying_compatible_p): Set nonzero mask.
13383
13384 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13385
13386 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
13387 the sign-extend of result in the RTL template.
13388 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
13389
13390 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13391
13392 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
13393 Remove static, for use in the machine description file.
13394 * config/loongarch/loongarch-protos.h:
13395 (loongarch_check_zero_div_p): Add prototype.
13396 * config/loongarch/loongarch.md (enabled): New attr.
13397 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
13398 idiv. Conditionally enable the alternatives using
13399 loongarch_check_zero_div_p.
13400 (<optab>di3_fake): Likewise.
13401
13402 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13403
13404 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
13405 instead of mul.d.
13406
13407 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
13408
13409 * value-range.cc (irange::irange_single_pair_union): Set
13410 VR_VARYING when appropriate.
13411
13412 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
13413
13414 * stor-layout.cc (finalize_record_size): Extend warning message.
13415
13416 2022-07-09 Sam Feifer <sfeifer@redhat.com>
13417
13418 PR tree-optimization/98304
13419 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
13420
13421 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
13422
13423 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
13424 initializer and use clear_storage rather than copying the
13425 NULs to the destination array.
13426
13427 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
13428
13429 * config/i386/i386.md (define_peephole2): Use match_operand of
13430 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
13431 (define_peephole2): Likewise.
13432 (define_peephole2): Likewise...
13433
13434 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
13435
13436 * config/i386/i386-features.cc (convert_compare): Add support
13437 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
13438 by generating a pandn followed by ptest.
13439 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
13440 recent *testdi_not_doubleword comparison patterns.
13441
13442 2022-07-09 Tamar Christina <tamar.christina@arm.com>
13443
13444 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
13445 indicate that the value is not undefined.
13446
13447 2022-07-09 Andrew Pinski <apinski@marvell.com>
13448
13449 PR tree-optimization/106087
13450 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
13451 to make sure the statement is only defining one operand.
13452
13453 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
13454
13455 PR preprocessor/91733
13456 * input.cc (find_end_of_line): New helper function.
13457 (file_cache_slot::get_next_line): Recognize \r as a line ending.
13458 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
13459 since \r will now be interpreted as a line-ending.
13460
13461 2022-07-08 Martin Liska <mliska@suse.cz>
13462
13463 PR sanitizer/106132
13464 * opts.cc (finish_options): Use 2 calls to
13465 report_conflicting_sanitizer_options.
13466
13467 2022-07-08 Richard Biener <rguenther@suse.de>
13468
13469 PR tree-optimization/106226
13470 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
13471 no SSA update is needed. Move virtual SSA update ...
13472 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
13473 via forced virtual renaming when TODO_update_ssa_only_virtuals
13474 is queued.
13475 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
13476 when virtual SSA update is required.
13477 (try_vectorize_loop_1): Adjust.
13478 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
13479 virtual renaming if the ABI forces an aggregate return
13480 but the original call did not have a virtual definition.
13481
13482 2022-07-08 Martin Liska <mliska@suse.cz>
13483
13484 * toplev.cc (init_asm_output): Do not init asm_out_file.
13485
13486 2022-07-08 Tamar Christina <tamar.christina@arm.com>
13487
13488 PR tree-optimization/106063
13489 * match.pd: Do not apply pattern after veclower is not supported.
13490
13491 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
13492
13493 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
13494 'fn2' computation.
13495
13496 2022-07-08 Tamar Christina <tamar.christina@arm.com>
13497
13498 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
13499 still undefined and if so emit a subreg move instead.
13500 (store_integral_bit_field): Likewise.
13501 (store_bit_field): Likewise.
13502 * expr.h (write_complex_part): Likewise.
13503 * expmed.h (store_bit_field): Add new parameter.
13504 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
13505 parameter.
13506 (expand_ifn_atomic_compare_exchange): Likewise.
13507 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
13508 * emit-rtl.cc (validate_subreg): Likewise.
13509 * expr.cc (emit_group_store): Likewise.
13510 (copy_blkmode_from_reg): Likewise.
13511 (copy_blkmode_to_reg): Likewise.
13512 (clear_storage_hints): Likewise.
13513 (write_complex_part): Likewise.
13514 (emit_move_complex_parts): Likewise.
13515 (expand_assignment): Likewise.
13516 (store_expr): Likewise.
13517 (store_field): Likewise.
13518 (expand_expr_real_2): Likewise.
13519 * ifcvt.cc (noce_emit_move_insn): Likewise.
13520 * internal-fn.cc (expand_arith_set_overflow): Likewise.
13521 (expand_arith_overflow_result_store): Likewise.
13522 (expand_addsub_overflow): Likewise.
13523 (expand_neg_overflow): Likewise.
13524 (expand_mul_overflow): Likewise.
13525 (expand_arith_overflow): Likewise.
13526
13527 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
13528
13529 PR target/106180
13530 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
13531 Rename from *sse2_cvtps2pd<mask_name>_1.
13532 (vec_unpacks_lo_v4sf): Add handler for memory operand.
13533
13534 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
13535
13536 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
13537 Modify fp_sp_offset and gp_sp_offset's calculation method,
13538 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
13539 or UNITS_PER_FP_REG.
13540
13541 2022-07-07 David Malcolm <dmalcolm@redhat.com>
13542
13543 * diagnostic-format-json.cc (json_from_location_range): Update for
13544 removal of label_text::maybe_free in favor of automatic memory
13545 management.
13546 * diagnostic-format-sarif.cc
13547 (sarif_builder::make_location_object): Likewise.
13548 * diagnostic-show-locus.cc (struct pod_label_text): New.
13549 (class line_label): Convert m_text from label_text to pod_label_text.
13550 (layout::print_any_labels): Move "text" to the line_label.
13551 * tree-diagnostic-path.cc (path_label::get_text): Update for
13552 removal of label_text::maybe_free in favor of automatic memory
13553 management.
13554 (event_range::print): Likewise.
13555 (default_tree_diagnostic_path_printer): Likewise.
13556 (default_tree_make_json_for_path): Likewise.
13557
13558 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13559
13560 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
13561
13562 2022-07-07 Richard Biener <rguenther@suse.de>
13563
13564 * tree-into-ssa.cc (iterating_old_ssa_names): New.
13565 (add_new_name_mapping): Grow {new,old}_ssa_names separately
13566 and only when actually needed. Assert we are not growing
13567 the old_ssa_names set when iterating over it.
13568 (update_ssa): Remove old_ssa_names copying and empty_p
13569 query, note we are iterating over it and expect no set changes.
13570
13571 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
13572
13573 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
13574 (prepare_target_image, main): Handle OpenMP 'requires'.
13575 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
13576 'GOMP_offload_unregister_ver'.
13577
13578 2022-07-07 Richard Biener <rguenther@suse.de>
13579
13580 PR target/106219
13581 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
13582 set DECL_PURE_P.
13583
13584 2022-07-07 Richard Biener <rguenther@suse.de>
13585
13586 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
13587 number of LC PHIs inserted.
13588 (add_exit_phis): Return whether any variable required
13589 multiple LC PHI nodes.
13590 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
13591 when possible.
13592
13593 2022-07-07 Richard Biener <rguenther@suse.de>
13594
13595 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
13596 the def loop exit block bitmap as argument instead of
13597 re-computing it here.
13598 (add_exit_phis_var): Adjust.
13599 (loop_name_cmp): New function.
13600 (add_exit_phis): Sort variables to insert LC PHI nodes
13601 after definition loop, for each definition loop compute
13602 the exit block bitmap once.
13603 (get_loops_exit): Remove.
13604 (rewrite_into_loop_closed_ssa_1): Do not pre-record
13605 all loop exit blocks into bitmaps. Record loop exits
13606 if required.
13607
13608 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
13609
13610 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
13611 to handle the N32 ABI.
13612 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
13613 the macro, as it is not needed anymore.
13614
13615 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
13616
13617 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
13618 '[...]_data'.
13619 * config/nvptx/mkoffload.cc (process): Likewise.
13620
13621 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
13622
13623 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
13624
13625 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
13626
13627 * value-relation.cc (relation_to_code): New vector.
13628 (relation_oracle::validate_relation): New.
13629 (set_relation): Allow ssa1 == ssa2 to be registered.
13630 * value-relation.h (validate_relation): New prototype.
13631 (query_relation): Make internal variant protected.
13632
13633 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13634
13635 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
13636 for double word comparisons and tests (comparisons against zero).
13637 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
13638 and;cmp into andn;cmp $0 as a pre-reload splitter.
13639 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
13640 (*<any_or><dwi>3_doubleword): Likewise.
13641
13642 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13643 Hongtao Liu <hongtao.liu@intel.com>
13644
13645 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
13646 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
13647 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
13648 and gen_ssse3_palignv1ti instead of TImode.
13649 * config/i386/sse.md (SSESCALARMODE): Delete.
13650 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
13651 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
13652 iterator instead of SSESCALARMODE.
13653 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
13654 using a single move instruction (if required).
13655
13656 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13657 Uroš Bizjak <ubizjak@gmail.com>
13658
13659 PR rtl-optimization/96692
13660 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
13661 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
13662
13663 2022-07-05 Richard Biener <rguenther@suse.de>
13664
13665 PR tree-optimization/106198
13666 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
13667 full LC SSA rewrite but only if any blocks changed loop
13668 depth.
13669
13670 2022-07-05 Richard Biener <rguenther@suse.de>
13671
13672 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
13673 (find_uses_to_rename_in_loop): Likewise.
13674 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
13675 uses.
13676 (rewrite_into_loop_closed_ssa): Adjust.
13677
13678 2022-07-05 Richard Biener <rguenther@suse.de>
13679
13680 PR tree-optimization/106186
13681 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
13682 Properly handle virtual PHI nodes.
13683
13684 2022-07-05 Richard Biener <rguenther@suse.de>
13685
13686 PR tree-optimization/106196
13687 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
13688 handle aggregate returns of calls for VDEF updates.
13689
13690 2022-07-05 Richard Biener <rguenther@suse.de>
13691
13692 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
13693 Maintain LC SSA.
13694
13695 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
13696
13697 * tree-vect-patterns.cc (vect_convert_input): Expect the input
13698 type to be signed for optab_vector_mixed_sign. Update the vectype
13699 at the same time as type.
13700 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
13701 available, try sdot instead.
13702 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
13703 (vect_model_reduction_cost): Model the cost of implementing usdot
13704 using sdot.
13705 (vectorizable_reduction): Likewise. Skip target support test
13706 for lane reductions.
13707 (vect_emulate_mixed_dot_prod): New function.
13708 (vect_transform_reduction): Use it to emulate usdot via sdot.
13709
13710 2022-07-05 Richard Biener <rguenther@suse.de>
13711
13712 PR tree-optimization/106182
13713 * loop-init.cc (fix_loop_structure): Return the number
13714 of newly discovered plus the number of deleted loops.
13715 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
13716 variable name.
13717
13718 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13719
13720 * gimple-range-fold.cc
13721 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
13722 call to SCEV for irange supported types.
13723 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
13724 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
13725 * tree-ssa-dom.cc (cprop_operand): Same.
13726
13727 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
13728
13729 PR target/104489
13730 * calls.cc (precompute_register_parameters): Allow promotion
13731 of floating point values to be passed in wider integer modes
13732 by calling new convert_float_to_wider_int.
13733 (expand_call): Allow floating point results to be returned in
13734 wider integer modes by calling new convert wider_int_to_float.
13735 * cfgexpand.cc (expand_value_return): Allow backends to promote
13736 a scalar floating point return value to a wider integer mode
13737 by calling new convert_float_to_wider_int.
13738 * expr.cc (convert_float_to_wider_int): New function.
13739 (convert_wider_int_to_float): Likewise.
13740 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
13741 scalar FP PARM_DECLs to wider integer modes, by calling new
13742 convert_wider_int_to_float.
13743 * expr.h (convert_modes): Name arguments for improved documentation.
13744 (convert_float_to_wider_int): Prototype new function here.
13745 (convert_wider_int_to_float): Likewise.
13746 * function.cc (assign_parm_setup_stack): Allow floating point
13747 values to be passed on the stack as wider integer modes by
13748 calling new convert_wider_int_to_float.
13749
13750 2022-07-04 Martin Jambor <mjambor@suse.cz>
13751
13752 PR tree-optimization/105860
13753 * tree-sra.cc (build_reconstructed_reference): Start expr
13754 traversal only just below the outermost union.
13755
13756 2022-07-04 Richard Biener <rguenther@suse.de>
13757
13758 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
13759 and update virtual SSA form again. Assert we do so for
13760 a known set of transforms only.
13761 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
13762 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
13763 using load-lanes allow virtual SSA update.
13764
13765 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
13766 Chung-Lin Tang <cltang@codesourcery.com>
13767 Thomas Schwinge <thomas@codesourcery.com>
13768
13769 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
13770 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
13771 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
13772 * config/nvptx/mkoffload.cc (process, main): Likewise.
13773 * lto-cgraph.cc (omp_requires_to_name): New.
13774 (input_offload_tables): Save omp_requires_mask.
13775 (output_offload_tables): Read it, check for consistency,
13776 save value for mkoffload.
13777 * omp-low.cc (lower_omp_target): Force output_offloadtables
13778 call for OMP_REQUIRES_TARGET_USED.
13779
13780 2022-07-04 Richard Biener <rguenther@suse.de>
13781
13782 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
13783 no SSA update is needed instead of updating virtual SSA
13784 form.
13785 * tree-vect-stmts.cc (vectorizable_load): For hoisted
13786 invariant load use the loop entry virtual use.
13787 For emulated gather loads use the virtual use of the
13788 original stmt like vect_finish_stmt_generation would do.
13789
13790 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
13791
13792 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
13793 for direct circularity.
13794
13795 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
13796
13797 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
13798 the language for vector types.
13799
13800 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13801
13802 * value-range-storage.cc (irange_storage_slot::set_irange): Set
13803 nonzero bits in irange.
13804 (irange_storage_slot::get_irange): Get nonzero bits from irange.
13805 * value-range.cc (irange::operator=): Set nonzero bits.
13806 (irange::irange_set): Same.
13807 (irange::irange_set_anti_range): Same.
13808 (irange::set): Same.
13809 (irange::verify_range): Same.
13810 (irange::legacy_equal_p): Check nonzero bits.
13811 (irange::equal_p): Same.
13812 (irange::contains_p): Handle nonzero bits.
13813 (irange::irange_union): Same.
13814 (irange::irange_intersect): Same.
13815 (irange::dump): Same.
13816 (irange::set_nonzero_bits): New.
13817 (irange::get_nonzero_bits): New.
13818 (irange::intersect_nonzero_bits): New.
13819 (irange::union_nonzero_bits): New.
13820 (irange::dump_bitmasks): New.
13821 * value-range.h (class irange): Add m_nonzero_mask.
13822 (gt_ggc_mx): Handle nonzero bits.
13823 (gt_pch_nx): Same.
13824 (irange::set_undefined): Set nonzero bits.
13825 (irange::set_varying): Same.
13826 (irange::normalize_kind): Call set_undefined.
13827
13828 2022-07-04 Richard Biener <rguenther@suse.de>
13829
13830 * tree-ssa-loop-manip.h
13831 (rewrite_virtuals_into_loop_closed_ssa): Remove.
13832 (rewrite_into_loop_closed_ssa_1): Likewise.
13833 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
13834 Make static.
13835 (rewrite_into_loop_closed_ssa): Remove loop overload,
13836 always rewrite virtuals into LC SSA.
13837 (check_loop_closed_ssa_bb): Also check virtuals.
13838 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
13839 LC PHIs when in LC SSA.
13840 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
13841 loop-closed SSA here, but ...
13842 (tree_loop_unroll_and_jam): ... here once.
13843 * tree-if-conv.cc (version_loop_for_if_conversion): Use
13844 the cheaper TODO_update_ssa_no_phi.
13845 * tree-loop-distribution.cc (version_loop_by_alias_check):
13846 Likewise.
13847 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
13848 Likewise.
13849 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
13850 (tree_unswitch_outer_loop): Do not rewrite virtuals into
13851 LC ssa.
13852 * tree-parloops.cc (transform_to_exit_first_loop_alt):
13853 Likewise.
13854 (pass_parallelize_loops::execute): After finishing rewrite
13855 into LC SSA again because we do not maintain it properly.
13856
13857 2022-07-04 Richard Biener <rguenther@suse.de>
13858
13859 PR tree-optimization/106055
13860 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
13861 we can propagate.
13862
13863 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
13864
13865 PR target/43618
13866 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
13867 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
13868 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
13869
13870 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13871
13872 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
13873 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
13874 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
13875 with two arguments.
13876 (find_unswitching_predicates_for_bb): Same.
13877 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
13878 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
13879 * value-range.cc (irange::equal_p): Rename to...
13880 (irange::operator==): ...this.
13881 * value-range.h (irange::set): Remove.
13882 (irange::operator==): Remove.
13883 (irange::set_zero): Use set with two arguments.
13884 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
13885 (vr_values::extract_range_from_unary_expr): Same.
13886 (check_for_binary_op_overflow): Same.
13887 (bounds_of_var_in_loop): Same.
13888
13889 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
13890
13891 PR target/106022
13892 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
13893 New.
13894 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
13895 New.
13896 * config/i386/mmx.md (V_16_32_64): New.
13897 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
13898 and 64-bit constant vector.
13899 * config/i386/predicates.md (x86_64_const_vector_operand): New.
13900
13901 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
13902
13903 * gimple-range-cache.cc: Include value-range-storage.h.
13904 * gimple-range-cache.h (class block_range_cache): Add "class" to
13905 m_range_allocator.
13906 * gimple-range-edge.cc
13907 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
13908 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
13909 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
13910 * gimple-range-edge.h: Add "class" to m_range_allocator.
13911 * gimple-range-infer.cc
13912 (infer_range_manager::infer_range_manager): Allocate allocator.
13913 (infer_range_manager::~infer_range_manager): Free allocator.
13914 (infer_range_manager::get_nonzero): Dereference allocator.
13915 (infer_range_manager::add_range): Same.
13916 * gimple-range-infer.h (class vrange_allocator): Add "class" to
13917 m_range_allocator.
13918 * value-range-storage.h (class vrange_allocator): Move from
13919 value-range.h.
13920 (class obstack_vrange_allocator): Same.
13921 (class ggc_vrange_allocator): Same.
13922 (vrange_allocator::alloc_vrange): Same.
13923 (vrange_allocator::alloc_irange): Same.
13924 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
13925 (class obstack_vrange_allocator): Same.
13926 (class ggc_vrange_allocator): Same.
13927
13928 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
13929
13930 * Makefile.in (OBJS): Add value-range-storage.o.
13931 (GTFILES): Add value-range-storage.h.
13932 * gengtype.cc (open_base_files): Add value-range-storage.h.
13933 * value-range-storage.cc: New file.
13934 * value-range-storage.h: New file.
13935
13936 2022-07-03 Xi Ruoyao <xry111@xry111.site>
13937 Lulu Cheng <chenglulu@loongson.cn>
13938
13939 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
13940 New static function.
13941 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
13942 of TARGET_CHECK_ZERO_DIV.
13943 (loongarch_output_division): Likewise.
13944 * common/config/loongarch/loongarch-common.cc
13945 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
13946 * doc/invoke.texi: Update to match the new behavior.
13947
13948 2022-07-03 Ian Lance Taylor <iant@golang.org>
13949
13950 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
13951 statement if -fdelete-dead-exceptions.
13952
13953 2022-07-02 Tim Lange <mail@tim-lange.me>
13954
13955 PR analyzer/105900
13956 * doc/invoke.texi: Added Wanalyzer-allocation-size.
13957
13958 2022-07-02 Immad Mir <mirimmad17@gmail.com>
13959
13960 PR analyzer/106003
13961 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
13962 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
13963 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
13964 -Wanalyzer-fd-use-after-close.
13965
13966 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
13967
13968 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
13969 (trailing_wide_ints::set_precision): Add num_elements argument.
13970 (trailing_wide_ints::extra_size): Same.
13971
13972 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
13973
13974 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
13975 Use "r" constraint for operand 1.
13976
13977 2022-07-01 Richard Biener <rguenther@suse.de>
13978
13979 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
13980 Do not look at interesting_blocks which is a copy of
13981 blocks_to_update.
13982 (update_ssa): Do not initialize it.
13983 (pass_build_ssa::execute): Set interesting_blocks to NULL
13984 after releasing it.
13985
13986 2022-07-01 Richard Biener <rguenther@suse.de>
13987
13988 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
13989 back to using maybe_ne (off, -1).
13990
13991 2022-07-01 Richard Biener <rguenther@suse.de>
13992
13993 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
13994 checking dominance check conditional on flag_checking.
13995
13996 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
13997
13998 * config/gcn/gcn-protos.h (print_operand_address): Remove register
13999 keyword on 'rtx addr' argument.
14000
14001 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
14002 Uroš Bizjak <ubizjak@gmail.com>
14003
14004 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
14005 to post-reload define_insn_and_split.
14006
14007 2022-07-01 Jakub Jelinek <jakub@redhat.com>
14008
14009 PR middle-end/106144
14010 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
14011 emitting element for shift or if shift is 0 first element after start.
14012 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
14013 wi::shifted_mask with 0 start.
14014
14015 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
14016
14017 PR target/106122
14018 * config/i386/i386.md (peephole2): Avoid generating pop %esp
14019 when optimizing for size.
14020
14021 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
14022 Uroš Bizjak <ubizjak@gmail.com>
14023
14024 * config/i386/i386.md (general_szext_operand): Add TImode
14025 support using x86_64_hilo_general_operand predicate.
14026 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
14027 (*add<dwi>3_doubleword): Improved optimization of zero addition.
14028 (and<mode>3): Use SDWIM mode iterator to add support for double
14029 word bit-wise AND in TImode. Use force_reg when double word
14030 immediate operand isn't x86_64_hilo_general_operand.
14031 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
14032 converted into a post-reload splitter.
14033 (*andndi3_doubleword): Previous define_insn deleted.
14034 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
14035 TARGET_BMI that splits post-reload.
14036 (*andn<mode>3_doubleword): New define_insn_and_split for
14037 !TARGET_BMI, that lowers/splits before reload.
14038 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
14039 double word bit-wise XOR and bit-wise IOR in TImode. Use
14040 force_reg when double word immediate operand isn't
14041 x86_64_hilo_general_operand.
14042 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
14043 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
14044 double word bit-wise NOT in TImode.
14045 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
14046 and converted into a post-reload splitter.
14047
14048 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
14049
14050 PR middle-end/105874
14051 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
14052 EXPAND_MEMORY for the expansion of the inner reference only
14053 in the usual cases where a memory reference is required.
14054
14055 2022-07-01 Richard Biener <rguenther@suse.de>
14056
14057 PR tree-optimization/106131
14058 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
14059 zero when offsetting the read looking through an aggregate
14060 copy.
14061
14062 2022-07-01 Martin Liska <mliska@suse.cz>
14063
14064 PR tree-optimization/106126
14065 * gimple-if-to-switch.cc (struct condition_info): Save
14066 has_side_effect.
14067 (find_conditions): Parse all BBs.
14068 (pass_if_to_switch::execute): Allow only side effects for first
14069 BB.
14070
14071 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
14072
14073 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
14074 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
14075 OPTION_MASK_ISA2_AVX512BF16_UNSET and
14076 OPTION_MASK_ISA2_AVX512FP16_UNSET.
14077
14078 2022-06-30 Joseph Myers <joseph@codesourcery.com>
14079
14080 PR lto/106129
14081 * lto-wrapper.cc (find_option): Add argument start.
14082 (merge_and_complain): Loop over existing_opt_index and
14083 existing_opt2_index for Xassembler check. Update calls to
14084 find_option.
14085 (find_and_merge_options): Add argument first to determine whether
14086 to merge options with those passed in *opts.
14087 (run_gcc): Update calls to find_and_merge_options.
14088
14089 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
14090
14091 * gimple-range-cache.cc (block_range_cache::block_range_cache):
14092 Rename vrange_allocator to obstack_vrange_allocator.
14093 (ssa_global_cache::ssa_global_cache): Same.
14094 * gimple-range-edge.h (class gimple_outgoing_range): Same.
14095 * gimple-range-infer.h (class infer_range_manager): Same.
14096 * value-range.h (class vrange_allocator): Make abstract.
14097 (class obstack_vrange_allocator): Inherit from vrange_allocator.
14098 (class ggc_vrange_allocator): New.
14099
14100 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
14101 Uroš Bizjak <ubizjak@gmail.com>
14102
14103 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
14104 provide gen_swapsi.
14105 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
14106 via new gen_<insn>32di2_doubleword below.
14107 (<anyrotate>32di2_doubleword): New define_insn_and_split
14108 that splits after reload as either a pair of move instructions
14109 or an xchgl (using gen_swapsi).
14110
14111 2022-06-30 Richard Biener <rguenther@suse.de>
14112
14113 * domwalk.h (dom_walker::dom_walker): Update comment to
14114 reflect reality and new special argument value for
14115 bb_index_to_rpo.
14116 * domwalk.cc (dom_walker::dom_walker): Recognize -1
14117 bb_index_to_rpo.
14118 * tree-into-ssa.cc
14119 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
14120 dom_walker to not use RPO.
14121
14122 2022-06-30 Martin Liska <mliska@suse.cz>
14123
14124 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
14125 it is unused.
14126
14127 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
14128
14129 PR tree-optimization/106114
14130 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
14131 statement operands instead of GORI cache.
14132
14133 2022-06-30 Antoni Boucher <bouanto@zoho.com>
14134
14135 PR target/106095
14136 * config/i386/sse.md: Fix asm generation.
14137
14138 2022-06-29 Sergei Trofimovich <siarheit@google.com>
14139
14140 PR c++/106102
14141 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
14142
14143 2022-06-29 Joseph Myers <joseph@codesourcery.com>
14144
14145 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
14146 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
14147
14148 2022-06-29 Richard Biener <rguenther@suse.de>
14149
14150 PR rtl-optimization/106082
14151 * combine.cc (distribute_notes): Preserve notes when
14152 they indicate a call doesn't perform a non-local goto.
14153
14154 2022-06-29 Richard Biener <rguenther@suse.de>
14155
14156 PR tree-optimization/106112
14157 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
14158 a constant operand according to its type.
14159
14160 2022-06-29 Martin Liska <mliska@suse.cz>
14161
14162 * doc/invoke.texi: Remove removed evrp-mode.
14163
14164 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
14165
14166 PR target/106097
14167 * config/loongarch/loongarch.cc (loongarch_build_integer):
14168 Remove undefined behavior from code.
14169
14170 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
14171
14172 * doc/sourcebuild.texi: Document new no_alignment_constraints
14173 effective target check.
14174
14175 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
14176
14177 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
14178 * flag-types.h (enum evrp_mode): Remove.
14179 * params.opt: Remove --param=evrp-mode.
14180 * tree-vrp.cc (make_pass_early_vrp): New.
14181 (pass_vrp::execute): Call early VRP instance.
14182 * gimple-ssa-evrp-analyze.cc: Removed.
14183 * gimple-ssa-evrp-analyze.h: Removed.
14184 * gimple-ssa-evrp.cc: Removed.
14185
14186 2022-06-28 Alexandre Oliva <oliva@adacore.com>
14187
14188 * Makefile.in (TFLAGS): New.
14189 (GCC_FOR_TARGET): Add TFLAGS.
14190 (FLAGS_TO_PASS): Pass TFLAGS down.
14191
14192 2022-06-28 Richard Biener <rguenther@suse.de>
14193
14194 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
14195 call update_ssa.
14196
14197 2022-06-28 Richard Biener <rguenther@suse.de>
14198
14199 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
14200 mark_block_for_update.
14201 (update_ssa): Adjust.
14202
14203 2022-06-28 Xi Ruoyao <xry111@xry111.site>
14204
14205 PR target/106096
14206 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
14207 $r13 from SIBCALL_REGS.
14208 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
14209 Change $r13 to JIRL_REGS.
14210
14211 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
14212
14213 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
14214 irange::supports_p.
14215
14216 2022-06-28 Richard Biener <rguenther@suse.de>
14217
14218 PR middle-end/106053
14219 * match.pd ((T)a == (T)b): Avoid folding away sign
14220 changes in a comparison if we'd truncate to a boolean.
14221
14222 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
14223
14224 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
14225 iterator GPR with SImode, adjust the condition and output template,
14226 rename to ...
14227 (*rotlsi3_insert_4): ... this.
14228
14229 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14230
14231 * genmatch.cc: Add "final" and "override" to various vfunc
14232 implementations, removing redundant "virtual" as appropriate.
14233 * gensupport.cc: Likewise.
14234 * gimple-range-cache.h: Likewise.
14235 * ipa-icf-gimple.h: Likewise.
14236 * ipa-icf.h: Likewise.
14237 * read-md.h: Likewise.
14238 * read-rtl-function.cc: Likewise.
14239 * tree-ssa-loop-ch.cc: Likewise.
14240 * tree-ssa-sccvn.cc: Likewise.
14241
14242 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14243
14244 * config/i386/i386-features.h: Add "final" and "override" to
14245 scalar_chain vfunc implementations as appropriate.
14246
14247 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14248
14249 * tree-switch-conversion.h: Add "final" and "override" to cluster
14250 vfunc implementations as appropriate.
14251
14252 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14253
14254 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
14255 implementations as appropriate.
14256
14257 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14258
14259 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
14260 implementations, removing redundant "virtual" as appropriate.
14261 * gimple-ssa-strength-reduction.cc: Likewise.
14262 * ipa-prop.cc: Likewise.
14263 * rtl-ssa/blocks.cc: Likewise.
14264 * tree-into-ssa.cc: Likewise.
14265 * tree-ssa-dom.cc: Likewise.
14266 * tree-ssa-math-opts.cc: Likewise.
14267 * tree-ssa-phiopt.cc: Likewise.
14268 * tree-ssa-propagate.cc: Likewise.
14269 * tree-ssa-sccvn.cc: Likewise.
14270 * tree-ssa-strlen.cc: Likewise.
14271 * tree-ssa-uncprop.cc: Likewise.
14272
14273 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14274
14275 * adjust-alignment.cc: Add "final" and "override" to opt_pass
14276 vfunc implementations, removing redundant "virtual" as
14277 appropriate.
14278 * asan.cc: Likewise.
14279 * auto-inc-dec.cc: Likewise.
14280 * auto-profile.cc: Likewise.
14281 * bb-reorder.cc: Likewise.
14282 * cfgcleanup.cc: Likewise.
14283 * cfgexpand.cc: Likewise.
14284 * cfgrtl.cc: Likewise.
14285 * cgraphbuild.cc: Likewise.
14286 * combine-stack-adj.cc: Likewise.
14287 * combine.cc: Likewise.
14288 * compare-elim.cc: Likewise.
14289 * config/i386/i386-features.cc: Likewise.
14290 * coroutine-passes.cc: Likewise.
14291 * cprop.cc: Likewise.
14292 * cse.cc: Likewise.
14293 * dce.cc: Likewise.
14294 * df-core.cc: Likewise.
14295 * dse.cc: Likewise.
14296 * dwarf2cfi.cc: Likewise.
14297 * early-remat.cc: Likewise.
14298 * except.cc: Likewise.
14299 * final.cc: Likewise.
14300 * function.cc: Likewise.
14301 * fwprop.cc: Likewise.
14302 * gcse.cc: Likewise.
14303 * gimple-harden-conditionals.cc: Likewise.
14304 * gimple-if-to-switch.cc: Likewise.
14305 * gimple-isel.cc: Likewise.
14306 * gimple-laddress.cc: Likewise.
14307 * gimple-loop-interchange.cc: Likewise.
14308 * gimple-loop-jam.cc: Likewise.
14309 * gimple-loop-versioning.cc: Likewise.
14310 * gimple-low.cc: Likewise.
14311 * gimple-ssa-backprop.cc: Likewise.
14312 * gimple-ssa-evrp.cc: Likewise.
14313 * gimple-ssa-isolate-paths.cc: Likewise.
14314 * gimple-ssa-nonnull-compare.cc: Likewise.
14315 * gimple-ssa-split-paths.cc: Likewise.
14316 * gimple-ssa-store-merging.cc: Likewise.
14317 * gimple-ssa-strength-reduction.cc: Likewise.
14318 * gimple-ssa-warn-access.cc: Likewise.
14319 * gimple-ssa-warn-alloca.cc: Likewise.
14320 * gimple-ssa-warn-restrict.cc: Likewise.
14321 * gimple-warn-recursion.cc: Likewise.
14322 * graphite.cc: Likewise.
14323 * ifcvt.cc: Likewise.
14324 * init-regs.cc: Likewise.
14325 * ipa-comdats.cc: Likewise.
14326 * ipa-cp.cc: Likewise.
14327 * ipa-devirt.cc: Likewise.
14328 * ipa-fnsummary.cc: Likewise.
14329 * ipa-free-lang-data.cc: Likewise.
14330 * ipa-icf.cc: Likewise.
14331 * ipa-inline.cc: Likewise.
14332 * ipa-modref.cc: Likewise.
14333 * ipa-profile.cc: Likewise.
14334 * ipa-pure-const.cc: Likewise.
14335 * ipa-reference.cc: Likewise.
14336 * ipa-split.cc: Likewise.
14337 * ipa-sra.cc: Likewise.
14338 * ipa-visibility.cc: Likewise.
14339 * ipa.cc: Likewise.
14340 * ira.cc: Likewise.
14341 * jump.cc: Likewise.
14342 * loop-init.cc: Likewise.
14343 * lower-subreg.cc: Likewise.
14344 * mode-switching.cc: Likewise.
14345 * modulo-sched.cc: Likewise.
14346 * multiple_target.cc: Likewise.
14347 * omp-expand.cc: Likewise.
14348 * omp-low.cc: Likewise.
14349 * omp-oacc-kernels-decompose.cc: Likewise.
14350 * omp-oacc-neuter-broadcast.cc: Likewise.
14351 * omp-offload.cc: Likewise.
14352 * omp-simd-clone.cc: Likewise.
14353 * passes.cc: Likewise.
14354 * postreload-gcse.cc: Likewise.
14355 * postreload.cc: Likewise.
14356 * predict.cc: Likewise.
14357 * recog.cc: Likewise.
14358 * ree.cc: Likewise.
14359 * reg-stack.cc: Likewise.
14360 * regcprop.cc: Likewise.
14361 * reginfo.cc: Likewise.
14362 * regrename.cc: Likewise.
14363 * reorg.cc: Likewise.
14364 * sancov.cc: Likewise.
14365 * sanopt.cc: Likewise.
14366 * sched-rgn.cc: Likewise.
14367 * stack-ptr-mod.cc: Likewise.
14368 * store-motion.cc: Likewise.
14369 * tracer.cc: Likewise.
14370 * trans-mem.cc: Likewise.
14371 * tree-call-cdce.cc: Likewise.
14372 * tree-cfg.cc: Likewise.
14373 * tree-cfgcleanup.cc: Likewise.
14374 * tree-complex.cc: Likewise.
14375 * tree-eh.cc: Likewise.
14376 * tree-emutls.cc: Likewise.
14377 * tree-if-conv.cc: Likewise.
14378 * tree-into-ssa.cc: Likewise.
14379 * tree-loop-distribution.cc: Likewise.
14380 * tree-nrv.cc: Likewise.
14381 * tree-object-size.cc: Likewise.
14382 * tree-parloops.cc: Likewise.
14383 * tree-predcom.cc: Likewise.
14384 * tree-profile.cc: Likewise.
14385 * tree-sra.cc: Likewise.
14386 * tree-ssa-ccp.cc: Likewise.
14387 * tree-ssa-copy.cc: Likewise.
14388 * tree-ssa-dce.cc: Likewise.
14389 * tree-ssa-dom.cc: Likewise.
14390 * tree-ssa-dse.cc: Likewise.
14391 * tree-ssa-forwprop.cc: Likewise.
14392 * tree-ssa-ifcombine.cc: Likewise.
14393 * tree-ssa-loop-ch.cc: Likewise.
14394 * tree-ssa-loop-im.cc: Likewise.
14395 * tree-ssa-loop-ivcanon.cc: Likewise.
14396 * tree-ssa-loop-prefetch.cc: Likewise.
14397 * tree-ssa-loop-split.cc: Likewise.
14398 * tree-ssa-loop-unswitch.cc: Likewise.
14399 * tree-ssa-loop.cc: Likewise.
14400 * tree-ssa-math-opts.cc: Likewise.
14401 * tree-ssa-phiopt.cc: Likewise.
14402 * tree-ssa-phiprop.cc: Likewise.
14403 * tree-ssa-pre.cc: Likewise.
14404 * tree-ssa-reassoc.cc: Likewise.
14405 * tree-ssa-sccvn.cc: Likewise.
14406 * tree-ssa-sink.cc: Likewise.
14407 * tree-ssa-strlen.cc: Likewise.
14408 * tree-ssa-structalias.cc: Likewise.
14409 * tree-ssa-uncprop.cc: Likewise.
14410 * tree-ssa-uninit.cc: Likewise.
14411 * tree-ssanames.cc: Likewise.
14412 * tree-stdarg.cc: Likewise.
14413 * tree-switch-conversion.cc: Likewise.
14414 * tree-tailcall.cc: Likewise.
14415 * tree-vect-generic.cc: Likewise.
14416 * tree-vectorizer.cc: Likewise.
14417 * tree-vrp.cc: Likewise.
14418 * tsan.cc: Likewise.
14419 * ubsan.cc: Likewise.
14420 * var-tracking.cc: Likewise.
14421 * vtable-verify.cc: Likewise.
14422 * web.cc: Likewise.
14423
14424 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
14425
14426 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
14427 (jump): Likewise.
14428 (movdi_symbol_save_scc): Likewise.
14429
14430 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
14431
14432 PR rtl-optimization/7061
14433 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
14434
14435 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
14436
14437 PR tree-optimization/94026
14438 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
14439 (((X >> C1) & C2) eq/ne C3): Likewise.
14440
14441 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14442
14443 * statistics.cc: Include tree.h.
14444 (get_function_name): New function.
14445 (statistics_fini_pass_2): Call get_function_name instead of
14446 current_function_name.
14447 (statistics_counter_event): Call get_function_name instead of
14448 function_name.
14449 (statistics_histogram_event): Likewise.
14450
14451 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14452
14453 * config/xtensa/xtensa.md:
14454 Suppress unnecessary emitting nop insn in the split patterns for
14455 integer/FP constant synthesis, and add new peephole2 pattern that
14456 folds such synthesized additions.
14457
14458 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
14459
14460 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
14461 instead of evrp.
14462 (dom_jt_state::push): Remove m_evrp.
14463 (dom_jt_state::pop): Same.
14464 (dom_jt_state::record_ranges_from_stmt): Remove.
14465 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
14466 (class dom_jt_simplifier): Pass ranger to constructor.
14467 Inherit from hybrid_jt_simplifier.
14468 (dom_jt_simplifier::simplify): Convert to ranger.
14469 (pass_dominator::execute): Same.
14470 (all_uses_feed_or_dominated_by_stmt): New.
14471 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
14472 (dom_opt_dom_walker::before_dom_children): Call
14473 set_global_ranges_from_unreachable_edges.
14474 Do not call record_ranges_from_stmt.
14475 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
14476 (cprop_operand): Use int_range<> instead of value_range.
14477 (dom_opt_dom_walker::fold_cond): New.
14478 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
14479 cprop_into_stmt.
14480 Use fold_cond() instead of vrp_visit_cond_stmt().
14481 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
14482 pass state to simplifier.
14483 * vr-values.h (class vr_values): Make fold_cond public.
14484
14485 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
14486
14487 * common/config/tilegx/tilegx-common.cc: Removed.
14488 * common/config/tilepro/tilepro-common.cc: Removed.
14489 * config.gcc: Remove tilegx and tilepro entries.
14490 * config/tilegx/constraints.md: Removed.
14491 * config/tilegx/feedback.h: Removed.
14492 * config/tilegx/linux.h: Removed.
14493 * config/tilegx/mul-tables.cc: Removed.
14494 * config/tilegx/predicates.md: Removed.
14495 * config/tilegx/sync.md: Removed.
14496 * config/tilegx/t-tilegx: Removed.
14497 * config/tilegx/tilegx-builtins.h: Removed.
14498 * config/tilegx/tilegx-c.cc: Removed.
14499 * config/tilegx/tilegx-generic.md: Removed.
14500 * config/tilegx/tilegx-modes.def: Removed.
14501 * config/tilegx/tilegx-multiply.h: Removed.
14502 * config/tilegx/tilegx-opts.h: Removed.
14503 * config/tilegx/tilegx-protos.h: Removed.
14504 * config/tilegx/tilegx.cc: Removed.
14505 * config/tilegx/tilegx.h: Removed.
14506 * config/tilegx/tilegx.md: Removed.
14507 * config/tilegx/tilegx.opt: Removed.
14508 * config/tilepro/constraints.md: Removed.
14509 * config/tilepro/feedback.h: Removed.
14510 * config/tilepro/gen-mul-tables.cc: Removed.
14511 * config/tilepro/linux.h: Removed.
14512 * config/tilepro/mul-tables.cc: Removed.
14513 * config/tilepro/predicates.md: Removed.
14514 * config/tilepro/t-tilepro: Removed.
14515 * config/tilepro/tilepro-builtins.h: Removed.
14516 * config/tilepro/tilepro-c.cc: Removed.
14517 * config/tilepro/tilepro-generic.md: Removed.
14518 * config/tilepro/tilepro-modes.def: Removed.
14519 * config/tilepro/tilepro-multiply.h: Removed.
14520 * config/tilepro/tilepro-protos.h: Removed.
14521 * config/tilepro/tilepro.cc: Removed.
14522 * config/tilepro/tilepro.h: Removed.
14523 * config/tilepro/tilepro.md: Removed.
14524 * config/tilepro/tilepro.opt: Removed.
14525 * configure.ac: Remove tilegx and tilepro entries.
14526 * configure: Rebuilt.
14527 * doc/extend.texi: Remove tilegx and tilepro entries.
14528 * doc/install.texi: Remove tilegx and tilepro entries.
14529 * doc/invoke.texi: Remove tilegx and tilepro entries.
14530 * doc/md.texi: Remove tilegx and tilepro entries.
14531
14532 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
14533 Richard Biener <rguenther@suse.de>
14534
14535 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
14536 iteration over each basic block that was updated by the second
14537 iteration.
14538
14539 2022-06-24 Jason Merrill <jason@redhat.com>
14540
14541 PR c++/87729
14542 PR c++/20423
14543 * doc/invoke.texi: Document changes.
14544
14545 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
14546
14547 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
14548 condition to avoid overflow.
14549
14550 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14551
14552 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
14553 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
14554 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
14555 OPTION_MASK_PPC_GFXOPT.
14556 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
14557 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
14558 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
14559 * config/rs6000/rs6000-c.cc: Update comment.
14560 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
14561 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
14562 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
14563 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
14564 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
14565 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
14566 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
14567 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
14568 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
14569
14570 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14571
14572 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
14573 OPTION_MASK_MFCRF.
14574 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
14575 OPTION_MASK_MULTIPLE.
14576 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
14577 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
14578 OPTION_MASK_MFCRF.
14579 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
14580 OPTION_MASK_EABI.
14581 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
14582 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
14583 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
14584 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
14585 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
14586 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
14587 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
14588 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
14589 Replace with
14590 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
14591 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
14592 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
14593 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
14594 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
14595 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
14596 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
14597 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
14598 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
14599 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
14600 with OPTION_MASK_MULTIPLE.
14601 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
14602 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
14603 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
14604 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
14605 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
14606 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
14607 with OPTION_MASK_EABI.
14608
14609 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14610
14611 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
14612 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
14613 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
14614 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
14615 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
14616 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
14617 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
14618 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
14619 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
14620 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
14621 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
14622
14623 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14624
14625 * config/rs6000/rs6000-c.cc: Update comments.
14626 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
14627 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
14628 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
14629 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
14630 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
14631 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
14632 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
14633 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
14634 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
14635 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
14636 OPTION_MASK_MMA, OPTION_MASK_POWER10.
14637 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
14638 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
14639 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
14640 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
14641 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
14642
14643 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14644
14645 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
14646 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
14647 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
14648
14649 2022-06-24 Richard Biener <rguenther@suse.de>
14650
14651 PR middle-end/106070
14652 * match.pd (a != b ? a : b): Fix translation of
14653 operand_equal_for_comparison_p.
14654
14655 2022-06-24 Jan Hubicka <jh@suse.cz>
14656
14657 PR ipa/106057
14658 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
14659
14660 2022-06-24 Martin Liska <mliska@suse.cz>
14661
14662 PR middle-end/106059
14663 * profile-count.h: *= and /= operators need to modify this
14664 object.
14665
14666 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
14667 Uroš Bizjak <ubizjak@gmail.com>
14668
14669 PR target/105930
14670 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
14671 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
14672 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
14673
14674 2022-06-24 Alexandre Oliva <oliva@adacore.com>
14675
14676 * common.opt (nostdlib++): New.
14677 * doc/invoke.texi (-nostdlib++): Document it.
14678
14679 2022-06-24 Alexandre Oliva <oliva@adacore.com>
14680
14681 * doc/sourcebuild.texi (Environment attributes): Document
14682 two_plus_gigs.
14683
14684 2022-06-23 David Malcolm <dmalcolm@redhat.com>
14685
14686 * common.opt (fdiagnostics-show-rules): New option.
14687 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
14688 Fix up context->show_rules.
14689 * diagnostic-format-sarif.cc
14690 (diagnostic_output_format_init_sarif): Likewise.
14691 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
14692 (diagnostic_metadata::precanned_rule): New class.
14693 (diagnostic_metadata::add_rule): New.
14694 (diagnostic_metadata::get_num_rules): New.
14695 (diagnostic_metadata::get_rule): New.
14696 (diagnostic_metadata::m_rules): New field.
14697 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
14698 (print_any_rules): New.
14699 (diagnostic_report_diagnostic): Call it.
14700 * diagnostic.h (diagnostic_context::show_rules): New field.
14701 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
14702 * opts.cc (common_handle_option): Handle
14703 OPT_fdiagnostics_show_rules.
14704 * toplev.cc (general_init): Set up global_dc->show_rules.
14705
14706 2022-06-23 Martin Liska <mliska@suse.cz>
14707
14708 PR c++/106062
14709 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
14710 in order to initialize UBSAN built-ins.
14711
14712 2022-06-23 Martin Liska <mliska@suse.cz>
14713
14714 PR ipa/105600
14715 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
14716 Skip variables with body_removed.
14717
14718 2022-06-23 liuhongt <hongtao.liu@intel.com>
14719
14720 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
14721 reg_or_subregno.
14722 (sse4_2_pcmpistr): Ditto.
14723
14724 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
14725
14726 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
14727 typo.
14728 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
14729 * tree-switch-conversion.h: Likewise.
14730
14731 2022-06-22 Jason Merrill <jason@redhat.com>
14732
14733 PR c++/104642
14734 * common.opt: Add -funreachable-traps.
14735 * doc/invoke.texi (-funreachable-traps): Document it.
14736 * opts.cc (finish_options): Enable at -O0 or -Og.
14737 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
14738 (builtin_decl_unreachable, build_builtin_unreachable): New.
14739 * tree.h: Declare them.
14740 * ubsan.cc (sanitize_unreachable_fn): Factor out.
14741 (ubsan_instrument_unreachable): Use
14742 gimple_build_builtin_unreachable.
14743 * ubsan.h (sanitize_unreachable_fn): Declare.
14744 * gimple.cc (gimple_build_builtin_unreachable): New.
14745 * gimple.h: Declare it.
14746 * builtins.cc (expand_builtin_unreachable): Add assert.
14747 (fold_builtin_0): Call build_builtin_unreachable.
14748 * sanopt.cc: Don't run for just SANITIZE_RETURN
14749 or SANITIZE_UNREACHABLE when trapping.
14750 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
14751 unreachable functions.
14752 * gimple-fold.cc (gimple_fold_call)
14753 (gimple_get_virt_method_for_vtable)
14754 * ipa-fnsummary.cc (redirect_to_unreachable)
14755 * ipa-prop.cc (ipa_make_edge_direct_to_target)
14756 (ipa_impossible_devirt_target)
14757 * ipa.cc (walk_polymorphic_call_targets)
14758 * tree-cfg.cc (pass_warn_function_return::execute)
14759 (execute_fixup_cfg)
14760 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
14761 (unloop_loops)
14762 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
14763 Likewise.
14764
14765 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
14766
14767 PR tree-optimization/106019
14768 * tree-data-ref.cc (dr_may_alias_p): Try using the
14769 innermost_loop_behavior to disambiguate non-loop queries.
14770
14771 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
14772
14773 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
14774
14775 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14776
14777 * config/xtensa/xtensa.md (bswapsi2_internal):
14778 Enlarge the buffer that is obviously smaller than the template
14779 string given to sprintf().
14780
14781 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
14782 Marek Polacek <polacek@redhat.com>
14783 Segher Boessenkool <segher@kernel.crashing.org>
14784 Kewen Lin <linkw@linux.ibm.com>
14785
14786 PR target/105991
14787 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
14788 exact_log2 doesn't return -1 (or zero).
14789 (plus_xor): New code iterator.
14790 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
14791
14792 2022-06-21 Nathan Sidwell <nathan@acm.org>
14793
14794 * doc/invoke.texi (C++ Modules): Remove language-linkage
14795 as missing feature.
14796
14797 2022-06-21 Arjun Shankar <arjun@redhat.com>
14798
14799 PR tree-optimization/94899
14800 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
14801 0x80000000): New simplification.
14802
14803 2022-06-21 Jakub Jelinek <jakub@redhat.com>
14804
14805 PR rtl-optimization/106032
14806 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
14807 t may_trap_or_fault_p, even if it is cheap.
14808
14809 2022-06-21 Jakub Jelinek <jakub@redhat.com>
14810
14811 PR middle-end/106030
14812 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
14813 temp to expand_operands if mode has been promoted.
14814
14815 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
14816
14817 PR target/105740
14818 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
14819 condition bb.
14820
14821 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
14822
14823 PR tree-optimization/105736
14824 * tree-object-size.cc (addr_object_size): Return size_unknown
14825 when object offset computation returns an error.
14826
14827 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
14828
14829 PR target/105960
14830 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
14831 false if PIC register is used when calling ifunc functions.
14832
14833 2022-06-20 Richard Biener <rguenther@suse.de>
14834
14835 PR middle-end/106027
14836 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
14837 type of the prevailing comparison for the new comparison type.
14838 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
14839 to A < X && A >= Y folding.
14840
14841 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
14842
14843 PR tree-optimization/105940
14844 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
14845 slp_done_for_suggested_uf and adjust with it accordingly.
14846 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
14847 pass it down to vect_analyze_loop_2 for the initial analysis and
14848 applying suggested unroll factor.
14849 (vect_is_simple_reduction): Add parameter slp and adjust with it.
14850 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
14851 (vect_analyze_scalar_cycles): Likewise.
14852
14853 2022-06-20 Martin Liska <mliska@suse.cz>
14854
14855 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
14856 use them.
14857 (better_edge_p): Likewise.
14858 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
14859 * cfgloopmanip.cc (scale_loop_profile): Likewise.
14860 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
14861 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
14862 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
14863 * dojump.cc (do_compare_rtx_and_jump): Likewise.
14864 * final.cc (compute_alignments): Likewise.
14865 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
14866 (decide_about_value): Likewise.
14867 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
14868 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
14869 * modulo-sched.cc (sms_schedule): Likewise.
14870 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
14871 (expand_omp_ordered_sink): Likewise.
14872 (expand_omp_for_ordered_loops): Likewise.
14873 (expand_omp_for_static_nochunk): Likewise.
14874 * predict.cc (maybe_hot_count_p): Likewise.
14875 (probably_never_executed): Likewise.
14876 (set_even_probabilities): Likewise.
14877 (handle_missing_profiles): Likewise.
14878 (expensive_function_p): Likewise.
14879 * profile-count.h: Likewise.
14880 * profile.cc (compute_branch_probabilities): Likewise.
14881 * stmt.cc (emit_case_dispatch_table): Likewise.
14882 * symtab-thunks.cc (expand_thunk): Likewise.
14883 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
14884 * tree-ssa-sink.cc (select_best_block): Likewise.
14885 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
14886 (switch_decision_tree::balance_case_nodes): Likewise.
14887 (switch_decision_tree::emit_case_nodes): Likewise.
14888 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
14889
14890 2022-06-20 yulong <shiyulong@iscas.ac.cn>
14891
14892 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
14893 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
14894 of RISCV_BUILTIN.
14895 * config/riscv/riscv-ftypes.def (0): Remove unused.
14896 (1): New.
14897
14898 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14899
14900 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
14901 Consider relaxed MOVI instructions as L32R.
14902
14903 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14904
14905 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
14906 Use can_create_pseudo_p(), instead of using individual
14907 reload_in_progress and reload_completed.
14908 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
14909 the existing predicate function.
14910 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
14911 Use the standard RTX code predicate macros such as MEM_P,
14912 SYMBOL_REF_P and/or CONST_INT_P.
14913 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
14914 if callee-saved register, at the split patterns for indirect sibcall
14915 fixups.
14916
14917 2022-06-18 Jakub Jelinek <jakub@redhat.com>
14918
14919 * common.opt (flag_sanitize_trap): New variable.
14920 (fsanitize-trap=, fsanitize-trap): New options.
14921 (fsanitize-undefined-trap-on-error): Change into deprecated alias
14922 for -fsanitize-trap=all.
14923 * opts.h (struct sanitizer_opts_s): Add can_trap member.
14924 * opts.cc (finish_options): Complain about unsupported
14925 -fsanitize-trap= options.
14926 (sanitizer_opts): Add can_trap values to all entries.
14927 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
14928 options which have can_trap false.
14929 (parse_sanitizer_options): Add support for -fsanitize-trap=.
14930 For -fsanitize-trap=all, enable
14931 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
14932 -fsanitize-trap=vptr here.
14933 (common_handle_option): Handle OPT_fsanitize_trap_ and
14934 OPT_fsanitize_trap.
14935 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
14936 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
14937 flag_sanitize_undefined_trap_on_error.
14938 * gcc.cc (sanitize_spec_function): Use
14939 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
14940 and drop use of flag_sanitize_undefined_trap_on_error in
14941 "undefined" handling.
14942 * ubsan.cc (ubsan_instrument_unreachable): Use
14943 flag_sanitize_trap & SANITIZE_??? instead of
14944 flag_sanitize_undefined_trap_on_error.
14945 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
14946 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
14947 ubsan_build_overflow_builtin, instrument_bool_enum_load,
14948 ubsan_instrument_float_cast, instrument_nonnull_arg,
14949 instrument_nonnull_return, instrument_builtin): Likewise.
14950 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
14951 (-fsanitize-undefined-trap-on-error): Document as deprecated
14952 alias of -fsanitize-trap.
14953
14954 2022-06-18 Jakub Jelinek <jakub@redhat.com>
14955
14956 PR middle-end/105998
14957 * varasm.cc (narrowing_initializer_constant_valid_p): Check
14958 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
14959 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
14960
14961 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
14962
14963 PR tree-optimization/105835
14964 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
14965 Narrow integer multiplication by a zero_one_valued_p operand.
14966 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
14967 conversions inside COND_EXPR where both data operands are
14968 integer constants.
14969
14970 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14971
14972 * config/xtensa/constraints.md (Y):
14973 Change to include integer constants until reload begins.
14974 * config/xtensa/predicates.md (move_operand): Ditto.
14975 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
14976 Change to allow storing integer constants into litpool only after
14977 reload begins.
14978
14979 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14980
14981 PR target/105209
14982 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
14983 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
14984 (alpha_store_data_bypass_p_1): Ditto.
14985 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
14986 of generic store_data_bypass_p.
14987 (ev4_ist_c): Remove insn reservation.
14988
14989 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14990
14991 PR target/105970
14992 * config/i386/i386.cc (ix86_function_arg): Assert that
14993 the mode of pointer argumet is equal to ptr_mode, not Pmode.
14994
14995 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14996
14997 PR target/105993
14998 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
14999 instead of REGNO comparisons in combine splitter.
15000
15001 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
15002
15003 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
15004 types.
15005
15006 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
15007
15008 * config/riscv/bitmanip.md: Supress warning.
15009
15010 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
15011
15012 PR target/106004
15013 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
15014 Clear bits in the mask above bit 31.
15015
15016 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
15017
15018 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
15019 to avoid spilling trivial literals to the constant pool.
15020
15021 2022-06-16 David Malcolm <dmalcolm@redhat.com>
15022
15023 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
15024 auto_diagnostic_group to group any warning with its note.
15025 (maybe_warn_for_bound): Likewise.
15026 (check_access): Likewise.
15027 (warn_dealloc_offset): Likewise.
15028 (pass_waccess::maybe_warn_memmodel): Likewise.
15029 (pass_waccess::maybe_check_dealloc_call): Likewise.
15030 (pass_waccess::warn_invalid_pointer): Likewise.
15031 (pass_waccess::check_dangling_stores): Likewise.
15032
15033 2022-06-16 Jason Merrill <jason@redhat.com>
15034
15035 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
15036 opts_set->x_flag_sanitize.
15037
15038 2022-06-16 Jason Merrill <jason@redhat.com>
15039
15040 * flags.h (issue_strict_overflow_warning): Comment #endif.
15041
15042 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
15043
15044 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
15045 was invaraint before, clear the invariant bit.
15046 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
15047 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
15048
15049 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
15050
15051 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
15052
15053 2022-06-16 Jakub Jelinek <jakub@redhat.com>
15054
15055 PR tree-optimization/105983
15056 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
15057 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
15058 on non-equality comparisons.
15059
15060 2022-06-16 Jakub Jelinek <jakub@redhat.com>
15061
15062 PR tree-optimization/105984
15063 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
15064 x > stype_max / cst || x < stype_min / cst): fold_convert @1
15065 to TREE_TYPE (@0) just once and test for negative divisor
15066 also on that folded constant instead of on @1.
15067
15068 2022-06-16 Jakub Jelinek <jakub@redhat.com>
15069
15070 PR middle-end/105951
15071 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
15072 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
15073 as last argument to the internal functions.
15074 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
15075 extra call argument to ifns. If expand_atomic_fetch_op fails for the
15076 lhs == NULL_TREE case, fall through into the optab code with
15077 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
15078 fails, construct a CALL_EXPR and expand that.
15079 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
15080 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
15081 expand that.
15082
15083 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
15084
15085 PR target/103316
15086 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
15087 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
15088 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
15089 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
15090 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
15091 for new Power10 V1TI instructions.
15092 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
15093 (vec_cmpu<mode><mode>): Likewise.
15094 (vector_nlt<mode>): Set mode iterator to VEC_IC.
15095 (vector_nltv1ti): Remove.
15096 (vector_gtu<mode>): Set mode iterator to VEC_IC.
15097 (vector_gtuv1ti): Remove.
15098 (vector_nltu<mode>): Set mode iterator to VEC_IC.
15099 (vector_nltuv1ti): Remove.
15100 (vector_geu<mode>): Set mode iterator to VEC_IC.
15101 (vector_ngt<mode>): Likewise.
15102 (vector_ngtv1ti): Remove.
15103 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
15104 (vector_ngtuv1ti): Remove.
15105 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
15106 (vector_gtu_v1ti_p): Remove.
15107 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
15108 (vrotlv1ti3): Remove.
15109 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
15110 (vashrv1ti3): Remove.
15111
15112 2022-06-16 Martin Liska <mliska@suse.cz>
15113
15114 * gengtype-state.cc (read_a_state_token): Do not skip extra
15115 character after escaped sequence.
15116
15117 2022-06-16 Martin Liska <mliska@suse.cz>
15118
15119 PR driver/105564
15120 * spellcheck.cc (test_find_closest_string): Add new test.
15121 * spellcheck.h (class best_match): Prefer a difference in
15122 trailing sign symbol.
15123
15124 2022-06-16 liuhongt <hongtao.liu@intel.com>
15125
15126 PR tree-optimization/53533
15127 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
15128 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
15129 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
15130
15131 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15132
15133 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
15134
15135 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15136
15137 * config/xtensa/predicates.md (reload_operand):
15138 New predicate.
15139 * config/xtensa/xtensa.md: New peephole2 pattern.
15140
15141 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15142
15143 * config/xtensa/xtensa.md (*round_up_to_even):
15144 New insn-and-split pattern.
15145 (*signed_ge_zero): Ditto.
15146
15147 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15148
15149 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
15150 xtensa_emit_sibcall): New prototypes.
15151 (xtensa_expand_epilogue): Add new argument that specifies whether
15152 or not sibling call.
15153 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
15154 New macro definition.
15155 (xtensa_prepare_expand_call): New function in order to share
15156 the common code.
15157 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
15158 New functions.
15159 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
15160 for sibling call handling.
15161 * config/xtensa/xtensa.md (call, call_value):
15162 Use xtensa_prepare_expand_call.
15163 (call_internal, call_value_internal):
15164 Add the condition in order to be disabled if sibling call.
15165 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
15166 (sibcall_internal, sibcall_value_internal): New insn patterns,
15167 and split ones in order to take care of the indirect sibcalls.
15168
15169 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15170
15171 * doc/invoke.texi: Document -mextra-l32r-costs= option.
15172
15173 2022-06-15 David Malcolm <dmalcolm@redhat.com>
15174
15175 PR analyzer/105962
15176 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
15177 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
15178 Extend -fdiagnostics-path-format=separate-events so that with
15179 -fdiagnostics-show-path-depths it prints fndecls as well as stack
15180 depths.
15181
15182 2022-06-15 David Malcolm <dmalcolm@redhat.com>
15183
15184 * value-relation.h: Add "final" and "override" to relation_oracle
15185 vfunc implementations as appropriate.
15186
15187 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15188
15189 PR middle-end/105975
15190 Revert everything apart from the expand_fn_using_insn and
15191 expand_direct_optab_fn changes from:
15192 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
15193 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
15194 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
15195 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
15196 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
15197 member variable.
15198 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
15199 (direct_internal_fn_p): Also return true for internal functions
15200 that map directly to instructions defined target-insns.def.
15201 (direct_internal_fn): Adjust comment accordingly.
15202 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
15203 (vectorizable_optab2): New local macros.
15204 (not_direct): Initialize directly_mapped.
15205 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
15206 (gather_load_direct, len_load_direct, mask_store_direct)
15207 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
15208 (vec_cond_direct, scatter_store_direct, len_store_direct)
15209 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
15210 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
15211 (while_direct, fold_extract_direct, fold_left_direct)
15212 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
15213 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
15214 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
15215 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
15216 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
15217 (direct_internal_fn_types): Handle functions that map to instructions
15218 defined in target-insns.def.
15219 (direct_internal_fn_types): Likewise.
15220 (direct_internal_fn_supported_p): Likewise.
15221 (internal_fn_expanders): Likewise.
15222 (expand_fn_using_insn): New function,
15223 split out and adapted from...
15224 (expand_direct_optab_fn): ...here.
15225 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
15226 (expand_GOMP_SIMT_EXIT): Likewise.
15227 (expand_GOMP_SIMT_LANE): Likewise.
15228 (expand_GOMP_SIMT_LAST_LANE): Likewise.
15229 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
15230 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
15231 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
15232 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
15233
15234 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
15235
15236 PR target/105981
15237 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
15238 to first_reg and second_reg respectively. Initialize them correctly
15239 when generating big-endian code.
15240
15241 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
15242
15243 PR target/105974
15244 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
15245
15246 2022-06-15 Richard Biener <rguenther@suse.de>
15247
15248 PR tree-optimization/105971
15249 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
15250 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
15251 to leak less surprising alias results.
15252
15253 2022-06-15 Richard Biener <rguenther@suse.de>
15254
15255 PR tree-optimization/105969
15256 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
15257 by zero in overflow check.
15258
15259 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15260
15261 PR tree-optimization/105254
15262 PR tree-optimization/105940
15263 Revert:
15264 * config/aarch64/aarch64.cc
15265 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
15266 loop_vec_info as argument. Restrict the unroll factor to values
15267 that divide the VF.
15268 (aarch64_vector_costs::finish_cost): Update call accordingly.
15269
15270 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15271
15272 * read-rtl.cc (find_int): Substitute symbolic constants
15273 before converting the string to an integer.
15274
15275 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
15276 Richard Biener <rguenther@suse.de>
15277
15278 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
15279 left shifts by a constant when the result is truncated, and the
15280 shift constant is well-defined.
15281 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
15282 support for rotations of signed integer types, by lowering
15283 using unsigned vector shifts.
15284
15285 2022-06-15 liuhongt <hongtao.liu@intel.com>
15286
15287 PR target/105953
15288 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
15289 operands[3].
15290
15291 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
15292
15293 PR rtl-optimization/105041
15294 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
15295
15296 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
15297
15298 * config/rs6000/vsx.md (VS_scalar): Delete.
15299 (rest of file): Adjust.
15300
15301 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
15302
15303 PR ipa/105739
15304 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
15305
15306 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
15307
15308 * config/riscv/bitmanip.md: Add split to handle opportunities
15309 for slli + sh[123]add.uw
15310
15311 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
15312
15313 * config/riscv/predicates.md (consecutive_bits_operand):
15314 Implement new predicate.
15315
15316 2022-06-14 Richard Biener <rguenther@suse.de>
15317
15318 PR tree-optimization/105946
15319 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
15320 Do not look at arguments not specified in the function call.
15321
15322 2022-06-14 Richard Biener <rguenther@suse.de>
15323
15324 PR middle-end/105965
15325 * match.pd (view_convert CONSTRUCTOR): Handle single-element
15326 CTOR case.
15327
15328 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
15329
15330 * warning-control.cc (copy_warning) [generic version]: Do not erase
15331 the warning data of the destination location when the no-warning
15332 bit is not set on the source.
15333 (copy_warning) [tree version]: Return early if TO is equal to FROM.
15334 (copy_warning) [gimple version]: Likewise.
15335
15336 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
15337
15338 PR tree-optimization/105940
15339 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
15340 applying suggested_unroll_factor after start_over.
15341
15342 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15343
15344 * config/xtensa/predicates.md (shifted_mask_operand):
15345 New predicate.
15346 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
15347 New insn-and-split pattern.
15348 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
15349 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
15350 *masktrue_const_shifted_mask): Ditto.
15351
15352 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15353
15354 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
15355
15356 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15357
15358 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
15359 Remove the first argument.
15360 (xtensa_emit_bit_branch): Remove it because now called only from the
15361 output statement of *bittrue insn pattern.
15362 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
15363 argument 'p_invert', and make so that the condition is reversed by
15364 itself as needed.
15365 (xtensa_expand_conditional_branch): Share the common path, and remove
15366 condition inversion code.
15367 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
15368 "false side" pattern.
15369 (xtensa_emit_bit_branch): Remove it because of the abovementioned
15370 reason, and move the function body to *bittrue insn pattern.
15371 * config/xtensa/xtensa.md (*bittrue): Transplant the output
15372 statement from removed xtensa_emit_bit_branch().
15373 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
15374 insn patterns.
15375
15376 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15377
15378 * config/xtensa/predicates.md (logical_shift_operator,
15379 xtensa_shift_per_byte_operator): New predicates.
15380 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
15381 New prototype.
15382 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
15383 New helper function for funnel shift patterns.
15384 * config/xtensa/xtensa.md (ior_op): New code iterator.
15385 (*ashlsi3_1): Replace with new split pattern.
15386 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
15387 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
15388 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
15389 in order to omit unnecessary bitwise AND operation.
15390 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
15391 *shlrd_per_byte_<code>_omit_AND):
15392 New insn patterns for funnel shifts.
15393
15394 2022-06-13 Jason Merrill <jason@redhat.com>
15395
15396 * tree-cfg.cc (pass_warn_function_return::execute): Also check
15397 BUILT_IN_TRAP.
15398
15399 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
15400
15401 * config/riscv/riscv.md (length): Remove the explicit setting
15402 for "fcmp".
15403
15404 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
15405
15406 * common/config/i386/cpuinfo.h (get_available_features): Require
15407 AVX for F16C and VAES.
15408
15409 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
15410
15411 PR target/105927
15412 * config/i386/predicates.md (register_no_elim_operand):
15413 Return true for subreg of a memory operand.
15414
15415 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
15416
15417 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
15418 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
15419 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
15420 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
15421 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
15422 member variable.
15423 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
15424 (direct_internal_fn_p): Also return true for internal functions
15425 that map directly to instructions defined target-insns.def.
15426 (direct_internal_fn): Adjust comment accordingly.
15427 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
15428 (vectorizable_optab2): New local macros.
15429 (not_direct): Initialize directly_mapped.
15430 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
15431 (gather_load_direct, len_load_direct, mask_store_direct)
15432 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
15433 (vec_cond_direct, scatter_store_direct, len_store_direct)
15434 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
15435 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
15436 (while_direct, fold_extract_direct, fold_left_direct)
15437 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
15438 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
15439 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
15440 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
15441 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
15442 (direct_internal_fn_types): Handle functions that map to instructions
15443 defined in target-insns.def.
15444 (direct_internal_fn_types): Likewise.
15445 (direct_internal_fn_supported_p): Likewise.
15446 (internal_fn_expanders): Likewise.
15447
15448 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
15449
15450 * internal-fn.cc (expand_fn_using_insn): New function,
15451 split out and adapted from...
15452 (expand_direct_optab_fn): ...here.
15453 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
15454 (expand_GOMP_SIMT_EXIT): Likewise.
15455 (expand_GOMP_SIMT_LANE): Likewise.
15456 (expand_GOMP_SIMT_LAST_LANE): Likewise.
15457 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
15458 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
15459 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
15460 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
15461
15462 2022-06-13 Jakub Jelinek <jakub@redhat.com>
15463
15464 * omp-expand.cc (expand_omp_target): Remap user provided
15465 device clause arguments, -1 to -2 and -2 to -3, either
15466 at compile time if constant, or at runtime.
15467
15468 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
15469
15470 * common.opt (finstrument-functions): Set explicit value.
15471 (-finstrument-functions-once): New option.
15472 * doc/invoke.texi (Program Instrumentation Options): Document it.
15473 * gimplify.cc (build_instrumentation_call): New static function.
15474 (gimplify_function_tree): Call it to emit the instrumentation calls
15475 if -finstrument-functions[-once] is specified.
15476
15477 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
15478
15479 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
15480 * gimple.h (gimple_set_location): Do not copy warning data from
15481 the previous location when it is UNKNOWN_LOCATION.
15482 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
15483
15484 2022-06-13 Jakub Jelinek <jakub@redhat.com>
15485
15486 PR target/105911
15487 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
15488 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
15489 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
15490 operands[3] unmodified.
15491
15492 2022-06-12 Simon Wright <simon@pushface.org>
15493
15494 PR target/104871
15495 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
15496 version is darwin20 (macOS 11) or greater, truncate the version to the
15497 major number.
15498
15499 2022-06-12 Mark Mentovai <mark@mentovai.com>
15500
15501 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
15502
15503 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15504
15505 PR target/96463
15506 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
15507 (svld1rq_impl::fold): Define.
15508 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
15509 op_mode and op_vec_flags.
15510 (aarch64_evpc_reencode): Initialize newd.op_mode and
15511 newd.op_vec_flags.
15512 (aarch64_evpc_sve_dup): New function.
15513 (aarch64_expand_vec_perm_const_1): Gate existing calls to
15514 aarch64_evpc_* functions under d->vmode == d->op_mode,
15515 and call aarch64_evpc_sve_dup.
15516 (aarch64_vectorize_vec_perm_const): Remove assert
15517 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
15518 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
15519 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
15520 constant.
15521
15522 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15523
15524 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
15525 New prototype.
15526 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
15527 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
15528 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
15529 New backend functions that process the abovementioned logic.
15530 (xtensa_emit_move_sequence): Revert the previous changes.
15531 * config/xtensa/xtensa.md: New split patterns for integer
15532 and floating-point, as the frontend part.
15533
15534 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15535
15536 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
15537 for ABS and NEG, add missing case for BSWAP and CLRSB, and
15538 double the costs for integer divisions using libfuncs if
15539 optimizing for speed, in order to take advantage of fast constant
15540 division by multiplication.
15541 (TARGET_INSN_COST): New macro definition.
15542 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
15543 calculating relative costs of a RTL insns, for both of speed and
15544 size.
15545 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
15546 the attribute "length" that depends on TARGET_DENSITY.
15547 (define_asm_attributes, blockage, frame_blockage): Add missing
15548 attributes.
15549 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
15550 dependent option, however, preparatory work for now.
15551
15552 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15553
15554 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
15555 Pass through the block length / loop count conditions if
15556 zero-overhead looping is configured and active,
15557
15558 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15559
15560 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
15561 Split into individual signedness, in order to use libcall
15562 "__umulsidi3" but not the other.
15563 (<u>mulhisi3): Merge into one by using code iterator.
15564 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
15565
15566 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
15567
15568 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
15569 not generate block copies with vector pair instructions if we are
15570 tuning for power10.
15571
15572 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
15573
15574 PR rtl-optimization/7061
15575 * expr.cc (emit_group_store): For groups that consist of a single
15576 scalar integer register that hold a complex mode value, use
15577 gen_lowpart to generate a SUBREG to "view_convert" to the complex
15578 mode. For modes of different sizes, first convert to an integer
15579 mode of the appropriate size.
15580
15581 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15582
15583 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
15584
15585 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15586
15587 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
15588 New insn_and_split pattern.
15589
15590 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15591
15592 * config/xtensa/xtensa.md (one_cmplsi2):
15593 Rearrange as an insn_and_split pattern.
15594
15595 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15596
15597 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
15598
15599 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
15600
15601 * config/rs6000/rs6000.md (FP_ISA3): Delete.
15602 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
15603 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
15604 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
15605 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
15606 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
15607 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
15608 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
15609 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
15610
15611 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
15612
15613 * config/riscv/riscv.md
15614 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
15615 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
15616 rather than space with FSFLAGS.
15617
15618 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
15619
15620 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
15621 omp_discover_declare_target_fn_r): Don't walk reverse-offload
15622 target regions.
15623
15624 2022-06-09 Jakub Jelinek <jakub@redhat.com>
15625
15626 * doc/invoke.texi (-Waddress): Fix a typo in small example.
15627 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
15628
15629 2022-06-09 Cui,Lili <lili.cui@intel.com>
15630
15631 PR target/105493
15632 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
15633 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
15634 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
15635 (icelake_cost): Ditto.
15636 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
15637 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
15638 {8, 8, 8, 10, 15}.
15639
15640 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
15641
15642 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
15643 and ior insns to one rotate and mask insn.
15644 (define_split for bswapdi register): Likewise.
15645
15646 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
15647
15648 PR middle-end/105874
15649 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
15650 variable tem_modifier for calculating the expand_modifier enum to
15651 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
15652
15653 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
15654
15655 PR target/105879
15656 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
15657 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
15658 'gen_highpart' bitwise semantics and fix order of highpart and
15659 lowpart depending on target endianness.
15660
15661 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
15662
15663 * config/arm/arm-cpus.in (star-mc1): New cpu.
15664 * config/arm/arm-tables.opt: Regenerate.
15665 * config/arm/arm-tune.md: Regenerate.
15666 * doc/invoke.texi: Update docs.
15667
15668 2022-06-08 liuhongt <hongtao.liu@intel.com>
15669
15670 PR target/105513
15671 PR target/105504
15672 * config/i386/i386.md (*movsi_internal): Change alternative
15673 from *v to ?v.
15674 (*movdi_internal): Ditto.
15675 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
15676 to ?r.
15677 (*vec_extractv4sf_mem): Ditto.
15678 (*vec_extracthf): Ditto.
15679
15680 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
15681
15682 PR target/105090
15683 * config/arm/arm.cc (arm_bfi_1_p): New function.
15684 (arm_bfi_p): New function.
15685 (arm_rtx_costs_internal): Add costs for BFI idioms.
15686 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
15687 * config/arm/constraints.md (Dj): New constraint.
15688 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
15689 (insv_zero): Convert to an insn with a split.
15690 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
15691
15692 2022-06-07 liuhongt <hongtao.liu@intel.com>
15693
15694 PR target/105854
15695 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
15696 from Yv to Yw.
15697
15698 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
15699
15700 PR middle-end/105853
15701 PR target/105856
15702 * calls.cc (load_register_parameters): Call store_constructor
15703 and int_expr_size directly instead of expanding via expand_expr.
15704 * expr.cc (static void store_constructor): Don't prototype here.
15705 (static HOST_WIDE_INT int_expr_size): Likewise.
15706 (store_constructor): No longer static.
15707 (int_expr_size): Likewise, no longer static.
15708 * expr.h (store_constructor): Prototype here.
15709 (int_expr_size): Prototype here.
15710
15711 2022-06-07 Jan Beulich <jbeulich@suse.com>
15712
15713 Revert:
15714 2022-06-03 Jan Beulich <jbeulich@suse.com>
15715
15716 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15717 * configure.ac: Check for objcopy, producing
15718 ORIGINAL_OBJCOPY_FOR_TARGET.
15719 * configure: Update accordingly.
15720 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15721 Handle objcopy.
15722
15723 2022-06-07 Jakub Jelinek <jakub@redhat.com>
15724
15725 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
15726 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
15727 Adjust clause printing style depending on
15728 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
15729
15730 2022-06-07 Jan Beulich <jbeulich@suse.com>
15731
15732 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
15733 Change type.
15734 * config/i386/i386-builtin-types.def: New function type
15735 (V4DI, V32QI, V32QI).
15736 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
15737 V4DI_FTYPE_V32QI_V32QI.
15738
15739 2022-06-07 Jan Beulich <jbeulich@suse.com>
15740
15741 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
15742 into account for reg-only insns.
15743
15744 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
15745
15746 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
15747 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
15748 TARGET_CMOVE's (scalar integer) conditional moves.
15749 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
15750 from its equivalent (canonical) pxor;pand;pxor sequence.
15751
15752 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
15753
15754 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
15755 parameter ORDER.
15756
15757 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
15758
15759 * config.in: Regenerate.
15760 * configure: Regenerate.
15761 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
15762
15763 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
15764
15765 PR middle-end/95126
15766 * calls.cc (load_register_parameters): When loading a suitable
15767 immediate_const_ctor_p VAR_DECL into a single word_mode register,
15768 construct it directly in a pseudo rather than read it (by parts)
15769 from memory.
15770 * expr.cc (int_expr_size): Make tree argument a const_tree.
15771 (immediate_const_ctor_p): Helper predicate. Return true for
15772 simple constructors that may be materialized in a register.
15773 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
15774 VAR_DECL with a suitable immediate_const_ctor_p constructor
15775 use store_constructor to materialize it directly in a pseudo.
15776 * expr.h (immediate_const_ctor_p): Prototype here.
15777 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
15778 VALUE argument from tree to const_tree.
15779 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
15780 prototype.
15781
15782 2022-06-04 Jakub Jelinek <jakub@redhat.com>
15783
15784 PR target/105825
15785 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
15786 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
15787 bits of mask aren't all set, use operands[2] mode for the AND
15788 operation instead of always SImode.
15789
15790 2022-06-03 Jakub Jelinek <jakub@redhat.com>
15791
15792 PR middle-end/30314
15793 PR middle-end/105777
15794 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
15795 x > stype_max / cst || x < stype_min / cst): New simplification.
15796
15797 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15798
15799 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
15800 Value_Range.
15801 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
15802 * value-range.h (Value_Range::Value_Range): Implement copy
15803 constructor for Value_Range.
15804
15805 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15806
15807 * value-range.h (struct vrange_traits): Remove.
15808 (is_a): Rewrite without vrange_traits.
15809 (as_a): Same.
15810
15811 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15812
15813 * value-range.cc (vrange::contains_p): Implement.
15814 (vrange::type): Return void.
15815 (vrange::supports_type_p): Implement.
15816 (irange::fits_p): Same.
15817 (vrange::set_undefined): Same.
15818 (irange::set_nonnegative): Same.
15819 (vrange::set_varying): Same.
15820 (vrange::union_): Same.
15821 (unsupported_range::set): Move to vrange.
15822 (unsupported_range::type): Move to vrange.
15823 (vrange::intersect): Implement for varying and undefined.
15824 (vrange::zero_p): Implement.
15825 (unsupported_range::supports_type_p): Move to vrange.
15826 (vrange::nonzero_p): Implement.
15827 (unsupported_range::set_undefined): Move to vrange.
15828 (unsupported_range::set_varying): Same.
15829 (unsupported_range::dump): Same.
15830 (unsupported_range::union_): Same. Implement for varying and
15831 undefined.
15832 (unsupported_range::intersect): Move to vrange.
15833 (unsupported_range::zero_p): Same.
15834 (unsupported_range::nonzero_p): Same.
15835 (unsupported_range::set_nonzero): Same.
15836 (unsupported_range::set_zero): Same.
15837 (unsupported_range::set_nonnegative): Same.
15838 (unsupported_range::fits_p): Same.
15839 * value-range.h (class vrange): Remove abstract markers for most
15840 methods.
15841 (class unsupported_range): Remove most methods as they will now be
15842 inherited from vrange.
15843
15844 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15845
15846 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
15847 an object level supports_type_p for irange and a static
15848 Value_Range::supports_type_p.
15849 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
15850 (fold_using_range::range_of_address): Same.
15851 (fold_using_range::range_of_builtin_call): Same.
15852 * gimple-range-fold.h (gimple_range_type): Same.
15853 (gimple_range_ssa_p): Same.
15854 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
15855 Same.
15856 (path_range_query::range_of_stmt): Same.
15857 (path_range_query::add_to_imports): Same.
15858 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
15859 (gimple_ranger::export_global_ranges): Same.
15860 * gimple-ssa-evrp-analyze.cc
15861 (evrp_range_analyzer::record_ranges_from_phis): Same.
15862 * range-op.cc (range_operator::wi_fold): Same.
15863 (range_operator::fold_range): Same.
15864 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
15865 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
15866 (evaluate_control_stmt_using_entry_checks): Same.
15867 * tree-ssa-threadedge.cc
15868 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
15869 * tree-vrp.cc (supported_types_p): Same.
15870 * value-query.cc (range_query::value_of_expr): Same.
15871 (range_query::value_on_edge): Same.
15872 (range_query::value_of_stmt): Same.
15873 (range_query::get_tree_range): Same.
15874 (get_range_global): Same.
15875 (global_range_query::range_of_expr): Same.
15876 * value-range-equiv.h (class value_range_equiv): Same.
15877 * value-range.cc (irange::supports_type_p): Same.
15878 (unsupported_range::supports_type_p): Same.
15879 * value-range.h (enum value_range_discriminator): Same.
15880 (Value_Range::init): Same.
15881 (Value_Range::supports_type_p): Same.
15882 (irange::supports_type_p): Same.
15883 (irange::supports_p): Same.
15884 (vrange::supports_type_p): Same.
15885 (vrange_allocator::alloc_vrange): Same.
15886
15887 2022-06-03 Jan Beulich <jbeulich@suse.com>
15888
15889 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15890 * configure.ac: Check for objcopy, producing
15891 ORIGINAL_OBJCOPY_FOR_TARGET.
15892 * configure: Update accordingly.
15893 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15894 Handle objcopy.
15895
15896 2022-06-03 Jan Beulich <jbeulich@suse.com>
15897
15898 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
15899 (*mmx_psadbw): New. Mark as commutative.
15900 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
15901 (*<sse2_avx2>_psadbw): New. Mark as commutative.
15902
15903 2022-06-03 Alexandre Oliva <oliva@adacore.com>
15904
15905 PR tree-optimization/105665
15906 PR tree-optimization/100810
15907 * tree-ssa-loop-ivopts.cc
15908 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
15909 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
15910 (find_ssa_undef): Check precomputed flag and intervening uses.
15911 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
15912
15913 2022-06-02 David Malcolm <dmalcolm@redhat.com>
15914
15915 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
15916 tree-logical-location.o.
15917 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
15918 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
15919 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
15920 (sarif-stderr, sarif-file): New enum values.
15921 * diagnostic-client-data-hooks.h: New file.
15922 * diagnostic-format-sarif.cc: New file.
15923 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
15924 (enum diagnostic_event::noun): New enum.
15925 (enum diagnostic_event::property): New enum.
15926 (struct diagnostic_event::meaning): New struct.
15927 (diagnostic_event::get_logical_location): New vfunc.
15928 (diagnostic_event::get_meaning): New vfunc.
15929 (simple_diagnostic_event::get_logical_location): New vfunc impl.
15930 (simple_diagnostic_event::get_meaning): New vfunc impl.
15931 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
15932 (diagnostic_initialize): Initialize m_client_data_hooks.
15933 (diagnostic_finish): Clean up m_client_data_hooks.
15934 (diagnostic_event::meaning::dump_to_pp): New.
15935 (diagnostic_event::meaning::maybe_get_verb_str): New.
15936 (diagnostic_event::meaning::maybe_get_noun_str): New.
15937 (diagnostic_event::meaning::maybe_get_property_str): New.
15938 (get_cwe_url): Make non-static.
15939 (diagnostic_output_format_init): Handle
15940 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
15941 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
15942 * diagnostic.h (enum diagnostics_output_format): Add
15943 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
15944 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
15945 (class diagnostic_client_data_hooks): New forward decl.
15946 (class logical_location): New forward decl.
15947 (diagnostic_context::m_client_data_hooks): New field.
15948 (diagnostic_output_format_init_sarif_stderr): New decl.
15949 (diagnostic_output_format_init_sarif_file): New decl.
15950 (get_cwe_url): New decl.
15951 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
15952 sarif-file.
15953 * doc/sourcebuild.texi (Scan a particular file): Add
15954 scan-sarif-file and scan-sarif-file-not.
15955 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
15956 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
15957 (LANG_HOOKS_INITIALIZER): Add
15958 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
15959 * langhooks.cc (lhd_get_sarif_source_language): New.
15960 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
15961 * logical-location.h: New file.
15962 * plugin.cc (struct for_each_plugin_closure): New.
15963 (for_each_plugin_cb): New.
15964 (for_each_plugin): New.
15965 * plugin.h (for_each_plugin): New decl.
15966 * tree-diagnostic-client-data-hooks.cc: New file.
15967 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
15968 (tree_diagnostics_defaults): Populate m_client_data_hooks.
15969 * tree-logical-location.cc: New file.
15970 * tree-logical-location.h: New file.
15971
15972 2022-06-02 David Malcolm <dmalcolm@redhat.com>
15973
15974 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
15975 to description.
15976 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
15977 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
15978 (diagnostics_output_format): Add json-stderr and json-file.
15979 * diagnostic-format-json.cc (json_flush_to_file): New.
15980 (json_final_cb): Convert to...
15981 (json_flush_to_file): ...this, ...
15982 (json_stderr_final_cb): ...this, and...
15983 (json_file_final_cb): ...this.
15984 (diagnostic_output_format_init): Move to diagnostic.cc.
15985 (json_output_base_file_name): New.
15986 (diagnostic_output_format_init_json): New.
15987 (diagnostic_output_format_init_json_stderr): New.
15988 (diagnostic_output_format_init_json_file): New.
15989 * diagnostic.cc (diagnostic_output_format_init): Move here from
15990 diagnostic-format-json.cc; update for changes to enum.
15991 * diagnostic.h (enum diagnostics_output_format): Rename
15992 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
15993 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
15994 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
15995 (diagnostic_output_format_init): Add base_file_name param.
15996 (diagnostic_output_format_init_json_stderr): New decl.
15997 (diagnostic_output_format_init_json_file): New dec.
15998 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
15999 "json-file". Rewrite so that the existing "json" is a synonym of
16000 "json-stderr".
16001 * gcc.cc (driver_handle_option): Pass dump_base_name to
16002 diagnostic_output_format_init.
16003 * opts.cc (common_handle_option): Likewise.
16004
16005 2022-06-02 David Malcolm <dmalcolm@redhat.com>
16006
16007 * json.cc (string::print): Fix escaping of '\'.
16008
16009 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
16010
16011 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
16012 (-1 << 31) for the single-bit case, when operating on (1 << 31)
16013 in SImode.
16014 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
16015 any single-bit value, moving the special case for (1 << 31) to
16016 riscv_build_integer_1 (in riscv.c).
16017
16018 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
16019
16020 PR target/105791
16021 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
16022 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
16023
16024 2022-06-02 Jakub Jelinek <jakub@redhat.com>
16025
16026 PR target/105778
16027 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
16028 from AND and its operands and just verify operands[2] has HImode,
16029 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
16030 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
16031 just throw away the masking. Use force_reg before calling
16032 gen_lowpart.
16033 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
16034 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
16035 just throw away the masking.
16036 (*ashl<mode>3_doubleword): Rename to ...
16037 (ashl<mode>3_doubleword): ... this.
16038 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
16039 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
16040 Use force_reg before calling gen_lowpart.
16041 (*<insn><mode>3_mask): Likewise.
16042 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
16043 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
16044 case just throw away the masking. Use force_reg before calling
16045 gen_lowpart.
16046 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
16047 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
16048 throw away the masking.
16049 (*<insn><mode>3_doubleword): Rename to ...
16050 (<insn><mode>3_doubleword): ... this.
16051 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
16052 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
16053 Use force_reg before calling gen_lowpart.
16054 (splitter after it): Remove :SI from AND and its operands and just
16055 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
16056 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
16057 operands and just verify operands[1] has HImode, SImode or for
16058 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
16059 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
16060 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
16061 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
16062
16063 2022-06-02 Richard Biener <rguenther@suse.de>
16064
16065 PR tree-optimization/101668
16066 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
16067 for vector types with compatible lane types.
16068 (vect_build_slp_tree_2): Deal with this.
16069 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
16070 special cases without VEC_PERM.
16071 (vectorizable_slp_permutation): Select the operand vector
16072 type and relax requirements. Handle identity permutes
16073 with mismatching operand types.
16074 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
16075 permutes for op_mode == mode.
16076
16077 2022-06-02 Richard Biener <rguenther@suse.de>
16078
16079 PR tree-optimization/105802
16080 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
16081 Make sure to also compute the range in the type of the switch index.
16082
16083 2022-06-01 David Seifert <soap@gentoo.org>
16084
16085 PR plugins/95648
16086 * configure: Regenerate.
16087
16088 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
16089
16090 PR rtl-optimization/105638
16091 * df-core.cc (df_find_single_def_src): Moved and renamed from
16092 find_single_def_src in loop-iv.cc. Change the argument to rtx
16093 and use rtx_equal_p. Return null for partial or conditional
16094 defs.
16095 * df.h (df_find_single_def_src): New prototype.
16096 * dse.cc (record_store): Use the constant source if the source
16097 register is set only once.
16098 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
16099 (replace_single_def_regs): Replace find_single_def_src with
16100 df_find_single_def_src.
16101
16102 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
16103
16104 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
16105 selected_tune.
16106 (explicit_arch): Rename to selected_arch.
16107 (x_aarch64_override_tune_string): Remove.
16108 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
16109 (aarch64_override_tune_string): Add Save so it gets saved/restored.
16110 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
16111 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
16112 (processor): Remove archtecture_version field.
16113 (selected_arch): Remove global.
16114 (selected_cpu): Remove global.
16115 (selected_tune): Remove global.
16116 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
16117 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
16118 (aarch64_override_options): Further simplify code to only set
16119 selected_arch and selected_tune globals.
16120 (aarch64_option_save): Remove now that target options are saved.
16121 (aarch64_option_restore): Remove redundant target option restores.
16122 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
16123 AARCH64_ISA_V9.
16124 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
16125 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
16126 (aarch64_ra_sign_key): Remove.
16127
16128 2022-06-01 Jakub Jelinek <jakub@redhat.com>
16129
16130 PR middle-end/30314
16131 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
16132 x > ~(utype)0 / cst): New simplification.
16133
16134 2022-06-01 Richard Biener <rguenther@suse.de>
16135
16136 PR tree-optimization/105786
16137 * tree-loop-distribution.cc
16138 (loop_distribution::transform_reduction_loop): Only do strlen
16139 replacement for integer type reductions.
16140
16141 2022-06-01 Jakub Jelinek <jakub@redhat.com>
16142
16143 PR tree-optimization/105770
16144 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
16145 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
16146
16147 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16148
16149 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
16150 (sbr_vector::sbr_vector): Same.
16151 (sbr_vector::grow): Same.
16152 (sbr_vector::set_bb_range): Same.
16153 (sbr_vector::get_bb_range): Same.
16154 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
16155 (sbr_sparse_bitmap::set_bb_range): Same.
16156 (sbr_sparse_bitmap::get_bb_range): Same.
16157 (block_range_cache::set_bb_range): Same.
16158 (block_range_cache::get_bb_range): Same.
16159 (block_range_cache::dump): Same.
16160 (ssa_global_cache::get_global_range): Same.
16161 (ssa_global_cache::set_global_range): Same.
16162 (ssa_global_cache::clear): Same.
16163 (ssa_global_cache::dump): Same.
16164 (ranger_cache::get_global_range): Same.
16165 (ranger_cache::set_global_range): Same.
16166 (ranger_cache::range_of_def): Same.
16167 (ranger_cache::entry_range): Same.
16168 (ranger_cache::exit_range): Same.
16169 (ranger_cache::edge_range): Same.
16170 (ranger_cache::range_of_expr): Same.
16171 (ranger_cache::range_on_edge): Same.
16172 (ranger_cache::block_range): Same.
16173 (ranger_cache::propagate_cache): Same.
16174 (ranger_cache::fill_block_cache): Same.
16175 (ranger_cache::range_from_dom): Same.
16176 * gimple-range-cache.h: Same.
16177 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
16178 Same.
16179 (gimple_outgoing_range::switch_edge_range): Same.
16180 (gimple_outgoing_range::edge_range_p): Same.
16181 * gimple-range-edge.h: Same.
16182 * gimple-range-fold.cc (fur_source::get_operand): Same.
16183 (fur_source::get_phi_operand): Same.
16184 (fur_edge::get_operand): Same.
16185 (fur_edge::get_phi_operand): Same.
16186 (fur_stmt::get_operand): Same.
16187 (fur_stmt::get_phi_operand): Same.
16188 (fur_list::fur_list): Same.
16189 (fur_list::get_operand): Same.
16190 (fur_list::get_phi_operand): Same.
16191 (fold_range): Same.
16192 (adjust_imagpart_expr): Same.
16193 (adjust_realpart_expr): Same.
16194 (gimple_range_adjustment): Same.
16195 (fold_using_range::fold_stmt): Same.
16196 (fold_using_range::range_of_range_op): Same.
16197 (fold_using_range::range_of_address): Same.
16198 (fold_using_range::range_of_phi): Same.
16199 (fold_using_range::range_of_call): Same.
16200 (fold_using_range::range_of_builtin_call): Same.
16201 (fold_using_range::range_of_builtin_int_call): Same.
16202 (fold_using_range::range_of_cond_expr): Same.
16203 (fur_source::register_outgoing_edges): Same.
16204 * gimple-range-fold.h (fold_range): Same.
16205 (gimple_range_type): Same.
16206 (gimple_range_ssa_p): Same.
16207 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
16208 (gimple_range_calc_op2): Same.
16209 (gori_compute::compute_operand_range_switch): Same.
16210 (gori_compute::compute_operand_range): Same.
16211 (gori_compute::logical_combine): Same.
16212 (gori_compute::compute_logical_operands): Same.
16213 (gori_compute::compute_operand1_range): Same.
16214 (gori_compute::compute_operand2_range): Same.
16215 (gori_compute::compute_operand1_and_operand2_range): Same.
16216 (gori_compute::outgoing_edge_range_p): Same.
16217 (gori_compute::condexpr_adjust): Same.
16218 * gimple-range-gori.h (gimple_range_calc_op1): Same.
16219 (gimple_range_calc_op2): Same.
16220 * gimple-range-path.cc (path_range_query::get_cache): Same.
16221 (path_range_query::set_cache): Same.
16222 (path_range_query::range_on_path_entry): Same.
16223 (path_range_query::internal_range_of_expr): Same.
16224 (path_range_query::range_of_expr): Same.
16225 (path_range_query::ssa_range_in_phi): Same.
16226 (path_range_query::range_defined_in_block): Same.
16227 (path_range_query::compute_ranges_in_phis): Same.
16228 (path_range_query::compute_ranges_in_block): Same.
16229 (path_range_query::add_to_imports): Same.
16230 (path_range_query::range_of_stmt): Same.
16231 * gimple-range-path.h: Same.
16232 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
16233 (gimple_infer_range::~side_effect_manager): Same.
16234 (gimple_infer_range::get_nonzero): Same.
16235 (gimple_infer_range::maybe_adjust_range): Same.
16236 (gimple_infer_range::add_range): Same.
16237 * gimple-range-infer.h: Same.
16238 * gimple-range-tests.cc: Same.
16239 * gimple-range-trace.cc (range_tracer::trailer): Same.
16240 (debug_seed_ranger): Same.
16241 * gimple-range-trace.h: Same.
16242 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
16243 (gimple_ranger::range_on_entry): Same.
16244 (gimple_ranger::range_on_exit): Same.
16245 (gimple_ranger::range_on_edge): Same.
16246 (gimple_ranger::fold_range_internal): Same.
16247 (gimple_ranger::range_of_stmt): Same.
16248 (gimple_ranger::prefill_name): Same.
16249 (gimple_ranger::prefill_stmt_dependencies): Same.
16250 (gimple_ranger::export_global_ranges): Same.
16251 (gimple_ranger::dump_bb): Same.
16252 * gimple-range.h: Same.
16253 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
16254 (memmodel_to_uhwi): Same.
16255 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
16256 (determine_value_range): Same.
16257 (record_nonwrapping_iv): Same.
16258 (infer_loop_bounds_from_signedness): Same.
16259 (scev_var_range_cant_overflow): Same.
16260 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
16261 * value-query.cc (range_query::range_on_edge): Same.
16262 (range_query::range_of_stmt): Same.
16263 (range_query::value_of_expr): Same.
16264 (range_query::value_on_edge): Same.
16265 (range_query::value_of_stmt): Same.
16266 (range_query::get_tree_range): Same.
16267 (update_global_range): Same.
16268 (get_range_global): Same.
16269 (gimple_range_global): Same.
16270 (global_range_query::range_of_expr): Same.
16271 (range_query::query_relation): Same.
16272 * value-query.h (gimple_range_global): Same.
16273 (update_global_range): Same.
16274 * vr-values.cc (vr_values::range_of_expr): Same.
16275 (bounds_of_var_in_loop): Same.
16276 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
16277 * vr-values.h (class vr_values): Same.
16278 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
16279
16280 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16281
16282 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
16283 vrange allocator.
16284 (sbr_vector::grow): Same.
16285 (sbr_vector::set_bb_range): Same.
16286 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
16287 (sbr_sparse_bitmap::set_bb_range): Same.
16288 (block_range_cache::~block_range_cache): Same.
16289 (block_range_cache::set_bb_range): Same.
16290 (ssa_global_cache::ssa_global_cache): Same.
16291 (ssa_global_cache::~ssa_global_cache): Same.
16292 (ssa_global_cache::set_global_range): Same.
16293 * gimple-range-cache.h (block_range_cache): Same.
16294 (ssa_global_cache): Same.
16295 * gimple-range-edge.cc
16296 (gimple_outgoing_range::calc_switch_ranges): Same.
16297 * gimple-range-edge.h (gimple_outgoing_range): Same.
16298 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
16299 Same.
16300 (infer_range_manager::add_range): Same.
16301 * gimple-range-infer.h (class infer_range_manager): Same.
16302 * value-range.h (class irange_allocator): Rename to...
16303 (class vrange_allocator): ...this.
16304 (irange_allocator::irange_allocator): New.
16305 (vrange_allocator::vrange_allocator): New.
16306 (irange_allocator::~irange_allocator): New.
16307 (vrange_allocator::~vrange_allocator): New.
16308 (irange_allocator::get_memory): Rename to...
16309 (vrange_allocator::alloc): ...this.
16310 (vrange_allocator::alloc_vrange): Rename from...
16311 (irange_allocator::allocate): ...this.
16312 (vrange_allocator::alloc_irange): New.
16313
16314 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16315
16316 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
16317 vrange and convert range_op_handler function calls to use the
16318 identically named object.
16319 * gimple-range-fold.cc (gimple_range_operand1): Same.
16320 (gimple_range_operand2): Same.
16321 (fold_using_range::fold_stmt): Same.
16322 (fold_using_range::range_of_range_op): Same.
16323 (fold_using_range::range_of_builtin_ubsan_call): Same.
16324 (fold_using_range::relation_fold_and_or): Same.
16325 (fur_source::register_outgoing_edges): Same.
16326 * gimple-range-fold.h (gimple_range_handler): Remove.
16327 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
16328 (gimple_range_calc_op2): Same.
16329 (range_def_chain::get_def_chain): Same.
16330 (gori_compute::compute_operand_range): Same.
16331 (gori_compute::condexpr_adjust): Same.
16332 * gimple-range.cc (gimple_ranger::prefill_name): Same.
16333 (gimple_ranger::prefill_stmt_dependencies): Same.
16334 * range-op.cc (get_bool_state): Same.
16335 (class operator_equal): Add using clause.
16336 (class operator_not_equal): Same.
16337 (class operator_lt): Same.
16338 (class operator_le): Same.
16339 (class operator_gt): Same.
16340 (class operator_ge): Same.
16341 (class operator_plus): Same.
16342 (class operator_minus): Same.
16343 (class operator_mult): Same.
16344 (class operator_exact_divide): Same.
16345 (class operator_lshift): Same.
16346 (class operator_rshift): Same.
16347 (class operator_cast): Same.
16348 (class operator_logical_and): Same.
16349 (class operator_bitwise_and): Same.
16350 (class operator_logical_or): Same.
16351 (class operator_bitwise_or): Same.
16352 (class operator_bitwise_xor): Same.
16353 (class operator_trunc_mod): Same.
16354 (class operator_logical_not): Same.
16355 (class operator_bitwise_not): Same.
16356 (class operator_cst): Same.
16357 (class operator_identity): Same.
16358 (class operator_unknown): Same.
16359 (class operator_abs): Same.
16360 (class operator_negate): Same.
16361 (class operator_addr_expr): Same.
16362 (class pointer_or_operator): Same.
16363 (operator_plus::op1_range): Adjust for vrange.
16364 (operator_minus::op1_range): Same.
16365 (operator_mult::op1_range): Same.
16366 (operator_cast::op1_range): Same.
16367 (operator_bitwise_not::fold_range): Same.
16368 (operator_negate::fold_range): Same.
16369 (range_op_handler): Rename to...
16370 (get_handler): ...this.
16371 (range_op_handler::range_op_handler): New.
16372 (range_op_handler::fold_range): New.
16373 (range_op_handler::op1_range): New.
16374 (range_op_handler::op2_range): New.
16375 (range_op_handler::lhs_op1_relation): New.
16376 (range_op_handler::lhs_op2_relation): New.
16377 (range_op_handler::op1_op2_relation): New.
16378 (range_cast): Adjust for vrange.
16379 * range-op.h (range_op_handler): Remove function.
16380 (range_cast): Adjust for vrange.
16381 (class range_op_handler): New.
16382 (get_bool_state): Adjust for vrange.
16383 (empty_range_varying): Same.
16384 (relop_early_resolve): Same.
16385 * tree-data-ref.cc (compute_distributive_range): Same.
16386 * tree-vrp.cc (get_range_op_handler): Remove.
16387 (range_fold_binary_symbolics_p): Use range_op_handler class
16388 instead of get_range_op_handler.
16389 (range_fold_unary_symbolics_p): Same.
16390 (range_fold_binary_expr): Same.
16391 (range_fold_unary_expr): Same.
16392 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
16393
16394 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16395
16396 * gimple-range-fold.h (gimple_range_type): Check type before
16397 calling supports_type_p.
16398 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
16399 * value-query.cc (range_query::get_tree_range): Same.
16400 * value-range.cc (Value_Range::lower_bound): New.
16401 (Value_Range::upper_bound): New.
16402 (Value_Range::dump): New.
16403 * value-range.h (class Value_Range): New.
16404 (irange::supports_type_p): Do not check if type is non-zero.
16405
16406 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16407
16408 * value-range-equiv.cc (value_range_equiv::set): New.
16409 * value-range-equiv.h (class value_range_equiv): Make set method
16410 virtual.
16411 Remove default bitmap argument from set method.
16412 * value-range.cc (vrange::contains_p): New.
16413 (vrange::singleton_p): New.
16414 (vrange::operator=): New.
16415 (vrange::operator==): New.
16416 (irange::fits_p): Move to .cc file.
16417 (irange::set_nonnegative): New.
16418 (unsupported_range::unsupported_range): New.
16419 (unsupported_range::set): New.
16420 (unsupported_range::type): New.
16421 (unsupported_range::set_undefined): New.
16422 (unsupported_range::set_varying): New.
16423 (unsupported_range::dump): New.
16424 (unsupported_range::union_): New.
16425 (unsupported_range::intersect): New.
16426 (unsupported_range::zero_p): New.
16427 (unsupported_range::nonzero_p): New.
16428 (unsupported_range::set_nonzero): New.
16429 (unsupported_range::set_zero): New.
16430 (unsupported_range::set_nonnegative): New.
16431 (unsupported_range::fits_p): New.
16432 (irange::set): Call irange::set_undefined.
16433 (irange::verify_range): Check discriminator field.
16434 (irange::dump): Dump [irange] marker.
16435 (irange::debug): Move to...
16436 (vrange::debug): ...here.
16437 (dump_value_range): Accept vrange.
16438 (debug): Same.
16439 * value-range.h (enum value_range_discriminator): New.
16440 (class vrange): New.
16441 (class unsupported_range): New.
16442 (struct vrange_traits): New.
16443 (is_a): New.
16444 (as_a): New.
16445 (class irange): Inherit from vrange.
16446 (dump_value_range): Adjust for vrange.
16447 (irange::kind): Rename to...
16448 (vrange::kind): ...this.
16449 (irange::varying_p): Rename to...
16450 (vrange::varying_p): ...this.
16451 (irange::undefined_p): Rename to...
16452 (vrange::undefined_p): ...this.
16453 (irange::irange): Set discriminator.
16454 (irange::union_): Convert to irange before passing to irange
16455 method.
16456 (irange::intersect): Same.
16457 (vrange::supports_type_p): New.
16458 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
16459 NULL bitmap argument to value_range_equiv::set.
16460 (vr_values::extract_range_basic): Same.
16461
16462 2022-06-01 Richard Biener <rguenther@suse.de>
16463
16464 PR tree-optimization/105763
16465 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
16466 Check gimple_range_ssa_p.
16467
16468 2022-05-31 Jason Merrill <jason@redhat.com>
16469
16470 * Makefile.in (TAGS): Look at libcpp/*.cc.
16471
16472 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
16473
16474 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
16475 Prefix mode names with E_.
16476
16477 2022-05-31 Alan Modra <amodra@gmail.com>
16478
16479 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
16480 spelling of DW_AT_namelist_item.
16481
16482 2022-05-31 Jakub Jelinek <jakub@redhat.com>
16483
16484 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
16485 allow var to be private in the outer context.
16486 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
16487 to build_outer_var_ref.
16488
16489 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16490
16491 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
16492 tieable with DImode on TARGET_64BIT, and SCmode tieable with
16493 V2SFmode, and DCmode with V2DFmode.
16494
16495 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16496
16497 PR rtl-optimization/101617
16498 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
16499 special case (indicated by negate_cc_compare_p) to generate a
16500 -1/0 mask using neg;sbb.
16501 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
16502 to generate an *x86_neg<mode>_ccc instruction.
16503 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
16504 generate a *x86_mov<mode>cc_0_m1_neg instruction.
16505
16506 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16507
16508 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
16509 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
16510 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
16511
16512 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16513
16514 PR target/70321
16515 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
16516 DI mode equality/inequality using XOR here. Instead generate a
16517 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
16518 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
16519 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
16520 (general_scalar_chain::convert_compare): New function to convert
16521 scalar equality/inequality comparison into vector operations.
16522 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
16523 new convert_compare helper method.
16524 (convertible_comparion_p): Update to match doubleword COMPARE
16525 of two register, memory or integer constant operands.
16526 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
16527 Prototype/declare member function here.
16528 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
16529 only allow new doubleword modes for EQ and NE operators.
16530 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
16531 doubleword comparison into a pair of XORs followed by an IOR to
16532 set the (zero) flags register, optimizing the XORs if possible.
16533 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
16534 iterator; V_AVX is (currently) only used by ptest.
16535 (sse4_1 mode attribute): Update to support V1TI and V2TI.
16536
16537 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
16538
16539 * config/i386/i386.md: Remove constraints when used with
16540 const_int_operand, const0_operand, const_1_operand, constm1_operand,
16541 const8_operand, const128_operand, const248_operand, const123_operand,
16542 const2367_operand, const1248_operand, const359_operand,
16543 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
16544 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
16545 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
16546 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
16547 const_0_to_255_mul_8_operand, const_1_to_31_operand,
16548 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
16549 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
16550 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
16551 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
16552 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
16553 const_24_to_27_operand and const_28_to_31_operand.
16554 * config/i386/mmx.md: Ditto.
16555 * config/i386/sse.md: Ditto.
16556 * config/i386/subst.md: Ditto.
16557 * config/i386/sync.md: Ditto.
16558
16559 2022-05-30 Jan Beulich <jbeulich@suse.com>
16560
16561 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
16562 arguments.
16563
16564 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16565
16566 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
16567
16568 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
16569
16570 PR target/105599
16571 * config/darwin.h: Move versions-specific handling of multiply_defined
16572 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
16573
16574 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
16575
16576 PR other/82383
16577 * doc/sourcebuild.texi: Add entries for the c++tools,
16578 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
16579 and libsanitizer directories. Remove entry for boehm-gc.
16580 Fix alphabetization for libquadmath.
16581
16582 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
16583
16584 * config/avr/avr-mcus.def: Add device definitions.
16585 * doc/avr-mmcu.texi: Corresponding changes.
16586 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
16587 device prefix.
16588 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
16589 from leaking into cc1.
16590
16591 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
16592
16593 PR target/103722
16594 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
16595 is special) for various scenarios.
16596
16597 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
16598
16599 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
16600 describing this macro.
16601
16602 2022-05-27 Richard Biener <rguenther@suse.de>
16603
16604 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
16605
16606 2022-05-27 Martin Jambor <mjambor@suse.cz>
16607
16608 PR ipa/105639
16609 * ipa-prop.cc (propagate_controlled_uses): Check type of the
16610 constant before adding a LOAD reference.
16611
16612 2022-05-27 Jakub Jelinek <jakub@redhat.com>
16613
16614 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
16615 to OMP_CLAUSE_ENTER.
16616 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
16617 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
16618 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
16619 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
16620 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
16621 "to" instead of "enter".
16622 * tree-nested.cc (convert_nonlocal_omp_clauses,
16623 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
16624 OMP_CLAUSE_TO_DECLARE.
16625
16626 2022-05-27 Richard Biener <rguenther@suse.de>
16627
16628 PR tree-optimization/105726
16629 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
16630 Constrain array-of-flexarray case more.
16631
16632 2022-05-27 Jakub Jelinek <jakub@redhat.com>
16633
16634 PR sanitizer/105729
16635 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
16636 to (X &) z + w if -fsanitize=null during GENERIC folding.
16637
16638 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
16639
16640 * match.pd (match_zero_one_valued_p): New predicate.
16641 (mult @0 @1): Use zero_one_valued_p for optimization to the
16642 expression "bit_and @0 @1".
16643 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
16644 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
16645 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
16646 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
16647 Remove three redundant transforms obsoleted by the three above.
16648
16649 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
16650
16651 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
16652 to split a combined "and;cmp" sequence into "not;test".
16653
16654 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16655
16656 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
16657 (bswapsi2_internal): Revise the template and condition, and add
16658 detection code for preceding the same insn in order to omit a
16659 "SSAI 8" instruction of the latter.
16660 (bswapdi2): Suppress built-in insn expansion with the corresponding
16661 library call when optimizing for size.
16662
16663 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16664
16665 * config/xtensa/xtensa-protos.h
16666 (xtensa_expand_block_set_unrolled_loop,
16667 xtensa_expand_block_set_small_loop): New prototypes.
16668 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
16669 xtensa_expand_block_set_unrolled_loop,
16670 xtensa_expand_block_set_small_loop): New functions.
16671 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
16672 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
16673
16674 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16675
16676 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
16677 Make instruction counting more accurate, and simplify emitting insns.
16678
16679 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16680
16681 * config/xtensa/constraints.md (M, O): Use the macro.
16682 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
16683 sext_fldsz_operand): Ditto.
16684 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
16685 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
16686 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
16687 xtensa_expand_prologue): Ditto.
16688 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
16689
16690 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16691
16692 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
16693 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
16694 Ditto.
16695
16696 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
16697
16698 * gimple-range-cache.cc: Adjust comments.
16699 * gimple-range-infer.cc: Adjust comments.
16700 * gimple-range-infer.h: Adjust comments.
16701 * gimple-range.cc: Adjust comments.
16702
16703 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
16704
16705 * Makefile.in (OBJS): Use gimple-range-infer.o.
16706 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
16707 (ranger_cache::range_from_dom): Rename var side_effect to infer.
16708 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
16709 * gimple-range-cache.h: Include gimple-range-infer.h.
16710 (class ranger_cache): Adjust prototypes, use infer_range_manager.
16711 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
16712 (gimple_infer_range::*): Rename from stmt_side_effects.
16713 (infer_range_manager::*): Rename from side_effect_manager.
16714 * gimple-range-side-effect.cc: Rename.
16715 * gimple-range-side-effect.h: Rename.
16716 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
16717 (class gimple_infer_range): Rename from stmt_side_effects.
16718 (class infer_range_manager): Rename from side_effect_manager.
16719 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
16720 from register_side_effects.
16721 * gimple-range.h (register_inferred_ranges): Adjust prototype.
16722 * range-op.h: Adjust comment.
16723 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
16724 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
16725
16726 2022-05-25 Simon Cook <simon.cook@embecosm.com>
16727
16728 * config/riscv/arch-canonicalize: Only add mafd extension if
16729 base was rv32/rv64g.
16730
16731 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
16732
16733 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
16734
16735 2022-05-25 Jakub Jelinek <jakub@redhat.com>
16736
16737 PR sanitizer/105714
16738 * asan.cc (has_stmt_been_instrumented_p): For assignments which
16739 are both stores and loads, return true only if both destination
16740 and source have been instrumented.
16741
16742 2022-05-25 Martin Liska <mliska@suse.cz>
16743 Richard Biener <rguenther@suse.de>
16744
16745 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
16746 * params.opt (max-unswitch-level): Remove.
16747 * doc/invoke.texi (max-unswitch-level): Likewise.
16748 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
16749 gimplified expressions.
16750 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
16751 (tree_may_unswitch_on): Rename to ...
16752 (find_unswitching_predicates_for_bb): ... this and handle
16753 switch statements.
16754 (get_predicates_for_bb): Likewise.
16755 (set_predicates_for_bb): Likewise.
16756 (init_loop_unswitch_info): Likewise.
16757 (tree_ssa_unswitch_loops): Prepare stuff before calling
16758 tree_unswitch_single_loop.
16759 (tree_unswitch_single_loop): Rework the function using
16760 pre-computed predicates and with a per original loop cost model.
16761 (merge_last): New.
16762 (add_predicate_to_path): Likewise.
16763 (find_range_for_lhs): Likewise.
16764 (simplify_using_entry_checks): Rename to ...
16765 (evaluate_control_stmt_using_entry_checks): ... this, handle
16766 switch statements and improve simplifications using ranger.
16767 (simplify_loop_version): Rework using
16768 evaluate_control_stmt_using_entry_checks.
16769 (evaluate_bbs): New.
16770 (evaluate_loop_insns_for_predicate): Likewise.
16771 (tree_unswitch_loop): Adjust to allow switch statements and
16772 pass in the edge to unswitch.
16773 (clean_up_after_unswitching): New.
16774 (pass_tree_unswitch::execute): Pass down fun.
16775
16776 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
16777
16778 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
16779 counts for the epilog loop.
16780
16781 2022-05-24 Martin Sebor <msebor@redhat.com>
16782 Richard Biener <rguenther@suse.de>
16783
16784 PR middle-end/105604
16785 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
16786 (get_origin_and_offset_r): Remove null handling. Handle variable array
16787 sizes.
16788 (get_origin_and_offset): Handle null argument here. Simplify.
16789 (alias_offset): Update comment.
16790 * pointer-query.cc (field_at_offset): Update comment. Handle members
16791 of variable-length types.
16792
16793 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16794
16795 * target.def (vec_perm_const): Define new parameter op_mode and
16796 update doc.
16797 * doc/tm.texi: Regenerate.
16798 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
16799 vec_perm_const hook to add new parameter op_mode and return false
16800 if result and operand modes do not match.
16801 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
16802 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
16803 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
16804 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
16805 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
16806 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
16807 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
16808 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
16809 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
16810 prototype.
16811 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
16812 (ashrv2di3): Likewise.
16813 * optabs.cc (expand_vec_perm_const): Likewise.
16814 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
16815 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
16816 op_mode and pass it to vec_perm_const hook.
16817 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
16818 * match.pd (vec_perm X Y CST): Likewise.
16819 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
16820 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
16821 (vect_grouped_load_supported): Likewise.
16822 (vect_shift_permute_load_chain): Likewise.
16823 * tree-vect-generic.cc (lower_vec_perm): Likewise.
16824 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
16825 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
16826 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
16827 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
16828 (vect_transform_slp_perm_load): Likewise.
16829 (vectorizable_slp_permutation): Likewise.
16830 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
16831 (vectorizable_bswap): Likewise.
16832 (scan_store_can_perm_p): Likewise.
16833 (vect_gen_perm_mask_checked): Likewise.
16834
16835 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
16836
16837 PR target/104816
16838 * config/i386/i386.opt: Remove Undocumented.
16839 * doc/invoke.texi: Document -mcet-switch.
16840
16841 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
16842
16843 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
16844 * config/gcn/gcn-opts.h (enum gcn_isa): New.
16845 (TARGET_GCN3): Use enum gcn_isa.
16846 (TARGET_GCN3_PLUS): Likewise.
16847 (TARGET_GCN5): Likewise.
16848 (TARGET_GCN5_PLUS): Likewise.
16849 (TARGET_CDNA1): New.
16850 (TARGET_CDNA1_PLUS): New.
16851 (TARGET_CDNA2): New.
16852 (TARGET_CDNA2_PLUS): New.
16853 (TARGET_M0_LDS_LIMIT): New.
16854 (TARGET_PACKED_WORK_ITEMS): New.
16855 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
16856 (gcn_option_override): Recognise CDNA ISA variants.
16857 (gcn_omp_device_kind_arch_isa): Support gfx90a.
16858 (gcn_expand_prologue): Make m0 init optional.
16859 Add support for packed work items.
16860 (output_file_start): Support gfx90a.
16861 (gcn_hsa_declare_function_name): Support gfx90a metadata.
16862 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
16863 __CDNA2__.
16864 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
16865 (<su>mulsi3_highpart_imm): Likewise.
16866 (<su>mulsidi3): Likewise.
16867 (<su>mulsidi3_imm): Likewise.
16868 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
16869 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
16870 (main): Support gfx90a.
16871 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
16872 * config/gcn/t-omp-device: Add gfx90a isa.
16873
16874 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
16875
16876 * config.in: Regenerate.
16877 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
16878 (X_900): Delete.
16879 (X_906): Delete.
16880 (X_908): Delete.
16881 (S_FIJI): Delete.
16882 (S_900): Delete.
16883 (S_906): Delete.
16884 (S_908): Delete.
16885 (NO_XNACK): New macro.
16886 (NO_SRAM_ECC): New macro.
16887 (SRAMOPT): Keep only v4 variant.
16888 (HSACO3_SELECT_OPT): Delete.
16889 (DRIVER_SELF_SPECS): Delete.
16890 (ASM_SPEC): Remove LLVM 9 support.
16891 * config/gcn/gcn-valu.md
16892 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
16893 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
16894 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
16895 (print_operand_address): Remove assembler bug workaround.
16896 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
16897 (EF_AMDGPU_SRAM_ECC_V3): Delete.
16898 (SET_XNACK_ON): Delete v3 variants.
16899 (SET_XNACK_OFF): Delete v3 variants.
16900 (TEST_XNACK): Delete v3 variants.
16901 (SET_SRAM_ECC_ON): Delete v3 variants.
16902 (SET_SRAM_ECC_ANY): Delete v3 variants.
16903 (SET_SRAM_ECC_OFF): Delete v3 variants.
16904 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
16905 (TEST_SRAM_ECC_ANY): Delete v3 variants.
16906 (TEST_SRAM_ECC_ON): Delete v3 variants.
16907 (copy_early_debug_info): Remove v3 support.
16908 (main): Remove v3 support.
16909 * configure: Regenerate.
16910 * configure.ac: Replace all GCN feature checks with a version check.
16911
16912 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16913
16914 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
16915 i.e. a double word negation of a zero extended operand, to
16916 neg;sbb.
16917
16918 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16919
16920 PR tree-optimization/105668
16921 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
16922 V1TImode, just like V2DImode.
16923 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
16924 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
16925 (vcond_mask_v2div2di): Delete.
16926 (vcond_mask_v1tiv1ti): New define_expand.
16927
16928 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16929
16930 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
16931 to strncmp for strings of length one.
16932
16933 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
16934
16935 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
16936 prefetch instructions.
16937 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
16938 Extensions.
16939 (RISCV_ATYPE_SI): New.
16940 (RISCV_ATYPE_DI): New.
16941 * config/riscv/riscv-ftypes.def (0): New.
16942 (1): New.
16943 * config/riscv/riscv.md (riscv_clean_<mode>): New.
16944 (riscv_flush_<mode>): New.
16945 (riscv_inval_<mode>): New.
16946 (riscv_zero_<mode>): New.
16947 (prefetch): New.
16948 (riscv_prefetchi_<mode>): New.
16949 * config/riscv/riscv-cmo.def: New file.
16950
16951 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
16952
16953 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
16954 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
16955 (MASK_ZICBOM): New.
16956 (MASK_ZICBOP): New.
16957 (TARGET_ZICBOZ): New.
16958 (TARGET_ZICBOM): New.
16959 (TARGET_ZICBOP): New.
16960 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
16961
16962 2022-05-24 David Malcolm <dmalcolm@redhat.com>
16963
16964 * tree-vect-slp-patterns.cc: Add "final" and "override" to
16965 vect_pattern::build impls as appropriate.
16966
16967 2022-05-24 David Malcolm <dmalcolm@redhat.com>
16968
16969 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
16970 implementations, removing redundant "virtual" as appropriate.
16971 * ipa-fnsummary.h: Likewise.
16972 * ipa-modref.cc: Likewise.
16973 * ipa-param-manipulation.cc: Likewise.
16974 * ipa-profile.cc: Likewise.
16975 * ipa-prop.h: Likewise.
16976 * ipa-pure-const.cc: Likewise.
16977 * ipa-reference.cc: Likewise.
16978 * ipa-sra.cc: Likewise.
16979 * symbol-summary.h: Likewise.
16980 * symtab-thunks.cc: Likewise.
16981
16982 2022-05-24 Martin Liska <mliska@suse.cz>
16983
16984 Revert:
16985 2022-05-24 Martin Liska <mliska@suse.cz>
16986
16987 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
16988 warning.
16989
16990 2022-05-24 Martin Liska <mliska@suse.cz>
16991
16992 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
16993 warning.
16994
16995 2022-05-24 Bruno Haible <bruno@clisp.org>
16996
16997 PR other/105527
16998 * doc/install.texi (Configuration): Add more details about --with-zstd.
16999 Document --with-zstd-include and --with-zstd-lib
17000
17001 2022-05-24 Richard Biener <rguenther@suse.de>
17002
17003 PR middle-end/105711
17004 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
17005 and use it.
17006 (extract_bit_field_1): Pass down the mode of op0 to
17007 extract_bit_field_as_subreg.
17008
17009 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
17010
17011 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
17012 fmv_cost.
17013 (rocket_tune_info): Add default fmv_cost 8.
17014 (sifive_7_tune_info): Ditto.
17015 (thead_c906_tune_info): Ditto.
17016 (optimize_size_tune_info): Ditto.
17017 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
17018
17019 2022-05-24 Jakub Jelinek <jakub@redhat.com>
17020
17021 PR c/105378
17022 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
17023 builtin.
17024 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
17025 clause but no depend clauses.
17026 * omp-expand.cc (expand_taskwait_call): Use
17027 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
17028 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
17029
17030 2022-05-24 Richard Biener <rguenther@suse.de>
17031
17032 PR tree-optimization/100221
17033 * tree-ssa-dse.cc (contains_phi_arg): New function.
17034 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
17035
17036 2022-05-24 Richard Biener <rguenther@suse.de>
17037
17038 PR tree-optimization/105629
17039 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
17040 a sign-extending conversion.
17041
17042 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
17043
17044 PR target/105627
17045 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
17046 be a debug insn.
17047 (union_uses): Skip debug use_insn.
17048
17049 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
17050
17051 * config/riscv/predicates.md (const_0_operand): Remove
17052 const_double.
17053 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
17054 CONST_DOUBLE.
17055 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
17056
17057 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
17058
17059 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
17060 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
17061 (cpu_indicator_init): Handle Zhaoxin processors.
17062 * common/config/i386/i386-common.cc: Add lujiazui.
17063 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
17064 VENDOR_ZHAOXIN.
17065 (enum processor_types): Add ZHAOXIN_FAM7H.
17066 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
17067 * config.gcc: Add lujiazui.
17068 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
17069 Signatures for zhaoxin
17070 (signature_SHANGHAI_ecx): Ditto.
17071 (signature_SHANGHAI_edx): Ditto.
17072 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
17073 -march=native recognize lujiazui processors.
17074 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
17075 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
17076 * config/i386/i386.h (enum processor_type): Ditto.
17077 * config/i386/i386.md: Add lujiazui.
17078 * config/i386/x86-tune-costs.h (struct processor_costs): Add
17079 lujiazui costs.
17080 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
17081 (ix86_adjust_cost): Ditto.
17082 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
17083 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
17084 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
17085 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
17086 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
17087 (X86_TUNE_MOVX): Ditto.
17088 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
17089 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
17090 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
17091 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
17092 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
17093 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
17094 (X86_TUNE_USE_LEAVE): Ditto.
17095 (X86_TUNE_PUSH_MEMORY): Ditto.
17096 (X86_TUNE_LCP_STALL): Ditto.
17097 (X86_TUNE_USE_INCDEC): Ditto.
17098 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
17099 (X86_TUNE_OPT_AGU): Ditto.
17100 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
17101 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
17102 (X86_TUNE_USE_SAHF): Ditto.
17103 (X86_TUNE_USE_BT): Ditto.
17104 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
17105 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
17106 (X86_TUNE_AVOID_MFENCE): Ditto.
17107 (X86_TUNE_EXPAND_ABS): Ditto.
17108 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
17109 (X86_TUNE_USE_FFREEP): Ditto.
17110 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
17111 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
17112 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
17113 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
17114 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
17115 * doc/extend.texi: Add details about lujiazui.
17116 * doc/invoke.texi: Add details about lujiazui.
17117 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
17118
17119 2022-05-23 Martin Liska <mliska@suse.cz>
17120
17121 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
17122
17123 2022-05-23 Richard Biener <rguenther@suse.de>
17124
17125 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
17126 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
17127
17128 2022-05-23 Richard Biener <rguenther@suse.de>
17129
17130 * gimple-expr.cc (is_gimple_condexpr): Remove.
17131 * gimple-expr.h (is_gimple_condexpr): Likewise.
17132 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
17133 * tree-if-conv.cc (set_bb_predicate): Likewie.
17134 (add_to_predicate_list): Likewise.
17135 (gen_phi_arg_condition): Likewise.
17136 (predicate_scalar_phi): Likewise.
17137 (predicate_statements): Likewise.
17138
17139 2022-05-23 Richard Biener <rguenther@suse.de>
17140
17141 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
17142 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
17143 as is_gimple_val.
17144 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
17145 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
17146 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
17147 Build the condition of the COND_EXPR separately.
17148 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
17149 * tree-vect-generic.cc (expand_vector_condition): Likewise.
17150 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
17151 Likewise.
17152 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
17153 * tree-vect-patterns.cc: Add comment indicating we are
17154 building invalid COND_EXPRs and why.
17155 * omp-expand.cc (expand_omp_simd): Gimplify the condition
17156 to the COND_EXPR separately.
17157 (expand_omp_atomic_cas): Note part that should be unreachable
17158 now.
17159 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
17160 condition for valid replacements.
17161 * tree-if-conv.cc (predicate_bbs): Simulate previous
17162 re-folding of the condition in folded COND_EXPRs which
17163 is necessary because of unfolded GIMPLE_CONDs in the IL
17164 as in for example gcc.dg/fold-bopcond-1.c.
17165 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
17166 Handle that the comparison is now in the def stmt of
17167 the select operand. Required by gcc.dg/pr104526.c.
17168
17169 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
17170
17171 PR fortran/104949
17172 * langhooks-def.h (lhd_omp_array_size): New.
17173 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
17174 (LANG_HOOKS_DECLS): Add it.
17175 * langhooks.cc (lhd_omp_array_size): New.
17176 * langhooks.h (struct lang_hooks_for_decls): Add hook.
17177 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
17178 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
17179
17180 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
17181
17182 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
17183 XOR/IOR case. Account for two instructions for double-word
17184 operations. In case of vector pandn, account for single
17185 instruction. Likewise for integer andn with TARGET_BMI.
17186 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
17187 <case NEG>: Double-word negation requires 3 instructions.
17188
17189 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
17190
17191 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
17192 Fix "K" extension prefix to be placed before "J".
17193 * config/riscv/arch-canonicalize: Likewise.
17194
17195 2022-05-23 liuhongt <hongtao.liu@intel.com>
17196
17197 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
17198 <-> mask cost from 5 to 6.
17199 (icelake_cost): Ditto.
17200
17201 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
17202
17203 * config/aarch64/aarch64.md
17204 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
17205 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
17206 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
17207 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
17208 (one_cmpl_<optab><mode>2): Likewise.
17209 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
17210 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
17211 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
17212 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
17213 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
17214 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
17215 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
17216 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
17217 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
17218 (rolsi3_insn_uxtw): New pattern.
17219 * config/aarch64/iterators.md (SHIFT): Add rotate left.
17220 (SHIFT_no_rotate): Add new iterator.
17221 (SHIFT:shift): Print rotate left as ror.
17222 (is_rotl): Add test for left rotate.
17223
17224 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
17225
17226 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
17227 processing. Add support for architectural extensions.
17228 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
17229 AARCH64_CPU_DEFAULT_FLAGS.
17230 (TARGET_CPU_NBITS): Remove.
17231 (TARGET_CPU_MASK): Remove.
17232 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
17233 (get_tune_cpu): Assert CPU is always valid.
17234 (get_arch): Assert architecture is always valid.
17235 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
17236 (aarch64_option_restore): Remove unnecessary checks on tune.
17237
17238 2022-05-20 David Malcolm <dmalcolm@redhat.com>
17239
17240 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
17241 "FINAL" and "OVERRIDE" with "final" and "override".
17242 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
17243 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
17244 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
17245 * diagnostic-path.h: Likewise.
17246 * digraph.cc: Likewise.
17247 * gcc-rich-location.h: Likewise.
17248 * gimple-array-bounds.cc: Likewise.
17249 * gimple-loop-versioning.cc: Likewise.
17250 * gimple-range-cache.cc: Likewise.
17251 * gimple-range-cache.h: Likewise.
17252 * gimple-range-fold.cc: Likewise.
17253 * gimple-range-fold.h: Likewise.
17254 * gimple-range-tests.cc: Likewise.
17255 * gimple-range.h: Likewise.
17256 * gimple-ssa-evrp.cc: Likewise.
17257 * input.cc: Likewise.
17258 * json.h: Likewise.
17259 * read-rtl-function.cc: Likewise.
17260 * tree-complex.cc: Likewise.
17261 * tree-diagnostic-path.cc: Likewise.
17262 * tree-ssa-ccp.cc: Likewise.
17263 * tree-ssa-copy.cc: Likewise.
17264 * tree-vrp.cc: Likewise.
17265 * value-query.h: Likewise.
17266 * vr-values.h: Likewise.
17267
17268 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
17269
17270 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
17271 target_memcpy_rect_async to omp_runtime_apis array.
17272
17273 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17274
17275 * doc/sourcebuild.texi (Decimal floating point attributes): Document
17276 dfp_bid effective-target.
17277
17278 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17279
17280 * config/aarch64/aarch64.cc
17281 (aarch64_split_128bit_move): Handle DFP modes.
17282 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
17283 (aarch64_classify_address): Likewise.
17284 (aarch64_legitimize_address_displacement): Likewise.
17285 (aarch64_reinterpret_float_as_int): Likewise.
17286 (aarch64_float_const_zero_rtx_p): Likewise.
17287 (aarch64_can_const_movi_rtx_p): Likewise.
17288 (aarch64_anchor_offset): Likewise.
17289 (aarch64_secondary_reload): Likewise.
17290 (aarch64_rtx_costs): Likewise.
17291 (aarch64_legitimate_constant_p): Likewise.
17292 (aarch64_gimplify_va_arg_expr): Likewise.
17293 (aapcs_vfp_sub_candidate): Likewise.
17294 (aarch64_vfp_is_call_or_return_candidate): Likewise.
17295 (aarch64_output_scalar_simd_mov_immediate): Likewise.
17296 (aarch64_gen_adjusted_ldpstp): Likewise.
17297 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
17298 * config/aarch64/aarch64.md
17299 (movsf_aarch64): Use SFD iterator and rename into
17300 mov<mode>_aarch64.
17301 (movdf_aarch64): Use DFD iterator and rename into
17302 mov<mode>_aarch64.
17303 (movtf_aarch64): Use TFD iterator and rename into
17304 mov<mode>_aarch64.
17305 (split pattern for move TF mode): Use TFD iterator.
17306 * config/aarch64/iterators.md
17307 (GPF_TF_F16_MOV): Add DFP modes.
17308 (SFD, DFD, TFD): New iterators.
17309 (GPF_TF): Add DFP modes.
17310 (TX, DX, DX2): Likewise.
17311
17312 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17313
17314 * configure: Regenerate.
17315
17316 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
17317
17318 PR middle-end/98865
17319 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
17320 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
17321 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
17322
17323 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
17324
17325 * config/rs6000/rs6000-builtins.def: Rephrase
17326 to remove RS6000_BTC_SPECIAL from comment.
17327 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
17328 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
17329 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
17330 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
17331 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
17332 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
17333 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
17334 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
17335 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
17336 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
17337 RS6000_BTM_ALWAYS): Delete.
17338
17339 2022-05-19 Richard Biener <rguenther@suse.de>
17340
17341 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
17342 computation of the new value.
17343
17344 2022-05-19 Richard Biener <rguenther@suse.de>
17345
17346 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
17347 (add_to_value): Use get_expression_id.
17348 (bitmap_insert_into_set): Likewise.
17349 (bitmap_value_insert_into_set): Likewise.
17350
17351 2022-05-19 David Malcolm <dmalcolm@redhat.com>
17352
17353 * doc/invoke.texi (-fanalyzer-checker=): Add
17354 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
17355 the list of analyzer warnings disabled by
17356 -fanalyzer-checker=taint.
17357
17358 2022-05-19 Jakub Jelinek <jakub@redhat.com>
17359
17360 PR debug/105630
17361 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
17362 global vars without symtab node even when they have DECL_RTL
17363 set.
17364
17365 2022-05-19 Jakub Jelinek <jakub@redhat.com>
17366
17367 PR c/105635
17368 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
17369 doesn't have pointer or reference type.
17370
17371 2022-05-18 Marek Polacek <polacek@redhat.com>
17372
17373 PR c/105131
17374 * doc/invoke.texi: Document -Wenum-int-mismatch.
17375
17376 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
17377
17378 * config/i386/gnu-user-common.h (defined): Only define
17379 TARGET_CAN_SPLIT_STACK for glibc targets.
17380 * config/i386/gnu.h (defined): Ditto.
17381
17382 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
17383
17384 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
17385 is wider than word_mode, a multiplication costs three word_mode
17386 multiplications and two word_mode additions.
17387
17388 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
17389
17390 * config/i386/i386.md (define_split): Split *andsi_1
17391 and *andn_si_ccno after reload with -Oz.
17392
17393 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
17394
17395 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
17396 Output reason for failure to dump file.
17397 (scop_detection::harmful_loop_in_region): Likewise.
17398 (scop_detection::graphite_can_represent_expr): Likewise.
17399 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
17400 (scop_detection::stmt_simple_for_scop_p): Likewise.
17401 (print_sese_loop_numbers): New function.
17402 (scop_detection::add_scop): Use from here.
17403
17404 2022-05-18 liuhongt <hongtao.liu@intel.com>
17405
17406 PR middle-end/103462
17407 * match.pd (bitwise_induction_p): New match.
17408 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
17409 Declare.
17410 (analyze_and_compute_bitwise_induction_effect): New function.
17411 (enum bit_op_kind): New enum.
17412 (final_value_replacement_loop): Enhanced to handle bitwise
17413 induction.
17414
17415 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
17416
17417 PR target/95737
17418 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
17419
17420 2022-05-18 liuhongt <hongtao.liu@intel.com>
17421
17422 PR target/104375
17423 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
17424 define_insn.
17425
17426 2022-05-18 liuhongt <hongtao.liu@intel.com>
17427
17428 PR target/104610
17429 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
17430 for QImode when code is EQ or NE.
17431 * config/i386/i386.md (cbranchoi4): New expander.
17432
17433 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
17434 Segher Boessenkool <segher@kernel.crashing.org>
17435
17436 PR target/105556
17437 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
17438 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
17439 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
17440 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
17441 Update other operands accordingly.
17442
17443 2022-05-17 Marek Polacek <polacek@redhat.com>
17444
17445 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
17446
17447 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
17448
17449 PR target/99685
17450 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
17451 register count when not splitting IEEE 128-bit Complex.
17452
17453 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17454
17455 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
17456 target inside target if inner is reverse offload.
17457
17458 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17459
17460 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
17461 * config/nvptx/mkoffload.cc (process): Likewise.
17462
17463 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
17464
17465 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
17466 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
17467 (non_null_ref::~non_null_ref): Delete.
17468 (non_null_ref::set_nonnull): Delete.
17469 (non_null_ref::non_null_deref_p): Delete.
17470 (non_null_ref::process_name): Delete.
17471 (ranger_cache::ranger_cache): Initialize m_exit object.
17472 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
17473 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
17474 (ranger_cache::update_to_nonnull): Delete.
17475 (non_null_loadstore): Delete.
17476 (ranger_cache::block_apply_nonnull): Delete.
17477 (ranger_cache::apply_side_effects): New.
17478 * gimple-range-cache.h (class non_null_ref): Delete.
17479 (non_null_ref::adjust_range): Delete.
17480 (class ranger_cache): Adjust prototypes, add side effect manager.
17481 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
17482 side effect manager for queries.
17483 (path_range_query::adjust_for_non_null_uses): Ditto.
17484 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
17485 * gimple-range-side-effect.cc: New.
17486 * gimple-range-side-effect.h: New.
17487 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
17488 (gimple_ranger::range_of_expr): Check def block for override value.
17489 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
17490 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
17491 (gimple_ranger::register_side_effects): Call apply_side_effects.
17492 (enable_ranger): Update contructor.
17493 * gimple-range.h (class gimple_ranger): Update prototype.
17494 (enable_ranger): Update prototype.
17495 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
17496
17497 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
17498
17499 PR c++/105169
17500 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
17501 * varasm.cc (switch_to_comdat_section): New
17502 (handle_vtv_comdat_section): Call switch_to_comdat_section.
17503 * varasm.h: Declare switch_to_comdat_section.
17504
17505 2022-05-17 Richard Biener <rguenther@suse.de>
17506
17507 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
17508 not clear bb->aux of the copied blocks.
17509
17510 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
17511
17512 PR tree-optimization/105458
17513 * value-relation.cc (path_oracle::register_relation): Merge, then check
17514 for equivalence.
17515
17516 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
17517
17518 PR target/105624
17519 Revert:
17520 * config/i386/i386.md: Remove constraints when used with
17521 const_int_operand, const0_operand, const_1_operand, constm1_operand,
17522 const8_operand, const128_operand, const248_operand, const123_operand,
17523 const2367_operand, const1248_operand, const359_operand,
17524 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
17525 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
17526 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
17527 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
17528 const_0_to_255_mul_8_operand, const_1_to_31_operand,
17529 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
17530 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
17531 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
17532 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
17533 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
17534 const_24_to_27_operand and const_28_to_31_operand.
17535 * config/i386/mmx.md: Ditto.
17536 * config/i386/sse.md: Ditto.
17537 * config/i386/subst.md: Ditto.
17538 * config/i386/sync.md: Ditto.
17539
17540 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
17541
17542 * diagnostic.cc: Don't advise to call 'abort' instead of
17543 'internal_error'.
17544 * system.h: Advise to call 'internal_error' instead of 'abort' or
17545 'fancy_abort'.
17546
17547 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
17548
17549 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
17550 a reference to a variable which does not exist.
17551 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
17552 in comment.
17553
17554 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
17555
17556 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
17557 (isl_id_for_parameter): ... this new function name.
17558 (build_scop_context): Adjust function use.
17559
17560 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17561
17562 PR target/105602
17563 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
17564 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
17565
17566 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17567
17568 * tree-core.h (enum omp_clause_depend_kind): Add
17569 OMP_CLAUSE_DEPEND_INOUTSET.
17570 * tree-pretty-print.cc (dump_omp_clause): Handle
17571 OMP_CLAUSE_DEPEND_INOUTSET.
17572 * gimplify.cc (gimplify_omp_depend): Likewise.
17573 * omp-low.cc (lower_depend_clauses): Likewise.
17574
17575 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17576
17577 PR target/105613
17578 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
17579 andv4si3 only for EQ, for NE use iorv4si3 instead.
17580
17581 2022-05-17 Richard Biener <rguenther@suse.de>
17582
17583 PR tree-optimization/105618
17584 * tree-ssa-sink.cc (statement_sink_location): For virtual
17585 PHI uses ignore those defining the used virtual operand.
17586
17587 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17588
17589 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
17590 hanlde -> handle. Fix up comment formatting.
17591
17592 2022-05-17 liuhongt <hongtao.liu@intel.com>
17593
17594 PR target/105033
17595 * config/i386/sse.md (*vec_concatv4si): Extend to ..
17596 (*vec_concat<mode>): .. V16QI and V8HImode.
17597 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
17598 (*vec_concatv8hi_permt2): Ditto.
17599
17600 2022-05-17 liuhongt <hongtao.liu@intel.com>
17601
17602 PR tree-optimization/105591
17603 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
17604 vec_perm_expr index.
17605
17606 2022-05-16 Jason Merrill <jason@redhat.com>
17607
17608 PR c/105492
17609 * attribs.cc (decl_attributes): Fix broken typedefs here.
17610
17611 2022-05-16 David Malcolm <dmalcolm@redhat.com>
17612
17613 PR analyzer/105103
17614 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
17615 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
17616 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
17617 -Wanalyzer-va-list-use-after-va-end.
17618
17619 2022-05-16 Richard Biener <rguenther@suse.de>
17620
17621 * gimple-match.h (gimple_build): Move code_helper overloads ...
17622 * gimple-fold.h (gimple_build): ... here.
17623 (gimple_build): Transition to new worker API. Provide
17624 overloads from sequence-based API.
17625 (gimple_convert): Likewise.
17626 (gimple_convert_to_ptrofftype): Likewise.
17627 (gimple_build_vector_from_val): Likewise.
17628 (gimple_build_vector): Likewise.
17629 (gimple_build_round_up): Likewise.
17630 * gimple-fold.cc (gimple_build_insert_seq): New helper.
17631 (gimple_build): Use it. Transition combined_fn and code_helper
17632 API parts.
17633 (gimple_convert): Transition to new worker API.
17634 (gimple_convert_to_ptrofftype): Likewise.
17635 (gimple_build_vector_from_val): Likewise.
17636 (gimple_build_vector): Likewise.
17637 (gimple_build_round_up): Likewise.
17638
17639 2022-05-16 Richard Biener <rguenther@suse.de>
17640
17641 * gimple-match.h (code_helper): Move class ...
17642 * tree.h (code_helper): ... here.
17643
17644 2022-05-16 Martin Liska <mliska@suse.cz>
17645
17646 * opts-global.cc (write_langs): Add comment.
17647
17648 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
17649
17650 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
17651 instead of a bitwise negation.
17652 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
17653
17654 2022-05-16 Martin Liska <mliska@suse.cz>
17655
17656 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
17657 (decls_mismatched_attributes): Likewise.
17658 * builtins.cc (c_strlen): Likewise.
17659 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
17660 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
17661 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
17662 (aarch64_init_simd_builtin_types): Likewise.
17663 (aarch64_init_builtin_rsqrt): Likewise.
17664 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
17665 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
17666 (arm_init_simd_builtin_types): Likewise.
17667 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
17668 (c_prefix): Likewise.
17669 (main): Likewise.
17670 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
17671 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
17672 * config/gcn/mkoffload.cc (process_obj): Likewise.
17673 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
17674 (fold_builtin_cpu): Likewise.
17675 * config/m32c/m32c.cc (PUSHM_N): Likewise.
17676 * config/nvptx/mkoffload.cc (process): Likewise.
17677 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
17678 * config/s390/s390.cc (NR_C_MODES): Likewise.
17679 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
17680 (create_insn_code_compression_table): Likewise.
17681 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
17682 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
17683 * dwarf2out.cc (ARRAY_SIZE): Likewise.
17684 * genhooks.cc (emit_documentation): Likewise.
17685 (emit_init_macros): Likewise.
17686 * gimple-ssa-sprintf.cc (format_floating): Likewise.
17687 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
17688 * godump.cc (keyword_hash_init): Likewise.
17689 * hash-table.cc (hash_table_higher_prime_index): Likewise.
17690 * input.cc (for_each_line_table_case): Likewise.
17691 * ipa-free-lang-data.cc (free_lang_data): Likewise.
17692 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
17693 * optc-save-gen.awk: Likewise.
17694 * spellcheck.cc (test_metric_conditions): Likewise.
17695 * tree-vect-slp-patterns.cc (sizeof): Likewise.
17696 (ARRAY_SIZE): Likewise.
17697 * tree.cc (build_common_tree_nodes): Likewise.
17698
17699 2022-05-16 Martin Liska <mliska@suse.cz>
17700
17701 * opts-global.cc (write_langs): Allocate at least one byte.
17702
17703 2022-05-16 Richard Biener <rguenther@suse.de>
17704
17705 * match.pd (A cmp B ? A : B -> min/max): New patterns
17706 carried over from fold_cond_expr_with_comparison.
17707
17708 2022-05-16 liuhongt <hongtao.liu@intel.com>
17709
17710 PR target/105587
17711 * config/i386/i386-expand.cc
17712 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
17713 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
17714
17715 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
17716
17717 * config/i386/i386.md: Remove constraints when used with
17718 const_int_operand, const0_operand, const_1_operand, constm1_operand,
17719 const8_operand, const128_operand, const248_operand, const123_operand,
17720 const2367_operand, const1248_operand, const359_operand,
17721 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
17722 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
17723 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
17724 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
17725 const_0_to_255_mul_8_operand, const_1_to_31_operand,
17726 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
17727 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
17728 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
17729 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
17730 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
17731 const_24_to_27_operand and const_28_to_31_operand.
17732 * config/i386/mmx.md: Ditto.
17733 * config/i386/sse.md: Ditto.
17734 * config/i386/subst.md: Ditto.
17735 * config/i386/sync.md: Ditto.
17736
17737 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
17738 Uroš Bizjak <ubizjak@gmail.com>
17739
17740 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
17741 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
17742 by a pshufd and pand.
17743 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
17744 vector equality as a V2DImode vector comparison (see above),
17745 followed by a pshufd and pand.
17746
17747 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
17748
17749 PR tree-optimization/83907
17750 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
17751 for memset with an constant char value.
17752 (handle_store): Improved handling of stores with a first byte
17753 of zero, but not storing_all_zeros_p.
17754
17755 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
17756 Manolis Tsamis <manolis.tsamis@vrull.eu>
17757
17758 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
17759 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
17760 * doc/sourcebuild.texi: add documentation for RISC-V specific
17761 test target keywords
17762
17763 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17764
17765 PR tree-optimization/105597
17766 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
17767 of the lhs and make sure it is not undefined.
17768
17769 2022-05-13 Sebastian Pop <spop@amazon.com>
17770
17771 PR target/105162
17772 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
17773 of str array.
17774 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
17775 memmodel_from_int and handle MEMMODEL_SYNC_*.
17776 (DEF0): Add __aarch64_*_sync functions.
17777
17778 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17779
17780 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
17781 enumerated values.
17782 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
17783 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
17784 new VREL enumerated values.
17785 (*::lhs_op2_relation): Ditto.
17786 (*::op1_op2_relation): Ditto.
17787 (*::fold_range): Use new VREL enumerated values.
17788 (minus_op1_op2_relation_effect): Ditto.
17789 (range_relational_tests): Ditto.
17790 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
17791 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
17792 relation_kind.
17793 (*_op1_op2_relation): Return relation_kind.
17794 (relop_early_resolve): Use VREL_UNDEFINED.
17795 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
17796 * value-relation.cc (VREL_LAST): Change enumerated value.
17797 (vrel_range_assert): Delete.
17798 (print_relation): Remove range assert.
17799 (rr_negate_table): Adjust table to use new enumerated values..
17800 (relation_negate): Remove range assert.
17801 (rr_swap_table): Adjust.
17802 (relation_swap): Remove range assert.
17803 (rr_intersect_table): Adjust.
17804 (relation_intersect): Remove range assert.
17805 (rr_union_table): Adjust.
17806 (relation_union): Remove range assert.
17807 (rr_transitive_table): Adjust.
17808 (relation_transitive): Remove range assert.
17809 (equiv_oracle::query_relation): Use new VREL enumerated values.
17810 (equiv_oracle::register_relation): Ditto.
17811 (relation_oracle::register_stmt): Ditto.
17812 (dom_oracle::set_one_relation): Ditto.
17813 (dom_oracle::register_transitives): Ditto.
17814 (dom_oracle::query_relation): Ditto.
17815 (path_oracle::register_relation): Ditto.
17816 (path_oracle::query_relation): Ditto.
17817 * value-relation.h (enum relation_kind_t): New relation_kind.
17818 (*_op1_op2_relation): Adjust prototypes.
17819
17820 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17821
17822 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
17823 * value-range.cc (irange::legacy_verbose_union_): Add return value.
17824 (irange::irange_single_pair_union): New.
17825 (irange::irange_union): Add return value.
17826 * value-range.h (class irange): Adjust prototypes.
17827
17828 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17829
17830 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
17831 (irange::irange_contains_p): New.
17832 (irange::irange_intersect): Add return value.
17833 * value-range.h (class irange): Adjust prototypes.
17834
17835 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17836
17837 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
17838 had_global value instead.
17839
17840 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17841
17842 PR tree-optimization/104547
17843 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
17844 the op1/op2 relation to the relation call.
17845 * range-op.cc (*::lhs_op1_relation): Add param.
17846 (*::lhs_op2_relation): Ditto.
17847 (operator_minus::lhs_op1_relation): New.
17848 (range_relational_tests): Add relation param.
17849 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
17850
17851 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17852
17853 * gimple-range.cc (gimple_ranger::register_side_effects): First check
17854 if the DEF should be exported as a global.
17855 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
17856 which will export globals.
17857 (execute_ranger_vrp): Remove call to export_global_ranges.
17858
17859 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17860
17861 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
17862
17863 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17864
17865 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
17866 worlist truncated.
17867 (ranger_cache::entry_range): Add rfd_mode parameter.
17868 (ranger_cache::exit_range): Ditto.
17869 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
17870 (ranger_cache::range_of_expr): Adjust call to entry_range.
17871 (ranger_cache::range_on_edge): Split to edge_range and call.
17872 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
17873 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
17874 mutiple predecessors.
17875 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
17876 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
17877 prototypes.
17878
17879 2022-05-13 Alexandre Oliva <oliva@adacore.com>
17880
17881 * gimple-harden-conditionals.cc: Include sbitmap.h.
17882 (pass_harden_conditional_branches::execute): Skip new blocks.
17883 (pass_harden_compares::execute): Likewise.
17884
17885 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
17886
17887 PR target/105463
17888 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
17889 mve_memory_operand.
17890 (*movmisalign<mode>_mve_load): Likewise.
17891 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
17892 form...
17893 (@movmisalign<mode>): ... thus. Use generic predicates and then
17894 rework operands if they are not valid. For MVE rework to a
17895 narrower element size if the alignment is not high enough.
17896
17897 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
17898
17899 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
17900 when there is no write-back. Fix use when strict is true.
17901
17902 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17903
17904 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
17905 definition.
17906
17907 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17908
17909 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
17910 extzvsi_internal): Rename from extv, extv_internal, extzv and
17911 extzv_internal, respectively.
17912
17913 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
17914
17915 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
17916 is the same on the LHS and RHS before rewriting one with the model
17917 of the other.
17918
17919 2022-05-13 Richard Biener <rguenther@suse.de>
17920
17921 * gimple-fold.cc (gimple_build): Adjust for new
17922 main API.
17923 * gimple-fold.h (gimple_build): New main APIs with
17924 iterator, insert direction and iterator update.
17925 (gimple_build): New forwarder template.
17926 (clear_padding_type_may_have_padding_p): Remove.
17927 (clear_type_padding_in_mask): Likewise.
17928 (arith_overflowed_p): Likewise.
17929 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
17930 (clear_type_padding_in_mask): Likewise.
17931 (arith_overflowed_p): Likewise.
17932 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
17933 (gimplify_build2): Likewise.
17934 (gimplify_build1): Likewise.
17935 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
17936 compare stmt.
17937 * gengtype.cc (open_base_files): Re-order includes.
17938 * builtins.cc: Re-order gimple-fold.h include.
17939 * calls.cc: Likewise.
17940 * cgraphbuild.cc: Likewise.
17941 * cgraphunit.cc: Likewise.
17942 * config/rs6000/rs6000-builtin.cc: Likewise.
17943 * config/rs6000/rs6000-call.cc: Likewise.
17944 * config/rs6000/rs6000.cc: Likewise.
17945 * config/s390/s390.cc: Likewise.
17946 * expr.cc: Likewise.
17947 * fold-const.cc: Likewise.
17948 * function-tests.cc: Likewise.
17949 * gimple-match-head.cc: Likewise.
17950 * gimple-range-fold.cc: Likewise.
17951 * gimple-ssa-evrp-analyze.cc: Likewise.
17952 * gimple-ssa-evrp.cc: Likewise.
17953 * gimple-ssa-sprintf.cc: Likewise.
17954 * gimple-ssa-warn-access.cc: Likewise.
17955 * gimplify.cc: Likewise.
17956 * graphite-isl-ast-to-gimple.cc: Likewise.
17957 * ipa-cp.cc: Likewise.
17958 * ipa-devirt.cc: Likewise.
17959 * ipa-prop.cc: Likewise.
17960 * omp-low.cc: Likewise.
17961 * pointer-query.cc: Likewise.
17962 * range-op.cc: Likewise.
17963 * tree-cfg.cc: Likewise.
17964 * tree-if-conv.cc: Likewise.
17965 * tree-inline.cc: Likewise.
17966 * tree-object-size.cc: Likewise.
17967 * tree-ssa-ccp.cc: Likewise.
17968 * tree-ssa-dom.cc: Likewise.
17969 * tree-ssa-forwprop.cc: Likewise.
17970 * tree-ssa-ifcombine.cc: Likewise.
17971 * tree-ssa-loop-ivcanon.cc: Likewise.
17972 * tree-ssa-math-opts.cc: Likewise.
17973 * tree-ssa-pre.cc: Likewise.
17974 * tree-ssa-propagate.cc: Likewise.
17975 * tree-ssa-reassoc.cc: Likewise.
17976 * tree-ssa-sccvn.cc: Likewise.
17977 * tree-ssa-strlen.cc: Likewise.
17978 * tree-ssa.cc: Likewise.
17979 * value-pointer-equiv.cc: Likewise.
17980 * vr-values.cc: Likewise.
17981
17982 2022-05-13 Alexandre Oliva <oliva@adacore.com>
17983
17984 PR rtl-optimization/105455
17985 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
17986 probabilities for newly-conditional edges.
17987
17988 2022-05-13 liuhongt <hongtao.liu@intel.com>
17989
17990 PR tree-optimization/102583
17991 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
17992 contiguous stride in the VEC_PERM_EXPR.
17993
17994 2022-05-12 Richard Biener <rguenther@suse.de>
17995
17996 PR rtl-optimization/105577
17997 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
17998 edges before running fast DCE via df_analyze.
17999
18000 2022-05-12 Richard Biener <rguenther@suse.de>
18001
18002 PR tree-optimization/105562
18003 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
18004 against all CLOBBER defs if there's not an obvious must-alias
18005 and we are not doing redundant store elimination.
18006 (vn_walk_cb_data::redundant_store_removal_p): New field.
18007 (vn_reference_lookup_pieces): Initialize it.
18008 (vn_reference_lookup): Add argument to specify if we are
18009 doing redundant store removal.
18010 (eliminate_dom_walker::eliminate_stmt): Specify we do.
18011 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
18012
18013 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
18014
18015 PR target/104371
18016 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
18017 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
18018 New define_split pattern.
18019
18020 2022-05-12 Jakub Jelinek <jakub@redhat.com>
18021
18022 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
18023 if null_pointer_node.
18024 (gimplify_scan_omp_clauses): Likewise.
18025 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
18026 as omp_all_memory.
18027
18028 2022-05-11 Patrick Palka <ppalka@redhat.com>
18029
18030 * tree.h (TREE_VEC_BEGIN): Define.
18031 (TREE_VEC_END): Correct 'length' member access.
18032 (class tree_vec_range): Define.
18033
18034 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
18035
18036 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
18037
18038 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
18039
18040 * config/rs6000/rs6000.md: Use d instead of <Ff>.
18041
18042 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
18043
18044 * config/rs6000/constraints.md (register_constraint "f"): Use
18045 RS6000_CONSTRAINT_d.
18046 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
18047 RS6000_CONSTRAINT_f.
18048 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
18049 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
18050 RS6000_CONSTRAINT_d.
18051
18052 2022-05-11 Richard Biener <rguenther@suse.de>
18053
18054 * gimple-fold.h (gimple_build): Use variadic template
18055 functions for the gimple_build API forwarders without
18056 location_t argument.
18057
18058 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
18059
18060 PR middle-end/70090
18061 * asan.cc (initialize_sanitizer_builtins): Register
18062 __builtin_dynamic_object_size if necessary.
18063
18064 2022-05-11 Richard Biener <rguenther@suse.de>
18065
18066 PR rtl-optimization/105559
18067 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
18068 for non-debug insns.
18069
18070 2022-05-11 Richard Biener <rguenther@suse.de>
18071
18072 * generic-match-head.cc: Include tree-eh.h.
18073 * match.pd ((cond ...) cmp X): New simplification inspired
18074 by fold_binary_op_with_conditional_arg.
18075 (eq/ne (cmp ...) true/false): Likewise.
18076
18077 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
18078
18079 * doc/install.texi: Don't document '--with-hsa-runtime',
18080 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
18081
18082 2022-05-11 Martin Liska <mliska@suse.cz>
18083
18084 PR other/105527
18085 * doc/install.texi: Document the configure option --with-zstd.
18086
18087 2022-05-11 Martin Liska <mliska@suse.cz>
18088
18089 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
18090 compute index in cpu_features2.
18091 (set_cpu_feature): Likewise.
18092 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
18093 loop for cpu_features2 and use NOP_EXPRs.
18094
18095 2022-05-11 Richard Biener <rguenther@suse.de>
18096
18097 PR bootstrap/105551
18098 * opts.cc (finish_options): Also disable var-tracking if
18099 !DWARF2_DEBUGGING_INFO.
18100
18101 2022-05-11 liuhongt <hongtao.liu@intel.com>
18102
18103 PR target/104915
18104 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
18105 pre_reload define_insn_and_split.
18106 (*vec_setv2di_0_zero_extendhi_1): Ditto.
18107 (*vec_set<mode>_0_zero_extendsi): Ditto.
18108 (*vec_setv2di_0_zero_extendsi_1): Ditto.
18109 (ssewvecmode): New mode attr.
18110 (ssewvecmodelower): Ditto.
18111 (ssepackmodelower): Ditto.
18112
18113 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
18114
18115 * config/rs6000/constraints.md (register constraint v): Use
18116 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
18117
18118 2022-05-11 Martin Liska <mliska@suse.cz>
18119
18120 PR target/105355
18121 * config/riscv/riscv.opt: Remove Separate from
18122 -msmall-data-limit=.
18123 * optc-gen.awk: Report error for the described situation.
18124 * gcc.cc: Use Separate syntax.
18125 * opts.cc (gen_command_line_string): Change option name.
18126
18127 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
18128
18129 PR target/105414
18130 * match.pd (minmax): Skip constant folding for fmin/fmax when both
18131 arguments are sNaN or one is sNaN and another is NaN.
18132
18133 2022-05-10 Jakub Jelinek <jakub@redhat.com>
18134
18135 PR tree-optimization/105528
18136 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
18137 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
18138
18139 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
18140
18141 * doc/md.texi (Defining Mode Iterators): Correct example replacement
18142 text.
18143
18144 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
18145
18146 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
18147 constants.
18148 (fmin<mode>3, fmax<mode>3): New insns.
18149
18150 2022-05-10 Richard Biener <rguenther@suse.de>
18151
18152 * tree-if-conv.cc (fold_build_cond_expr): Use
18153 match-and-simplify to simplify the condition.
18154 (ifcvt_follow_ssa_use_edges): Remove.
18155 (predicate_scalar_phi): Use follow_all_ssa_edges.
18156
18157 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
18158
18159 PR middle-end/100400
18160 * omp-oacc-kernels-decompose.cc
18161 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
18162 call 'internal_error'.
18163
18164 2022-05-10 Richard Biener <rguenther@suse.de>
18165
18166 PR middle-end/105537
18167 * toplev.cc (process_options): Move flag_var_tracking
18168 handling ...
18169 * opts.cc (finish_options): ... here.
18170
18171 2022-05-10 Martin Liska <mliska@suse.cz>
18172
18173 * basic-block.h (struct basic_block_d): Use void *
18174 instead PTR.
18175 * cfgloop.h: Likewise.
18176 * cgraph.h: Likewise.
18177 * gengtype-state.cc (state_ident_by_name): Likewise.
18178 (record_type): Likewise.
18179 (read_state_already_seen_type): Likewise.
18180 * gengtype.cc (dump_type): Likewise.
18181 (input_file_by_name): Likewise.
18182 (main): Likewise.
18183 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
18184 * ipa-utils.h (struct ipa_dfs_info): Likewise.
18185 * plugin.cc (htab_hash_plugin): Likewise.
18186
18187 2022-05-10 Richard Biener <rguenther@suse.de>
18188
18189 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
18190 API with !GENERATOR_FILE.
18191 * opts.cc (global_options): Poison.
18192 (global_options_set): Likewise.
18193 (finish_options): Refer to options via opts.
18194
18195 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
18196 Roger Sayle <roger@nextmovesoftware.com>
18197
18198 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
18199 alternative when optimizing for size and the immediate operand is
18200 const_0_to_127_operand.
18201 (*andqi_2_maybe_si): Likewise.
18202 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
18203
18204 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
18205
18206 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
18207 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
18208 can't be negative.
18209
18210 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
18211
18212 PR target/105292
18213 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
18214 true only for 8-byte vector modes.
18215
18216 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
18217
18218 PR middle-end/70090
18219 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
18220 (instrument_object_size): Get dynamic object size expression.
18221
18222 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
18223
18224 PR preprocessor/101168
18225 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
18226 Avoid empty identifier.
18227
18228 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
18229
18230 PR target/101891
18231 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
18232 as a generic MMX mode instead of V4HImode.
18233 (zero_all_mm_registers): Use SET to zero instead of MOV for
18234 zeroing scratch registers.
18235 (ix86_zero_call_used_regs): Likewise.
18236
18237 2022-05-09 liuhongt <hongtao.liu@intel.com>
18238
18239 PR target/105354
18240 * config/i386/i386-expand.cc
18241 (expand_vec_perm_pslldq_psrldq_por): New function.
18242 (ix86_expand_vec_perm_const_1): Try
18243 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
18244 4/5-instruction sequence.
18245
18246 2022-05-09 Martin Liška <mliska@suse.cz>
18247
18248 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
18249 * system.h (STATIC_ASSERT): Define as static_assert for C++
18250 and fallback to array index in C.
18251
18252 2022-05-09 Richard Biener <rguenther@suse.de>
18253
18254 PR tree-optimization/105517
18255 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
18256 offset can be represented in the POINTER_PLUS_EXPR IL.
18257 (vn_reference_insert): Likewise.
18258 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
18259
18260 2022-05-09 Richard Biener <rguenther@suse.de>
18261
18262 * match.pd: Remove #if GIMPLE guards around ! using patterns.
18263
18264 2022-05-09 liuhongt <hongtao.liu@intel.com>
18265
18266 PR target/105072
18267 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
18268 New define_insn.
18269 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
18270 define_insn_and_split.
18271
18272 2022-05-09 Alex Coplan <alex.coplan@arm.com>
18273
18274 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
18275 symtab state is PARSING.
18276
18277 2022-05-09 Martin Liska <mliska@suse.cz>
18278
18279 * system.h (LIKELY): Define.
18280 (UNLIKELY): Likewise.
18281 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
18282 macros.
18283 * dse.cc (set_position_unneeded): Likewise.
18284 (set_all_positions_unneeded): Likewise.
18285 (any_positions_needed_p): Likewise.
18286 (all_positions_needed_p): Likewise.
18287 * expmed.cc (flip_storage_order): Likewise.
18288 * genmatch.cc (dt_simplify::gen_1): Likewise.
18289 * ggc-common.cc (gt_pch_save): Likewise.
18290 * print-rtl.cc: Likewise.
18291 * rtl-iter.h (T>::array_type::~array_type): Likewise.
18292 (T>::next): Likewise.
18293 * rtl-ssa/internals.inl: Likewise.
18294 * rtl-ssa/member-fns.inl: Likewise.
18295 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
18296 (rtx_properties::try_to_add_dest): Likewise.
18297 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
18298 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
18299 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
18300 * sort.cc (likely): Likewise.
18301 (mergesort): Likewise.
18302 * wide-int.h (wi::eq_p): Likewise.
18303 (wi::ltu_p): Likewise.
18304 (wi::cmpu): Likewise.
18305 (wi::bit_and): Likewise.
18306 (wi::bit_and_not): Likewise.
18307 (wi::bit_or): Likewise.
18308 (wi::bit_or_not): Likewise.
18309 (wi::bit_xor): Likewise.
18310 (wi::add): Likewise.
18311 (wi::sub): Likewise.
18312
18313 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
18314
18315 * config/riscv/arch-canonicalize: Handle g correctly.
18316
18317 2022-05-07 Marek Polacek <polacek@redhat.com>
18318
18319 PR c++/101833
18320 PR c++/47634
18321 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
18322
18323 2022-05-06 Jason Merrill <jason@redhat.com>
18324
18325 * diagnostic-color.cc: Add fnname and targs color entries.
18326 * doc/invoke.texi: Document them.
18327
18328 2022-05-06 Jason Merrill <jason@redhat.com>
18329
18330 * vec.h (vec::iterate): Fix comment.
18331
18332 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
18333
18334 PR target/102059
18335 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
18336 and -mpower10-fusion options for inlining purposes.
18337
18338 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
18339
18340 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
18341
18342 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
18343
18344 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
18345 omp_runtime_apis array.
18346
18347 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
18348
18349 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
18350 (scan_sharing_clauses): Check a restriction on allocate clause.
18351
18352 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
18353
18354 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
18355 and ORDERED clause conflict errors. Add check for GRAINSIZE and
18356 NUM_TASKS on TASKLOOP.
18357
18358 2022-05-05 Martin Liska <mliska@suse.cz>
18359
18360 * genautomata.cc (create_composed_state): Remove dead code.
18361 * graphite-poly.cc (print_pdrs): Likewise.
18362 * lto-wrapper.cc (run_gcc): Likewise.
18363 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
18364 Likewise.
18365
18366 2022-05-05 Martin Liska <mliska@suse.cz>
18367
18368 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
18369 PROF_*.
18370 (gimple_gen_time_profiler): Likewise.
18371
18372 2022-05-05 Martin Liska <mliska@suse.cz>
18373
18374 * value-prof.cc (stream_out_histogram_value): Remove sanity
18375 checking.
18376
18377 2022-05-05 Richard Biener <rguenther@suse.de>
18378
18379 PR tree-optimization/104162
18380 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
18381 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
18382 becomes invariant.
18383 (vn_reference_insert): Likewise.
18384
18385 2022-05-05 Richard Biener <rguenther@suse.de>
18386
18387 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
18388 to real_value field.
18389 (tree_real_cst::value): Add real_value field.
18390 * tree.h (TREE_REAL_CST_PTR): Adjust.
18391 * tree.cc (build_real): Remove separate allocation.
18392 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
18393 Likewise.
18394
18395 2022-05-05 Richard Biener <rguenther@suse.de>
18396
18397 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
18398 divisions with undefined overflow unconditionally.
18399 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
18400 overflow to defined.
18401
18402 2022-05-05 Richard Biener <rguenther@suse.de>
18403
18404 PR tree-optimization/105484
18405 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
18406 whether the CFG changed.
18407 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
18408
18409 2022-05-05 Richard Biener <rguenther@suse.de>
18410
18411 PR tree-optimization/104595
18412 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
18413 COND_EXPR do not fail if check_bool_pattern returns false.
18414
18415 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
18416
18417 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
18418 item that is in an outer data-sharing clause.
18419
18420 2022-05-04 Richard Biener <rguenther@suse.de>
18421
18422 PR tree-optimization/104658
18423 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
18424 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
18425 type on nodes we promote.
18426 (vectorizable_bb_reduc_epilogue): Deal with externalized
18427 root.
18428 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
18429 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
18430
18431 2022-05-04 Richard Biener <rguenther@suse.de>
18432
18433 PR tree-optimization/103116
18434 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
18435 case we need peeling for gaps even though GROUP_GAP is zero.
18436
18437 2022-05-04 Martin Liska <mliska@suse.cz>
18438
18439 * gengtype-state.cc (read_a_state_token): Remove dead code.
18440 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
18441
18442 2022-05-04 Richard Biener <rguenther@suse.de>
18443
18444 * gimplify.cc (gimplify_init_constructor): First gimplify,
18445 then simplify the result to a VECTOR_CST.
18446
18447 2022-05-04 Jakub Jelinek <jakub@redhat.com>
18448
18449 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
18450 element at the end of insn_conditions.
18451 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
18452 ARRAY_SIZE (insn_conditions).
18453
18454 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
18455
18456 PR target/104662
18457 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
18458 vector of booleans and MVE is not enabled.
18459
18460 2022-05-04 Richard Biener <rguenther@suse.de>
18461
18462 PR debug/105158
18463 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
18464 Move debug stmts to the predecessor if moving to the
18465 destination is not possible.
18466 (remove_forwarder_block): Adjust.
18467 (remove_forwarder_block_with_phi): Likewise.
18468
18469 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
18470
18471 PR tree-optimization/102950
18472 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
18473 determine bounds of bitwise operations on signed types.
18474 (operator_bitwise_and::wi_fold): Call the above function.
18475 (operator_bitwise_or::wi_fold): Likewise.
18476 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
18477 result can't be zero if the operands can't be equal.
18478
18479 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
18480
18481 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
18482 protocol class methods linker-visible.
18483
18484 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
18485
18486 PR target/105079
18487 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
18488 define_insn_and_split pattern.
18489
18490 2022-05-03 Richard Biener <rguenther@suse.de>
18491
18492 PR middle-end/105083
18493 * tree-scalar-evolution.cc (scev_initialize): Verify we
18494 have appropriate loop state.
18495 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
18496 loop init and finalization.
18497
18498 2022-05-03 Richard Biener <rguenther@suse.de>
18499
18500 PR middle-end/105461
18501 * opts.cc (finish_options): Match the condition to
18502 disable flag_var_tracking to that of process_options.
18503
18504 2022-05-03 Richard Biener <rguenther@suse.de>
18505
18506 * opts.cc: #undef OPTIONS_SET_P.
18507 (finish_options): Use opts_set instead of OPTIONS_SET_P.
18508
18509 2022-05-03 Richard Biener <rguenther@suse.de>
18510
18511 PR tree-optimization/105394
18512 * tree-vect-generic.cc (expand_vector_condition): Adjust
18513 comp_width for non-integer mode masks as well.
18514
18515 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
18516
18517 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
18518 omp_runtime_apis array.
18519
18520 2022-05-02 Richard Biener <rguenther@suse.de>
18521
18522 * tree-scalar-evolution.cc (expression_expensive_p):
18523 Never consider mismatched calls as cheap.
18524
18525 2022-05-02 Richard Biener <rguenther@suse.de>
18526
18527 PR tree-optimization/104240
18528 * tree-vect-slp.cc (op1_op0_map): New.
18529 (vect_get_operand_map): Handle compares.
18530 (vect_build_slp_tree_1): Support swapped operands for
18531 tcc_comparison.
18532
18533 2022-05-02 Jakub Jelinek <jakub@redhat.com>
18534
18535 PR debug/105415
18536 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
18537 if there is no symtab node for the VAR_DECL.
18538
18539 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
18540
18541 * gcov-io.cc (gcov_rewrite): Clear the file error status.
18542
18543 2022-05-02 Richard Biener <rguenther@suse.de>
18544
18545 PR tree-optimization/105437
18546 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
18547 case where last_stmt alters control flow.
18548
18549 2022-05-02 Richard Biener <rguenther@suse.de>
18550
18551 * dojump.cc (do_jump): Use CASE_CONVERT.
18552 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
18553
18554 2022-05-02 Jakub Jelinek <jakub@redhat.com>
18555
18556 * system.h: Include initializer_list.
18557
18558 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
18559
18560 * config/rs6000/constraints.md (Y constraint): Fix comment.
18561
18562 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
18563
18564 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
18565 VR_RANGE before passing a piecewise range to set_range_info_raw.
18566
18567 2022-04-30 Patrick Palka <ppalka@redhat.com>
18568
18569 * gengtype.cc (adjust_field_tree_exp): Remove.
18570 (adjust_field_type): Don't handle the "tree_exp" special attribute.
18571 * tree-core.h (struct tree_exp): Remove "special" and "desc"
18572 attributes. Add "length" attribute.
18573
18574 2022-04-29 Martin Jambor <mjambor@suse.cz>
18575
18576 PR ipa/100413
18577 * cgraph.cc (cgraph_node::remove): Release body of the node this
18578 is clone_of if appropriate.
18579
18580 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
18581
18582 PR target/51954
18583 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
18584
18585 2022-04-29 Richard Biener <rguenther@suse.de>
18586
18587 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
18588 (canonicalize_cond_expr_cond): Move here from gimple.cc,
18589 allow both COND_EXPR and GIMPLE_COND forms.
18590 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
18591 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
18592 * gimple.h (canonicalize_cond_expr_cond): Likewise.
18593 * gimple-loop-versioning.cc (loop_versioning::version_loop):
18594 Use is_gimple_condexpr_for_cond.
18595 * tree-parloops.cc (gen_parallel_loop): Likewise.
18596 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
18597 a proper cond expr after canonicalize_cond_expr_cond.
18598 Use is_gimple_condexpr_for_cond where appropriate.
18599 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
18600 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
18601
18602 2022-04-29 Richard Biener <rguenther@suse.de>
18603
18604 * gimple-iterator.h (gsi_after_labels): Add overload for
18605 gimple_seq.
18606 (gsi_start_1): Rename to gsi_start and take a reference.
18607 (gsi_last_1): Likewise.
18608 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
18609 * omp-low.cc (lower_rec_input_clauses): Likewise.
18610 (lower_omp_scan): Likewise.
18611
18612 2022-04-29 Richard Biener <rguenther@suse.de>
18613
18614 PR tree-optimization/105431
18615 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
18616 (powi_as_mults): Use absu_hwi.
18617 (gimple_expand_builtin_powi): Remove now pointless n != -n
18618 check.
18619
18620 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18621
18622 * range-op.cc (empty_range_varying): Move to range-op.h.
18623 (range_true): Move to range.h.
18624 (range_false): Same.
18625 (range_true_and_false): Same.
18626 (enum bool_range_state): Move to range-op.h.
18627 (relop_early_resolve): Same.
18628 (operator_equal::op1_op2_relation): Abstract code to...
18629 (equal_op1_op2_relation): ...here.
18630 (operator_not_equal::op1_op2_relation): Abstract code to...
18631 (not_equal_op1_op2_relation): ...here.
18632 (operator_lt::op1_op2_relation): Abstract code to...
18633 (lt_op1_op2_relation): ...here.
18634 (operator_le::op1_op2_relation): Abstract code to...
18635 (le_op1_op2_relation): ...here.
18636 (operator_gt::op1_op2_relation): Abstract code to...
18637 (gt_op1_op2_relation): ...here.
18638 (operator_ge::op1_op2_relation): Abstract code to...
18639 (ge_op1_op2_relation): ...here.
18640 (class range_op_table): Move to range-op.h.
18641 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
18642 (not_equal_op1_op2_relation): Same.
18643 (lt_op1_op2_relation): Same.
18644 (le_op1_op2_relation): Same.
18645 (gt_op1_op2_relation): Same.
18646 (ge_op1_op2_relation): Same.
18647 (enum bool_range_state): Same.
18648 (get_bool_state): Same.
18649 (empty_range_varying): Same.
18650 (relop_early_resolve): Same.
18651 (class range_op_table): Same.
18652 * range.h (range_true): Same.
18653 (range_false): Same.
18654 (range_true_and_false): Same.
18655
18656 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18657
18658 * gimple-fold.cc (size_must_be_zero_p): Use reference
18659 instead of pointer
18660 * gimple-ssa-evrp-analyze.cc
18661 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
18662 intersect to legacy_verbose_intersect.
18663 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
18664 of pointer.
18665 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
18666 instead of value_range_equiv.
18667 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
18668 instead of pointer.
18669 (find_case_label_range): Same.
18670 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
18671 (value_range_equiv::legacy_verbose_intersect): ...this.
18672 (value_range_equiv::union_): Rename to...
18673 (value_range_equiv::legacy_verbose_union_): ...this.
18674 * value-range-equiv.h (class value_range_equiv): Rename union and
18675 intersect to legacy_verbose_{intersect,union}.
18676 * value-range.cc (irange::union_): Rename to...
18677 (irange::legacy_verbose_union_): ...this.
18678 (irange::intersect): Rename to...
18679 (irange::legacy_verbose_intersect): ...this.
18680 * value-range.h (irange::union_): Rename union_ to
18681 legacy_verbose_union.
18682 (irange::intersect): Rename intersect to legacy_verbose_intersect.
18683 * vr-values.cc (vr_values::update_value_range): Same.
18684 (vr_values::extract_range_for_var_from_comparison_expr): Same.
18685 (vr_values::extract_range_from_cond_expr): Rename union_ to
18686 legacy_verbose_union.
18687 (vr_values::extract_range_from_phi_node): Same.
18688
18689 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18690
18691 * gimple-ssa-evrp-analyze.cc
18692 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
18693 that take a range.
18694 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
18695 * ipa-prop.cc (ipcp_update_vr): Same.
18696 * tree-inline.cc (remap_ssa_name): Same.
18697 * tree-ssa-copy.cc (fini_copy_prop): Same.
18698 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
18699 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
18700 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
18701 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
18702 * tree-ssa-strlen.cc (set_strlen_range): Same.
18703 (strlen_pass::handle_builtin_string_cmp): Same.
18704 * tree-ssanames.cc (set_range_info): Make static.
18705 (duplicate_ssa_name_range_info): Make static and add a new variant
18706 calling the static.
18707 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
18708 (duplicate_ssa_name_range_info): Remove version taking a
18709 range_info_def and replace with a version taking SSA names.
18710 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
18711 that take a range.
18712 (vect_do_peeling): Same.
18713 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
18714 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
18715
18716 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18717
18718 * value-range.h (irange::irange): Use set_undefined.
18719
18720 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18721
18722 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
18723 irange::intersect (wide_int, wide_int).
18724 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
18725 (adjust_imagpart_expr): Same.
18726 * value-range.h (irange::intersect (wide_int, wide_int)): Make
18727 private.
18728
18729 2022-04-29 Richard Biener <rguenther@suse.de>
18730
18731 PR tree-optimization/104322
18732 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
18733
18734 2022-04-29 Richard Biener <rguenther@suse.de>
18735
18736 PR middle-end/105376
18737 * tree.cc (build_real): Special case dconst* arguments
18738 for decimal floating point types.
18739
18740 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18741
18742 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
18743 Environments): New section.
18744
18745 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18746
18747 * doc/gcov-tool.texi: Document merge-stream subcommand.
18748 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
18749 subcommand of gcov-tool.
18750 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
18751 (print_merge_stream_usage_message): New.
18752 (merge_stream_usage): Likewise.
18753 (do_merge_stream): Likewise.
18754 (print_usage): Call print_merge_stream_usage_message().
18755 (main): Call do_merge_stream() to execute merge-stream subcommand.
18756
18757 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18758
18759 * gcov-io.cc (gcov_file_error): New enum.
18760 (gcov_var): Use gcov_file_error enum for the error member.
18761 (gcov_open): Use GCOV_FILE_NO_ERROR.
18762 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
18763 (gcov_write): Likewise.
18764 (gcov_write_unsigned): Likewise.
18765 (gcov_write_string): Likewise.
18766 (gcov_read_bytes): Set error code if EOF is reached.
18767 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
18768
18769 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18770
18771 * gcov-io.cc (GCOV_MODE_STDIN): Define.
18772 (gcov_position): For gcov-tool, return calculated position if file is
18773 stdin.
18774 (gcov_open): For gcov-tool, use stdin if filename is NULL.
18775 (gcov_close): For gcov-tool, do not close stdin.
18776 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
18777 (gcov_sync): For gcov-tool, discard input if file is stdin.
18778
18779 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18780
18781 * doc/invoke.texi (fprofile-info-section): Mention
18782 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
18783 standard language. Fix minor example code issues.
18784 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
18785
18786 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18787
18788 * gcov-io.cc (gcov_seek): Make it static.
18789 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
18790
18791 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18792
18793 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
18794 (gcov_output_files): Open files for reading and writing.
18795
18796 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18797
18798 * gcov-io.cc (gcov_open): Always use the mode parameter.
18799 * gcov-io.h (gcov_open): Declare it unconditionally.
18800
18801 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18802
18803 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
18804 (profile_merge): Allow merging of directories which contain no profile
18805 files.
18806
18807 2022-04-28 David Malcolm <dmalcolm@redhat.com>
18808
18809 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
18810 fpath.txt output.
18811
18812 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18813
18814 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
18815 temporary only if out overlaps compare_op, not when it overlaps
18816 op0 or op1.
18817
18818 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18819
18820 PR lto/105399
18821 * cgraph.cc (cgraph_node::verify_node): Don't verify
18822 semantic_interposition flag against
18823 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
18824
18825 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18826
18827 PR target/105331
18828 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
18829 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
18830 of it.
18831
18832 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
18833
18834 * doc/install.texi (Configuration): Remove misleading text
18835 around LE PowerPC Linux multilibs.
18836
18837 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18838
18839 PR d/103528
18840 * doc/install.texi (Tools/packages necessary for building GCC)
18841 (GDC): Document libphobos requirement.
18842 (Host/target specific installation notes for GCC, *-*-solaris2*):
18843 Document libphobos and GDC specifics.
18844
18845 2022-04-28 Richard Biener <rguenther@suse.de>
18846
18847 PR tree-optimization/105219
18848 * tree-vect-loop.cc (vect_transform_loop): Disable
18849 special code narrowing the vectorized epilogue max
18850 iterations when peeling for alignment or gaps was in effect.
18851
18852 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
18853
18854 * config/loongarch/loongarch.cc
18855 (loongarch_flatten_aggregate_field): Ignore empty fields for
18856 RECORD_TYPE.
18857
18858 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
18859
18860 * config/loongarch/loongarch.md: Add fdiv define_expand template,
18861 then generate floating-point division and floating-point reciprocal
18862 instructions.
18863
18864 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
18865
18866 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
18867 to PLV instruction templates.
18868
18869 2022-04-27 Richard Biener <rguenther@suse.de>
18870
18871 PR middle-end/104492
18872 * gimple-ssa-warn-access.cc
18873 (pass_waccess::warn_invalid_pointer): Exclude equality compare
18874 diagnostics for all kind of invalidations.
18875 (pass_waccess::check_dangling_uses): Fix post-dominator query.
18876 (pass_waccess::check_pointer_uses): Likewise.
18877
18878 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
18879
18880 PR target/102024
18881 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
18882 prototype.
18883 * config/s390/s390.cc (s390_single_field_struct_p): New function.
18884 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
18885 (s390_function_arg_float): Likewise.
18886
18887 2022-04-27 Jakub Jelinek <jakub@redhat.com>
18888
18889 PR sanitizer/105396
18890 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
18891 where offset is bigger than off but smaller than m_prev_offset + 32
18892 bits by pushing one or more 0 bytes. Sink the
18893 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
18894 all cases to the end of the function.
18895
18896 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
18897
18898 PR target/105271
18899 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
18900 stanza.
18901
18902 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
18903
18904 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
18905 data-share memory exhausted" error more verbose.
18906
18907 2022-04-26 Martin Liska <mliska@suse.cz>
18908
18909 PR lto/105364
18910 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
18911 (run_gcc): Parse OPT_fdiagnostics_urls_.
18912 (main): Initialize global_dc.
18913
18914 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18915
18916 PR rtl-optimization/105314
18917 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
18918 operand is equal to if_info->x, instead use the non-zero operand
18919 as one of the operands of AND with if_info->x as target.
18920
18921 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18922
18923 PR tree-optimization/105374
18924 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
18925 !fold_convertible_p rather than assuming fold_convert must succeed.
18926
18927 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18928
18929 PR target/105367
18930 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
18931 el_mode == DFmode ? double_type_node : float_type_node instead of
18932 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
18933
18934 2022-04-25 David Malcolm <dmalcolm@redhat.com>
18935
18936 PR analyzer/104308
18937 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
18938 the location of new_stmt in all places that don't already set it,
18939 whether explicitly, or via a call to gsi_replace.
18940
18941 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
18942
18943 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
18944
18945 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
18946
18947 PR tree-optimization/105276
18948 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
18949 existing global range with calculated value.
18950
18951 2022-04-25 Richard Biener <rguenther@suse.de>
18952
18953 PR tree-optimization/105368
18954 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
18955
18956 2022-04-25 Richard Biener <rguenther@suse.de>
18957
18958 PR tree-optimization/100810
18959 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
18960 (find_ssa_undef): New function.
18961 (add_candidate_1): Avoid adding derived candidates with
18962 undefined SSA names and mark the original ones.
18963 (determine_group_iv_cost_generic): Reject rewriting
18964 uses with a different IV when that involves undefined SSA names.
18965
18966 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
18967
18968 PR target/89125
18969 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
18970 bsd_libc_has_function.
18971 * targhooks.cc (bsd_libc_has_function): New function.
18972 Expand the supported math functions to inclue C99 libm.
18973 * targhooks.h (bsd_libc_has_function): New Prototype.
18974
18975 2022-04-25 Richard Biener <rguenther@suse.de>
18976
18977 PR rtl-optimization/105231
18978 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
18979 with landing pad > 0 is from i3. Put any REG_EH_REGION note
18980 on i3 or drop it if the insn can not trap.
18981 (try_combine): Ensure that we can merge REG_EH_REGION notes
18982 with non-call exceptions. Ensure we are not splitting a
18983 trapping part of an insn with non-call exceptions when there
18984 is any REG_EH_REGION note to preserve.
18985
18986 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
18987
18988 PR target/105339
18989 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
18990 Add parentheses for parameters and djust format.
18991 (_mm512_mask_scalef_round_pd): Ditto.
18992 (_mm512_maskz_scalef_round_pd): Ditto.
18993 (_mm512_scalef_round_ps): Ditto.
18994 (_mm512_mask_scalef_round_ps): Ditto.
18995 (_mm512_maskz_scalef_round_ps): Ditto.
18996 (_mm_scalef_round_sd): Use _mm_undefined_pd.
18997 (_mm_scalef_round_ss): Use _mm_undefined_ps.
18998 (_mm_mask_scalef_round_sd): New macro.
18999 (_mm_mask_scalef_round_ss): Ditto.
19000 (_mm_maskz_scalef_round_sd): Ditto.
19001 (_mm_maskz_scalef_round_ss): Ditto.
19002
19003 2022-04-23 Jakub Jelinek <jakub@redhat.com>
19004
19005 PR target/105338
19006 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
19007 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
19008 cases.
19009
19010 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
19011
19012 PR target/105334
19013 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
19014 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
19015 (pack<mode>_hard for FMOVE128): ... this...
19016 (pack<mode>_soft for FMOVE128): ... and this.
19017
19018 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
19019
19020 * doc/extend.texi: Correct "This" to "These".
19021
19022 2022-04-22 Jakub Jelinek <jakub@redhat.com>
19023
19024 PR rtl-optimization/105333
19025 * rtlanal.cc (replace_rtx): Use simplify_subreg or
19026 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
19027 CONST_INT_P.
19028
19029 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
19030
19031 PR target/103197
19032 PR target/102146
19033 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
19034 the "Z" alternatives in {l,st}{f,xs}iwzx.
19035 (zero_extendhi<mode>2 for EXTHI): Ditto.
19036 (zero_extendsi<mode>2 for EXTSI): Ditto.
19037 (*movsi_internal1): Ditto.
19038 (*mov<mode>_internal1 for QHI): Ditto.
19039 (movsd_hardfloat): Ditto.
19040
19041 2022-04-21 Martin Liska <mliska@suse.cz>
19042
19043 * configure.ac: Enable compressed debug sections for mold
19044 linker.
19045 * configure: Regenerate.
19046
19047 2022-04-21 Jakub Jelinek <jakub@redhat.com>
19048
19049 PR debug/105203
19050 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
19051 on DEBUG_INSNs.
19052
19053 2022-04-20 Richard Biener <rguenther@suse.de>
19054
19055 PR tree-optimization/104912
19056 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
19057 the cost model check to a separate BB to make sure it is
19058 checked first and not combined with other version checks.
19059
19060 2022-04-20 Richard Biener <rguenther@suse.de>
19061
19062 PR tree-optimization/105312
19063 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
19064 VCOND and VCONDU for EQ and NE.
19065
19066 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
19067
19068 PR ipa/103818
19069 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
19070 poly_offset_int to avoid overflow.
19071 (modref_access_node::update2): likewise.
19072
19073 2022-04-20 Jakub Jelinek <jakub@redhat.com>
19074
19075 PR ipa/105306
19076 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
19077 to opt_for_fn (decl, flag_semantic_interposition).
19078 * cgraphclones.cc (cgraph_node::create_clone): Copy over
19079 semantic_interposition flag.
19080
19081 2022-04-19 Sergei Trofimovich <siarheit@google.com>
19082
19083 PR gcov-profile/105282
19084 * value-prof.cc (stream_out_histogram_value): Allow negative counts
19085 on HIST_TYPE_INDIR_CALL.
19086
19087 2022-04-19 Jakub Jelinek <jakub@redhat.com>
19088
19089 PR target/105257
19090 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
19091 use gen_raw_REG instead of gen_rtx_REG and copy over also
19092 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
19093
19094 2022-04-19 Richard Biener <rguenther@suse.de>
19095
19096 PR tree-optimization/104010
19097 PR tree-optimization/103941
19098 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
19099 we run into stmts in patterns continue walking those
19100 for uses outside of the vectorized region instead of
19101 marking the lane live.
19102
19103 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
19104
19105 * doc/install.texi <CRIS>: Remove references to removed websites and
19106 adjust for cris-*-elf being the only remaining toolchain.
19107
19108 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
19109
19110 * doc/invoke.texi <CRIS>: Remove references to options for removed
19111 subtarget cris-axis-linux-gnu and tweak wording accordingly.
19112
19113 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
19114
19115 * doc/install.texi (Specific): Adjust mingw-w64 download link.
19116
19117 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
19118
19119 * config/i386/smmintrin.h: Correct target pragma from sse4.1
19120 and sse4.2 to crc32 for crc32 intrinsics.
19121
19122 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
19123
19124 PR debug/105089
19125 * ctfc.cc (ctf_dvd_ignore_insert): New function.
19126 (ctf_dvd_ignore_lookup): Likewise.
19127 (ctf_add_variable): Keep track of non-defining decl DIEs.
19128 (new_ctf_container): Initialize the new hash-table.
19129 (ctfc_delete_container): Empty hash-table.
19130 * ctfc.h (struct ctf_container): Add new hash-table.
19131 (ctf_dvd_ignore_lookup): New declaration.
19132 (ctf_add_variable): Add additional argument.
19133 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
19134 record for non-defining decl for which a defining decl exists
19135 in the same TU.
19136 (ctf_preprocess): Defer updating the number of global objts
19137 until here.
19138 (output_ctf_header): Use ctfc_vars_list_count as some CTF
19139 variables may not make it to the final output.
19140 (output_ctf_vars): Likewise.
19141 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
19142 if this is known to be a non-defining decl DIE.
19143
19144 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
19145
19146 * ctfc.h (struct ctf_container): Introduce a new member.
19147 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
19148 variable.
19149
19150 2022-04-14 Jakub Jelinek <jakub@redhat.com>
19151
19152 PR target/105247
19153 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
19154 or rotates by VOIDmode constant integer shift count use word_mode
19155 for the operand if int_mode is narrower than word.
19156
19157 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
19158
19159 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
19160 (s390_get_unit_mask): Likewise.
19161 (s390_is_fpd): Likewise.
19162 (s390_is_fxd): Likewise.
19163 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
19164 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
19165 Add z16.
19166 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
19167 Likewise.
19168 * config/s390/3931.md: New file.
19169
19170 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
19171
19172 PR tree-optimization/105254
19173 * config/aarch64/aarch64.cc
19174 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
19175 loop_vec_info as argument. Restrict the unroll factor to values
19176 that divide the VF.
19177 (aarch64_vector_costs::finish_cost): Update call accordingly.
19178
19179 2022-04-13 Richard Biener <rguenther@suse.de>
19180
19181 PR tree-optimization/105263
19182 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
19183 negates in multiplication chains with DFP.
19184
19185 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19186
19187 PR middle-end/105253
19188 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
19189 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
19190 comparisons or tree_nop_conversion_p checks.
19191
19192 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
19193
19194 PR target/103069
19195 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
19196 Add missing set to target_val at pause label.
19197
19198 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19199
19200 PR target/105234
19201 * attribs.cc (decl_attributes): Don't set
19202 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
19203 NULL.
19204
19205 2022-04-13 Richard Biener <rguenther@suse.de>
19206
19207 PR tree-optimization/105250
19208 * fold-const.cc (fold_convertible_p): Revert
19209 r12-7979-geaaf77dd85c333, instead check for size equality
19210 of the vector types involved.
19211
19212 2022-04-13 Richard Biener <rguenther@suse.de>
19213
19214 Revert:
19215 2022-04-13 Richard Biener <rguenther@suse.de>
19216
19217 PR tree-optimization/104912
19218 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
19219 the cost model check to a separate BB to make sure it is
19220 checked first and not combined with other version checks.
19221
19222 2022-04-13 Richard Biener <rguenther@suse.de>
19223
19224 PR tree-optimization/104912
19225 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
19226 the cost model check to a separate BB to make sure it is
19227 checked first and not combined with other version checks.
19228
19229 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19230
19231 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
19232
19233 2022-04-12 Antoni Boucher <bouanto@zoho.com>
19234
19235 PR jit/104072
19236 * reginfo.cc: New functions (clear_global_regs_cache,
19237 reginfo_cc_finalize) to avoid an issue where compiling the same
19238 code multiple times gives an error about assigning the same
19239 register to 2 global variables.
19240 * rtl.h: New function (reginfo_cc_finalize).
19241 * toplev.cc: Call it.
19242
19243 2022-04-12 Antoni Boucher <bouanto@zoho.com>
19244
19245 PR jit/104071
19246 * toplev.cc: Call the new function tree_cc_finalize in
19247 toplev::finalize.
19248 * tree.cc: New functions (clear_nonstandard_integer_type_cache
19249 and tree_cc_finalize) to clear the cache of non-standard integer
19250 types to avoid having issues with some optimizations of
19251 bitcast where the SSA_NAME will have a size of a cached
19252 integer type that should have been invalidated, causing a
19253 comparison of integer constant to fail.
19254 * tree.h: New function (tree_cc_finalize).
19255
19256 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19257
19258 PR target/97348
19259 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
19260 * config/nvptx/nvptx.opt (misa): Adjust comment.
19261
19262 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19263
19264 Revert:
19265 2022-03-03 Tom de Vries <tdevries@suse.de>
19266
19267 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
19268
19269 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19270
19271 Revert:
19272 2022-03-31 Tom de Vries <tdevries@suse.de>
19273
19274 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
19275
19276 2022-04-12 Richard Biener <rguenther@suse.de>
19277
19278 PR ipa/104303
19279 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
19280 include local escaped memory as obviously necessary stores.
19281
19282 2022-04-12 Richard Biener <rguenther@suse.de>
19283
19284 PR tree-optimization/105235
19285 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
19286 return whether the CFG changed.
19287 (execute_cse_sincos_1): Adjust.
19288
19289 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
19290
19291 PR target/104144
19292 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
19293 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
19294 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
19295 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
19296 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
19297 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
19298 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
19299
19300 2022-04-12 Richard Biener <rguenther@suse.de>
19301
19302 PR tree-optimization/105232
19303 * tree.cc (component_ref_size): Bail out for too large
19304 or non-constant sizes.
19305
19306 2022-04-12 Richard Biener <rguenther@suse.de>
19307
19308 PR tree-optimization/105226
19309 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
19310 we can split the exit of an outer loop we choose to version.
19311
19312 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19313
19314 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
19315 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
19316 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
19317 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
19318 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
19319 Formatting fix.
19320 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
19321
19322 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19323
19324 PR target/105214
19325 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
19326 do_pending_stack_adjust.
19327
19328 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19329
19330 PR rtl-optimization/105211
19331 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
19332 fails for TREE_TYPE (arg), retry it with
19333 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
19334 fails, emit call normally.
19335
19336 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
19337
19338 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
19339 * config.gcc: Add z16 as march/mtune switch.
19340 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
19341 Recognize z16 with -march=native.
19342 * config/s390/s390-opts.h (enum processor_type): Rename
19343 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
19344 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
19345 (PROCESSOR_3931_Z16): ... throughout the file.
19346 (s390_processor processor_table): Add z16 as cpu string.
19347 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
19348 PF_Z16.
19349 (TARGET_CPU_ARCH14): Rename to ...
19350 (TARGET_CPU_Z16): ... this.
19351 (TARGET_CPU_ARCH14_P): Rename to ...
19352 (TARGET_CPU_Z16_P): ... this.
19353 (TARGET_ARCH14): Rename to ...
19354 (TARGET_Z16): ... this.
19355 (TARGET_ARCH14_P): Rename to ...
19356 (TARGET_Z16_P): ... this.
19357 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
19358 check TARGET_Z16 instead of TARGET_ARCH14.
19359 * config/s390/s390.opt: Add z16 to processor_type.
19360 * doc/invoke.texi: Document z16 and arch14.
19361
19362 2022-04-12 chenglulu <chenglulu@loongson.cn>
19363
19364 * config/loongarch/loongarch.cc: Fix bug for
19365 tmpdir-g++.dg-struct-layout-1/t033.
19366
19367 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
19368
19369 PR target/104894
19370 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
19371 to longcall functions.
19372
19373 2022-04-11 Jason Merrill <jason@redhat.com>
19374
19375 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
19376
19377 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
19378
19379 PR target/105213
19380 PR target/103623
19381 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
19382
19383 2022-04-11 Jakub Jelinek <jakub@redhat.com>
19384
19385 PR tree-optimization/105218
19386 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
19387 more than one predecessor or phi's bb more than 2 predecessors,
19388 reset phi result uses instead of adding a debug temp.
19389
19390 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
19391
19392 PR target/104853
19393 * config.gcc: Pass -misa-spec to arch-canonicalize and
19394 multilib-generator.
19395 * config/riscv/arch-canonicalize: Adding -misa-spec option.
19396 (SUPPORTED_ISA_SPEC): New.
19397 (arch_canonicalize): New argument `isa_spec`.
19398 Handle multiple ISA spec versions.
19399 * config/riscv/multilib-generator: Adding -misa-spec option.
19400
19401 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
19402
19403 * config/riscv/arch-canonicalize: Add TODO item.
19404 (IMPLIED_EXT): Sync.
19405 (arch_canonicalize): Checking until no change.
19406
19407 2022-04-11 Tamar Christina <tamar.christina@arm.com>
19408
19409 PR target/105197
19410 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
19411 not masked.
19412
19413 2022-04-11 Jason Merrill <jason@redhat.com>
19414
19415 PR c++/100370
19416 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
19417 deref == -1.
19418
19419 2022-04-11 Jakub Jelinek <jakub@redhat.com>
19420
19421 PR tree-optimization/104639
19422 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
19423 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
19424 into x != cst3.
19425
19426 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
19427
19428 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
19429 sign bit of the source ends up in CC.
19430
19431 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
19432
19433 PR ipa/103376
19434 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
19435 flag.
19436
19437 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
19438
19439 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
19440 nondeterministic and side_effects flags.
19441
19442 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
19443
19444 PR target/105157
19445 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
19446 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
19447 (TARGET_CPU_MASK): Likewise.
19448 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
19449 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
19450 (aarch64_get_arch): Likewise.
19451 (aarch64_override_options): Use TARGET_CPU_NBITS.
19452
19453 2022-04-08 Richard Biener <rguenther@suse.de>
19454
19455 PR tree-optimization/105198
19456 * tree-predcom.cc (find_looparound_phi): Check whether
19457 the found memory location of the entry value is clobbered
19458 inbetween the value we want to use and loop entry.
19459
19460 2022-04-08 Jakub Jelinek <jakub@redhat.com>
19461
19462 PR tree-optimization/105189
19463 * fold-const.cc (make_range_step): Fix up handling of
19464 (unsigned) x +[low, -] ranges for signed x if low fits into
19465 typeof (x).
19466
19467 2022-04-08 Richard Biener <rguenther@suse.de>
19468
19469 PR tree-optimization/105175
19470 * tree-vect-stmts.cc (vectorizable_operation): Suppress
19471 -Wvector-operation-performance if using emulated vectors.
19472 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
19473 -Wvector-operation-performance when suppressed.
19474 (expand_vector_parallel): Likewise.
19475 (expand_vector_comparison): Likewise.
19476 (expand_vector_condition): Likewise.
19477 (lower_vec_perm): Likewise.
19478 (expand_vector_conversion): Likewise.
19479
19480 2022-04-07 Tamar Christina <tamar.christina@arm.com>
19481
19482 PR target/104409
19483 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
19484 (aarch64_general_init_builtins): Move LS64 code.
19485 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
19486 arm_acle.h
19487 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
19488 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
19489
19490 2022-04-07 Richard Biener <rguenther@suse.de>
19491 Jan Hubicka <hubicka@ucw.cz>
19492
19493 PR ipa/104303
19494 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
19495 ref_may_alias_global_p, ref_may_alias_global_p,
19496 stmt_may_clobber_global_p, pt_solution_includes_global): Add
19497 bool parameters indicating whether escaped locals should be
19498 considered global.
19499 * tree-ssa-structalias.cc (pt_solution_includes_global):
19500 When the new escaped_nonlocal_p flag is true also consider
19501 pt->vars_contains_escaped.
19502 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
19503 Pass down new escaped_nonlocal_p flag.
19504 (ref_may_alias_global_p): Likewise.
19505 (stmt_may_clobber_global_p): Likewise.
19506 (ref_may_alias_global_p_1): Likewise. For decls also
19507 query the escaped solution if true.
19508 (ref_may_access_global_memory_p): Remove.
19509 (modref_may_conflict): Use ref_may_alias_global_p with
19510 escaped locals considered global.
19511 (ref_maybe_used_by_stmt_p): Adjust.
19512 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
19513 Likewise.
19514 * tree-ssa-dse.cc (dse_classify_store): Likewise.
19515 * trans-mem.cc (thread_private_new_memory): Likewise, but
19516 consider escaped locals global.
19517 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
19518
19519 2022-04-07 Richard Biener <rguenther@suse.de>
19520
19521 PR tree-optimization/105185
19522 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
19523 modref query again.
19524
19525 2022-04-07 Tamar Christina <tamar.christina@arm.com>
19526
19527 PR target/104049
19528 * config/aarch64/aarch64-simd.md
19529 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
19530 (reduc_plus_scal_<mode>): ... This.
19531 (reduc_plus_scal_v4sf): Moved.
19532 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
19533 (reduc_plus_scal_v2si): ... This.
19534
19535 2022-04-07 Jakub Jelinek <jakub@redhat.com>
19536
19537 PR tree-optimization/102586
19538 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
19539 langhook.
19540 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
19541 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
19542 * gimple-fold.cc (clear_padding_type): Use ftype instead of
19543 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
19544 name try the lang_hooks.types.classtype_as_base langhook and
19545 if it returns non-NULL, use that instead of ftype for recursive call.
19546
19547 2022-04-07 Jakub Jelinek <jakub@redhat.com>
19548
19549 PR tree-optimization/105150
19550 * tree.cc (tree_builtin_call_types_compatible_p): New function.
19551 (get_call_combined_fn): Use it.
19552
19553 2022-04-07 Richard Biener <rguenther@suse.de>
19554
19555 PR middle-end/105165
19556 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
19557 _Complex outputs.
19558
19559 2022-04-07 liuhongt <hongtao.liu@intel.com>
19560
19561 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
19562 Removed.
19563 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
19564 for mask_applied.
19565 (<code><mode>3<mask_name>): Ditto.
19566 (*<code><mode>3<mask_name>): Ditto.
19567 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
19568 real instruction.
19569 (VFB_512): Ditto.
19570 (VFB): Ditto.
19571
19572 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19573
19574 PR rtl-optimization/104985
19575 * combine.cc (struct undo): Add where.regno member.
19576 (do_SUBST_MODE): Rename to ...
19577 (subst_mode): ... this. Change first argument from rtx * into int,
19578 operate on regno_reg_rtx[regno] and save regno into where.regno.
19579 (SUBST_MODE): Remove.
19580 (try_combine): Use subst_mode instead of SUBST_MODE, change first
19581 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
19582 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
19583 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
19584 instead of *undo->where.r.
19585 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
19586 argument from regno_reg_rtx[whatever] to whatever.
19587
19588 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19589
19590 PR target/105069
19591 * config/sh/sh.opt (mdiv=): Add Save.
19592
19593 2022-04-06 Martin Liska <mliska@suse.cz>
19594
19595 PR driver/105096
19596 * common.opt: Document properly based on what it does.
19597 * gcc.cc (display_help): Unify with what we have in common.opt.
19598 * opts.cc (common_handle_option): Do not print undocumented
19599 options.
19600
19601 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
19602
19603 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
19604 cxx17_empty_base_field_p fields and set an indicator.
19605 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
19606 (mips_function_value_1): Inform psABI change about C++17 empty
19607 bases.
19608
19609 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19610
19611 PR tree-optimization/105150
19612 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
19613 builtin_decl_explicit here...
19614 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
19615 here.
19616
19617 2022-04-06 Richard Biener <rguenther@suse.de>
19618
19619 PR tree-optimization/105173
19620 * tree-ssa-reassoc.cc (find_insert_point): Get extra
19621 insert_before output argument and compute it.
19622 (insert_stmt_before_use): Adjust.
19623 (rewrite_expr_tree): Likewise.
19624
19625 2022-04-06 Richard Biener <rguenther@suse.de>
19626
19627 PR ipa/105166
19628 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
19629 out for non-pointer arguments.
19630
19631 2022-04-06 Richard Biener <rguenther@suse.de>
19632
19633 PR tree-optimization/105163
19634 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
19635 negated abnormals.
19636
19637 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19638
19639 PR tree-optimization/105150
19640 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
19641 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
19642 preferrably on builtin_decl_explicit decl rather than fndecl.
19643 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
19644 gimple_builtin_call_types_compatible_p here.
19645
19646 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
19647
19648 PR tree-optimization/103761
19649 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
19650 the ncopies parameter with an slp_node parameter. Calculate the
19651 number of vectors based on it and vectype. Rename lambda to
19652 group_memory_nvectors.
19653 (vectorizable_store, vectorizable_load): Update calls accordingly.
19654
19655 2022-04-06 Martin Liska <mliska@suse.cz>
19656
19657 * doc/invoke.texi: Document it.
19658
19659 2022-04-06 Richard Biener <rguenther@suse.de>
19660
19661 PR tree-optimization/105148
19662 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
19663 2 and 3 of ARRAY_REFs.
19664
19665 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
19666
19667 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
19668 (*andnottf3): Replace with...
19669 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
19670
19671 2022-04-06 Richard Biener <rguenther@suse.de>
19672
19673 PR tree-optimization/105142
19674 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
19675 basic-block parameter.
19676 (maybe_fold_or_comparisons): Likewise.
19677 * gimple-fold.cc (follow_outer_ssa_edges): New.
19678 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
19679 when an outer condition basic-block is specified.
19680 (and_comparisons_1, and_var_with_comparison,
19681 and_var_with_comparison_1, or_comparisons_1,
19682 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
19683 down the outer condition basic-block.
19684 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
19685 basic-block of the outer condition.
19686
19687 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
19688
19689 PR target/105002
19690 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
19691 comparison codes UNLT/UNLE/UNGT/UNGE.
19692
19693 2022-04-05 David Malcolm <dmalcolm@redhat.com>
19694
19695 * doc/extend.texi (Common Function Attributes): Document that
19696 'access' does not imply 'nonnull'.
19697
19698 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
19699
19700 PR target/105139
19701 * config/i386/mmx.md (*movv2qi_internal):
19702 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
19703
19704 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19705
19706 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
19707 define_expand and turn operands 0 and 1 from REGs to MEMs.
19708 (*aarch64_cpymemdi): New pattern.
19709 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
19710 from a REG to a MEM.
19711 (*aarch64_setmemdi): New pattern.
19712 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
19713 copy_to_mode_reg on all three registers. Replace the original
19714 MEM addresses rather than creating wild reads and writes.
19715 (aarch64_expand_setmem_mops): Likewise for the size and for the
19716 destination memory and address.
19717
19718 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19719
19720 PR target/103147
19721 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
19722 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
19723 from aarch64_simd_switcher.
19724 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
19725 New variable.
19726 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
19727 (register_tuple_type): Add more asserts. Expect the alignment
19728 of the structure to be subject to flag_pack_struct and
19729 maximum_field_alignment. Set aarch64_simd_tuple_modes.
19730 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
19731 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
19732 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
19733 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
19734 while calling aarch64_init_simd_builtins.
19735 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
19736 (sve_switcher::~sve_switcher): Remove code now performed by
19737 aarch64_simd_switcher.
19738
19739 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19740
19741 PR target/104897
19742 * config/aarch64/aarch64-sve-builtins.cc
19743 (function_resolver::infer_vector_or_tuple_type): Use error_n
19744 for "%d vectors" messages.
19745
19746 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
19747
19748 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
19749 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
19750 current clause.
19751
19752 2022-04-05 Richard Biener <rguenther@suse.de>
19753
19754 PR c/105151
19755 * passes.def (pass_walloca): Move early instance into
19756 pass_build_ssa_passes to make SSA form available.
19757
19758 2022-04-05 liuhongt <hongtao.liu@intel.com>
19759
19760 PR target/101908
19761 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
19762 function
19763 (ix86_reorg): Call ix86_split_stlf_stall_load.
19764 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
19765 param.
19766
19767 2022-04-05 Alexandre Oliva <oliva@adacore.com>
19768
19769 * targhooks.cc (default_zero_call_used_regs): Attempt to group
19770 regs that the target refuses to use in their natural modes.
19771 (zcur_select_mode_rtx): New.
19772 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
19773 (hard_regno_max_nregs): Define.
19774 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
19775
19776 2022-04-04 Alex Coplan <alex.coplan@arm.com>
19777
19778 * doc/match-and-simplify.texi: Fix typos.
19779
19780 2022-04-04 Jakub Jelinek <jakub@redhat.com>
19781
19782 PR target/105144
19783 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
19784 only if configured with --enable-maintainer-mode, otherwise compare
19785 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
19786 if they differ, emit a message and fail.
19787
19788 2022-04-04 Jakub Jelinek <jakub@redhat.com>
19789
19790 PR target/105144
19791 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
19792 * config/aarch64/aarch64-tune.md: Regenerated.
19793
19794 2022-04-04 Richard Biener <rguenther@suse.de>
19795
19796 PR tree-optimization/105132
19797 * tree-vect-stmts.cc (vectorizable_operation): Check that
19798 the input vectors have the same number of elements.
19799
19800 2022-04-04 Richard Biener <rguenther@suse.de>
19801
19802 PR middle-end/105140
19803 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
19804
19805 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
19806
19807 PR target/104987
19808 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
19809 (delay slot descripts): Use different delay slot description when
19810 the insn as the "bbi" attribute.
19811 (bbi, bbin patterns): Set the bbi attribute to yes.
19812
19813 2022-04-03 Jakub Jelinek <jakub@redhat.com>
19814
19815 PR target/105123
19816 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
19817 using word as target for expand_simple_binop when doing ASHIFT and
19818 IOR.
19819
19820 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
19821
19822 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
19823 NULL before dereferencing it.
19824
19825 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
19826
19827 * config/i386/i386.cc (zero_all_st_registers): Return the value of
19828 num_of_st.
19829 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
19830 the return value of zero_all_st_registers.
19831 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
19832 * function.cc (gen_call_used_regs_seq): Add an assertion.
19833 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
19834
19835 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
19836
19837 PR target/102024
19838 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
19839 fields, and inform if it causes a psABI change.
19840
19841 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
19842
19843 PR target/102024
19844 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
19845 zero-width bit-fields and set up an indicator.
19846 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
19847 (mips_function_value_1): Diagnose when the presense of a C++
19848 zero-width bit-field changes function returning in GCC 12.
19849
19850 2022-04-01 Jakub Jelinek <jakub@redhat.com>
19851
19852 PR tree-optimization/104645
19853 * tree-ssa-phiopt.cc (value_replacement): If assign has
19854 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
19855 statement with constant evaluation.
19856
19857 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
19858
19859 * config/mips/mips.cc (mips_expand_prologue):
19860 IPL is 8bit for MCU ASE.
19861
19862 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
19863
19864 PR target/104004
19865 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
19866 (MTFSB0): Likewise.
19867 (MTFSB1): Likewise.
19868 (SET_FPSCR_RN): Likewise.
19869 (SET_FPSCR_DRN): Mark nosoft and no32bit.
19870
19871 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
19872
19873 * doc/options.texi (Option file format): Clarifications around
19874 option definition records' help texts.
19875
19876 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
19877
19878 * optc-gen.awk <END>: Fix "Multiple different help strings" error
19879 diagnostic.
19880
19881 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
19882
19883 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
19884 determine_suggested_unroll_factor and m_has_avg.
19885 (determine_suggested_unroll_factor): New function.
19886 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
19887 to set m_nosve_pattern.
19888 (aarch64_vector_costs::finish_costs): Use
19889 determine_suggested_unroll_factor.
19890 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
19891 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
19892
19893 2022-03-31 Martin Jambor <mjambor@suse.cz>
19894
19895 PR ipa/103083
19896 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
19897 (ipa_get_jf_ancestor_keep_null): New function.
19898 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
19899 ancestor function.
19900 (compute_complex_assign_jump_func): Pass false to keep_null
19901 parameter of ipa_set_ancestor_jf.
19902 (compute_complex_ancestor_jump_func): Pass true to keep_null
19903 parameter of ipa_set_ancestor_jf.
19904 (update_jump_functions_after_inlining): Carry over keep_null from the
19905 original ancestor jump-function or merge them.
19906 (ipa_write_jump_function): Stream keep_null flag.
19907 (ipa_read_jump_function): Likewise.
19908 (ipa_print_node_jump_functions_for_edge): Print the new flag.
19909 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
19910 member function known_nonzero_p.
19911 (ipcp_bits_lattice::known_nonzero_p): New.
19912 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
19913 observe it.
19914 (ipcp_bits_lattice::meet_with): Likewise.
19915 (propagate_bits_across_jump_function): Simplify. Pass true in
19916 drop_all_ones when it is necessary.
19917 (propagate_aggs_across_jump_function): Take care of keep_null
19918 flag.
19919 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
19920 jump functions.
19921
19922 2022-03-31 Martin Jambor <mjambor@suse.cz>
19923
19924 PR ipa/102513
19925 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
19926 which do not fit the known value_range.
19927
19928 2022-03-31 Martin Jambor <mjambor@suse.cz>
19929
19930 PR ipa/103171
19931 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
19932 always when an ADDR_EXPR constant is known to reach a load because
19933 of inlining, not just when removing an ADDR reference.
19934
19935 2022-03-31 Richard Biener <rguenther@suse.de>
19936
19937 PR tree-optimization/105109
19938 * tree-ssa.cc (execute_update_addresses_taken): Suppress
19939 diagnostics on the load of the other complex component.
19940
19941 2022-03-31 Tom de Vries <tdevries@suse.de>
19942
19943 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
19944
19945 2022-03-31 Richard Biener <rguenther@suse.de>
19946
19947 PR rtl-optimization/105091
19948 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
19949 bases.
19950
19951 2022-03-31 Richard Biener <rguenther@suse.de>
19952
19953 Revert:
19954 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
19955
19956 PR target/102125
19957 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
19958 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
19959
19960 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
19961
19962 * gcov-io.cc (gcov_read_string): Reword documentation comment.
19963
19964 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
19965
19966 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
19967 stanza.
19968 (NEG_V4SF): Likewise.
19969 (NEG_V4SI): Likewise.
19970 (NEG_V8HI): Likewise.
19971 (NEG_V2DF): Move to [vsx] stanza.
19972 (NEG_V2DI): Likewise.
19973
19974 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
19975
19976 PR middle-end/105032
19977 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
19978
19979 2022-03-30 Tom de Vries <tdevries@suse.de>
19980 Tobias Burnus <tobias@codesourcery.com>
19981
19982 * doc/invoke.texi (march): Document __PTX_SM__.
19983 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
19984 __PTX_ISA_VERSION_MINOR__.
19985
19986 2022-03-30 Jakub Jelinek <jakub@redhat.com>
19987
19988 PR sanitizer/105093
19989 * ubsan.cc (instrument_object_size): If t is equal to inner and
19990 is a decl other than global var, punt. When emitting call to
19991 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
19992
19993 2022-03-30 Jakub Jelinek <jakub@redhat.com>
19994
19995 PR tree-optimization/105094
19996 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
19997 bitsize <= 0 rather than just == 0.
19998
19999 2022-03-30 Tom de Vries <tdevries@suse.de>
20000
20001 * doc/invoke.texi (misa, mptx): Update.
20002 (march, march-map): Add.
20003
20004 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
20005
20006 * opt-functions.awk (n_args): New function.
20007 (lang_enabled_by): Merge function into...
20008 * optc-gen.awk <END>: ... sole user here.
20009 Improve diagnostics.
20010
20011 2022-03-29 Marek Polacek <polacek@redhat.com>
20012 Jakub Jelinek <jakub@redhat.com>
20013
20014 PR middle-end/103597
20015 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
20016 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
20017 (gimplify_cond_expr): Set UNUSED_LABEL_P.
20018 * tree.h (UNUSED_LABEL_P): New.
20019
20020 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
20021
20022 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
20023 be any VSX register.
20024
20025 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
20026
20027 PR target/102024
20028 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
20029 zero-sized bit-fields. Detect cases where a warning may be needed.
20030 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
20031 zero-sized bit-field has caused parameter passing to change.
20032
20033 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
20034
20035 PR target/102024
20036 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
20037 bit-fields. Detect cases where a warning may be needed.
20038 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
20039 a zero-sized bit-field has caused parameter passing to change.
20040
20041 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
20042
20043 PR target/96882
20044 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
20045 ARM_PCS_AAPCS_LOCAL.
20046
20047 2022-03-29 Tom de Vries <tdevries@suse.de>
20048
20049 PR target/104857
20050 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
20051 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
20052 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
20053 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
20054
20055 2022-03-29 Tom de Vries <tdevries@suse.de>
20056
20057 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
20058 is ignored.
20059
20060 2022-03-29 Tom de Vries <tdevries@suse.de>
20061
20062 PR target/104714
20063 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
20064
20065 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
20066
20067 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
20068 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
20069 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
20070 (TARGET_USE_GATHER_4PARTS): New macro.
20071 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
20072 (X86_TUNE_USE_GATHER_4PARTS): New tune
20073
20074 2022-03-29 Tom de Vries <tdevries@suse.de>
20075
20076 * config/nvptx/nvptx.opt (march): Add alias of misa.
20077
20078 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20079 Lulu Cheng <chenglulu@loongson.cn>
20080
20081 * doc/install.texi: Add LoongArch options section.
20082 * doc/invoke.texi: Add LoongArch options section.
20083 * doc/md.texi: Add LoongArch options section.
20084
20085 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20086 Lulu Cheng <chenglulu@loongson.cn>
20087
20088 * config/loongarch/loongarch-c.cc
20089
20090 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20091 Lulu Cheng <chenglulu@loongson.cn>
20092
20093 * config/loongarch/larchintrin.h: New file.
20094 * config/loongarch/loongarch-builtins.cc: New file.
20095
20096 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20097 Lulu Cheng <chenglulu@loongson.cn>
20098
20099 * config/host-linux.cc: Add LoongArch support.
20100 * config/loongarch/loongarch-protos.h: New file.
20101 * config/loongarch/loongarch-tune.h: Likewise.
20102 * config/loongarch/loongarch.cc: Likewise.
20103 * config/loongarch/loongarch.h: Likewise.
20104
20105 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20106 Lulu Cheng <chenglulu@loongson.cn>
20107
20108 * config/loongarch/constraints.md: New file.
20109 * config/loongarch/generic.md: New file.
20110 * config/loongarch/la464.md: New file.
20111 * config/loongarch/loongarch-ftypes.def: New file.
20112 * config/loongarch/loongarch-modes.def: New file.
20113 * config/loongarch/loongarch.md: New file.
20114 * config/loongarch/predicates.md: New file.
20115 * config/loongarch/sync.md: New file.
20116
20117 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20118 Lulu Cheng <chenglulu@loongson.cn>
20119
20120 * configure: Regenerate file.
20121
20122 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20123 Lulu Cheng <chenglulu@loongson.cn>
20124
20125 * common/config/loongarch/loongarch-common.cc: New file.
20126 * config/loongarch/genopts/genstr.sh: New file.
20127 * config/loongarch/genopts/loongarch-strings: New file.
20128 * config/loongarch/genopts/loongarch.opt.in: New file.
20129 * config/loongarch/loongarch-str.h: New file.
20130 * config/loongarch/gnu-user.h: New file.
20131 * config/loongarch/linux.h: New file.
20132 * config/loongarch/loongarch-cpu.cc: New file.
20133 * config/loongarch/loongarch-cpu.h: New file.
20134 * config/loongarch/loongarch-def.c: New file.
20135 * config/loongarch/loongarch-def.h: New file.
20136 * config/loongarch/loongarch-driver.cc: New file.
20137 * config/loongarch/loongarch-driver.h: New file.
20138 * config/loongarch/loongarch-opts.cc: New file.
20139 * config/loongarch/loongarch-opts.h: New file.
20140 * config/loongarch/loongarch.opt: New file.
20141 * config/loongarch/t-linux: New file.
20142 * config/loongarch/t-loongarch: New file.
20143 * config.gcc: Add LoongArch support.
20144 * configure.ac: Add LoongArch support.
20145
20146 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
20147
20148 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
20149 typo.
20150
20151 2022-03-29 Richard Biener <rguenther@suse.de>
20152
20153 PR tree-optimization/105080
20154 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
20155 loops and SCEV.
20156
20157 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
20158
20159 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
20160 (output_ctf_vars): Likewise.
20161
20162 2022-03-28 Jason Merrill <jason@redhat.com>
20163
20164 PR c++/59426
20165 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
20166
20167 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
20168
20169 PR target/105068
20170 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
20171 "Yw" in clobber.
20172
20173 2022-03-28 Tom de Vries <tdevries@suse.de>
20174
20175 PR target/104818
20176 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
20177 * config/nvptx/nvptx-gen.opt: Regenerate.
20178 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
20179 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
20180 gen-opt.sh.
20181
20182 2022-03-28 David Malcolm <dmalcolm@redhat.com>
20183
20184 PR analyzer/104308
20185 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
20186 to loads then stores, set the location of the new load stmt.
20187
20188 2022-03-28 Richard Biener <rguenther@suse.de>
20189
20190 PR tree-optimization/105070
20191 * tree-switch-conversion.h
20192 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
20193 argument.
20194 * tree-switch-conversion.cc
20195 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
20196 cond with location.
20197 (bit_test_cluster::emit): Annotate all generated expressions
20198 with location.
20199
20200 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
20201
20202 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
20203
20204 2022-03-28 liuhongt <hongtao.liu@intel.com>
20205
20206 PR target/105066
20207 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
20208 alternative 4 from sse4_noavx to noavx.
20209
20210 2022-03-28 Jakub Jelinek <jakub@redhat.com>
20211
20212 PR tree-optimization/105056
20213 * tree-predcom.cc (component::component): Initialize also comp_step.
20214
20215 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
20216
20217 PR target/105068
20218 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
20219 "Yw".
20220
20221 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
20222
20223 PR middle-end/104885
20224 * calls.cc (mark_stack_region_used): Check that the region
20225 is within the allocated size of stack_usage_map.
20226
20227 2022-03-26 Jakub Jelinek <jakub@redhat.com>
20228
20229 PR rtl-optimization/103775
20230 * recog.cc (check_invalid_inc_dec): New function.
20231 (insn_invalid_p): Return 1 if REG_INC operand overlaps
20232 any stored REGs.
20233
20234 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
20235
20236 PR target/105058
20237 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
20238 (aes<aesklvariant>u8): Likewise.
20239
20240 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
20241
20242 PR target/105052
20243 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
20244 Replace "Yv" with "x".
20245 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
20246 (ssse3_psign<mode>3): Likewise.
20247
20248 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
20249
20250 * reload.cc (find_reloads): Align comment with code where
20251 considering the intersection of register classes then tweaking the
20252 regclass for the current alternative or rejecting it.
20253
20254 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
20255
20256 PR target/104882
20257 Revert
20258 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
20259
20260 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
20261 (mve_vec_unpack<US>_hi_<mode>): Delete.
20262 (@mve_vec_pack_trunc_lo_<mode>): Delete.
20263 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
20264 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
20265 from vec-common.md.
20266 (vec_unpack<US>_lo_<mode>): Likewise.
20267 (vec_pack_trunc_<mode>): Rename from
20268 neon_quad_vec_pack_trunc_<mode>.
20269 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
20270 (vec_unpack<US>_lo_<mode>): Delete.
20271 (vec_pack_trunc_<mode>): Delete.
20272
20273 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
20274
20275 PR middle-end/104971
20276 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
20277 regs to clear remove_p flag.
20278
20279 2022-03-25 Richard Biener <rguenther@suse.de>
20280
20281 PR tree-optimization/105053
20282 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
20283 the correct live-out stmt for a reduction chain.
20284
20285 2022-03-25 Richard Biener <rguenther@suse.de>
20286
20287 PR middle-end/105049
20288 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
20289 CONSTRUCTOR first elements.
20290
20291 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
20292
20293 PR analyzer/103533
20294 * doc/invoke.texi (Static Analyzer Options): Move
20295 @ignore block after @gccoptlist's '}' for 'make pdf'.
20296
20297 2022-03-25 David Malcolm <dmalcolm@redhat.com>
20298
20299 PR analyzer/104954
20300 * doc/invoke.texi (Static Analyzer Options): Add
20301 -fdump-analyzer-untracked.
20302
20303 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
20304
20305 PR analyzer/103533
20306 * doc/invoke.texi: Document that enabling taint analyzer
20307 checker disables some warnings from `-fanalyzer`.
20308
20309 2022-03-24 Alexandre Oliva <oliva@adacore.com>
20310
20311 PR debug/104564
20312 * gimple-harden-conditionals.cc (detach_value): Keep temps
20313 anonymous.
20314
20315 2022-03-24 Alexandre Oliva <oliva@adacore.com>
20316
20317 PR middle-end/104975
20318 * gimple-harden-conditionals.cc
20319 (pass_harden_compares::execute): Force split in case of
20320 multiple edges.
20321
20322 2022-03-24 Jakub Jelinek <jakub@redhat.com>
20323
20324 PR c++/105035
20325 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
20326 field0 or field1 is not a FIELD_DECL, return false.
20327
20328 2022-03-24 Richard Biener <rguenther@suse.de>
20329
20330 * tree-predcom.cc (chain::chain): Add CTOR.
20331 (component::component): Likewise.
20332 (pcom_worker::release_chain): Use delete.
20333 (release_components): Likewise.
20334 (pcom_worker::filter_suitable_components): Likewise.
20335 (pcom_worker::split_data_refs_to_components): Use new.
20336 (make_invariant_chain): Likewise.
20337 (make_rooted_chain): Likewise.
20338 (pcom_worker::combine_chains): Likewise.
20339 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
20340 Make sure to release previously constructed scalar_results.
20341 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
20342 for vec_offsets.
20343 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
20344 Release m_flag_set_edges.
20345
20346 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
20347
20348 PR tree-optimization/104970
20349 * tree-object-size.cc (parm_object_size): Restrict size
20350 computation scenarios to explicit access attributes.
20351
20352 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
20353
20354 PR target/104967
20355 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
20356 function types.
20357
20358 2022-03-23 Richard Biener <rguenther@suse.de>
20359
20360 PR target/102125
20361 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
20362 use of movmisalign when either the source or destination
20363 decl is properly aligned.
20364
20365 2022-03-23 Richard Biener <rguenther@suse.de>
20366
20367 PR rtl-optimization/105028
20368 * ira-color.cc (form_threads_from_copies): Remove unnecessary
20369 copying of the sorted_copies tail.
20370
20371 2022-03-23 Martin Liska <mliska@suse.cz>
20372
20373 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
20374 Use %qs in format.
20375 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
20376 Reword the error message.
20377
20378 2022-03-23 liuhongt <hongtao.liu@intel.com>
20379
20380 PR target/104976
20381 * config/i386/sse.md (ssePSmodelower): New.
20382 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
20383 lowpart_subreg to avoid NULL_RTX.
20384 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
20385 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
20386 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
20387 <avx512>_<complexopname>_<mode>_mask<round_name>,
20388 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
20389 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
20390 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
20391 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
20392 float<floatunssuffix><mode>v4hf2,
20393 float<floatunssuffix>v2div2hf2,
20394 fix<fixunssuffix>_truncv4hf<mode>2,
20395 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
20396 extendv2hfv2df2,
20397 trunc<mode>v4hf2,truncv2dfv2hf2,
20398 *avx512bw_permvar_truncv16siv16hi_1,
20399 *avx512bw_permvar_truncv16siv16hi_1_hf,
20400 *avx512f_permvar_truncv8siv8hi_1,
20401 *avx512f_permvar_truncv8siv8hi_1_hf,
20402 *avx512f_vpermvar_truncv8div8si_1,
20403 *avx512f_permvar_truncv32hiv32qi_1,
20404 *avx512f_permvar_truncv16hiv16qi_1,
20405 *avx512f_permvar_truncv4div4si_1,
20406 *avx512f_pshufb_truncv8hiv8qi_1,
20407 *avx512f_pshufb_truncv4siv4hi_1,
20408 *avx512f_pshufd_truncv2div2si_1,
20409 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
20410 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
20411
20412 2022-03-22 Tom de Vries <tdevries@suse.de>
20413
20414 PR target/104925
20415 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
20416 Use % as register prefix.
20417
20418 2022-03-22 Tom de Vries <tdevries@suse.de>
20419
20420 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
20421 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
20422 mexperimental.
20423
20424 2022-03-22 Tom de Vries <tdevries@suse.de>
20425
20426 * config/nvptx/nvptx.opt (mexperimental): New option.
20427
20428 2022-03-22 Tom de Vries <tdevries@suse.de>
20429
20430 PR target/104957
20431 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
20432 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
20433 for alias.
20434 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
20435 (nvptx_asm_output_def_from_decls): New function.
20436 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
20437 gcc_unreachable ().
20438 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
20439 nvptx_asm_output_def_from_decls.
20440 * config/nvptx/nvptx.opt (malias): New opt.
20441
20442 2022-03-22 Tom de Vries <tdevries@suse.de>
20443
20444 PR target/104916
20445 PR target/104783
20446 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
20447 sync (or uniform warp check for mptx < 6.0).
20448
20449 2022-03-22 Richard Biener <rguenther@suse.de>
20450
20451 PR tree-optimization/105012
20452 * tree-if-conv.cc (ifcvt_local_dce): Only call
20453 dse_classify_store when we have a VDEF.
20454
20455 2022-03-22 Martin Liska <mliska@suse.cz>
20456
20457 PR target/104902
20458 * config/nvptx/nvptx.cc (handle_ptx_version_option):
20459 Fix option wrapping in an error message.
20460
20461 2022-03-22 Martin Liska <mliska@suse.cz>
20462
20463 PR target/104903
20464 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
20465 Wrap const keyword.
20466
20467 2022-03-22 Martin Liska <mliska@suse.cz>
20468
20469 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
20470 name.
20471
20472 2022-03-22 Martin Liska <mliska@suse.cz>
20473
20474 PR target/104898
20475 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
20476 Use %qs instead of (%qs).
20477
20478 2022-03-22 Martin Liska <mliska@suse.cz>
20479
20480 PR target/104898
20481 * config/i386/i386-options.cc (ix86_option_override_internal):
20482 Use '%qs' instead of '(%qs)'.
20483
20484 2022-03-22 Martin Liska <mliska@suse.cz>
20485
20486 PR target/104898
20487 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
20488 Use 'qs' and remove usage '(%qs)'.
20489 (aarch64_handle_attr_cpu): Likewise.
20490 (aarch64_handle_attr_tune): Likewise.
20491 (aarch64_handle_attr_isa_flags): Likewise.
20492
20493 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20494 Andre Vieira <andre.simoesdiasvieira@arm.com>
20495
20496 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
20497 struct.
20498 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
20499 cost.
20500 (neoverse512tvb_tunings): Likewise.
20501
20502 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20503 Andre Vieira <andre.simoesdiasvieira@arm.com>
20504
20505 * config/aarch64/aarch64.cc (demeter_addrcost_table,
20506 demeter_regmove_cost, demeter_advsimd_vector_cost,
20507 demeter_sve_vector_cost, demeter_scalar_issue_info,
20508 demeter_advsimd_issue_info, demeter_sve_issue_info,
20509 demeter_vec_issue_info, demeter_vector_cost,
20510 demeter_tunings): New tuning structs.
20511 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
20512 tuning.
20513 * config/aarch64/aarch64-cores.def: Add entry for demeter.
20514 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
20515
20516 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20517 Andre Vieira <andre.simoesdiasvieira@arm.com>
20518
20519 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
20520 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
20521 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
20522 tunings to use cpu_memmov_cost struct.
20523
20524 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20525 Andre Vieira <andre.simoesdiasvieira@arm.com>
20526
20527 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
20528 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
20529 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
20530 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
20531 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
20532 (neoversen2_tunings): Use new structs and update tuning flags.
20533 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
20534 tuning.
20535
20536 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
20537
20538 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
20539 bit.
20540
20541 2022-03-22 liuhongt <hongtao.liu@intel.com>
20542
20543 PR target/104982
20544 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
20545 following splitter to reversed condition.
20546
20547 2022-03-22 Jakub Jelinek <jakub@redhat.com>
20548
20549 PR rtl-optimization/104989
20550 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
20551 sorry for passing too large argument, instead set sibcall_failure
20552 for pass == 0, or a new normal_failure flag otherwise. If
20553 normal_failure is set, don't assert all stack has been deallocated
20554 at the end and throw away the whole insn sequence.
20555
20556 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
20557
20558 * print-tree.cc: Change array length
20559
20560 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
20561
20562 PR target/104978
20563 * config/i386/sse.md
20564 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
20565 Use avx512f_movsf_mask instead of vmovaps or vblend, and
20566 force_reg before lowpart_subreg.
20567 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
20568
20569 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
20570
20571 PR target/105000
20572 * common/config/i386/i386-common.cc
20573 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
20574 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
20575
20576 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
20577
20578 PR target/104998
20579 * common/config/i386/cpuinfo.h (get_available_features): Pass
20580 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
20581 bit_AESKLE is set.
20582
20583 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
20584
20585 PR middle-end/104869
20586 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
20587 (clobber_group::next_clobber): Likewise.
20588 (def_lookup::prev_def): Rename to...
20589 (def_lookup::last_def_of_prev_group): ...this.
20590 (def_lookup::next_def): Rename to...
20591 (def_lookup::first_def_of_next_group): ...this.
20592 (def_lookup::matching_or_prev_def): Rename to...
20593 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
20594 (def_lookup::matching_or_next_def): Rename to...
20595 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
20596 (def_lookup::prev_def): New function, taking the lookup insn as
20597 argument.
20598 (def_lookup::next_def): Likewise.
20599 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
20600 (def_lookup::last_def_of_prev_group): ...this.
20601 (def_lookup::next_def): Rename to...
20602 (def_lookup::first_def_of_next_group): ...this.
20603 (def_lookup::matching_or_prev_def): Rename to...
20604 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
20605 (def_lookup::matching_or_next_def): Rename to...
20606 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
20607 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
20608 above renaming.
20609 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
20610 (clobber_group::next_clobber): Likewise.
20611 (def_lookup::prev_def): Likewise.
20612 (def_lookup::next_def): Likewise.
20613 (function_info::make_use_available): Pass the lookup insn to
20614 def_lookup::prev_def and def_lookup::next_def.
20615
20616 2022-03-21 Martin Liska <mliska@suse.cz>
20617
20618 * doc/invoke.texi: Document min-pagesize parameter.
20619
20620 2022-03-21 Richard Biener <rguenther@suse.de>
20621
20622 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
20623 we are estimating niter of loop.
20624
20625 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
20626
20627 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
20628 Update flag name and mask name.
20629 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
20630 misc macro for vector extensions.
20631 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
20632 (MASK_VECTOR_ELEN_32): ... this.
20633 (MASK_VECTOR_EEW_64): Rename to ...
20634 (MASK_VECTOR_ELEN_64): ... this.
20635 (MASK_VECTOR_EEW_FP_32): Rename to ...
20636 (MASK_VECTOR_ELEN_FP_32): ... this.
20637 (MASK_VECTOR_EEW_FP_64): Rename to ...
20638 (MASK_VECTOR_ELEN_FP_64): ... this.
20639 (TARGET_VECTOR_ELEN_32): New.
20640 (TARGET_VECTOR_ELEN_64): Ditto.
20641 (TARGET_VECTOR_ELEN_FP_32): Ditto.
20642 (TARGET_VECTOR_ELEN_FP_64): Ditto.
20643 (TARGET_MIN_VLEN): Ditto.
20644 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
20645 (riscv_vector_elen_flags): ... this.
20646
20647 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
20648
20649 PR target/104977
20650 * config/i386/sse.md
20651 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
20652 Correct round operand for intel dialect.
20653
20654 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
20655
20656 * diagnostic.cc (diagnostic_cc_tests): Rename to...
20657 (c_diagnostic_cc_tests): ...this.
20658 * opt-problem.cc (opt_problem_cc_tests): Rename to...
20659 (c_opt_problem_cc_tests): ...this.
20660 * selftest-run-tests.cc (selftest::run_tests): No longer run
20661 opt_problem_cc_tests or diagnostic_cc_tests.
20662 * selftest.h (diagnostic_cc_tests): Remove declaration.
20663 (opt_problem_cc_tests): Likewise.
20664
20665 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
20666
20667 PR jit/63854
20668 * hash-traits.h (struct typed_const_free_remove): New.
20669 (struct free_string_hash): New.
20670 * pass_manager.h: Use free_string_hash.
20671 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
20672 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
20673
20674 2022-03-19 Jakub Jelinek <jakub@redhat.com>
20675
20676 PR middle-end/104971
20677 * config/i386/i386-expand.cc
20678 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
20679 don't push/pop anything and just return const0_rtx.
20680
20681 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
20682
20683 PR rtl-optimization/104961
20684 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
20685
20686 2022-03-18 Jason Merrill <jason@redhat.com>
20687
20688 * tree.h (IDENTIFIER_LENGTH): Add comment.
20689
20690 2022-03-18 Jakub Jelinek <jakub@redhat.com>
20691
20692 PR middle-end/99578
20693 PR middle-end/100680
20694 PR tree-optimization/100834
20695 * params.opt (--param=min-pagesize=): New parameter.
20696 * pointer-query.cc
20697 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
20698 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
20699 of zero for pointer constants equal or larger than min-pagesize.
20700
20701 2022-03-18 Tom de Vries <tdevries@suse.de>
20702
20703 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
20704 Set gfor location only when dealing with a OMP_TASKLOOP.
20705
20706 2022-03-18 Tom de Vries <tdevries@suse.de>
20707
20708 * gimplify.cc (gimplify_omp_for): Set taskloop location.
20709
20710 2022-03-18 Tom de Vries <tdevries@suse.de>
20711
20712 PR target/104952
20713 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
20714 is executed unconditionally.
20715
20716 2022-03-18 liuhongt <hongtao.liu@intel.com>
20717
20718 PR target/104974
20719 * config/i386/i386.md (*movhi_internal): Set attr type from HI
20720 to HF for alternative 12 under TARGET_AVX512FP16.
20721
20722 2022-03-18 Cui,Lili <lili.cui@intel.com>
20723
20724 PR target/104963
20725 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
20726 * doc/invoke.texi: Update documents for Intel sapphirerapids.
20727
20728 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
20729
20730 PR target/86722
20731 PR tree-optimization/90356
20732 * config/i386/i386.md (*movtf_internal): Don't guard
20733 standard_sse_constant_p clause by optimize_function_for_size_p.
20734 (*movdf_internal): Likewise.
20735 (*movsf_internal): Likewise.
20736
20737 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
20738
20739 PR tree-optimization/102943
20740 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
20741 dominators and apply intermediary outgoing edge ranges.
20742
20743 2022-03-17 Richard Biener <rguenther@suse.de>
20744
20745 PR tree-optimization/104960
20746 * passes.def: Add pass parameter to pass_sink_code, mark
20747 last one to unsplit edges.
20748 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
20749 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
20750 when we need to unsplit edges.
20751
20752 2022-03-17 Jakub Jelinek <jakub@redhat.com>
20753
20754 PR middle-end/103984
20755 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
20756 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
20757 and asan unpoisioning, then append the temporary sequence and
20758 finally the TARGET_EXPR_CLEANUP clobbers.
20759
20760 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20761
20762 * config/i386/sse.md: Delete corrupt character/typo.
20763
20764 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20765
20766 PR target/94680
20767 * config/i386/sse.md (sse2_movq128): New define_expand to
20768 preserve previous named instruction.
20769 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
20770 generalized to VI8F_128 (both V2DI and V2DF).
20771
20772 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
20773
20774 PR tree-optimization/104941
20775 * tree-object-size.cc (size_for_offset): Make useless conversion
20776 check lighter and assign result of fold_convert to OFFSET.
20777
20778 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
20779
20780 PR target/104890
20781 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
20782 pushing target("general-regs-only").
20783
20784 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
20785
20786 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
20787 Add version info for zk, zks and zkn.
20788
20789 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
20790
20791 * common/config/riscv/riscv-common.cc
20792 (riscv_combine_info): New.
20793 (riscv_subset_list::handle_combine_ext): Combine back into zk to
20794 maintain the canonical order in isa strings.
20795 (riscv_subset_list::parse): Ditto.
20796 * config/riscv/riscv-subset.h (handle_combine_ext): New.
20797
20798 2022-03-16 Richard Biener <rguenther@suse.de>
20799
20800 PR tree-optimization/102008
20801 * passes.def: Move the added code sinking pass before the
20802 preceeding phiopt pass.
20803
20804 2022-03-16 Patrick Palka <ppalka@redhat.com>
20805
20806 PR c++/96780
20807 * doc/invoke.texi (C++ Dialect Options): Document
20808 -ffold-simple-inlines.
20809
20810 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
20811
20812 PR tree-optimization/104942
20813 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
20814
20815 2022-03-16 Jakub Jelinek <jakub@redhat.com>
20816
20817 PR target/104910
20818 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
20819 imm rtx.
20820
20821 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20822 Richard Biener <rguenther@suse.de>
20823
20824 * gimple-match-head.cc (single_use): Implement inline using a
20825 single loop.
20826
20827 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20828
20829 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
20830 instead of HONOR_NANS.
20831 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
20832 this can't trap/signal.
20833
20834 2022-03-16 liuhongt <hongtao.liu@intel.com>
20835
20836 PR target/104946
20837 * config/i386/i386-builtin.def (BDESC): Add
20838 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
20839 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
20840 __builtin_ia32_blendvpd w/o sse4.2
20841
20842 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
20843
20844 PR target/104923
20845 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
20846 acceptable MEM addresses.
20847
20848 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20849
20850 PR target/91229
20851 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
20852 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
20853 to warning calls.
20854
20855 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20856
20857 PR target/104890
20858 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
20859 instead of general-regs-only.
20860
20861 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
20862 Marc Glisse <marc.glisse@inria.fr>
20863 Richard Biener <rguenther@suse.de>
20864
20865 PR tree-optimization/101895
20866 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
20867 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
20868
20869 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20870
20871 PR rtl-optimization/104814
20872 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
20873 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
20874
20875 2022-03-15 Martin Sebor <msebor@redhat.com>
20876
20877 PR middle-end/104436
20878 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
20879 Check for warning suppression. Avoid by-value arguments transformed
20880 into by-transparent-reference.
20881
20882 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
20883 Uroš Bizjak <ubizjak@gmail.com>
20884
20885 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
20886 transformation when *zero_extend<mode>si2 is not available.
20887
20888 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
20889
20890 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
20891 * config/mips/mips.cc (mips_option_override): Make
20892 -fsanitize=address imply -fasynchronous-unwind-tables. This is
20893 needed by libasan for stack backtrace on MIPS.
20894 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
20895
20896 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20897
20898 PR debug/104778
20899 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
20900 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
20901 call simplified the first operand into VOIDmode constant.
20902
20903 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20904
20905 PR tree-optimization/102586
20906 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
20907 argument type should be pointer to trivially-copyable type unless it
20908 is address of a variable or parameter.
20909
20910 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20911
20912 PR target/99754
20913 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
20914 first rather than last element of the vector, use __m32_u to do
20915 a really unaligned load, use just 0 instead of (int)0.
20916 (_mm_loadu_si16): Put loaded value into first rather than last
20917 element of the vector, use __m16_u to do a really unaligned load,
20918 use just 0 instead of (short)0.
20919
20920 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20921
20922 PR other/104899
20923 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
20924 in diagnostic message - cannott -> cannot. Use %< and %> around
20925 names of attribute. Avoid too long line.
20926 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
20927 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
20928
20929 2022-03-14 liuhongt <hongtao.liu@intel.com>
20930
20931 PR target/104666
20932 * config/i386/i386-expand.cc
20933 (ix86_check_builtin_isa_match): New func.
20934 (ix86_expand_builtin): Move code to
20935 ix86_check_builtin_isa_match and call it.
20936 * config/i386/i386-protos.h
20937 (ix86_check_builtin_isa_match): Declare.
20938 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
20939 builtin into gimple when isa mismatches.
20940
20941 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
20942
20943 * doc/invoke.texi: Fix typos.
20944 * doc/tm.texi.in: Remove duplicated word.
20945 * doc/tm.texi: Regenerate.
20946
20947 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
20948
20949 PR target/104829
20950 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
20951 "ppc" and "ppc64" based on rs6000_cpu.
20952
20953 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20954
20955 PR middle-end/100280
20956 PR middle-end/104892
20957 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
20958 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
20959
20960 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20961
20962 PR middle-end/100280
20963 PR middle-end/104086
20964 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
20965 Mark variables used in 'present' clauses as addressable.
20966 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
20967 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
20968
20969 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20970
20971 PR other/65095
20972 * tree-core.h (user_omp_claus_code_name): Declare function.
20973 * tree.cc (user_omp_clause_code_name): New function.
20974
20975 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
20976
20977 PR middle-end/98420
20978 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
20979 (the defaut) or -fno-signed-zeros.
20980
20981 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
20982
20983 PR target/104868
20984 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
20985 moving from a GPR register to an Altivec register.
20986
20987 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
20988
20989 PR tree-optimization/98335
20990 * config/i386/i386.md (peephole2): Eliminate redundant insv.
20991 Combine movl followed by movb. Transform xorl followed by
20992 a suitable movb or movw into the equivalent movz[bw]l.
20993
20994 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
20995 Richard Biener <rguenther@suse.de>
20996
20997 PR tree-optimization/98335
20998 * builtins.cc (get_object_alignment_2): Export.
20999 * builtins.h (get_object_alignment_2): Likewise.
21000 * tree-ssa-alias.cc (ao_ref_alignment): New.
21001 * tree-ssa-alias.h (ao_ref_alignment): Declare.
21002 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
21003 to align head/tail, writing more bytes but using fewer store insns.
21004
21005 2022-03-11 Richard Biener <rguenther@suse.de>
21006
21007 PR tree-optimization/104880
21008 * tree-ssa.cc (execute_update_address_taken): Remember if we
21009 optimistically made something not addressable and
21010 prepare to undo it.
21011
21012 2022-03-11 Richard Biener <rguenther@suse.de>
21013
21014 PR target/104762
21015 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
21016 cost the first lane of SSE pieces as inserts for vec_construct.
21017
21018 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
21019
21020 PR c++/84964
21021 * calls.cc (expand_call): Ignore stack adjustments after sorry.
21022
21023 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
21024
21025 PR target/103074
21026 * lra-constraints.cc (split_reg): Set up
21027 check_and_force_assignment_correctness_p when splitting hard
21028 register live range.
21029
21030 2022-03-10 Martin Jambor <mjambor@suse.cz>
21031
21032 PR ipa/104813
21033 * ipa-cp.cc (create_specialized_node): Move removal of
21034 self-recursive calls from callers vector before refrence
21035 adjustments.
21036
21037 2022-03-10 Richard Biener <rguenther@suse.de>
21038
21039 PR tree-optimization/102943
21040 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
21041 Make a bitmap_head.
21042 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
21043 to tree view.
21044 (sbr_sparse_bitmap::set_bb_range): Adjust.
21045 (sbr_sparse_bitmap::get_bb_range): Likewise.
21046
21047 2022-03-10 Richard Biener <rguenther@suse.de>
21048
21049 PR tree-optimization/102943
21050 * tree-ssa-dom.cc (back_propagate_equivalences): Only
21051 populate the dominance bitmap if fast queries are not
21052 available. Use a tree view bitmap.
21053 (record_temporary_equivalences): Cache the dominance bitmap
21054 across all equivalences on the edge.
21055
21056 2022-03-10 Tom de Vries <tdevries@suse.de>
21057
21058 PR target/104840
21059 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
21060 of false,true.
21061
21062 2022-03-10 Tom de Vries <tdevries@suse.de>
21063
21064 PR target/104783
21065 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
21066 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
21067 (nvptx_get_unisimt_outside_simt_predicate): New function.
21068 (predicate_insn): New function, factored out of ...
21069 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
21070 * config/nvptx/nvptx.h (struct machine_function): Add
21071 unisimt_outside_simt_predicate field.
21072 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
21073 (define_insn "nvptx_uniform_warp_check"): Make predicable.
21074
21075 2022-03-10 Tom de Vries <tdevries@suse.de>
21076
21077 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
21078 result.
21079
21080 2022-03-10 Tom de Vries <tdevries@suse.de>
21081
21082 PR target/104815
21083 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
21084 modifier.
21085 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
21086
21087 2022-03-10 Tom de Vries <tdevries@suse.de>
21088
21089 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
21090 Emit atom.and.b64 instead of atom.b64.and.
21091
21092 2022-03-10 Tom de Vries <tdevries@suse.de>
21093
21094 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
21095 (MULTILIB_OPTIONS): ... here.
21096
21097 2022-03-10 Tom de Vries <tdevries@suse.de>
21098
21099 PR target/104758
21100 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
21101 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
21102
21103 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
21104
21105 PR middle-end/90115
21106 PR middle-end/102330
21107 PR middle-end/104774
21108 * omp-low.cc (oacc_privatization_candidate_p)
21109 (oacc_privatization_scan_clause_chain)
21110 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
21111 Analyze 'lookup_decl'-translated DECL.
21112
21113 2022-03-10 Jakub Jelinek <jakub@redhat.com>
21114
21115 PR target/99708
21116 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
21117 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
21118 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
21119 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
21120 "**NULL**" if type_node is NULL first. Handle
21121 ieee128_float_type_node.
21122 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
21123 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
21124 ieee128_float_type_node to NULL rather than long_double_type_node if
21125 they aren't supported. Do support __ibm128 even if
21126 !TARGET_FLOAT128_TYPE when long double is double double.
21127 (rs6000_expand_builtin): Error if bif_is_ibm128 and
21128 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
21129 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
21130 for it.
21131 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
21132 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
21133 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
21134 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
21135 Formatting fix.
21136 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
21137 (struct attrinfo): Add isibm128 member.
21138 (TYPE_MAP_SIZE): Remove.
21139 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
21140 ibm128_float_type_node only if it is non-NULL, otherwise fall back
21141 to long_double_type_node. Remove "pif" entry.
21142 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
21143 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
21144 (write_type_node): Use sizeof type_map / sizeof type_map[0]
21145 instead of TYPE_MAP_SIZE.
21146 (write_bif_static_init): Handle isibm128.
21147 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
21148 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
21149 attribute.
21150
21151 2022-03-09 Richard Biener <rguenther@suse.de>
21152
21153 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
21154 with non-decl operand, avoiding a copy.
21155
21156 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21157
21158 PR target/104781
21159 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
21160
21161 2022-03-09 Richard Biener <rguenther@suse.de>
21162
21163 PR middle-end/104786
21164 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
21165 for VLAs without an upper size bound.
21166
21167 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
21168
21169 PR tree-optimization/104851
21170 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
21171 error.
21172
21173 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21174
21175 PR c/104711
21176 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
21177 is enabled by it only for C++11 to C++17 rather than for C++03 or
21178 later.
21179 (-Wshift-negative-value): Similarly (except here we stated
21180 that it is enabled for C++11 or later).
21181
21182 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21183
21184 PR rtl-optimization/104839
21185 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
21186 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
21187 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
21188 instead of incorrect 0 in SUBREG_PROMOTED_SET.
21189
21190 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
21191
21192 PR target/104842
21193 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
21194 value before adding an offset.
21195
21196 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
21197
21198 * config/arm/arm-builtins.cc
21199 (arm_binop_none_none_unone_qualifiers): Delete.
21200 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
21201
21202 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
21203
21204 PR translation/104552
21205 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
21206 the PCH out of memory error message punctuation and wording.
21207
21208 2022-03-08 Marek Polacek <polacek@redhat.com>
21209
21210 PR rtl-optimization/104777
21211 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
21212 ASM_OPERANDS_LABEL_VEC has at least one element.
21213
21214 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
21215
21216 PR target/104781
21217 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
21218 stack realignment or regparm nested function with EH return.
21219
21220 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
21221
21222 PR target/104790
21223 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
21224 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
21225 register for non widening loads or narrowing stores.
21226
21227 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
21228
21229 PR translation/104552
21230 * params.opt: Fix typo.
21231
21232 2022-03-08 Richard Biener <rguenther@suse.de>
21233
21234 PR tree-optimization/84201
21235 * params.opt (-param=vect-induction-float): Add.
21236 * doc/invoke.texi (vect-induction-float): Document.
21237 * tree-vect-loop.cc (vectorizable_induction): Honor
21238 param_vect_induction_float.
21239
21240 2022-03-08 Martin Jambor <mjambor@suse.cz>
21241
21242 PR translation/104552
21243 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
21244 "that" in the description.
21245
21246 2022-03-08 Richard Biener <rguenther@suse.de>
21247
21248 PR tree-optimization/104825
21249 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
21250 guard modref get_ao_ref on a pointer typed argument.
21251
21252 2022-03-08 liuhongt <hongtao.liu@intel.com>
21253
21254 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
21255 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
21256
21257 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
21258
21259 * doc/invoke.texi (C++ Modules): Remove anachronism.
21260
21261 2022-03-07 Martin Liska <mliska@suse.cz>
21262
21263 PR middle-end/104381
21264 * opts.cc (finish_options): If debug info is disabled
21265 (debug_info_level) and -fvar-tracking is unset, disable it.
21266
21267 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21268
21269 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
21270 * config/riscv/riscv.cc: Likewise.
21271 * config/darwin.h: Likewise.
21272 * config/i386/i386.cc: Likewise.
21273 * config/aarch64/thunderx3t110.md: Likewise.
21274 * config/aarch64/fractional-cost.h: Likewise.
21275 * config/vax/vax.cc: Likewise.
21276 * config/rs6000/pcrel-opt.md: Likewise.
21277 * config/rs6000/predicates.md: Likewise.
21278 * ctfc.h: Likewise.
21279 * tree-ssa-uninit.cc: Likewise.
21280 * value-relation.h: Likewise.
21281 * gimple-range-gori.cc: Likewise.
21282 * ipa-polymorphic-call.cc: Likewise.
21283 * pointer-query.cc: Likewise.
21284 * ipa-sra.cc: Likewise.
21285 * internal-fn.cc: Likewise.
21286 * varasm.cc: Likewise.
21287 * gimple-ssa-warn-access.cc: Likewise.
21288
21289 2022-03-07 Martin Liska <mliska@suse.cz>
21290
21291 PR target/104794
21292 * config/arm/arm.cc (arm_option_override_internal): Add missing
21293 space.
21294
21295 2022-03-07 Richard Biener <rguenther@suse.de>
21296
21297 PR tree-optimization/104782
21298 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
21299 Re-instantiate r10-5979 fix, add comment.
21300
21301 2022-03-07 Martin Liska <mliska@suse.cz>
21302
21303 PR target/104797
21304 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
21305 parenthesis from built-in name.
21306
21307 2022-03-07 Martin Liska <mliska@suse.cz>
21308
21309 PR target/104794
21310 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
21311 of options in error messages.
21312 (arm_option_reconfigure_globals): Likewise.
21313
21314 2022-03-07 Martin Liska <mliska@suse.cz>
21315
21316 PR target/104794
21317 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
21318 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
21319 have only range [0,32].
21320
21321 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21322
21323 PR target/104775
21324 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
21325 S constraint instead of T in the last alternative.
21326
21327 2022-03-07 Martin Liska <mliska@suse.cz>
21328
21329 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
21330 message.
21331
21332 2022-03-07 Martin Liska <mliska@suse.cz>
21333
21334 PR translation/90148
21335 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
21336 quote to a proper place.
21337 * plugin.cc (default_plugin_dir_name): Likewise.
21338
21339 2022-03-07 Martin Liska <mliska@suse.cz>
21340
21341 PR target/99297
21342 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
21343 string.
21344
21345 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21346
21347 PR target/104779
21348 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
21349 define_expand pattern. Rename define_insn to ...
21350 (*avx512dq_mul<mode>3<mask_name>): ... this.
21351 (<code><mode>3_mask): New any_logic define_expand pattern.
21352 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
21353 (*<code><mode>3<mask_name>): ... this.
21354
21355 2022-03-05 Jakub Jelinek <jakub@redhat.com>
21356
21357 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
21358 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
21359
21360 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
21361 Uroš Bizjak <ubizjak@gmail.com>
21362
21363 PR testsuite/104732
21364 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
21365 Include DI mode unconditionally.
21366 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
21367 i.e. always split on !TARGET_64BIT.
21368 (*<any_or>di3_doubleword): Likewise.
21369 (*one_cmpldi2_doubleword): Likewise.
21370 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
21371 (<any_or><mode>3 expander): Likewise.
21372 (one_cmpl<mode>2 expander): Likewise.
21373
21374 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
21375
21376 PR target/104698
21377 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
21378 (mtvsrdd_diti_w1): Delete.
21379 (extendditi2): Convert from define_expand to
21380 define_insn_and_split. Replace with code to deal with both GPR
21381 registers and with altivec registers.
21382
21383 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
21384
21385 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
21386 bit. Handle most older CPUs.
21387
21388 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
21389
21390 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
21391 avoid a mismatch with DECL_MD_FUNCTION_CODE().
21392
21393 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
21394
21395 PR target/104117
21396 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
21397 (@machopic_low_<mode>): New.
21398 * config/rs6000/predicates.md (macho_pic_address): New.
21399 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
21400 apply the TLS processing to Darwin.
21401 * lra-constraints.cc (process_address_1): Revert the changes
21402 in r12-7209.
21403
21404 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
21405
21406 PR target/87496
21407 PR target/104208
21408 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
21409 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
21410 -mlong-double-128.
21411 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
21412 from here...
21413 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
21414 ... to here.
21415
21416 2022-03-04 Jakub Jelinek <jakub@redhat.com>
21417
21418 PR middle-end/104529
21419 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
21420 on automatic objects which will be runtime initialized.
21421
21422 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21423
21424 PR middle-end/100280
21425 PR middle-end/104132
21426 PR middle-end/104133
21427 * omp-low.cc (task_shared_vars): Rename to
21428 'make_addressable_vars'. Adjust all users.
21429 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
21430 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
21431
21432 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21433
21434 PR middle-end/100280
21435 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
21436 * tree-core.h: Document it.
21437 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
21438 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
21439 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
21440 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
21441 'TREE_ADDRESSABLE'.
21442
21443 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21444
21445 PR middle-end/100280
21446 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
21447 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
21448 '[...]' declared in block made addressable".
21449
21450 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21451
21452 PR middle-end/100400
21453 PR middle-end/103836
21454 PR middle-end/104061
21455 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
21456 Catch 'GIMPLE_DEBUG'.
21457
21458 2022-03-04 Jakub Jelinek <jakub@redhat.com>
21459
21460 PR c/104627
21461 * tree.cc (warn_deprecated_use): For types prefer to use node
21462 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
21463 NULL.
21464
21465 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
21466
21467 PR target/104704
21468 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
21469 a pseudo register.
21470
21471 2022-03-03 Martin Sebor <msebor@redhat.com>
21472
21473 PR middle-end/104761
21474 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
21475 mark_dfs_back_edges.
21476
21477 2022-03-03 Martin Liska <mliska@suse.cz>
21478
21479 * configure.ac: Use linker plug-in by default.
21480 * configure: Regenerate.
21481
21482 2022-03-03 Martin Liska <mliska@suse.cz>
21483
21484 * configure.ac: Now ld.mold support LTO plugin API, use it.
21485 * configure: Regenerate.
21486
21487 2022-03-03 Tom de Vries <tdevries@suse.de>
21488
21489 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
21490
21491 2022-03-03 Tom de Vries <tdevries@suse.de>
21492
21493 PR target/104758
21494 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
21495
21496 2022-03-03 Tom de Vries <tdevries@suse.de>
21497
21498 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
21499
21500 2022-03-03 Jakub Jelinek <jakub@redhat.com>
21501
21502 PR middle-end/104757
21503 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
21504 gimplify_omp_for.
21505 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
21506 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
21507
21508 2022-03-03 Jakub Jelinek <jakub@redhat.com>
21509
21510 PR middle-end/104558
21511 * calls.cc (store_one_arg): When not calling emit_push_insn
21512 because size_rtx is const0_rtx, call at least anti_adjust_stack
21513 on arg->locate.alignment_pad if !argblock and the alignment might
21514 be non-zero.
21515
21516 2022-03-02 Alexandre Oliva <oliva@adacore.com>
21517
21518 * lra-constraints.cc (undo_optional_reloads): Recognize and
21519 drop insns of multi-word move sequences, tolerate removal
21520 iteration on an already-removed clobber, and refuse to
21521 substitute original pseudos into clobbers.
21522
21523 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
21524
21525 PR middle-end/102276
21526 * common.opt (-Wtrivial-auto-var-init): New option.
21527 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
21528 (-ftrivial-auto-var-init): Update option;
21529 * gimplify.cc (emit_warn_switch_unreachable): New function.
21530 (warn_switch_unreachable_r): Rename to ...
21531 (warn_switch_unreachable_and_auto_init_r): This.
21532 (maybe_warn_switch_unreachable): Rename to ...
21533 (maybe_warn_switch_unreachable_and_auto_init): This.
21534 (gimplify_switch_expr): Update calls to renamed function.
21535
21536 2022-03-02 Richard Biener <rguenther@suse.de>
21537
21538 PR rtl-optimization/104686
21539 * ira-color.cc (object_conflicts_with_allocno_p): New function
21540 using a bitvector test instead of iterating when possible.
21541 (allocnos_conflict_p): Choose the best allocno to iterate over
21542 object conflicts.
21543 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
21544 last.
21545
21546 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21547
21548 * cfg.cc (dump_edge_info): Dump goto_locus if present.
21549
21550 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21551
21552 PR rtl-optimization/104589
21553 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
21554 INSN_LOCATION comparison with goto_locus.
21555
21556 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21557
21558 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
21559 strlen_pass::before_dom_children): Comment spelling fixes.
21560
21561 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21562
21563 * ipa-modref-tree.cc (modref_access_node::contains,
21564 modref_access_node::closer_pair_p, modref_access_node::insert,
21565 modref_access_node::insert_kill): Comment spelling fixes.
21566 * ipa-modref.cc: Likewise.
21567 (modref_summary::finalize, ignore_nondeterminism_p,
21568 class modref_access_analysis,
21569 modref_access_analysis::set_side_effects,
21570 modref_access_analysis::set_nondeterministic,
21571 modref_access_analysis::record_global_memory_load,
21572 modref_access_analysis::propagate, modref_access_analysis::analyze,
21573 struct escape_point, class modref_lattice, modref_lattice::merge,
21574 modref_lattice::merge_deref, class modref_eaf_analysis,
21575 modref_eaf_analysis::merge_call_lhs_flags,
21576 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
21577 modref_eaf_analysis::record_escape_points, remap_kills,
21578 update_escape_summary, remove_useless_summaries,
21579 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
21580 Likewise.
21581 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
21582 Likewise.
21583 * ipa-modref-tree.h (enum modref_special_parms,
21584 struct modref_access_node): Likewise.
21585
21586 2022-03-01 Jakub Jelinek <jakub@redhat.com>
21587
21588 PR tree-optimization/104715
21589 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
21590 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
21591 of a call if gimple_call_return_arg is equal to ptr, not just when it
21592 is non-NULL.
21593
21594 2022-03-01 Jakub Jelinek <jakub@redhat.com>
21595
21596 * gimple-ssa-warn-access.cc (warn_string_no_nul,
21597 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
21598 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
21599 pass_waccess::check_alloca, pass_waccess::check_strcat,
21600 memmodel_to_uhwi, fntype_argno_type,
21601 pass_waccess::maybe_check_access_sizes,
21602 pass_waccess::check_call_access,
21603 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
21604 Comment spelling fixes.
21605
21606 2022-03-01 Richard Biener <rguenther@suse.de>
21607
21608 PR tree-optimization/104716
21609 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
21610 Check if we can copy the loop.
21611
21612 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
21613
21614 PR middle-end/104721
21615 * cfgexpand.cc (expand_gimple_basic_block): Clear
21616 currently_expanding_gimple_stmt when returning inside the loop.
21617
21618 2022-03-01 Martin Liska <mliska@suse.cz>
21619
21620 PR ipa/104533
21621 * multiple_target.cc (get_attr_len): Move to tree.c.
21622 (expand_target_clones): Remove single value checking.
21623 * tree.cc (get_target_clone_attr_len): New fn.
21624 * tree.h (get_target_clone_attr_len): Likewise.
21625
21626 2022-03-01 Martin Liska <mliska@suse.cz>
21627
21628 PR gcov-profile/104677
21629 * doc/invoke.texi: Document more .gcda file name generation.
21630
21631 2022-03-01 Tom de Vries <tdevries@suse.de>
21632
21633 PR target/102429
21634 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
21635 * config/nvptx/nvptx.md
21636 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
21637 New predicate.
21638 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
21639 Use nvptx_register_or_complex_di_df_register_operand.
21640
21641 2022-03-01 Tom de Vries <tdevries@suse.de>
21642
21643 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
21644 * config/nvptx/gen-copyright.sh: New file.
21645 * config/nvptx/gen-h.sh: New file.
21646 * config/nvptx/gen-opt.sh: New file.
21647 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
21648 (TARGET_SM75, TARGET_SM80): Move ...
21649 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
21650 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
21651 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
21652 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
21653 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
21654
21655 2022-03-01 Tom de Vries <tdevries@suse.de>
21656
21657 * config/nvptx/gen-omp-device-properties.sh: New file.
21658 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
21659
21660 2022-03-01 Tom de Vries <tdevries@suse.de>
21661
21662 * config/nvptx/nvptx-sm.def: New file.
21663 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
21664 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
21665 * config/nvptx/nvptx.cc (sm_version_to_string)
21666 (nvptx_omp_device_kind_arch_isa): Same.
21667
21668 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
21669
21670 PR rtl-optimization/104154
21671 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
21672 comparison ifcvt passed us.
21673
21674 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
21675
21676 PR target/104664
21677 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
21678 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
21679
21680 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
21681
21682 PR tree-optimization/91384
21683 * config/i386/i386.md (peephole2): Eliminate final testl insn
21684 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
21685 transforming using *negsi_2 for the negation.
21686
21687 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
21688 Eric Botcazou <ebotcazou@adacore.com>
21689
21690 PR middle-end/80270
21691 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
21692 register, copy it to a pseudo before calling simplify_gen_subreg.
21693
21694 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
21695
21696 PR rtl-optimization/104637
21697 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
21698 as possible on one subpass.
21699
21700 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
21701
21702 PR middle-end/104550
21703 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
21704 created uses.
21705
21706 2022-02-28 Martin Liska <mliska@suse.cz>
21707
21708 PR ipa/104648
21709 * main.cc (main): Use flag_checking instead of CHECKING_P
21710 and run toplev::finalize only if there is not error seen.
21711
21712 2022-02-28 Richard Biener <rguenther@suse.de>
21713
21714 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
21715
21716 2022-02-28 Richard Biener <rguenther@suse.de>
21717
21718 PR tree-optimization/104700
21719 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
21720 into ...
21721 (find_or_generate_expression): ... here, simplifying code.
21722
21723 2022-02-28 Tom de Vries <tdevries@suse.de>
21724
21725 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
21726 PTX_VERSION_default.
21727 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
21728 PTX_VERSION_default.
21729 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
21730
21731 2022-02-28 Richard Biener <rguenther@suse.de>
21732
21733 PR rtl-optimization/104686
21734 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
21735 skipping bits that are zero.
21736 (ira_object_conflict_iter_cond): Likewise.
21737
21738 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
21739
21740 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
21741 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
21742 char to avoid error when using ~enum as parameter.
21743 (_mm512_mask_ternarylogic_epi64): Likewise.
21744 (_mm512_maskz_ternarylogic_epi64): Likewise.
21745 (_mm512_ternarylogic_epi32): Likewise.
21746 (_mm512_mask_ternarylogic_epi32): Likewise.
21747 (_mm512_maskz_ternarylogic_epi32): Likewise.
21748 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
21749 Adjust imm param type to unsigned char.
21750 (_mm256_mask_ternarylogic_epi64): Likewise.
21751 (_mm256_maskz_ternarylogic_epi64): Likewise.
21752 (_mm256_ternarylogic_epi32): Likewise.
21753 (_mm256_mask_ternarylogic_epi32): Likewise.
21754 (_mm256_maskz_ternarylogic_epi32): Likewise.
21755 (_mm_ternarylogic_epi64): Likewise.
21756 (_mm_mask_ternarylogic_epi64): Likewise.
21757 (_mm_maskz_ternarylogic_epi64): Likewise.
21758 (_mm_ternarylogic_epi32): Likewise.
21759 (_mm_mask_ternarylogic_epi32): Likewise.
21760 (_mm_maskz_ternarylogic_epi32): Likewise.
21761
21762 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21763 Marc Glisse <marc.glisse@inria.fr>
21764
21765 PR tree-optimization/104675
21766 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
21767 Restrict simplifications to INTEGRAL_TYPE_P.
21768
21769 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21770
21771 PR target/104681
21772 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
21773
21774 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
21775
21776 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
21777 comparison is not valid.
21778 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
21779 (movdicc): Likewise.
21780 (movsfcc): Likewise.
21781 (movdfcc): Likewise.
21782
21783 2022-02-25 Richard Biener <rguenther@suse.de>
21784
21785 PR tree-optimization/103037
21786 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
21787 (vn_nary_length_from_stmt): Likewise.
21788 (init_vn_nary_op_from_stmt): Likewise.
21789 (vn_nary_op_compute_hash): Likewise.
21790 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
21791 (vn_nary_length_from_stmt): Likewise.
21792 (init_vn_nary_op_from_stmt): Likewise.
21793 (vn_nary_op_compute_hash): Likewise.
21794 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
21795 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
21796 (re-)compute the hash value and if the expression is not
21797 found allocate it from pre_expr_obstack.
21798 (phi_translate_1): Do not insert the NARY found in the
21799 VN tables but build a PRE expression from the valueized
21800 NARY with the value-id we eventually found.
21801 (find_or_generate_expression): Assert we have an entry
21802 for constant values.
21803 (compute_avail): Insert not valueized expressions into
21804 EXP_GEN using the value-id from the VN tables.
21805 (init_pre): Allocate pre_expr_obstack.
21806 (fini_pre): Free pre_expr_obstack.
21807
21808 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21809
21810 PR target/104674
21811 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
21812 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
21813 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
21814
21815 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21816
21817 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
21818
21819 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21820
21821 PR middle-end/104679
21822 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
21823
21824 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21825
21826 PR tree-optimization/104675
21827 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
21828 COMPLEX_TYPE.
21829
21830 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21831
21832 PR target/104121
21833 PR target/103302
21834 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
21835
21836 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21837
21838 PR middle-end/104540
21839 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
21840 dw_cfi_cfa_loc.
21841
21842 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21843
21844 PR tree-optimization/103856
21845 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
21846 eh edge to be requested through an extra parameter.
21847 (pass_harden_compares::execute): Copy PHI args in the EH dest
21848 block for the new EH edge added for the inverted compare.
21849
21850 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
21851
21852 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
21853 of position independence that -mcmodel=medany affords.
21854
21855 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
21856
21857 PR target/104656
21858 * configure.ac: --disable-gcov if targetting bpf-*.
21859 * configure: Regenerate.
21860
21861 2022-02-24 Richard Biener <rguenther@suse.de>
21862
21863 PR tree-optimization/104676
21864 * tree-loop-distribution.cc (loop_distribution::execute):
21865 Do a full scev_reset.
21866
21867 2022-02-24 Jakub Jelinek <jakub@redhat.com>
21868
21869 PR tree-optimization/104601
21870 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
21871 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
21872 vuse value number.
21873
21874 2022-02-24 Tom de Vries <tdevries@suse.de>
21875 Tobias Burnus <tobias@codesourcery.com>
21876
21877 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
21878 sm_70, sm_75 and sm_80.
21879 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
21880
21881 2022-02-24 Tom de Vries <tdevries@suse.de>
21882
21883 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
21884 "rotrsi3"): New define_insn.
21885
21886 2022-02-24 Tom de Vries <tdevries@suse.de>
21887
21888 * config/nvptx/nvptx.cc (gen_comment): Use
21889 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
21890
21891 2022-02-24 liuhongt <hongtao.liu@intel.com>
21892
21893 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
21894 isa attr of alternative 2 from avx to avx512vl.
21895
21896 2022-02-23 Richard Biener <rguenther@suse.de>
21897 Jakub Jelinek <jakub@redhat.com>
21898
21899 PR tree-optimization/104644
21900 * doc/match-and-simplify.texi: Amend ! documentation.
21901 * genmatch.cc (expr::gen_transform): Code-generate ! support
21902 for GENERIC.
21903 (parser::parse_expr): Allow ! for GENERIC.
21904 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
21905 bswap.
21906
21907 2022-02-23 Richard Biener <rguenther@suse.de>
21908
21909 PR tree-optimization/101636
21910 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
21911 vector type of the node.
21912 (vect_slp_analyze_operations): Make sure the CTOR
21913 is vectorized with an expected type.
21914 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
21915
21916 2022-02-23 Jakub Jelinek <jakub@redhat.com>
21917
21918 PR c/104633
21919 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
21920 Don't warn about calls to corresponding builtin from extern inline
21921 gnu_inline wrappers.
21922
21923 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
21924
21925 PR target/104489
21926 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
21927
21928 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
21929
21930 PR target/100757
21931 PR target/101325
21932 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
21933 typo.
21934
21935 2022-02-23 Cui,Lili <lili.cui@intel.com>
21936
21937 * doc/invoke.texi: Update documents for Intel architectures.
21938
21939 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
21940
21941 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
21942 bootstrap.
21943
21944 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
21945
21946 * omp-low.cc (omp_build_component_ref): Move function...
21947 * omp-general.cc (omp_build_component_ref): ... here. Remove
21948 'static'.
21949 * omp-general.h (omp_build_component_ref): Declare function.
21950 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
21951 function.
21952 (build_receiver_ref, build_sender_ref): Call
21953 'omp_build_component_ref' instead.
21954
21955 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
21956
21957 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
21958 simplify. Adjust all users.
21959
21960 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
21961
21962 PR target/88134
21963 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
21964 atomic_update_decl): Add GTY markup.
21965
21966 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21967
21968 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
21969
21970 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21971
21972 PR target/100757
21973 PR target/101325
21974 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
21975 predicate.
21976 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
21977 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
21978 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
21979 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
21980 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
21981 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
21982 * config/arm/mve.md: Use VxBI instead of HI.
21983
21984 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21985
21986 PR target/100757
21987 PR target/101325
21988 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
21989 qualifier.
21990 (STRSBU_P_QUALIFIERS): Likewise.
21991 (LDRGBS_Z_QUALIFIERS): Likewise.
21992 (LDRGBU_Z_QUALIFIERS): Likewise.
21993 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
21994 (LDRGBWBS_Z_QUALIFIERS): Likewise.
21995 (LDRGBWBU_Z_QUALIFIERS): Likewise.
21996 (STRSBWBS_P_QUALIFIERS): Likewise.
21997 (STRSBWBU_P_QUALIFIERS): Likewise.
21998 * config/arm/mve.md: Use VxBI instead of HI.
21999
22000 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22001
22002 PR target/100757
22003 PR target/101325
22004 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
22005 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
22006 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
22007 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
22008 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
22009 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
22010 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
22011 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
22012 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
22013 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
22014 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
22015 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
22016 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
22017 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
22018 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
22019 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
22020 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
22021 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
22022 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
22023 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
22024 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
22025 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
22026 (STRS_P_QUALIFIERS): Use predicate qualifier.
22027 (STRU_P_QUALIFIERS): Likewise.
22028 (STRSU_P_QUALIFIERS): Likewise.
22029 (STRSS_P_QUALIFIERS): Likewise.
22030 (LDRGS_Z_QUALIFIERS): Likewise.
22031 (LDRGU_Z_QUALIFIERS): Likewise.
22032 (LDRS_Z_QUALIFIERS): Likewise.
22033 (LDRU_Z_QUALIFIERS): Likewise.
22034 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
22035 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
22036 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
22037 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
22038 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
22039 * config/arm/mve.md: Use MVE_VPRED instead of HI.
22040
22041 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22042
22043 PR target/100757
22044 PR target/101325
22045 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
22046 Delete.
22047 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
22048 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
22049 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
22050 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
22051 predicated qualifiers.
22052 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
22053 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
22054
22055 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22056
22057 PR target/100757
22058 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
22059 (arm_expand_vector_compare): Update prototype.
22060 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
22061 (arm_vector_mode_supported_p): Add support for VxBI modes.
22062 (arm_expand_vector_compare): Remove useless generation of vpsel.
22063 (arm_expand_vcond): Fix select operands.
22064 (arm_get_mask_mode): New.
22065 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
22066 (vec_cmpu<mode><MVE_vpred>): New.
22067 (vcond_mask_<mode><MVE_vpred>): New.
22068 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
22069 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
22070 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
22071 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
22072 and disable for MVE.
22073 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
22074
22075 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22076
22077 PR target/100757
22078 PR target/101325
22079 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
22080 (BINOP_PRED_NONE_NONE_QUALIFIERS)
22081 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
22082 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
22083 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
22084 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
22085 modes.
22086 (arm_mode_to_pred_mode): New.
22087 (arm_expand_vector_compare): Use the right VxBI mode instead of
22088 HI.
22089 (arm_expand_vcond): Likewise.
22090 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
22091 (mve_bool_vec_to_const): New.
22092 (neon_make_constant): Call mve_bool_vec_to_const when needed.
22093 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
22094 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
22095 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
22096 (vpselq_s, vpselq_f): Use new predicated qualifiers.
22097 * config/arm/constraints.md (DB): New.
22098 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
22099 (MVE_VPRED, MVE_vpred): New attribute iterators.
22100 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
22101 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
22102 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
22103 (@mve_vpselq_<supf>v2di): Define separately.
22104 (mov<mode>): New expander for VxBI modes.
22105 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
22106 MVE_7_HI iterator and add support for DB constraint.
22107
22108 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22109 Richard Sandiford <richard.sandiford@arm.com>
22110
22111 PR target/100757
22112 PR target/101325
22113 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
22114 VNx2BI): Update definition.
22115 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
22116 simd types.
22117 (arm_init_builtin): Map predicate vectors arguments to HImode.
22118 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
22119 rtx. Move return value to HImode rtx.
22120 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
22121 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
22122 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
22123 Pred2x8_t,Pred4x4_t): New.
22124 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
22125 * genmodes.cc (mode_data): Add boolean field.
22126 (blank_mode): Initialize it.
22127 (make_complex_modes): Fix handling of boolean modes.
22128 (make_vector_modes): Likewise.
22129 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
22130 (make_vector_bool_mode): Likewise.
22131 (BOOL_MODE): New.
22132 (make_bool_mode): New.
22133 (emit_insn_modes_h): Fix generation of boolean modes.
22134 (emit_class_narrowest_mode): Likewise.
22135 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
22136 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
22137 define BImode.
22138 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
22139 Fix handling of constm1_rtx for VECTOR_BOOL.
22140 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
22141 (native_decode_vector_rtx): Likewise.
22142 (test_vector_ops_duplicate): Skip vec_merge test
22143 with vectors of booleans.
22144 * varasm.cc (output_constant_pool_2): Likewise.
22145
22146 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22147
22148 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
22149 for operand 1.
22150
22151 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22152
22153 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
22154
22155 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22156
22157 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
22158 (REG_CLASS_NAMES): Likewise.
22159 (REG_CLASS_CONTENTS): Likewise.
22160 (CLASS_MAX_NREGS): Handle VPR.
22161 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
22162
22163 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
22164 Tom de Vries <tdevries@suse.de>
22165
22166 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
22167 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
22168 Likewise.
22169 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
22170
22171 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
22172 Tom de Vries <tdevries@suse.de>
22173
22174 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
22175 * doc/invoke.texi (-mptx): Update for new values and defaults.
22176
22177 2022-02-22 Tom de Vries <tdevries@suse.de>
22178
22179 * config/nvptx/nvptx.cc (gen_comment): New function.
22180 (workaround_uninit_method_1, workaround_uninit_method_2)
22181 (workaround_uninit_method_3): : Use gen_comment.
22182 * config/nvptx/nvptx.opt (mptx-comment): New option.
22183
22184 2022-02-22 Richard Biener <rguenther@suse.de>
22185
22186 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
22187 for a splat.
22188
22189 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
22190 Richard Biener <rguenther@suse.de>
22191
22192 * fold-const.cc (ctor_single_nonzero_element): New function to
22193 return the single non-zero element of a (vector) constructor.
22194 * fold-const.h (ctor_single_nonzero_element): Prototype here.
22195 * match.pd (reduc (constructor@0)): Simplify reductions of a
22196 constructor containing a single non-zero element.
22197 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
22198 reductions of vector operations of the same operator with
22199 constant vector operands.
22200
22201 2022-02-22 Jakub Jelinek <jakub@redhat.com>
22202
22203 PR tree-optimization/104604
22204 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
22205 Only check if gimple_assign_rhs1 is COMPLEX_CST if
22206 gimple_assign_rhs_code is COMPLEX_CST.
22207
22208 2022-02-22 Jakub Jelinek <jakub@redhat.com>
22209
22210 PR target/104612
22211 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
22212 on input operands before calling lowpart_subreg on it. For output
22213 operand, use a vmode pseudo as destination and then move its lowpart
22214 subreg into operands[0] if lowpart_subreg fails on dest.
22215 (ix86_expand_xorsign): Likewise.
22216
22217 2022-02-22 Richard Biener <rguenther@suse.de>
22218
22219 PR tree-optimization/104582
22220 PR target/99881
22221 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
22222 Cost GPR to vector register moves for integer vector construction.
22223
22224 2022-02-22 Richard Biener <rguenther@suse.de>
22225
22226 PR tree-optimization/104582
22227 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
22228 (vector_costs::add_stmt_cost): Add SLP node parameter.
22229 (dump_stmt_cost): Likewise.
22230 (add_stmt_cost): Likewise, new overload and adjust.
22231 (add_stmt_costs): Adjust.
22232 (record_stmt_cost): New overload.
22233 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
22234 (vector_costs::add_stmt_cost): Adjust.
22235 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
22236 Adjust.
22237 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
22238 the SLP node for costing.
22239 (vectorizable_slp_permutation): Likewise.
22240 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
22241 new overloads.
22242 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
22243 Adjust.
22244 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
22245 Adjust.
22246 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
22247 Adjust.
22248 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
22249
22250 2022-02-22 Richard Biener <rguenther@suse.de>
22251
22252 PR tree-optimization/104582
22253 * tree-vectorizer.h (add_stmt_cost): New overload.
22254 (record_stmt_cost): Likewise.
22255 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
22256 Use add_stmt_costs.
22257 (vect_get_known_peeling_cost): Use new overloads.
22258 (vect_estimate_min_profitable_iters): Likewise. Consistently
22259 use scalar_stmt for costing versioning checks.
22260 * tree-vect-stmts.cc (record_stmt_cost): New overload.
22261
22262 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
22263
22264 PR target/103069
22265 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
22266 Split atomic fetch and loop part.
22267 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
22268 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
22269 prototype.
22270 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
22271 expander under TARGET_RELAX_CMPXCHG_LOOP.
22272 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
22273
22274 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
22275
22276 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
22277 Change wb_candidate[12] to wb_push_candidate[12].
22278 (aarch64_layout_frame): Likewise, and
22279 change callee_adjust when scs is enabled.
22280 (aarch64_save_callee_saves):
22281 Change wb_candidate[12] to wb_push_candidate[12].
22282 (aarch64_restore_callee_saves):
22283 Change wb_candidate[12] to wb_pop_candidate[12].
22284 (aarch64_get_separate_components):
22285 Change wb_candidate[12] to wb_push_candidate[12].
22286 (aarch64_expand_prologue): Push x30 onto SCS before it's
22287 pushed onto stack.
22288 (aarch64_expand_epilogue): Pop x30 frome SCS, while
22289 preventing it from being popped from the regular stack again.
22290 (aarch64_override_options_internal): Add SCS compile option check.
22291 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
22292 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
22293 wb_pop_candidate[12], and rename wb_candidate[12] to
22294 wb_push_candidate[12].
22295 * config/aarch64/aarch64.md (scs_push): New template.
22296 (scs_pop): Likewise.
22297 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
22298 * doc/tm.texi: Regenerate.
22299 * doc/tm.texi.in: Add hook have_shadow_call_stack.
22300 * flag-types.h (enum sanitize_code):
22301 Add SANITIZE_SHADOW_CALL_STACK.
22302 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
22303 and exclude SANITIZE_SHADOW_CALL_STACK.
22304 * target.def: New hook.
22305 * toplev.cc (process_options): Add SCS compile option check.
22306 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
22307
22308 2022-02-21 Tom de Vries <tdevries@suse.de>
22309
22310 PR target/104440
22311 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
22312 (workaround_uninit_method_2, workaround_uninit_method_3)
22313 (workaround_uninit): New function.
22314 (nvptx_reorg): Use workaround_uninit.
22315 * config/nvptx/nvptx.opt (minit-regs): New option.
22316
22317 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
22318
22319 PR rtl-optimization/104498
22320 * alias.cc (compare_base_symbol_refs): Correct distance computation
22321 when swapping x and y.
22322
22323 2022-02-21 Andrew Pinski <apinski@marvell.com>
22324
22325 PR c/104506
22326 * tree-ssa.cc (tree_ssa_useless_type_conversion):
22327 Check the inner type before calling useless_type_conversion_p.
22328
22329 2022-02-19 Tom de Vries <tdevries@suse.de>
22330
22331 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
22332 * config/nvptx/nvptx.md
22333 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
22334 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
22335 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
22336 (define_expand "atomic_store<mode>"): Handle rename. Use
22337 nvptx_atomic_store instead of atomic_exchange.
22338
22339 2022-02-19 Tom de Vries <tdevries@suse.de>
22340
22341 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
22342 insns with atomic attribute. Assert that all handled insns are
22343 PARALLELs.
22344 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
22345 Set atomic attribute to false.
22346
22347 2022-02-19 Tom de Vries <tdevries@suse.de>
22348
22349 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
22350 type to bool.
22351 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
22352 nvptx_warpsync, if necessary.
22353
22354 2022-02-19 Jakub Jelinek <jakub@redhat.com>
22355
22356 PR sanitizer/102656
22357 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
22358 known to be within bounds, treat it like automatic variables.
22359 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
22360 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
22361 it addressable.
22362
22363 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
22364
22365 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
22366 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
22367 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
22368 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
22369 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
22370 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
22371 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
22372 power10_sched_reorder): Likewise.
22373 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
22374 gen_addadd): Likewise
22375 * config/rs6000/fusion.md: Regenerate.
22376
22377 2022-02-18 Jakub Jelinek <jakub@redhat.com>
22378
22379 PR target/104257
22380 PR target/104598
22381 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
22382 rather than __posix_memalign.
22383
22384 2022-02-18 Richard Biener <rguenther@suse.de>
22385
22386 PR target/104581
22387 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
22388 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
22389 of calling ix86_avx_u128_mode_source which would eventually
22390 have returned AVX_U128_ANY in some very special case.
22391
22392 2022-02-18 Richard Biener <rguenther@suse.de>
22393
22394 PR tree-optimization/96881
22395 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
22396 CLOBBER handling.
22397 (control_parents_preserved_p): New function.
22398 (eliminate_unnecessary_stmts): Check that we preserved control
22399 parents before retaining a CLOBBER.
22400 (perform_tree_ssa_dce): Pass down aggressive flag
22401 to eliminate_unnecessary_stmts.
22402
22403 2022-02-17 Jason Merrill <jason@redhat.com>
22404
22405 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
22406 on TYPE_MAIN_VARIANT.
22407
22408 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
22409
22410 PR target/104257
22411 * config/rs6000/bmi2intrin.h: Uglify local variables.
22412 * config/rs6000/emmintrin.h: Likewise.
22413 * config/rs6000/mm_malloc.h: Likewise.
22414 * config/rs6000/mmintrin.h: Likewise.
22415 * config/rs6000/pmmintrin.h: Likewise.
22416 * config/rs6000/smmintrin.h: Likewise.
22417 * config/rs6000/tmmintrin.h: Likewise.
22418 * config/rs6000/xmmintrin.h: Likewise.
22419
22420 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
22421
22422 PR target/104335
22423 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
22424 if the expected comparison's first operand is of mode MODE_CC.
22425
22426 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
22427
22428 PR rtl-optimization/104447
22429 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
22430 hard reg set by lra_no_alloc_regs.
22431
22432 2022-02-17 liuhongt <hongtao.liu@intel.com>
22433
22434 PR tree-optimization/104551
22435 PR tree-optimization/103771
22436 * match.pd (cond_expr_convert_p): Add types_match check when
22437 convert is extension.
22438 * tree-vect-patterns.cc
22439 (gimple_cond_expr_convert_p): Adjust comments.
22440 (vect_recog_cond_expr_convert_pattern): Ditto.
22441
22442 2022-02-17 Jakub Jelinek <jakub@redhat.com>
22443
22444 PR debug/104557
22445 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
22446 if expr has VOIDmode.
22447
22448 2022-02-17 liuhongt <hongtao.liu@intel.com>
22449
22450 * config/i386/cpuid.h (bit_MPX): Removed.
22451 (bit_BNDREGS): Ditto.
22452 (bit_BNDCSR): Ditto.
22453
22454 2022-02-17 Michael Meissner <meissner@the-meissners.org>
22455
22456 PR target/99708
22457 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
22458 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
22459 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
22460 is created.
22461
22462 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
22463
22464 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
22465 range_compatible_p instead of direct type comparison.
22466
22467 2022-02-16 Jakub Jelinek <jakub@redhat.com>
22468
22469 PR rtl-optimization/104544
22470 * combine.cc (try_combine): When looking for insn whose links
22471 should be updated from i3 to i2, don't stop on debug insns, instead
22472 skip over them.
22473
22474 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
22475
22476 PR target/100056
22477 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
22478 * config/aarch64/aarch64.md: Extend the PR100056 patterns
22479 to handle plus in the same way as ior, if the operands have
22480 no set bits in common.
22481
22482 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
22483
22484 PR tree-optimization/104526
22485 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
22486 new routine.
22487 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
22488 of dependency chain if there isn't one.
22489 (gori_compute::condexpr_adjust): New.
22490 * gimple-range-gori.h (class gori_compute): New prototype.
22491
22492 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22493
22494 PR target/100874
22495 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
22496 Declare.
22497 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
22498 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
22499
22500 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22501
22502 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
22503 (vect_scalar_ops_slice_hash): Likewise.
22504 (vect_scalar_ops_slice::op): New function.
22505 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
22506 (vect_scalar_ops_slice_hash::hash): Likewise.
22507 (vect_scalar_ops_slice_hash::equal): Likewise.
22508 (vect_prologue_cost_for_slp): Check for duplicate vectors.
22509 * config/aarch64/aarch64.cc
22510 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
22511 (aarch64_aligned_constant_offset_p): New function.
22512 (aarch64_stp_sequence_cost): Likewise.
22513 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
22514 (aarch64_vector_costs::finish_cost): Likewise.
22515
22516 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22517
22518 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
22519 use after free.
22520
22521 2022-02-15 Richard Biener <rguenther@suse.de>
22522
22523 PR tree-optimization/104543
22524 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
22525 come after the inner loop.
22526
22527 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22528
22529 PR target/104536
22530 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
22531 cannot instead of can%'t in diagnostics. Formatting fixes.
22532
22533 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22534
22535 PR middle-end/104522
22536 * fold-const.h (native_interpret_real): Declare.
22537 * fold-const.cc (native_interpret_real): No longer static. Don't
22538 perform MODE_COMPOSITE_P verification here.
22539 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
22540 for all modes.
22541 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
22542 instead of native_interpret_expr.
22543 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
22544 and comparison verification for all FLOAT_MODE_P modes, not just
22545 MODE_COMPOSITE_P.
22546
22547 2022-02-15 Richard Biener <rguenther@suse.de>
22548
22549 PR tree-optimization/104519
22550 * fold-const.cc (multiple_of_p): Remove never true condition.
22551 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
22552 the appropriate types for determining whether the difference
22553 of final and base is a multiple of the step.
22554
22555 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22556
22557 PR debug/104517
22558 * omp-low.cc (task_cpyfns): New variable.
22559 (delete_omp_context): Don't call finalize_task_copyfn from here.
22560 (create_task_copyfn): Push task_stmt into task_cpyfns.
22561 (execute_lower_omp): Call finalize_task_copyfn here on entries from
22562 task_cpyfns vector and release the vector.
22563
22564 2022-02-14 Martin Sebor <msebor@redhat.com>
22565
22566 PR middle-end/104355
22567 * doc/invoke.texi (-Warray-bounds): Update documentation.
22568
22569 2022-02-14 Michael Meissner <meissner@the-meissners.org>
22570
22571 PR target/104253
22572 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
22573 conversion functions used to convert IFmode types.
22574
22575 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
22576
22577 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
22578
22579 2022-02-14 Richard Biener <rguenther@suse.de>
22580
22581 PR tree-optimization/104528
22582 * tree-ssa.h (find_released_ssa_name): Declare.
22583 * tree-ssa.cc (find_released_ssa_name): Export.
22584 * cfgloop.cc (verify_loop_structure): Look for released
22585 SSA names in loops nb_iterations.
22586 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
22587 estimates.
22588
22589 2022-02-14 Richard Biener <rguenther@suse.de>
22590
22591 PR tree-optimization/104511
22592 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
22593 touching DFP <-> FP conversions.
22594
22595 2022-02-14 Richard Biener <rguenther@suse.de>
22596
22597 PR middle-end/104497
22598 * gimplify.cc (gimplify_compound_lval): Make sure the
22599 base is a non-register if needed and possible.
22600
22601 2022-02-13 liuhongt <hongtao.liu@intel.com>
22602
22603 PR target/103771
22604 * match.pd (cond_expr_convert_p): New match.
22605 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
22606 (vect_recog_cond_expr_convert_pattern): New.
22607
22608 2022-02-12 Jakub Jelinek <jakub@redhat.com>
22609
22610 PR sanitizer/104449
22611 * asan.cc: Include tree-eh.h.
22612 (handle_builtin_alloca): Handle the case when __builtin_alloca or
22613 __builtin_alloca_with_align can throw.
22614
22615 2022-02-12 Jakub Jelinek <jakub@redhat.com>
22616
22617 PR target/104502
22618 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
22619 and AVX512VL isn't available, move operands[1] to operands[0] first.
22620
22621 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
22622
22623 PR target/79754
22624 * config/i386/i386.cc (type_natural_mode):
22625 Skip decimal float vector modes.
22626
22627 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
22628 Vladimir Makarov <vmakarov@redhat.com>
22629
22630 PR target/104117
22631 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
22632 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
22633 emitting PIC code.
22634 (legitimate_lo_sum_address_p): Likewise.
22635 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
22636 load from an invalid lo_sum address.
22637
22638 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22639
22640 PR tree-optimization/104499
22641 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
22642 of convert.
22643
22644 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22645
22646 * tree.cc (build_common_builtin_nodes): Fix up formatting in
22647 __builtin_clear_padding decl creation.
22648 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
22649 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
22650 argument rather than in 3rd argument.
22651 (gimplify_call_expr): Likewise. Fix up comment formatting.
22652 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
22653 2 arguments instead of 3, take for_auto_init from the value
22654 of 2nd argument.
22655
22656 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
22657
22658 PR rtl-optimization/104400
22659 * lra-constraints.cc (process_alt_operands): Don't make union of
22660 this_alternative_exclude_start_hard_regs when reg class in insn
22661 alternative covers other reg classes in the same alternative.
22662
22663 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22664
22665 PR middle-end/104446
22666 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
22667 operands.
22668
22669 2022-02-11 Richard Biener <rguenther@suse.de>
22670
22671 PR middle-end/104496
22672 * internal-fn.cc (vectorized_internal_fn_supported_p):
22673 Bail out for integer mode vector types.
22674
22675 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22676
22677 PR rtl-optimization/104459
22678 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
22679 moving DEBUG_INSNs between bbs.
22680
22681 2022-02-11 liuhongt <hongtao.liu@intel.com>
22682
22683 PR tree-optimization/104479
22684 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
22685 for the dest of uncond_op.
22686
22687 2022-02-11 Tom de Vries <tdevries@suse.de>
22688
22689 PR target/104456
22690 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
22691 insn.
22692
22693 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
22694
22695 PR middle-end/100775
22696 * function.cc (gen_call_used_regs_seq): Call
22697 df_update_exit_block_uses when updating df.
22698
22699 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
22700
22701 PR target/104469
22702 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
22703 Change operand 1 constraint to register_operand.
22704
22705 2022-02-10 Richard Biener <rguenther@suse.de>
22706
22707 PR tree-optimization/104373
22708 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
22709 walk kind.
22710 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
22711 walk kind as argument.
22712 (run_rpo_vn): Adjust.
22713 (pass_fre::execute): Likewise.
22714 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
22715 blocks not reachable.
22716 (execute_late_warn_uninitialized): Mark all edges as
22717 executable.
22718 (execute_early_warn_uninitialized): Use VN to compute
22719 executable edges.
22720 (pass_data_early_warn_uninitialized): Enable a dump file,
22721 change dump name to warn_uninit.
22722
22723 2022-02-10 Richard Biener <rguenther@suse.de>
22724
22725 PR middle-end/104467
22726 * match.pd (vector extract simplification): Multiply the
22727 number of CTOR elements with the number of element elements.
22728
22729 2022-02-10 Richard Biener <rguenther@suse.de>
22730
22731 PR tree-optimization/104466
22732 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
22733 for the MR_DEPENDENCE checks as intended.
22734
22735 2022-02-10 Tom de Vries <tdevries@suse.de>
22736
22737 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
22738 define_insn.
22739 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
22740 TARGET_SM70.
22741 (define_c_enum "unspecv"): Add UNSPECV_ST.
22742
22743 2022-02-10 Tom de Vries <tdevries@suse.de>
22744
22745 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
22746 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
22747 (nvptx_mem_maybe_shared_p): New function.
22748 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
22749 define_expand.
22750
22751 2022-02-10 Tom de Vries <tdevries@suse.de>
22752
22753 PR target/97005
22754 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
22755 driver JIT bug by using sub.s16 instead of sub.u16.
22756
22757 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22758
22759 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
22760 floating point constants as operands 1 and/or 2.
22761
22762 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22763
22764 PR target/104345
22765 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
22766 (sel_false<mode>): Likewise.
22767 (define_code_iterator eqne): New code iterator for EQ and NE.
22768 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
22769 the negation of a selp instruction.
22770 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
22771 the bitwise not of a selp instruction.
22772 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
22773
22774 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22775
22776 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
22777 in machine description.
22778 (logic): Move code attribute earlier in machine description.
22779 (ilogic): New code attribute, like logic but "ior" for IOR.
22780 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
22781 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
22782 (<ilogic>bi3): New define_insn for BI mode logic operations.
22783 (define_split): Lower logic operations from integer modes to
22784 BI mode predicate operations.
22785
22786 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22787
22788 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
22789 (one_cmplbi2): New define_insn for not.pred.
22790 (mulditi3): New define_expand for signed widening multiply.
22791 (umulditi3): New define_expand for unsigned widening multiply.
22792 (smul<mode>3_highpart): New define_insn for signed highpart mult.
22793 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
22794 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
22795 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
22796 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
22797 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
22798 (*setcc<mode>_from_not_bi): New define_insn.
22799 (*setcc_isinf<mode>): New define_insn for testp.infinite.
22800 (isinf<mode>2): New define_expand.
22801
22802 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22803
22804 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
22805 (setcc<mode>_from_bi): Additionally support QImode.
22806 (extendbi<mode>2): Additionally support QImode.
22807 (zero_extendbi<mode>2): Additionally support QImode.
22808 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
22809 iterators for signed and unsigned, binary and unary operations.
22810 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
22811 expanders to perform QImode operations using SImode instructions.
22812 (cstoreqi4): New define_expand.
22813 (*ext_truncsi2_qi): New define_insn.
22814 (*zext_truncsi2_qi): New define_insn.
22815
22816 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22817
22818 * config/nvptx/nvptx.md (*cmpf): New define_insn.
22819 (cstorehf4): New define_expand.
22820 (fmahf4): New define_insn.
22821 (neghf2): New define_insn.
22822 (abshf2): New define_insn.
22823
22824 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
22825
22826 * doc/install.texi (Specific): Change the www.bitwizard.nl
22827 reference to use https.
22828
22829 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
22830
22831 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
22832 OMP_CLAUSE_HAS_DEVICE_ADDR
22833 and handle array sections.
22834 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
22835 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
22836 (lower_omp_target): Same.
22837 * tree-core.h (enum omp_clause_code): Same.
22838 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
22839 (convert_local_omp_clauses): Same.
22840 * tree-pretty-print.cc (dump_omp_clause): Same.
22841 * tree.cc: Same.
22842
22843 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
22844
22845 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
22846 that will result in direct recursive calls.
22847
22848 2022-02-10 Andrew Pinski <apinski@marvell.com>
22849
22850 PR target/104474
22851 * config/aarch64/aarch64.cc
22852 (aarch64_sve_expand_vector_init_handle_trailing_constants):
22853 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
22854
22855 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
22856
22857 PR target/104462
22858 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
22859 Also include OPTION_MASK_ISA2_AVX2_UNSET.
22860
22861 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
22862
22863 PR target/104458
22864 * config/i386/i386-expand.cc (ix86_split_idivmod):
22865 Force operands[2] and operands[3] into a register..
22866
22867 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
22868
22869 PR target/97040
22870 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
22871 (*v850_fnmssf4): Renamed from fnmssf4
22872
22873 2022-02-09 Ian Lance Taylor <iant@golang.org>
22874
22875 * godump.cc (go_force_record_alignment): Really name the alignment
22876 field "_" (complete 2021-12-29 change).
22877
22878 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
22879
22880 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
22881 function prototype.
22882 (VREPLACE_UN_UV4SI): Likewise.
22883 (VREPLACE_UN_V2DF): Likewise.
22884 (VREPLACE_UN_V2DI): Likewise.
22885 (VREPLACE_UN_V4SF): Likewise.
22886 (VREPLACE_UN_V4SI): Likewise.
22887 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
22888 function prototypes.
22889 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
22890 (vreplace_un_<mode>): New define_insn.
22891
22892 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22893
22894 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
22895 (VDBL): Handle SF.
22896 (single_wx, single_type, single_dtype, dblq): New mode attributes.
22897 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
22898 from VDC to VDCSIF.
22899 (store_pair_lanes<mode>): Likewise.
22900 (*aarch64_combine_internal<mode>): Likewise.
22901 (*aarch64_combine_internal_be<mode>): Likewise.
22902 (*aarch64_combinez<mode>): Likewise.
22903 (*aarch64_combinez_be<mode>): Likewise.
22904 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
22905 8-byte modes for ADDR_QUERY_LDP_STP_N.
22906 (aarch64_print_operand): Likewise for %y.
22907
22908 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22909
22910 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
22911 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
22912 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
22913 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
22914 (vec_pack_trunc_<mode>): Take general_operand elements and use
22915 aarch64_combine rather than move_lo/hi_quad to combine them.
22916 (vec_pack_trunc_df): Likewise.
22917
22918 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22919
22920 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
22921 Delete.
22922 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
22923 to...
22924 (*aarch64_combinez<mode>): ...this.
22925 (@aarch64_combinez_be<mode>): Rename to...
22926 (*aarch64_combinez_be<mode>): ...this.
22927 (@aarch64_vec_concat<mode>): New expander.
22928 (aarch64_combine<mode>): Use it.
22929 (@aarch64_simd_combine<mode>): Delete.
22930 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
22931 (aarch64_expand_vector_init): Use aarch64_vec_concat.
22932
22933 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22934
22935 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
22936 New predicate.
22937 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
22938 (*aarch64_combine_internal_be<mode>): New patterns.
22939
22940 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22941
22942 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
22943 (move_lo_quad_internal_be_<mode>): Delete.
22944 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
22945
22946 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22947
22948 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
22949 Declare.
22950 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
22951 aarch64_mergeable_load_pair_p instead of inline check.
22952 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
22953 (aarch64_check_consecutive_mems): Allow the reversed parameter
22954 to be null.
22955 (aarch64_mergeable_load_pair_p): New function.
22956
22957 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22958
22959 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
22960 element to be an aarch64_simd_nonimmediate_operand.
22961
22962 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22963
22964 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
22965 aarch64_simd_nonimmediate_operand instead of
22966 aarch64_simd_general_operand.
22967 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
22968 general_operand.
22969 (@aarch64_combinez_be<mode>): Likewise.
22970
22971 2022-02-09 Richard Biener <rguenther@suse.de>
22972
22973 PR middle-end/104464
22974 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
22975 throwing check to after unproblematic replacement.
22976
22977 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
22978
22979 PR tree-optimization/104420
22980 * match.pd (mult @0 real_zerop): Tweak conditions for constant
22981 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
22982
22983 2022-02-09 Jakub Jelinek <jakub@redhat.com>
22984
22985 PR debug/104407
22986 * dwarf2out.cc (mangle_referenced_decls): New function.
22987 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
22988 early_dwarf. Instead walk the initializer and try to mangle vars or
22989 functions referenced from it.
22990
22991 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
22992
22993 PR tree-optimization/104288
22994 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
22995 (non_null_ref::adjust_range): Move to header.
22996 (ranger_cache::range_of_def): Don't check non-null.
22997 (ranger_cache::entry_range): Don't check non-null.
22998 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
22999 (ranger_cache::update_to_nonnull): New.
23000 (non_null_loadstore): New.
23001 (ranger_cache::block_apply_nonnull): New.
23002 * gimple-range-cache.h (class non_null_ref): Update prototypes.
23003 (non_null_ref::adjust_range): Move to here and inline.
23004 (class ranger_cache): Update prototypes.
23005 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
23006 not search dominators.
23007 (path_range_query::adjust_for_non_null_uses): Ditto.
23008 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
23009 def overrides. Do not check nonnull.
23010 (gimple_ranger::range_on_entry): Check dominators for nonnull.
23011 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
23012 (gimple_ranger::register_side_effects): New.
23013 * gimple-range.h (gimple_ranger::register_side_effects): New.
23014 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
23015
23016 2022-02-09 Richard Biener <rguenther@suse.de>
23017
23018 PR tree-optimization/104445
23019 PR tree-optimization/102832
23020 * optabs-query.h (can_vec_extract): New.
23021 * optabs-query.cc (can_vec_extract): Likewise.
23022 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
23023 we can extract a hi/lo part from the larger vector, rework
23024 check iteration from larger to smaller sizes.
23025
23026 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
23027
23028 PR target/35513
23029 PR target/100593
23030 * config/i386/gnu-property.cc: Include "i386-protos.h".
23031 (file_end_indicate_exec_stack_and_gnu_property): Generate
23032 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
23033 nodirect_extern_access attribute.
23034 * config/i386/i386-options.cc
23035 (handle_nodirect_extern_access_attribute): New function.
23036 (ix86_attribute_table): Add nodirect_extern_access attribute.
23037 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
23038 bool argument.
23039 (ix86_has_no_direct_extern_access): New.
23040 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
23041 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
23042 call operand. Force non-call load from GOT for
23043 -mno-direct-extern-access or nodirect_extern_access attribute.
23044 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
23045 for -mno-direct-extern-access or nodirect_extern_access attribute.
23046 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
23047 for call operand.
23048 (asm_preferred_eh_data_format): Use PC-relative format for
23049 -mno-direct-extern-access to avoid copy relocation. Check
23050 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
23051 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
23052 true for -mno-direct-extern-access or nodirect_extern_access
23053 attribute. Don't treat protected data as extern and avoid copy
23054 relocation on common symbol with -mno-direct-extern-access or
23055 nodirect_extern_access attribute.
23056 (ix86_reloc_rw_mask): New to avoid copy relocation for
23057 -mno-direct-extern-access.
23058 (TARGET_ASM_RELOC_RW_MASK): New.
23059 * config/i386/i386.opt: Add -mdirect-extern-access.
23060 * doc/extend.texi: Document nodirect_extern_access attribute.
23061 * doc/invoke.texi: Document -m[no-]direct-extern-access.
23062
23063 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
23064
23065 PR target/104441
23066 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
23067 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
23068 Call ix86_avx_u128_mode_source to check mode for each component
23069 of source operand.
23070
23071 2022-02-09 liuhongt <hongtao.liu@intel.com>
23072
23073 PR target/104451
23074 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
23075 operands[2] from SImode to QImode.
23076
23077 2022-02-09 Richard Biener <rguenther@suse.de>
23078
23079 PR middle-end/104450
23080 * gimple-isel.cc: Pass cfun around.
23081 (+gimple_expand_vec_cond_expr): Do not combine a throwing
23082 comparison with the select.
23083
23084 2022-02-09 Richard Biener <rguenther@suse.de>
23085
23086 PR target/104453
23087 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
23088 folding for NULL LHS.
23089
23090 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23091
23092 PR rtl-optimization/104198
23093 PR rtl-optimization/104153
23094 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
23095 using it directly. Rework comparison handling and always
23096 perform a second pass.
23097
23098 2022-02-08 Jakub Jelinek <jakub@redhat.com>
23099
23100 PR target/102140
23101 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
23102 split1 pass has finished already.
23103
23104 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
23105
23106 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
23107 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
23108 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
23109 (vmsumcud): New define_insn.
23110
23111 2022-02-08 Tom de Vries <tdevries@suse.de>
23112
23113 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
23114 * config/nvptx/nvptx.h (TARGET_SM70): Define.
23115
23116 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23117
23118 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
23119 on condition.
23120 * config/s390/s390.md: Use paradoxical subreg.
23121
23122 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23123
23124 * combine.cc (reg_subword_p): Check for paradoxical subreg.
23125
23126 2022-02-08 Tom de Vries <tdevries@suse.de>
23127
23128 PR target/104283
23129 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
23130 and PTX_VERSION_4_2.
23131 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
23132 (default_ptx_version_option, ptx_version_to_string)
23133 (sm_version_to_string, handle_ptx_version_option): New function.
23134 (nvptx_option_override): Call handle_ptx_version_option.
23135 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
23136 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
23137 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
23138 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
23139
23140 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
23141
23142 * doc/install.texi (Configuration): Document `--with-isa-spec='
23143 RISC-V option.
23144 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
23145 option.
23146 (RISC-V Options): Document it.
23147
23148 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
23149
23150 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
23151
23152 2022-02-08 Tom de Vries <tdevries@suse.de>
23153
23154 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
23155
23156 2022-02-08 Tom de Vries <tdevries@suse.de>
23157
23158 PR target/104364
23159 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
23160 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
23161 change is validated.
23162 (nvptx_mem_local_p): New function.
23163 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
23164 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
23165 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
23166 non-atomic, non-predicable define_insn, factored out of ...
23167 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
23168 Make predicable again.
23169 (define_expand "atomic_compare_and_swap<mode>"): Use
23170 atomic_compare_and_swap<mode>_1_local.
23171
23172 2022-02-08 liuhongt <hongtao.liu@intel.com>
23173
23174 PR rtl-optimization/104059
23175 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
23176 for a more expensive reg-reg move.
23177
23178 2022-02-07 Tamar Christina <tamar.christina@arm.com>
23179
23180 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
23181 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
23182 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
23183 (usdot_laneq, sudot_laneq): New.
23184 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
23185 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
23186
23187 2022-02-07 Tamar Christina <tamar.christina@arm.com>
23188
23189 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
23190 vdot_laneq_s32, vdotq_laneq_s32): New.
23191 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
23192 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
23193 (<sup>dot_prod<vsi2qi>): Re-order rtl.
23194 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
23195 (neon_<sup>dot_laneq<vsi2qi>): New.
23196
23197 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
23198
23199 PR target/104327
23200 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
23201 if always_inline is set. Don't inline when tune differs without
23202 always_inline.
23203
23204 2022-02-07 Richard Biener <rguenther@suse.de>
23205
23206 PR middle-end/104402
23207 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
23208 compares are not valid.
23209 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
23210 check is_gimple_condexpr.
23211
23212 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
23213
23214 PR target/103627
23215 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
23216 hunk affecting VSX and ALTIVEC to appropriate place.
23217
23218 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
23219
23220 PR target/103627
23221 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
23222 MMA if !TARGET_VSX.
23223
23224 2022-02-06 Jakub Jelinek <jakub@redhat.com>
23225
23226 PR c++/89074
23227 PR c++/104033
23228 * fold-const.h (folding_initializer): Adjust comment.
23229 (folding_cxx_constexpr): Declare.
23230 * fold-const.cc (folding_initializer): Adjust comment.
23231 (folding_cxx_constexpr): New variable.
23232 (address_compare): Restrict the decl vs. STRING_CST
23233 or vice versa or STRING_CST vs. STRING_CST or
23234 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
23235 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
23236 assume non-aliased functions have non-zero size and have different
23237 addresses. For folding_cxx_constexpr, punt on comparisons of start
23238 of some object and end of another one, regardless whether it is a decl
23239 or string literal. Also punt for folding_cxx_constexpr on
23240 STRING_CST vs. STRING_CST comparisons if the two literals could be
23241 overlapping.
23242
23243 2022-02-05 Jakub Jelinek <jakub@redhat.com>
23244
23245 PR tree-optimization/104389
23246 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
23247 honored.
23248
23249 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
23250
23251 * configure.ac: Fix detection for zifencei support.
23252 * configure: Regenerate.
23253
23254 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
23255
23256 PR target/104219
23257 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
23258 (all_defaults): Add isa_spec.
23259 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
23260
23261 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
23262
23263 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
23264 parameters instead of arglist and nargs. Simplify accordingly. Remove
23265 unnecessary test for argument count mismatch.
23266 (resolve_vec_cmpne): Likewise.
23267 (resolve_vec_adde_sube): Likewise.
23268 (resolve_vec_addec_subec): Likewise.
23269 (altivec_resolve_overloaded_builtin): Move overload special handling
23270 after the gathering of arguments into args[] and types[] and the test
23271 for correct number of arguments. Don't perform the test for correct
23272 number of arguments for certain special cases. Call the other special
23273 cases with args and types instead of arglist and nargs.
23274
23275 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
23276
23277 PR target/100808
23278 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
23279 3.1): Provide consistent type names. Remove unnecessary semicolons.
23280 Fix bad line breaks.
23281
23282 2022-02-04 Jakub Jelinek <jakub@redhat.com>
23283
23284 PR target/104380
23285 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
23286 adjust mangling of __builtin*printf_chk.
23287
23288 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
23289
23290 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
23291
23292 2022-02-04 Richard Biener <rguenther@suse.de>
23293 Bin Cheng <bin.cheng@linux.alibaba.com>
23294
23295 PR tree-optimization/100499
23296 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
23297 to true.
23298 * fold-const.cc (multiple_of_p): Likewise. Honor it for
23299 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
23300 switching to false for conversions.
23301 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
23302 claim the outermost expression does not wrap when calling
23303 multiple_of_p. Refactor the check done to check the
23304 original IV, avoiding a bias that might wrap.
23305
23306 2022-02-04 Richard Biener <rguenther@suse.de>
23307
23308 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
23309 handling.
23310
23311 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
23312
23313 PR debug/104366
23314 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
23315 (dwarf2out_early_finish): Likewise.
23316
23317 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
23318
23319 PR tree-optimization/104356
23320 * match.pd (X / bool_range_Y is X): Add guard.
23321 (X / X is one): Likewise.
23322 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
23323 (X / -X is -1): Likewise.
23324 (1 / X -> X == 1): Likewise.
23325
23326 2022-02-04 Richard Biener <rguenther@suse.de>
23327
23328 PR tree-optimization/103641
23329 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
23330 Pass the vector mode to choose_mult_variant.
23331
23332 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
23333
23334 PR rtl-optimization/101885
23335 * combine.cc (try_combine): When splitting a parallel into two
23336 sequential sets, check not only that the first doesn't clobber
23337 the second but also that the second doesn't clobber the first.
23338
23339 2022-02-04 Richard Biener <rguenther@suse.de>
23340
23341 PR middle-end/90348
23342 PR middle-end/104092
23343 * tree-core.h (clobber_kind): New enum.
23344 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
23345 * tree.h (CLOBBER_KIND): Add.
23346 (build_clobber): Add clobber kind argument, defaulted to
23347 CLOBBER_UNDEF.
23348 * tree.cc (build_clobber): Likewise.
23349 * gimple.h (gimple_clobber_p): New overload with specified kind.
23350 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
23351 CLOBBER_KIND.
23352 * tree-streamer-out.cc (streamer_write_tree_bitfields):
23353 Likewise.
23354 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
23355 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
23356 with CLOBBER_EOL.
23357 (gimplify_target_expr): Likewise.
23358 * tree-inline.cc (expand_call_inline): Likewise.
23359 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
23360 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
23361 CLOBBER_EOL clobbers as ending lifetime of storage.
23362
23363 2022-02-04 Martin Sebor <msebor@redhat.com>
23364
23365 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
23366 cleanup.
23367
23368 2022-02-03 Martin Sebor <msebor@redhat.com>
23369
23370 PR middle-end/104260
23371 * passes.def (pass_warn_access): Adjust pass placement.
23372
23373 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
23374
23375 PR target/104362
23376 * config/i386/i386.cc (find_drap_reg): For 32bit targets
23377 return DI_REG if function uses __builtin_eh_return.
23378
23379 2022-02-03 Martin Sebor <msebor@redhat.com>
23380
23381 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
23382 (pass_wrestrict::m_ptr_qry): New member.
23383 (wrestrict_walk): Rename...
23384 (pass_wrestrict::check_block): ...to this.
23385 (pass_wrestrict::execute): Set up and tear down pointer_query and
23386 ranger.
23387 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
23388 (builtin_access::builtin_access): Same.
23389 (builtin_access::m_ptr_qry): New member.
23390 (check_call): Rename...
23391 (pass_wrestrict::check_call): ...to this.
23392 (check_bounds_or_overlap): Change argument.
23393 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
23394
23395 2022-02-03 Martin Sebor <msebor@redhat.com>
23396
23397 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
23398 Define ctor.
23399 (array_bounds_checker::get_value_range): Use new member.
23400 (array_bounds_checker::check_mem_ref): Same.
23401 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
23402 Outline ctor.
23403 (array_bounds_checker::m_ptr_query): New member.
23404
23405 2022-02-03 Martin Sebor <msebor@redhat.com>
23406
23407 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
23408 pointer_query cache.
23409 * pointer-query.cc (pointer_query::pointer_query): Remove cache
23410 argument. Zero-initialize new cache member.
23411 (pointer_query::get_ref): Replace cache pointer with direct access.
23412 (pointer_query::put_ref): Same.
23413 (pointer_query::flush_cache): Same.
23414 (pointer_query::dump): Same.
23415 * pointer-query.h (class pointer_query): Remove cache argument from
23416 ctor. Change cache pointer to cache subobject member.
23417 * tree-ssa-strlen.cc: Remove pointer_query cache.
23418
23419 2022-02-03 Martin Sebor <msebor@redhat.com>
23420
23421 PR tree-optimization/104119
23422 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
23423 (format_none): Same.
23424 (format_percent): Same.
23425 (format_integer): Same.
23426 (format_floating): Same.
23427 (get_string_length): Same.
23428 (format_character): Same.
23429 (format_string): Same.
23430 (format_plain): Same.
23431 (format_directive): Same.
23432 (compute_format_length): Same.
23433 (handle_printf_call): Same.
23434 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
23435 get_maxbound.
23436 (get_range_strlen_phi): Same.
23437 (get_maxbound): New function.
23438 (strlen_pass::get_len_or_size): Adjust to parameter change.
23439 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
23440
23441 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23442
23443 PR target/103686
23444 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
23445 test for !rs6000_fold_gimple.
23446 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
23447 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
23448
23449 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23450
23451 PR target/95082
23452 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
23453 endianness for vclzlsbb and vctzlsbb.
23454 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
23455 default pattern and indicate a different pattern will be used for
23456 big endian.
23457 (VCLZLSBB_V4SI): Likewise.
23458 (VCLZLSBB_V8HI): Likewise.
23459 (VCTZLSBB_V16QI): Likewise.
23460 (VCTZLSBB_V4SI): Likewise.
23461 (VCTZLSBB_V8HI): Likewise.
23462
23463 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23464
23465 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
23466 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
23467 from other files.
23468 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
23469 rs6000-builtin.cc.
23470 (cpu_supports_info): Likewise.
23471 (rs6000_type_string): Likewise.
23472 (altivec_expand_predicate_builtin): Likewise.
23473 (rs6000_htm_spr_icode): Likewise.
23474 (altivec_expand_vec_init_builtin): Likewise.
23475 (get_element_number): Likewise.
23476 (altivec_expand_vec_set_builtin): Likewise.
23477 (altivec_expand_vec_ext_builtin): Likewise.
23478 (rs6000_invalid_builtin): Likewise.
23479 (rs6000_fold_builtin): Likewise.
23480 (fold_build_vec_cmp): Likewise.
23481 (fold_compare_helper): Likewise.
23482 (map_to_integral_tree_type): Likewise.
23483 (fold_mergehl_helper): Likewise.
23484 (fold_mergeeo_helper): Likewise.
23485 (rs6000_builtin_valid_without_lhs): Likewise.
23486 (rs6000_builtin_is_supported): Likewise.
23487 (rs6000_gimple_fold_mma_builtin): Likewise.
23488 (rs6000_gimple_fold_builtin): Likewise.
23489 (rs6000_expand_ldst_mask): Likewise.
23490 (cpu_expand_builtin): Likewise.
23491 (elemrev_icode): Likewise.
23492 (ldv_expand_builtin): Likewise.
23493 (lxvrse_expand_builtin): Likewise.
23494 (lxvrze_expand_builtin): Likewise.
23495 (stv_expand_builtin): Likewise.
23496 (mma_expand_builtin): Likewise.
23497 (htm_spr_num): Likewise.
23498 (htm_expand_builtin): Likewise.
23499 (rs6000_expand_builtin): Likewise.
23500 (rs6000_vector_type): Likewise.
23501 (rs6000_init_builtins): Likewise. Remove initialization of
23502 builtin_mode_to_type entries.
23503 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
23504 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
23505 external declaration.
23506 (rs6000_builtin_md_vectorized_function): Likewise.
23507 (rs6000_builtin_reciprocal): Likewise.
23508 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
23509 (rs6000_builtin_types): Likewise.
23510 (builtin_mode_to_type): Remove.
23511 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
23512 static qualifier.
23513 (rs6000_builtin_md_vectorized_function): Likewise.
23514 (rs6000_builtin_reciprocal): Likewise.
23515 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
23516 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
23517
23518 2022-02-03 Richard Biener <rguenther@suse.de>
23519
23520 PR debug/104337
23521 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
23522 together via DECL_ABSTRACT_ORIGIN.
23523
23524 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23525
23526 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
23527 message for RES_BITS case.
23528
23529 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
23530
23531 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
23532
23533 2022-02-03 Jakub Jelinek <jakub@redhat.com>
23534
23535 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
23536 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
23537
23538 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
23539
23540 * cfganal.cc (verify_marked_backedges): New.
23541 * cfganal.h (verify_marked_backedges): New.
23542 * gimple-range-path.cc (path_range_query::path_range_query):
23543 Verify freshness of back edges.
23544 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
23545 mark_dfs_back_edges.
23546 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
23547 path_range_query construction after backedges have been
23548 updated.
23549
23550 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
23551
23552 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
23553 VALL to VALL_F16.
23554
23555 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
23556
23557 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
23558 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
23559 of VALL_F16MOV.
23560
23561 2022-02-03 Martin Liska <mliska@suse.cz>
23562
23563 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
23564 Change subject and object in the error message.
23565 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
23566 Likewise.
23567
23568 2022-02-03 Martin Liska <mliska@suse.cz>
23569
23570 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
23571 Use the error message for i386 target.
23572
23573 2022-02-03 Jakub Jelinek <jakub@redhat.com>
23574
23575 PR tree-optimization/104334
23576 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
23577 and rh_range type to widest_int and subtract in widest_int. Remove
23578 ov_rh, ov_lh and sign vars, always perform comparisons as signed
23579 and use >, < and == operators for it.
23580
23581 2022-02-03 Martin Sebor <msebor@redhat.com>
23582
23583 * common.opt (-Wuse-after-free): Correct typos.
23584
23585 2022-02-02 David Malcolm <dmalcolm@redhat.com>
23586
23587 PR analyzer/104270
23588 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
23589 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
23590 -ftrivial-auto-var-init= doesn't suppress warnings.
23591
23592 2022-02-02 Martin Liska <mliska@suse.cz>
23593
23594 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
23595
23596 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
23597
23598 PR target/94372
23599 * config/or1k/linux.h (CPP_SPEC): Define.
23600
23601 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23602
23603 PR tree-optimization/102819
23604 PR tree-optimization/103169
23605 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
23606 canonical order.
23607
23608 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23609
23610 PR tree-optimization/102819
23611 PR tree-optimization/103169
23612 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
23613 canonical order.
23614 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
23615
23616 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23617
23618 PR tree-optimization/102819
23619 PR tree-optimization/103169
23620 * doc/md.texi: Update docs for cfms, cfma.
23621 * tree-data-ref.h (same_data_refs): Accept optional offset.
23622 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
23623 patterns.
23624 (vect_normalize_conj_loc): Remove.
23625 (is_eq_or_top): Change to take two nodes.
23626 (enum _conj_status, compatible_complex_nodes_p,
23627 vect_validate_multiplication): New.
23628 (class complex_add_pattern, complex_add_pattern::matches,
23629 complex_add_pattern::recognize, class complex_mul_pattern,
23630 complex_mul_pattern::recognize, class complex_fms_pattern,
23631 complex_fms_pattern::recognize, class complex_operations_pattern,
23632 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
23633 new cache.
23634 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
23635 cache and use new validation code.
23636 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
23637 vect_analyze_slp): Pass along cache.
23638 (compatible_calls_p): Expose.
23639 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
23640 slp_compat_nodes_map_t): New.
23641 (class vect_pattern): Update signatures include new cache.
23642
23643 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23644
23645 * config/cris/cris.cc (cris_preferred_reload_class): Reject
23646 "eliminated" registers and small-enough constants unless
23647 reloaded into a class that is a subset of GENERAL_REGS.
23648 * config/cris/cris.md (attribute "cpu_variant"): New.
23649 (attribute "enabled"): Conditionalize on a matching attribute
23650 cpu_variant, if specified.
23651 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
23652 memory, add cpu-variant-enabled variants for "r" alternatives on
23653 the far side of the "x" alternatives, preferring the "x" ones
23654 only for variants where MOF is present (in addition to SRP).
23655
23656 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23657
23658 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
23659 extra cost for ALL_REGS.
23660
23661 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23662
23663 * config/cris/constraints.md (define_register_constraint "b"): Now
23664 GENERAL_REGS.
23665 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
23666 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
23667 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
23668 and SPEC_GENNONACR_REGS.
23669 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
23670 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
23671
23672 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23673
23674 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
23675 Conditionalize on (sub-)register operands or operand 1 being 0.
23676
23677 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23678
23679 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
23680 (MUL_BUG_ASM_DEFAULT): New macro.
23681 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
23682 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
23683 accordingly.
23684
23685 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
23686
23687 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
23688 to 10 for AutoFDO.
23689
23690 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
23691
23692 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
23693
23694 2022-02-01 Andrew Pinski <apinski@marvell.com>
23695
23696 * doc/install.texi:
23697
23698 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
23699
23700 * config/s390/s390.cc (s390_code_end): Do not switch back to
23701 code section.
23702
23703 2022-02-01 Jakub Jelinek <jakub@redhat.com>
23704
23705 PR target/104323
23706 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
23707 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
23708 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
23709 GTY((user)) for struct bifdata and struct ovlddata. Instead add
23710 GTY((skip(""))) to members with pointer and enum types that don't need
23711 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
23712 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
23713 (write_extern_fntype, write_fntype): Remove.
23714 (write_fntype_init): Emit the fntype vars as automatic vars instead
23715 of file scope ones.
23716 (write_header_file): Don't iterate with write_extern_fntype.
23717 (write_init_file): Don't iterate with write_fntype. Don't emit
23718 gt_ggc_mx and gt_pch_nx definitions.
23719
23720 2022-02-01 Jason Merrill <jason@redhat.com>
23721
23722 * tree.h (struct tree_vec_map_cache_hasher): Move from...
23723 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
23724
23725 2022-02-01 Tom de Vries <tdevries@suse.de>
23726
23727 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
23728 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23729 UNSPECV_UNIFORM_WARP_CHECK.
23730 (define_insn "nvptx_uniform_warp_check"): New define_insn.
23731
23732 2022-02-01 Tom de Vries <tdevries@suse.de>
23733
23734 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
23735 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23736 UNSPECV_WARPSYNC.
23737 (define_insn "nvptx_warpsync"): New define_insn.
23738
23739 2022-02-01 Tom de Vries <tdevries@suse.de>
23740
23741 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
23742
23743 2022-02-01 Tom de Vries <tdevries@suse.de>
23744
23745 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
23746 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
23747 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
23748 insn for TARGET_PTX_6_0.
23749
23750 2022-02-01 Tom de Vries <tdevries@suse.de>
23751
23752 PR target/100428
23753 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
23754 insn.
23755
23756 2022-02-01 Tom de Vries <tdevries@suse.de>
23757
23758 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
23759 (define_insn "atomic_exchange<mode>")
23760 (define_insn "atomic_fetch_add<mode>")
23761 (define_insn "atomic_fetch_addsf")
23762 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
23763 if memory operands is frame-relative.
23764
23765 2022-02-01 Tom de Vries <tdevries@suse.de>
23766
23767 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
23768 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
23769 (VOID): New macro.
23770 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
23771 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
23772 NVPTX_BUILTIN_MEMBAR_CTA.
23773 (nvptx_lockfull_update): Add level parameter. Emit barriers.
23774 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
23775 nvptx_lockfull_update.
23776 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23777 UNSPECV_MEMBAR_GL.
23778 (define_expand "nvptx_membar_gl"): New expand.
23779 (define_insn "*nvptx_membar_gl"): New insn.
23780
23781 2022-02-01 Martin Liska <mliska@suse.cz>
23782
23783 * doc/install.texi: Remove option for GCC < 4.8.
23784
23785 2022-02-01 Jakub Jelinek <jakub@redhat.com>
23786
23787 PR middle-end/104307
23788 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
23789 stmts to uses vector, just set vec_cond_expr_only to false for
23790 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
23791 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
23792 like non-VEC_COND_EXPRs.
23793
23794 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
23795
23796 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
23797 (VEC_BLENDV): Likewise.
23798 (VEC_BPERM): Likewise.
23799 (VEC_CFUGE): Likewise.
23800 (VEC_CIPHER_BE): Likewise.
23801 (VEC_CIPHERLAST_BE): Likewise.
23802 (VEC_CLRL): Likewise.
23803 (VEC_CLRR): Likewise.
23804 (VEC_CMPNEZ): Likewise.
23805 (VEC_CNTLZ): Likewise.
23806 (VEC_CNTLZM): Likewise.
23807 (VEC_CNTTZM): Likewise.
23808 (VEC_CNTLZ_LSBB): Likewise.
23809 (VEC_CNTM): Likewise.
23810 (VEC_CNTTZ): Likewise.
23811 (VEC_CNTTZ_LSBB): Likewise.
23812 (VEC_CONVERT_4F32_8F16): Likewise.
23813 (VEC_DIV): Likewise.
23814 (VEC_DIVE): Likewise.
23815 (VEC_EQV): Likewise.
23816 (VEC_EXPANDM): Likewise.
23817 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
23818 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
23819 (VEC_EXTRACTH): Likewise.
23820 (VEC_EXTRACTL): Likewise.
23821 (VEC_EXTRACTM): Likewise.
23822 (VEC_EXTRACT4B): Likewise.
23823 (VEC_EXTULX): Likewise.
23824 (VEC_EXTURX): Likewise.
23825 (VEC_FIRSTMATCHINDEX): Likewise.
23826 (VEC_FIRSTMACHOREOSINDEX): Likewise.
23827 (VEC_FIRSTMISMATCHINDEX): Likewise.
23828 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
23829 (VEC_GB): Likewise.
23830 (VEC_GENBM): Likewise.
23831 (VEC_GENHM): Likewise.
23832 (VEC_GENWM): Likewise.
23833 (VEC_GENDM): Likewise.
23834 (VEC_GENQM): Likewise.
23835 (VEC_GENPCVM): Likewise.
23836 (VEC_GNB): Likewise.
23837 (VEC_INSERTH): Likewise.
23838 (VEC_INSERTL): Likewise.
23839 (VEC_INSERT4B): Likewise.
23840 (VEC_LXVL): Likewise.
23841 (VEC_MERGEE): Likewise.
23842 (VEC_MERGEO): Likewise.
23843 (VEC_MOD): Likewise.
23844 (VEC_MSUB): Likewise.
23845 (VEC_MULH): Likewise.
23846 (VEC_NAND): Likewise.
23847 (VEC_NCIPHER_BE): Likewise.
23848 (VEC_NCIPHERLAST_BE): Likewise.
23849 (VEC_NEARBYINT): Likewise.
23850 (VEC_NMADD): Likewise.
23851 (VEC_ORC): Likewise.
23852 (VEC_PDEP): Likewise.
23853 (VEC_PERMX): Likewise.
23854 (VEC_PEXT): Likewise.
23855 (VEC_POPCNT): Likewise.
23856 (VEC_PARITY_LSBB): Likewise.
23857 (VEC_REPLACE_ELT): Likewise.
23858 (VEC_REPLACE_UN): Likewise.
23859 (VEC_REVB): Likewise.
23860 (VEC_RINT): Likewise.
23861 (VEC_RLMI): Likewise.
23862 (VEC_RLNM): Likewise.
23863 (VEC_SBOX_BE): Likewise.
23864 (VEC_SIGNEXTI): Likewise.
23865 (VEC_SIGNEXTLL): Likewise.
23866 (VEC_SIGNEXTQ): Likewise.
23867 (VEC_SLDB): Likewise.
23868 (VEC_SLV): Likewise.
23869 (VEC_SPLATI): Likewise.
23870 (VEC_SPLATID): Likewise.
23871 (VEC_SPLATI_INS): Likewise.
23872 (VEC_SQRT): Likewise.
23873 (VEC_SRDB): Likewise.
23874 (VEC_SRV): Likewise.
23875 (VEC_STRIL): Likewise.
23876 (VEC_STRIL_P): Likewise.
23877 (VEC_STRIR): Likewise.
23878 (VEC_STRIR_P): Likewise.
23879 (VEC_STXVL): Likewise.
23880 (VEC_TERNARYLOGIC): Likewise.
23881 (VEC_TEST_LSBB_ALL_ONES): Likewise.
23882 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
23883 (VEC_VEE): Likewise.
23884 (VEC_VES): Likewise.
23885 (VEC_VIE): Likewise.
23886 (VEC_VPRTYB): Likewise.
23887 (VEC_VSCEEQ): Likewise.
23888 (VEC_VSCEGT): Likewise.
23889 (VEC_VSCELT): Likewise.
23890 (VEC_VSCEUO): Likewise.
23891 (VEC_VSEE): Likewise.
23892 (VEC_VSES): Likewise.
23893 (VEC_VSIE): Likewise.
23894 (VEC_VSTDC): Likewise.
23895 (VEC_VSTDCN): Likewise.
23896 (VEC_VTDC): Likewise.
23897 (VEC_XL): Likewise.
23898 (VEC_XL_BE): Likewise.
23899 (VEC_XL_LEN_R): Likewise.
23900 (VEC_XL_SEXT): Likewise.
23901 (VEC_XL_ZEXT): Likewise.
23902 (VEC_XST): Likewise.
23903 (VEC_XST_BE): Likewise.
23904 (VEC_XST_LEN_R): Likewise.
23905 (VEC_XST_TRUNC): Likewise.
23906 (VEC_XXPERMDI): Likewise.
23907 (VEC_XXSLDWI): Likewise.
23908 (VEC_TSTSFI_EQ_DD): Likewise.
23909 (VEC_TSTSFI_EQ_TD): Likewise.
23910 (VEC_TSTSFI_GT_DD): Likewise.
23911 (VEC_TSTSFI_GT_TD): Likewise.
23912 (VEC_TSTSFI_LT_DD): Likewise.
23913 (VEC_TSTSFI_LT_TD): Likewise.
23914 (VEC_TSTSFI_OV_DD): Likewise.
23915 (VEC_TSTSFI_OV_TD): Likewise.
23916 (VEC_VADDCUQ): Likewise.
23917 (VEC_VADDECUQ): Likewise.
23918 (VEC_VADDEUQM): Likewise.
23919 (VEC_VADDUDM): Likewise.
23920 (VEC_VADDUQM): Likewise.
23921 (VEC_VBPERMQ): Likewise.
23922 (VEC_VCLZB): Likewise.
23923 (VEC_VCLZD): Likewise.
23924 (VEC_VCLZH): Likewise.
23925 (VEC_VCLZW): Likewise.
23926 (VEC_VCTZB): Likewise.
23927 (VEC_VCTZD): Likewise.
23928 (VEC_VCTZH): Likewise.
23929 (VEC_VCTZW): Likewise.
23930 (VEC_VEEDP): Likewise.
23931 (VEC_VEESP): Likewise.
23932 (VEC_VESDP): Likewise.
23933 (VEC_VESSP): Likewise.
23934 (VEC_VIEDP): Likewise.
23935 (VEC_VIESP): Likewise.
23936 (VEC_VPKSDSS): Likewise.
23937 (VEC_VPKSDUS): Likewise.
23938 (VEC_VPKUDUM): Likewise.
23939 (VEC_VPKUDUS): Likewise.
23940 (VEC_VPOPCNT): Likewise.
23941 (VEC_VPOPCNTB): Likewise.
23942 (VEC_VPOPCNTD): Likewise.
23943 (VEC_VPOPCNTH): Likewise.
23944 (VEC_VPOPCNTW): Likewise.
23945 (VEC_VPRTYBD): Likewise.
23946 (VEC_VPRTYBQ): Likewise.
23947 (VEC_VPRTYBW): Likewise.
23948 (VEC_VRLD): Likewise.
23949 (VEC_VSLD): Likewise.
23950 (VEC_VSRAD): Likewise.
23951 (VEC_VSRD): Likewise.
23952 (VEC_VSTDCDP): Likewise.
23953 (VEC_VSTDCNDP): Likewise.
23954 (VEC_VSTDCNQP): Likewise.
23955 (VEC_VSTDCNSP): Likewise.
23956 (VEC_VSTDCQP): Likewise.
23957 (VEC_VSTDCSP): Likewise.
23958 (VEC_VSUBECUQ): Likewise.
23959 (VEC_VSUBEUQM): Likewise.
23960 (VEC_VSUBUDM): Likewise.
23961 (VEC_VSUBUQM): Likewise.
23962 (VEC_VTDCDP): Likewise.
23963 (VEC_VTDCSP): Likewise.
23964 (VEC_VUPKHSW): Likewise.
23965 (VEC_VUPKLSW): Likewise.
23966
23967 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
23968
23969 PR rtl-optimization/101260
23970 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
23971 copy_regno.
23972
23973 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
23974
23975 PR middle-end/95115
23976 * fold-const.cc (const_binop): Do not fold NaN result from
23977 non-NaN operands.
23978
23979 2022-02-01 Tom de Vries <tdevries@suse.de>
23980
23981 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
23982 -ftree-loop-distribute-patterns.
23983 (loop_distribution::execute): Don't call transform_reduction_loop for
23984 -fno-tree-loop-distribute-patterns.
23985
23986 2022-01-31 Andrew Pinski <apinski@marvell.com>
23987
23988 * fold-const.h (operand_compare::operand_equal_p):
23989 Fix comment about OEP_* flags.
23990
23991 2022-01-31 Jakub Jelinek <jakub@redhat.com>
23992
23993 PR target/104298
23994 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
23995 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
23996 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
23997 if not already defined.
23998
23999 2022-01-31 Martin Sebor <msebor@redhat.com>
24000
24001 PR middle-end/104232
24002 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
24003 Handle PHIs. Add a synonymous overload.
24004 (pass_waccess::check_pointer_uses): Call pointers_related_p.
24005
24006 2022-01-31 Richard Biener <rguenther@suse.de>
24007
24008 PR tree-optimization/100499
24009 * fold-const.cc (multiple_of_p): Pass the correct type of
24010 the expression to the recursive invocation of multiple_of_p
24011 for conversions and use CASE_CONVERT.
24012
24013 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
24014
24015 PR target/104189
24016 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
24017
24018 2022-01-31 Richard Biener <rguenther@suse.de>
24019
24020 PR tree-optimization/100499
24021 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
24022 on poly-ints instead of multiple_of_p.
24023 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
24024 (non_rewritable_mem_ref_base): Likewise.
24025 (non_rewritable_lvalue_p): Likewise.
24026 (execute_update_addresses_taken): Likewise.
24027
24028 2022-01-29 Jakub Jelinek <jakub@redhat.com>
24029 Andrew Pinski <apinski@marvell.com>
24030
24031 PR tree-optimization/104279
24032 PR tree-optimization/104280
24033 PR tree-optimization/104281
24034 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
24035 boolean_type_node and convert to type. Formatting fixes.
24036
24037 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
24038
24039 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
24040
24041 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
24042
24043 PR tree-optimization/103514
24044 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
24045 (a & b) == (a ^ b) -> !(a | b): New optimization.
24046
24047 2022-01-28 Marek Polacek <polacek@redhat.com>
24048
24049 * doc/invoke.texi: Update -Wbidi-chars documentation.
24050
24051 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
24052
24053 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
24054
24055 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
24056
24057 PR tree-optimization/95424
24058 * match.pd: Simplify 1 / X where X is an integer.
24059
24060 2022-01-28 Jakub Jelinek <jakub@redhat.com>
24061
24062 PR tree-optimization/104263
24063 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
24064 cfun->can_throw_non_call_exceptions && cfun->eh test whether
24065 last non-debug stmt in the bb is store_valid_for_store_merging_p
24066 rather than last stmt.
24067
24068 2022-01-28 Martin Liska <mliska@suse.cz>
24069
24070 * diagnostic.cc (diagnostic_action_after_output): Remove extra
24071 newline.
24072
24073 2022-01-28 Martin Liska <mliska@suse.cz>
24074
24075 * config/rs6000/host-darwin.cc (segv_crash_handler):
24076 Do not use leading capital letter.
24077 (segv_handler): Likewise.
24078 * ipa-sra.cc (verify_splitting_accesses): Likewise.
24079 * varasm.cc (get_section): Likewise.
24080
24081 2022-01-28 Richard Biener <rguenther@suse.de>
24082
24083 PR tree-optimization/104267
24084 * tree-vect-stmts.cc (vectorizable_call): Properly use the
24085 per-argument determined vector type for externals and
24086 invariants.
24087
24088 2022-01-28 Richard Biener <rguenther@suse.de>
24089
24090 PR tree-optimization/104263
24091 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
24092 Purge edges also when !cfun->has_nonlocal_label
24093 and !cfun->calls_setjmp.
24094
24095 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
24096
24097 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
24098 attributes.
24099
24100 2022-01-28 Jakub Jelinek <jakub@redhat.com>
24101
24102 PR lto/104237
24103 * cfgrtl.cc (loc_equal): New function.
24104 (unique_locus_on_edge_between_p): Use it.
24105
24106 2022-01-28 Richard Biener <rguenther@suse.de>
24107
24108 * cfganal.h (mark_dfs_back_edges): Provide API with struct
24109 function argument.
24110 * cfganal.cc (mark_dfs_back_edges): Take a struct function
24111 to work on, add a wrapper passing cfun.
24112 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
24113 uses with fun which is already passed.
24114 (draw_cfg_edges): Likewise.
24115 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
24116 for fun != cfun.
24117
24118 2022-01-27 Patrick Palka <ppalka@redhat.com>
24119
24120 PR c++/99895
24121 * tree.cc (build_call_vec): Add const to second parameter.
24122 * tree.h (build_call_vec): Likewise.
24123
24124 2022-01-27 Martin Liska <mliska@suse.cz>
24125
24126 PR web/104254
24127 * diagnostic.cc (diagnostic_initialize):
24128 Initialize report_bug flag.
24129 (diagnostic_action_after_output):
24130 Explain that -freport-bug option can be used for pre-processed
24131 file creation. Make the message shorter.
24132 (error_recursion): Rename Internal to internal.
24133 * diagnostic.h (struct diagnostic_context): New field.
24134 * opts.cc (common_handle_option): Init the field here.
24135
24136 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
24137
24138 PR target/103702
24139 * config/rs6000/rs6000.cc
24140 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
24141 assertion with early return.
24142
24143 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
24144
24145 PR middle-end/103642
24146 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
24147 for non-pointer or non-reference-to-pointer cases.
24148
24149 2022-01-27 Jakub Jelinek <jakub@redhat.com>
24150
24151 PR tree-optimization/104196
24152 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
24153 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
24154 return NULL and emit needed stmts before and after stmt.
24155 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
24156 pick as operand_entry that will hold the merged test the one feeding
24157 earliest condition, ensure that by swapping range->idx with some
24158 other range's idx if needed. If seq is non-NULL, don't actually swap
24159 it but instead rewrite stmts with undefined overflow in between
24160 the two locations.
24161 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
24162 corresponding condition even if they have non-NULL ops[]->op.
24163 Formatting fix.
24164
24165 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24166
24167 PR target/104239
24168 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
24169 asm.
24170 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
24171 before for loop instead of for init clause.
24172 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
24173
24174 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24175
24176 PR target/104239
24177 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
24178 _X86INTRIN_H_INCLUDED and adjust #error wording.
24179 * config/rs6000/bmi2intrin.h: Likewise.
24180
24181 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24182
24183 PR debug/104194
24184 * dwarf2out.cc (long_double_as_float128): New function.
24185 (modified_type_die): For powerpc64le IEEE 754 quad long double
24186 and complex long double emit those as DW_TAG_typedef to
24187 _Float128 or complex _Float128 base type.
24188
24189 2022-01-26 Marek Polacek <polacek@redhat.com>
24190
24191 PR target/104213
24192 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
24193 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
24194
24195 2022-01-26 Martin Liska <mliska@suse.cz>
24196
24197 * ipa-modref-tree.cc (modref_access_node::update):
24198 Remove "--param param=foo" with "--param foo".
24199 (modref_access_node::insert): Likewise.
24200 (modref_access_node::insert_kill): Likewise.
24201 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
24202 (struct modref_base_node): Likewise.
24203 (struct modref_tree): Likewise.
24204
24205 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
24206
24207 PR target/94193
24208 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
24209 predicate check.
24210
24211 2022-01-25 Martin Sebor <msebor@redhat.com>
24212
24213 PR tree-optimization/104203
24214 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
24215 TV_WARN_ACCESS.
24216 * pointer-query.cc (access_ref::merge_ref): Change return type.
24217 Convert failure to a conservative success.
24218 (access_ref::get_ref): Adjust to the change above. Short-circuit
24219 PHI evaluation after first failure turned into conservative success.
24220 * pointer-query.h (access_ref::merge_ref): Change return type.
24221 * timevar.def (TV_WARN_ACCESS): New timer variable.
24222
24223 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
24224
24225 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
24226
24227 2022-01-25 Richard Biener <rguenther@suse.de>
24228
24229 PR tree-optimization/104214
24230 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
24231 stronger guarantees for relational pointer compares when
24232 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
24233 BASE0 + STEP0 - STEP1 cmp BASE1.
24234
24235 2022-01-25 Jakub Jelinek <jakub@redhat.com>
24236
24237 PR target/104172
24238 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
24239 declare.
24240 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
24241 ieee128_mangling_gcc_8_1): Remove.
24242 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
24243 (rs6000_mangle_type): Return "u9__ieee128" instead of
24244 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
24245 (rs6000_globalize_decl_name): Remove.
24246 * config/rs6000/rs6000-call.cc (init_cumulative_args,
24247 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
24248
24249 2022-01-24 Martin Sebor <msebor@redhat.com>
24250
24251 * pointer-query.cc (pointer_query::dump): Remove duplicate
24252 block.
24253
24254 2022-01-24 Marek Polacek <polacek@redhat.com>
24255
24256 PR preprocessor/104030
24257 * doc/invoke.texi: Update documentation for -Wbidi-chars.
24258
24259 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
24260
24261 PR target/94193
24262 * builtins.cc (expand_builtin_fegetround): New function.
24263 (expand_builtin_feclear_feraise_except): New function.
24264 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
24265 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
24266 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
24267 (feclearexceptsi): New Pattern.
24268 (feraiseexceptsi): New Pattern.
24269 * doc/extend.texi: Add a new introductory paragraph about the
24270 new builtins.
24271 * doc/md.texi: (fegetround@var{m}): Document new optab.
24272 (feclearexcept@var{m}): Document new optab.
24273 (feraiseexcept@var{m}): Document new optab.
24274 * optabs.def (fegetround_optab): New optab.
24275 (feclearexcept_optab): New optab.
24276 (feraiseexcept_optab): New optab.
24277
24278 2022-01-24 Richard Biener <rguenther@suse.de>
24279 Jiufu Guo <guojiufu@linux.ibm.com>
24280
24281 PR tree-optimization/100740
24282 PR tree-optimization/101508
24283 PR tree-optimization/101972
24284 PR tree-optimization/102131
24285 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
24286 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
24287 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
24288
24289 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24290
24291 PR sanitizer/104158
24292 * opt-functions.awk (var_set): Handle EnumBitSet property.
24293 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
24294 specified.
24295 * opts.h (enum cl_enum_var_value): New type.
24296 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
24297 Handle CLEV_BITSET.
24298 (cmdline_handle_error): Handle CLEV_BITSET.
24299 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
24300 * doc/options.texi (EnumBitSet): Document.
24301 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
24302 EnumSet.
24303 (trace-pc, trace-cmp): Drop Set properties.
24304
24305 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24306
24307 PR sanitizer/104158
24308 * common.opt (flag_sanitize_coverage): Remove Variable entry.
24309 (fsanitize-coverage=): Remove RejectNegative property, add
24310 Var(flag_sanitize_coverage) and EnumSet properties.
24311 (trace-pc): Add Set(1) property.
24312 (trace-cmp): Add Set(2) property.
24313 * opts.cc (common_handle_option): Don't handle
24314 OPT_fsanitize_coverage_.
24315
24316 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24317
24318 PR sanitizer/104158
24319 * opt-functions.awk (var_set): Handle EnumSet property.
24320 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
24321 specified.
24322 * opt-read.awk: Handle Set property.
24323 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
24324 (struct cl_decoded_option): Mention enum in value description.
24325 Add mask member.
24326 (set_option): Add mask argument defaulted to 0.
24327 * opts.cc (test_enum_sets): New function.
24328 (opts_cc_tests): Call it.
24329 * opts-common.cc (enum_arg_to_value): Change return argument
24330 from bool to int, on success return index into the cl_enum_arg
24331 array, on failure -1. Add len argument, if non-0, use strncmp
24332 instead of strcmp.
24333 (opt_enum_arg_to_value): Adjust caller.
24334 (decode_cmdline_option): Handle EnumSet represented as
24335 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
24336 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
24337 (handle_option): Pass decoded->mask to set_options last argument.
24338 (generate_option): Clear decoded->mask.
24339 (generate_option_input_file): Likewise.
24340 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
24341 (set_option): Add mask argument, use it for CLVC_ENUM.
24342 (control_warning_option): Adjust enum_arg_to_value caller.
24343 * doc/options.texi: Document Set and EnumSet properties.
24344
24345 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24346
24347 PR bootstrap/104170
24348 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24349 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24350 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24351 using OPTION_*_P macros.
24352 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24353 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24354 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24355 using OPTION_*_P macros.
24356 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24357 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24358 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24359 using OPTION_*_P macros.
24360 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24361 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24362 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24363 using OPTION_*_P macros.
24364 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
24365 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
24366 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
24367 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
24368 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
24369 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
24370 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
24371 otherwise assume if (true).
24372
24373 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
24374
24375 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
24376 Skip zicsr and zifencei if I-ext is 2.0.
24377
24378 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
24379
24380 * config.gcc: Modify default isa_spec version.
24381
24382 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
24383
24384 PR tree-optimization/102087
24385 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
24386 Correct PLUS result type.
24387
24388 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
24389
24390 PR target/104188
24391 * config/i386/predicates.md (bcst_mem_operand): Also check mode
24392 of memory broadcast.
24393
24394 2022-01-23 Andrew Pinski <apinski@marvell.com>
24395
24396 PR target/64821
24397 * config/aarch64/aarch64-builtins.cc
24398 (aarch64_general_gimple_fold_builtin): Handle
24399 __builtin_aarch64_sqrt* and simplify into SQRT internal
24400 function.
24401
24402 2022-01-22 Jakub Jelinek <jakub@redhat.com>
24403
24404 PR other/104176
24405 * opts-global.cc (handle_common_deferred_options): Quote
24406 --enable-plugin in diagnostics to avoid -Werror=format-diag.
24407
24408 2022-01-21 Michael Meissner <meissner@the-meissners.org>
24409
24410 PR target/104136
24411 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
24412 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
24413 * config/rs6000/rs6000.md (prefixed attribute): Delete section
24414 that sets the prefixed attribute for xxspltiw, xxspltidp, and
24415 xxsplti32dx instructions.
24416 (movsf_hardfloat): Explicitly set the prefixed attribute
24417 when xxspltiw and xxspltidp instructions are generated.
24418 (mov<mode>_hardfloat32): Likewise.
24419 (mov<mode>_hardfloat64): Likewise.
24420 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
24421 prefixed attribute for xxspltiw and xxspltidp instructions.
24422 (vsx_mov<mode>_32bit): Likewise.
24423
24424 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
24425
24426 PR bootstrap/104170
24427 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
24428 Return true only on glibc.
24429 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
24430 Revert commit c163647ffbc.
24431 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
24432
24433 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
24434
24435 * common/config/s390/s390-common.cc (s390_supports_split_stack):
24436 Only support split-stack on glibc targets.
24437 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
24438 * config/i386/gnu.h (defined): Ditto.
24439
24440 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
24441
24442 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
24443 vector float and vector double.
24444
24445 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
24446
24447 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
24448 Fix mention of ifunc in string.
24449
24450 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
24451
24452 PR middle-end/104140
24453 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
24454 operands of the widening multiplication are either both signed or
24455 both unsigned, and abort the conversion if mismatched.
24456 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
24457 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
24458 signedness.
24459 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
24460 integer types with the same precision and signedness.
24461 (WIDEN_MULT_EXPR): Document that operands must have integer types
24462 with the same precision, but possibly differing signedness.
24463 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
24464 riscv_current_subset_list returning a NULL pointer (empty list).
24465
24466 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
24467
24468 PR target/103676
24469 * ira.h (struct target_ira): Add member
24470 x_ira_exclude_class_mode_regs.
24471 (ira_exclude_class_mode_regs): New macro.
24472 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
24473 move from here ...
24474 * lra-int.h: ... to here.
24475 (lra_create_new_reg_with_unique_value): Add arg
24476 exclude_start_hard_regs.
24477 (class lra_reg): Add member exclude_start_hard_regs.
24478 * lra-assigns.cc (find_hard_regno_for_1): Setup
24479 impossible_start_hard_regs from exclude_start_hard_regs.
24480 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
24481 it lra_create_new_reg[_with_unique_value].
24482 (match_reload): Ditto.
24483 (check_and_process_move): Pass NULL
24484 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
24485 (goal_alt_exclude_start_hard_regs): New static variable.
24486 (process_addr_reg, simplify_operand_subreg): Pass NULL
24487 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
24488 and get_reload_reg.
24489 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
24490 Use this_alternative_exclude_start_hard_regs additionally to find
24491 winning operand alternative.
24492 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
24493 exclude_start_hard_regs to lra_create_new_reg.
24494 (process_address_1, emit_inc): Ditto.
24495 (curr_insn_transform): Pass exclude_start_hard_regs value to
24496 lra_create_new_reg, get_reload_reg, match_reload.
24497 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
24498 to lra_create_new_reg.
24499 (process_invariant_for_inheritance): Ditto.
24500 * lra-remat.cc (update_scratch_ops): Ditto.
24501 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
24502 exclude_start_hard_regs. Setup the corresponding member of
24503 lra reg info.
24504 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
24505 to lra_create_new_reg_with_unique_value.
24506 (initialize_lra_reg_info_element): Initialize member
24507 exclude_start_hard_regs.
24508 (get_scratch_reg): Pass NULL to lra_create_new_reg.
24509 * ira.cc (setup_prohibited_class_mode_regs): Rename to
24510 setup_prohibited_and_exclude_class_mode_regs and calculate
24511 ira_exclude_class_mode_regs.
24512
24513 2022-01-21 Martin Liska <mliska@suse.cz>
24514
24515 * configure.ac: Detect ld_is_mold and use it for
24516 comdat_group=yes and gcc_cv_ld_hidden=yes.
24517 * configure: Regenerate.
24518
24519 2022-01-21 Richard Biener <rguenther@suse.de>
24520
24521 PR tree-optimization/100089
24522 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
24523 of if-converted loops with unvectorized COND_EXPRs for
24524 all but the unlimited cost models.
24525
24526 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
24527
24528 * config/arm/arm-opts.h (enum stack_protector_guard): New.
24529 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
24530 New.
24531 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
24532 (arm_option_override_internal): Handle and put in error checks.
24533 for stack protector guard options.
24534 (arm_option_reconfigure_globals): Likewise.
24535 (arm_stack_protect_tls_canary_mem): New.
24536 (arm_stack_protect_guard): New.
24537 * config/arm/arm.md (stack_protect_set): New.
24538 (stack_protect_set_tls): Likewise.
24539 (stack_protect_test): Likewise.
24540 (stack_protect_test_tls): Likewise.
24541 (reload_tp_hard): Likewise.
24542 * config/arm/arm.opt (-mstack-protector-guard): New
24543 (-mstack-protector-guard-offset): New.
24544 * doc/invoke.texi: Document new options.
24545
24546 2022-01-21 Richard Biener <rguenther@suse.de>
24547
24548 PR tree-optimization/104156
24549 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
24550 Collect and reset debug stmts with out-of-loop uses when
24551 hoisting guards.
24552 (find_loop_guard): Adjust.
24553 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
24554 (used_outside_loop_p): Push debug uses to a vector of
24555 debug stmts to reset.
24556 (hoist_guard): Adjust -fopt-info category.
24557
24558 2022-01-21 Richard Biener <rguenther@suse.de>
24559
24560 PR tree-optimization/104152
24561 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
24562 can_duplicate_and_interleave_p check.
24563
24564 2022-01-21 Jakub Jelinek <jakub@redhat.com>
24565
24566 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
24567 Avoid passing var to warning_at when the format string doesn't
24568 refer to it.
24569
24570 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
24571
24572 PR tree-optimization/103721
24573 * gimple-range-path.cc
24574 (path_range_query::relations_may_be_invalidated): New.
24575 (path_range_query::compute_ranges_in_block): Reset relations if
24576 they may be invalidated.
24577 (path_range_query::maybe_register_phi_relation): Exit if relations
24578 may be invalidated on incoming edge.
24579 (path_range_query::compute_phi_relations): Pass incoming PHI edge
24580 to maybe_register_phi_relation.
24581 * gimple-range-path.h (relations_may_be_invalidated): New.
24582 (maybe_register_phi_relation): Pass edge instead of tree.
24583 * tree-ssa-threadbackward.cc (back_threader::back_threader):
24584 Mark DFS edges.
24585 * value-relation.cc (path_oracle::path_oracle): Call
24586 mark_dfs_back_edges.
24587 (path_oracle::register_relation): Add SSA names to m_registered
24588 bitmap.
24589 (path_oracle::reset_path): Clear m_registered bitmap.
24590 * value-relation.h (path_oracle::set_root_oracle): New.
24591
24592 2022-01-21 Jakub Jelinek <jakub@redhat.com>
24593
24594 PR rtl-optimization/102478
24595 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
24596 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
24597 would be needed.
24598
24599 2022-01-20 Richard Biener <rguenther@suse.de>
24600
24601 PR middle-end/100786
24602 * gimple-fold.cc (get_symbol_constant_value): Only return
24603 values of compatible type to the symbol.
24604
24605 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
24606
24607 * value-relation.cc (relation_oracle::valid_equivs): Query and add
24608 if valid members of a set.
24609 (equiv_oracle::register_equiv): Call valid_equivs rather than
24610 bitmap direct operations.
24611 (path_oracle::register_equiv): Ditto.
24612 * value-relation.h (relation_oracle::valid_equivs): New prototype.
24613
24614 2022-01-20 Richard Biener <rguenther@suse.de>
24615
24616 PR target/100784
24617 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
24618 LHS before folding __builtin_ia32_shufpd and friends.
24619
24620 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24621
24622 * config/arm/crypto.md (aes_op_protect): Allow moves from core
24623 registers and from memory.
24624 (aes_op_protect_misalign_load): New pattern.
24625 (aes_op_protect_neon_vld1v16qi): New pattern.
24626
24627 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24628
24629 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
24630 New pattern.
24631 (aarch32_crypto_aese_fused_protected): Likewise.
24632 (aarch32_crypto_aesd_fused_protected): Likewise.
24633
24634 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24635
24636 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
24637 to define_expand. Add mitigation for the Cortex-A AES erratum
24638 when enabled.
24639 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
24640 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
24641 (aes_op_protect): New pattern.
24642 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
24643
24644 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24645
24646 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
24647 (ALL_QUIRKS): Add it.
24648 (cortex-a57, cortex-a72): Enable it.
24649 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
24650 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
24651 option.
24652 (mfix-cortex-a72-aes-1655431): New option alias.
24653 * config/arm/arm.cc (arm_option_override): Handle default settings
24654 for AES erratum switch.
24655 * doc/invoke.texi (Arm Options): Document new options.
24656
24657 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24658
24659 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
24660 <crypto_mode> rather than hard-coding the mode.
24661 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
24662 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
24663 (*aarch32_crypto_aese_fused): Likewise.
24664 (*aarch32_crypto_aesd_fused): Likewise.
24665 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
24666 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
24667 (crypto_sha1h_lb): Likewise.
24668 (crypto_vmullp64): Likewise.
24669 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
24670 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
24671
24672 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24673
24674 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
24675 iterator to pattern name to disambiguate.
24676 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
24677 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
24678 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
24679 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
24680 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
24681
24682 2022-01-20 Martin Liska <mliska@suse.cz>
24683
24684 PR bootstrap/104135
24685 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
24686 * rtl.cc: Partially disable -Wformat-diag for RTL checking
24687 error messages.
24688
24689 2022-01-20 Jakub Jelinek <jakub@redhat.com>
24690
24691 PR debug/103874
24692 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
24693 block_num > 0, index entry even if !have_multiple_function_sections.
24694
24695 2022-01-20 liuhongt <hongtao.liu@intel.com>
24696
24697 PR target/103771
24698 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
24699 integral mode mask pack by multi steps which takes
24700 vec_pack_sbool_trunc_optab as start when elements number is
24701 less than BITS_PER_UNITS.
24702
24703 2022-01-20 Richard Biener <rguenther@suse.de>
24704
24705 PR tree-optimization/104114
24706 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
24707 single element vector decomposition.
24708
24709 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24710
24711 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
24712 (noce_convert_multiple_sets): Call function a second time if we can
24713 improve the first try.
24714
24715 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24716
24717 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
24718 reversed comparison.
24719 (try_emit_cmove_seq): New function to facilitate creating a cmov
24720 sequence.
24721 (noce_convert_multiple_sets): Create two sequences and use the less
24722 expensive one.
24723
24724 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24725
24726 * rtl.h (struct rtx_comparison): New struct that holds an rtx
24727 comparison.
24728 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
24729 single parameters.
24730 (rs6000_emit_swsqrt): Likewise.
24731 * expmed.cc (expand_sdiv_pow2): Likewise.
24732 (emit_store_flag): Likewise.
24733 * expr.cc (expand_cond_expr_using_cmove): Likewise.
24734 (expand_expr_real_2): Likewise.
24735 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
24736 parameters.
24737 * optabs.cc (emit_conditional_move_1): New function.
24738 (expand_doubleword_shift_condmove): Use struct.
24739 (emit_conditional_move): Use struct and allow to call directly
24740 without going through preparation steps.
24741 * optabs.h (emit_conditional_move): Use struct.
24742
24743 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24744
24745 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
24746 (noce_process_if_block): Use potential costs.
24747
24748 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24749
24750 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
24751 (bb_ok_for_noce_convert_multiple_sets): Likewise.
24752
24753 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24754
24755 * ifcvt.cc (need_cmov_or_rewire): New function.
24756 (noce_convert_multiple_sets): Call it.
24757
24758 2022-01-19 David Malcolm <dmalcolm@redhat.com>
24759
24760 * attribs.cc (attribute_c_tests): Rename to...
24761 (attribs_cc_tests): ...this.
24762 * bitmap.cc (bitmap_c_tests): Rename to...
24763 (bitmap_cc_tests): ...this.
24764 * cgraph.cc (cgraph_c_finalize): Rename to...
24765 (cgraph_cc_finalize): ...this.
24766 (cgraph_c_tests): Rename to...
24767 (cgraph_cc_tests): ...this.
24768 * cgraph.h (cgraph_c_finalize): Rename to...
24769 (cgraph_cc_finalize): ...this.
24770 (cgraphunit_c_finalize): Rename to...
24771 (cgraphunit_cc_finalize): ...this.
24772 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
24773 (cgraphunit_cc_finalize): ...this.
24774 * convert.cc (convert_c_tests): Rename to...
24775 (convert_cc_tests): ...this.
24776 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
24777 (dbgcnt_cc_tests): ...this.
24778 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
24779 (diagnostic_show_locus_cc_tests): ...this.
24780 * diagnostic.cc (diagnostic_c_tests): Rename to...
24781 (diagnostic_cc_tests): ...this.
24782 * dumpfile.cc (dumpfile_c_tests): Rename to...
24783 (dumpfile_cc_tests): ...this.
24784 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
24785 (dwarf2out_cc_finalize): ...this.
24786 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
24787 (dwarf2out_cc_finalize): ...this.
24788 * edit-context.cc (edit_context_c_tests): Rename to...
24789 (edit_context_cc_tests): ...this.
24790 * et-forest.cc (et_forest_c_tests): Rename to...
24791 (et_forest_cc_tests): ...this.
24792 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
24793 (fibonacci_heap_cc_tests): ...this.
24794 * fold-const.cc (fold_const_c_tests): Rename to...
24795 (fold_const_cc_tests): ...this.
24796 * function-tests.cc (function_tests_c_tests): Rename to...
24797 (function_tests_cc_tests): ...this.
24798 * gcse.cc (gcse_c_finalize): Rename to...
24799 (gcse_cc_finalize): ...this.
24800 * gcse.h (gcse_c_finalize): Rename to...
24801 (gcse_cc_finalize): ...this.
24802 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
24803 (ggc_tests_cc_tests): ...this.
24804 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
24805 (store_merging_cc_tests): ...this.
24806 * gimple.cc (gimple_c_tests): Rename to...
24807 (gimple_cc_tests): ...this.
24808 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
24809 (hash_map_tests_cc_tests): ...this.
24810 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
24811 (hash_set_tests_cc_tests): ...this.
24812 * input.cc (input_c_tests): Rename to...
24813 (input_cc_tests): ...this.
24814 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
24815 (ipa_cp_cc_finalize): ...this.
24816 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
24817 (ipa_fnsummary_cc_finalize): ...this.
24818 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
24819 (ipa_fnsummary_cc_finalize): ...this.
24820 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
24821 (ipa_modref_tree_cc_tests): ...this.
24822 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
24823 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
24824 (ipa_modref_cc_finalize): ...this.
24825 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
24826 (ipa_modref_cc_finalize): ...this.
24827 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
24828 (ipa_cp_cc_finalize): ...this.
24829 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
24830 (ipa_reference_cc_finalize): ...this.
24831 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
24832 (ipa_reference_cc_finalize): ...this.
24833 * ira-costs.cc (ira_costs_c_finalize): Rename to...
24834 (ira_costs_cc_finalize): ...this.
24835 * ira.h (ira_costs_c_finalize): Rename to...
24836 (ira_costs_cc_finalize): ...this.
24837 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
24838 (opt_suggestions_cc_tests): ...this.
24839 * opts.cc (opts_c_tests): Rename to...
24840 (opts_cc_tests): ...this.
24841 * predict.cc (predict_c_tests): Rename to...
24842 (predict_cc_tests): ...this.
24843 * pretty-print.cc (pretty_print_c_tests): Rename to...
24844 (pretty_print_cc_tests): ...this.
24845 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
24846 (read_rtl_function_cc_tests): ...this.
24847 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
24848 (rtl_tests_cc_tests): ...this.
24849 * sbitmap.cc (sbitmap_c_tests): Rename to...
24850 (sbitmap_cc_tests): ...this.
24851 * selftest-run-tests.cc (selftest::run_tests): Update calls for
24852 _c_ to _cc_ function renamings; fix names of attribs and
24853 opt-suggestions tests.
24854 * selftest.cc (selftest_c_tests): Rename to...
24855 (selftest_cc_tests): ...this.
24856 * selftest.h (attribute_c_tests): Rename to...
24857 (attribs_cc_tests): ...this.
24858 (bitmap_c_tests): Rename to...
24859 (bitmap_cc_tests): ...this.
24860 (cgraph_c_tests): Rename to...
24861 (cgraph_cc_tests): ...this.
24862 (convert_c_tests): Rename to...
24863 (convert_cc_tests): ...this.
24864 (diagnostic_c_tests): Rename to...
24865 (diagnostic_cc_tests): ...this.
24866 (diagnostic_show_locus_c_tests): Rename to...
24867 (diagnostic_show_locus_cc_tests): ...this.
24868 (dumpfile_c_tests): Rename to...
24869 (dumpfile_cc_tests): ...this.
24870 (edit_context_c_tests): Rename to...
24871 (edit_context_cc_tests): ...this.
24872 (et_forest_c_tests): Rename to...
24873 (et_forest_cc_tests): ...this.
24874 (fibonacci_heap_c_tests): Rename to...
24875 (fibonacci_heap_cc_tests): ...this.
24876 (fold_const_c_tests): Rename to...
24877 (fold_const_cc_tests): ...this.
24878 (function_tests_c_tests): Rename to...
24879 (function_tests_cc_tests): ...this.
24880 (ggc_tests_c_tests): Rename to...
24881 (ggc_tests_cc_tests): ...this.
24882 (gimple_c_tests): Rename to...
24883 (gimple_cc_tests): ...this.
24884 (hash_map_tests_c_tests): Rename to...
24885 (hash_map_tests_cc_tests): ...this.
24886 (hash_set_tests_c_tests): Rename to...
24887 (hash_set_tests_cc_tests): ...this.
24888 (input_c_tests): Rename to...
24889 (input_cc_tests): ...this.
24890 (opts_c_tests): Rename to...
24891 (opts_cc_tests): ...this.
24892 (predict_c_tests): Rename to...
24893 (predict_cc_tests): ...this.
24894 (pretty_print_c_tests): Rename to...
24895 (pretty_print_cc_tests): ...this.
24896 (read_rtl_function_c_tests): Rename to...
24897 (read_rtl_function_cc_tests): ...this.
24898 (rtl_tests_c_tests): Rename to...
24899 (rtl_tests_cc_tests): ...this.
24900 (sbitmap_c_tests): Rename to...
24901 (sbitmap_cc_tests): ...this.
24902 (selftest_c_tests): Rename to...
24903 (selftest_cc_tests): ...this.
24904 (simplify_rtx_c_tests): Rename to...
24905 (simplify_rtx_cc_tests): ...this.
24906 (spellcheck_c_tests): Rename to...
24907 (spellcheck_cc_tests): ...this.
24908 (spellcheck_tree_c_tests): Rename to...
24909 (spellcheck_tree_cc_tests): ...this.
24910 (sreal_c_tests): Rename to...
24911 (sreal_cc_tests): ...this.
24912 (store_merging_c_tests): Rename to...
24913 (store_merging_cc_tests): ...this.
24914 (tree_c_tests): Rename to...
24915 (tree_cc_tests): ...this.
24916 (tree_cfg_c_tests): Rename to...
24917 (tree_cfg_cc_tests): ...this.
24918 (typed_splay_tree_c_tests): Rename to...
24919 (typed_splay_tree_cc_tests): ...this.
24920 (vec_c_tests): Rename to...
24921 (vec_cc_tests): ...this.
24922 (vec_perm_indices_c_tests): Rename to...
24923 (vec_perm_indices_cc_tests): ..this.
24924 (opt_proposer_c_tests): Rename to...
24925 (opt_suggestions_cc_tests): ...this.
24926 (dbgcnt_c_tests): Rename to...
24927 (dbgcnt_cc_tests): ...this.
24928 (ipa_modref_tree_c_tests): Rename to...
24929 (ipa_modref_tree_cc_tests): ...this.
24930 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
24931 (simplify_rtx_cc_tests): ...this.
24932 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
24933 (spellcheck_tree_cc_tests): ...this.
24934 * spellcheck.cc (spellcheck_c_tests): Rename to...
24935 (spellcheck_cc_tests): ...this.
24936 * sreal.cc (sreal_c_tests): Rename to...
24937 (sreal_cc_tests): ...this.
24938 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
24939 function renamings.
24940 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
24941 (tree_cfg_cc_tests): ...this.
24942 * tree.cc (tree_c_tests): Rename to...
24943 (tree_cc_tests): ...this.
24944 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
24945 (typed_splay_tree_cc_tests): ...this.
24946 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
24947 (vec_perm_indices_cc_tests): ...this.
24948 * vec.cc (vec_c_tests): Rename to...
24949 (vec_cc_tests): ...this.
24950
24951 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
24952
24953 PR tree-optimization/103997
24954 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
24955 vectorization.
24956
24957 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24958
24959 PR middle-end/102860
24960 * match.pd (x %[fl] y -> x % y): New simplification for
24961 unsigned integral types.
24962 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
24963 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
24964
24965 2022-01-19 Richard Biener <rguenther@suse.de>
24966
24967 PR tree-optimization/104112
24968 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
24969 for required intermediate vector types.
24970
24971 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24972
24973 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
24974
24975 2022-01-19 Martin Liska <mliska@suse.cz>
24976
24977 * configure.ac: Remove -Wno-error=format-diag.
24978 * configure: Regenerate.
24979
24980 2022-01-19 Martin Liska <mliska@suse.cz>
24981
24982 * config/riscv/riscv.cc (riscv_handle_type_attribute):
24983 Update one -Wformat-diag string in warning message.
24984
24985 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24986
24987 PR middle-end/104103
24988 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
24989 .ASAN_MARK calls.
24990
24991 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24992
24993 PR c++/89074
24994 * fold-const.cc (address_compare): Consider different STRING_CSTs
24995 with the same lengths that memcmp the same as equal, not different.
24996
24997 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24998
24999 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
25000 {%0}.
25001
25002 2022-01-19 Martin Liska <mliska@suse.cz>
25003 Thomas Schwinge <thomas@codesourcery.com>
25004
25005 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
25006 warning messages.
25007
25008 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
25009
25010 PR target/104090
25011 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
25012 rs6000_cpu.
25013
25014 2022-01-19 Jakub Jelinek <jakub@redhat.com>
25015
25016 PR target/104104
25017 * config/i386/sse.md
25018 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
25019 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
25020 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
25021 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
25022 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
25023 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
25024 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
25025 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
25026 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
25027
25028 2022-01-19 Martin Sebor <msebor@redhat.com>
25029
25030 PR middle-end/104069
25031 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
25032 an unknown result as documented.
25033
25034 2022-01-18 Andrew Pinski <apinski@marvell.com>
25035
25036 * ipa-split.cc (visit_bb): Fix comment before the
25037 warning/error attribute checking code.
25038
25039 2022-01-18 David Faust <david.faust@oracle.com>
25040
25041 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
25042 for base strtab offset yet as it may change.
25043 (output_asm_btfext_core_reloc): Do so here instead.
25044 (output_btfext_core_sections): Likewise.
25045
25046 2022-01-18 David Faust <david.faust@oracle.com>
25047
25048 * config/bpf/coreout.cc (output_btfext_header): Account for
25049 4-byte record size in core_relo_len.
25050 (output_btfext_core_sections): Only write record size once.
25051 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
25052 member.
25053
25054 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
25055
25056 * common/config/riscv/riscv-common.cc
25057 (riscv_subset_list::parse_multiletter_ext): Move pointer
25058 arithmetic ahead of `free'.
25059
25060 2022-01-18 Jason Merrill <jason@redhat.com>
25061
25062 PR c++/104007
25063 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
25064 context.
25065
25066 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
25067
25068 PR middle-end/103163
25069 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
25070 (init_emit_once): ...not here.
25071
25072 2022-01-18 Martin Liska <mliska@suse.cz>
25073
25074 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
25075 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
25076 * config/arc/arc.md: Likewise.
25077 * config/avr/avr.cc (avr_section_type_flags): Likewise.
25078 * config/bfin/bfin.cc (bfin_option_override): Likewise.
25079 (bfin_handle_longcall_attribute): Likewise.
25080 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
25081 * config/frv/frv.cc (frv_expand_builtin): Likewise.
25082 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
25083 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
25084 (iq2000_print_operand_address): Likewise.
25085 (iq2000_print_operand): Likewise.
25086 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
25087 (m32c_pragma_address): Likewise.
25088 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
25089 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
25090 (mips_set_compression_mode): Likewise.
25091 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
25092 (mmix_print_operand): Likewise.
25093 (mmix_output_shiftvalue_op_from_str): Likewise.
25094 (mmix_output_shifted_value): Likewise.
25095 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
25096 * config/msp430/msp430.cc (msp430_option_override): Likewise.
25097 (msp430_attr): Likewise.
25098 (msp430_expand_delay_cycles): Likewise.
25099 (msp430_expand_builtin): Likewise.
25100 * config/rs6000/aix73.h: Likewise.
25101 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
25102 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
25103 (valid_psw_flag): Likewise.
25104 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
25105 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
25106 (xstormy16_expand_builtin_va_start): Likewise.
25107 (xstormy16_handle_below100_attribute): Likewise.
25108
25109 2022-01-18 Martin Liska <mliska@suse.cz>
25110
25111 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
25112 warning.
25113 (vms_pragma_standard): Likewise.
25114 (vms_pragma_extern_prefix): Likewise.
25115
25116 2022-01-18 Martin Liska <mliska@suse.cz>
25117
25118 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
25119 (print_operand_address): Likewise.
25120 (xtensa_multibss_section_type_flags): Likewise.
25121
25122 2022-01-18 Martin Liska <mliska@suse.cz>
25123
25124 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
25125 wording of an error message.
25126
25127 2022-01-18 Martin Liska <mliska@suse.cz>
25128
25129 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
25130 warning.
25131 (ghs_pragma_section): Likewise.
25132 (ghs_pragma_interrupt): Likewise.
25133 (ghs_pragma_starttda): Likewise.
25134 (ghs_pragma_startsda): Likewise.
25135 (ghs_pragma_startzda): Likewise.
25136 (ghs_pragma_endtda): Likewise.
25137 (ghs_pragma_endsda): Likewise.
25138 (ghs_pragma_endzda): Likewise.
25139
25140 2022-01-18 Martin Liska <mliska@suse.cz>
25141
25142 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
25143 Fix warnings.
25144 * config/nds32/nds32-intrinsic.md: Likewise.
25145 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
25146 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
25147 (nds32_insert_attributes): Likewise.
25148
25149 2022-01-18 Martin Liska <mliska@suse.cz>
25150
25151 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
25152 keyword.
25153 * config/nvptx/nvptx.md: Remove trailing dot.
25154
25155 2022-01-18 Martin Liska <mliska@suse.cz>
25156
25157 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
25158 Wrap keywords with quotes and remove trailing dots.
25159 (riscv_subset_list::parsing_subset_version): Likewise.
25160 (riscv_subset_list::parse_std_ext): Likewise.
25161 (riscv_subset_list::parse_multiletter_ext): Likewise.
25162 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
25163
25164 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
25165
25166 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
25167 argument suggested_unroll_factor.
25168 (vect_analyze_loop_costing): Likewise.
25169 (_loop_vec_info::_loop_vec_info): Initialize new member
25170 suggested_unroll_factor.
25171 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
25172 main loop use partial vectors.
25173 (vect_analyze_loop_2): Pass and use new argument
25174 suggested_unroll_factor.
25175 (vect_analyze_loop_1): Change to intialize local
25176 suggested_unroll_factor and use it.
25177 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
25178 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
25179 suggested_unroll_factor.
25180 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
25181 (vector_costs::suggested_unroll_factor): New getter function.
25182 (finish_cost): Set return argument suggested_unroll_factor.
25183
25184 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
25185
25186 PR tree-optimization/104038
25187 * doc/invoke.texi (relation-block-limit): New.
25188 * params.opt (relation-block-limit): New.
25189 * value-relation.cc (dom_oracle::register_relation): Check for NULL
25190 record before invoking transitive registery.
25191 (dom_oracle::set_one_relation): Check limit before creating record.
25192 (dom_oracle::register_transitives): Stop when no record created.
25193 * value-relation.h (relation_chain_head::m_num_relations): New.
25194
25195 2022-01-18 Richard Biener <rguenther@suse.de>
25196
25197 PR ipa/103989
25198 * ipa-inline.cc (inline_small_functions): Do not enqueue call
25199 edges originating in functions compiled with -Og.
25200
25201 2022-01-18 Richard Biener <rguenther@suse.de>
25202
25203 PR ipa/103989
25204 * passes.def (pass_all_optimizations_g): Remove pass_modref
25205 and pass_local_pure_const.
25206
25207 2022-01-18 Martin Liska <mliska@suse.cz>
25208
25209 * config/s390/s390.cc: Fix -Wformat-diag warnings.
25210
25211 2022-01-18 Martin Liska <mliska@suse.cz>
25212
25213 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
25214 keyword in quotes.
25215 (s390_resolve_overloaded_builtin): Remove trailing dot.
25216 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
25217 (s390_expand_builtin): Remove trailing dot.
25218 (s390_emit_prologue): Likewise, use semicolon.
25219 (s390_option_override_internal): Update keyword.
25220 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
25221
25222 2022-01-18 Martin Liska <mliska@suse.cz>
25223
25224 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
25225 keywords and use %qs instead of %<%s%>.
25226
25227 2022-01-18 Richard Biener <rguenther@suse.de>
25228
25229 PR tree-optimization/103987
25230 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
25231 query with a pointer check.
25232
25233 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
25234
25235 PR target/104005
25236 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
25237 When using MEM_EXPR, require the base to be a decl.
25238
25239 2022-01-18 Richard Biener <rguenther@suse.de>
25240
25241 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
25242 avoid padding.
25243 * function.h (struct function): Likewise.
25244
25245 2022-01-18 Arnaud Charlet <charlet@adacore.com>
25246
25247 * doc/install.texi: Update prerequisites for GNAT
25248
25249 2022-01-18 Andrew Pinski <apinski@marvell.com>
25250
25251 PR tree-optimization/101941
25252 * ipa-split.cc (visit_bb): Disallow function calls where
25253 the function has either error or warning attribute.
25254
25255 2022-01-18 Richard Biener <rguenther@suse.de>
25256
25257 PR tree-optimization/104064
25258 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
25259 DR_INIT fits in a signed HWI, represent the difference from the
25260 first DR in unsigned.
25261
25262 2022-01-17 Martin Liska <mliska@suse.cz>
25263
25264 * Makefile.in: Rename .c names to .cc.
25265 * config.gcc: Likewise.
25266 * configure: Regenerate. Likewise.
25267 * configure.ac: Likewise.
25268 * gengtype.cc (set_gc_used): Likewise.
25269 (source_dot_c_frul): Likewise.
25270 (source_dot_cc_frul): Likewise.
25271 (struct file_rule_st): Likewise.
25272 (close_output_files): Likewise.
25273 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
25274
25275 2022-01-17 Martin Liska <mliska@suse.cz>
25276
25277 * Makefile.in: Rename .c names to .cc.
25278 * alias.h: Likewise.
25279 * asan.cc: Likewise.
25280 * auto-profile.h: Likewise.
25281 * basic-block.h (struct basic_block_d): Likewise.
25282 * btfout.cc: Likewise.
25283 * builtins.cc (expand_builtin_longjmp): Likewise.
25284 (validate_arg): Likewise.
25285 (access_ref::offset_bounded): Likewise.
25286 * caller-save.cc (reg_restore_code): Likewise.
25287 (setup_save_areas): Likewise.
25288 * calls.cc (initialize_argument_information): Likewise.
25289 (expand_call): Likewise.
25290 (emit_library_call_value_1): Likewise.
25291 * cfg-flags.def (RTL): Likewise.
25292 (SIBCALL): Likewise.
25293 (CAN_FALLTHRU): Likewise.
25294 * cfganal.cc (post_order_compute): Likewise.
25295 * cfgcleanup.cc (try_simplify_condjump): Likewise.
25296 (merge_blocks_move_predecessor_nojumps): Likewise.
25297 (merge_blocks_move_successor_nojumps): Likewise.
25298 (merge_blocks_move): Likewise.
25299 (old_insns_match_p): Likewise.
25300 (try_crossjump_bb): Likewise.
25301 * cfgexpand.cc (expand_gimple_stmt): Likewise.
25302 * cfghooks.cc (split_block_before_cond_jump): Likewise.
25303 (profile_record_check_consistency): Likewise.
25304 * cfghooks.h: Likewise.
25305 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
25306 (rtl_can_merge_blocks): Likewise.
25307 (try_redirect_by_replacing_jump): Likewise.
25308 (make_pass_outof_cfg_layout_mode): Likewise.
25309 (cfg_layout_can_merge_blocks_p): Likewise.
25310 * cgraph.cc (release_function_body): Likewise.
25311 (cgraph_node::get_fun): Likewise.
25312 * cgraph.h (struct cgraph_node): Likewise.
25313 (asmname_hasher::equal): Likewise.
25314 (cgraph_inline_failed_type): Likewise.
25315 (thunk_adjust): Likewise.
25316 (dump_callgraph_transformation): Likewise.
25317 (record_references_in_initializer): Likewise.
25318 (ipa_discover_variable_flags): Likewise.
25319 * cgraphclones.cc (GTY): Likewise.
25320 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
25321 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
25322 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
25323 * collect2.cc (maybe_run_lto_and_relink): Likewise.
25324 * combine-stack-adj.cc: Likewise.
25325 * combine.cc (setup_incoming_promotions): Likewise.
25326 (combine_simplify_rtx): Likewise.
25327 (count_rtxs): Likewise.
25328 * common.opt: Likewise.
25329 * common/config/aarch64/aarch64-common.cc: Likewise.
25330 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
25331 * common/config/avr/avr-common.cc: Likewise.
25332 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
25333 * conditions.h: Likewise.
25334 * config.gcc: Likewise.
25335 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
25336 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
25337 (aarch64_get_extension_string_for_isa_flags): Likewise.
25338 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
25339 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
25340 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
25341 (aarch64_option_valid_attribute_p): Likewise.
25342 (aarch64_short_vector_p): Likewise.
25343 (aarch64_float_const_representable_p): Likewise.
25344 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
25345 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
25346 (GTY): Likewise.
25347 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
25348 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
25349 * config/aarch64/t-aarch64: Likewise.
25350 * config/aarch64/x-aarch64: Likewise.
25351 * config/aarch64/x-darwin: Likewise.
25352 * config/alpha/alpha-protos.h: Likewise.
25353 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
25354 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
25355 (enum reg_class): Likewise.
25356 * config/alpha/alpha.md: Likewise.
25357 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
25358 * config/alpha/x-alpha: Likewise.
25359 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
25360 * config/arc/arc.cc (ARC_OPT): Likewise.
25361 (arc_ccfsm_advance): Likewise.
25362 (arc_arg_partial_bytes): Likewise.
25363 (conditionalize_nonjump): Likewise.
25364 * config/arc/arc.md: Likewise.
25365 * config/arc/builtins.def: Likewise.
25366 * config/arc/t-arc: Likewise.
25367 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
25368 (arm_pragma_target_parse): Likewise.
25369 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
25370 (arm_cpu_cpp_builtins): Likewise.
25371 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
25372 (shift_op): Likewise.
25373 (thumb2_final_prescan_insn): Likewise.
25374 (arm_final_prescan_insn): Likewise.
25375 (arm_asm_output_labelref): Likewise.
25376 (arm_small_register_classes_for_mode_p): Likewise.
25377 * config/arm/arm.h: Likewise.
25378 * config/arm/arm.md: Likewise.
25379 * config/arm/driver-arm.cc: Likewise.
25380 * config/arm/symbian.h: Likewise.
25381 * config/arm/t-arm: Likewise.
25382 * config/arm/thumb1.md: Likewise.
25383 * config/arm/x-arm: Likewise.
25384 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
25385 * config/avr/avr-fixed.md: Likewise.
25386 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
25387 * config/avr/avr-mcus.def: Likewise.
25388 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
25389 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
25390 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
25391 * config/avr/avr.cc (avr_option_override): Likewise.
25392 (avr_build_builtin_va_list): Likewise.
25393 (avr_mode_dependent_address_p): Likewise.
25394 (avr_function_arg_advance): Likewise.
25395 (avr_asm_output_aligned_decl_common): Likewise.
25396 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
25397 (SUPPORTS_INIT_PRIORITY): Likewise.
25398 * config/avr/avr.md: Likewise.
25399 * config/avr/builtins.def: Likewise.
25400 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
25401 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
25402 (main): Likewise.
25403 * config/avr/t-avr: Likewise.
25404 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
25405 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
25406 * config/bpf/bpf.h (enum reg_class): Likewise.
25407 * config/bpf/t-bpf: Likewise.
25408 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
25409 * config/cr16/cr16-protos.h: Likewise.
25410 * config/cris/cris.cc (cris_address_cost): Likewise.
25411 (cris_side_effect_mode_ok): Likewise.
25412 (cris_init_machine_status): Likewise.
25413 (cris_emit_movem_store): Likewise.
25414 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
25415 (enum reg_class): Likewise.
25416 (struct cum_args): Likewise.
25417 * config/cris/cris.opt: Likewise.
25418 * config/cris/sync.md: Likewise.
25419 * config/csky/csky.cc (csky_expand_prologue): Likewise.
25420 * config/darwin-c.cc: Likewise.
25421 * config/darwin-f.cc: Likewise.
25422 * config/darwin-sections.def (zobj_const_section): Likewise.
25423 * config/darwin.cc (output_objc_section_asm_op): Likewise.
25424 (fprintf): Likewise.
25425 * config/darwin.h (GTY): Likewise.
25426 * config/elfos.h: Likewise.
25427 * config/epiphany/epiphany-sched.md: Likewise.
25428 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
25429 * config/epiphany/epiphany.h (GTY): Likewise.
25430 (NO_FUNCTION_CSE): Likewise.
25431 * config/epiphany/mode-switch-use.cc: Likewise.
25432 * config/epiphany/predicates.md: Likewise.
25433 * config/epiphany/t-epiphany: Likewise.
25434 * config/fr30/fr30-protos.h: Likewise.
25435 * config/frv/frv-protos.h: Likewise.
25436 * config/frv/frv.cc (TLS_BIAS): Likewise.
25437 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
25438 * config/ft32/ft32-protos.h: Likewise.
25439 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
25440 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
25441 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
25442 * config/gcn/t-gcn-hsa: Likewise.
25443 * config/gcn/t-omp-device: Likewise.
25444 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
25445 (same_cmp_following_p): Likewise.
25446 * config/h8300/h8300.cc (F): Likewise.
25447 * config/h8300/h8300.h (struct cum_arg): Likewise.
25448 (BRANCH_COST): Likewise.
25449 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
25450 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
25451 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
25452 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
25453 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
25454 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
25455 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
25456 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
25457 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
25458 (ix86_register_pragmas): Likewise.
25459 (ix86_d_has_stdcall_convention): Likewise.
25460 (i386_pe_seh_init_sections): Likewise.
25461 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
25462 (ix86_function_value_regno_p): Likewise.
25463 (ix86_compute_frame_layout): Likewise.
25464 (legitimize_pe_coff_symbol): Likewise.
25465 (output_pic_addr_const): Likewise.
25466 * config/i386/i386.h (defined): Likewise.
25467 (host_detect_local_cpu): Likewise.
25468 (CONSTANT_ADDRESS_P): Likewise.
25469 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
25470 (struct machine_frame_state): Likewise.
25471 * config/i386/i386.md: Likewise.
25472 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
25473 * config/i386/mmx.md: Likewise.
25474 * config/i386/sse.md: Likewise.
25475 * config/i386/t-cygming: Likewise.
25476 * config/i386/t-djgpp: Likewise.
25477 * config/i386/t-gnu-property: Likewise.
25478 * config/i386/t-i386: Likewise.
25479 * config/i386/t-intelmic: Likewise.
25480 * config/i386/t-omp-device: Likewise.
25481 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
25482 (i386_pe_adjust_class_at_definition): Likewise.
25483 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
25484 (i386_pe_mangle_decl_assembler_name): Likewise.
25485 (i386_pe_encode_section_info): Likewise.
25486 * config/i386/x-cygwin: Likewise.
25487 * config/i386/x-darwin: Likewise.
25488 * config/i386/x-i386: Likewise.
25489 * config/i386/x-mingw32: Likewise.
25490 * config/i386/x86-tune-sched-core.cc: Likewise.
25491 * config/i386/x86-tune.def: Likewise.
25492 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
25493 * config/ia64/freebsd.h: Likewise.
25494 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
25495 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
25496 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
25497 (ia64_secondary_reload_class): Likewise.
25498 (bundling): Likewise.
25499 * config/ia64/ia64.h: Likewise.
25500 * config/ia64/ia64.md: Likewise.
25501 * config/ia64/predicates.md: Likewise.
25502 * config/ia64/sysv4.h: Likewise.
25503 * config/ia64/t-ia64: Likewise.
25504 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
25505 * config/iq2000/iq2000.md: Likewise.
25506 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
25507 (if): Likewise.
25508 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
25509 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
25510 * config/m32c/t-m32c: Likewise.
25511 * config/m32r/m32r-protos.h: Likewise.
25512 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
25513 * config/m32r/m32r.h: Likewise.
25514 * config/m32r/m32r.md: Likewise.
25515 * config/m68k/m68k-isas.def: Likewise.
25516 * config/m68k/m68k-microarchs.def: Likewise.
25517 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
25518 (m68k_epilogue_uses): Likewise.
25519 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
25520 (m68k_sched_adjust_cost): Likewise.
25521 (m68k_sched_md_init): Likewise.
25522 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
25523 (enum m68k_function_kind): Likewise.
25524 * config/m68k/m68k.md: Likewise.
25525 * config/m68k/m68kemb.h: Likewise.
25526 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
25527 * config/mcore/mcore-protos.h: Likewise.
25528 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
25529 (mcore_expand_prolog): Likewise.
25530 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
25531 * config/mcore/mcore.md: Likewise.
25532 * config/microblaze/microblaze-protos.h: Likewise.
25533 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
25534 (microblaze_function_prologue): Likewise.
25535 (microblaze_function_epilogue): Likewise.
25536 (microblaze_select_section): Likewise.
25537 (microblaze_asm_output_mi_thunk): Likewise.
25538 (microblaze_eh_return): Likewise.
25539 * config/microblaze/microblaze.h: Likewise.
25540 * config/microblaze/microblaze.md: Likewise.
25541 * config/microblaze/t-microblaze: Likewise.
25542 * config/mips/driver-native.cc: Likewise.
25543 * config/mips/loongson2ef.md: Likewise.
25544 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
25545 * config/mips/mips.cc (mips_rtx_costs): Likewise.
25546 (mips_output_filename): Likewise.
25547 (mips_output_function_prologue): Likewise.
25548 (mips_output_function_epilogue): Likewise.
25549 (mips_output_mi_thunk): Likewise.
25550 * config/mips/mips.h: Likewise.
25551 * config/mips/mips.md: Likewise.
25552 * config/mips/t-mips: Likewise.
25553 * config/mips/x-native: Likewise.
25554 * config/mmix/mmix-protos.h: Likewise.
25555 * config/mmix/mmix.cc (mmix_option_override): Likewise.
25556 (mmix_dbx_register_number): Likewise.
25557 (mmix_expand_prologue): Likewise.
25558 * config/mmix/mmix.h: Likewise.
25559 * config/mmix/mmix.md: Likewise.
25560 * config/mmix/predicates.md: Likewise.
25561 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
25562 (mn10300_legitimate_pic_operand_p): Likewise.
25563 * config/mn10300/mn10300.h (enum reg_class): Likewise.
25564 (NO_FUNCTION_CSE): Likewise.
25565 * config/moxie/moxie-protos.h: Likewise.
25566 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
25567 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
25568 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
25569 (msp430_incoming_return_addr_rtx): Likewise.
25570 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
25571 * config/msp430/t-msp430: Likewise.
25572 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
25573 (nds32_rtx_costs_size_prefer): Likewise.
25574 (nds32_init_rtx_costs): Likewise.
25575 * config/nds32/nds32-doubleword.md: Likewise.
25576 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
25577 (nds32_builtin_decl): Likewise.
25578 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
25579 (enum nds32_isr_nested_type): Likewise.
25580 (enum reg_class): Likewise.
25581 * config/nds32/predicates.md: Likewise.
25582 * config/nds32/t-nds32: Likewise.
25583 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
25584 * config/nvptx/nvptx-protos.h: Likewise.
25585 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
25586 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
25587 * config/nvptx/t-nvptx: Likewise.
25588 * config/nvptx/t-omp-device: Likewise.
25589 * config/pa/elf.h: Likewise.
25590 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
25591 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
25592 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
25593 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
25594 (pa_legitimize_reload_address): Likewise.
25595 (pa_can_use_return_insn): Likewise.
25596 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
25597 (som_output_text_section_asm_op): Likewise.
25598 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
25599 * config/pa/pa.md: Likewise.
25600 * config/pa/som.h: Likewise.
25601 * config/pa/t-pa: Likewise.
25602 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
25603 * config/pdp11/pdp11.h: Likewise.
25604 * config/pdp11/pdp11.md: Likewise.
25605 * config/pdp11/t-pdp11: Likewise.
25606 * config/pru/pru.md: Likewise.
25607 * config/pru/t-pru: Likewise.
25608 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
25609 (riscv_gpr_save_operation_p): Likewise.
25610 (riscv_d_register_target_info): Likewise.
25611 (riscv_init_builtins): Likewise.
25612 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
25613 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
25614 * config/riscv/t-riscv: Likewise.
25615 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
25616 * config/rl78/t-rl78: Likewise.
25617 * config/rs6000/aix.h: Likewise.
25618 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
25619 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
25620 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
25621 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
25622 * config/rs6000/driver-rs6000.cc: Likewise.
25623 * config/rs6000/freebsd.h: Likewise.
25624 * config/rs6000/freebsd64.h: Likewise.
25625 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
25626 * config/rs6000/rbtree.cc: Likewise.
25627 * config/rs6000/rbtree.h: Likewise.
25628 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
25629 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
25630 (rs6000_expand_builtin): Likewise.
25631 (rs6000_init_builtins): Likewise.
25632 * config/rs6000/rs6000-cpus.def: Likewise.
25633 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
25634 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
25635 (quad_address_offset_p): Likewise.
25636 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
25637 (rs6000_emit_epilogue): Likewise.
25638 * config/rs6000/rs6000-overload.def: Likewise.
25639 * config/rs6000/rs6000-p8swap.cc: Likewise.
25640 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
25641 (rs6000_const_f32_to_i32): Likewise.
25642 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
25643 (rs6000_debug_legitimize_address): Likewise.
25644 (rs6000_mode_dependent_address): Likewise.
25645 (rs6000_adjust_priority): Likewise.
25646 (rs6000_c_mode_for_suffix): Likewise.
25647 * config/rs6000/rs6000.h (defined): Likewise.
25648 (LONG_DOUBLE_TYPE_SIZE): Likewise.
25649 * config/rs6000/rs6000.md: Likewise.
25650 * config/rs6000/sysv4.h: Likewise.
25651 * config/rs6000/t-linux: Likewise.
25652 * config/rs6000/t-linux64: Likewise.
25653 * config/rs6000/t-rs6000: Likewise.
25654 * config/rs6000/x-darwin: Likewise.
25655 * config/rs6000/x-darwin64: Likewise.
25656 * config/rs6000/x-rs6000: Likewise.
25657 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
25658 * config/rx/rx.cc (rx_expand_builtin): Likewise.
25659 * config/s390/constraints.md: Likewise.
25660 * config/s390/driver-native.cc: Likewise.
25661 * config/s390/htmxlintrin.h: Likewise.
25662 * config/s390/s390-builtins.def (B_DEF): Likewise.
25663 (OB_DEF_VAR): Likewise.
25664 * config/s390/s390-builtins.h: Likewise.
25665 * config/s390/s390-c.cc: Likewise.
25666 * config/s390/s390-opts.h: Likewise.
25667 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
25668 (s390_register_target_pragmas): Likewise.
25669 * config/s390/s390.cc (s390_init_builtins): Likewise.
25670 (s390_expand_plus_operand): Likewise.
25671 (s390_expand_atomic): Likewise.
25672 (s390_valid_target_attribute_inner_p): Likewise.
25673 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
25674 * config/s390/s390.md: Likewise.
25675 * config/s390/t-s390: Likewise.
25676 * config/s390/vx-builtins.md: Likewise.
25677 * config/s390/x-native: Likewise.
25678 * config/sh/divtab-sh4-300.cc (main): Likewise.
25679 * config/sh/divtab-sh4.cc (main): Likewise.
25680 * config/sh/divtab.cc (main): Likewise.
25681 * config/sh/elf.h: Likewise.
25682 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
25683 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
25684 (sh_struct_value_rtx): Likewise.
25685 (sh_remove_reg_dead_or_unused_notes): Likewise.
25686 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
25687 * config/sh/t-sh: Likewise.
25688 * config/sol2-protos.h (solaris_override_options): Likewise.
25689 * config/sol2.h: Likewise.
25690 * config/sparc/driver-sparc.cc: Likewise.
25691 * config/sparc/freebsd.h: Likewise.
25692 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
25693 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
25694 (sparc_asan_shadow_offset): Likewise.
25695 * config/sparc/sparc.h: Likewise.
25696 * config/sparc/sparc.md: Likewise.
25697 * config/sparc/t-sparc: Likewise.
25698 * config/sparc/x-sparc: Likewise.
25699 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
25700 * config/t-darwin: Likewise.
25701 * config/t-dragonfly: Likewise.
25702 * config/t-freebsd: Likewise.
25703 * config/t-glibc: Likewise.
25704 * config/t-linux: Likewise.
25705 * config/t-netbsd: Likewise.
25706 * config/t-openbsd: Likewise.
25707 * config/t-pnt16-warn: Likewise.
25708 * config/t-sol2: Likewise.
25709 * config/t-vxworks: Likewise.
25710 * config/t-winnt: Likewise.
25711 * config/tilegx/t-tilegx: Likewise.
25712 * config/tilegx/tilegx-c.cc: Likewise.
25713 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
25714 * config/tilegx/tilegx.md: Likewise.
25715 * config/tilepro/t-tilepro: Likewise.
25716 * config/tilepro/tilepro-c.cc: Likewise.
25717 * config/v850/t-v850: Likewise.
25718 * config/v850/v850-protos.h: Likewise.
25719 * config/v850/v850.cc (F): Likewise.
25720 * config/v850/v850.h (enum reg_class): Likewise.
25721 (SLOW_BYTE_ACCESS): Likewise.
25722 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
25723 * config/vax/vax.h (enum reg_class): Likewise.
25724 * config/vax/vax.md: Likewise.
25725 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
25726 * config/visium/visium.h: Likewise.
25727 * config/vms/t-vms: Likewise.
25728 * config/vms/vms-crtlmap.map: Likewise.
25729 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
25730 * config/vx-common.h: Likewise.
25731 * config/x-darwin: Likewise.
25732 * config/x-hpux: Likewise.
25733 * config/x-linux: Likewise.
25734 * config/x-netbsd: Likewise.
25735 * config/x-openbsd: Likewise.
25736 * config/x-solaris: Likewise.
25737 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
25738 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
25739 * config/xtensa/xtensa.h: Likewise.
25740 * configure.ac: Likewise.
25741 * context.cc: Likewise.
25742 * convert.h: Likewise.
25743 * coretypes.h: Likewise.
25744 * coverage.cc: Likewise.
25745 * coverage.h: Likewise.
25746 * cppdefault.h (struct default_include): Likewise.
25747 * cprop.cc (local_cprop_pass): Likewise.
25748 (one_cprop_pass): Likewise.
25749 * cse.cc (hash_rtx_cb): Likewise.
25750 (fold_rtx): Likewise.
25751 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
25752 * data-streamer.h (bp_unpack_var_len_int): Likewise.
25753 (streamer_write_widest_int): Likewise.
25754 * dbgcnt.def: Likewise.
25755 * dbxout.cc (dbxout_early_global_decl): Likewise.
25756 (dbxout_common_check): Likewise.
25757 * dbxout.h: Likewise.
25758 * debug.h (struct gcc_debug_hooks): Likewise.
25759 (dump_go_spec_init): Likewise.
25760 * df-core.cc: Likewise.
25761 * df-scan.cc (df_insn_info_delete): Likewise.
25762 (df_insn_delete): Likewise.
25763 * df.h (debug_df_chain): Likewise.
25764 (can_move_insns_across): Likewise.
25765 * dfp.cc (decimal_from_binary): Likewise.
25766 * diagnostic-color.cc: Likewise.
25767 * diagnostic-event-id.h: Likewise.
25768 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
25769 * diagnostic.cc (bt_callback): Likewise.
25770 (num_digits): Likewise.
25771 * doc/avr-mmcu.texi: Likewise.
25772 * doc/cfg.texi: Likewise.
25773 * doc/contrib.texi: Likewise.
25774 * doc/cppinternals.texi: Likewise.
25775 * doc/extend.texi: Likewise.
25776 * doc/generic.texi: Likewise.
25777 * doc/gimple.texi: Likewise.
25778 * doc/gty.texi: Likewise.
25779 * doc/invoke.texi: Likewise.
25780 * doc/loop.texi: Likewise.
25781 * doc/lto.texi: Likewise.
25782 * doc/match-and-simplify.texi: Likewise.
25783 * doc/md.texi: Likewise.
25784 * doc/optinfo.texi: Likewise.
25785 * doc/options.texi: Likewise.
25786 * doc/passes.texi: Likewise.
25787 * doc/plugins.texi: Likewise.
25788 * doc/rtl.texi: Likewise.
25789 * doc/sourcebuild.texi: Likewise.
25790 * doc/tm.texi: Likewise.
25791 * doc/tm.texi.in: Likewise.
25792 * doc/tree-ssa.texi: Likewise.
25793 * dojump.cc (do_jump): Likewise.
25794 * dojump.h: Likewise.
25795 * dumpfile.cc (test_impl_location): Likewise.
25796 (test_capture_of_dump_calls): Likewise.
25797 * dumpfile.h (enum dump_kind): Likewise.
25798 (class dump_location_t): Likewise.
25799 (dump_enabled_p): Likewise.
25800 (enable_rtl_dump_file): Likewise.
25801 (dump_combine_total_stats): Likewise.
25802 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
25803 * dwarf2ctf.h (ctf_debug_finish): Likewise.
25804 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
25805 (struct loc_descr_context): Likewise.
25806 (rtl_for_decl_location): Likewise.
25807 (gen_subprogram_die): Likewise.
25808 (gen_label_die): Likewise.
25809 (is_trivial_indirect_ref): Likewise.
25810 (dwarf2out_late_global_decl): Likewise.
25811 (dwarf_file_hasher::hash): Likewise.
25812 (dwarf2out_end_source_file): Likewise.
25813 (dwarf2out_define): Likewise.
25814 (dwarf2out_early_finish): Likewise.
25815 * dwarf2out.h (struct dw_fde_node): Likewise.
25816 (struct dw_discr_list_node): Likewise.
25817 (output_loc_sequence_raw): Likewise.
25818 * emit-rtl.cc (gen_raw_REG): Likewise.
25819 (maybe_set_max_label_num): Likewise.
25820 * emit-rtl.h (struct rtl_data): Likewise.
25821 * errors.cc (internal_error): Likewise.
25822 (trim_filename): Likewise.
25823 * et-forest.cc: Likewise.
25824 * except.cc (init_eh_for_function): Likewise.
25825 * explow.cc (promote_ssa_mode): Likewise.
25826 (get_dynamic_stack_size): Likewise.
25827 * explow.h: Likewise.
25828 * expmed.h: Likewise.
25829 * expr.cc (safe_from_p): Likewise.
25830 (expand_expr_real_2): Likewise.
25831 (expand_expr_real_1): Likewise.
25832 * file-prefix-map.cc (remap_filename): Likewise.
25833 * final.cc (app_enable): Likewise.
25834 (make_pass_compute_alignments): Likewise.
25835 (final_scan_insn_1): Likewise.
25836 (final_scan_insn): Likewise.
25837 * fixed-value.h (fixed_from_string): Likewise.
25838 * flag-types.h (NO_DEBUG): Likewise.
25839 (DWARF2_DEBUG): Likewise.
25840 (VMS_DEBUG): Likewise.
25841 (BTF_DEBUG): Likewise.
25842 (enum ctf_debug_info_levels): Likewise.
25843 * fold-const.cc (const_binop): Likewise.
25844 (fold_binary_loc): Likewise.
25845 (fold_checksum_tree): Likewise.
25846 * fp-test.cc: Likewise.
25847 * function.cc (expand_function_end): Likewise.
25848 * function.h (struct function): Likewise.
25849 * fwprop.cc (should_replace_address): Likewise.
25850 * gcc-main.cc: Likewise.
25851 * gcc-rich-location.h (class gcc_rich_location): Likewise.
25852 * gcc-symtab.h: Likewise.
25853 * gcc.cc (MIN_FATAL_STATUS): Likewise.
25854 (driver_handle_option): Likewise.
25855 (quote_spec_arg): Likewise.
25856 (driver::finalize): Likewise.
25857 * gcc.h (set_input): Likewise.
25858 * gcov-dump.cc: Likewise.
25859 * gcov.cc (solve_flow_graph): Likewise.
25860 * gcse-common.cc: Likewise.
25861 * gcse.cc (make_pass_rtl_hoist): Likewise.
25862 * genattr-common.cc: Likewise.
25863 * genattrtab.cc (min_fn): Likewise.
25864 (write_const_num_delay_slots): Likewise.
25865 * genautomata.cc: Likewise.
25866 * genconditions.cc (write_one_condition): Likewise.
25867 * genconstants.cc: Likewise.
25868 * genemit.cc (gen_exp): Likewise.
25869 * generic-match-head.cc: Likewise.
25870 * genextract.cc: Likewise.
25871 * gengenrtl.cc (always_void_p): Likewise.
25872 * gengtype-parse.cc (gtymarker_opt): Likewise.
25873 * gengtype-state.cc (state_writer::state_writer): Likewise.
25874 (write_state_trailer): Likewise.
25875 (equals_type_number): Likewise.
25876 (read_state): Likewise.
25877 * gengtype.cc (open_base_files): Likewise.
25878 (struct file_rule_st): Likewise.
25879 (header_dot_h_frul): Likewise.
25880 * gengtype.h: Likewise.
25881 * genmatch.cc (main): Likewise.
25882 * genmddeps.cc: Likewise.
25883 * genmodes.cc (emit_mode_inner): Likewise.
25884 (emit_mode_unit_size): Likewise.
25885 * genpeep.cc (gen_peephole): Likewise.
25886 * genpreds.cc (write_tm_preds_h): Likewise.
25887 * genrecog.cc (validate_pattern): Likewise.
25888 (write_header): Likewise.
25889 (main): Likewise.
25890 * gensupport.cc (change_subst_attribute): Likewise.
25891 (traverse_c_tests): Likewise.
25892 (add_predicate): Likewise.
25893 (init_predicate_table): Likewise.
25894 * gensupport.h (struct optab_pattern): Likewise.
25895 (get_num_insn_codes): Likewise.
25896 (maybe_eval_c_test): Likewise.
25897 (struct pred_data): Likewise.
25898 * ggc-internal.h: Likewise.
25899 * gimple-fold.cc (maybe_fold_reference): Likewise.
25900 (get_range_strlen_tree): Likewise.
25901 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
25902 * gimple-low.cc: Likewise.
25903 * gimple-match-head.cc (directly_supported_p): Likewise.
25904 * gimple-pretty-print.h: Likewise.
25905 * gimple-ssa-sprintf.cc (format_percent): Likewise.
25906 (adjust_range_for_overflow): Likewise.
25907 * gimple-streamer.h: Likewise.
25908 * gimple.h (struct GTY): Likewise.
25909 (is_gimple_resx): Likewise.
25910 * gimplify.cc (gimplify_expr): Likewise.
25911 (gimplify_init_constructor): Likewise.
25912 (omp_construct_selector_matches): Likewise.
25913 (gimplify_omp_target_update): Likewise.
25914 (gimplify_omp_ordered): Likewise.
25915 (gimplify_va_arg_expr): Likewise.
25916 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
25917 * haifa-sched.cc (increase_insn_priority): Likewise.
25918 (try_ready): Likewise.
25919 (sched_create_recovery_edges): Likewise.
25920 * ifcvt.cc (find_if_case_1): Likewise.
25921 (find_if_case_2): Likewise.
25922 * inchash.h: Likewise.
25923 * incpath.cc (add_env_var_paths): Likewise.
25924 * input.cc (dump_location_info): Likewise.
25925 (assert_loceq): Likewise.
25926 (test_lexer_string_locations_concatenation_1): Likewise.
25927 (test_lexer_string_locations_concatenation_2): Likewise.
25928 (test_lexer_string_locations_concatenation_3): Likewise.
25929 * input.h (BUILTINS_LOCATION): Likewise.
25930 (class string_concat_db): Likewise.
25931 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
25932 (expand_LOOP_VECTORIZED): Likewise.
25933 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
25934 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
25935 (ipa_fn_summary_t::duplicate): Likewise.
25936 (make_pass_ipa_fn_summary): Likewise.
25937 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
25938 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
25939 (free_lang_data_in_decl): Likewise.
25940 * ipa-inline.cc (compute_inlined_call_time): Likewise.
25941 (inline_always_inline_functions): Likewise.
25942 * ipa-inline.h (free_growth_caches): Likewise.
25943 (inline_account_function_p): Likewise.
25944 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
25945 (modref_eaf_analysis::analyze_ssa_name): Likewise.
25946 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
25947 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
25948 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
25949 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
25950 (unadjusted_ptr_and_unit_offset): Likewise.
25951 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
25952 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
25953 * ipa-split.cc (consider_split): Likewise.
25954 * ipa-sra.cc (isra_read_node_info): Likewise.
25955 * ipa-utils.h (struct ipa_dfs_info): Likewise.
25956 (recursive_call_p): Likewise.
25957 (ipa_make_function_pure): Likewise.
25958 * ira-build.cc (ira_create_allocno): Likewise.
25959 (ira_flattening): Likewise.
25960 * ira-color.cc (do_coloring): Likewise.
25961 (update_curr_costs): Likewise.
25962 * ira-conflicts.cc (process_regs_for_copy): Likewise.
25963 * ira-int.h (struct ira_emit_data): Likewise.
25964 (ira_prohibited_mode_move_regs): Likewise.
25965 (ira_get_dup_out_num): Likewise.
25966 (ira_destroy): Likewise.
25967 (ira_tune_allocno_costs): Likewise.
25968 (ira_implicitly_set_insn_hard_regs): Likewise.
25969 (ira_build_conflicts): Likewise.
25970 (ira_color): Likewise.
25971 * ira-lives.cc (process_bb_node_lives): Likewise.
25972 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
25973 (setup_uniform_class_p): Likewise.
25974 (def_dominates_uses): Likewise.
25975 * ira.h (ira_nullify_asm_goto): Likewise.
25976 * langhooks.cc (lhd_post_options): Likewise.
25977 * langhooks.h (class substring_loc): Likewise.
25978 (struct lang_hooks_for_tree_inlining): Likewise.
25979 (struct lang_hooks_for_types): Likewise.
25980 (struct lang_hooks): Likewise.
25981 * libfuncs.h (synchronize_libfunc): Likewise.
25982 * loop-doloop.cc (doloop_condition_get): Likewise.
25983 * loop-init.cc (fix_loop_structure): Likewise.
25984 * loop-invariant.cc: Likewise.
25985 * lower-subreg.h: Likewise.
25986 * lra-constraints.cc (curr_insn_transform): Likewise.
25987 * lra-int.h (struct lra_insn_reg): Likewise.
25988 (lra_undo_inheritance): Likewise.
25989 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
25990 (lra_split_hard_reg_for): Likewise.
25991 (lra_coalesce): Likewise.
25992 (lra_final_code_change): Likewise.
25993 * lra-spills.cc (lra_final_code_change): Likewise.
25994 * lra.cc (lra_process_new_insns): Likewise.
25995 * lto-compress.h (struct lto_compression_stream): Likewise.
25996 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
25997 (write_symbol): Likewise.
25998 * lto-streamer.h (enum LTO_tags): Likewise.
25999 (lto_value_range_error): Likewise.
26000 (lto_append_block): Likewise.
26001 (lto_streamer_hooks_init): Likewise.
26002 (stream_read_tree_ref): Likewise.
26003 (lto_prepare_function_for_streaming): Likewise.
26004 (select_what_to_stream): Likewise.
26005 (omp_lto_input_declare_variant_alt): Likewise.
26006 (cl_optimization_stream_in): Likewise.
26007 * lto-wrapper.cc (append_compiler_options): Likewise.
26008 * machmode.def: Likewise.
26009 * machmode.h (struct int_n_data_t): Likewise.
26010 * main.cc (main): Likewise.
26011 * match.pd: Likewise.
26012 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
26013 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
26014 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
26015 (make_pass_expand_omp_ssa): Likewise.
26016 * omp-low.cc (struct omp_context): Likewise.
26017 (struct omp_taskcopy_context): Likewise.
26018 (lower_omp): Likewise.
26019 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
26020 (mask_name): Likewise.
26021 (omp_sese_dump_pars): Likewise.
26022 (worker_single_simple): Likewise.
26023 * omp-offload.cc (omp_finish_file): Likewise.
26024 (execute_oacc_loop_designation): Likewise.
26025 * optabs-query.cc (lshift_cheap_p): Likewise.
26026 * optc-gen.awk: Likewise.
26027 * optc-save-gen.awk: Likewise.
26028 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
26029 * opts-common.cc: Likewise.
26030 * output.h (app_enable): Likewise.
26031 (output_operand_lossage): Likewise.
26032 (insn_current_reference_address): Likewise.
26033 (get_insn_template): Likewise.
26034 (output_quoted_string): Likewise.
26035 * pass_manager.h (struct register_pass_info): Likewise.
26036 * plugin.cc: Likewise.
26037 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
26038 * plugin.h (invoke_plugin_callbacks): Likewise.
26039 * pointer-query.cc (handle_mem_ref): Likewise.
26040 * postreload-gcse.cc (alloc_mem): Likewise.
26041 * predict.h (enum prediction): Likewise.
26042 (add_reg_br_prob_note): Likewise.
26043 * prefix.h: Likewise.
26044 * profile.h (get_working_sets): Likewise.
26045 * read-md.cc: Likewise.
26046 * read-md.h (struct mapping): Likewise.
26047 (class md_reader): Likewise.
26048 (class noop_reader): Likewise.
26049 * read-rtl-function.cc (function_reader::create_function): Likewise.
26050 (function_reader::extra_parsing_for_operand_code_0): Likewise.
26051 * read-rtl.cc (initialize_iterators): Likewise.
26052 * real.cc: Likewise.
26053 * real.h (struct real_value): Likewise.
26054 (format_helper::format_helper): Likewise.
26055 (real_hash): Likewise.
26056 (real_can_shorten_arithmetic): Likewise.
26057 * recog.cc (struct target_recog): Likewise.
26058 (offsettable_nonstrict_memref_p): Likewise.
26059 (constrain_operands): Likewise.
26060 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
26061 (which_op_alt): Likewise.
26062 (struct insn_gen_fn): Likewise.
26063 * reg-notes.def (REG_NOTE): Likewise.
26064 * reg-stack.cc: Likewise.
26065 * regs.h (reg_is_parm_p): Likewise.
26066 * regset.h: Likewise.
26067 * reload.cc (push_reload): Likewise.
26068 (find_reloads): Likewise.
26069 (find_reloads_address_1): Likewise.
26070 (find_replacement): Likewise.
26071 (refers_to_regno_for_reload_p): Likewise.
26072 (refers_to_mem_for_reload_p): Likewise.
26073 * reload.h (push_reload): Likewise.
26074 (deallocate_reload_reg): Likewise.
26075 * reload1.cc (emit_input_reload_insns): Likewise.
26076 * reorg.cc (relax_delay_slots): Likewise.
26077 * rtl.def (UNKNOWN): Likewise.
26078 (SEQUENCE): Likewise.
26079 (BARRIER): Likewise.
26080 (ASM_OPERANDS): Likewise.
26081 (EQ_ATTR_ALT): Likewise.
26082 * rtl.h (struct GTY): Likewise.
26083 (LABEL_NAME): Likewise.
26084 (LABEL_ALT_ENTRY_P): Likewise.
26085 (SUBREG_BYTE): Likewise.
26086 (get_stack_check_protect): Likewise.
26087 (dump_rtx_statistics): Likewise.
26088 (unwrap_const_vec_duplicate): Likewise.
26089 (subreg_promoted_mode): Likewise.
26090 (gen_lowpart_common): Likewise.
26091 (operand_subword): Likewise.
26092 (immed_wide_int_const): Likewise.
26093 (decide_function_section): Likewise.
26094 (active_insn_p): Likewise.
26095 (delete_related_insns): Likewise.
26096 (try_split): Likewise.
26097 (val_signbit_known_clear_p): Likewise.
26098 (simplifiable_subregs): Likewise.
26099 (set_insn_deleted): Likewise.
26100 (subreg_get_info): Likewise.
26101 (remove_free_EXPR_LIST_node): Likewise.
26102 (finish_subregs_of_mode): Likewise.
26103 (get_mem_attrs): Likewise.
26104 (lookup_constant_def): Likewise.
26105 (rtx_to_tree_code): Likewise.
26106 (hash_rtx): Likewise.
26107 (condjump_in_parallel_p): Likewise.
26108 (validate_subreg): Likewise.
26109 (make_compound_operation): Likewise.
26110 (schedule_ebbs): Likewise.
26111 (print_inline_rtx): Likewise.
26112 (fixup_args_size_notes): Likewise.
26113 (expand_dec): Likewise.
26114 (prepare_copy_insn): Likewise.
26115 (mark_elimination): Likewise.
26116 (valid_mode_changes_for_regno): Likewise.
26117 (make_debug_expr_from_rtl): Likewise.
26118 (delete_vta_debug_insns): Likewise.
26119 (simplify_using_condition): Likewise.
26120 (set_insn_locations): Likewise.
26121 (fatal_insn_not_found): Likewise.
26122 (word_register_operation_p): Likewise.
26123 * rtlanal.cc (get_call_fndecl): Likewise.
26124 (side_effects_p): Likewise.
26125 (subreg_nregs): Likewise.
26126 (rtx_cost): Likewise.
26127 (canonicalize_condition): Likewise.
26128 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
26129 * run-rtl-passes.cc (run_rtl_passes): Likewise.
26130 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
26131 * sched-deps.cc (add_dependence_1): Likewise.
26132 * sched-ebb.cc (begin_move_insn): Likewise.
26133 (add_deps_for_risky_insns): Likewise.
26134 (advance_target_bb): Likewise.
26135 * sched-int.h (reemit_notes): Likewise.
26136 (struct _haifa_insn_data): Likewise.
26137 (HID): Likewise.
26138 (DEP_CANCELLED): Likewise.
26139 (debug_ds): Likewise.
26140 (number_in_ready): Likewise.
26141 (schedule_ebbs_finish): Likewise.
26142 (find_modifiable_mems): Likewise.
26143 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
26144 * sel-sched-dump.cc (dump_lv_set): Likewise.
26145 * sel-sched-dump.h: Likewise.
26146 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
26147 (setup_id_reg_sets): Likewise.
26148 (has_dependence_p): Likewise.
26149 (sel_num_cfg_preds_gt_1): Likewise.
26150 (bb_ends_ebb_p): Likewise.
26151 * sel-sched-ir.h (struct _list_node): Likewise.
26152 (struct idata_def): Likewise.
26153 (bb_next_bb): Likewise.
26154 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
26155 (choose_best_pseudo_reg): Likewise.
26156 (verify_target_availability): Likewise.
26157 (can_speculate_dep_p): Likewise.
26158 (sel_rank_for_schedule): Likewise.
26159 * selftest-run-tests.cc (selftest::run_tests): Likewise.
26160 * selftest.h (class auto_fix_quotes): Likewise.
26161 * shrink-wrap.cc (handle_simple_exit): Likewise.
26162 * shrink-wrap.h: Likewise.
26163 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
26164 (simplify_context::simplify_gen_vec_select): Likewise.
26165 * spellcheck-tree.h: Likewise.
26166 * spellcheck.h: Likewise.
26167 * statistics.h (struct function): Likewise.
26168 * stmt.cc (conditional_probability): Likewise.
26169 * stmt.h: Likewise.
26170 * stor-layout.h: Likewise.
26171 * streamer-hooks.h: Likewise.
26172 * stringpool.h: Likewise.
26173 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
26174 * target.def (HOOK_VECTOR_END): Likewise.
26175 (type.): Likewise.
26176 * target.h (union cumulative_args_t): Likewise.
26177 (by_pieces_ninsns): Likewise.
26178 (class predefined_function_abi): Likewise.
26179 * targhooks.cc (default_translate_mode_attribute): Likewise.
26180 * timevar.def: Likewise.
26181 * timevar.h (class timer): Likewise.
26182 * toplev.h (enable_rtl_dump_file): Likewise.
26183 * trans-mem.cc (collect_bb2reg): Likewise.
26184 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
26185 * tree-cfg.cc (remove_bb): Likewise.
26186 (verify_gimple_debug): Likewise.
26187 (remove_edge_and_dominated_blocks): Likewise.
26188 (push_fndecl): Likewise.
26189 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
26190 * tree-complex.cc (expand_complex_multiplication): Likewise.
26191 (expand_complex_div_straight): Likewise.
26192 * tree-core.h (enum tree_index): Likewise.
26193 (enum operand_equal_flag): Likewise.
26194 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
26195 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
26196 * tree-inline.cc (initialize_inlined_parameters): Likewise.
26197 * tree-inline.h (force_value_to_type): Likewise.
26198 * tree-nested.cc (get_chain_decl): Likewise.
26199 (walk_all_functions): Likewise.
26200 * tree-object-size.h: Likewise.
26201 * tree-outof-ssa.cc: Likewise.
26202 * tree-parloops.cc (create_parallel_loop): Likewise.
26203 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
26204 (dump_generic_node): Likewise.
26205 * tree-profile.cc (tree_profiling): Likewise.
26206 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
26207 * tree-ssa-address.cc: Likewise.
26208 * tree-ssa-alias.cc: Likewise.
26209 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
26210 (dump_alias_stats): Likewise.
26211 * tree-ssa-ccp.cc: Likewise.
26212 * tree-ssa-coalesce.h: Likewise.
26213 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
26214 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
26215 * tree-ssa-loop-unswitch.cc: Likewise.
26216 * tree-ssa-math-opts.cc: Likewise.
26217 * tree-ssa-operands.cc (class operands_scanner): Likewise.
26218 * tree-ssa-pre.cc: Likewise.
26219 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
26220 (debug_range_entry): Likewise.
26221 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
26222 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
26223 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
26224 (equal_mem_array_ref_p): Likewise.
26225 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
26226 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
26227 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
26228 * tree-ssa-ter.h: Likewise.
26229 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
26230 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
26231 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
26232 (write_ts_block_tree_pointers): Likewise.
26233 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
26234 (streamer_read_tree_bitfields): Likewise.
26235 (streamer_write_integer_cst): Likewise.
26236 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
26237 (vect_synth_mult_by_constant): Likewise.
26238 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
26239 * tree-vectorizer.cc: Likewise.
26240 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
26241 (vect_update_inits_of_drs): Likewise.
26242 (vect_get_mask_type_for_stmt): Likewise.
26243 (vect_rgroup_iv_might_wrap_p): Likewise.
26244 (cse_and_gimplify_to_preheader): Likewise.
26245 (vect_free_slp_tree): Likewise.
26246 (vect_pattern_recog): Likewise.
26247 (vect_stmt_dominates_stmt_p): Likewise.
26248 * tree.cc (initialize_tree_contains_struct): Likewise.
26249 (need_assembler_name_p): Likewise.
26250 (type_with_interoperable_signedness): Likewise.
26251 * tree.def (SWITCH_EXPR): Likewise.
26252 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
26253 (poly_int_tree_p): Likewise.
26254 (inlined_function_outer_scope_p): Likewise.
26255 (tree_code_for_canonical_type_merging): Likewise.
26256 * value-prof.cc: Likewise.
26257 * value-prof.h (get_nth_most_common_value): Likewise.
26258 (find_func_by_profile_id): Likewise.
26259 * value-range.cc (vrp_operand_equal_p): Likewise.
26260 * value-range.h: Likewise.
26261 * var-tracking.cc: Likewise.
26262 * varasm.cc (default_function_section): Likewise.
26263 (function_section_1): Likewise.
26264 (assemble_variable): Likewise.
26265 (handle_vtv_comdat_section): Likewise.
26266 * vec.h (struct vec_prefix): Likewise.
26267 * vmsdbgout.cc (full_name): Likewise.
26268 * vtable-verify.cc: Likewise.
26269 * vtable-verify.h (struct vtv_graph_node): Likewise.
26270 * xcoffout.cc: Likewise.
26271 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
26272
26273 2022-01-17 Martin Liska <mliska@suse.cz>
26274
26275 * adjust-alignment.c: Moved to...
26276 * adjust-alignment.cc: ...here.
26277 * alias.c: Moved to...
26278 * alias.cc: ...here.
26279 * alloc-pool.c: Moved to...
26280 * alloc-pool.cc: ...here.
26281 * asan.c: Moved to...
26282 * asan.cc: ...here.
26283 * attribs.c: Moved to...
26284 * attribs.cc: ...here.
26285 * auto-inc-dec.c: Moved to...
26286 * auto-inc-dec.cc: ...here.
26287 * auto-profile.c: Moved to...
26288 * auto-profile.cc: ...here.
26289 * bb-reorder.c: Moved to...
26290 * bb-reorder.cc: ...here.
26291 * bitmap.c: Moved to...
26292 * bitmap.cc: ...here.
26293 * btfout.c: Moved to...
26294 * btfout.cc: ...here.
26295 * builtins.c: Moved to...
26296 * builtins.cc: ...here.
26297 * caller-save.c: Moved to...
26298 * caller-save.cc: ...here.
26299 * calls.c: Moved to...
26300 * calls.cc: ...here.
26301 * ccmp.c: Moved to...
26302 * ccmp.cc: ...here.
26303 * cfg.c: Moved to...
26304 * cfg.cc: ...here.
26305 * cfganal.c: Moved to...
26306 * cfganal.cc: ...here.
26307 * cfgbuild.c: Moved to...
26308 * cfgbuild.cc: ...here.
26309 * cfgcleanup.c: Moved to...
26310 * cfgcleanup.cc: ...here.
26311 * cfgexpand.c: Moved to...
26312 * cfgexpand.cc: ...here.
26313 * cfghooks.c: Moved to...
26314 * cfghooks.cc: ...here.
26315 * cfgloop.c: Moved to...
26316 * cfgloop.cc: ...here.
26317 * cfgloopanal.c: Moved to...
26318 * cfgloopanal.cc: ...here.
26319 * cfgloopmanip.c: Moved to...
26320 * cfgloopmanip.cc: ...here.
26321 * cfgrtl.c: Moved to...
26322 * cfgrtl.cc: ...here.
26323 * cgraph.c: Moved to...
26324 * cgraph.cc: ...here.
26325 * cgraphbuild.c: Moved to...
26326 * cgraphbuild.cc: ...here.
26327 * cgraphclones.c: Moved to...
26328 * cgraphclones.cc: ...here.
26329 * cgraphunit.c: Moved to...
26330 * cgraphunit.cc: ...here.
26331 * collect-utils.c: Moved to...
26332 * collect-utils.cc: ...here.
26333 * collect2-aix.c: Moved to...
26334 * collect2-aix.cc: ...here.
26335 * collect2.c: Moved to...
26336 * collect2.cc: ...here.
26337 * combine-stack-adj.c: Moved to...
26338 * combine-stack-adj.cc: ...here.
26339 * combine.c: Moved to...
26340 * combine.cc: ...here.
26341 * common/common-targhooks.c: Moved to...
26342 * common/common-targhooks.cc: ...here.
26343 * common/config/aarch64/aarch64-common.c: Moved to...
26344 * common/config/aarch64/aarch64-common.cc: ...here.
26345 * common/config/alpha/alpha-common.c: Moved to...
26346 * common/config/alpha/alpha-common.cc: ...here.
26347 * common/config/arc/arc-common.c: Moved to...
26348 * common/config/arc/arc-common.cc: ...here.
26349 * common/config/arm/arm-common.c: Moved to...
26350 * common/config/arm/arm-common.cc: ...here.
26351 * common/config/avr/avr-common.c: Moved to...
26352 * common/config/avr/avr-common.cc: ...here.
26353 * common/config/bfin/bfin-common.c: Moved to...
26354 * common/config/bfin/bfin-common.cc: ...here.
26355 * common/config/bpf/bpf-common.c: Moved to...
26356 * common/config/bpf/bpf-common.cc: ...here.
26357 * common/config/c6x/c6x-common.c: Moved to...
26358 * common/config/c6x/c6x-common.cc: ...here.
26359 * common/config/cr16/cr16-common.c: Moved to...
26360 * common/config/cr16/cr16-common.cc: ...here.
26361 * common/config/cris/cris-common.c: Moved to...
26362 * common/config/cris/cris-common.cc: ...here.
26363 * common/config/csky/csky-common.c: Moved to...
26364 * common/config/csky/csky-common.cc: ...here.
26365 * common/config/default-common.c: Moved to...
26366 * common/config/default-common.cc: ...here.
26367 * common/config/epiphany/epiphany-common.c: Moved to...
26368 * common/config/epiphany/epiphany-common.cc: ...here.
26369 * common/config/fr30/fr30-common.c: Moved to...
26370 * common/config/fr30/fr30-common.cc: ...here.
26371 * common/config/frv/frv-common.c: Moved to...
26372 * common/config/frv/frv-common.cc: ...here.
26373 * common/config/gcn/gcn-common.c: Moved to...
26374 * common/config/gcn/gcn-common.cc: ...here.
26375 * common/config/h8300/h8300-common.c: Moved to...
26376 * common/config/h8300/h8300-common.cc: ...here.
26377 * common/config/i386/i386-common.c: Moved to...
26378 * common/config/i386/i386-common.cc: ...here.
26379 * common/config/ia64/ia64-common.c: Moved to...
26380 * common/config/ia64/ia64-common.cc: ...here.
26381 * common/config/iq2000/iq2000-common.c: Moved to...
26382 * common/config/iq2000/iq2000-common.cc: ...here.
26383 * common/config/lm32/lm32-common.c: Moved to...
26384 * common/config/lm32/lm32-common.cc: ...here.
26385 * common/config/m32r/m32r-common.c: Moved to...
26386 * common/config/m32r/m32r-common.cc: ...here.
26387 * common/config/m68k/m68k-common.c: Moved to...
26388 * common/config/m68k/m68k-common.cc: ...here.
26389 * common/config/mcore/mcore-common.c: Moved to...
26390 * common/config/mcore/mcore-common.cc: ...here.
26391 * common/config/microblaze/microblaze-common.c: Moved to...
26392 * common/config/microblaze/microblaze-common.cc: ...here.
26393 * common/config/mips/mips-common.c: Moved to...
26394 * common/config/mips/mips-common.cc: ...here.
26395 * common/config/mmix/mmix-common.c: Moved to...
26396 * common/config/mmix/mmix-common.cc: ...here.
26397 * common/config/mn10300/mn10300-common.c: Moved to...
26398 * common/config/mn10300/mn10300-common.cc: ...here.
26399 * common/config/msp430/msp430-common.c: Moved to...
26400 * common/config/msp430/msp430-common.cc: ...here.
26401 * common/config/nds32/nds32-common.c: Moved to...
26402 * common/config/nds32/nds32-common.cc: ...here.
26403 * common/config/nios2/nios2-common.c: Moved to...
26404 * common/config/nios2/nios2-common.cc: ...here.
26405 * common/config/nvptx/nvptx-common.c: Moved to...
26406 * common/config/nvptx/nvptx-common.cc: ...here.
26407 * common/config/or1k/or1k-common.c: Moved to...
26408 * common/config/or1k/or1k-common.cc: ...here.
26409 * common/config/pa/pa-common.c: Moved to...
26410 * common/config/pa/pa-common.cc: ...here.
26411 * common/config/pdp11/pdp11-common.c: Moved to...
26412 * common/config/pdp11/pdp11-common.cc: ...here.
26413 * common/config/pru/pru-common.c: Moved to...
26414 * common/config/pru/pru-common.cc: ...here.
26415 * common/config/riscv/riscv-common.c: Moved to...
26416 * common/config/riscv/riscv-common.cc: ...here.
26417 * common/config/rs6000/rs6000-common.c: Moved to...
26418 * common/config/rs6000/rs6000-common.cc: ...here.
26419 * common/config/rx/rx-common.c: Moved to...
26420 * common/config/rx/rx-common.cc: ...here.
26421 * common/config/s390/s390-common.c: Moved to...
26422 * common/config/s390/s390-common.cc: ...here.
26423 * common/config/sh/sh-common.c: Moved to...
26424 * common/config/sh/sh-common.cc: ...here.
26425 * common/config/sparc/sparc-common.c: Moved to...
26426 * common/config/sparc/sparc-common.cc: ...here.
26427 * common/config/tilegx/tilegx-common.c: Moved to...
26428 * common/config/tilegx/tilegx-common.cc: ...here.
26429 * common/config/tilepro/tilepro-common.c: Moved to...
26430 * common/config/tilepro/tilepro-common.cc: ...here.
26431 * common/config/v850/v850-common.c: Moved to...
26432 * common/config/v850/v850-common.cc: ...here.
26433 * common/config/vax/vax-common.c: Moved to...
26434 * common/config/vax/vax-common.cc: ...here.
26435 * common/config/visium/visium-common.c: Moved to...
26436 * common/config/visium/visium-common.cc: ...here.
26437 * common/config/xstormy16/xstormy16-common.c: Moved to...
26438 * common/config/xstormy16/xstormy16-common.cc: ...here.
26439 * common/config/xtensa/xtensa-common.c: Moved to...
26440 * common/config/xtensa/xtensa-common.cc: ...here.
26441 * compare-elim.c: Moved to...
26442 * compare-elim.cc: ...here.
26443 * config/aarch64/aarch64-bti-insert.c: Moved to...
26444 * config/aarch64/aarch64-bti-insert.cc: ...here.
26445 * config/aarch64/aarch64-builtins.c: Moved to...
26446 * config/aarch64/aarch64-builtins.cc: ...here.
26447 * config/aarch64/aarch64-c.c: Moved to...
26448 * config/aarch64/aarch64-c.cc: ...here.
26449 * config/aarch64/aarch64-d.c: Moved to...
26450 * config/aarch64/aarch64-d.cc: ...here.
26451 * config/aarch64/aarch64.c: Moved to...
26452 * config/aarch64/aarch64.cc: ...here.
26453 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
26454 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
26455 * config/aarch64/driver-aarch64.c: Moved to...
26456 * config/aarch64/driver-aarch64.cc: ...here.
26457 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
26458 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
26459 * config/aarch64/host-aarch64-darwin.c: Moved to...
26460 * config/aarch64/host-aarch64-darwin.cc: ...here.
26461 * config/alpha/alpha.c: Moved to...
26462 * config/alpha/alpha.cc: ...here.
26463 * config/alpha/driver-alpha.c: Moved to...
26464 * config/alpha/driver-alpha.cc: ...here.
26465 * config/arc/arc-c.c: Moved to...
26466 * config/arc/arc-c.cc: ...here.
26467 * config/arc/arc.c: Moved to...
26468 * config/arc/arc.cc: ...here.
26469 * config/arc/driver-arc.c: Moved to...
26470 * config/arc/driver-arc.cc: ...here.
26471 * config/arm/aarch-common.c: Moved to...
26472 * config/arm/aarch-common.cc: ...here.
26473 * config/arm/arm-builtins.c: Moved to...
26474 * config/arm/arm-builtins.cc: ...here.
26475 * config/arm/arm-c.c: Moved to...
26476 * config/arm/arm-c.cc: ...here.
26477 * config/arm/arm-d.c: Moved to...
26478 * config/arm/arm-d.cc: ...here.
26479 * config/arm/arm.c: Moved to...
26480 * config/arm/arm.cc: ...here.
26481 * config/arm/driver-arm.c: Moved to...
26482 * config/arm/driver-arm.cc: ...here.
26483 * config/avr/avr-c.c: Moved to...
26484 * config/avr/avr-c.cc: ...here.
26485 * config/avr/avr-devices.c: Moved to...
26486 * config/avr/avr-devices.cc: ...here.
26487 * config/avr/avr-log.c: Moved to...
26488 * config/avr/avr-log.cc: ...here.
26489 * config/avr/avr.c: Moved to...
26490 * config/avr/avr.cc: ...here.
26491 * config/avr/driver-avr.c: Moved to...
26492 * config/avr/driver-avr.cc: ...here.
26493 * config/avr/gen-avr-mmcu-specs.c: Moved to...
26494 * config/avr/gen-avr-mmcu-specs.cc: ...here.
26495 * config/avr/gen-avr-mmcu-texi.c: Moved to...
26496 * config/avr/gen-avr-mmcu-texi.cc: ...here.
26497 * config/bfin/bfin.c: Moved to...
26498 * config/bfin/bfin.cc: ...here.
26499 * config/bpf/bpf.c: Moved to...
26500 * config/bpf/bpf.cc: ...here.
26501 * config/bpf/coreout.c: Moved to...
26502 * config/bpf/coreout.cc: ...here.
26503 * config/c6x/c6x.c: Moved to...
26504 * config/c6x/c6x.cc: ...here.
26505 * config/cr16/cr16.c: Moved to...
26506 * config/cr16/cr16.cc: ...here.
26507 * config/cris/cris.c: Moved to...
26508 * config/cris/cris.cc: ...here.
26509 * config/csky/csky.c: Moved to...
26510 * config/csky/csky.cc: ...here.
26511 * config/darwin-c.c: Moved to...
26512 * config/darwin-c.cc: ...here.
26513 * config/darwin-d.c: Moved to...
26514 * config/darwin-d.cc: ...here.
26515 * config/darwin-driver.c: Moved to...
26516 * config/darwin-driver.cc: ...here.
26517 * config/darwin-f.c: Moved to...
26518 * config/darwin-f.cc: ...here.
26519 * config/darwin.c: Moved to...
26520 * config/darwin.cc: ...here.
26521 * config/default-c.c: Moved to...
26522 * config/default-c.cc: ...here.
26523 * config/default-d.c: Moved to...
26524 * config/default-d.cc: ...here.
26525 * config/dragonfly-d.c: Moved to...
26526 * config/dragonfly-d.cc: ...here.
26527 * config/epiphany/epiphany.c: Moved to...
26528 * config/epiphany/epiphany.cc: ...here.
26529 * config/epiphany/mode-switch-use.c: Moved to...
26530 * config/epiphany/mode-switch-use.cc: ...here.
26531 * config/epiphany/resolve-sw-modes.c: Moved to...
26532 * config/epiphany/resolve-sw-modes.cc: ...here.
26533 * config/fr30/fr30.c: Moved to...
26534 * config/fr30/fr30.cc: ...here.
26535 * config/freebsd-d.c: Moved to...
26536 * config/freebsd-d.cc: ...here.
26537 * config/frv/frv.c: Moved to...
26538 * config/frv/frv.cc: ...here.
26539 * config/ft32/ft32.c: Moved to...
26540 * config/ft32/ft32.cc: ...here.
26541 * config/gcn/driver-gcn.c: Moved to...
26542 * config/gcn/driver-gcn.cc: ...here.
26543 * config/gcn/gcn-run.c: Moved to...
26544 * config/gcn/gcn-run.cc: ...here.
26545 * config/gcn/gcn-tree.c: Moved to...
26546 * config/gcn/gcn-tree.cc: ...here.
26547 * config/gcn/gcn.c: Moved to...
26548 * config/gcn/gcn.cc: ...here.
26549 * config/gcn/mkoffload.c: Moved to...
26550 * config/gcn/mkoffload.cc: ...here.
26551 * config/glibc-c.c: Moved to...
26552 * config/glibc-c.cc: ...here.
26553 * config/glibc-d.c: Moved to...
26554 * config/glibc-d.cc: ...here.
26555 * config/h8300/h8300.c: Moved to...
26556 * config/h8300/h8300.cc: ...here.
26557 * config/host-darwin.c: Moved to...
26558 * config/host-darwin.cc: ...here.
26559 * config/host-hpux.c: Moved to...
26560 * config/host-hpux.cc: ...here.
26561 * config/host-linux.c: Moved to...
26562 * config/host-linux.cc: ...here.
26563 * config/host-netbsd.c: Moved to...
26564 * config/host-netbsd.cc: ...here.
26565 * config/host-openbsd.c: Moved to...
26566 * config/host-openbsd.cc: ...here.
26567 * config/host-solaris.c: Moved to...
26568 * config/host-solaris.cc: ...here.
26569 * config/i386/djgpp.c: Moved to...
26570 * config/i386/djgpp.cc: ...here.
26571 * config/i386/driver-i386.c: Moved to...
26572 * config/i386/driver-i386.cc: ...here.
26573 * config/i386/driver-mingw32.c: Moved to...
26574 * config/i386/driver-mingw32.cc: ...here.
26575 * config/i386/gnu-property.c: Moved to...
26576 * config/i386/gnu-property.cc: ...here.
26577 * config/i386/host-cygwin.c: Moved to...
26578 * config/i386/host-cygwin.cc: ...here.
26579 * config/i386/host-i386-darwin.c: Moved to...
26580 * config/i386/host-i386-darwin.cc: ...here.
26581 * config/i386/host-mingw32.c: Moved to...
26582 * config/i386/host-mingw32.cc: ...here.
26583 * config/i386/i386-builtins.c: Moved to...
26584 * config/i386/i386-builtins.cc: ...here.
26585 * config/i386/i386-c.c: Moved to...
26586 * config/i386/i386-c.cc: ...here.
26587 * config/i386/i386-d.c: Moved to...
26588 * config/i386/i386-d.cc: ...here.
26589 * config/i386/i386-expand.c: Moved to...
26590 * config/i386/i386-expand.cc: ...here.
26591 * config/i386/i386-features.c: Moved to...
26592 * config/i386/i386-features.cc: ...here.
26593 * config/i386/i386-options.c: Moved to...
26594 * config/i386/i386-options.cc: ...here.
26595 * config/i386/i386.c: Moved to...
26596 * config/i386/i386.cc: ...here.
26597 * config/i386/intelmic-mkoffload.c: Moved to...
26598 * config/i386/intelmic-mkoffload.cc: ...here.
26599 * config/i386/msformat-c.c: Moved to...
26600 * config/i386/msformat-c.cc: ...here.
26601 * config/i386/winnt-cxx.c: Moved to...
26602 * config/i386/winnt-cxx.cc: ...here.
26603 * config/i386/winnt-d.c: Moved to...
26604 * config/i386/winnt-d.cc: ...here.
26605 * config/i386/winnt-stubs.c: Moved to...
26606 * config/i386/winnt-stubs.cc: ...here.
26607 * config/i386/winnt.c: Moved to...
26608 * config/i386/winnt.cc: ...here.
26609 * config/i386/x86-tune-sched-atom.c: Moved to...
26610 * config/i386/x86-tune-sched-atom.cc: ...here.
26611 * config/i386/x86-tune-sched-bd.c: Moved to...
26612 * config/i386/x86-tune-sched-bd.cc: ...here.
26613 * config/i386/x86-tune-sched-core.c: Moved to...
26614 * config/i386/x86-tune-sched-core.cc: ...here.
26615 * config/i386/x86-tune-sched.c: Moved to...
26616 * config/i386/x86-tune-sched.cc: ...here.
26617 * config/ia64/ia64-c.c: Moved to...
26618 * config/ia64/ia64-c.cc: ...here.
26619 * config/ia64/ia64.c: Moved to...
26620 * config/ia64/ia64.cc: ...here.
26621 * config/iq2000/iq2000.c: Moved to...
26622 * config/iq2000/iq2000.cc: ...here.
26623 * config/linux.c: Moved to...
26624 * config/linux.cc: ...here.
26625 * config/lm32/lm32.c: Moved to...
26626 * config/lm32/lm32.cc: ...here.
26627 * config/m32c/m32c-pragma.c: Moved to...
26628 * config/m32c/m32c-pragma.cc: ...here.
26629 * config/m32c/m32c.c: Moved to...
26630 * config/m32c/m32c.cc: ...here.
26631 * config/m32r/m32r.c: Moved to...
26632 * config/m32r/m32r.cc: ...here.
26633 * config/m68k/m68k.c: Moved to...
26634 * config/m68k/m68k.cc: ...here.
26635 * config/mcore/mcore.c: Moved to...
26636 * config/mcore/mcore.cc: ...here.
26637 * config/microblaze/microblaze-c.c: Moved to...
26638 * config/microblaze/microblaze-c.cc: ...here.
26639 * config/microblaze/microblaze.c: Moved to...
26640 * config/microblaze/microblaze.cc: ...here.
26641 * config/mips/driver-native.c: Moved to...
26642 * config/mips/driver-native.cc: ...here.
26643 * config/mips/frame-header-opt.c: Moved to...
26644 * config/mips/frame-header-opt.cc: ...here.
26645 * config/mips/mips-d.c: Moved to...
26646 * config/mips/mips-d.cc: ...here.
26647 * config/mips/mips.c: Moved to...
26648 * config/mips/mips.cc: ...here.
26649 * config/mmix/mmix.c: Moved to...
26650 * config/mmix/mmix.cc: ...here.
26651 * config/mn10300/mn10300.c: Moved to...
26652 * config/mn10300/mn10300.cc: ...here.
26653 * config/moxie/moxie.c: Moved to...
26654 * config/moxie/moxie.cc: ...here.
26655 * config/msp430/driver-msp430.c: Moved to...
26656 * config/msp430/driver-msp430.cc: ...here.
26657 * config/msp430/msp430-c.c: Moved to...
26658 * config/msp430/msp430-c.cc: ...here.
26659 * config/msp430/msp430-devices.c: Moved to...
26660 * config/msp430/msp430-devices.cc: ...here.
26661 * config/msp430/msp430.c: Moved to...
26662 * config/msp430/msp430.cc: ...here.
26663 * config/nds32/nds32-cost.c: Moved to...
26664 * config/nds32/nds32-cost.cc: ...here.
26665 * config/nds32/nds32-fp-as-gp.c: Moved to...
26666 * config/nds32/nds32-fp-as-gp.cc: ...here.
26667 * config/nds32/nds32-intrinsic.c: Moved to...
26668 * config/nds32/nds32-intrinsic.cc: ...here.
26669 * config/nds32/nds32-isr.c: Moved to...
26670 * config/nds32/nds32-isr.cc: ...here.
26671 * config/nds32/nds32-md-auxiliary.c: Moved to...
26672 * config/nds32/nds32-md-auxiliary.cc: ...here.
26673 * config/nds32/nds32-memory-manipulation.c: Moved to...
26674 * config/nds32/nds32-memory-manipulation.cc: ...here.
26675 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
26676 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
26677 * config/nds32/nds32-predicates.c: Moved to...
26678 * config/nds32/nds32-predicates.cc: ...here.
26679 * config/nds32/nds32-relax-opt.c: Moved to...
26680 * config/nds32/nds32-relax-opt.cc: ...here.
26681 * config/nds32/nds32-utils.c: Moved to...
26682 * config/nds32/nds32-utils.cc: ...here.
26683 * config/nds32/nds32.c: Moved to...
26684 * config/nds32/nds32.cc: ...here.
26685 * config/netbsd-d.c: Moved to...
26686 * config/netbsd-d.cc: ...here.
26687 * config/netbsd.c: Moved to...
26688 * config/netbsd.cc: ...here.
26689 * config/nios2/nios2.c: Moved to...
26690 * config/nios2/nios2.cc: ...here.
26691 * config/nvptx/mkoffload.c: Moved to...
26692 * config/nvptx/mkoffload.cc: ...here.
26693 * config/nvptx/nvptx-c.c: Moved to...
26694 * config/nvptx/nvptx-c.cc: ...here.
26695 * config/nvptx/nvptx.c: Moved to...
26696 * config/nvptx/nvptx.cc: ...here.
26697 * config/openbsd-d.c: Moved to...
26698 * config/openbsd-d.cc: ...here.
26699 * config/or1k/or1k.c: Moved to...
26700 * config/or1k/or1k.cc: ...here.
26701 * config/pa/pa-d.c: Moved to...
26702 * config/pa/pa-d.cc: ...here.
26703 * config/pa/pa.c: Moved to...
26704 * config/pa/pa.cc: ...here.
26705 * config/pdp11/pdp11.c: Moved to...
26706 * config/pdp11/pdp11.cc: ...here.
26707 * config/pru/pru-passes.c: Moved to...
26708 * config/pru/pru-passes.cc: ...here.
26709 * config/pru/pru-pragma.c: Moved to...
26710 * config/pru/pru-pragma.cc: ...here.
26711 * config/pru/pru.c: Moved to...
26712 * config/pru/pru.cc: ...here.
26713 * config/riscv/riscv-builtins.c: Moved to...
26714 * config/riscv/riscv-builtins.cc: ...here.
26715 * config/riscv/riscv-c.c: Moved to...
26716 * config/riscv/riscv-c.cc: ...here.
26717 * config/riscv/riscv-d.c: Moved to...
26718 * config/riscv/riscv-d.cc: ...here.
26719 * config/riscv/riscv-shorten-memrefs.c: Moved to...
26720 * config/riscv/riscv-shorten-memrefs.cc: ...here.
26721 * config/riscv/riscv-sr.c: Moved to...
26722 * config/riscv/riscv-sr.cc: ...here.
26723 * config/riscv/riscv.c: Moved to...
26724 * config/riscv/riscv.cc: ...here.
26725 * config/rl78/rl78-c.c: Moved to...
26726 * config/rl78/rl78-c.cc: ...here.
26727 * config/rl78/rl78.c: Moved to...
26728 * config/rl78/rl78.cc: ...here.
26729 * config/rs6000/driver-rs6000.c: Moved to...
26730 * config/rs6000/driver-rs6000.cc: ...here.
26731 * config/rs6000/host-darwin.c: Moved to...
26732 * config/rs6000/host-darwin.cc: ...here.
26733 * config/rs6000/host-ppc64-darwin.c: Moved to...
26734 * config/rs6000/host-ppc64-darwin.cc: ...here.
26735 * config/rs6000/rbtree.c: Moved to...
26736 * config/rs6000/rbtree.cc: ...here.
26737 * config/rs6000/rs6000-c.c: Moved to...
26738 * config/rs6000/rs6000-c.cc: ...here.
26739 * config/rs6000/rs6000-call.c: Moved to...
26740 * config/rs6000/rs6000-call.cc: ...here.
26741 * config/rs6000/rs6000-d.c: Moved to...
26742 * config/rs6000/rs6000-d.cc: ...here.
26743 * config/rs6000/rs6000-gen-builtins.c: Moved to...
26744 * config/rs6000/rs6000-gen-builtins.cc: ...here.
26745 * config/rs6000/rs6000-linux.c: Moved to...
26746 * config/rs6000/rs6000-linux.cc: ...here.
26747 * config/rs6000/rs6000-logue.c: Moved to...
26748 * config/rs6000/rs6000-logue.cc: ...here.
26749 * config/rs6000/rs6000-p8swap.c: Moved to...
26750 * config/rs6000/rs6000-p8swap.cc: ...here.
26751 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
26752 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
26753 * config/rs6000/rs6000-string.c: Moved to...
26754 * config/rs6000/rs6000-string.cc: ...here.
26755 * config/rs6000/rs6000.c: Moved to...
26756 * config/rs6000/rs6000.cc: ...here.
26757 * config/rx/rx.c: Moved to...
26758 * config/rx/rx.cc: ...here.
26759 * config/s390/driver-native.c: Moved to...
26760 * config/s390/driver-native.cc: ...here.
26761 * config/s390/s390-c.c: Moved to...
26762 * config/s390/s390-c.cc: ...here.
26763 * config/s390/s390-d.c: Moved to...
26764 * config/s390/s390-d.cc: ...here.
26765 * config/s390/s390.c: Moved to...
26766 * config/s390/s390.cc: ...here.
26767 * config/sh/divtab-sh4-300.c: Moved to...
26768 * config/sh/divtab-sh4-300.cc: ...here.
26769 * config/sh/divtab-sh4.c: Moved to...
26770 * config/sh/divtab-sh4.cc: ...here.
26771 * config/sh/divtab.c: Moved to...
26772 * config/sh/divtab.cc: ...here.
26773 * config/sh/sh-c.c: Moved to...
26774 * config/sh/sh-c.cc: ...here.
26775 * config/sh/sh.c: Moved to...
26776 * config/sh/sh.cc: ...here.
26777 * config/sol2-c.c: Moved to...
26778 * config/sol2-c.cc: ...here.
26779 * config/sol2-cxx.c: Moved to...
26780 * config/sol2-cxx.cc: ...here.
26781 * config/sol2-d.c: Moved to...
26782 * config/sol2-d.cc: ...here.
26783 * config/sol2-stubs.c: Moved to...
26784 * config/sol2-stubs.cc: ...here.
26785 * config/sol2.c: Moved to...
26786 * config/sol2.cc: ...here.
26787 * config/sparc/driver-sparc.c: Moved to...
26788 * config/sparc/driver-sparc.cc: ...here.
26789 * config/sparc/sparc-c.c: Moved to...
26790 * config/sparc/sparc-c.cc: ...here.
26791 * config/sparc/sparc-d.c: Moved to...
26792 * config/sparc/sparc-d.cc: ...here.
26793 * config/sparc/sparc.c: Moved to...
26794 * config/sparc/sparc.cc: ...here.
26795 * config/stormy16/stormy16.c: Moved to...
26796 * config/stormy16/stormy16.cc: ...here.
26797 * config/tilegx/mul-tables.c: Moved to...
26798 * config/tilegx/mul-tables.cc: ...here.
26799 * config/tilegx/tilegx-c.c: Moved to...
26800 * config/tilegx/tilegx-c.cc: ...here.
26801 * config/tilegx/tilegx.c: Moved to...
26802 * config/tilegx/tilegx.cc: ...here.
26803 * config/tilepro/mul-tables.c: Moved to...
26804 * config/tilepro/mul-tables.cc: ...here.
26805 * config/tilepro/tilepro-c.c: Moved to...
26806 * config/tilepro/tilepro-c.cc: ...here.
26807 * config/tilepro/tilepro.c: Moved to...
26808 * config/tilepro/tilepro.cc: ...here.
26809 * config/v850/v850-c.c: Moved to...
26810 * config/v850/v850-c.cc: ...here.
26811 * config/v850/v850.c: Moved to...
26812 * config/v850/v850.cc: ...here.
26813 * config/vax/vax.c: Moved to...
26814 * config/vax/vax.cc: ...here.
26815 * config/visium/visium.c: Moved to...
26816 * config/visium/visium.cc: ...here.
26817 * config/vms/vms-c.c: Moved to...
26818 * config/vms/vms-c.cc: ...here.
26819 * config/vms/vms-f.c: Moved to...
26820 * config/vms/vms-f.cc: ...here.
26821 * config/vms/vms.c: Moved to...
26822 * config/vms/vms.cc: ...here.
26823 * config/vxworks-c.c: Moved to...
26824 * config/vxworks-c.cc: ...here.
26825 * config/vxworks.c: Moved to...
26826 * config/vxworks.cc: ...here.
26827 * config/winnt-c.c: Moved to...
26828 * config/winnt-c.cc: ...here.
26829 * config/xtensa/xtensa.c: Moved to...
26830 * config/xtensa/xtensa.cc: ...here.
26831 * context.c: Moved to...
26832 * context.cc: ...here.
26833 * convert.c: Moved to...
26834 * convert.cc: ...here.
26835 * coverage.c: Moved to...
26836 * coverage.cc: ...here.
26837 * cppbuiltin.c: Moved to...
26838 * cppbuiltin.cc: ...here.
26839 * cppdefault.c: Moved to...
26840 * cppdefault.cc: ...here.
26841 * cprop.c: Moved to...
26842 * cprop.cc: ...here.
26843 * cse.c: Moved to...
26844 * cse.cc: ...here.
26845 * cselib.c: Moved to...
26846 * cselib.cc: ...here.
26847 * ctfc.c: Moved to...
26848 * ctfc.cc: ...here.
26849 * ctfout.c: Moved to...
26850 * ctfout.cc: ...here.
26851 * data-streamer-in.c: Moved to...
26852 * data-streamer-in.cc: ...here.
26853 * data-streamer-out.c: Moved to...
26854 * data-streamer-out.cc: ...here.
26855 * data-streamer.c: Moved to...
26856 * data-streamer.cc: ...here.
26857 * dbgcnt.c: Moved to...
26858 * dbgcnt.cc: ...here.
26859 * dbxout.c: Moved to...
26860 * dbxout.cc: ...here.
26861 * dce.c: Moved to...
26862 * dce.cc: ...here.
26863 * ddg.c: Moved to...
26864 * ddg.cc: ...here.
26865 * debug.c: Moved to...
26866 * debug.cc: ...here.
26867 * df-core.c: Moved to...
26868 * df-core.cc: ...here.
26869 * df-problems.c: Moved to...
26870 * df-problems.cc: ...here.
26871 * df-scan.c: Moved to...
26872 * df-scan.cc: ...here.
26873 * dfp.c: Moved to...
26874 * dfp.cc: ...here.
26875 * diagnostic-color.c: Moved to...
26876 * diagnostic-color.cc: ...here.
26877 * diagnostic-show-locus.c: Moved to...
26878 * diagnostic-show-locus.cc: ...here.
26879 * diagnostic-spec.c: Moved to...
26880 * diagnostic-spec.cc: ...here.
26881 * diagnostic.c: Moved to...
26882 * diagnostic.cc: ...here.
26883 * dojump.c: Moved to...
26884 * dojump.cc: ...here.
26885 * dominance.c: Moved to...
26886 * dominance.cc: ...here.
26887 * domwalk.c: Moved to...
26888 * domwalk.cc: ...here.
26889 * double-int.c: Moved to...
26890 * double-int.cc: ...here.
26891 * dse.c: Moved to...
26892 * dse.cc: ...here.
26893 * dumpfile.c: Moved to...
26894 * dumpfile.cc: ...here.
26895 * dwarf2asm.c: Moved to...
26896 * dwarf2asm.cc: ...here.
26897 * dwarf2cfi.c: Moved to...
26898 * dwarf2cfi.cc: ...here.
26899 * dwarf2ctf.c: Moved to...
26900 * dwarf2ctf.cc: ...here.
26901 * dwarf2out.c: Moved to...
26902 * dwarf2out.cc: ...here.
26903 * early-remat.c: Moved to...
26904 * early-remat.cc: ...here.
26905 * edit-context.c: Moved to...
26906 * edit-context.cc: ...here.
26907 * emit-rtl.c: Moved to...
26908 * emit-rtl.cc: ...here.
26909 * errors.c: Moved to...
26910 * errors.cc: ...here.
26911 * et-forest.c: Moved to...
26912 * et-forest.cc: ...here.
26913 * except.c: Moved to...
26914 * except.cc: ...here.
26915 * explow.c: Moved to...
26916 * explow.cc: ...here.
26917 * expmed.c: Moved to...
26918 * expmed.cc: ...here.
26919 * expr.c: Moved to...
26920 * expr.cc: ...here.
26921 * fibonacci_heap.c: Moved to...
26922 * fibonacci_heap.cc: ...here.
26923 * file-find.c: Moved to...
26924 * file-find.cc: ...here.
26925 * file-prefix-map.c: Moved to...
26926 * file-prefix-map.cc: ...here.
26927 * final.c: Moved to...
26928 * final.cc: ...here.
26929 * fixed-value.c: Moved to...
26930 * fixed-value.cc: ...here.
26931 * fold-const-call.c: Moved to...
26932 * fold-const-call.cc: ...here.
26933 * fold-const.c: Moved to...
26934 * fold-const.cc: ...here.
26935 * fp-test.c: Moved to...
26936 * fp-test.cc: ...here.
26937 * function-tests.c: Moved to...
26938 * function-tests.cc: ...here.
26939 * function.c: Moved to...
26940 * function.cc: ...here.
26941 * fwprop.c: Moved to...
26942 * fwprop.cc: ...here.
26943 * gcc-ar.c: Moved to...
26944 * gcc-ar.cc: ...here.
26945 * gcc-main.c: Moved to...
26946 * gcc-main.cc: ...here.
26947 * gcc-rich-location.c: Moved to...
26948 * gcc-rich-location.cc: ...here.
26949 * gcc.c: Moved to...
26950 * gcc.cc: ...here.
26951 * gcov-dump.c: Moved to...
26952 * gcov-dump.cc: ...here.
26953 * gcov-io.c: Moved to...
26954 * gcov-io.cc: ...here.
26955 * gcov-tool.c: Moved to...
26956 * gcov-tool.cc: ...here.
26957 * gcov.c: Moved to...
26958 * gcov.cc: ...here.
26959 * gcse-common.c: Moved to...
26960 * gcse-common.cc: ...here.
26961 * gcse.c: Moved to...
26962 * gcse.cc: ...here.
26963 * genattr-common.c: Moved to...
26964 * genattr-common.cc: ...here.
26965 * genattr.c: Moved to...
26966 * genattr.cc: ...here.
26967 * genattrtab.c: Moved to...
26968 * genattrtab.cc: ...here.
26969 * genautomata.c: Moved to...
26970 * genautomata.cc: ...here.
26971 * gencfn-macros.c: Moved to...
26972 * gencfn-macros.cc: ...here.
26973 * gencheck.c: Moved to...
26974 * gencheck.cc: ...here.
26975 * genchecksum.c: Moved to...
26976 * genchecksum.cc: ...here.
26977 * gencodes.c: Moved to...
26978 * gencodes.cc: ...here.
26979 * genconditions.c: Moved to...
26980 * genconditions.cc: ...here.
26981 * genconfig.c: Moved to...
26982 * genconfig.cc: ...here.
26983 * genconstants.c: Moved to...
26984 * genconstants.cc: ...here.
26985 * genemit.c: Moved to...
26986 * genemit.cc: ...here.
26987 * genenums.c: Moved to...
26988 * genenums.cc: ...here.
26989 * generic-match-head.c: Moved to...
26990 * generic-match-head.cc: ...here.
26991 * genextract.c: Moved to...
26992 * genextract.cc: ...here.
26993 * genflags.c: Moved to...
26994 * genflags.cc: ...here.
26995 * gengenrtl.c: Moved to...
26996 * gengenrtl.cc: ...here.
26997 * gengtype-parse.c: Moved to...
26998 * gengtype-parse.cc: ...here.
26999 * gengtype-state.c: Moved to...
27000 * gengtype-state.cc: ...here.
27001 * gengtype.c: Moved to...
27002 * gengtype.cc: ...here.
27003 * genhooks.c: Moved to...
27004 * genhooks.cc: ...here.
27005 * genmatch.c: Moved to...
27006 * genmatch.cc: ...here.
27007 * genmddeps.c: Moved to...
27008 * genmddeps.cc: ...here.
27009 * genmddump.c: Moved to...
27010 * genmddump.cc: ...here.
27011 * genmodes.c: Moved to...
27012 * genmodes.cc: ...here.
27013 * genopinit.c: Moved to...
27014 * genopinit.cc: ...here.
27015 * genoutput.c: Moved to...
27016 * genoutput.cc: ...here.
27017 * genpeep.c: Moved to...
27018 * genpeep.cc: ...here.
27019 * genpreds.c: Moved to...
27020 * genpreds.cc: ...here.
27021 * genrecog.c: Moved to...
27022 * genrecog.cc: ...here.
27023 * gensupport.c: Moved to...
27024 * gensupport.cc: ...here.
27025 * gentarget-def.c: Moved to...
27026 * gentarget-def.cc: ...here.
27027 * genversion.c: Moved to...
27028 * genversion.cc: ...here.
27029 * ggc-common.c: Moved to...
27030 * ggc-common.cc: ...here.
27031 * ggc-none.c: Moved to...
27032 * ggc-none.cc: ...here.
27033 * ggc-page.c: Moved to...
27034 * ggc-page.cc: ...here.
27035 * ggc-tests.c: Moved to...
27036 * ggc-tests.cc: ...here.
27037 * gimple-builder.c: Moved to...
27038 * gimple-builder.cc: ...here.
27039 * gimple-expr.c: Moved to...
27040 * gimple-expr.cc: ...here.
27041 * gimple-fold.c: Moved to...
27042 * gimple-fold.cc: ...here.
27043 * gimple-iterator.c: Moved to...
27044 * gimple-iterator.cc: ...here.
27045 * gimple-laddress.c: Moved to...
27046 * gimple-laddress.cc: ...here.
27047 * gimple-loop-jam.c: Moved to...
27048 * gimple-loop-jam.cc: ...here.
27049 * gimple-low.c: Moved to...
27050 * gimple-low.cc: ...here.
27051 * gimple-match-head.c: Moved to...
27052 * gimple-match-head.cc: ...here.
27053 * gimple-pretty-print.c: Moved to...
27054 * gimple-pretty-print.cc: ...here.
27055 * gimple-ssa-backprop.c: Moved to...
27056 * gimple-ssa-backprop.cc: ...here.
27057 * gimple-ssa-evrp-analyze.c: Moved to...
27058 * gimple-ssa-evrp-analyze.cc: ...here.
27059 * gimple-ssa-evrp.c: Moved to...
27060 * gimple-ssa-evrp.cc: ...here.
27061 * gimple-ssa-isolate-paths.c: Moved to...
27062 * gimple-ssa-isolate-paths.cc: ...here.
27063 * gimple-ssa-nonnull-compare.c: Moved to...
27064 * gimple-ssa-nonnull-compare.cc: ...here.
27065 * gimple-ssa-split-paths.c: Moved to...
27066 * gimple-ssa-split-paths.cc: ...here.
27067 * gimple-ssa-sprintf.c: Moved to...
27068 * gimple-ssa-sprintf.cc: ...here.
27069 * gimple-ssa-store-merging.c: Moved to...
27070 * gimple-ssa-store-merging.cc: ...here.
27071 * gimple-ssa-strength-reduction.c: Moved to...
27072 * gimple-ssa-strength-reduction.cc: ...here.
27073 * gimple-ssa-warn-alloca.c: Moved to...
27074 * gimple-ssa-warn-alloca.cc: ...here.
27075 * gimple-ssa-warn-restrict.c: Moved to...
27076 * gimple-ssa-warn-restrict.cc: ...here.
27077 * gimple-streamer-in.c: Moved to...
27078 * gimple-streamer-in.cc: ...here.
27079 * gimple-streamer-out.c: Moved to...
27080 * gimple-streamer-out.cc: ...here.
27081 * gimple-walk.c: Moved to...
27082 * gimple-walk.cc: ...here.
27083 * gimple-warn-recursion.c: Moved to...
27084 * gimple-warn-recursion.cc: ...here.
27085 * gimple.c: Moved to...
27086 * gimple.cc: ...here.
27087 * gimplify-me.c: Moved to...
27088 * gimplify-me.cc: ...here.
27089 * gimplify.c: Moved to...
27090 * gimplify.cc: ...here.
27091 * godump.c: Moved to...
27092 * godump.cc: ...here.
27093 * graph.c: Moved to...
27094 * graph.cc: ...here.
27095 * graphds.c: Moved to...
27096 * graphds.cc: ...here.
27097 * graphite-dependences.c: Moved to...
27098 * graphite-dependences.cc: ...here.
27099 * graphite-isl-ast-to-gimple.c: Moved to...
27100 * graphite-isl-ast-to-gimple.cc: ...here.
27101 * graphite-optimize-isl.c: Moved to...
27102 * graphite-optimize-isl.cc: ...here.
27103 * graphite-poly.c: Moved to...
27104 * graphite-poly.cc: ...here.
27105 * graphite-scop-detection.c: Moved to...
27106 * graphite-scop-detection.cc: ...here.
27107 * graphite-sese-to-poly.c: Moved to...
27108 * graphite-sese-to-poly.cc: ...here.
27109 * graphite.c: Moved to...
27110 * graphite.cc: ...here.
27111 * haifa-sched.c: Moved to...
27112 * haifa-sched.cc: ...here.
27113 * hash-map-tests.c: Moved to...
27114 * hash-map-tests.cc: ...here.
27115 * hash-set-tests.c: Moved to...
27116 * hash-set-tests.cc: ...here.
27117 * hash-table.c: Moved to...
27118 * hash-table.cc: ...here.
27119 * hooks.c: Moved to...
27120 * hooks.cc: ...here.
27121 * host-default.c: Moved to...
27122 * host-default.cc: ...here.
27123 * hw-doloop.c: Moved to...
27124 * hw-doloop.cc: ...here.
27125 * hwint.c: Moved to...
27126 * hwint.cc: ...here.
27127 * ifcvt.c: Moved to...
27128 * ifcvt.cc: ...here.
27129 * inchash.c: Moved to...
27130 * inchash.cc: ...here.
27131 * incpath.c: Moved to...
27132 * incpath.cc: ...here.
27133 * init-regs.c: Moved to...
27134 * init-regs.cc: ...here.
27135 * input.c: Moved to...
27136 * input.cc: ...here.
27137 * internal-fn.c: Moved to...
27138 * internal-fn.cc: ...here.
27139 * intl.c: Moved to...
27140 * intl.cc: ...here.
27141 * ipa-comdats.c: Moved to...
27142 * ipa-comdats.cc: ...here.
27143 * ipa-cp.c: Moved to...
27144 * ipa-cp.cc: ...here.
27145 * ipa-devirt.c: Moved to...
27146 * ipa-devirt.cc: ...here.
27147 * ipa-fnsummary.c: Moved to...
27148 * ipa-fnsummary.cc: ...here.
27149 * ipa-icf-gimple.c: Moved to...
27150 * ipa-icf-gimple.cc: ...here.
27151 * ipa-icf.c: Moved to...
27152 * ipa-icf.cc: ...here.
27153 * ipa-inline-analysis.c: Moved to...
27154 * ipa-inline-analysis.cc: ...here.
27155 * ipa-inline-transform.c: Moved to...
27156 * ipa-inline-transform.cc: ...here.
27157 * ipa-inline.c: Moved to...
27158 * ipa-inline.cc: ...here.
27159 * ipa-modref-tree.c: Moved to...
27160 * ipa-modref-tree.cc: ...here.
27161 * ipa-modref.c: Moved to...
27162 * ipa-modref.cc: ...here.
27163 * ipa-param-manipulation.c: Moved to...
27164 * ipa-param-manipulation.cc: ...here.
27165 * ipa-polymorphic-call.c: Moved to...
27166 * ipa-polymorphic-call.cc: ...here.
27167 * ipa-predicate.c: Moved to...
27168 * ipa-predicate.cc: ...here.
27169 * ipa-profile.c: Moved to...
27170 * ipa-profile.cc: ...here.
27171 * ipa-prop.c: Moved to...
27172 * ipa-prop.cc: ...here.
27173 * ipa-pure-const.c: Moved to...
27174 * ipa-pure-const.cc: ...here.
27175 * ipa-ref.c: Moved to...
27176 * ipa-ref.cc: ...here.
27177 * ipa-reference.c: Moved to...
27178 * ipa-reference.cc: ...here.
27179 * ipa-split.c: Moved to...
27180 * ipa-split.cc: ...here.
27181 * ipa-sra.c: Moved to...
27182 * ipa-sra.cc: ...here.
27183 * ipa-utils.c: Moved to...
27184 * ipa-utils.cc: ...here.
27185 * ipa-visibility.c: Moved to...
27186 * ipa-visibility.cc: ...here.
27187 * ipa.c: Moved to...
27188 * ipa.cc: ...here.
27189 * ira-build.c: Moved to...
27190 * ira-build.cc: ...here.
27191 * ira-color.c: Moved to...
27192 * ira-color.cc: ...here.
27193 * ira-conflicts.c: Moved to...
27194 * ira-conflicts.cc: ...here.
27195 * ira-costs.c: Moved to...
27196 * ira-costs.cc: ...here.
27197 * ira-emit.c: Moved to...
27198 * ira-emit.cc: ...here.
27199 * ira-lives.c: Moved to...
27200 * ira-lives.cc: ...here.
27201 * ira.c: Moved to...
27202 * ira.cc: ...here.
27203 * jump.c: Moved to...
27204 * jump.cc: ...here.
27205 * langhooks.c: Moved to...
27206 * langhooks.cc: ...here.
27207 * lcm.c: Moved to...
27208 * lcm.cc: ...here.
27209 * lists.c: Moved to...
27210 * lists.cc: ...here.
27211 * loop-doloop.c: Moved to...
27212 * loop-doloop.cc: ...here.
27213 * loop-init.c: Moved to...
27214 * loop-init.cc: ...here.
27215 * loop-invariant.c: Moved to...
27216 * loop-invariant.cc: ...here.
27217 * loop-iv.c: Moved to...
27218 * loop-iv.cc: ...here.
27219 * loop-unroll.c: Moved to...
27220 * loop-unroll.cc: ...here.
27221 * lower-subreg.c: Moved to...
27222 * lower-subreg.cc: ...here.
27223 * lra-assigns.c: Moved to...
27224 * lra-assigns.cc: ...here.
27225 * lra-coalesce.c: Moved to...
27226 * lra-coalesce.cc: ...here.
27227 * lra-constraints.c: Moved to...
27228 * lra-constraints.cc: ...here.
27229 * lra-eliminations.c: Moved to...
27230 * lra-eliminations.cc: ...here.
27231 * lra-lives.c: Moved to...
27232 * lra-lives.cc: ...here.
27233 * lra-remat.c: Moved to...
27234 * lra-remat.cc: ...here.
27235 * lra-spills.c: Moved to...
27236 * lra-spills.cc: ...here.
27237 * lra.c: Moved to...
27238 * lra.cc: ...here.
27239 * lto-cgraph.c: Moved to...
27240 * lto-cgraph.cc: ...here.
27241 * lto-compress.c: Moved to...
27242 * lto-compress.cc: ...here.
27243 * lto-opts.c: Moved to...
27244 * lto-opts.cc: ...here.
27245 * lto-section-in.c: Moved to...
27246 * lto-section-in.cc: ...here.
27247 * lto-section-out.c: Moved to...
27248 * lto-section-out.cc: ...here.
27249 * lto-streamer-in.c: Moved to...
27250 * lto-streamer-in.cc: ...here.
27251 * lto-streamer-out.c: Moved to...
27252 * lto-streamer-out.cc: ...here.
27253 * lto-streamer.c: Moved to...
27254 * lto-streamer.cc: ...here.
27255 * lto-wrapper.c: Moved to...
27256 * lto-wrapper.cc: ...here.
27257 * main.c: Moved to...
27258 * main.cc: ...here.
27259 * mcf.c: Moved to...
27260 * mcf.cc: ...here.
27261 * mode-switching.c: Moved to...
27262 * mode-switching.cc: ...here.
27263 * modulo-sched.c: Moved to...
27264 * modulo-sched.cc: ...here.
27265 * multiple_target.c: Moved to...
27266 * multiple_target.cc: ...here.
27267 * omp-expand.c: Moved to...
27268 * omp-expand.cc: ...here.
27269 * omp-general.c: Moved to...
27270 * omp-general.cc: ...here.
27271 * omp-low.c: Moved to...
27272 * omp-low.cc: ...here.
27273 * omp-offload.c: Moved to...
27274 * omp-offload.cc: ...here.
27275 * omp-simd-clone.c: Moved to...
27276 * omp-simd-clone.cc: ...here.
27277 * opt-suggestions.c: Moved to...
27278 * opt-suggestions.cc: ...here.
27279 * optabs-libfuncs.c: Moved to...
27280 * optabs-libfuncs.cc: ...here.
27281 * optabs-query.c: Moved to...
27282 * optabs-query.cc: ...here.
27283 * optabs-tree.c: Moved to...
27284 * optabs-tree.cc: ...here.
27285 * optabs.c: Moved to...
27286 * optabs.cc: ...here.
27287 * opts-common.c: Moved to...
27288 * opts-common.cc: ...here.
27289 * opts-global.c: Moved to...
27290 * opts-global.cc: ...here.
27291 * opts.c: Moved to...
27292 * opts.cc: ...here.
27293 * passes.c: Moved to...
27294 * passes.cc: ...here.
27295 * plugin.c: Moved to...
27296 * plugin.cc: ...here.
27297 * postreload-gcse.c: Moved to...
27298 * postreload-gcse.cc: ...here.
27299 * postreload.c: Moved to...
27300 * postreload.cc: ...here.
27301 * predict.c: Moved to...
27302 * predict.cc: ...here.
27303 * prefix.c: Moved to...
27304 * prefix.cc: ...here.
27305 * pretty-print.c: Moved to...
27306 * pretty-print.cc: ...here.
27307 * print-rtl-function.c: Moved to...
27308 * print-rtl-function.cc: ...here.
27309 * print-rtl.c: Moved to...
27310 * print-rtl.cc: ...here.
27311 * print-tree.c: Moved to...
27312 * print-tree.cc: ...here.
27313 * profile-count.c: Moved to...
27314 * profile-count.cc: ...here.
27315 * profile.c: Moved to...
27316 * profile.cc: ...here.
27317 * read-md.c: Moved to...
27318 * read-md.cc: ...here.
27319 * read-rtl-function.c: Moved to...
27320 * read-rtl-function.cc: ...here.
27321 * read-rtl.c: Moved to...
27322 * read-rtl.cc: ...here.
27323 * real.c: Moved to...
27324 * real.cc: ...here.
27325 * realmpfr.c: Moved to...
27326 * realmpfr.cc: ...here.
27327 * recog.c: Moved to...
27328 * recog.cc: ...here.
27329 * ree.c: Moved to...
27330 * ree.cc: ...here.
27331 * reg-stack.c: Moved to...
27332 * reg-stack.cc: ...here.
27333 * regcprop.c: Moved to...
27334 * regcprop.cc: ...here.
27335 * reginfo.c: Moved to...
27336 * reginfo.cc: ...here.
27337 * regrename.c: Moved to...
27338 * regrename.cc: ...here.
27339 * regstat.c: Moved to...
27340 * regstat.cc: ...here.
27341 * reload.c: Moved to...
27342 * reload.cc: ...here.
27343 * reload1.c: Moved to...
27344 * reload1.cc: ...here.
27345 * reorg.c: Moved to...
27346 * reorg.cc: ...here.
27347 * resource.c: Moved to...
27348 * resource.cc: ...here.
27349 * rtl-error.c: Moved to...
27350 * rtl-error.cc: ...here.
27351 * rtl-tests.c: Moved to...
27352 * rtl-tests.cc: ...here.
27353 * rtl.c: Moved to...
27354 * rtl.cc: ...here.
27355 * rtlanal.c: Moved to...
27356 * rtlanal.cc: ...here.
27357 * rtlhash.c: Moved to...
27358 * rtlhash.cc: ...here.
27359 * rtlhooks.c: Moved to...
27360 * rtlhooks.cc: ...here.
27361 * rtx-vector-builder.c: Moved to...
27362 * rtx-vector-builder.cc: ...here.
27363 * run-rtl-passes.c: Moved to...
27364 * run-rtl-passes.cc: ...here.
27365 * sancov.c: Moved to...
27366 * sancov.cc: ...here.
27367 * sanopt.c: Moved to...
27368 * sanopt.cc: ...here.
27369 * sbitmap.c: Moved to...
27370 * sbitmap.cc: ...here.
27371 * sched-deps.c: Moved to...
27372 * sched-deps.cc: ...here.
27373 * sched-ebb.c: Moved to...
27374 * sched-ebb.cc: ...here.
27375 * sched-rgn.c: Moved to...
27376 * sched-rgn.cc: ...here.
27377 * sel-sched-dump.c: Moved to...
27378 * sel-sched-dump.cc: ...here.
27379 * sel-sched-ir.c: Moved to...
27380 * sel-sched-ir.cc: ...here.
27381 * sel-sched.c: Moved to...
27382 * sel-sched.cc: ...here.
27383 * selftest-diagnostic.c: Moved to...
27384 * selftest-diagnostic.cc: ...here.
27385 * selftest-rtl.c: Moved to...
27386 * selftest-rtl.cc: ...here.
27387 * selftest-run-tests.c: Moved to...
27388 * selftest-run-tests.cc: ...here.
27389 * selftest.c: Moved to...
27390 * selftest.cc: ...here.
27391 * sese.c: Moved to...
27392 * sese.cc: ...here.
27393 * shrink-wrap.c: Moved to...
27394 * shrink-wrap.cc: ...here.
27395 * simplify-rtx.c: Moved to...
27396 * simplify-rtx.cc: ...here.
27397 * sparseset.c: Moved to...
27398 * sparseset.cc: ...here.
27399 * spellcheck-tree.c: Moved to...
27400 * spellcheck-tree.cc: ...here.
27401 * spellcheck.c: Moved to...
27402 * spellcheck.cc: ...here.
27403 * sreal.c: Moved to...
27404 * sreal.cc: ...here.
27405 * stack-ptr-mod.c: Moved to...
27406 * stack-ptr-mod.cc: ...here.
27407 * statistics.c: Moved to...
27408 * statistics.cc: ...here.
27409 * stmt.c: Moved to...
27410 * stmt.cc: ...here.
27411 * stor-layout.c: Moved to...
27412 * stor-layout.cc: ...here.
27413 * store-motion.c: Moved to...
27414 * store-motion.cc: ...here.
27415 * streamer-hooks.c: Moved to...
27416 * streamer-hooks.cc: ...here.
27417 * stringpool.c: Moved to...
27418 * stringpool.cc: ...here.
27419 * substring-locations.c: Moved to...
27420 * substring-locations.cc: ...here.
27421 * symtab.c: Moved to...
27422 * symtab.cc: ...here.
27423 * target-globals.c: Moved to...
27424 * target-globals.cc: ...here.
27425 * targhooks.c: Moved to...
27426 * targhooks.cc: ...here.
27427 * timevar.c: Moved to...
27428 * timevar.cc: ...here.
27429 * toplev.c: Moved to...
27430 * toplev.cc: ...here.
27431 * tracer.c: Moved to...
27432 * tracer.cc: ...here.
27433 * trans-mem.c: Moved to...
27434 * trans-mem.cc: ...here.
27435 * tree-affine.c: Moved to...
27436 * tree-affine.cc: ...here.
27437 * tree-call-cdce.c: Moved to...
27438 * tree-call-cdce.cc: ...here.
27439 * tree-cfg.c: Moved to...
27440 * tree-cfg.cc: ...here.
27441 * tree-cfgcleanup.c: Moved to...
27442 * tree-cfgcleanup.cc: ...here.
27443 * tree-chrec.c: Moved to...
27444 * tree-chrec.cc: ...here.
27445 * tree-complex.c: Moved to...
27446 * tree-complex.cc: ...here.
27447 * tree-data-ref.c: Moved to...
27448 * tree-data-ref.cc: ...here.
27449 * tree-dfa.c: Moved to...
27450 * tree-dfa.cc: ...here.
27451 * tree-diagnostic.c: Moved to...
27452 * tree-diagnostic.cc: ...here.
27453 * tree-dump.c: Moved to...
27454 * tree-dump.cc: ...here.
27455 * tree-eh.c: Moved to...
27456 * tree-eh.cc: ...here.
27457 * tree-emutls.c: Moved to...
27458 * tree-emutls.cc: ...here.
27459 * tree-if-conv.c: Moved to...
27460 * tree-if-conv.cc: ...here.
27461 * tree-inline.c: Moved to...
27462 * tree-inline.cc: ...here.
27463 * tree-into-ssa.c: Moved to...
27464 * tree-into-ssa.cc: ...here.
27465 * tree-iterator.c: Moved to...
27466 * tree-iterator.cc: ...here.
27467 * tree-loop-distribution.c: Moved to...
27468 * tree-loop-distribution.cc: ...here.
27469 * tree-nested.c: Moved to...
27470 * tree-nested.cc: ...here.
27471 * tree-nrv.c: Moved to...
27472 * tree-nrv.cc: ...here.
27473 * tree-object-size.c: Moved to...
27474 * tree-object-size.cc: ...here.
27475 * tree-outof-ssa.c: Moved to...
27476 * tree-outof-ssa.cc: ...here.
27477 * tree-parloops.c: Moved to...
27478 * tree-parloops.cc: ...here.
27479 * tree-phinodes.c: Moved to...
27480 * tree-phinodes.cc: ...here.
27481 * tree-predcom.c: Moved to...
27482 * tree-predcom.cc: ...here.
27483 * tree-pretty-print.c: Moved to...
27484 * tree-pretty-print.cc: ...here.
27485 * tree-profile.c: Moved to...
27486 * tree-profile.cc: ...here.
27487 * tree-scalar-evolution.c: Moved to...
27488 * tree-scalar-evolution.cc: ...here.
27489 * tree-sra.c: Moved to...
27490 * tree-sra.cc: ...here.
27491 * tree-ssa-address.c: Moved to...
27492 * tree-ssa-address.cc: ...here.
27493 * tree-ssa-alias.c: Moved to...
27494 * tree-ssa-alias.cc: ...here.
27495 * tree-ssa-ccp.c: Moved to...
27496 * tree-ssa-ccp.cc: ...here.
27497 * tree-ssa-coalesce.c: Moved to...
27498 * tree-ssa-coalesce.cc: ...here.
27499 * tree-ssa-copy.c: Moved to...
27500 * tree-ssa-copy.cc: ...here.
27501 * tree-ssa-dce.c: Moved to...
27502 * tree-ssa-dce.cc: ...here.
27503 * tree-ssa-dom.c: Moved to...
27504 * tree-ssa-dom.cc: ...here.
27505 * tree-ssa-dse.c: Moved to...
27506 * tree-ssa-dse.cc: ...here.
27507 * tree-ssa-forwprop.c: Moved to...
27508 * tree-ssa-forwprop.cc: ...here.
27509 * tree-ssa-ifcombine.c: Moved to...
27510 * tree-ssa-ifcombine.cc: ...here.
27511 * tree-ssa-live.c: Moved to...
27512 * tree-ssa-live.cc: ...here.
27513 * tree-ssa-loop-ch.c: Moved to...
27514 * tree-ssa-loop-ch.cc: ...here.
27515 * tree-ssa-loop-im.c: Moved to...
27516 * tree-ssa-loop-im.cc: ...here.
27517 * tree-ssa-loop-ivcanon.c: Moved to...
27518 * tree-ssa-loop-ivcanon.cc: ...here.
27519 * tree-ssa-loop-ivopts.c: Moved to...
27520 * tree-ssa-loop-ivopts.cc: ...here.
27521 * tree-ssa-loop-manip.c: Moved to...
27522 * tree-ssa-loop-manip.cc: ...here.
27523 * tree-ssa-loop-niter.c: Moved to...
27524 * tree-ssa-loop-niter.cc: ...here.
27525 * tree-ssa-loop-prefetch.c: Moved to...
27526 * tree-ssa-loop-prefetch.cc: ...here.
27527 * tree-ssa-loop-split.c: Moved to...
27528 * tree-ssa-loop-split.cc: ...here.
27529 * tree-ssa-loop-unswitch.c: Moved to...
27530 * tree-ssa-loop-unswitch.cc: ...here.
27531 * tree-ssa-loop.c: Moved to...
27532 * tree-ssa-loop.cc: ...here.
27533 * tree-ssa-math-opts.c: Moved to...
27534 * tree-ssa-math-opts.cc: ...here.
27535 * tree-ssa-operands.c: Moved to...
27536 * tree-ssa-operands.cc: ...here.
27537 * tree-ssa-phiopt.c: Moved to...
27538 * tree-ssa-phiopt.cc: ...here.
27539 * tree-ssa-phiprop.c: Moved to...
27540 * tree-ssa-phiprop.cc: ...here.
27541 * tree-ssa-pre.c: Moved to...
27542 * tree-ssa-pre.cc: ...here.
27543 * tree-ssa-propagate.c: Moved to...
27544 * tree-ssa-propagate.cc: ...here.
27545 * tree-ssa-reassoc.c: Moved to...
27546 * tree-ssa-reassoc.cc: ...here.
27547 * tree-ssa-sccvn.c: Moved to...
27548 * tree-ssa-sccvn.cc: ...here.
27549 * tree-ssa-scopedtables.c: Moved to...
27550 * tree-ssa-scopedtables.cc: ...here.
27551 * tree-ssa-sink.c: Moved to...
27552 * tree-ssa-sink.cc: ...here.
27553 * tree-ssa-strlen.c: Moved to...
27554 * tree-ssa-strlen.cc: ...here.
27555 * tree-ssa-structalias.c: Moved to...
27556 * tree-ssa-structalias.cc: ...here.
27557 * tree-ssa-tail-merge.c: Moved to...
27558 * tree-ssa-tail-merge.cc: ...here.
27559 * tree-ssa-ter.c: Moved to...
27560 * tree-ssa-ter.cc: ...here.
27561 * tree-ssa-threadbackward.c: Moved to...
27562 * tree-ssa-threadbackward.cc: ...here.
27563 * tree-ssa-threadedge.c: Moved to...
27564 * tree-ssa-threadedge.cc: ...here.
27565 * tree-ssa-threadupdate.c: Moved to...
27566 * tree-ssa-threadupdate.cc: ...here.
27567 * tree-ssa-uncprop.c: Moved to...
27568 * tree-ssa-uncprop.cc: ...here.
27569 * tree-ssa-uninit.c: Moved to...
27570 * tree-ssa-uninit.cc: ...here.
27571 * tree-ssa.c: Moved to...
27572 * tree-ssa.cc: ...here.
27573 * tree-ssanames.c: Moved to...
27574 * tree-ssanames.cc: ...here.
27575 * tree-stdarg.c: Moved to...
27576 * tree-stdarg.cc: ...here.
27577 * tree-streamer-in.c: Moved to...
27578 * tree-streamer-in.cc: ...here.
27579 * tree-streamer-out.c: Moved to...
27580 * tree-streamer-out.cc: ...here.
27581 * tree-streamer.c: Moved to...
27582 * tree-streamer.cc: ...here.
27583 * tree-switch-conversion.c: Moved to...
27584 * tree-switch-conversion.cc: ...here.
27585 * tree-tailcall.c: Moved to...
27586 * tree-tailcall.cc: ...here.
27587 * tree-vect-data-refs.c: Moved to...
27588 * tree-vect-data-refs.cc: ...here.
27589 * tree-vect-generic.c: Moved to...
27590 * tree-vect-generic.cc: ...here.
27591 * tree-vect-loop-manip.c: Moved to...
27592 * tree-vect-loop-manip.cc: ...here.
27593 * tree-vect-loop.c: Moved to...
27594 * tree-vect-loop.cc: ...here.
27595 * tree-vect-patterns.c: Moved to...
27596 * tree-vect-patterns.cc: ...here.
27597 * tree-vect-slp-patterns.c: Moved to...
27598 * tree-vect-slp-patterns.cc: ...here.
27599 * tree-vect-slp.c: Moved to...
27600 * tree-vect-slp.cc: ...here.
27601 * tree-vect-stmts.c: Moved to...
27602 * tree-vect-stmts.cc: ...here.
27603 * tree-vector-builder.c: Moved to...
27604 * tree-vector-builder.cc: ...here.
27605 * tree-vectorizer.c: Moved to...
27606 * tree-vectorizer.cc: ...here.
27607 * tree-vrp.c: Moved to...
27608 * tree-vrp.cc: ...here.
27609 * tree.c: Moved to...
27610 * tree.cc: ...here.
27611 * tsan.c: Moved to...
27612 * tsan.cc: ...here.
27613 * typed-splay-tree.c: Moved to...
27614 * typed-splay-tree.cc: ...here.
27615 * ubsan.c: Moved to...
27616 * ubsan.cc: ...here.
27617 * valtrack.c: Moved to...
27618 * valtrack.cc: ...here.
27619 * value-prof.c: Moved to...
27620 * value-prof.cc: ...here.
27621 * var-tracking.c: Moved to...
27622 * var-tracking.cc: ...here.
27623 * varasm.c: Moved to...
27624 * varasm.cc: ...here.
27625 * varpool.c: Moved to...
27626 * varpool.cc: ...here.
27627 * vec-perm-indices.c: Moved to...
27628 * vec-perm-indices.cc: ...here.
27629 * vec.c: Moved to...
27630 * vec.cc: ...here.
27631 * vmsdbgout.c: Moved to...
27632 * vmsdbgout.cc: ...here.
27633 * vr-values.c: Moved to...
27634 * vr-values.cc: ...here.
27635 * vtable-verify.c: Moved to...
27636 * vtable-verify.cc: ...here.
27637 * web.c: Moved to...
27638 * web.cc: ...here.
27639 * xcoffout.c: Moved to...
27640 * xcoffout.cc: ...here.
27641
27642 2022-01-17 qing zhao <qing.zhao@oracle.com>
27643
27644 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
27645 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
27646 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
27647 specially.
27648 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
27649 (warn_uninitialized_vars): Likewise.
27650 (warn_uninitialized_phi): Likewise.
27651
27652 2022-01-17 Jason Merrill <jason@redhat.com>
27653
27654 * diagnostic.h (struct diagnostic_context): Add includes_seen.
27655 * diagnostic.c (diagnostic_initialize): Initialize it.
27656 (diagnostic_finish): Clean it up.
27657 (includes_seen): New function.
27658 (diagnostic_report_current_module): Use it.
27659
27660 2022-01-17 Richard Biener <rguenther@suse.de>
27661
27662 PR middle-end/101292
27663 * diagnostic-spec.c (copy_warning): Make sure to not
27664 reference old hashtable content on possible resize.
27665 * warning-control.cc (copy_warning): Likewise.
27666
27667 2022-01-17 Jakub Jelinek <jakub@redhat.com>
27668
27669 PR target/103973
27670 * tree-cfg.h (cond_only_block_p): Declare.
27671 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
27672 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
27673 * optabs.def (spaceship_optab): New optab.
27674 * internal-fn.def (SPACESHIP): New internal function.
27675 * internal-fn.h (expand_SPACESHIP): Declare.
27676 * internal-fn.c (expand_PHI): Formatting fix.
27677 (expand_SPACESHIP): New function.
27678 * tree-ssa-math-opts.c (optimize_spaceship): New function.
27679 (math_opts_dom_walker::after_dom_children): Use it.
27680 * config/i386/i386.md (spaceship<mode>3): New define_expand.
27681 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
27682 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
27683 * doc/md.texi (spaceship@var{m}3): Document.
27684
27685 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
27686
27687 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
27688 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
27689 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
27690 known constant values to simplify code.
27691
27692 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
27693
27694 PR target/103124
27695 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
27696
27697 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
27698
27699 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
27700 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
27701 Insert zero-idiom in output template when attr enabled, set new attribute to
27702 true for non-mask/maskz insn.
27703 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
27704 Likewise.
27705 (avx512dq_mul<mode>3<mask_name>): Likewise.
27706 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
27707 (avx2_perm<mode>_1<mask_name>): Likewise.
27708 (avx512f_perm<mode>_1<mask_name>): Likewise.
27709 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
27710 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
27711 Likewise.
27712 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
27713 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
27714 Likewise.
27715 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
27716 subst_attr.
27717 (mask4_dest_false_dep_for_glc_cond): Likewise.
27718 (mask6_dest_false_dep_for_glc_cond): Likewise.
27719 (mask10_dest_false_dep_for_glc_cond): Likewise.
27720 (maskc_dest_false_dep_for_glc_cond): Likewise.
27721 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
27722 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
27723 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
27724 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
27725
27726 2022-01-15 Martin Sebor <msebor@redhat.com>
27727
27728 PR c/63272
27729 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
27730 -Wdangling-pointer.
27731 * doc/invoke.texi (-Wdangling-pointer): Document new option.
27732 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
27733 (pass_waccess::check_pointer_uses): New function.
27734 (pass_waccess::gimple_call_return_arg): New function.
27735 (pass_waccess::gimple_call_return_arg_ref): New function.
27736 (pass_waccess::check_call_dangling): New function.
27737 (pass_waccess::check_dangling_uses): New function overloads.
27738 (pass_waccess::check_dangling_stores): New function.
27739 (pass_waccess::check_dangling_stores): New function.
27740 (pass_waccess::m_clobbers): New data member.
27741 (pass_waccess::m_func): New data member.
27742 (pass_waccess::m_run_number): New data member.
27743 (pass_waccess::m_check_dangling_p): New data member.
27744 (pass_waccess::check_alloca): Check m_early_checks_p.
27745 (pass_waccess::check_alloc_size_call): Same.
27746 (pass_waccess::check_strcat): Same.
27747 (pass_waccess::check_strncat): Same.
27748 (pass_waccess::check_stxcpy): Same.
27749 (pass_waccess::check_stxncpy): Same.
27750 (pass_waccess::check_strncmp): Same.
27751 (pass_waccess::check_memop_access): Same.
27752 (pass_waccess::check_read_access): Same.
27753 (pass_waccess::check_builtin): Call check_pointer_uses.
27754 (pass_waccess::warn_invalid_pointer): Add arguments.
27755 (is_auto_decl): New function.
27756 (pass_waccess::check_stmt): New function.
27757 (pass_waccess::check_block): Call check_stmt.
27758 (pass_waccess::execute): Call check_dangling_uses,
27759 check_dangling_stores. Empty m_clobbers.
27760 * passes.def (pass_warn_access): Invoke pass two more times.
27761
27762 2022-01-15 Martin Sebor <msebor@redhat.com>
27763
27764 PR tree-optimization/80532
27765 * common.opt (-Wuse-after-free): New options.
27766 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
27767 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
27768 * diagnostic-spec.h (NW_DANGLING): New enumerator.
27769 * doc/invoke.texi (-Wuse-after-free): Document new option.
27770 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
27771 (pass_waccess::check_call_access): ...to this.
27772 (pass_waccess::check): Rename...
27773 (pass_waccess::check_block): ...to this.
27774 (pass_waccess::check_pointer_uses): New function.
27775 (pass_waccess::gimple_call_return_arg): New function.
27776 (pass_waccess::warn_invalid_pointer): New function.
27777 (pass_waccess::check_builtin): Handle free and realloc.
27778 (gimple_use_after_inval_p): New function.
27779 (get_realloc_lhs): New function.
27780 (maybe_warn_mismatched_realloc): New function.
27781 (pointers_related_p): New function.
27782 (pass_waccess::check_call): Call check_pointer_uses.
27783 (pass_waccess::execute): Compute and free dominance info.
27784
27785 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
27786
27787 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
27788 expand_simple_unop and expand_simple_binop instead of manually
27789 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
27790 consistently. Eliminate common subexpressions and simplify code.
27791 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
27792 (<any_logic:code><MODEF:mode>3): Make public.
27793
27794 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
27795
27796 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
27797 reverse flag as "reverse" for the sake of consistency.
27798 * ipa-sra.c: Fix copyright year.
27799 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
27800 (dump_isra_access): Tweak dump line.
27801 (isra_write_node_summary): Write the reverse flag.
27802 (isra_read_node_info): Read it.
27803 (pull_accesses_from_callee): Test its consistency and copy it.
27804
27805 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
27806
27807 PR middle-end/104026
27808 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
27809 partial_load_store_bias.
27810
27811 2022-01-14 Martin Sebor <msebor@redhat.com>
27812
27813 PR middle-end/101475
27814 * pointer-query.cc (handle_component_ref): Use the size of
27815 the enclosing object if it's smaller than the member.
27816
27817 2022-01-14 Martin Liska <mliska@suse.cz>
27818
27819 * configure: Regenerate.
27820
27821 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
27822
27823 * config/i386/i386.md (*add<mode>_1_slp"):
27824 Mark alternative 1 output operand earlyclobbered.
27825 (*sub<mode>_1_slp): Ditto.
27826 (*and<mode>_1_slp): Ditto.
27827 (*<code><mode>_1_slp): Ditto.
27828 (*neg<mode>_1_slp): Ditto.
27829 (*one_cmpl<mode>_1_slp): Ditto.
27830 (*ashl<mode>3_1_slp): Ditto.
27831 (*<insn><mode>3_1_slp): Ditto.
27832 (*<insn><mode>3_1_slp): Ditto.
27833
27834 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
27835
27836 PR tree-optimization/104015
27837 * tree-vect-loop.c (vect_analyze_loop): Check
27838 param_vect_partial_vector_usage for supports_partial_vectors.
27839
27840 2022-01-14 Jakub Jelinek <jakub@redhat.com>
27841
27842 PR c++/89074
27843 * fold-const.c (address_compare): Punt on comparison of address of
27844 one object with address of end of another object if
27845 folding_initializer.
27846
27847 2022-01-14 Jakub Jelinek <jakub@redhat.com>
27848
27849 PR target/98737
27850 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
27851 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
27852 and __atomic_op_fetch (p, x, y) iop x into
27853 __atomic_fetch_op (p, x, y).
27854
27855 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
27856
27857 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
27858 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
27859 (INCOMING_RETURN_ADDR_RTX): Likewise.
27860 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
27861
27862 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
27863
27864 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
27865 computin checking accumulator regs.
27866 (arc_expand_prologue): Update comments.
27867 (arc_expand_epilogue): Likewise.
27868
27869 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
27870 Uroš Bizjak <ubizjak@gmail.com>
27871
27872 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
27873 (ix86_expand_ti_to_v1ti): Use force_reg.
27874 (ix86_expand_v1ti_shift): Use force_reg.
27875 (ix86_expand_v1ti_rotate): Use force_reg.
27876 (ix86_expand_v1ti_ashiftrt): Provide new three operation
27877 implementations for shifts by 111..126 bits. Use force_reg.
27878
27879 2022-01-14 Martin Liska <mliska@suse.cz>
27880
27881 * common/config/arm/arm-common.c (arm_target_mode): Fix
27882 warning: unterminated quoting directive [-Wformat=].
27883
27884 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
27885
27886 PR tree-optimization/104009
27887 * tree-object-size.c (compute_builtin_object_size): Bail out on
27888 negative offset.
27889 (plus_stmt_object_size): Return maximum of wholesize and minimum
27890 of 0 for negative offset.
27891
27892 2022-01-14 liuhongt <hongtao.liu@intel.com>
27893
27894 PR target/104001
27895 PR target/94790
27896 PR target/104014
27897 * config/i386/i386.md (*xor2andn): Refine predicate of
27898 operands[0] from nonimmediate_operand to
27899 register_operand, remove TARGET_AVX512BW from condition.
27900
27901 2022-01-14 David Malcolm <dmalcolm@redhat.com>
27902
27903 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
27904 be used on field decls.
27905 (Common Function Attributes): Add entry on "tainted_args" attribute.
27906
27907 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
27908 Jason Merrill <jason@redhat.com>
27909
27910 PR c++/70417
27911 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
27912
27913 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27914
27915 PR target/103861
27916 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
27917 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
27918 * config/i386/mmx.md (<any_shift:insn>v2qi):
27919 New insn_and_split pattern.
27920
27921 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
27922
27923 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
27924 (expand_partial_store_optab_fn): Likewise.
27925 (internal_len_load_store_bias): New function.
27926 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
27927 (internal_len_load_store_bias): New function.
27928 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
27929 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
27930 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
27931 (vect_estimate_min_profitable_iters): Account for bias.
27932 (vect_get_loop_len): Add bias-adjusted length.
27933 * tree-vect-stmts.c (vectorizable_store): Use.
27934 (vectorizable_load): Use.
27935 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
27936 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
27937 * config/rs6000/vsx.md: Use const0 bias predicate.
27938 * doc/md.texi: Document bias value.
27939
27940 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
27941
27942 PR tree-optimization/83072
27943 PR tree-optimization/83073
27944 PR tree-optimization/97909
27945 * fold-const.c (expr_not_equal_to): Use a multi-range class.
27946
27947 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
27948
27949 PR tree-optimization/96707
27950 * range-op.cc (operator_rshift::lhs_op1_relation): New.
27951
27952 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27953
27954 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
27955 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
27956 (negv2qi splitters): Use lowpart_subreg instead of
27957 gen_lowpart to create subreg.
27958 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
27959 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
27960 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
27961 gen_lowpart to create subreg.
27962 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
27963
27964 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27965
27966 PR target/104003
27967 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
27968
27969 2022-01-13 Martin Liska <mliska@suse.cz>
27970
27971 * common/config/arm/arm-common.c (arm_target_mode): Wrap
27972 keywords with %<, %> and remove trailing punctuation char.
27973 (arm_canon_arch_option_1): Likewise.
27974 (arm_asm_auto_mfpu): Likewise.
27975 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
27976 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
27977 (use_vfp_abi): Likewise.
27978 (aapcs_vfp_is_call_or_return_candidate): Likewise.
27979 (arm_handle_cmse_nonsecure_entry): Likewise.
27980 (arm_handle_cmse_nonsecure_call): Likewise.
27981 (thumb1_md_asm_adjust): Likewise.
27982
27983 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
27984
27985 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
27986 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
27987 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
27988 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
27989 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
27990 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
27991 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
27992 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
27993 macro.
27994
27995 2022-01-13 Jakub Jelinek <jakub@redhat.com>
27996
27997 PR tree-optimization/103989
27998 * tree-inline.c (setup_one_parameter): Don't copy parms with
27999 empty type.
28000
28001 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
28002
28003 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
28004 'TYPE_ADDR_SPACE' for offloading.
28005 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
28006 'TYPE_ADDR_SPACE' for offloading.
28007
28008 2022-01-13 Julian Brown <julian@codesourcery.com>
28009 Thomas Schwinge <thomas@codesourcery.com>
28010
28011 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
28012 of...
28013 (add_async_clauses_and_wait): ...here. Call new outlined function.
28014 (decompose_kernels_region_body): Add wait at the end of
28015 explicitly-asynchronous kernels regions.
28016
28017 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
28018
28019 PR middle-end/100280
28020 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
28021 Mark variables used in synthesized data clauses as addressable.
28022
28023 2022-01-13 Martin Liska <mliska@suse.cz>
28024
28025 * config/epiphany/epiphany.c (epiphany_mode_priority):
28026 Use gcc_unreachable for not handled cases.
28027
28028 2022-01-13 Martin Liska <mliska@suse.cz>
28029
28030 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
28031 Use %qs format specifier.
28032 (epiphany_override_options): Wrap keyword in %<, %>.
28033
28034 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
28035
28036 PR target/94790
28037 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
28038
28039 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
28040
28041 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
28042
28043 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
28044
28045 PR target/100637
28046 PR target/103861
28047 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
28048 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
28049 when constructing vector logic RTXes.
28050 (expand_vec_perm_pshufb2): Ditto.
28051 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
28052 (<plusminus:insn>v2qi3): Ditto.
28053 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
28054 (vcondu<mode><mode>): Ditto.
28055 (vcond_mask_<mode><mode>): Ditto.
28056 (one_cmpl<VI_32:mode>2): Remove expander.
28057 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
28058 Use VI_16_32 mode iterator.
28059 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
28060 Use lowpart_subreg instead of gen_lowpart to create subreg.
28061 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
28062 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
28063 Disparage GPR alternative a bit. Add CC clobber.
28064 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
28065 Use lowpart_subreg instead of gen_lowpart to create subreg.
28066 (*<any_logic:code><VI_16_32:mode>3): Merge from
28067 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
28068 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
28069 Add CC clobber.
28070 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
28071 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
28072
28073 2022-01-12 Clément Chigot <clement.chigot@atos.net>
28074
28075 * configure.ac: Check sizeof ino_t and dev_t.
28076 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
28077 syscall being able to handle 64bit inodes.
28078 * config.in: Regenerate.
28079 * configure: Regenerate.
28080 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
28081 (remove_duplicates): Use it.
28082
28083 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
28084
28085 PR tree-optimization/103551
28086 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
28087
28088 2022-01-12 Richard Biener <rguenther@suse.de>
28089
28090 PR tree-optimization/103990
28091 * tree-pass.h (tail_merge_optimize): Drop unused argument.
28092 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
28093 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
28094 and adjust call to tail_merge_optimize.
28095
28096 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
28097
28098 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
28099 does not add autovectorize_vector_modes.
28100
28101 2022-01-12 Martin Liska <mliska@suse.cz>
28102
28103 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
28104 %qs where possible.
28105 (aarch64_parse_sve_width_string): Likewise.
28106 (aarch64_override_options_internal): Likewise.
28107 (aarch64_print_hint_for_extensions): Likewise.
28108 (aarch64_validate_sls_mitigation): Likewise.
28109 (aarch64_handle_attr_arch): Likewise.
28110 (aarch64_handle_attr_cpu): Likewise.
28111 (aarch64_handle_attr_tune): Likewise.
28112 (aarch64_handle_attr_isa_flags): Likewise.
28113
28114 2022-01-12 Martin Liska <mliska@suse.cz>
28115
28116 * config.gcc: Include elfos.h before ${tm_file}.
28117
28118 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
28119
28120 * config/cris/cris.c: Quote identifiers in parameters to error
28121 and internal_error, and remove extraneous spaces with punctuation.
28122 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
28123 expression to internal_error, pass it as a parameter instead of
28124 appending it to the format part.
28125
28126 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
28127
28128 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
28129 parameter to as_a.
28130
28131 2022-01-11 qing zhao <qing.zhao@oracle.com>
28132
28133 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
28134 Change the 3rd argument of function .DEFERRED_INIT to the name of the
28135 decl.
28136 (gimplify_decl_expr): Delete the 3rd argument when call
28137 gimple_add_init_for_auto_var.
28138 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
28139 the 3rd argument change of function .DEFERRED_INIT.
28140 * tree-cfg.c (verify_gimple_call): Update comments and verification
28141 to reflect the 3rd argument change of function .DEFERRED_INIT.
28142 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
28143 (sra_modify_deferred_init): Change the 3rd argument of function
28144 .DEFERRED_INIT to the name of the decl.
28145
28146 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
28147
28148 * flag-types.h (enum gfc_convert): Add flags for
28149 conversion.
28150
28151 2022-01-11 Michael Meissner <meissner@the-meissners.org>
28152
28153 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
28154 checks for only C/C++ front ends before allowing the long double
28155 format to change without a warning.
28156
28157 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
28158
28159 PR rtl-optimization/103974
28160 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
28161 extra argument, default true, that says whether old-reload
28162 targets should be excluded.
28163 * ira-color.c (color_pass): Pass false.
28164
28165 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
28166
28167 PR target/103861
28168 * config/i386/mmx.md (vcond<mode><mode>):
28169 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
28170 (vcondu<mode><mode>): Ditto.
28171 (vcond_mask_<mode><mode>): Ditto.
28172 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
28173 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
28174 Use VI_16_32 mode iterator.
28175 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
28176 Update for rename. Handle V2QImode.
28177 (expand_vec_perm_blend): Update for rename.
28178
28179 2022-01-11 Jakub Jelinek <jakub@redhat.com>
28180
28181 PR c++/101597
28182 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
28183
28184 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28185
28186 PR middle-end/70090
28187 * tree-object-size.c (size_valid_p): New function.
28188 (size_for_offset): Remove OFFSET constness assertion.
28189 (addr_object_size): Build dynamic expressions for object
28190 sizes and use size_valid_p to decide if it is valid for the
28191 given OBJECT_SIZE_TYPE.
28192 (compute_builtin_object_size): Allow dynamic offsets when
28193 computing size at O0.
28194 (call_object_size): Call size_valid_p.
28195 (plus_stmt_object_size): Allow non-constant offset and use
28196 size_valid_p to decide if it is valid for the given
28197 OBJECT_SIZE_TYPE.
28198
28199 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28200
28201 PR middle-end/70090
28202 * tree-object-size.c (alloc_object_size): Make and return
28203 non-constant size expression.
28204 (call_object_size): Return expression or unknown based on
28205 whether dynamic object size is requested.
28206
28207 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28208
28209 PR middle-end/70090
28210 * tree-object-size.c: Include tree-dfa.h.
28211 (parm_object_size): New function.
28212 (collect_object_sizes_for): Call it.
28213
28214 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28215
28216 PR middle-end/70090
28217 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
28218 expressions.
28219 * tree-object-size.c: Include gimplify-me.h.
28220 (struct object_size_info): New member UNKNOWNS.
28221 (size_initval_p, size_usable_p, object_sizes_get_raw): New
28222 functions.
28223 (object_sizes_get): Return suitable gimple variable for
28224 object size.
28225 (bundle_sizes): New function.
28226 (object_sizes_set): Use it and handle dynamic object size
28227 expressions.
28228 (object_sizes_set_temp): New function.
28229 (size_for_offset): Adjust for dynamic size expressions.
28230 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
28231 New functions.
28232 (compute_builtin_object_size): Call gimplify_size_expressions
28233 for OST_DYNAMIC.
28234 (dynamic_object_size): New function.
28235 (cond_expr_object_size): Use it.
28236 (phi_dynamic_object_size): New function.
28237 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
28238 accommodate dynamic object sizes.
28239
28240 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28241 Jakub Jelinek <jakub@redhat.com>
28242
28243 PR tree-optimization/103961
28244 * tree-object-size.c (plus_stmt_object_size): Always avoid
28245 computing offset for -1 size.
28246
28247 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
28248
28249 PR tree-optimization/103821
28250 * range-op.cc (range_operator::fold_range): Only do precise ranges
28251 when there are not too many subranges.
28252
28253 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
28254
28255 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
28256 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
28257
28258 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
28259 Richard Biener <rguenther@suse.de>
28260
28261 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
28262 highpart_mults_inserted field.
28263 (convert_mult_to_highpart): New function to convert right shift
28264 of a widening multiply into a MULT_HIGHPART_EXPR.
28265 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
28266 Call new convert_mult_to_highpart function.
28267 (pass_optimize_widening_mul::execute): Add a statistics counter
28268 for tracking "highpart multiplications inserted" events.
28269
28270 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
28271
28272 PR target/102239
28273 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
28274 declare.
28275 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
28276 function.
28277 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
28278
28279 2022-01-11 Olivier Hainque <hainque@adacore.com>
28280
28281 * gcc.c (driver_handle_option): State --sysroot as
28282 validated.
28283
28284 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
28285
28286 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
28287 useless related to option -mno-power10.
28288
28289 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
28290
28291 PR target/53652
28292 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
28293 operands[1] from register_operand to vector_operand.
28294
28295 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
28296
28297 PR target/103861
28298 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
28299 Handle V2QImode.
28300 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
28301 Use VI1_16_32 mode iterator.
28302 (*eq<mode>3): Ditto.
28303 (*gt<mode>3): Ditto.
28304 (*xop_maskcmp<mode>3): Ditto.
28305 (*xop_maskcmp_uns<mode>3): Ditto.
28306 (vec_cmp<mode><mode>): Ditto.
28307 (vec_cmpu<mode><mode>): Ditto.
28308
28309 2022-01-10 Richard Biener <rguenther@suse.de>
28310
28311 PR tree-optimization/103948
28312 * tree-vect-generic.c (expand_vector_condition): Return true if
28313 all ones vector is returned for true, all zeros vector for false
28314 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
28315
28316 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
28317
28318 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
28319 when _ARCH_PWR10. Use signed types.
28320 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
28321 (_mm_blendv_pd): Likewise.
28322
28323 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
28324
28325 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
28326 epilogue costing.
28327 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
28328 epilogues, unless we are guaranteed that we can't have partial vectors.
28329 * genopinit.c: (partial_vectors_supported): Generate new function.
28330
28331 2022-01-10 Jakub Jelinek <jakub@redhat.com>
28332
28333 PR target/102024
28334 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
28335 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
28336 always ignore them, when seeing other zero sized bitfields, either
28337 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
28338 it. Pass it to recursive calls. Add wrapper
28339 with old arguments and diagnose ABI differences for C structures
28340 with zero width bitfields. Formatting fixes.
28341
28342 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28343
28344 PR rtl-optimization/98782
28345 * ira-int.h (ira_soft_conflict): Declare.
28346 * ira-color.c (max_soft_conflict_loop_depth): New constant.
28347 (ira_soft_conflict): New function.
28348 (spill_soft_conflicts): Likewise.
28349 (assign_hard_reg): Use them to handle the case described by
28350 the comment above ira_soft_conflict.
28351 (improve_allocation): Likewise.
28352 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
28353 to share the same register.
28354
28355 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28356
28357 PR rtl-optimization/98782
28358 * ira-int.h (ira_caller_save_cost): New function.
28359 (ira_caller_save_loop_spill_p): Likewise.
28360 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
28361 cheaper to spill a call-clobbered register throughout a loop rather
28362 than spill it around each individual call. If so, treat all
28363 call-clobbered registers as conflicts and...
28364 (propagate_allocno_info): ...do not propagate call information
28365 from the child to the parent.
28366 * ira-color.c (move_spill_restore): Update accordingly.
28367 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
28368
28369 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28370
28371 PR rtl-optimization/98782
28372 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
28373 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
28374 (ira_single_region_allocno_p): New function.
28375 (ira_total_conflict_hard_regs): Likewise.
28376 * ira-build.c (ira_create_allocno): Initialize
28377 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
28378 (ira_propagate_hard_reg_costs): New function.
28379 (propagate_allocno_info): Use it. Try to avoid propagating
28380 hard register conflicts to parent allocnos if we can handle
28381 the conflicts by spilling instead. Limit the propagated
28382 register costs to the cost of spilling throughout the child loop.
28383 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
28384 test whether a child and parent allocno can share the same
28385 register.
28386 (move_spill_restore): Adjust for the new behavior of
28387 propagate_allocno_info.
28388
28389 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28390
28391 PR rtl-optimization/98782
28392 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
28393 extracted from...
28394 * ira-color.c (color_pass): ...here.
28395
28396 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28397
28398 PR rtl-optimization/98782
28399 * ira-color.c (color_pass): Add comments to describe the spill costs.
28400 (move_spill_restore): Likewise. Fix reversed calculation.
28401
28402 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28403
28404 PR rtl-optimization/98782
28405 * ira-int.h (ira_loop_border_costs): New class.
28406 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
28407 New constructor.
28408 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
28409 (color_pass): Likewise.
28410 (move_spill_restore): Likewise.
28411
28412 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
28413
28414 PR target/103465
28415 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
28416
28417 2022-01-10 Richard Biener <rguenther@suse.de>
28418
28419 PR tree-optimization/100359
28420 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
28421 Allow non-growing peeling with !allow_peel and UL_ALL.
28422
28423 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
28424
28425 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
28426 special case for TImode to V1TImode moves, going via V2DImode.
28427
28428 2022-01-08 Jakub Jelinek <jakub@redhat.com>
28429
28430 PR c++/89074
28431 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
28432 simplification.
28433
28434 2022-01-08 David Malcolm <dmalcolm@redhat.com>
28435
28436 * doc/analyzer.texi
28437 (Special Functions for Debugging the Analyzer): Document
28438 __analyzer_dump_escaped.
28439
28440 2022-01-08 David Malcolm <dmalcolm@redhat.com>
28441
28442 * doc/analyzer.texi (Other Debugging Techniques): Document
28443 region::is_named_decl_p.
28444
28445 2022-01-07 Andrew Pinski <apinski@marvell.com>
28446
28447 PR target/102941
28448 * config/arm/aarch-common.c (arm_md_asm_adjust):
28449 Use a temp if !REG_P.
28450
28451 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
28452
28453 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
28454 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
28455
28456 2022-01-07 liuhongt <hongtao.liu@intel.com>
28457
28458 PR rtl-optimization/103750
28459 * fwprop.c (forward_propagate_into): Allow propagations from
28460 inner loop to outer loop.
28461
28462 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
28463
28464 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
28465
28466 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
28467
28468 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
28469 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
28470 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
28471
28472 2022-01-07 liuhongt <hongtao.liu@intel.com>
28473
28474 * config/i386/sse.md
28475 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
28476 UNSPEC_PCMP_UNSIGNED.
28477
28478 2022-01-07 liuhongt <hongtao.liu@intel.com>
28479
28480 PR target/103753
28481 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
28482 gen_avx2_pblendph_1 when elt == 0.
28483 * config/i386/sse.md (avx2_pblendph): Rename to ..
28484 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
28485 (*avx2_pblendw): Rename to ..
28486 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
28487 (avx2_pblendw): Rename to ..
28488 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
28489 (blendsuf): Removed.
28490 (sse4_1_pblend<blendsuf>): Renamed to ..
28491 (sse4_1_pblend<ssemodesuffix>): .. this.
28492
28493 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
28494
28495 PR target/103925
28496 * config/i386/i386.c (ix86_output_indirect_function_return):
28497 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
28498
28499 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
28500
28501 PR target/102952
28502 * config/i386/i386-opts.h (harden_sls): Replace
28503 harden_sls_indirect_branch with harden_sls_indirect_jmp.
28504 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
28505 Likewise.
28506 (ix86_output_indirect_jmp): Likewise.
28507 (ix86_output_call_insn): Likewise.
28508 * config/i386/i386.opt: Replace indirect-branch with
28509 indirect-jmp. Replace harden_sls_indirect_branch with
28510 harden_sls_indirect_jmp.
28511 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
28512 indirect-jmp.
28513
28514 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
28515
28516 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
28517 Add %q modifier for operands in general registers.
28518 <MODE_SI>: Add %q modifier for operands in general registers.
28519 * config/i386/i386.md (*movhi_internal): Change type attribute of
28520 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
28521 to SImode for non-avx512fp16 targets.
28522 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
28523 * config/i386/mmx.md (*movv2qi_internal):
28524 Ditto for xmm-gpr interunit alternatives 8,9.
28525
28526 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
28527
28528 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
28529 vector extensions.
28530 (riscv_ext_version_table): Add version info for vector extensions.
28531 (riscv_ext_flag_table): Add option mask for vector extensions.
28532 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
28533 (MASK_VECTOR_EEW_64): New.
28534 (MASK_VECTOR_EEW_FP_32): New.
28535 (MASK_VECTOR_EEW_FP_64): New.
28536 (MASK_ZVL32B): New.
28537 (MASK_ZVL64B): New.
28538 (MASK_ZVL128B): New.
28539 (MASK_ZVL256B): New.
28540 (MASK_ZVL512B): New.
28541 (MASK_ZVL1024B): New.
28542 (MASK_ZVL2048B): New.
28543 (MASK_ZVL4096B): New.
28544 (MASK_ZVL8192B): New.
28545 (MASK_ZVL16384B): New.
28546 (MASK_ZVL32768B): New.
28547 (MASK_ZVL65536B): New.
28548 (TARGET_ZVL32B): New.
28549 (TARGET_ZVL64B): New.
28550 (TARGET_ZVL128B): New.
28551 (TARGET_ZVL256B): New.
28552 (TARGET_ZVL512B): New.
28553 (TARGET_ZVL1024B): New.
28554 (TARGET_ZVL2048B): New.
28555 (TARGET_ZVL4096B): New.
28556 (TARGET_ZVL8192B): New.
28557 (TARGET_ZVL16384B): New.
28558 (TARGET_ZVL32768B): New.
28559 (TARGET_ZVL65536B): New.
28560 * config/riscv/riscv.opt (Mask(VECTOR)): New.
28561 (riscv_vector_eew_flags): New.
28562 (riscv_zvl_flags): New.
28563
28564 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
28565
28566 * common/config/riscv/riscv-common.c
28567 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
28568 digit.
28569
28570 2022-01-06 Jakub Jelinek <jakub@redhat.com>
28571
28572 PR tree-optimization/103899
28573 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
28574 warning by moving context variable to the only spot where it is used
28575 and moving gcc_assert into if body.
28576
28577 2022-01-06 Jakub Jelinek <jakub@redhat.com>
28578
28579 PR rtl-optimization/103908
28580 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
28581 asm goto.
28582
28583 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
28584
28585 PR target/103622
28586 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
28587 Skip over instances with undefined function types.
28588
28589 2022-01-05 Andrew Pinski <apinski@marvell.com>
28590
28591 PR target/103910
28592 * config/i386/i386.h (x86_mfence): Mark with GTY.
28593
28594 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28595
28596 PR target/103861
28597 * config/i386/mmx.md (VI_16_32): New mode iterator.
28598 (VI1_16_32): Ditto.
28599 (mmxvecsize): Handle V2QI mode.
28600 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
28601 Use VI1_16_32 mode iterator.
28602 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
28603 Use VI1_16_32 mode iterator.
28604 (abs<mode>2): Use VI_16_32 mode iterator.
28605 (uavgv2qi3_ceil): New insn pattern.
28606
28607 2022-01-05 Martin Sebor <msebor@redhat.com>
28608
28609 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
28610 %qs to avoid -Wformat-diag.
28611
28612 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28613
28614 PR target/103915
28615 * config/i386/mmx.md (one_cmplv2qi2): Change
28616 alternatives 1,2 type from sselog to sselog1.
28617
28618 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28619
28620 PR target/103905
28621 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
28622 narrow mode remapped elements for !one_operand_p case.
28623
28624 2022-01-05 Richard Biener <rguenther@suse.de>
28625
28626 PR tree-optimization/103816
28627 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
28628 check DR_GROUP_GAP compute for overflow and representability.
28629
28630 2022-01-05 Jakub Jelinek <jakub@redhat.com>
28631
28632 PR fortran/103691
28633 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
28634 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
28635 it can do unwanted rhs folding like &a[0] into &2.0 etc.
28636
28637 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
28638
28639 PR ipa/102059
28640 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
28641 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
28642 (rs6000_need_ipa_fn_target_info): New function.
28643 (rs6000_update_ipa_fn_target_info): Likewise.
28644 (rs6000_can_inline_p): Adjust for ipa function summary target info.
28645 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
28646 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
28647 summary target info.
28648 (analyze_function_body): Adjust for ipa function summary target info
28649 and call hook rs6000_need_ipa_fn_target_info and
28650 rs6000_update_ipa_fn_target_info.
28651 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
28652 target info.
28653 (inline_read_section): Likewise.
28654 (ipa_fn_summary_write): Likewise.
28655 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
28656 * doc/tm.texi: Regenerate.
28657 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
28658 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
28659 * target.def (update_ipa_fn_target_info): New hook.
28660 (need_ipa_fn_target_info): Likewise.
28661 * targhooks.c (default_need_ipa_fn_target_info): New function.
28662 (default_update_ipa_fn_target_info): Likewise.
28663 * targhooks.h (default_update_ipa_fn_target_info): New declare.
28664 (default_need_ipa_fn_target_info): Likewise.
28665
28666 2022-01-04 Martin Sebor <msebor@redhat.com>
28667
28668 PR middle-end/99612
28669 * builtins.c (get_memmodel): Move warning code to
28670 gimple-ssa-warn-access.cc.
28671 (expand_builtin_atomic_compare_exchange): Same.
28672 (expand_ifn_atomic_compare_exchange): Same.
28673 (expand_builtin_atomic_load): Same.
28674 (expand_builtin_atomic_store): Same.
28675 (expand_builtin_atomic_clear): Same.
28676 * doc/extend.texi (__atomic_exchange_n): Update valid memory
28677 models.
28678 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
28679 (struct memmodel_pair): New struct.
28680 (memmodel_name): New function.
28681 (pass_waccess::maybe_warn_memmodel): New function.
28682 (pass_waccess::check_atomic_memmodel): New function.
28683 (pass_waccess::check_atomic_builtin): Handle memory model.
28684 * input.c (expansion_point_location_if_in_system_header): Return
28685 original location if expansion location is in a system header.
28686
28687 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
28688
28689 PR target/103861
28690 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
28691 (one_cmplv2qi3 splitters): New post-reload splitters.
28692 (*andnotv2qi3): New insn pattern.
28693 (andnotv2qi3 splitters): New post-reload splitters.
28694 (<any_logic:code>v2qi3): New insn pattern.
28695 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
28696
28697 2022-01-04 Richard Biener <rguenther@suse.de>
28698
28699 PR tree-optimization/103800
28700 * tree-vect-loop.c (vectorizable_phi): Remove assert and
28701 expand comment.
28702
28703 2022-01-04 Richard Biener <rguenther@suse.de>
28704
28705 PR tree-optimization/103690
28706 * tree-pass.h (tail_merge_optimize): Adjust.
28707 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
28708 to re-split critical edges, move CFG cleanup ...
28709 * tree-ssa-pre.c (pass_pre::execute): ... here, before
28710 simple_dce_from_worklist and delay freeing inserted_exprs from
28711 ...
28712 (fini_pre): .. here.
28713
28714 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
28715
28716 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
28717 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
28718 (setcc_from_bi): Remove SImode specific pattern.
28719 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
28720 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
28721 for sign- and zero-extending BImode predicates to integers.
28722 (setcc_int<mode>): Remove previous (-1-based) instructions.
28723 (cstorebi4): Remove BImode to SImode specific expander.
28724 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
28725 (cstore<mode>4): For both integer and floating point modes.
28726
28727 2022-01-04 Olivier Hainque <hainque@adacore.com>
28728
28729 * gcc.c (driver_handle_option): do_save --sysroot.
28730
28731 2022-01-04 Richard Biener <rguenther@suse.de>
28732
28733 PR tree-optimization/103864
28734 PR tree-optimization/103544
28735 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
28736 reductions wrapped in conversions from SLP handling.
28737 (vect_analyze_slp): Revert PR103544 change.
28738
28739 2022-01-04 Jakub Jelinek <jakub@redhat.com>
28740
28741 PR rtl-optimization/103860
28742 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
28743 uselessly for blocks for which it has been called already.
28744
28745 2022-01-04 Cui,Lili <lili.cui@intel.com>
28746
28747 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
28748 to Alderlake and Rocketlake.
28749
28750 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
28751
28752 PR middle-end/103643
28753 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
28754 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
28755
28756 2022-01-04 liuhongt <hongtao.liu@intel.com>
28757
28758 PR target/103895
28759 * config/i386/sse.md (*bit_and_float_vector_all_ones):
28760 Force_reg operand 1 to avoid ICE.
28761
28762 2022-01-04 Jason Merrill <jason@redhat.com>
28763
28764 * tree-pretty-print.c (do_niy): Add spc parameter.
28765 (NIY): Pass it.
28766 (print_call_name): Add spc local variable.
28767
28768 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
28769
28770 PR target/103894
28771 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
28772 (mov<V_32:mode>_internal): Ditto.
28773 (*push<V_32:mode>_rex64): Ditto.
28774 (movmisalign<V_32:mode>): Ditto.
28775 (*push<V_32:mode>_rex64 splitter): Enable for
28776 TARGET_64BIT && TARGET_SSE.
28777 (*push<V_32:mode>2): Remove insn pattern.
28778
28779 2022-01-03 Andrew Pinski <apinski@marvell.com>
28780
28781 PR c/33193
28782 * doc/extend.texi: Extend the documentation about Complex
28783 types for casting and also rewrite the __real__/__imag__
28784 expression portion to use tables.
28785 Move __builtin_complex to the Complex type section.
28786
28787 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28788
28789 PR target/98737
28790 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
28791 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
28792 New internal fns.
28793 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
28794 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
28795 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
28796 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
28797 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
28798 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
28799 functions.
28800 * optabs.def (atomic_add_fetch_cmp_0_optab,
28801 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
28802 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
28803 direct optabs.
28804 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
28805 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
28806 * tree-ssa-ccp.c: Include internal-fn.h.
28807 (optimize_atomic_bit_test_and): Add . before internal fn call
28808 in function comment. Change return type from void to bool and
28809 return true only if successfully replaced.
28810 (optimize_atomic_op_fetch_cmp_0): New function.
28811 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
28812 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
28813 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
28814 for *XOR* ones only if optimize_atomic_bit_test_and failed.
28815 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
28816 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
28817 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
28818 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
28819 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
28820 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
28821 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
28822 new named patterns.
28823
28824 2022-01-03 Richard Biener <rguenther@suse.de>
28825
28826 PR middle-end/103851
28827 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
28828
28829 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28830
28831 PR c++/94716
28832 * symtab.c: Include fold-const.h.
28833 (symtab_node::equal_address_to): If folding_initializer is true,
28834 handle it like memory_accessed. Simplify.
28835
28836 2022-01-03 Martin Liska <mliska@suse.cz>
28837
28838 * doc/extend.texi: Use ; for function declarations.
28839
28840 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28841
28842 PR c++/103600
28843 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
28844 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
28845
28846 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28847
28848 * gcc.c (process_command): Update copyright notice dates.
28849 * gcov-dump.c (print_version): Ditto.
28850 * gcov.c (print_version): Ditto.
28851 * gcov-tool.c (print_version): Ditto.
28852 * gengtype.c (create_file): Ditto.
28853 * doc/cpp.texi: Bump @copying's copyright year.
28854 * doc/cppinternals.texi: Ditto.
28855 * doc/gcc.texi: Ditto.
28856 * doc/gccint.texi: Ditto.
28857 * doc/gcov.texi: Ditto.
28858 * doc/install.texi: Ditto.
28859 * doc/invoke.texi: Ditto.
28860
28861 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
28862
28863 PR target/103861
28864 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
28865 (VALID_INT_MODE_P): Ditto.
28866 * config/i386/i386.c (ix86_secondary_reload): Handle
28867 V2QImode reloads from SSE register to memory.
28868 (vector_mode_supported_p): Always return true for V2QImode.
28869 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
28870 (*negqi_ext<mode>_2): Ditto.
28871 * config/i386/mmx.md (movv2qi): New expander.
28872 (movmisalignv2qi): Ditto.
28873 (*movv2qi_internal): New insn pattern.
28874 (*pushv2qi2): Ditto.
28875 (negv2qi2 and splitters): Ditto.
28876 (<plusminus:insn>v2qi3 and splitters): Ditto.
28877
28878 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
28879
28880 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
28881 sync_lock_test_and_set libfunc. Call convert_memory_address to
28882 convert memory address to Pmode.
28883 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
28884
28885 \f
28886 Copyright (C) 2022 Free Software Foundation, Inc.
28887
28888 Copying and distribution of this file, with or without modification,
28889 are permitted in any medium without royalty provided the copyright
28890 notice and this notice are preserved.
This page took 1.241331 seconds and 6 git commands to generate.