]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Daily bump.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2022-11-09 Martin Liska <mliska@suse.cz>
2 Sinan <sinan.lin@linux.alibaba.com>
3
4 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
5 Add missing variable name.
6
7 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
8
9 * value-range-storage.cc (frange_storage_slot::get_frange): Clear
10 NAN if appropriate.
11 * value-range.cc (range_tests_floats): New test.
12
13 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
14
15 * range-op-float.cc (class foperator_plus): Remove op[12]_range.
16 (class foperator_minus): Same.
17
18 2022-11-09 Qing Zhao <qing.zhao@oracle.com>
19
20 * gimple-array-bounds.cc (trailing_array): Replace
21 array_at_struct_end_p with new name and update comments.
22 * gimple-fold.cc (get_range_strlen_tree): Likewise.
23 * gimple-ssa-warn-restrict.cc (builtin_memref::builtin_memref):
24 Likewise.
25 * graphite-sese-to-poly.cc (bounds_are_valid): Likewise.
26 * tree-if-conv.cc (idx_within_array_bound): Likewise.
27 * tree-object-size.cc (addr_object_size): Likewise.
28 * tree-ssa-alias.cc (component_ref_to_zero_sized_trailing_array_p):
29 Likewise.
30 (stmt_kills_ref_p): Likewise.
31 * tree-ssa-loop-niter.cc (idx_infer_loop_bounds): Likewise.
32 * tree-ssa-strlen.cc (maybe_set_strlen_range): Likewise.
33 * tree.cc (array_at_struct_end_p): Rename to ...
34 (array_ref_flexible_size_p): ... this.
35 (component_ref_size): Replace array_at_struct_end_p with new name.
36 * tree.h (array_at_struct_end_p): Rename to ...
37 (array_ref_flexible_size_p): ... this.
38
39 2022-11-09 Martin Liska <mliska@suse.cz>
40
41 * Makefile.in: Use new install URL.
42 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
43 Use intersphinx link.
44 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
45 Use new URL.
46 * doc/gccint/source-tree-structure-and-build-system.rst: Use
47 intersphinx link.
48 * doc/install/host-target-specific-installation-notes-for-gcc.rst: Likewise.
49 * doc/install/installing-gcc.rst: Likewise.
50
51 2022-11-09 Richard Biener <rguenther@suse.de>
52
53 PR tree-optimization/84646
54 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
55 Remove premature cycle rejection.
56
57 2022-11-09 Martin Liska <mliska@suse.cz>
58
59 * doc/cpp/character-sets.rst:
60 Add trailing newline.
61 * doc/cpp/conditional-syntax.rst:
62 Add trailing newline.
63 * doc/cpp/conditional-uses.rst:
64 Add trailing newline.
65 * doc/cpp/conditionals.rst:
66 Add trailing newline.
67 * doc/cpp/copyright.rst:
68 Add trailing newline.
69 * doc/cpp/deleted-code.rst:
70 Add trailing newline.
71 * doc/cpp/diagnostics.rst:
72 Add trailing newline.
73 * doc/cpp/environment-variables.rst:
74 Add trailing newline.
75 * doc/cpp/gnu-free-documentation-license.rst:
76 Add trailing newline.
77 * doc/cpp/header-files.rst:
78 Add trailing newline.
79 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst:
80 Add trailing newline.
81 * doc/cpp/header-files/computed-includes.rst:
82 Add trailing newline.
83 * doc/cpp/header-files/include-operation.rst:
84 Add trailing newline.
85 * doc/cpp/header-files/include-syntax.rst:
86 Add trailing newline.
87 * doc/cpp/header-files/once-only-headers.rst:
88 Add trailing newline.
89 * doc/cpp/header-files/search-path.rst:
90 Add trailing newline.
91 * doc/cpp/header-files/system-headers.rst:
92 Add trailing newline.
93 * doc/cpp/header-files/wrapper-headers.rst:
94 Add trailing newline.
95 * doc/cpp/implementation-defined-behavior.rst:
96 Add trailing newline.
97 * doc/cpp/implementation-details.rst:
98 Add trailing newline.
99 * doc/cpp/implementation-limits.rst:
100 Add trailing newline.
101 * doc/cpp/index.rst:
102 Add trailing newline.
103 * doc/cpp/indices-and-tables.rst:
104 Add trailing newline.
105 * doc/cpp/initial-processing.rst:
106 Add trailing newline.
107 * doc/cpp/invocation.rst:
108 Add trailing newline.
109 * doc/cpp/line-control.rst:
110 Add trailing newline.
111 * doc/cpp/macros.rst:
112 Add trailing newline.
113 * doc/cpp/macros/concatenation.rst:
114 Add trailing newline.
115 * doc/cpp/macros/directives-within-macro-arguments.rst:
116 Add trailing newline.
117 * doc/cpp/macros/function-like-macros.rst:
118 Add trailing newline.
119 * doc/cpp/macros/macro-arguments.rst:
120 Add trailing newline.
121 * doc/cpp/macros/macro-pitfalls.rst:
122 Add trailing newline.
123 * doc/cpp/macros/object-like-macros.rst:
124 Add trailing newline.
125 * doc/cpp/macros/predefined-macros.rst:
126 Add trailing newline.
127 * doc/cpp/macros/stringizing.rst:
128 Add trailing newline.
129 * doc/cpp/macros/undefining-and-redefining-macros.rst:
130 Add trailing newline.
131 * doc/cpp/macros/variadic-macros.rst:
132 Add trailing newline.
133 * doc/cpp/obsolete-features.rst:
134 Add trailing newline.
135 * doc/cpp/other-directives.rst:
136 Add trailing newline.
137 * doc/cpp/overview.rst:
138 Add trailing newline.
139 * doc/cpp/pragmas.rst:
140 Add trailing newline.
141 * doc/cpp/preprocessor-output.rst:
142 Add trailing newline.
143 * doc/cpp/the-preprocessing-language.rst:
144 Add trailing newline.
145 * doc/cpp/tokenization.rst:
146 Add trailing newline.
147 * doc/cpp/traditional-lexical-analysis.rst:
148 Add trailing newline.
149 * doc/cpp/traditional-macros.rst:
150 Add trailing newline.
151 * doc/cpp/traditional-miscellany.rst:
152 Add trailing newline.
153 * doc/cpp/traditional-mode.rst:
154 Add trailing newline.
155 * doc/cpp/traditional-warnings.rst:
156 Add trailing newline.
157 * doc/cppinternals/copyright.rst:
158 Add trailing newline.
159 * doc/cppinternals/cppinternals.rst:
160 Add trailing newline.
161 * doc/cppinternals/cpplib.rst:
162 Add trailing newline.
163 * doc/cppinternals/files.rst:
164 Add trailing newline.
165 * doc/cppinternals/index.rst:
166 Add trailing newline.
167 * doc/cppinternals/indices-and-tables.rst:
168 Add trailing newline.
169 * doc/cppinternals/internal-representation-of-macros.rst:
170 Add trailing newline.
171 * doc/cppinternals/just-which-line-number-anyway.rst:
172 Add trailing newline.
173 * doc/cppinternals/lexing-a-line.rst:
174 Add trailing newline.
175 * doc/cppinternals/lexing-a-token.rst:
176 Add trailing newline.
177 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst:
178 Add trailing newline.
179 * doc/cppinternals/macro-expansion-overview.rst:
180 Add trailing newline.
181 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst:
182 Add trailing newline.
183 * doc/cppinternals/multiple-include-optimization.rst:
184 Add trailing newline.
185 * doc/cppinternals/overview.rst:
186 Add trailing newline.
187 * doc/cppinternals/representation-of-line-numbers.rst:
188 Add trailing newline.
189 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst:
190 Add trailing newline.
191 * doc/gcc/binary-compatibility.rst:
192 Add trailing newline.
193 * doc/gcc/c++-implementation-defined-behavior.rst:
194 Add trailing newline.
195 * doc/gcc/c-implementation-defined-behavior.rst:
196 Add trailing newline.
197 * doc/gcc/c-implementation-defined-behavior/architecture.rst:
198 Add trailing newline.
199 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst:
200 Add trailing newline.
201 * doc/gcc/c-implementation-defined-behavior/characters.rst:
202 Add trailing newline.
203 * doc/gcc/c-implementation-defined-behavior/declarators.rst:
204 Add trailing newline.
205 * doc/gcc/c-implementation-defined-behavior/environment.rst:
206 Add trailing newline.
207 * doc/gcc/c-implementation-defined-behavior/floating-point.rst:
208 Add trailing newline.
209 * doc/gcc/c-implementation-defined-behavior/hints.rst:
210 Add trailing newline.
211 * doc/gcc/c-implementation-defined-behavior/identifiers.rst:
212 Add trailing newline.
213 * doc/gcc/c-implementation-defined-behavior/integers.rst:
214 Add trailing newline.
215 * doc/gcc/c-implementation-defined-behavior/library-functions.rst:
216 Add trailing newline.
217 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst:
218 Add trailing newline.
219 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst:
220 Add trailing newline.
221 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst:
222 Add trailing newline.
223 * doc/gcc/c-implementation-defined-behavior/statements.rst:
224 Add trailing newline.
225 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
226 Add trailing newline.
227 * doc/gcc/c-implementation-defined-behavior/translation.rst:
228 Add trailing newline.
229 * doc/gcc/conditionally-supported-behavior.rst:
230 Add trailing newline.
231 * doc/gcc/contributing-to-gcc-development.rst:
232 Add trailing newline.
233 * doc/gcc/contributors-to-gcc.rst:
234 Add trailing newline.
235 * doc/gcc/copyright.rst:
236 Add trailing newline.
237 * doc/gcc/exception-handling.rst:
238 Add trailing newline.
239 * doc/gcc/extensions-to-the-c++-language.rst:
240 Add trailing newline.
241 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst:
242 Add trailing newline.
243 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst:
244 Add trailing newline.
245 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
246 Add trailing newline.
247 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
248 Add trailing newline.
249 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst:
250 Add trailing newline.
251 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
252 Add trailing newline.
253 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst:
254 Add trailing newline.
255 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst:
256 Add trailing newline.
257 * doc/gcc/extensions-to-the-c++-language/type-traits.rst:
258 Add trailing newline.
259 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst:
260 Add trailing newline.
261 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
262 Add trailing newline.
263 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst:
264 Add trailing newline.
265 * doc/gcc/extensions-to-the-c-language-family.rst:
266 Add trailing newline.
267 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst:
268 Add trailing newline.
269 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst:
270 Add trailing newline.
271 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst:
272 Add trailing newline.
273 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
274 Add trailing newline.
275 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
276 Add trailing newline.
277 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst:
278 Add trailing newline.
279 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst:
280 Add trailing newline.
281 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst:
282 Add trailing newline.
283 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
284 Add trailing newline.
285 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
286 Add trailing newline.
287 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
288 Add trailing newline.
289 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst:
290 Add trailing newline.
291 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst:
292 Add trailing newline.
293 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst:
294 Add trailing newline.
295 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst:
296 Add trailing newline.
297 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst:
298 Add trailing newline.
299 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
300 Add trailing newline.
301 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst:
302 Add trailing newline.
303 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst:
304 Add trailing newline.
305 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
306 Add trailing newline.
307 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
308 Add trailing newline.
309 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
310 Add trailing newline.
311 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
312 Add trailing newline.
313 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
314 Add trailing newline.
315 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
316 Add trailing newline.
317 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
318 Add trailing newline.
319 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
320 Add trailing newline.
321 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
322 Add trailing newline.
323 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
324 Add trailing newline.
325 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
326 Add trailing newline.
327 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
328 Add trailing newline.
329 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
330 Add trailing newline.
331 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
332 Add trailing newline.
333 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
334 Add trailing newline.
335 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
336 Add trailing newline.
337 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
338 Add trailing newline.
339 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
340 Add trailing newline.
341 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
342 Add trailing newline.
343 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
344 Add trailing newline.
345 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
346 Add trailing newline.
347 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
348 Add trailing newline.
349 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
350 Add trailing newline.
351 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
352 Add trailing newline.
353 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
354 Add trailing newline.
355 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
356 Add trailing newline.
357 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
358 Add trailing newline.
359 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
360 Add trailing newline.
361 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
362 Add trailing newline.
363 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
364 Add trailing newline.
365 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
366 Add trailing newline.
367 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
368 Add trailing newline.
369 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
370 Add trailing newline.
371 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
372 Add trailing newline.
373 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
374 Add trailing newline.
375 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
376 Add trailing newline.
377 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst:
378 Add trailing newline.
379 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
380 Add trailing newline.
381 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
382 Add trailing newline.
383 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst:
384 Add trailing newline.
385 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst:
386 Add trailing newline.
387 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst:
388 Add trailing newline.
389 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
390 Add trailing newline.
391 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst:
392 Add trailing newline.
393 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
394 Add trailing newline.
395 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst:
396 Add trailing newline.
397 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst:
398 Add trailing newline.
399 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
400 Add trailing newline.
401 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst:
402 Add trailing newline.
403 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst:
404 Add trailing newline.
405 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst:
406 Add trailing newline.
407 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
408 Add trailing newline.
409 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst:
410 Add trailing newline.
411 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
412 Add trailing newline.
413 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
414 Add trailing newline.
415 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst:
416 Add trailing newline.
417 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst:
418 Add trailing newline.
419 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst:
420 Add trailing newline.
421 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
422 Add trailing newline.
423 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst:
424 Add trailing newline.
425 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
426 Add trailing newline.
427 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
428 Add trailing newline.
429 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
430 Add trailing newline.
431 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
432 Add trailing newline.
433 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst:
434 Add trailing newline.
435 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
436 Add trailing newline.
437 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst:
438 Add trailing newline.
439 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
440 Add trailing newline.
441 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst:
442 Add trailing newline.
443 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
444 Add trailing newline.
445 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst:
446 Add trailing newline.
447 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
448 Add trailing newline.
449 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst:
450 Add trailing newline.
451 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst:
452 Add trailing newline.
453 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst:
454 Add trailing newline.
455 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
456 Add trailing newline.
457 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
458 Add trailing newline.
459 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
460 Add trailing newline.
461 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
462 Add trailing newline.
463 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
464 Add trailing newline.
465 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
466 Add trailing newline.
467 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
468 Add trailing newline.
469 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
470 Add trailing newline.
471 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
472 Add trailing newline.
473 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
474 Add trailing newline.
475 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
476 Add trailing newline.
477 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
478 Add trailing newline.
479 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
480 Add trailing newline.
481 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
482 Add trailing newline.
483 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
484 Add trailing newline.
485 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
486 Add trailing newline.
487 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
488 Add trailing newline.
489 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
490 Add trailing newline.
491 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
492 Add trailing newline.
493 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
494 Add trailing newline.
495 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
496 Add trailing newline.
497 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
498 Add trailing newline.
499 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
500 Add trailing newline.
501 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
502 Add trailing newline.
503 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
504 Add trailing newline.
505 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
506 Add trailing newline.
507 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
508 Add trailing newline.
509 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
510 Add trailing newline.
511 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
512 Add trailing newline.
513 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
514 Add trailing newline.
515 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
516 Add trailing newline.
517 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
518 Add trailing newline.
519 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
520 Add trailing newline.
521 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
522 Add trailing newline.
523 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
524 Add trailing newline.
525 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
526 Add trailing newline.
527 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst:
528 Add trailing newline.
529 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst:
530 Add trailing newline.
531 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
532 Add trailing newline.
533 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
534 Add trailing newline.
535 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
536 Add trailing newline.
537 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
538 Add trailing newline.
539 * doc/gcc/funding.rst:
540 Add trailing newline.
541 * doc/gcc/gcc-command-options.rst:
542 Add trailing newline.
543 * doc/gcc/gcc-command-options/compiling-c++-programs.rst:
544 Add trailing newline.
545 * doc/gcc/gcc-command-options/description.rst:
546 Add trailing newline.
547 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst:
548 Add trailing newline.
549 * doc/gcc/gcc-command-options/gcc-developer-options.rst:
550 Add trailing newline.
551 * doc/gcc/gcc-command-options/machine-dependent-options.rst:
552 Add trailing newline.
553 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst:
554 Add trailing newline.
555 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
556 Add trailing newline.
557 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst:
558 Add trailing newline.
559 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst:
560 Add trailing newline.
561 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst:
562 Add trailing newline.
563 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst:
564 Add trailing newline.
565 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst:
566 Add trailing newline.
567 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst:
568 Add trailing newline.
569 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst:
570 Add trailing newline.
571 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst:
572 Add trailing newline.
573 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst:
574 Add trailing newline.
575 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst:
576 Add trailing newline.
577 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst:
578 Add trailing newline.
579 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst:
580 Add trailing newline.
581 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst:
582 Add trailing newline.
583 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst:
584 Add trailing newline.
585 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst:
586 Add trailing newline.
587 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst:
588 Add trailing newline.
589 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst:
590 Add trailing newline.
591 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst:
592 Add trailing newline.
593 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
594 Add trailing newline.
595 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst:
596 Add trailing newline.
597 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst:
598 Add trailing newline.
599 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst:
600 Add trailing newline.
601 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst:
602 Add trailing newline.
603 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst:
604 Add trailing newline.
605 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst:
606 Add trailing newline.
607 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst:
608 Add trailing newline.
609 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst:
610 Add trailing newline.
611 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst:
612 Add trailing newline.
613 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst:
614 Add trailing newline.
615 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst:
616 Add trailing newline.
617 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst:
618 Add trailing newline.
619 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst:
620 Add trailing newline.
621 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst:
622 Add trailing newline.
623 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst:
624 Add trailing newline.
625 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst:
626 Add trailing newline.
627 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst:
628 Add trailing newline.
629 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst:
630 Add trailing newline.
631 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst:
632 Add trailing newline.
633 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst:
634 Add trailing newline.
635 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst:
636 Add trailing newline.
637 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst:
638 Add trailing newline.
639 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst:
640 Add trailing newline.
641 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst:
642 Add trailing newline.
643 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst:
644 Add trailing newline.
645 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
646 Add trailing newline.
647 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst:
648 Add trailing newline.
649 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst:
650 Add trailing newline.
651 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst:
652 Add trailing newline.
653 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst:
654 Add trailing newline.
655 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst:
656 Add trailing newline.
657 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst:
658 Add trailing newline.
659 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst:
660 Add trailing newline.
661 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst:
662 Add trailing newline.
663 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst:
664 Add trailing newline.
665 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst:
666 Add trailing newline.
667 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst:
668 Add trailing newline.
669 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst:
670 Add trailing newline.
671 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst:
672 Add trailing newline.
673 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst:
674 Add trailing newline.
675 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst:
676 Add trailing newline.
677 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
678 Add trailing newline.
679 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
680 Add trailing newline.
681 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst:
682 Add trailing newline.
683 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst:
684 Add trailing newline.
685 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst:
686 Add trailing newline.
687 * doc/gcc/gcc-command-options/options-for-directory-search.rst:
688 Add trailing newline.
689 * doc/gcc/gcc-command-options/options-for-linking.rst:
690 Add trailing newline.
691 * doc/gcc/gcc-command-options/options-that-control-optimization.rst:
692 Add trailing newline.
693 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst:
694 Add trailing newline.
695 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
696 Add trailing newline.
697 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst:
698 Add trailing newline.
699 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst:
700 Add trailing newline.
701 * doc/gcc/gcc-command-options/program-instrumentation-options.rst:
702 Add trailing newline.
703 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
704 Add trailing newline.
705 * doc/gcc/gcc-command-options/using-precompiled-headers.rst:
706 Add trailing newline.
707 * doc/gcc/gcc.rst:
708 Add trailing newline.
709 * doc/gcc/gcov-dump.rst:
710 Add trailing newline.
711 * doc/gcc/gcov-tool.rst:
712 Add trailing newline.
713 * doc/gcc/gcov.rst:
714 Add trailing newline.
715 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst:
716 Add trailing newline.
717 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst:
718 Add trailing newline.
719 * doc/gcc/gcov/introduction-to-gcov.rst:
720 Add trailing newline.
721 * doc/gcc/gcov/invoking-gcov.rst:
722 Add trailing newline.
723 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst:
724 Add trailing newline.
725 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst:
726 Add trailing newline.
727 * doc/gcc/general-public-license-3.rst:
728 Add trailing newline.
729 * doc/gcc/gnu-free-documentation-license.rst:
730 Add trailing newline.
731 * doc/gcc/gnu-objective-c-features.rst:
732 Add trailing newline.
733 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst:
734 Add trailing newline.
735 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst:
736 Add trailing newline.
737 * doc/gcc/gnu-objective-c-features/exceptions.rst:
738 Add trailing newline.
739 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst:
740 Add trailing newline.
741 * doc/gcc/gnu-objective-c-features/garbage-collection.rst:
742 Add trailing newline.
743 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst:
744 Add trailing newline.
745 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst:
746 Add trailing newline.
747 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst:
748 Add trailing newline.
749 * doc/gcc/gnu-objective-c-features/synchronization.rst:
750 Add trailing newline.
751 * doc/gcc/gnu-objective-c-features/type-encoding.rst:
752 Add trailing newline.
753 * doc/gcc/gnu.rst:
754 Add trailing newline.
755 * doc/gcc/have-you-found-a-bug.rst:
756 Add trailing newline.
757 * doc/gcc/how-and-where-to-report-bugs.rst:
758 Add trailing newline.
759 * doc/gcc/how-to-get-help-with-gcc.rst:
760 Add trailing newline.
761 * doc/gcc/index.rst:
762 Add trailing newline.
763 * doc/gcc/indices-and-tables.rst:
764 Add trailing newline.
765 * doc/gcc/known-causes-of-trouble-with-gcc.rst:
766 Add trailing newline.
767 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst:
768 Add trailing newline.
769 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
770 Add trailing newline.
771 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
772 Add trailing newline.
773 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
774 Add trailing newline.
775 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst:
776 Add trailing newline.
777 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst:
778 Add trailing newline.
779 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst:
780 Add trailing newline.
781 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst:
782 Add trailing newline.
783 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
784 Add trailing newline.
785 * doc/gcc/language-standards-supported-by-gcc.rst:
786 Add trailing newline.
787 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst:
788 Add trailing newline.
789 * doc/gcc/language-standards-supported-by-gcc/c-language.rst:
790 Add trailing newline.
791 * doc/gcc/language-standards-supported-by-gcc/d-language.rst:
792 Add trailing newline.
793 * doc/gcc/language-standards-supported-by-gcc/go-language.rst:
794 Add trailing newline.
795 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
796 Add trailing newline.
797 * doc/gcc/lto-dump.rst:
798 Add trailing newline.
799 * doc/gcc/programming-languages-supported-by-gcc.rst:
800 Add trailing newline.
801 * doc/gcc/reporting-bugs.rst:
802 Add trailing newline.
803 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst:
804 Add trailing newline.
805 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst:
806 Add trailing newline.
807 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst:
808 Add trailing newline.
809 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst:
810 Add trailing newline.
811 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst:
812 Add trailing newline.
813 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
814 Add trailing newline.
815 * doc/gccint/analysis-and-representation-of-loops.rst:
816 Add trailing newline.
817 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst:
818 Add trailing newline.
819 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst:
820 Add trailing newline.
821 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst:
822 Add trailing newline.
823 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst:
824 Add trailing newline.
825 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst:
826 Add trailing newline.
827 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst:
828 Add trailing newline.
829 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
830 Add trailing newline.
831 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst:
832 Add trailing newline.
833 * doc/gccint/analyzer-internals.rst:
834 Add trailing newline.
835 * doc/gccint/collect2.rst:
836 Add trailing newline.
837 * doc/gccint/contributing-to-gcc-development.rst:
838 Add trailing newline.
839 * doc/gccint/contributors-to-gcc.rst:
840 Add trailing newline.
841 * doc/gccint/control-flow-graph.rst:
842 Add trailing newline.
843 * doc/gccint/control-flow-graph/basic-blocks.rst:
844 Add trailing newline.
845 * doc/gccint/control-flow-graph/edges.rst:
846 Add trailing newline.
847 * doc/gccint/control-flow-graph/liveness-information.rst:
848 Add trailing newline.
849 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst:
850 Add trailing newline.
851 * doc/gccint/control-flow-graph/profile-information.rst:
852 Add trailing newline.
853 * doc/gccint/copyright.rst:
854 Add trailing newline.
855 * doc/gccint/debugging-the-analyzer.rst:
856 Add trailing newline.
857 * doc/gccint/funding.rst:
858 Add trailing newline.
859 * doc/gccint/gcc-and-portability.rst:
860 Add trailing newline.
861 * doc/gccint/general-public-license-3.rst:
862 Add trailing newline.
863 * doc/gccint/generic.rst:
864 Add trailing newline.
865 * doc/gccint/generic/attributes-in-trees.rst:
866 Add trailing newline.
867 * doc/gccint/generic/c-and-c++-trees.rst:
868 Add trailing newline.
869 * doc/gccint/generic/declarations.rst:
870 Add trailing newline.
871 * doc/gccint/generic/deficiencies.rst:
872 Add trailing newline.
873 * doc/gccint/generic/expressions.rst:
874 Add trailing newline.
875 * doc/gccint/generic/functions.rst:
876 Add trailing newline.
877 * doc/gccint/generic/language-dependent-trees.rst:
878 Add trailing newline.
879 * doc/gccint/generic/overview.rst:
880 Add trailing newline.
881 * doc/gccint/generic/statements.rst:
882 Add trailing newline.
883 * doc/gccint/generic/types.rst:
884 Add trailing newline.
885 * doc/gccint/gimple-api.rst:
886 Add trailing newline.
887 * doc/gccint/gimple.rst:
888 Add trailing newline.
889 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst:
890 Add trailing newline.
891 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst:
892 Add trailing newline.
893 * doc/gccint/gimple/exception-handling.rst:
894 Add trailing newline.
895 * doc/gccint/gimple/gimple-instruction-set.rst:
896 Add trailing newline.
897 * doc/gccint/gimple/gimple-sequences.rst:
898 Add trailing newline.
899 * doc/gccint/gimple/manipulating-gimple-statements.rst:
900 Add trailing newline.
901 * doc/gccint/gimple/operands.rst:
902 Add trailing newline.
903 * doc/gccint/gimple/sequence-iterators.rst:
904 Add trailing newline.
905 * doc/gccint/gimple/statement-and-operand-traversals.rst:
906 Add trailing newline.
907 * doc/gccint/gimple/temporaries.rst:
908 Add trailing newline.
909 * doc/gccint/gimple/tuple-representation.rst:
910 Add trailing newline.
911 * doc/gccint/gimple/tuple-specific-accessors.rst:
912 Add trailing newline.
913 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst:
914 Add trailing newline.
915 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst:
916 Add trailing newline.
917 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst:
918 Add trailing newline.
919 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst:
920 Add trailing newline.
921 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst:
922 Add trailing newline.
923 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst:
924 Add trailing newline.
925 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst:
926 Add trailing newline.
927 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst:
928 Add trailing newline.
929 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst:
930 Add trailing newline.
931 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst:
932 Add trailing newline.
933 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst:
934 Add trailing newline.
935 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst:
936 Add trailing newline.
937 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst:
938 Add trailing newline.
939 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst:
940 Add trailing newline.
941 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst:
942 Add trailing newline.
943 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst:
944 Add trailing newline.
945 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst:
946 Add trailing newline.
947 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst:
948 Add trailing newline.
949 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst:
950 Add trailing newline.
951 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst:
952 Add trailing newline.
953 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst:
954 Add trailing newline.
955 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst:
956 Add trailing newline.
957 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst:
958 Add trailing newline.
959 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst:
960 Add trailing newline.
961 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst:
962 Add trailing newline.
963 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst:
964 Add trailing newline.
965 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst:
966 Add trailing newline.
967 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst:
968 Add trailing newline.
969 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst:
970 Add trailing newline.
971 * doc/gccint/gnu-free-documentation-license.rst:
972 Add trailing newline.
973 * doc/gccint/guidelines-for-diagnostics.rst:
974 Add trailing newline.
975 * doc/gccint/guidelines-for-options.rst:
976 Add trailing newline.
977 * doc/gccint/host-common.rst:
978 Add trailing newline.
979 * doc/gccint/host-configuration.rst:
980 Add trailing newline.
981 * doc/gccint/host-filesystem.rst:
982 Add trailing newline.
983 * doc/gccint/host-makefile-fragments.rst:
984 Add trailing newline.
985 * doc/gccint/host-misc.rst:
986 Add trailing newline.
987 * doc/gccint/index.rst:
988 Add trailing newline.
989 * doc/gccint/indices-and-tables.rst:
990 Add trailing newline.
991 * doc/gccint/interfacing-to-gcc-output.rst:
992 Add trailing newline.
993 * doc/gccint/introduction.rst:
994 Add trailing newline.
995 * doc/gccint/language-front-ends-in-gcc.rst:
996 Add trailing newline.
997 * doc/gccint/link-time-optimization.rst:
998 Add trailing newline.
999 * doc/gccint/link-time-optimization/design-overview.rst:
1000 Add trailing newline.
1001 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst:
1002 Add trailing newline.
1003 * doc/gccint/link-time-optimization/lto-file-sections.rst:
1004 Add trailing newline.
1005 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst:
1006 Add trailing newline.
1007 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
1008 Add trailing newline.
1009 * doc/gccint/machine-descriptions.rst:
1010 Add trailing newline.
1011 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst:
1012 Add trailing newline.
1013 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst:
1014 Add trailing newline.
1015 * doc/gccint/machine-descriptions/conditional-execution.rst:
1016 Add trailing newline.
1017 * doc/gccint/machine-descriptions/constant-definitions.rst:
1018 Add trailing newline.
1019 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst:
1020 Add trailing newline.
1021 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst:
1022 Add trailing newline.
1023 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst:
1024 Add trailing newline.
1025 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst:
1026 Add trailing newline.
1027 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst:
1028 Add trailing newline.
1029 * doc/gccint/machine-descriptions/example-of-defineinsn.rst:
1030 Add trailing newline.
1031 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst:
1032 Add trailing newline.
1033 * doc/gccint/machine-descriptions/instruction-attributes.rst:
1034 Add trailing newline.
1035 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst:
1036 Add trailing newline.
1037 * doc/gccint/machine-descriptions/iterators.rst:
1038 Add trailing newline.
1039 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst:
1040 Add trailing newline.
1041 * doc/gccint/machine-descriptions/operand-constraints.rst:
1042 Add trailing newline.
1043 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst:
1044 Add trailing newline.
1045 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
1046 Add trailing newline.
1047 * doc/gccint/machine-descriptions/predicates.rst:
1048 Add trailing newline.
1049 * doc/gccint/machine-descriptions/rtl-template.rst:
1050 Add trailing newline.
1051 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst:
1052 Add trailing newline.
1053 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst:
1054 Add trailing newline.
1055 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst:
1056 Add trailing newline.
1057 * doc/gccint/makefile-fragments.rst:
1058 Add trailing newline.
1059 * doc/gccint/match-and-simplify.rst:
1060 Add trailing newline.
1061 * doc/gccint/memory-management-and-type-information.rst:
1062 Add trailing newline.
1063 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
1064 Add trailing newline.
1065 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
1066 Add trailing newline.
1067 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
1068 Add trailing newline.
1069 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst:
1070 Add trailing newline.
1071 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
1072 Add trailing newline.
1073 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst:
1074 Add trailing newline.
1075 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
1076 Add trailing newline.
1077 * doc/gccint/option-file-format.rst:
1078 Add trailing newline.
1079 * doc/gccint/option-properties.rst:
1080 Add trailing newline.
1081 * doc/gccint/option-specification-files.rst:
1082 Add trailing newline.
1083 * doc/gccint/passes-and-files-of-the-compiler.rst:
1084 Add trailing newline.
1085 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst:
1086 Add trailing newline.
1087 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
1088 Add trailing newline.
1089 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst:
1090 Add trailing newline.
1091 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst:
1092 Add trailing newline.
1093 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst:
1094 Add trailing newline.
1095 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst:
1096 Add trailing newline.
1097 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst:
1098 Add trailing newline.
1099 * doc/gccint/plugins.rst:
1100 Add trailing newline.
1101 * doc/gccint/plugins/building-gcc-plugins.rst:
1102 Add trailing newline.
1103 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst:
1104 Add trailing newline.
1105 * doc/gccint/plugins/giving-information-about-a-plugin.rst:
1106 Add trailing newline.
1107 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst:
1108 Add trailing newline.
1109 * doc/gccint/plugins/interacting-with-the-pass-manager.rst:
1110 Add trailing newline.
1111 * doc/gccint/plugins/keeping-track-of-available-passes.rst:
1112 Add trailing newline.
1113 * doc/gccint/plugins/loading-plugins.rst:
1114 Add trailing newline.
1115 * doc/gccint/plugins/plugin-api.rst:
1116 Add trailing newline.
1117 * doc/gccint/plugins/recording-information-about-pass-execution.rst:
1118 Add trailing newline.
1119 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst:
1120 Add trailing newline.
1121 * doc/gccint/rtl-representation.rst:
1122 Add trailing newline.
1123 * doc/gccint/rtl-representation/access-to-operands.rst:
1124 Add trailing newline.
1125 * doc/gccint/rtl-representation/access-to-special-operands.rst:
1126 Add trailing newline.
1127 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst:
1128 Add trailing newline.
1129 * doc/gccint/rtl-representation/bit-fields.rst:
1130 Add trailing newline.
1131 * doc/gccint/rtl-representation/comparison-operations.rst:
1132 Add trailing newline.
1133 * doc/gccint/rtl-representation/constant-expression-types.rst:
1134 Add trailing newline.
1135 * doc/gccint/rtl-representation/conversions.rst:
1136 Add trailing newline.
1137 * doc/gccint/rtl-representation/declarations.rst:
1138 Add trailing newline.
1139 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst:
1140 Add trailing newline.
1141 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst:
1142 Add trailing newline.
1143 * doc/gccint/rtl-representation/insns.rst:
1144 Add trailing newline.
1145 * doc/gccint/rtl-representation/machine-modes.rst:
1146 Add trailing newline.
1147 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst:
1148 Add trailing newline.
1149 * doc/gccint/rtl-representation/reading-rtl.rst:
1150 Add trailing newline.
1151 * doc/gccint/rtl-representation/registers-and-memory.rst:
1152 Add trailing newline.
1153 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst:
1154 Add trailing newline.
1155 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst:
1156 Add trailing newline.
1157 * doc/gccint/rtl-representation/rtl-object-types.rst:
1158 Add trailing newline.
1159 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst:
1160 Add trailing newline.
1161 * doc/gccint/rtl-representation/side-effect-expressions.rst:
1162 Add trailing newline.
1163 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst:
1164 Add trailing newline.
1165 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst:
1166 Add trailing newline.
1167 * doc/gccint/rtl-representation/vector-operations.rst:
1168 Add trailing newline.
1169 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst:
1170 Add trailing newline.
1171 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst:
1172 Add trailing newline.
1173 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst:
1174 Add trailing newline.
1175 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
1176 Add trailing newline.
1177 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
1178 Add trailing newline.
1179 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
1180 Add trailing newline.
1181 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst:
1182 Add trailing newline.
1183 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
1184 Add trailing newline.
1185 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
1186 Add trailing newline.
1187 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst:
1188 Add trailing newline.
1189 * doc/gccint/source-tree-structure-and-build-system.rst:
1190 Add trailing newline.
1191 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
1192 Add trailing newline.
1193 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst:
1194 Add trailing newline.
1195 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
1196 Add trailing newline.
1197 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
1198 Add trailing newline.
1199 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
1200 Add trailing newline.
1201 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
1202 Add trailing newline.
1203 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
1204 Add trailing newline.
1205 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
1206 Add trailing newline.
1207 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
1208 Add trailing newline.
1209 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
1210 Add trailing newline.
1211 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
1212 Add trailing newline.
1213 * doc/gccint/standard-header-file-directories.rst:
1214 Add trailing newline.
1215 * doc/gccint/static-analyzer.rst:
1216 Add trailing newline.
1217 * doc/gccint/target-macros.rst:
1218 Add trailing newline.
1219 * doc/gccint/target-macros/controlling-debugging-information-format.rst:
1220 Add trailing newline.
1221 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst:
1222 Add trailing newline.
1223 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst:
1224 Add trailing newline.
1225 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst:
1226 Add trailing newline.
1227 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
1228 Add trailing newline.
1229 * doc/gccint/target-macros/defining-the-output-assembler-language.rst:
1230 Add trailing newline.
1231 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
1232 Add trailing newline.
1233 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
1234 Add trailing newline.
1235 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1236 Add trailing newline.
1237 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1238 Add trailing newline.
1239 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1240 Add trailing newline.
1241 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1242 Add trailing newline.
1243 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
1244 Add trailing newline.
1245 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst:
1246 Add trailing newline.
1247 * doc/gccint/target-macros/layout-of-source-language-data-types.rst:
1248 Add trailing newline.
1249 * doc/gccint/target-macros/position-independent-code.rst:
1250 Add trailing newline.
1251 * doc/gccint/target-macros/register-usage.rst:
1252 Add trailing newline.
1253 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst:
1254 Add trailing newline.
1255 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1256 Add trailing newline.
1257 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
1258 Add trailing newline.
1259 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
1260 Add trailing newline.
1261 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1262 Add trailing newline.
1263 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1264 Add trailing newline.
1265 * doc/gccint/target-macros/support-for-nested-functions.rst:
1266 Add trailing newline.
1267 * doc/gccint/target-macros/the-global-targetm-variable.rst:
1268 Add trailing newline.
1269 * doc/gccint/target-makefile-fragments.rst:
1270 Add trailing newline.
1271 * doc/gccint/testsuites.rst:
1272 Add trailing newline.
1273 * doc/gccint/testsuites/ada-language-testsuites.rst:
1274 Add trailing newline.
1275 * doc/gccint/testsuites/c-language-testsuites.rst:
1276 Add trailing newline.
1277 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst:
1278 Add trailing newline.
1279 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
1280 Add trailing newline.
1281 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
1282 Add trailing newline.
1283 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
1284 Add trailing newline.
1285 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
1286 Add trailing newline.
1287 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
1288 Add trailing newline.
1289 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
1290 Add trailing newline.
1291 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst:
1292 Add trailing newline.
1293 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst:
1294 Add trailing newline.
1295 * doc/gccint/testsuites/support-for-testing-gcov.rst:
1296 Add trailing newline.
1297 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst:
1298 Add trailing newline.
1299 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst:
1300 Add trailing newline.
1301 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst:
1302 Add trailing newline.
1303 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst:
1304 Add trailing newline.
1305 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst:
1306 Add trailing newline.
1307 * doc/gccint/the-gcc-low-level-runtime-library.rst:
1308 Add trailing newline.
1309 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
1310 Add trailing newline.
1311 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
1312 Add trailing newline.
1313 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
1314 Add trailing newline.
1315 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
1316 Add trailing newline.
1317 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
1318 Add trailing newline.
1319 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
1320 Add trailing newline.
1321 * doc/gccint/the-language.rst:
1322 Add trailing newline.
1323 * doc/gccint/user-experience-guidelines.rst:
1324 Add trailing newline.
1325 * doc/install/binaries.rst:
1326 Add trailing newline.
1327 * doc/install/building.rst:
1328 Add trailing newline.
1329 * doc/install/building/building-a-cross-compiler.rst:
1330 Add trailing newline.
1331 * doc/install/building/building-a-native-compiler.rst:
1332 Add trailing newline.
1333 * doc/install/building/building-in-parallel.rst:
1334 Add trailing newline.
1335 * doc/install/building/building-the-ada-compiler.rst:
1336 Add trailing newline.
1337 * doc/install/building/building-the-d-compiler.rst:
1338 Add trailing newline.
1339 * doc/install/building/building-with-profile-feedback.rst:
1340 Add trailing newline.
1341 * doc/install/configuration.rst:
1342 Add trailing newline.
1343 * doc/install/copyright.rst:
1344 Add trailing newline.
1345 * doc/install/downloading-gcc.rst:
1346 Add trailing newline.
1347 * doc/install/final-installation.rst:
1348 Add trailing newline.
1349 * doc/install/gnu-free-documentation-license.rst:
1350 Add trailing newline.
1351 * doc/install/host-target-specific-installation-notes-for-gcc.rst:
1352 Add trailing newline.
1353 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst:
1354 Add trailing newline.
1355 * doc/install/how-to-interpret-test-results.rst:
1356 Add trailing newline.
1357 * doc/install/index.rst:
1358 Add trailing newline.
1359 * doc/install/indices-and-tables.rst:
1360 Add trailing newline.
1361 * doc/install/installing-gcc.rst:
1362 Add trailing newline.
1363 * doc/install/passing-options-and-running-multiple-testsuites.rst:
1364 Add trailing newline.
1365 * doc/install/prerequisites.rst:
1366 Add trailing newline.
1367 * doc/install/submitting-test-results.rst:
1368 Add trailing newline.
1369 * doc/install/testing.rst:
1370 Add trailing newline.
1371
1372 2022-11-09 Martin Liska <mliska@suse.cz>
1373
1374 * opts.cc (get_option_html_page): Port to sphinx URLs.
1375 (get_option_url): Likewise.
1376 (test_get_option_html_page): Likewise.
1377
1378 2022-11-09 Jakub Jelinek <jakub@redhat.com>
1379
1380 PR tree-optimization/107569
1381 * range-op-float.cc (foperator_abs::op1_range): Clear NaNs
1382 from the negatives frange before unioning it into r.
1383
1384 2022-11-09 Martin Liska <mliska@suse.cz>
1385
1386 * Makefile.in: Add vpath default for .rst files.
1387 * config/avr/avr-devices.cc: For port RST.
1388 * config/avr/avr-mcus.def: Update path.
1389 * config/avr/gen-avr-mmcu-texi.cc: Moved to...
1390 * config/avr/gen-avr-mmcu-rst.cc: ...here.
1391 * config/avr/t-avr: Update to rst.
1392 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: Re-generate.
1393
1394 2022-11-09 Philipp Tomsich <philipp.tomsich@vrull.eu>
1395
1396 * config/riscv/riscv.cc (riscv_rtx_costs): Add BSWAP.
1397
1398 2022-11-09 Xi Ruoyao <xry111@xry111.site>
1399
1400 * config/loongarch/loongarch.cc (loongarch_emit_int_compare):
1401 Avoid signed overflow.
1402
1403 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
1404
1405 * range-op-float.cc (foperator_plus::op1_range): New.
1406 (foperator_plus::op2_range): New.
1407 (foperator_minus::op1_range): New.
1408 (foperator_minus::op2_range): New.
1409
1410 2022-11-09 Martin Liska <mliska@suse.cz>
1411
1412 * Makefile.in: Support installation if sphinx-build is missing.
1413
1414 2022-11-09 Martin Liska <mliska@suse.cz>
1415
1416 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1417 Port to RST.
1418 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1419 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: Sync with master.
1420 * doc/gcc/gcc-command-options/option-summary.rst: Likewise.
1421
1422 2022-11-09 Martin Liska <mliska@suse.cz>
1423
1424 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1425 Do not include tm.rst.in.
1426 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1427 Likewise.
1428 * doc/gccint/target-macros/run-time-target-specification.rst:
1429 Likewise.
1430
1431 2022-11-09 Martin Liska <mliska@suse.cz>
1432
1433 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst:
1434 Fix cross manual refs.
1435 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst:
1436 Likewise.
1437
1438 2022-11-09 Martin Liska <mliska@suse.cz>
1439
1440 * Makefile.in: Support --with-sphinx-build.
1441 * configure.ac:
1442 * configure: Regenerate.
1443
1444 2022-11-09 Martin Liska <mliska@suse.cz>
1445
1446 * target.def: Use proper lexers for target macros.
1447 * doc/gccint/target-macros/tm.rst.in: Re-generate.
1448
1449 2022-11-09 Martin Liska <mliska@suse.cz>
1450
1451 * doc/analyzer.texi: Removed.
1452 * doc/avr-mmcu.texi: Removed.
1453 * doc/bugreport.texi: Removed.
1454 * doc/cfg.texi: Removed.
1455 * doc/collect2.texi: Removed.
1456 * doc/compat.texi: Removed.
1457 * doc/configfiles.texi: Removed.
1458 * doc/configterms.texi: Removed.
1459 * doc/contrib.texi: Removed.
1460 * doc/contribute.texi: Removed.
1461 * doc/cpp.texi: Removed.
1462 * doc/cppdiropts.texi: Removed.
1463 * doc/cppenv.texi: Removed.
1464 * doc/cppinternals.texi: Removed.
1465 * doc/cppopts.texi: Removed.
1466 * doc/cppwarnopts.texi: Removed.
1467 * doc/extend.texi: Removed.
1468 * doc/fragments.texi: Removed.
1469 * doc/frontends.texi: Removed.
1470 * doc/gcc.texi: Removed.
1471 * doc/gccint.texi: Removed.
1472 * doc/gcov-dump.texi: Removed.
1473 * doc/gcov-tool.texi: Removed.
1474 * doc/gcov.texi: Removed.
1475 * doc/generic.texi: Removed.
1476 * doc/gimple.texi: Removed.
1477 * doc/gnu.texi: Removed.
1478 * doc/gty.texi: Removed.
1479 * doc/headerdirs.texi: Removed.
1480 * doc/hostconfig.texi: Removed.
1481 * doc/implement-c.texi: Removed.
1482 * doc/implement-cxx.texi: Removed.
1483 * doc/include/fdl.texi: Removed.
1484 * doc/include/funding.texi: Removed.
1485 * doc/include/gcc-common.texi: Removed.
1486 * doc/include/gpl_v3.texi: Removed.
1487 * doc/install.texi: Removed.
1488 * doc/interface.texi: Removed.
1489 * doc/invoke.texi: Removed.
1490 * doc/languages.texi: Removed.
1491 * doc/libgcc.texi: Removed.
1492 * doc/loop.texi: Removed.
1493 * doc/lto-dump.texi: Removed.
1494 * doc/lto.texi: Removed.
1495 * doc/makefile.texi: Removed.
1496 * doc/match-and-simplify.texi: Removed.
1497 * doc/md.texi: Removed.
1498 * doc/objc.texi: Removed.
1499 * doc/optinfo.texi: Removed.
1500 * doc/options.texi: Removed.
1501 * doc/passes.texi: Removed.
1502 * doc/plugins.texi: Removed.
1503 * doc/poly-int.texi: Removed.
1504 * doc/portability.texi: Removed.
1505 * doc/rtl.texi: Removed.
1506 * doc/service.texi: Removed.
1507 * doc/sourcebuild.texi: Removed.
1508 * doc/standards.texi: Removed.
1509 * doc/tm.texi: Removed.
1510 * doc/tree-ssa.texi: Removed.
1511 * doc/trouble.texi: Removed.
1512 * doc/ux.texi: Removed.
1513 * doc/tm.texi.in: Removed.
1514
1515 2022-11-09 Martin Liska <mliska@suse.cz>
1516
1517 * doc/gccint/target-macros/tm.rst.in: New file.
1518
1519 2022-11-09 Martin Liska <mliska@suse.cz>
1520
1521 * Makefile.in: Support Sphinx based documentation.
1522 * configure: Regenerate.
1523 * configure.ac: Support Sphinx based documentation.
1524 * genhooks.cc (struct s_hook): Emit tm.rst.in file.
1525
1526 2022-11-09 Martin Liska <mliska@suse.cz>
1527
1528 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: Use tm.rst.in file.
1529 * doc/gccint/target-macros/addressing-modes.rst: Likewise.
1530 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: Likewise.
1531 * doc/gccint/target-macros/anchored-addresses.rst: Likewise.
1532 * doc/gccint/target-macros/c++-abi-parameters.rst: Likewise.
1533 * doc/gccint/target-macros/condition-code-status.rst: Likewise.
1534 * doc/gccint/target-macros/controlling-debugging-information-format.rst: Likewise.
1535 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: Likewise.
1536 * doc/gccint/target-macros/d-abi-parameters.rst: Likewise.
1537 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: Likewise.
1538 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
1539 Likewise.
1540 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
1541 Likewise.
1542 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
1543 Likewise.
1544 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
1545 Likewise.
1546 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
1547 Likewise.
1548 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
1549 Likewise.
1550 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
1551 Likewise.
1552 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: Likewise.
1553 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: Likewise.
1554 * doc/gccint/target-macros/emulating-tls.rst: Likewise.
1555 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: Likewise.
1556 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: Likewise.
1557 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: Likewise.
1558 * doc/gccint/target-macros/miscellaneous-parameters.rst: Likewise.
1559 * doc/gccint/target-macros/mode-switching-instructions.rst: Likewise.
1560 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
1561 Likewise.
1562 * doc/gccint/target-macros/register-classes.rst: Likewise.
1563 * doc/gccint/target-macros/register-usage.rst: Likewise.
1564 * doc/gccint/target-macros/run-time-target-specification.rst: Likewise.
1565 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
1566 Likewise.
1567 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
1568 Likewise.
1569 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
1570 Likewise.
1571 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
1572 Likewise.
1573 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
1574 Likewise.
1575 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
1576 Likewise.
1577 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
1578 Likewise.
1579 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
1580 Likewise.
1581 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
1582 Likewise.
1583 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
1584 Likewise.
1585 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
1586 Likewise.
1587 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
1588 Likewise.
1589 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
1590 Likewise.
1591 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
1592 Likewise.
1593 * doc/gccint/target-macros/storage-layout.rst: Likewise.
1594 * doc/gccint/target-macros/support-for-nested-functions.rst: Likewise.
1595
1596 2022-11-09 Martin Liska <mliska@suse.cz>
1597
1598 * common/common-target.def: Port to RST.
1599 * target.def: Port to RST.
1600
1601 2022-11-09 Martin Liska <mliska@suse.cz>
1602
1603 * doc/cpp/character-sets.rst: New file.
1604 * doc/cpp/conditional-syntax.rst: New file.
1605 * doc/cpp/conditional-uses.rst: New file.
1606 * doc/cpp/conditionals.rst: New file.
1607 * doc/cpp/conf.py: New file.
1608 * doc/cpp/copyright.rst: New file.
1609 * doc/cpp/deleted-code.rst: New file.
1610 * doc/cpp/diagnostics.rst: New file.
1611 * doc/cpp/environment-variables.rst: New file.
1612 * doc/cpp/gnu-free-documentation-license.rst: New file.
1613 * doc/cpp/header-files.rst: New file.
1614 * doc/cpp/header-files/alternatives-to-wrapper-ifndef.rst: New file.
1615 * doc/cpp/header-files/computed-includes.rst: New file.
1616 * doc/cpp/header-files/include-operation.rst: New file.
1617 * doc/cpp/header-files/include-syntax.rst: New file.
1618 * doc/cpp/header-files/once-only-headers.rst: New file.
1619 * doc/cpp/header-files/search-path.rst: New file.
1620 * doc/cpp/header-files/system-headers.rst: New file.
1621 * doc/cpp/header-files/wrapper-headers.rst: New file.
1622 * doc/cpp/implementation-defined-behavior.rst: New file.
1623 * doc/cpp/implementation-details.rst: New file.
1624 * doc/cpp/implementation-limits.rst: New file.
1625 * doc/cpp/index.rst: New file.
1626 * doc/cpp/indices-and-tables.rst: New file.
1627 * doc/cpp/initial-processing.rst: New file.
1628 * doc/cpp/invocation.rst: New file.
1629 * doc/cpp/line-control.rst: New file.
1630 * doc/cpp/macros.rst: New file.
1631 * doc/cpp/macros/concatenation.rst: New file.
1632 * doc/cpp/macros/directives-within-macro-arguments.rst: New file.
1633 * doc/cpp/macros/function-like-macros.rst: New file.
1634 * doc/cpp/macros/macro-arguments.rst: New file.
1635 * doc/cpp/macros/macro-pitfalls.rst: New file.
1636 * doc/cpp/macros/object-like-macros.rst: New file.
1637 * doc/cpp/macros/predefined-macros.rst: New file.
1638 * doc/cpp/macros/stringizing.rst: New file.
1639 * doc/cpp/macros/undefining-and-redefining-macros.rst: New file.
1640 * doc/cpp/macros/variadic-macros.rst: New file.
1641 * doc/cpp/obsolete-features.rst: New file.
1642 * doc/cpp/other-directives.rst: New file.
1643 * doc/cpp/overview.rst: New file.
1644 * doc/cpp/pragmas.rst: New file.
1645 * doc/cpp/preprocessor-output.rst: New file.
1646 * doc/cpp/the-preprocessing-language.rst: New file.
1647 * doc/cpp/tokenization.rst: New file.
1648 * doc/cpp/traditional-lexical-analysis.rst: New file.
1649 * doc/cpp/traditional-macros.rst: New file.
1650 * doc/cpp/traditional-miscellany.rst: New file.
1651 * doc/cpp/traditional-mode.rst: New file.
1652 * doc/cpp/traditional-warnings.rst: New file.
1653 * doc/cppinternals/conf.py: New file.
1654 * doc/cppinternals/copyright.rst: New file.
1655 * doc/cppinternals/cppinternals.rst: New file.
1656 * doc/cppinternals/cpplib.rst: New file.
1657 * doc/cppinternals/files.rst: New file.
1658 * doc/cppinternals/index.rst: New file.
1659 * doc/cppinternals/indices-and-tables.rst: New file.
1660 * doc/cppinternals/internal-representation-of-macros.rst: New file.
1661 * doc/cppinternals/just-which-line-number-anyway.rst: New file.
1662 * doc/cppinternals/lexing-a-line.rst: New file.
1663 * doc/cppinternals/lexing-a-token.rst: New file.
1664 * doc/cppinternals/looking-for-a-function-like-macros-opening-parenthesis.rst: New file.
1665 * doc/cppinternals/macro-expansion-overview.rst: New file.
1666 * doc/cppinternals/marking-tokens-ineligible-for-future-expansion.rst: New file.
1667 * doc/cppinternals/multiple-include-optimization.rst: New file.
1668 * doc/cppinternals/overview.rst: New file.
1669 * doc/cppinternals/representation-of-line-numbers.rst: New file.
1670 * doc/cppinternals/scanning-the-replacement-list-for-macros-to-expand.rst: New file.
1671 * doc/gcc/binary-compatibility.rst: New file.
1672 * doc/gcc/c++-implementation-defined-behavior.rst: New file.
1673 * doc/gcc/c-implementation-defined-behavior.rst: New file.
1674 * doc/gcc/c-implementation-defined-behavior/architecture.rst: New file.
1675 * doc/gcc/c-implementation-defined-behavior/arrays-and-pointers.rst: New file.
1676 * doc/gcc/c-implementation-defined-behavior/characters.rst: New file.
1677 * doc/gcc/c-implementation-defined-behavior/declarators.rst: New file.
1678 * doc/gcc/c-implementation-defined-behavior/environment.rst: New file.
1679 * doc/gcc/c-implementation-defined-behavior/floating-point.rst: New file.
1680 * doc/gcc/c-implementation-defined-behavior/hints.rst: New file.
1681 * doc/gcc/c-implementation-defined-behavior/identifiers.rst: New file.
1682 * doc/gcc/c-implementation-defined-behavior/integers.rst: New file.
1683 * doc/gcc/c-implementation-defined-behavior/library-functions.rst: New file.
1684 * doc/gcc/c-implementation-defined-behavior/locale-specific-behavior.rst: New file.
1685 * doc/gcc/c-implementation-defined-behavior/preprocessing-directives.rst: New file.
1686 * doc/gcc/c-implementation-defined-behavior/qualifiers.rst: New file.
1687 * doc/gcc/c-implementation-defined-behavior/statements.rst: New file.
1688 * doc/gcc/c-implementation-defined-behavior/structures-unions-enumerations-and-bit-fields.rst:
1689 New file.
1690 * doc/gcc/c-implementation-defined-behavior/translation.rst: New file.
1691 * doc/gcc/conditionally-supported-behavior.rst: New file.
1692 * doc/gcc/conf.py: New file.
1693 * doc/gcc/contributing-to-gcc-development.rst: New file.
1694 * doc/gcc/contributors-to-gcc.rst: New file.
1695 * doc/gcc/copyright.rst: New file.
1696 * doc/gcc/exception-handling.rst: New file.
1697 * doc/gcc/extensions-to-the-c++-language.rst: New file.
1698 * doc/gcc/extensions-to-the-c++-language/backwards-compatibility.rst: New file.
1699 * doc/gcc/extensions-to-the-c++-language/c++-concepts.rst: New file.
1700 * doc/gcc/extensions-to-the-c++-language/c++-interface-and-implementation-pragmas.rst:
1701 New file.
1702 * doc/gcc/extensions-to-the-c++-language/c++-specific-variable-function-and-type-attributes.rst:
1703 New file.
1704 * doc/gcc/extensions-to-the-c++-language/deprecated-features.rst: New file.
1705 * doc/gcc/extensions-to-the-c++-language/extracting-the-function-pointer-from-a-bound-pointer-to-member-function.rst:
1706 New file.
1707 * doc/gcc/extensions-to-the-c++-language/function-multiversioning.rst: New file.
1708 * doc/gcc/extensions-to-the-c++-language/restricting-pointer-aliasing.rst: New file.
1709 * doc/gcc/extensions-to-the-c++-language/type-traits.rst: New file.
1710 * doc/gcc/extensions-to-the-c++-language/vague-linkage.rst: New file.
1711 * doc/gcc/extensions-to-the-c++-language/when-is-a-volatile-c++-object-accessed.rst:
1712 New file.
1713 * doc/gcc/extensions-to-the-c++-language/wheres-the-template.rst: New file.
1714 * doc/gcc/extensions-to-the-c-language-family.rst: New file.
1715 * doc/gcc/extensions-to-the-c-language-family/128-bit-integers.rst: New file.
1716 * doc/gcc/extensions-to-the-c-language-family/additional-floating-types.rst: New file.
1717 * doc/gcc/extensions-to-the-c-language-family/alternate-keywords.rst: New file.
1718 * doc/gcc/extensions-to-the-c-language-family/an-inline-function-is-as-fast-as-a-macro.rst:
1719 New file.
1720 * doc/gcc/extensions-to-the-c-language-family/arithmetic-on-void-and-function-pointers.rst:
1721 New file.
1722 * doc/gcc/extensions-to-the-c-language-family/arrays-of-length-zero.rst: New file.
1723 * doc/gcc/extensions-to-the-c-language-family/arrays-of-variable-length.rst: New file.
1724 * doc/gcc/extensions-to-the-c-language-family/attribute-syntax.rst: New file.
1725 * doc/gcc/extensions-to-the-c-language-family/binary-constants-using-the-0b-prefix.rst:
1726 New file.
1727 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-for-memory-model-aware-atomic-operations.rst:
1728 New file.
1729 * doc/gcc/extensions-to-the-c-language-family/built-in-functions-to-perform-arithmetic-with-overflow-checking.rst:
1730 New file.
1731 * doc/gcc/extensions-to-the-c-language-family/c++-style-comments.rst: New file.
1732 * doc/gcc/extensions-to-the-c-language-family/case-ranges.rst: New file.
1733 * doc/gcc/extensions-to-the-c-language-family/cast-to-a-union-type.rst: New file.
1734 * doc/gcc/extensions-to-the-c-language-family/complex-numbers.rst: New file.
1735 * doc/gcc/extensions-to-the-c-language-family/compound-literals.rst: New file.
1736 * doc/gcc/extensions-to-the-c-language-family/conditionals-with-omitted-operands.rst:
1737 New file.
1738 * doc/gcc/extensions-to-the-c-language-family/constructing-function-calls.rst: New file.
1739 * doc/gcc/extensions-to-the-c-language-family/decimal-floating-types.rst: New file.
1740 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions.rst:
1741 New file.
1742 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/aarch64-function-attributes.rst:
1743 New file.
1744 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/amd-gcn-function-attributes.rst:
1745 New file.
1746 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arc-function-attributes.rst:
1747 New file.
1748 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/arm-function-attributes.rst:
1749 New file.
1750 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/avr-function-attributes.rst:
1751 New file.
1752 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/blackfin-function-attributes.rst:
1753 New file.
1754 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/bpf-function-attributes.rst:
1755 New file.
1756 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/c-sky-function-attributes.rst:
1757 New file.
1758 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/common-function-attributes.rst:
1759 New file.
1760 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/epiphany-function-attributes.rst:
1761 New file.
1762 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/h8-300-function-attributes.rst:
1763 New file.
1764 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/ia-64-function-attributes.rst:
1765 New file.
1766 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32c-function-attributes.rst:
1767 New file.
1768 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m32r-d-function-attributes.rst:
1769 New file.
1770 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/m68k-function-attributes.rst:
1771 New file.
1772 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mcore-function-attributes.rst:
1773 New file.
1774 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mep-function-attributes.rst:
1775 New file.
1776 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microblaze-function-attributes.rst:
1777 New file.
1778 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/microsoft-windows-function-attributes.rst:
1779 New file.
1780 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/mips-function-attributes.rst:
1781 New file.
1782 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/msp430-function-attributes.rst:
1783 New file.
1784 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nds32-function-attributes.rst:
1785 New file.
1786 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nios-ii-function-attributes.rst:
1787 New file.
1788 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/nvidia-ptx-function-attributes.rst:
1789 New file.
1790 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/powerpc-function-attributes.rst:
1791 New file.
1792 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/risc-v-function-attributes.rst:
1793 New file.
1794 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rl78-function-attributes.rst:
1795 New file.
1796 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/rx-function-attributes.rst:
1797 New file.
1798 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/s-390-function-attributes.rst:
1799 New file.
1800 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/sh-function-attributes.rst:
1801 New file.
1802 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/symbian-os-function-attributes.rst:
1803 New file.
1804 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/v850-function-attributes.rst:
1805 New file.
1806 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/visium-function-attributes.rst:
1807 New file.
1808 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/x86-function-attributes.rst:
1809 New file.
1810 * doc/gcc/extensions-to-the-c-language-family/declaring-attributes-of-functions/xstormy16-function-attributes.rst:
1811 New file.
1812 * doc/gcc/extensions-to-the-c-language-family/designated-initializers.rst: New file.
1813 * doc/gcc/extensions-to-the-c-language-family/determining-the-alignment-of-functions-types-or-variables.rst:
1814 New file.
1815 * doc/gcc/extensions-to-the-c-language-family/dollar-signs-in-identifier-names.rst:
1816 New file.
1817 * doc/gcc/extensions-to-the-c-language-family/double-word-integers.rst: New file.
1818 * doc/gcc/extensions-to-the-c-language-family/enumerator-attributes.rst: New file.
1819 * doc/gcc/extensions-to-the-c-language-family/fixed-point-types.rst: New file.
1820 * doc/gcc/extensions-to-the-c-language-family/format-checks-specific-to-particular-target-machines.rst:
1821 New file.
1822 * doc/gcc/extensions-to-the-c-language-family/function-names-as-strings.rst: New file.
1823 * doc/gcc/extensions-to-the-c-language-family/getting-the-return-or-frame-address-of-a-function.rst:
1824 New file.
1825 * doc/gcc/extensions-to-the-c-language-family/half-precision-floating-point.rst: New file.
1826 * doc/gcc/extensions-to-the-c-language-family/hex-floats.rst: New file.
1827 * doc/gcc/extensions-to-the-c-language-family/how-to-use-inline-assembly-language-in-c-code.rst:
1828 New file.
1829 * doc/gcc/extensions-to-the-c-language-family/incomplete-enum-types.rst: New file.
1830 * doc/gcc/extensions-to-the-c-language-family/label-attributes.rst: New file.
1831 * doc/gcc/extensions-to-the-c-language-family/labels-as-values.rst: New file.
1832 * doc/gcc/extensions-to-the-c-language-family/legacy-sync-built-in-functions-for-atomic-memory-access.rst:
1833 New file.
1834 * doc/gcc/extensions-to-the-c-language-family/locally-declared-labels.rst: New file.
1835 * doc/gcc/extensions-to-the-c-language-family/macros-with-a-variable-number-of-arguments.rst:
1836 New file.
1837 * doc/gcc/extensions-to-the-c-language-family/mixed-declarations-labels-and-code.rst:
1838 New file.
1839 * doc/gcc/extensions-to-the-c-language-family/named-address-spaces.rst: New file.
1840 * doc/gcc/extensions-to-the-c-language-family/nested-functions.rst: New file.
1841 * doc/gcc/extensions-to-the-c-language-family/non-constant-initializers.rst: New file.
1842 * doc/gcc/extensions-to-the-c-language-family/non-lvalue-arrays-may-have-subscripts.rst:
1843 New file.
1844 * doc/gcc/extensions-to-the-c-language-family/nonlocal-gotos.rst: New file.
1845 * doc/gcc/extensions-to-the-c-language-family/object-size-checking-built-in-functions.rst:
1846 New file.
1847 * doc/gcc/extensions-to-the-c-language-family/other-built-in-functions-provided-by-gcc.rst:
1848 New file.
1849 * doc/gcc/extensions-to-the-c-language-family/pointer-arguments-in-variadic-functions.rst:
1850 New file.
1851 * doc/gcc/extensions-to-the-c-language-family/pointers-to-arrays-with-qualifiers-work-as-expected.rst:
1852 New file.
1853 * doc/gcc/extensions-to-the-c-language-family/pragmas-accepted-by-gcc.rst: New file.
1854 * doc/gcc/extensions-to-the-c-language-family/prototypes-and-old-style-function-definitions.rst:
1855 New file.
1856 * doc/gcc/extensions-to-the-c-language-family/referring-to-a-type-with-typeof.rst: New file.
1857 * doc/gcc/extensions-to-the-c-language-family/slightly-looser-rules-for-escaped-newlines.rst:
1858 New file.
1859 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-types.rst: New file.
1860 * doc/gcc/extensions-to-the-c-language-family/specifying-attributes-of-variables.rst:
1861 New file.
1862 * doc/gcc/extensions-to-the-c-language-family/statement-attributes.rst: New file.
1863 * doc/gcc/extensions-to-the-c-language-family/statements-and-declarations-in-expressions.rst:
1864 New file.
1865 * doc/gcc/extensions-to-the-c-language-family/structures-with-no-members.rst: New file.
1866 * doc/gcc/extensions-to-the-c-language-family/support-for-offsetof.rst: New file.
1867 * doc/gcc/extensions-to-the-c-language-family/target-builtins.rst: New file.
1868 * doc/gcc/extensions-to-the-c-language-family/target-builtins/aarch64-built-in-functions.rst:
1869 New file.
1870 * doc/gcc/extensions-to-the-c-language-family/target-builtins/alpha-built-in-functions.rst:
1871 New file.
1872 * doc/gcc/extensions-to-the-c-language-family/target-builtins/altera-nios-ii-built-in-functions.rst:
1873 New file.
1874 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-built-in-functions.rst:
1875 New file.
1876 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arc-simd-built-in-functions.rst:
1877 New file.
1878 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-armv8-m-security-extensions.rst:
1879 New file.
1880 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-c-language-extensions-acle.rst:
1881 New file.
1882 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-floating-point-status-and-control-intrinsics.rst:
1883 New file.
1884 * doc/gcc/extensions-to-the-c-language-family/target-builtins/arm-iwmmxt-built-in-functions.rst:
1885 New file.
1886 * doc/gcc/extensions-to-the-c-language-family/target-builtins/avr-built-in-functions.rst:
1887 New file.
1888 * doc/gcc/extensions-to-the-c-language-family/target-builtins/basic-powerpc-built-in-functions.rst:
1889 New file.
1890 * doc/gcc/extensions-to-the-c-language-family/target-builtins/blackfin-built-in-functions.rst:
1891 New file.
1892 * doc/gcc/extensions-to-the-c-language-family/target-builtins/bpf-built-in-functions.rst:
1893 New file.
1894 * doc/gcc/extensions-to-the-c-language-family/target-builtins/fr-v-built-in-functions.rst:
1895 New file.
1896 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-dsp-built-in-functions.rst:
1897 New file.
1898 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-loongson-built-in-functions.rst:
1899 New file.
1900 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-paired-single-support.rst:
1901 New file.
1902 * doc/gcc/extensions-to-the-c-language-family/target-builtins/mips-simd-architecture-msa-support.rst:
1903 New file.
1904 * doc/gcc/extensions-to-the-c-language-family/target-builtins/msp430-built-in-functions.rst:
1905 New file.
1906 * doc/gcc/extensions-to-the-c-language-family/target-builtins/nds32-built-in-functions.rst:
1907 New file.
1908 * doc/gcc/extensions-to-the-c-language-family/target-builtins/other-mips-built-in-functions.rst:
1909 New file.
1910 * doc/gcc/extensions-to-the-c-language-family/target-builtins/picochip-built-in-functions.rst:
1911 New file.
1912 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-altivec-vsx-built-in-functions.rst:
1913 New file.
1914 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-atomic-memory-operation-functions.rst:
1915 New file.
1916 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-hardware-transactional-memory-built-in-functions.rst:
1917 New file.
1918 * doc/gcc/extensions-to-the-c-language-family/target-builtins/powerpc-matrix-multiply-assist-built-in-functions.rst:
1919 New file.
1920 * doc/gcc/extensions-to-the-c-language-family/target-builtins/pru-built-in-functions.rst:
1921 New file.
1922 * doc/gcc/extensions-to-the-c-language-family/target-builtins/risc-v-built-in-functions.rst:
1923 New file.
1924 * doc/gcc/extensions-to-the-c-language-family/target-builtins/rx-built-in-functions.rst:
1925 New file.
1926 * doc/gcc/extensions-to-the-c-language-family/target-builtins/s-390-system-z-built-in-functions.rst:
1927 New file.
1928 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sh-built-in-functions.rst:
1929 New file.
1930 * doc/gcc/extensions-to-the-c-language-family/target-builtins/sparc-vis-built-in-functions.rst:
1931 New file.
1932 * doc/gcc/extensions-to-the-c-language-family/target-builtins/ti-c6x-built-in-functions.rst:
1933 New file.
1934 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-built-in-functions.rst:
1935 New file.
1936 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-control-flow-protection-intrinsics.rst:
1937 New file.
1938 * doc/gcc/extensions-to-the-c-language-family/target-builtins/x86-transactional-memory-intrinsics.rst:
1939 New file.
1940 * doc/gcc/extensions-to-the-c-language-family/the-character-esc-in-constants.rst: New file.
1941 * doc/gcc/extensions-to-the-c-language-family/thread-local-storage.rst: New file.
1942 * doc/gcc/extensions-to-the-c-language-family/unnamed-structure-and-union-fields.rst:
1943 New file.
1944 * doc/gcc/extensions-to-the-c-language-family/using-vector-instructions-through-built-in-functions.rst:
1945 New file.
1946 * doc/gcc/extensions-to-the-c-language-family/when-is-a-volatile-object-accessed.rst:
1947 New file.
1948 * doc/gcc/extensions-to-the-c-language-family/x86-specific-memory-model-extensions-for-transactional-memory.rst:
1949 New file.
1950 * doc/gcc/funding.rst: New file.
1951 * doc/gcc/gcc-command-options.rst: New file.
1952 * doc/gcc/gcc-command-options/c++-modules.rst: New file.
1953 * doc/gcc/gcc-command-options/compiling-c++-programs.rst: New file.
1954 * doc/gcc/gcc-command-options/description.rst: New file.
1955 * doc/gcc/gcc-command-options/environment-variables-affecting-gcc.rst: New file.
1956 * doc/gcc/gcc-command-options/gcc-developer-options.rst: New file.
1957 * doc/gcc/gcc-command-options/machine-dependent-options.rst: New file.
1958 * doc/gcc/gcc-command-options/machine-dependent-options/aarch64-options.rst: New file.
1959 * doc/gcc/gcc-command-options/machine-dependent-options/adapteva-epiphany-options.rst:
1960 New file.
1961 * doc/gcc/gcc-command-options/machine-dependent-options/amd-gcn-options.rst: New file.
1962 * doc/gcc/gcc-command-options/machine-dependent-options/arc-options.rst: New file.
1963 * doc/gcc/gcc-command-options/machine-dependent-options/arm-options.rst: New file.
1964 * doc/gcc/gcc-command-options/machine-dependent-options/avr-mmcu.rst: New file.
1965 * doc/gcc/gcc-command-options/machine-dependent-options/avr-options.rst: New file.
1966 * doc/gcc/gcc-command-options/machine-dependent-options/blackfin-options.rst: New file.
1967 * doc/gcc/gcc-command-options/machine-dependent-options/c-sky-options.rst: New file.
1968 * doc/gcc/gcc-command-options/machine-dependent-options/c6x-options.rst: New file.
1969 * doc/gcc/gcc-command-options/machine-dependent-options/cris-options.rst: New file.
1970 * doc/gcc/gcc-command-options/machine-dependent-options/darwin-options.rst: New file.
1971 * doc/gcc/gcc-command-options/machine-dependent-options/dec-alpha-options.rst: New file.
1972 * doc/gcc/gcc-command-options/machine-dependent-options/ebpf-options.rst: New file.
1973 * doc/gcc/gcc-command-options/machine-dependent-options/fr30-options.rst: New file.
1974 * doc/gcc/gcc-command-options/machine-dependent-options/frv-options.rst: New file.
1975 * doc/gcc/gcc-command-options/machine-dependent-options/ft32-options.rst: New file.
1976 * doc/gcc/gcc-command-options/machine-dependent-options/gnu-linux-options.rst: New file.
1977 * doc/gcc/gcc-command-options/machine-dependent-options/h8-300-options.rst: New file.
1978 * doc/gcc/gcc-command-options/machine-dependent-options/hppa-options.rst: New file.
1979 * doc/gcc/gcc-command-options/machine-dependent-options/ia-64-options.rst: New file.
1980 * doc/gcc/gcc-command-options/machine-dependent-options/ibm-rs-6000-and-powerpc-options.rst:
1981 New file.
1982 * doc/gcc/gcc-command-options/machine-dependent-options/lm32-options.rst: New file.
1983 * doc/gcc/gcc-command-options/machine-dependent-options/loongarch-options.rst: New file.
1984 * doc/gcc/gcc-command-options/machine-dependent-options/m32c-options.rst: New file.
1985 * doc/gcc/gcc-command-options/machine-dependent-options/m32r-d-options.rst: New file.
1986 * doc/gcc/gcc-command-options/machine-dependent-options/m680x0-options.rst: New file.
1987 * doc/gcc/gcc-command-options/machine-dependent-options/mcore-options.rst: New file.
1988 * doc/gcc/gcc-command-options/machine-dependent-options/mep-options.rst: New file.
1989 * doc/gcc/gcc-command-options/machine-dependent-options/microblaze-options.rst: New file.
1990 * doc/gcc/gcc-command-options/machine-dependent-options/mips-options.rst: New file.
1991 * doc/gcc/gcc-command-options/machine-dependent-options/mmix-options.rst: New file.
1992 * doc/gcc/gcc-command-options/machine-dependent-options/mn10300-options.rst: New file.
1993 * doc/gcc/gcc-command-options/machine-dependent-options/moxie-options.rst: New file.
1994 * doc/gcc/gcc-command-options/machine-dependent-options/msp430-options.rst: New file.
1995 * doc/gcc/gcc-command-options/machine-dependent-options/nds32-options.rst: New file.
1996 * doc/gcc/gcc-command-options/machine-dependent-options/nios-ii-options.rst: New file.
1997 * doc/gcc/gcc-command-options/machine-dependent-options/nvidia-ptx-options.rst: New file.
1998 * doc/gcc/gcc-command-options/machine-dependent-options/openrisc-options.rst: New file.
1999 * doc/gcc/gcc-command-options/machine-dependent-options/options-for-system-v.rst: New file.
2000 * doc/gcc/gcc-command-options/machine-dependent-options/pdp-11-options.rst: New file.
2001 * doc/gcc/gcc-command-options/machine-dependent-options/picochip-options.rst: New file.
2002 * doc/gcc/gcc-command-options/machine-dependent-options/powerpc-options.rst: New file.
2003 * doc/gcc/gcc-command-options/machine-dependent-options/pru-options.rst: New file.
2004 * doc/gcc/gcc-command-options/machine-dependent-options/risc-v-options.rst: New file.
2005 * doc/gcc/gcc-command-options/machine-dependent-options/rl78-options.rst: New file.
2006 * doc/gcc/gcc-command-options/machine-dependent-options/rx-options.rst: New file.
2007 * doc/gcc/gcc-command-options/machine-dependent-options/s-390-and-zseries-options.rst:
2008 New file.
2009 * doc/gcc/gcc-command-options/machine-dependent-options/score-options.rst: New file.
2010 * doc/gcc/gcc-command-options/machine-dependent-options/sh-options.rst: New file.
2011 * doc/gcc/gcc-command-options/machine-dependent-options/solaris-2-options.rst: New file.
2012 * doc/gcc/gcc-command-options/machine-dependent-options/sparc-options.rst: New file.
2013 * doc/gcc/gcc-command-options/machine-dependent-options/v850-options.rst: New file.
2014 * doc/gcc/gcc-command-options/machine-dependent-options/vax-options.rst: New file.
2015 * doc/gcc/gcc-command-options/machine-dependent-options/visium-options.rst: New file.
2016 * doc/gcc/gcc-command-options/machine-dependent-options/vms-options.rst: New file.
2017 * doc/gcc/gcc-command-options/machine-dependent-options/vxworks-options.rst: New file.
2018 * doc/gcc/gcc-command-options/machine-dependent-options/x86-options.rst: New file.
2019 * doc/gcc/gcc-command-options/machine-dependent-options/x86-windows-options.rst: New file.
2020 * doc/gcc/gcc-command-options/machine-dependent-options/xstormy16-options.rst: New file.
2021 * doc/gcc/gcc-command-options/machine-dependent-options/xtensa-options.rst: New file.
2022 * doc/gcc/gcc-command-options/machine-dependent-options/zseries-options.rst: New file.
2023 * doc/gcc/gcc-command-options/option-summary.rst: New file.
2024 * doc/gcc/gcc-command-options/options-controlling-c++-dialect.rst: New file.
2025 * doc/gcc/gcc-command-options/options-controlling-c-dialect.rst: New file.
2026 * doc/gcc/gcc-command-options/options-controlling-objective-c-and-objective-c++-dialects.rst:
2027 New file.
2028 * doc/gcc/gcc-command-options/options-controlling-the-kind-of-output.rst: New file.
2029 * doc/gcc/gcc-command-options/options-controlling-the-preprocessor.rst: New file.
2030 * doc/gcc/gcc-command-options/options-for-code-generation-conventions.rst: New file.
2031 * doc/gcc/gcc-command-options/options-for-debugging-your-program.rst: New file.
2032 * doc/gcc/gcc-command-options/options-for-directory-search.rst: New file.
2033 * doc/gcc/gcc-command-options/options-for-linking.rst: New file.
2034 * doc/gcc/gcc-command-options/options-that-control-optimization.rst: New file.
2035 * doc/gcc/gcc-command-options/options-that-control-static-analysis.rst: New file.
2036 * doc/gcc/gcc-command-options/options-to-control-diagnostic-messages-formatting.rst:
2037 New file.
2038 * doc/gcc/gcc-command-options/options-to-request-or-suppress-warnings.rst: New file.
2039 * doc/gcc/gcc-command-options/passing-options-to-the-assembler.rst: New file.
2040 * doc/gcc/gcc-command-options/program-instrumentation-options.rst: New file.
2041 * doc/gcc/gcc-command-options/specifying-subprocesses-and-the-switches-to-pass-to-them.rst:
2042 New file.
2043 * doc/gcc/gcc-command-options/using-precompiled-headers.rst: New file.
2044 * doc/gcc/gcc.rst: New file.
2045 * doc/gcc/gcov-dump.rst: New file.
2046 * doc/gcc/gcov-tool.rst: New file.
2047 * doc/gcc/gcov.rst: New file.
2048 * doc/gcc/gcov/brief-description-of-gcov-data-files.rst: New file.
2049 * doc/gcc/gcov/data-file-relocation-to-support-cross-profiling.rst: New file.
2050 * doc/gcc/gcov/introduction-to-gcov.rst: New file.
2051 * doc/gcc/gcov/invoking-gcov.rst: New file.
2052 * doc/gcc/gcov/profiling-and-test-coverage-in-freestanding-environments.rst: New file.
2053 * doc/gcc/gcov/using-gcov-with-gcc-optimization.rst: New file.
2054 * doc/gcc/general-public-license-3.rst: New file.
2055 * doc/gcc/gnu-free-documentation-license.rst: New file.
2056 * doc/gcc/gnu-objective-c-features.rst: New file.
2057 * doc/gcc/gnu-objective-c-features/compatibilityalias.rst: New file.
2058 * doc/gcc/gnu-objective-c-features/constant-string-objects.rst: New file.
2059 * doc/gcc/gnu-objective-c-features/exceptions.rst: New file.
2060 * doc/gcc/gnu-objective-c-features/fast-enumeration.rst: New file.
2061 * doc/gcc/gnu-objective-c-features/garbage-collection.rst: New file.
2062 * doc/gcc/gnu-objective-c-features/gnu-objective-c-runtime-api.rst: New file.
2063 * doc/gcc/gnu-objective-c-features/load-executing-code-before-main.rst: New file.
2064 * doc/gcc/gnu-objective-c-features/messaging-with-the-gnu-objective-c-runtime.rst: New file.
2065 * doc/gcc/gnu-objective-c-features/synchronization.rst: New file.
2066 * doc/gcc/gnu-objective-c-features/type-encoding.rst: New file.
2067 * doc/gcc/gnu.rst: New file.
2068 * doc/gcc/have-you-found-a-bug.rst: New file.
2069 * doc/gcc/how-and-where-to-report-bugs.rst: New file.
2070 * doc/gcc/how-to-get-help-with-gcc.rst: New file.
2071 * doc/gcc/index.rst: New file.
2072 * doc/gcc/indices-and-tables.rst: New file.
2073 * doc/gcc/known-causes-of-trouble-with-gcc.rst: New file.
2074 * doc/gcc/known-causes-of-trouble-with-gcc/actual-bugs-we-havent-fixed-yet.rst: New file.
2075 * doc/gcc/known-causes-of-trouble-with-gcc/certain-changes-we-dont-want-to-make.rst:
2076 New file.
2077 * doc/gcc/known-causes-of-trouble-with-gcc/common-misunderstandings-with-gnu-c.rst:
2078 New file.
2079 * doc/gcc/known-causes-of-trouble-with-gcc/disappointments-and-misunderstandings.rst:
2080 New file.
2081 * doc/gcc/known-causes-of-trouble-with-gcc/fixed-header-files.rst: New file.
2082 * doc/gcc/known-causes-of-trouble-with-gcc/incompatibilities-of-gcc.rst: New file.
2083 * doc/gcc/known-causes-of-trouble-with-gcc/interoperation.rst: New file.
2084 * doc/gcc/known-causes-of-trouble-with-gcc/standard-libraries.rst: New file.
2085 * doc/gcc/known-causes-of-trouble-with-gcc/warning-messages-and-error-messages.rst:
2086 New file.
2087 * doc/gcc/language-standards-supported-by-gcc.rst: New file.
2088 * doc/gcc/language-standards-supported-by-gcc/c++-language.rst: New file.
2089 * doc/gcc/language-standards-supported-by-gcc/c-language.rst: New file.
2090 * doc/gcc/language-standards-supported-by-gcc/d-language.rst: New file.
2091 * doc/gcc/language-standards-supported-by-gcc/go-language.rst: New file.
2092 * doc/gcc/language-standards-supported-by-gcc/objective-c-and-objective-c++-languages.rst:
2093 New file.
2094 * doc/gcc/language-standards-supported-by-gcc/references-for-other-languages.rst: New file.
2095 * doc/gcc/lto-dump.rst: New file.
2096 * doc/gcc/programming-languages-supported-by-gcc.rst: New file.
2097 * doc/gcc/reporting-bugs.rst: New file.
2098 * doc/gccint/analysis-and-optimization-of-gimple-tuples.rst: New file.
2099 * doc/gccint/analysis-and-optimization-of-gimple-tuples/alias-analysis.rst: New file.
2100 * doc/gccint/analysis-and-optimization-of-gimple-tuples/annotations.rst: New file.
2101 * doc/gccint/analysis-and-optimization-of-gimple-tuples/memory-model.rst: New file.
2102 * doc/gccint/analysis-and-optimization-of-gimple-tuples/ssa-operands.rst: New file.
2103 * doc/gccint/analysis-and-optimization-of-gimple-tuples/static-single-assignment.rst:
2104 New file.
2105 * doc/gccint/analysis-and-representation-of-loops.rst: New file.
2106 * doc/gccint/analysis-and-representation-of-loops/data-dependency-analysis.rst: New file.
2107 * doc/gccint/analysis-and-representation-of-loops/iv-analysis-on-rtl.rst: New file.
2108 * doc/gccint/analysis-and-representation-of-loops/loop-closed-ssa-form.rst: New file.
2109 * doc/gccint/analysis-and-representation-of-loops/loop-manipulation.rst: New file.
2110 * doc/gccint/analysis-and-representation-of-loops/loop-querying.rst: New file.
2111 * doc/gccint/analysis-and-representation-of-loops/loop-representation.rst: New file.
2112 * doc/gccint/analysis-and-representation-of-loops/number-of-iterations-analysis.rst:
2113 New file.
2114 * doc/gccint/analysis-and-representation-of-loops/scalar-evolutions.rst: New file.
2115 * doc/gccint/analyzer-internals.rst: New file.
2116 * doc/gccint/collect2.rst: New file.
2117 * doc/gccint/conf.py: New file.
2118 * doc/gccint/contributing-to-gcc-development.rst: New file.
2119 * doc/gccint/contributors-to-gcc.rst: New file.
2120 * doc/gccint/control-flow-graph.rst: New file.
2121 * doc/gccint/control-flow-graph/basic-blocks.rst: New file.
2122 * doc/gccint/control-flow-graph/edges.rst: New file.
2123 * doc/gccint/control-flow-graph/liveness-information.rst: New file.
2124 * doc/gccint/control-flow-graph/maintaining-the-cfg.rst: New file.
2125 * doc/gccint/control-flow-graph/profile-information.rst: New file.
2126 * doc/gccint/copyright.rst: New file.
2127 * doc/gccint/debugging-the-analyzer.rst: New file.
2128 * doc/gccint/funding.rst: New file.
2129 * doc/gccint/gcc-and-portability.rst: New file.
2130 * doc/gccint/general-public-license-3.rst: New file.
2131 * doc/gccint/generic.rst: New file.
2132 * doc/gccint/generic/attributes-in-trees.rst: New file.
2133 * doc/gccint/generic/c-and-c++-trees.rst: New file.
2134 * doc/gccint/generic/declarations.rst: New file.
2135 * doc/gccint/generic/deficiencies.rst: New file.
2136 * doc/gccint/generic/expressions.rst: New file.
2137 * doc/gccint/generic/functions.rst: New file.
2138 * doc/gccint/generic/language-dependent-trees.rst: New file.
2139 * doc/gccint/generic/overview.rst: New file.
2140 * doc/gccint/generic/statements.rst: New file.
2141 * doc/gccint/generic/types.rst: New file.
2142 * doc/gccint/gimple-api.rst: New file.
2143 * doc/gccint/gimple.rst: New file.
2144 * doc/gccint/gimple/adding-a-new-gimple-statement-code.rst: New file.
2145 * doc/gccint/gimple/class-hierarchy-of-gimple-statements.rst: New file.
2146 * doc/gccint/gimple/exception-handling.rst: New file.
2147 * doc/gccint/gimple/gimple-instruction-set.rst: New file.
2148 * doc/gccint/gimple/gimple-sequences.rst: New file.
2149 * doc/gccint/gimple/manipulating-gimple-statements.rst: New file.
2150 * doc/gccint/gimple/operands.rst: New file.
2151 * doc/gccint/gimple/sequence-iterators.rst: New file.
2152 * doc/gccint/gimple/statement-and-operand-traversals.rst: New file.
2153 * doc/gccint/gimple/temporaries.rst: New file.
2154 * doc/gccint/gimple/tuple-representation.rst: New file.
2155 * doc/gccint/gimple/tuple-specific-accessors.rst: New file.
2156 * doc/gccint/gimple/tuple-specific-accessors/gimpleasm.rst: New file.
2157 * doc/gccint/gimple/tuple-specific-accessors/gimpleassign.rst: New file.
2158 * doc/gccint/gimple/tuple-specific-accessors/gimplebind.rst: New file.
2159 * doc/gccint/gimple/tuple-specific-accessors/gimplecall.rst: New file.
2160 * doc/gccint/gimple/tuple-specific-accessors/gimplecatch.rst: New file.
2161 * doc/gccint/gimple/tuple-specific-accessors/gimplecond.rst: New file.
2162 * doc/gccint/gimple/tuple-specific-accessors/gimpledebug.rst: New file.
2163 * doc/gccint/gimple/tuple-specific-accessors/gimpleehfilter.rst: New file.
2164 * doc/gccint/gimple/tuple-specific-accessors/gimplegoto.rst: New file.
2165 * doc/gccint/gimple/tuple-specific-accessors/gimplelabel.rst: New file.
2166 * doc/gccint/gimple/tuple-specific-accessors/gimplenop.rst: New file.
2167 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicload.rst: New file.
2168 * doc/gccint/gimple/tuple-specific-accessors/gimpleompatomicstore.rst: New file.
2169 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcontinue.rst: New file.
2170 * doc/gccint/gimple/tuple-specific-accessors/gimpleompcritical.rst: New file.
2171 * doc/gccint/gimple/tuple-specific-accessors/gimpleompfor.rst: New file.
2172 * doc/gccint/gimple/tuple-specific-accessors/gimpleompmaster.rst: New file.
2173 * doc/gccint/gimple/tuple-specific-accessors/gimpleompordered.rst: New file.
2174 * doc/gccint/gimple/tuple-specific-accessors/gimpleompparallel.rst: New file.
2175 * doc/gccint/gimple/tuple-specific-accessors/gimpleompreturn.rst: New file.
2176 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsection.rst: New file.
2177 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsections.rst: New file.
2178 * doc/gccint/gimple/tuple-specific-accessors/gimpleompsingle.rst: New file.
2179 * doc/gccint/gimple/tuple-specific-accessors/gimplephi.rst: New file.
2180 * doc/gccint/gimple/tuple-specific-accessors/gimpleresx.rst: New file.
2181 * doc/gccint/gimple/tuple-specific-accessors/gimplereturn.rst: New file.
2182 * doc/gccint/gimple/tuple-specific-accessors/gimpleswitch.rst: New file.
2183 * doc/gccint/gimple/tuple-specific-accessors/gimpletry.rst: New file.
2184 * doc/gccint/gimple/tuple-specific-accessors/gimplewithcleanupexpr.rst: New file.
2185 * doc/gccint/gnu-free-documentation-license.rst: New file.
2186 * doc/gccint/guidelines-for-diagnostics.rst: New file.
2187 * doc/gccint/guidelines-for-options.rst: New file.
2188 * doc/gccint/host-common.rst: New file.
2189 * doc/gccint/host-configuration.rst: New file.
2190 * doc/gccint/host-filesystem.rst: New file.
2191 * doc/gccint/host-makefile-fragments.rst: New file.
2192 * doc/gccint/host-misc.rst: New file.
2193 * doc/gccint/index.rst: New file.
2194 * doc/gccint/indices-and-tables.rst: New file.
2195 * doc/gccint/interfacing-to-gcc-output.rst: New file.
2196 * doc/gccint/introduction.rst: New file.
2197 * doc/gccint/language-front-ends-in-gcc.rst: New file.
2198 * doc/gccint/link-time-optimization.rst: New file.
2199 * doc/gccint/link-time-optimization/design-overview.rst: New file.
2200 * doc/gccint/link-time-optimization/internal-flags-controlling-lto1.rst: New file.
2201 * doc/gccint/link-time-optimization/lto-file-sections.rst: New file.
2202 * doc/gccint/link-time-optimization/using-summary-information-in-ipa-passes.rst: New file.
2203 * doc/gccint/link-time-optimization/whole-program-assumptions-linker-plugin-and-symbol-visibilities.rst:
2204 New file.
2205 * doc/gccint/machine-descriptions.rst: New file.
2206 * doc/gccint/machine-descriptions/c-statements-for-assembler-output.rst: New file.
2207 * doc/gccint/machine-descriptions/canonicalization-of-instructions.rst: New file.
2208 * doc/gccint/machine-descriptions/conditional-execution.rst: New file.
2209 * doc/gccint/machine-descriptions/constant-definitions.rst: New file.
2210 * doc/gccint/machine-descriptions/defining-how-to-split-instructions.rst: New file.
2211 * doc/gccint/machine-descriptions/defining-jump-instruction-patterns.rst: New file.
2212 * doc/gccint/machine-descriptions/defining-looping-instruction-patterns.rst: New file.
2213 * doc/gccint/machine-descriptions/defining-rtl-sequences-for-code-generation.rst: New file.
2214 * doc/gccint/machine-descriptions/everything-about-instruction-patterns.rst: New file.
2215 * doc/gccint/machine-descriptions/example-of-defineinsn.rst: New file.
2216 * doc/gccint/machine-descriptions/including-patterns-in-machine-descriptions.rst: New file.
2217 * doc/gccint/machine-descriptions/instruction-attributes.rst: New file.
2218 * doc/gccint/machine-descriptions/interdependence-of-patterns.rst: New file.
2219 * doc/gccint/machine-descriptions/iterators.rst: New file.
2220 * doc/gccint/machine-descriptions/machine-specific-peephole-optimizers.rst: New file.
2221 * doc/gccint/machine-descriptions/operand-constraints.rst: New file.
2222 * doc/gccint/machine-descriptions/output-templates-and-operand-substitution.rst: New file.
2223 * doc/gccint/machine-descriptions/overview-of-how-the-machine-description-is-used.rst:
2224 New file.
2225 * doc/gccint/machine-descriptions/predicates.rst: New file.
2226 * doc/gccint/machine-descriptions/rtl-template.rst: New file.
2227 * doc/gccint/machine-descriptions/rtl-templates-transformations.rst: New file.
2228 * doc/gccint/machine-descriptions/standard-pattern-names-for-generation.rst: New file.
2229 * doc/gccint/machine-descriptions/when-the-order-of-patterns-matters.rst: New file.
2230 * doc/gccint/makefile-fragments.rst: New file.
2231 * doc/gccint/match-and-simplify.rst: New file.
2232 * doc/gccint/memory-management-and-type-information.rst: New file.
2233 * doc/gccint/memory-management-and-type-information/how-to-invoke-the-garbage-collector.rst:
2234 New file.
2235 * doc/gccint/memory-management-and-type-information/marking-roots-for-the-garbage-collector.rst:
2236 New file.
2237 * doc/gccint/memory-management-and-type-information/source-files-containing-type-information.rst:
2238 New file.
2239 * doc/gccint/memory-management-and-type-information/support-for-inheritance.rst: New file.
2240 * doc/gccint/memory-management-and-type-information/support-for-user-provided-gc-marking-routines.rst:
2241 New file.
2242 * doc/gccint/memory-management-and-type-information/the-inside-of-a-gty.rst: New file.
2243 * doc/gccint/memory-management-and-type-information/troubleshooting-the-garbage-collector.rst:
2244 New file.
2245 * doc/gccint/option-file-format.rst: New file.
2246 * doc/gccint/option-properties.rst: New file.
2247 * doc/gccint/option-specification-files.rst: New file.
2248 * doc/gccint/passes-and-files-of-the-compiler.rst: New file.
2249 * doc/gccint/passes-and-files-of-the-compiler/gimplification-pass.rst: New file.
2250 * doc/gccint/passes-and-files-of-the-compiler/inter-procedural-optimization-passes.rst:
2251 New file.
2252 * doc/gccint/passes-and-files-of-the-compiler/optimization-info.rst: New file.
2253 * doc/gccint/passes-and-files-of-the-compiler/parsing-pass.rst: New file.
2254 * doc/gccint/passes-and-files-of-the-compiler/pass-manager.rst: New file.
2255 * doc/gccint/passes-and-files-of-the-compiler/rtl-passes.rst: New file.
2256 * doc/gccint/passes-and-files-of-the-compiler/tree-ssa-passes.rst: New file.
2257 * doc/gccint/plugins.rst: New file.
2258 * doc/gccint/plugins/building-gcc-plugins.rst: New file.
2259 * doc/gccint/plugins/controlling-which-passes-are-being-run.rst: New file.
2260 * doc/gccint/plugins/giving-information-about-a-plugin.rst: New file.
2261 * doc/gccint/plugins/interacting-with-the-gcc-garbage-collector.rst: New file.
2262 * doc/gccint/plugins/interacting-with-the-pass-manager.rst: New file.
2263 * doc/gccint/plugins/keeping-track-of-available-passes.rst: New file.
2264 * doc/gccint/plugins/loading-plugins.rst: New file.
2265 * doc/gccint/plugins/plugin-api.rst: New file.
2266 * doc/gccint/plugins/recording-information-about-pass-execution.rst: New file.
2267 * doc/gccint/plugins/registering-custom-attributes-or-pragmas.rst: New file.
2268 * doc/gccint/rtl-representation.rst: New file.
2269 * doc/gccint/rtl-representation/access-to-operands.rst: New file.
2270 * doc/gccint/rtl-representation/access-to-special-operands.rst: New file.
2271 * doc/gccint/rtl-representation/assembler-instructions-as-expressions.rst: New file.
2272 * doc/gccint/rtl-representation/bit-fields.rst: New file.
2273 * doc/gccint/rtl-representation/comparison-operations.rst: New file.
2274 * doc/gccint/rtl-representation/constant-expression-types.rst: New file.
2275 * doc/gccint/rtl-representation/conversions.rst: New file.
2276 * doc/gccint/rtl-representation/declarations.rst: New file.
2277 * doc/gccint/rtl-representation/embedded-side-effects-on-addresses.rst: New file.
2278 * doc/gccint/rtl-representation/flags-in-an-rtl-expression.rst: New file.
2279 * doc/gccint/rtl-representation/insns.rst: New file.
2280 * doc/gccint/rtl-representation/machine-modes.rst: New file.
2281 * doc/gccint/rtl-representation/on-the-side-ssa-form-for-rtl.rst: New file.
2282 * doc/gccint/rtl-representation/reading-rtl.rst: New file.
2283 * doc/gccint/rtl-representation/registers-and-memory.rst: New file.
2284 * doc/gccint/rtl-representation/rtl-classes-and-formats.rst: New file.
2285 * doc/gccint/rtl-representation/rtl-expressions-for-arithmetic.rst: New file.
2286 * doc/gccint/rtl-representation/rtl-object-types.rst: New file.
2287 * doc/gccint/rtl-representation/rtl-representation-of-function-call-insns.rst: New file.
2288 * doc/gccint/rtl-representation/side-effect-expressions.rst: New file.
2289 * doc/gccint/rtl-representation/structure-sharing-assumptions.rst: New file.
2290 * doc/gccint/rtl-representation/variable-location-debug-information-in-rtl.rst: New file.
2291 * doc/gccint/rtl-representation/vector-operations.rst: New file.
2292 * doc/gccint/sizes-and-offsets-as-runtime-invariants.rst: New file.
2293 * doc/gccint/sizes-and-offsets-as-runtime-invariants/alignment-of-polyints.rst: New file.
2294 * doc/gccint/sizes-and-offsets-as-runtime-invariants/arithmetic-on-polyints.rst: New file.
2295 * doc/gccint/sizes-and-offsets-as-runtime-invariants/comparisons-involving-polyint.rst:
2296 New file.
2297 * doc/gccint/sizes-and-offsets-as-runtime-invariants/computing-bounds-on-polyints.rst:
2298 New file.
2299 * doc/gccint/sizes-and-offsets-as-runtime-invariants/consequences-of-using-polyint.rst:
2300 New file.
2301 * doc/gccint/sizes-and-offsets-as-runtime-invariants/converting-polyints.rst: New file.
2302 * doc/gccint/sizes-and-offsets-as-runtime-invariants/guidelines-for-using-polyint.rst:
2303 New file.
2304 * doc/gccint/sizes-and-offsets-as-runtime-invariants/miscellaneous-polyint-routines.rst:
2305 New file.
2306 * doc/gccint/sizes-and-offsets-as-runtime-invariants/overview-of-polyint.rst: New file.
2307 * doc/gccint/source-tree-structure-and-build-system.rst: New file.
2308 * doc/gccint/source-tree-structure-and-build-system/configure-terms-and-history.rst:
2309 New file.
2310 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory.rst: New file.
2311 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-language-front-end.rst:
2312 New file.
2313 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/anatomy-of-a-target-back-end.rst:
2314 New file.
2315 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/build-system-in-the-gcc-directory.rst:
2316 New file.
2317 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/building-documentation.rst:
2318 New file.
2319 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/configuration-in-the-gcc-directory.rst:
2320 New file.
2321 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/headers-installed-by-gcc.rst:
2322 New file.
2323 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/library-source-files-and-headers-under-the-gcc-directory.rst:
2324 New file.
2325 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/makefile-targets.rst:
2326 New file.
2327 * doc/gccint/source-tree-structure-and-build-system/the-gcc-subdirectory/subdirectories-of-gcc.rst:
2328 New file.
2329 * doc/gccint/source-tree-structure-and-build-system/top-level-source-directory.rst:
2330 New file.
2331 * doc/gccint/standard-header-file-directories.rst: New file.
2332 * doc/gccint/static-analyzer.rst: New file.
2333 * doc/gccint/target-macros.rst: New file.
2334 * doc/gccint/target-macros/adding-support-for-named-address-spaces.rst: New file.
2335 * doc/gccint/target-macros/addressing-modes.rst: New file.
2336 * doc/gccint/target-macros/adjusting-the-instruction-scheduler.rst: New file.
2337 * doc/gccint/target-macros/anchored-addresses.rst: New file.
2338 * doc/gccint/target-macros/c++-abi-parameters.rst: New file.
2339 * doc/gccint/target-macros/condition-code-status.rst: New file.
2340 * doc/gccint/target-macros/controlling-debugging-information-format.rst: New file.
2341 * doc/gccint/target-macros/controlling-the-compilation-driver-gcc.rst: New file.
2342 * doc/gccint/target-macros/cross-compilation-and-floating-point.rst: New file.
2343 * doc/gccint/target-macros/d-abi-parameters.rst: New file.
2344 * doc/gccint/target-macros/defining-coprocessor-specifics-for-mips-targets.rst: New file.
2345 * doc/gccint/target-macros/defining-data-structures-for-per-function-information.rst:
2346 New file.
2347 * doc/gccint/target-macros/defining-target-specific-uses-of-attribute.rst: New file.
2348 * doc/gccint/target-macros/defining-the-output-assembler-language.rst: New file.
2349 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-alignment.rst:
2350 New file.
2351 * doc/gccint/target-macros/defining-the-output-assembler-language/assembler-commands-for-exception-regions.rst:
2352 New file.
2353 * doc/gccint/target-macros/defining-the-output-assembler-language/how-initialization-functions-are-handled.rst:
2354 New file.
2355 * doc/gccint/target-macros/defining-the-output-assembler-language/macros-controlling-initialization-routines.rst:
2356 New file.
2357 * doc/gccint/target-macros/defining-the-output-assembler-language/output-and-generation-of-labels.rst:
2358 New file.
2359 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-assembler-instructions.rst:
2360 New file.
2361 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-data.rst:
2362 New file.
2363 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-dispatch-tables.rst:
2364 New file.
2365 * doc/gccint/target-macros/defining-the-output-assembler-language/output-of-uninitialized-variables.rst:
2366 New file.
2367 * doc/gccint/target-macros/defining-the-output-assembler-language/the-overall-framework-of-an-assembler-file.rst:
2368 New file.
2369 * doc/gccint/target-macros/describing-relative-costs-of-operations.rst: New file.
2370 * doc/gccint/target-macros/dividing-the-output-into-sections-texts-data.rst: New file.
2371 * doc/gccint/target-macros/emulating-tls.rst: New file.
2372 * doc/gccint/target-macros/implementing-the-varargs-macros.rst: New file.
2373 * doc/gccint/target-macros/implicit-calls-to-library-routines.rst: New file.
2374 * doc/gccint/target-macros/layout-of-source-language-data-types.rst: New file.
2375 * doc/gccint/target-macros/miscellaneous-parameters.rst: New file.
2376 * doc/gccint/target-macros/mode-switching-instructions.rst: New file.
2377 * doc/gccint/target-macros/parameters-for-precompiled-header-validity-checking.rst:
2378 New file.
2379 * doc/gccint/target-macros/position-independent-code.rst: New file.
2380 * doc/gccint/target-macros/register-classes.rst: New file.
2381 * doc/gccint/target-macros/register-usage.rst: New file.
2382 * doc/gccint/target-macros/run-time-target-specification.rst: New file.
2383 * doc/gccint/target-macros/stack-layout-and-calling-conventions.rst: New file.
2384 * doc/gccint/target-macros/stack-layout-and-calling-conventions/basic-stack-layout.rst:
2385 New file.
2386 * doc/gccint/target-macros/stack-layout-and-calling-conventions/caller-saves-register-allocation.rst:
2387 New file.
2388 * doc/gccint/target-macros/stack-layout-and-calling-conventions/eliminating-frame-pointer-and-arg-pointer.rst:
2389 New file.
2390 * doc/gccint/target-macros/stack-layout-and-calling-conventions/exception-handling-support.rst:
2391 New file.
2392 * doc/gccint/target-macros/stack-layout-and-calling-conventions/function-entry-and-exit.rst:
2393 New file.
2394 * doc/gccint/target-macros/stack-layout-and-calling-conventions/generating-code-for-profiling.rst:
2395 New file.
2396 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-large-values-are-returned.rst:
2397 New file.
2398 * doc/gccint/target-macros/stack-layout-and-calling-conventions/how-scalar-function-values-are-returned.rst:
2399 New file.
2400 * doc/gccint/target-macros/stack-layout-and-calling-conventions/miscellaneous-register-hooks.rst:
2401 New file.
2402 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-arguments-in-registers.rst:
2403 New file.
2404 * doc/gccint/target-macros/stack-layout-and-calling-conventions/passing-function-arguments-on-the-stack.rst:
2405 New file.
2406 * doc/gccint/target-macros/stack-layout-and-calling-conventions/permitting-tail-calls.rst:
2407 New file.
2408 * doc/gccint/target-macros/stack-layout-and-calling-conventions/registers-that-address-the-stack-frame.rst:
2409 New file.
2410 * doc/gccint/target-macros/stack-layout-and-calling-conventions/shrink-wrapping-separate-components.rst:
2411 New file.
2412 * doc/gccint/target-macros/stack-layout-and-calling-conventions/specifying-how-stack-checking-is-done.rst:
2413 New file.
2414 * doc/gccint/target-macros/stack-layout-and-calling-conventions/stack-smashing-protection.rst:
2415 New file.
2416 * doc/gccint/target-macros/storage-layout.rst: New file.
2417 * doc/gccint/target-macros/support-for-nested-functions.rst: New file.
2418 * doc/gccint/target-macros/the-global-targetm-variable.rst: New file.
2419 * doc/gccint/target-makefile-fragments.rst: New file.
2420 * doc/gccint/testsuites.rst: New test.
2421 * doc/gccint/testsuites/ada-language-testsuites.rst: New test.
2422 * doc/gccint/testsuites/c-language-testsuites.rst: New test.
2423 * doc/gccint/testsuites/directives-used-within-dejagnu-tests.rst: New test.
2424 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/commands-for-use-in-dg-final.rst:
2425 New test.
2426 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/features-for-dg-add-options.rst:
2427 New test.
2428 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/keywords-describing-target-attributes.rst:
2429 New test.
2430 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/selecting-targets-to-which-a-test-applies.rst:
2431 New test.
2432 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/syntax-and-descriptions-of-test-directives.rst:
2433 New test.
2434 * doc/gccint/testsuites/directives-used-within-dejagnu-tests/variants-of-dg-require-support.rst:
2435 New test.
2436 * doc/gccint/testsuites/idioms-used-in-testsuite-code.rst: New test.
2437 * doc/gccint/testsuites/support-for-testing-binary-compatibility.rst: New test.
2438 * doc/gccint/testsuites/support-for-testing-gcov.rst: New test.
2439 * doc/gccint/testsuites/support-for-testing-gimple-passes.rst: New test.
2440 * doc/gccint/testsuites/support-for-testing-link-time-optimizations.rst: New test.
2441 * doc/gccint/testsuites/support-for-testing-profile-directed-optimizations.rst: New test.
2442 * doc/gccint/testsuites/support-for-testing-rtl-passes.rst: New test.
2443 * doc/gccint/testsuites/support-for-torture-testing-using-multiple-options.rst: New test.
2444 * doc/gccint/the-gcc-low-level-runtime-library.rst: New file.
2445 * doc/gccint/the-gcc-low-level-runtime-library/language-independent-routines-for-exception-handling.rst:
2446 New file.
2447 * doc/gccint/the-gcc-low-level-runtime-library/miscellaneous-runtime-library-routines.rst:
2448 New file.
2449 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-decimal-floating-point-emulation.rst:
2450 New file.
2451 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-fixed-point-fractional-emulation.rst:
2452 New file.
2453 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-floating-point-emulation.rst:
2454 New file.
2455 * doc/gccint/the-gcc-low-level-runtime-library/routines-for-integer-arithmetic.rst:
2456 New file.
2457 * doc/gccint/the-language.rst: New file.
2458 * doc/gccint/user-experience-guidelines.rst: New file.
2459 * doc/install/binaries.rst: New file.
2460 * doc/install/building.rst: New file.
2461 * doc/install/building/building-a-cross-compiler.rst: New file.
2462 * doc/install/building/building-a-native-compiler.rst: New file.
2463 * doc/install/building/building-in-parallel.rst: New file.
2464 * doc/install/building/building-the-ada-compiler.rst: New file.
2465 * doc/install/building/building-the-d-compiler.rst: New file.
2466 * doc/install/building/building-with-profile-feedback.rst: New file.
2467 * doc/install/conf.py: New file.
2468 * doc/install/configuration.rst: New file.
2469 * doc/install/copyright.rst: New file.
2470 * doc/install/downloading-gcc.rst: New file.
2471 * doc/install/final-installation.rst: New file.
2472 * doc/install/gnu-free-documentation-license.rst: New file.
2473 * doc/install/host-target-specific-installation-notes-for-gcc.rst: New file.
2474 * doc/install/how-can-you-run-the-testsuite-on-selected-tests.rst: New test.
2475 * doc/install/how-to-interpret-test-results.rst: New file.
2476 * doc/install/index.rst: New file.
2477 * doc/install/indices-and-tables.rst: New file.
2478 * doc/install/installing-gcc.rst: New file.
2479 * doc/install/passing-options-and-running-multiple-testsuites.rst: New test.
2480 * doc/install/prerequisites.rst: New file.
2481 * doc/install/submitting-test-results.rst: New file.
2482 * doc/install/testing.rst: New file.
2483
2484 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2485
2486 * range-op-float.cc (class foperator_minus): New.
2487 (floating_op_table::floating_op_table): Add MINUS_EXPR entry.
2488
2489 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2490
2491 * range-op-float.cc (range_operator_float::fold_range): Abstract
2492 out from foperator_plus.
2493 (range_operator_float::rv_fold): New.
2494 (foperator_plus::fold_range): Remove.
2495 (foperator_plus::rv_fold): New.
2496 (propagate_nans): Remove.
2497 * range-op.h (class range_operator_float): Add rv_fold.
2498
2499 2022-11-09 Aldy Hernandez <aldyh@redhat.com>
2500
2501 * range-op-float.cc (foperator_plus::fold_range): Set NAN for
2502 addition of different signed infinities.
2503 (range_op_float_tests): New test.
2504
2505 2022-11-09 liuhongt <hongtao.liu@intel.com>
2506
2507 PR target/107540
2508 * config/i386/sse.md (avx512f_movddup512<mask_name>): Change
2509 type from sselog to sselog1.
2510 (avx_movddup256<mask_name>): Ditto.
2511
2512 2022-11-08 David Faust <david.faust@oracle.com>
2513
2514 * config/bpf/bpf.cc (struct core_walk_data): Add field `which'...
2515 (bpf_resolve_overloaded_builtin): ... set it here. Use values of enum
2516 bpf_builtins for error checks.
2517 (bpf_core_walk): Use values of enum bpf_builtins.
2518 (bpf_core_newdecl): Likewise.
2519 (bpf_expand_builtin): Likewise.
2520
2521 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2522
2523 PR tree-optimization/24021
2524 * range-op-float.cc (propagate_nans): New.
2525 (frange_nextafter): New.
2526 (frange_arithmetic): New.
2527 (class foperator_plus): New.
2528 (floating_op_table::floating_op_table): Add PLUS_EXPR entry.
2529
2530 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2531
2532 * real.cc (real_isdenormal): New.
2533 (encode_ieee_single): Call real_isdenormal.
2534 (encode_ieee_double): Same.
2535 (encode_ieee_extended): Same.
2536 (encode_ieee_quad): Same.
2537 (encode_ieee_half): Same.
2538 (encode_arm_bfloat_half): Same.
2539 * real.h (real_isdenormal): Add mode argument. Rewrite for
2540 normalized values.
2541 * value-range.cc (frange::flush_denormals_to_zero): Pass mode to
2542 real_isdenormal.
2543
2544 2022-11-08 Richard Biener <rguenther@suse.de>
2545
2546 PR tree-optimization/107389
2547 * gimple-low.cc (lower_builtin_assume_aligned): New.
2548 (lower_stmt): Call it.
2549
2550 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2551
2552 * range-op.cc (operator_div::fold_range): Call
2553 update_known_bitmask.
2554 * tree-ssa-ccp.cc (bit_value_binop): Handle divisions by powers of
2555 2 as a right shift.
2556
2557 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
2558
2559 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand first argument
2560 of GCN_BUILTIN_LDEXPV to V64DFmode.
2561
2562 2022-11-08 Kwok Cheung Yeung <kcy@codesourcery.com>
2563
2564 * config/gcn/gcn-builtins.def (FABSV, FLOORVF, FLOORV): New builtins.
2565 * config/gcn/gcn.cc (gcn_expand_builtin_1): Expand GCN_BUILTIN_FABSV,
2566 GCN_BUILTIN_FLOORVF and GCN_BUILTIN_FLOORV.
2567
2568 2022-11-08 Aldy Hernandez <aldyh@redhat.com>
2569
2570 * range-op.cc (irange_to_masked_value): New.
2571 (update_known_bitmask): New.
2572 (operator_mult::fold_range): Call update_known_bitmask.
2573
2574 2022-11-08 Jakub Jelinek <jakub@redhat.com>
2575
2576 PR tree-optimization/107547
2577 * tree-call-cdce.cc (get_no_error_domain): Handle CASE_FLT_FN_FLOATN_NX
2578 of BUILT_IN_{ACOS,ASIN,ACOSH,ATANH,LOG,LOG2,LOG10,LOG1P}. Handle
2579 BUILT_IN_{COSH,SINH,EXP,EXPM1,EXP2}F{16,32,64,128}.
2580
2581 2022-11-08 Jakub Jelinek <jakub@redhat.com>
2582
2583 PR target/107546
2584 * config/i386/predicates.md (vector_or_const_vector_operand): New
2585 predicate.
2586 * config/i386/sse.md (vec_cmp<mode><sseintvecmodelower>,
2587 vec_cmpv2div2di, vec_cmpu<mode><sseintvecmodelower>,
2588 vec_cmpuv2div2di): Use nonimmediate_or_const_vector_operand
2589 predicate instead of nonimmediate_operand and
2590 vector_or_const_vector_operand instead of vector_operand.
2591 * config/i386/i386-expand.cc (ix86_expand_int_sse_cmp): For
2592 LE/LEU or GE/GEU with CONST_VECTOR cop1 try to transform those
2593 into LE/LEU or GT/GTU with larger or smaller by one cop1 if
2594 there is no wrap-around. Force CONST_VECTOR cop0 or cop1 into
2595 REG. Formatting fix.
2596
2597 2022-11-08 Max Filippov <jcmvbkbc@gmail.com>
2598
2599 PR rtl-optimization/107482
2600 * ira-color.cc (assign_hard_reg): Only call
2601 update_costs_from_copies when retry_p is false.
2602
2603 2022-11-08 konglin1 <lingling.kong@intel.com>
2604
2605 Revert:
2606 2022-11-07 konglin1 <lingling.kong@intel.com>
2607
2608 * config/i386/i386.opt:Add -mprefer-remote-atomic.
2609 * config/i386/sync.md (atomic_<plus_logic><mode>):
2610 New define_expand.
2611 (atomic_add<mode>): Rename to below one.
2612 (atomic_add<mode>_1): To this.
2613 (atomic_<logic><mode>): Ditto.
2614 (atomic_<logic><mode>_1): Ditto.
2615 * doc/invoke.texi: Add -mprefer-remote-atomic.
2616
2617 2022-11-08 Haochen Jiang <haochen.jiang@intel.com>
2618
2619 * config/i386/i386-options.cc (m_CORE_ATOM): New.
2620 * config/i386/x86-tune.def
2621 (X86_TUNE_SCHEDULE): Initial tune for CORE_ATOM.
2622 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
2623 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
2624 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
2625 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
2626 (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): Ditto.
2627 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
2628 (X86_TUNE_USE_LEAVE): Ditto.
2629 (X86_TUNE_PUSH_MEMORY): Ditto.
2630 (X86_TUNE_USE_INCDEC): Ditto.
2631 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
2632 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
2633 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
2634 (X86_TUNE_USE_SAHF): Ditto.
2635 (X86_TUNE_USE_BT): Ditto.
2636 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
2637 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
2638 (X86_TUNE_AVOID_MFENCE): Ditto.
2639 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
2640 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
2641 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
2642 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
2643 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
2644 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
2645 (X86_TUNE_AVOID_4BYTE_PREFIXES): Ditto.
2646 (X86_TUNE_USE_GATHER_2PARTS): Ditto.
2647 (X86_TUNE_USE_GATHER_4PARTS): Ditto.
2648 (X86_TUNE_USE_GATHER): Ditto.
2649
2650 2022-11-08 Andrew MacLeod <amacleod@redhat.com>
2651
2652 PR tree-optimization/104530
2653 * gimple-range-cache.cc (ranger_cache::register_inferred_value):
2654 New. Split from:
2655 (ranger_cache::apply_inferred_ranges): Move setting cache to
2656 separate function.
2657 * gimple-range-cache.h (register_inferred_value): New prototype.
2658 * gimple-range-infer.cc (infer_range_manager::has_range_p): New.
2659 * gimple-range-infer.h (has_range_p): New prototype.
2660 * gimple-range.cc (register_transitive_inferred_ranges): New.
2661 * gimple-range.h (register_transitive_inferred_ranges): New proto.
2662 * tree-vrp.cc (rvrp_folder::fold_stmt): Check for transitive inferred
2663 ranges at the end of the block before folding final stmt.
2664
2665 2022-11-07 David Faust <david.faust@oracle.com>
2666
2667 * config/bpf/bpf.cc (handle_attr_preserve): Use maybe_make_core_relo().
2668
2669 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
2670
2671 PR tree-optimization/55157
2672 * range-op.cc (operator_mult::wi_fold): Optimize multiplications
2673 by powers of 2.
2674
2675 2022-11-07 H.J. Lu <hjl.tools@gmail.com>
2676
2677 PR middle-end/102566
2678 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and): Also handle
2679 if (_5 < 0) and if (_5 >= 0).
2680
2681 2022-11-07 Richard Purdie <richard.purdie@linuxfoundation.org>
2682
2683 * file-prefix-map.cc (remap_filename): Handle NULL filenames.
2684
2685 2022-11-07 Alexander Monakov <amonakov@ispras.ru>
2686
2687 PR tree-optimization/107505
2688 * tree-ssa-sink.cc (statement_sink_location): Additionally
2689 reject ECF_RETURNS_TWICE calls.
2690
2691 2022-11-07 Aldy Hernandez <aldyh@redhat.com>
2692
2693 PR tree-optimization/107541
2694 * range-op.cc (operator_div::fold_range): Restrict power of 2
2695 optimization to positive numbers.
2696
2697 2022-11-07 Richard Biener <rguenther@suse.de>
2698
2699 * tree-ssa-loop-unswitch.cc (unswitch_predicate::count): New.
2700 (unswitch_predicate::unswitch_predicate): Initialize count.
2701 (init_loop_unswitch_info): First collect candidates and
2702 determine the outermost loop to unswitch.
2703 (tree_ssa_unswitch_loops): First perform all guard hoisting,
2704 then perform unswitching on innermost loop predicates.
2705 (find_unswitching_predicates_for_bb): Keep track of the
2706 most profitable predicate to unswitch on.
2707 (tree_unswitch_single_loop): Unswitch given predicate if
2708 not NULL.
2709
2710 2022-11-07 Martin Liska <mliska@suse.cz>
2711 Gerald Pfeifer <gerald@pfeifer.com>
2712
2713 * doc/invoke.texi: Improve wording.
2714
2715 2022-11-07 Martin Liska <mliska@suse.cz>
2716
2717 * range-op.cc: Add final override keywords.
2718
2719 2022-11-07 Kewen Lin <linkw@linux.ibm.com>
2720
2721 PR tree-optimization/107412
2722 * gimple-fold.cc (gimple_fold_mask_load_store_mem_ref): Rename to ...
2723 (gimple_fold_partial_load_store_mem_ref): ... this, add one parameter
2724 mask_p indicating it's for mask or length, and add some handlings for
2725 IFN LEN_{LOAD,STORE}.
2726 (gimple_fold_mask_load): Rename to ...
2727 (gimple_fold_partial_load): ... this, add one parameter mask_p.
2728 (gimple_fold_mask_store): Rename to ...
2729 (gimple_fold_partial_store): ... this, add one parameter mask_p.
2730 (gimple_fold_call): Add the handlings for IFN LEN_{LOAD,STORE},
2731 and adjust calls on gimple_fold_mask_load_store_mem_ref to
2732 gimple_fold_partial_load_store_mem_ref.
2733
2734 2022-11-07 Hu, Lin1 <lin1.hu@intel.com>
2735
2736 * common/config/i386/cpuinfo.h
2737 (get_intel_cpu): Handle Grand Ridge.
2738 * common/config/i386/i386-common.cc
2739 (processor_names): Add grandridge.
2740 (processor_alias_table): Ditto.
2741 * common/config/i386/i386-cpuinfo.h:
2742 (enum processor_types): Add INTEL_GRANDRIDGE.
2743 * config.gcc: Add -march=grandridge.
2744 * config/i386/driver-i386.cc (host_detect_local_cpu):
2745 Handle grandridge.
2746 * config/i386/i386-c.cc (ix86_target_macros_internal):
2747 Ditto.
2748 * config/i386/i386-options.cc (m_GRANDRIDGE): New define.
2749 (processor_cost_table): Add grandridge.
2750 * config/i386/i386.h (enum processor_type):
2751 Add PROCESSOR_GRANDRIDGE.
2752 (PTA_GRANDRIDGE): Ditto.
2753 * doc/extend.texi: Add grandridge.
2754 * doc/invoke.texi: Ditto.
2755
2756 2022-11-07 konglin1 <lingling.kong@intel.com>
2757
2758 * config/i386/i386.opt:Add -mprefer-remote-atomic.
2759 * config/i386/sync.md (atomic_<plus_logic><mode>):
2760 New define_expand.
2761 (atomic_add<mode>): Rename to below one.
2762 (atomic_add<mode>_1): To this.
2763 (atomic_<logic><mode>): Ditto.
2764 (atomic_<logic><mode>_1): Ditto.
2765 * doc/invoke.texi: Add -mprefer-remote-atomic.
2766
2767 2022-11-07 konglin1 <lingling.kong@intel.com>
2768
2769 * common/config/i386/cpuinfo.h (get_available_features):
2770 Detect raoint.
2771 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_RAOINT_SET,
2772 OPTION_MASK_ISA2_RAOINT_UNSET): New.
2773 (ix86_handle_option): Handle -mraoint.
2774 * common/config/i386/i386-cpuinfo.h (enum processor_features):
2775 Add FEATURE_RAOINT.
2776 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
2777 raoint.
2778 * config.gcc: Add raointintrin.h
2779 * config/i386/cpuid.h (bit_RAOINT): New.
2780 * config/i386/i386-builtin.def (BDESC): Add new builtins.
2781 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
2782 __RAOINT__.
2783 * config/i386/i386-isa.def (RAOINT): Add DEF_PTA(RAOINT).
2784 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
2785 Add -mraoint.
2786 * config/i386/sync.md (rao_a<raointop><mode>): New define insn.
2787 * config/i386/i386.opt: Add option -mraoint.
2788 * config/i386/x86gprintrin.h: Include raointintrin.h.
2789 * doc/extend.texi: Document raoint.
2790 * doc/invoke.texi: Document -mraoint.
2791 * doc/sourcebuild.texi: Document target raoint.
2792 * config/i386/raointintrin.h: New file.
2793
2794 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
2795
2796 * common/config/i386/cpuinfo.h
2797 (get_intel_cpu): Handle Granite Rapids.
2798 * common/config/i386/i386-common.cc:
2799 (processor_names): Add graniterapids.
2800 (processor_alias_table): Ditto.
2801 * common/config/i386/i386-cpuinfo.h
2802 (enum processor_subtypes): Add INTEL_GRANTIERAPIDS.
2803 * config.gcc: Add -march=graniterapids.
2804 * config/i386/driver-i386.cc (host_detect_local_cpu):
2805 Handle graniterapids.
2806 * config/i386/i386-c.cc (ix86_target_macros_internal):
2807 Ditto.
2808 * config/i386/i386-options.cc (m_GRANITERAPIDS): New.
2809 (processor_cost_table): Add graniterapids.
2810 * config/i386/i386.h (enum processor_type):
2811 Add PROCESSOR_GRANITERAPIDS.
2812 (PTA_GRANITERAPIDS): Ditto.
2813 * doc/extend.texi: Add graniterapids.
2814 * doc/invoke.texi: Ditto.
2815
2816 2022-11-07 Haochen Jiang <haochen.jiang@intel.com>
2817 Hongtao Liu <hongtao.liu@intel.com>
2818
2819 * common/config/i386/cpuinfo.h (get_available_features):
2820 Detect PREFETCHI.
2821 * common/config/i386/i386-common.cc
2822 (OPTION_MASK_ISA2_PREFETCHI_SET,
2823 OPTION_MASK_ISA2_PREFETCHI_UNSET): New.
2824 (ix86_handle_option): Handle -mprefetchi.
2825 * common/config/i386/i386-cpuinfo.h
2826 (enum processor_features): Add FEATURE_PREFETCHI.
2827 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY
2828 for prefetchi.
2829 * config.gcc: Add prfchiintrin.h.
2830 * config/i386/cpuid.h (bit_PREFETCHI): New.
2831 * config/i386/i386-builtin-types.def:
2832 Add DEF_FUNCTION_TYPE (VOID, PCVOID, INT)
2833 and DEF_FUNCTION_TYPE (VOID, PCVOID, INT, INT, INT).
2834 * config/i386/i386-builtin.def (BDESC): Add new builtins.
2835 * config/i386/i386-c.cc (ix86_target_macros_internal):
2836 Define __PREFETCHI__.
2837 * config/i386/i386-expand.cc: Handle new builtins.
2838 * config/i386/i386-isa.def (PREFETCHI):
2839 Add DEF_PTA(PREFETCHI).
2840 * config/i386/i386-options.cc
2841 (ix86_valid_target_attribute_inner_p): Handle prefetchi.
2842 * config/i386/i386.md (prefetchi): New define_insn.
2843 * config/i386/i386.opt: Add option -mprefetchi.
2844 * config/i386/predicates.md (local_func_symbolic_operand):
2845 New predicates.
2846 * config/i386/x86gprintrin.h: Include prfchiintrin.h.
2847 * config/i386/xmmintrin.h (enum _mm_hint): New enum for
2848 prefetchi.
2849 (_mm_prefetch): Handle the highest bit of enum.
2850 * doc/extend.texi: Document prefetchi.
2851 * doc/invoke.texi: Document -mprefetchi.
2852 * doc/sourcebuild.texi: Document target prefetchi.
2853 * config/i386/prfchiintrin.h: New file.
2854
2855 2022-11-06 Uroš Bizjak <ubizjak@gmail.com>
2856
2857 * optabs.cc (can_vec_set_var_idx_p): Use operand[2]
2858 mode when checking vec_set_optab.
2859
2860 2022-11-06 Xi Ruoyao <xry111@xry111.site>
2861
2862 * config/loongarch/loongarch.md (UNSPEC_FCOPYSIGN): New unspec.
2863 (type): Add fcopysign.
2864 (copysign<mode>3): New instruction template.
2865
2866 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2867
2868 * multiple_target.cc (expand_target_clones): Free memory.
2869
2870 2022-11-06 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
2871
2872 * cgraph.cc (cgraph_node::make_local): Remove redundant set_section.
2873 * multiple_target.cc (create_dispatcher_calls): Likewise.
2874
2875 2022-11-05 Jonathan Wakely <jwakely@redhat.com>
2876
2877 PR c/41041
2878 * doc/cppopts.texi: Document -fwide-exec-charset defaults
2879 correctly.
2880
2881 2022-11-05 Alexandre Oliva <oliva@adacore.com>
2882
2883 * common.opt (fmultiflags): New.
2884 * doc/invoke.texi: Document it.
2885 * gcc.cc (driver_self_specs): Discard it.
2886 * opts.cc (common_handle_option): Ignore it in the driver.
2887
2888 2022-11-04 Jeff Chapman II <jchapman@lock3software.com>
2889 Jason Merrill <jason@redhat.com>
2890
2891 * input.cc (get_source_text_between): New fn.
2892 * input.h (get_source_text_between): Declare.
2893
2894 2022-11-04 Aldy Hernandez <aldyh@redhat.com>
2895
2896 PR tree-optimization/107342
2897 * range-op.cc (operator_mult::fold_range): New.
2898 (operator_div::fold_range): New.
2899
2900 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
2901
2902 * fold-const.cc (operand_compare::operand_equal_p) <COMPONENT_REF>:
2903 Do not take into account operand 2.
2904 (operand_compare::hash_operand) <COMPONENT_REF>: Likewise.
2905
2906 2022-11-04 Eric Botcazou <ebotcazou@adacore.com>
2907
2908 * expr.cc (emit_group_store): Do not use subword paradoxical subregs
2909
2910 2022-11-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2911
2912 * config/aarch64/aarch64-sve2.md: Fix typo in Cryptographic
2913 extensions comment.
2914
2915 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2916
2917 * config.gcc [target *-intelmic-* | *-intelmicemul-*]: Remove.
2918 * config/i386/i386-options.cc (ix86_omp_device_kind_arch_isa)
2919 [ACCEL_COMPILER]: Remove.
2920 * config/i386/intelmic-mkoffload.cc: Remove.
2921 * config/i386/intelmic-offload.h: Likewise.
2922 * config/i386/t-intelmic: Likewise.
2923 * config/i386/t-omp-device: Likewise.
2924 * configure.ac [target *-intelmic-* | *-intelmicemul-*]: Remove.
2925 * configure: Regenerate.
2926 * doc/install.texi (--enable-offload-targets=[...]): Update.
2927 * doc/sourcebuild.texi: Remove 'liboffloadmic' documentation.
2928
2929 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2930
2931 * Makefile.in (OBJS): Remove 'dbxout.o'.
2932 * config/nvptx/nvptx.cc: Don't '#include "dbxout.h"'.
2933 * dbxout.cc: Remove.
2934 * dbxout.h: Likewise.
2935 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
2936 Default to 'default_asm_out_constructor',
2937 'default_asm_out_destructor'.
2938 * targhooks.cc (default_asm_out_constructor)
2939 (default_asm_out_destructor): New.
2940 * targhooks.h (default_asm_out_constructor)
2941 (default_asm_out_destructor): Declare.
2942
2943 2022-11-04 Thomas Schwinge <thomas@codesourcery.com>
2944
2945 * Makefile.in (OBJS): Add 'dbxout.o'.
2946 * config/nvptx/nvptx.cc: '#include "dbxout.h"'.
2947 * dbxout.cc: New.
2948 * dbxout.h: Likewise.
2949 * target-def.h (TARGET_ASM_CONSTRUCTOR, TARGET_ASM_DESTRUCTOR):
2950 Default to 'default_stabs_asm_out_constructor',
2951 'default_stabs_asm_out_destructor'.
2952
2953 2022-11-04 Hongyu Wang <hongyu.wang@intel.com>
2954 Haochen Jiang <haochen.jiang@intel.com>
2955
2956 * common/config/i386/cpuinfo.h (get_available_features): Detect
2957 amx-fp16.
2958 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AMX_FP16_SET,
2959 OPTION_MASK_ISA2_AMX_FP16_UNSET): New macros.
2960 (ix86_handle_option): Handle -mamx-fp16.
2961 * common/config/i386/i386-cpuinfo.h (enum processor_features):
2962 Add FEATURE_AMX_FP16.
2963 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
2964 amx-fp16.
2965 * config.gcc: Add amxfp16intrin.h.
2966 * config/i386/cpuid.h (bit_AMX_FP16): New.
2967 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
2968 __AMX_FP16__.
2969 * config/i386/i386-isa.def: Add DEF_PTA for AMX_FP16.
2970 * config/i386/i386-options.cc (isa2_opts): Add -mamx-fp16.
2971 (ix86_valid_target_attribute_inner_p): Add new ATTR.
2972 (ix86_option_override_internal): Handle AMX-FP16.
2973 * config/i386/i386.opt: Add -mamx-fp16.
2974 * config/i386/immintrin.h: Include amxfp16intrin.h.
2975 * doc/extend.texi: Document -mamx-fp16.
2976 * doc/invoke.texi: Document amx-fp16.
2977 * doc/sourcebuild.texi: Document amx_fp16.
2978 * config/i386/amxfp16intrin.h: New file.
2979
2980 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
2981
2982 * common/config/i386/cpuinfo.h (get_intel_cpu):
2983 Add Sierra Forest.
2984 * common/config/i386/i386-common.cc
2985 (processor_names): Add Sierra Forest.
2986 (processor_alias_table): Ditto.
2987 * common/config/i386/i386-cpuinfo.h
2988 (enum processor_types): Add INTEL_SIERRAFOREST.
2989 * config.gcc: Add -march=sierraforest.
2990 * config/i386/driver-i386.cc (host_detect_local_cpu):
2991 Handle Sierra Forest.
2992 * config/i386/i386-c.cc (ix86_target_macros_internal):
2993 Ditto.
2994 * config/i386/i386-options.cc (m_SIERRAFOREST): New define.
2995 (processor_cost_table): Add sierra forest.
2996 * config/i386/i386.h (enum processor_type):
2997 Add PROCESSOR_SIERRA_FOREST.
2998 (PTA_SIERRAFOREST): Ditto.
2999 * doc/extend.texi: Add sierra forest.
3000 * doc/invoke.texi: Ditto.
3001
3002 2022-11-04 Haochen Jiang <haochen.jiang@intel.com>
3003
3004 * common/config/i386/cpuinfo.h (get_available_features):
3005 Detect cmpccxadd.
3006 * common/config/i386/i386-common.cc
3007 (OPTION_MASK_ISA2_CMPCCXADD_SET,
3008 OPTION_MASK_ISA2_CMPCCXADD_UNSET): New.
3009 (ix86_handle_option): Handle -mcmpccxadd.
3010 * common/config/i386/i386-cpuinfo.h (enum processor_features):
3011 Add FEATURE_CMPCCXADD.
3012 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
3013 cmpccxadd.
3014 * config.gcc: Add cmpccxaddintrin.h.
3015 * config/i386/cpuid.h (bit_CMPCCXADD): New.
3016 * config/i386/i386-builtin-types.def:
3017 Add DEF_FUNCTION_TYPE(INT, PINT, INT, INT, INT)
3018 and DEF_FUNCTION_TYPE(LONGLONG, PLONGLONG, LONGLONG, LONGLONG, INT).
3019 * config/i386/i386-builtin.def (BDESC): Add new builtins.
3020 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
3021 __CMPCCXADD__.
3022 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
3023 Add new parameter to indicate constant position.
3024 Handle INT_FTYPE_PINT_INT_INT_INT
3025 and LONGLONG_FTYPE_PLONGLONG_LONGLONG_LONGLONG_INT.
3026 * config/i386/i386-isa.def (CMPCCXADD): Add DEF_PTA(CMPCCXADD).
3027 * config/i386/i386-options.cc (isa2_opts): Add -mcmpccxadd.
3028 (ix86_valid_target_attribute_inner_p): Handle cmpccxadd.
3029 * config/i386/i386.opt: Add option -mcmpccxadd.
3030 * config/i386/sync.md (cmpccxadd_<mode>): New define insn.
3031 * config/i386/x86gprintrin.h: Include cmpccxaddintrin.h.
3032 * doc/extend.texi: Document cmpccxadd.
3033 * doc/invoke.texi: Document -mcmpccxadd.
3034 * doc/sourcebuild.texi: Document target cmpccxadd.
3035 * config/i386/cmpccxaddintrin.h: New file.
3036
3037 2022-11-03 Jason Merrill <jason@redhat.com>
3038
3039 * doc/invoke.texi: -fconcepts no longer implies
3040 -fconcepts-ts before C++20.
3041
3042 2022-11-03 Kwok Cheung Yeung <kcy@codesourcery.com>
3043
3044 * config/gcn/gcn-valu.md (math_unop_insn): New attribute.
3045 (<math_unop><mode>2, <math_unop><mode>2<exec>, <math_unop><mode>2,
3046 <math_unop><mode>2<exec>, *<math_unop><mode>2_insn,
3047 *<math_unop><mode>2<exec>_insn): Use math_unop_insn to generate
3048 assembler output.
3049
3050 2022-11-03 Andrew MacLeod <amacleod@redhat.com>
3051
3052 * gimple-range.cc (gimple_ranger::update_stmt): New.
3053 * gimple-range.h (gimple_ranger::update_stmt): New prototype.
3054 * tree-ssa-operands.cc (update_stmt_operands): Notify range
3055 query that stmt has changed.
3056 * value-query.h (range_query::update_stmt): New.
3057
3058 2022-11-03 David Malcolm <dmalcolm@redhat.com>
3059
3060 * make-unique.h: New file.
3061
3062 2022-11-03 Uroš Bizjak <ubizjak@gmail.com>
3063
3064 PR target/107404
3065 * config/i386/i386.md (eliminate reg-reg move by inverting the
3066 condition of a cmove #2 peephole2): Check if eliminated move
3067 initialized a register, used in the moved instruction.
3068
3069 2022-11-03 Andrew Stubbs <ams@codesourcery.com>
3070
3071 PR target/107510
3072 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Remove duplicate
3073 UNSPEC_SMIN_DPP_SHR conditionals.
3074
3075 2022-11-02 Christoph Müllner <christoph.muellner@vrull.eu>
3076
3077 * common/config/riscv/riscv-common.cc: Add zawrs extension.
3078 * config/riscv/riscv-opts.h (MASK_ZAWRS): New.
3079 (TARGET_ZAWRS): New.
3080 * config/riscv/riscv.opt: New.
3081
3082 2022-11-02 Rasmus Villemoes <rv@rasmusvillemoes.dk>
3083
3084 PR driver/93371
3085 * gcc.cc (ASM_MAP): Honour -ffile-prefix-map.
3086
3087 2022-11-02 Aldy Hernandez <aldyh@redhat.com>
3088
3089 * value-range.cc (frange::contains_p): Fix signed zero handling.
3090 (range_tests_signed_zeros): New test.
3091
3092 2022-11-02 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3093
3094 * builtins.cc (mathfn_built_in_2): #undef HUGE_VAL, NAN.
3095
3096 2022-11-02 Xionghu Luo <xionghuluo@tencent.com>
3097
3098 PR target/100866
3099 * config/rs6000/altivec.md: (*altivec_vrl<VI_char>): Named to...
3100 (altivec_vrl<VI_char>): ...this.
3101 * config/rs6000/vsx.md (revb_<mode>): Call vspltish and vrlh when
3102 target is Power8 and mode is V8HI.
3103
3104 2022-11-01 David Seifert <soap@gentoo.org>
3105
3106 * configure.ac: Add AC_CACHE_CHECK(..., gcc_cv_sys_sdt_h).
3107 * configure: Regenerate.
3108
3109 2022-11-01 Richard Purdie <richard.purdie@linuxfoundation.org>
3110
3111 * file-prefix-map.cc (remap_filename): Allow remapping of relative paths.
3112
3113 2022-11-01 Aldy Hernandez <aldyh@redhat.com>
3114
3115 PR tree-optimization/107490
3116 * range-op-float.cc (foperator_unordered_lt::op1_range): Handle
3117 NANs.
3118 (foperator_unordered_lt::op2_range): Same.
3119 (foperator_unordered_le::op1_range): Same.
3120 (foperator_unordered_le::op2_range): Same.
3121 (foperator_unordered_gt::op1_range): Same.
3122 (foperator_unordered_gt::op2_range): Same.
3123 (foperator_unordered_ge::op1_range): Same.
3124 (foperator_unordered_ge::op2_range): Same.
3125
3126 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3127
3128 PR tree-optimization/107497
3129 * tree-vrp.cc (remove_unreachable::remove_and_update_globals):
3130 Check that ssa-name still exists before accessing it.
3131
3132 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3133
3134 * params.opt (param_vrp1_mode): Make ranger default.
3135
3136 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3137
3138 * tree-vrp.cc (class remove_unreachable): New.
3139 (remove_unreachable::maybe_register_block): New.
3140 (remove_unreachable::remove_and_update_globals): New.
3141 (rvrp_folder::rvrp_folder): Initialize m_unreachable.
3142 (rvrp_folder::post_fold_bb): Maybe register unreachable block.
3143 (rvrp_folder::m_unreachable): New member.
3144 (execute_ranger_vrp): Add final_pass flag, remove unreachables.
3145
3146 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3147
3148 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Allow
3149 exit block to be specified.
3150 (ranger_cache::range_from_dom): If exit block is specified, use
3151 the immediate predecessor instead of the dominator to start.
3152 * gimple-range.cc (gimple_ranger::range_on_exit): Allow query
3153 for exit block.
3154
3155 2022-11-01 Andrew MacLeod <amacleod@redhat.com>
3156
3157 * value-range.cc (irange::intersect_nonzero_bits): If new
3158 non-zero mask is the same as original, flag no change.
3159
3160 2022-11-01 Alexander Monakov <amonakov@ispras.ru>
3161
3162 PR target/87832
3163 * config/i386/znver.md (znver1_idiv): New automaton.
3164 (znver1-idiv): New unit.
3165 (znver1_idiv_DI): Correct unit and cycles in the reservation.
3166 (znver1_idiv_SI): Ditto.
3167 (znver1_idiv_HI): Ditto.
3168 (znver1_idiv_QI): Ditto.
3169 (znver1_idiv_mem_DI): Ditto.
3170 (znver1_idiv_mem_SI): Ditto.
3171 (znver1_idiv_mem_HI): Ditto.
3172 (znver1_idiv_mem_QI): Ditto.
3173 (znver3_idiv_DI): Ditto.
3174 (znver3_idiv_SI): Ditto.
3175 (znver3_idiv_HI): Ditto.
3176 (znver3_idiv_QI): Ditto.
3177 (znver3_idiv_mem_DI): Ditto.
3178 (znver3_idiv_mem_SI): Ditto.
3179 (znver3_idiv_mem_HI): Ditto.
3180 (znver3_idiv_mem_QI): Ditto.
3181
3182 2022-11-01 liuhongt <hongtao.liu@intel.com>
3183
3184 PR target/107057
3185 * config/i386/sse.md (*vec_interleave_highv2df): Remove
3186 constraint 1.
3187 (*vec_interleave_lowv2df): Ditto.
3188 (vec_concatv2df): Ditto.
3189 (*avx512f_unpcklpd512<mask_name>): Ditto and renamed to ..
3190 (avx512f_unpcklpd512<mask_name>): .. this.
3191 (avx512f_movddup512<mask_name>): Change to define_insn.
3192 (avx_movddup256<mask_name>): Ditto.
3193 (*avx_unpcklpd256<mask_name>): Remove constraint 1 and renamed
3194 to ..
3195 (avx_unpcklpd256<mask_name>): .. this.
3196 * config/i386/i386.cc (ix86_vec_interleave_v2df_operator_ok):
3197 Disallow MEM_P (op1) && MEM_P (op2).
3198
3199 2022-11-01 liuhongt <hongtao.liu@intel.com>
3200
3201 PR target/55583
3202 * config/i386/i386.md (*x86_64_shld_1): Rename to ..
3203 (x86_64_shld_1): .. this.
3204 (*x86_shld_1): Rename to ..
3205 (x86_shld_1): .. this.
3206 (*x86_64_shrd_1): Rename to ..
3207 (x86_64_shrd_1): .. this.
3208 (*x86_shrd_1): Rename to ..
3209 (x86_shrd_1): .. this.
3210 (*x86_64_shld_shrd_1_nozext): New pre_reload splitter.
3211 (*x86_shld_shrd_1_nozext): Ditto.
3212 (*x86_64_shrd_shld_1_nozext): Ditto.
3213 (*x86_shrd_shld_1_nozext): Ditto.
3214
3215 2022-11-01 Cui,Lili <lili.cui@intel.com>
3216
3217 * ipa-inline-analysis.cc (do_estimate_edge_time): Add function attribute
3218 judgement for INLINE_HINT_known_hot hint.
3219
3220 2022-10-31 Guillermo E. Martinez <guillermo.e.martinez@oracle.com>
3221
3222 * btfout.cc (btf_calc_num_vbytes): Compute enumeration size depending of
3223 enumerator type btf_enum{,64}.
3224 (btf_asm_type): Update btf_kflag according to enumeration type sign
3225 using dtd_enum_unsigned field for both: BTF_KIND_ENUM{,64}.
3226 (btf_asm_enum_const): New argument to represent the size of
3227 the BTF enum type, writing the enumerator constant value for
3228 32 bits, if it's 64 bits then explicitly writes lower 32-bits
3229 value and higher 32-bits value.
3230 (output_asm_btf_enum_list): Add enumeration size argument.
3231 * ctfc.cc (ctf_add_enum): New argument to represent CTF enum
3232 basic information.
3233 (ctf_add_generic): Use of ei_{name. size, unsigned} to build the
3234 dtd structure containing enumeration information.
3235 (ctf_add_enumerator): Update comment mention support for BTF
3236 enumeration in 64-bits.
3237 * dwarf2ctf.cc (gen_ctf_enumeration_type): Extract signedness
3238 for enumeration type and use it in ctf_add_enum.
3239 * ctfc.h (ctf_dmdef): Update dmd_value to HOST_WIDE_INT to allow
3240 use 32/64 bits enumerators.
3241 information.
3242 (ctf_dtdef): New field to describe enum signedness.
3243
3244 2022-10-31 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3245
3246 * config/riscv/riscv-vector-builtins-bases.cc: Change constexpr back to CONSTEXPR.
3247 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Ditto.
3248 * config/riscv/riscv-vector-builtins.cc (struct registered_function_hasher): Ditto.
3249 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info): Ditto.
3250
3251 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3252
3253 * config/gcn/gcn-valu.md (fminmaxop): New iterator.
3254 (<fexpander><mode>3): New define_expand.
3255 (<fexpander><mode>3<exec>): Likewise.
3256 (reduc_<fexpander>_scal_<mode>): Likewise.
3257 * config/gcn/gcn.md (fexpander): New attribute.
3258
3259 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3260
3261 * config/gcn/gcn-valu.md (V64_SI): Delete iterator.
3262 (V64_DI): Likewise.
3263 (V64_1REG): Likewise.
3264 (V64_INT_1REG): Likewise.
3265 (V64_2REG): Likewise.
3266 (V64_ALL): Likewise.
3267 (V64_FP): Likewise.
3268 (reduc_<reduc_op>_scal_<mode>): Use V_ALL. Use gen_vec_extract.
3269 (fold_left_plus_<mode>): Use V_FP.
3270 (*<reduc_op>_dpp_shr_<mode>): Use V_1REG.
3271 (*<reduc_op>_dpp_shr_<mode>): Use V_DI.
3272 (*plus_carry_dpp_shr_<mode>): Use V_INT_1REG.
3273 (*plus_carry_in_dpp_shr_<mode>): Use V_SI.
3274 (*plus_carry_dpp_shr_<mode>): Use V_DI.
3275 (mov_from_lane63_<mode>): Delete.
3276 (mov_from_lane63_<mode>): Delete.
3277 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Support partial vectors.
3278 * config/gcn/gcn.md (unspec): Remove UNSPEC_MOV_FROM_LANE63.
3279
3280 2022-10-31 Andrew Stubbs <ams@codesourcery.com>
3281
3282 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
3283 Set base_type as ARG_UNUSED.
3284
3285 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3286
3287 * builtin-types.def (BT_COMPLEX_FLOAT16, BT_COMPLEX_FLOAT32,
3288 BT_COMPLEX_FLOAT64, BT_COMPLEX_FLOAT128, BT_COMPLEX_FLOAT32X,
3289 BT_COMPLEX_FLOAT64X, BT_COMPLEX_FLOAT128X,
3290 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
3291 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
3292 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
3293 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
3294 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
3295 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
3296 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X,
3297 BT_FN_FLOAT16_COMPLEX_FLOAT16, BT_FN_FLOAT32_COMPLEX_FLOAT32,
3298 BT_FN_FLOAT64_COMPLEX_FLOAT64, BT_FN_FLOAT128_COMPLEX_FLOAT128,
3299 BT_FN_FLOAT32X_COMPLEX_FLOAT32X, BT_FN_FLOAT64X_COMPLEX_FLOAT64X,
3300 BT_FN_FLOAT128X_COMPLEX_FLOAT128X,
3301 BT_FN_COMPLEX_FLOAT16_COMPLEX_FLOAT16_COMPLEX_FLOAT16,
3302 BT_FN_COMPLEX_FLOAT32_COMPLEX_FLOAT32_COMPLEX_FLOAT32,
3303 BT_FN_COMPLEX_FLOAT64_COMPLEX_FLOAT64_COMPLEX_FLOAT64,
3304 BT_FN_COMPLEX_FLOAT128_COMPLEX_FLOAT128_COMPLEX_FLOAT128,
3305 BT_FN_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X_COMPLEX_FLOAT32X,
3306 BT_FN_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X_COMPLEX_FLOAT64X,
3307 BT_FN_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X_COMPLEX_FLOAT128X): New.
3308 * builtins.def (CABS_TYPE, CACOSH_TYPE, CARG_TYPE, CASINH_TYPE,
3309 CPOW_TYPE, CPROJ_TYPE): Define and undefine later.
3310 (BUILT_IN_CABS, BUILT_IN_CACOSH, BUILT_IN_CACOS, BUILT_IN_CARG,
3311 BUILT_IN_CASINH, BUILT_IN_CASIN, BUILT_IN_CATANH, BUILT_IN_CATAN,
3312 BUILT_IN_CCOSH, BUILT_IN_CCOS, BUILT_IN_CEXP, BUILT_IN_CLOG,
3313 BUILT_IN_CPOW, BUILT_IN_CPROJ, BUILT_IN_CSINH, BUILT_IN_CSIN,
3314 BUILT_IN_CSQRT, BUILT_IN_CTANH, BUILT_IN_CTAN): Add
3315 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
3316 * fold-const-call.cc (fold_const_call_sc, fold_const_call_cc,
3317 fold_const_call_ccc): Add various CASE_CFN_*_FN: cases when
3318 CASE_CFN_* is present.
3319 * gimple-ssa-backprop.cc (backprop::process_builtin_call_use):
3320 Likewise.
3321 * builtins.cc (expand_builtin, fold_builtin_1): Likewise.
3322 * fold-const.cc (negate_mathfn_p, tree_expr_finite_p,
3323 tree_expr_maybe_signaling_nan_p, tree_expr_maybe_nan_p,
3324 tree_expr_maybe_real_minus_zero_p, tree_call_nonnegative_warnv_p):
3325 Likewise.
3326
3327 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3328
3329 * builtin-types.def (BT_FN_BFLOAT16_BFLOAT16_BFLOAT16): New.
3330 * builtins.def (BUILT_IN_NEXTAFTERF16B): New builtin.
3331 * fold-const-call.cc (fold_const_call_sss): Handle
3332 CFN_BUILT_IN_NEXTAFTERF16B.
3333
3334 2022-10-31 Jakub Jelinek <jakub@redhat.com>
3335
3336 * builtin-types.def (BT_FLOAT16_PTR, BT_FLOAT32_PTR, BT_FLOAT64_PTR,
3337 BT_FLOAT128_PTR, BT_FLOAT32X_PTR, BT_FLOAT64X_PTR, BT_FLOAT128X_PTR):
3338 New DEF_PRIMITIVE_TYPE.
3339 (BT_FN_INT_FLOAT16, BT_FN_INT_FLOAT32, BT_FN_INT_FLOAT64,
3340 BT_FN_INT_FLOAT128, BT_FN_INT_FLOAT32X, BT_FN_INT_FLOAT64X,
3341 BT_FN_INT_FLOAT128X, BT_FN_LONG_FLOAT16, BT_FN_LONG_FLOAT32,
3342 BT_FN_LONG_FLOAT64, BT_FN_LONG_FLOAT128, BT_FN_LONG_FLOAT32X,
3343 BT_FN_LONG_FLOAT64X, BT_FN_LONG_FLOAT128X, BT_FN_LONGLONG_FLOAT16,
3344 BT_FN_LONGLONG_FLOAT32, BT_FN_LONGLONG_FLOAT64,
3345 BT_FN_LONGLONG_FLOAT128, BT_FN_LONGLONG_FLOAT32X,
3346 BT_FN_LONGLONG_FLOAT64X, BT_FN_LONGLONG_FLOAT128X): New
3347 DEF_FUNCTION_TYPE_1.
3348 (BT_FN_FLOAT16_FLOAT16_FLOAT16PTR, BT_FN_FLOAT32_FLOAT32_FLOAT32PTR,
3349 BT_FN_FLOAT64_FLOAT64_FLOAT64PTR, BT_FN_FLOAT128_FLOAT128_FLOAT128PTR,
3350 BT_FN_FLOAT32X_FLOAT32X_FLOAT32XPTR,
3351 BT_FN_FLOAT64X_FLOAT64X_FLOAT64XPTR,
3352 BT_FN_FLOAT128X_FLOAT128X_FLOAT128XPTR, BT_FN_FLOAT16_FLOAT16_INT,
3353 BT_FN_FLOAT32_FLOAT32_INT, BT_FN_FLOAT64_FLOAT64_INT,
3354 BT_FN_FLOAT128_FLOAT128_INT, BT_FN_FLOAT32X_FLOAT32X_INT,
3355 BT_FN_FLOAT64X_FLOAT64X_INT, BT_FN_FLOAT128X_FLOAT128X_INT,
3356 BT_FN_FLOAT16_FLOAT16_INTPTR, BT_FN_FLOAT32_FLOAT32_INTPTR,
3357 BT_FN_FLOAT64_FLOAT64_INTPTR, BT_FN_FLOAT128_FLOAT128_INTPTR,
3358 BT_FN_FLOAT32X_FLOAT32X_INTPTR, BT_FN_FLOAT64X_FLOAT64X_INTPTR,
3359 BT_FN_FLOAT128X_FLOAT128X_INTPTR, BT_FN_FLOAT16_FLOAT16_LONG,
3360 BT_FN_FLOAT32_FLOAT32_LONG, BT_FN_FLOAT64_FLOAT64_LONG,
3361 BT_FN_FLOAT128_FLOAT128_LONG, BT_FN_FLOAT32X_FLOAT32X_LONG,
3362 BT_FN_FLOAT64X_FLOAT64X_LONG, BT_FN_FLOAT128X_FLOAT128X_LONG): New
3363 DEF_FUNCTION_TYPE_2.
3364 (BT_FN_FLOAT16_FLOAT16_FLOAT16_INTPTR,
3365 BT_FN_FLOAT32_FLOAT32_FLOAT32_INTPTR,
3366 BT_FN_FLOAT64_FLOAT64_FLOAT64_INTPTR,
3367 BT_FN_FLOAT128_FLOAT128_FLOAT128_INTPTR,
3368 BT_FN_FLOAT32X_FLOAT32X_FLOAT32X_INTPTR,
3369 BT_FN_FLOAT64X_FLOAT64X_FLOAT64X_INTPTR,
3370 BT_FN_FLOAT128X_FLOAT128X_FLOAT128X_INTPTR): New DEF_FUNCTION_TYPE_3.
3371 * builtins.def (ACOSH_TYPE, ATAN2_TYPE, ATANH_TYPE, COSH_TYPE,
3372 FDIM_TYPE, HUGE_VAL_TYPE, HYPOT_TYPE, ILOGB_TYPE, LDEXP_TYPE,
3373 LGAMMA_TYPE, LLRINT_TYPE, LOG10_TYPE, LRINT_TYPE, MODF_TYPE,
3374 NEXTAFTER_TYPE, REMQUO_TYPE, SCALBLN_TYPE, SCALBN_TYPE, SINH_TYPE):
3375 Define and undefine later.
3376 (FMIN_TYPE, SQRT_TYPE): Undefine at a later line.
3377 (INF_TYPE): Define at a later line.
3378 (BUILT_IN_ACOSH, BUILT_IN_ACOS, BUILT_IN_ASINH, BUILT_IN_ASIN,
3379 BUILT_IN_ATAN2, BUILT_IN_ATANH, BUILT_IN_ATAN, BUILT_IN_CBRT,
3380 BUILT_IN_COSH, BUILT_IN_COS, BUILT_IN_ERFC, BUILT_IN_ERF,
3381 BUILT_IN_EXP2, BUILT_IN_EXP, BUILT_IN_EXPM1, BUILT_IN_FDIM,
3382 BUILT_IN_FMOD, BUILT_IN_FREXP, BUILT_IN_HYPOT, BUILT_IN_ILOGB,
3383 BUILT_IN_LDEXP, BUILT_IN_LGAMMA, BUILT_IN_LLRINT, BUILT_IN_LLROUND,
3384 BUILT_IN_LOG10, BUILT_IN_LOG1P, BUILT_IN_LOG2, BUILT_IN_LOGB,
3385 BUILT_IN_LOG, BUILT_IN_LRINT, BUILT_IN_LROUND, BUILT_IN_MODF,
3386 BUILT_IN_NEXTAFTER, BUILT_IN_POW, BUILT_IN_REMAINDER, BUILT_IN_REMQUO,
3387 BUILT_IN_SCALBLN, BUILT_IN_SCALBN, BUILT_IN_SINH, BUILT_IN_SIN,
3388 BUILT_IN_TANH, BUILT_IN_TAN, BUILT_IN_TGAMMA): Add
3389 DEF_EXT_LIB_FLOATN_NX_BUILTINS.
3390 (BUILT_IN_HUGE_VAL): Use HUGE_VAL_TYPE instead of INF_TYPE in
3391 DEF_GCC_FLOATN_NX_BUILTINS.
3392 * fold-const-call.cc (fold_const_call_ss): Add various CASE_CFN_*_FN:
3393 cases when CASE_CFN_* is present.
3394 (fold_const_call_sss): Likewise.
3395 * builtins.cc (mathfn_built_in_2): Use CASE_MATHFN_FLOATN instead of
3396 CASE_MATHFN for various builtins in SEQ_OF_CASE_MATHFN macro.
3397 (builtin_with_linkage_p): Add CASE_FLT_FN_FLOATN_NX for various
3398 builtins next to CASE_FLT_FN.
3399 * fold-const.cc (tree_call_nonnegative_warnv_p): Add CASE_CFN_*_FN:
3400 next to CASE_CFN_*: for various builtins.
3401 * tree-call-cdce.cc (can_test_argument_range): Add
3402 CASE_FLT_FN_FLOATN_NX next to CASE_FLT_FN for various builtins.
3403 (edom_only_function): Likewise.
3404
3405 2022-10-31 konglin1 <lingling.kong@intel.com>
3406
3407 * common/config/i386/i386-common.cc
3408 (OPTION_MASK_ISA2_AVXNECONVERT_SET,
3409 OPTION_MASK_ISA2_AVXNECONVERT_UNSET): New.
3410 (ix86_handle_option): Handle -mavxneconvert, unset
3411 avxneconvert when avx2 is disabled.
3412 * common/config/i386/i386-cpuinfo.h (processor_types): Add
3413 FEATURE_AVXNECONVERT.
3414 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
3415 avxneconvert.
3416 * common/config/i386/cpuinfo.h (get_available_features):
3417 Detect avxneconvert.
3418 * config.gcc: Add avxneconvertintrin.h
3419 * config/i386/avxneconvertintrin.h: New.
3420 * config/i386/avx512bf16vlintrin.h (_mm256_cvtneps_pbh):
3421 Unified builtin with avxneconvert.
3422 (_mm_cvtneps_pbh): Ditto.
3423 * config/i386/cpuid.h (bit_AVXNECONVERT): New.
3424 * config/i386/i386-builtin-types.def: Add
3425 DEF_POINTER_TYPE (PCV8HF, V8HF, CONST),
3426 DEF_POINTER_TYPE (PCV8BF, V8BF, CONST),
3427 DEF_POINTER_TYPE (PCV16HF, V16HF, CONST),
3428 DEF_POINTER_TYPE (PCV16BF, V16BF, CONST),
3429 DEF_FUNCTION_TYPE (V4SF, PCBFLOAT16),
3430 DEF_FUNCTION_TYPE (V4SF, PCFLOAT16),
3431 DEF_FUNCTION_TYPE (V8SF, PCBFLOAT16),
3432 DEF_FUNCTION_TYPE (V8SF, PCFLOAT16),
3433 DEF_FUNCTION_TYPE (V4SF, PCV8BF),
3434 DEF_FUNCTION_TYPE (V4SF, PCV8HF),
3435 DEF_FUNCTION_TYPE (V8SF, PCV16HF),
3436 DEF_FUNCTION_TYPE (V8SF, PCV16BF),
3437 * config/i386/i386-builtin.def: Add new builtins.
3438 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
3439 __AVXNECONVERT__.
3440 * config/i386/i386-expand.cc (ix86_expand_special_args_builtin):
3441 Handle V4SF_FTYPE_PCBFLOAT16,V8SF_FTYPE_PCBFLOAT16, V4SF_FTYPE_PCFLOAT16,
3442 V8SF_FTYPE_PCFLOAT16,V4SF_FTYPE_PCV8BF,
3443 V4SF_FTYPE_PCV8HF,V8SF_FTYPE_PCV16BF,V8SF_FTYPE_PCV16HF.
3444 * config/i386/i386-isa.def : Add DEF_PTA(AVXNECONVERT) New.
3445 * config/i386/i386-options.cc (isa2_opts): Add -mavxneconvert.
3446 (ix86_valid_target_attribute_inner_p): Handle avxneconvert.
3447 * config/i386/i386.md: Add attr avx512bf16vl and avxneconvert.
3448 * config/i386/i386.opt: Add option -mavxneconvert.
3449 * config/i386/immintrin.h: Inculde avxneconvertintrin.h.
3450 * config/i386/sse.md (vbcstnebf162ps_<mode>): New define_insn.
3451 (vbcstnesh2ps_<mode>): Ditto.
3452 (vcvtnee<bf16_ph>2ps_<mode>):Ditto.
3453 (vcvtneo<bf16_ph>2ps_<mode>):Ditto.
3454 (vcvtneps2bf16_v4sf): Ditto.
3455 (*vcvtneps2bf16_v4sf): Ditto.
3456 (vcvtneps2bf16_v8sf): Ditto.
3457 * doc/invoke.texi: Document -mavxneconvert.
3458 * doc/extend.texi: Document avxneconvert.
3459 * doc/sourcebuild.texi: Document target avxneconvert.
3460
3461 2022-10-31 konglin1 <lingling.kong@intel.com>
3462
3463 * config/i386/avx512bf16intrin.h (__attribute__): Change short to bf16.
3464 (_mm_cvtsbh_ss): Ditto.
3465 (_mm512_cvtne2ps_pbh): Ditto.
3466 (_mm512_mask_cvtne2ps_pbh): Ditto.
3467 (_mm512_maskz_cvtne2ps_pbh): Ditto.
3468 * config/i386/avx512bf16vlintrin.h (__attribute__): Ditto.
3469 (_mm256_cvtne2ps_pbh): Ditto.
3470 (_mm256_mask_cvtne2ps_pbh): Ditto.
3471 (_mm256_maskz_cvtne2ps_pbh): Ditto.
3472 (_mm_cvtne2ps_pbh): Ditto.
3473 (_mm_mask_cvtne2ps_pbh): Ditto.
3474 (_mm_maskz_cvtne2ps_pbh): Ditto.
3475 (_mm_cvtness_sbh): Ditto.
3476 * config/i386/i386-builtin-types.def (V8BF): Add new
3477 DEF_VECTOR_TYPE for BFmode.
3478 (V16BF): Ditto.
3479 (V32BF): Ditto.
3480 * config/i386/i386-builtin.def (BDESC): Fixed builtins.
3481 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Changed
3482 avx512bf16 ix86_builtin_func_type included HI to BF.
3483 * config/i386/immintrin.h: Add SSE2 depend for avx512bf16.
3484 * config/i386/sse.md (TARGET_AVX512VL): Changed HI vector to BF
3485 vector.
3486 (avx512f_cvtneps2bf16_v4sf): New define_expand.
3487 (*avx512f_cvtneps2bf16_v4sf): New define_insn.
3488 (avx512f_cvtneps2bf16_v4sf_maskz):Ditto.
3489 (avx512f_cvtneps2bf16_v4sf_mask): Ditto.
3490 (avx512f_cvtneps2bf16_v4sf_mask_1): Ditto.
3491
3492 2022-10-31 liuhongt <hongtao.liu@intel.com>
3493
3494 PR target/107261
3495 * config/i386/i386-modes.def (VECTOR_MODE): Support V2BFmode.
3496 * config/i386/i386.cc (classify_argument): Handle V4BFmode and
3497 V2BFmode.
3498 (ix86_convert_const_vector_to_integer): Ditto.
3499 * config/i386/i386.h (VALID_AVX512FP16_REG_MODE): Remove
3500 V2BFmode.
3501 (VALID_SSE2_REG_MODE): Add V4BFmode and V2BFmode.
3502 (VALID_MMX_REG_MODE): Add V4BFmode.
3503 * config/i386/i386.md (mode): Add V4BF and V2BF.
3504 (MODE_SIZE): Ditto.
3505 * config/i386/mmx.md (MMXMODE) Add V4BF.
3506 (V_32): Add V2BF.
3507 (V_16_32_64): Add V4BF and V2BF.
3508 (mmxinsnmode): Add V4BF and V2BF.
3509 (*mov<mode>_internal): Hanlde V4BFmode and V2BFmode.
3510
3511 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
3512
3513 * configure.ac (sjlj-exceptions): Restore dropped line.
3514 * configure: Regenerate.
3515
3516 2022-10-29 Eric Botcazou <ebotcazou@adacore.com>
3517
3518 * alias.cc (init_alias_analysis): Do not record sets to the hard
3519 frame pointer if the frame pointer has not been eliminated.
3520
3521 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
3522
3523 * config/darwin-d.cc (TARGET_D_MINFO_START_NAME): Rename to ...
3524 (TARGET_D_MINFO_SECTION_START): ...this.
3525 (TARGET_D_MINFO_END_NAME): Rename to ...
3526 (TARGET_D_MINFO_SECTION_END): ... this.
3527 * config/elfos.h (TARGET_D_MINFO_SECTION): Remove.
3528 (TARGET_D_MINFO_START_NAME): Remove.
3529 (TARGET_D_MINFO_END_NAME): Remove.
3530 * config/i386/cygwin-d.cc (TARGET_D_MINFO_SECTION): Remove.
3531 (TARGET_D_MINFO_START_NAME): Remove.
3532 (TARGET_D_MINFO_END_NAME): Remove.
3533 * config/i386/winnt-d.cc (TARGET_D_MINFO_SECTION): Remove.
3534 (TARGET_D_MINFO_START_NAME): Remove.
3535 (TARGET_D_MINFO_END_NAME): Remove.
3536 * doc/tm.texi: Regenerate.
3537 * doc/tm.texi.in (TARGET_D_MINFO_START_NAME): Rename to ...
3538 (TARGET_D_MINFO_SECTION_START): ...this.
3539 (TARGET_D_MINFO_END_NAME): Rename to ...
3540 (TARGET_D_MINFO_SECTION_END): ...this.
3541
3542 2022-10-29 Iain Buclaw <ibuclaw@gdcproject.org>
3543
3544 * config.gcc: Split out glibc-d.o into linux-d.o, kfreebsd-d.o,
3545 kopensolaris-d.o, and gnu-d.o. Split out cygwin-d.o from winnt-d.o.
3546 * config/arm/linux-eabi.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3547 * config/gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3548 * config/i386/cygwin.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3549 * config/i386/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3550 * config/i386/mingw32.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3551 * config/i386/t-cygming: Add cygwin-d.o.
3552 * config/i386/winnt-d.cc (winnt_d_os_builtins): Only add
3553 MinGW-specific version condition.
3554 * config/kfreebsd-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3555 * config/kopensolaris-gnu.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3556 * config/linux-android.h (ANDROID_TARGET_D_OS_VERSIONS): Remove.
3557 * config/linux.h (GNU_USER_TARGET_D_OS_VERSIONS): Remove.
3558 * config/mips/linux-common.h (EXTRA_TARGET_D_OS_VERSIONS): Remove.
3559 * config/t-glibc: Remove glibc-d.o, add gnu-d.o, kfreebsd-d.o,
3560 kopensolaris-d.o.
3561 * config/t-linux: Add linux-d.o.
3562 * config/glibc-d.cc: Remove file.
3563 * config/gnu-d.cc: New file.
3564 * config/i386/cygwin-d.cc: New file.
3565 * config/kfreebsd-d.cc: New file.
3566 * config/kopensolaris-d.cc: New file.
3567 * config/linux-d.cc: New file.
3568
3569 2022-10-29 Jeff Law <jeffreyalaw@gmail.com>
3570
3571 * config/h8300/h8300.cc (pre_incdec_with_reg): Make reg argument
3572 an unsigned int
3573 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Adjust prototype.
3574
3575 2022-10-28 Joseph Myers <joseph@codesourcery.com>
3576
3577 * config/aarch64/aarch64.cc (aarch64_setup_incoming_varargs):
3578 Check TYPE_NO_NAMED_ARGS_STDARG_P.
3579 * config/alpha/alpha.cc (alpha_setup_incoming_varargs): Likewise.
3580 * config/arc/arc.cc (arc_setup_incoming_varargs): Likewise.
3581 * config/arm/arm.cc (arm_setup_incoming_varargs): Likewise.
3582 * config/csky/csky.cc (csky_setup_incoming_varargs): Likewise.
3583 * config/epiphany/epiphany.cc (epiphany_setup_incoming_varargs):
3584 Likewise.
3585 * config/fr30/fr30.cc (fr30_setup_incoming_varargs): Likewise.
3586 * config/frv/frv.cc (frv_setup_incoming_varargs): Likewise.
3587 * config/ft32/ft32.cc (ft32_setup_incoming_varargs): Likewise.
3588 * config/i386/i386.cc (ix86_setup_incoming_varargs): Likewise.
3589 * config/ia64/ia64.cc (ia64_setup_incoming_varargs): Likewise.
3590 * config/loongarch/loongarch.cc
3591 (loongarch_setup_incoming_varargs): Likewise.
3592 * config/m32r/m32r.cc (m32r_setup_incoming_varargs): Likewise.
3593 * config/mcore/mcore.cc (mcore_setup_incoming_varargs): Likewise.
3594 * config/mips/mips.cc (mips_setup_incoming_varargs): Likewise.
3595 * config/mmix/mmix.cc (mmix_setup_incoming_varargs): Likewise.
3596 * config/nds32/nds32.cc (nds32_setup_incoming_varargs): Likewise.
3597 * config/nios2/nios2.cc (nios2_setup_incoming_varargs): Likewise.
3598 * config/riscv/riscv.cc (riscv_setup_incoming_varargs): Likewise.
3599 * config/rs6000/rs6000-call.cc (setup_incoming_varargs): Likewise.
3600 * config/sh/sh.cc (sh_setup_incoming_varargs): Likewise.
3601 * config/visium/visium.cc (visium_setup_incoming_varargs):
3602 Likewise.
3603 * config/vms/vms-c.cc (vms_c_common_override_options): Do not set
3604 flag_allow_parameterless_variadic_functions.
3605 * doc/invoke.texi (-fallow-parameterless-variadic-functions): Do
3606 not document option.
3607 * function.cc (assign_parms): Call assign_parms_setup_varargs for
3608 TYPE_NO_NAMED_ARGS_STDARG_P case.
3609 * ginclude/stdarg.h [__STDC_VERSION__ > 201710L] (va_start): Make
3610 variadic macro. Pass second argument of 0 to __builtin_va_start.
3611 * target.def (setup_incoming_varargs): Update documentation.
3612 * doc/tm.texi: Regenerate.
3613 * tree-core.h (struct tree_type_common): Add
3614 no_named_args_stdarg_p.
3615 * tree-streamer-in.cc (unpack_ts_type_common_value_fields): Unpack
3616 TYPE_NO_NAMED_ARGS_STDARG_P.
3617 * tree-streamer-out.cc (pack_ts_type_common_value_fields): Pack
3618 TYPE_NO_NAMED_ARGS_STDARG_P.
3619 * tree.cc (type_cache_hasher::equal): Compare
3620 TYPE_NO_NAMED_ARGS_STDARG_P.
3621 (build_function_type): Add argument no_named_args_stdarg_p.
3622 (build_function_type_list_1, build_function_type_array_1)
3623 (reconstruct_complex_type): Update calls to build_function_type.
3624 (stdarg_p, prototype_p): Return true for (...) functions.
3625 (gimple_canonical_types_compatible_p): Compare
3626 TYPE_NO_NAMED_ARGS_STDARG_P.
3627 * tree.h (TYPE_NO_NAMED_ARGS_STDARG_P): New.
3628 (build_function_type): Update prototype.
3629
3630 2022-10-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
3631
3632 PR tree-optimization/107346
3633 * tree-vect-data-refs.cc (vect_check_gather_scatter): Reject offsets
3634 that aren't multiples of BITS_PER_UNIT.
3635
3636 2022-10-28 Richard Biener <rguenther@suse.de>
3637
3638 PR tree-optimization/107407
3639 * tree-ssa-dse.cc (dse_classify_store): Perform backedge
3640 varying index check when collecting PHI uses rather than
3641 after optimizing processing of the candidate defs.
3642
3643 2022-10-28 Richard Biener <rguenther@suse.de>
3644
3645 PR tree-optimization/107447
3646 * tree-ssa-loop-im.cc (determine_max_movement): Do not
3647 hoist returns-twice calls.
3648
3649 2022-10-28 Richard Biener <rguenther@suse.de>
3650
3651 PR tree-optimization/107435
3652 * tree-vect-loop.cc (vectorizable_recurr): Convert initial
3653 value to vector component type.
3654
3655 2022-10-28 Julian Brown <julian@codesourcery.com>
3656 Thomas Schwinge <thomas@codesourcery.com>
3657
3658 PR middle-end/90115
3659 * omp-low.cc (oacc_privatization_candidate_p): Artificial vars are not
3660 privatization candidates.
3661
3662 2022-10-28 Martin Liska <mliska@suse.cz>
3663
3664 PR sanitizer/107298
3665 * doc/invoke.texi: Document sanitizers can trigger warnings.
3666
3667 2022-10-28 Thomas Schwinge <thomas@codesourcery.com>
3668
3669 * doc/makefile.texi (Makefile Targets): Document
3670 'distclean-stage[N]'.
3671
3672 2022-10-28 Aldy Hernandez <aldyh@redhat.com>
3673
3674 * value-range.cc (range_tests_floats): Use HONOR_INFINITIES.
3675
3676 2022-10-27 Eric Botcazou <ebotcazou@adacore.com>
3677
3678 * config/aarch64/aarch64.h (DONT_USE_BUILTIN_SETJMP): Delete.
3679
3680 2022-10-27 H.J. Lu <hjl.tools@gmail.com>
3681
3682 PR target/107172
3683 * config/i386/i386.md (UNSPEC_CC_NE): New.
3684 Replace ne:CCC/ne:CCO with UNSPEC_CC_NE in neg patterns.
3685
3686 2022-10-27 Andrew Pinski <apinski@marvell.com>
3687
3688 * tree-ssa-phiopt.cc: Include tree-ssa-dce.h
3689 (replace_phi_edge_with_variable):
3690 New argument, dce_ssa_names. Call simple_dce_from_worklist.
3691 (match_simplify_replacement): If we inserted a sequence,
3692 mark the lhs of the new sequence to be possible dce.
3693 Always move the statement and mark the lhs (if it is a name)
3694 as possible to remove.
3695
3696 2022-10-27 Richard Sandiford <richard.sandiford@arm.com>
3697
3698 * config/aarch64/aarch64-protos.h: Replace constexpr with
3699 CONSTEXPR.
3700 * config/aarch64/aarch64-sve-builtins-base.cc: Likewise.
3701 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
3702 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
3703 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
3704 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
3705 * config/aarch64/aarch64.cc: Likewise.
3706 * config/aarch64/driver-aarch64.cc: Likewise
3707
3708 2022-10-27 Aldy Hernandez <aldyh@redhat.com>
3709
3710 PR tree-optimization/107394
3711 * value-range-storage.cc (frange_storage_slot::get_frange): Use
3712 frange constructor.
3713
3714 2022-10-27 Thomas Schwinge <thomas@codesourcery.com>
3715
3716 * optc-save-gen.awk: Clarify 'Init' option property usage for
3717 streaming optimization.
3718
3719 2022-10-27 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
3720 Yvan ROUX <yvan.roux@foss.st.com>
3721
3722 * ira.cc: Resize array after reg number increased.
3723
3724 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3725 Sinan Lin <sinan@isrc.iscas.ac.cn>
3726
3727 * config/riscv/constraints.md (TARGET_ZFINX ? GR_REGS): Set GPRS
3728 use while Zfinx is enable.
3729 * config/riscv/riscv.cc (riscv_hard_regno_mode_ok): Limit odd
3730 registers use when Zdinx enable in RV32 cases.
3731 (riscv_option_override): New target enable MASK_FDIV.
3732 (riscv_libgcc_floating_mode_supported_p): New error info when
3733 use incompatible arch&abi.
3734 (riscv_excess_precision): New target enable FLOAT16.
3735
3736 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3737
3738 * config/riscv/iterators.md (TARGET_ZFINX):New target.
3739 (TARGET_ZDINX): Ditto.
3740 (TARGET_ZHINX): Ditto.
3741 * config/riscv/riscv-builtins.cc (AVAIL): Ditto.
3742 (riscv_atomic_assign_expand_fenv): Ditto.
3743 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Ditto.
3744 * config/riscv/riscv.md: Ditto.
3745
3746 2022-10-27 Jiawei <jiawei@iscas.ac.cn>
3747 Sinan Lin <sinan@isrc.iscas.ac.cn>
3748
3749 * common/config/riscv/riscv-common.cc: New extensions.
3750 * config/riscv/arch-canonicalize: New imply relations.
3751 * config/riscv/riscv-opts.h (MASK_ZFINX): New mask.
3752 (MASK_ZDINX): Ditto.
3753 (MASK_ZHINX): Ditto.
3754 (MASK_ZHINXMIN): Ditto.
3755 (TARGET_ZFINX): New target.
3756 (TARGET_ZDINX): Ditto.
3757 (TARGET_ZHINX): Ditto.
3758 (TARGET_ZHINXMIN): Ditto.
3759 * config/riscv/riscv.opt: New target variable.
3760
3761 2022-10-26 David Faust <david.faust@oracle.com>
3762
3763 * config/bpf/bpf.cc: Support __builtin_preserve_field_info.
3764 (enum bpf_builtins): Add new builtin.
3765 (bpf_init_builtins): Likewise.
3766 (bpf_core_field_info): New function.
3767 (bpf_expand_builtin): Accomodate new builtin. Refactor adding new
3768 relocation to...
3769 (maybe_make_core_relo): ... here. New function.
3770 (bpf_resolve_overloaded_builtin): Accomodate new builtin.
3771 (bpf_core_newdecl): Likewise.
3772 (bpf_core_walk): Likewise.
3773 (bpf_core_is_maybe_aggregate_access): Improve logic.
3774 (struct core_walk_data): New.
3775 * config/bpf/coreout.cc (bpf_core_reloc_add): Allow adding different
3776 relocation kinds.
3777 * config/bpf/coreout.h: Analogous change.
3778 * doc/extend.texi: Document BPF __builtin_preserve_field_info.
3779
3780 2022-10-26 Marek Polacek <polacek@redhat.com>
3781
3782 PR c++/106393
3783 * doc/invoke.texi: Document -Wdangling-reference.
3784
3785 2022-10-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
3786
3787 * config/xtensa/xtensa.md (movdi):
3788 Copy operands[0...1] to ops[0...3] and then use the latter before
3789 calling xtensa_split_DI_reg_imm() and emitting insns.
3790
3791 2022-10-26 Alexander Monakov <amonakov@ispras.ru>
3792
3793 PR other/107353
3794 * ipa-visibility.cc (function_and_variable_visibility):
3795 Conditionally upgrade TLS model instead of asserting.
3796
3797 2022-10-26 Andrew MacLeod <amacleod@redhat.com>
3798
3799 * gimple-range-fold.cc (fold_using_range::fold_stmt): Check if
3800 stmt is non-negative and adjust the range.
3801
3802 2022-10-26 Martin Liska <mliska@suse.cz>
3803
3804 * common/config/i386/cpuinfo.h (has_cpu_feature): Add comment.
3805 (reset_cpu_feature): New.
3806 (get_zhaoxin_cpu): Use reset_cpu_feature.
3807
3808 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3809
3810 * config/riscv/riscv.cc (riscv_expand_epilogue): Fix statement.
3811
3812 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3813
3814 PR target/107357
3815 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Set to minimum size.
3816 (ADJUST_NUNITS): Adjust according to -march.
3817 (ADJUST_BYTESIZE): Ditto.
3818 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p):
3819 Remove.
3820 (riscv_v_ext_vector_mode_p): Change function implementation.
3821 * config/riscv/riscv-vector-builtins.cc (rvv_switcher::rvv_switcher):
3822 Change to riscv_v_ext_vector_mode_p.
3823 (register_builtin_type): Ditto.
3824 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): Change to enabled
3825 modes.
3826 (ENTRY): Ditto.
3827 (riscv_v_ext_enabled_vector_mode_p): Remove.
3828 (riscv_v_adjust_nunits): New function.
3829 (riscv_vector_mode_supported_p): Use riscv_v_ext_vector_mode_p instead.
3830 * config/riscv/riscv.h (riscv_v_adjust_nunits): New function.
3831
3832 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3833
3834 * config.gcc (riscv*): Add riscv-v.o to extra_objs.
3835 * config/riscv/constraints.md (vu): New constraint.
3836 (vi): Ditto.
3837 (Wc0): Ditto.
3838 (Wc1): Ditto.
3839 * config/riscv/predicates.md (vector_length_operand): New.
3840 (reg_or_mem_operand): Ditto.
3841 (vector_move_operand): Ditto.
3842 (vector_mask_operand): Ditto.
3843 (vector_merge_operand): Ditto.
3844 * config/riscv/riscv-protos.h (riscv_regmode_natural_size) New.
3845 (riscv_vector::const_vec_all_same_in_range_p): Ditto.
3846 (riscv_vector::legitimize_move): Ditto.
3847 (tail_policy): Ditto.
3848 (mask_policy): Ditto.
3849 * config/riscv/riscv-v.cc: New.
3850 * config/riscv/riscv-vector-builtins-bases.cc
3851 (vsetvl::expand): Refactor how LMUL encoding.
3852 * config/riscv/riscv.cc (riscv_print_operand): Update how LMUL
3853 print and mask operand print.
3854 (riscv_regmode_natural_size): New.
3855 * config/riscv/riscv.h (REGMODE_NATURAL_SIZE): New.
3856 * config/riscv/riscv.md (mode): Add vector modes.
3857 * config/riscv/t-riscv (riscv-v.o) New.
3858 * config/riscv/vector-iterators.md: New.
3859 * config/riscv/vector.md (vundefined<mode>): New.
3860 (mov<mode>): New.
3861 (*mov<mode>): New.
3862 (@vsetvl<mode>_no_side_effects): New.
3863 (@pred_mov<mode>): New.
3864
3865 2022-10-26 Monk Chiang <monk.chiang@sifive.com>
3866
3867 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
3868 Add svinval and svnapot extension.
3869 (riscv_ext_flag_table): Ditto.
3870 * config/riscv/riscv-opts.h (MASK_SVINVAL): New.
3871 (MASK_SVNAPOT): Ditto.
3872 (TARGET_SVINVAL): Ditto.
3873 (TARGET_SVNAPOT): Ditto.
3874 * config/riscv/riscv.opt (riscv_sv_subext): New.
3875
3876 2022-10-26 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
3877
3878 * config/riscv/riscv-modes.def: Adjust table indentation in commnet.
3879
3880 2022-10-26 Martin Liska <mliska@suse.cz>
3881
3882 * configure: Regenerate.
3883
3884 2022-10-26 Aldy Hernandez <aldyh@redhat.com>
3885
3886 * value-range.cc (frange::set): Use HONOR_*.
3887 (frange::verify_range): Same.
3888 * value-range.h (frange_val_min): Same.
3889 (frange_val_max): Same.
3890
3891 2022-10-26 Jiufu Guo <guojiufu@linux.ibm.com>
3892
3893 PR target/106460
3894 * config/rs6000/rs6000.cc (rs6000_cannot_force_const_mem): Return true
3895 for HIGH code rtx.
3896
3897 2022-10-26 Kito Cheng <kito.cheng@sifive.com>
3898
3899 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
3900 Add `h`.
3901 (riscv_supported_std_ext): Ditto.
3902 (multi_letter_subset_rank): Remove `h`.
3903 (riscv_subset_list::parse_std_ext): Handle `h` as single letter
3904 extension.
3905 (riscv_subset_list::parse): Ditto.
3906
3907 2022-10-25 Eugene Rozenfeld <erozen@microsoft.com>
3908
3909 * auto-profile.cc (get_combined_location): Include discriminator in the
3910 returned combined location.
3911 (read_function_instance): Read discriminators from profiles.
3912
3913 2022-10-25 H.J. Lu <hjl.tools@gmail.com>
3914
3915 PR target/107304
3916 * expr.cc (get_inner_reference): Always use TYPE_MODE for vector
3917 field with vector raw mode.
3918
3919 2022-10-25 Segher Boessenkool <segher@kernel.crashing.org>
3920
3921 * config/rs6000/rs6000.md (CCEITHER): Delete.
3922 (CCANY): New.
3923 (un): Delete.
3924 (isel_<un>signed_<GPR:mode>): Rename to...
3925 (isel_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3926 (*isel_reversed_<un>signed_<GPR:mode>): Rename to...
3927 (*isel_reversed_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3928 (setbc_<un>signed_<GPR:mode>): Rename to...
3929 (setbc_<CCANY:mode>_<GPR:mode>C): ... this. Adjust."
3930 (*setbcr_<un>signed_<GPR:mode>): Rename to ...
3931 (*setbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3932 (*setnbc_<un>signed_<GPR:mode>): Rename to ...
3933 (*setnbc_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3934 (*setnbcr_<un>signed_<GPR:mode>): Rename to ...
3935 (*setnbcr_<CCANY:mode>_<GPR:mode>): ... this. Adjust.
3936 (eq<mode>3 for GPR): Adjust.
3937 (ne<mode>3 for GPR): Adjust.
3938 * config/rs6000/rs6000-string.cc (do_isel): Adjust.
3939 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Adjust.
3940
3941 2022-10-25 Richard Biener <rguenther@suse.de>
3942
3943 PR tree-optimization/107176
3944 PR tree-optimization/66375
3945 PR tree-optimization/42512
3946 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Revert
3947 the PR66375 fix, do not not associate PLUS_EXPR to be able
3948 to use tail-recursion.
3949 (follow_ssa_edge_binary): Likewise.
3950 (interpret_loop_phi): Revert PR42512 fix, do not throw
3951 away analyze_evolution_in_loop result after the fact.
3952 (follow_ssa_edge_expr): When reaching halting_phi initalize
3953 the evolution to the symbolic value of the PHI result.
3954 (add_to_evolution_1): When adding the first evolution verify
3955 we can handle the expression wrapping the symbolic evolution
3956 and replace that in full using the initial condition.
3957 (class scev_dfs): New, contains ...
3958 (follow_ssa_edge_expr, follow_ssa_edge_binary,
3959 follow_ssa_edge_in_condition_phi_branch,
3960 follow_ssa_edge_in_condition_phi,
3961 follow_ssa_edge_inner_loop_phi,
3962 add_to_evolution, add_to_evolution_1): ... these with
3963 loop and halting_phi arguments in class data.
3964 (scev_dfs::get_ev): New toplevel DFS entry, start with
3965 a chrec_dont_know evolution.
3966 (analyze_evolution_in_loop): Use scev_dfs.
3967
3968 2022-10-25 Eric Botcazou <ebotcazou@adacore.com>
3969
3970 * profile.cc (branch_prob): Be prepared for ignored functions with
3971 DECL_SOURCE_LOCATION set to UNKNOWN_LOCATION.
3972
3973 2022-10-25 Richard Biener <rguenther@suse.de>
3974
3975 * tree-scalar-evolution.cc (follow_ssa_edge_expr): Move
3976 STRIP_USELESS_TYPE_CONVERSIONS to where it matters.
3977
3978 2022-10-25 Tejas Joshi <TejasSanjay.Joshi@amd.com>
3979
3980 * common/config/i386/i386-common.cc (processor_alias_table): Use
3981 CPU_ZNVER3 for znver4.
3982 * config/i386/znver.md: Remove znver4 reservations.
3983
3984 2022-10-25 Jakub Jelinek <jakub@redhat.com>
3985
3986 * gimplify.cc (gimple_boolify): Fix comment typos, prduce -> produce
3987 and There -> These.
3988
3989 2022-10-25 Jakub Jelinek <jakub@redhat.com>
3990
3991 PR tree-optimization/107368
3992 * gimplify.cc (gimplify_call_expr): For complex IFN_ASSUME
3993 conditions call gimple_boolify on the condition.
3994
3995 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
3996
3997 * config.gcc: add -with-compact-branches=policy build option.
3998 * doc/install.texi: Likewise.
3999 * config/mips/mips.h: Likewise.
4000
4001 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
4002
4003 * config/mips/mips.cc (mips_option_override): not trigger error
4004 for compact-branches=always for pre-R6.
4005 * config/mips/mips.h (TARGET_RTP_PIC): not trigger error for
4006 compact-branches=always for pre-R6.
4007 (TARGET_CB_NEVER): Likewise.
4008 (TARGET_CB_ALWAYS): Likewise.
4009 (struct mips_cpu_info): define macros for compact branch policy.
4010 * doc/invoke.texi: Document "always" with pre-R6.
4011
4012 2022-10-25 Jakub Jelinek <jakub@redhat.com>
4013
4014 PR tree-optimization/107369
4015 * gimplify.cc (gimplify_call_expr): If seen_error, handle complex
4016 IFN_ASSUME the same as for -O0.
4017
4018 2022-10-25 YunQiang Su <yunqiang.su@cipunited.com>
4019
4020 * configure.ac: AC_DEFINE(ENABLE_MULTIARCH, 1)
4021 * configure: Regenerated.
4022 * config.in: Regenerated.
4023 * config/mips/mips.h: don't define STANDARD_STARTFILE_PREFIX_1
4024 if ENABLE_MULTIARCH is defined.
4025 * config/mips/t-linux64: define correct multiarch path when
4026 multiarch is enabled.
4027
4028 2022-10-25 Richard Biener <rguenther@suse.de>
4029
4030 PR tree-optimization/100756
4031 * tree-ssa-loop-niter.cc (expand_simple_operations): Also
4032 expand multiplications by invariants.
4033
4034 2022-10-25 Kewen Lin <linkw@linux.ibm.com>
4035
4036 PR tree-optimization/107338
4037 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Move
4038 shfit_n calculation before the adjustments for widening loads.
4039
4040 2022-10-25 Martin Liska <mliska@suse.cz>
4041
4042 * common/config/riscv/riscv-common.cc
4043 (riscv_get_valid_option_values): Get out of ifdef.
4044
4045 2022-10-25 Martin Liska <mliska@suse.cz>
4046
4047 PR target/107364
4048 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
4049 Fix pedantic warning.
4050
4051 2022-10-24 Martin Liska <mliska@suse.cz>
4052
4053 PR analyzer/107366
4054 * diagnostic-format-sarif.cc
4055 (sarif_builder::maybe_make_physical_location_object): Gracefully
4056 reject locations with NULL filename.
4057
4058 2022-10-24 David Malcolm <dmalcolm@redhat.com>
4059
4060 PR analyzer/106300
4061 * doc/invoke.texi (Static Analyzer Options): Add "pipe" and
4062 "pipe2" to the list of functions the analyzer has hardcoded
4063 knowledge of.
4064
4065 2022-10-24 Jason Merrill <jason@redhat.com>
4066
4067 * tree.h (build_string_literal): New one-argument overloads that
4068 take tree (identifier) and const char *.
4069 * builtins.cc (fold_builtin_FILE)
4070 (fold_builtin_FUNCTION)
4071 * gimplify.cc (gimple_add_init_for_auto_var)
4072 * vtable-verify.cc (verify_bb_vtables): Simplify calls.
4073
4074 2022-10-24 Martin Liska <mliska@suse.cz>
4075
4076 PR target/107364
4077 * common/config/i386/i386-cpuinfo.h (enum processor_vendor):
4078 Reorder enum values as BUILTIN_VENDOR_MAX should not point
4079 in the middle of the valid enum values.
4080
4081 2022-10-24 Marek Polacek <polacek@redhat.com>
4082
4083 PR c++/107276
4084 * tree.cc (maybe_wrap_with_location): Don't create a location wrapper
4085 when the type is erroneous.
4086
4087 2022-10-24 Wilco Dijkstra <wdijkstr@arm.com>
4088
4089 PR target/106583
4090 * config/aarch64/aarch64.cc (aarch64_internal_mov_immediate)
4091 Add support for a bitmask immediate with 2 MOVKs.
4092 (aarch64_check_bitmask): New function after refactorization.
4093 (aarch64_bitmask_imm): Simplify replication of small modes.
4094 Split function into 64-bit only version for efficiency.
4095 (aarch64_move_imm): Move near other immediate functions.
4096 (aarch64_uimm12_shift): Likewise.
4097 (aarch64_clamp_to_uimm12_shift): Likewise.
4098 (aarch64_movk_shift): Likewise.
4099 (aarch64_replicate_bitmask_imm): Likewise.
4100 (aarch64_and_split_imm1): Likewise.
4101 (aarch64_and_split_imm2): Likewise.
4102 (aarch64_and_bitmask_imm): Likewise.
4103 (aarch64_movw_imm): Likewise.
4104
4105 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
4106
4107 PR tree-optimization/107355
4108 * range-op-float.cc (foperator_abs::op1_range): Handle NAN.
4109
4110 2022-10-24 Tobias Burnus <tobias@codesourcery.com>
4111
4112 PR middle-end/107236
4113 * omp-expand.cc (expand_omp_target): Set calls_declare_variant_alt
4114 in DECL_CONTEXT and not to cfun->decl.
4115 * cgraphclones.cc (cgraph_node::create_clone): Copy also the
4116 node's calls_declare_variant_alt value.
4117
4118 2022-10-24 Kito Cheng <kito.cheng@sifive.com>
4119
4120 * common/config/riscv/riscv-common.cc (riscv_tunes): New.
4121 (riscv_get_valid_option_values): New.
4122 (TARGET_GET_VALID_OPTION_VALUES): New.
4123 * config/riscv/riscv-cores.def (RISCV_TUNE): New, define options
4124 for tune here.
4125 (RISCV_CORE): Fix comment.
4126 * config/riscv/riscv.cc (riscv_tune_info_table): Move definition to
4127 riscv-cores.def.
4128
4129 2022-10-24 Aldy Hernandez <aldyh@redhat.com>
4130
4131 PR tree-optimization/107365
4132 * value-range.cc (frange::verify_range): Predicate NAN check in
4133 VARYING range on HONOR_NANS instead of flag_finite_math_only.
4134 (range_tests_floats): Same.
4135 (range_tests_floats_various): New.
4136 (range_tests): Call range_tests_floats_various.
4137
4138 2022-10-24 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
4139 Yvan ROUX <yvan.roux@foss.st.com>
4140
4141 * lto-wrapper.cc: Quote paths in makefile.
4142
4143 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4144
4145 * config/riscv/riscv.cc (riscv_legitimize_move): Support (set (mem) (const_poly_int)).
4146
4147 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4148
4149 * config/riscv/riscv-vector-builtins-bases.cc: Replace CONSTEXPR
4150 with constexpr throughout.
4151 * config/riscv/riscv-vector-builtins-shapes.cc (SHAPE): Likewise.
4152 * config/riscv/riscv-vector-builtins.cc
4153 (struct registered_function_hasher): Likewise.
4154 * config/riscv/riscv-vector-builtins.h (struct rvv_arg_type_info):
4155 Likewise.
4156
4157 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4158
4159 * config/riscv/riscv-vector-switch.def (ENTRY): Remove unused TI/TF vector modes.
4160
4161 2022-10-24 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4162
4163 * config/riscv/riscv.h (REG_CLASS_CONTENTS): Fix ALL_REGS.
4164
4165 2022-10-22 Michael Eager <eager@eagercon.com>
4166
4167 * config/microblaze/microblaze.cc
4168 (microblaze_legitimize_address): Initialize 'reg' to NULL, check for NULL.
4169 (microblaze_address_insns): Replace abort() with gcc_unreachable().
4170 (print_operand_address): Same.
4171 (microblaze_expand_move): Initialize 'p1' to NULL, check for NULL.
4172 (get_branch_target): Replace abort() with gcc_unreachable().
4173
4174 2022-10-22 Aldy Hernandez <aldyh@redhat.com>
4175
4176 * value-range.cc (range_tests_floats): Predicate [-Inf, +Inf] test
4177 with !flag_finite_math_only.
4178
4179 2022-10-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4180
4181 * config/xtensa/xtensa.cc (xtensa_conditional_register_usage):
4182 Remove register A0 from FIXED_REGS if the CALL0 ABI.
4183 (xtensa_expand_epilogue): Change to emit '(use (reg:SI A0_REG))'
4184 unconditionally after restoring callee-saved registers for
4185 sibling-call functions, in order to prevent misleading that
4186 register A0 is free to use.
4187
4188 2022-10-21 Jakub Jelinek <jakub@redhat.com>
4189
4190 PR target/107322
4191 * config/i386/i386-expand.cc (ix86_prepare_fp_compare_args): For
4192 BFmode comparisons promote arguments to SFmode and recurse.
4193 (ix86_expand_int_movcc, ix86_expand_fp_movcc): Return false early
4194 if comparison operands are BFmode and operands[1] is not
4195 ix86_fp_comparison_operator.
4196
4197 2022-10-21 Tejas Joshi <TejasSanjay.Joshi@amd.com>
4198
4199 * common/config/i386/cpuinfo.h (get_amd_cpu): Recognize znver4.
4200 * common/config/i386/i386-common.cc (processor_names): Add znver4.
4201 (processor_alias_table): Add znver4 and modularize old znvers.
4202 * common/config/i386/i386-cpuinfo.h (processor_subtypes):
4203 AMDFAM19H_ZNVER4.
4204 * config.gcc (x86_64-*-* |...): Likewise.
4205 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
4206 -march=native recognize znver4 cpus.
4207 * config/i386/i386-c.cc (ix86_target_macros_internal): Add znver4.
4208 * config/i386/i386-options.cc (m_ZNVER4): New definition.
4209 (m_ZNVER): Include m_ZNVER4.
4210 (processor_cost_table): Add znver4.
4211 * config/i386/i386.cc (ix86_reassociation_width): Likewise.
4212 * config/i386/i386.h (processor_type): Add PROCESSOR_ZNVER4.
4213 (PTA_ZNVER1): New definition.
4214 (PTA_ZNVER2): Likewise.
4215 (PTA_ZNVER3): Likewise.
4216 (PTA_ZNVER4): Likewise.
4217 * config/i386/i386.md (define_attr "cpu"): Add znver4 and rename
4218 md file.
4219 * config/i386/x86-tune-costs.h (znver4_cost): New definition.
4220 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add znver4.
4221 (ix86_adjust_cost): Likewise.
4222 * config/i386/znver1.md: Rename to znver.md.
4223 * config/i386/znver.md: Add new reservations for znver4.
4224 * doc/extend.texi: Add details about znver4.
4225 * doc/invoke.texi: Likewise.
4226
4227 2022-10-21 Richard Biener <rguenther@suse.de>
4228
4229 PR tree-optimization/107323
4230 * tree-loop-distribution.cc (pg_unmark_merged_alias_ddrs):
4231 New function.
4232 (loop_distribution::break_alias_scc_partitions): Revert
4233 postorder save/restore from the PR94125 fix. Instead
4234 make sure to not ignore edges from SCCs we are going to
4235 merge.
4236
4237 2022-10-21 Monk Chiang <monk.chiang@sifive.com>
4238
4239 * config/riscv/riscv.md: Add atomic type attribute.
4240 * config/riscv/sync.md: Add atomic type for atomic instructions.
4241
4242 2022-10-21 Jakub Jelinek <jakub@redhat.com>
4243
4244 PR tree-optimization/54346
4245 * match.pd ((vec_perm (vec_perm@0 @1 @2 VECTOR_CST) @0 VECTOR_CST)):
4246 Optimize nested VEC_PERM_EXPRs even if target can't handle the
4247 new one provided we don't increase number of VEC_PERM_EXPRs the
4248 target can't handle.
4249
4250 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4251
4252 * config.gcc: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
4253 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_I_OPS): New macro.
4254 (DEF_RVV_FUNCTION): Ditto.
4255 (handle_pragma_vector): Add intrinsic framework.
4256 * config/riscv/riscv.cc (riscv_print_operand): Add operand print for vsetvl/vsetvlmax.
4257 * config/riscv/riscv.md: include vector.md.
4258 * config/riscv/t-riscv: Add riscv-vector-builtins-bases.o and riscv-vector-builtins-shapes.o
4259 * config/riscv/riscv-vector-builtins-bases.cc: New file.
4260 * config/riscv/riscv-vector-builtins-bases.h: New file.
4261 * config/riscv/riscv-vector-builtins-functions.def: New file.
4262 * config/riscv/riscv-vector-builtins-shapes.cc: New file.
4263 * config/riscv/riscv-vector-builtins-shapes.h: New file.
4264 * config/riscv/riscv-vector-builtins-types.def: New file.
4265 * config/riscv/vector.md: New file.
4266
4267 2022-10-21 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
4268
4269 * config.gcc: Add gt files since function_instance is GTY ((user)).
4270 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV intrinsic framework.
4271 (riscv_builtin_decl): Ditto.
4272 (riscv_expand_builtin): Ditto.
4273 * config/riscv/riscv-protos.h (builtin_decl): New function.
4274 (expand_builtin): Ditto.
4275 (enum riscv_builtin_class): New enum to classify RVV intrinsic and RISC-V general built-in.
4276 * config/riscv/riscv-vector-builtins.cc (class GTY): New declaration.
4277 (struct registered_function_hasher): New struct.
4278 (DEF_RVV_OP_TYPE): New macro.
4279 (DEF_RVV_TYPE): Ditto.
4280 (DEF_RVV_PRED_TYPE): Ditto.
4281 (GTY): New declaration.
4282 (add_attribute): New function.
4283 (check_required_extensions): Ditto.
4284 (rvv_arg_type_info::get_tree_type): Ditto.
4285 (function_instance::function_instance): Ditto.
4286 (function_instance::operator==): Ditto.
4287 (function_instance::any_type_float_p): Ditto.
4288 (function_instance::get_return_type): Ditto.
4289 (function_instance::get_arg_type): Ditto.
4290 (function_instance::hash): Ditto.
4291 (function_instance::call_properties): Ditto.
4292 (function_instance::reads_global_state_p): Ditto.
4293 (function_instance::modifies_global_state_p): Ditto.
4294 (function_instance::could_trap_p): Ditto.
4295 (function_builder::function_builder): Ditto.
4296 (function_builder::~function_builder): Ditto.
4297 (function_builder::allocate_argument_types): Ditto.
4298 (function_builder::register_function_group): Ditto.
4299 (function_builder::append_name): Ditto.
4300 (function_builder::finish_name): Ditto.
4301 (function_builder::get_attributes): Ditto.
4302 (function_builder::add_function): Ditto.
4303 (function_builder::add_unique_function): Ditto.
4304 (function_call_info::function_call_info): Ditto.
4305 (function_expander::function_expander): Ditto.
4306 (function_expander::add_input_operand): Ditto.
4307 (function_expander::generate_insn): Ditto.
4308 (registered_function_hasher::hash): Ditto.
4309 (registered_function_hasher::equal): Ditto.
4310 (builtin_decl): Ditto.
4311 (expand_builtin): Ditto.
4312 (gt_ggc_mx): Define for using GCC garbage collect.
4313 (gt_pch_nx): Define for using GCC garbage collect.
4314 * config/riscv/riscv-vector-builtins.def (DEF_RVV_OP_TYPE): New macro.
4315 (DEF_RVV_PRED_TYPE): Ditto.
4316 (vbool64_t): Add suffix.
4317 (vbool32_t): Ditto.
4318 (vbool16_t): Ditto.
4319 (vbool8_t): Ditto.
4320 (vbool4_t): Ditto.
4321 (vbool2_t): Ditto.
4322 (vbool1_t): Ditto.
4323 (vint8mf8_t): Ditto.
4324 (vuint8mf8_t): Ditto.
4325 (vint8mf4_t): Ditto.
4326 (vuint8mf4_t): Ditto.
4327 (vint8mf2_t): Ditto.
4328 (vuint8mf2_t): Ditto.
4329 (vint8m1_t): Ditto.
4330 (vuint8m1_t): Ditto.
4331 (vint8m2_t): Ditto.
4332 (vuint8m2_t): Ditto.
4333 (vint8m4_t): Ditto.
4334 (vuint8m4_t): Ditto.
4335 (vint8m8_t): Ditto.
4336 (vuint8m8_t): Ditto.
4337 (vint16mf4_t): Ditto.
4338 (vuint16mf4_t): Ditto.
4339 (vint16mf2_t): Ditto.
4340 (vuint16mf2_t): Ditto.
4341 (vint16m1_t): Ditto.
4342 (vuint16m1_t): Ditto.
4343 (vint16m2_t): Ditto.
4344 (vuint16m2_t): Ditto.
4345 (vint16m4_t): Ditto.
4346 (vuint16m4_t): Ditto.
4347 (vint16m8_t): Ditto.
4348 (vuint16m8_t): Ditto.
4349 (vint32mf2_t): Ditto.
4350 (vuint32mf2_t): Ditto.
4351 (vint32m1_t): Ditto.
4352 (vuint32m1_t): Ditto.
4353 (vint32m2_t): Ditto.
4354 (vuint32m2_t): Ditto.
4355 (vint32m4_t): Ditto.
4356 (vuint32m4_t): Ditto.
4357 (vint32m8_t): Ditto.
4358 (vuint32m8_t): Ditto.
4359 (vint64m1_t): Ditto.
4360 (vuint64m1_t): Ditto.
4361 (vint64m2_t): Ditto.
4362 (vuint64m2_t): Ditto.
4363 (vint64m4_t): Ditto.
4364 (vuint64m4_t): Ditto.
4365 (vint64m8_t): Ditto.
4366 (vuint64m8_t): Ditto.
4367 (vfloat32mf2_t): Ditto.
4368 (vfloat32m1_t): Ditto.
4369 (vfloat32m2_t): Ditto.
4370 (vfloat32m4_t): Ditto.
4371 (vfloat32m8_t): Ditto.
4372 (vfloat64m1_t): Ditto.
4373 (vfloat64m2_t): Ditto.
4374 (vfloat64m4_t): Ditto.
4375 (vfloat64m8_t): Ditto.
4376 (vv): Ditto.
4377 (vx): Ditto.
4378 (v): Ditto.
4379 (wv): Ditto.
4380 (wx): Ditto.
4381 (x_x_v): Ditto.
4382 (vf2): Ditto.
4383 (vf4): Ditto.
4384 (vf8): Ditto.
4385 (vvm): Ditto.
4386 (vxm): Ditto.
4387 (x_x_w): Ditto.
4388 (v_v): Ditto.
4389 (v_x): Ditto.
4390 (vs): Ditto.
4391 (mm): Ditto.
4392 (m): Ditto.
4393 (vf): Ditto.
4394 (vm): Ditto.
4395 (wf): Ditto.
4396 (vfm): Ditto.
4397 (v_f): Ditto.
4398 (ta): Ditto.
4399 (tu): Ditto.
4400 (ma): Ditto.
4401 (mu): Ditto.
4402 (tama): Ditto.
4403 (tamu): Ditto.
4404 (tuma): Ditto.
4405 (tumu): Ditto.
4406 (tam): Ditto.
4407 (tum): Ditto.
4408 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_VECTOR_BUILTINS_H): New macro.
4409 (RVV_REQUIRE_RV64BIT): Ditto.
4410 (RVV_REQUIRE_ZVE64): Ditto.
4411 (RVV_REQUIRE_ELEN_FP_32): Ditto.
4412 (RVV_REQUIRE_ELEN_FP_64): Ditto.
4413 (enum operand_type_index): New enum.
4414 (DEF_RVV_OP_TYPE): New macro.
4415 (enum predication_type_index): New enum.
4416 (DEF_RVV_PRED_TYPE): New macro.
4417 (enum rvv_base_type): New enum.
4418 (struct rvv_builtin_suffixes): New struct.
4419 (struct rvv_arg_type_info): Ditto.
4420 (struct rvv_type_info): Ditto.
4421 (struct rvv_op_info): Ditto.
4422 (class registered_function): New class.
4423 (class function_base): Ditto.
4424 (class function_shape): Ditto.
4425 (struct function_group_info): New struct.
4426 (class GTY): New class.
4427 (class function_builder): Ditto.
4428 (class function_call_info): Ditto.
4429 (function_call_info::function_returns_void_p): New function.
4430 (class function_expander): New class.
4431 (function_instance::operator!=): New function.
4432 (function_expander::expand): Ditto.
4433 (function_expander::add_input_operand): Ditto.
4434 (function_base::call_properties): Ditto.
4435
4436 2022-10-21 Haochen Jiang <haochen.jiang@intel.com>
4437
4438 * config/i386/sse.md (ssedvecmode): Rename from VI1SI.
4439 (ssedvecmodelower): Rename from vi1si.
4440 (sdot_prod<mode>): New define_expand.
4441 (udot_prod<mode>): Ditto.
4442
4443 2022-10-21 Kong Lingling <lingling.kong@intel.com>
4444 Hongyu Wang <hongyu.wang@intel.com>
4445 Haochen Jiang <haochen.jiang@intel.com>
4446
4447 * common/config/i386/cpuinfo.h (get_available_features): Detect
4448 avxvnniint8.
4449 * common/config/i386/i386-common.cc
4450 (OPTION_MASK_ISA2_AVXVNNIINT8_SET): New.
4451 (OPTION_MASK_ISA2_AVXVNNIINT8_UNSET): Ditto.
4452 (ix86_handle_option): Handle -mavxvnniint8.
4453 * common/config/i386/i386-cpuinfo.h (enum processor_features):
4454 Add FEATURE_AVXVNNIINT8.
4455 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
4456 avxvnniint8.
4457 * config.gcc: Add avxvnniint8intrin.h.
4458 * config/i386/avxvnniint8intrin.h: New file.
4459 * config/i386/cpuid.h (bit_AVXVNNIINT8): New.
4460 * config/i386/i386-builtin.def: Add new builtins.
4461 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
4462 __AVXVNNIINT8__.
4463 * config/i386/i386-options.cc (isa2_opts): Add -mavxvnniint8.
4464 (ix86_valid_target_attribute_inner_p): Handle avxvnniint8.
4465 * config/i386/i386-isa.def: Add DEF_PTA(AVXVNNIINT8) New..
4466 * config/i386/i386.opt: Add option -mavxvnniint8.
4467 * config/i386/immintrin.h: Include avxvnniint8intrin.h.
4468 * config/i386/sse.md (UNSPEC_VPMADDUBSWACCD
4469 UNSPEC_VPMADDUBSWACCSSD,UNSPEC_VPMADDWDACCD,
4470 UNSPEC_VPMADDWDACCSSD): Rename according to new style.
4471 (vpdp<vpdotprodtype>_<mode>): New define_insn.
4472 * doc/extend.texi: Document avxvnniint8.
4473 * doc/invoke.texi: Document -mavxvnniint8.
4474 * doc/sourcebuild.texi: Document target avxvnniint8.
4475
4476 2022-10-21 Hongyu Wang <hongyu.wang@intel.com>
4477
4478 * common/config/i386/i386-common.cc
4479 (OPTION_MASK_ISA_AVXIFMA_SET, OPTION_MASK_ISA2_AVXIFMA_UNSET,
4480 OPTION_MASK_ISA2_AVX2_UNSET): New macro.
4481 (ix86_handle_option): Handle -mavxifma.
4482 * common/config/i386/i386-cpuinfo.h (processor_types): Add
4483 FEATURE_AVXIFMA.
4484 * common/config/i386/i386-isas.h: Add ISA_NAME_TABLE_ENTRY for
4485 avxifma.
4486 * common/config/i386/cpuinfo.h (get_available_features):
4487 Detect avxifma.
4488 * config.gcc: Add avxifmaintrin.h
4489 * config/i386/avx512ifmavlintrin.h: (_mm_madd52lo_epu64): Change
4490 to macro.
4491 (_mm_madd52hi_epu64): Likewise.
4492 (_mm256_madd52lo_epu64): Likewise.
4493 (_mm256_madd52hi_epu64): Likewise.
4494 * config/i386/avxifmaintrin.h: New header.
4495 * config/i386/cpuid.h (bit_AVXIFMA): New.
4496 * config/i386/i386-builtin.def: Add new builtins, and correct
4497 pattern names for AVX512IFMA.
4498 * config/i386/i386-builtins.cc (def_builtin): Handle AVX-IFMA
4499 builtins like AVX-VNNI.
4500 * config/i386/i386-c.cc (ix86_target_macros_internal): Define
4501 __AVXIFMA__.
4502 * config/i386/i386-expand.cc (ix86_check_builtin_isa_match):
4503 Relax ISA masks for AVXIFMA.
4504 * config/i386/i386-isa.def: Add AVXIFMA.
4505 * config/i386/i386-options.cc (isa2_opts): Add -mavxifma.
4506 (ix86_valid_target_attribute_inner_p): Handle avxifma.
4507 * config/i386/i386.md (isa): Add attr avxifma and avxifmavl.
4508 * config/i386/i386.opt: Add option -mavxifma.
4509 * config/i386/immintrin.h: Inculde avxifmaintrin.h.
4510 * config/i386/sse.md (avx_vpmadd52<vpmadd52type>_<mode>):
4511 Remove.
4512 (vpamdd52<vpmadd52type><mode><sd_maskz_name>): Remove.
4513 (vpamdd52huq<mode>_maskz): Rename to ...
4514 (vpmadd52huq<mode>_maskz): ... this.
4515 (vpamdd52luq<mode>_maskz): Rename to ...
4516 (vpmadd52luq<mode>_maskz): ... this.
4517 (vpmadd52<vpmadd52type><mode>): New define_insn.
4518 (vpmadd52<vpmadd52type>v8di): Likewise.
4519 (vpmadd52<vpmadd52type><mode>_maskz_1): Likewise.
4520 (vpamdd52<vpmadd52type><mode>_mask): Rename to ...
4521 (vpmadd52<vpmadd52type><mode>_mask): ... this.
4522 * doc/invoke.texi: Document -mavxifma.
4523 * doc/extend.texi: Document avxifma.
4524 * doc/sourcebuild.texi: Document target avxifma.
4525
4526 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4527
4528 PR c++/106654
4529 * value-query.cc (get_range_global): Handle non integer ranges for
4530 default def SSA names.
4531
4532 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4533
4534 * range-op-float.cc (foperator_unordered_lt::op1_range): New.
4535 (foperator_unordered_lt::op2_range): New.
4536
4537 2022-10-20 Artem Klimov <jakmobius@gmail.com>
4538 Alexander Monakov <amonakov@gcc.gnu.org>
4539
4540 PR middle-end/99619
4541 * ipa-visibility.cc (function_and_variable_visibility): Promote
4542 TLS access model afer visibility optimizations.
4543 * varasm.cc (have_optimized_refs): New helper.
4544 (optimize_dyn_tls_for_decl_p): New helper. Use it ...
4545 (decl_default_tls_model): ... here in place of 'optimize' check.
4546
4547 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4548
4549 * range-op-float.cc (foperator_unordered_le::op1_range): Adjust
4550 false side with a NAN operand.
4551 (foperator_unordered_le::op2_range): Same.
4552 (foperator_unordered_gt::op1_range): Same.
4553 (foperator_unordered_gt::op2_range): Same.
4554 (foperator_unordered_ge::op1_range): Same.
4555 (foperator_unordered_ge::op2_range): Same.
4556 (foperator_unordered_equal::op1_range): Same.
4557
4558 2022-10-20 Andre Vieira <andre.simoesdiasvieira@arm.com>
4559
4560 PR tree-optimization/107326
4561 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Change
4562 vectype when widening container.
4563
4564 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4565
4566 * value-range.h (frange::set_varying): Do not set NAN flags for
4567 !HONOR_NANS.
4568 * value-range.cc (frange::normalize_kind): Adjust for no NAN when
4569 !HONOR_NANS.
4570 (frange::verify_range): Same.
4571 * range-op-float.cc (maybe_isnan): Remove flag_finite_math_only check.
4572
4573 2022-10-20 Aldy Hernandez <aldyh@redhat.com>
4574
4575 * range-op-float.cc (finite_operand_p): Remove.
4576 (finite_operands_p): Rename to...
4577 (maybe_isnan): ...this.
4578 (frelop_early_resolve): Use maybe_isnan instead of finite_operands_p.
4579 (foperator_equal::fold_range): Same.
4580 (foperator_equal::op1_range): Same.
4581 (foperator_not_equal::fold_range): Same.
4582 (foperator_lt::fold_range): Same.
4583 (foperator_le::fold_range): Same.
4584 (foperator_gt::fold_range): Same.
4585 (foperator_ge::fold_range): Same.
4586
4587 2022-10-20 Jakub Jelinek <jakub@redhat.com>
4588
4589 * passes.cc (pass_manager::register_pass): Fix a comment
4590 typo - copmilation -> compilation.
4591
4592 2022-10-20 Richard Biener <rguenther@suse.de>
4593
4594 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p):
4595 Disallow latch PHI defs.
4596 (vectorizable_recurr): Revert previous change.
4597
4598 2022-10-20 Julian Brown <julian@codesourcery.com>
4599
4600 PR target/105421
4601 * config/gcn/gcn.cc (gcn_detect_incoming_pointer_arg): Any pointer
4602 argument forces FLAT addressing mode, not just
4603 pointer-to-non-aggregate.
4604
4605 2022-10-20 Thomas Schwinge <thomas@codesourcery.com>
4606
4607 * configure.ac (AC_CONFIG_MACRO_DIRS): Instantiate.
4608 * configure: Regenerate.
4609
4610 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4611
4612 * config/aarch64/aarch64-sve-builtins.h
4613 (gimple_folder::fold_to_cstu): New member function.
4614 * config/aarch64/aarch64-sve-builtins.cc
4615 (gimple_folder::fold_to_cstu): Define.
4616 * config/aarch64/aarch64-sve-builtins-base.cc
4617 (svcnt_bhwd_impl::fold): Use it.
4618
4619 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4620
4621 * config/aarch64/aarch64-sve-builtins-functions.h (quiet)
4622 (rtx_code_function, rtx_code_function_rotated, unspec_based_function)
4623 (unspec_based_function_rotated, unspec_based_function_exact_insn)
4624 (unspec_based_fused_function, unspec_based_fused_lane_function):
4625 Replace constructors with using directives.
4626 * config/aarch64/aarch64-sve-builtins-base.cc (svcnt_bhwd_pat_impl)
4627 (svcreate_impl, svdotprod_lane_impl, svget_impl, svld1_extend_impl)
4628 (svld1_gather_extend_impl, svld234_impl, svldff1_gather_extend)
4629 (svset_impl, svst1_scatter_truncate_impl, svst1_truncate_impl)
4630 (svst234_impl, svundef_impl): Likewise.
4631 * config/aarch64/aarch64-sve-builtins-sve2.cc
4632 (svldnt1_gather_extend_impl, svmovl_lb_impl): Likewise.
4633 (svstnt1_scatter_truncate_impl): Likewise.
4634
4635 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4636
4637 * config/aarch64/aarch64-sve-builtins-base.cc: Replace CONSTEXPR
4638 with constexpr throughout.
4639 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
4640 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
4641 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
4642 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
4643
4644 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4645
4646 * config/aarch64/aarch64-sve.md (*aarch64_brk<brk_op>_cc): Remove
4647 merging alternative.
4648 (*aarch64_brk<brk_op>_ptest): Likewise.
4649
4650 2022-10-20 Richard Sandiford <richard.sandiford@arm.com>
4651
4652 * config/aarch64/iterators.md (SVE_BRKP): New iterator.
4653 * config/aarch64/aarch64-sve.md (*aarch64_brkn_cc): New pattern.
4654 (*aarch64_brkn_ptest): Likewise.
4655 (*aarch64_brk<brk_op>_cc): Restrict to SVE_BRKP.
4656 (*aarch64_brk<brk_op>_ptest): Likewise.
4657
4658 2022-10-20 Richard Biener <rguenther@suse.de>
4659
4660 PR c/107305
4661 PR c/107306
4662 * tree-cfg.h (verify_gimple_in_seq): Add parameter to
4663 indicate whether to emit an ICE. Add return value.
4664 (verify_gimple_in_cfg): Likewise.
4665 * tree-cfg.cc (verify_gimple_in_seq): Likewise.
4666 (verify_gimple_in_cfg): Likewise.
4667
4668 2022-10-20 Richard Biener <rguenther@suse.de>
4669
4670 PR tree-optimization/107240
4671 * tree-vect-patterns.cc (vect_recog_bit_insert_pattern): Attempt to
4672 simplify shifted value first.
4673
4674 2022-10-20 Andrew MacLeod <amacleod@redhat.com>
4675
4676 * gimple-range-gori.h (compute_operand_range): Make public.
4677 * gimple-range-infer.cc (gimple_infer_range::check_assume_func): New.
4678 (gimple_infer_range::gimple_infer_range): Check for assume calls.
4679 * gimple-range-infer.h (check_assume_func): Add prototype.
4680 * gimple-range.cc (assume_query::assume_range_p): New.
4681 (assume_query::range_of_expr): New.
4682 (assume_query::assume_query): New.
4683 (assume_query::calculate_op): New.
4684 (assume_query::calculate_phi): New.
4685 (assume_query::check_taken_edge): New.
4686 (assume_query::calculate_stmt): New.
4687 (assume_query::dump): New.
4688 * gimple-range.h (class assume_query): New.
4689 * tree-vrp.cc (pass_assumptions::execute): Add processing.
4690
4691 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
4692
4693 * range-op-float.cc (build_le): Document result.
4694 (build_lt): Same.
4695 (build_ge): Same.
4696 (foperator_ge::op2_range): Check result of build_*.
4697 (foperator_unordered_le::op1_range): Same.
4698 (foperator_unordered_le::op2_range): Same.
4699 (foperator_unordered_gt::op1_range): Same.
4700 (foperator_unordered_gt::op2_range): Same.
4701 (foperator_unordered_ge::op1_range): Same.
4702 (foperator_unordered_ge::op2_range): Same.
4703
4704 2022-10-19 Marek Polacek <polacek@redhat.com>
4705
4706 PR c++/85043
4707 * doc/invoke.texi: Update documentation of -Wuseless-cast.
4708
4709 2022-10-19 Andrew MacLeod <amacleod@redhat.com>
4710
4711 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
4712 Value_Range not int_range_max.
4713
4714 2022-10-19 Aldy Hernandez <aldyh@redhat.com>
4715
4716 PR tree-optimization/107312
4717 * range.h (range_true_and_false): Special case 1-bit signed types.
4718 * value-range.cc (range_tests_misc): New test.
4719
4720 2022-10-19 LIU Hao <lh_mouse@126.com>
4721
4722 * config/i386/mingw-mcfgthread.h: New file
4723 * config/i386/mingw32.h: Add builtin macro and default libraries
4724 for mcfgthread when thread model is `mcf`
4725 * config.gcc: Include 'i386/mingw-mcfgthread.h' when thread model
4726 is `mcf`
4727 * configure.ac: Recognize `mcf` as a valid thread model
4728 * config.in: Regenerate
4729 * configure: Regenerate
4730
4731 2022-10-19 Lewis Hyatt <lhyatt@gmail.com>
4732
4733 * gengtype.cc (output_escaped_param): Add missing const.
4734 (get_string_option): Add missing check for option type.
4735 (walk_type): Support new "string_length" GTY option.
4736 (write_types_process_field): Likewise.
4737 * ggc-common.cc (gt_pch_note_object): Add optional length argument.
4738 * ggc.h (gt_pch_note_object): Adjust prototype for new argument.
4739 (gt_pch_n_S2): Declare...
4740 * stringpool.cc (gt_pch_n_S2): ...new function.
4741 * doc/gty.texi: Document new GTY((string_length)) option.
4742
4743 2022-10-19 Martin Liska <mliska@suse.cz>
4744
4745 * doc/extend.texi: Remove useless @tie{} directives.
4746
4747 2022-10-19 Martin Jambor <mjambor@suse.cz>
4748
4749 PR tree-optimization/107206
4750 * tree-sra.cc (struct access): New field grp_result_of_prop_from_lhs.
4751 (analyze_access_subtree): Do not create replacements for accesses with
4752 this flag when not toally scalarizing.
4753 (propagate_subaccesses_from_lhs): Set the new flag.
4754
4755 2022-10-19 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
4756
4757 PR target/106355
4758 * config/s390/s390.cc (s390_call_saved_register_used): For a
4759 parameter with BLKmode fix determining number of consecutive
4760 registers.
4761
4762 2022-10-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
4763
4764 * config/xtensa/xtensa-protos.h
4765 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm): New prototypes.
4766 * config/xtensa/xtensa.cc
4767 (xtensa_split1_finished_p, xtensa_split_DI_reg_imm, xtensa_lra_p):
4768 New functions.
4769 (TARGET_LRA_P): Replace the dummy hook with xtensa_lra_p.
4770 (xt_true_regnum): Rework.
4771 * config/xtensa/xtensa.h (CALL_REALLY_USED_REGISTERS):
4772 Switch from CALL_USED_REGISTERS, and revise the comment.
4773 * config/xtensa/constraints.md (Y):
4774 Use !xtensa_split1_finished_p() instead of can_create_pseudo_p().
4775 * config/xtensa/predicates.md (move_operand): Ditto.
4776 * config/xtensa/xtensa.md: Add two new split patterns:
4777 - splits DImode immediate load into two SImode ones
4778 - puts out-of-constraint SImode constants into the constant pool
4779 * config/xtensa/xtensa.opt (-mlra): New target-specific option
4780 for testing purpose.
4781
4782 2022-10-19 Robin Dapp <rdapp@linux.ibm.com>
4783
4784 * config/s390/s390.md: Move reload_completed and check operands for REG_P.
4785
4786 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4787
4788 PR middle-end/107262
4789 * expr.cc (convert_mode_scalar): For BFmode -> SFmode conversions
4790 of constants, use simplify_unary_operation if fromi has VOIDmode
4791 instead of recursive convert_mode_scalar.
4792
4793 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4794
4795 PR tree-optimization/106990
4796 * match.pd ((~X - ~Y) -> Y - X, -x & 1 -> x & 1): Guard with
4797 !TYPE_OVERFLOW_SANITIZED (type).
4798
4799 2022-10-19 Jakub Jelinek <jakub@redhat.com>
4800
4801 * config/i386/i386-builtins.cc (ix86_bf16_ptr_type_node): Remove.
4802 (ix86_bf16_type_node): New variable.
4803 (ix86_register_bf16_builtin_type): If bfloat16_type_node is NULL
4804 from generic code, set only ix86_bf16_type_node to a new REAL_TYPE
4805 rather than bfloat16_type_node, otherwise set ix86_bf16_type_node
4806 to bfloat16_type_node. Register __bf16 on ix86_bf16_type_node
4807 rather than bfloat16_type_node. Don't initialize unused
4808 ix86_bf16_ptr_type_node.
4809 * config/i386/i386-builtin-types.def (BFLOAT16): Use
4810 ix86_bf16_type_node rather than bfloat16_type_node.
4811
4812 2022-10-19 Richard Biener <rguenther@suse.de>
4813
4814 PR tree-optimization/106781
4815 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Copy
4816 LHS removal from fixup_noreturn_call.
4817
4818 2022-10-19 liuhongt <hongtao.liu@intel.com>
4819
4820 PR target/107271
4821 * config/i386/i386-expand.cc (ix86_vec_perm_index_canon): New.
4822 (expand_vec_perm_shufps_shufps): Call
4823 ix86_vec_perm_index_canon
4824
4825 2022-10-18 Martin Jambor <mjambor@suse.cz>
4826
4827 * ipa-prop.h (ipa_agg_value): Remove type.
4828 (ipa_agg_value_set): Likewise.
4829 (ipa_copy_agg_values): Remove function.
4830 (ipa_release_agg_values): Likewise.
4831 (ipa_auto_call_arg_values) Add a forward declaration.
4832 (ipa_call_arg_values): Likewise.
4833 (class ipa_argagg_value_list): New constructors, added member function
4834 value_for_index_p.
4835 (class ipa_auto_call_arg_values): Removed the destructor and member
4836 function safe_aggval_at. Use ipa_argagg_values for m_known_aggs.
4837 (class ipa_call_arg_values): Removed member function safe_aggval_at.
4838 Use ipa_argagg_values for m_known_aggs.
4839 (ipa_get_indirect_edge_target): Removed declaration.
4840 (ipa_find_agg_cst_for_param): Likewise.
4841 (ipa_find_agg_cst_from_init): New declaration.
4842 (ipa_agg_value_from_jfunc): Likewise.
4843 (ipa_agg_value_set_from_jfunc): Removed declaration.
4844 (ipa_push_agg_values_from_jfunc): New declaration.
4845 * ipa-cp.cc (ipa_agg_value_from_node): Renamed to
4846 ipa_agg_value_from_jfunc, made public.
4847 (ipa_agg_value_set_from_jfunc): Removed.
4848 (ipa_push_agg_values_from_jfunc): New function.
4849 (ipa_get_indirect_edge_target_1): Removed known_aggs parameter, use
4850 avs for this purpose too.
4851 (ipa_get_indirect_edge_target): Removed the overload working on
4852 ipa_auto_call_arg_values, use ipa_argagg_value_list in the remaining
4853 one.
4854 (devirtualization_time_bonus): Use ipa_argagg_value_list and
4855 ipa_get_indirect_edge_target_1 instead of
4856 ipa_get_indirect_edge_target.
4857 (context_independent_aggregate_values): Removed function.
4858 (gather_context_independent_values): Work on ipa_argagg_value_list.
4859 (estimate_local_effects): Likewise, define some iterator variables
4860 only in the construct where necessary.
4861 (ipcp_discover_new_direct_edges): Adjust the call to
4862 ipa_get_indirect_edge_target_1.
4863 (push_agg_values_for_index_from_edge): Adjust the call
4864 ipa_agg_value_from_node which has been renamed to
4865 ipa_agg_value_from_jfunc.
4866 * ipa-fnsummary.cc (evaluate_conditions_for_known_args): Work on
4867 ipa_argagg_value_list.
4868 (evaluate_properties_for_edge): Replace manual filling in aggregate
4869 values with call to ipa_push_agg_values_from_jfunc.
4870 (estimate_calls_size_and_time): Work on ipa_argagg_value_list.
4871 (ipa_cached_call_context::duplicate_from): Likewise.
4872 (ipa_cached_call_context::release): Likewise.
4873 (ipa_call_context::equal_to): Likewise.
4874 * ipa-prop.cc (ipa_find_agg_cst_from_init): Make public.
4875 (ipa_find_agg_cst_for_param): Removed function.
4876 (ipa_find_agg_cst_from_jfunc_items): New function.
4877 (try_make_edge_direct_simple_call): Replace calls to
4878 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
4879 ipa_find_agg_cst_from_init and ipa_find_agg_cst_from_jfunc_items.
4880 (try_make_edge_direct_virtual_call): Replace calls to
4881 ipa_agg_value_set_from_jfunc and ipa_find_agg_cst_for_param with
4882 simple query of constant jump function and a call to
4883 ipa_find_agg_cst_from_jfunc_items.
4884 (ipa_auto_call_arg_values::~ipa_auto_call_arg_values): Removed.
4885
4886 2022-10-18 Martin Jambor <mjambor@suse.cz>
4887
4888 * ipa-prop.h (IPA_PROP_ARG_INDEX_LIMIT_BITS): New.
4889 (ipcp_transformation): Added forward declaration.
4890 (ipa_argagg_value): New type.
4891 (ipa_argagg_value_list): New type.
4892 (ipa_agg_replacement_value): Removed type.
4893 (ipcp_transformation): Switch from using ipa_agg_replacement_value
4894 to ipa_argagg_value_list.
4895 (ipa_get_agg_replacements_for_node): Removed.
4896 (ipa_dump_agg_replacement_values): Removed declaration.
4897 * ipa-cp.cc: Define INCLUDE_ALGORITHM.
4898 (values_equal_for_ipcp_p): Moved up in the file.
4899 (ipa_argagg_value_list::dump): New function.
4900 (ipa_argagg_value_list::debug): Likewise.
4901 (ipa_argagg_value_list::get_elt): Likewise.
4902 (ipa_argagg_value_list::get_elt_for_index): Likewise.
4903 (ipa_argagg_value_list::get_value): New overloaded functions.
4904 (ipa_argagg_value_list::superset_of_p): New function.
4905 (new ipa_argagg_value_list::push_adjusted_values): Likewise.
4906 (push_agg_values_from_plats): Likewise.
4907 (intersect_argaggs_with): Likewise.
4908 (get_clone_agg_value): Removed.
4909 (ipa_agg_value_from_node): Make last parameter const, use
4910 ipa_argagg_value_list to search values coming from clones.
4911 (ipa_get_indirect_edge_target_1): Use ipa_argagg_value_list to search
4912 values coming from clones.
4913 (ipcp_discover_new_direct_edges): Pass around a vector of
4914 ipa_argagg_values rather than a link list of replacement values.
4915 (cgraph_edge_brings_value_p): Use ipa_argagg_value_list to search
4916 values coming from clones.
4917 (create_specialized_node): Work with a vector of ipa_argagg_values
4918 rather than a link list of replacement values.
4919 (self_recursive_agg_pass_through_p): Make the pointer parameters
4920 const.
4921 (copy_plats_to_inter): Removed.
4922 (intersect_with_plats): Likewise.
4923 (agg_replacements_to_vector): Likewise.
4924 (intersect_with_agg_replacements): Likewise.
4925 (intersect_aggregates_with_edge): Likewise.
4926 (push_agg_values_for_index_from_edge): Likewise.
4927 (push_agg_values_from_edge): Likewise.
4928 (find_aggregate_values_for_callers_subset): Rewrite.
4929 (cgraph_edge_brings_all_agg_vals_for_node): Likewise.
4930 (ipcp_val_agg_replacement_ok_p): Use ipa_argagg_value_list to search
4931 aggregate values.
4932 (decide_about_value): Work with a vector of ipa_argagg_values rather
4933 than a link list of replacement values.
4934 (decide_whether_version_node): Likewise.
4935 (ipa_analyze_node): Check number of parameters, assert that there
4936 are no descriptors when bailing out.
4937 * ipa-prop.cc (ipa_set_node_agg_value_chain): Switch to a vector of
4938 ipa_argagg_value.
4939 (ipa_node_params_t::duplicate): Removed superfluous handling of
4940 ipa_agg_replacement_values. Name of src parameter removed because
4941 it is no longer used.
4942 (ipcp_transformation_t::duplicate): Replaced duplication of
4943 ipa_agg_replacement_values with copying vector m_agg_values.
4944 (ipa_dump_agg_replacement_values): Removed.
4945 (write_ipcp_transformation_info): Stream the new data-structure
4946 instead of the old.
4947 (read_ipcp_transformation_info): Likewise.
4948 (adjust_agg_replacement_values): Work with ipa_argagg_values instead
4949 of linked lists of ipa_agg_replacement_values, copy the items and
4950 truncate the vector as necessary to keep it sorted instead of marking
4951 items as invalid. Return one bool if CFG should be updated.
4952 (ipcp_modif_dom_walker): Store ipcp_transformation instead of
4953 linked list of ipa_agg_replacement_values.
4954 (ipcp_modif_dom_walker::before_dom_children): Use
4955 ipa_argagg_value_list instead of walking a list of
4956 ipa_agg_replacement_values.
4957 (ipcp_transform_function): Switch to the new data structure, adjust
4958 dumping.
4959
4960 2022-10-18 Richard Biener <rguenther@suse.de>
4961
4962 PR tree-optimization/107302
4963 * tree-vect-loop.cc (vectorizable_recurrence): Fix vec_perm
4964 placement for a PHI latch def.
4965
4966 2022-10-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
4967
4968 PR tree-optimization/107275
4969 * tree-if-conv.cc (if_convertible_loop_p_1): Move
4970 find_data_references_in_loop call from here...
4971 (if_convertible_loop_p): And move data-reference vector initialization
4972 from here...
4973 (tree_if_conversion):... to here.
4974
4975 2022-10-18 Jakub Jelinek <jakub@redhat.com>
4976
4977 PR c++/106654
4978 * gimple.def (GIMPLE_ASSUME): New statement kind.
4979 * gimple.h (struct gimple_statement_assume): New type.
4980 (is_a_helper <gimple_statement_assume *>::test,
4981 is_a_helper <const gimple_statement_assume *>::test): New.
4982 (gimple_build_assume): Declare.
4983 (gimple_has_substatements): Return true for GIMPLE_ASSUME.
4984 (gimple_assume_guard, gimple_assume_set_guard,
4985 gimple_assume_guard_ptr, gimple_assume_body_ptr, gimple_assume_body):
4986 New inline functions.
4987 * gsstruct.def (GSS_ASSUME): New.
4988 * gimple.cc (gimple_build_assume): New function.
4989 (gimple_copy): Handle GIMPLE_ASSUME.
4990 * gimple-pretty-print.cc (dump_gimple_assume): New function.
4991 (pp_gimple_stmt_1): Handle GIMPLE_ASSUME.
4992 * gimple-walk.cc (walk_gimple_op): Handle GIMPLE_ASSUME.
4993 * omp-low.cc (WALK_SUBSTMTS): Likewise.
4994 (lower_omp_1): Likewise.
4995 * omp-oacc-kernels-decompose.cc (adjust_region_code_walk_stmt_fn):
4996 Likewise.
4997 * tree-cfg.cc (verify_gimple_stmt, verify_gimple_in_seq_2): Likewise.
4998 * function.h (struct function): Add assume_function bitfield.
4999 * gimplify.cc (gimplify_call_expr): If the assumption isn't
5000 simple enough, expand it into GIMPLE_ASSUME wrapped block or
5001 for -O0 drop it.
5002 * gimple-low.cc: Include attribs.h.
5003 (create_assumption_fn): New function.
5004 (struct lower_assumption_data): New type.
5005 (find_assumption_locals_r, assumption_copy_decl,
5006 adjust_assumption_stmt_r, adjust_assumption_stmt_op,
5007 lower_assumption): New functions.
5008 (lower_stmt): Handle GIMPLE_ASSUME.
5009 * tree-ssa-ccp.cc (pass_fold_builtins::execute): Remove
5010 IFN_ASSUME calls.
5011 * lto-streamer-out.cc (output_struct_function_base): Pack
5012 assume_function bit.
5013 * lto-streamer-in.cc (input_struct_function_base): And unpack it.
5014 * cgraphunit.cc (cgraph_node::expand): Don't verify assume_function
5015 has TREE_ASM_WRITTEN set and don't release its body.
5016 (symbol_table::compile): Allow assume functions not to have released
5017 body.
5018 * internal-fn.cc (expand_ASSUME): Remove gcc_unreachable.
5019 * passes.cc (execute_one_pass): For TODO_discard_function don't
5020 release body of assume functions.
5021 * cgraph.cc (cgraph_node::verify_node): Don't verify cgraph nodes
5022 of PROP_assumptions_done functions.
5023 * tree-pass.h (PROP_assumptions_done): Define.
5024 (TODO_discard_function): Adjust comment.
5025 (make_pass_assumptions): Declare.
5026 * passes.def (pass_assumptions): Add.
5027 * timevar.def (TV_TREE_ASSUMPTIONS): New.
5028 * tree-inline.cc (remap_gimple_stmt): Handle GIMPLE_ASSUME.
5029 * tree-vrp.cc (pass_data_assumptions): New variable.
5030 (pass_assumptions): New class.
5031 (make_pass_assumptions): New function.
5032
5033 2022-10-18 Richard Biener <rguenther@suse.de>
5034
5035 PR tree-optimization/107301
5036 * gimple-ssa-isolate-paths.cc (handle_return_addr_local_phi_arg):
5037 Check whether we can duplicate the block.
5038 (find_implicit_erroneous_behavior): Likewise.
5039
5040 2022-10-18 Andrew MacLeod <amacleod@redhat.com>
5041
5042 PR tree-optimization/107273
5043 * value-relation.cc (equiv_oracle::add_partial_equiv): Merge
5044 instead of copying precison of each member.
5045
5046 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5047
5048 PR target/101697
5049 * config/h8300/combiner.md: Replace '<' preincment constraint with
5050 ZA/Z1..ZH/Z7 combinations.
5051 * config/h8300/movepush.md: Similarly
5052
5053 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5054
5055 * config/h8300/constraints.md (Za..Zh): New constraints for
5056 autoinc addresses using a specific register.
5057 * config/h8300/h8300.cc (pre_incdec_with_reg): New function.
5058 * config/h8300/h8300-protos.h (pre_incdec_with_reg): Add prototype.
5059
5060 2022-10-17 Jeff Law <jlaw@ventanamicro.com>
5061
5062 * config/i386/cet.c: Remove accidental commit.
5063 * config/i386/driver-mingw32.c: Likewise.
5064 * config/i386/i386-builtins.c: Likewise.
5065 * config/i386/i386-d.c: Likewise.
5066 * config/i386/i386-expand.c: Likewise.
5067 * config/i386/i386-features.c: Likewise.
5068 * config/i386/i386-options.c: Likewise.
5069 * config/i386/t-cet: Likewise.
5070 * config/i386/x86-tune-sched-atom.c: Likewise.
5071 * config/i386/x86-tune-sched-bd.c: Likewise.
5072 * config/i386/x86-tune-sched-core.c: Likewise.
5073 * config/i386/x86-tune-sched.c: Likewise.
5074
5075 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5076
5077 * common/config/h8300/h8300-common.cc (h8300_option_optimization_table):
5078 Enable redundant extension elimination at -O2 and above.
5079 * config/i386/cet.c: New file.
5080 * config/i386/driver-mingw32.c: New file.
5081 * config/i386/i386-builtins.c: New file.
5082 * config/i386/i386-d.c: New file.
5083 * config/i386/i386-expand.c: New file.
5084 * config/i386/i386-features.c: New file.
5085 * config/i386/i386-options.c: New file.
5086 * config/i386/t-cet: New file.
5087 * config/i386/x86-tune-sched-atom.c: New file.
5088 * config/i386/x86-tune-sched-bd.c: New file.
5089 * config/i386/x86-tune-sched-core.c: New file.
5090 * config/i386/x86-tune-sched.c: New file.
5091
5092 2022-10-17 Jeff Law <jeffreyalaw@gmail.com>
5093
5094 * config/h8300/extensions.md (CCZN setting zero extended load): Add
5095 missing splitter.
5096
5097 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
5098
5099 PR tree-optimization/107293
5100 * tree-ssa-dom.cc
5101 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
5102 Check that condition post-dominates the definition point.
5103
5104 2022-10-17 Aldy Hernandez <aldyh@redhat.com>
5105
5106 PR tree-optimization/107286
5107 * value-range.cc (range_tests_floats): Do not test for -Inf when
5108 flag_finite_math_only.
5109
5110 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5111
5112 * gimple-range-fold.cc (fold_using_range::range_of_range_op):
5113 Provide relation_trio class.
5114 * gimple-range-gori.cc (gori_compute::refine_using_relation):
5115 Provide relation_trio class.
5116 (gori_compute::refine_using_relation): Ditto.
5117 (gori_compute::compute_operand1_range): Provide lhs_op2 and
5118 op1_op2 relations via relation_trio class.
5119 (gori_compute::compute_operand2_range): Ditto.
5120 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
5121 relation_trio instead of relation_kind.
5122 (gimple_range_op_handler::calc_op2): Ditto.
5123 (*::fold_range): Ditto.
5124 * gimple-range-op.h (gimple_range_op::calc_op1): Adjust prototypes.
5125 (gimple_range_op::calc_op2): Adjust prototypes.
5126 * range-op-float.cc (*::fold_range): Use relation_trio instead of
5127 relation_kind.
5128 (*::op1_range): Ditto.
5129 (*::op2_range): Ditto.
5130 * range-op.cc (*::fold_range): Use relation_trio instead of
5131 relation_kind.
5132 (*::op1_range): Ditto.
5133 (*::op2_range): Ditto.
5134 * range-op.h (class range_operator): Adjust prototypes.
5135 (class range_operator_float): Ditto.
5136 (class range_op_handler): Adjust prototypes.
5137 (relop_early_resolve): Pickup op1_op2 relation from relation_trio.
5138 * value-relation.cc (VREL_LAST): Adjust use to be one past the end of
5139 the enum.
5140 (relation_oracle::validate_relation): Use relation_trio in call
5141 to fold_range.
5142 * value-relation.h (enum relation_kind_t): Add VREL_LAST as
5143 final element.
5144 (class relation_trio): New.
5145 (TRIO_VARYING, TRIO_SHIFT, TRIO_MASK): New.
5146
5147 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5148
5149 * range-op-float.cc (foperator_not_equal::op1_range): Check for
5150 VREL_EQ after singleton.
5151 (foperator_unordered::op1_range): Set VARYING before calling
5152 clear_nan().
5153 (foperator_ordered::op1_range): Set rather than clear NAN if both
5154 operands are the same.
5155
5156 2022-10-17 Andrew MacLeod <amacleod@redhat.com>
5157
5158 * value-relation.cc (value_relation::dump): Change message.
5159 * value-relation.h (value_relation::set_relation): If op1 is the
5160 same as op2 do not create a relation.
5161
5162 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
5163
5164 * config/gcn/gcn.cc (VnMODE): Use 'case E_QImode:' instead of
5165 'case QImode:', etc.
5166
5167 2022-10-17 Thomas Schwinge <thomas@codesourcery.com>
5168
5169 * gimple-expr.cc (mark_addressable_2): Tag as 'static'.
5170
5171 2022-10-17 Richard Biener <rguenther@suse.de>
5172 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5173
5174 PR tree-optimization/99409
5175 PR tree-optimization/99394
5176 * tree-vectorizer.h (vect_def_type::vect_first_order_recurrence): Add.
5177 (stmt_vec_info_type::recurr_info_type): Likewise.
5178 (vectorizable_recurr): New function.
5179 * tree-vect-loop.cc (vect_phi_first_order_recurrence_p): New
5180 function.
5181 (vect_analyze_scalar_cycles_1): Look for first order
5182 recurrences.
5183 (vect_analyze_loop_operations): Handle them.
5184 (vect_transform_loop): Likewise.
5185 (vectorizable_recurr): New function.
5186 (maybe_set_vectorized_backedge_value): Handle the backedge value
5187 setting in the first order recurrence PHI and the permutes.
5188 * tree-vect-stmts.cc (vect_analyze_stmt): Handle first order
5189 recurrences.
5190 (vect_transform_stmt): Likewise.
5191 (vect_is_simple_use): Likewise.
5192 (vect_is_simple_use): Likewise.
5193 * tree-vect-slp.cc (vect_get_and_check_slp_defs): Likewise.
5194 (vect_build_slp_tree_2): Likewise.
5195 (vect_schedule_scc): Handle the backedge value setting in the
5196 first order recurrence PHI and the permutes.
5197
5198 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5199
5200 * config/riscv/t-riscv: Change Tab into 2 space.
5201
5202 2022-10-17 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5203
5204 * config/riscv/riscv-vector-builtins.cc (mangle_builtin_type): Move down the function.
5205
5206 2022-10-17 Arsen Arsenovic <arsen@aarsen.me>
5207
5208 * config.gcc: --target=*-elf --without-{newlib,headers} should
5209 provide stdint.h.
5210
5211 2022-10-17 Hu, Lin1 <lin1.hu@intel.com>
5212
5213 * common/config/i386/cpuinfo.h:
5214 (get_intel_cpu): Handle Meteorlake.
5215 * common/config/i386/i386-common.cc:
5216 (processor_alias_table): Add Meteorlake.
5217
5218 2022-10-17 Haochen Jiang <haochen.jiang@intel.com>
5219
5220 * common/config/i386/cpuinfo.h:
5221 (get_intel_cpu): Handle Raptorlake.
5222 * common/config/i386/i386-common.cc:
5223 (processor_alias_table): Add Raptorlake.
5224
5225 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5226
5227 * config/h8300/constraints.md (Z0..Z7): New register
5228 constraints.
5229 * config/h8300/h8300.h (reg_class): Add new classes.
5230 (REG_CLASS_NAMES): Similarly.
5231 (REG_CLASS_CONTENTS): Similarly.
5232
5233 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5234
5235 * config/h8300/constraints.md (Zz constraint): Renamed
5236 from "z".
5237 * config/h8300/movepush.md (movqi_h8sx, movhi_h8sx): Adjust
5238 constraint to use Zz instead of Z.
5239
5240 2022-10-16 Jeff Law <jeffreyalaw@gmail.com>
5241
5242 * config/h8300/h8300.cc (h8300_register_move_cost): Fix typo.
5243
5244 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5245
5246 * value-range.cc (frange::set): Implement distinction between
5247 HONOR_SIGNED_ZEROS and MODE_HAS_SIGNED_ZEROS.
5248
5249 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5250
5251 * gimple-range-op.cc (class cfn_copysign): New.
5252 (gimple_range_op_handler::maybe_builtin_call): Add
5253 CFN_BUILT_IN_COPYSIGN*.
5254
5255 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5256
5257 * real.h (real_isdenormal): Check rvc_normal.
5258 * value-range.cc (range_tests_floats): New test.
5259
5260 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5261
5262 * gimple-range-op.cc
5263 (gimple_range_op_handler::maybe_builtin_call): Replace
5264 CFN_BUILTIN_SIGNBIT* cases with CASE_FLT_FN.
5265
5266 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5267
5268 * value-range.cc (frange::set): Normalize ranges for both bounds.
5269
5270 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5271
5272 * value-range.cc (frange::set): Drop -0.0 for !HONOR_SIGNED_ZEROS.
5273
5274 2022-10-14 Aldy Hernandez <aldyh@redhat.com>
5275
5276 * gimple-range-op.cc
5277 (gimple_range_op_handler::maybe_builtin_call): Add
5278 CFN_BUILT_IN_SIGNBIT[FL]* entries.
5279
5280 2022-10-14 Richard Biener <rguenther@suse.de>
5281
5282 PR tree-optimization/107254
5283 * tree-vect-slp.cc (vect_slp_analyze_node_operations_1):
5284 For permutes also analyze live lanes.
5285 (vect_schedule_slp_node): For permutes also code generate
5286 live lane extracts.
5287
5288 2022-10-14 Eric Botcazou <ebotcazou@adacore.com>
5289
5290 PR target/107248
5291 * config/sparc/sparc.cc (sparc_expand_prologue): Emit a frame
5292 blockage for leaf functions.
5293 (sparc_flat_expand_prologue): Emit frame instead of full blockage.
5294 (sparc_expand_epilogue): Emit a frame blockage for leaf functions.
5295 (sparc_flat_expand_epilogue): Emit frame instead of full blockage.
5296
5297 2022-10-14 Jakub Jelinek <jakub@redhat.com>
5298
5299 * tree-core.h (enum tree_index): Add TI_BFLOAT16_TYPE.
5300 * tree.h (bfloat16_type_node): Define.
5301 * tree.cc (excess_precision_type): Promote bfloat16_type_mode
5302 like float16_type_mode.
5303 (build_common_tree_nodes): Initialize bfloat16_type_node if
5304 BFmode is supported.
5305 * expmed.h (maybe_expand_shift): Declare.
5306 * expmed.cc (maybe_expand_shift): No longer static.
5307 * expr.cc (convert_mode_scalar): Don't ICE on BF -> HF or HF -> BF
5308 conversions. If there is no optab, handle BF -> {DF,XF,TF,HF}
5309 conversions as separate BF -> SF -> {DF,XF,TF,HF} conversions, add
5310 -ffast-math generic implementation for BF -> SF and SF -> BF
5311 conversions.
5312 * builtin-types.def (BT_BFLOAT16, BT_FN_BFLOAT16_CONST_STRING): New.
5313 * builtins.def (BUILT_IN_NANSF16B): New builtin.
5314 * fold-const-call.cc (fold_const_call): Handle CFN_BUILT_IN_NANSF16B.
5315 * config/i386/i386.cc (classify_argument): Handle E_BCmode.
5316 (ix86_libgcc_floating_mode_supported_p): Also return true for BFmode
5317 for -msse2.
5318 (ix86_mangle_type): Mangle BFmode as DF16b.
5319 (ix86_invalid_conversion, ix86_invalid_unary_op,
5320 ix86_invalid_binary_op): Remove.
5321 (TARGET_INVALID_CONVERSION, TARGET_INVALID_UNARY_OP,
5322 TARGET_INVALID_BINARY_OP): Don't redefine.
5323 * config/i386/i386-builtins.cc (ix86_bf16_type_node): Remove.
5324 (ix86_register_bf16_builtin_type): Use bfloat16_type_node rather than
5325 ix86_bf16_type_node, only create it if still NULL.
5326 * config/i386/i386-builtin-types.def (BFLOAT16): Likewise.
5327 * config/i386/i386.md (cbranchbf4, cstorebf4): New expanders.
5328
5329 2022-10-14 Jakub Jelinek <jakub@redhat.com>
5330
5331 PR middle-end/323
5332 PR c++/107097
5333 * doc/invoke.texi (-fexcess-precision=standard): Mention that the
5334 option now also works in C++.
5335
5336 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
5337
5338 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Return
5339 early for calls made from thunks.
5340
5341 2022-10-13 Eric Botcazou <ebotcazou@adacore.com>
5342
5343 * expr.cc (emit_group_stote): Fix handling of modes of different
5344 sizes for big-endian targets in latest change and add commentary.
5345
5346 2022-10-13 Martin Liska <mliska@suse.cz>
5347
5348 * output.h (assemble_vtv_preinit_initializer): Remove.
5349 * varasm.cc (assemble_vtv_preinit_initializer): Remove.
5350
5351 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5352
5353 PR tree-optimization/102540
5354 PR tree-optimization/102872
5355 * gimple-range-cache.cc (ranger_cache::fill_block_cache):
5356 Handle partial equivs.
5357 (ranger_cache::range_from_dom): Cleanup dump output.
5358
5359 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5360
5361 * range-op.cc (operator_cast::lhs_op1_relation): New.
5362 (operator_bitwise_and::lhs_op1_relation): New.
5363
5364 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5365
5366 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Use
5367 iterator.
5368 * value-relation.cc
5369 (equiv_relation_iterator::equiv_relation_iterator): New.
5370 (equiv_relation_iterator::next): New.
5371 (equiv_relation_iterator::get_name): New.
5372 * value-relation.h (class relation_oracle): Privatize some methods.
5373 (class equiv_relation_iterator): New.
5374 (FOR_EACH_EQUIVALENCE): New.
5375 (FOR_EACH_PARTIAL_EQUIV): New.
5376 (FOR_EACH_PARTIAL_AND_FULL_EQUIV): New.
5377
5378 2022-10-13 Andrew MacLeod <amacleod@redhat.com>
5379
5380 * value-relation.cc (equiv_chain::dump): Don't print empty
5381 equivalences.
5382 (equiv_oracle::equiv_oracle): Allocate a partial equiv table.
5383 (equiv_oracle::~equiv_oracle): Release the partial equiv table.
5384 (equiv_oracle::add_partial_equiv): New.
5385 (equiv_oracle::partial_equiv_set): New.
5386 (equiv_oracle::partial_equiv): New.
5387 (equiv_oracle::query_relation): Check for partial equivs too.
5388 (equiv_oracle::dump): Also dump partial equivs.
5389 (dom_oracle::register_relation): Handle partial equivs.
5390 (dom_oracle::query_relation): Check for partial equivs.
5391 * value-relation.h (enum relation_kind_t): Add partial equivs.
5392 (relation_partial_equiv_p): New.
5393 (relation_equiv_p): New.
5394 (class pe_slice): New.
5395 (class equiv_oracle): Add prototypes.
5396 (pe_to_bits): New.
5397 (bits_to_pe): New.
5398 (pe_min): New.
5399
5400 2022-10-13 Richard Biener <rguenther@suse.de>
5401
5402 PR tree-optimization/107247
5403 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5404 Reduce multi vector SLP reduction accumulators. Check
5405 the adjusted number of accumulator vectors against
5406 one for the re-use in the epilogue.
5407
5408 2022-10-13 Jakub Jelinek <jakub@redhat.com>
5409
5410 * genmodes.cc (emit_mode_wider): Emit previous content of
5411 mode_wider array into mode_next array and for mode_wider
5412 emit always VOIDmode for !CLASS_HAS_WIDER_MODES_P classes,
5413 otherwise skip through modes with the same precision.
5414 * machmode.h (mode_next): Declare.
5415 (GET_MODE_NEXT_MODE): New inline function.
5416 (mode_iterator::get_next, mode_iterator::get_known_next): New
5417 function templates.
5418 (FOR_EACH_MODE_IN_CLASS): Use get_next instead of get_wider.
5419 (FOR_EACH_MODE): Use get_known_next instead of get_known_wider.
5420 (FOR_EACH_MODE_FROM): Use get_next instead of get_wider.
5421 (FOR_EACH_WIDER_MODE_FROM): Define.
5422 (FOR_EACH_NEXT_MODE): Define.
5423 * expmed.cc (emit_store_flag_1): Use FOR_EACH_WIDER_MODE_FROM
5424 instead of FOR_EACH_MODE_FROM.
5425 * optabs.cc (prepare_cmp_insn): Likewise. Remove redundant
5426 !CLASS_HAS_WIDER_MODES_P check.
5427 (prepare_float_lib_cmp): Use FOR_EACH_WIDER_MODE_FROM instead of
5428 FOR_EACH_MODE_FROM.
5429 * config/i386/i386-expand.cc (get_mode_wider_vector): Use
5430 GET_MODE_NEXT_MODE instead of GET_MODE_WIDER_MODE.
5431
5432 2022-10-13 Wilco Dijkstra <wdijkstr@arm.com>
5433
5434 PR target/105773
5435 * config/aarch64/aarch64.cc (aarch64_select_cc_mode): Allow
5436 GT/LE for merging compare with zero into AND.
5437 (aarch64_get_condition_code_1): Add CC_NZVmode support.
5438 * config/aarch64/aarch64-modes.def: Add CC_NZV.
5439 * config/aarch64/aarch64.md: Use CC_NZV in cmp+and patterns.
5440
5441 2022-10-13 Richard Biener <rguenther@suse.de>
5442
5443 PR tree-optimization/107160
5444 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
5445 Do not register accumulator if we failed to reduce it
5446 to a single vector.
5447
5448 2022-10-13 Aldy Hernandez <aldyh@redhat.com>
5449
5450 * range-op-float.cc (range_operator_float::op1_op2_relation): New.
5451 (class foperator_equal): Add using.
5452 (class foperator_not_equal): Same.
5453 (class foperator_lt): Same.
5454 (class foperator_le): Same.
5455 (class foperator_gt): Same.
5456 (class foperator_ge): Same.
5457 * range-op.cc (range_op_handler::op1_op2_relation): New.
5458 * range-op.h (range_operator_float::op1_op2_relation): New.
5459
5460 2022-10-13 Richard Biener <rguenther@suse.de>
5461
5462 * genmatch.cc (parser::parse_c_expr): Diagnose 'return'.
5463 * match.pd: Replace 'return' statements in with expressions
5464 with appropriate variants.
5465
5466 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
5467
5468 PR tree-optimization/107229
5469 * tree-if-conv.cc (get_bitfield_rep): Fix bitposition calculation.
5470
5471 2022-10-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
5472
5473 PR tree-optimization/107226
5474 * tree-vect-patterns.cc (vect_recog_bitfield_ref_pattern): Reject
5475 BITFIELD_REF's with non integral typed first operands.
5476
5477 2022-10-13 Joseph Myers <joseph@codesourcery.com>
5478
5479 * ginclude/float.h (FLT_IS_IEC_60559, DBL_IS_IEC_60559)
5480 (LDBL_IS_IEC_60559): Update comment.
5481
5482 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5483
5484 * range-op-float.cc (class foperator_negate): New.
5485 (floating_op_table::floating_op_table): Add NEGATE_EXPR
5486 (range_op_float_tests): Add negate tests.
5487
5488 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5489
5490 * config/riscv/riscv-vector-builtins.h: Remove unused macro.
5491
5492 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5493
5494 * config/riscv/riscv-vector-builtins.cc (DEF_RVV_TYPE): Apply
5495 clang-format.
5496 (add_vector_type_attribute): Ditto.
5497 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Apply
5498 clang-format.
5499 * config/riscv/riscv-vector-builtins.h (DEF_RVV_TYPE): Apply
5500 clang-format.
5501
5502 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5503
5504 * config/riscv/riscv-vector-builtins.cc (builtin_types): Redefine
5505 vector types.
5506 (build_const_pointer): New function.
5507 (register_builtin_type): Ditto.
5508 (DEF_RVV_TYPE): Simplify macro.
5509 (register_vector_type): Refine implementation.
5510 * config/riscv/riscv-vector-builtins.h (rvv_builtin_types_t): New.
5511
5512 2022-10-12 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5513
5514 * config/riscv/riscv-vector-builtins.h (class rvv_switcher): Move to
5515 this to ....
5516 * config/riscv/riscv-vector-builtins.cc (class rvv_switcher):
5517 here.
5518
5519 2022-10-12 Cui,Lili <lili.cui@intel.com>
5520
5521 * config/i386/driver-i386.cc (host_detect_local_cpu):
5522 Move sapphirerapids out of AVX512_VP2INTERSECT.
5523 * config/i386/i386.h: Remove AVX512_VP2INTERSECT from PTA_SAPPHIRERAPIDS
5524 * doc/invoke.texi: Remove AVX512_VP2INTERSECT from SAPPHIRERAPIDS
5525
5526 2022-10-12 Martin Liska <mliska@suse.cz>
5527
5528 * gcov-io.cc (gcov_write_summary): Rename to ...
5529 (gcov_write_object_summary): ... this.
5530 * gcov-io.h (GCOV_TAG_OBJECT_SUMMARY_LENGTH): Rename from ...
5531 (GCOV_TAG_SUMMARY_LENGTH): ... this.
5532
5533 2022-10-12 Martin Liska <mliska@suse.cz>
5534
5535 * configure: Regenerate.
5536
5537 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5538
5539 * range-op-float.cc (frange_float): New.
5540 (range_op_float_tests): New.
5541 * range-op.cc (range_op_tests): Call range_op_float_tests.
5542
5543 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5544
5545 * value-range.h (frange::nan_signbit_p): New.
5546
5547 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5548
5549 * value-range.cc (frange::set_nonnegative): Pass bool to
5550 update_nan.
5551 * value-range.h: Disallow conversion to bool in update_nan().
5552
5553 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5554
5555 * value-range.h (frange::frange): Add constructor taking type.
5556
5557 2022-10-12 Aldy Hernandez <aldyh@redhat.com>
5558
5559 * range-op-float.cc: Add relation_kind = VREL_VARYING to all
5560 methods.
5561
5562 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5563
5564 * gimple-range-gori.cc (gori_compute::logical_combine): Avoid
5565 calling tracer.trailer().
5566
5567 2022-10-11 Jakub Jelinek <jakub@redhat.com>
5568
5569 PR target/107185
5570 * config/i386/i386.md (*notxor<mode>_1): Use MASK_REG_P (x) instead of
5571 MASK_REGNO_P (REGNO (x)).
5572
5573 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5574
5575 * range-op-float.cc (class foperator_abs): New.
5576 (floating_op_table::floating_op_table): Add ABS_EXPR entry.
5577
5578 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5579
5580 * range-op-float.cc (foperator_unordered_le::op1_range): New.
5581 (foperator_unordered_le::op2_range): New.
5582 (foperator_unordered_gt::op1_range): New.
5583 (foperator_unordered_gt::op2_range): New.
5584 (foperator_unordered_ge::op1_range): New.
5585 (foperator_unordered_ge::op2_range): New.
5586 (foperator_unordered_equal::op1_range): New.
5587
5588 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5589
5590 * range-op-float.cc (class foperator_unordered_lt): New.
5591 (class foperator_relop_unknown): Remove
5592 (class foperator_unordered_le): New.
5593 (class foperator_unordered_gt): New.
5594 (class foperator_unordered_ge): New.
5595 (class foperator_unordered_equal): New.
5596 (floating_op_table::floating_op_table): Replace all UN_EXPR
5597 entries with their appropriate fop_unordered_* counterpart.
5598
5599 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5600
5601 * range-op.cc (operator_equal::op1_range): Move BRS_TRUE case up.
5602 (operator_lt::op2_range): Same.
5603 (operator_le::op2_range): Same.
5604 (operator_gt::op2_range): Same.
5605 (operator_ge::op2_range): Same.
5606
5607 2022-10-11 Richard Biener <rguenther@suse.de>
5608
5609 PR tree-optimization/107212
5610 * tree-vect-loop.cc (vectorizable_reduction): Make sure to
5611 set STMT_VINFO_REDUC_DEF for all live lanes in a SLP
5612 reduction.
5613 (vectorizable_live_operation): Do not pun to the SLP
5614 node representative for reduction epilogue generation.
5615
5616 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5617
5618 * config/gcn/gcn-valu.md (neg<mode>2): New define_expand.
5619
5620 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5621
5622 * config/gcn/gcn-valu.md (vec_init<V_ALL:mode><V_ALL_ALT:mode>): New.
5623 * config/gcn/gcn.cc (GEN_VN): Add andvNsi3, subvNsi3.
5624 (GEN_VNM): Add gathervNm_expr.
5625 (GEN_VN_NOEXEC): Add vec_seriesvNsi.
5626 (gcn_expand_vector_init): Add initialization of vectors from smaller
5627 vectors.
5628
5629 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5630
5631 * config/gcn/gcn-protos.h (get_exec): Add prototypes for two variants.
5632 * config/gcn/gcn-valu.md
5633 (vec_extract<V_ALL:mode><V_ALL_ALT:mode>): New define_expand.
5634 * config/gcn/gcn.cc (get_exec): Export the existing function. Add a
5635 new overload variant.
5636
5637 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5638
5639 * config/gcn/gcn-valu.md
5640 (<cvt_name><VCVT_MODE:mode><VCVT_FMODE:mode>2<exec>): Use MODE_VF.
5641 (<cvt_name><VCVT_FMODE:mode><VCVT_IMODE:mode>2<exec>): Likewise.
5642 * config/gcn/gcn.h (MODE_VF): New macro.
5643
5644 2022-10-11 Andrew Stubbs <ams@codesourcery.com>
5645
5646 * config/gcn/gcn-modes.def (VECTOR_MODE): Add new modes
5647 V32QI, V32HI, V32SI, V32DI, V32TI, V32HF, V32SF, V32DF,
5648 V16QI, V16HI, V16SI, V16DI, V16TI, V16HF, V16SF, V16DF,
5649 V8QI, V8HI, V8SI, V8DI, V8TI, V8HF, V8SF, V8DF,
5650 V4QI, V4HI, V4SI, V4DI, V4TI, V4HF, V4SF, V4DF,
5651 V2QI, V2HI, V2SI, V2DI, V2TI, V2HF, V2SF, V2DF.
5652 (ADJUST_ALIGNMENT): Likewise.
5653 * config/gcn/gcn-protos.h (gcn_full_exec): Delete.
5654 (gcn_full_exec_reg): Delete.
5655 (gcn_scalar_exec): Delete.
5656 (gcn_scalar_exec_reg): Delete.
5657 (vgpr_1reg_mode_p): Use inner mode to identify vector registers.
5658 (vgpr_2reg_mode_p): Likewise.
5659 (vgpr_vector_mode_p): Use VECTOR_MODE_P.
5660 * config/gcn/gcn-valu.md (V_QI, V_HI, V_HF, V_SI, V_SF, V_DI, V_DF,
5661 V_QIHI, V_1REG, V_INT_1REG, V_INT_1REG_ALT, V_FP_1REG, V_2REG, V_noQI,
5662 V_noHI, V_INT_noQI, V_INT_noHI, V_ALL, V_ALL_ALT, V_INT, V_FP):
5663 Add additional vector modes.
5664 (V64_SI, V64_DI, V64_ALL, V64_FP): New iterators.
5665 (scalar_mode, SCALAR_MODE, vnsi, VnSI, vndi, VnDI, sdwa):
5666 Add additional vector mode mappings.
5667 (mov<mode>): Implement vector length conversions.
5668 (ldexp<mode>3<exec>): Use VnSI.
5669 (frexp<mode>_exp2<exec>): Likewise.
5670 (VCVT_MODE, VCVT_FMODE, VCVT_IMODE): Add additional vector modes.
5671 (reduc_<reduc_op>_scal_<mode>): Use V64_ALL.
5672 (fold_left_plus_<mode>): Use V64_FP.
5673 (*<reduc_op>_dpp_shr_<mode>): Use V64_1REG.
5674 (*<reduc_op>_dpp_shr_<mode>): Use V64_DI.
5675 (*plus_carry_dpp_shr_<mode>): Use V64_INT_1REG.
5676 (*plus_carry_in_dpp_shr_<mode>): Use V64_SI.
5677 (*plus_carry_dpp_shr_<mode>): Use V64_DI.
5678 (mov_from_lane63_<mode>): Use V64_2REG.
5679 * config/gcn/gcn.cc (VnMODE): New function.
5680 (gcn_can_change_mode_class): Support multiple vector sizes.
5681 (gcn_modes_tieable_p): Likewise.
5682 (gcn_operand_part): Likewise.
5683 (gcn_scalar_exec): Delete function.
5684 (gcn_scalar_exec_reg): Delete function.
5685 (gcn_full_exec): Delete function.
5686 (gcn_full_exec_reg): Delete function.
5687 (gcn_inline_fp_constant_p): Support multiple vector sizes.
5688 (gcn_fp_constant_p): Likewise.
5689 (A): New macro.
5690 (GEN_VN_NOEXEC): New macro.
5691 (GEN_VNM_NOEXEC): New macro.
5692 (GEN_VN): New macro.
5693 (GEN_VNM): New macro.
5694 (GET_VN_FN): New macro.
5695 (CODE_FOR): New macro.
5696 (CODE_FOR_OP): New macro.
5697 (gen_mov_with_exec): Delete function.
5698 (gen_duplicate_load): Delete function.
5699 (gcn_expand_vector_init): Support multiple vector sizes.
5700 (strided_constant): Likewise.
5701 (gcn_addr_space_legitimize_address): Likewise.
5702 (gcn_expand_scalar_to_vector_address): Likewise.
5703 (gcn_expand_scaled_offsets): Likewise.
5704 (gcn_secondary_reload): Likewise.
5705 (gcn_valid_cvt_p): Likewise.
5706 (gcn_expand_builtin_1): Likewise.
5707 (gcn_make_vec_perm_address): Likewise.
5708 (gcn_vectorize_vec_perm_const): Likewise.
5709 (gcn_vector_mode_supported_p): Likewise.
5710 (gcn_autovectorize_vector_modes): New hook.
5711 (gcn_related_vector_mode): Support multiple vector sizes.
5712 (gcn_expand_dpp_shr_insn): Add FIXME comment.
5713 (gcn_md_reorg): Support multiple vector sizes.
5714 (print_reg): Likewise.
5715 (print_operand): Likewise.
5716 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_MODES): New hook.
5717
5718 2022-10-11 Andre Vieira <andre.simoesdiasvieira@arm.com>
5719
5720 * tree-if-conv.cc (if_convertible_loop_p_1): Move ordering of loop bb's from
5721 here...
5722 (tree_if_conversion): ... to here. Also call bitfield lowering when
5723 appropriate.
5724 (version_loop_for_if_conversion): Adapt to enable loop versioning when we only
5725 need to lower bitfields.
5726 (ifcvt_split_critical_edges): Relax condition of expected loop form as this is
5727 checked earlier.
5728 (get_bitfield_rep): New function.
5729 (lower_bitfield): Likewise.
5730 (bitfields_to_lower_p): Likewise.
5731 (need_to_lower_bitfields): New global boolean.
5732 (need_to_ifcvt): Likewise.
5733 * tree-vect-data-refs.cc (vect_find_stmt_data_reference): Improve diagnostic
5734 message.
5735 * tree-vect-patterns.cc (vect_recog_temp_ssa_var): Add default value for last
5736 parameter.
5737 (vect_recog_bitfield_ref_pattern): New.
5738 (vect_recog_bit_insert_pattern): New.
5739
5740 2022-10-11 liuhongt <hongtao.liu@intel.com>
5741
5742 PR target/107093
5743 * config/i386/i386.md (*notxor<mode>_1): New post_reload
5744 define_insn_and_split.
5745 (*notxorqi_1): Ditto.
5746
5747 2022-10-11 Aldy Hernandez <aldyh@redhat.com>
5748
5749 PR tree-optimization/107195
5750 * value-range.cc (irange::set_range_from_nonzero_bits): Set range
5751 to [0,0] when nonzero mask is 0.
5752
5753 2022-10-11 Olivier Hainque <hainque@adacore.com>
5754 Olivier Hainque <hainque@adacore.com>
5755
5756 * configure: Regenerate.
5757
5758 2022-10-11 Olivier Hainque <hainque@adacore.com>
5759
5760 * config.gcc (*vxworks*): Add t-slibgcc fragment
5761 if enable_shared.
5762
5763 2022-10-11 Olivier Hainque <hainque@adacore.com>
5764
5765 * config/vxworks.h (VX_LGCC_EH_SO0, VX_LGCC_EH_SO1): New
5766 internal macros.
5767 (VXWORKS_LIBGCC_SPEC): Use them and document.
5768
5769 2022-10-11 Martin Liska <mliska@suse.cz>
5770
5771 * gimple-range-op.cc: Add override keyword.
5772
5773 2022-10-11 Eugene Rozenfeld <erozen@microsoft.com>
5774
5775 PR debug/107193
5776 * tree-cfg.cc (assign_discriminators): Move declaration of cur_locus_e
5777 out of the loop.
5778
5779 2022-10-11 Liwei Xu <liwei.xu@intel.com>
5780 liuhongt <hongtao.liu@intel.com>
5781
5782 PR tree-optimization/54346
5783 * match.pd: Merge the index of VCST then generates the new vec_perm.
5784
5785 2022-10-11 Jeff Law <jeffreyalaw@gmail.com>
5786
5787 PR rtl-optimization/107182
5788 * cfgrtl.cc (fixup_reorder_chain): When optimizing a jump to a
5789 return, clear EDGE_CROSSING on the appropriate edge.
5790
5791 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5792
5793 * config/riscv/riscv-vector-builtins.cc (struct vector_type_info): Move
5794 from config/riscv/riscv-vector-builtins.h.
5795 (DEF_RVV_TYPE): Change USER_NAME to NAME.
5796 (register_vector_type): Change user_name to name.
5797 * config/riscv/riscv-vector-builtins.def (DEF_RVV_TYPE): Change
5798 USER_NAME to NAME.
5799 * config/riscv/riscv-vector-builtins.h (struct vector_type_info): Move
5800 to riscv-vector-builtins.cc.
5801 (DEF_RVV_TYPE): Change USER_NAME to NAME.
5802
5803 2022-10-11 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
5804
5805 * config/riscv/riscv.md: Add vsetvl instruction type.
5806
5807 2022-10-10 Nathan Sidwell <nathan@acm.org>
5808
5809 * common.opt (-fabi-version=): Document 18.
5810 * doc/invoke.texi (-fabi-version): Document 18.
5811
5812 2022-10-10 Andrea Corallo <andrea.corallo@arm.com>
5813
5814 PR other/99723
5815 * toplev.cc (toplev::main): Don't run self tests in case of
5816 previous error.
5817
5818 2022-10-10 Kito Cheng <kito.cheng@sifive.com>
5819
5820 * config/riscv/riscv-c.cc: Add newline to the end of file.
5821
5822 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5823
5824 * range-op-float.cc (class foperator_identity): Make members public.
5825 (class foperator_equal): Same.
5826 (class foperator_not_equal): Same.
5827 (class foperator_lt): Same.
5828 (class foperator_le): Same.
5829 (class foperator_gt): Same.
5830 (class foperator_ge): Same.
5831 (class foperator_unordered): Same.
5832 (class foperator_ordered): Same.
5833
5834 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5835
5836 * value-range.h (frange::maybe_isnan): New.
5837
5838 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5839
5840 * range-op-float.cc (foperator_not_equal::op1_range): Set NAN on
5841 TRUE side for x != x.
5842
5843 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5844
5845 * range-op-float.cc (foperator_unordered::op1_range): Set NAN when
5846 operands are equal and result is TRUE.
5847
5848 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5849
5850 * range.h (range_true): Return int_range<2>.
5851 (range_false): Same.
5852 (range_true_and_false): Same.
5853
5854 2022-10-10 Aldy Hernandez <aldyh@redhat.com>
5855
5856 * gimple-range-op.cc: Add op1_range entry for __builtin_signbit.
5857
5858 2022-10-10 liuhongt <hongtao.liu@intel.com>
5859
5860 PR target/107185
5861 * config/i386/i386.md (lrint<MODEF:mode><SWI48:mode>2): Swap
5862 predicate of operands[0] and operands[1].
5863
5864 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5865
5866 * common/config/arc/arc-common.cc (arc_option_optimization_table):
5867 Remove Rcq and Rcw options.
5868 * config/arc/arc.opt (mRcq): Ignore option, preserve it for
5869 backwards compatibility.
5870 (mRcw): Likewise.
5871 * doc/invoke.texi (mRcw, mRcq): Update document.
5872
5873 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5874
5875 * config/arc/arc.cc (arc_check_short_reg_p): New function.
5876 (arc_address_cost): Replace satisfies_constraint_Rcq with the
5877 above new function.
5878 (arc_output_addsi): Likewise.
5879 (split_addsi): Likewise.
5880 (split_subsi): Likewise.
5881 * config/arc/arc.md (movqi_insn): Remove Rcq constraint.
5882 (movhi_insn): Likewise.
5883 (movsi_insn): Likewise.
5884 (tst_movb): Likewise.
5885 (tst): Likewise.
5886 (tst_bitfield): Likewise.
5887 (abssi2): Likewise.
5888 (addsi3_mixed): Likewise.
5889 (mulhisi3_reg): Likewise.
5890 (umulhisi3_reg): Likewise.
5891 (mulsi_600): Likewise.
5892 (mul64): Likewise.
5893 (subsi3_insn): Likewise.
5894 (bicsi3_insn): Likewise.
5895 (xorsi3): Likewise.
5896 (negsi2): Likewise.
5897 (one_cmplsi2): Likewise.
5898 (lshrsi3_insn): Likewise.
5899 (cmpsi_cc_insn_mixed): Likewise.
5900 (cmpsi_cc_zn_insn): Likewise.
5901 (btst): Likewise.
5902 (cmpsi_cc_z_insn): Likewise.
5903 (cmpsi_cc_c_insn): Likewise.
5904 (indirect_jump): Likewise.
5905 (casesi_jump): Likewise.
5906 (call_i): Likewise.
5907 (call_value_i): Likewise.
5908 (bbit): Likewise.
5909 (abssf2): Likewise.
5910 (ashlsi2_cnt1): Likewise.
5911 (lshrsi3_cnt1): Likewise.
5912 (ashrsi3_cnt1): Likewise.
5913 * config/arc/constraints.md (Rcq): Remove.
5914
5915 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5916
5917 * config/arc/arc.md (smaxsi3): Remove Rcw.
5918 (sminsi3): Likewise.
5919 (addsi3_mixed): Likewise.
5920 (add_f_2): Likewise.
5921 (subsi3_insn): Likewise.
5922 (sub_f): Likewise.
5923 (sub_n): Likewise.
5924 (bset): Likewise.
5925 (bxor): Likewise.
5926 (bclr): Likewise.
5927 (bset_insn): Likewise.
5928 (bxor_insn): Likewise.
5929 (bclr_insn): Likewise.
5930 (bmsk_insn): Likewise.
5931 (bicsi3_insn): Likewise.
5932 (xorsi3): Likewise.
5933 (negsi2): Likewise.
5934 (lshrsi3_insn): Likewise.
5935 (abssf2): Likewise.
5936 (negsf2): Likewise.
5937 * config/arc/constraints.md(Rcw): Remove it.
5938
5939 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5940
5941 * config/arc/arc.md(mulsi3_700): Remove Rcr.
5942 (mulsi3_highpart): Likewise.
5943 (umulsi3_highpart_i): Likewise.
5944 (umulsi3_highpart_int): Likewise.
5945 (macd): Likewise.
5946 (macdu): Likewise.
5947 * config/arc/constraints.md (Rcr): Remove it.
5948
5949 2022-10-10 Claudiu Zissulescu <claziss@gmail.com>
5950
5951 * config/arc/arc.cc (arc_save_callee_enter): Use negative offsets.
5952
5953 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
5954
5955 PR target/106562
5956 * config/pru/pru-protos.h (pru_noteq_condition): New
5957 function declaration.
5958 * config/pru/pru.cc (pru_noteq_condition): New function.
5959 * config/pru/pru.md (cbranchdi4): Define new pattern.
5960
5961 2022-10-09 Dimitar Dimitrov <dimitar@dinux.eu>
5962
5963 * config/pru/pru.md (lshrdi3): New expand pattern.
5964 (ashldi3): Ditto.
5965
5966 2022-10-09 YunQiang Su <yunqiang.su@cipunited.com>
5967
5968 * config.gcc: set with_arch to default_mips_arch if no defined.
5969 * config/mips/driver-native.cc (host_detect_local_cpu):
5970 try getauxval(AT_BASE_PLATFORM) and _MIPS_ARCH, too.
5971 pass -mnan=2008 if __mips_nan2008__ is defined.
5972 * config.in: define HAVE_SYS_AUXV_H and HAVE_GETAUXVAL.
5973 * configure.ac: detect sys/auxv.h and getauxval.
5974 * configure: regenerated.
5975
5976 2022-10-07 Eugene Rozenfeld <erozen@microsoft.com>
5977
5978 * tree-cfg.cc (assign_discriminators): Set discriminators for call stmts
5979 on the same line within the same basic block.
5980
5981 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
5982
5983 PR tree-optimization/101836
5984 * tree-object-size.cc (addr_object_size): Use array_at_struct_end_p
5985 to determine a flexible array member reference.
5986
5987 2022-10-07 Qing Zhao <qing.zhao@oracle.com>
5988
5989 * doc/extend.texi: Document strict_flex_array attribute.
5990 * doc/invoke.texi: Document -fstrict-flex-arrays[=n] option.
5991 * print-tree.cc (print_node): Print new bit decl_not_flexarray.
5992 * tree-core.h (struct tree_decl_common): New bit field
5993 decl_not_flexarray.
5994 * tree-streamer-in.cc (unpack_ts_decl_common_value_fields): Stream
5995 in new bit decl_not_flexarray.
5996 * tree-streamer-out.cc (pack_ts_decl_common_value_fields): Stream
5997 out new bit decl_not_flexarray.
5998 * tree.cc (array_at_struct_end_p): Update it with the new bit field
5999 decl_not_flexarray.
6000 * tree.h (DECL_NOT_FLEXARRAY): New flag.
6001
6002 2022-10-07 Olivier Hainque <hainque@adacore.com>
6003
6004 * config/vxworks/_vxworks-versions.h: Use OS specific
6005 paths in #include of version.h.
6006
6007 2022-10-07 Martin Liska <mliska@suse.cz>
6008
6009 * opts.cc (finish_options): Print sorry message only
6010 for -flive-patching=inline-only-static.
6011
6012 2022-10-07 Jason Merrill <jason@redhat.com>
6013
6014 * gimplify.cc (gimplify_modify_expr_rhs): Don't optimize
6015 x = *(A*)&<expr> to x = <expr> for a TREE_ADDRESSABLE type.
6016
6017 2022-10-07 Richard Biener <rguenther@suse.de>
6018
6019 PR tree-optimization/107153
6020 * tree-cfg.cc (gimple_duplicate_sese_tail): Do not update
6021 SSA form here.
6022 * tree-parloops.cc (gen_parallel_loop): Update SSA form
6023 after to-exit-first transform, no PHI insertion is necessary.
6024 (pass_parallelize_loops::execute): Force re-write of the
6025 virtual operand SSA web.
6026
6027 2022-10-07 Jonathan Wakely <jwakely@redhat.com>
6028
6029 * value-range.cc (irange::irange_contains_p): Fix comment typo.
6030
6031 2022-10-07 Eric Botcazou <ebotcazou@adacore.com>
6032
6033 * function.cc (thread_prologue_and_epilogue_insns): Update only
6034 entry and exit blocks when not optimizing. Remove dead statement.
6035
6036 2022-10-07 Aldy Hernandez <aldyh@redhat.com>
6037
6038 * value-range.cc (irange::irange_set): Convert nonzero mask to
6039 tree.
6040 (irange::irange_set_anti_range): Same.
6041 (irange::set): Same.
6042 (irange::verify_range): Same.
6043 (irange::contains_p): Same.
6044 (irange::invert): Same.
6045 (irange::set_range_from_nonzero_bits): Same.
6046 (irange::set_nonzero_bits): Same.
6047 (mask_to_wi): Same.
6048 (irange::intersect_nonzero_bits): Same.
6049 (irange::union_nonzero_bits): Same.
6050 * value-range.h (irange::varying_compatible_p): Same.
6051 (gt_ggc_mx): Same.
6052 (gt_pch_nx): Same.
6053 (irange::set_undefined): Same.
6054 (irange::set_varying): Same.
6055
6056 2022-10-07 Martin Liska <mliska@suse.cz>
6057
6058 * config/i386/i386-protos.h (ix86_binary_operator_ok): Add array
6059 size to function parameter.
6060 (ix86_unary_operator_ok): Likewise.
6061
6062 2022-10-07 Martin Liska <mliska@suse.cz>
6063
6064 * auto-profile.cc (get_inline_stack): Remove unused variable.
6065
6066 2022-10-07 Jakub Jelinek <jakub@redhat.com>
6067
6068 * ipa-prop.h (ipa_constant_data): Fix comment typo.
6069 * value-range.cc (irange::irange_contains_p): Likewise.
6070 * value-relation.cc (dom_oracle::set_one_relation): Likewise.
6071 * gimple-predicate-analysis.cc (predicate::simplify_4): Likewise.
6072 * tree-inline.cc (remap_ssa_name): Likewise.
6073
6074 2022-10-07 Jakub Jelinek <jakub@redhat.com>
6075
6076 * attribs.h (is_attribute_namespace_p): New inline function.
6077 (lookup_attribute): Document meaning of ATTR_NS equal to "".
6078 * attribs.cc (remove_attribute): Use is_attribute_namespace_p.
6079 (private_lookup_attribute): For ATTR_NS "" match either standard
6080 attribute or "gnu" namespace one.
6081
6082 2022-10-07 Olivier Hainque <hainque@adacore.com>
6083
6084 * config/vxworks.h (DWARF_VERSION_DEFAULT): Adjust from
6085 4 to 3 for VxWorks >= 7.
6086
6087 2022-10-07 Olivier Hainque <hainque@adacore.com>
6088
6089 * defaults.h (DWARF_DEFAULT_VERSION): Define if not
6090 defined already.
6091 * common.opt (gdwarf-): Use it.
6092 * doc/tm.texi.in (DWARF_DEFAULT_VERSION): Document.
6093 * doc/tm.texi: Update accordingly.
6094 * config/vxworks.h (DWARF_DEFAULT_VERSION): Redefine.
6095 * config/vxworks.cc: Remove code setting dwarf_version, now
6096 handled by the DWARF_DEFAULT_VERSION redefinition.
6097
6098 2022-10-07 Olivier Hainque <hainque@adacore.com>
6099
6100 * ginclude/stddef.h: #undef offsetof before #define.
6101
6102 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6103
6104 PR tree-optimization/107170
6105 * vr-values.cc (vr_values::range_of_expr): Do not die on
6106 unsupported types.
6107
6108 2022-10-06 Joseph Myers <joseph@codesourcery.com>
6109
6110 * doc/invoke.texi (-fno-asm): Update description of effects on
6111 typeof keyword.
6112
6113 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
6114
6115 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Bail out for a self
6116 dependency that is a write-after-write if the access function is not
6117 affine or constant.
6118
6119 2022-10-06 Eric Botcazou <ebotcazou@adacore.com>
6120
6121 * df-scan.cc (df_ref_create_structure): Minor cleanup.
6122
6123 2022-10-06 Richard Biener <rguenther@suse.de>
6124
6125 PR middle-end/107115
6126 * expr.cc (store_expr): Check mems_same_for_tbaa_p before
6127 eliding a seemingly redundant store.
6128
6129 2022-10-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6130
6131 * config/aarch64/atomics.md (*atomic_load<ALLX:mode>_zext<SD_HSDI:mode>):
6132 New pattern.
6133
6134 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
6135
6136 * config/aarch64/aarch64-cores.def (AARCH64_CORE): Update
6137 Ampere-1 core entry.
6138
6139 2022-10-06 Philipp Tomsich <philipp.tomsich@vrull.eu>
6140
6141 * config/aarch64/driver-aarch64.cc (readline): Fix off-by-one.
6142
6143 2022-10-06 Richard Biener <rguenther@suse.de>
6144
6145 PR tree-optimization/107107
6146 * tree-ssa-sccvn.cc (visit_reference_op_store): Do not
6147 affect value-numbering when doing the tail merging
6148 MODIFY_EXPR lookup.
6149
6150 2022-10-06 Claudiu Zissulescu <claziss@synopsys.com>
6151
6152 * config/arc/linux.h (LINK_SPEC): Remove max-page-size and
6153 common-pave-size.
6154
6155 2022-10-06 Jakub Jelinek <jakub@redhat.com>
6156
6157 PR c++/106654
6158 * internal-fn.def (ASSUME): New internal function.
6159 * internal-fn.h (expand_ASSUME): Declare.
6160 * internal-fn.cc (expand_ASSUME): Define.
6161 * gimplify.cc (gimplify_call_expr): Gimplify IFN_ASSUME.
6162 * fold-const.h (simple_condition_p): Declare.
6163 * fold-const.cc (simple_operand_p_2): Rename to ...
6164 (simple_condition_p): ... this. Remove forward declaration.
6165 No longer static. Adjust function comment and fix a typo in it.
6166 Adjust recursive call.
6167 (simple_operand_p): Adjust function comment.
6168 (fold_truth_andor): Adjust simple_operand_p_2 callers to call
6169 simple_condition_p.
6170 * doc/extend.texi: Document assume attribute. Move fallthrough
6171 attribute example to its section.
6172
6173 2022-10-06 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
6174
6175 PR rtl-optimization/107088
6176 * cselib.cc (new_cselib_val): Skip BImode while keeping track of
6177 subvalue relations.
6178
6179 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6180
6181 * value-range.cc (frange::set): Call set_nan unconditionally.
6182 (range_tests_nan): Adjust tests.
6183 (range_tests_signed_zeros): Same.
6184 (range_tests_floats): Same.
6185 * value-range.h (frange::update_nan): Guard with HONOR_NANS.
6186 (frange::set_nan): Set undefined if !HONOR_NANS.
6187
6188 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6189
6190 * range-op-float.cc (foperator_lt::fold_range): Remove extra check
6191 to finite_operands_p.
6192 (foperator_le::fold_range): Same.
6193 (foperator_gt::fold_range): Same.
6194 (foperator_ge::fold_range): Same.
6195
6196 2022-10-06 Aldy Hernandez <aldyh@redhat.com>
6197
6198 * value-range-pretty-print.cc (vrange_printer::print_real_value):
6199 Avoid printing INF and NAN twice.
6200
6201 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6202
6203 * config/rs6000/constraints.md (wD): Delete.
6204 * doc/md.texi (Machine Constraints): Adjust.
6205
6206 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6207
6208 * config/rs6000/vsx.md (vsx_extract_<mode>): Replace define_insn by a
6209 define_expand. Split the contents to...
6210 (*vsx_extract_<mode>_0): ... this. Rewrite.
6211 (*vsx_extract_<mode>_1): ... and this. Rewrite.
6212
6213 2022-10-05 Segher Boessenkool <segher@kernel.crashing.org>
6214
6215 * config/rs6000/vsx.md (*vsx_extract_<mode>_store): Use "n" instead of
6216 "wD" constraint.
6217
6218 2022-10-05 David Malcolm <dmalcolm@redhat.com>
6219
6220 PR analyzer/107060
6221 * doc/analyzer.texi (__analyzer_get_unknown_ptr): Document.
6222
6223 2022-10-05 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
6224
6225 * config.gcc: Add riscv_vector.h.
6226 * config/riscv/riscv-builtins.cc: Add RVV builtin types support.
6227 * config/riscv/riscv-c.cc (riscv_pragma_intrinsic): New function.
6228 (riscv_register_pragmas): Ditto.
6229 * config/riscv/riscv-protos.h (riscv_register_pragmas): Ditto.
6230 (init_builtins): Move declaration from riscv-vector-builtins.h to riscv-protos.h.
6231 (mangle_builtin_type): Ditto.
6232 (verify_type_context): Ditto.
6233 (handle_pragma_vector): New function.
6234 * config/riscv/riscv-vector-builtins.cc (GTY): New variable.
6235 (register_vector_type): New function.
6236 (init_builtins): Add RVV builtin types support.
6237 (handle_pragma_vector): New function.
6238 * config/riscv/riscv-vector-builtins.h (GCC_RISCV_V_BUILTINS_H): Change
6239 name according to file name.
6240 (GCC_RISCV_VECTOR_BUILTINS_H): Ditto.
6241 (init_builtins): Remove declaration in riscv-vector-builtins.h.
6242 (mangle_builtin_type): Ditto.
6243 (verify_type_context): Ditto.
6244 * config/riscv/riscv.cc: Adjust for RVV builtin types support.
6245 * config/riscv/riscv.h (REGISTER_TARGET_PRAGMAS): New macro.
6246 * config/riscv/t-riscv: Remove redundant file including.
6247 * config/riscv/riscv_vector.h: New file.
6248
6249 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6250
6251 * range-op.cc (operator_cast::fold_range): Handle truncating casts
6252 for nonzero masks.
6253
6254 2022-10-05 Martin Liska <mliska@suse.cz>
6255
6256 PR c/107156
6257 * attribs.h (lookup_attribute_by_prefix): Support the attribute
6258 starting with underscore (_Noreturn).
6259
6260 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6261
6262 PR tree-optimization/107052
6263 * gimple-range-op.cc (cfn_popcount::fold_range): Take into account
6264 nonzero bit mask.
6265
6266 2022-10-05 Aldy Hernandez <aldyh@redhat.com>
6267
6268 PR tree-optimization/107052
6269 * range-op.cc (operator_cast::fold_range): Set nonzero mask.
6270
6271 2022-10-05 Eric Botcazou <ebotcazou@adacore.com>
6272
6273 PR tree-optimization/106698
6274 * pointer-query.cc (handle_array_ref): Fix handling of low bound.
6275
6276 2022-10-05 Vineet Gupta <vineetg@rivosinc.com>
6277
6278 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins):
6279 Remove __riscv_cmodel_pic, that deprecated in last version.
6280
6281 2022-10-05 David Malcolm <dmalcolm@redhat.com>
6282
6283 PR analyzer/107072
6284 * Makefile.in (ANALYZER_OBJS): Add analyzer/call-summary.o.
6285
6286 2022-10-04 Jakub Jelinek <jakub@redhat.com>
6287
6288 * attribs.h (remove_attribute): Declare overload with additional
6289 attr_ns argument.
6290 (private_lookup_attribute): Declare overload with additional
6291 attr_ns and attr_ns_len arguments.
6292 (lookup_attribute): New overload with additional attr_ns argument.
6293 * attribs.cc (remove_attribute): New overload with additional
6294 attr_ns argument.
6295 (private_lookup_attribute): New overload with additional
6296 attr_ns and attr_ns_len arguments.
6297
6298 2022-10-04 Jakub Jelinek <jakub@redhat.com>
6299
6300 * attribs.cc (handle_ignored_attributes_option, decl_attributes,
6301 common_function_versions): Use auto_diagnostic_group.
6302
6303 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6304
6305 * value-range.cc (irange::set_nonzero_bits): Remove assert.
6306
6307 2022-10-04 Richard Sandiford <richard.sandiford@arm.com>
6308
6309 * config/aarch64/aarch64.h (AARCH64_ISA_RCPC): New macro.
6310 * config/aarch64/aarch64-arches.def (armv8.3-a): Include RCPC.
6311 * config/aarch64/aarch64-cores.def (thunderx3t110, zeus, neoverse-v1)
6312 (neoverse-512tvb, saphira): Remove RCPC from these Armv8.3-A+ cores.
6313 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Define
6314 __ARM_FEATURE_RCPC when appropriate.
6315
6316 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
6317
6318 * doc/invoke.texi (-fopenmp): Mention C++ attribut syntax.
6319 (-fopenmp-simd): Likewise; update permitted directives.
6320
6321 2022-10-04 Tobias Burnus <tobias@codesourcery.com>
6322
6323 * doc/install.texi (Specific): Add missing items to bullet list.
6324 (amdgcn): Update LLVM requirements, use version not date for newlib.
6325 (nvptx): Use version not git hash for newlib.
6326
6327 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6328
6329 * value-range-storage.cc (irange_storage_slot::set_irange): Remove
6330 special case.
6331 * value-range.cc (irange::irange_set): Adjust for nonzero mask
6332 being a wide int.
6333 (irange::irange_set_anti_range): Same.
6334 (irange::set): Same.
6335 (irange::verify_range): Same.
6336 (irange::legacy_equal_p): Same.
6337 (irange::operator==): Same.
6338 (irange::contains_p): Same.
6339 (irange::legacy_intersect): Same.
6340 (irange::legacy_union): Same.
6341 (irange::irange_single_pair_union): Call union_nonzero_bits.
6342 (irange::irange_union): Same.
6343 (irange::irange_intersect): Call intersect_nonzero_bits.
6344 (irange::intersect): Adjust for nonzero mask being a wide int.
6345 (irange::invert): Same.
6346 (irange::set_nonzero_bits): Same.
6347 (irange::get_nonzero_bits_from_range): New.
6348 (irange::set_range_from_nonzero_bits): New.
6349 (irange::get_nonzero_bits): Adjust for nonzero mask being a wide
6350 int.
6351 (irange::intersect_nonzero_bits): Same.
6352 (irange::union_nonzero_bits): Same.
6353 (range_tests_nonzero_bits): Remove test.
6354 * value-range.h (irange::varying_compatible_p): Adjust for nonzero
6355 mask being a wide int.
6356 (gt_ggc_mx): Same.
6357 (gt_pch_nx): Same.
6358 (irange::set_undefined): Same.
6359 (irange::set_varying): Same.
6360 (irange::normalize_kind): Same.
6361
6362 2022-10-04 Aldy Hernandez <aldyh@redhat.com>
6363
6364 PR tree-optimization/107130
6365 * gimple-range-op.cc (class cfn_popcount): Call op_cfn_ffs.
6366 (class cfn_ffs): New.
6367 (gimple_range_op_handler::maybe_builtin_call): Separate out
6368 CASE_CFN_FFS into its own case.
6369
6370 2022-10-03 Sergei Trofimovich <siarheit@google.com>
6371
6372 * config/i386/t-i386: Add build-time dependencies against
6373 i386-builtin-types.inc to i386-builtins.o, i386-expand.o,
6374 i386-features.o.
6375
6376 2022-10-03 Andrew Stubbs <ams@codesourcery.com>
6377
6378 * config/gcn/gcn-valu.md (while_ultsidi): Limit mask length using
6379 operand 3.
6380 * doc/md.texi (while_ult): Document new operand 3 usage.
6381 * internal-fn.cc (expand_while_optab_fn): Set operand 3 when lhs_type
6382 maps to a non-vector mode.
6383
6384 2022-10-03 Andrew MacLeod <amacleod@redhat.com>
6385
6386 PR tree-optimization/107109
6387 * range-op.cc (adjust_op1_for_overflow): Don't process undefined.
6388
6389 2022-10-03 Christophe Lyon <christophe.lyon@arm.com>
6390
6391 * config/arm/mve.md (mve_vrev64q_m_<supf><mode>): Add early
6392 clobber.
6393 (mve_vrev64q_m_f<mode>): Likewise.
6394
6395 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6396
6397 * value-range.cc (irange::set_nonzero_bits): Do not pessimize range.
6398 (range_tests_nonzero_bits): New test.
6399
6400 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6401
6402 * value-range.cc (irange::operator==): Early bail on m_num_ranges
6403 equal to 0.
6404
6405 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6406
6407 * value-range.cc (irange::legacy_equal_p): Remove nonozero mask
6408 check when comparing VR_VARYING ranges.
6409
6410 2022-10-03 Aldy Hernandez <aldyh@redhat.com>
6411
6412 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Do not compare
6413 incompatible ranges in ipa-prop.
6414
6415 2022-10-02 Jakub Jelinek <jakub@redhat.com>
6416
6417 PR tree-optimization/107121
6418 * tree-cfg.cc (verify_gimple_call): Fix a typo in diagnostics,
6419 DEFFERED_INIT -> DEFERRED_INIT.
6420
6421 2022-10-02 Marc Poulhiès <poulhies@adacore.com>
6422
6423 * config/vxworks-driver.cc: New.
6424 * config.gcc (*vxworks*): Add vxworks-driver.o in extra_gcc_objs.
6425 * config/t-vxworks: Add vxworks-driver.o.
6426 * config/vxworks.h (GCC_DRIVER_HOST_INITIALIZATION): New.
6427
6428 2022-10-02 Olivier Hainque <hainque@adacore.com>
6429
6430 * config/vxworks.h (VX_CRTBEGIN_SPEC, VX_CRTEND_SPEC): If
6431 HAVE_INITFINI_ARRAY_SUPPORT, pick crtstuff objects regardless
6432 of ENABLE_SHARED_LIBGCC.
6433
6434 2022-10-01 Stafford Horne <shorne@gmail.com>
6435
6436 * config/or1k/or1k.cc (TARGET_HAVE_TLS): Only define if
6437 HAVE_AS_TLS is defined.
6438
6439 2022-10-01 Julian Brown <julian@codesourcery.com>
6440
6441 * gimplify.cc (omp_group_base): Fix IF_PRESENT (no_create)
6442 handling.
6443
6444 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
6445
6446 * config/h8300/h8300.md (HSI2): New iterator.
6447 (eqne_invert): Similarly.
6448 * config/h8300/testcompare.md (testhi_upper_z): New pattern.
6449 (cmpqi_z, cmphi_z, cmpsi_z): Likewise.
6450 (store_z_qi, store_z_i_qi, store_z_hi, store_z_hi_sb): New
6451 define_insn_and_splits and/or define_insns.
6452 (store_z_hi_neg, store_z_hi_and, store_z_<mode>): Likewise.
6453 (store_z_<mode>_neg, store_z_<mode>_and, store_z): Likewise.
6454
6455 2022-10-01 Jeff Law <jeffreyalaw@gmail.com>
6456
6457 * tree-ssa-dom.cc (record_edge_info): Install correct version of
6458 patch.
6459
6460 2022-10-01 Eugene Rozenfeld <erozen@microsoft.com>
6461
6462 * dwarf2out.cc (add_call_src_coords_attributes): Emit discriminators for inlined call sites.
6463
6464 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
6465
6466 * tree-ssa-dom.cc (single_block_loop_p): New function.
6467 (record_edge_info): Also record equivalences for the outgoing
6468 edge of a single block loop where the condition is an invariant.
6469
6470 2022-09-30 Jeff Law <jeffreyalaw@gmail.com>
6471
6472 * tree-ssa-dom.cc (free_dom_edge_info): Clear e->aux too.
6473 (free_all_edge_infos): Do not clear e->aux here.
6474
6475 2022-09-30 H.J. Lu <hjl.tools@gmail.com>
6476
6477 * target.def (TARGET_C_EXCESS_PRECISION): Document
6478 -fexcess-precision=16.
6479
6480 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
6481
6482 * doc/tm.texi (TARGET_C_EXCESS_PRECISION): Add 16.
6483
6484 2022-09-30 Palmer Dabbelt <palmer@rivosinc.com>
6485
6486 PR target/106815
6487 * config/riscv/riscv.cc (riscv_excess_precision): Add support
6488 for EXCESS_PRECISION_TYPE_FLOAT16.
6489
6490 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6491
6492 PR c++/107080
6493 * config/arm/arm.cc (arm_mangle_type): Mangle just __fp16 as Dh
6494 and _Float16 as DF16_.
6495 * config/csky/csky.cc (csky_init_builtins): Fix a comment typo.
6496 (csky_mangle_type): Mangle __fp16 as Dh and _Float16 as DF16_
6497 rather than mangling __fp16 as __fp16.
6498
6499 2022-09-30 Lewis Hyatt <lhyatt@gmail.com>
6500
6501 PR preprocessor/69543
6502 * tree-ssa-uninit.cc (warn_uninit): Stop stripping macro tracking
6503 information away from the diagnostic location.
6504 (maybe_warn_read_write_only): Likewise.
6505 (maybe_warn_operand): Likewise.
6506
6507 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6508
6509 PR c++/107080
6510 * config/aarch64/aarch64.cc (aarch64_mangle_type): Mangle just __fp16
6511 as Dh and _Float16 as DF16_.
6512
6513 2022-09-30 Jakub Jelinek <jakub@redhat.com>
6514
6515 PR c++/107080
6516 * config/i386/i386.cc (ix86_mangle_type): Always return NULL
6517 for float128_type_node or float64x_type_node, don't check
6518 float128t_type_node later on.
6519 * config/ia64/ia64.cc (ia64_mangle_type): Always return NULL
6520 for float128_type_node or float64x_type_node.
6521 * config/rs6000/rs6000.cc (rs6000_mangle_type): Likewise.
6522 Don't check float128_type_node later on.
6523 * config/s390/s390.cc (s390_mangle_type): Don't use
6524 TYPE_MAIN_VARIANT on type which was set to TYPE_MAIN_VARIANT
6525 a few lines earlier.
6526
6527 2022-09-30 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
6528 Yvan ROUX <yvan.roux@foss.st.com>
6529
6530 * doc/sourcebuild.texi: Document new vma_equals_lma effective
6531 target check.
6532
6533 2022-09-30 Jiawei <jiawei@iscas.ac.cn>
6534
6535 * config/riscv/riscv.cc (riscv_file_start): New .option.
6536 * config/riscv/riscv.opt: New options.
6537 * doc/invoke.texi: New definations.
6538
6539 2022-09-30 Kewen Lin <linkw@linux.ibm.com>
6540
6541 PR target/99888
6542 PR target/105649
6543 * doc/invoke.texi (option -fpatchable-function-entry): Adjust the
6544 documentation for PowerPC ELFv2 ABI dual entry points.
6545 * config/rs6000/rs6000-internal.h
6546 (rs6000_print_patchable_function_entry): New function declaration.
6547 * config/rs6000/rs6000-logue.cc (rs6000_output_function_prologue):
6548 Support patchable-function-entry by emitting nops before and after
6549 local entry for the function that needs global entry.
6550 * config/rs6000/rs6000.cc (rs6000_print_patchable_function_entry): Skip
6551 the function that needs global entry till global entry has been
6552 emitted.
6553 * config/rs6000/rs6000.h (struct machine_function): New bool member
6554 global_entry_emitted.
6555
6556 2022-09-30 Richard Biener <rguenther@suse.de>
6557
6558 PR tree-optimization/107095
6559 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Use data arg
6560 for .MASK_STORE size.
6561
6562 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6563
6564 * range-op.cc (plus_minus_ranges): New.
6565 (adjust_op1_for_overflow): New.
6566 (operator_plus::op1_range): Use new adjustment.
6567 (operator_plus::op2_range): Ditto.
6568 (operator_minus::op1_range): Ditto.
6569 * value-relation.h (relation_lt_le_gt_ge_p): New.
6570
6571 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6572
6573 * gimple-range-gori.cc (gori_compute::refine_using_relation): New.
6574 (gori_compute::compute_operand1_range): Invoke
6575 refine_using_relation when applicable.
6576 (gori_compute::compute_operand2_range): Ditto.
6577 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
6578
6579 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6580
6581 * gimple-range-gori.cc (ori_compute::compute_operand_range):
6582 Create a relation record and pass it along when possible.
6583 (gori_compute::compute_operand1_range): Pass relation along.
6584 (gori_compute::compute_operand2_range): Ditto.
6585 (gori_compute::compute_operand1_and_operand2_range): Ditto.
6586 * gimple-range-gori.h (class gori_compute): Adjust prototypes.
6587 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Pass
6588 relation to op1_range call.
6589 (gimple_range_op_handler::calc_op2): Pass relation to op2_range call.
6590 * gimple-range-op.h (class gimple_range_op_handler): Adjust
6591 prototypes.
6592
6593 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6594
6595 * value-relation.cc (class value_relation): Move to .h file.
6596 (value_relation::set_relation): Ditto.
6597 (value_relation::value_relation): ditto.
6598 * value-relation.h (class value_relation): Move from .cc file.
6599 (value_relation::set_relation): Ditto
6600 (value_relation::value_relation): Ditto.
6601
6602 2022-09-29 Andrew MacLeod <amacleod@redhat.com>
6603
6604 * range-op.cc (operator_minus::op2_range): Check for undefined.
6605 (operator_mult::op1_range): Ditto.
6606 (operator_exact_divide::op1_range): Ditto.
6607 (operator_lshift::op1_range): Ditto.
6608 (operator_rshift::op1_range): Ditto.
6609 (operator_cast::op1_range): Ditto.
6610 (operator_bitwise_and::op1_range): Ditto.
6611 (operator_bitwise_or::op1_range): Ditto.
6612 (operator_trunc_mod::op1_range): Ditto.
6613 (operator_trunc_mod::op2_range): Ditto.
6614 (operator_bitwise_not::op1_range): Ditto.
6615 (pointer_or_operator::op1_range): Ditto.
6616 (range_op_handler::op1_range): Ditto.
6617 (range_op_handler::op2_range): Ditto.
6618
6619 2022-09-29 Andrew Stubbs <ams@codesourcery.com>
6620
6621 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen):
6622 Remove unused elt_bits variable.
6623
6624 2022-09-29 Olivier Hainque <hainque@adacore.com>
6625
6626 * config/vxworks.h: Add comment on our use of
6627 HAVE_INITFINI_ARRAY_SUPPORT.
6628
6629 2022-09-29 Olivier Hainque <hainque@adacore.com>
6630
6631 * config/aarch64/t-aarch64-vxworks: Request multilib
6632 variants for mcmodel=large.
6633
6634 2022-09-29 Olivier Hainque <hainque@adacore.com>
6635
6636 * config/rs6000/vxworks.h (TARGET_FLOAT128_ENABLE_TYPE): Remove
6637 resetting to 0.
6638
6639 2022-09-29 Olivier Hainque <hainque@adacore.com>
6640
6641 * config/vx-common.h (DWARF2_UNWIND_INFO): #define to 0
6642 when ARM_UNWIND_INFO is set.
6643
6644 2022-09-29 Julian Brown <julian@codesourcery.com>
6645
6646 PR middle-end/107028
6647 * gimplify.cc (omp_check_mapping_compatibility,
6648 oacc_resolve_clause_dependencies): New functions.
6649 (omp_accumulate_sibling_list): Remove redundant duplicate clause
6650 detection for OpenACC.
6651 (build_struct_sibling_lists): Skip deleted groups. Don't build sibling
6652 list for struct variables that are fully mapped on the same directive
6653 for OpenACC.
6654 (gimplify_scan_omp_clauses): Call oacc_resolve_clause_dependencies.
6655
6656 2022-09-29 Jose E. Marchesi <jose.marchesi@oracle.com>
6657
6658 PR middle-end/25521
6659 * varasm.cc (categorize_decl_for_section): Place `const volatile'
6660 objects in read-only sections.
6661 (default_select_section): Likewise.
6662
6663 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6664
6665 * tree-data-ref.cc (dr_may_alias_p): Use to_poly_widest instead
6666 of to_widest.
6667
6668 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6669
6670 * config/aarch64/aarch64.h (TARGET_CRYPTO, TARGET_SHA3, TARGET_SM4)
6671 (TARGET_DOTPROD): Don't depend on TARGET_SIMD.
6672 (TARGET_AES, TARGET_SHA2): Likewise. Remove TARGET_CRYPTO test.
6673 (TARGET_FP_F16INST): Don't depend on TARGET_FLOAT.
6674 (TARGET_SVE2, TARGET_SVE_F32MM, TARGET_SVE_F64MM): Don't depend
6675 on TARGET_SVE.
6676 (TARGET_SVE2_AES, TARGET_SVE2_BITPERM, TARGET_SVE2_SHA3)
6677 (TARGET_SVE2_SM4): Don't depend on TARGET_SVE2.
6678 (TARGET_F32MM, TARGET_F64MM): Delete.
6679 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Guard
6680 float macros with just TARGET_FLOAT rather than TARGET_FLOAT
6681 || TARGET_SIMD.
6682 * config/aarch64/aarch64-simd.md (copysign<mode>3): Depend
6683 only on TARGET_SIMD, rather than TARGET_FLOAT && TARGET_SIMD.
6684 (aarch64_crypto_aes<aes_op>v16qi): Depend only on TARGET_AES,
6685 rather than TARGET_SIMD && TARGET_AES.
6686 (aarch64_crypto_aes<aesmc_op>v16qi): Likewise.
6687 (*aarch64_crypto_aese_fused): Likewise.
6688 (*aarch64_crypto_aesd_fused): Likewise.
6689 (aarch64_crypto_pmulldi): Likewise.
6690 (aarch64_crypto_pmullv2di): Likewise.
6691 (aarch64_crypto_sha1hsi): Likewise TARGET_SHA2.
6692 (aarch64_crypto_sha1hv4si): Likewise.
6693 (aarch64_be_crypto_sha1hv4si): Likewise.
6694 (aarch64_crypto_sha1su1v4si): Likewise.
6695 (aarch64_crypto_sha1<sha1_op>v4si): Likewise.
6696 (aarch64_crypto_sha1su0v4si): Likewise.
6697 (aarch64_crypto_sha256h<sha256_op>v4si): Likewise.
6698 (aarch64_crypto_sha256su0v4si): Likewise.
6699 (aarch64_crypto_sha256su1v4si): Likewise.
6700 (aarch64_crypto_sha512h<sha512_op>qv2di): Likewise TARGET_SHA3.
6701 (aarch64_crypto_sha512su0qv2di): Likewise.
6702 (aarch64_crypto_sha512su1qv2di, eor3q<mode>4): Likewise.
6703 (aarch64_rax1qv2di, aarch64_xarqv2di, bcaxq<mode>4): Likewise.
6704 (aarch64_sm3ss1qv4si): Likewise TARGET_SM4.
6705 (aarch64_sm3tt<sm3tt_op>qv4si): Likewise.
6706 (aarch64_sm3partw<sm3part_op>qv4si): Likewise.
6707 (aarch64_sm4eqv4si, aarch64_sm4ekeyqv4si): Likewise.
6708 * config/aarch64/aarch64.md (<FLOATUORS:optab>dihf2)
6709 (copysign<GPF:mode>3, copysign<GPF:mode>3_insn)
6710 (xorsign<mode>3): Remove redundant TARGET_FLOAT condition.
6711
6712 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6713
6714 * config/aarch64/aarch64.opt (aarch64_asm_isa_flags): New variable.
6715 * config/aarch64/aarch64.h (aarch64_asm_isa_flags)
6716 (aarch64_isa_flags): Redefine as read-only macros.
6717 (TARGET_SIMD, TARGET_FLOAT, TARGET_SVE): Don't depend on
6718 !TARGET_GENERAL_REGS_ONLY.
6719 * common/config/aarch64/aarch64-common.cc
6720 (aarch64_set_asm_isa_flags): New function.
6721 (aarch64_handle_option): Call it when updating -mgeneral-regs.
6722 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): Replace
6723 m_old_isa_flags with m_old_asm_isa_flags.
6724 (aarch64_set_asm_isa_flags): Declare.
6725 * config/aarch64/aarch64-builtins.cc
6726 (aarch64_simd_switcher::aarch64_simd_switcher)
6727 (aarch64_simd_switcher::~aarch64_simd_switcher): Save and restore
6728 aarch64_asm_isa_flags instead of aarch64_isa_flags.
6729 * config/aarch64/aarch64-sve-builtins.cc
6730 (check_required_extensions): Use aarch64_asm_isa_flags instead
6731 of aarch64_isa_flags.
6732 * config/aarch64/aarch64.cc (aarch64_set_asm_isa_flags): New function.
6733 (aarch64_override_options, aarch64_handle_attr_arch)
6734 (aarch64_handle_attr_cpu, aarch64_handle_attr_isa_flags): Use
6735 aarch64_set_asm_isa_flags to set the ISA flags.
6736 (aarch64_option_print, aarch64_declare_function_name)
6737 (aarch64_start_file): Use aarch64_asm_isa_flags instead
6738 of aarch64_isa_flags.
6739 (aarch64_can_inline_p): Check aarch64_asm_isa_flags as well as
6740 aarch64_isa_flags.
6741
6742 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6743
6744 * common/config/aarch64/aarch64-common.cc (all_extensions):
6745 Include the feature flag in flags_on and flags_off.
6746 (aarch64_parse_extension): Update accordingly.
6747 (aarch64_get_extension_string_for_isa_flags): Likewise.
6748
6749 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6750
6751 * common/config/aarch64/aarch64-common.cc: Use aarch64_feature_flags
6752 for feature flags throughout.
6753 * config/aarch64/aarch64-protos.h: Likewise.
6754 * config/aarch64/aarch64-sve-builtins.h: Likewise.
6755 * config/aarch64/aarch64-sve-builtins.cc: Likewise.
6756 * config/aarch64/aarch64.cc: Likewise.
6757 * config/aarch64/aarch64.opt: Likewise.
6758 * config/aarch64/driver-aarch64.cc: Likewise.
6759
6760 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6761
6762 * common/config/aarch64/aarch64-common.cc (aarch64_option_extension)
6763 (processor_name_to_arch, arch_to_arch_name): Remove const from
6764 member variables.
6765 (all_extensions, all_cores, all_architectures): Make a constexpr.
6766 * config/aarch64/aarch64.cc (processor): Remove const from
6767 member variables.
6768 (all_architectures): Make a constexpr.
6769 * config/aarch64/driver-aarch64.cc (aarch64_core_data)
6770 (aarch64_arch_driver_info): Remove const from member variables.
6771 (aarch64_cpu_data, aarch64_arches): Make a constexpr.
6772 (get_arch_from_id): Return a pointer to const.
6773 (host_detect_local_cpu): Update accordingly.
6774
6775 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6776
6777 * common/config/aarch64/aarch64-common.cc (processor_name_to_arch)
6778 (arch_to_arch_name): Use const char * instead of std::string.
6779
6780 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6781
6782 * common/config/aarch64/aarch64-common.cc
6783 (TARGET_OPTION_INIT_STRUCT): Delete.
6784 (aarch64_option_extension): Remove is_synthetic_flag.
6785 (all_extensions): Update accordingly.
6786 (all_extensions_by_on, opt_ext, opt_ext_cmp): Delete.
6787 (aarch64_option_init_struct, aarch64_contains_opt): Delete.
6788 (aarch64_get_extension_string_for_isa_flags): Rewrite to use
6789 all_extensions instead of all_extensions_on.
6790
6791 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6792
6793 * config/aarch64/aarch64-option-extensions.def: Switch to a new format.
6794 * config/aarch64/aarch64-cores.def: Use the same format to specify
6795 lists of features.
6796 * config/aarch64/aarch64-arches.def: Likewise, moving that information
6797 from aarch64.h.
6798 * config/aarch64/aarch64-opts.h (aarch64_feature_flags): New typedef.
6799 * config/aarch64/aarch64.h (aarch64_feature): New class enum.
6800 Turn AARCH64_FL_* macros into constexprs, getting the definitions
6801 from aarch64-option-extensions.def. Remove AARCH64_FL_FOR_* macros.
6802 * common/config/aarch64/aarch64-common.cc: Include
6803 aarch64-feature-deps.h.
6804 (all_extensions): Update for new .def format.
6805 (all_extensions_by_on, all_cores, all_architectures): Likewise.
6806 * config/aarch64/driver-aarch64.cc: Include aarch64-feature-deps.h.
6807 (aarch64_extensions): Update for new .def format.
6808 (aarch64_cpu_data, aarch64_arches): Likewise.
6809 * config/aarch64/aarch64.cc: Include aarch64-feature-deps.h.
6810 (all_architectures, all_cores): Update for new .def format.
6811 * config/aarch64/aarch64-sve-builtins.cc
6812 (check_required_extensions): Likewise.
6813 * config/aarch64/aarch64-feature-deps.h: New file.
6814
6815 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6816
6817 * config/aarch64/aarch64-option-extensions.def: Move crypto
6818 after sha2.
6819
6820 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6821
6822 * config/aarch64/aarch64-option-extensions.def (dotprod): Depend
6823 on fp as well as simd.
6824 (sha3): Likewise.
6825 (aes): Likewise. Make +noaes disable crypto.
6826 (sha2): Likewise +nosha2. Also make +nosha2 disable sha3 and
6827 sve2-sha3.
6828 (sve2-sha3): Depend on sha2 as well as sha3.
6829
6830 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6831
6832 PR target/107025
6833 * config/aarch64/aarch64.h (oAARCH64_FL_RCPC8_4): Delete.
6834 (AARCH64_FL_FOR_V8_4A): Update accordingly.
6835 (AARCH64_ISA_RCPC8_4): Use AARCH64_FL_V8_4A directly.
6836 * config/aarch64/aarch64-cores.def (thunderx3t110): Remove
6837 AARCH64_FL_RCPC8_4.
6838
6839 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6840
6841 * config/aarch64/aarch64-cores.def: Remove AARCH64_FL_FOR_<ARCH>
6842 from the flags field.
6843 * common/config/aarch64/aarch64-common.cc (all_cores): Add it
6844 here instead.
6845 * config/aarch64/aarch64.cc (all_cores): Likewise.
6846 * config/aarch64/driver-aarch64.cc (all_cores): Likewise.
6847
6848 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6849
6850 * config.gcc: Remove dead aarch64-option-extensions.def code.
6851 * config/aarch64/aarch64-arches.def: Update comment.
6852
6853 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6854
6855 * config/aarch64/aarch64-arches.def: Add a leading "V" to the
6856 ARCH_IDENT fields.
6857 * config/aarch64/aarch64-cores.def: Update accordingly.
6858 * common/config/aarch64/aarch64-common.cc (all_cores): Likewise.
6859 * config/aarch64/aarch64.cc (all_cores): Likewise.
6860 * config/aarch64/driver-aarch64.cc (aarch64_arches): Skip the
6861 leading "V".
6862
6863 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6864
6865 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8): Rename to...
6866 (AARCH64_FL_FOR_V8A): ...this.
6867 (AARCH64_FL_FOR_ARCH8_1): Rename to...
6868 (AARCH64_FL_FOR_V8_1A): ...this.
6869 (AARCH64_FL_FOR_ARCH8_2): Rename to...
6870 (AARCH64_FL_FOR_V8_2A): ...this.
6871 (AARCH64_FL_FOR_ARCH8_3): Rename to...
6872 (AARCH64_FL_FOR_V8_3A): ...this.
6873 (AARCH64_FL_FOR_ARCH8_4): Rename to...
6874 (AARCH64_FL_FOR_V8_4A): ...this.
6875 (AARCH64_FL_FOR_ARCH8_5): Rename to...
6876 (AARCH64_FL_FOR_V8_5A): ...this.
6877 (AARCH64_FL_FOR_ARCH8_6): Rename to...
6878 (AARCH64_FL_FOR_V8_6A): ...this.
6879 (AARCH64_FL_FOR_ARCH8_7): Rename to...
6880 (AARCH64_FL_FOR_V8_7A): ...this.
6881 (AARCH64_FL_FOR_ARCH8_8): Rename to...
6882 (AARCH64_FL_FOR_V8_8A): ...this.
6883 (AARCH64_FL_FOR_ARCH8_R): Rename to...
6884 (AARCH64_FL_FOR_V8R): ...this.
6885 (AARCH64_FL_FOR_ARCH9): Rename to...
6886 (AARCH64_FL_FOR_V9A): ...this.
6887 (AARCH64_FL_FOR_ARCH9_1): Rename to...
6888 (AARCH64_FL_FOR_V9_1A): ...this.
6889 (AARCH64_FL_FOR_ARCH9_2): Rename to...
6890 (AARCH64_FL_FOR_V9_2A): ...this.
6891 (AARCH64_FL_FOR_ARCH9_3): Rename to...
6892 (AARCH64_FL_FOR_V9_3A): ...this.
6893 * common/config/aarch64/aarch64-common.cc (all_cores): Update
6894 accordingly.
6895 * config/aarch64/aarch64-arches.def: Likewise.
6896 * config/aarch64/aarch64-cores.def: Likewise.
6897 * config/aarch64/aarch64.cc (all_cores): Likewise.
6898
6899 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6900
6901 * config/aarch64/aarch64.h (AARCH64_FL_V8_1, AARCH64_FL_V8_2)
6902 (AARCH64_FL_V8_3, AARCH64_FL_V8_4, AARCH64_FL_V8_5, AARCH64_FL_V8_6)
6903 (AARCH64_FL_V9, AARCH64_FL_V8_7, AARCH64_FL_V8_8, AARCH64_FL_V9_1)
6904 (AARCH64_FL_V9_2, AARCH64_FL_V9_3): Add "A" to the end of the name.
6905 (AARCH64_FL_V8_R): Rename to AARCH64_FL_V8R.
6906 (AARCH64_FL_FOR_ARCH8_1, AARCH64_FL_FOR_ARCH8_2): Update accordingly.
6907 (AARCH64_FL_FOR_ARCH8_3, AARCH64_FL_FOR_ARCH8_4): Likewise.
6908 (AARCH64_FL_FOR_ARCH8_5, AARCH64_FL_FOR_ARCH8_6): Likewise.
6909 (AARCH64_FL_FOR_ARCH8_7, AARCH64_FL_FOR_ARCH8_8): Likewise.
6910 (AARCH64_FL_FOR_ARCH8_R, AARCH64_FL_FOR_ARCH9): Likewise.
6911 (AARCH64_FL_FOR_ARCH9_1, AARCH64_FL_FOR_ARCH9_2): Likewise.
6912 (AARCH64_FL_FOR_ARCH9_3, AARCH64_ISA_V8_2A, AARCH64_ISA_V8_3A)
6913 (AARCH64_ISA_V8_4A, AARCH64_ISA_V8_5A, AARCH64_ISA_V8_6A): Likewise.
6914 (AARCH64_ISA_V8R, AARCH64_ISA_V9A, AARCH64_ISA_V9_1A): Likewise.
6915 (AARCH64_ISA_V9_2A, AARCH64_ISA_V9_3A): Likewise.
6916
6917 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6918
6919 * config/aarch64/aarch64.h (AARCH64_ISA_V8_2, AARCH64_ISA_V8_3)
6920 (AARCH64_ISA_V8_4, AARCH64_ISA_V8_5, AARCH64_ISA_V8_6)
6921 (AARCH64_ISA_V9, AARCH64_ISA_V9_1, AARCH64_ISA_V9_2)
6922 (AARCH64_ISA_V9_3): Add "A" to the end of the name.
6923 (AARCH64_ISA_V8_R): Rename to AARCH64_ISA_V8R.
6924 (TARGET_ARMV8_3, TARGET_JSCVT, TARGET_FRINT, TARGET_MEMTAG): Update
6925 accordingly.
6926 * common/config/aarch64/aarch64-common.cc
6927 (aarch64_get_extension_string_for_isa_flags): Likewise.
6928 * config/aarch64/aarch64-c.cc
6929 (aarch64_define_unconditional_macros): Likewise.
6930
6931 2022-09-29 Richard Sandiford <richard.sandiford@arm.com>
6932
6933 * Makefile.in (GTFILES): Add OPTIONS_H_EXTRA.
6934
6935 2022-09-29 Jakub Jelinek <jakub@redhat.com>
6936
6937 PR bootstrap/107059
6938 * cppdefault.cc (cpp_include_defaults): If SYSROOT_HEADERS_SUFFIX_SPEC
6939 isn't defined, add FIXED_INCLUDE_DIR entry with multilib flag 2
6940 before FIXED_INCLUDE_DIR entry with multilib flag 0.
6941 * gcc.cc (do_spec_1): If multiarch_dir, add
6942 include-fixed/multiarch_dir paths before include-fixed paths.
6943
6944 2022-09-29 Martin Liska <mliska@suse.cz>
6945
6946 PR driver/106897
6947 * common.opt: Add -gz=zstd value.
6948 * configure.ac: Detect --compress-debug-sections=zstd
6949 for both linker and assembler.
6950 * configure: Regenerate.
6951 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Handle -gz=zstd.
6952 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
6953
6954 2022-09-29 Richard Biener <rguenther@suse.de>
6955
6956 PR tree-optimization/105646
6957 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
6958 the set of fallthru reachable blocks from function entry
6959 and use that to determine wlims.always_executed.
6960
6961 2022-09-29 liuhongt <hongtao.liu@intel.com>
6962
6963 PR tree-optimization/107055
6964 * tree-vect-loop-manip.cc (vect_can_advance_ivs_p): Check for
6965 nonlinear induction variables.
6966 * tree-vect-loop.cc (vect_can_peel_nonlinear_iv_p): New
6967 functions.
6968 (vectorizable_nonlinear_induction): Put part codes into
6969 vect_can_peel_nonlinear_iv_p.
6970 * tree-vectorizer.h (vect_can_peel_nonlinear_iv_p): Declare.
6971
6972 2022-09-28 Eugene Rozenfeld <erozen@microsoft.com>
6973
6974 * basic-block.h: Remove discriminator from basic blocks.
6975 * cfghooks.cc (split_block_1): Remove discriminator from basic blocks.
6976 * final.cc (final_start_function_1): Switch from per-bb to per statement
6977 discriminator.
6978 (final_scan_insn_1): Don't keep track of basic block discriminators.
6979 (compute_discriminator): Switch from basic block discriminators to
6980 instruction discriminators.
6981 (insn_discriminator): New function to return instruction discriminator.
6982 (notice_source_line): Use insn_discriminator.
6983 * gimple-pretty-print.cc (dump_gimple_bb_header): Remove dumping of
6984 basic block discriminators.
6985 * gimple-streamer-in.cc (input_bb): Remove reading of basic block
6986 discriminators.
6987 * gimple-streamer-out.cc (output_bb): Remove writing of basic block
6988 discriminators.
6989 * input.cc (make_location): Pass 0 discriminator to COMBINE_LOCATION_DATA.
6990 (location_with_discriminator): New function to combine locus with
6991 a discriminator.
6992 (has_discriminator): New function to check if a location has a discriminator.
6993 (get_discriminator_from_loc): New function to get the discriminator
6994 from a location.
6995 * input.h: Declarations of new functions.
6996 * lto-streamer-in.cc (cmp_loc): Use discriminators in location comparison.
6997 (apply_location_cache): Keep track of current discriminator.
6998 (input_location_and_block): Read discriminator from stream.
6999 * lto-streamer-out.cc (clear_line_info): Set current discriminator to
7000 UINT_MAX.
7001 (lto_output_location_1): Write discriminator to stream.
7002 * lto-streamer.h: Add discriminator to cached_location.
7003 Add current_discr to lto_location_cache.
7004 Add current_discr to output_block.
7005 * print-rtl.cc (print_rtx_operand_code_i): Print discriminator.
7006 * rtl.h: Add extern declaration of insn_discriminator.
7007 * tree-cfg.cc (assign_discriminator): New function to assign a unique
7008 discriminator value to all statements in a basic block that have the given
7009 line number.
7010 (assign_discriminators): Assign discriminators to statement locations.
7011 * tree-pretty-print.cc (dump_location): Dump discriminators.
7012 * tree.cc (set_block): Preserve discriminator when setting block.
7013 (set_source_range): Preserve discriminator when setting source range.
7014
7015 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
7016
7017 PR target/107061
7018 * config/i386/predicates.md (encodekey128_operation): Check
7019 XMM4-XMM6 as clobbered.
7020 (encodekey256_operation): Likewise.
7021 * config/i386/sse.md (encodekey128u32): Clobber XMM4-XMM6.
7022 (encodekey256u32): Likewise.
7023
7024 2022-09-28 Ju-Zhe Zhong <juzhe.zhong@rivai.ai>
7025
7026 * config.gcc: Add riscv-vector-builtins.o.
7027 * config/riscv/riscv-builtins.cc (riscv_init_builtins): Add RVV builtin function.
7028 * config/riscv/riscv-protos.h (riscv_v_ext_enabled_vector_mode_p): New function.
7029 * config/riscv/riscv.cc (ENTRY): New macro.
7030 (riscv_v_ext_enabled_vector_mode_p): New function.
7031 (riscv_mangle_type): Add RVV mangle.
7032 (riscv_vector_mode_supported_p): Adjust RVV machine mode.
7033 (riscv_verify_type_context): Add context check for RVV.
7034 (riscv_vector_alignment): Add RVV alignment target hook support.
7035 (TARGET_VECTOR_MODE_SUPPORTED_P): New target hook support.
7036 (TARGET_VERIFY_TYPE_CONTEXT): Ditto.
7037 (TARGET_VECTOR_ALIGNMENT): Ditto.
7038 * config/riscv/t-riscv: Add riscv-vector-builtins.o
7039 * config/riscv/riscv-vector-builtins.cc: New file.
7040 * config/riscv/riscv-vector-builtins.def: New file.
7041 * config/riscv/riscv-vector-builtins.h: New file.
7042 * config/riscv/riscv-vector-switch.def: New file.
7043
7044 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
7045
7046 * var-tracking.cc (vt_add_function_parameter): Add entry values
7047 up to maximal register mode.
7048
7049 2022-09-28 Stefan Schulze Frielinghaus <stefansf@linux.ibm.com>
7050
7051 * cselib.cc (new_cselib_val): Keep track of further subvalue
7052 relations.
7053
7054 2022-09-28 Andrea Corallo <andrea.corallo@arm.com>
7055
7056 * config/arm/arm-c.cc (arm_cpu_builtins): Define
7057 __ARM_FEATURE_AES and __ARM_FEATURE_SHA2.
7058
7059 2022-09-28 Xi Ruoyao <xry111@xry111.site>
7060
7061 PR tree-optimization/105414
7062 * config/loongarch/loongarch.md (UNSPEC_FMAX): New unspec.
7063 (UNSPEC_FMIN): Likewise.
7064 (fmax<mode>3): Use UNSPEC_FMAX instead of smax.
7065 (fmin<mode>3): Use UNSPEC_FMIN instead of smin.
7066
7067 2022-09-28 Lulu Cheng <chenglulu@loongson.cn>
7068
7069 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset):
7070 Fixed typo in "asan_mapping.h".
7071
7072 2022-09-28 H.J. Lu <hjl.tools@gmail.com>
7073
7074 PR middle-end/58245
7075 * calls.cc: Include "tree-eh.h".
7076 (expand_call): Check stack canary before throwing exception.
7077
7078 2022-09-27 Eugene Rozenfeld <erozen@microsoft.com>
7079
7080 * ipa-cp.cc (good_cloning_opportunity_p): Fix profile count comparison.
7081
7082 2022-09-27 Kim Kuparinen <kim.kuparinen@rightware.com>
7083
7084 * doc/invoke.texi: Update ABI version info.
7085
7086 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7087
7088 * gimple-range-op.cc (cfn_popcount): Calculate the popcount of a
7089 singleton.
7090
7091 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7092
7093 * value-range.cc (irange::set_nonzero_bits): Set range when known.
7094
7095 2022-09-27 Aldy Hernandez <aldyh@redhat.com>
7096
7097 * value-range.h (irange::set): New version taking wide_int_ref.
7098
7099 2022-09-27 Jakub Jelinek <jakub@redhat.com>
7100
7101 PR tree-optimization/107029
7102 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): Treat
7103 OFFSET_TYPE like POINTER_TYPE, except that OFFSET_TYPE may be
7104 signed and so can trigger even the (b % 4) == 3 case.
7105
7106 2022-09-27 Jeff Law <jeffreyalaw@gmail.com>
7107
7108 * cfgrtl.cc (fixup_reorder_chain): Verify that simple_return
7109 and return are available before trying to use them.
7110
7111 2022-09-27 Jakub Jelinek <jakub@redhat.com>
7112
7113 PR c++/106652
7114 PR c++/85518
7115 * tree-core.h (enum tree_index): Add TI_FLOAT128T_TYPE
7116 enumerator.
7117 * tree.h (float128t_type_node): Define.
7118 * tree.cc (build_common_tree_nodes): Initialize float128t_type_node.
7119 * builtins.def (DEF_FLOATN_BUILTIN): Adjust comment now that
7120 _Float<N> is supported in C++ too.
7121 * config/i386/i386.cc (ix86_mangle_type): Only mangle as "g"
7122 float128t_type_node.
7123 * config/i386/i386-builtins.cc (ix86_init_builtin_types): Use
7124 float128t_type_node for __float128 instead of float128_type_node
7125 and create it if NULL.
7126 * config/i386/avx512fp16intrin.h (_mm_setzero_ph, _mm256_setzero_ph,
7127 _mm512_setzero_ph, _mm_set_sh, _mm_load_sh): Use 0.0f16 instead of
7128 0.0f.
7129 * config/ia64/ia64.cc (ia64_init_builtins): Use
7130 float128t_type_node for __float128 instead of float128_type_node
7131 and create it if NULL.
7132 * config/rs6000/rs6000-c.cc (is_float128_p): Also return true
7133 for float128t_type_node if non-NULL.
7134 * config/rs6000/rs6000.cc (rs6000_mangle_type): Don't mangle
7135 float128_type_node as "u9__ieee128".
7136 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Use
7137 float128t_type_node for __float128 instead of float128_type_node
7138 and create it if NULL.
7139
7140 2022-09-26 Martin Liska <mliska@suse.cz>
7141
7142 * doc/invoke.texi: Add missing dash for
7143 Wanalyzer-exposure-through-uninit-copy.
7144
7145 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
7146
7147 PR tree-optimization/107009
7148 * range-op.cc (operator_bitwise_and::op1_range): Optimize 0 = x & MASK.
7149 (range_op_bitwise_and_tests): New test.
7150
7151 2022-09-26 Aldy Hernandez <aldyh@redhat.com>
7152
7153 PR tree-optimization/107009
7154 * tree-ssa-dom.cc
7155 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges):
7156 Iterate over exports.
7157
7158 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7159
7160 * config.gcc (with_arch) [nvptx]: Allow '--with-arch' to override
7161 the default.
7162 * config/nvptx/gen-multilib-matches.sh: New.
7163 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
7164 (MULTILIB_EXCEPTIONS): Handle this.
7165 * doc/install.texi (Specific) <nvptx-*-none>: Document this.
7166 * doc/invoke.texi (Nvidia PTX Options): Likewise.
7167
7168 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7169
7170 * config.gcc (TM_MULTILIB_CONFIG) [nvptx]: Set to '$with_arch'.
7171 * config/nvptx/t-nvptx (MULTILIB_OPTIONS, MULTILIB_MATCHES)
7172 (MULTILIB_EXCEPTIONS): Handle it.
7173
7174 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7175
7176 * config.gcc (with_arch) [nvptx]: Set to 'sm_30'.
7177 * config/nvptx/nvptx.cc (nvptx_option_override): Assert that
7178 '-misa' appeared.
7179 * config/nvptx/nvptx.h (OPTION_DEFAULT_SPECS): Define.
7180 * config/nvptx/nvptx.opt (misa=): Remove 'Init'.
7181
7182 2022-09-26 Thomas Schwinge <thomas@codesourcery.com>
7183
7184 * config/nvptx/nvptx.h (ASM_SPEC): Define.
7185
7186 2022-09-26 Jeff Law <jeffreyalaw@gmail.com>
7187
7188 * cfgcleanup.cc (bb_is_just_return): No longer static.
7189 * cfgcleanup.h (bb_is_just_return): Add prototype.
7190 * cfgrtl.cc (fixup_reorder_chain): Do not create an
7191 unconditional jump to a return block. Conditionally
7192 remove unreachable blocks.
7193
7194 2022-09-26 Tobias Burnus <tobias@codesourcery.com>
7195
7196 PR middle-end/106982
7197 * omp-low.cc (lower_oacc_reductions): Add some unshare_expr.
7198
7199 2022-09-26 Martin Liska <mliska@suse.cz>
7200
7201 * config/s390/s390.cc (s390_rtx_costs): Remove dest variable
7202 and use only dst.
7203
7204 2022-09-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7205
7206 * config/aarch64/aarch64-arches.def (armv9.1-a): Define.
7207 (armv9.2-a): Likewise.
7208 (armv9.3-a): Likewise.
7209 * config/aarch64/aarch64.h (AARCH64_FL_V9_1): Likewise.
7210 (AARCH64_FL_V9_2): Likewise.
7211 (AARCH64_FL_V9_3): Likewise.
7212 (AARCH64_FL_FOR_ARCH9_1): Likewise.
7213 (AARCH64_FL_FOR_ARCH9_2): Likewise.
7214 (AARCH64_FL_FOR_ARCH9_3): Likewise.
7215 (AARCH64_ISA_V9_1): Likewise.
7216 (AARCH64_ISA_V9_2): Likewise.
7217 (AARCH64_ISA_V9_3): Likewise.
7218 * doc/invoke.texi (AArch64 Options): Document armv9.1-a, armv9.2-a,
7219 armv9.3-a values to -march.
7220
7221 2022-09-26 Martin Liska <mliska@suse.cz>
7222
7223 * value-range.cc (tree_compare): Remove unused function.
7224
7225 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
7226
7227 PR target/96072
7228 * config/rs6000/rs6000-logue.cc (rs6000_emit_epilogue): Update the
7229 condition for adding REG_CFA_DEF_CFA reg note with
7230 frame_pointer_needed_indeed.
7231
7232 2022-09-26 Kewen Lin <linkw@linux.ibm.com>
7233
7234 PR target/100645
7235 * config/rs6000/vector.md (vec_shr_<mode>): Replace condition
7236 TARGET_ALTIVEC with VECTOR_UNIT_ALTIVEC_OR_VSX_P.
7237
7238 2022-09-26 Hongtao Liu <hongtao.liu@intel.com>
7239 Liwei Xu <liwei.xu@intel.com>
7240
7241 PR target/53346
7242 * config/i386/i386-expand.cc (expand_vec_perm_shufps_shufps):
7243 New function.
7244 (ix86_expand_vec_perm_const_1): Insert
7245 expand_vec_perm_shufps_shufps at the end of 2-instruction
7246 expand sequence.
7247
7248 2022-09-25 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7249
7250 * doc/sourcebuild.texi: Fix chapter level.
7251
7252 2022-09-24 Jakub Jelinek <jakub@redhat.com>
7253
7254 PR c/107001
7255 * omp-low.cc (lower_omp_taskgroup): Don't add GOMP_RETURN statement
7256 at the end.
7257 * omp-expand.cc (build_omp_regions_1): Clarify GF_OMP_TARGET_KIND_DATA
7258 is not stand-alone directive. For GIMPLE_OMP_TASKGROUP, also don't
7259 update parent.
7260 (omp_make_gimple_edges) <case GIMPLE_OMP_TASKGROUP>: Reset
7261 cur_region back after new_omp_region.
7262
7263 2022-09-23 Vineet Gupta <vineetg@rivosinc.com>
7264
7265 * config/riscv/riscv.h (LOCAL_SYM_P): New.
7266 (USE_LOAD_ADDRESS_MACRO): Simplify by calling LOCAL_SYM_P.
7267
7268 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
7269
7270 * config/riscv/riscv-modes.def (VECTOR_BOOL_MODE): Add RVV mask modes.
7271 (ADJUST_NUNITS): Adjust nunits using riscv_vector_chunks.
7272 (ADJUST_ALIGNMENT): Adjust alignment.
7273 (ADJUST_BYTESIZE): Adjust bytesize using riscv_vector_chunks.
7274 (RVV_MODES): New macro.
7275 (VECTOR_MODE_WITH_PREFIX): Add RVV vector modes.
7276 (VECTOR_MODES_WITH_PREFIX): Add RVV vector modes.
7277
7278 2022-09-23 zhongjuzhe <juzhe.zhong@rivai.ai>
7279
7280 * common/config/riscv/riscv-common.cc: Change "static void" to "void".
7281 * config.gcc: Add riscv-selftests.o
7282 * config/riscv/predicates.md: Allow const_poly_int.
7283 * config/riscv/riscv-protos.h (riscv_reinit): New function.
7284 (riscv_parse_arch_string): change as exten function.
7285 (riscv_run_selftests): New function.
7286 * config/riscv/riscv.cc (riscv_cannot_force_const_mem): Don't allow poly
7287 into const pool.
7288 (riscv_report_v_required): New function.
7289 (riscv_expand_op): New function.
7290 (riscv_expand_mult_with_const_int): New function.
7291 (riscv_legitimize_poly_move): Ditto.
7292 (riscv_legitimize_move): New function.
7293 (riscv_hard_regno_mode_ok): Add VL/VTYPE register allocation and fix
7294 vector RA.
7295 (riscv_convert_vector_bits): Fix riscv_vector_chunks configuration for
7296 -marh no 'v'.
7297 (riscv_reinit): New function.
7298 (TARGET_RUN_TARGET_SELFTESTS): New target hook support.
7299 * config/riscv/t-riscv: Add riscv-selftests.o.
7300 * config/riscv/riscv-selftests.cc: New file.
7301
7302 2022-09-23 Richard Biener <rguenther@suse.de>
7303
7304 PR tree-optimization/106922
7305 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Allow
7306 an arbitrary number of same valued skipped stores.
7307
7308 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7309
7310 * value-range.cc (frange::set): Swap setters such that the one
7311 accepting REAL_VALUE_TYPE does all the work.
7312
7313 2022-09-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7314
7315 * config/aarch64/aarch64-cores.def (neoverse-v2): New entry.
7316 (demeter): Update tunings to neoversev2.
7317 * config/aarch64/aarch64-tune.md: Regenerate.
7318 * config/aarch64/aarch64.cc (demeter_addrcost_table): Rename to
7319 neoversev2_addrcost_table.
7320 (demeter_regmove_cost): Rename to neoversev2_addrcost_table.
7321 (demeter_advsimd_vector_cost): Rename to neoversev2_advsimd_vector_cost.
7322 (demeter_sve_vector_cost): Rename to neoversev2_sve_vector_cost.
7323 (demeter_scalar_issue_info): Rename to neoversev2_scalar_issue_info.
7324 (demeter_advsimd_issue_info): Rename to neoversev2_advsimd_issue_info.
7325 (demeter_sve_issue_info): Rename to neoversev2_sve_issue_info.
7326 (demeter_vec_issue_info): Rename to neoversev2_vec_issue_info.
7327 Update references to above.
7328 (demeter_vector_cost): Rename to neoversev2_vector_cost.
7329 (demeter_tunings): Rename to neoversev2_tunings.
7330 (aarch64_vec_op_count::rename_cycles_per_iter): Use
7331 neoversev2_sve_issue_info instead of demeter_sve_issue_info.
7332 * doc/invoke.texi (AArch64 Options): Document neoverse-v2.
7333
7334 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7335
7336 * range-op-float.cc (build_le): Use vrp_val_*.
7337 (build_lt): Same.
7338 (build_ge): Same.
7339 (build_gt): Same.
7340 * value-range.cc (frange::set): Chop ranges outside of the
7341 representable numbers for -ffinite-math-only.
7342 (frange::normalize_kind): Use vrp_val*.
7343 (frange::verify_range): Same.
7344 (frange::set_nonnegative): Same.
7345 (range_tests_floats): Remove tests that depend on -INF and +INF.
7346 * value-range.h (real_max_representable): Add prototype.
7347 (real_min_representable): Same.
7348 (vrp_val_max): Set max representable number for
7349 -ffinite-math-only.
7350 (vrp_val_min): Same but for min.
7351 (frange::set_varying): Use vrp_val*.
7352
7353 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7354
7355 * real.cc (debug): New.
7356
7357 2022-09-23 Aldy Hernandez <aldyh@redhat.com>
7358
7359 * value-range-pretty-print.cc (vrange_printer::print_real_value): New.
7360 (vrange_printer::visit): Call print_real_value.
7361 * value-range-pretty-print.h: New print_real_value.
7362
7363 2022-09-23 Martin Liska <mliska@suse.cz>
7364
7365 * common.opt: Update -flto-compression-level documentation.
7366 * opts.cc (print_filtered_help): Do not append range to an
7367 option that uses \t syntax.
7368
7369 2022-09-23 Jakub Jelinek <jakub@redhat.com>
7370
7371 * attribs.cc (decl_attributes): Improve diagnostics, instead of
7372 saying expected between 1 and 1, found 2 just say expected 1, found 2.
7373
7374 2022-09-23 Hu, Lin1 <lin1.hu@intel.com>
7375
7376 PR target/94962
7377 * config/i386/constraints.md (BH): New define_constraint.
7378 * config/i386/i386.cc (standard_sse_constant_p): Add return
7379 3/4 when operand matches new predicate.
7380 (standard_sse_constant_opcode): Add new alternative branch to
7381 return "vpcmpeqd".
7382 * config/i386/predicates.md
7383 (vector_all_ones_zero_extend_half_operand): New define_predicate.
7384 (vector_all_ones_zero_extend_quarter_operand): Ditto.
7385 * config/i386/sse.md: Add constraint to insn "mov<mode>_internal".
7386
7387 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7388
7389 * gimple-range-fold.cc (range_of_range_op): Handle no operands.
7390 (range_of_call): Do not check for builtins.
7391 (fold_using_range::range_of_builtin_call): Delete.
7392 (fold_using_range::range_of_builtin_int_call): Delete.
7393 * gimple-range-fold.h: Adjust prototypes.
7394 * gimple-range-op.cc (class cfn_parity): New.
7395 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7396
7397 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7398
7399 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7400 for CFN_GOACC_DIM_*.
7401 * gimple-range-op.cc (class cfn_goacc_dim): New.
7402 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7403
7404 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7405
7406 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7407 for CFN_BUILT_IN_STRLEN.
7408 * gimple-range-op.cc (class cfn_strlen): New.
7409 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7410
7411 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7412
7413 * gimple-range-fold.cc (range_of_builtin_ubsan_call): Delete.
7414 (range_of_builtin_int_call): Remove cases for
7415 CFN_BUILT_IN_UBSAN_CHECK.
7416 * gimple-range-op.cc (class cfn_ubsan): New.
7417 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7418
7419 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7420
7421 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7422 for CFN_BUILT_IN_CLRSB.
7423 * gimple-range-op.cc (class cfn_clrsb): New.
7424 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7425
7426 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7427
7428 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7429 for CFN_CTZ.
7430 * gimple-range-op.cc (class cfn_ctz): New.
7431 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7432
7433 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7434
7435 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7436 for CFN_CLZ.
7437 * gimple-range-op.cc (class cfn_clz): New.
7438 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7439
7440 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7441
7442 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7443 for CFN_FFS and CFN_POPCOUNT.
7444 * gimple-range-op.cc (class cfn_pocount): New.
7445 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7446
7447 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7448
7449 * gimple-range-fold.cc (get_letter_range): Move to new class.
7450 (range_of_builtin_int_call): Remove case for CFN_BUILT_IN_TOUPPER
7451 and CFN_BUILT_IN_TOLOWER.
7452 * gimple-range-op.cc (class cfn_toupper_tolower): New.
7453 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7454
7455 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7456
7457 * gimple-range-fold.cc (range_of_builtin_int_call): Remove case
7458 for CFN_BUILT_IN_SIGNBIT.
7459 * gimple-range-op.cc (class cfn_signbit): New.
7460 (gimple_range_op_handler::maybe_builtin_call): Set arguments.
7461
7462 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7463
7464 * gimple-range-fold.cc
7465 (fold_using_range::range_of_builtin_int_call): Remove case for
7466 CFN_BUILT_IN_CONSTANT_P.
7467 * gimple-range-op.cc (gimple_range_op_handler::supported_p):
7468 Check if a call also creates a range-op object.
7469 (gimple_range_op_handler): Also check builtin calls.
7470 (class cfn_constant_float_p): New. Float CFN_BUILT_IN_CONSTANT_P.
7471 (class cfn_constant_p): New. Integral CFN_BUILT_IN_CONSTANT_P.
7472 (gimple_range_op_handler::maybe_builtin_call): Set arguments and
7473 handler for supported built-in calls.
7474 * gimple-range-op.h (maybe_builtin_call): New prototype.
7475
7476 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7477
7478 * gimple-range-fold.cc (range_of_range_op): Set result to
7479 VARYING if the call to fold_range fails.
7480 * tree-data-ref.cc (compute_distributive_range): Ditto.
7481 * tree-vrp.cc (range_fold_binary_expr): Ditto.
7482 (range_fold_unary_expr): Ditto.
7483 * value-query.cc (range_query::get_tree_range): Ditto.
7484
7485 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7486
7487 * range-op-float.cc (range_operator_float::fold_range): New base
7488 method for "int = float op int".
7489 * range-op.cc (range_op_handler::fold_range): New case.
7490 * range-op.h: Update prototypes.
7491
7492 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7493
7494 * gimple-range-op.cc (gimple_range_op_handler::calc_op1): Use
7495 operand 1 for second range if there is no operand 2.
7496
7497 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7498
7499 * Makefile.in (OBJS): Add gimple-range-op.o.
7500 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Use
7501 gimple_range_op_handler.
7502 * gimple-range-fold.cc (gimple_range_base_of_assignment): Move
7503 to a method in gimple_range_op_handler.
7504 (gimple_range_operand1): Ditto.
7505 (gimple_range_operand2): Ditto.
7506 (fold_using_range::fold_stmt): Use gimple_range_op_handler.
7507 (fold_using_range::range_of_range_op): Ditto.
7508 (fold_using_range::relation_fold_and_or): Ditto.
7509 (fur_source::register_outgoing_edges): Ditto.
7510 (gimple_range_ssa_names): Relocate to gimple-range-op.cc.
7511 * gimple-range-fold.h: Adjust prototypes.
7512 * gimple-range-gori.cc (gimple_range_calc_op1): Move
7513 to a method in gimple_range_op_handler.
7514 (gimple_range_calc_op2): Ditto.
7515 (gori_compute::compute_operand_range): Use
7516 gimple_range_op_handler.
7517 (gori_compute::compute_logical_operands): Ditto.
7518 (compute_operand1_range): Ditto.
7519 (gori_compute::compute_operand2_range): Ditto.
7520 (gori_compute::compute_operand1_and_operand2_range): Ditto.
7521 * gimple-range-gori.h: Adjust protoypes.
7522 * gimple-range-op.cc: New. Supply gimple_range_op_handler methods.
7523 * gimple-range-op.h: New. Supply gimple_range_op_handler class.
7524 * gimple-range.cc (gimple_ranger::prefill_name): Use
7525 gimple_range_op_handler.
7526 (gimple_ranger::prefill_stmt_dependencies): Ditto.
7527 * gimple-range.h: Include gimple-range-op.h.
7528 * range-op.cc (range_op_handler::range_op_handler): Adjust and
7529 remove gimple * parameter option.
7530 * range-op.h: Adjust prototypes.
7531
7532 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7533
7534 * range-op.cc (range_op_handler::set_op_handler): Set new fields.
7535 (ange_op_handler::range_op_handler): Likewise.
7536 (range_op_handler::operator bool): Remove.
7537 (range_op_handler::fold_range): Use appropriate handler.
7538 (range_op_handler::op1_range): Likewise.
7539 (range_op_handler::op2_range): Likewise.
7540 (range_op_handler::lhs_op1_relation): Likewise.
7541 (range_op_handler::lhs_op2_relation): Likewise.
7542 (range_op_handler::op1_op2_relation): Likewise.
7543 * range-op.h (class range_op_handler): Store handler pointers.
7544 (range_op_handler:: operator bool): Inline.
7545
7546 2022-09-22 Andrew MacLeod <amacleod@redhat.com>
7547
7548 * tree-ssa-threadbackward.cc
7549 (back_threader::find_paths_to_names): Replace sequence with
7550 a call to gimple_range_ssa_names.
7551
7552 2022-09-22 Martin Liska <mliska@suse.cz>
7553 Fangrui Song <i@maskray.me>
7554
7555 * configure: Regenerate.
7556 * configure.ac: Simplify to gcc_cv_ld_compress_debug={0,1}
7557 and gcc_cv_as_compress_debug={0,1}.
7558 * doc/invoke.texi: Document the removal.
7559 * gcc.cc (LINK_COMPRESS_DEBUG_SPEC): Simplify and ignore
7560 zlib-gnu.
7561 (ASM_COMPRESS_DEBUG_SPEC): Likewise.
7562
7563 2022-09-22 Richard Biener <rguenther@suse.de>
7564
7565 PR tree-optimization/106922
7566 * tree-ssa-sccvn.cc (vn_walk_cb_data::same_val): New member.
7567 (vn_walk_cb_data::finish): Perform delayed verification of
7568 a skipped may-alias.
7569 (vn_reference_lookup_pieces): Likewise.
7570 (vn_reference_lookup): Likewise.
7571 (vn_reference_lookup_3): When skipping stores of the same
7572 value also handle constant stores that are more than a
7573 single VDEF away by delaying the verification.
7574
7575 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
7576
7577 * config/xtensa/xtensa.cc (TARGET_MAX_ANCHOR_OFFSET): New
7578 definition.
7579
7580 2022-09-22 Max Filippov <jcmvbkbc@gmail.com>
7581
7582 * config/xtensa/xtensa.cc (xtensa_can_output_mi_thunk)
7583 (xtensa_output_mi_thunk): New functions.
7584 (TARGET_ASM_CAN_OUTPUT_MI_THUNK)
7585 (TARGET_ASM_OUTPUT_MI_THUNK): New macro definitions.
7586 (xtensa_prepare_expand_call): Use fixed register a8 as temporary
7587 when called with reload_completed set to 1.
7588
7589 2022-09-22 Richard Biener <rguenther@suse.de>
7590
7591 PR tree-optimization/99407
7592 * tree-ssa-dse.cc (dse_stmt_to_dr_map): New global.
7593 (dse_classify_store): Use data-ref analysis to disambiguate more uses.
7594 (pass_dse::use_dr_analysis_p): New pass parameter.
7595 (pass_dse::set_pass_param): Implement.
7596 (pass_dse::execute): Allocate and deallocate dse_stmt_to_dr_map.
7597 * passes.def: Allow DR analysis for the DSE pass before loop.
7598
7599 2022-09-22 Richard Biener <rguenther@suse.de>
7600
7601 * tree-ssa-sccvn.cc (can_track_predicate_on_edge): New
7602 function split out from ...
7603 (vn_nary_op_insert_pieces_predicated): ... here.
7604
7605 2022-09-22 liuhongt <hongtao.liu@intel.com>
7606
7607 PR target/106994
7608 * config/i386/mmx.md (floorv2sf2): Fix typo, use
7609 register_operand instead of vector_operand for operands[1].
7610
7611 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7612
7613 PR tree-optimization/106967
7614 * value-range.cc (frange::set): Set known NANs to undefined for
7615 flag_finite_math_only.
7616
7617 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7618
7619 * value-range.cc (frange::combine_zeros): Call set_undefined.
7620 (frange::intersect_nans): Same.
7621 (frange::intersect): Same.
7622 (frange::verify_range): Undefined ranges do not have a type.
7623 * value-range.h (frange::set_undefined): Clear NAN flags and type.
7624
7625 2022-09-21 Richard Biener <rguenther@suse.de>
7626
7627 PR tree-optimization/106984
7628 * tsan.cc (instrument_builtin_call): Build the COND_EXPR condition in
7629 a separate statement.
7630
7631 2022-09-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7632
7633 * config/aarch64/aarch64.h (HAVE_LOCAL_CPU_DETECT,
7634 EXTRA_SPEC_FUNCTIONS, MCPU_MTUNE_NATIVE_SPECS): Move definitions up before
7635 OPTION_DEFAULT_SPECS.
7636 (MCPU_MTUNE_NATIVE_SPECS): Pass "cpu" to
7637 local_cpu_detect when rewriting -march=native and no -mcpu or -mtune
7638 is given.
7639 (CONFIG_TUNE_SPEC): Define.
7640 (OPTION_DEFAULT_SPECS): Use CONFIG_TUNE_SPEC for "tune".
7641
7642 2022-09-21 Aldy Hernandez <aldyh@redhat.com>
7643
7644 PR tree-optimization/106967
7645 * range-op-float.cc (foperator_equal::fold_range): Adjust for NAN.
7646 (foperator_equal::op1_range): Same.
7647 (foperator_not_equal::fold_range): Same.
7648 (foperator_not_equal::op1_range): Same.
7649 (foperator_lt::fold_range): Same.
7650 (foperator_lt::op1_range): Same.
7651 (foperator_lt::op2_range): Same.
7652 (foperator_le::fold_range): Same.
7653 (foperator_le::op1_range): Same.
7654 (foperator_le::op2_range): Same.
7655 (foperator_gt::fold_range): Same.
7656 (foperator_gt::op1_range): Same.
7657 (foperator_gt::op2_range): Same.
7658 (foperator_ge::fold_range): Same.
7659 (foperator_ge::op1_range): Same.
7660 (foperator_ge::op2_range): Same.
7661 (foperator_unordered::op1_range): Same.
7662 (foperator_ordered::fold_range): Same.
7663 (foperator_ordered::op1_range): Same.
7664 (build_le): Assert that we don't have a NAN.
7665 (build_lt): Same.
7666 (build_gt): Same.
7667 (build_ge): Same.
7668
7669 2022-09-21 liuhongt <hongtao.liu@intel.com>
7670
7671 PR tree-optimization/106963
7672 * tree-vect-loop.cc (vect_create_nonlinear_iv_init): Use
7673 vec_gen_perm_mask_any instead of vec_gen_perm_mask_check.
7674
7675 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7676
7677 * value-range.h (frange::maybe_isnan): Return false for
7678 undefined ranges.
7679
7680 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7681
7682 * value-range.cc (frange::set_nonnegative): Set +NAN.
7683 (range_tests_signed_zeros): New test.
7684 * value-range.h (frange::update_nan): New overload to set NAN sign.
7685
7686 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7687
7688 PR target/106491
7689 * config/aarch64/aarch64-sve-builtins.cc (scalar_types)
7690 (acle_vector_types, acle_svpattern, acle_svprfop): Add GTY
7691 markup to (new) extern declarations instead of to the main
7692 definition.
7693
7694 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7695
7696 PR tree-optimization/106794
7697 PR tree-optimization/106914
7698 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
7699 Only consider loads that already have a permutation.
7700 (vect_optimize_slp_pass::start_choosing_layouts): Assert that
7701 loads with permutations are leaf nodes. Prevent any kind of grouped
7702 access from changing layout if it doesn't have a load permutation.
7703
7704 2022-09-20 Richard Sandiford <richard.sandiford@arm.com>
7705
7706 * tree-vect-data-refs.cc (vect_check_gather_scatter): Restrict
7707 early-out optimisation to SSA_NAMEs.
7708
7709 2022-09-20 Martin Liska <mliska@suse.cz>
7710
7711 * ctfc.cc (ctf_add_string): Replace "the the" with "the".
7712 * doc/md.texi: Likewise.
7713 * gimple-range-infer.cc (non_null_loadstore): Likewise.
7714
7715 2022-09-20 liuhongt <hongtao.liu@intel.com>
7716
7717 PR target/106910
7718 * config/i386/mmx.md (nearbyintv2sf2): New expander.
7719 (rintv2sf2): Ditto.
7720 (ceilv2sf2): Ditto.
7721 (lceilv2sfv2si2): Ditto.
7722 (floorv2sf2): Ditto.
7723 (lfloorv2sfv2si2): Ditto.
7724 (btruncv2sf2): Ditto.
7725 (lrintv2sfv2si2): Ditto.
7726 (roundv2sf2): Ditto.
7727 (lroundv2sfv2si2): Ditto.
7728 (*mmx_roundv2sf2): New define_insn.
7729
7730 2022-09-20 konglin1 <lingling.kong@intel.com>
7731
7732 PR middle-end/105735
7733 * tree-scalar-evolution.cc
7734 (analyze_and_compute_bitop_with_inv_effect): New function.
7735 (final_value_replacement_loop): Enhanced to handle bitop
7736 with inv induction.
7737
7738 2022-09-20 Xi Ruoyao <xry111@xry111.site>
7739
7740 * config/loongarch/gnu-user.h (GNU_USER_TARGET_LINK_SPEC): For
7741 -static-pie, pass -static -pie --no-dynamic-linker -z text to
7742 the linker, and do not pass --dynamic-linker.
7743
7744 2022-09-20 Aldy Hernandez <aldyh@redhat.com>
7745
7746 * value-range.cc (frange::flush_denormals_to_zero): New.
7747 (frange::set): Call flush_denormals_to_zero.
7748 * value-range.h (class frange): Add flush_denormals_to_zero.
7749
7750 2022-09-20 liuhongt <hongtao.liu@intel.com>
7751
7752 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Adjust for
7753 latest Intel processors.
7754
7755 2022-09-20 konglin1 <lingling.kong@intel.com>
7756
7757 PR target/106887
7758 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
7759 Fixed V16BF mode case.
7760
7761 2022-09-19 Torbjörn SVENSSON <torbjorn.svensson@foss.st.com>
7762
7763 * targhooks.cc (default_zero_call_used_regs): Improve sorry
7764 message.
7765
7766 2022-09-18 Julian Brown <julian@codesourcery.com>
7767
7768 * gimplify.cc (omp_segregate_mapping_groups): Update comment.
7769 (gimplify_adjust_omp_clauses): Move ATTACH and
7770 ATTACH_ZERO_LENGTH_ARRAY_SECTION nodes to the end of the clause list
7771 for offloaded OpenMP regions.
7772
7773 2022-09-18 Jakub Jelinek <jakub@redhat.com>
7774
7775 PR middle-end/106831
7776 * value-range.cc (frange::singleton_p): Avoid propagating long
7777 doubles that may have multiple representations.
7778
7779 2022-09-18 Aldy Hernandez <aldyh@redhat.com>
7780
7781 * range-op-float.cc (frange_add_zeros): Replace set_signbit with
7782 union of zero.
7783 * value-query.cc (range_query::get_tree_range): Remove set_signbit
7784 use.
7785 * value-range-pretty-print.cc (vrange_printer::print_frange_prop):
7786 Remove.
7787 (vrange_printer::print_frange_nan): New.
7788 * value-range-pretty-print.h (print_frange_prop): Remove.
7789 (print_frange_nan): New.
7790 * value-range-storage.cc (frange_storage_slot::set_frange): Set
7791 kind and NAN fields.
7792 (frange_storage_slot::get_frange): Restore kind and NAN fields.
7793 * value-range-storage.h (class frange_storage_slot): Add kind and
7794 NAN fields.
7795 * value-range.cc (frange::update_nan): Remove.
7796 (frange::set_signbit): Remove.
7797 (frange::set): Adjust for NAN fields.
7798 (frange::normalize_kind): Remove m_props.
7799 (frange::combine_zeros): New.
7800 (frange::union_nans): New.
7801 (frange::union_): Handle new NAN fields.
7802 (frange::intersect_nans): New.
7803 (frange::intersect): Handle new NAN fields.
7804 (frange::operator=): Same.
7805 (frange::operator==): Same.
7806 (frange::contains_p): Same.
7807 (frange::singleton_p): Remove special case for signed zeros.
7808 (frange::verify_range): Adjust for new NAN fields.
7809 (frange::set_zero): Handle signed zeros.
7810 (frange::set_nonnegative): Same.
7811 (range_tests_nan): Adjust tests.
7812 (range_tests_signed_zeros): Same.
7813 (range_tests_signbit): Same.
7814 (range_tests_floats): Same.
7815 * value-range.h (class fp_prop): Remove.
7816 (FP_PROP_ACCESSOR): Remove.
7817 (class frange_props): Remove
7818 (frange::lower_bound): NANs don't have endpoints.
7819 (frange::upper_bound): Same.
7820 (frange_props::operator==): Remove.
7821 (frange_props::union_): Remove.
7822 (frange_props::intersect): Remove.
7823 (frange::update_nan): New.
7824 (frange::clear_nan): New.
7825 (frange::undefined_p): New.
7826 (frange::set_nan): New.
7827 (frange::known_finite): Adjust for new NAN representation.
7828 (frange::maybe_isnan): Same.
7829 (frange::known_isnan): Same.
7830 (frange::signbit_p): Same.
7831 * gimple-range-fold.cc (range_of_builtin_int_call): Rename
7832 known_signbit_p into signbit_p.
7833
7834 2022-09-17 Jan-Benedict Glaw <jbglaw@lug-owl.de>
7835
7836 * config/csky/csky.h (FUNCTION_ARG_REGNO_P): Cast REGNO to (int)
7837 to prevent warning.
7838
7839 2022-09-17 Jakub Jelinek <jakub@redhat.com>
7840
7841 PR tree-optimization/106958
7842 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): If
7843 id >= l, cast op to type1, otherwise to pointer_sized_int_node.
7844 If type has pointer type, cast exp to pointer_sized_int_node
7845 even when id < l.
7846
7847 2022-09-16 liuhongt <hongtao.liu@intel.com>
7848
7849 PR target/106910
7850 * config/i386/i386-builtins.cc
7851 (ix86_builtin_vectorized_function): Modernized with
7852 corresponding expanders.
7853 * config/i386/sse.md (lrint<mode><sseintvecmodelower>2): New
7854 expander.
7855 (floor<mode>2): Ditto.
7856 (lfloor<mode><sseintvecmodelower>2): Ditto.
7857 (ceil<mode>2): Ditto.
7858 (lceil<mode><sseintvecmodelower>2): Ditto.
7859 (btrunc<mode>2): Ditto.
7860 (lround<mode><sseintvecmodelower>2): Ditto.
7861 (exp2<mode>2): Ditto.
7862
7863 2022-09-15 Joseph Myers <joseph@codesourcery.com>
7864
7865 * ginclude/float.h (INFINITY): Define only if
7866 [__FLT_HAS_INFINITY__].
7867
7868 2022-09-15 Richard Biener <rguenther@suse.de>
7869
7870 PR tree-optimization/106922
7871 * tree-ssa-pre.cc (translate_vuse_through_block): Only
7872 keep the VUSE if its def dominates PHIBLOCK.
7873 (prune_clobbered_mems): Rewrite logic so we check whether
7874 a value dies in a block when the VUSE def doesn't dominate it.
7875
7876 2022-09-15 Richard Biener <rguenther@suse.de>
7877
7878 * tree.cc (build_common_tree_nodes): Initialize void_list_node
7879 here.
7880
7881 2022-09-15 Jiufu Guo <guojiufu@linux.ibm.com>
7882
7883 PR target/106550
7884 * config/rs6000/rs6000.cc (rs6000_emit_set_long_const): Use pli.
7885
7886 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7887
7888 * range-op-float.cc (frange_add_zeros): New.
7889 (build_le): Call frange_add_zeros.
7890 (build_ge): Same.
7891 (foperator_equal::op1_range): Same.
7892 (foperator_not_equal::op1_range): Same.
7893
7894 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7895
7896 * range-op-float.cc (build_le): Accept frange instead of number.
7897 (build_lt): Same.
7898 (build_ge): Same.
7899 (build_gt): Same.
7900 (foperator_lt::op1_range): Pass full range to build_*.
7901 (foperator_lt::op2_range): Same.
7902 (foperator_le::op1_range): Same.
7903 (foperator_le::op2_range): Same.
7904 (foperator_gt::op1_range): Same.
7905 (foperator_gt::op2_range): Same.
7906 (foperator_ge::op1_range): Same.
7907 (foperator_ge::op2_range): Same.
7908
7909 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7910
7911 * value-range.cc (frange::set): Use set_nan.
7912 * value-range.h (frange::set_nan): Inline code originally in
7913 set().
7914
7915 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7916
7917 * range-op-float.cc (frange_set_nan): Remove.
7918 (build_lt): Use set_nan, update_nan, clear_nan.
7919 (build_gt): Same.
7920 (foperator_equal::op1_range): Same.
7921 (foperator_not_equal::op1_range): Same.
7922 (foperator_lt::op1_range): Same.
7923 (foperator_lt::op2_range): Same.
7924 (foperator_le::op1_range): Same.
7925 (foperator_le::op2_range): Same.
7926 (foperator_gt::op1_range): Same.
7927 (foperator_gt::op2_range): Same.
7928 (foperator_ge::op1_range): Same.
7929 (foperator_ge::op2_range): Same.
7930 (foperator_unordered::op1_range): Same.
7931 (foperator_ordered::op1_range): Same.
7932 * value-query.cc (range_query::get_tree_range): Same.
7933 * value-range.cc (frange::set_nan): Same.
7934 (frange::update_nan): Same.
7935 (frange::union_): Same.
7936 (frange::intersect): Same.
7937 (range_tests_nan): Same.
7938 (range_tests_signed_zeros): Same.
7939 (range_tests_signbit): Same.
7940 (range_tests_floats): Same.
7941 * value-range.h (class frange): Add update_nan and clear_nan.
7942 (frange::set_nan): New.
7943
7944 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
7945
7946 * value-query.cc (range_query::get_tree_range): Remove check for overflow.
7947 * value-range-pretty-print.cc (vrange_printer::visit): Move read
7948 of type until after undefined_p is checked.
7949 * value-range.cc (frange::set): Remove asserts for REAL_CST.
7950 (frange::contains_p): Tidy up.
7951 (range_tests_nan): Add comment.
7952 * value-range.h (frange::type): Check for undefined_p.
7953 (frange::set_undefined): Remove set of endpoints.
7954
7955 2022-09-14 Julian Brown <julian@codesourcery.com>
7956
7957 * gimplify.cc (omp_group_last): Allow GOMP_MAP_ATTACH_DETACH after
7958 GOMP_MAP_STRUCT (for reindexing).
7959 (omp_gather_mapping_groups): Reimplement using...
7960 (omp_gather_mapping_groups_1): This new function. Stop processing at
7961 GATHER_SENTINEL.
7962 (omp_group_base): Allow GOMP_MAP_TO_PSET without any following node.
7963 (omp_index_mapping_groups): Reimplement using...
7964 (omp_index_mapping_groups_1): This new function. Handle
7965 REINDEX_SENTINEL.
7966 (omp_reindex_mapping_groups, omp_mapped_by_containing_struct): New
7967 functions.
7968 (omp_tsort_mapping_groups_1): Adjust handling of base group being the
7969 same as current group. Use omp_mapped_by_containing_struct.
7970 (omp_build_struct_sibling_lists): Use omp_mapped_by_containing_struct
7971 and omp_reindex_mapping_groups. Robustify group deletion for reordered
7972 lists.
7973 (gimplify_scan_omp_clauses): Update calls to
7974 omp_build_struct_sibling_lists.
7975
7976 2022-09-14 Julian Brown <julian@codesourcery.com>
7977
7978 * gimplify.cc (gimplify_omp_var_data): Remove GOVD_MAP_HAS_ATTACHMENTS.
7979 (GOMP_FIRSTPRIVATE_IMPLICIT): Renumber.
7980 (insert_struct_comp_map): Refactor function into...
7981 (build_omp_struct_comp_nodes): This new function. Remove list handling
7982 and improve self-documentation.
7983 (extract_base_bit_offset): Remove BASE_REF, OFFSETP parameters. Move
7984 code to strip outer parts of address out of function, but strip no-op
7985 conversions.
7986 (omp_mapping_group): Add DELETED field for use during reindexing.
7987 (omp_strip_components_and_deref, omp_strip_indirections): New functions.
7988 (omp_group_last, omp_group_base): Add GOMP_MAP_STRUCT handling.
7989 (omp_gather_mapping_groups): Initialise DELETED field for new groups.
7990 (omp_index_mapping_groups): Notice DELETED groups when (re)indexing.
7991 (omp_siblist_insert_node_after, omp_siblist_move_node_after,
7992 omp_siblist_move_nodes_after, omp_siblist_move_concat_nodes_after): New
7993 helper functions.
7994 (omp_accumulate_sibling_list): New function to build up GOMP_MAP_STRUCT
7995 node groups for sibling lists. Outlined from gimplify_scan_omp_clauses.
7996 (omp_build_struct_sibling_lists): New function.
7997 (gimplify_scan_omp_clauses): Remove struct_map_to_clause,
7998 struct_seen_clause, struct_deref_set. Call
7999 omp_build_struct_sibling_lists as pre-pass instead of handling sibling
8000 lists in the function's main processing loop.
8001 (gimplify_adjust_omp_clauses_1): Remove GOVD_MAP_HAS_ATTACHMENTS
8002 handling, unused now.
8003 * omp-low.cc (scan_sharing_clauses): Handle pointer-type indirect
8004 struct references, and references to pointers to structs also.
8005
8006 2022-09-14 Richard Biener <rguenther@suse.de>
8007
8008 PR tree-optimization/106938
8009 * tree-cfg.cc (execute_fixup_cfg): Purge dead abnormal
8010 edges for all last stmts in a block. Do EH cleanup
8011 only on the last stmt in a block.
8012
8013 2022-09-14 Aldy Hernandez <aldyh@redhat.com>
8014
8015 PR tree-optimization/106936
8016 * value-query.cc (range_query::get_value_range): Remove assert.
8017
8018 2022-09-14 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8019
8020 * config/mips/mips.cc (mips_option_override): Drop unused variable.
8021
8022 2022-09-14 Julian Brown <julian@codesourcery.com>
8023
8024 * gimplify.cc (is_or_contains_p, omp_target_reorder_clauses): Delete
8025 functions.
8026 (omp_tsort_mark): Add enum.
8027 (omp_mapping_group): Add struct.
8028 (debug_mapping_group, omp_get_base_pointer, omp_get_attachment,
8029 omp_group_last, omp_gather_mapping_groups, omp_group_base,
8030 omp_index_mapping_groups, omp_containing_struct,
8031 omp_tsort_mapping_groups_1, omp_tsort_mapping_groups,
8032 omp_segregate_mapping_groups, omp_reorder_mapping_groups): New
8033 functions.
8034 (gimplify_scan_omp_clauses): Call above functions instead of
8035 omp_target_reorder_clauses, unless we've seen an error.
8036 * omp-low.cc (scan_sharing_clauses): Avoid strict test if we haven't
8037 sorted mapping groups.
8038
8039 2022-09-14 Jakub Jelinek <jakub@redhat.com>
8040
8041 PR tree-optimization/106878
8042 * tree-cfg.cc (verify_gimple_assign_binary): Disallow pointer,
8043 reference or OFFSET_TYPE BIT_IOR_EXPR, BIT_XOR_EXPR or, unless
8044 the second argument is INTEGER_CST, BIT_AND_EXPR.
8045 * match.pd ((type) X op CST -> (type) (X op ((type-x) CST)),
8046 (type) (((type2) X) op Y) -> (X op (type) Y)): Punt for
8047 POINTER_TYPE_P or OFFSET_TYPE.
8048 * tree-ssa-reassoc.cc (optimize_range_tests_cmp_bitwise): For
8049 pointers cast them to pointer sized integers first.
8050
8051 2022-09-14 Richard Biener <rguenther@suse.de>
8052
8053 PR tree-optimization/106934
8054 * tree-ssa.cc (non_rewritable_mem_ref_base): Avoid BIT_FIELD_REFs
8055 of bitfields.
8056 (maybe_rewrite_mem_ref_base): Likewise.
8057
8058 2022-09-14 liuhongt <hongtao.liu@intel.com>
8059
8060 PR tree-optimization/106905
8061 * tree-vect-loop.cc (vectorizable_nonlinear_induction): Return
8062 false when !vect_use_loop_mask_for_alignment_p (loop_vinfo) &&
8063 LOOP_VINFO_PEELING_FOR_ALIGNMENT (loop_vinfo) < 0.
8064
8065 2022-09-13 Roger Sayle <roger@nextmovesoftware.com>
8066
8067 PR target/106877
8068 * reg-stack.cc (move_for_stack_reg): Check for any_malformed_asm
8069 in gcc_assert.
8070
8071 2022-09-13 Max Filippov <jcmvbkbc@gmail.com>
8072
8073 Revert:
8074 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8075
8076 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
8077 New macro definition.
8078 (xtensa_constant_ok_for_cprop_p):
8079 Implement the hook as mentioned above.
8080
8081 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
8082
8083 PR target/104482
8084 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin): Fix
8085 the equality check for argument number, and move this hunk ahead.
8086
8087 2022-09-13 Kewen.Lin <linkw@gcc.gnu.org>
8088
8089 PR target/105485
8090 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Add
8091 the handling for unresolved overloaded builtin function.
8092 (rs6000_expand_builtin): Likewise.
8093
8094 2022-09-13 Kewen Lin <linkw@linux.ibm.com>
8095
8096 * config/rs6000/rs6000.cc (class rs6000_cost_data): Add new members
8097 m_nstores, m_reduc_factor, m_gather_load and member function
8098 determine_suggested_unroll_factor.
8099 (rs6000_cost_data::update_target_cost_per_stmt): Update for m_nstores,
8100 m_reduc_factor and m_gather_load.
8101 (rs6000_cost_data::determine_suggested_unroll_factor): New function.
8102 (rs6000_cost_data::finish_cost): Use determine_suggested_unroll_factor.
8103 * config/rs6000/rs6000.opt (rs6000-vect-unroll-limit): New parameter.
8104 (rs6000-vect-unroll-issue): Likewise.
8105 (rs6000-vect-unroll-reduc-threshold): Likewise.
8106 * doc/invoke.texi (rs6000-vect-unroll-limit): Document new parameter.
8107
8108 2022-09-13 Richard Biener <rguenther@suse.de>
8109
8110 PR middle-end/106909
8111 * gimple-fold.cc (gimple_fold_call): Clear the ctrl-altering
8112 flag of a unreachable call.
8113
8114 2022-09-13 Richard Biener <rguenther@suse.de>
8115
8116 PR tree-optimization/106913
8117 * tree-ssa-uninit.cc (warn_uninitialized_vars): Do not set
8118 ft_reachable on EXIT_BLOCK.
8119
8120 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
8121
8122 * config/aarch64/aarch64.cc (aarch64_classify_vector_mode): Use
8123 TARGET_FLOAT instead of TARGET_SIMD.
8124 (aarch64_vectorize_related_mode): Restrict ADVSIMD handling to
8125 TARGET_SIMD.
8126 (aarch64_hard_regno_mode_ok): Don't allow tuples of 2 64-bit vectors
8127 in GPRs.
8128 (aarch64_classify_address): Treat little-endian structure moves
8129 like big-endian for TARGET_FLOAT && !TARGET_SIMD.
8130 (aarch64_secondary_memory_needed): New function.
8131 (aarch64_secondary_reload): Handle 128-bit Advanced SIMD vectors
8132 in the same way as TF, TI and TD.
8133 (aarch64_rtx_mult_cost): Restrict ADVSIMD handling to TARGET_SIMD.
8134 (aarch64_rtx_costs): Likewise.
8135 (aarch64_register_move_cost): Treat a pair of 64-bit vectors
8136 separately from a single 128-bit vector. Handle the cost implied
8137 by aarch64_secondary_memory_needed.
8138 (aarch64_simd_valid_immediate): Restrict ADVSIMD handling to
8139 TARGET_SIMD.
8140 (aarch64_expand_vec_perm_const_1): Likewise.
8141 (TARGET_SECONDARY_MEMORY_NEEDED): New macro.
8142 * config/aarch64/iterators.md (VTX): New iterator.
8143 * config/aarch64/aarch64.md (arches): Add fp_q as a synonym of simd.
8144 (arch_enabled): Adjust accordingly.
8145 (@aarch64_reload_mov<TX:mode>): Extend to...
8146 (@aarch64_reload_mov<VTX:mode>): ...this.
8147 * config/aarch64/aarch64-simd.md (mov<mode>): Require TARGET_FLOAT
8148 rather than TARGET_SIMD.
8149 (movmisalign<mode>): Likewise.
8150 (load_pair<DREG:mode><DREG2:mode>): Likewise.
8151 (vec_store_pair<DREG:mode><DREG2:mode>): Likewise.
8152 (load_pair<VQ:mode><VQ2:mode>): Likewise.
8153 (vec_store_pair<VQ:mode><VQ2:mode>): Likewise.
8154 (@aarch64_split_simd_mov<mode>): Likewise.
8155 (aarch64_get_low<mode>): Likewise.
8156 (aarch64_get_high<mode>): Likewise.
8157 (aarch64_get_half<mode>): Likewise. Canonicalize to a move for
8158 lowpart extracts.
8159 (*aarch64_simd_mov<VDMOV:mode>): Require TARGET_FLOAT rather than
8160 TARGET_SIMD. Use different w<-w and r<-w instructions for
8161 !TARGET_SIMD. Disable immediate moves for !TARGET_SIMD but
8162 add an alternative specifically for w<-Z.
8163 (*aarch64_simd_mov<VQMOV:mode>): Require TARGET_FLOAT rather than
8164 TARGET_SIMD. Likewise for the associated define_splits. Disable
8165 FPR moves and immediate moves for !TARGET_SIMD but add an alternative
8166 specifically for w<-Z.
8167 (aarch64_simd_mov_from_<mode>high): Require TARGET_FLOAT rather than
8168 TARGET_SIMD. Restrict the existing alternatives to TARGET_SIMD
8169 but add a new r<-w one for !TARGET_SIMD.
8170 (*aarch64_get_high<mode>): New pattern.
8171 (load_pair_lanes<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
8172 (store_pair_lanes<mode>): Likewise.
8173 (*aarch64_combine_internal<mode>): Likewise. Restrict existing
8174 w<-w, w<-r and w<-m alternatives to TARGET_SIMD but add a new w<-r
8175 alternative for !TARGET_SIMD.
8176 (*aarch64_combine_internal_be<mode>): Likewise.
8177 (aarch64_combinez<mode>): Require TARGET_FLOAT rather than TARGET_SIMD.
8178 Remove bogus arch attribute.
8179 (*aarch64_combinez_be<mode>): Likewise.
8180 (@aarch64_vec_concat<mode>): Require TARGET_FLOAT rather than
8181 TARGET_SIMD.
8182 (aarch64_combine<mode>): Likewise.
8183 (aarch64_rev_reglist<mode>): Likewise.
8184 (mov<mode>): Likewise.
8185 (*aarch64_be_mov<VSTRUCT_2D:mode>): Extend to TARGET_FLOAT &&
8186 !TARGET_SIMD, regardless of endianness. Extend associated
8187 define_splits in the same way, both for this pattern and the
8188 ones below.
8189 (*aarch64_be_mov<VSTRUCT_2Qmode>): Likewise. Restrict w<-w
8190 alternative to TARGET_SIMD.
8191 (*aarch64_be_movoi): Likewise.
8192 (*aarch64_be_movci): Likewise.
8193 (*aarch64_be_movxi): Likewise.
8194 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Extend to TARGET_FLOAT
8195 && !TARGET_SIMD, regardless of endianness. Restrict w<-w alternative
8196 to TARGET_SIMD for tuples of 128-bit vectors.
8197 (*aarch64_be_mov<VSTRUCT_4QD:mode>): Likewise.
8198 * config/aarch64/aarch64-ldpstp.md: Remove TARGET_SIMD condition
8199 from DREG STP peephole. Change TARGET_SIMD to TARGET_FLOAT in
8200 the VQ and VP_2E LDP and STP peepholes.
8201
8202 2022-09-13 Richard Sandiford <richard.sandiford@arm.com>
8203
8204 * config/aarch64/aarch64-simd.md (movv8di): Remove TARGET_SIMD
8205 condition. Likewise for the related define_split. Tweak formatting.
8206
8207 2022-09-12 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8208
8209 * config/xtensa/xtensa.cc (TARGET_CONSTANT_OK_FOR_CPROP_P):
8210 New macro definition.
8211 (xtensa_constant_ok_for_cprop_p):
8212 Implement the hook as mentioned above.
8213
8214 2022-09-12 Joseph Myers <joseph@codesourcery.com>
8215
8216 * ginclude/stdatomic.h [defined __STDC_VERSION__ &&
8217 __STDC_VERSION__ > 201710L] (ATOMIC_VAR_INIT): Do not define.
8218
8219 2022-09-12 Tobias Burnus <tobias@codesourcery.com>
8220
8221 * config/nvptx/mkoffload.cc (process): Replace a fatal_error by
8222 a warning + not enabling offloading if -misa=sm_30 prevents
8223 reverse offload.
8224 (main): Use tool_name as progname for diagnostic.
8225 * config/gcn/mkoffload.cc (main): Likewise.
8226
8227 2022-09-12 Aldy Hernandez <aldyh@redhat.com>
8228
8229 * value-range.cc (frange::set_signbit): Avoid changing sign when
8230 already in the correct sign.
8231
8232 2022-09-12 Max Filippov <jcmvbkbc@gmail.com>
8233
8234 * config/xtensa/xtensa.cc (xtensa_function_value_regno_p):
8235 Recognize all 4 return registers.
8236 * config/xtensa/xtensa.h (GP_RETURN_REG_COUNT): New definition.
8237 * config/xtensa/xtensa.md (untyped_call): New pattern.
8238
8239 2022-09-12 Jonathan Wakely <jwakely@redhat.com>
8240
8241 * doc/extend.texi (Floating Types): Fix "_float128" typo.
8242
8243 2022-09-10 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8244
8245 * config/xtensa/xtensa.cc (xtensa_constantsynth):
8246 Add new pattern for the abovementioned case.
8247
8248 2022-09-10 Akari Takahashi <akaritakahashioss@gmail.com>
8249 Segher Boessenkool <segher@kernel.crashing.org>
8250
8251 * config/rs6000/rs6000.cc (get_memref_parts): Regularize some code.
8252
8253 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8254
8255 * config/xtensa/xtensa.md: Rewrite the split pattern that performs
8256 the abovementioned process so that insns that overwrite clobbered
8257 register no longer need to be contiguous.
8258 (DSC): Remove as no longer needed.
8259
8260 2022-09-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
8261
8262 * config/xtensa/xtensa.cc (machine_function): New boolean member as
8263 a flag that controls whether to emit the insns for stack pointer
8264 adjustment inside of the pro/epilogue.
8265 (xtensa_emit_adjust_stack_ptr): New function to share the common
8266 codes and to emit insns if not inhibited.
8267 (xtensa_expand_epilogue): Change to use the function mentioned
8268 above when using the CALL0 ABI.
8269 (xtensa_expand_prologue): Ditto.
8270 And also change to set the inhibit flag used by
8271 xtensa_emit_adjust_stack_ptr() to true if the stack pointer is only
8272 used for its own adjustment.
8273
8274 2022-09-09 David Malcolm <dmalcolm@redhat.com>
8275
8276 * doc/invoke.texi (Static Analyzer Options): Add
8277 -Wanalyzer-exposure-through-uninit-copy.
8278
8279 2022-09-09 David Malcolm <dmalcolm@redhat.com>
8280
8281 * Makefile.in (ANALYZER_OBJS): Add
8282 analyzer/known-function-manager.o.
8283
8284 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
8285
8286 * config/nvptx/mkoffload.cc (struct id_map): Add 'dim' member.
8287 (record_id): Store func name without quotes, store dim separately.
8288 (process): For GOMP_REQUIRES_REVERSE_OFFLOAD, check that -march is
8289 at least sm_35, create '$offload_func_table' global array and init
8290 with reverse-offload function addresses.
8291 * config/nvptx/nvptx.cc (write_fn_proto_1, write_fn_proto): New
8292 force_public attribute to force .visible.
8293 (nvptx_declare_function_name): For "omp target
8294 device_ancestor_nohost" attribut, force .visible/TREE_PUBLIC.
8295
8296 2022-09-09 Tobias Burnus <tobias@codesourcery.com>
8297
8298 * config/gcn/mkoffload.cc (process_asm): Create .offload_func_table,
8299 similar to pre-existing .offload_var_table.
8300
8301 2022-09-09 Joseph Myers <joseph@codesourcery.com>
8302
8303 * ginclude/stddef.h [__STDC_VERSION__ > 201710L] (unreachable):
8304 New macro.
8305
8306 2022-09-09 Kewen Lin <linkw@linux.ibm.com>
8307
8308 PR middle-end/106833
8309 * tree.cc (verify_opaque_type): New function.
8310 (verify_type): Call verify_opaque_type for OPAQUE_TYPE.
8311
8312 2022-09-09 Kwok Cheung Yeung <kcy@codesourcery.com>
8313
8314 * config/gcn/gcn-builtins.def (FABSVF, LDEXPVF, LDEXPV, FREXPVF_EXP,
8315 FREXPVF_MANT, FREXPV_EXP, FREXPV_MANT): Add new builtins.
8316 * config/gcn/gcn-protos.h (gcn_dconst1over2pi): New prototype.
8317 * config/gcn/gcn-valu.md (MATH_UNOP_1OR2REG, MATH_UNOP_1REG,
8318 MATH_UNOP_TRIG): New iterators.
8319 (math_unop): New attributes.
8320 (<math_unop><mode>2, <math_unop><mode>2<exec>,
8321 <math_unop><mode>2, <math_unop><mode>2<exec>,
8322 *<math_unop><mode>2_insn, *<math_unop><mode>2<exec>_insn,
8323 ldexp<mode>3, ldexp<mode>3<exec>,
8324 frexp<mode>_exp2, frexp<mode>_mant2,
8325 frexp<mode>_exp2<exec>, frexp<mode>_mant2<exec>): New instructions.
8326 (<math_unop><mode>2, <math_unop><mode>2<exec>): New expanders.
8327 * config/gcn/gcn.cc (init_ext_gcn_constants): Update definition of
8328 dconst1over2pi.
8329 (gcn_dconst1over2pi): New.
8330 (gcn_builtin_type_index): Add entry for v64df type.
8331 (v64df_type_node): New.
8332 (gcn_init_builtin_types): Initialize v64df_type_node.
8333 (gcn_expand_builtin_1): Expand new builtins to instructions.
8334 (print_operand): Fix assembler output for 1/(2*PI) constant.
8335 * config/gcn/gcn.md (unspec): Add new entries.
8336
8337 2022-09-09 Richard Biener <rguenther@suse.de>
8338
8339 PR tree-optimization/106722
8340 * tree-predcom.cc (ref_at_iteration): Do not associate the
8341 constant part of the offset into the MEM_REF offset
8342 operand, across a non-zero offset.
8343
8344 2022-09-09 Kito Cheng <kito.cheng@sifive.com>
8345
8346 * common/config/riscv/riscv-common.cc (RISCV_USE_CUSTOMISED_MULTI_LIB):
8347 Move forward for cover all all necessary functions for suppress
8348 unused function warnings.
8349 (riscv_multi_lib_check): Move forward, and tweak message to suppress
8350 -Werror=format-diag warning.
8351
8352 2022-09-09 Richard Biener <rguenther@suse.de>
8353
8354 PR tree-optimization/106881
8355 * gimple-predicate-analysis.cc (simple_control_dep_chain):
8356 Add only non-fallthru edges and avoid the same set of edges
8357 as compute_control_dep_chain_pdom does.
8358
8359 2022-09-09 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8360
8361 * doc/tm.texi.in (TARGET_OVERRIDES_FORMAT_ATTRIBUTES): Document requirement
8362 of TARGET_OVERRIDES_FORMAT_ATTRIBUTES_COUNT being defined as well.
8363 * doc/tm.texi: Regenerate.
8364
8365 2022-09-09 Martin Liska <mliska@suse.cz>
8366
8367 * optc-save-gen.awk: Always compare array option values with memcmp.
8368
8369 2022-09-08 Jonathan Wakely <jwakely@redhat.com>
8370
8371 PR c++/106838
8372 * doc/extend.texi (Type Traits): Fix requirements. Document
8373 __is_aggregate and __is_final.
8374
8375 2022-09-08 Tim Lange <mail@tim-lange.me>
8376
8377 PR analyzer/106625
8378 * doc/invoke.texi:
8379 State that the checker also reasons about symbolic values.
8380
8381 2022-09-08 Richard Sandiford <richard.sandiford@arm.com>
8382
8383 PR tree-optimization/106886
8384 * tree-vect-slp.cc (vect_optimize_slp_pass::get_result_with_layout):
8385 Fix copying of scalar stmts.
8386
8387 2022-09-08 Chung-Lin Tang <cltang@codesourcery.com>
8388
8389 * config/nios2/linux.h (MUSL_DYNAMIC_LINKER): Add #undef before #define.
8390
8391 2022-09-08 Richard Biener <rguenther@suse.de>
8392
8393 PR middle-end/106870
8394 * gimple-harden-conditionals.cc (insert_check_and_trap):
8395 Set the control-altering flag on the built IFN_TRAP.
8396 * gimple.cc (gimple_build_builtin_unreachable): Likewise.
8397 * tree-cfg.cc (handle_abnormal_edges): Set the control-altering
8398 flag on the .ABNORMAL_DISPATCHER call.
8399 * tree-cfgcleanup.cc (cleanup_call_ctrl_altering_flag): Avoid
8400 resetting the control altering flag for ECF_NORETURN calls.
8401 (cleanup_control_flow_bb): Set the control altering flag on
8402 discovered noreturn calls.
8403 * symtab-thunks.cc (expand_thunk): Set the control altering
8404 flag for the noreturn tailcall case.
8405 * tree-eh.cc (lower_resx): Likewisw for trap and unwind_resume
8406 calls.
8407
8408 2022-09-08 Jakub Jelinek <jakub@redhat.com>
8409
8410 * omp-expand.cc (expand_omp_ordered_sink): Add CONT_BB argument.
8411 Add doacross(sink:omp_cur_iteration-1) support.
8412 (expand_omp_ordered_source_sink): Clear counts[fd->ordered + 1].
8413 Adjust expand_omp_ordered_sink caller.
8414 (expand_omp_for_ordered_loops): If counts[fd->ordered + 1] is
8415 non-NULL, set that variable to true at the start of outermost
8416 non-collapsed loop and set it to false at the end of innermost
8417 ordered loop.
8418 (expand_omp_for_generic): If fd->ordered, allocate
8419 1 + (fd->ordered - fd->collapse) further elements in counts array.
8420 Copy to counts + 2 + fd->ordered the counts of fd->collapse ..
8421 fd->ordered - 1 loop if any.
8422
8423 2022-09-08 Richard Biener <rguenther@suse.de>
8424
8425 PR tree-optimization/106881
8426 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
8427 Add only non-fallthru edges and avoid the same set of edges
8428 as the caller does.
8429
8430 2022-09-08 Aldy Hernandez <aldyh@redhat.com>
8431
8432 * gimple-range-fold.cc
8433 (fold_using_range::range_of_builtin_int_call): Use fpclassify like API.
8434 * range-op-float.cc (finite_operand_p): Same.
8435 (finite_operands_p): Same.
8436 (foperator_lt::fold_range): Same.
8437 (foperator_le::fold_range): Same.
8438 (foperator_gt::fold_range): Same.
8439 (foperator_ge::fold_range): Same.
8440 (foperator_unordered::fold_range): Same.
8441 (foperator_unordered::op1_range): Same.
8442 (foperator_ordered::fold_range): Same.
8443 * value-range.cc (frange::set_nan): Same.
8444 (frange::set_signbit): Same.
8445 (frange::union_): Same.
8446 (frange::intersect): Same.
8447 (frange::operator==): Same.
8448 (frange::singleton_p): Same.
8449 (frange::verify_range): Same.
8450 (range_tests_nan): Same.
8451 (range_tests_floats): Same.
8452 * value-range.h(frange::known_finite): New.
8453 (frange::maybe_inf): New.
8454 (frange::known_inf): New.
8455 (frange::maybe_nan): New.
8456 (frange::known_nan): New.
8457 (frange::known_signbit): New.
8458
8459 2022-09-08 Iain Buclaw <ibuclaw@gdcproject.org>
8460
8461 * config/darwin-d.cc: Include tm.h.
8462 * config/dragonfly-d.cc: Likewise.
8463 * config/freebsd-d.cc: Remove memmodel.h.
8464 * config/glibc-d.cc: Likewise.
8465 * config/netbsd-d.cc: Include tm.h.
8466 * config/openbsd-d.cc: Likewise.
8467 * config/sol2-d.cc: Likewise.
8468
8469 2022-09-08 Christophe Lyon <christophe.lyon@arm.com>
8470
8471 * config/arm/mve.md (mve_vqshluq_n_s<mode>): Use
8472 MVE_pred/MVE_constraint instead of mve_imm_7/Ra.
8473 (mve_vqshluq_m_n_s<mode>): Likewise.
8474 (mve_vqrshrnbq_n_<supf><mode>): Use MVE_pred3/MVE_constraint3
8475 instead of mve_imm_8/Rb.
8476 (mve_vqrshrunbq_n_s<mode>): Likewise.
8477 (mve_vqrshrntq_n_<supf><mode>): Likewise.
8478 (mve_vqrshruntq_n_s<mode>): Likewise.
8479 (mve_vrshrnbq_n_<supf><mode>): Likewise.
8480 (mve_vrshrntq_n_<supf><mode>): Likewise.
8481 (mve_vqrshrnbq_m_n_<supf><mode>): Likewise.
8482 (mve_vqrshrntq_m_n_<supf><mode>): Likewise.
8483 (mve_vrshrnbq_m_n_<supf><mode>): Likewise.
8484 (mve_vrshrntq_m_n_<supf><mode>): Likewise.
8485 (mve_vqrshrunbq_m_n_s<mode>): Likewise.
8486 (mve_vsriq_n_<supf><mode): Use MVE_pred2/MVE_constraint2 instead
8487 of mve_imm_selective_upto_8/Rg.
8488 (mve_vsriq_m_n_<supf><mode>): Likewise.
8489
8490 2022-09-08 Jiufu Guo <guojiufu@linux.ibm.com>
8491
8492 * config/rs6000/rs6000.md (splitter for set to and_mask constants):
8493 Use int_reg_operand (instead of int_reg_operand_not_pseudo).
8494 (splitter for multi-insn constant loads): Ditto.
8495
8496 2022-09-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
8497
8498 * config/rs6000/rtems.h (CPP_OS_DEFAULT_SPEC): Define __PPC_VRSAVE__ if
8499 -mvrsave is present.
8500 * config/rs6000/t-rtems: Add -mvrsave multilib variants for
8501 -mcpu=e6500.
8502
8503 2022-09-07 Martin Liska <mliska@suse.cz>
8504
8505 * configure.ac: Restore detection of HAVE_XCOFF_DWARF_EXTRAS.
8506 * config/rs6000/rs6000.cc (HAVE_XCOFF_DWARF_EXTRAS): Reset it.
8507 * configure: Regenerate.
8508 * config.in: Regenerate.
8509
8510 2022-09-07 Surya Kumari Jangala <jskumari@linux.ibm.com>
8511
8512 PR rtl-optimization/105586
8513 * sched-rgn.cc (save_state_for_fallthru_edge): New function.
8514 (schedule_region): Use it for all blocks.
8515
8516 2022-09-07 Joseph Myers <joseph@codesourcery.com>
8517
8518 * ginclude/stdalign.h [defined __STDC_VERSION__ &&
8519 __STDC_VERSION__ > 201710L]: Disable all content.
8520 * ginclude/stdbool.h [defined __STDC_VERSION__ && __STDC_VERSION__
8521 > 201710L] (bool, true, false): Do not define.
8522
8523 2022-09-07 Martin Liska <mliska@suse.cz>
8524
8525 PR bootstrap/106855
8526 * collect2.cc (scan_prog_file): Restore if XCOFF_DEBUGGING_INFO.
8527 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
8528 Restore usage of XCOFF_DEBUGGING_INFO.
8529 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Restore.
8530 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Restore support for
8531 XCOFF_DEBUGGING_INFO.
8532 (dw2_asm_output_nstring): Likewise.
8533 (USE_LINKONCE_INDIRECT): Likewise.
8534 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
8535 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
8536 (output_fde): Likewise.
8537 (output_call_frame_info): Likewise.
8538 (have_macinfo): Likewise.
8539 (add_AT_loc_list): Likewise.
8540 (add_AT_view_list): Likewise.
8541 (output_compilation_unit_header): Likewise.
8542 (output_pubnames): Likewise.
8543 (output_aranges): Likewise.
8544 (output_line_info): Likewise.
8545 (output_macinfo): Likewise.
8546 (dwarf2out_finish): Likewise.
8547 (dwarf2out_early_finish): Likewise.
8548
8549 2022-09-07 Richard Biener <rguenther@suse.de>
8550
8551 PR tree-optimization/106866
8552 * tree-ssa-dce.cc (eliminate_unnecessary_stmts): When
8553 we changed cfun->calls_setjmp make sure to purge all
8554 abnormal call edges.
8555
8556 2022-09-07 Xianmiao Qu <cooper.qu@linux.alibaba.com>
8557
8558 * config/csky/csky.cc (csky_emit_compare_float): Fix the expanding of
8559 float LE comparing with zero for fpuv3.
8560 * config/csky/csky.h (TARGET_SUPPORT_FPV2): New, true if any fpuv2
8561 features are enabled.
8562
8563 2022-09-07 Richard Biener <rguenther@suse.de>
8564
8565 PR tree-optimization/106860
8566 * tree-ssa-loop-split.cc (split_loop): Find the exit to
8567 latch edge from the loop exit edge instead of from the
8568 latch. Verify we're going to find it.
8569
8570 2022-09-07 Richard Biener <rguenther@suse.de>
8571
8572 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
8573 Adjust to take the region exit source as argument.
8574 (uninit_analysis::init_from_phi_def): Adjust.
8575 (uninit_analysis::init_use_preds): Mark the dominating region
8576 before computing control dependences.
8577
8578 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
8579
8580 * config/aarch64/aarch64.md (*mov<SHORT:mode>_aarch64): Extend
8581 w<-w, r<-w and w<-r alternatives to !simd, using 32-bit moves
8582 in that case. Extend w<-r to w<-Z.
8583 (*mov<HFBF:mode>_aarch64): Likewise, but with Y instead of Z.
8584 (*movti_aarch64): Use an FMOV from XZR for w<-Z if MOVI is not
8585 available.
8586 (define_split): Do not apply the floating-point immediate-to-register
8587 split to zeros, even if MOVI is not available.
8588
8589 2022-09-07 Richard Sandiford <richard.sandiford@arm.com>
8590
8591 * config/aarch64/aarch64.cc (aarch64_conditional_register_usage):
8592 Disallow use of FPRs in register asms for !TARGET_FLOAT.
8593
8594 2022-09-07 Lulu Cheng <chenglulu@loongson.cn>
8595
8596 PR target/106828
8597 * config/loongarch/loongarch.cc (loongarch_asan_shadow_offset): New.
8598 (TARGET_ASAN_SHADOW_OFFSET): New.
8599
8600 2022-09-07 Jakub Jelinek <jakub@redhat.com>
8601
8602 * doc/invoke.texi (-Wno-unicode): Document.
8603
8604 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
8605
8606 * config/rs6000/rs6000.md (const_scalar_int splitter): Remove.
8607
8608 2022-09-07 Jiufu Guo <guojiufu@linux.ibm.com>
8609
8610 * config/rs6000/rs6000.md: (constant splitters): Use "(pc)" as the
8611 replacements.
8612
8613 2022-09-07 liuhongt <hongtao.liu@intel.com>
8614
8615 PR tree-optimization/103144
8616 * tree-vect-loop.cc (vect_is_nonlinear_iv_evolution): New function.
8617 (vect_analyze_scalar_cycles_1): Detect nonlinear iv by upper function.
8618 (vect_create_nonlinear_iv_init): New function.
8619 (vect_peel_nonlinear_iv_init): Ditto.
8620 (vect_create_nonlinear_iv_step): Ditto
8621 (vect_create_nonlinear_iv_vec_step): Ditto
8622 (vect_update_nonlinear_iv): Ditto
8623 (vectorizable_nonlinear_induction): Ditto.
8624 (vectorizable_induction): Call
8625 vectorizable_nonlinear_induction when induction_type is not
8626 vect_step_op_add.
8627 * tree-vect-loop-manip.cc (vect_update_ivs_after_vectorizer):
8628 Update nonlinear iv for epilogue loop.
8629 * tree-vectorizer.h (enum vect_induction_op_type): New enum.
8630 (STMT_VINFO_LOOP_PHI_EVOLUTION_TYPE): New Macro.
8631
8632 2022-09-06 Richard Biener <rguenther@suse.de>
8633
8634 PR tree-optimization/106754
8635 * gimple-predicate-analysis.cc (compute_control_dep_chain_pdom):
8636 New function, split out from compute_control_dep_chain. Handle
8637 loop-exit like conditions here by pushing to the control vector.
8638 (compute_control_dep_chain): Adjust and streamline dumping.
8639 In the wrapper perform a post-dominator walk as well.
8640 (uninit_analysis::init_use_preds): Remove premature early exit.
8641
8642 2022-09-06 Max Filippov <jcmvbkbc@gmail.com>
8643
8644 * config/xtensa/linux.h (LINK_SPEC): Add static-pie.
8645
8646 2022-09-06 Aldy Hernandez <aldyh@redhat.com>
8647
8648 * range-op-float.cc (build_le): Handle NANs and going past infinity.
8649 (build_lt): Same.
8650 (build_ge): Same.
8651 (build_gt): Same.
8652 (foperator_lt::op1_range): Avoid adjustments to range if build_*
8653 returned false.
8654 (foperator_lt::op2_range): Same.
8655 (foperator_le::op1_range): Same.
8656 (foperator_le::op2_range): Same.
8657 (foperator_gt::op1_range): Same.
8658 (foperator_gt::op2_range): Same.
8659
8660 2022-09-06 Richard Biener <rguenther@suse.de>
8661
8662 * gimple-predicate-analysis.cc (compute_control_dep_chain):
8663 Add output flag to indicate whether we possibly have dropped
8664 any chains. Return whether the info is complete from the
8665 wrapping overload.
8666 (uninit_analysis::init_use_preds): Adjust accordingly, with
8667 a workaround for PR106754.
8668 (uninit_analysis::init_from_phi_def): Properly guard the
8669 case where we complete an empty chain.
8670
8671 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8672
8673 * config/msp430/msp430.cc (msp430_single_op_cost): Document unused argument.
8674
8675 2022-09-06 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
8676
8677 * tree-ssa-forwprop.cc (simplify_permutation): Set res_type to a vector
8678 type with same element type as arg0, and length as op2.
8679
8680 2022-09-06 Richard Biener <rguenther@suse.de>
8681
8682 PR tree-optimization/106844
8683 * gimple-predicate-analysis.cc (compute_control_dep_chain):
8684 Return whether we found a chain.
8685
8686 2022-09-06 Richard Biener <rguenther@suse.de>
8687
8688 PR tree-optimization/106841
8689 * tree-vect-slp.cc (vect_detect_hybrid_slp): Also process
8690 scatter/gather offset.
8691
8692 2022-09-06 Jan-Benedict Glaw <jbglaw@lug-owl.de>
8693
8694 * config/bpf/bpf.h (REGNO_REG_CLASS): Reference arguments as (void).
8695
8696 2022-09-06 Jakub Jelinek <jakub@redhat.com>
8697
8698 * gimple.h (enum gf_mask): Add GF_OMP_ORDERED_STANDALONE enumerator.
8699 (gimple_omp_subcode): Use GIMPLE_OMP_ORDERED instead of
8700 GIMPLE_OMP_TEAMS as upper bound.
8701 (gimple_omp_ordered_standalone_p, gimple_omp_ordered_standalone): New
8702 inline functions.
8703 * gimplify.cc (find_standalone_omp_ordered): Look for OMP_ORDERED with
8704 NULL OMP_ORDERED_BODY rather than with OMP_DOACROSS clause.
8705 (gimplify_expr): Call gimple_omp_ordered_standalone for OMP_ORDERED
8706 with NULL OMP_ORDERED_BODY.
8707 * omp-low.cc (check_omp_nesting_restrictions): Use
8708 gimple_omp_ordered_standalone_p test instead of
8709 omp_find_clause (..., OMP_CLAUSE_DOACROSS).
8710 (lower_omp_ordered): Likewise.
8711 * omp-expand.cc (expand_omp, build_omp_regions_1,
8712 omp_make_gimple_edges): Likewise.
8713
8714 2022-09-06 Xianmiao Qu <cooper.qu@linux.alibaba.com>
8715
8716 * config/csky/csky.md (cskyv2_addcc): Fix missing operand.
8717 (cskyv2_addcc_invert): Likewise.
8718
8719 2022-09-06 Jose E. Marchesi <jose.marchesi@oracle.com>
8720
8721 * config/bpf/bpf.cc (bpf_expand_prologue): Remove unused automatic
8722 `insn'.
8723 (bpf_expand_epilogue): Likewise.
8724
8725 2022-09-06 liuhongt <hongtao.liu@intel.com>
8726
8727 * config/i386/i386-builtin.def (IX86_BUILTIN_CVTPS2PH512):
8728 Map to CODE_FOR_avx512f_vcvtps2ph512_mask_sae.
8729 * config/i386/sse.md (<mask_codefor>avx512f_vcvtps2ph512<mask_name>): Extend to ..
8730 (<mask_codefor>avx512f_vcvtps2ph512<mask_name><round_saeonly_name>): .. this.
8731 (avx512f_vcvtps2ph512_mask_sae): New expander
8732
8733 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8734
8735 * gimple-range-fold.cc
8736 (fold_using_range::range_of_builtin_int_call): Ignore sign bit
8737 when there's the possibility of a NAN.
8738
8739 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8740
8741 * gimple-range-fold.cc
8742 (fold_using_range::range_of_builtin_int_call): Fold a set signbit
8743 in __builtin_signbit to nonzero.
8744
8745 2022-09-05 Alexander Monakov <amonakov@ispras.ru>
8746
8747 PR target/106453
8748 * config/i386/i386.md (sse4_2_crc32di): Model that only low 32
8749 bits of operand 0 are consumed, and the result is zero-extended
8750 to 64 bits.
8751
8752 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8753
8754 PR middle-end/106831
8755 * value-range.h (frange::supports_p): Disable decimal floats.
8756 * range-op-float.cc (frange_drop_inf): Remove DECIMAL_FLOAT_MODE_P
8757 check.
8758 (frange_drop_ninf): Same.
8759
8760 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
8761
8762 PR middle-end/106824
8763 * value-range.cc (frange::set_nan): Set undefined when updating a
8764 NAN to a non-NAN.
8765
8766 2022-09-05 Kito Cheng <kito.cheng@sifive.com>
8767
8768 * config/riscv/riscv.cc (riscv_option_override): Fix wrong
8769 condition for MASK_DIV and simplify incompatible checking.
8770 * config/riscv/riscv.md (muldi3): Adding parentheses.
8771
8772 2022-09-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8773
8774 * config/aarch64/aarch64.cc (aarch64_validate_march): Check if invalid arch
8775 string is a valid -mcpu string and emit hint.
8776
8777 2022-09-05 LiaoShihua <shihua@iscas.ac.cn>
8778
8779 * common/config/riscv/riscv-common.cc: Add Zmmul.
8780 * config/riscv/riscv-opts.h (MASK_ZMMUL): New.
8781 (TARGET_ZMMUL): Ditto.
8782 * config/riscv/riscv.cc (riscv_option_override):Ditto.
8783 * config/riscv/riscv.md: Add Zmmul
8784 * config/riscv/riscv.opt: Ditto.
8785
8786 2022-09-05 Richard Biener <rguenther@suse.de>
8787
8788 * tree-cfg.h (get_cases_for_edge): Declare.
8789 * tree-cfg.cc (get_cases_for_edge): Export.
8790 * tree-ssa-uninit.cc (execute_late_warn_uninitialized):
8791 Start and end recording case labels.
8792 * gimple-predicate-analysis.cc (MAX_SWITCH_CASES): Remove.
8793 (predicate::init_from_control_deps): Use get_cases_for_edge.
8794
8795 2022-09-05 Richard Biener <rguenther@suse.de>
8796
8797 * gimple-predicate-analysis.cc (MAX_POSTDOM_CHECK): Remove.
8798 (compute_control_dep_chain): Move uninit-control-dep-attempts
8799 checking where it also counts the post-dominator check
8800 invocations.
8801
8802 2022-09-05 Richard Biener <rguenther@suse.de>
8803
8804 * gimple-predicate-analysis.h (predicate::debug): New.
8805 (predicate::dump): Add FILE * argument, add base overload.
8806 * gimple-predicate-analysis.cc (debug): New.
8807 (dump_pred_info): Add FILE * argument.
8808 (dump_pred_chain): Likewise.
8809 (predicate::dump): Split out preamble into overload. Add
8810 FILE * argument.
8811 (predicate::debug): New.
8812 (predicate::simplify): Adjust.
8813 (predicate::normalize): Likewise.
8814 (predicate::init_from_control_deps): Likewise.
8815
8816 2022-09-05 Richard Sandiford <richard.sandiford@arm.com>
8817
8818 * config/aarch64/aarch64-protos.h
8819 (aarch64_init_simd_builtins): Remove prototype.
8820 * config/aarch64/aarch64-builtins.cc
8821 (aarch64_simd_builtins_initialized_p): Delete.
8822 (aarch64_init_simd_builtins): Make static. Remove protection
8823 against multiple calls.
8824 * config/aarch64/aarch64-c.cc (aarch64_pragma_target_parse): Remove
8825 lazy SIMD builtin initialization.
8826 * config/aarch64/aarch64.cc
8827 (aarch64_option_valid_attribute_p): Likewise.
8828
8829 2022-09-05 Xi Ruoyao <xry111@xry111.site>
8830
8831 * config/loongarch/genopts/loongarch.opt.in: Add
8832 -mdirect-extern-access option.
8833 * config/loongarch/loongarch.opt: Regenerate.
8834 * config/loongarch/loongarch.cc
8835 (loongarch_symbol_binds_local_p): Return true if
8836 TARGET_DIRECT_EXTERN_ACCESS.
8837 (loongarch_option_override_internal): Complain if
8838 -mdirect-extern-access is used with -fPIC or -fpic.
8839 * doc/invoke.texi: Document -mdirect-extern-access for
8840 LoongArch.
8841
8842 2022-09-05 Martin Liska <mliska@suse.cz>
8843
8844 * doc/tm.texi.in: Rename DEBUGGER_REGISTER_NUMBER to
8845 DEBUGGER_REGNO.
8846 * doc/tm.texi: Regenerate.
8847
8848 2022-09-05 Martin Liska <mliska@suse.cz>
8849
8850 * config/aarch64/aarch64-protos.h (aarch64_dbx_regno):
8851 Rename DBX_REGISTER_NUMBER to DEBUGGER_REGNO.
8852 (aarch64_debugger_regno): Likewise.
8853 * config/aarch64/aarch64.cc (aarch64_dbx_regno): Likewise.
8854 (aarch64_debugger_regno): Likewise.
8855 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
8856 (DEBUGGER_REGNO): Likewise.
8857 (DWARF_FRAME_REGNUM): Likewise.
8858 * config/alpha/alpha.h (DWARF_FRAME_REGNUM): Likewise.
8859 * config/arc/arc.cc (arc_init_reg_tables): Likewise.
8860 * config/arc/arc.h (DBX_REGISTER_NUMBER): Likewise.
8861 (DEBUGGER_REGNO): Likewise.
8862 * config/arm/arm-protos.h (arm_dbx_regno): Likewise.
8863 (arm_debugger_regno): Likewise.
8864 * config/arm/arm.cc (arm_dbx_regno): Likewise.
8865 (arm_debugger_regno): Likewise.
8866 * config/arm/arm.h (DBX_REGISTER_NUMBER): Likewise.
8867 (DEBUGGER_REGNO): Likewise.
8868 * config/bfin/bfin.h (DBX_REGISTER_NUMBER): Likewise.
8869 (DEBUGGER_REGNO): Likewise.
8870 * config/c6x/c6x.cc: Likewise.
8871 * config/c6x/c6x.h (DBX_REGISTER_NUMBER): Likewise.
8872 (DEBUGGER_REGNO): Likewise.
8873 * config/cris/cris.h (enum reg_class): Likewise.
8874 (DBX_REGISTER_NUMBER): Likewise.
8875 (DEBUGGER_REGNO): Likewise.
8876 * config/csky/csky.cc (enum reg_class): Likewise.
8877 * config/csky/csky.h (DWARF_FRAME_REGNUM): Likewise.
8878 (DBX_REGISTER_NUMBER): Likewise.
8879 (DEBUGGER_REGNO): Likewise.
8880 * config/frv/frv.h (DBX_REGISTER_NUMBER): Likewise.
8881 (DEBUGGER_REGNO): Likewise.
8882 * config/gcn/gcn-hsa.h (DBX_REGISTER_NUMBER): Likewise.
8883 (DEBUGGER_REGNO): Likewise.
8884 * config/gcn/gcn.cc (print_operand): Likewise.
8885 * config/i386/bsd.h (ASM_QUAD): Likewise.
8886 * config/i386/cygming.h (DBX_REGISTER_NUMBER): Likewise.
8887 (DEBUGGER_REGNO): Likewise.
8888 (DWARF_FRAME_REGNUM): Likewise.
8889 * config/i386/darwin.h (DBX_REGISTER_NUMBER): Likewise.
8890 (DEBUGGER_REGNO): Likewise.
8891 * config/i386/djgpp.h (DBX_REGISTER_NUMBER): Likewise.
8892 (DEBUGGER_REGNO): Likewise.
8893 * config/i386/dragonfly.h (DBX_REGISTER_NUMBER): Likewise.
8894 (DEBUGGER_REGNO): Likewise.
8895 * config/i386/freebsd.h (DBX_REGISTER_NUMBER): Likewise.
8896 (DEBUGGER_REGNO): Likewise.
8897 * config/i386/gas.h: Likewise.
8898 * config/i386/gnu-user.h (DBX_REGISTER_NUMBER): Likewise.
8899 (DEBUGGER_REGNO): Likewise.
8900 * config/i386/i386.cc (enum reg_class): Likewise.
8901 * config/i386/i386.h (DBX_REGISTER_NUMBER): Likewise.
8902 (DEBUGGER_REGNO): Likewise.
8903 * config/i386/i386elf.h (DBX_REGISTER_NUMBER): Likewise.
8904 (DEBUGGER_REGNO): Likewise.
8905 * config/i386/iamcu.h (DBX_REGISTER_NUMBER): Likewise.
8906 (DEBUGGER_REGNO): Likewise.
8907 * config/i386/lynx.h (DBX_REGISTER_NUMBER): Likewise.
8908 (DEBUGGER_REGNO): Likewise.
8909 * config/i386/netbsd-elf.h (DBX_REGISTER_NUMBER): Likewise.
8910 (DEBUGGER_REGNO): Likewise.
8911 * config/i386/nto.h (DBX_REGISTER_NUMBER): Likewise.
8912 (DEBUGGER_REGNO): Likewise.
8913 * config/i386/openbsdelf.h (DBX_REGISTER_NUMBER): Likewise.
8914 (DEBUGGER_REGNO): Likewise.
8915 * config/i386/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
8916 (DEBUGGER_REGNO): Likewise.
8917 * config/i386/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
8918 (DEBUGGER_REGNO): Likewise.
8919 * config/i386/x86-64.h (DBX_REGISTER_NUMBER): Likewise.
8920 (DEBUGGER_REGNO): Likewise.
8921 * config/ia64/ia64-protos.h (ia64_dbx_regno): Likewise.
8922 (ia64_debugger_regno): Likewise.
8923 * config/ia64/ia64.cc (ia64_output_function_prologue): Likewise.
8924 (ia64_dbx_regno): Likewise.
8925 (ia64_debugger_regno): Likewise.
8926 (process_cfa_adjust_cfa): Likewise.
8927 (process_cfa_register): Likewise.
8928 (ia64_asm_unwind_emit): Likewise.
8929 * config/ia64/ia64.h: Likewise.
8930 * config/ia64/sysv4.h (DBX_REGISTER_NUMBER): Likewise.
8931 (DEBUGGER_REGNO): Likewise.
8932 * config/lm32/lm32.h (DBX_REGISTER_NUMBER): Likewise.
8933 (DEBUGGER_REGNO): Likewise.
8934 * config/m32c/m32c.cc (m32c_eh_return_stackadj_rtx): Likewise.
8935 * config/m32c/m32c.h (DBX_REGISTER_NUMBER): Likewise.
8936 (DEBUGGER_REGNO): Likewise.
8937 * config/m68k/linux.h (DBX_REGISTER_NUMBER): Likewise.
8938 (DEBUGGER_REGNO): Likewise.
8939 * config/m68k/m68k.h (DBX_REGISTER_NUMBER): Likewise.
8940 (DEBUGGER_REGNO): Likewise.
8941 (__transfer_from_trampoline): Likewise.
8942 * config/m68k/m68kelf.h (DBX_REGISTER_NUMBER): Likewise.
8943 (DEBUGGER_REGNO): Likewise.
8944 * config/m68k/netbsd-elf.h (M68K_STATIC_CHAIN_REG_NAME): Likewise.
8945 (DBX_REGISTER_NUMBER): Likewise.
8946 (DEBUGGER_REGNO): Likewise.
8947 * config/microblaze/microblaze.cc (microblaze_option_override): Likewise.
8948 * config/microblaze/microblaze.h (DBX_REGISTER_NUMBER): Likewise.
8949 (DEBUGGER_REGNO): Likewise.
8950 (GP_DBX_FIRST): Likewise.
8951 (GP_DEBUGGER_FIRST): Likewise.
8952 * config/mips/vxworks.h (DBX_REGISTER_NUMBER): Likewise.
8953 (DEBUGGER_REGNO): Likewise.
8954 * config/mmix/mmix-protos.h (mmix_dbx_regno): Likewise.
8955 (mmix_debugger_regno): Likewise.
8956 * config/mmix/mmix.cc (mmix_dbx_regno): Likewise.
8957 (mmix_debugger_regno): Likewise.
8958 * config/mmix/mmix.h (DBX_REGISTER_NUMBER): Likewise.
8959 (DEBUGGER_REGNO): Likewise.
8960 * config/nds32/nds32-protos.h (nds32_dbx_regno): Likewise.
8961 (nds32_debugger_regno): Likewise.
8962 * config/nds32/nds32.cc (nds32_dbx_regno): Likewise.
8963 (nds32_debugger_regno): Likewise.
8964 (nds32_use_blocks_for_constant_p): Likewise.
8965 * config/nds32/nds32.h (DBX_REGISTER_NUMBER): Likewise.
8966 (DEBUGGER_REGNO): Likewise.
8967 * config/nvptx/nvptx.h (DBX_REGISTER_NUMBER): Likewise.
8968 (DEBUGGER_REGNO): Likewise.
8969 * config/or1k/or1k.h (DBX_REGISTER_NUMBER): Likewise.
8970 (DEBUGGER_REGNO): Likewise.
8971 * config/pa/pa32-regs.h (DBX_REGISTER_NUMBER): Likewise.
8972 (DEBUGGER_REGNO): Likewise.
8973 * config/pa/pa64-regs.h (DBX_REGISTER_NUMBER): Likewise.
8974 (DEBUGGER_REGNO): Likewise.
8975 * config/rs6000/rs6000-protos.h (rs6000_dbx_regno): Likewise.
8976 (rs6000_debugger_regno): Likewise.
8977 * config/rs6000/rs6000.cc (rs6000_dbx_regno): Likewise.
8978 (rs6000_debugger_regno): Likewise.
8979 * config/rs6000/rs6000.h (DBX_REGISTER_NUMBER): Likewise.
8980 (DEBUGGER_REGNO): Likewise.
8981 (DWARF2_FRAME_REG_OUT): Likewise.
8982 * config/s390/s390.h (DBX_REGISTER_NUMBER): Likewise.
8983 (DEBUGGER_REGNO): Likewise.
8984 * config/sh/elf.h (DBX_REGISTER_NUMBER): Likewise.
8985 (DEBUGGER_REGNO): Likewise.
8986 * config/sh/linux.h (DBX_REGISTER_NUMBER): Likewise.
8987 (DEBUGGER_REGNO): Likewise.
8988 * config/sh/sh.h (DBX_REGISTER_NUMBER): Likewise.
8989 (DEBUGGER_REGNO): Likewise.
8990 (SH_DBX_REGISTER_NUMBER): Likewise.
8991 (SH_DEBUGGER_REGNO): Likewise.
8992 * config/visium/visium.h (DBX_REGISTER_NUMBER): Likewise.
8993 (DEBUGGER_REGNO): Likewise.
8994 * config/xtensa/elf.h (DBX_REGISTER_NUMBER): Likewise.
8995 (DEBUGGER_REGNO): Likewise.
8996 * config/xtensa/linux.h (DBX_REGISTER_NUMBER): Likewise.
8997 (DEBUGGER_REGNO): Likewise.
8998 * config/xtensa/uclinux.h (DBX_REGISTER_NUMBER): Likewise.
8999 (DEBUGGER_REGNO): Likewise.
9000 * config/xtensa/xtensa-protos.h (xtensa_dbx_regno): Likewise.
9001 (xtensa_debugger_regno): Likewise.
9002 * config/xtensa/xtensa.cc (xtensa_dbx_regno): Likewise.
9003 (xtensa_debugger_regno): Likewise.
9004 * config/xtensa/xtensa.h (DBX_REGISTER_NUMBER): Likewise.
9005 (DEBUGGER_REGNO): Likewise.
9006 * defaults.h (DBX_REGISTER_NUMBER): Likewise.
9007 (DEBUGGER_REGNO): Likewise.
9008 (DWARF_FRAME_REGNUM): Likewise.
9009 * doc/tm.texi: Likewise.
9010 * doc/tm.texi.in: Likewise.
9011 * dwarf2out.cc (dbx_reg_number): Likewise.
9012 (debugger_reg_number): Likewise.
9013 (reg_loc_descriptor): Likewise.
9014 (multiple_reg_loc_descriptor): Likewise.
9015 (mem_loc_descriptor): Likewise.
9016 * except.cc: Likewise.
9017
9018 2022-09-05 konglin1 <lingling.kong@intel.com>
9019
9020 PR target/106742
9021 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
9022 Handle V8BF mode.
9023 (expand_vec_perm_broadcast_1): Ditto.
9024 * config/i386/sse.md (avx512fmaskhalfmode): Add BF vector mode.
9025 (vec_set<mode>_0): Add @ to it.
9026 (@vec_set<mode>_0): Ditto.
9027 (vec_interleave_high<mode><mask_name>): Ditto.
9028 (@vec_interleave_high<mode><mask_name>): Ditto.
9029 (vec_interleave_low<mode><mask_name>): Ditto.
9030 (@vec_interleave_low<mode><mask_name>): Ditto.
9031 * config/i386/subst.md (SUBST_V): Add BF vector mode.
9032
9033 2022-09-05 Aldy Hernandez <aldyh@redhat.com>
9034
9035 * value-range.cc (early_nan_resolve): Remove.
9036 (frange::intersect): Handle NANs.
9037
9038 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
9039
9040 * value-range.cc (frange::union_): Do not drop properties when
9041 unioning a NAN with something else.
9042 (range_tests_signed_zeros): Add tests.
9043
9044 2022-09-04 Aldy Hernandez <aldyh@redhat.com>
9045
9046 * real.cc (encode_ieee_single): Use real_isdenormal.
9047 (encode_ieee_double): Same.
9048 (encode_ieee_extended): Same.
9049 (encode_ieee_quad): Same.
9050 (encode_ieee_half): Same.
9051 (encode_arm_bfloat_half): Same.
9052 * real.h (real_isdenormal): New.
9053
9054 2022-09-03 Aldy Hernandez <aldyh@redhat.com>
9055
9056 * value-range.cc (frange::singleton_p): Move NAN check to the top.
9057
9058 2022-09-03 Jan-Benedict Glaw <jbglaw@lug-owl.de>
9059
9060 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): Reference macro arguments.
9061
9062 2022-09-03 Jakub Jelinek <jakub@redhat.com>
9063
9064 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_DOACROSS.
9065 (enum omp_clause_depend_kind): Remove OMP_CLAUSE_DEPEND_SOURCE
9066 and OMP_CLAUSE_DEPEND_SINK, add OMP_CLAUSE_DEPEND_INVALID.
9067 (enum omp_clause_doacross_kind): New type.
9068 (struct tree_omp_clause): Add subcode.doacross_kind member.
9069 * tree.h (OMP_CLAUSE_DEPEND_SINK_NEGATIVE): Remove.
9070 (OMP_CLAUSE_DOACROSS_KIND): Define.
9071 (OMP_CLAUSE_DOACROSS_SINK_NEGATIVE): Define.
9072 (OMP_CLAUSE_DOACROSS_DEPEND): Define.
9073 (OMP_CLAUSE_ORDERED_DOACROSS): Define.
9074 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Add
9075 OMP_CLAUSE_DOACROSS entries.
9076 * tree-nested.cc (convert_nonlocal_omp_clauses,
9077 convert_local_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
9078 * tree-pretty-print.cc (dump_omp_clause): Don't handle
9079 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK. Handle
9080 OMP_CLAUSE_DOACROSS.
9081 * gimplify.cc (gimplify_omp_depend): Don't handle
9082 OMP_CLAUSE_DEPEND_SOURCE and OMP_CLAUSE_DEPEND_SINK.
9083 (gimplify_scan_omp_clauses): Likewise. Handle OMP_CLAUSE_DOACROSS.
9084 (gimplify_adjust_omp_clauses): Handle OMP_CLAUSE_DOACROSS.
9085 (find_standalone_omp_ordered): New function.
9086 (gimplify_omp_for): When OMP_CLAUSE_ORDERED is present, search
9087 body for OMP_ORDERED with OMP_CLAUSE_DOACROSS and if found,
9088 set OMP_CLAUSE_ORDERED_DOACROSS.
9089 (gimplify_omp_ordered): Don't handle OMP_CLAUSE_DEPEND_SINK or
9090 OMP_CLAUSE_DEPEND_SOURCE, instead check OMP_CLAUSE_DOACROSS, adjust
9091 diagnostics that presence or absence of ordered clause parameter
9092 is irrelevant. Handle doacross(sink:omp_cur_iteration-1). Use
9093 actual user name of the clause - doacross or depend - in diagnostics.
9094 * omp-general.cc (omp_extract_for_data): Don't set fd->ordered
9095 if !OMP_CLAUSE_ORDERED_DOACROSS (t). If
9096 OMP_CLAUSE_ORDERED_DOACROSS (t) but !OMP_CLAUSE_ORDERED_EXPR (t),
9097 set fd->ordered to -1 and set it after the loop in that case to
9098 fd->collapse.
9099 * omp-low.cc (check_omp_nesting_restrictions): Don't handle
9100 OMP_CLAUSE_DEPEND_SOURCE nor OMP_CLAUSE_DEPEND_SINK, instead check
9101 OMP_CLAUSE_DOACROSS. Use actual user name of the clause - doacross
9102 or depend - in diagnostics. Diagnose mixing of stand-alone and
9103 block associated ordered constructs binding to the same loop.
9104 (lower_omp_ordered_clauses): Don't handle OMP_CLAUSE_DEPEND_SINK,
9105 instead handle OMP_CLAUSE_DOACROSS.
9106 (lower_omp_ordered): Look for OMP_CLAUSE_DOACROSS instead of
9107 OMP_CLAUSE_DEPEND.
9108 (lower_depend_clauses): Don't handle OMP_CLAUSE_DEPEND_SOURCE and
9109 OMP_CLAUSE_DEPEND_SINK.
9110 * omp-expand.cc (expand_omp_ordered_sink): Emit a sorry for
9111 doacross(sink:omp_cur_iteration-1).
9112 (expand_omp_ordered_source_sink): Use
9113 OMP_CLAUSE_DOACROSS_SINK_NEGATIVE instead of
9114 OMP_CLAUSE_DEPEND_SINK_NEGATIVE. Use actual user name of the clause
9115 - doacross or depend - in diagnostics.
9116 (expand_omp): Look for OMP_CLAUSE_DOACROSS clause instead of
9117 OMP_CLAUSE_DEPEND.
9118 (build_omp_regions_1): Likewise.
9119 (omp_make_gimple_edges): Likewise.
9120 * lto-streamer-out.cc (hash_tree): Handle OMP_CLAUSE_DOACROSS.
9121 * tree-streamer-in.cc (unpack_ts_omp_clause_value_fields): Likewise.
9122 * tree-streamer-out.cc (pack_ts_omp_clause_value_fields): Likewise.
9123
9124 2022-09-02 David Malcolm <dmalcolm@redhat.com>
9125
9126 PR c/90885
9127 * doc/invoke.texi (Warning Options): Add -Wxor-used-as-pow.
9128
9129 2022-09-02 Iain Buclaw <ibuclaw@gdcproject.org>
9130
9131 PR d/105659
9132 * config.gcc: Set tm_d_file to ${cpu_type}/${cpu_type}-d.h.
9133 * config/aarch64/aarch64-d.cc: Include tm_d.h.
9134 * config/aarch64/aarch64-protos.h (aarch64_d_target_versions): Move to
9135 config/aarch64/aarch64-d.h.
9136 (aarch64_d_register_target_info): Likewise.
9137 * config/aarch64/aarch64.h (TARGET_D_CPU_VERSIONS): Likewise.
9138 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9139 * config/arm/arm-d.cc: Include tm_d.h and arm-protos.h instead of
9140 tm_p.h.
9141 * config/arm/arm-protos.h (arm_d_target_versions): Move to
9142 config/arm/arm-d.h.
9143 (arm_d_register_target_info): Likewise.
9144 * config/arm/arm.h (TARGET_D_CPU_VERSIONS): Likewise.
9145 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9146 * config/default-d.cc: Remove memmodel.h include.
9147 * config/freebsd-d.cc: Include tm_d.h instead of tm_p.h.
9148 * config/glibc-d.cc: Likewise.
9149 * config/i386/i386-d.cc: Include tm_d.h.
9150 * config/i386/i386-protos.h (ix86_d_target_versions): Move to
9151 config/i386/i386-d.h.
9152 (ix86_d_register_target_info): Likewise.
9153 (ix86_d_has_stdcall_convention): Likewise.
9154 * config/i386/i386.h (TARGET_D_CPU_VERSIONS): Likewise.
9155 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9156 (TARGET_D_HAS_STDCALL_CONVENTION): Likewise.
9157 * config/i386/winnt-d.cc: Include tm_d.h instead of tm_p.h.
9158 * config/mips/mips-d.cc: Include tm_d.h.
9159 * config/mips/mips-protos.h (mips_d_target_versions): Move to
9160 config/mips/mips-d.h.
9161 (mips_d_register_target_info): Likewise.
9162 * config/mips/mips.h (TARGET_D_CPU_VERSIONS): Likewise.
9163 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9164 * config/netbsd-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
9165 * config/openbsd-d.cc: Likewise.
9166 * config/pa/pa-d.cc: Include tm_d.h.
9167 * config/pa/pa-protos.h (pa_d_target_versions): Move to
9168 config/pa/pa-d.h.
9169 (pa_d_register_target_info): Likewise.
9170 * config/pa/pa.h (TARGET_D_CPU_VERSIONS): Likewise.
9171 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9172 * config/riscv/riscv-d.cc: Include tm_d.h.
9173 * config/riscv/riscv-protos.h (riscv_d_target_versions): Move to
9174 config/riscv/riscv-d.h.
9175 (riscv_d_register_target_info): Likewise.
9176 * config/riscv/riscv.h (TARGET_D_CPU_VERSIONS): Likewise.
9177 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9178 * config/rs6000/rs6000-d.cc: Include tm_d.h.
9179 * config/rs6000/rs6000-protos.h (rs6000_d_target_versions): Move to
9180 config/rs6000/rs6000-d.h.
9181 (rs6000_d_register_target_info): Likewise.
9182 * config/rs6000/rs6000.h (TARGET_D_CPU_VERSIONS) Likewise.:
9183 (TARGET_D_REGISTER_CPU_TARGET_INFO) Likewise.:
9184 * config/s390/s390-d.cc: Include tm_d.h.
9185 * config/s390/s390-protos.h (s390_d_target_versions): Move to
9186 config/s390/s390-d.h.
9187 (s390_d_register_target_info): Likewise.
9188 * config/s390/s390.h (TARGET_D_CPU_VERSIONS): Likewise.
9189 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9190 * config/sol2-d.cc: Include tm_d.h instead of tm.h and memmodel.h.
9191 * config/sparc/sparc-d.cc: Include tm_d.h.
9192 * config/sparc/sparc-protos.h (sparc_d_target_versions): Move to
9193 config/sparc/sparc-d.h.
9194 (sparc_d_register_target_info): Likewise.
9195 * config/sparc/sparc.h (TARGET_D_CPU_VERSIONS): Likewise.
9196 (TARGET_D_REGISTER_CPU_TARGET_INFO): Likewise.
9197 * configure: Regenerate.
9198 * configure.ac (tm_d_file): Remove defaults.h.
9199 (tm_d_include_list): Remove options.h and insn-constants.h.
9200 * config/aarch64/aarch64-d.h: New file.
9201 * config/arm/arm-d.h: New file.
9202 * config/i386/i386-d.h: New file.
9203 * config/mips/mips-d.h: New file.
9204 * config/pa/pa-d.h: New file.
9205 * config/riscv/riscv-d.h: New file.
9206 * config/rs6000/rs6000-d.h: New file.
9207 * config/s390/s390-d.h: New file.
9208 * config/sparc/sparc-d.h: New file.
9209
9210 2022-09-02 Aldy Hernandez <aldyh@redhat.com>
9211
9212 * builtins.cc (fold_builtin_inf): Convert use of real_info to dconstinf.
9213 (fold_builtin_fpclassify): Same.
9214 * fold-const-call.cc (fold_const_call_cc): Same.
9215 * match.pd: Same.
9216 * omp-low.cc (omp_reduction_init_op): Same.
9217 * realmpfr.cc (real_from_mpfr): Same.
9218 * tree.cc (build_complex_inf): Same.
9219
9220 2022-09-02 Peter Bergner <bergner@linux.ibm.com>
9221
9222 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin): Use
9223 NOP_EXPR for MMA pointer casting.
9224
9225 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
9226
9227 * tree-vect-slp.cc (vect_optimize_slp_pass::internal_node_cost):
9228 Reduce the fallback cost to 1. Only use it if the number of
9229 input lanes is equal to the number of output lanes.
9230
9231 2022-09-02 Richard Sandiford <richard.sandiford@arm.com>
9232
9233 PR tree-optimization/106787
9234 * tree-vect-slp.cc (vect_map_to_instance): New function, split out
9235 from...
9236 (vect_bb_partition_graph_r): ...here. Replace the visited set
9237 with a map from nodes to instances. Ensure that a node only
9238 appears in one partition.
9239 (vect_bb_partition_graph): Update accordingly.
9240
9241 2022-09-02 Richard Biener <rguenther@suse.de>
9242
9243 * timevar.def (TV_TREE_RPO_VN): New.
9244 * tree-ssa-sccvn.h (do_rpo_vn): Remove one overload.
9245 * tree-ssa-sccvn.cc (do_rpo_vn_1): Rename the worker.
9246 (do_rpo_vn): Unify the public API, track with TV_TREE_RPO_VN.
9247 (pass_fre::execute): Adjust.
9248 * tree-ssa-uninit.cc (execute_early_warn_uninitialized): Adjust.
9249
9250 2022-09-02 Richard Biener <rguenther@suse.de>
9251
9252 PR tree-optimization/106809
9253 * tree-ssa-sccvn.cc (dominaged_by_p_w_unex): Check we have
9254 more than one successor before doing extra work.
9255
9256 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
9257
9258 * common/config/riscv/riscv-common.cc: Include <vector>.
9259 (struct riscv_multi_lib_info_t): New.
9260 (riscv_subset_list::match_score): Ditto.
9261 (find_last_appear_switch): Ditto.
9262 (prefixed_with): Ditto.
9263 (struct multi_lib_info_t): Ditto.
9264 (riscv_current_arch_str): Ditto.
9265 (riscv_current_abi_str): Ditto.
9266 (riscv_multi_lib_info_t::parse): Ditto.
9267 (riscv_check_cond): Ditto.
9268 (riscv_check_conds): Ditto.
9269 (riscv_compute_multilib): Ditto.
9270 (TARGET_COMPUTE_MULTILIB): Defined.
9271 * config/riscv/elf.h (LIB_SPEC): Call riscv_multi_lib_check if
9272 doing link.
9273 (RISCV_USE_CUSTOMISED_MULTI_LIB): New.
9274 * config/riscv/riscv.h (riscv_multi_lib_check): New.
9275 (EXTRA_SPEC_FUNCTIONS): Add riscv_multi_lib_check.
9276 * config/riscv/riscv-subset.h (riscv_subset_list::match_score): New.
9277
9278 2022-09-02 Kito Cheng <kito.cheng@sifive.com>
9279
9280 * common/common-target.def (compute_multilib): New.
9281 * common/common-targhooks.h (default_compute_multilib): New.
9282 * common/common-targhooks.cc (default_compute_multilib): New.
9283 * doc/tm.texi.in (TARGET_COMPUTE_MULTILIB): New.
9284 * doc/tm.texi: Regen.
9285 * gcc.cc: Include common/common-target.h.
9286 (set_multilib_dir) Call targetm_common.compute_multilib.
9287 (SWITCH_LIVE): Move to opts.h.
9288 (SWITCH_FALSE): Ditto.
9289 (SWITCH_IGNORE): Ditto.
9290 (SWITCH_IGNORE_PERMANENTLY): Ditto.
9291 (SWITCH_KEEP_FOR_GCC): Ditto.
9292 (struct switchstr): Ditto.
9293 * opts.h (SWITCH_LIVE): Move from gcc.c.
9294 (SWITCH_FALSE): Ditto.
9295 (SWITCH_IGNORE): Ditto.
9296 (SWITCH_IGNORE_PERMANENTLY): Ditto.
9297 (SWITCH_KEEP_FOR_GCC): Ditto.
9298 (struct switchstr): Ditto.
9299
9300 2022-09-02 Martin Liska <mliska@suse.cz>
9301
9302 * config/pdp11/pdp11.h (PREFERRED_DEBUGGING_TYPE): Disable
9303 debugging format.
9304
9305 2022-09-02 Martin Liska <mliska@suse.cz>
9306
9307 * Makefile.in: Remove -gstabs option support, DBX-related
9308 macros and DBX debugging info support.
9309 * collect2.cc (scan_prog_file): Likewise.
9310 * common.opt: Likewise.
9311 * config.gcc: Likewise.
9312 * config.in: Likewise.
9313 * config/aarch64/aarch64-elf.h (DBX_DEBUGGING_INFO): Likewise.
9314 * config/alpha/alpha.cc: Likewise.
9315 * config/alpha/elf.h (ASM_SPEC): Likewise.
9316 * config/arc/arc.h (DBX_DEBUGGING_INFO): Likewise.
9317 (DBX_CONTIN_LENGTH): Likewise.
9318 * config/arm/aout.h (DBX_DEBUGGING_INFO): Likewise.
9319 (DBX_CONTIN_LENGTH): Likewise.
9320 * config/arm/netbsd-elf.h (DBX_CONTIN_LENGTH): Likewise.
9321 * config/darwin.h (DSYMUTIL_SPEC): Likewise.
9322 (ASM_DEBUG_SPEC): Likewise.
9323 (DBX_DEBUGGING_INFO): Likewise.
9324 (DBX_USE_BINCL): Likewise.
9325 (DBX_CONTIN_LENGTH): Likewise.
9326 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9327 * config/epiphany/epiphany.h (DBX_DEBUGGING_INFO): Likewise.
9328 (DBX_CONTIN_LENGTH): Likewise.
9329 * config/i386/bsd.h (DBX_NO_XREFS): Likewise.
9330 (DBX_CONTIN_LENGTH): Likewise.
9331 * config/i386/gas.h (DBX_NO_XREFS): Likewise.
9332 (DBX_CONTIN_LENGTH): Likewise.
9333 * config/ia64/ia64.h: Likewise.
9334 * config/ia64/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
9335 * config/m68k/linux.h (DBX_CONTIN_LENGTH): Likewise.
9336 * config/m68k/openbsd.h (DBX_DEBUGGING_INFO): Likewise.
9337 (DBX_CONTIN_LENGTH): Likewise.
9338 (DBX_CONTIN_CHAR): Likewise.
9339 * config/mips/mips.cc (mips_output_filename): Likewise.
9340 (mips_option_override): Likewise.
9341 * config/mips/mips.h (SUBTARGET_ASM_DEBUGGING_SPEC): Likewise.
9342 (DBX_DEBUGGING_INFO): Likewise.
9343 (DBX_CONTIN_LENGTH): Likewise.
9344 (DBX_REGISTER_NUMBER): Likewise.
9345 (GP_DBX_FIRST): Likewise.
9346 (FP_DBX_FIRST): Likewise.
9347 (MD_DBX_FIRST): Likewise.
9348 * config/nvptx/nvptx.cc: Likewise.
9349 * config/openbsd.h (DBX_NO_XREFS): Likewise.
9350 * config/pa/pa-64.h (DBX_DEBUGGING_INFO): Likewise.
9351 * config/pa/pa.h (ASSEMBLER_DIALECT): Likewise.
9352 (DBX_CONTIN_LENGTH): Likewise.
9353 * config/pa/som.h (PREFERRED_DEBUGGING_TYPE): Likewise.
9354 (DBX_USE_BINCL): Likewise.
9355 (DBX_LINES_FUNCTION_RELATIVE): Likewise.
9356 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9357 * config/pdp11/pdp11.cc: Likewise.
9358 * config/pdp11/pdp11.h (DBX_DEBUGGING_INFO): Likewise.
9359 (PREFERRED_DEBUGGING_TYPE): Likewise.
9360 (DBX_CONTIN_LENGTH): Likewise.
9361 * config/rs6000/rs6000-builtin.cc: Likewise.
9362 * config/rs6000/rs6000-call.cc: Likewise.
9363 * config/rs6000/rs6000-logue.cc (defined): Likewise.
9364 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
9365 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
9366 (rs6000_xcoff_declare_function_name): Likewise.
9367 * config/rs6000/sysv4.h (DBX_DEBUGGING_INFO): Likewise.
9368 (DBX_FUNCTION_FIRST): Likewise.
9369 * config/rs6000/xcoff.h (XCOFF_DEBUGGING_INFO): Likewise.
9370 * config/rx/rx.h (DBX_DEBUGGING_INFO): Likewise.
9371 * config/sh/elf.h (DBX_LINES_FUNCTION_RELATIVE): Likewise.
9372 (DBX_OUTPUT_NULL_N_SO_AT_MAIN_SOURCE_FILE_END): Likewise.
9373 * config/sol2.h (NO_DBX_BNSYM_ENSYM): Likewise.
9374 * config/sparc/freebsd.h (DBX_CONTIN_CHAR): Likewise.
9375 * config/sparc/netbsd-elf.h (DBX_CONTIN_CHAR): Likewise.
9376 * config/sparc/sparc.h (DBX_CONTIN_LENGTH): Likewise.
9377 * config/vax/vax.cc (vax_file_start): Likewise.
9378 * config/vax/vax.h (DBX_DEBUGGING_INFO): Likewise.
9379 (DBX_CONTIN_LENGTH): Likewise.
9380 (DBX_CONTIN_CHAR): Likewise.
9381 (DBX_NO_XREFS): Likewise.
9382 (DBX_STATIC_STAB_DATA_SECTION): Likewise.
9383 * config/vx-common.h (DBX_DEBUGGING_INFO): Likewise.
9384 (XCOFF_DEBUGGING_INFO): Likewise.
9385 * configure: Regenerate. Likewise.
9386 * configure.ac: Likewise.
9387 * debug.h: Likewise.
9388 * doc/install.texi: Likewise.
9389 * doc/invoke.texi: Likewise.
9390 * doc/passes.texi: Likewise.
9391 * doc/tm.texi: Likewise.
9392 * doc/tm.texi.in: Likewise.
9393 * dwarf2asm.cc (XCOFF_DEBUGGING_INFO): Likewise.
9394 (dw2_asm_output_nstring): Likewise.
9395 (USE_LINKONCE_INDIRECT): Likewise.
9396 * dwarf2out.cc (XCOFF_DEBUGGING_INFO): Likewise.
9397 (HAVE_XCOFF_DWARF_EXTRAS): Likewise.
9398 (output_fde): Likewise.
9399 (output_call_frame_info): Likewise.
9400 (have_macinfo): Likewise.
9401 (add_AT_loc_list): Likewise.
9402 (add_AT_view_list): Likewise.
9403 (output_compilation_unit_header): Likewise.
9404 (output_pubnames): Likewise.
9405 (output_aranges): Likewise.
9406 (output_line_info): Likewise.
9407 (output_macinfo): Likewise.
9408 (dwarf2out_finish): Likewise.
9409 (dwarf2out_early_finish): Likewise.
9410 * final.cc (final_scan_insn_1): Likewise.
9411 (rest_of_handle_final): Likewise.
9412 * flag-types.h (enum debug_info_type): Likewise.
9413 (DBX_DEBUG): Likewise.
9414 (XCOFF_DEBUG): Likewise.
9415 * function.cc (defined): Likewise.
9416 * gcc.cc (defined): Likewise.
9417 (ASM_DEBUG_SPEC): Likewise.
9418 (ASM_DEBUG_OPTION_SPEC): Likewise.
9419 * opts.cc (common_handle_option): Likewise.
9420 (set_debug_level): Likewise.
9421 * system.h (fancy_abort): Likewise.
9422 * target-def.h (TARGET_ASM_CONSTRUCTOR): Likewise.
9423 (TARGET_ASM_DESTRUCTOR): Likewise.
9424 * toplev.cc (defined): Likewise.
9425 * varasm.cc: Likewise.
9426 * config/dbxcoff.h: Removed.
9427 * config/dbxelf.h: Removed.
9428 * dbxout.cc: Removed.
9429 * dbxout.h: Removed.
9430 * gstab.h: Removed.
9431 * stab.def: Removed.
9432 * xcoffout.cc: Removed.
9433 * xcoffout.h: Removed.
9434
9435 2022-09-02 Simon Rainer <gcc.gnu@vvalter.com>
9436
9437 PR ipa/106627
9438 * config/i386/i386-features.cc (ix86_get_function_versions_dispatcher):
9439 Set TREE_NOTHROW correctly for dispatcher declaration.
9440 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
9441 Likewise.
9442
9443 2022-09-01 Tamar Christina <tamar.christina@arm.com>
9444
9445 PR other/106782
9446 * config/aarch64/aarch64.cc
9447 (aarch64_vector_costs::prefer_unrolled_loop): Replace %u with
9448 HOST_WIDE_INT_PRINT_UNSIGNED.
9449
9450 2022-09-01 Richard Sandiford <richard.sandiford@arm.com>
9451
9452 * tree-vect-slp.cc (vect_build_slp_tree_2): When building a
9453 VEC_PERM_EXPR of an existing vector, set the SLP_TREE_LANES
9454 to the number of vector elements, if that's a known constant.
9455 (vect_optimize_slp_pass::is_compatible_layout): Remove associated
9456 comment about zero SLP_TREE_LANES.
9457 (vect_optimize_slp_pass::start_choosing_layouts): Iterate over
9458 all partition members when looking for potential layouts.
9459 Handle existing permutes of fixed-length vectors.
9460
9461 2022-09-01 Uroš Bizjak <ubizjak@gmail.com>
9462
9463 PR target/106707
9464 * config/i386/i386.md (moves to/from AX_REG into xchg peephole2):
9465 Do not convert a move pattern where both operands are AX_REG.
9466
9467 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9468
9469 * range-op-float.cc (build_le): Convert to dconst*inf.
9470 (build_ge): Same.
9471 * value-range.cc (frange::set_signbit): Same.
9472 (frange::normalize_kind): Same.
9473 (range_tests_floats): Same.
9474 * value-range.h (vrp_val_max): Same.
9475 (vrp_val_min): Same.
9476 (frange::set_varying): Same.
9477
9478 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9479
9480 * emit-rtl.cc (init_emit_once): Initialize dconstinf and
9481 dconstninf.
9482 * real.h: Add dconstinf and dconstninf.
9483
9484 2022-09-01 Richard Biener <rguenther@suse.de>
9485
9486 * gimple-predicate-analysis.cc (compute_control_dep_chain):
9487 Remove cycle detection, instead avoid walking backedges.
9488
9489 2022-09-01 Richard Biener <rguenther@suse.de>
9490
9491 * gimple-predicate-analysis.cc (compute_control_dep_chain):
9492 New wrapping overload.
9493 (uninit_analysis::init_use_preds): Simplify.
9494 (uninit_analysis::init_from_phi_def): Likewise.
9495
9496 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9497
9498 * gimple-range-fold.cc
9499 (fold_using_range::range_of_builtin_int_call): Add case for
9500 CFN_BUILT_IN_SIGNBIT.
9501
9502 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9503
9504 * range-op-float.cc (foperator_equal::op1_range): Do not copy sign
9505 bit.
9506 (foperator_not_equal::op1_range): Same.
9507 * value-query.cc (range_query::get_tree_range): Set sign bit.
9508 * value-range-pretty-print.cc (vrange_printer::visit): Dump sign bit.
9509 * value-range.cc (frange::set_signbit): New.
9510 (frange::set): Adjust for sign bit.
9511 (frange::normalize_kind): Same.
9512 (frange::union_): Remove useless comment.
9513 (frange::intersect): Same.
9514 (frange::contains_p): Adjust for sign bit.
9515 (frange::singleton_p): Same.
9516 (frange::verify_range): Same.
9517 (range_tests_signbit): New tests.
9518 (range_tests_floats): Call range_tests_signbit.
9519 * value-range.h (class frange_props): Add signbit
9520 (class frange): Same.
9521
9522 2022-09-01 Jakub Jelinek <jakub@redhat.com>
9523
9524 PR other/106782
9525 * dumpfile.h (dump_printf_loc): Use ATTRIBUTE_GCC_DUMP_PRINTF (3, 4)
9526 instead of ATTRIBUTE_GCC_DUMP_PRINTF (3, 0).
9527 * tree-parloops.cc (parloops_is_slp_reduction): Cast pointers to
9528 derived types of gimple to gimple * to avoid -Wformat warnings.
9529 * tree-vect-loop-manip.cc (vect_set_loop_condition,
9530 vect_update_ivs_after_vectorizer): Likewise.
9531 * tree-vect-stmts.cc (vectorizable_load): Likewise.
9532 * tree-vect-patterns.cc (vect_split_statement,
9533 vect_recog_mulhs_pattern, vect_recog_average_pattern,
9534 vect_determine_precisions_from_range,
9535 vect_determine_precisions_from_users): Likewise.
9536 * gimple-loop-versioning.cc
9537 (loop_versioning::analyze_term_using_scevs): Likewise.
9538 * tree-vect-slp.cc (vect_build_slp_tree_1): Likewise.
9539 (vect_build_slp_tree): Cast slp_tree to void * to avoid
9540 -Wformat warnings.
9541 (optimize_load_redistribution_1, vect_match_slp_patterns,
9542 vect_build_slp_instance, vect_optimize_slp_pass::materialize,
9543 vect_optimize_slp_pass::dump, vect_slp_convert_to_external,
9544 vect_slp_analyze_node_operations, vect_bb_partition_graph): Likewise.
9545 (vect_print_slp_tree): Likewise. Also use
9546 HOST_WIDE_INT_PRINT_UNSIGNED instead of %u.
9547 * tree-vect-loop.cc (vect_determine_vectorization_factor,
9548 vect_analyze_scalar_cycles_1, vect_analyze_loop_operations,
9549 vectorizable_induction, vect_transform_loop): Cast pointers to derived
9550 types of gimple to gimple * to avoid -Wformat warnings.
9551 (vect_analyze_loop_2): Cast slp_tree to void * to avoid
9552 -Wformat warnings.
9553 (vect_estimate_min_profitable_iters): Use HOST_WIDE_INT_PRINT_UNSIGNED
9554 instead of %d.
9555 * tree-vect-slp-patterns.cc (vect_pattern_validate_optab): Use %G
9556 instead of %T and STMT_VINFO_STMT (SLP_TREE_REPRESENTATIVE (node))
9557 instead of SLP_TREE_DEF_TYPE (node).
9558
9559 2022-09-01 Jakub Jelinek <jakub@redhat.com>
9560
9561 PR c++/106655
9562 * doc/invoke.texi (-Winvalid-utf8): Document it.
9563
9564 2022-09-01 Aldy Hernandez <aldyh@redhat.com>
9565
9566 PR tree-optimization/106785
9567 * value-range.cc (range_tests_nan): Adjust tests for !HONOR_NANS.
9568 (range_tests_floats): Same.
9569
9570 2022-09-01 konglin1 <lingling.kong@intel.com>
9571
9572 * tree-if-conv.cc (is_cond_scalar_reduction): Add MULT_EXPR
9573 recognition.
9574
9575 2022-09-01 Peter Bergner <bergner@linux.ibm.com>
9576
9577 PR target/101322
9578 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_mma_builtin):
9579 Enforce the use of a valid MMA pointer type.
9580
9581 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9582
9583 * config/riscv/riscv.cc (riscv_conditional_register_usage): Add vector
9584 registers.
9585
9586 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9587
9588 * config/riscv/riscv.cc (riscv_const_insns): Add cost of poly_int.
9589 (riscv_output_move): Add csrr vlenb assembly.
9590 * config/riscv/riscv.md (move_type): Add csrr vlenb type.
9591 (ext): New attribute.
9592 (ext_enabled): Ditto.
9593 (enabled): Ditto.
9594
9595 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9596
9597 * config/riscv/constraints.md (TARGET_VECTOR ? V_REGS : NO_REGS): Add
9598 "vr" constraint.
9599 (TARGET_VECTOR ? VD_REGS : NO_REGS): Add "vd" constraint.
9600 (TARGET_VECTOR ? VM_REGS : NO_REGS): Add "vm" constraint.
9601 (vp): Add poly constraint.
9602
9603 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9604
9605 * config/riscv/riscv.h (enum reg_class): Change vype to vtype.
9606
9607 2022-09-01 zhongjuzhe <juzhe.zhong@rivai.ai>
9608
9609 * config/riscv/riscv.cc (riscv_convert_vector_bits): Change
9610 configuration according to TARGET_MIN_VLEN.
9611 * config/riscv/riscv.h (UNITS_PER_FP_REG): Fix comment.
9612
9613 2022-08-31 Martin Liska <mliska@suse.cz>
9614
9615 * config.build: Remove deprecated ports.
9616 * config.gcc: Likewise.
9617 * config.host: Likewise.
9618 * configure.ac: Likewise.
9619 * configure: Regenerate.
9620 * config/pa/pa-hpux10.h: Removed.
9621 * config/pa/pa-hpux10.opt: Removed.
9622 * config/pa/t-dce-thr: Removed.
9623
9624 2022-08-31 Martin Liska <mliska@suse.cz>
9625
9626 * Makefile.in: Always install limits.h and syslimits.h to
9627 include folder.
9628 * configure.ac: Assign STMP_FIXINC blank if
9629 --disable-fixincludes is used.
9630 * configure: Regenerate.
9631
9632 2022-08-31 Richard Biener <rguenther@suse.de>
9633
9634 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9635 Assert the guard_bb isn't empty and has more than one successor.
9636 Drop appropriate parts of the predicate when an edge fails to
9637 register a predicate.
9638 (predicate::dump): Dump empty predicate as TRUE.
9639
9640 2022-08-31 Richard Biener <rguenther@suse.de>
9641
9642 PR tree-optimization/90994
9643 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9644 Ignore exceptional control flow and skip the edge for the purpose of
9645 predicate generation also for non-calls.
9646
9647 2022-08-31 Aldy Hernandez <aldyh@redhat.com>
9648
9649 * value-range-storage.cc (frange_storage_slot::set_frange): Save
9650 endpoints.
9651 (frange_storage_slot::get_frange): Restore endpoints.
9652 * value-range-storage.h (class frange_storage_slot): Add endpoint
9653 fields.
9654
9655 2022-08-31 Martin Liska <mliska@suse.cz>
9656
9657 PR tree-optimization/106789
9658 * range-op-float.cc (default_frelop_fold_range): Remove the
9659 function.
9660
9661 2022-08-31 Martin Liska <mliska@suse.cz>
9662
9663 * value-range.h: Add more override keywords.
9664
9665 2022-08-31 Martin Liska <mliska@suse.cz>
9666
9667 * value-range.h: Add override.
9668
9669 2022-08-31 Richard Biener <rguenther@suse.de>
9670
9671 PR tree-optimization/65244
9672 * gimple-predicate-analysis.h (predicate::init_from_control_deps):
9673 Add argument to specify whether the predicate is for the USE.
9674 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9675 Also include predicates effective fallthru control edges when
9676 the predicate is for the USE.
9677
9678 2022-08-31 Richard Biener <rguenther@suse.de>
9679
9680 PR tree-optimization/73550
9681 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9682 Sanitize debug dumping. Handle case labels with a CASE_HIGH.
9683 (predicate::dump): Adjust for better readability.
9684
9685 2022-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9686 Jakub Jelinek <jakub@redhat.com>
9687
9688 * omp-simd-clone.cc (simd_clone_adjust_return_type,
9689 simd_clone_adjust_argument_types): Use known_eq (veclen, 0U)
9690 instead of known_eq (veclen, 0) to avoid -Wsign-compare warnings.
9691
9692 2022-08-31 Richard Sandiford <richard.sandiford@arm.com>
9693
9694 * tree-vect-slp.cc (vect_optimize_slp_pass::dump): Remove bogus
9695 argument.
9696
9697 2022-08-31 zhongjuzhe <juzhe.zhong@rivai.ai>
9698
9699 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Simply
9700 initialize const_vf to 0.
9701
9702 2022-08-31 Martin Liska <mliska@suse.cz>
9703
9704 * config.gcc: Remove cr16.
9705
9706 2022-08-30 Martin Jambor <mjambor@suse.cz>
9707
9708 * vec.h (array_slice): Add constructors for non-const reference to
9709 heap vector and pointers to heap vectors.
9710
9711 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9712
9713 * value-range.cc (early_nan_resolve): Change comment.
9714 (frange::union_): Handle union when one side is a NAN.
9715 (range_tests_nan): Add tests for NAN union.
9716
9717 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
9718
9719 * config/gcn/gcn.cc (gcn_simd_clone_compute_vecsize_and_simdlen): New.
9720 (gcn_simd_clone_adjust): New.
9721 (gcn_simd_clone_usable): New.
9722 (TARGET_SIMD_CLONE_ADJUST): New.
9723 (TARGET_SIMD_CLONE_COMPUTE_VECSIZE_AND_SIMDLEN): New.
9724 (TARGET_SIMD_CLONE_USABLE): New.
9725
9726 2022-08-30 Andrew Stubbs <ams@codesourcery.com>
9727
9728 * doc/tm.texi: Regenerate.
9729 * omp-simd-clone.cc (simd_clone_adjust_return_type): Allow zero
9730 vecsize.
9731 (simd_clone_adjust_argument_types): Likewise.
9732 * target.def (compute_vecsize_and_simdlen): Document the new
9733 vecsize_int and vecsize_float semantics.
9734
9735 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9736
9737 * expmed.cc (store_bit_field_1): Fix byte offset calculation
9738 for undefined structures.
9739
9740 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9741
9742 * params.opt (-param=vect-max-layout-candidates=): New parameter.
9743 * doc/invoke.texi (vect-max-layout-candidates): Document it.
9744 * tree-vectorizer.h (auto_lane_permutation_t): New typedef.
9745 (auto_load_permutation_t): Likewise.
9746 * tree-vect-slp.cc (vect_slp_node_weight): New function.
9747 (slpg_layout_cost): New class.
9748 (slpg_vertex): Replace perm_in and perm_out with partition,
9749 out_degree, weight and out_weight.
9750 (slpg_partition_info, slpg_partition_layout_costs): New classes.
9751 (vect_optimize_slp_pass): Likewise, cannibalizing some part of
9752 the previous vect_optimize_slp.
9753 (vect_optimize_slp): Use it.
9754
9755 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9756
9757 * hash-traits.h (vec_hash_base): New class.
9758 (vec_free_hash_base): Likewise.
9759
9760 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9761
9762 * hash-traits.h (int_hash_base): New struct, split out from...
9763 (int_hash): ...this class, which now inherits from int_hash_base.
9764 * hash-map-traits.h (unbounded_hashmap_traits): Take a template
9765 parameter for the key that provides hash and equality functions.
9766 (unbounded_int_hashmap_traits): Turn into a type alias of
9767 unbounded_hashmap_traits.
9768
9769 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9770
9771 * graphds.cc (graphds_scc): Add a pass-back parameter for the
9772 final node order.
9773 * graphds.h (graphds_scc): Update prototype accordingly.
9774
9775 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9776
9777 * tree-vect-slp.cc (vect_transform_slp_perm_load_1): Split out from...
9778 (vect_transform_slp_perm_load): ...here. Use SLP_TREE_VECTYPE instead
9779 of STMT_VINFO_VECTYPE.
9780
9781 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9782
9783 * tree-vect-slp.cc (vectorizable_slp_permutation_1): Split out from...
9784 (vectorizable_slp_permutation): ...here.
9785
9786 2022-08-30 Richard Sandiford <richard.sandiford@arm.com>
9787
9788 * tree-vect-stmts.cc (get_related_vectype_for_scalar_type): Check
9789 that the requested number of units is interoperable with the requested
9790 prevailing mode.
9791
9792 2022-08-30 Martin Liska <mliska@suse.cz>
9793
9794 * config.gcc: Remove the port.
9795 * config/m32c/rtems.h: Removed.
9796
9797 2022-08-30 Richard Biener <rguenther@suse.de>
9798
9799 PR tree-optimization/73550
9800 * gimple-predicate-analysis.cc (predicate::init_from_control_deps):
9801 Do not apply MAX_NUM_CHAINS again.
9802
9803 2022-08-30 Richard Biener <rguenther@suse.de>
9804
9805 * gimple-predicate-analysis.cc (format_edge_vec): Dump
9806 both source and destination.
9807 (dump_dep_chains): Remove.
9808 (uninit_analysis::init_use_preds): Remove redundant
9809 dumping of chains.
9810
9811 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9812
9813 * value-range-storage.cc (frange_storage_slot::get_frange): Use
9814 frange_nan.
9815 * value-range.cc (frange::set_nan): New.
9816 (frange_nan): Move to header file.
9817 (range_tests_nan): Adjust frange_nan callers to pass type.
9818 New test.
9819 * value-range.h (FRANGE_PROP_ACCESSOR): Remove.
9820 (frange_nan): New.
9821
9822 2022-08-30 Richard Biener <rguenther@suse.de>
9823
9824 PR tree-optimization/67196
9825 * gimple-predicate-analysis.cc (uninit_analysis::is_use_guarded):
9826 Simplify and normalize use prediates before first use.
9827
9828 2022-08-30 Richard Biener <rguenther@suse.de>
9829
9830 * gimple-predicate-analysis.cc (dump_pred_chain): Fix
9831 parentizing and AND prepending.
9832 (predicate::dump): Do not dump the GENERIC expanded
9833 predicate, properly parentize and prepend ORs to the
9834 piecewise predicate dump.
9835 (build_pred_expr): Remove.
9836
9837 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9838
9839 * range-op-float.cc (finite_operand_p): New.
9840 (build_le): New.
9841 (build_lt): New.
9842 (build_ge): New.
9843 (build_gt): New.
9844 (foperator_equal::fold_range): New implementation with endpoints.
9845 (foperator_equal::op1_range): Same.
9846 (foperator_not_equal::fold_range): Same.
9847 (foperator_not_equal::op1_range): Same.
9848 (foperator_lt::fold_range): Same.
9849 (foperator_lt::op1_range): Same.
9850 (foperator_lt::op2_range): Same.
9851 (foperator_le::fold_range): Same.
9852 (foperator_le::op1_range): Same.
9853 (foperator_le::op2_range): Same.
9854 (foperator_gt::fold_range): Same.
9855 (foperator_gt::op1_range): Same.
9856 (foperator_gt::op2_range): Same.
9857 (foperator_ge::fold_range): Same.
9858 (foperator_ge::op1_range): Same.
9859 (foperator_ge::op2_range): Same.
9860
9861 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9862
9863 * range-op-float.cc (frange_set_nan): New.
9864 (frange_drop_inf): New.
9865 (frange_drop_ninf): New.
9866 (foperator_equal::op1_range): Adjust for endpoints.
9867 (foperator_lt::op1_range): Same.
9868 (foperator_lt::op2_range): Same.
9869 (foperator_gt::op1_range): Same.
9870 (foperator_gt::op2_range): Same.
9871 (foperator_unordered::op1_range): Same.
9872 * value-query.cc (range_query::get_tree_range): Same.
9873 * value-range-pretty-print.cc (vrange_printer::visit): Same.
9874 * value-range-storage.cc (frange_storage_slot::get_frange): Same.
9875 * value-range.cc (frange::set): Same.
9876 (frange::normalize_kind): Same.
9877 (frange::union_): Same.
9878 (frange::intersect): Same.
9879 (frange::operator=): Same.
9880 (early_nan_resolve): New.
9881 (frange::contains_p): New.
9882 (frange::singleton_p): New.
9883 (frange::set_nonzero): New.
9884 (frange::nonzero_p): New.
9885 (frange::set_zero): New.
9886 (frange::zero_p): New.
9887 (frange::set_nonnegative): New.
9888 (frange_float): New.
9889 (frange_nan): New.
9890 (range_tests_nan): New.
9891 (range_tests_signed_zeros): New.
9892 (range_tests_floats): New.
9893 (range_tests): New.
9894 * value-range.h (frange::lower_bound): New.
9895 (frange::upper_bound): New.
9896 (vrp_val_min): Use real_inf with a sign instead of negating inf.
9897 (frange::frange): New.
9898 (frange::set_varying): Adjust for endpoints.
9899 (real_max_representable): New.
9900 (real_min_representable): New.
9901
9902 2022-08-30 Aldy Hernandez <aldyh@redhat.com>
9903
9904 * match.pd ((cmp @0 zerop) real_zerop (negate@1 @0)): Add variant
9905 for real zero.
9906
9907 2022-08-30 Martin Liska <mliska@suse.cz>
9908
9909 * config/s390/s390.cc (s390_rtx_costs): Use proper type as
9910 argument.
9911
9912 2022-08-30 Richard Biener <rguenther@suse.de>
9913
9914 * tree-ssa-uninit.cc (warn_uninitialized_vars): Pre-compute
9915 the set of fallthru reachable blocks from function entry
9916 and use that to determine wlims.always_executed.
9917
9918 2022-08-30 Richard Biener <rguenther@suse.de>
9919
9920 PR tree-optimization/56654
9921 * tree-ssa-uninit.cc (cand_cmp): New.
9922 (find_uninit_use): First process all PHIs and collect candidate
9923 stmts, then sort those after RPO.
9924 (warn_uninitialized_phi): Pass on bb_to_rpo.
9925 (execute_late_warn_uninitialized): Compute and pass on
9926 reverse lookup of RPO number from basic block index.
9927
9928 2022-08-30 Richard Biener <rguenther@suse.de>
9929
9930 * gimple-predicate-analysis.h (uninit_analysis::operator()):
9931 Remove.
9932 * gimple-predicate-analysis.cc
9933 (uninit_analysis::collect_phi_def_edges): Use phi_arg_set,
9934 simplify a bit.
9935 * tree-ssa-uninit.cc (defined_args): New global.
9936 (compute_uninit_opnds_pos): Mask with the recorded set
9937 of guarded maybe-uninitialized uses.
9938 (uninit_undef_val_t::operator()): Remove.
9939 (find_uninit_use): Process all PHI uses, recording the
9940 guarded ones and marking the PHI result as uninitialized
9941 consistently.
9942 (warn_uninitialized_phi): Adjust.
9943 (execute_late_warn_uninitialized): Get rid of the PHI worklist
9944 and instead walk the function in RPO order.
9945 * spellcheck.h (best_match::m_best_candidate_len): Initialize.
9946
9947 2022-08-30 Tamar Christina <tamar.christina@arm.com>
9948
9949 PR tree-optimization/106744
9950 * tree-ssa-phiopt.cc (minmax_replacement): Correct arguments.
9951
9952 2022-08-30 Tamar Christina <tamar.christina@arm.com>
9953
9954 * expmed.cc (store_bit_field_1): Initialize regnum to 0.
9955
9956 2022-08-29 David Faust <david.faust@oracle.com>
9957
9958 PR target/106745
9959 * config/bpf/coreout.cc (bpf_core_get_sou_member_index): Fix
9960 computation of index for anonymous members.
9961
9962 2022-08-29 Jose E. Marchesi <jose.marchesi@oracle.com>
9963
9964 * config/bpf/bpf.cc (bpf_target_macros): Define __bpf__ as a
9965 target macro.
9966
9967 2022-08-29 H.J. Lu <hjl.tools@gmail.com>
9968
9969 PR target/106748
9970 * config/i386/i386-expand.cc
9971 (ix86_avx256_split_vector_move_misalign): Handle E_V16BFmode.
9972 * config/i386/sse.md (V_256H): Add V16BF.
9973
9974 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
9975
9976 * config/s390/s390.cc (s390_address_cost): Declare.
9977 (s390_hard_regno_nregs): Declare.
9978 (s390_rtx_costs): Add handling for REG and MEM in SET.
9979
9980 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
9981
9982 * config/s390/s390.cc (expand_perm_with_vpdi): Recognize swap pattern.
9983 (is_reverse_perm_mask): New function.
9984 (expand_perm_with_rot): Recognize reverse pattern.
9985 (expand_perm_with_vstbrq): New function.
9986 (expand_perm_with_vster): Use vler/vster for element reversal on z15.
9987 (vectorize_vec_perm_const_1): Use.
9988 (s390_vectorize_vec_perm_const): Add expand functions.
9989 * config/s390/vx-builtins.md: Prefer vster over vler.
9990
9991 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
9992
9993 * config/s390/s390.md: Remove UNSPEC_VEC_EXTRACT.
9994 * config/s390/vector.md: Rewrite patterns to use vec_select.
9995 * config/s390/vx-builtins.md (vec_scatter_element<V_HW_2:mode>_SI):
9996 Likewise.
9997
9998 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
9999
10000 PR target/100869
10001 * config/s390/vector.md (@vpdi4_2<mode>): New pattern.
10002 (rotl<mode>3_di): New pattern.
10003 * config/s390/vx-builtins.md: Use vpdi and verll for reversing
10004 elements.
10005
10006 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10007
10008 * config/s390/s390.cc (s390_issue_rate): Add z15.
10009
10010 2022-08-29 Robin Dapp <rdapp@linux.ibm.com>
10011
10012 * common/config/s390/s390-common.cc: Enable -funroll-loops and
10013 -munroll-only-small-loops for OPT_LEVELS_2_PLUS_SPEED_ONLY.
10014 * config/s390/s390.cc (s390_loop_unroll_adjust): Do not unroll
10015 loops larger than 12 instructions.
10016 (s390_override_options_after_change): Set unroll options.
10017 (s390_option_override_internal): Likewise.
10018 * config/s390/s390.opt: Document munroll-only-small-loops.
10019
10020 2022-08-29 Richard Biener <rguenther@suse.de>
10021
10022 * gimple-predicate-analysis.cc (is_loop_exit,
10023 find_control_equiv_block): Inline into single caller ...
10024 (uninit_analysis::init_use_preds): ... here and refactor.
10025
10026 2022-08-29 Richard Biener <rguenther@suse.de>
10027
10028 * gimple-predicate-analysis.cc (compute_control_dep_chain):
10029 Inline is_loop_exit and refactor, add comment about
10030 loop exits.
10031
10032 2022-08-29 Kito Cheng <kito.cheng@sifive.com>
10033
10034 * config/riscv/riscv.cc (riscv_frame_info): Introduce `reset(void)`;
10035 (riscv_frame_info::reset(void)): New.
10036 (riscv_compute_frame_info): Use riscv_frame_info::reset instead
10037 of memset when clean frame.
10038
10039 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
10040
10041 * config/riscv/riscv.cc (riscv_v_ext_vector_mode_p): New function.
10042 (riscv_classify_address): Disallow PLUS/LO_SUM/CONST_INT address types for RVV.
10043 (riscv_address_insns): Add RVV modes condition.
10044 (riscv_binary_cost): Ditto.
10045 (riscv_rtx_costs): Adjust cost for RVV.
10046 (riscv_secondary_memory_needed): Add RVV modes condition.
10047 (riscv_hard_regno_nregs): Add RVV register allocation.
10048 (riscv_hard_regno_mode_ok): Add RVV register allocation.
10049 (riscv_class_max_nregs): Add RVV register allocation.
10050 * config/riscv/riscv.h (DWARF_FRAME_REGNUM): Add VL/VTYPE and vector registers in Dwarf.
10051 (UNITS_PER_V_REG): New macro.
10052 (FIRST_PSEUDO_REGISTER): Adjust first pseudo num for RVV.
10053 (V_REG_FIRST): New macro.
10054 (V_REG_LAST): Ditto.
10055 (V_REG_NUM): Ditto.
10056 (V_REG_P): Ditto.
10057 (VL_REG_P): Ditto.
10058 (VTYPE_REG_P): Ditto.
10059 (RISCV_DWARF_VL): Ditto.
10060 (RISCV_DWARF_VTYPE): Ditto.
10061 (enum reg_class): Add RVV register types.
10062 (REG_CLASS_CONTENTS): Add RVV register types.
10063 * config/riscv/riscv.md: Add VL/VTYPE register number constants.
10064
10065 2022-08-29 zhongjuzhe <juzhe.zhong@rivai.ai>
10066
10067 * config/riscv/riscv.md: Add new type for vector instructions.
10068
10069 2022-08-28 Peter Bergner <bergner@linux.ibm.com>
10070
10071 PR target/106017
10072 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Remove handling
10073 of MMA pointer conversions.
10074
10075 2022-08-27 Xi Ruoyao <xry111@xry111.site>
10076
10077 * config/i386/gcc-auto-profile: Regenerate.
10078
10079 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10080
10081 * real.cc (real_iszero): New.
10082 * real.h (real_iszero): New.
10083
10084 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10085
10086 * real.cc (real_isinf): New overload.
10087 (real_inf): Add sign argument.
10088 * real.h (real_isinf): New overload.
10089 (real_inf): Add sign argument.
10090
10091 2022-08-26 Marek Polacek <polacek@redhat.com>
10092
10093 PR c++/81159
10094 * doc/invoke.texi: Document -Wself-move.
10095
10096 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10097
10098 * value-range.cc (vrange::set): Set varying.
10099 (vrange::set_nonzero): Same.
10100 (vrange::set_zero): Same.
10101 (vrange::set_nonnegative): Same.
10102
10103 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10104
10105 * range-op-float.cc (foperator_equal::op1_range): Do not blindly
10106 copy op2 range when honoring signed zeros.
10107
10108 2022-08-26 Aldy Hernandez <aldyh@redhat.com>
10109
10110 * tree-ssa-threadbackward.cc (possibly_profitable_path_p): Always
10111 add newline.
10112 (profitable_path_p): Same.
10113
10114 2022-08-26 Richard Biener <rguenther@suse.de>
10115
10116 * gimple-predicate-analysis.h
10117 (uninit_analysis::use_cannot_happen): Remove.
10118 * gimple-predicate-analysis.cc (can_be_invalidated_p): Remove.
10119 (uninit_analysis::use_cannot_happen): Likewise.
10120 (uninit_analysis::is_use_guarded): Do not call
10121 use_cannot_happen.
10122 (dump_predicates): Remove.
10123 (simple_control_dep_chain): Remove edge overload.
10124
10125 2022-08-26 Tobias Burnus <tobias@codesourcery.com>
10126
10127 * internal-fn.cc (expand_GOMP_TARGET_REV): New.
10128 * internal-fn.def (GOMP_TARGET_REV): New.
10129 * lto-cgraph.cc (lto_output_node, verify_node_partition): Mark
10130 'omp target device_ancestor_host' as in_other_partition and don't
10131 error if absent.
10132 * omp-low.cc (create_omp_child_function): Mark as 'noclone'.
10133 * omp-expand.cc (expand_omp_target): For reverse offload, remove
10134 sorry, use device = GOMP_DEVICE_HOST_FALLBACK and create
10135 empty-body nohost function.
10136 * omp-offload.cc (execute_omp_device_lower): Handle
10137 IFN_GOMP_TARGET_REV.
10138 (pass_omp_target_link::execute): For ACCEL_COMPILER, don't
10139 nullify fn argument for reverse offload
10140
10141 2022-08-26 Jakub Jelinek <jakub@redhat.com>
10142
10143 * builtins.def (BUILT_IN_ISSIGNALING): New built-in.
10144 * builtins.cc (expand_builtin_issignaling): New function.
10145 (expand_builtin_signbit): Don't overwrite target.
10146 (expand_builtin): Handle BUILT_IN_ISSIGNALING.
10147 (fold_builtin_classify): Likewise.
10148 (fold_builtin_1): Likewise.
10149 * optabs.def (issignaling_optab): New.
10150 * fold-const-call.cc (fold_const_call_ss): Handle
10151 BUILT_IN_ISSIGNALING.
10152 * config/i386/i386.md (issignalingxf2): New expander.
10153 * doc/extend.texi (__builtin_issignaling): Document.
10154 (__builtin_isinf, __builtin_isnan): Clarify behavior with
10155 -ffinite-math-only.
10156 * doc/md.texi (issignaling<mode>2): Likewise.
10157
10158 2022-08-26 Jakub Jelinek <jakub@redhat.com>
10159
10160 PR tree-optimization/106099
10161 * internal-fn.def (TRAP): Add ECF_LOOPING_CONST_OR_PURE flag.
10162 * tree-cfg.cc (execute_fixup_cfg): Add IFN_TRAP instead of
10163 __builtin_trap to avoid the need of vops.
10164
10165 2022-08-26 Richard Biener <rguenther@suse.de>
10166
10167 * gimple-predicate-analysis.cc (dfs_mark_dominating_region):
10168 New helper.
10169 (compute_control_dep_chain): Adjust to honor marked region
10170 if provided.
10171 (uninit_analysis::init_from_phi_def): Pre-mark the dominating
10172 region to improve compute_control_dep_chain walking.
10173 * vec.h (vec<T, va_heap, vl_ptr>::allocated): Add forwarder.
10174
10175 2022-08-26 Richard Biener <rguenther@suse.de>
10176
10177 * gimple-predicate-analysis.cc
10178 (uninit_analysis::collect_phi_def_edges): Only expand a
10179 PHI def edge when it is possibly undefined.
10180
10181 2022-08-26 Martin Liska <mliska@suse.cz>
10182
10183 * doc/extend.texi: Remove cr16 related stuff.
10184 * doc/install.texi: Likewise.
10185 * doc/invoke.texi: Likewise.
10186 * doc/md.texi: Likewise.
10187 * function-tests.cc (test_expansion_to_rtl): Likewise.
10188 * common/config/cr16/cr16-common.cc: Removed.
10189 * config/cr16/constraints.md: Removed.
10190 * config/cr16/cr16-protos.h: Removed.
10191 * config/cr16/cr16.cc: Removed.
10192 * config/cr16/cr16.h: Removed.
10193 * config/cr16/cr16.md: Removed.
10194 * config/cr16/cr16.opt: Removed.
10195 * config/cr16/predicates.md: Removed.
10196 * config/cr16/t-cr16: Removed.
10197
10198 2022-08-26 liuhongt <hongtao.liu@intel.com>
10199
10200 PR target/106704
10201 * config/i386/i386-builtin.def (BDESC): Add
10202 CODE_FOR_avx_blendvpd256/CODE_FOR_avx_blendvps256 to
10203 corresponding builtins.
10204 * config/i386/i386.cc (ix86_gimple_fold_builtin):
10205 Don't fold IX86_BUILTIN_PBLENDVB256, IX86_BUILTIN_BLENDVPS256,
10206 IX86_BUILTIN_BLENDVPD256 w/o TARGET_AVX2.
10207
10208 2022-08-25 Marek Polacek <polacek@redhat.com>
10209
10210 * ginclude/stddef.h: Define nullptr_t.
10211
10212 2022-08-25 Joseph Myers <joseph@codesourcery.com>
10213
10214 * gimplify.cc (gimplify_modify_expr): Convert initialization from
10215 a variable-size CONSTRUCTOR to memset before call to
10216 gimplify_modify_expr_rhs.
10217
10218 2022-08-25 Jason Merrill <jason@redhat.com>
10219
10220 * dwarf2out.cc (base_type_die): Also use DW_ATE_UTF for char8_t.
10221
10222 2022-08-25 Andreas Krebbel <krebbel@linux.ibm.com>
10223
10224 PR target/106101
10225 * config/s390/predicates.md (subreg_register_operand): New
10226 predicate.
10227 * config/s390/s390-protos.h (s390_gen_lowpart_subreg): New
10228 function prototype.
10229 * config/s390/s390.cc (s390_gen_lowpart_subreg): New function.
10230 (s390_expand_insv): Use s390_gen_lowpart_subreg instead of
10231 gen_lowpart.
10232 * config/s390/s390.md ("*get_tp_64", "*zero_extendhisi2_31")
10233 ("*zero_extendqisi2_31", "*zero_extendqihi2_31"): Likewise.
10234 ("movstrictqi", "movstricthi", "movstrictsi"): Use the
10235 subreg_register_operand predicate instead of register_operand.
10236
10237 2022-08-25 Xi Ruoyao <xry111@xry111.site>
10238
10239 * config/loongarch/loongarch-protos.h (loongarch_symbol_type):
10240 Add SYMBOL_PCREL64 and change the description for SYMBOL_PCREL.
10241 * config/loongarch/loongarch.cc (loongarch_attribute_table):
10242 New attribute table.
10243 (TARGET_ATTRIBUTE_TABLE): Define the target hook.
10244 (loongarch_handle_model_attribute): New static function.
10245 (loongarch_classify_symbol): Take TARGET_CMODEL_EXTREME and the
10246 model attribute of SYMBOL_REF_DECL into account returning
10247 SYMBOL_PCREL or SYMBOL_PCREL64.
10248 (loongarch_use_anchors_for_symbol_p): New static function.
10249 (TARGET_USE_ANCHORS_FOR_SYMBOL_P): Define the target hook.
10250 (loongarch_symbol_extreme_p): New static function.
10251 (loongarch_symbolic_constant_p): Handle SYMBOL_PCREL64.
10252 (loongarch_symbol_insns): Likewise.
10253 (loongarch_split_symbol_type): Likewise.
10254 (loongarch_split_symbol): Check SYMBOL_PCREL64 instead of
10255 TARGET_CMODEL_EXTREME for PC-relative addressing.
10256 (loongarch_print_operand_reloc): Likewise.
10257 * doc/extend.texi (Variable Attributes): Document new
10258 LoongArch specific attribute.
10259
10260 2022-08-25 Xi Ruoyao <xry111@xry111.site>
10261
10262 * config/loongarch/loongarch.cc (loongarch_classify_symbol):
10263 Return early if the rtx is not SYMBOL_REF.
10264
10265 2022-08-25 Richard Biener <rguenther@suse.de>
10266
10267 PR tree-optimization/106737
10268 * tree-parloops.cc (transform_to_exit_first_loop_alt): Do not
10269 verify SSA form.
10270
10271 2022-08-25 Chenghua Xu <xuchenghua@loongson.cn>
10272
10273 PR target/106459
10274 * config/loongarch/loongarch.cc (loongarch_build_integer):
10275 Use HOST_WIDE_INT.
10276 * config/loongarch/loongarch.h (IMM_REACH): Likewise.
10277 (HWIT_1U): New Defined.
10278 (LU12I_OPERAND): Use HOST_WIDE_INT.
10279 (LU32I_OPERAND): Likewise.
10280 (LU52I_OPERAND): Likewise.
10281 (HWIT_UC_0xFFF): Likwise.
10282
10283 2022-08-24 Andrew Pinski <apinski@marvell.com>
10284
10285 PR target/106632
10286 PR target/106588
10287 * config/riscv/bitmanip.md (*shNadduw): Use n constraint
10288 instead of i.
10289 (*slliuw): Likewise.
10290 (*bexti): Likewise. Also add a check for operands[2] to be less
10291 than the mode bitsize.
10292
10293 2022-08-24 Andrew Pinski <apinski@marvell.com>
10294
10295 * config/riscv/constraints.md (DbS): New constraint.
10296 (DnS): New constraint.
10297 * config/riscv/bitmanip.md (*bset<mode>_1_mask): Use new constraint.
10298 (*bclr<mode>): Likewise.
10299 (*binvi<mode>): Likewise.
10300
10301 2022-08-24 Andrew Pinski <apinski@marvell.com>
10302
10303 PR target/106586
10304 * config/riscv/predicates.md (single_bit_mask_operand):
10305 Use SINGLE_BIT_MASK_OPERAND instead of directly calling pow2p_hwi.
10306 (not_single_bit_mask_operand): Likewise.
10307 * config/riscv/riscv.cc (riscv_build_integer_1): Don't special case
10308 1<<31 for 32bits as it is already handled.
10309 Call trunc_int_for_mode on the upper part after the subtraction.
10310 (riscv_move_integer): Call trunc_int_for_mode before generating
10311 the integer just make sure the constant has been sign extended
10312 corectly.
10313 (riscv_emit_int_compare): Call trunc_int_for_mode after doing the
10314 addition for the new rhs.
10315 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): If !TARGET64BIT,
10316 then mask off the upper 32bits of the HWI as it will be sign extended.
10317
10318 2022-08-24 Andrew Pinski <apinski@marvell.com>
10319
10320 * config/riscv/constraints.md (DsS): New constraint.
10321 (DsD): New constraint.
10322 * config/riscv/iterators.md (shiftm1c): New iterator.
10323 * config/riscv/bitmanip.md (*bset<mode>_mask):
10324 Use shiftm1c.
10325 (*bset<mode>_1_mask): Likewise.
10326
10327 2022-08-24 Andrew Pinski <apinski@marvell.com>
10328
10329 * config/riscv/constraints.md (Ds3): New constraint.
10330 * config/riscv/predicates.md (imm123_operand): New predicate.
10331 * config/riscv/bitmanip.md (*shNadd): Use Ds3 and imm123_operand.
10332 (*shNadduw): Likewise.
10333
10334 2022-08-24 Andrew Pinski <apinski@marvell.com>
10335
10336 * config/riscv/riscv.cc (riscv_print_operand):
10337 Handle '~'.
10338 (riscv_print_operand_punct_valid_p): New function
10339 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
10340 * config/riscv/bitmanip.md (<bitmanip_optab>si2/clz_ctz_pcnt):
10341 Use %~ instead of conditional the pattern on TARGET_64BIT.
10342 (rotrsi3): Likewise.
10343 (rotlsi3): Likewise.
10344 * config/riscv/riscv.md: Add ~ to the list of modifiers.
10345 (addsi3): Use %~ instead of conditional the pattern on TARGET_64BIT.
10346 (subsi3): Likewise.
10347 (negsi2): Likewise.
10348 (mulsi3): Likewise.
10349 (optab>si3/any_div): Likewise.
10350 (*add<mode>hi3): Likewise.
10351 (<optab>si3/any_shift): Likewise.
10352
10353 2022-08-24 Andrew Pinski <apinski@marvell.com>
10354
10355 * config/riscv/riscv.cc (riscv_print_operand): Make a mention to
10356 keep the list in riscv.md in sync with this list.
10357 * config/riscv/riscv.md: Add list of modifiers as comments.
10358
10359 2022-08-24 Andrew Pinski <apinski@marvell.com>
10360
10361 * config/riscv/sync.md (any_atomic, atomic_optab): Move to ...
10362 * config/riscv/iterators.md: Here.
10363
10364 2022-08-24 Andrew Pinski <apinski@marvell.com>
10365
10366 * config/riscv/bitmanip.md
10367 (bitmanip_bitwise, bitmanip_minmax, clz_ctz_pcna,
10368 tbitmanip_optab, bitmanip_insn, shiftm1): Move to ...
10369 * config/riscv/iterators.md: Here.
10370
10371 2022-08-24 Andrew Pinski <apinski@marvell.com>
10372
10373 * config/riscv/riscv.md (GPR): Move to new file.
10374 (P, X, BR): Likewise.
10375 (MOVE32, MOVE64, SHORT): Likewise.
10376 (HISI, SUPERQI, SUBX): Likewise.
10377 (ANYI, ANYF, SOFTF): Likewise.
10378 (size, load, default_load): Likewise.
10379 (softload, store, softstore): Likewise.
10380 (reg, fmt, ifmt, amo): Likewise.
10381 (UNITMODE, HALFMODE): Likewise.
10382 (RINT, rint_pattern, rint_rm): Likewise.
10383 (QUIET_COMPARISON, quiet_pattern, QUIET_PATTERN): Likewise.
10384 (any_extend, any_shiftrt, any_shift): Likewise.
10385 (any_bitwise): Likewise.
10386 (any_div, any_mod): Likewise.
10387 (any_gt, any_ge, any_lt, any_le): Likewise.
10388 (u, su): Likewise.
10389 (optab, insn): Likewise.
10390 * config/riscv/iterators.md: New file.
10391
10392 2022-08-24 Andrew Pinski <apinski@marvell.com>
10393
10394 PR target/106601
10395 * config/riscv/bitmanip.md (bswaphi2): New pattern.
10396
10397 2022-08-24 Andrew Pinski <apinski@marvell.com>
10398
10399 PR target/106600
10400 * config/riscv/bitmanip.md (bswap<mode>2): Remove
10401 condition on TARGET_64BIT as X is already conditional there.
10402
10403 2022-08-24 Joseph Myers <joseph@codesourcery.com>
10404
10405 * tree.cc (build_real): Give DFP dconst0 the minimum quantum
10406 exponent for the type.
10407
10408 2022-08-24 Jose E. Marchesi <jose.marchesi@oracle.com>
10409
10410 PR target/106733
10411 * config/bpf/bpf.cc (bpf_legitimate_address_p): Recognize integer
10412 constants as legitimate addresses for functions.
10413 (bpf_small_register_classes_for_mode_p): Define target hook.
10414
10415 2022-08-24 Richard Biener <rguenther@suse.de>
10416
10417 * gimple-predicate-analysis.cc: Move predicate normalization
10418 after the comment documenting it.
10419
10420 2022-08-24 Richard Biener <rguenther@suse.de>
10421
10422 * gimple-predicate-analysis.h (predicate): Split out
10423 non-predicate related functionality into ..
10424 (uninit_analysis): .. this new class.
10425 * gimple-predicate-analysis.cc: Refactor into two classes.
10426 * tree-ssa-uninit.cc (find_uninit_use): Use uninit_analysis.
10427
10428 2022-08-24 Richard Biener <rguenther@suse.de>
10429
10430 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10431 Do simple_control_dep_chain only up to cd_root, add the PHI
10432 operand edge to the chains like init_from_phi_def does.
10433 (predicate::is_use_guarded): Speedup early out, avoid half-way
10434 initializing the PHI def predicate.
10435
10436 2022-08-24 Jakub Jelinek <jakub@redhat.com>
10437
10438 PR target/106721
10439 * config/i386/sse.md (shuffletype): Add V32BF, V16BF and V8BF entries.
10440 Change V32HF, V16HF and V8HF entries from "f" to "i".
10441 (iptr): Add V32BF, V16BF, V8BF and BF entries.
10442 (i128vldq): Add V16HF and V16BF entries.
10443 (avx512er_vmrcp28<mode><mask_name><round_saeonly_name>): Fix typo,
10444 mask_opernad3 -> mask_operand3.
10445
10446 2022-08-24 Martin Liska <mliska@suse.cz>
10447 Jørgen Kvalsvik <j@lambda.is>
10448
10449 * gcov.cc (add_line_counts): Add group functions to coverage
10450 summary.
10451 (accumulate_line_counts): Similarly for files.
10452
10453 2022-08-24 Lulu Cheng <chenglulu@loongson.cn>
10454
10455 * config/loongarch/genopts/loongarch-strings: Support code model medium.
10456 * config/loongarch/genopts/loongarch.opt.in: Likewise.
10457 * config/loongarch/loongarch-def.c: Likewise.
10458 * config/loongarch/loongarch-def.h (CMODEL_LARGE): Likewise.
10459 (CMODEL_EXTREME): Likewise.
10460 (N_CMODEL_TYPES): Likewise.
10461 (CMODEL_MEDIUM): Likewise.
10462 * config/loongarch/loongarch-opts.cc: Likewise.
10463 * config/loongarch/loongarch-opts.h (TARGET_CMODEL_MEDIUM): Likewise.
10464 * config/loongarch/loongarch-str.h (STR_CMODEL_MEDIUM): Likewise.
10465 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10466 Tls symbol Loading support medium mode.
10467 (loongarch_legitimize_call_address): When medium mode, make a symbolic
10468 jump with two instructions.
10469 (loongarch_option_override_internal): Support medium.
10470 * config/loongarch/loongarch.md (@pcalau12i<mode>): New template.
10471 (@sibcall_internal_1<mode>): New function call templates added to support
10472 medium mode.
10473 (@sibcall_value_internal_1<mode>): Likewise.
10474 (@sibcall_value_multiple_internal_1<mode>): Likewise.
10475 (@call_internal_1<mode>): Likewise.
10476 (@call_value_internal_1<mode>): Likewise.
10477 (@call_value_multiple_internal_1<mode>): Likewise.
10478 * config/loongarch/loongarch.opt: Support medium.
10479 * config/loongarch/predicates.md: Add processing about medium mode.
10480 * doc/invoke.texi: Document for '-mcmodel=medium'.
10481
10482 2022-08-24 Richard Biener <rguenther@suse.de>
10483
10484 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10485 Start the compute_control_dep_chain walk from the immediate
10486 dominator of the PHI.
10487
10488 2022-08-23 H.J. Lu <hjl.tools@gmail.com>
10489
10490 PR target/106714
10491 * config/i386/amxtileintrin.h (_tile_loadd_internal): Cast to
10492 __PTRDIFF_TYPE__.
10493 (_tile_stream_loadd_internal): Likewise.
10494 (_tile_stored_internal): Likewise.
10495
10496 2022-08-23 Richard Biener <rguenther@suse.de>
10497
10498 PR tree-optimization/106722
10499 * gimple-predicate-analysis.h (MAX_NUM_CHAINS, MAX_CHAIN_LEN,
10500 MAX_POSTDOM_CHECK, MAX_SWITCH_CASES): Move ...
10501 * gimple-predicate-analysis.cc: ... here and document.
10502 (simple_control_dep_chain): New function, factored from
10503 predicate::use_cannot_happen.
10504 (predicate::use_cannot_happen): Adjust.
10505 (predicate::predicate): Use simple_control_dep_chain as fallback.
10506
10507 2022-08-23 Aldy Hernandez <aldyh@redhat.com>
10508
10509 * range-op-float.cc (foperator_equal::op1_range): Set range to
10510 range of op2.
10511
10512 2022-08-23 Richard Biener <rguenther@suse.de>
10513
10514 * gimple-predicate-analysis.cc (is_loop_exit): Split out
10515 from ...
10516 (is_non_loop_exit_postdominating): ... here. Remove after
10517 inlining ...
10518 (find_control_equiv_block): ... here.
10519 (compute_control_dep_chain): ... and here.
10520 (predicate::is_use_guarded): Do not excempt loop exits
10521 from short-cutting the case of the use post-dominating the
10522 PHI definition.
10523
10524 2022-08-23 Andrew MacLeod <amacleod@redhat.com>
10525
10526 PR tree-optimization/106687
10527 * range-op.cc (operator_minus::lhs_op1_relation): Return VREL_LE
10528 for the VREL_GT case as well.
10529
10530 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10531
10532 * config/pru/pru.md (pru_<code>di3): New alternative for
10533 two operands but without earlyclobber.
10534
10535 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10536
10537 * config/pru/pru.md (prumov<mode>, mov<mode>): Add
10538 variants for loading -1 consts.
10539
10540 2022-08-22 Dimitar Dimitrov <dimitar@dinux.eu>
10541
10542 PR target/106564
10543 * config/pru/constraints.md (Um): New constraint for -1.
10544 (Uf): New constraint for IOR fill-bytes constants.
10545 (Uz): New constraint for AND zero-bytes constants.
10546 * config/pru/predicates.md (const_fillbytes_operand): New
10547 predicate for IOR fill-bytes constants.
10548 (const_zerobytes_operand): New predicate for AND zero-bytes
10549 constants.
10550 * config/pru/pru-protos.h (pru_output_sign_extend): Remove.
10551 (struct pru_byterange): New struct to describe a byte range.
10552 (pru_calc_byterange): New declaration.
10553 * config/pru/pru.cc (pru_rtx_costs): Add penalty for
10554 64-bit zero-extend.
10555 (pru_output_sign_extend): Remove.
10556 (pru_calc_byterange): New helper function to extract byte
10557 range info from a constant.
10558 (pru_print_operand): Remove 'y' and 'z' print modifiers.
10559 * config/pru/pru.md (zero_extendqidi2): New pattern.
10560 (zero_extendhidi2): New pattern.
10561 (zero_extendsidi2): New pattern.
10562 (extend<EQS0:mode><EQD:mode>2): Rewrite as an expand.
10563 (@pru_ior_fillbytes<mode>): New pattern.
10564 (@pru_and_zerobytes<mode>): New pattern.
10565 (<code>di3): Rewrite as an expand and handle ZERO and FILL
10566 special cases.
10567 (pru_<code>di3): New name for <code>di3.
10568 (@cbranch_qbbx_const_<BIT_TEST:code><HIDI:mode>): New pattern to
10569 handle bit-test for 64-bit registers.
10570
10571 2022-08-22 Richard Biener <rguenther@suse.de>
10572
10573 * gimple-predicate-analysis.h (predicate::m_use_expr): Remove.
10574 (predicate::def_expr): Likewise.
10575 (predicate::use_expr): Likewise.
10576 (predicate::expr): Likewise.
10577 * gimple-predicate-analysis.cc (predicate::def_expr): Remove.
10578 (predicate::use_expr): Likewise.
10579 (predicate::expr): Likewise.
10580 (predicate::is_use_guarded): Do not build m_use_expr.
10581
10582 2022-08-22 Martin Liska <mliska@suse.cz>
10583
10584 PR lto/106700
10585 * configure.ac: Detect O_NONBLOCK flag for open.
10586 * config.in: Regenerate.
10587 * configure: Regenerate.
10588 * opts-common.cc (jobserver_info::connect): Set is_connected
10589 properly based on O_NONBLOCK.
10590 * opts-jobserver.h (struct jobserver_info): Add is_connected
10591 member variable.
10592
10593 2022-08-22 zhongjuzhe <juzhe.zhong@rivai.ai>
10594
10595 * simplify-rtx.cc (test_vector_subregs_fore_back): Make first value
10596 and repeat value different.
10597
10598 2022-08-22 Tobias Burnus <tobias@codesourcery.com>
10599
10600 PR lto/106686
10601 * lto-wrapper.cc (free_array_of_ptrs): Move before tool_cleanup.
10602 (tool_cleanup): Unlink offload_names.
10603 (compile_offload_image): Take filename argument to set it early.
10604 (compile_images_for_offload_targets): Update call; set
10605 offload_names to NULL after freeing the array.
10606
10607 2022-08-22 Richard Biener <rguenther@suse.de>
10608
10609 PR tree-optimization/105937
10610 * tree-ssa-uninit.cc (find_uninit_use): Do not queue PHIs
10611 on backedges.
10612 (execute_late_warn_uninitialized): Mark backedges.
10613
10614 2022-08-22 Richard Biener <rguenther@suse.de>
10615
10616 * gimple-predicate-analysis.cc (predicate::use_cannot_happen):
10617 If the use is guarded with multiple predicate paths compute
10618 the predicates intersection before going forward. When
10619 compute_control_dep_chain wasn't able to come up with at
10620 least one path from function entry to the PHI edge compute
10621 a conservative sparse path instead.
10622
10623 2022-08-20 Lulu Cheng <chenglulu@loongson.cn>
10624
10625 * config/loongarch/loongarch-opts.cc: Allow cmodel to be extreme.
10626 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10627 Add extreme support for TLS GD and LD types.
10628 (loongarch_legitimize_tls_address): Add extreme support for TLS LE
10629 and IE.
10630 (loongarch_split_symbol): When compiling with -mcmodel=extreme,
10631 the symbol address will be obtained through five instructions.
10632 (loongarch_print_operand_reloc): Add support.
10633 (loongarch_print_operand): Add support.
10634 (loongarch_print_operand_address): Add support.
10635 (loongarch_option_override_internal): Set '-mcmodel=extreme' option
10636 incompatible with '-mno-explicit-relocs'.
10637 * config/loongarch/loongarch.md (@lui_l_hi20<mode>):
10638 Loads bits 12-31 of data into registers.
10639 (lui_h_lo20): Load bits 32-51 of the data and spell bits 0-31 of
10640 the source register.
10641 (lui_h_hi12): Load bits 52-63 of the data and spell bits 0-51 of
10642 the source register.
10643 * config/loongarch/predicates.md: Symbols need to be decomposed
10644 when defining the macro TARGET_CMODEL_EXTREME
10645 * doc/invoke.texi: Modify the description information of cmodel in the document.
10646 Document -W[no-]extreme-plt.
10647
10648 2022-08-19 Tobias Burnus <tobias@codesourcery.com>
10649
10650 * config/gcn/mkoffload.cc (main): Add omp_requires_file and dbgobj to
10651 files_to_cleanup.
10652 * config/i386/intelmic-mkoffload.cc (prepare_target_image): Add
10653 omp_requires_file to temp_files.
10654 * config/nvptx/mkoffload.cc (omp_requires_file): New global static var.
10655 (main): Remove local omp_requires_file var.
10656 (tool_cleanup): Handle omp_requires_file.
10657
10658 2022-08-19 Aldy Hernandez <aldyh@redhat.com>
10659
10660 * gimple-range-path.cc (path_range_query::path_range_query):
10661 Remove constructor that takes edge.
10662 * gimple-range-path.h (class path_range_query): Same.
10663 * tree-ssa-loop-ch.cc (edge_range_query): New.
10664 (entry_loop_condition_is_static): Call edge_range_query.
10665
10666 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10667
10668 * config/xtensa/xtensa.h
10669 (enum reg_class, REG_CLASS_NAMES, REG_CLASS_CONTENTS):
10670 Add new register class "ISC_REGS".
10671 * config/xtensa/constraints.md (c): Add new register constraint.
10672 * config/xtensa/xtensa.md (define_constants): Remove "A11_REG".
10673 (sibcall_internal, sibcall_value_internal):
10674 Change to use the new register constraint, and remove two split
10675 patterns for fixups that are no longer needed.
10676
10677 2022-08-18 Maciej W. Rozycki <macro@embecosm.com>
10678
10679 * config/riscv/riscv.md (*mov<GPR:mode><X:mode>cc): Fix output
10680 pattern formatting.
10681
10682 2022-08-18 Tim Lange <mail@tim-lange.me>
10683
10684 PR analyzer/106181
10685 * doc/invoke.texi: Add Wanalyzer-imprecise-fp-arithmetic.
10686
10687 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
10688
10689 * gimple-range-path.cc (path_range_query::path_range_query): Add
10690 various constructors to take a path.
10691 (path_range_query::~path_range_query): Remove m_alloced_ranger.
10692 (path_range_query::range_on_path_entry): Adjust for m_ranger being
10693 a reference.
10694 (path_range_query::set_path): Rename to...
10695 (path_range_query::reset_path): ...this and call compute_ranges.
10696 (path_range_query::ssa_range_in_phi): Adjust for m_ranger
10697 reference.
10698 (path_range_query::range_defined_in_block): Same.
10699 (path_range_query::compute_ranges_in_block): Same.
10700 (path_range_query::adjust_for_non_null_uses): Same.
10701 (path_range_query::compute_exit_dependencies): Use m_path instead
10702 of argument.
10703 (path_range_query::compute_ranges): Remove path argument.
10704 (path_range_query::range_of_stmt): Adjust for m_ranger reference.
10705 (path_range_query::compute_outgoing_relations): Same.
10706 * gimple-range-path.h (class path_range_query): Add various
10707 constructors.
10708 Make compute_ranges and compute_exit_dependencies private.
10709 Rename set_path to reset_path.
10710 Make m_ranger a reference.
10711 Remove m_alloced_ranger.
10712 * tree-ssa-dom.cc (pass_dominator::execute): Adjust constructor to
10713 path_range_query.
10714 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Take a
10715 ranger and instantiate a new path_range_query every time.
10716 (ch_base::copy_headers): Pass ranger instead of path_range_query.
10717 * tree-ssa-threadbackward.cc (class back_threader): Remove m_solver.
10718 (back_threader::~back_threader): Remove m_solver.
10719 (back_threader::find_taken_edge_switch): Adjust for m_ranger
10720 reference.
10721 (back_threader::find_taken_edge_cond): Same.
10722 (back_threader::dump): Remove m_solver.
10723 (back_threader::back_threader): Move verify_marked_backedges
10724 here from the path_range_query constructor.
10725 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Move
10726 some code from compute_ranges_from_state here.
10727 (hybrid_jt_simplifier::compute_ranges_from_state): Rename...
10728 (hybrid_jt_simplifier::compute_exit_dependencies): ...to this.
10729 * tree-ssa-threadedge.h (class hybrid_jt_simplifier): Rename
10730 compute_ranges_from_state to compute_exit_dependencies.
10731 Remove m_path.
10732
10733 2022-08-18 Richard Biener <rguenther@suse.de>
10734
10735 PR middle-end/106617
10736 * match.pd ((a ? b : c) > d -> a ? (b > d) : (c > d)): Fix
10737 guard, disable on GENERIC to not cause quadratic behavior
10738 with the fold-const.cc implementation and the use of !
10739
10740 2022-08-18 Andrew Pinski <apinski@marvell.com>
10741
10742 PR gcov-profile/106659
10743 * gcov-dump.cc (INCLUDE_VECTOR): Include vector.h with
10744 INCLUDE_VECTOR.
10745
10746 2022-08-18 konglin1 <lingling.kong@intel.com>
10747
10748 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Handle vector
10749 BFmode.
10750 (ix86_expand_vector_init_duplicate): Support vector BFmode.
10751 (ix86_expand_vector_init_one_nonzero): Ditto.
10752 (ix86_expand_vector_init_one_var): Ditto.
10753 (ix86_expand_vector_init_concat): Ditto.
10754 (ix86_expand_vector_init_interleave): Ditto.
10755 (ix86_expand_vector_init_general): Ditto.
10756 (ix86_expand_vector_init): Ditto.
10757 (ix86_expand_vector_set_var): Ditto.
10758 (ix86_expand_vector_set): Ditto.
10759 (ix86_expand_vector_extract): Ditto.
10760 * config/i386/i386.cc (classify_argument): Add BF vector modes.
10761 (function_arg_64): Ditto.
10762 (ix86_gimplify_va_arg): Ditto.
10763 (ix86_get_ssemov): Ditto.
10764 * config/i386/i386.h (VALID_AVX256_REG_MODE): Add BF vector modes.
10765 (VALID_AVX512F_REG_MODE): Ditto.
10766 (host_detect_local_cpu): Ditto.
10767 (VALID_SSE2_REG_MODE): Ditto.
10768 * config/i386/i386.md: Add BF vector modes.
10769 (MODE_SIZE): Ditto.
10770 (ssemodesuffix): Add bf suffix for BF vector modes.
10771 (ssevecmode): Ditto.
10772 * config/i386/sse.md (VMOVE): Adjust for BF vector modes.
10773 (VI12HFBF_AVX512VL): Ditto.
10774 (V_256_512): Ditto.
10775 (VF_AVX512HFBF16): Ditto.
10776 (VF_AVX512BWHFBF16): Ditto.
10777 (VIHFBF): Ditto.
10778 (avx512): Ditto.
10779 (VIHFBF_256): Ditto.
10780 (VIHFBF_AVX512BW): Ditto.
10781 (VI2F_256_512):Ditto.
10782 (V8_128):Ditto.
10783 (V16_256): Ditto.
10784 (V32_512): Ditto.
10785 (sseinsnmode): Ditto.
10786 (sseconstm1): Ditto.
10787 (sseintmodesuffix): New mode_attr.
10788 (avx512fmaskmode): Ditto.
10789 (avx512fmaskmodelower): Ditto.
10790 (ssedoublevecmode): Ditto.
10791 (ssehalfvecmode): Ditto.
10792 (ssehalfvecmodelower): Ditto.
10793 (ssescalarmode): Add vector BFmode mapping.
10794 (ssescalarmodelower): Ditto.
10795 (ssexmmmode): Ditto.
10796 (ternlogsuffix): Ditto.
10797 (ssescalarsize): Ditto.
10798 (sseintprefix): Ditto.
10799 (i128): Ditto.
10800 (xtg_mode): Ditto.
10801 (bcstscalarsuff): Ditto.
10802 (<avx512>_blendm<mode>): New define_insn for BFmode.
10803 (<avx512>_store<mode>_mask): Ditto.
10804 (vcond_mask_<mode><avx512fmaskmodelower>): Ditto.
10805 (vec_set<mode>_0): New define_insn for BF vector set.
10806 (V8BFH_128): New mode_iterator for BFmode.
10807 (avx512fp16_mov<mode>): Ditto.
10808 (vec_set<mode>): New define_insn for BF vector set.
10809 (@vec_extract_hi_<mode>): Ditto.
10810 (@vec_extract_lo_<mode>): Ditto.
10811 (vec_set_hi_<mode>): Ditto.
10812 (vec_set_lo_<mode>): Ditto.
10813 (*vec_extract<mode>_0): New define_insn_and_split for BF
10814 vector extract.
10815 (*vec_extract<mode>): New define_insn.
10816 (VEC_EXTRACT_MODE): Add BF vector modes.
10817 (PINSR_MODE): Add V8BF.
10818 (sse2p4_1): Ditto.
10819 (pinsr_evex_isa): Ditto.
10820 (<sse2p4_1>_pinsr<ssemodesuffix>): Adjust to support
10821 insert for V8BFmode.
10822 (pbroadcast_evex_isa): Add BF vector modes.
10823 (AVX2_VEC_DUP_MODE): Ditto.
10824 (VEC_INIT_MODE): Ditto.
10825 (VEC_INIT_HALF_MODE): Ditto.
10826 (avx2_pbroadcast<mode>): Adjust to support BF vector mode
10827 broadcast.
10828 (avx2_pbroadcast<mode>_1): Ditto.
10829 (<avx512>_vec_dup<mode>_1): Ditto.
10830 (<mask_codefor><avx512>_vec_dup_gpr<mode><mask_name>):
10831 Ditto.
10832
10833 2022-08-18 Martin Liska <mliska@suse.cz>
10834
10835 * configure: Regenerate.
10836
10837 2022-08-18 Haochen Gui <guihaoc@gcc.gnu.org>
10838
10839 PR target/103109
10840 * config/rs6000/rs6000.md (<u>maddditi4): New pattern for multiply-add.
10841 (<u>madddi4_highpart): New.
10842 (<u>madddi4_highpart_le): New.
10843
10844 2022-08-18 Aldy Hernandez <aldyh@redhat.com>
10845
10846 * gimple-range-path.cc
10847 (path_range_query::compute_exit_dependencies): Use
10848 gimple_range_ssa_names.
10849
10850 2022-08-18 zhongjuzhe <juzhe.zhong@rivai.ai>
10851
10852 * config/riscv/predicates.md: Adjust runtime invariant.
10853 * config/riscv/riscv-modes.def (MAX_BITSIZE_MODE_ANY_MODE): New.
10854 (NUM_POLY_INT_COEFFS): New.
10855 * config/riscv/riscv-protos.h (riscv_initial_elimination_offset):Adjust
10856 runtime invariant.
10857 * config/riscv/riscv-sr.cc (riscv_remove_unneeded_save_restore_calls):
10858 Adjust runtime invariant.
10859 * config/riscv/riscv.cc (struct riscv_frame_info): Adjust runtime
10860 invariant.
10861 (enum riscv_microarchitecture_type): Ditto.
10862 (riscv_valid_offset_p): Ditto.
10863 (riscv_valid_lo_sum_p): Ditto.
10864 (riscv_address_insns): Ditto.
10865 (riscv_load_store_insns): Ditto.
10866 (riscv_legitimize_move): Ditto.
10867 (riscv_binary_cost): Ditto.
10868 (riscv_rtx_costs): Ditto.
10869 (riscv_output_move): Ditto.
10870 (riscv_extend_comparands): Ditto.
10871 (riscv_flatten_aggregate_field): Ditto.
10872 (riscv_get_arg_info): Ditto.
10873 (riscv_pass_by_reference): Ditto.
10874 (riscv_elf_select_rtx_section): Ditto.
10875 (riscv_stack_align): Ditto.
10876 (riscv_compute_frame_info): Ditto.
10877 (riscv_initial_elimination_offset): Ditto.
10878 (riscv_set_return_address): Ditto.
10879 (riscv_for_each_saved_reg): Ditto.
10880 (riscv_first_stack_step): Ditto.
10881 (riscv_expand_prologue): Ditto.
10882 (riscv_expand_epilogue): Ditto.
10883 (riscv_can_use_return_insn): Ditto.
10884 (riscv_secondary_memory_needed): Ditto.
10885 (riscv_hard_regno_nregs): Ditto.
10886 (riscv_convert_vector_bits): New.
10887 (riscv_option_override): Adjust runtime invariant.
10888 (riscv_promote_function_mode): Ditto.
10889 * config/riscv/riscv.h (POLY_SMALL_OPERAND_P): New.
10890 (BITS_PER_RISCV_VECTOR): New.
10891 (BYTES_PER_RISCV_VECTOR): New.
10892 * config/riscv/riscv.md: Adjust runtime invariant.
10893
10894 2022-08-18 Lulu Cheng <chenglulu@loongson.cn>
10895
10896 * config/loongarch/loongarch.cc (loongarch_call_tls_get_addr):
10897 Get __tls_get_addr address through got table when disable plt.
10898
10899 2022-08-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
10900
10901 * config/xtensa/xtensa.cc (xtensa_expand_prologue):
10902 Use an "addmi" machine instruction for updating the stack pointer
10903 rather than addition/subtraction via hard register A9, if the amount
10904 of change satisfies the literal value conditions of that instruction
10905 when the CALL0 ABI is used.
10906 (xtensa_expand_epilogue): Ditto.
10907 And also inhibit the stack pointer addition of constant zero.
10908
10909 2022-08-17 Roger Sayle <roger@nextmovesoftware.com>
10910
10911 PR target/106640
10912 * config/i386/i386-features.cc
10913 (timde_scalar_chain::compute_convert_gain): Replace incorrect use
10914 of XINT with INTVAL (XEXP (src, 1)).
10915
10916 2022-08-17 Aldy Hernandez <aldyh@redhat.com>
10917
10918 * gimple-range-path.cc
10919 (path_range_query::compute_ranges_in_block): Remove
10920 set_root_oracle call.
10921 (path_range_query::compute_ranges): Pass ranger oracle to
10922 reset_path.
10923 * value-relation.cc (path_oracle::reset_path): Set root oracle.
10924 * value-relation.h (path_oracle::reset_path): Add root oracle
10925 argument.
10926
10927 2022-08-17 Marek Polacek <polacek@redhat.com>
10928
10929 PR c++/89780
10930 * diagnostic-spec.cc (nowarn_spec_t::nowarn_spec_t): Handle
10931 OPT_Wpessimizing_move and OPT_Wredundant_move.
10932 * diagnostic-spec.h (nowarn_spec_t): Add NW_REDUNDANT enumerator.
10933
10934 2022-08-17 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
10935 Jakub Jelinek <jakub@redhat.com>
10936
10937 PR fortran/46539
10938 * common.opt (static-libquadmath): New option.
10939 * gcc.cc (driver_handle_option): Always accept -static-libquadmath.
10940 * config/darwin.h (LINK_SPEC): Handle -static-libquadmath.
10941
10942 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
10943
10944 * lto-cgraph.cc (input_offload_tables): Improve requires diagnostic
10945 when filenames come out identically.
10946
10947 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
10948
10949 PR middle-end/106548
10950 * omp-low.cc (lower_rec_input_clauses): Use build_outer_var_ref
10951 for 'simd' linear-step values that are variable.
10952
10953 2022-08-17 Tobias Burnus <tobias@codesourcery.com>
10954 Chung-Lin Tang <cltang@codesourcery.com>
10955
10956 PR c++/104493
10957 * gimplify.cc (omp_notice_variable): Call omp_mappable_type
10958 instead of removed langhook.
10959 * omp-general.h (omp_mappable_type): New prototype.
10960 * omp-general.cc (omp_mappable_type): New; moved from ...
10961 * langhooks.cc (lhd_omp_mappable_type): ... here.
10962 * langhooks-def.h (lhd_omp_mappable_type,
10963 LANG_HOOKS_OMP_MAPPABLE_TYPE): Remove.
10964 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Remote the latter.
10965 * langhooks.h (struct lang_hooks_for_types): Remove
10966 omp_mappable_type.
10967
10968 2022-08-17 Christophe Lyon <christophe.lyon@arm.com>
10969
10970 * config.gcc (arm): Define with_float to hard if target name ends
10971 with 'hf'.
10972
10973 2022-08-17 Richard Biener <rguenther@suse.de>
10974
10975 * tree-ssa-threadbackward.cc
10976 (back_threader_profitability): Split profitable_path_p
10977 into possibly_profitable_path_p and itself, keep state
10978 as new members.
10979 (back_threader::m_profit): Remove.
10980 (back_threader::find_paths): Likewise.
10981 (back_threader::maybe_register_path): Take profitability
10982 instance as parameter.
10983 (back_threader::find_paths_to_names): Likewise. Use
10984 possibly_profitable_path_p and avoid the path range query
10985 when the path is currently too large.
10986 (back_threader::find_paths): Fold into ...
10987 (back_threader::maybe_thread_block): ... this.
10988 (get_gimple_control_stmt): Remove.
10989 (back_threader_profitability::possibly_profitable_path_p):
10990 Split out from profitable_path_p, do early profitability
10991 checks.
10992 (back_threader_profitability::profitable_path_p): Do final
10993 profitability path after the taken edge has been determined.
10994
10995 2022-08-17 Xi Ruoyao <xry111@xry111.site>
10996
10997 * config/loongarch/loongarch.md (fmax<mode>3): New RTL pattern.
10998 (fmin<mode>3): Likewise.
10999
11000 2022-08-17 Andrew MacLeod <amacleod@redhat.com>
11001
11002 * gimple-range-fold.cc (gimple_range_ssa_names): New.
11003 * gimple-range-fold.h (gimple_range_ssa_names): New prototype.
11004 * gimple-range-gori.cc (range_def_chain::get_def_chain): Move
11005 code to new routine.
11006
11007 2022-08-16 Martin Liska <mliska@suse.cz>
11008
11009 PR target/106637
11010 * doc/install.texi: Remove link to www.bullfreeware.com
11011
11012 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
11013
11014 * common/config/riscv/riscv-common.cc (riscv_implied_info): Add
11015 zfh and zfhmin.
11016 (riscv_ext_version_table): Ditto.
11017 (riscv_ext_flag_table): Ditto.
11018 * config/riscv/riscv-opts.h (MASK_ZFHMIN): New.
11019 (MASK_ZFH): Ditto.
11020 (TARGET_ZFHMIN): Ditto.
11021 (TARGET_ZFH): Ditto.
11022 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode move
11023 for zfh and zfhmin.
11024 (riscv_emit_float_compare): Handle HFmode.
11025 * config/riscv/riscv.md (ANYF): Add HF.
11026 (SOFTF): Add HF.
11027 (load): Ditto.
11028 (store): Ditto.
11029 (truncsfhf2): New.
11030 (truncdfhf2): Ditto.
11031 (extendhfsf2): Ditto.
11032 (extendhfdf2): Ditto.
11033 (*movhf_hardfloat): Ditto.
11034 (*movhf_softfloat): Make sure not ZFHMIN.
11035 * config/riscv/riscv.opt (riscv_zf_subext): New.
11036
11037 2022-08-16 Kito Cheng <kito.cheng@sifive.com>
11038
11039 * config/riscv/riscv-builtins.cc: include stringpool.h
11040 (riscv_float16_type_node): New.
11041 (riscv_init_builtin_types): Ditto.
11042 (riscv_init_builtins): Call riscv_init_builtin_types.
11043 * config/riscv/riscv-modes.def (HF): New.
11044 * config/riscv/riscv.cc (riscv_output_move): Handle HFmode.
11045 (riscv_mangle_type): New.
11046 (riscv_scalar_mode_supported_p): Ditto.
11047 (riscv_libgcc_floating_mode_supported_p): Ditto.
11048 (riscv_excess_precision): Ditto.
11049 (riscv_floatn_mode): Ditto.
11050 (riscv_init_libfuncs): Ditto.
11051 (TARGET_MANGLE_TYPE): Ditto.
11052 (TARGET_SCALAR_MODE_SUPPORTED_P): Ditto.
11053 (TARGET_LIBGCC_FLOATING_MODE_SUPPORTED_P): Ditto.
11054 (TARGET_INIT_LIBFUNCS): Ditto.
11055 (TARGET_C_EXCESS_PRECISION): Ditto.
11056 (TARGET_FLOATN_MODE): Ditto.
11057 * config/riscv/riscv.md (mode): Add HF.
11058 (softload): Add HF.
11059 (softstore): Ditto.
11060 (fmt): Ditto.
11061 (UNITMODE): Ditto.
11062 (movhf): New.
11063 (*movhf_softfloat): New.
11064
11065 2022-08-16 Richard Biener <rguenther@suse.de>
11066
11067 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11068 Do not walk further if we are leaving the current loop.
11069
11070 2022-08-16 Sergei Trofimovich <siarheit@google.com>
11071
11072 PR driver/106624
11073 * gcc.cc (driver::detect_jobserver): Allocate storage xputenv()
11074 argument using xstrdup().
11075
11076 2022-08-16 Aldy Hernandez <aldyh@redhat.com>
11077
11078 * gimple-range-path.cc (path_range_query::import_p): Rename to...
11079 (path_range_query::exit_dependency_p): ...this.
11080 (path_range_query::dump): Rename imports to exit dependencies.
11081 (path_range_query::compute_ranges_in_phis): Same.
11082 (path_range_query::compute_ranges_in_block): Same.
11083 (path_range_query::adjust_for_non_null_uses): Same.
11084 (path_range_query::compute_ranges): Same.
11085 (path_range_query::compute_phi_relations): Same.
11086 (path_range_query::add_to_imports): Rename to...
11087 (path_range_query::add_to_exit_dependencies): ...this.
11088 (path_range_query::compute_imports): Rename to...
11089 (path_range_query::compute_exit_dependencies): ...this.
11090 * gimple-range-path.h (class path_range_query): Rename imports to
11091 exit dependencies.
11092
11093 2022-08-16 Martin Liska <mliska@suse.cz>
11094
11095 * value-range-storage.h (class obstack_vrange_allocator): Mark
11096 the class as final.
11097 (class ggc_vrange_allocator): Likewise.
11098
11099 2022-08-16 Martin Liska <mliska@suse.cz>
11100
11101 * value-range-equiv.h (class value_range_equiv): Add virtual
11102 destructor.
11103 * value-range.h: Likewise.
11104
11105 2022-08-16 Richard Biener <rguenther@suse.de>
11106
11107 PR middle-end/106630
11108 * match.pd ((T)(x * CST) -> (T)x * CST): Restrict to
11109 narrowing conversions.
11110
11111 2022-08-16 Martin Liska <mliska@suse.cz>
11112
11113 * value-range-equiv.h (class value_range_equiv):
11114
11115 2022-08-16 Martin Liska <mliska@suse.cz>
11116
11117 * config/i386/i386-features.h (class general_scalar_chain): Add
11118 final override for a method.
11119 (class timode_scalar_chain): Likewise.
11120
11121 2022-08-16 Richard Biener <rguenther@suse.de>
11122
11123 * doc/invoke.texi (max-jump-thread-paths): Adjust.
11124
11125 2022-08-16 Martin Liska <mliska@suse.cz>
11126
11127 * opts-common.cc (jobserver_info::connect): Open fifo
11128 in non-blocking mode.
11129
11130 2022-08-16 Kewen.Lin <linkw@gcc.gnu.org>
11131
11132 PR target/103353
11133 * config/rs6000/mma.md (define_expand movoo): Move TARGET_MMA condition
11134 check to preparation statements and add handlings for !TARGET_MMA.
11135 (define_expand movxo): Likewise.
11136
11137 2022-08-16 Kewen Lin <linkw@linux.ibm.com>
11138
11139 PR tree-optimization/106322
11140 * tree-vect-stmts.cc (vectorizable_call): Don't allow
11141 vect_emulated_vector_p type for both vectype_in and vectype_out.
11142
11143 2022-08-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11144
11145 * common/config/xtensa/xtensa-common.cc
11146 (xtensa_option_optimization_table): Add OPT_fsplit_wide_types_early
11147 for OPT_LEVELS_ALL in order to restore pre-GCC10 behavior.
11148
11149 2022-08-15 Andrew MacLeod <amacleod@redhat.com>
11150
11151 PR tree-optimization/106621
11152 * value-range.cc (irange::set): Check for POLY_INT_CST early.
11153
11154 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11155
11156 * config/i386/i386-features.cc
11157 (timode_scalar_chain::compute_convert_gain): Provide costs for
11158 shifts and rotates.
11159 (timode_scalar_chain::convert_insn): Handle ASHIFTRT, ROTATERT
11160 and ROTATE just like existing ASHIFT and LSHIFTRT cases.
11161 (timode_scalar_to_vector_candidate_p): Handle all shifts and
11162 rotates by integer constants between 0 and 127.
11163
11164 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11165
11166 * config/i386/i386-features.cc
11167 (timode_scalar_chain::compute_convert_gain): Provide gains for
11168 comparisons against 0/-1, including "*testti" patterns.
11169
11170 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11171
11172 PR tree-optimization/64992
11173 PR tree-optimization/98956
11174 * match.pd (ne (lshift @0 @1) 0): Simplify (X << C) != 0 to X
11175 when X is zero_one_valued_p and the shift constant C is valid.
11176 (eq (lshift @0 @1) 0): Likewise, simplify (X << C) == 0 to !X
11177 when X is zero_one_valued_p and the shift constant C is valid.
11178
11179 2022-08-15 Roger Sayle <roger@nextmovesoftware.com>
11180 Richard Biener <rguenther@suse.de>
11181
11182 PR tree-optimization/71343
11183 * match.pd (op (lshift @0 @1) (lshift @2 @1)): Optimize the
11184 expression (X<<C) + (Y<<C) to (X+Y)<<C for multiple operators.
11185 (op (rshift @0 @1) (rshift @2 @1)): Likewise, simplify (X>>C)^(Y>>C)
11186 to (X^Y)>>C for binary logical operators, AND, IOR and XOR.
11187
11188 2022-08-15 Richard Biener <rguenther@suse.de>
11189
11190 * gimple-range-path.cc (range_on_path_entry): Just
11191 call range_on_entry.
11192
11193 2022-08-15 Jakub Jelinek <jakub@redhat.com>
11194
11195 PR rtl-optimization/106590
11196 * ifcvt.cc (check_for_cc_cmp_clobbers): New function.
11197 (noce_convert_multiple_sets_1): If SEQ sets or clobbers any regs
11198 mentioned in cc_cmp or rev_cc_cmp, don't consider seq2 for any
11199 further conditional moves.
11200
11201 2022-08-15 konglin1 <lingling.kong@intel.com>
11202
11203 * config/i386/i386-builtin-types.def (BFLOAT16): New primitive type.
11204 * config/i386/i386-builtins.cc : Support __bf16 type for i386 backend.
11205 (ix86_register_bf16_builtin_type): New function.
11206 (ix86_bf16_type_node): New.
11207 (ix86_bf16_ptr_type_node): Ditto.
11208 (ix86_init_builtin_types): Add ix86_register_bf16_builtin_type function call.
11209 * config/i386/i386-modes.def (FLOAT_MODE): Add BFmode.
11210 (ADJUST_FLOAT_FORMAT): Ditto.
11211 * config/i386/i386.cc (classify_argument): Handle BFmode.
11212 (construct_container): Ditto.
11213 (function_value_32): Return __bf16 by %xmm0.
11214 (function_value_64): Return __bf16 by SSE register.
11215 (ix86_output_ssemov): Handle BFmode.
11216 (ix86_legitimate_constant_p): Disable BFmode constant double.
11217 (ix86_secondary_reload): Require gpr as intermediate register
11218 to store __bf16 from sse register when sse4 is not available.
11219 (ix86_scalar_mode_supported_p): Enable __bf16 under sse2.
11220 (ix86_mangle_type): Add manlging for __bf16 type.
11221 (ix86_invalid_conversion): New function for target hook.
11222 (ix86_invalid_unary_op): Ditto.
11223 (ix86_invalid_binary_op): Ditto.
11224 (TARGET_INVALID_CONVERSION): New define for target hook.
11225 (TARGET_INVALID_UNARY_OP): Ditto.
11226 (TARGET_INVALID_BINARY_OP): Ditto.
11227 * config/i386/i386.h (host_detect_local_cpu): Add BFmode.
11228 * config/i386/i386.md ("mode"): Add BFmode.
11229 (MODE_SIZE): Ditto.
11230 (X87MODEFH): Ditto.
11231 (HFBF): Add new define_mode_iterator.
11232 (*pushhf_rex64): Change for BFmode.
11233 (*push<mode>_rex64): Ditto.
11234 (*pushhf): Ditto.
11235 (*push<mode>): Ditto.
11236 (MODESH): Ditto.
11237 (hfbfconstf): Add new define_mode_attr.
11238 (*mov<mode>_internal): Add BFmode.
11239
11240 2022-08-13 Roger Sayle <roger@nextmovesoftware.com>
11241 Uroš Bizjak <ubizjak@gmail.com>
11242
11243 * config/i386/predicates.md (const_0_to_255_not_mul_8_operand):
11244 New predicate for values between 0/1 and 255, not multiples of 8.
11245 * config/i386/sse.md (ashlv1ti3): Delay lowering of logical left
11246 shifts by constant bit counts.
11247 (*ashlvti3_internal): New define_insn_and_split that lowers
11248 logical left shifts by constant bit counts, that aren't multiples
11249 of 8, before reload.
11250 (lshrv1ti3): Delay lowering of logical right shifts by constant.
11251 (*lshrv1ti3_internal): New define_insn_and_split that lowers
11252 logical right shifts by constant bit counts, that aren't multiples
11253 of 8, before reload.
11254 (ashrv1ti3):: Delay lowering of arithmetic right shifts by
11255 constant bit counts.
11256 (*ashrv1ti3_internal): New define_insn_and_split that lowers
11257 arithmetic right shifts by constant bit counts before reload.
11258 (rotlv1ti3): Delay lowering of rotate left by constant.
11259 (*rotlv1ti3_internal): New define_insn_and_split that lowers
11260 rotate left by constant bits counts before reload.
11261 (rotrv1ti3): Delay lowering of rotate right by constant.
11262 (*rotrv1ti3_internal): New define_insn_and_split that lowers
11263 rotate right by constant bits counts before reload.
11264
11265 2022-08-12 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
11266
11267 * doc/invoke.texi (Arm Options): Document -mcpu=cortex-m55 options.
11268
11269 2022-08-12 Jan Hubicka <hubicka@ucw.cz>
11270
11271 PR middle-end/106057
11272 * ipa-devirt.cc (type_or_derived_type_possibly_instantiated_p): New
11273 function.
11274 (possible_polymorphic_call_targets): Use it.
11275
11276 2022-08-12 Andrew Carlotti <andrew.carlotti@arm.com>
11277
11278 * tree-ssa-loop.h: Improve comment
11279
11280 2022-08-12 Jakub Jelinek <jakub@redhat.com>
11281
11282 PR tree-optimization/106506
11283 * tree-ssa-phiopt.cc (spaceship_replacement): Don't punt for
11284 is_cast or orig_use_lhs cases if phi_bb has 3 predecessors.
11285
11286 2022-08-12 Richard Biener <rguenther@suse.de>
11287
11288 PR tree-optimization/106593
11289 * tree-ssa-threadbackward.cc (back_threader::find_paths):
11290 If the imports from the conditional do not satisfy
11291 gimple_range_ssa_p don't try to thread anything.
11292
11293 2022-08-12 Tamar Christina <tamar.christina@arm.com>
11294
11295 PR target/106524
11296 * config/aarch64/aarch64-sve.md (*fcmuo<mode>_nor_combine,
11297 *fcmuo<mode>_bic_combine): Don't accept comparisons against zero.
11298
11299 2022-08-12 Tim Lange <mail@tim-lange.me>
11300
11301 PR analyzer/106000
11302 * doc/invoke.texi: Add Wanalyzer-out-of-bounds.
11303
11304 2022-08-12 Andrew Pinski <apinski@marvell.com>
11305
11306 * config/aarch64/aarch64.md: Remove comment
11307 about MD_INCLUDES as it is out of date and not needed.
11308
11309 2022-08-11 Richard Biener <rguenther@suse.de>
11310
11311 * gimple-range-path.cc (path_range_query::compute_imports):
11312 Restrict walking SSA defs to blocks inside the path. Track
11313 the same operands as range_def_chain::get_def_chain does.
11314
11315 2022-08-11 Richard Biener <rguenther@suse.de>
11316
11317 PR tree-optimization/106514
11318 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11319 Compute and unwind both m_imports and interesting on the fly during
11320 path discovery.
11321 (back_threader::find_paths): Compute the original m_imports
11322 from just the SSA uses of the exit conditional. Drop
11323 handling single_succ_to_potentially_threadable_block.
11324 * gimple-range-path.cc (path_range_query::ssa_range_in_phi): Handle
11325 constant PHI arguments without crashing. Use PHI_ARG_DEF_FROM_EDGE.
11326
11327 2022-08-11 Richard Biener <rguenther@suse.de>
11328
11329 * gimple-range-path.h (path_range_query::compute_imports):
11330 Take path as argument, not the exit block.
11331 * gimple-range-path.cc (path_range_query::compute_imports):
11332 Likewise, and adjust, avoiding possibly stale m_path.
11333 (path_range_query::compute_outgoing_relations): Register
11334 relations for all conditionals.
11335 * tree-ssa-threadbackward.cc (back_threader::find_paths):
11336 Adjust.
11337
11338 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
11339
11340 * config/rs6000/rs6000-builtin.cc (rs6000_init_builtins): Fix the
11341 oversight on ENB_CELL by simplifying with rs6000_builtin_is_supported.
11342 (rs6000_expand_builtin): Simplify with rs6000_builtin_is_supported.
11343
11344 2022-08-11 Kewen Lin <linkw@linux.ibm.com>
11345
11346 * config/rs6000/rs6000-internal.h (rs6000_global_entry_point_needed_p):
11347 Remove function declaration.
11348
11349 2022-08-10 Richard Biener <rguenther@suse.de>
11350
11351 PR tree-optimization/106513
11352 * gimple-ssa-store-merging.cc (do_shift_rotate): Use uint64_t
11353 for head_marker.
11354
11355 2022-08-10 Martin Liska <mliska@suse.cz>
11356
11357 PR lto/106328
11358 * opts-jobserver.h (struct jobserver_info): Add pipefd.
11359 (jobserver_info::connect): New.
11360 (jobserver_info::disconnect): Likewise.
11361 (jobserver_info::get_token): Likewise.
11362 (jobserver_info::return_token): Likewise.
11363 * opts-common.cc: Implement the new functions.
11364
11365 2022-08-10 Martin Liska <mliska@suse.cz>
11366
11367 * opts-jobserver.h: Add one member.
11368 * opts-common.cc (jobserver_info::jobserver_info): Parse FIFO
11369 format of --jobserver-auth.
11370
11371 2022-08-10 Martin Liska <mliska@suse.cz>
11372
11373 * gcc.cc (driver::detect_jobserver): Remove and move to
11374 jobserver.h.
11375 * lto-wrapper.cc (jobserver_active_p): Likewise.
11376 (run_gcc): Likewise.
11377 * opts-jobserver.h: New file.
11378 * opts-common.cc (jobserver_info::jobserver_info): New function.
11379
11380 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
11381
11382 * config/i386/i386-features.cc (scalar_chain::convert_compare):
11383 Create new pseudos only when/if needed. Add support for TEST,
11384 i.e. (COMPARE (AND x y) (const_int 0)), using UNSPEC_PTEST.
11385 When broadcasting V2DImode and V4SImode use new pseudo register.
11386 (timode_scalar_chain::convert_op): Do nothing if operand is
11387 already V1TImode. Avoid generating useless SUBREG conversions,
11388 i.e. (SUBREG:V1TImode (REG:V1TImode) 0). Handle CONST_WIDE_INT
11389 in addition to CONST_INT by using CONST_SCALAR_INT_P.
11390 (convertible_comparison_p): Use CONST_SCALAR_INT_P to match both
11391 CONST_WIDE_INT and CONST_INT. Recognize new *testti_doubleword
11392 pattern as an STV candidate.
11393 (timode_scalar_to_vector_candidate_p): Allow CONST_SCALAR_INT_P
11394 operands in binary logic operations.
11395 * config/i386/i386.cc (ix86_rtx_costs) <case UNSPEC>: Add costs
11396 for UNSPEC_PTEST; a PTEST that performs an AND has the same cost
11397 as regular PTEST, i.e. cost->sse_op.
11398 * config/i386/i386.md (*testti_doubleword): New pre-reload
11399 define_insn_and_split that recognizes comparison of TI mode AND
11400 against zero.
11401 * config/i386/sse.md (*ptest<mode>_and): New pre-reload
11402 define_insn_and_split that recognizes UNSPEC_PTEST of identical
11403 AND operands.
11404
11405 2022-08-09 Roger Sayle <roger@nextmovesoftware.com>
11406 Richard Biener <rguenther@suse.de>
11407
11408 PR middle-end/21137
11409 PR tree-optimization/98954
11410 * fold-const.cc (fold_binary_loc): Remove optimizations to
11411 optimize ((X >> C1) & C2) ==/!= 0.
11412 * match.pd (cmp (bit_and (lshift @0 @1) @2) @3): Remove wi::ctz
11413 check, and handle all values of INTEGER_CSTs @2 and @3.
11414 (cmp (bit_and (rshift @0 @1) @2) @3): Likewise, remove wi::clz
11415 checks, and handle all values of INTEGER_CSTs @2 and @3.
11416
11417 2022-08-09 David Malcolm <dmalcolm@redhat.com>
11418
11419 * doc/invoke.texi (Static Analyzer Options): Add notes on which
11420 functions the analyzer has hardcoded knowledge of.
11421
11422 2022-08-09 Andrew Stubbs <ams@codesourcery.com>
11423
11424 * config/gcn/gcn.cc (gcn_function_value): Allow vector return values.
11425 (num_arg_regs): Allow vector arguments.
11426 (gcn_function_arg): Likewise.
11427 (gcn_function_arg_advance): Likewise.
11428 (gcn_arg_partial_bytes): Likewise.
11429 (gcn_return_in_memory): Likewise.
11430 (gcn_expand_epilogue): Get return value from v8.
11431 * config/gcn/gcn.h (RETURN_VALUE_REG): Set to v8.
11432 (FIRST_PARM_REG): USE FIRST_SGPR_REG for clarity.
11433 (FIRST_VPARM_REG): New.
11434 (FUNCTION_ARG_REGNO_P): Allow vector parameters.
11435 (struct gcn_args): Add vnum field.
11436 (LIBCALL_VALUE): All vector return values.
11437 * config/gcn/gcn.md (gcn_call_value): Add vector constraints.
11438 (gcn_call_value_indirect): Likewise.
11439
11440 2022-08-09 Richard Biener <rguenther@suse.de>
11441
11442 * omp-expand.cc (expand_omp_atomic_load): Emit GIMPLE
11443 directly. Avoid update_ssa when in SSA form.
11444 (expand_omp_atomic_store): Likewise.
11445 (expand_omp_atomic_fetch_op): Avoid update_ssa when in SSA
11446 form.
11447 (expand_omp_atomic_pipeline): Likewise.
11448 (expand_omp_atomic_mutex): Likewise.
11449 * tree-parloops.cc (gen_parallel_loop): Use
11450 TODO_update_ssa_no_phi after loop_version.
11451
11452 2022-08-09 Richard Biener <rguenther@suse.de>
11453
11454 * doc/invoke.texi (max-fsm-thread-length): Remove.
11455 * params.opt (max-fsm-thread-length): Likewise.
11456 * tree-ssa-threadbackward.cc
11457 (back_threader_profitability::profitable_path_p): Do not
11458 check max-fsm-thread-length.
11459
11460 2022-08-09 Richard Biener <rguenther@suse.de>
11461
11462 PR tree-optimization/106514
11463 * params.opt (max-jump-thread-paths): New.
11464 * doc/invoke.texi (max-jump-thread-paths): Document.
11465 * tree-ssa-threadbackward.cc (back_threader::find_paths_to_names):
11466 Honor max-jump-thread-paths, take overall_path argument.
11467 (back_threader::find_paths): Pass 1 as initial overall_path.
11468
11469 2022-08-09 Tobias Burnus <tobias@codesourcery.com>
11470
11471 PR middle-end/106492
11472 * omp-low.cc (lower_rec_input_clauses): Add missing folding
11473 to data type of linear-clause list item.
11474
11475 2022-08-08 Andrew MacLeod <amacleod@redhat.com>
11476
11477 PR tree-optimization/106556
11478 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use the
11479 type of the cond_expr operands being evaluted.
11480
11481 2022-08-08 Tom Honermann <tom@honermann.net>
11482
11483 * ginclude/stdatomic.h (atomic_char8_t,
11484 ATOMIC_CHAR8_T_LOCK_FREE): New typedef and macro.
11485
11486 2022-08-08 Andrew Pinski <apinski@marvell.com>
11487
11488 PR middle-end/103645
11489 * gimplify.cc (gimplify_init_constructor): Don't build/add
11490 gimple assignment of an empty type.
11491
11492 2022-08-08 Richard Biener <rguenther@suse.de>
11493
11494 PR lto/106540
11495 PR lto/106334
11496 * dwarf2out.cc (dwarf2out_register_external_die): Restore
11497 original assert.
11498 * lto-streamer-in.cc (lto_read_tree_1): Use lto_input_tree_1
11499 to input DECL_INITIAL, avoiding to commit drefs.
11500
11501 2022-08-07 Roger Sayle <roger@nextmovesoftware.com>
11502
11503 * config/i386/i386.md (*cmp<dwi>_doubleword): Change predicate
11504 for x86_64_hilo_general_operand to general operand. Call
11505 force_reg on parts that are not x86_64_immediate_operand.
11506
11507 2022-08-05 David Malcolm <dmalcolm@redhat.com>
11508
11509 PR analyzer/105947
11510 * doc/invoke.texi: Add -Wanalyzer-jump-through-null.
11511
11512 2022-08-05 Roger Sayle <roger@nextmovesoftware.com>
11513
11514 * expmed.cc (emit_store_flag_1): Move code to expand double word
11515 equality and inequality against zero or -1, using word operations,
11516 to after trying to use the backend's cstore<mode>4 optab/expander.
11517
11518 2022-08-05 Tamar Christina <tamar.christina@arm.com>
11519
11520 PR middle-end/106534
11521 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Guard the
11522 value_replacement and store_elim from diamonds.
11523
11524 2022-08-05 Richard Biener <rguenther@suse.de>
11525
11526 * tree-ssa-threadbackward.cc (back_threader::maybe_register_path):
11527 Check whether the registry register_path rejected the path.
11528 (back_threader_registry::register_path): Return whether
11529 register_jump_thread succeeded.
11530
11531 2022-08-05 Aldy Hernandez <aldyh@redhat.com>
11532
11533 PR tree-optimization/106514
11534 * value-range.cc (unsupported_range::unsupported_range): Move...
11535 * value-range.h (unsupported_range::unsupported_range): ...here.
11536 (unsupported_range::set_undefined): New.
11537
11538 2022-08-05 Richard Biener <rguenther@suse.de>
11539
11540 PR tree-optimization/106533
11541 * tree-loop-distribution.cc (loop_distribution::execute): Continue
11542 analyzing the inner loops when find_seed_stmts_for_distribution
11543 fails.
11544
11545 2022-08-05 Andrew Pinski <apinski@marvell.com>
11546
11547 * config/riscv/predicates.md (splittable_const_int_operand):
11548 Remove the check for TARGET_64BIT for single bit const values.
11549
11550 2022-08-04 Andrew MacLeod <amacleod@redhat.com>
11551
11552 PR tree-optimization/106514
11553 * gimple-range-path.cc (path_range_query::compute_ranges_in_block):
11554 Use EXECUTE_IF_AND_IN_BITMAP to loop over 2 bitmaps.
11555
11556 2022-08-04 Tamar Christina <tamar.christina@arm.com>
11557
11558 * match.pd: New bit_not rule.
11559
11560 2022-08-04 Tamar Christina <tamar.christina@arm.com>
11561
11562 PR middle-end/106519
11563 * tree-ssa-phiopt.cc (tree_ssa_phiopt_worker): Check final phi edge for
11564 diamond shapes.
11565
11566 2022-08-04 Sam Feifer <sfeifer@redhat.com>
11567
11568 PR tree-optimization/106243
11569 * match.pd (-x & 1): New simplification.
11570
11571 2022-08-04 Richard Biener <rguenther@suse.de>
11572
11573 PR tree-optimization/106521
11574 * gimple-loop-jam.cc (tree_loop_unroll_and_jam): Perform
11575 CFG cleanup manually before rewriting into LC SSA.
11576
11577 2022-08-04 Richard Biener <rguenther@suse.de>
11578
11579 * tree-ssa-threadbackward.cc (populate_worklist): Remove.
11580 (back_threader::resolve_phi): Likewise.
11581 (back_threader::find_paths_to_names): Rewrite greedy search.
11582
11583 2022-08-04 Ilya Leoshkevich <iii@linux.ibm.com>
11584
11585 * config/s390/vector.md (V_HW_FT): New iterator.
11586 * config/s390/vx-builtins.md (vsel<mode>): Use V_HW_FT instead
11587 of V_HW.
11588
11589 2022-08-03 Michael Meissner <meissner@linux.ibm.com>
11590
11591 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Remove code
11592 setting -mblock-ops-vector-pair.
11593
11594 2022-08-03 Andrew MacLeod <amacleod@redhat.com>
11595
11596 PR tree-optimization/106514
11597 * value-relation.cc (path_oracle::killing_def) Do not walk the
11598 equivalence set clearing bits.
11599
11600 2022-08-03 Tamar Christina <tamar.christina@arm.com>
11601
11602 * tree-ssa-phiopt.cc (minmax_replacement): Optionally search for the phi
11603 sequence of a three-way conditional.
11604 (replace_phi_edge_with_variable): Support diamonds.
11605 (tree_ssa_phiopt_worker): Detect diamond phi structure for three-way
11606 min/max.
11607 (strip_bit_not, invert_minmax_code): New.
11608
11609 2022-08-03 Richard Earnshaw <rearnsha@arm.com>
11610
11611 PR rtl-optimization/106187
11612 * alias.h (mems_same_for_tbaa_p): Declare.
11613 * alias.cc (mems_same_for_tbaa_p): New function.
11614 * dse.cc (record_store): Use it instead of open-coding
11615 alias check.
11616 * cselib.h (cselib_redundant_set_p): Declare.
11617 * cselib.cc: Include alias.h
11618 (cselib_redundant_set_p): New function.
11619 * cfgcleanup.cc: (mark_effect): Use cselib_redundant_set_p instead
11620 of rtx_equal_for_cselib_p.
11621 * postreload.cc (reload_cse_simplify): Use cselib_redundant_set_p.
11622 (reload_cse_noop_set_p): Delete.
11623
11624 2022-08-03 Martin Liska <mliska@suse.cz>
11625
11626 * doc/gcov-dump.texi: Document the new option.
11627 * gcov-dump.cc (main): Parse the new option.
11628 (print_usage): Show the option.
11629 (tag_counters): Sort key:value pairs of TOP N counter.
11630
11631 2022-08-03 Martin Liska <mliska@suse.cz>
11632
11633 * profile.cc (compute_branch_probabilities): Do not collect
11634 stats unless TDF_DETAILS.
11635
11636 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11637 Uroš Bizjak <ubizjak@gmail.com>
11638
11639 PR target/47949
11640 * config/i386/i386.md (peephole2): New peephole2 to convert
11641 SWI48 moves to/from %rax/%eax where the src is dead to xchg,
11642 when optimizing for minimal size with -Oz.
11643
11644 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11645
11646 * config/i386/i386.md (*cmp<dwi>_doubleword): Add a special case
11647 to split comparisons against -1 using AND and CMP -1 instructions.
11648
11649 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11650
11651 * config/i386/i386-features.cc (compute_convert_gain): Add gain
11652 for converting suitable TImode shift to a V1TImode shift.
11653 (timode_scalar_chain::convert_insn): Add support for converting
11654 suitable ASHIFT and LSHIFTRT.
11655 (timode_scalar_to_vector_candidate_p): Consider logical shifts
11656 by integer constants that are multiples of 8 to be candidates.
11657
11658 2022-08-03 Roger Sayle <roger@nextmovesoftware.com>
11659 Segher Boessenkool <segher@kernel.crashing.org>
11660 Richard Sandiford <richard.sandiford@arm.com>
11661
11662 * simplify-rtx.cc (simplify_unary_operation_1) <ABS>: Add
11663 optimizations for CLRSB, PARITY, POPCOUNT, SS_ABS and LSHIFTRT
11664 that are all positive to complement the existing FFS and
11665 idempotent ABS simplifications.
11666 <SIGN_EXTEND>: Canonicalize SIGN_EXTEND to ZERO_EXTEND when
11667 val_signbit_known_clear_p is true of the operand.
11668 Simplify sign extensions of SUBREG truncations of operands
11669 that are already suitably (zero) extended.
11670 <ZERO_EXTEND>: Simplify zero extensions of SUBREG truncations
11671 of operands that are already suitably zero extended.
11672
11673 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
11674
11675 PR tree-optimization/106510
11676 * gimple-range-fold.cc (fur_source::register_outgoing_edges):
11677 Check for unsupported statements early.
11678
11679 2022-08-02 Andrew MacLeod <amacleod@redhat.com>
11680
11681 PR tree-optimization/106474
11682 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Query
11683 range of equivalences that may contribute to the range.
11684
11685 2022-08-02 Jose E. Marchesi <jose.marchesi@oracle.com>
11686
11687 * btfout.cc (output_asm_btf_vlen_bytes): Do not use the CHAR
11688 encoding bit in BTF.
11689
11690 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11691
11692 * gimple-range-fold.cc (fold_using_range::range_of_phi): Remove
11693 irange check.
11694 (tree_lower_bound): New.
11695 (tree_upper_bound): New.
11696 (fold_using_range::range_of_ssa_name_with_loop_info): Convert to
11697 vrange.
11698 * gimple-range-fold.h (range_of_ssa_name_with_loop_info): Change
11699 argument to vrange.
11700
11701 2022-08-02 Richard Biener <rguenther@suse.de>
11702
11703 * tree-ssa-threadbackward.cc
11704 (back_threader_profitability::profitable_path_p): Apply
11705 size constraints to all paths again.
11706
11707 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11708
11709 * range-op-float.cc (finite_operands_p): New.
11710 (frelop_early_resolve): New.
11711 (default_frelop_fold_range): New.
11712 (class foperator_equal): New.
11713 (class foperator_not_equal): New.
11714 (class foperator_lt): New.
11715 (class foperator_le): New.
11716 (class foperator_gt): New.
11717 (class foperator_ge): New.
11718 (class foperator_unordered): New.
11719 (class foperator_ordered): New.
11720 (class foperator_relop_unknown): New.
11721 (floating_op_table::floating_op_table): Add above classes to
11722 floating op table.
11723 * value-range.h (frange::supports_p): Enable.
11724
11725 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11726
11727 * tree-core.h (struct tree_ssa_name): Add frange_info and
11728 reshuffle the rest.
11729 * value-range-storage.cc (vrange_storage::alloc_slot): Add case
11730 for frange.
11731 (vrange_storage::set_vrange): Same.
11732 (vrange_storage::get_vrange): Same.
11733 (vrange_storage::fits_p): Same.
11734 (frange_storage_slot::alloc_slot): New.
11735 (frange_storage_slot::set_frange): New.
11736 (frange_storage_slot::get_frange): New.
11737 (frange_storage_slot::fits_p): New.
11738 * value-range-storage.h (class frange_storage_slot): New.
11739
11740 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11741
11742 * ipa-prop.cc (ipa_compute_jump_functions_for_edge): Limit ranger
11743 query to integrals.
11744
11745 2022-08-02 Aldy Hernandez <aldyh@redhat.com>
11746
11747 * value-range.cc (frange::set): Initialize m_props and cleanup.
11748
11749 2022-08-02 Richard Biener <rguenther@suse.de>
11750
11751 PR tree-optimization/106497
11752 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
11753 Also verify we can copy EDGE_COPY_SRC_JOINER_BLOCK.
11754
11755 2022-08-02 Martin Liska <mliska@suse.cz>
11756
11757 * profile.cc (compute_branch_probabilities): Dump details only
11758 if TDF_DETAILS.
11759 * symtab.cc (symtab_node::dump_base): Do not dump pointer unless
11760 TDF_ADDRESS is used, it makes comparison harder.
11761
11762 2022-08-02 Richard Biener <rguenther@suse.de>
11763
11764 PR tree-optimization/106498
11765 * omp-expand.cc (expand_omp_taskreg): Do not perform virtual
11766 SSA update here.
11767 (expand_omp_for): Or here.
11768 (execute_expand_omp): Instead schedule it here together
11769 with CFG cleanup via TODO.
11770
11771 2022-08-02 Richard Biener <rguenther@suse.de>
11772
11773 PR lto/106334
11774 * dwarf2out.cc (dwarf2out_register_external_die): Adjust
11775 assert.
11776
11777 2022-08-02 Richard Biener <rguenther@suse.de>
11778
11779 PR tree-optimization/106495
11780 * tree-ssa-threadbackward.cc
11781 (back_threader_profitability::profitable_path_p): If known_edge
11782 is probably never executed avoid threading.
11783
11784 2022-08-01 David Malcolm <dmalcolm@redhat.com>
11785
11786 * doc/invoke.texi (-Wanalyzer-putenv-of-auto-var): Fix copy&paste
11787 error.
11788
11789 2022-08-01 Roger Sayle <roger@nextmovesoftware.com>
11790 Uroš Bizjak <ubizjak@gmail.com>
11791
11792 PR target/106481
11793 * config/i386/i386-features.cc (timode_scalar_chain::convert_insn):
11794 Convert a CONST_SCALAR_INT_P in a REG_EQUAL note into a V1TImode
11795 CONST_VECTOR.
11796
11797 2022-08-01 H.J. Lu <hjl.tools@gmail.com>
11798
11799 PR target/83782
11800 * config/i386/i386.cc (ix86_ifunc_ref_local_ok): New.
11801 (TARGET_IFUNC_REF_LOCAL_OK): Use it.
11802
11803 2022-08-01 Jose E. Marchesi <jose.marchesi@oracle.com>
11804
11805 PR debug/106263
11806 * ctfc.h (struct ctf_dtdef): Add field linkage.
11807 * ctfc.cc (ctf_add_function): Set ctti_linkage.
11808 * dwarf2ctf.cc (gen_ctf_function_type): Pass a linkage for
11809 function types and subprograms.
11810 * btfout.cc (btf_asm_func_type): Emit linkage information for the
11811 function.
11812 (btf_dtd_emit_preprocess_cb): Propagate the linkage information
11813 for functions.
11814
11815 2022-08-01 Andrew Stubbs <ams@codesourcery.com>
11816 Jakub Jelinek <jakub@redhat.com>
11817
11818 * omp-simd-clone.cc (simd_clone_adjust): Convert shift_cnt to match
11819 the mask type.
11820
11821 2022-08-01 Sam Feifer <sfeifer@redhat.com>
11822
11823 PR tree-optimization/104992
11824 * match.pd (x / y * y == x): New simplification.
11825
11826 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11827
11828 * value-range.cc (tree_compare): New.
11829 (frange::set): Make more general.
11830 (frange::normalize_kind): Cleanup and return bool.
11831 (frange::union_): Use normalize_kind return value.
11832 (frange::intersect): Same.
11833 (frange::verify_range): Remove unnecessary else.
11834 * value-range.h (vrp_val_max): Move before frange class.
11835 (vrp_val_min): Same.
11836 (frange::frange): Remove set to m_type.
11837
11838 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11839
11840 * value-range.cc (vrange::supports_type_p): Use const_tree.
11841 (irange::supports_type_p): Same.
11842 (frange::supports_type_p): Same.
11843 * value-range.h (Value_Range::supports_type_p): Same.
11844 (irange::supports_p): Same.
11845
11846 2022-08-01 Aldy Hernandez <aldyh@redhat.com>
11847
11848 * gimple-range-fold.cc (fold_using_range::range_of_phi): Only
11849 query SCEV for integers.
11850 (fold_using_range::range_of_ssa_name_with_loop_info): Remove
11851 irange check.
11852
11853 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
11854
11855 * config/i386/i386.md (define_expand <any_rotate>ti3): For
11856 rotations by 64 bits use new rot[lr]64ti2_doubleword pattern.
11857 (rot[lr]64ti2_doubleword): New post-reload splitter.
11858
11859 2022-07-31 Roger Sayle <roger@nextmovesoftware.com>
11860 H.J. Lu <hjl.tools@gmail.com>
11861
11862 PR target/106450
11863 * config/i386/i386-features.cc (timode_check_non_convertible_regs):
11864 Do nothing if REGNO is set in the REGS bitmap, or is a hard reg.
11865 (timode_remove_non_convertible_regs): Update comment.
11866 Call timode_check_non_convertible_reg on all TImode register
11867 DEFs and USEs in each instruction.
11868
11869 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11870
11871 * config/xtensa/xtensa.md: Change hard register number used in
11872 the split patterns for indirect sibling call fixups from 10 to 11,
11873 the last free one for the CALL0 ABI.
11874
11875 2022-07-30 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
11876
11877 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
11878 Add new case for IF_THEN_ELSE.
11879
11880 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
11881
11882 * config/gcn/gcn-valu.md (V_INT_noHI): New iterator.
11883 (<expander><mode>3<exec>): Use V_INT_noHI.
11884 (v<expander><mode>3<exec>): Likewise.
11885
11886 2022-07-29 Andrew Stubbs <ams@codesourcery.com>
11887
11888 * config/gcn/gcn.md (one_cmpldi2): New.
11889
11890 2022-07-29 Richard Biener <rguenther@suse.de>
11891
11892 PR tree-optimization/105679
11893 * tree-ssa-threadbackward.cc
11894 (back_threader_profitability::profitable_path_p): Avoid threading
11895 when the entry edge is probably never executed.
11896
11897 2022-07-29 Richard Biener <rguenther@suse.de>
11898
11899 PR tree-optimization/106422
11900 * tree-ssa-threadupdate.cc (fwd_jt_path_registry::update_cfg):
11901 Check whether we can copy thread blocks and cancel the thread if not.
11902
11903 2022-07-29 Jakub Jelinek <jakub@redhat.com>
11904
11905 PR middle-end/106449
11906 * omp-expand.cc (expand_omp_simd): Fix up handling of pointer
11907 iterators in non-rectangular simd loops. Unshare fd->loops[i].n2
11908 or n2 before regimplifying it inside of a condition.
11909
11910 2022-07-29 Jakub Jelinek <jakub@redhat.com>
11911
11912 * omp-expand.cc (expand_omp_for_init_counts, expand_omp_for_init_vars,
11913 extract_omp_for_update_vars, expand_omp_for_ordered_loops,
11914 expand_omp_simd): Don't fold_convert second argument to
11915 fold_build_pointer_plus to sizetype.
11916
11917 2022-07-29 Lulu Cheng <chenglulu@loongson.cn>
11918
11919 * config.in: Regenerate.
11920 * config/loongarch/loongarch.h (ASM_PREFERRED_EH_DATA_FORMAT):
11921 Select the value of the macro definition according to whether
11922 HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT is defined.
11923 * configure: Regenerate.
11924 * configure.ac: Reinstate HAVE_AS_EH_FRAME_PCREL_ENCODING_SUPPORT test.
11925
11926 2022-07-29 Richard Biener <rguenther@suse.de>
11927
11928 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
11929 Use CONVERT_EXPR_CODE_P.
11930
11931 2022-07-29 Richard Biener <rguenther@suse.de>
11932
11933 * tree-vect-patterns.cc (vect_recog_bool_pattern): Use
11934 get_vectype_for_scalar_type instead of
11935 vect_get_vector_types_for_stmt.
11936
11937 2022-07-28 David Malcolm <dmalcolm@redhat.com>
11938
11939 PR analyzer/105893
11940 * doc/invoke.texi: Add -Wanalyzer-putenv-of-auto-var.
11941
11942 2022-07-28 David Malcolm <dmalcolm@redhat.com>
11943
11944 * doc/invoke.texi (-fdiagnostics-show-cwe): Use uref rather than
11945 url.
11946 (Static Analyzer Options): Likewise. Add urefs for all of the
11947 warnings that have associated CWE identifiers.
11948
11949 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
11950
11951 * doc/implement-c.texi (Floating point implementation): Mention
11952 `-fno-trapping-math' in the context of FENV_ACCESS pragma.
11953 * doc/invoke.texi (Optimize Options): Clarify FENV_ACCESS pragma
11954 implication in the descriptions of `-fno-trapping-math' and
11955 `-frounding-math'.
11956
11957 2022-07-28 Maciej W. Rozycki <macro@embecosm.com>
11958
11959 * config/riscv/riscv.md (UNSPECV_FSNVSNAN): New constant.
11960 (QUIET_PATTERN): New int attribute.
11961 (f<quiet_pattern>_quiet<ANYF:mode><X:mode>4): Emit the intended
11962 RTL insns entirely within the preparation statements.
11963 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
11964 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Remove
11965 insns.
11966 (*riscv_fsnvsnan<mode>2): New insn.
11967
11968 2022-07-28 Richard Biener <rguenther@suse.de>
11969
11970 PR middle-end/106457
11971 * tree.cc (array_at_struct_end_p): Handle array objects
11972 specially.
11973
11974 2022-07-28 Jakub Jelinek <jakub@redhat.com>
11975
11976 PR tree-optimization/106099
11977 * internal-fn.def (TRAP): New internal fn.
11978 * internal-fn.h (expand_TRAP): Declare.
11979 * internal-fn.cc (expand_TRAP): Define.
11980 * gimple.cc (gimple_build_builtin_unreachable): For BUILT_IN_TRAP,
11981 use internal fn rather than builtin.
11982
11983 2022-07-27 Andrew Carlotti <andrew.carlotti@arm.com>
11984
11985 * doc/loop.texi: Refer to LOOPS_HAVE_RECORDED_EXITS instead.
11986
11987 2022-07-27 WANG Xuerui <i@xen0n.name>
11988
11989 * doc/invoke.texi: Document -m[no-]explicit-relocs for
11990 LoongArch.
11991
11992 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
11993
11994 * config/riscv/riscv.md (stack_protect_set_<mode>): Remove
11995 duplicate backslashes.
11996
11997 2022-07-27 Maciej W. Rozycki <macro@embecosm.com>
11998
11999 * config/riscv/riscv.cc (riscv_rtx_costs) <IF_THEN_ELSE>: New
12000 case.
12001
12002 2022-07-27 Jakub Jelinek <jakub@redhat.com>
12003
12004 PR debug/106261
12005 * cgraphunit.cc (cgraph_node::assemble_thunks_and_aliases): Don't
12006 output asm thunks for -dx.
12007
12008 2022-07-27 Jakub Jelinek <jakub@redhat.com>
12009
12010 PR middle-end/106332
12011 * opts-common.cc (candidates_list_and_hint): Add gcc_assert
12012 that candidates is not an empty vector.
12013
12014 2022-07-27 Xi Ruoyao <xry111@xry111.site>
12015
12016 * configure.ac (HAVE_AS_EXPLICIT_RELOCS): Define to 1 if the
12017 assembler supports explicit relocation for LoongArch.
12018 * configure: Regenerate.
12019 * config/loongarch/loongarch-opts.h (HAVE_AS_EXPLICIT_RELOCS):
12020 Define to 0 if not defined.
12021 * config/loongarch/genopts/loongarch.opt.in
12022 (TARGET_EXPLICIT_RELOCS): Default to HAVE_AS_EXPLICIT_RELOCS.
12023 * config/loongarch/loongarch.opt: Regenerate.
12024
12025 2022-07-26 Peter Bergner <bergner@linux.ibm.com>
12026
12027 PR c/106016
12028 * expr.cc (count_type_elements): Handle OPAQUE_TYPE.
12029
12030 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12031
12032 * config/loongarch/loongarch-opts.cc: Modify the output message string
12033 of the warning.
12034
12035 2022-07-26 Martin Liska <mliska@suse.cz>
12036
12037 * doc/tm.texi.in: Fix placement of defmac.
12038 * doc/tm.texi: Copy.
12039
12040 2022-07-26 Martin Liska <mliska@suse.cz>
12041
12042 * doc/tm.texi.in: Fix cross @defmac and @hook.
12043 * doc/tm.texi: Copy.
12044
12045 2022-07-26 Aldy Hernandez <aldyh@redhat.com>
12046
12047 PR tree-optimization/106444
12048 * value-range-pretty-print.cc (vrange_printer::visit): Handle
12049 legacy ranges.
12050 (vrange_printer::print_irange_bound): Work on wide_int's.
12051 * value-range-pretty-print.h (print_irange_bound): Same.
12052 * value-range.cc (irange::get_nonzero_bits): Handle legacy ranges.
12053
12054 2022-07-26 Richard Biener <rguenther@suse.de>
12055
12056 * tree-ssa-alias.cc (ptr_derefs_may_alias_p): If ptr1
12057 points to a constant continue checking ptr2.
12058
12059 2022-07-26 Andrew Carlotti <Andrew.Carlotti@arm.com>
12060
12061 * config/aarch64/aarch64-builtins.cc
12062 (MODE_d_bf16, MODE_d_f16, MODE_d_f32, MODE_d_f64, MODE_d_s8)
12063 (MODE_d_s16, MODE_d_s32, MODE_d_s64, MODE_d_u8, MODE_d_u16)
12064 (MODE_d_u32, MODE_d_u64, MODE_d_p8, MODE_d_p16, MODE_d_p64)
12065 (MODE_q_bf16, MODE_q_f16, MODE_q_f32, MODE_q_f64, MODE_q_s8)
12066 (MODE_q_s16, MODE_q_s32, MODE_q_s64, MODE_q_u8, MODE_q_u16)
12067 (MODE_q_u32, MODE_q_u64, MODE_q_p8, MODE_q_p16, MODE_q_p64)
12068 (MODE_q_p128): Define macro to map to corresponding mode name.
12069 (QUAL_bf16, QUAL_f16, QUAL_f32, QUAL_f64, QUAL_s8, QUAL_s16)
12070 (QUAL_s32, QUAL_s64, QUAL_u8, QUAL_u16, QUAL_u32, QUAL_u64)
12071 (QUAL_p8, QUAL_p16, QUAL_p64, QUAL_p128): Define macro to map to
12072 corresponding qualifier name.
12073 (LENGTH_d, LENGTH_q): Define macro to map to "" or "q" suffix.
12074 (SIMD_INTR_MODE, SIMD_INTR_QUAL, SIMD_INTR_LENGTH_CHAR): Macro
12075 functions for the above mappings
12076 (VREINTERPRET_BUILTIN2, VREINTERPRET_BUILTINS1, VREINTERPRET_BUILTINS)
12077 (VREINTERPRETQ_BUILTIN2, VREINTERPRETQ_BUILTINS1)
12078 (VREINTERPRETQ_BUILTINS, VREINTERPRET_BUILTIN)
12079 (AARCH64_SIMD_VREINTERPRET_BUILTINS): New macros to create definitions
12080 for all vreinterpret intrinsics
12081 (enum aarch64_builtins): Add vreinterpret function codes
12082 (aarch64_init_simd_intrinsics): New
12083 (handle_arm_neon_h): Improved comment.
12084 (aarch64_general_fold_builtin): Fold vreinterpret calls
12085 * config/aarch64/arm_neon.h
12086 (vreinterpret_p8_f16, vreinterpret_p8_f64, vreinterpret_p8_s8)
12087 (vreinterpret_p8_s16, vreinterpret_p8_s32, vreinterpret_p8_s64)
12088 (vreinterpret_p8_f32, vreinterpret_p8_u8, vreinterpret_p8_u16)
12089 (vreinterpret_p8_u32, vreinterpret_p8_u64, vreinterpret_p8_p16)
12090 (vreinterpret_p8_p64, vreinterpretq_p8_f64, vreinterpretq_p8_s8)
12091 (vreinterpretq_p8_s16, vreinterpretq_p8_s32, vreinterpretq_p8_s64)
12092 (vreinterpretq_p8_f16, vreinterpretq_p8_f32, vreinterpretq_p8_u8)
12093 (vreinterpretq_p8_u16, vreinterpretq_p8_u32, vreinterpretq_p8_u64)
12094 (vreinterpretq_p8_p16, vreinterpretq_p8_p64, vreinterpretq_p8_p128)
12095 (vreinterpret_p16_f16, vreinterpret_p16_f64, vreinterpret_p16_s8)
12096 (vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_s64)
12097 (vreinterpret_p16_f32, vreinterpret_p16_u8, vreinterpret_p16_u16)
12098 (vreinterpret_p16_u32, vreinterpret_p16_u64, vreinterpret_p16_p8)
12099 (vreinterpret_p16_p64, vreinterpretq_p16_f64, vreinterpretq_p16_s8)
12100 (vreinterpretq_p16_s16, vreinterpretq_p16_s32, vreinterpretq_p16_s64)
12101 (vreinterpretq_p16_f16, vreinterpretq_p16_f32, vreinterpretq_p16_u8)
12102 (vreinterpretq_p16_u16, vreinterpretq_p16_u32, vreinterpretq_p16_u64)
12103 (vreinterpretq_p16_p8, vreinterpretq_p16_p64, vreinterpretq_p16_p128)
12104 (vreinterpret_p64_f16, vreinterpret_p64_f64, vreinterpret_p64_s8)
12105 (vreinterpret_p64_s16, vreinterpret_p64_s32, vreinterpret_p64_s64)
12106 (vreinterpret_p64_f32, vreinterpret_p64_u8, vreinterpret_p64_u16)
12107 (vreinterpret_p64_u32, vreinterpret_p64_u64, vreinterpret_p64_p8)
12108 (vreinterpret_p64_p16, vreinterpretq_p64_f64, vreinterpretq_p64_s8)
12109 (vreinterpretq_p64_s16, vreinterpretq_p64_s32, vreinterpretq_p64_s64)
12110 (vreinterpretq_p64_f16, vreinterpretq_p64_f32, vreinterpretq_p64_p128)
12111 (vreinterpretq_p64_u8, vreinterpretq_p64_u16, vreinterpretq_p64_p16)
12112 (vreinterpretq_p64_u32, vreinterpretq_p64_u64, vreinterpretq_p64_p8)
12113 (vreinterpretq_p128_p8, vreinterpretq_p128_p16, vreinterpretq_p128_f16)
12114 (vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64)
12115 (vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16)
12116 (vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16)
12117 (vreinterpretq_p128_u32, vreinterpret_f16_f64, vreinterpret_f16_s8)
12118 (vreinterpret_f16_s16, vreinterpret_f16_s32, vreinterpret_f16_s64)
12119 (vreinterpret_f16_f32, vreinterpret_f16_u8, vreinterpret_f16_u16)
12120 (vreinterpret_f16_u32, vreinterpret_f16_u64, vreinterpret_f16_p8)
12121 (vreinterpret_f16_p16, vreinterpret_f16_p64, vreinterpretq_f16_f64)
12122 (vreinterpretq_f16_s8, vreinterpretq_f16_s16, vreinterpretq_f16_s32)
12123 (vreinterpretq_f16_s64, vreinterpretq_f16_f32, vreinterpretq_f16_u8)
12124 (vreinterpretq_f16_u16, vreinterpretq_f16_u32, vreinterpretq_f16_u64)
12125 (vreinterpretq_f16_p8, vreinterpretq_f16_p128, vreinterpretq_f16_p16)
12126 (vreinterpretq_f16_p64, vreinterpret_f32_f16, vreinterpret_f32_f64)
12127 (vreinterpret_f32_s8, vreinterpret_f32_s16, vreinterpret_f32_s32)
12128 (vreinterpret_f32_s64, vreinterpret_f32_u8, vreinterpret_f32_u16)
12129 (vreinterpret_f32_u32, vreinterpret_f32_u64, vreinterpret_f32_p8)
12130 (vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpretq_f32_f16)
12131 (vreinterpretq_f32_f64, vreinterpretq_f32_s8, vreinterpretq_f32_s16)
12132 (vreinterpretq_f32_s32, vreinterpretq_f32_s64, vreinterpretq_f32_u8)
12133 (vreinterpretq_f32_u16, vreinterpretq_f32_u32, vreinterpretq_f32_u64)
12134 (vreinterpretq_f32_p8, vreinterpretq_f32_p16, vreinterpretq_f32_p64)
12135 (vreinterpretq_f32_p128, vreinterpret_f64_f16, vreinterpret_f64_f32)
12136 (vreinterpret_f64_p8, vreinterpret_f64_p16, vreinterpret_f64_p64)
12137 (vreinterpret_f64_s8, vreinterpret_f64_s16, vreinterpret_f64_s32)
12138 (vreinterpret_f64_s64, vreinterpret_f64_u8, vreinterpret_f64_u16)
12139 (vreinterpret_f64_u32, vreinterpret_f64_u64, vreinterpretq_f64_f16)
12140 (vreinterpretq_f64_f32, vreinterpretq_f64_p8, vreinterpretq_f64_p16)
12141 (vreinterpretq_f64_p64, vreinterpretq_f64_s8, vreinterpretq_f64_s16)
12142 (vreinterpretq_f64_s32, vreinterpretq_f64_s64, vreinterpretq_f64_u8)
12143 (vreinterpretq_f64_u16, vreinterpretq_f64_u32, vreinterpretq_f64_u64)
12144 (vreinterpret_s64_f16, vreinterpret_s64_f64, vreinterpret_s64_s8)
12145 (vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_f32)
12146 (vreinterpret_s64_u8, vreinterpret_s64_u16, vreinterpret_s64_u32)
12147 (vreinterpret_s64_u64, vreinterpret_s64_p8, vreinterpret_s64_p16)
12148 (vreinterpret_s64_p64, vreinterpretq_s64_f64, vreinterpretq_s64_s8)
12149 (vreinterpretq_s64_s16, vreinterpretq_s64_s32, vreinterpretq_s64_f16)
12150 (vreinterpretq_s64_f32, vreinterpretq_s64_u8, vreinterpretq_s64_u16)
12151 (vreinterpretq_s64_u32, vreinterpretq_s64_u64, vreinterpretq_s64_p8)
12152 (vreinterpretq_s64_p16, vreinterpretq_s64_p64, vreinterpretq_s64_p128)
12153 (vreinterpret_u64_f16, vreinterpret_u64_f64, vreinterpret_u64_s8)
12154 (vreinterpret_u64_s16, vreinterpret_u64_s32, vreinterpret_u64_s64)
12155 (vreinterpret_u64_f32, vreinterpret_u64_u8, vreinterpret_u64_u16)
12156 (vreinterpret_u64_u32, vreinterpret_u64_p8, vreinterpret_u64_p16)
12157 (vreinterpret_u64_p64, vreinterpretq_u64_f64, vreinterpretq_u64_s8)
12158 (vreinterpretq_u64_s16, vreinterpretq_u64_s32, vreinterpretq_u64_s64)
12159 (vreinterpretq_u64_f16, vreinterpretq_u64_f32, vreinterpretq_u64_u8)
12160 (vreinterpretq_u64_u16, vreinterpretq_u64_u32, vreinterpretq_u64_p8)
12161 (vreinterpretq_u64_p16, vreinterpretq_u64_p64, vreinterpretq_u64_p128)
12162 (vreinterpret_s8_f16, vreinterpret_s8_f64, vreinterpret_s8_s16)
12163 (vreinterpret_s8_s32, vreinterpret_s8_s64, vreinterpret_s8_f32)
12164 (vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32)
12165 (vreinterpret_s8_u64, vreinterpret_s8_p8, vreinterpret_s8_p16)
12166 (vreinterpret_s8_p64, vreinterpretq_s8_f64, vreinterpretq_s8_s16)
12167 (vreinterpretq_s8_s32, vreinterpretq_s8_s64, vreinterpretq_s8_f16)
12168 (vreinterpretq_s8_f32, vreinterpretq_s8_u8, vreinterpretq_s8_u16)
12169 (vreinterpretq_s8_u32, vreinterpretq_s8_u64, vreinterpretq_s8_p8)
12170 (vreinterpretq_s8_p16, vreinterpretq_s8_p64, vreinterpretq_s8_p128)
12171 (vreinterpret_s16_f16, vreinterpret_s16_f64, vreinterpret_s16_s8)
12172 (vreinterpret_s16_s32, vreinterpret_s16_s64, vreinterpret_s16_f32)
12173 (vreinterpret_s16_u8, vreinterpret_s16_u16, vreinterpret_s16_u32)
12174 (vreinterpret_s16_u64, vreinterpret_s16_p8, vreinterpret_s16_p16)
12175 (vreinterpret_s16_p64, vreinterpretq_s16_f64, vreinterpretq_s16_s8)
12176 (vreinterpretq_s16_s32, vreinterpretq_s16_s64, vreinterpretq_s16_f16)
12177 (vreinterpretq_s16_f32, vreinterpretq_s16_u8, vreinterpretq_s16_u16)
12178 (vreinterpretq_s16_u32, vreinterpretq_s16_u64, vreinterpretq_s16_p8)
12179 (vreinterpretq_s16_p16, vreinterpretq_s16_p64, vreinterpretq_s16_p128)
12180 (vreinterpret_s32_f16, vreinterpret_s32_f64, vreinterpret_s32_s8)
12181 (vreinterpret_s32_s16, vreinterpret_s32_s64, vreinterpret_s32_f32)
12182 (vreinterpret_s32_u8, vreinterpret_s32_u16, vreinterpret_s32_u32)
12183 (vreinterpret_s32_u64, vreinterpret_s32_p8, vreinterpret_s32_p16)
12184 (vreinterpret_s32_p64, vreinterpretq_s32_f64, vreinterpretq_s32_s8)
12185 (vreinterpretq_s32_s16, vreinterpretq_s32_s64, vreinterpretq_s32_f16)
12186 (vreinterpretq_s32_f32, vreinterpretq_s32_u8, vreinterpretq_s32_u16)
12187 (vreinterpretq_s32_u32, vreinterpretq_s32_u64, vreinterpretq_s32_p8)
12188 (vreinterpretq_s32_p16, vreinterpretq_s32_p64, vreinterpretq_s32_p128)
12189 (vreinterpret_u8_f16, vreinterpret_u8_f64, vreinterpret_u8_s8)
12190 (vreinterpret_u8_s16, vreinterpret_u8_s32, vreinterpret_u8_s64)
12191 (vreinterpret_u8_f32, vreinterpret_u8_u16, vreinterpret_u8_u32)
12192 (vreinterpret_u8_u64, vreinterpret_u8_p8, vreinterpret_u8_p16)
12193 (vreinterpret_u8_p64, vreinterpretq_u8_f64, vreinterpretq_u8_s8)
12194 (vreinterpretq_u8_s16, vreinterpretq_u8_s32, vreinterpretq_u8_s64)
12195 (vreinterpretq_u8_f16, vreinterpretq_u8_f32, vreinterpretq_u8_u16)
12196 (vreinterpretq_u8_u32, vreinterpretq_u8_u64, vreinterpretq_u8_p8)
12197 (vreinterpretq_u8_p16, vreinterpretq_u8_p64, vreinterpretq_u8_p128)
12198 (vreinterpret_u16_f16, vreinterpret_u16_f64, vreinterpret_u16_s8)
12199 (vreinterpret_u16_s16, vreinterpret_u16_s32, vreinterpret_u16_s64)
12200 (vreinterpret_u16_f32, vreinterpret_u16_u8, vreinterpret_u16_u32)
12201 (vreinterpret_u16_u64, vreinterpret_u16_p8, vreinterpret_u16_p16)
12202 (vreinterpret_u16_p64, vreinterpretq_u16_f64, vreinterpretq_u16_s8)
12203 (vreinterpretq_u16_s16, vreinterpretq_u16_s32, vreinterpretq_u16_s64)
12204 (vreinterpretq_u16_f16, vreinterpretq_u16_f32, vreinterpretq_u16_u8)
12205 (vreinterpretq_u16_u32, vreinterpretq_u16_u64, vreinterpretq_u16_p8)
12206 (vreinterpretq_u16_p16, vreinterpretq_u16_p64, vreinterpretq_u16_p128)
12207 (vreinterpret_u32_f16, vreinterpret_u32_f64, vreinterpret_u32_s8)
12208 (vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_s64)
12209 (vreinterpret_u32_f32, vreinterpret_u32_u8, vreinterpret_u32_u16)
12210 (vreinterpret_u32_u64, vreinterpret_u32_p8, vreinterpret_u32_p16)
12211 (vreinterpret_u32_p64, vreinterpretq_u32_f64, vreinterpretq_u32_s8)
12212 (vreinterpretq_u32_s16, vreinterpretq_u32_s32, vreinterpretq_u32_s64)
12213 (vreinterpretq_u32_f16, vreinterpretq_u32_f32, vreinterpretq_u32_u8)
12214 (vreinterpretq_u32_u16, vreinterpretq_u32_u64, vreinterpretq_u32_p8)
12215 (vreinterpretq_u32_p16, vreinterpretq_u32_p64, vreinterpretq_u32_p128)
12216 (vreinterpretq_f64_p128, vreinterpretq_p128_f64, vreinterpret_bf16_u8)
12217 (vreinterpret_bf16_u16, vreinterpret_bf16_u32, vreinterpret_bf16_u64)
12218 (vreinterpret_bf16_s8, vreinterpret_bf16_s16, vreinterpret_bf16_s32)
12219 (vreinterpret_bf16_s64, vreinterpret_bf16_p8, vreinterpret_bf16_p16)
12220 (vreinterpret_bf16_p64, vreinterpret_bf16_f16, vreinterpret_bf16_f32)
12221 (vreinterpret_bf16_f64, vreinterpretq_bf16_u8, vreinterpretq_bf16_u16)
12222 (vreinterpretq_bf16_u32, vreinterpretq_bf16_u64, vreinterpretq_bf16_s8)
12223 (vreinterpretq_bf16_s16, vreinterpretq_bf16_s32, vreinterpretq_bf16_s64)
12224 (vreinterpretq_bf16_p8, vreinterpretq_bf16_p16, vreinterpretq_bf16_p64)
12225 (vreinterpretq_bf16_p128, vreinterpretq_bf16_f16)
12226 (vreinterpretq_bf16_f32, vreinterpretq_bf16_f64, vreinterpret_s8_bf16)
12227 (vreinterpret_s16_bf16, vreinterpret_s32_bf16, vreinterpret_s64_bf16)
12228 (vreinterpret_u8_bf16, vreinterpret_u16_bf16, vreinterpret_u32_bf16)
12229 (vreinterpret_u64_bf16, vreinterpret_f16_bf16, vreinterpret_f32_bf16)
12230 (vreinterpret_f64_bf16, vreinterpret_p8_bf16, vreinterpret_p16_bf16)
12231 (vreinterpret_p64_bf16, vreinterpretq_s8_bf16, vreinterpretq_s16_bf16)
12232 (vreinterpretq_s32_bf16, vreinterpretq_s64_bf16, vreinterpretq_u8_bf16)
12233 (vreinterpretq_u16_bf16, vreinterpretq_u32_bf16, vreinterpretq_u64_bf16)
12234 (vreinterpretq_f16_bf16, vreinterpretq_f32_bf16, vreinterpretq_f64_bf16)
12235 (vreinterpretq_p8_bf16, vreinterpretq_p16_bf16, vreinterpretq_p64_bf16)
12236 (vreinterpretq_p128_bf16): Delete
12237
12238 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
12239
12240 * config/aarch64/aarch64-builtins.cc
12241 (aarch64_simd_builtin_std_type): Rename to...
12242 (aarch64_int_or_fp_type): ...this, and allow irrelevant qualifiers.
12243 (aarch64_lookup_simd_builtin_type): Rename to...
12244 (aarch64_simd_builtin_type): ...this. Add const/pointer
12245 support, and extract table lookup to...
12246 (aarch64_lookup_simd_type_in_table): ...this function.
12247 (aarch64_init_crc32_builtins): Update to use aarch64_simd_builtin_type.
12248 (aarch64_init_fcmla_laneq_builtins): Ditto.
12249 (aarch64_init_simd_builtin_functions): Ditto.
12250
12251 2022-07-26 Andrew Carlotti <andrew.carlotti@arm.com>
12252
12253 * config/aarch64/aarch64-builtins.cc
12254 (aarch64_general_gimple_fold_builtin): Add combine.
12255
12256 2022-07-26 Richard Biener <rguenther@suse.de>
12257
12258 PR tree-optimization/106189
12259 * gimple-array-bounds.cc (array_bounds_checker::check_mem_ref):
12260 Divide using offset_ints.
12261
12262 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12263
12264 * common/config/loongarch/loongarch-common.cc:
12265 Enable '-fsection-anchors' when O1 and more advanced optimization.
12266 * config/loongarch/genopts/loongarch.opt.in: Add new option
12267 '-mexplicit-relocs', and enable by default.
12268 * config/loongarch/loongarch-protos.h (loongarch_split_move_insn_p):
12269 Delete function declaration.
12270 (loongarch_split_move_insn): Delete function declaration.
12271 (loongarch_split_symbol_type): Add function declaration.
12272 * config/loongarch/loongarch.cc (enum loongarch_address_type):
12273 Add new address type 'ADDRESS_LO_SUM'.
12274 (loongarch_classify_symbolic_expression): New function definitions.
12275 Classify the base of symbolic expression X, given that X appears in
12276 context CONTEXT.
12277 (loongarch_symbol_insns): Add a judgment condition TARGET_EXPLICIT_RELOCS.
12278 (loongarch_split_symbol_type): New function definitions.
12279 Determines whether the symbol load should be split into two instructions.
12280 (loongarch_valid_lo_sum_p): New function definitions.
12281 Return true if a LO_SUM can address a value of mode MODE when the LO_SUM
12282 symbol has type SYMBOL_TYPE.
12283 (loongarch_classify_address): Add handling of 'LO_SUM'.
12284 (loongarch_address_insns): Add handling of 'ADDRESS_LO_SUM'.
12285 (loongarch_signed_immediate_p): Sort code.
12286 (loongarch_12bit_offset_address_p): Return true if address type is ADDRESS_LO_SUM.
12287 (loongarch_const_insns): Add handling of 'HIGH'.
12288 (loongarch_split_move_insn_p): Add the static attribute to the function.
12289 (loongarch_emit_set): New function definitions.
12290 (loongarch_call_tls_get_addr): Add symbol handling when defining TARGET_EXPLICIT_RELOCS.
12291 (loongarch_legitimize_tls_address): Add symbol handling when defining the
12292 TARGET_EXPLICIT_RELOCS macro.
12293 (loongarch_split_symbol): New function definitions. Split symbol.
12294 (loongarch_legitimize_address): Add codes see if the address can split into a high part
12295 and a LO_SUM.
12296 (loongarch_legitimize_const_move): Add codes split moves of symbolic constants into
12297 high and low.
12298 (loongarch_split_move_insn): Delete function definitions.
12299 (loongarch_output_move): Add support for HIGH and LO_SUM.
12300 (loongarch_print_operand_reloc): New function definitions.
12301 Print symbolic operand OP, which is part of a HIGH or LO_SUM in context CONTEXT.
12302 (loongarch_memmodel_needs_release_fence): Sort code.
12303 (loongarch_print_operand): Rearrange alphabetical order and add H and L to support HIGH
12304 and LOW output.
12305 (loongarch_print_operand_address): Add handling of 'ADDRESS_LO_SUM'.
12306 (TARGET_MIN_ANCHOR_OFFSET): Define macro to -IMM_REACH/2.
12307 (TARGET_MAX_ANCHOR_OFFSET): Define macro to IMM_REACH/2-1.
12308 * config/loongarch/loongarch.md (movti): Delete the template.
12309 (*movti): Delete the template.
12310 (movtf): Delete the template.
12311 (*movtf): Delete the template.
12312 (*low<mode>): New template of normal symbol low address.
12313 (@tls_low<mode>): New template of tls symbol low address.
12314 (@ld_from_got<mode>): New template load address from got table.
12315 (@ori_l_lo12<mode>): New template.
12316 * config/loongarch/loongarch.opt: Update from loongarch.opt.in.
12317 * config/loongarch/predicates.md: Add support for symbol_type HIGH.
12318
12319 2022-07-26 Lulu Cheng <chenglulu@loongson.cn>
12320
12321 * config/loongarch/constraints.md (a): Delete the constraint.
12322 (b): A constant call not local address.
12323 (h): Delete the constraint.
12324 (t): Delete the constraint.
12325 * config/loongarch/loongarch-opts.cc (loongarch_config_target):
12326 Remove cModel type support other than normal.
12327 * config/loongarch/loongarch-protos.h (enum loongarch_symbol_type):
12328 Add new symbol type 'SYMBOL_PCREL', 'SYMBOL_TLS_IE' and 'SYMBOL_TLS_LE'.
12329 (loongarch_split_symbol): Delete useless function declarations.
12330 (loongarch_split_symbol_type): Delete useless function declarations.
12331 * config/loongarch/loongarch.cc (enum loongarch_address_type):
12332 Delete unnecessary comment information.
12333 (loongarch_symbol_binds_local_p): Modified the judgment order of label
12334 and symbol.
12335 (loongarch_classify_symbol): Return symbol type. If symbol is a label,
12336 or symbol is a local symbol return SYMBOL_PCREL. If is a tls symbol,
12337 return SYMBOL_TLS. If is a not local symbol return SYMBOL_GOT_DISP.
12338 (loongarch_symbolic_constant_p): Add handling of 'SYMBOL_TLS_IE'
12339 'SYMBOL_TLS_LE' and 'SYMBOL_PCREL'.
12340 (loongarch_symbol_insns): Add handling of 'SYMBOL_TLS_IE' 'SYMBOL_TLS_LE'
12341 and 'SYMBOL_PCREL'.
12342 (loongarch_address_insns): Sort code.
12343 (loongarch_12bit_offset_address_p): Sort code.
12344 (loongarch_14bit_shifted_offset_address_p): Sort code.
12345 (loongarch_call_tls_get_addr): Sort code.
12346 (loongarch_legitimize_tls_address): Sort code.
12347 (loongarch_output_move): Remove schema support for cmodel other than normal.
12348 (loongarch_memmodel_needs_release_fence): Sort code.
12349 (loongarch_print_operand): Sort code.
12350 * config/loongarch/loongarch.h (LARCH_U12BIT_OFFSET_P):
12351 Rename to LARCH_12BIT_OFFSET_P.
12352 (LARCH_12BIT_OFFSET_P): New macro.
12353 * config/loongarch/loongarch.md: Reimplement the function call. Remove schema
12354 support for cmodel other than normal.
12355 * config/loongarch/predicates.md (is_const_call_weak_symbol): Delete this predicate.
12356 (is_const_call_plt_symbol): Delete this predicate.
12357 (is_const_call_global_noplt_symbol): Delete this predicate.
12358 (is_const_call_no_local_symbol): New predicate, determines whether it is a local
12359 symbol or label.
12360
12361 2022-07-26 Kewen Lin <linkw@linux.ibm.com>
12362
12363 PR target/106091
12364 * config/rs6000/rs6000-p8swap.cc (replace_swapped_aligned_store): Copy
12365 REG_EH_REGION when replacing one store insn having it.
12366 (replace_swapped_aligned_load): Likewise.
12367
12368 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12369
12370 * Makefile.in (OBJS): Add range-op-float.o.
12371 * range-op.cc (get_float_handler): New.
12372 (range_op_handler::range_op_handler): Save code and type for
12373 delayed querying.
12374 (range_op_handler::oeprator bool): Move from header file, and
12375 add support for floats.
12376 (range_op_handler::fold_range): Add support for floats.
12377 (range_op_handler::op1_range): Same.
12378 (range_op_handler::op2_range): Same.
12379 (range_op_handler::lhs_op1_relation): Same.
12380 (range_op_handler::lhs_op2_relation): Same.
12381 (range_op_handler::op1_op2_relation): Same.
12382 * range-op.h (class range_operator_float): New.
12383 (class floating_op_table): New.
12384 * value-query.cc (range_query::get_tree_range): Add case for
12385 REAL_CST.
12386 * range-op-float.cc: New file.
12387
12388 2022-07-25 Roger Sayle <roger@nextmovesoftware.com>
12389 Uroš Bizjak <ubizjak@gmail.com>
12390
12391 PR target/91681
12392 * config/i386/i386-expand.cc (split_double_concat): A new helper
12393 function for setting a double word value from two word values.
12394 * config/i386/i386-protos.h (split_double_concat): Prototype here.
12395 * config/i386/i386.md (zero_extendditi2): New define_insn_and_split.
12396 (*add<dwi>3_doubleword_zext): New define_insn_and_split.
12397 (*sub<dwi>3_doubleword_zext): New define_insn_and_split.
12398 (*concat<mode><dwi>3_1): New define_insn_and_split replacing
12399 previous define_split for implementing DST = (HI<<32)|LO as
12400 pair of move instructions, setting lopart and hipart.
12401 (*concat<mode><dwi>3_2): Likewise.
12402 (*concat<mode><dwi>3_3): Likewise, where HI is zero_extended.
12403 (*concat<mode><dwi>3_4): Likewise, where HI is zero_extended.
12404
12405 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12406
12407 PR middle-end/106432
12408 * gimple-range.cc (gimple_ranger::range_on_edge): Return false
12409 when the result range type is unsupported.
12410
12411 2022-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
12412
12413 * config/rs6000/rtems.h (CPLUSPLUS_CPP_SPEC): Undef.
12414
12415 2022-07-25 Richard Biener <rguenther@suse.de>
12416
12417 PR middle-end/106414
12418 * match.pd (~(x ^ y) -> x == y): Restrict to single bit
12419 precision types.
12420
12421 2022-07-25 Andre Vieira <andre.simoesdiasvieira@arm.com>
12422
12423 * config/aarch64/aarch64.md (rbit<mode>2): Rename this ...
12424 (@aarch64_rbit<mode>): ... to this and change it in...
12425 (ffs<mode>2,ctz<mode>2): ... here.
12426 (@aarch64_rev16<mode>): New.
12427 * config/aarch64/aarch64-builtins.cc: (aarch64_builtins):
12428 Define the following enum AARCH64_REV16, AARCH64_REV16L,
12429 AARCH64_REV16LL, AARCH64_RBIT, AARCH64_RBITL, AARCH64_RBITLL.
12430 (aarch64_init_data_intrinsics): New.
12431 (aarch64_general_init_builtins): Add call to
12432 aarch64_init_data_intrinsics.
12433 (aarch64_expand_builtin_data_intrinsic): New.
12434 (aarch64_general_expand_builtin): Add call to
12435 aarch64_expand_builtin_data_intrinsic.
12436 * config/aarch64/arm_acle.h (__clz, __clzl, __clzll, __cls, __clsl,
12437 __clsll, __rbit, __rbitl, __rbitll, __rev, __revl, __revll, __rev16,
12438 __rev16l, __rev16ll, __ror, __rorl, __rorll, __revsh): New.
12439
12440 2022-07-25 Martin Liska <mliska@suse.cz>
12441
12442 * doc/extend.texi: Remove trailing whitespaces.
12443 * doc/invoke.texi: Likewise.
12444
12445 2022-07-25 Aldy Hernandez <aldyh@redhat.com>
12446
12447 * value-range-pretty-print.cc (vrange_printer::visit): New.
12448 (vrange_printer::print_frange_prop): New.
12449 * value-range-pretty-print.h (class vrange_printer): Add visit and
12450 print_frange_prop.
12451 * value-range-storage.h (vrange_allocator::alloc_vrange): Handle frange.
12452 (vrange_allocator::alloc_frange): New.
12453 * value-range.cc (vrange::operator=): Handle frange.
12454 (vrange::operator==): Same.
12455 (frange::accept): New.
12456 (frange::set): New.
12457 (frange::normalize_kind): New.
12458 (frange::union_): New.
12459 (frange::intersect): New.
12460 (frange::operator=): New.
12461 (frange::operator==): New.
12462 (frange::supports_type_p): New.
12463 (frange::verify_range): New.
12464 * value-range.h (enum value_range_discriminator): Handle frange.
12465 (class fp_prop): New.
12466 (FP_PROP_ACCESSOR): New.
12467 (class frange_props): New.
12468 (FRANGE_PROP_ACCESSOR): New.
12469 (class frange): New.
12470 (Value_Range::init): Handle frange.
12471 (Value_Range::operator=): Same.
12472 (Value_Range::supports_type_p): Same.
12473 (frange_props::operator==): New.
12474 (frange_props::union_): New.
12475 (frange_props::intersect): New
12476 (frange::frange): New.
12477 (frange::type): New.
12478 (frange::set_varying): New.
12479 (frange::set_undefined): New.
12480
12481 2022-07-25 Peter Bergner <bergner@linux.ibm.com>
12482 Kewen Lin <linkw@linux.ibm.com>
12483
12484 PR testsuite/106345
12485 * config/rs6000/rs6000.h (DRIVER_SELF_SPECS): Adjust -mdejagnu-cpu
12486 to filter out all -mtune options.
12487
12488 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12489
12490 * value-query.cc (range_query::get_value_range): Add assert.
12491 * vr-values.cc (vr_values::range_of_expr): Make sure we don't ICE
12492 on unsupported types in vr_values.
12493 (simplify_using_ranges::simplify): Same.
12494
12495 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12496
12497 * tree-ssanames.cc (get_nonzero_bits): Return -1 for unsupported
12498 types.
12499 * value-query.cc (get_ssa_name_range_info): Remove precision check.
12500
12501 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12502
12503 * value-relation.cc (value_relation::set_relation): Remove assert.
12504 (path_oracle::register_relation): Exit when trying to register
12505 same SSA name relations.
12506
12507 2022-07-24 Aldy Hernandez <aldyh@redhat.com>
12508
12509 * gimple-range-cache.cc (ranger_cache::edge_range): Convert to vrange.
12510 (ranger_cache::range_from_dom): Same.
12511 * tree-ssa-dom.cc
12512 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): Same.
12513
12514 2022-07-24 Roger Sayle <roger@nextmovesoftware.com>
12515 H.J. Lu <hjl.tools@gmail.com>
12516
12517 PR target/106303
12518 PR target/106347
12519 * config/i386/i386-features.cc (make_vector_copies): Move from
12520 general_scalar_chain to scalar_chain.
12521 (convert_reg): Likewise.
12522 (convert_insn_common): New scalar_chain method split out from
12523 general_scalar_chain convert_insn.
12524 (convert_registers): Move from general_scalar_chain to
12525 scalar_chain.
12526 (scalar_chain::convert): Call convert_insn_common before calling
12527 convert_insn.
12528 (timode_remove_non_convertible_regs): Iterate until there are
12529 no further changes to the candidates.
12530 * config/i386/i386-features.h (scalar_chain::hash_map): Move
12531 from general_scalar_chain.
12532 (scalar_chain::convert_reg): Likewise.
12533 (scalar_chain::convert_insn_common): New shared method.
12534 (scalar_chain::make_vector_copies): Move from general_scalar_chain.
12535 (scalar_chain::convert_registers): Likewise. No longer virtual.
12536 (general_scalar_chain::hash_map): Delete. Moved to scalar_chain.
12537 (general_scalar_chain::convert_reg): Likewise.
12538 (general_scalar_chain::make_vector_copies): Likewise.
12539 (general_scalar_chain::convert_registers): Delete virtual method.
12540 (timode_scalar_chain::convert_registers): Likewise.
12541
12542 2022-07-23 Immad Mir <mirimmad@outlook.com>
12543
12544 * doc/extend.texi: Add fd_arg, fd_arg_read and fd_arg_write under
12545 "Common Function Attributes" section.
12546 * doc/invoke.texi: Add docs to -Wanalyzer-fd-access-mode-mismatch,
12547 -Wanalyzer-use-after-close, -Wanalyzer-fd-use-without-check that these
12548 warnings may be emitted through usage of three function attributes used
12549 for static analysis of file descriptors namely fd_arg, fd_arg_read and
12550 fd_arg_write.
12551
12552 2022-07-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12553
12554 * config/xtensa/xtensa.md (*masktrue_const_bitcmpl):
12555 Add a new insn_and_split pattern, and a few split patterns for
12556 spacial cases.
12557
12558 2022-07-22 Richard Sandiford <richard.sandiford@arm.com>
12559
12560 * graphds.cc (graphds_scc): Fix algorithm attribution.
12561
12562 2022-07-22 Richard Biener <rguenther@suse.de>
12563
12564 PR tree-optimization/106403
12565 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Move stored
12566 value valueization after check for IFN_MASKED_STORE or
12567 IFN_LEN_STORE.
12568
12569 2022-07-22 Richard Biener <rguenther@suse.de>
12570
12571 PR tree-optimization/106397
12572 * tree-ssa-loop-prefetch.cc (emit_mfence_after_loop): Do
12573 not update SSA form here.
12574 (mark_nontemporal_stores): Return whether we marked any
12575 non-temporal stores and inserted mfence.
12576 (loop_prefetch_arrays): Note when we need to update SSA.
12577 (tree_ssa_prefetch_arrays): Perform required (LC) SSA update
12578 at the end of the pass.
12579
12580 2022-07-22 Richard Biener <rguenther@suse.de>
12581
12582 PR tree-optimization/106387
12583 * tree-vect-stmts.cc (vectorizable_load): Use make_ssa_name
12584 if ptr is not an SSA name.
12585
12586 2022-07-22 liuhongt <hongtao.liu@intel.com>
12587
12588 PR target/106038
12589 * config/i386/mmx.md (<code><mode>3): New define_expand, it's
12590 original "<code><mode>3".
12591 (*<code><mode>3): New define_insn, it's original
12592 "<code><mode>3" be extended to handle memory and immediate
12593 operand with ix86_binary_operator_ok. Also adjust define_split
12594 after it.
12595 (mmxinsnmode): New mode attribute.
12596 (*mov<mode>_imm): Refactor with mmxinsnmode.
12597 * config/i386/predicates.md
12598 (register_or_x86_64_const_vector_operand): New predicate.
12599
12600 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
12601
12602 * config/rs6000/altivec.md:
12603 (vstrir_code_<mode>): Rename to...
12604 (vstrir_direct_<mode>): ... this.
12605 (vstrir_p_code_<mode>): Rename to...
12606 (vstrir_p_direct_<mode>): ... this.
12607 (vstril_code_<mode>): Rename to...
12608 (vstril_direct_<mode>): ... this.
12609 (vstril_p_code_<mode>): Rename to...
12610 (vstril_p_direct_<mode>): ... this.
12611
12612 2022-07-22 Will Schmidt <will_schmidt@vnet.ibm.com>
12613
12614 * config/rs6000/rs6000-c.cc: Update comments.
12615 (rs6000_target_modify_macros): Remove bu_mask references.
12616 (rs6000_define_or_undefine_macro): Replace bu_mask reference
12617 with a rs6000_cpu value check.
12618 (rs6000_cpu_cpp_builtins): Remove rs6000_builtin_mask_calculate()
12619 parameter from call to rs6000_target_modify_macros.
12620 * config/rs6000/rs6000-protos.h (rs6000_target_modify_macros,
12621 rs6000_target_modify_macros_ptr): Remove parameter from extern
12622 for the prototype.
12623 * config/rs6000/rs6000.cc (rs6000_target_modify_macros_ptr): Remove
12624 parameter from prototype, update calls to this function.
12625 (rs6000_print_builtin_options): Remove prototype, call and function.
12626 (rs6000_builtin_mask_calculate): Remove function.
12627 (rs6000_debug_reg_global): Remove call to rs6000_print_builtin_options.
12628 (rs6000_option_override_internal): Remove rs6000_builtin_mask var
12629 and builtin_mask debug output.
12630 (rs6000_builtin_mask_names): Remove.
12631 (rs6000_pragma_target_parse): Remove prev_bumask, cur_bumask,
12632 diff_bumask references; Update calls to rs6000_target_modify_ptr.
12633 * config/rs6000/rs6000.opt (rs6000_builtin_mask): Remove.
12634
12635 2022-07-21 Sam Feifer <sfeifer@redhat.com>
12636
12637 PR tree-optimization/94920
12638 * match.pd (x >= 0 ? x : 0) + (x <= 0 ? -x : 0): New simplification.
12639 (x <= 0 ? -x : 0): New simplification.
12640
12641 2022-07-21 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12642
12643 Revert:
12644 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12645
12646 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
12647 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
12648
12649 2022-07-21 Richard Biener <rguenther@suse.de>
12650
12651 PR tree-optimization/106379
12652 * match.pd (~(a ^ b) -> a == b): New pattern.
12653
12654 2022-07-21 Richard Biener <rguenther@suse.de>
12655
12656 PR tree-optimization/106378
12657 * tree-ssa-dse.cc (initialize_ao_ref_for_dse): Handle
12658 LEN_STORE, add mode to initialize a may-def and handle
12659 MASK_STORE that way.
12660 (dse_optimize_stmt): Query may-defs. Handle internal
12661 functions LEN_STORE and MASK_STORE similar to how
12662 we handle memory builtins but without byte tracking.
12663
12664 2022-07-21 Richard Biener <rguenther@suse.de>
12665
12666 PR tree-optimization/106365
12667 * tree-ssa-sccvn.cc (pd_data::rhs_off): New field determining
12668 the offset to start encoding of RHS from.
12669 (vn_walk_cb_data::vn_walk_cb_data): Initialize it.
12670 (vn_walk_cb_data::push_partial_def): Allow the first partial
12671 definition to be fully providing the def. Offset RHS
12672 before encoding if requested.
12673 (vn_reference_lookup_3): Initialize def_rhs everywhere.
12674 Add support for .MASK_STORE and .LEN_STORE (partial) definitions.
12675
12676 2022-07-21 Richard Biener <rguenther@suse.de>
12677
12678 * tree-ssa-alias.cc (ref_maybe_used_by_call_p_1): Special-case
12679 store internal functions and IFN_MASK_LOAD, IFN_LEN_LOAD
12680 and IFN_MASK_LOAD_LANES.
12681 (call_may_clobber_ref_p_1): Special-case IFN_MASK_STORE,
12682 IFN_LEN_STORE and IFN_MASK_STORE_LANES.
12683
12684 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
12685
12686 PR rtl-optimization/101347
12687 * builtins.cc (expand_builtin) [BUILT_IN_SETJMP_SETUP]: Move
12688 population of nonlocal_goto_handler_labels from here ...
12689 (expand_builtin) [BUILT_IN_SETJMP_RECEIVER]: ... to here.
12690 * rtlanal.cc (remove_node_from_insn_list): Verify that a
12691 duplicate is not present in the remainder of the list.
12692
12693 2022-07-20 Alexander Monakov <amonakov@ispras.ru>
12694
12695 * rtl.h (remove_node_from_expr_list): Remove declaration.
12696 * rtlanal.cc (remove_node_from_expr_list): Remove (no uses).
12697
12698 2022-07-20 Richard Biener <rguenther@suse.de>
12699
12700 * tree-vect-data-refs.cc (bump_vector_ptr): Return an
12701 invariant updated address when the input was invariant.
12702
12703 2022-07-20 liuhongt <hongtao.liu@intel.com>
12704
12705 * passes.def: (Split pass_cse_sincos to pass_expand_powcabs
12706 and pass_cse_sincos, and move pass_cse_sincos after vectorizer).
12707 * timevar.def (TV_TREE_POWCABS): New timevar.
12708 * tree-pass.h (make_pass_expand_powcabs): Split from pass_cse_sincos.
12709 * tree-ssa-math-opts.cc (gimple_expand_builtin_cabs): Ditto.
12710 (class pass_expand_powcabs): Ditto.
12711 (pass_expand_powcabs::execute): Ditto.
12712 (make_pass_expand_powcabs): Ditto.
12713 (pass_cse_sincos::execute): Remove pow/cabs expand part.
12714 (make_pass_cse_sincos): Ditto.
12715
12716 2022-07-20 Richard Biener <richard.guenther@gmail.com>
12717 Hongtao Liu <hongtao.liu@intel.com>
12718
12719 PR tree-optimization/106010
12720 * tree-complex.cc (init_dont_simulate_again): Lower complex
12721 type move.
12722 (expand_complex_move): Also expand COMPLEX_CST for rhs.
12723
12724 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
12725
12726 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check
12727 for incoming ranges on join nodes and add to worklist.
12728
12729 2022-07-19 Andrew MacLeod <amacleod@redhat.com>
12730
12731 * gimple-range-cache.cc (ranger_cache::resolve_dom): New.
12732 (ranger_cache::range_from_dom): Put all nodes to be calculated
12733 in the worklist and resolve after the dom walk.
12734 * gimple-range-cache.h (resolve_dom): New prototype.
12735
12736 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12737
12738 * tree-cfg.cc (gimple_verify_flow_info): Check placement of
12739 returns_twice calls.
12740
12741 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12742
12743 * cfghooks.cc (duplicate_block): Expand comment.
12744 * tree-cfg.cc (gimple_can_duplicate_bb_p): Reject blocks with
12745 calls that may return twice.
12746
12747 2022-07-19 Alexander Monakov <amonakov@ispras.ru>
12748
12749 * tree-ssa-sink.cc (select_best_block): Punt if selected block
12750 has incoming abnormal edges.
12751
12752 2022-07-19 Martin Liska <mliska@suse.cz>
12753
12754 * doc/extend.texi: Remove trailing :.
12755
12756 2022-07-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12757
12758 * tree-ssa-forwprop.cc (simplify_permutation): Use lhs type
12759 instead of TREE_TYPE (arg0) as result type in folding VEC_PERM_EXPR.
12760
12761 2022-07-19 Richard Biener <rguenther@suse.de>
12762
12763 PR middle-end/106331
12764 * builtins.cc (get_memory_rtx): Compute alignment from
12765 the original address and set MEM_OFFSET to unknown when
12766 we create a MEM_EXPR from the base object of the address.
12767
12768 2022-07-19 Richard Biener <rguenther@suse.de>
12769
12770 PR lto/106334
12771 * dwarf2out.cc (dwarf2out_register_external_die): Allow
12772 map entry re-use during WPA.
12773
12774 2022-07-19 Roger Sayle <roger@nextmovesoftware.com>
12775 Richard Biener <rguenther@suse.de>
12776
12777 PR c/106264
12778 * builtins.cc (fold_builtin_frexp): Call suppress_warning on
12779 COMPOUND_EXPR to silence spurious warning if result isn't used.
12780 (fold_builtin_modf): Likewise.
12781 (do_mpfr_remquo): Likewise.
12782
12783 2022-07-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12784
12785 * config/xtensa/xtensa.cc (xtensa_rtx_costs):
12786 Change the relative cost of '(set (reg) (const_int N))' where
12787 N fits into signed 12-bit from 4 to 0 if optimizing for size.
12788 And use the appropriate macro instead of the bare number 4.
12789
12790 2022-07-18 Andrew MacLeod <amacleod@redhat.com>
12791
12792 PR tree-optimization/106280
12793 * value-relation.cc (dom_oracle::register_relation): Register
12794 transitives only when it is possible for there to be one.
12795 (dom_oracle::set_one_relation): Return NULL if this is an
12796 existing relation.
12797
12798 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12799
12800 * doc/invoke.texi (RISC-V Options): Add index references for
12801 `mrelax' and `mriscv-attribute'.
12802
12803 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12804
12805 * doc/invoke.texi (Option Summary): Add missing second space
12806 around `-mstack-protector-guard-reg='.
12807
12808 2022-07-18 Maciej W. Rozycki <macro@embecosm.com>
12809
12810 * doc/invoke.texi (Option Summary): Fix `-mno-riscv-attribute'.
12811 (RISC-V Options): Likewise, and `-mriscv-attribute'.
12812
12813 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
12814
12815 * config/arc/arc-arch.h (arc_tune_attr): Add
12816 ARC_TUNE_ARCHS4X_REL31A variant.
12817 * config/arc/arc.cc (arc_override_options): Tune options for
12818 release 310a.
12819 (arc_sched_issue_rate): Use correct enum.
12820 (arc600_corereg_hazard): Textual change.
12821 (arc_hazard): Add release 310a tunning.
12822 * config/arc/arc.md (tune): Update and take into consideration new
12823 tune option.
12824 (tune_dspmpy): Likewise.
12825 (tune_store): New attribute.
12826 * config/arc/arc.opt (mtune): New tune option.
12827 * config/arc/arcHS4x.md (hs4x_brcc0, hs4x_brcc1): New cpu units.
12828 (hs4x_brcc_op): New instruction rezervation.
12829 (hs4x_data_store_1_op): Likewise.
12830 * config/arc/arc-cpus.def (hs4x_rel31): New cpu variant.
12831 * config/arc/arc-tables.opt: Regenerate.
12832 * config/arc/t-multilib: Likewise.
12833 * doc/invoke.texi (ARC): Update mcpu and tune sections.
12834
12835 2022-07-18 Richard Biener <rguenther@suse.de>
12836
12837 * tree-loop-distribution.cc (loop_distribution::distribute_loop):
12838 When computing cost-based merging do not disregard builtin
12839 classified partitions in some cases.
12840
12841 2022-07-18 Richard Sandiford <richard.sandiford@arm.com>
12842
12843 PR target/106253
12844 * config/arm/arm-builtins.cc (arm_builtin_vectorized_function):
12845 Delete.
12846 * config/arm/arm-protos.h (arm_builtin_vectorized_function): Delete.
12847 * config/arm/arm.cc (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION):
12848 Delete.
12849 * config/arm/arm_neon_builtins.def (copysignf): Delete.
12850 * config/arm/iterators.md (nvrint_pattern): New attribute.
12851 * config/arm/neon.md (<NEON_VRINT:nvrint_pattern><VCVTF:mode>2):
12852 New pattern.
12853 (l<NEON_VCVT:nvrint_pattern><su_optab><VCVTF:mode><v_cmp_result>2):
12854 Likewise.
12855 (neon_copysignf<mode>): Rename to...
12856 (copysign<mode>3): ...this.
12857
12858 2022-07-18 Claudiu Zissulescu <claziss@gmail.com>
12859
12860 * config/arc/arc.cc (arc_expand_epilogue): Adjust the frame
12861 pointer first when in interrupts.
12862
12863 2022-07-18 Richard Biener <rguenther@suse.de>
12864
12865 * tree-loop-distribution.cc (copy_loop_before): Add
12866 the ability to replace the original LC PHI defs.
12867 (generate_loops_for_partition): Pass through a flag
12868 whether to redirect original LC PHI defs.
12869 (generate_code_for_partition): Likewise.
12870 (loop_distribution::distribute_loop): Compute the partition
12871 that should provide the LC PHI defs for common reductions
12872 and pass that down.
12873
12874 2022-07-18 Richard Ball <richard.ball@arm.com>
12875
12876 * config/aarch64/aarch64.cc (aarch64_evpc_trn): Use std:swap.
12877 (aarch64_evpc_uzp): Likewise.
12878 (aarch64_evpc_zip): Likewise.
12879
12880 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12881
12882 PR target/106231
12883 * config/i386/i386.md (*ctzsidi2_<s>ext): New insn_and_split
12884 to recognize any_extend:DI of ctz:SI which is implicitly extended.
12885 (*ctzsidi2_<s>ext_falsedep): New define_insn to model a DImode
12886 extended ctz:SI that has preceding xor to break false dependency.
12887
12888 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12889
12890 * config/i386/predicates.md (x86_64_const_vector_operand):
12891 Check the operand's mode matches the specified mode argument.
12892
12893 2022-07-18 Roger Sayle <roger@nextmovesoftware.com>
12894
12895 * config/i386/sse.md (kunpckhi): Add UNSPEC_MASKOP unspec.
12896 (kunpcksi): Likewise, add UNSPEC_MASKOP unspec.
12897 (kunpckdi): Likewise, add UNSPEC_MASKOP unspec.
12898 (vec_pack_trunc_qi): Update to specify the now required
12899 UNSPEC_MASKOP unspec.
12900 (vec_pack_trunc_<mode>): Likewise.
12901
12902 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12903
12904 * config/xtensa/xtensa.md
12905 (*masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
12906 *masktrue_const_shifted_mask): If the immediate for bitwise AND is
12907 represented as '-(1 << N)', decrease the lower bound of N from 12
12908 to 1. And the other immediate for conditional branch is now no
12909 longer limited to zero, but also one of some positive integers.
12910 Finally, remove the checks of some conditions, because the comparison
12911 expressions that don't satisfy such checks are determined as
12912 compile-time constants and thus will be optimized away before
12913 RTL expansion.
12914
12915 2022-07-16 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
12916
12917 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth): Remove.
12918 (xtensa_constantsynth_2insn): Change to try all three synthetic
12919 methods and to use the one that fits the immediate value of
12920 the seed into a Narrow Move Immediate instruction "MOVI.N"
12921 when the Code Density Option is configured.
12922
12923 2022-07-15 H.J. Lu <hjl.tools@gmail.com>
12924
12925 PR target/85620
12926 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
12927 false if callee has indirect_return attribute and caller
12928 doesn't.
12929
12930 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
12931
12932 PR target/106273
12933 * config/i386/i386.md (*andn<dwi>3_doubleword_bmi): Update the
12934 constraints to reflect the output is earlyclobber, unless it is
12935 the same register (pair) as one of the operands.
12936
12937 2022-07-15 David Malcolm <dmalcolm@redhat.com>
12938
12939 * doc/invoke.texi (Static Analyzer Options): Add the new fd
12940 warnings to the initial gccoptlist, and to the list of those
12941 disabled by -fanalyzer-checker=taint.
12942
12943 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
12944
12945 * config/aarch64/aarch64-builtins.cc
12946 (enum aarch64_type_qualifiers): Remove qualifier_internal.
12947 (aarch64_init_simd_builtin_functions): Remove qualifier_internal check.
12948
12949 2022-07-15 Andrew Carlotti <andrew.carlotti@arm.com>
12950
12951 * config/aarch64/aarch64-builtins.cc
12952 (v1di_UP): Add V1DI mode to _UP macros.
12953 * config/aarch64/aarch64-modes.def (VECTOR_MODE): Add V1DI mode.
12954 * config/aarch64/aarch64-simd-builtin-types.def: Use V1DI mode.
12955 * config/aarch64/aarch64-simd.md
12956 (vec_extractv2dfv1df): Replace with...
12957 (vec_extract<mode><V1half>): ...this.
12958 * config/aarch64/aarch64.cc
12959 (aarch64_classify_vector_mode): Add V1DI mode.
12960 * config/aarch64/iterators.md
12961 (VQ_2E, V1HALF, V1half): New.
12962 (nunits): Add V1DI mode.
12963
12964 2022-07-15 Roger Sayle <roger@nextmovesoftware.com>
12965
12966 PR target/106278
12967 * config/i386/i386-features.cc (general_scalar_chain::convert_insn):
12968 Fix indentation whitespace.
12969 (timode_scalar_chain::fix_debug_reg_uses): Likewise.
12970 (timode_scalar_chain::convert_insn): Delete dead code.
12971 Update TImode REG_EQUAL_NOTE even if the SET_DEST is already V1TI.
12972 Fix indentation whitespace.
12973 (convertible_comparison_p): Likewise.
12974 (timode_scalar_to_vector_candidate_p): Likewise.
12975
12976 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
12977
12978 * gimple-pretty-print.cc (dump_ssaname_info): Use pp_vrange.
12979
12980 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
12981
12982 * Makefile.in (OBJS): Add value-range-pretty-print.o.
12983 * pretty-print.h (pp_vrange): New.
12984 * value-range.cc (vrange::dump): Call pp version.
12985 (unsupported_range::dump): Move to its own file.
12986 (dump_bound_with_infinite_markers): Same.
12987 (irange::dump): Same.
12988 (irange::dump_bitmasks): Same.
12989 (vrange::debug): Remove.
12990 * value-range.h: Remove virtual designation for dump methods.
12991 Remove dump_bitmasks method.
12992 * value-range-pretty-print.cc: New file.
12993 * value-range-pretty-print.h: New file.
12994
12995 2022-07-15 Aldy Hernandez <aldyh@redhat.com>
12996
12997 * value-range.cc (irange::accept): New.
12998 (unsupported_range::accept): New.
12999 * value-range.h (class vrange_visitor): New.
13000 (class vrange): Add accept method.
13001 (class unsupported_range): Same.
13002 (class Value_Range): Same.
13003
13004 2022-07-15 Jonathan Wakely <jwakely@redhat.com>
13005
13006 * diagnostic-format-json.cc (json_from_location_range): Adjust
13007 to new label_text API.
13008 * diagnostic-format-sarif.cc (sarif_builder::make_location_object):
13009 Likewise.
13010 * diagnostic-show-locus.cc (struct pod_label_text): Likewise.
13011 (layout::print_any_labels): Likewise.
13012 * tree-diagnostic-path.cc (class path_label): Likewise.
13013 (struct event_range): Likewise.
13014 (default_tree_diagnostic_path_printer): Likewise.
13015 (default_tree_make_json_for_path): Likewise.
13016
13017 2022-07-15 konglin1 <lingling.kong@intel.com>
13018
13019 PR target/106113
13020 * config/i386/i386-builtin.def (BDESC): Fix [u]comi{ss,sd}
13021 comparison due to intrinsics changed over time.
13022 * config/i386/i386-expand.cc (ix86_ssecom_setcc):
13023 Add unordered check and mode for sse comi codegen.
13024 (ix86_expand_sse_comi): Add unordered check and check a different
13025 CCmode.
13026 (ix86_expand_sse_comi_round):Extract unordered check and mode part
13027 in ix86_ssecom_setcc.
13028
13029 2022-07-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13030
13031 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Use
13032 op_mode instead of vmode in calls to force_reg for op0 and op1.
13033
13034 2022-07-14 H.J. Lu <hjl.tools@gmail.com>
13035
13036 PR tree-optimization/103798
13037 * tree-ssa-forwprop.cc: Include "tree-ssa-strlen.h".
13038 (simplify_builtin_call): Inline memchr with constant strings of
13039 no more than the bytes of a word.
13040 * tree-ssa-strlen.cc (use_in_zero_equality): Make it global.
13041 * tree-ssa-strlen.h (use_in_zero_equality): New.
13042
13043 2022-07-14 Eric Botcazou <ebotcazou@adacore.com>
13044
13045 * gimplify.cc (lookup_tmp_var): Add NOT_GIMPLE_REG boolean parameter
13046 and set DECL_NOT_GIMPLE_REG_P on the variable according to it.
13047 (internal_get_tmp_var): Add NOT_GIMPLE_REG boolean parameter and
13048 pass it in the call to lookup_tmp_var.
13049 (get_formal_tmp_var): Pass false in the call to lookup_tmp_var.
13050 (get_initialized_tmp_var): Likewise.
13051 (prepare_gimple_addressable): Call internal_get_tmp_var instead of
13052 get_initialized_tmp_var with NOT_GIMPLE_REG set to true.
13053
13054 2022-07-14 Martin Liska <mliska@suse.cz>
13055
13056 * doc/gimple.texi: Close properly a deftypefn.
13057
13058 2022-07-14 Martin Liska <mliska@suse.cz>
13059
13060 * doc/gimple.texi: Close properly a deftypefn.
13061
13062 2022-07-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
13063
13064 * config/xtensa/xtensa.md:
13065 In FP constant synthesis split pattern, subcontract to
13066 avoid_constant_pool_reference() as in the case of integer,
13067 because it can handle well too. And cast to int32_t before
13068 calling xtensa_constantsynth() in order to ignore upper 32-bit.
13069
13070 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
13071
13072 * range-op.cc (operator_lt::fold_range): Use nonzero bits.
13073
13074 2022-07-13 Aldy Hernandez <aldyh@redhat.com>
13075
13076 * value-range.cc (irange::copy_to_legacy): Set nonzero mask.
13077 (irange::legacy_intersect): Clear nonzero mask.
13078 (irange::legacy_union): Same.
13079 (irange::invert): Same.
13080
13081 2022-07-13 Richard Biener <rguenther@suse.de>
13082
13083 * tree-ssa-dom.h (record_temporary_equivalences): Remove.
13084 * tree-ssa-dom.cc (dom_jt_state::m_blocks_on_stack): New.
13085 (dom_jt_state::get_blocks_on_stack): Likewise.
13086 (dom_opt_dom_walker::dom_opt_dom_walker): Take dom_jt_state.
13087 (back_propagate_equivalences): Remove dominator bitmap
13088 compute and instead use passed in m_blocks_on_stack.
13089 (record_temporary_equivalences): Likewise.
13090 (record_equivalences_from_incoming_edge): Likewise.
13091 (dom_opt_dom_walker::before_dom_children): Maintain and
13092 pass down blocks on stack.
13093 (dom_opt_dom_walker::after_dom_children): Likewise.
13094
13095 2022-07-13 Andrew Carlotti <andrew.carlotti@arm.com>
13096
13097 * config/aarch64/aarch64-builtins.cc
13098 (aarch64_general_gimple_fold_builtin): Add fixup for invalid GIMPLE.
13099
13100 2022-07-13 Richard Biener <rguenther@suse.de>
13101
13102 PR tree-optimization/106249
13103 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop):
13104 Only verify LC SSA of the new_loop if we created it.
13105 Use TODO_update_ssa_nophi for the SSA update after versioning
13106 the loop.
13107
13108 2022-07-12 Aldy Hernandez <aldyh@redhat.com>
13109
13110 * range-op.cc (unsigned_singleton_p): Remove.
13111 (operator_bitwise_and::remove_impossible_ranges): Remove.
13112 (operator_bitwise_and::fold_range): Set nonzero bits. *
13113 * value-range.cc (irange::get_nonzero_bits): Remove
13114 legacy_mode_p assert.
13115 (irange::dump_bitmasks): Remove legacy_mode_p check.
13116
13117 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
13118
13119 PR target/106253
13120 * predict.h (insn_optimization_type): Declare.
13121 * predict.cc (insn_optimization_type): New function.
13122 * internal-fn.def (IFN_ICEIL, IFN_IFLOOR, IFN_IRINT, IFN_IROUND)
13123 (IFN_LCEIL, IFN_LFLOOR, IFN_LRINT, IFN_LROUND, IFN_LLCEIL)
13124 (IFN_LLFLOOR, IFN_LLRINT, IFN_LLROUND): New internal functions.
13125 * internal-fn.cc (unary_convert_direct): New macro.
13126 (expand_convert_optab_fn): New function.
13127 (expand_unary_convert_optab_fn): New macro.
13128 (direct_unary_convert_optab_supported_p): Likewise.
13129 * optabs.cc (expand_sfix_optab): Pass insn_optimization_type to
13130 convert_optab_handler.
13131 * config/aarch64/aarch64-protos.h
13132 (aarch64_builtin_vectorized_function): Delete.
13133 * config/aarch64/aarch64-builtins.cc
13134 (aarch64_builtin_vectorized_function): Delete.
13135 * config/aarch64/aarch64.cc
13136 (TARGET_VECTORIZE_BUILTIN_VECTORIZED_FUNCTION): Delete.
13137 * config/i386/i386.cc (ix86_optab_supported_p): Handle lround_optab.
13138 * config/i386/i386.md (lround<X87MODEF:mode><SWI248x:mode>2): Remove
13139 optimize_insn_for_size_p test.
13140
13141 2022-07-12 Richard Biener <rguenther@suse.de>
13142
13143 * tree-vect-loop-manip.cc (create_lcssa_for_virtual_phi):
13144 Remove.
13145 (vect_do_peeling): Do not call it, adjust comment.
13146
13147 2022-07-12 Richard Sandiford <richard.sandiford@arm.com>
13148
13149 * config/aarch64/aarch64-builtins.cc
13150 (aarch64_builtin_vectorized_function): Remove handling of
13151 floor, ceil, trunc, round, nearbyint, sqrt, clz and ctz.
13152
13153 2022-07-11 Andrew MacLeod <amacleod@redhat.com>
13154
13155 PR tree-optimization/106234
13156 * gimple-range-cache.cc (ranger_cache::range_from_dom): Check dominator
13157 cache value before recursively resolving it.
13158
13159 2022-07-11 Roger Sayle <roger@nextmovesoftware.com>
13160
13161 * config/i386/i386-features.h (scalar_chain): Add fields
13162 insns_conv, n_sse_to_integer and n_integer_to_sse to this
13163 parent class, moved from general_scalar_chain.
13164 (scalar_chain::convert_compare): Protected method moved
13165 from general_scalar_chain.
13166 (mark_dual_mode_def): Make protected, not private virtual.
13167 (scalar_chain:convert_op): New private virtual method.
13168 (general_scalar_chain::general_scalar_chain): Simplify constructor.
13169 (general_scalar_chain::~general_scalar_chain): Delete destructor.
13170 (general_scalar_chain): Move insns_conv, n_sse_to_integer and
13171 n_integer_to_sse fields to parent class, scalar_chain.
13172 (general_scalar_chain::mark_dual_mode_def): Delete prototype.
13173 (general_scalar_chain::convert_compare): Delete prototype.
13174 (timode_scalar_chain::compute_convert_gain): Remove simplistic
13175 implementation, convert to a method prototype.
13176 (timode_scalar_chain::mark_dual_mode_def): Delete prototype.
13177 (timode_scalar_chain::convert_op): Prototype new virtual method.
13178 * config/i386/i386-features.cc (scalar_chain::scalar_chain):
13179 Allocate insns_conv and initialize n_sse_to_integer and
13180 n_integer_to_sse fields in constructor.
13181 (scalar_chain::scalar_chain): Free insns_conv in destructor.
13182 (general_scalar_chain::general_scalar_chain): Delete
13183 constructor, now defined in the class declaration.
13184 (general_scalar_chain::~general_scalar_chain): Delete destructor.
13185 (scalar_chain::mark_dual_mode_def): Renamed from
13186 general_scalar_chain::mark_dual_mode_def.
13187 (timode_scalar_chain::mark_dual_mode_def): Delete.
13188 (scalar_chain::convert_compare): Renamed from
13189 general_scalar_chain::convert_compare.
13190 (timode_scalar_chain::compute_convert_gain): New method to
13191 determine the gain from converting a TImode chain to V1TImode.
13192 (timode_scalar_chain::convert_op): New method to convert an
13193 operand from TImode to V1TImode.
13194 (timode_scalar_chain::convert_insn) <case REG>: Only PUT_MODE
13195 on REG_EQUAL notes that were originally TImode (not CONST_INT).
13196 Handle AND, ANDN, XOR, IOR, NOT and COMPARE.
13197 (timode_mem_p): Helper predicate to check where operand is
13198 memory reference with sufficient alignment for TImode STV.
13199 (timode_scalar_to_vector_candidate_p): Use convertible_comparison_p
13200 to check whether COMPARE is convertible. Handle SET_DESTs that
13201 that are REG_P or MEM_P and SET_SRCs that are REG, CONST_INT,
13202 CONST_WIDE_INT, MEM, AND, ANDN, IOR, XOR or NOT.
13203
13204 2022-07-11 Richard Sandiford <richard.sandiford@arm.com>
13205
13206 PR tree-optimization/106250
13207 * tree-vect-loop.cc (vectorizable_reduction): Reinstate final
13208 argument to directly_supported_p.
13209
13210 2022-07-11 Richard Biener <rguenther@suse.de>
13211
13212 * tree-into-ssa.cc (update_ssa): Do not forcefully
13213 re-compute dominance fast queries for TODO_update_ssa_no_phi.
13214
13215 2022-07-11 Richard Biener <rguenther@suse.de>
13216
13217 PR tree-optimization/106228
13218 * tree-vect-data-refs.cc (vect_setup_realignment): Adjust
13219 VUSE compute for the non-loop case.
13220
13221 2022-07-11 Richard Biener <rguenther@suse.de>
13222
13223 * tree-into-ssa.cc (rewrite_mode::REWRITE_UPDATE_REGION): New.
13224 (rewrite_update_dom_walker::rewrite_update_dom_walker): Update.
13225 (rewrite_update_dom_walker::m_in_region_flag): New.
13226 (rewrite_update_dom_walker::before_dom_children): If the region
13227 to update is marked, STOP at exits.
13228 (rewrite_blocks): For REWRITE_UPDATE_REGION mark the region
13229 to be updated.
13230 (dump_update_ssa): Use bitmap_empty_p.
13231 (update_ssa): Likewise. Use REWRITE_UPDATE_REGION when
13232 TODO_update_ssa_no_phi.
13233 * tree-cfgcleanup.cc (cleanup_tree_cfg_noloop): Account
13234 pending update_ssa to the caller.
13235
13236 2022-07-11 Richard Biener <rguenthert@suse.de>
13237
13238 PR target/105459
13239 * config/i386/i386-options.cc (ix86_set_current_function):
13240 Rebuild the target optimization node whenever necessary,
13241 not only when the optimization node didn't change.
13242
13243 2022-07-11 Richard Biener <rguenther@suse.de>
13244
13245 PR tree-optimization/106228
13246 * tree-vect-data-refs.cc (vect_setup_realignment): Properly
13247 set a VUSE operand on the emitted load.
13248
13249 2022-07-11 Aldy Hernandez <aldyh@redhat.com>
13250
13251 * gimple-range.cc (gimple_ranger::export_global_ranges): Remove
13252 verification against legacy value_range.
13253 (gimple_ranger::register_inferred_ranges): Same.
13254 (gimple_ranger::export_global_ranges): Rename update_global_range
13255 to set_range_info.
13256 * tree-core.h (struct range_info_def): Remove.
13257 (struct irange_storage_slot): New.
13258 (struct tree_base): Remove SSA_NAME_ANTI_RANGE_P documentation.
13259 (struct tree_ssa_name): Add vrange_storage support.
13260 * tree-ssanames.cc (range_info_p): New.
13261 (range_info_fits_p): New.
13262 (range_info_alloc): New.
13263 (range_info_free): New.
13264 (range_info_get_range): New.
13265 (range_info_set_range): New.
13266 (set_range_info_raw): Remove.
13267 (set_range_info): Adjust to use vrange_storage.
13268 (set_nonzero_bits): Same.
13269 (get_nonzero_bits): Same.
13270 (duplicate_ssa_name_range_info): Remove overload taking
13271 value_range_kind.
13272 Rewrite tree overload to use vrange_storage.
13273 (duplicate_ssa_name_fn): Adjust to use vrange_storage.
13274 * tree-ssanames.h (struct range_info_def): Remove.
13275 (set_range_info): Adjust prototype to take vrange.
13276 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Call
13277 duplicate_ssa_name_range_info.
13278 * tree.h (SSA_NAME_ANTI_RANGE_P): Remove.
13279 (SSA_NAME_RANGE_TYPE): Remove.
13280 * value-query.cc (get_ssa_name_range_info): Adjust to use
13281 vrange_storage.
13282 (update_global_range): Remove.
13283 (get_range_global): Remove as_a<irange>.
13284 * value-query.h (update_global_range): Remove.
13285 * tree-ssa-dom.cc (set_global_ranges_from_unreachable_edges):
13286 Rename update_global_range to set_range_info.
13287 * value-range-storage.cc (vrange_storage::alloc_slot): Remove
13288 gcc_unreachable.
13289
13290 2022-07-10 Aldy Hernandez <aldyh@redhat.com>
13291
13292 * value-range.cc (irange::operator=): Call verify_range.
13293 (irange::irange_set): Normalize kind after everything else has
13294 been set.
13295 (irange::irange_set_anti_range): Same.
13296 (irange::set): Same.
13297 (irange::verify_range): Disallow nonzero masks for VARYING.
13298 (irange::irange_union): Call verify_range.
13299 Handle nonzero masks better.
13300 (irange::irange_intersect): Same.
13301 (irange::set_nonzero_bits): Calculate mask if either range has an
13302 explicit mask.
13303 (irange::intersect_nonzero_bits): Same.
13304 (irange::union_nonzero_bits): Same.
13305 (range_tests_nonzero_bits): New.
13306 (range_tests): Call range_tests_nonzero_bits.
13307 * value-range.h (class irange): Remove set_nonzero_bits method
13308 with trees.
13309 (irange::varying_compatible_p): Set nonzero mask.
13310
13311 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13312
13313 * config/loongarch/loongarch.md (<any_div>di3_fake): Describe
13314 the sign-extend of result in the RTL template.
13315 (<any_div><mode>3): Adjust for <any_div>di3_fake change.
13316
13317 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13318
13319 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
13320 Remove static, for use in the machine description file.
13321 * config/loongarch/loongarch-protos.h:
13322 (loongarch_check_zero_div_p): Add prototype.
13323 * config/loongarch/loongarch.md (enabled): New attr.
13324 (*<optab><mode>3): Add (=r,r,r) and (=&r,0,r) alternatives for
13325 idiv. Conditionally enable the alternatives using
13326 loongarch_check_zero_div_p.
13327 (<optab>di3_fake): Likewise.
13328
13329 2022-07-10 Xi Ruoyao <xry111@xry111.site>
13330
13331 * config/loongarch/loongarch.md (mulsidi3_64bit): Use mulw.d.w
13332 instead of mul.d.
13333
13334 2022-07-09 Aldy Hernandez <aldyh@redhat.com>
13335
13336 * value-range.cc (irange::irange_single_pair_union): Set
13337 VR_VARYING when appropriate.
13338
13339 2022-07-09 Vit Kabele <vit.kabele@sysgo.com>
13340
13341 * stor-layout.cc (finalize_record_size): Extend warning message.
13342
13343 2022-07-09 Sam Feifer <sfeifer@redhat.com>
13344
13345 PR tree-optimization/98304
13346 * match.pd (n - (((n > C1) ? n : C1) & -C2)): New simplification.
13347
13348 2022-07-09 Jeff Law <jeffreyalaw@gmail.com>
13349
13350 * expr.cc (store_expr): Identify trailing NULs in a STRING_CST
13351 initializer and use clear_storage rather than copying the
13352 NULs to the destination array.
13353
13354 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
13355
13356 * config/i386/i386.md (define_peephole2): Use match_operand of
13357 flags_reg_operand to capture and preserve the mode of FLAGS_REG.
13358 (define_peephole2): Likewise.
13359 (define_peephole2): Likewise...
13360
13361 2022-07-09 Roger Sayle <roger@nextmovesoftware.com>
13362
13363 * config/i386/i386-features.cc (convert_compare): Add support
13364 for *testdi_not_doubleword pattern, "(compare (and (not ...)))"
13365 by generating a pandn followed by ptest.
13366 (convertible_comparison_p): Recognize both *cmpdi_doubleword and
13367 recent *testdi_not_doubleword comparison patterns.
13368
13369 2022-07-09 Tamar Christina <tamar.christina@arm.com>
13370
13371 * config/s390/s390.cc (s390_expand_atomic): Pass false to store_bit_field to
13372 indicate that the value is not undefined.
13373
13374 2022-07-09 Andrew Pinski <apinski@marvell.com>
13375
13376 PR tree-optimization/106087
13377 * tree-ssa-dce.cc (simple_dce_from_worklist): Check
13378 to make sure the statement is only defining one operand.
13379
13380 2022-07-08 Lewis Hyatt <lhyatt@gmail.com>
13381
13382 PR preprocessor/91733
13383 * input.cc (find_end_of_line): New helper function.
13384 (file_cache_slot::get_next_line): Recognize \r as a line ending.
13385 * diagnostic-show-locus.cc (test_escaping_bytes_1): Adapt selftest
13386 since \r will now be interpreted as a line-ending.
13387
13388 2022-07-08 Martin Liska <mliska@suse.cz>
13389
13390 PR sanitizer/106132
13391 * opts.cc (finish_options): Use 2 calls to
13392 report_conflicting_sanitizer_options.
13393
13394 2022-07-08 Richard Biener <rguenther@suse.de>
13395
13396 PR tree-optimization/106226
13397 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
13398 no SSA update is needed. Move virtual SSA update ...
13399 * tree-vectorizer.cc (pass_vectorize::execute): ... here,
13400 via forced virtual renaming when TODO_update_ssa_only_virtuals
13401 is queued.
13402 (vect_transform_loops): Return TODO_update_ssa_only_virtuals
13403 when virtual SSA update is required.
13404 (try_vectorize_loop_1): Adjust.
13405 * tree-vect-stmts.cc (vectorizable_simd_clone_call): Allow
13406 virtual renaming if the ABI forces an aggregate return
13407 but the original call did not have a virtual definition.
13408
13409 2022-07-08 Martin Liska <mliska@suse.cz>
13410
13411 * toplev.cc (init_asm_output): Do not init asm_out_file.
13412
13413 2022-07-08 Tamar Christina <tamar.christina@arm.com>
13414
13415 PR tree-optimization/106063
13416 * match.pd: Do not apply pattern after veclower is not supported.
13417
13418 2022-07-08 Thomas Schwinge <thomas@codesourcery.com>
13419
13420 * lto-cgraph.cc (input_offload_tables) <LTO_symtab_edge>: Correct
13421 'fn2' computation.
13422
13423 2022-07-08 Tamar Christina <tamar.christina@arm.com>
13424
13425 * expmed.cc (store_bit_field_1): Add parameter that indicates if value is
13426 still undefined and if so emit a subreg move instead.
13427 (store_integral_bit_field): Likewise.
13428 (store_bit_field): Likewise.
13429 * expr.h (write_complex_part): Likewise.
13430 * expmed.h (store_bit_field): Add new parameter.
13431 * builtins.cc (expand_ifn_atomic_compare_exchange_into_call): Use new
13432 parameter.
13433 (expand_ifn_atomic_compare_exchange): Likewise.
13434 * calls.cc (store_unaligned_arguments_into_pseudos): Likewise.
13435 * emit-rtl.cc (validate_subreg): Likewise.
13436 * expr.cc (emit_group_store): Likewise.
13437 (copy_blkmode_from_reg): Likewise.
13438 (copy_blkmode_to_reg): Likewise.
13439 (clear_storage_hints): Likewise.
13440 (write_complex_part): Likewise.
13441 (emit_move_complex_parts): Likewise.
13442 (expand_assignment): Likewise.
13443 (store_expr): Likewise.
13444 (store_field): Likewise.
13445 (expand_expr_real_2): Likewise.
13446 * ifcvt.cc (noce_emit_move_insn): Likewise.
13447 * internal-fn.cc (expand_arith_set_overflow): Likewise.
13448 (expand_arith_overflow_result_store): Likewise.
13449 (expand_addsub_overflow): Likewise.
13450 (expand_neg_overflow): Likewise.
13451 (expand_mul_overflow): Likewise.
13452 (expand_arith_overflow): Likewise.
13453
13454 2022-07-08 Haochen Jiang <haochen.jiang@intel.com>
13455
13456 PR target/106180
13457 * config/i386/sse.md (sse2_cvtps2pd<mask_name>_1):
13458 Rename from *sse2_cvtps2pd<mask_name>_1.
13459 (vec_unpacks_lo_v4sf): Add handler for memory operand.
13460
13461 2022-07-08 Lulu Cheng <chenglulu@loongson.cn>
13462
13463 * config/loongarch/loongarch.cc (loongarch_compute_frame_info):
13464 Modify fp_sp_offset and gp_sp_offset's calculation method,
13465 when frame->mask or frame->fmask is zero, don't minus UNITS_PER_WORD
13466 or UNITS_PER_FP_REG.
13467
13468 2022-07-07 David Malcolm <dmalcolm@redhat.com>
13469
13470 * diagnostic-format-json.cc (json_from_location_range): Update for
13471 removal of label_text::maybe_free in favor of automatic memory
13472 management.
13473 * diagnostic-format-sarif.cc
13474 (sarif_builder::make_location_object): Likewise.
13475 * diagnostic-show-locus.cc (struct pod_label_text): New.
13476 (class line_label): Convert m_text from label_text to pod_label_text.
13477 (layout::print_any_labels): Move "text" to the line_label.
13478 * tree-diagnostic-path.cc (path_label::get_text): Update for
13479 removal of label_text::maybe_free in favor of automatic memory
13480 management.
13481 (event_range::print): Likewise.
13482 (default_tree_diagnostic_path_printer): Likewise.
13483 (default_tree_make_json_for_path): Likewise.
13484
13485 2022-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
13486
13487 * statistics.cc (get_function_name): Add check to see if fn is not NULL.
13488
13489 2022-07-07 Richard Biener <rguenther@suse.de>
13490
13491 * tree-into-ssa.cc (iterating_old_ssa_names): New.
13492 (add_new_name_mapping): Grow {new,old}_ssa_names separately
13493 and only when actually needed. Assert we are not growing
13494 the old_ssa_names set when iterating over it.
13495 (update_ssa): Remove old_ssa_names copying and empty_p
13496 query, note we are iterating over it and expect no set changes.
13497
13498 2022-07-07 Thomas Schwinge <thomas@codesourcery.com>
13499
13500 * config/i386/intelmic-mkoffload.cc (generate_host_descr_file)
13501 (prepare_target_image, main): Handle OpenMP 'requires'.
13502 (generate_host_descr_file): Switch to 'GOMP_offload_register_ver',
13503 'GOMP_offload_unregister_ver'.
13504
13505 2022-07-07 Richard Biener <rguenther@suse.de>
13506
13507 PR target/106219
13508 * config/i386/i386-builtins.cc (ix86_add_new_builtins): Properly
13509 set DECL_PURE_P.
13510
13511 2022-07-07 Richard Biener <rguenther@suse.de>
13512
13513 * tree-ssa-loop-manip.cc (add_exit_phis_var): Return the
13514 number of LC PHIs inserted.
13515 (add_exit_phis): Return whether any variable required
13516 multiple LC PHI nodes.
13517 (rewrite_into_loop_closed_ssa_1): Use TODO_update_ssa_no_phi
13518 when possible.
13519
13520 2022-07-07 Richard Biener <rguenther@suse.de>
13521
13522 * tree-ssa-loop-manip.cc (compute_live_loop_exits): Take
13523 the def loop exit block bitmap as argument instead of
13524 re-computing it here.
13525 (add_exit_phis_var): Adjust.
13526 (loop_name_cmp): New function.
13527 (add_exit_phis): Sort variables to insert LC PHI nodes
13528 after definition loop, for each definition loop compute
13529 the exit block bitmap once.
13530 (get_loops_exit): Remove.
13531 (rewrite_into_loop_closed_ssa_1): Do not pre-record
13532 all loop exit blocks into bitmaps. Record loop exits
13533 if required.
13534
13535 2022-07-07 Dimitrije Milosevic <Dimitrije.Milosevic@Syrmia.com>
13536
13537 * config/mips/mips.cc (mips_asan_shadow_offset): Reformat
13538 to handle the N32 ABI.
13539 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Remove
13540 the macro, as it is not needed anymore.
13541
13542 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
13543
13544 * config/gcn/mkoffload.cc (process_obj): Clarify 'target_data' ->
13545 '[...]_data'.
13546 * config/nvptx/mkoffload.cc (process): Likewise.
13547
13548 2022-07-06 Thomas Schwinge <thomas@codesourcery.com>
13549
13550 * omp-general.h (enum omp_requires): Use 'GOMP_REQUIRES_[...]'.
13551
13552 2022-07-05 Andrew MacLeod <amacleod@redhat.com>
13553
13554 * value-relation.cc (relation_to_code): New vector.
13555 (relation_oracle::validate_relation): New.
13556 (set_relation): Allow ssa1 == ssa2 to be registered.
13557 * value-relation.h (validate_relation): New prototype.
13558 (query_relation): Make internal variant protected.
13559
13560 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13561
13562 * config/i386/i386.cc (ix86_rtx_costs) <COMPARE>: Provide costs
13563 for double word comparisons and tests (comparisons against zero).
13564 * config/i386/i386.md (*test<mode>_not_doubleword): Split DWI
13565 and;cmp into andn;cmp $0 as a pre-reload splitter.
13566 (*andn<dwi>3_doubleword_bmi): Use <dwi> instead of <mode> in name.
13567 (*<any_or><dwi>3_doubleword): Likewise.
13568
13569 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13570 Hongtao Liu <hongtao.liu@intel.com>
13571
13572 * config/i386/i386-builtin.def (__builtin_ia32_palignr128): Change
13573 CODE_FOR_ssse3_palignrti to CODE_FOR_ssse3_palignrv1ti.
13574 * config/i386/i386-expand.cc (expand_vec_perm_palignr): Use V1TImode
13575 and gen_ssse3_palignv1ti instead of TImode.
13576 * config/i386/sse.md (SSESCALARMODE): Delete.
13577 (define_mode_attr ssse3_avx2): Handle V1TImode instead of TImode.
13578 (<ssse3_avx2>_palignr<mode>): Use VIMAX_AVX2_AVX512BW as a mode
13579 iterator instead of SSESCALARMODE.
13580 (ssse3_palignrdi): Optimize cases where operands[3] is 0 or 64,
13581 using a single move instruction (if required).
13582
13583 2022-07-05 Roger Sayle <roger@nextmovesoftware.com>
13584 Uroš Bizjak <ubizjak@gmail.com>
13585
13586 PR rtl-optimization/96692
13587 * config/i386/i386.md (define_split): Split ((A | B) ^ C) ^ D
13588 as (X & ~Y) ^ Z on target BMI when either C or D is A or B.
13589
13590 2022-07-05 Richard Biener <rguenther@suse.de>
13591
13592 PR tree-optimization/106198
13593 * tree-cfgcleanup.cc (repair_loop_structures): Always do a
13594 full LC SSA rewrite but only if any blocks changed loop
13595 depth.
13596
13597 2022-07-05 Richard Biener <rguenther@suse.de>
13598
13599 * tree-ssa-loop-manip.cc (find_uses_to_rename_def): Remove.
13600 (find_uses_to_rename_in_loop): Likewise.
13601 (rewrite_into_loop_closed_ssa_1): Remove loop parameter and
13602 uses.
13603 (rewrite_into_loop_closed_ssa): Adjust.
13604
13605 2022-07-05 Richard Biener <rguenther@suse.de>
13606
13607 PR tree-optimization/106186
13608 * tree-ssa-propagate.cc (clean_up_loop_closed_phi):
13609 Properly handle virtual PHI nodes.
13610
13611 2022-07-05 Richard Biener <rguenther@suse.de>
13612
13613 PR tree-optimization/106196
13614 * tree-vect-stmts.cc (vect_finish_stmt_generation): Properly
13615 handle aggregate returns of calls for VDEF updates.
13616
13617 2022-07-05 Richard Biener <rguenther@suse.de>
13618
13619 * tree-vect-loop-manip.cc (vect_set_loop_condition_normal):
13620 Maintain LC SSA.
13621
13622 2022-07-05 Richard Sandiford <richard.sandiford@arm.com>
13623
13624 * tree-vect-patterns.cc (vect_convert_input): Expect the input
13625 type to be signed for optab_vector_mixed_sign. Update the vectype
13626 at the same time as type.
13627 (vect_recog_dot_prod_pattern): Update accordingly. If usdot isn't
13628 available, try sdot instead.
13629 * tree-vect-loop.cc (vect_is_emulated_mixed_dot_prod): New function.
13630 (vect_model_reduction_cost): Model the cost of implementing usdot
13631 using sdot.
13632 (vectorizable_reduction): Likewise. Skip target support test
13633 for lane reductions.
13634 (vect_emulate_mixed_dot_prod): New function.
13635 (vect_transform_reduction): Use it to emulate usdot via sdot.
13636
13637 2022-07-05 Richard Biener <rguenther@suse.de>
13638
13639 PR tree-optimization/106182
13640 * loop-init.cc (fix_loop_structure): Return the number
13641 of newly discovered plus the number of deleted loops.
13642 * tree-cfgcleanup.cc (repair_loop_structures): Adjust
13643 variable name.
13644
13645 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13646
13647 * gimple-range-fold.cc
13648 (fold_using_range::range_of_ssa_name_with_loop_info): Restrict the
13649 call to SCEV for irange supported types.
13650 (fold_using_range::range_of_builtin_int_call): Convert to vrange.
13651 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Same.
13652 * tree-ssa-dom.cc (cprop_operand): Same.
13653
13654 2022-07-04 Roger Sayle <roger@nextmovesoftware.com>
13655
13656 PR target/104489
13657 * calls.cc (precompute_register_parameters): Allow promotion
13658 of floating point values to be passed in wider integer modes
13659 by calling new convert_float_to_wider_int.
13660 (expand_call): Allow floating point results to be returned in
13661 wider integer modes by calling new convert wider_int_to_float.
13662 * cfgexpand.cc (expand_value_return): Allow backends to promote
13663 a scalar floating point return value to a wider integer mode
13664 by calling new convert_float_to_wider_int.
13665 * expr.cc (convert_float_to_wider_int): New function.
13666 (convert_wider_int_to_float): Likewise.
13667 (expand_expr_real_1) <expand_decl_rtl>: Allow backends to promote
13668 scalar FP PARM_DECLs to wider integer modes, by calling new
13669 convert_wider_int_to_float.
13670 * expr.h (convert_modes): Name arguments for improved documentation.
13671 (convert_float_to_wider_int): Prototype new function here.
13672 (convert_wider_int_to_float): Likewise.
13673 * function.cc (assign_parm_setup_stack): Allow floating point
13674 values to be passed on the stack as wider integer modes by
13675 calling new convert_wider_int_to_float.
13676
13677 2022-07-04 Martin Jambor <mjambor@suse.cz>
13678
13679 PR tree-optimization/105860
13680 * tree-sra.cc (build_reconstructed_reference): Start expr
13681 traversal only just below the outermost union.
13682
13683 2022-07-04 Richard Biener <rguenther@suse.de>
13684
13685 * tree-vect-loop-manip.cc (vect_do_peeling): Revert assert
13686 and update virtual SSA form again. Assert we do so for
13687 a known set of transforms only.
13688 * tree-vectorizer.h (vec_info::any_known_not_updated_vssa): New.
13689 * tree-vect-stmts.cc (vectorizable_load): When vectorizing
13690 using load-lanes allow virtual SSA update.
13691
13692 2022-07-04 Tobias Burnus <tobias@codesourcery.com>
13693 Chung-Lin Tang <cltang@codesourcery.com>
13694 Thomas Schwinge <thomas@codesourcery.com>
13695
13696 * config/gcn/mkoffload.cc (process_asm): Write '#include <stdint.h>'.
13697 (process_obj): Pass omp_requires_mask to GOMP_offload_register_ver.
13698 (main): Ask lto1 to obtain omp_requires_mask and pass it on.
13699 * config/nvptx/mkoffload.cc (process, main): Likewise.
13700 * lto-cgraph.cc (omp_requires_to_name): New.
13701 (input_offload_tables): Save omp_requires_mask.
13702 (output_offload_tables): Read it, check for consistency,
13703 save value for mkoffload.
13704 * omp-low.cc (lower_omp_target): Force output_offloadtables
13705 call for OMP_REQUIRES_TARGET_USED.
13706
13707 2022-07-04 Richard Biener <rguenther@suse.de>
13708
13709 * tree-vect-loop-manip.cc (vect_do_peeling): Assert that
13710 no SSA update is needed instead of updating virtual SSA
13711 form.
13712 * tree-vect-stmts.cc (vectorizable_load): For hoisted
13713 invariant load use the loop entry virtual use.
13714 For emulated gather loads use the virtual use of the
13715 original stmt like vect_finish_stmt_generation would do.
13716
13717 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
13718
13719 * tree-pretty-print.cc (dump_generic_node) <ARRAY_TYPE>: Add guard
13720 for direct circularity.
13721
13722 2022-07-04 Eric Botcazou <ebotcazou@adacore.com>
13723
13724 * dwarf2out.cc (gen_array_type_die): Use the default lower bound of
13725 the language for vector types.
13726
13727 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13728
13729 * value-range-storage.cc (irange_storage_slot::set_irange): Set
13730 nonzero bits in irange.
13731 (irange_storage_slot::get_irange): Get nonzero bits from irange.
13732 * value-range.cc (irange::operator=): Set nonzero bits.
13733 (irange::irange_set): Same.
13734 (irange::irange_set_anti_range): Same.
13735 (irange::set): Same.
13736 (irange::verify_range): Same.
13737 (irange::legacy_equal_p): Check nonzero bits.
13738 (irange::equal_p): Same.
13739 (irange::contains_p): Handle nonzero bits.
13740 (irange::irange_union): Same.
13741 (irange::irange_intersect): Same.
13742 (irange::dump): Same.
13743 (irange::set_nonzero_bits): New.
13744 (irange::get_nonzero_bits): New.
13745 (irange::intersect_nonzero_bits): New.
13746 (irange::union_nonzero_bits): New.
13747 (irange::dump_bitmasks): New.
13748 * value-range.h (class irange): Add m_nonzero_mask.
13749 (gt_ggc_mx): Handle nonzero bits.
13750 (gt_pch_nx): Same.
13751 (irange::set_undefined): Set nonzero bits.
13752 (irange::set_varying): Same.
13753 (irange::normalize_kind): Call set_undefined.
13754
13755 2022-07-04 Richard Biener <rguenther@suse.de>
13756
13757 * tree-ssa-loop-manip.h
13758 (rewrite_virtuals_into_loop_closed_ssa): Remove.
13759 (rewrite_into_loop_closed_ssa_1): Likewise.
13760 * tree-ssa-loop-manip.cc (rewrite_into_loop_closed_ssa_1):
13761 Make static.
13762 (rewrite_into_loop_closed_ssa): Remove loop overload,
13763 always rewrite virtuals into LC SSA.
13764 (check_loop_closed_ssa_bb): Also check virtuals.
13765 * tree-ssa-dce.cc (remove_dead_phis): Preserve virtual
13766 LC PHIs when in LC SSA.
13767 * gimple-loop-jam.cc (fuse_loops): Do not rewrite into
13768 loop-closed SSA here, but ...
13769 (tree_loop_unroll_and_jam): ... here once.
13770 * tree-if-conv.cc (version_loop_for_if_conversion): Use
13771 the cheaper TODO_update_ssa_no_phi.
13772 * tree-loop-distribution.cc (version_loop_by_alias_check):
13773 Likewise.
13774 * tree-ssa-loop-unswitch.cc (tree_unswitch_single_loop):
13775 Likewise.
13776 * tree-vect-loop-manip.cc (vect_loop_versioning): Likewise.
13777 (tree_unswitch_outer_loop): Do not rewrite virtuals into
13778 LC ssa.
13779 * tree-parloops.cc (transform_to_exit_first_loop_alt):
13780 Likewise.
13781 (pass_parallelize_loops::execute): After finishing rewrite
13782 into LC SSA again because we do not maintain it properly.
13783
13784 2022-07-04 Richard Biener <rguenther@suse.de>
13785
13786 PR tree-optimization/106055
13787 * graphite.cc (canonicalize_loop_closed_ssa): Check whether
13788 we can propagate.
13789
13790 2022-07-04 Haochen Jiang <haochen.jiang@intel.com>
13791
13792 PR target/43618
13793 * config/i386/sse.md (extendv2sfv2df2): New define_expand.
13794 (sse2_cvtps2pd_<mask_name>): Change constraint of operands[1].
13795 (*sse2_cvtps2pd_<mask_name>_1): Rename from extendvsdfv2df2.
13796
13797 2022-07-04 Aldy Hernandez <aldyh@redhat.com>
13798
13799 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use operator!=.
13800 * ipa-prop.cc (struct ipa_vr_ggc_hash_traits): Same.
13801 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Use set
13802 with two arguments.
13803 (find_unswitching_predicates_for_bb): Same.
13804 * tree-vrp.cc (range_fold_unary_symbolics_p): Same.
13805 * value-range-equiv.cc (value_range_equiv::equal_p): Use operator==.
13806 * value-range.cc (irange::equal_p): Rename to...
13807 (irange::operator==): ...this.
13808 * value-range.h (irange::set): Remove.
13809 (irange::operator==): Remove.
13810 (irange::set_zero): Use set with two arguments.
13811 * vr-values.cc (vr_values::extract_range_from_binary_expr): Same.
13812 (vr_values::extract_range_from_unary_expr): Same.
13813 (check_for_binary_op_overflow): Same.
13814 (bounds_of_var_in_loop): Same.
13815
13816 2022-07-03 H.J. Lu <hjl.tools@gmail.com>
13817
13818 PR target/106022
13819 * config/i386/i386-protos.h (ix86_convert_const_vector_to_integer):
13820 New.
13821 * config/i386/i386.cc (ix86_convert_const_vector_to_integer):
13822 New.
13823 * config/i386/mmx.md (V_16_32_64): New.
13824 (*mov<mode>_imm): New patterns for stores with 16-bit, 32-bit
13825 and 64-bit constant vector.
13826 * config/i386/predicates.md (x86_64_const_vector_operand): New.
13827
13828 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
13829
13830 * gimple-range-cache.cc: Include value-range-storage.h.
13831 * gimple-range-cache.h (class block_range_cache): Add "class" to
13832 m_range_allocator.
13833 * gimple-range-edge.cc
13834 (gimple_outgoing_range::gimple_outgoing_range): Allocate allocator.
13835 (gimple_outgoing_range::~gimple_outgoing_range): Free allocator.
13836 (gimple_outgoing_range::calc_switch_ranges): Dereference allocator.
13837 * gimple-range-edge.h: Add "class" to m_range_allocator.
13838 * gimple-range-infer.cc
13839 (infer_range_manager::infer_range_manager): Allocate allocator.
13840 (infer_range_manager::~infer_range_manager): Free allocator.
13841 (infer_range_manager::get_nonzero): Dereference allocator.
13842 (infer_range_manager::add_range): Same.
13843 * gimple-range-infer.h (class vrange_allocator): Add "class" to
13844 m_range_allocator.
13845 * value-range-storage.h (class vrange_allocator): Move from
13846 value-range.h.
13847 (class obstack_vrange_allocator): Same.
13848 (class ggc_vrange_allocator): Same.
13849 (vrange_allocator::alloc_vrange): Same.
13850 (vrange_allocator::alloc_irange): Same.
13851 * value-range.h (class vrange_allocator): Move to value-range-storage.h.
13852 (class obstack_vrange_allocator): Same.
13853 (class ggc_vrange_allocator): Same.
13854
13855 2022-07-03 Aldy Hernandez <aldyh@redhat.com>
13856
13857 * Makefile.in (OBJS): Add value-range-storage.o.
13858 (GTFILES): Add value-range-storage.h.
13859 * gengtype.cc (open_base_files): Add value-range-storage.h.
13860 * value-range-storage.cc: New file.
13861 * value-range-storage.h: New file.
13862
13863 2022-07-03 Xi Ruoyao <xry111@xry111.site>
13864 Lulu Cheng <chenglulu@loongson.cn>
13865
13866 * config/loongarch/loongarch.cc (loongarch_check_zero_div_p):
13867 New static function.
13868 (loongarch_idiv_insns): Use loongarch_check_zero_div_p instead
13869 of TARGET_CHECK_ZERO_DIV.
13870 (loongarch_output_division): Likewise.
13871 * common/config/loongarch/loongarch-common.cc
13872 (TARGET_DEFAULT_TARGET_FLAGS): Remove unneeded hook.
13873 * doc/invoke.texi: Update to match the new behavior.
13874
13875 2022-07-03 Ian Lance Taylor <iant@golang.org>
13876
13877 * tree-ssa-dse.cc (dse_optimize_stmt): Only delete a trapping
13878 statement if -fdelete-dead-exceptions.
13879
13880 2022-07-02 Tim Lange <mail@tim-lange.me>
13881
13882 PR analyzer/105900
13883 * doc/invoke.texi: Added Wanalyzer-allocation-size.
13884
13885 2022-07-02 Immad Mir <mirimmad17@gmail.com>
13886
13887 PR analyzer/106003
13888 * Makefile.in (ANALYZER_OBJS): Add sm-fd.o.
13889 * doc/invoke.texi: Add -Wanalyzer-fd-double-close, -Wanalyzer-fd-leak,
13890 -Wanalyzer-fd-access-mode-mismatch, -Wanalyzer-fd-use-without-check,
13891 -Wanalyzer-fd-use-after-close.
13892
13893 2022-07-01 Aldy Hernandez <aldyh@redhat.com>
13894
13895 * wide-int.h (struct trailing_wide_ints): Add m_num_elements.
13896 (trailing_wide_ints::set_precision): Add num_elements argument.
13897 (trailing_wide_ints::extra_size): Same.
13898
13899 2022-07-01 Uroš Bizjak <ubizjak@gmail.com>
13900
13901 * config/i386/i386.md (*andn<mode>3_doubleword_bmi):
13902 Use "r" constraint for operand 1.
13903
13904 2022-07-01 Richard Biener <rguenther@suse.de>
13905
13906 * tree-into-ssa.cc (rewrite_update_dom_walker::before_dom_children):
13907 Do not look at interesting_blocks which is a copy of
13908 blocks_to_update.
13909 (update_ssa): Do not initialize it.
13910 (pass_build_ssa::execute): Set interesting_blocks to NULL
13911 after releasing it.
13912
13913 2022-07-01 Richard Biener <rguenther@suse.de>
13914
13915 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Revert
13916 back to using maybe_ne (off, -1).
13917
13918 2022-07-01 Richard Biener <rguenther@suse.de>
13919
13920 * tree-ssa-sccvn.cc (vn_nary_op_insert_into): Make
13921 checking dominance check conditional on flag_checking.
13922
13923 2022-07-01 Tobias Burnus <tobias@codesourcery.com>
13924
13925 * config/gcn/gcn-protos.h (print_operand_address): Remove register
13926 keyword on 'rtx addr' argument.
13927
13928 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
13929 Uroš Bizjak <ubizjak@gmail.com>
13930
13931 * config/i386/i386.md (*andn<mode>3_doubleword_bmi): Add constraints
13932 to post-reload define_insn_and_split.
13933
13934 2022-07-01 Jakub Jelinek <jakub@redhat.com>
13935
13936 PR middle-end/106144
13937 * wide-int.cc (wi::shifted_mask): If end >= prec, return right after
13938 emitting element for shift or if shift is 0 first element after start.
13939 (wide_int_cc_tests): Add tests for equivalency of wi::mask and
13940 wi::shifted_mask with 0 start.
13941
13942 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
13943
13944 PR target/106122
13945 * config/i386/i386.md (peephole2): Avoid generating pop %esp
13946 when optimizing for size.
13947
13948 2022-07-01 Roger Sayle <roger@nextmovesoftware.com>
13949 Uroš Bizjak <ubizjak@gmail.com>
13950
13951 * config/i386/i386.md (general_szext_operand): Add TImode
13952 support using x86_64_hilo_general_operand predicate.
13953 (*cmp<dwi>_doubleword): Use x86_64_hilo_general_operand predicate.
13954 (*add<dwi>3_doubleword): Improved optimization of zero addition.
13955 (and<mode>3): Use SDWIM mode iterator to add support for double
13956 word bit-wise AND in TImode. Use force_reg when double word
13957 immediate operand isn't x86_64_hilo_general_operand.
13958 (and<dwi>3_doubleword): Generalized from anddi3_doubleword and
13959 converted into a post-reload splitter.
13960 (*andndi3_doubleword): Previous define_insn deleted.
13961 (*andn<mode>3_doubleword_bmi): New define_insn_and_split for
13962 TARGET_BMI that splits post-reload.
13963 (*andn<mode>3_doubleword): New define_insn_and_split for
13964 !TARGET_BMI, that lowers/splits before reload.
13965 (<any_or><mode>3): Use SDWIM mode iterator to add suppport for
13966 double word bit-wise XOR and bit-wise IOR in TImode. Use
13967 force_reg when double word immediate operand isn't
13968 x86_64_hilo_general_operand.
13969 (*<any_or>di3_doubleword): Generalized from <any_or>di3_doubleword.
13970 (one_cmpl<mode>2): Use SDWIM mode iterator to add support for
13971 double word bit-wise NOT in TImode.
13972 (one_cmpl<dwi>2_doubleword): Generalize from one_cmpldi2_doubleword
13973 and converted into a post-reload splitter.
13974
13975 2022-07-01 Eric Botcazou <ebotcazou@adacore.com>
13976
13977 PR middle-end/105874
13978 * expr.cc (expand_expr_real_1) <normal_inner_ref>: Force
13979 EXPAND_MEMORY for the expansion of the inner reference only
13980 in the usual cases where a memory reference is required.
13981
13982 2022-07-01 Richard Biener <rguenther@suse.de>
13983
13984 PR tree-optimization/106131
13985 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Force alias-set
13986 zero when offsetting the read looking through an aggregate
13987 copy.
13988
13989 2022-07-01 Martin Liska <mliska@suse.cz>
13990
13991 PR tree-optimization/106126
13992 * gimple-if-to-switch.cc (struct condition_info): Save
13993 has_side_effect.
13994 (find_conditions): Parse all BBs.
13995 (pass_if_to_switch::execute): Allow only side effects for first
13996 BB.
13997
13998 2022-07-01 Haochen Jiang <haochen.jiang@intel.com>
13999
14000 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_AVX512F_UNSET):
14001 Add OPTION_MASK_ISA2_AVX512BW_UNSET, remove
14002 OPTION_MASK_ISA2_AVX512BF16_UNSET and
14003 OPTION_MASK_ISA2_AVX512FP16_UNSET.
14004
14005 2022-06-30 Joseph Myers <joseph@codesourcery.com>
14006
14007 PR lto/106129
14008 * lto-wrapper.cc (find_option): Add argument start.
14009 (merge_and_complain): Loop over existing_opt_index and
14010 existing_opt2_index for Xassembler check. Update calls to
14011 find_option.
14012 (find_and_merge_options): Add argument first to determine whether
14013 to merge options with those passed in *opts.
14014 (run_gcc): Update calls to find_and_merge_options.
14015
14016 2022-06-30 Aldy Hernandez <aldyh@redhat.com>
14017
14018 * gimple-range-cache.cc (block_range_cache::block_range_cache):
14019 Rename vrange_allocator to obstack_vrange_allocator.
14020 (ssa_global_cache::ssa_global_cache): Same.
14021 * gimple-range-edge.h (class gimple_outgoing_range): Same.
14022 * gimple-range-infer.h (class infer_range_manager): Same.
14023 * value-range.h (class vrange_allocator): Make abstract.
14024 (class obstack_vrange_allocator): Inherit from vrange_allocator.
14025 (class ggc_vrange_allocator): New.
14026
14027 2022-06-30 Roger Sayle <roger@nextmovesoftware.com>
14028 Uroš Bizjak <ubizjak@gmail.com>
14029
14030 * config/i386/i386.md (swap_mode): Rename from *swap<mode> to
14031 provide gen_swapsi.
14032 (<any_rotate>di3): Handle !TARGET_64BIT rotations by 32 bits
14033 via new gen_<insn>32di2_doubleword below.
14034 (<anyrotate>32di2_doubleword): New define_insn_and_split
14035 that splits after reload as either a pair of move instructions
14036 or an xchgl (using gen_swapsi).
14037
14038 2022-06-30 Richard Biener <rguenther@suse.de>
14039
14040 * domwalk.h (dom_walker::dom_walker): Update comment to
14041 reflect reality and new special argument value for
14042 bb_index_to_rpo.
14043 * domwalk.cc (dom_walker::dom_walker): Recognize -1
14044 bb_index_to_rpo.
14045 * tree-into-ssa.cc
14046 (rewrite_update_dom_walker::rewrite_update_dom_walker): Tell
14047 dom_walker to not use RPO.
14048
14049 2022-06-30 Martin Liska <mliska@suse.cz>
14050
14051 * tree-ssa-dom.cc (pass_dominator::execute): Remove m_ranger as
14052 it is unused.
14053
14054 2022-06-30 Andrew MacLeod <amacleod@redhat.com>
14055
14056 PR tree-optimization/106114
14057 * gimple-range-fold.cc (fold_using_range::relation_fold_and_or): Check
14058 statement operands instead of GORI cache.
14059
14060 2022-06-30 Antoni Boucher <bouanto@zoho.com>
14061
14062 PR target/106095
14063 * config/i386/sse.md: Fix asm generation.
14064
14065 2022-06-29 Sergei Trofimovich <siarheit@google.com>
14066
14067 PR c++/106102
14068 * system.h: Introduce INCLUDE_PTHREAD_H macros to include <pthread.h>.
14069
14070 2022-06-29 Joseph Myers <joseph@codesourcery.com>
14071
14072 * config/nios2/nios2.cc (nios2_load_pic_address): Use gen_rtx_MEM
14073 not gen_const_mem for UNSPEC_PIC_CALL_SYM.
14074
14075 2022-06-29 Richard Biener <rguenther@suse.de>
14076
14077 PR rtl-optimization/106082
14078 * combine.cc (distribute_notes): Preserve notes when
14079 they indicate a call doesn't perform a non-local goto.
14080
14081 2022-06-29 Richard Biener <rguenther@suse.de>
14082
14083 PR tree-optimization/106112
14084 * tree-ssa-sccvn.cc (valueized_wider_op): Properly extend
14085 a constant operand according to its type.
14086
14087 2022-06-29 Martin Liska <mliska@suse.cz>
14088
14089 * doc/invoke.texi: Remove removed evrp-mode.
14090
14091 2022-06-29 Lulu Cheng <chenglulu@loongson.cn>
14092
14093 PR target/106097
14094 * config/loongarch/loongarch.cc (loongarch_build_integer):
14095 Remove undefined behavior from code.
14096
14097 2022-06-28 Dimitar Dimitrov <dimitar@dinux.eu>
14098
14099 * doc/sourcebuild.texi: Document new no_alignment_constraints
14100 effective target check.
14101
14102 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
14103
14104 * Makefile.in: Remove gimple-ssa-evrp.o and gimple-ssa-evrp-analyze.o.
14105 * flag-types.h (enum evrp_mode): Remove.
14106 * params.opt: Remove --param=evrp-mode.
14107 * tree-vrp.cc (make_pass_early_vrp): New.
14108 (pass_vrp::execute): Call early VRP instance.
14109 * gimple-ssa-evrp-analyze.cc: Removed.
14110 * gimple-ssa-evrp-analyze.h: Removed.
14111 * gimple-ssa-evrp.cc: Removed.
14112
14113 2022-06-28 Alexandre Oliva <oliva@adacore.com>
14114
14115 * Makefile.in (TFLAGS): New.
14116 (GCC_FOR_TARGET): Add TFLAGS.
14117 (FLAGS_TO_PASS): Pass TFLAGS down.
14118
14119 2022-06-28 Richard Biener <rguenther@suse.de>
14120
14121 * tree-ssa-loop-split.cc (fix_loop_bb_probability): Do not
14122 call update_ssa.
14123
14124 2022-06-28 Richard Biener <rguenther@suse.de>
14125
14126 * tree-into-ssa.cc (insert_updated_phi_nodes_for): Use
14127 mark_block_for_update.
14128 (update_ssa): Adjust.
14129
14130 2022-06-28 Xi Ruoyao <xry111@xry111.site>
14131
14132 PR target/106096
14133 * config/loongarch/loongarch.h (REG_CLASS_CONTENTS): Exclude
14134 $r13 from SIBCALL_REGS.
14135 * config/loongarch/loongarch.cc (loongarch_regno_to_class):
14136 Change $r13 to JIRL_REGS.
14137
14138 2022-06-28 Aldy Hernandez <aldyh@redhat.com>
14139
14140 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Remove
14141 irange::supports_p.
14142
14143 2022-06-28 Richard Biener <rguenther@suse.de>
14144
14145 PR middle-end/106053
14146 * match.pd ((T)a == (T)b): Avoid folding away sign
14147 changes in a comparison if we'd truncate to a boolean.
14148
14149 2022-06-28 Kewen Lin <linkw@linux.ibm.com>
14150
14151 * config/rs6000/rs6000.md (*rotl<mode>3_insert_4): Replace mode
14152 iterator GPR with SImode, adjust the condition and output template,
14153 rename to ...
14154 (*rotlsi3_insert_4): ... this.
14155
14156 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14157
14158 * genmatch.cc: Add "final" and "override" to various vfunc
14159 implementations, removing redundant "virtual" as appropriate.
14160 * gensupport.cc: Likewise.
14161 * gimple-range-cache.h: Likewise.
14162 * ipa-icf-gimple.h: Likewise.
14163 * ipa-icf.h: Likewise.
14164 * read-md.h: Likewise.
14165 * read-rtl-function.cc: Likewise.
14166 * tree-ssa-loop-ch.cc: Likewise.
14167 * tree-ssa-sccvn.cc: Likewise.
14168
14169 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14170
14171 * config/i386/i386-features.h: Add "final" and "override" to
14172 scalar_chain vfunc implementations as appropriate.
14173
14174 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14175
14176 * tree-switch-conversion.h: Add "final" and "override" to cluster
14177 vfunc implementations as appropriate.
14178
14179 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14180
14181 * expr.cc: Add "final" and "override" to op_by_pieces_d vfunc
14182 implementations as appropriate.
14183
14184 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14185
14186 * compare-elim.cc: Add "final" and "override" to dom_walker vfunc
14187 implementations, removing redundant "virtual" as appropriate.
14188 * gimple-ssa-strength-reduction.cc: Likewise.
14189 * ipa-prop.cc: Likewise.
14190 * rtl-ssa/blocks.cc: Likewise.
14191 * tree-into-ssa.cc: Likewise.
14192 * tree-ssa-dom.cc: Likewise.
14193 * tree-ssa-math-opts.cc: Likewise.
14194 * tree-ssa-phiopt.cc: Likewise.
14195 * tree-ssa-propagate.cc: Likewise.
14196 * tree-ssa-sccvn.cc: Likewise.
14197 * tree-ssa-strlen.cc: Likewise.
14198 * tree-ssa-uncprop.cc: Likewise.
14199
14200 2022-06-27 David Malcolm <dmalcolm@redhat.com>
14201
14202 * adjust-alignment.cc: Add "final" and "override" to opt_pass
14203 vfunc implementations, removing redundant "virtual" as
14204 appropriate.
14205 * asan.cc: Likewise.
14206 * auto-inc-dec.cc: Likewise.
14207 * auto-profile.cc: Likewise.
14208 * bb-reorder.cc: Likewise.
14209 * cfgcleanup.cc: Likewise.
14210 * cfgexpand.cc: Likewise.
14211 * cfgrtl.cc: Likewise.
14212 * cgraphbuild.cc: Likewise.
14213 * combine-stack-adj.cc: Likewise.
14214 * combine.cc: Likewise.
14215 * compare-elim.cc: Likewise.
14216 * config/i386/i386-features.cc: Likewise.
14217 * coroutine-passes.cc: Likewise.
14218 * cprop.cc: Likewise.
14219 * cse.cc: Likewise.
14220 * dce.cc: Likewise.
14221 * df-core.cc: Likewise.
14222 * dse.cc: Likewise.
14223 * dwarf2cfi.cc: Likewise.
14224 * early-remat.cc: Likewise.
14225 * except.cc: Likewise.
14226 * final.cc: Likewise.
14227 * function.cc: Likewise.
14228 * fwprop.cc: Likewise.
14229 * gcse.cc: Likewise.
14230 * gimple-harden-conditionals.cc: Likewise.
14231 * gimple-if-to-switch.cc: Likewise.
14232 * gimple-isel.cc: Likewise.
14233 * gimple-laddress.cc: Likewise.
14234 * gimple-loop-interchange.cc: Likewise.
14235 * gimple-loop-jam.cc: Likewise.
14236 * gimple-loop-versioning.cc: Likewise.
14237 * gimple-low.cc: Likewise.
14238 * gimple-ssa-backprop.cc: Likewise.
14239 * gimple-ssa-evrp.cc: Likewise.
14240 * gimple-ssa-isolate-paths.cc: Likewise.
14241 * gimple-ssa-nonnull-compare.cc: Likewise.
14242 * gimple-ssa-split-paths.cc: Likewise.
14243 * gimple-ssa-store-merging.cc: Likewise.
14244 * gimple-ssa-strength-reduction.cc: Likewise.
14245 * gimple-ssa-warn-access.cc: Likewise.
14246 * gimple-ssa-warn-alloca.cc: Likewise.
14247 * gimple-ssa-warn-restrict.cc: Likewise.
14248 * gimple-warn-recursion.cc: Likewise.
14249 * graphite.cc: Likewise.
14250 * ifcvt.cc: Likewise.
14251 * init-regs.cc: Likewise.
14252 * ipa-comdats.cc: Likewise.
14253 * ipa-cp.cc: Likewise.
14254 * ipa-devirt.cc: Likewise.
14255 * ipa-fnsummary.cc: Likewise.
14256 * ipa-free-lang-data.cc: Likewise.
14257 * ipa-icf.cc: Likewise.
14258 * ipa-inline.cc: Likewise.
14259 * ipa-modref.cc: Likewise.
14260 * ipa-profile.cc: Likewise.
14261 * ipa-pure-const.cc: Likewise.
14262 * ipa-reference.cc: Likewise.
14263 * ipa-split.cc: Likewise.
14264 * ipa-sra.cc: Likewise.
14265 * ipa-visibility.cc: Likewise.
14266 * ipa.cc: Likewise.
14267 * ira.cc: Likewise.
14268 * jump.cc: Likewise.
14269 * loop-init.cc: Likewise.
14270 * lower-subreg.cc: Likewise.
14271 * mode-switching.cc: Likewise.
14272 * modulo-sched.cc: Likewise.
14273 * multiple_target.cc: Likewise.
14274 * omp-expand.cc: Likewise.
14275 * omp-low.cc: Likewise.
14276 * omp-oacc-kernels-decompose.cc: Likewise.
14277 * omp-oacc-neuter-broadcast.cc: Likewise.
14278 * omp-offload.cc: Likewise.
14279 * omp-simd-clone.cc: Likewise.
14280 * passes.cc: Likewise.
14281 * postreload-gcse.cc: Likewise.
14282 * postreload.cc: Likewise.
14283 * predict.cc: Likewise.
14284 * recog.cc: Likewise.
14285 * ree.cc: Likewise.
14286 * reg-stack.cc: Likewise.
14287 * regcprop.cc: Likewise.
14288 * reginfo.cc: Likewise.
14289 * regrename.cc: Likewise.
14290 * reorg.cc: Likewise.
14291 * sancov.cc: Likewise.
14292 * sanopt.cc: Likewise.
14293 * sched-rgn.cc: Likewise.
14294 * stack-ptr-mod.cc: Likewise.
14295 * store-motion.cc: Likewise.
14296 * tracer.cc: Likewise.
14297 * trans-mem.cc: Likewise.
14298 * tree-call-cdce.cc: Likewise.
14299 * tree-cfg.cc: Likewise.
14300 * tree-cfgcleanup.cc: Likewise.
14301 * tree-complex.cc: Likewise.
14302 * tree-eh.cc: Likewise.
14303 * tree-emutls.cc: Likewise.
14304 * tree-if-conv.cc: Likewise.
14305 * tree-into-ssa.cc: Likewise.
14306 * tree-loop-distribution.cc: Likewise.
14307 * tree-nrv.cc: Likewise.
14308 * tree-object-size.cc: Likewise.
14309 * tree-parloops.cc: Likewise.
14310 * tree-predcom.cc: Likewise.
14311 * tree-profile.cc: Likewise.
14312 * tree-sra.cc: Likewise.
14313 * tree-ssa-ccp.cc: Likewise.
14314 * tree-ssa-copy.cc: Likewise.
14315 * tree-ssa-dce.cc: Likewise.
14316 * tree-ssa-dom.cc: Likewise.
14317 * tree-ssa-dse.cc: Likewise.
14318 * tree-ssa-forwprop.cc: Likewise.
14319 * tree-ssa-ifcombine.cc: Likewise.
14320 * tree-ssa-loop-ch.cc: Likewise.
14321 * tree-ssa-loop-im.cc: Likewise.
14322 * tree-ssa-loop-ivcanon.cc: Likewise.
14323 * tree-ssa-loop-prefetch.cc: Likewise.
14324 * tree-ssa-loop-split.cc: Likewise.
14325 * tree-ssa-loop-unswitch.cc: Likewise.
14326 * tree-ssa-loop.cc: Likewise.
14327 * tree-ssa-math-opts.cc: Likewise.
14328 * tree-ssa-phiopt.cc: Likewise.
14329 * tree-ssa-phiprop.cc: Likewise.
14330 * tree-ssa-pre.cc: Likewise.
14331 * tree-ssa-reassoc.cc: Likewise.
14332 * tree-ssa-sccvn.cc: Likewise.
14333 * tree-ssa-sink.cc: Likewise.
14334 * tree-ssa-strlen.cc: Likewise.
14335 * tree-ssa-structalias.cc: Likewise.
14336 * tree-ssa-uncprop.cc: Likewise.
14337 * tree-ssa-uninit.cc: Likewise.
14338 * tree-ssanames.cc: Likewise.
14339 * tree-stdarg.cc: Likewise.
14340 * tree-switch-conversion.cc: Likewise.
14341 * tree-tailcall.cc: Likewise.
14342 * tree-vect-generic.cc: Likewise.
14343 * tree-vectorizer.cc: Likewise.
14344 * tree-vrp.cc: Likewise.
14345 * tsan.cc: Likewise.
14346 * ubsan.cc: Likewise.
14347 * var-tracking.cc: Likewise.
14348 * vtable-verify.cc: Likewise.
14349 * web.cc: Likewise.
14350
14351 2022-06-27 Andrew Stubbs <ams@codesourcery.com>
14352
14353 * config/gcn/gcn.md (*movbi): Remove assembler bug workarounds.
14354 (jump): Likewise.
14355 (movdi_symbol_save_scc): Likewise.
14356
14357 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
14358
14359 PR rtl-optimization/7061
14360 * config/i386/i386.md (*highpartdisi2): New define_insn_and_split.
14361
14362 2022-06-27 Roger Sayle <roger@nextmovesoftware.com>
14363
14364 PR tree-optimization/94026
14365 * match.pd (((X << C1) & C2) eq/ne C3): New simplification.
14366 (((X >> C1) & C2) eq/ne C3): Likewise.
14367
14368 2022-06-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
14369
14370 * statistics.cc: Include tree.h.
14371 (get_function_name): New function.
14372 (statistics_fini_pass_2): Call get_function_name instead of
14373 current_function_name.
14374 (statistics_counter_event): Call get_function_name instead of
14375 function_name.
14376 (statistics_histogram_event): Likewise.
14377
14378 2022-06-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14379
14380 * config/xtensa/xtensa.md:
14381 Suppress unnecessary emitting nop insn in the split patterns for
14382 integer/FP constant synthesis, and add new peephole2 pattern that
14383 folds such synthesized additions.
14384
14385 2022-06-25 Aldy Hernandez <aldyh@redhat.com>
14386
14387 * tree-ssa-dom.cc (dom_jt_state): Pass ranger to constructor
14388 instead of evrp.
14389 (dom_jt_state::push): Remove m_evrp.
14390 (dom_jt_state::pop): Same.
14391 (dom_jt_state::record_ranges_from_stmt): Remove.
14392 (dom_jt_state::register_equiv): Remove updating of evrp ranges.
14393 (class dom_jt_simplifier): Pass ranger to constructor.
14394 Inherit from hybrid_jt_simplifier.
14395 (dom_jt_simplifier::simplify): Convert to ranger.
14396 (pass_dominator::execute): Same.
14397 (all_uses_feed_or_dominated_by_stmt): New.
14398 (dom_opt_dom_walker::set_global_ranges_from_unreachable_edges): New.
14399 (dom_opt_dom_walker::before_dom_children): Call
14400 set_global_ranges_from_unreachable_edges.
14401 Do not call record_ranges_from_stmt.
14402 (dom_opt_dom_walker::after_dom_children): Remove evrp use.
14403 (cprop_operand): Use int_range<> instead of value_range.
14404 (dom_opt_dom_walker::fold_cond): New.
14405 (dom_opt_dom_walker::optimize_stmt): Pass ranger to
14406 cprop_into_stmt.
14407 Use fold_cond() instead of vrp_visit_cond_stmt().
14408 * tree-ssa-threadedge.cc (jt_state::register_equivs_stmt): Do not
14409 pass state to simplifier.
14410 * vr-values.h (class vr_values): Make fold_cond public.
14411
14412 2022-06-25 Jeff Law <jeffreyalaw@gmail.com>
14413
14414 * common/config/tilegx/tilegx-common.cc: Removed.
14415 * common/config/tilepro/tilepro-common.cc: Removed.
14416 * config.gcc: Remove tilegx and tilepro entries.
14417 * config/tilegx/constraints.md: Removed.
14418 * config/tilegx/feedback.h: Removed.
14419 * config/tilegx/linux.h: Removed.
14420 * config/tilegx/mul-tables.cc: Removed.
14421 * config/tilegx/predicates.md: Removed.
14422 * config/tilegx/sync.md: Removed.
14423 * config/tilegx/t-tilegx: Removed.
14424 * config/tilegx/tilegx-builtins.h: Removed.
14425 * config/tilegx/tilegx-c.cc: Removed.
14426 * config/tilegx/tilegx-generic.md: Removed.
14427 * config/tilegx/tilegx-modes.def: Removed.
14428 * config/tilegx/tilegx-multiply.h: Removed.
14429 * config/tilegx/tilegx-opts.h: Removed.
14430 * config/tilegx/tilegx-protos.h: Removed.
14431 * config/tilegx/tilegx.cc: Removed.
14432 * config/tilegx/tilegx.h: Removed.
14433 * config/tilegx/tilegx.md: Removed.
14434 * config/tilegx/tilegx.opt: Removed.
14435 * config/tilepro/constraints.md: Removed.
14436 * config/tilepro/feedback.h: Removed.
14437 * config/tilepro/gen-mul-tables.cc: Removed.
14438 * config/tilepro/linux.h: Removed.
14439 * config/tilepro/mul-tables.cc: Removed.
14440 * config/tilepro/predicates.md: Removed.
14441 * config/tilepro/t-tilepro: Removed.
14442 * config/tilepro/tilepro-builtins.h: Removed.
14443 * config/tilepro/tilepro-c.cc: Removed.
14444 * config/tilepro/tilepro-generic.md: Removed.
14445 * config/tilepro/tilepro-modes.def: Removed.
14446 * config/tilepro/tilepro-multiply.h: Removed.
14447 * config/tilepro/tilepro-protos.h: Removed.
14448 * config/tilepro/tilepro.cc: Removed.
14449 * config/tilepro/tilepro.h: Removed.
14450 * config/tilepro/tilepro.md: Removed.
14451 * config/tilepro/tilepro.opt: Removed.
14452 * configure.ac: Remove tilegx and tilepro entries.
14453 * configure: Rebuilt.
14454 * doc/extend.texi: Remove tilegx and tilepro entries.
14455 * doc/install.texi: Remove tilegx and tilepro entries.
14456 * doc/invoke.texi: Remove tilegx and tilepro entries.
14457 * doc/md.texi: Remove tilegx and tilepro entries.
14458
14459 2022-06-25 Roger Sayle <roger@nextmovesoftware.com>
14460 Richard Biener <rguenther@suse.de>
14461
14462 * regcprop.cc (pass_cprop_hardreg::execute): Perform a third
14463 iteration over each basic block that was updated by the second
14464 iteration.
14465
14466 2022-06-24 Jason Merrill <jason@redhat.com>
14467
14468 PR c++/87729
14469 PR c++/20423
14470 * doc/invoke.texi: Document changes.
14471
14472 2022-06-24 Iain Buclaw <ibuclaw@gdcproject.org>
14473
14474 * config/tilepro/gen-mul-tables.cc (tilegx_emit): Adjust loop
14475 condition to avoid overflow.
14476
14477 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14478
14479 * config/rs6000/aix71.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
14480 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
14481 * config/rs6000/darwin.h (MASK_PPC_GFXOPT): Replace with
14482 OPTION_MASK_PPC_GFXOPT.
14483 * config/rs6000/darwin64-biarch.h (MASK_PPC_GFXOPT): Same.
14484 * config/rs6000/default64.h (MASK_PPC_GPOPT, MASK_PPC_GFXOPT): Replace with
14485 OPTION_MASK_PPC_GPOPT, OPTION_MASK_PPC_GFXOPT.
14486 * config/rs6000/rs6000-c.cc: Update comment.
14487 * config/rs6000/rs6000-cpus.def: Update RS6000_CPU macro calls.
14488 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
14489 MASK_PPC_GPOPT with OPTION_MASK_PPC_GPOPT.
14490 (rs6000_builtin_mask_names): Replace MASK_PPC_GFXOPT, MASK_POPCNTB
14491 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_POPCNTB.
14492 * config/rs6000/rs6000.h: (MASK_P8_VECTOR, MASK_P9_VECTOR,
14493 MASK_P9_MISC, MASK_POPCNTB, MASK_POPCNTD, MASK_PPC_GFXOPT,
14494 MASK_PPC_GPOPT, MASK_RECIP_PRECISION, MASK_SOFT_FLOAT,
14495 MASK_VSX, MASK_POWER10, MASK_P10_FUSION): Delete.
14496
14497 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14498
14499 * config/rs6000/aix71.h (TARGET_DEFAULT): Replace MASK_MFCRF with
14500 OPTION_MASK_MFCRF.
14501 * config/rs6000/darwin.h (TARGET_DEFAULT): Replace MASK_MULTIPLE with
14502 OPTION_MASK_MULTIPLE.
14503 * config/rs6000/darwin64-biarch.h (TARGET_DEFAULT): Same.
14504 * config/rs6000/default64.h (TARGET_DEFAULT): Replace MASK_MFCRF with
14505 OPTION_MASK_MFCRF.
14506 * config/rs6000/eabi.h (TARGET_DEFAULT): Replace MASK_EABI with
14507 OPTION_MASK_EABI.
14508 * config/rs6000/eabialtivec.h (TARGET_DEFAULT): Same.
14509 * config/rs6000/linuxaltivec.h (TARGET_DEFAULT): Replace
14510 MASK_ALTIVEC with OPTION_MASK_ALTIVEC.
14511 * config/rs6000/rs6000-cpus.def (MASK_ALTIVEC, MASK_CMPB,
14512 MASK_CRYPTO, MASK_DFP, MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI,
14513 MASK_FLOAT128_KEYWORD, MASK_FLOAT128_HW, MASK_FPRND,
14514 MASK_P8_FUSION, MASK_HARD_FLOAT, MASK_HTM, MASK_ISEL, MASK_MFCRF,
14515 MASK_MMA, MASK_MULHW, MASK_MULTIPLE, MASK_NO_UPDATE):
14516 Replace with
14517 OPTION_MASK_ALTIVEC, OPTION_MASK_CMPB, OPTION_MASK_CRYPTO,
14518 OPTION_MASK_DFP, OPTION_MASK_DIRECT_MOVE, OPTION_MASK_DLMZB,
14519 OPTION_MASK_EABI, OPTION_MASK_FLOAT128_KEYWORD,
14520 OPTION_MASK_FLOAT128_HW, OPTION_MASK_FPRND, OPTION_MASK_P8_FUSION,
14521 OPTION_MASK_HARD_FLOAT, OPTION_MASK_HTM, OPTION_MASK_ISEL,
14522 OPTION_MASK_MFCRF, OPTION_MASK_MMA, OPTION_MASK_MULHW,
14523 OPTION_MASK_MULTIPLE, OPTION_MASK_NO_UPDATE.
14524 * config/rs6000/rs6000.cc (rs6000_darwin_file_start): Replace
14525 MASK_MFCRF, MASK_ALTIVEC with OPTION_MASK_MFCRF, OPTION_MASK_ALTIVEC.
14526 * config/rs6000/rs6000.h (TARGET_DEFAULT): Replace MASK_MULTIPLE
14527 with OPTION_MASK_MULTIPLE.
14528 (MASK_ALTIVEC, MASK_CMPB, MASK_CRYPTO, MASK_DFP,
14529 MASK_DIRECT_MOVE, MASK_DLMZB, MASK_EABI, MASK_FLOAT128_KEYWORD,
14530 MASK_FLOAT128_HW, MASK_FPRND, MASK_P8_FUSION, MASK_HARD_FLOAT,
14531 MASK_HTM, MASK_ISEL, MASK_MFCRF, MASK_MMA, MASK_MULHW,
14532 MASK_MULTIPLE, MASK_NO_UPDATE): Delete.
14533 * config/rs6000/vxworks.h (TARGET_DEFAULT): Replace MASK_EABI
14534 with OPTION_MASK_EABI.
14535
14536 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14537
14538 * config/rs6000/rs6000.cc (RS6000_BTM_ALTIVEC, RS6000_BTM_CMPB,
14539 RS6000_BTM_VSX, RS6000_BTM_FRE, RS6000_BTM_P8_VECTOR,
14540 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_MODULO,
14541 RS6000_BTM_CRYPTO, RS6000_BTM_HTM): Replace with OPTION_MASK_ALTIVEC,
14542 OPTION_MASK_CMPB, OPTION_MASK_VSX, OPTION_MASK_POPCNTB,
14543 OPTION_MASK_P8_VECTOR, OPTION_MASK_P9_VECTOR, OPTION_MASK_P9_MISC,
14544 OPTION_MASK_MODULO, OPTION_MASK_CRYPTO, OPTION_MASK_HTM.
14545 * config/rs6000/rs6000.h (RS6000_BTM_MODULO, RS6000_BTM_ALTIVEC,
14546 RS6000_BTM_CMPB, RS6000_BTM_VSX, RS6000_BTM_P8_VECTOR,
14547 RS6000_BTM_P9_VECTOR, RS6000_BTM_P9_MISC, RS6000_BTM_CRYPTO,
14548 RS6000_BTM_HTM, RS6000_BTM_FRE): Remove.
14549
14550 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14551
14552 * config/rs6000/rs6000-c.cc: Update comments.
14553 * config/rs6000/rs6000.cc (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
14554 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
14555 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_DFP,
14556 RS6000_BTM_HARD_FLOAT,RS6000_BTM_LDBL128, RS6000_BTM_FLOAT128,
14557 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Replace
14558 with OPTION_MASK_PPC_GFXOPT, OPTION_MASK_PPC_GFXOPT,
14559 OPTION_MASK_POPCNTB, OPTION_MASK_POPCNTD,
14560 OPTION_MASK_FPRND, MASK_64BIT, MASK_POWERPC64,
14561 OPTION_MASK_DFP, OPTION_MASK_SOFT_FLOAT, OPTION_MASK_MULTIPLE,
14562 OPTION_MASK_FLOAT128_KEYWORD, OPTION_MASK_FLOAT128_HW,
14563 OPTION_MASK_MMA, OPTION_MASK_POWER10.
14564 * config/rs6000/rs6000.h (RS6000_BTM_FRES, RS6000_BTM_FRSQRTE,
14565 RS6000_BTM_FRSQRTES, RS6000_BTM_POPCNTD, RS6000_BTM_CELL,
14566 RS6000_BTM_DFP, RS6000_BTM_HARD_FLOAT, RS6000_BTM_LDBL128,
14567 RS6000_BTM_64BIT, RS6000_BTM_POWERPC64, RS6000_BTM_FLOAT128,
14568 RS6000_BTM_FLOAT128_HW, RS6000_BTM_MMA, RS6000_BTM_P10): Delete.
14569
14570 2022-06-24 Will Schmidt <will_schmidt@vnet.ibm.com>
14571
14572 * config/rs6000/rs6000.h (RS6000_BTM_COMMON, RS6000_BTM_ALWAYS,
14573 MASK_REGNAMES, OPTION_MASK_REGNAMES, MASK_PROTOTYPE,
14574 OPTION_MASK_PROTOTYPE, MASK_UPDATE, OPTION_MASK_UPDATE): Remove.
14575
14576 2022-06-24 Richard Biener <rguenther@suse.de>
14577
14578 PR middle-end/106070
14579 * match.pd (a != b ? a : b): Fix translation of
14580 operand_equal_for_comparison_p.
14581
14582 2022-06-24 Jan Hubicka <jh@suse.cz>
14583
14584 PR ipa/106057
14585 * tree-ssa-alias.cc (stmt_kills_ref_p): Check for external throw.
14586
14587 2022-06-24 Martin Liska <mliska@suse.cz>
14588
14589 PR middle-end/106059
14590 * profile-count.h: *= and /= operators need to modify this
14591 object.
14592
14593 2022-06-24 Roger Sayle <roger@nextmovesoftware.com>
14594 Uroš Bizjak <ubizjak@gmail.com>
14595
14596 PR target/105930
14597 * config/i386/i386.md (*<any_or>di3_doubleword): Split after
14598 reload. Use rtx_equal_p to avoid creating memory-to-memory moves,
14599 and emit NOTE_INSN_DELETED if operand[2] is zero (i.e. with -O0).
14600
14601 2022-06-24 Alexandre Oliva <oliva@adacore.com>
14602
14603 * common.opt (nostdlib++): New.
14604 * doc/invoke.texi (-nostdlib++): Document it.
14605
14606 2022-06-24 Alexandre Oliva <oliva@adacore.com>
14607
14608 * doc/sourcebuild.texi (Environment attributes): Document
14609 two_plus_gigs.
14610
14611 2022-06-23 David Malcolm <dmalcolm@redhat.com>
14612
14613 * common.opt (fdiagnostics-show-rules): New option.
14614 * diagnostic-format-json.cc (diagnostic_output_format_init_json):
14615 Fix up context->show_rules.
14616 * diagnostic-format-sarif.cc
14617 (diagnostic_output_format_init_sarif): Likewise.
14618 * diagnostic-metadata.h (diagnostic_metadata::rule): New class.
14619 (diagnostic_metadata::precanned_rule): New class.
14620 (diagnostic_metadata::add_rule): New.
14621 (diagnostic_metadata::get_num_rules): New.
14622 (diagnostic_metadata::get_rule): New.
14623 (diagnostic_metadata::m_rules): New field.
14624 * diagnostic.cc (diagnostic_initialize): Initialize show_rules.
14625 (print_any_rules): New.
14626 (diagnostic_report_diagnostic): Call it.
14627 * diagnostic.h (diagnostic_context::show_rules): New field.
14628 * doc/invoke.texi (-fno-diagnostics-show-rules): New option.
14629 * opts.cc (common_handle_option): Handle
14630 OPT_fdiagnostics_show_rules.
14631 * toplev.cc (general_init): Set up global_dc->show_rules.
14632
14633 2022-06-23 Martin Liska <mliska@suse.cz>
14634
14635 PR c++/106062
14636 * ubsan.cc (sanitize_unreachable_fn): Change order of calls
14637 in order to initialize UBSAN built-ins.
14638
14639 2022-06-23 Martin Liska <mliska@suse.cz>
14640
14641 PR ipa/105600
14642 * ipa-icf.cc (sem_item_optimizer::filter_removed_items):
14643 Skip variables with body_removed.
14644
14645 2022-06-23 liuhongt <hongtao.liu@intel.com>
14646
14647 * config/i386/sse.md:(sse4_2_pcmpestr): Replace REGNO with
14648 reg_or_subregno.
14649 (sse4_2_pcmpistr): Ditto.
14650
14651 2022-06-23 Xionghu Luo <xionghuluo@tencent.com>
14652
14653 * cgraph.cc (cgraph_edge::redirect_call_stmt_to_callee): Fix
14654 typo.
14655 * tree-ssa-loop-ivopts.cc (struct iv_cand): Likewise.
14656 * tree-switch-conversion.h: Likewise.
14657
14658 2022-06-22 Jason Merrill <jason@redhat.com>
14659
14660 PR c++/104642
14661 * common.opt: Add -funreachable-traps.
14662 * doc/invoke.texi (-funreachable-traps): Document it.
14663 * opts.cc (finish_options): Enable at -O0 or -Og.
14664 * tree.cc (build_common_builtin_nodes): Add __builtin_trap.
14665 (builtin_decl_unreachable, build_builtin_unreachable): New.
14666 * tree.h: Declare them.
14667 * ubsan.cc (sanitize_unreachable_fn): Factor out.
14668 (ubsan_instrument_unreachable): Use
14669 gimple_build_builtin_unreachable.
14670 * ubsan.h (sanitize_unreachable_fn): Declare.
14671 * gimple.cc (gimple_build_builtin_unreachable): New.
14672 * gimple.h: Declare it.
14673 * builtins.cc (expand_builtin_unreachable): Add assert.
14674 (fold_builtin_0): Call build_builtin_unreachable.
14675 * sanopt.cc: Don't run for just SANITIZE_RETURN
14676 or SANITIZE_UNREACHABLE when trapping.
14677 * cgraphunit.cc (walk_polymorphic_call_targets): Use new
14678 unreachable functions.
14679 * gimple-fold.cc (gimple_fold_call)
14680 (gimple_get_virt_method_for_vtable)
14681 * ipa-fnsummary.cc (redirect_to_unreachable)
14682 * ipa-prop.cc (ipa_make_edge_direct_to_target)
14683 (ipa_impossible_devirt_target)
14684 * ipa.cc (walk_polymorphic_call_targets)
14685 * tree-cfg.cc (pass_warn_function_return::execute)
14686 (execute_fixup_cfg)
14687 * tree-ssa-loop-ivcanon.cc (remove_exits_and_undefined_stmts)
14688 (unloop_loops)
14689 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt):
14690 Likewise.
14691
14692 2022-06-22 Richard Sandiford <richard.sandiford@arm.com>
14693
14694 PR tree-optimization/106019
14695 * tree-data-ref.cc (dr_may_alias_p): Try using the
14696 innermost_loop_behavior to disambiguate non-loop queries.
14697
14698 2022-06-22 Palmer Dabbelt <palmer@rivosinc.com>
14699
14700 * doc/invoke.texi (RISC-V): Document -mtune=thead-c906.
14701
14702 2022-06-22 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14703
14704 * config/xtensa/xtensa.md (bswapsi2_internal):
14705 Enlarge the buffer that is obviously smaller than the template
14706 string given to sprintf().
14707
14708 2022-06-21 Roger Sayle <roger@nextmovesoftware.com>
14709 Marek Polacek <polacek@redhat.com>
14710 Segher Boessenkool <segher@kernel.crashing.org>
14711 Kewen Lin <linkw@linux.ibm.com>
14712
14713 PR target/105991
14714 * config/rs6000/rs6000.md (rotl<mode>3_insert_3): Check that
14715 exact_log2 doesn't return -1 (or zero).
14716 (plus_xor): New code iterator.
14717 (*rotl<mode>3_insert_3_<code>): New define_insn_and_split.
14718
14719 2022-06-21 Nathan Sidwell <nathan@acm.org>
14720
14721 * doc/invoke.texi (C++ Modules): Remove language-linkage
14722 as missing feature.
14723
14724 2022-06-21 Arjun Shankar <arjun@redhat.com>
14725
14726 PR tree-optimization/94899
14727 * match.pd (X + C < Y + C -> (signed) X < (signed) Y, if C is
14728 0x80000000): New simplification.
14729
14730 2022-06-21 Jakub Jelinek <jakub@redhat.com>
14731
14732 PR rtl-optimization/106032
14733 * ifcvt.cc (noce_try_sign_mask): Punt if !t_unconditional, and
14734 t may_trap_or_fault_p, even if it is cheap.
14735
14736 2022-06-21 Jakub Jelinek <jakub@redhat.com>
14737
14738 PR middle-end/106030
14739 * expr.cc (expand_cond_expr_using_cmove): Pass NULL_RTX instead of
14740 temp to expand_operands if mode has been promoted.
14741
14742 2022-06-21 Xionghu Luo <xionghuluo@tencent.com>
14743
14744 PR target/105740
14745 * gimple-if-to-switch.cc (find_conditions): Don't skip the first
14746 condition bb.
14747
14748 2022-06-21 Siddhesh Poyarekar <siddhesh@gotplt.org>
14749
14750 PR tree-optimization/105736
14751 * tree-object-size.cc (addr_object_size): Return size_unknown
14752 when object offset computation returns an error.
14753
14754 2022-06-20 H.J. Lu <hjl.tools@gmail.com>
14755
14756 PR target/105960
14757 * config/i386/i386.cc (ix86_function_ok_for_sibcall): Return
14758 false if PIC register is used when calling ifunc functions.
14759
14760 2022-06-20 Richard Biener <rguenther@suse.de>
14761
14762 PR middle-end/106027
14763 * fold-const.cc (fold_to_nonsharp_ineq_using_bound): Use the
14764 type of the prevailing comparison for the new comparison type.
14765 (fold_binary_loc): Use proper types for the A < X && A + 1 > Y
14766 to A < X && A >= Y folding.
14767
14768 2022-06-20 Kewen Lin <linkw@linux.ibm.com>
14769
14770 PR tree-optimization/105940
14771 * tree-vect-loop.cc (vect_analyze_loop_2): Add new parameter
14772 slp_done_for_suggested_uf and adjust with it accordingly.
14773 (vect_analyze_loop_1): Add new variable slp_done_for_suggested_uf,
14774 pass it down to vect_analyze_loop_2 for the initial analysis and
14775 applying suggested unroll factor.
14776 (vect_is_simple_reduction): Add parameter slp and adjust with it.
14777 (vect_analyze_scalar_cycles_1): Add parameter slp and pass down.
14778 (vect_analyze_scalar_cycles): Likewise.
14779
14780 2022-06-20 Martin Liska <mliska@suse.cz>
14781
14782 * bb-reorder.cc (find_traces_1_round): Add operators / and * and
14783 use them.
14784 (better_edge_p): Likewise.
14785 * cfgloop.cc (find_subloop_latch_edge_by_profile): Likewise.
14786 * cfgloopmanip.cc (scale_loop_profile): Likewise.
14787 * cfgrtl.cc (force_nonfallthru_and_redirect): Likewise.
14788 * cgraph.cc (cgraph_edge::maybe_hot_p): Likewise.
14789 * config/sh/sh.cc (expand_cbranchdi4): Likewise.
14790 * dojump.cc (do_compare_rtx_and_jump): Likewise.
14791 * final.cc (compute_alignments): Likewise.
14792 * ipa-cp.cc (update_counts_for_self_gen_clones): Likewise.
14793 (decide_about_value): Likewise.
14794 * ipa-inline-analysis.cc (do_estimate_edge_time): Likewise.
14795 * loop-unroll.cc (unroll_loop_runtime_iterations): Likewise.
14796 * modulo-sched.cc (sms_schedule): Likewise.
14797 * omp-expand.cc (extract_omp_for_update_vars): Likewise.
14798 (expand_omp_ordered_sink): Likewise.
14799 (expand_omp_for_ordered_loops): Likewise.
14800 (expand_omp_for_static_nochunk): Likewise.
14801 * predict.cc (maybe_hot_count_p): Likewise.
14802 (probably_never_executed): Likewise.
14803 (set_even_probabilities): Likewise.
14804 (handle_missing_profiles): Likewise.
14805 (expensive_function_p): Likewise.
14806 * profile-count.h: Likewise.
14807 * profile.cc (compute_branch_probabilities): Likewise.
14808 * stmt.cc (emit_case_dispatch_table): Likewise.
14809 * symtab-thunks.cc (expand_thunk): Likewise.
14810 * tree-ssa-loop-manip.cc (tree_transform_and_unroll_loop): Likewise.
14811 * tree-ssa-sink.cc (select_best_block): Likewise.
14812 * tree-switch-conversion.cc (switch_decision_tree::analyze_switch_statement): Likewise.
14813 (switch_decision_tree::balance_case_nodes): Likewise.
14814 (switch_decision_tree::emit_case_nodes): Likewise.
14815 * tree-vect-loop.cc (scale_profile_for_vect_loop): Likewise.
14816
14817 2022-06-20 yulong <shiyulong@iscas.ac.cn>
14818
14819 * config/riscv/riscv-builtins.cc (RISCV_ATYPE_VOID_PTR): New.
14820 * config/riscv/riscv-cmo.def (RISCV_BUILTIN): Changed the FUNCTION_TYPE
14821 of RISCV_BUILTIN.
14822 * config/riscv/riscv-ftypes.def (0): Remove unused.
14823 (1): New.
14824
14825 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14826
14827 * config/xtensa/xtensa.cc (xtensa_is_insn_L32R_p):
14828 Consider relaxed MOVI instructions as L32R.
14829
14830 2022-06-19 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14831
14832 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
14833 Use can_create_pseudo_p(), instead of using individual
14834 reload_in_progress and reload_completed.
14835 (xtensa_expand_block_set_small_loop): Use xtensa_simm8x256(),
14836 the existing predicate function.
14837 (xtensa_is_insn_L32R_p, gen_int_relational, xtensa_emit_sibcall):
14838 Use the standard RTX code predicate macros such as MEM_P,
14839 SYMBOL_REF_P and/or CONST_INT_P.
14840 * config/xtensa/xtensa.md: Avoid using numeric literals to determine
14841 if callee-saved register, at the split patterns for indirect sibcall
14842 fixups.
14843
14844 2022-06-18 Jakub Jelinek <jakub@redhat.com>
14845
14846 * common.opt (flag_sanitize_trap): New variable.
14847 (fsanitize-trap=, fsanitize-trap): New options.
14848 (fsanitize-undefined-trap-on-error): Change into deprecated alias
14849 for -fsanitize-trap=all.
14850 * opts.h (struct sanitizer_opts_s): Add can_trap member.
14851 * opts.cc (finish_options): Complain about unsupported
14852 -fsanitize-trap= options.
14853 (sanitizer_opts): Add can_trap values to all entries.
14854 (get_closest_sanitizer_option): Ignore -fsanitize-trap=
14855 options which have can_trap false.
14856 (parse_sanitizer_options): Add support for -fsanitize-trap=.
14857 For -fsanitize-trap=all, enable
14858 SANITIZE_UNDEFINED | SANITIZE_UNDEFINED_NONDEFAULT. Disallow
14859 -fsanitize-trap=vptr here.
14860 (common_handle_option): Handle OPT_fsanitize_trap_ and
14861 OPT_fsanitize_trap.
14862 * sanopt.cc (maybe_optimize_ubsan_null_ifn): Check
14863 flag_sanitize_trap & SANITIZE_{NULL,ALIGNMENT} instead of
14864 flag_sanitize_undefined_trap_on_error.
14865 * gcc.cc (sanitize_spec_function): Use
14866 flag_sanitize & ~flag_sanitize_trap instead of flag_sanitize
14867 and drop use of flag_sanitize_undefined_trap_on_error in
14868 "undefined" handling.
14869 * ubsan.cc (ubsan_instrument_unreachable): Use
14870 flag_sanitize_trap & SANITIZE_??? instead of
14871 flag_sanitize_undefined_trap_on_error.
14872 (ubsan_expand_bounds_ifn, ubsan_expand_null_ifn,
14873 ubsan_expand_objsize_ifn, ubsan_expand_ptr_ifn,
14874 ubsan_build_overflow_builtin, instrument_bool_enum_load,
14875 ubsan_instrument_float_cast, instrument_nonnull_arg,
14876 instrument_nonnull_return, instrument_builtin): Likewise.
14877 * doc/invoke.texi (-fsanitize-trap=, -fsanitize-trap): Document.
14878 (-fsanitize-undefined-trap-on-error): Document as deprecated
14879 alias of -fsanitize-trap.
14880
14881 2022-06-18 Jakub Jelinek <jakub@redhat.com>
14882
14883 PR middle-end/105998
14884 * varasm.cc (narrowing_initializer_constant_valid_p): Check
14885 SCALAR_INT_MODE_P instead of INTEGRAL_MODE_P, also break on
14886 ! INTEGRAL_TYPE_P and do the same check also on op{0,1}'s type.
14887
14888 2022-06-18 Roger Sayle <roger@nextmovesoftware.com>
14889
14890 PR tree-optimization/105835
14891 * match.pd (convert (mult zero_one_valued_p@1 INTEGER_CST@2)):
14892 Narrow integer multiplication by a zero_one_valued_p operand.
14893 (convert (cond @1 INTEGER_CST@2 INTEGER_CST@3)): Push integer
14894 conversions inside COND_EXPR where both data operands are
14895 integer constants.
14896
14897 2022-06-18 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
14898
14899 * config/xtensa/constraints.md (Y):
14900 Change to include integer constants until reload begins.
14901 * config/xtensa/predicates.md (move_operand): Ditto.
14902 * config/xtensa/xtensa.cc (xtensa_emit_move_sequence):
14903 Change to allow storing integer constants into litpool only after
14904 reload begins.
14905
14906 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14907
14908 PR target/105209
14909 * config/alpha/alpha-protos.h (alpha_store_data_bypass_p): New.
14910 * config/alpha/alpha.cc (alpha_store_data_bypass_p): New function.
14911 (alpha_store_data_bypass_p_1): Ditto.
14912 * config/alpha/ev4.md: Use alpha_store_data_bypass_p instead
14913 of generic store_data_bypass_p.
14914 (ev4_ist_c): Remove insn reservation.
14915
14916 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14917
14918 PR target/105970
14919 * config/i386/i386.cc (ix86_function_arg): Assert that
14920 the mode of pointer argumet is equal to ptr_mode, not Pmode.
14921
14922 2022-06-17 Uroš Bizjak <ubizjak@gmail.com>
14923
14924 PR target/105993
14925 * config/i386/sse.md (vpmov splitter): Use (match_dup ...)
14926 instead of REGNO comparisons in combine splitter.
14927
14928 2022-06-17 Segher Boessenkool <segher@kernel.crashing.org>
14929
14930 * config/rs6000/rs6000.cc (rs6000_invalid_conversion): Correct some
14931 types.
14932
14933 2022-06-17 Kito Cheng <kito.cheng@sifive.com>
14934
14935 * config/riscv/bitmanip.md: Supress warning.
14936
14937 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
14938
14939 PR target/106004
14940 * config/arm/arm.cc (arm_print_operand, case 'V'): Use UINTVAL.
14941 Clear bits in the mask above bit 31.
14942
14943 2022-06-17 Richard Earnshaw <rearnsha@arm.com>
14944
14945 * config/arm/mve.md (*mve_mov<mode>): Re-order constraints
14946 to avoid spilling trivial literals to the constant pool.
14947
14948 2022-06-16 David Malcolm <dmalcolm@redhat.com>
14949
14950 * gimple-ssa-warn-access.cc (warn_string_no_nul): Add
14951 auto_diagnostic_group to group any warning with its note.
14952 (maybe_warn_for_bound): Likewise.
14953 (check_access): Likewise.
14954 (warn_dealloc_offset): Likewise.
14955 (pass_waccess::maybe_warn_memmodel): Likewise.
14956 (pass_waccess::maybe_check_dealloc_call): Likewise.
14957 (pass_waccess::warn_invalid_pointer): Likewise.
14958 (pass_waccess::check_dangling_stores): Likewise.
14959
14960 2022-06-16 Jason Merrill <jason@redhat.com>
14961
14962 * opts.cc (common_handle_option) [OPT_fsanitize_]: Set
14963 opts_set->x_flag_sanitize.
14964
14965 2022-06-16 Jason Merrill <jason@redhat.com>
14966
14967 * flags.h (issue_strict_overflow_warning): Comment #endif.
14968
14969 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
14970
14971 * gimple-range-cache.cc (ranger_cache::apply_inferred_ranges): If name
14972 was invaraint before, clear the invariant bit.
14973 * gimple-range-gori.cc (gori_map::set_range_invariant): Add a flag.
14974 * gimple-range-gori.h (gori_map::set_range_invariant): Adjust prototype.
14975
14976 2022-06-16 Andrew MacLeod <amacleod@redhat.com>
14977
14978 * tree-ssa-propagate.cc (before_dom_children): Call value_of_stmt.
14979
14980 2022-06-16 Jakub Jelinek <jakub@redhat.com>
14981
14982 PR tree-optimization/105983
14983 * match.pd (y == XXX_MIN || x < y -> x <= y - 1,
14984 y != XXX_MIN && x >= y -> x > y - 1): Use :cs instead of :s
14985 on non-equality comparisons.
14986
14987 2022-06-16 Jakub Jelinek <jakub@redhat.com>
14988
14989 PR tree-optimization/105984
14990 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
14991 x > stype_max / cst || x < stype_min / cst): fold_convert @1
14992 to TREE_TYPE (@0) just once and test for negative divisor
14993 also on that folded constant instead of on @1.
14994
14995 2022-06-16 Jakub Jelinek <jakub@redhat.com>
14996
14997 PR middle-end/105951
14998 * tree-ssa-ccp.cc (optimize_atomic_bit_test_and,
14999 optimize_atomic_op_fetch_cmp_0): Remember gimple_call_fn (call)
15000 as last argument to the internal functions.
15001 * builtins.cc (expand_ifn_atomic_bit_test_and): Adjust for the
15002 extra call argument to ifns. If expand_atomic_fetch_op fails for the
15003 lhs == NULL_TREE case, fall through into the optab code with
15004 gen_reg_rtx (mode) as target. If second expand_atomic_fetch_op
15005 fails, construct a CALL_EXPR and expand that.
15006 (expand_ifn_atomic_op_fetch_cmp_0): Adjust for the extra call argument
15007 to ifns. If expand_atomic_fetch_op fails, construct a CALL_EXPR and
15008 expand that.
15009
15010 2022-06-16 Haochen Gui <guihaoc@gcc.gnu.org>
15011
15012 PR target/103316
15013 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Enable
15014 gimple folding for RS6000_BIF_VCMPEQUT, RS6000_BIF_VCMPNET,
15015 RS6000_BIF_CMPGE_1TI, RS6000_BIF_CMPGE_U1TI, RS6000_BIF_VCMPGTUT,
15016 RS6000_BIF_VCMPGTST, RS6000_BIF_CMPLE_1TI, RS6000_BIF_CMPLE_U1TI.
15017 * config/rs6000/vector.md (VEC_IC): New mode iterator. Add support
15018 for new Power10 V1TI instructions.
15019 (vec_cmp<mode><mode>): Set mode iterator to VEC_IC.
15020 (vec_cmpu<mode><mode>): Likewise.
15021 (vector_nlt<mode>): Set mode iterator to VEC_IC.
15022 (vector_nltv1ti): Remove.
15023 (vector_gtu<mode>): Set mode iterator to VEC_IC.
15024 (vector_gtuv1ti): Remove.
15025 (vector_nltu<mode>): Set mode iterator to VEC_IC.
15026 (vector_nltuv1ti): Remove.
15027 (vector_geu<mode>): Set mode iterator to VEC_IC.
15028 (vector_ngt<mode>): Likewise.
15029 (vector_ngtv1ti): Remove.
15030 (vector_ngtu<mode>): Set mode iterator to VEC_IC.
15031 (vector_ngtuv1ti): Remove.
15032 (vector_gtu_<mode>_p): Set mode iterator to VEC_IC.
15033 (vector_gtu_v1ti_p): Remove.
15034 (vrotl<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
15035 (vrotlv1ti3): Remove.
15036 (vashr<mode>3): Set mode iterator to VEC_IC. Emit insns for V1TI.
15037 (vashrv1ti3): Remove.
15038
15039 2022-06-16 Martin Liska <mliska@suse.cz>
15040
15041 * gengtype-state.cc (read_a_state_token): Do not skip extra
15042 character after escaped sequence.
15043
15044 2022-06-16 Martin Liska <mliska@suse.cz>
15045
15046 PR driver/105564
15047 * spellcheck.cc (test_find_closest_string): Add new test.
15048 * spellcheck.h (class best_match): Prefer a difference in
15049 trailing sign symbol.
15050
15051 2022-06-16 liuhongt <hongtao.liu@intel.com>
15052
15053 PR tree-optimization/53533
15054 * match.pd: Simplify (B * v + C) * D -> BD * v + CD and
15055 (v + B) * C + D -> C * v + BCD when B,C,D are all INTEGER_CST,
15056 and there's no overflow or !TYPE_OVERFLOW_UNDEFINED.
15057
15058 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15059
15060 * config/xtensa/xtensa.md (DSC): New split pattern and mode iterator.
15061
15062 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15063
15064 * config/xtensa/predicates.md (reload_operand):
15065 New predicate.
15066 * config/xtensa/xtensa.md: New peephole2 pattern.
15067
15068 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15069
15070 * config/xtensa/xtensa.md (*round_up_to_even):
15071 New insn-and-split pattern.
15072 (*signed_ge_zero): Ditto.
15073
15074 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15075
15076 * config/xtensa/xtensa-protos.h (xtensa_prepare_expand_call,
15077 xtensa_emit_sibcall): New prototypes.
15078 (xtensa_expand_epilogue): Add new argument that specifies whether
15079 or not sibling call.
15080 * config/xtensa/xtensa.cc (TARGET_FUNCTION_OK_FOR_SIBCALL):
15081 New macro definition.
15082 (xtensa_prepare_expand_call): New function in order to share
15083 the common code.
15084 (xtensa_emit_sibcall, xtensa_function_ok_for_sibcall):
15085 New functions.
15086 (xtensa_expand_epilogue): Add new argument sibcall_p and use it
15087 for sibling call handling.
15088 * config/xtensa/xtensa.md (call, call_value):
15089 Use xtensa_prepare_expand_call.
15090 (call_internal, call_value_internal):
15091 Add the condition in order to be disabled if sibling call.
15092 (sibcall, sibcall_value, sibcall_epilogue): New expansions.
15093 (sibcall_internal, sibcall_value_internal): New insn patterns,
15094 and split ones in order to take care of the indirect sibcalls.
15095
15096 2022-06-15 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15097
15098 * doc/invoke.texi: Document -mextra-l32r-costs= option.
15099
15100 2022-06-15 David Malcolm <dmalcolm@redhat.com>
15101
15102 PR analyzer/105962
15103 * doc/invoke.texi: Add -fno-analyzer-undo-inlining.
15104 * tree-diagnostic-path.cc (default_tree_diagnostic_path_printer):
15105 Extend -fdiagnostics-path-format=separate-events so that with
15106 -fdiagnostics-show-path-depths it prints fndecls as well as stack
15107 depths.
15108
15109 2022-06-15 David Malcolm <dmalcolm@redhat.com>
15110
15111 * value-relation.h: Add "final" and "override" to relation_oracle
15112 vfunc implementations as appropriate.
15113
15114 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15115
15116 PR middle-end/105975
15117 Revert everything apart from the expand_fn_using_insn and
15118 expand_direct_optab_fn changes from:
15119 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
15120 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
15121 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
15122 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
15123 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
15124 member variable.
15125 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
15126 (direct_internal_fn_p): Also return true for internal functions
15127 that map directly to instructions defined target-insns.def.
15128 (direct_internal_fn): Adjust comment accordingly.
15129 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
15130 (vectorizable_optab2): New local macros.
15131 (not_direct): Initialize directly_mapped.
15132 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
15133 (gather_load_direct, len_load_direct, mask_store_direct)
15134 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
15135 (vec_cond_direct, scatter_store_direct, len_store_direct)
15136 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
15137 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
15138 (while_direct, fold_extract_direct, fold_left_direct)
15139 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
15140 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
15141 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
15142 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
15143 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
15144 (direct_internal_fn_types): Handle functions that map to instructions
15145 defined in target-insns.def.
15146 (direct_internal_fn_types): Likewise.
15147 (direct_internal_fn_supported_p): Likewise.
15148 (internal_fn_expanders): Likewise.
15149 (expand_fn_using_insn): New function,
15150 split out and adapted from...
15151 (expand_direct_optab_fn): ...here.
15152 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
15153 (expand_GOMP_SIMT_EXIT): Likewise.
15154 (expand_GOMP_SIMT_LANE): Likewise.
15155 (expand_GOMP_SIMT_LAST_LANE): Likewise.
15156 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
15157 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
15158 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
15159 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
15160
15161 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
15162
15163 PR target/105981
15164 * config/arm/arm.cc (gen_cpymem_ldrd_strd): Rename low_reg and hi_reg
15165 to first_reg and second_reg respectively. Initialize them correctly
15166 when generating big-endian code.
15167
15168 2022-06-15 Richard Earnshaw <rearnsha@arm.com>
15169
15170 PR target/105974
15171 * config/arm/arm.cc (arm_bfi_1_p): Use UINTVAL instead of XUINT.
15172
15173 2022-06-15 Richard Biener <rguenther@suse.de>
15174
15175 PR tree-optimization/105971
15176 * tree-ssa-alias.cc (refs_may_alias_p_2): Put bail-out for
15177 FUNCTION_DECL and LABEL_DECL refs after decl-decl disambiguation
15178 to leak less surprising alias results.
15179
15180 2022-06-15 Richard Biener <rguenther@suse.de>
15181
15182 PR tree-optimization/105969
15183 * gimple-ssa-sprintf.cc (get_origin_and_offset_r): Avoid division
15184 by zero in overflow check.
15185
15186 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15187
15188 PR tree-optimization/105254
15189 PR tree-optimization/105940
15190 Revert:
15191 * config/aarch64/aarch64.cc
15192 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
15193 loop_vec_info as argument. Restrict the unroll factor to values
15194 that divide the VF.
15195 (aarch64_vector_costs::finish_cost): Update call accordingly.
15196
15197 2022-06-15 Richard Sandiford <richard.sandiford@arm.com>
15198
15199 * read-rtl.cc (find_int): Substitute symbolic constants
15200 before converting the string to an integer.
15201
15202 2022-06-15 Roger Sayle <roger@nextmovesoftware.com>
15203 Richard Biener <rguenther@suse.de>
15204
15205 * match.pd (convert (lshift @1 INTEGER_CST@2)): Narrow integer
15206 left shifts by a constant when the result is truncated, and the
15207 shift constant is well-defined.
15208 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Add
15209 support for rotations of signed integer types, by lowering
15210 using unsigned vector shifts.
15211
15212 2022-06-15 liuhongt <hongtao.liu@intel.com>
15213
15214 PR target/105953
15215 * config/i386/sse.md (*avx_cmp<mode>3_ltint_not): Force_reg
15216 operands[3].
15217
15218 2022-06-14 Surya Kumari Jangala <jskumari@linux.ibm.com>
15219
15220 PR rtl-optimization/105041
15221 * regrename.cc (check_new_reg_p): Use nregs value from du chain.
15222
15223 2022-06-14 Segher Boessenkool <segher@kernel.crashing.org>
15224
15225 * config/rs6000/vsx.md (VS_scalar): Delete.
15226 (rest of file): Adjust.
15227
15228 2022-06-14 Jan Hubicka <hubicka@ucw.cz>
15229
15230 PR ipa/105739
15231 * ipa-prop.cc (ipa_load_from_parm_agg): Punt on volatile loads.
15232
15233 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
15234
15235 * config/riscv/bitmanip.md: Add split to handle opportunities
15236 for slli + sh[123]add.uw
15237
15238 2022-06-14 Philipp Tomsich <philipp.tomsich@vrull.eu>
15239
15240 * config/riscv/predicates.md (consecutive_bits_operand):
15241 Implement new predicate.
15242
15243 2022-06-14 Richard Biener <rguenther@suse.de>
15244
15245 PR tree-optimization/105946
15246 * tree-ssa-uninit.cc (maybe_warn_pass_by_reference):
15247 Do not look at arguments not specified in the function call.
15248
15249 2022-06-14 Richard Biener <rguenther@suse.de>
15250
15251 PR middle-end/105965
15252 * match.pd (view_convert CONSTRUCTOR): Handle single-element
15253 CTOR case.
15254
15255 2022-06-14 Eric Botcazou <ebotcazou@adacore.com>
15256
15257 * warning-control.cc (copy_warning) [generic version]: Do not erase
15258 the warning data of the destination location when the no-warning
15259 bit is not set on the source.
15260 (copy_warning) [tree version]: Return early if TO is equal to FROM.
15261 (copy_warning) [gimple version]: Likewise.
15262
15263 2022-06-14 Kewen Lin <linkw@linux.ibm.com>
15264
15265 PR tree-optimization/105940
15266 * tree-vect-loop.cc (vect_analyze_loop_2): Move the place of
15267 applying suggested_unroll_factor after start_over.
15268
15269 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15270
15271 * config/xtensa/predicates.md (shifted_mask_operand):
15272 New predicate.
15273 * config/xtensa/xtensa.md (*andsi3_const_pow2_minus_one):
15274 New insn-and-split pattern.
15275 (*andsi3_const_negative_pow2, *andsi3_const_shifted_mask,
15276 *masktrue_const_pow2_minus_one, *masktrue_const_negative_pow2,
15277 *masktrue_const_shifted_mask): Ditto.
15278
15279 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15280
15281 * config/xtensa/xtensa.md (*masktrue_bitcmpl): New insn pattern.
15282
15283 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15284
15285 * config/xtensa/xtensa-protos.h (xtensa_emit_branch):
15286 Remove the first argument.
15287 (xtensa_emit_bit_branch): Remove it because now called only from the
15288 output statement of *bittrue insn pattern.
15289 * config/xtensa/xtensa.cc (gen_int_relational): Remove the last
15290 argument 'p_invert', and make so that the condition is reversed by
15291 itself as needed.
15292 (xtensa_expand_conditional_branch): Share the common path, and remove
15293 condition inversion code.
15294 (xtensa_emit_branch, xtensa_emit_movcc): Simplify by removing the
15295 "false side" pattern.
15296 (xtensa_emit_bit_branch): Remove it because of the abovementioned
15297 reason, and move the function body to *bittrue insn pattern.
15298 * config/xtensa/xtensa.md (*bittrue): Transplant the output
15299 statement from removed xtensa_emit_bit_branch().
15300 (*bfalse, *ubfalse, *bitfalse, *maskfalse): Remove the "false side"
15301 insn patterns.
15302
15303 2022-06-14 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15304
15305 * config/xtensa/predicates.md (logical_shift_operator,
15306 xtensa_shift_per_byte_operator): New predicates.
15307 * config/xtensa/xtensa-protos.h (xtensa_shlrd_which_direction):
15308 New prototype.
15309 * config/xtensa/xtensa.cc (xtensa_shlrd_which_direction):
15310 New helper function for funnel shift patterns.
15311 * config/xtensa/xtensa.md (ior_op): New code iterator.
15312 (*ashlsi3_1): Replace with new split pattern.
15313 (*shift_per_byte): Unify *ashlsi3_3x, *ashrsi3_3x and *lshrsi3_3x.
15314 (*shift_per_byte_omit_AND_0, *shift_per_byte_omit_AND_1):
15315 New insn-and-split patterns that redirect to *xtensa_shift_per_byte,
15316 in order to omit unnecessary bitwise AND operation.
15317 (*shlrd_reg_<code>, *shlrd_const_<code>, *shlrd_per_byte_<code>,
15318 *shlrd_per_byte_<code>_omit_AND):
15319 New insn patterns for funnel shifts.
15320
15321 2022-06-13 Jason Merrill <jason@redhat.com>
15322
15323 * tree-cfg.cc (pass_warn_function_return::execute): Also check
15324 BUILT_IN_TRAP.
15325
15326 2022-06-13 Maciej W. Rozycki <macro@embecosm.com>
15327
15328 * config/riscv/riscv.md (length): Remove the explicit setting
15329 for "fcmp".
15330
15331 2022-06-13 H.J. Lu <hjl.tools@gmail.com>
15332
15333 * common/config/i386/cpuinfo.h (get_available_features): Require
15334 AVX for F16C and VAES.
15335
15336 2022-06-13 Uroš Bizjak <ubizjak@gmail.com>
15337
15338 PR target/105927
15339 * config/i386/predicates.md (register_no_elim_operand):
15340 Return true for subreg of a memory operand.
15341
15342 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
15343
15344 * internal-fn.def (DEF_INTERNAL_INSN_FN): New macro.
15345 (GOMP_SIMT_ENTER_ALLOC, GOMP_SIMT_EXIT, GOMP_SIMT_LANE)
15346 (GOMP_SIMT_LAST_LANE, GOMP_SIMT_ORDERED_PRED, GOMP_SIMT_VOTE_ANY)
15347 (GOMP_SIMT_XCHG_BFLY, GOMP_SIMT_XCHG_IDX): Use it.
15348 * internal-fn.h (direct_internal_fn_info::directly_mapped): New
15349 member variable.
15350 (direct_internal_fn_info::vectorizable): Reduce to 1 bit.
15351 (direct_internal_fn_p): Also return true for internal functions
15352 that map directly to instructions defined target-insns.def.
15353 (direct_internal_fn): Adjust comment accordingly.
15354 * internal-fn.cc (direct_insn, optab1, optab2, vectorizable_optab1)
15355 (vectorizable_optab2): New local macros.
15356 (not_direct): Initialize directly_mapped.
15357 (mask_load_direct, load_lanes_direct, mask_load_lanes_direct)
15358 (gather_load_direct, len_load_direct, mask_store_direct)
15359 (store_lanes_direct, mask_store_lanes_direct, vec_cond_mask_direct)
15360 (vec_cond_direct, scatter_store_direct, len_store_direct)
15361 (vec_set_direct, unary_direct, binary_direct, ternary_direct)
15362 (cond_unary_direct, cond_binary_direct, cond_ternary_direct)
15363 (while_direct, fold_extract_direct, fold_left_direct)
15364 (mask_fold_left_direct, check_ptrs_direct): Use the macros above.
15365 (expand_GOMP_SIMT_ENTER_ALLOC, expand_GOMP_SIMT_EXIT): Delete
15366 (expand_GOMP_SIMT_LANE, expand_GOMP_SIMT_LAST_LANE): Likewise;
15367 (expand_GOMP_SIMT_ORDERED_PRED, expand_GOMP_SIMT_VOTE_ANY): Likewise.
15368 (expand_GOMP_SIMT_XCHG_BFLY, expand_GOMP_SIMT_XCHG_IDX): Likewise.
15369 (direct_internal_fn_types): Handle functions that map to instructions
15370 defined in target-insns.def.
15371 (direct_internal_fn_types): Likewise.
15372 (direct_internal_fn_supported_p): Likewise.
15373 (internal_fn_expanders): Likewise.
15374
15375 2022-06-13 Richard Sandiford <richard.sandiford@arm.com>
15376
15377 * internal-fn.cc (expand_fn_using_insn): New function,
15378 split out and adapted from...
15379 (expand_direct_optab_fn): ...here.
15380 (expand_GOMP_SIMT_ENTER_ALLOC): Use it.
15381 (expand_GOMP_SIMT_EXIT): Likewise.
15382 (expand_GOMP_SIMT_LANE): Likewise.
15383 (expand_GOMP_SIMT_LAST_LANE): Likewise.
15384 (expand_GOMP_SIMT_ORDERED_PRED): Likewise.
15385 (expand_GOMP_SIMT_VOTE_ANY): Likewise.
15386 (expand_GOMP_SIMT_XCHG_BFLY): Likewise.
15387 (expand_GOMP_SIMT_XCHG_IDX): Likewise.
15388
15389 2022-06-13 Jakub Jelinek <jakub@redhat.com>
15390
15391 * omp-expand.cc (expand_omp_target): Remap user provided
15392 device clause arguments, -1 to -2 and -2 to -3, either
15393 at compile time if constant, or at runtime.
15394
15395 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
15396
15397 * common.opt (finstrument-functions): Set explicit value.
15398 (-finstrument-functions-once): New option.
15399 * doc/invoke.texi (Program Instrumentation Options): Document it.
15400 * gimplify.cc (build_instrumentation_call): New static function.
15401 (gimplify_function_tree): Call it to emit the instrumentation calls
15402 if -finstrument-functions[-once] is specified.
15403
15404 2022-06-13 Eric Botcazou <ebotcazou@adacore.com>
15405
15406 * dwarf2out.cc (output_one_line_info_table): Initialize prev_addr.
15407 * gimple.h (gimple_set_location): Do not copy warning data from
15408 the previous location when it is UNKNOWN_LOCATION.
15409 * optabs.cc (expand_widen_pattern_expr): Always set oprnd{1,2}.
15410
15411 2022-06-13 Jakub Jelinek <jakub@redhat.com>
15412
15413 PR target/105911
15414 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
15415 *<insn><dwi>3_doubleword_mask): Use operands[3] masked with
15416 (<MODE_SIZE> * BITS_PER_UNIT) - 1 as AND operand instead of
15417 operands[3] unmodified.
15418
15419 2022-06-12 Simon Wright <simon@pushface.org>
15420
15421 PR target/104871
15422 * config/darwin-driver.cc (darwin_find_version_from_kernel): If the OS
15423 version is darwin20 (macOS 11) or greater, truncate the version to the
15424 major number.
15425
15426 2022-06-12 Mark Mentovai <mark@mentovai.com>
15427
15428 * config/darwin-c.cc: Make -mmacosx-version-min more future-proof.
15429
15430 2022-06-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
15431
15432 PR target/96463
15433 * config/aarch64/aarch64-sve-builtins-base.cc: Include ssa.h.
15434 (svld1rq_impl::fold): Define.
15435 * config/aarch64/aarch64.cc (expand_vec_perm_d): Define new members
15436 op_mode and op_vec_flags.
15437 (aarch64_evpc_reencode): Initialize newd.op_mode and
15438 newd.op_vec_flags.
15439 (aarch64_evpc_sve_dup): New function.
15440 (aarch64_expand_vec_perm_const_1): Gate existing calls to
15441 aarch64_evpc_* functions under d->vmode == d->op_mode,
15442 and call aarch64_evpc_sve_dup.
15443 (aarch64_vectorize_vec_perm_const): Remove assert
15444 d->vmode != d->op_mode, and initialize d.op_mode and d.op_vec_flags.
15445 * tree-cfg.cc (verify_gimple_assign_ternary): Allow different
15446 vector types for lhs and rhs in VEC_PERM_EXPR if rhs3 is
15447 constant.
15448
15449 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15450
15451 * config/xtensa/xtensa-protos.h (xtensa_constantsynth):
15452 New prototype.
15453 * config/xtensa/xtensa.cc (xtensa_emit_constantsynth,
15454 xtensa_constantsynth_2insn, xtensa_constantsynth_rtx_SLLI,
15455 xtensa_constantsynth_rtx_ADDSUBX, xtensa_constantsynth):
15456 New backend functions that process the abovementioned logic.
15457 (xtensa_emit_move_sequence): Revert the previous changes.
15458 * config/xtensa/xtensa.md: New split patterns for integer
15459 and floating-point, as the frontend part.
15460
15461 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15462
15463 * config/xtensa/xtensa.cc (xtensa_rtx_costs): Correct wrong case
15464 for ABS and NEG, add missing case for BSWAP and CLRSB, and
15465 double the costs for integer divisions using libfuncs if
15466 optimizing for speed, in order to take advantage of fast constant
15467 division by multiplication.
15468 (TARGET_INSN_COST): New macro definition.
15469 (xtensa_is_insn_L32R_p, xtensa_insn_cost): New functions for
15470 calculating relative costs of a RTL insns, for both of speed and
15471 size.
15472 * config/xtensa/xtensa.md (return, nop, trap): Correct values of
15473 the attribute "length" that depends on TARGET_DENSITY.
15474 (define_asm_attributes, blockage, frame_blockage): Add missing
15475 attributes.
15476 * config/xtensa/xtensa.opt (-mextra-l32r-costs=): New machine-
15477 dependent option, however, preparatory work for now.
15478
15479 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15480
15481 * config/xtensa/xtensa.cc (xtensa_expand_block_set_small_loop):
15482 Pass through the block length / loop count conditions if
15483 zero-overhead looping is configured and active,
15484
15485 2022-06-11 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15486
15487 * config/xtensa/xtensa.md (mulsidi3, umulsidi3):
15488 Split into individual signedness, in order to use libcall
15489 "__umulsidi3" but not the other.
15490 (<u>mulhisi3): Merge into one by using code iterator.
15491 (<u>mulsidi3, mulhisi3, umulhisi3): Remove.
15492
15493 2022-06-11 Michael Meissner <meissner@linux.ibm.com>
15494
15495 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Do
15496 not generate block copies with vector pair instructions if we are
15497 tuning for power10.
15498
15499 2022-06-10 Roger Sayle <roger@nextmovesoftware.com>
15500
15501 PR rtl-optimization/7061
15502 * expr.cc (emit_group_store): For groups that consist of a single
15503 scalar integer register that hold a complex mode value, use
15504 gen_lowpart to generate a SUBREG to "view_convert" to the complex
15505 mode. For modes of different sizes, first convert to an integer
15506 mode of the appropriate size.
15507
15508 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15509
15510 * config/xtensa/xtensa.md (clrsbsi2): New insn pattern.
15511
15512 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15513
15514 * config/xtensa/xtensa.md (*andsi3_bitcmpl):
15515 New insn_and_split pattern.
15516
15517 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15518
15519 * config/xtensa/xtensa.md (one_cmplsi2):
15520 Rearrange as an insn_and_split pattern.
15521
15522 2022-06-09 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
15523
15524 * config/xtensa/xtensa.md (bswaphi2): New insn pattern.
15525
15526 2022-06-09 Segher Boessenkool <segher@kernel.crashing.org>
15527
15528 * config/rs6000/rs6000.md (FP_ISA3): Delete.
15529 (float<QHI:mode><FP_ISA3:mode>2): Rename to...
15530 (float<QHI:mode><SFDF:mode>2): ... this. Adjust.
15531 (*float<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
15532 (*float<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
15533 (floatuns<QHI:mode><FP_ISA3:mode>2): Rename to...
15534 (floatuns<QHI:mode><SFDF:mode>2): ... this. Adjust.
15535 (*floatuns<QHI:mode><FP_ISA3:mode>2_internal): Rename to...
15536 (*floatuns<QHI:mode><SFDF:mode>2_internal): ... this. Adjust.
15537
15538 2022-06-09 Maciej W. Rozycki <macro@embecosm.com>
15539
15540 * config/riscv/riscv.md
15541 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_default)
15542 (*f<quiet_pattern>_quiet<ANYF:mode><X:mode>4_snan): Emit a tab
15543 rather than space with FSFLAGS.
15544
15545 2022-06-09 Tobias Burnus <tobias@codesourcery.com>
15546
15547 * omp-offload.cc (omp_discover_declare_target_tgt_fn_r,
15548 omp_discover_declare_target_fn_r): Don't walk reverse-offload
15549 target regions.
15550
15551 2022-06-09 Jakub Jelinek <jakub@redhat.com>
15552
15553 * doc/invoke.texi (-Waddress): Fix a typo in small example.
15554 Fix typos inptr_t -> intptr_t and uinptr_t -> uintptr_t.
15555
15556 2022-06-09 Cui,Lili <lili.cui@intel.com>
15557
15558 PR target/105493
15559 * config/i386/x86-tune-costs.h (skylake_cost): Raise the gpr load cost
15560 from 4 to 6 and gpr store cost from 6 to 8. Change SSE loads and
15561 unaligned loads cost from {6, 6, 6, 10, 20} to {8, 8, 8, 8, 16}.
15562 (icelake_cost): Ditto.
15563 (alderlake_cost): Raise the gpr store cost from 6 to 8 and SSE loads,
15564 stores and unaligned stores cost from {6, 6, 6, 10, 15} to
15565 {8, 8, 8, 10, 15}.
15566
15567 2022-06-09 Haochen Gui <guihaoc@gcc.gnu.org>
15568
15569 * config/rs6000/rs6000.md (define_split for bswapdi load): Merge shift
15570 and ior insns to one rotate and mask insn.
15571 (define_split for bswapdi register): Likewise.
15572
15573 2022-06-08 Roger Sayle <roger@nextmovesoftware.com>
15574
15575 PR middle-end/105874
15576 * expr.cc (expand_expr_real_1) <normal_inner_ref>: New local
15577 variable tem_modifier for calculating the expand_modifier enum to
15578 use for expanding tem. If tem is a VAR_DECL, use EXPAND_MEMORY.
15579
15580 2022-06-08 Max Filippov <jcmvbkbc@gmail.com>
15581
15582 PR target/105879
15583 * config/xtensa/xtensa.md (movdi): Rename 'first' and 'second'
15584 to 'lowpart' and 'highpart' so that they match 'gen_lowpart' and
15585 'gen_highpart' bitwise semantics and fix order of highpart and
15586 lowpart depending on target endianness.
15587
15588 2022-06-08 Chung-Ju Wu <jasonwucj@gmail.com>
15589
15590 * config/arm/arm-cpus.in (star-mc1): New cpu.
15591 * config/arm/arm-tables.opt: Regenerate.
15592 * config/arm/arm-tune.md: Regenerate.
15593 * doc/invoke.texi: Update docs.
15594
15595 2022-06-08 liuhongt <hongtao.liu@intel.com>
15596
15597 PR target/105513
15598 PR target/105504
15599 * config/i386/i386.md (*movsi_internal): Change alternative
15600 from *v to ?v.
15601 (*movdi_internal): Ditto.
15602 * config/i386/sse.md (vec_set<mode>_0): Change alternative *r
15603 to ?r.
15604 (*vec_extractv4sf_mem): Ditto.
15605 (*vec_extracthf): Ditto.
15606
15607 2022-06-07 Richard Earnshaw <rearnsha@arm.com>
15608
15609 PR target/105090
15610 * config/arm/arm.cc (arm_bfi_1_p): New function.
15611 (arm_bfi_p): New function.
15612 (arm_rtx_costs_internal): Add costs for BFI idioms.
15613 (arm_print_operand [case 'V']): Format output for BFI/BFC masks.
15614 * config/arm/constraints.md (Dj): New constraint.
15615 * config/arm/arm.md (arm_andsi3_insn): Add alternative to use BFC.
15616 (insv_zero): Convert to an insn with a split.
15617 (*bfi, *bfi_alt1, *bfi_alt2, *bfi_alt3): New patterns.
15618
15619 2022-06-07 liuhongt <hongtao.liu@intel.com>
15620
15621 PR target/105854
15622 * config/i386/sse.md (ssse3_palignrdi): Change alternative 2
15623 from Yv to Yw.
15624
15625 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
15626
15627 PR middle-end/105853
15628 PR target/105856
15629 * calls.cc (load_register_parameters): Call store_constructor
15630 and int_expr_size directly instead of expanding via expand_expr.
15631 * expr.cc (static void store_constructor): Don't prototype here.
15632 (static HOST_WIDE_INT int_expr_size): Likewise.
15633 (store_constructor): No longer static.
15634 (int_expr_size): Likewise, no longer static.
15635 * expr.h (store_constructor): Prototype here.
15636 (int_expr_size): Prototype here.
15637
15638 2022-06-07 Jan Beulich <jbeulich@suse.com>
15639
15640 Revert:
15641 2022-06-03 Jan Beulich <jbeulich@suse.com>
15642
15643 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15644 * configure.ac: Check for objcopy, producing
15645 ORIGINAL_OBJCOPY_FOR_TARGET.
15646 * configure: Update accordingly.
15647 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15648 Handle objcopy.
15649
15650 2022-06-07 Jakub Jelinek <jakub@redhat.com>
15651
15652 * tree.h (OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER): Define.
15653 * tree-pretty-print.cc (dump_omp_clause) <case OMP_CLAUSE_LINEAR>:
15654 Adjust clause printing style depending on
15655 OMP_CLAUSE_LINEAR_OLD_LINEAR_MODIFIER.
15656
15657 2022-06-07 Jan Beulich <jbeulich@suse.com>
15658
15659 * config/i386/i386-builtin.def (__builtin_ia32_psadbw256):
15660 Change type.
15661 * config/i386/i386-builtin-types.def: New function type
15662 (V4DI, V32QI, V32QI).
15663 * config/i386/i386-expand.cc (ix86_expand_args_builtin): Handle
15664 V4DI_FTYPE_V32QI_V32QI.
15665
15666 2022-06-07 Jan Beulich <jbeulich@suse.com>
15667
15668 * config/i386/i386.cc (ix86_attr_length_vex_default): Take REX.B
15669 into account for reg-only insns.
15670
15671 2022-06-07 Roger Sayle <roger@nextmovesoftware.com>
15672
15673 * config/i386/i386.cc (ix86_rtx_costs): Add a new case for
15674 IF_THEN_ELSE, and provide costs for TARGET_XOP's vpcmov and
15675 TARGET_CMOVE's (scalar integer) conditional moves.
15676 * config/i386/sse.md (define_split): Recognize XOP's vpcmov
15677 from its equivalent (canonical) pxor;pand;pxor sequence.
15678
15679 2022-06-07 Kewen Lin <linkw@linux.ibm.com>
15680
15681 * machmode.def (VECTOR_MODES_WITH_PREFIX): Update document for
15682 parameter ORDER.
15683
15684 2022-06-06 Andrew Stubbs <ams@codesourcery.com>
15685
15686 * config.in: Regenerate.
15687 * configure: Regenerate.
15688 * configure.ac: Reinstate HAVE_GAS_ARM_EXTENDED_ARCH test.
15689
15690 2022-06-04 Roger Sayle <roger@nextmovesoftware.com>
15691
15692 PR middle-end/95126
15693 * calls.cc (load_register_parameters): When loading a suitable
15694 immediate_const_ctor_p VAR_DECL into a single word_mode register,
15695 construct it directly in a pseudo rather than read it (by parts)
15696 from memory.
15697 * expr.cc (int_expr_size): Make tree argument a const_tree.
15698 (immediate_const_ctor_p): Helper predicate. Return true for
15699 simple constructors that may be materialized in a register.
15700 (expand_expr_real_1) [VAR_DECL]: When expanding a constant
15701 VAR_DECL with a suitable immediate_const_ctor_p constructor
15702 use store_constructor to materialize it directly in a pseudo.
15703 * expr.h (immediate_const_ctor_p): Prototype here.
15704 * varasm.cc (initializer_constant_valid_for_bitfield_p): Change
15705 VALUE argument from tree to const_tree.
15706 * varasm.h (initializer_constant_valid_for_bitfield_p): Update
15707 prototype.
15708
15709 2022-06-04 Jakub Jelinek <jakub@redhat.com>
15710
15711 PR target/105825
15712 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask,
15713 *<insn><dwi>3_doubleword_mask): If top bit of mask is clear, but lower
15714 bits of mask aren't all set, use operands[2] mode for the AND
15715 operation instead of always SImode.
15716
15717 2022-06-03 Jakub Jelinek <jakub@redhat.com>
15718
15719 PR middle-end/30314
15720 PR middle-end/105777
15721 * match.pd (__builtin_mul_overflow_p (x, cst, (stype) 0) ->
15722 x > stype_max / cst || x < stype_min / cst): New simplification.
15723
15724 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15725
15726 * gimple-range-cache.cc (ranger_cache::range_from_dom): Use
15727 Value_Range.
15728 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Same.
15729 * value-range.h (Value_Range::Value_Range): Implement copy
15730 constructor for Value_Range.
15731
15732 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15733
15734 * value-range.h (struct vrange_traits): Remove.
15735 (is_a): Rewrite without vrange_traits.
15736 (as_a): Same.
15737
15738 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15739
15740 * value-range.cc (vrange::contains_p): Implement.
15741 (vrange::type): Return void.
15742 (vrange::supports_type_p): Implement.
15743 (irange::fits_p): Same.
15744 (vrange::set_undefined): Same.
15745 (irange::set_nonnegative): Same.
15746 (vrange::set_varying): Same.
15747 (vrange::union_): Same.
15748 (unsupported_range::set): Move to vrange.
15749 (unsupported_range::type): Move to vrange.
15750 (vrange::intersect): Implement for varying and undefined.
15751 (vrange::zero_p): Implement.
15752 (unsupported_range::supports_type_p): Move to vrange.
15753 (vrange::nonzero_p): Implement.
15754 (unsupported_range::set_undefined): Move to vrange.
15755 (unsupported_range::set_varying): Same.
15756 (unsupported_range::dump): Same.
15757 (unsupported_range::union_): Same. Implement for varying and
15758 undefined.
15759 (unsupported_range::intersect): Move to vrange.
15760 (unsupported_range::zero_p): Same.
15761 (unsupported_range::nonzero_p): Same.
15762 (unsupported_range::set_nonzero): Same.
15763 (unsupported_range::set_zero): Same.
15764 (unsupported_range::set_nonnegative): Same.
15765 (unsupported_range::fits_p): Same.
15766 * value-range.h (class vrange): Remove abstract markers for most
15767 methods.
15768 (class unsupported_range): Remove most methods as they will now be
15769 inherited from vrange.
15770
15771 2022-06-03 Aldy Hernandez <aldyh@redhat.com>
15772
15773 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
15774 an object level supports_type_p for irange and a static
15775 Value_Range::supports_type_p.
15776 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Same.
15777 (fold_using_range::range_of_address): Same.
15778 (fold_using_range::range_of_builtin_call): Same.
15779 * gimple-range-fold.h (gimple_range_type): Same.
15780 (gimple_range_ssa_p): Same.
15781 * gimple-range-path.cc (path_range_query::internal_range_of_expr):
15782 Same.
15783 (path_range_query::range_of_stmt): Same.
15784 (path_range_query::add_to_imports): Same.
15785 * gimple-range.cc (gimple_ranger::range_on_edge): Same.
15786 (gimple_ranger::export_global_ranges): Same.
15787 * gimple-ssa-evrp-analyze.cc
15788 (evrp_range_analyzer::record_ranges_from_phis): Same.
15789 * range-op.cc (range_operator::wi_fold): Same.
15790 (range_operator::fold_range): Same.
15791 * tree-ssa-loop-ch.cc (entry_loop_condition_is_static): Same.
15792 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): Same.
15793 (evaluate_control_stmt_using_entry_checks): Same.
15794 * tree-ssa-threadedge.cc
15795 (hybrid_jt_simplifier::compute_ranges_from_state): Same.
15796 * tree-vrp.cc (supported_types_p): Same.
15797 * value-query.cc (range_query::value_of_expr): Same.
15798 (range_query::value_on_edge): Same.
15799 (range_query::value_of_stmt): Same.
15800 (range_query::get_tree_range): Same.
15801 (get_range_global): Same.
15802 (global_range_query::range_of_expr): Same.
15803 * value-range-equiv.h (class value_range_equiv): Same.
15804 * value-range.cc (irange::supports_type_p): Same.
15805 (unsupported_range::supports_type_p): Same.
15806 * value-range.h (enum value_range_discriminator): Same.
15807 (Value_Range::init): Same.
15808 (Value_Range::supports_type_p): Same.
15809 (irange::supports_type_p): Same.
15810 (irange::supports_p): Same.
15811 (vrange::supports_type_p): Same.
15812 (vrange_allocator::alloc_vrange): Same.
15813
15814 2022-06-03 Jan Beulich <jbeulich@suse.com>
15815
15816 * Makefile.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15817 * configure.ac: Check for objcopy, producing
15818 ORIGINAL_OBJCOPY_FOR_TARGET.
15819 * configure: Update accordingly.
15820 * exec-tool.in (ORIGINAL_OBJCOPY_FOR_TARGET): New.
15821 Handle objcopy.
15822
15823 2022-06-03 Jan Beulich <jbeulich@suse.com>
15824
15825 * config/i386/mmx.md (mmx_psadbw): Convert to expander.
15826 (*mmx_psadbw): New. Mark as commutative.
15827 * config/i386/sse.md (<sse2_avx2>_psadbw): Convert to expander.
15828 (*<sse2_avx2>_psadbw): New. Mark as commutative.
15829
15830 2022-06-03 Alexandre Oliva <oliva@adacore.com>
15831
15832 PR tree-optimization/105665
15833 PR tree-optimization/100810
15834 * tree-ssa-loop-ivopts.cc
15835 (ssa_name_maybe_undef_p, ssa_name_set_maybe_undef): New.
15836 (ssa_name_any_use_dominates_bb_p, mark_ssa_maybe_undefs): New.
15837 (find_ssa_undef): Check precomputed flag and intervening uses.
15838 (tree_ssa_iv_optimize): Call mark_ssa_maybe_undefs.
15839
15840 2022-06-02 David Malcolm <dmalcolm@redhat.com>
15841
15842 * Makefile.in (OBJS): Add tree-diagnostic-client-data-hooks.o and
15843 tree-logical-location.o.
15844 (OBJS-libcommon): Add diagnostic-format-sarif.o; reorder.
15845 (CFLAGS-tree-diagnostic-client-data-hooks.o): Add TARGET_NAME.
15846 * common.opt (fdiagnostics-format=): Add sarif-stderr and sarif-file.
15847 (sarif-stderr, sarif-file): New enum values.
15848 * diagnostic-client-data-hooks.h: New file.
15849 * diagnostic-format-sarif.cc: New file.
15850 * diagnostic-path.h (enum diagnostic_event::verb): New enum.
15851 (enum diagnostic_event::noun): New enum.
15852 (enum diagnostic_event::property): New enum.
15853 (struct diagnostic_event::meaning): New struct.
15854 (diagnostic_event::get_logical_location): New vfunc.
15855 (diagnostic_event::get_meaning): New vfunc.
15856 (simple_diagnostic_event::get_logical_location): New vfunc impl.
15857 (simple_diagnostic_event::get_meaning): New vfunc impl.
15858 * diagnostic.cc: Include "diagnostic-client-data-hooks.h".
15859 (diagnostic_initialize): Initialize m_client_data_hooks.
15860 (diagnostic_finish): Clean up m_client_data_hooks.
15861 (diagnostic_event::meaning::dump_to_pp): New.
15862 (diagnostic_event::meaning::maybe_get_verb_str): New.
15863 (diagnostic_event::meaning::maybe_get_noun_str): New.
15864 (diagnostic_event::meaning::maybe_get_property_str): New.
15865 (get_cwe_url): Make non-static.
15866 (diagnostic_output_format_init): Handle
15867 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
15868 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
15869 * diagnostic.h (enum diagnostics_output_format): Add
15870 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_STDERR and
15871 DIAGNOSTICS_OUTPUT_FORMAT_SARIF_FILE.
15872 (class diagnostic_client_data_hooks): New forward decl.
15873 (class logical_location): New forward decl.
15874 (diagnostic_context::m_client_data_hooks): New field.
15875 (diagnostic_output_format_init_sarif_stderr): New decl.
15876 (diagnostic_output_format_init_sarif_file): New decl.
15877 (get_cwe_url): New decl.
15878 * doc/invoke.texi (-fdiagnostics-format=): Add sarif-stderr and
15879 sarif-file.
15880 * doc/sourcebuild.texi (Scan a particular file): Add
15881 scan-sarif-file and scan-sarif-file-not.
15882 * langhooks-def.h (lhd_get_sarif_source_language): New decl.
15883 (LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE): New macro.
15884 (LANG_HOOKS_INITIALIZER): Add
15885 LANG_HOOKS_GET_SARIF_SOURCE_LANGUAGE.
15886 * langhooks.cc (lhd_get_sarif_source_language): New.
15887 * langhooks.h (lang_hooks::get_sarif_source_language): New field.
15888 * logical-location.h: New file.
15889 * plugin.cc (struct for_each_plugin_closure): New.
15890 (for_each_plugin_cb): New.
15891 (for_each_plugin): New.
15892 * plugin.h (for_each_plugin): New decl.
15893 * tree-diagnostic-client-data-hooks.cc: New file.
15894 * tree-diagnostic.cc: Include "diagnostic-client-data-hooks.h".
15895 (tree_diagnostics_defaults): Populate m_client_data_hooks.
15896 * tree-logical-location.cc: New file.
15897 * tree-logical-location.h: New file.
15898
15899 2022-06-02 David Malcolm <dmalcolm@redhat.com>
15900
15901 * common.opt (fdiagnostics-format=): Add json-stderr and json-file
15902 to description.
15903 (DIAGNOSTICS_OUTPUT_FORMAT_JSON): Rename to...
15904 (DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR): ...this.
15905 (diagnostics_output_format): Add json-stderr and json-file.
15906 * diagnostic-format-json.cc (json_flush_to_file): New.
15907 (json_final_cb): Convert to...
15908 (json_flush_to_file): ...this, ...
15909 (json_stderr_final_cb): ...this, and...
15910 (json_file_final_cb): ...this.
15911 (diagnostic_output_format_init): Move to diagnostic.cc.
15912 (json_output_base_file_name): New.
15913 (diagnostic_output_format_init_json): New.
15914 (diagnostic_output_format_init_json_stderr): New.
15915 (diagnostic_output_format_init_json_file): New.
15916 * diagnostic.cc (diagnostic_output_format_init): Move here from
15917 diagnostic-format-json.cc; update for changes to enum.
15918 * diagnostic.h (enum diagnostics_output_format): Rename
15919 DIAGNOSTICS_OUTPUT_FORMAT_JSON to
15920 DIAGNOSTICS_OUTPUT_FORMAT_JSON_STDERR, and add
15921 DIAGNOSTICS_OUTPUT_FORMAT_JSON_FILE.
15922 (diagnostic_output_format_init): Add base_file_name param.
15923 (diagnostic_output_format_init_json_stderr): New decl.
15924 (diagnostic_output_format_init_json_file): New dec.
15925 * doc/invoke.texi (-fdiagnostics-format=): Add "json-stderr" and
15926 "json-file". Rewrite so that the existing "json" is a synonym of
15927 "json-stderr".
15928 * gcc.cc (driver_handle_option): Pass dump_base_name to
15929 diagnostic_output_format_init.
15930 * opts.cc (common_handle_option): Likewise.
15931
15932 2022-06-02 David Malcolm <dmalcolm@redhat.com>
15933
15934 * json.cc (string::print): Fix escaping of '\'.
15935
15936 2022-06-02 Philipp Tomsich <philipp.tomsich@vrull.eu>
15937
15938 * config/riscv/riscv.cc (riscv_build_integer_1): Rewrite value as
15939 (-1 << 31) for the single-bit case, when operating on (1 << 31)
15940 in SImode.
15941 * config/riscv/riscv.h (SINGLE_BIT_MASK_OPERAND): Allow for
15942 any single-bit value, moving the special case for (1 << 31) to
15943 riscv_build_integer_1 (in riscv.c).
15944
15945 2022-06-02 Roger Sayle <roger@nextmovesoftware.com>
15946
15947 PR target/105791
15948 * config/i386/sse.md (V_128_256):Add V1TI and V2TI.
15949 (define_mode_attr avxsizesuffix): Add support for V1TI and V2TI.
15950
15951 2022-06-02 Jakub Jelinek <jakub@redhat.com>
15952
15953 PR target/105778
15954 * config/i386/i386.md (*ashl<dwi>3_doubleword_mask): Remove :SI
15955 from AND and its operands and just verify operands[2] has HImode,
15956 SImode or for TARGET_64BIT DImode. Allow operands[3] to be a mask
15957 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
15958 just throw away the masking. Use force_reg before calling
15959 gen_lowpart.
15960 (*ashl<dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
15961 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case
15962 just throw away the masking.
15963 (*ashl<mode>3_doubleword): Rename to ...
15964 (ashl<mode>3_doubleword): ... this.
15965 (*ashl<mode>3_mask): Remove :SI from AND and its operands and just
15966 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
15967 Use force_reg before calling gen_lowpart.
15968 (*<insn><mode>3_mask): Likewise.
15969 (*<insn><dwi>3_doubleword_mask): Likewise. Allow operands[3] to be
15970 a mask with all low 6 (64-bit) or 5 (32-bit) bits set and in that
15971 case just throw away the masking. Use force_reg before calling
15972 gen_lowpart.
15973 (*<insn><dwi>3_doubleword_mask_1): Allow operands[3] to be a mask
15974 with all low 6 (64-bit) or 5 (32-bit) bits set and in that case just
15975 throw away the masking.
15976 (*<insn><mode>3_doubleword): Rename to ...
15977 (<insn><mode>3_doubleword): ... this.
15978 (*<insn><mode>3_mask): Remove :SI from AND and its operands and just
15979 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
15980 Use force_reg before calling gen_lowpart.
15981 (splitter after it): Remove :SI from AND and its operands and just
15982 verify operands[2] has HImode, SImode or for TARGET_64BIT DImode.
15983 (*<btsc><mode>_mask, *<btsc><mode>_mask): Remove :SI from AND and its
15984 operands and just verify operands[1] has HImode, SImode or for
15985 TARGET_64BIT DImode. Use force_reg before calling gen_lowpart.
15986 (*jcc_bt<mode>_mask_1): New define_insn_and_split pattern.
15987 * config/i386/i386.cc (ix86_rtx_costs): For ZERO_EXTRACT with
15988 ZERO_EXTEND QI->SI in last operand ignore the cost of the ZERO_EXTEND.
15989
15990 2022-06-02 Richard Biener <rguenther@suse.de>
15991
15992 PR tree-optimization/101668
15993 * tree-vect-slp.cc (vect_build_slp_tree_1): Allow BIT_FIELD_REFs
15994 for vector types with compatible lane types.
15995 (vect_build_slp_tree_2): Deal with this.
15996 (vect_add_slp_permutation): Adjust. Emit lowpart/concat
15997 special cases without VEC_PERM.
15998 (vectorizable_slp_permutation): Select the operand vector
15999 type and relax requirements. Handle identity permutes
16000 with mismatching operand types.
16001 * optabs-query.cc (can_vec_perm_const_p): Only allow variable
16002 permutes for op_mode == mode.
16003
16004 2022-06-02 Richard Biener <rguenther@suse.de>
16005
16006 PR tree-optimization/105802
16007 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
16008 Make sure to also compute the range in the type of the switch index.
16009
16010 2022-06-01 David Seifert <soap@gentoo.org>
16011
16012 PR plugins/95648
16013 * configure: Regenerate.
16014
16015 2022-06-01 H.J. Lu <hjl.tools@gmail.com>
16016
16017 PR rtl-optimization/105638
16018 * df-core.cc (df_find_single_def_src): Moved and renamed from
16019 find_single_def_src in loop-iv.cc. Change the argument to rtx
16020 and use rtx_equal_p. Return null for partial or conditional
16021 defs.
16022 * df.h (df_find_single_def_src): New prototype.
16023 * dse.cc (record_store): Use the constant source if the source
16024 register is set only once.
16025 * loop-iv.cc (find_single_def_src): Moved to df-core.cc.
16026 (replace_single_def_regs): Replace find_single_def_src with
16027 df_find_single_def_src.
16028
16029 2022-06-01 Wilco Dijkstra <wilco.dijkstra@arm.com>
16030
16031 * config/aarch64/aarch64.opt (explicit_tune_core): Rename to
16032 selected_tune.
16033 (explicit_arch): Rename to selected_arch.
16034 (x_aarch64_override_tune_string): Remove.
16035 (aarch64_ra_sign_key): Add as TargetVariable so it gets saved/restored.
16036 (aarch64_override_tune_string): Add Save so it gets saved/restored.
16037 * config/aarch64/aarch64.h (aarch64_architecture_version): Remove.
16038 * config/aarch64/aarch64.cc (aarch64_architecture_version): Remove.
16039 (processor): Remove archtecture_version field.
16040 (selected_arch): Remove global.
16041 (selected_cpu): Remove global.
16042 (selected_tune): Remove global.
16043 (aarch64_ra_sign_key): Move global to aarch64.opt so it is saved.
16044 (aarch64_override_options_internal): Use aarch64_get_tune_cpu.
16045 (aarch64_override_options): Further simplify code to only set
16046 selected_arch and selected_tune globals.
16047 (aarch64_option_save): Remove now that target options are saved.
16048 (aarch64_option_restore): Remove redundant target option restores.
16049 * config/aarch64/aarch64-c.cc (aarch64_update_cpp_builtins): Use
16050 AARCH64_ISA_V9.
16051 * config/aarch64/aarch64-opts.h (aarch64_key_type): Add, moved from...
16052 * config/aarch64/aarch64-protos.h (aarch64_key_type): Remove.
16053 (aarch64_ra_sign_key): Remove.
16054
16055 2022-06-01 Jakub Jelinek <jakub@redhat.com>
16056
16057 PR middle-end/30314
16058 * match.pd (__builtin_mul_overflow_p (x, cst, (utype) 0) ->
16059 x > ~(utype)0 / cst): New simplification.
16060
16061 2022-06-01 Richard Biener <rguenther@suse.de>
16062
16063 PR tree-optimization/105786
16064 * tree-loop-distribution.cc
16065 (loop_distribution::transform_reduction_loop): Only do strlen
16066 replacement for integer type reductions.
16067
16068 2022-06-01 Jakub Jelinek <jakub@redhat.com>
16069
16070 PR tree-optimization/105770
16071 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb): Cast
16072 CASE_LOW and CASE_HIGH to TREE_TYPE (idx) before comparisons with idx.
16073
16074 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16075
16076 * gimple-range-cache.cc (ssa_block_ranges::dump): Convert to vrange.
16077 (sbr_vector::sbr_vector): Same.
16078 (sbr_vector::grow): Same.
16079 (sbr_vector::set_bb_range): Same.
16080 (sbr_vector::get_bb_range): Same.
16081 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
16082 (sbr_sparse_bitmap::set_bb_range): Same.
16083 (sbr_sparse_bitmap::get_bb_range): Same.
16084 (block_range_cache::set_bb_range): Same.
16085 (block_range_cache::get_bb_range): Same.
16086 (block_range_cache::dump): Same.
16087 (ssa_global_cache::get_global_range): Same.
16088 (ssa_global_cache::set_global_range): Same.
16089 (ssa_global_cache::clear): Same.
16090 (ssa_global_cache::dump): Same.
16091 (ranger_cache::get_global_range): Same.
16092 (ranger_cache::set_global_range): Same.
16093 (ranger_cache::range_of_def): Same.
16094 (ranger_cache::entry_range): Same.
16095 (ranger_cache::exit_range): Same.
16096 (ranger_cache::edge_range): Same.
16097 (ranger_cache::range_of_expr): Same.
16098 (ranger_cache::range_on_edge): Same.
16099 (ranger_cache::block_range): Same.
16100 (ranger_cache::propagate_cache): Same.
16101 (ranger_cache::fill_block_cache): Same.
16102 (ranger_cache::range_from_dom): Same.
16103 * gimple-range-cache.h: Same.
16104 * gimple-range-edge.cc (gimple_outgoing_range::get_edge_range):
16105 Same.
16106 (gimple_outgoing_range::switch_edge_range): Same.
16107 (gimple_outgoing_range::edge_range_p): Same.
16108 * gimple-range-edge.h: Same.
16109 * gimple-range-fold.cc (fur_source::get_operand): Same.
16110 (fur_source::get_phi_operand): Same.
16111 (fur_edge::get_operand): Same.
16112 (fur_edge::get_phi_operand): Same.
16113 (fur_stmt::get_operand): Same.
16114 (fur_stmt::get_phi_operand): Same.
16115 (fur_list::fur_list): Same.
16116 (fur_list::get_operand): Same.
16117 (fur_list::get_phi_operand): Same.
16118 (fold_range): Same.
16119 (adjust_imagpart_expr): Same.
16120 (adjust_realpart_expr): Same.
16121 (gimple_range_adjustment): Same.
16122 (fold_using_range::fold_stmt): Same.
16123 (fold_using_range::range_of_range_op): Same.
16124 (fold_using_range::range_of_address): Same.
16125 (fold_using_range::range_of_phi): Same.
16126 (fold_using_range::range_of_call): Same.
16127 (fold_using_range::range_of_builtin_call): Same.
16128 (fold_using_range::range_of_builtin_int_call): Same.
16129 (fold_using_range::range_of_cond_expr): Same.
16130 (fur_source::register_outgoing_edges): Same.
16131 * gimple-range-fold.h (fold_range): Same.
16132 (gimple_range_type): Same.
16133 (gimple_range_ssa_p): Same.
16134 * gimple-range-gori.cc (gimple_range_calc_op1): Same.
16135 (gimple_range_calc_op2): Same.
16136 (gori_compute::compute_operand_range_switch): Same.
16137 (gori_compute::compute_operand_range): Same.
16138 (gori_compute::logical_combine): Same.
16139 (gori_compute::compute_logical_operands): Same.
16140 (gori_compute::compute_operand1_range): Same.
16141 (gori_compute::compute_operand2_range): Same.
16142 (gori_compute::compute_operand1_and_operand2_range): Same.
16143 (gori_compute::outgoing_edge_range_p): Same.
16144 (gori_compute::condexpr_adjust): Same.
16145 * gimple-range-gori.h (gimple_range_calc_op1): Same.
16146 (gimple_range_calc_op2): Same.
16147 * gimple-range-path.cc (path_range_query::get_cache): Same.
16148 (path_range_query::set_cache): Same.
16149 (path_range_query::range_on_path_entry): Same.
16150 (path_range_query::internal_range_of_expr): Same.
16151 (path_range_query::range_of_expr): Same.
16152 (path_range_query::ssa_range_in_phi): Same.
16153 (path_range_query::range_defined_in_block): Same.
16154 (path_range_query::compute_ranges_in_phis): Same.
16155 (path_range_query::compute_ranges_in_block): Same.
16156 (path_range_query::add_to_imports): Same.
16157 (path_range_query::range_of_stmt): Same.
16158 * gimple-range-path.h: Same.
16159 * gimple-range-infer.cc (gimple_infer_range::add_range): Same.
16160 (gimple_infer_range::~side_effect_manager): Same.
16161 (gimple_infer_range::get_nonzero): Same.
16162 (gimple_infer_range::maybe_adjust_range): Same.
16163 (gimple_infer_range::add_range): Same.
16164 * gimple-range-infer.h: Same.
16165 * gimple-range-tests.cc: Same.
16166 * gimple-range-trace.cc (range_tracer::trailer): Same.
16167 (debug_seed_ranger): Same.
16168 * gimple-range-trace.h: Same.
16169 * gimple-range.cc (gimple_ranger::range_of_expr): Same.
16170 (gimple_ranger::range_on_entry): Same.
16171 (gimple_ranger::range_on_exit): Same.
16172 (gimple_ranger::range_on_edge): Same.
16173 (gimple_ranger::fold_range_internal): Same.
16174 (gimple_ranger::range_of_stmt): Same.
16175 (gimple_ranger::prefill_name): Same.
16176 (gimple_ranger::prefill_stmt_dependencies): Same.
16177 (gimple_ranger::export_global_ranges): Same.
16178 (gimple_ranger::dump_bb): Same.
16179 * gimple-range.h: Same.
16180 * gimple-ssa-warn-access.cc (check_nul_terminated_array): Same.
16181 (memmodel_to_uhwi): Same.
16182 * tree-ssa-loop-niter.cc (refine_value_range_using_guard): Same.
16183 (determine_value_range): Same.
16184 (record_nonwrapping_iv): Same.
16185 (infer_loop_bounds_from_signedness): Same.
16186 (scev_var_range_cant_overflow): Same.
16187 * tree-ssa-threadedge.cc (hybrid_jt_simplifier::simplify): Same.
16188 * value-query.cc (range_query::range_on_edge): Same.
16189 (range_query::range_of_stmt): Same.
16190 (range_query::value_of_expr): Same.
16191 (range_query::value_on_edge): Same.
16192 (range_query::value_of_stmt): Same.
16193 (range_query::get_tree_range): Same.
16194 (update_global_range): Same.
16195 (get_range_global): Same.
16196 (gimple_range_global): Same.
16197 (global_range_query::range_of_expr): Same.
16198 (range_query::query_relation): Same.
16199 * value-query.h (gimple_range_global): Same.
16200 (update_global_range): Same.
16201 * vr-values.cc (vr_values::range_of_expr): Same.
16202 (bounds_of_var_in_loop): Same.
16203 (simplify_using_ranges::vrp_visit_cond_stmt): Same.
16204 * vr-values.h (class vr_values): Same.
16205 * tree-ssa-loop-unswitch.cc (unswitch_predicate): Same.
16206
16207 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16208
16209 * gimple-range-cache.cc (sbr_vector::sbr_vector): Adjust for
16210 vrange allocator.
16211 (sbr_vector::grow): Same.
16212 (sbr_vector::set_bb_range): Same.
16213 (sbr_sparse_bitmap::sbr_sparse_bitmap): Same.
16214 (sbr_sparse_bitmap::set_bb_range): Same.
16215 (block_range_cache::~block_range_cache): Same.
16216 (block_range_cache::set_bb_range): Same.
16217 (ssa_global_cache::ssa_global_cache): Same.
16218 (ssa_global_cache::~ssa_global_cache): Same.
16219 (ssa_global_cache::set_global_range): Same.
16220 * gimple-range-cache.h (block_range_cache): Same.
16221 (ssa_global_cache): Same.
16222 * gimple-range-edge.cc
16223 (gimple_outgoing_range::calc_switch_ranges): Same.
16224 * gimple-range-edge.h (gimple_outgoing_range): Same.
16225 * gimple-range-infer.cc (infer_range_manager::get_nonzero):
16226 Same.
16227 (infer_range_manager::add_range): Same.
16228 * gimple-range-infer.h (class infer_range_manager): Same.
16229 * value-range.h (class irange_allocator): Rename to...
16230 (class vrange_allocator): ...this.
16231 (irange_allocator::irange_allocator): New.
16232 (vrange_allocator::vrange_allocator): New.
16233 (irange_allocator::~irange_allocator): New.
16234 (vrange_allocator::~vrange_allocator): New.
16235 (irange_allocator::get_memory): Rename to...
16236 (vrange_allocator::alloc): ...this.
16237 (vrange_allocator::alloc_vrange): Rename from...
16238 (irange_allocator::allocate): ...this.
16239 (vrange_allocator::alloc_irange): New.
16240
16241 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16242
16243 * gimple-range-edge.cc (gimple_outgoing_range_stmt_p): Adjust for
16244 vrange and convert range_op_handler function calls to use the
16245 identically named object.
16246 * gimple-range-fold.cc (gimple_range_operand1): Same.
16247 (gimple_range_operand2): Same.
16248 (fold_using_range::fold_stmt): Same.
16249 (fold_using_range::range_of_range_op): Same.
16250 (fold_using_range::range_of_builtin_ubsan_call): Same.
16251 (fold_using_range::relation_fold_and_or): Same.
16252 (fur_source::register_outgoing_edges): Same.
16253 * gimple-range-fold.h (gimple_range_handler): Remove.
16254 * gimple-range-gori.cc (gimple_range_calc_op1): Adjust for vrange.
16255 (gimple_range_calc_op2): Same.
16256 (range_def_chain::get_def_chain): Same.
16257 (gori_compute::compute_operand_range): Same.
16258 (gori_compute::condexpr_adjust): Same.
16259 * gimple-range.cc (gimple_ranger::prefill_name): Same.
16260 (gimple_ranger::prefill_stmt_dependencies): Same.
16261 * range-op.cc (get_bool_state): Same.
16262 (class operator_equal): Add using clause.
16263 (class operator_not_equal): Same.
16264 (class operator_lt): Same.
16265 (class operator_le): Same.
16266 (class operator_gt): Same.
16267 (class operator_ge): Same.
16268 (class operator_plus): Same.
16269 (class operator_minus): Same.
16270 (class operator_mult): Same.
16271 (class operator_exact_divide): Same.
16272 (class operator_lshift): Same.
16273 (class operator_rshift): Same.
16274 (class operator_cast): Same.
16275 (class operator_logical_and): Same.
16276 (class operator_bitwise_and): Same.
16277 (class operator_logical_or): Same.
16278 (class operator_bitwise_or): Same.
16279 (class operator_bitwise_xor): Same.
16280 (class operator_trunc_mod): Same.
16281 (class operator_logical_not): Same.
16282 (class operator_bitwise_not): Same.
16283 (class operator_cst): Same.
16284 (class operator_identity): Same.
16285 (class operator_unknown): Same.
16286 (class operator_abs): Same.
16287 (class operator_negate): Same.
16288 (class operator_addr_expr): Same.
16289 (class pointer_or_operator): Same.
16290 (operator_plus::op1_range): Adjust for vrange.
16291 (operator_minus::op1_range): Same.
16292 (operator_mult::op1_range): Same.
16293 (operator_cast::op1_range): Same.
16294 (operator_bitwise_not::fold_range): Same.
16295 (operator_negate::fold_range): Same.
16296 (range_op_handler): Rename to...
16297 (get_handler): ...this.
16298 (range_op_handler::range_op_handler): New.
16299 (range_op_handler::fold_range): New.
16300 (range_op_handler::op1_range): New.
16301 (range_op_handler::op2_range): New.
16302 (range_op_handler::lhs_op1_relation): New.
16303 (range_op_handler::lhs_op2_relation): New.
16304 (range_op_handler::op1_op2_relation): New.
16305 (range_cast): Adjust for vrange.
16306 * range-op.h (range_op_handler): Remove function.
16307 (range_cast): Adjust for vrange.
16308 (class range_op_handler): New.
16309 (get_bool_state): Adjust for vrange.
16310 (empty_range_varying): Same.
16311 (relop_early_resolve): Same.
16312 * tree-data-ref.cc (compute_distributive_range): Same.
16313 * tree-vrp.cc (get_range_op_handler): Remove.
16314 (range_fold_binary_symbolics_p): Use range_op_handler class
16315 instead of get_range_op_handler.
16316 (range_fold_unary_symbolics_p): Same.
16317 (range_fold_binary_expr): Same.
16318 (range_fold_unary_expr): Same.
16319 * value-query.cc (range_query::get_tree_range): Adjust for vrange.
16320
16321 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16322
16323 * gimple-range-fold.h (gimple_range_type): Check type before
16324 calling supports_type_p.
16325 * gimple-range-path.cc (path_range_query::range_of_stmt): Same.
16326 * value-query.cc (range_query::get_tree_range): Same.
16327 * value-range.cc (Value_Range::lower_bound): New.
16328 (Value_Range::upper_bound): New.
16329 (Value_Range::dump): New.
16330 * value-range.h (class Value_Range): New.
16331 (irange::supports_type_p): Do not check if type is non-zero.
16332
16333 2022-06-01 Aldy Hernandez <aldyh@redhat.com>
16334
16335 * value-range-equiv.cc (value_range_equiv::set): New.
16336 * value-range-equiv.h (class value_range_equiv): Make set method
16337 virtual.
16338 Remove default bitmap argument from set method.
16339 * value-range.cc (vrange::contains_p): New.
16340 (vrange::singleton_p): New.
16341 (vrange::operator=): New.
16342 (vrange::operator==): New.
16343 (irange::fits_p): Move to .cc file.
16344 (irange::set_nonnegative): New.
16345 (unsupported_range::unsupported_range): New.
16346 (unsupported_range::set): New.
16347 (unsupported_range::type): New.
16348 (unsupported_range::set_undefined): New.
16349 (unsupported_range::set_varying): New.
16350 (unsupported_range::dump): New.
16351 (unsupported_range::union_): New.
16352 (unsupported_range::intersect): New.
16353 (unsupported_range::zero_p): New.
16354 (unsupported_range::nonzero_p): New.
16355 (unsupported_range::set_nonzero): New.
16356 (unsupported_range::set_zero): New.
16357 (unsupported_range::set_nonnegative): New.
16358 (unsupported_range::fits_p): New.
16359 (irange::set): Call irange::set_undefined.
16360 (irange::verify_range): Check discriminator field.
16361 (irange::dump): Dump [irange] marker.
16362 (irange::debug): Move to...
16363 (vrange::debug): ...here.
16364 (dump_value_range): Accept vrange.
16365 (debug): Same.
16366 * value-range.h (enum value_range_discriminator): New.
16367 (class vrange): New.
16368 (class unsupported_range): New.
16369 (struct vrange_traits): New.
16370 (is_a): New.
16371 (as_a): New.
16372 (class irange): Inherit from vrange.
16373 (dump_value_range): Adjust for vrange.
16374 (irange::kind): Rename to...
16375 (vrange::kind): ...this.
16376 (irange::varying_p): Rename to...
16377 (vrange::varying_p): ...this.
16378 (irange::undefined_p): Rename to...
16379 (vrange::undefined_p): ...this.
16380 (irange::irange): Set discriminator.
16381 (irange::union_): Convert to irange before passing to irange
16382 method.
16383 (irange::intersect): Same.
16384 (vrange::supports_type_p): New.
16385 * vr-values.cc (vr_values::extract_range_from_binary_expr): Pass
16386 NULL bitmap argument to value_range_equiv::set.
16387 (vr_values::extract_range_basic): Same.
16388
16389 2022-06-01 Richard Biener <rguenther@suse.de>
16390
16391 PR tree-optimization/105763
16392 * tree-ssa-loop-unswitch.cc (find_unswitching_predicates_for_bb):
16393 Check gimple_range_ssa_p.
16394
16395 2022-05-31 Jason Merrill <jason@redhat.com>
16396
16397 * Makefile.in (TAGS): Look at libcpp/*.cc.
16398
16399 2022-05-31 Christophe Lyon <christophe.lyon@arm.com>
16400
16401 * config/aarch64/aarch64.cc (aarch64_gimplify_va_arg_expr):
16402 Prefix mode names with E_.
16403
16404 2022-05-31 Alan Modra <amodra@gmail.com>
16405
16406 * dwarf2out.cc (gen_namelist_decl): Adjust to suit correct
16407 spelling of DW_AT_namelist_item.
16408
16409 2022-05-31 Jakub Jelinek <jakub@redhat.com>
16410
16411 * omp-low.cc (build_outer_var_ref): For code == OMP_CLAUSE_ALLOCATE
16412 allow var to be private in the outer context.
16413 (lower_private_allocate): Pass OMP_CLAUSE_ALLOCATE as last argument
16414 to build_outer_var_ref.
16415
16416 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16417
16418 * config/i386/i386.cc (ix86_modes_tieable_p): Allow SCmode to be
16419 tieable with DImode on TARGET_64BIT, and SCmode tieable with
16420 V2SFmode, and DCmode with V2DFmode.
16421
16422 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16423
16424 PR rtl-optimization/101617
16425 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Add a
16426 special case (indicated by negate_cc_compare_p) to generate a
16427 -1/0 mask using neg;sbb.
16428 * config/i386/i386.md (x86_neg<mode>_ccc): New define_expand
16429 to generate an *x86_neg<mode>_ccc instruction.
16430 (x86_mov<mode>cc_0_m1_neg): Likewise, a new define_expand to
16431 generate a *x86_mov<mode>cc_0_m1_neg instruction.
16432
16433 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16434
16435 * rtlanal.cc (rtx_cost) <MULT>: Treat FMA, SS_MULT, US_MULT,
16436 SMUL_HIGHPART and UMUL_HIGHPART as having the same cost as MULT.
16437 <DIV>: Likewise, SS_DIV and US_DIV have the same default as DIV.
16438
16439 2022-05-30 Roger Sayle <roger@nextmovesoftware.com>
16440
16441 PR target/70321
16442 * config/i386/i386-expand.cc (ix86_expand_branch): Don't decompose
16443 DI mode equality/inequality using XOR here. Instead generate a
16444 COMPARE for doubleword modes (DImode on !TARGET_64BIT or TImode).
16445 * config/i386/i386-features.cc (gen_gpr_to_xmm_move_src): Use
16446 gen_rtx_SUBREG when NUNITS is 1, i.e. for TImode to V1TImode.
16447 (general_scalar_chain::convert_compare): New function to convert
16448 scalar equality/inequality comparison into vector operations.
16449 (general_scalar_chain::convert_insn) [COMPARE]: Refactor. Call
16450 new convert_compare helper method.
16451 (convertible_comparion_p): Update to match doubleword COMPARE
16452 of two register, memory or integer constant operands.
16453 * config/i386/i386-features.h (general_scalar_chain::convert_compare):
16454 Prototype/declare member function here.
16455 * config/i386/i386.md (cstore<mode>4): Change mode to SDWIM, but
16456 only allow new doubleword modes for EQ and NE operators.
16457 (*cmp<dwi>_doubleword): New define_insn_and_split, to split a
16458 doubleword comparison into a pair of XORs followed by an IOR to
16459 set the (zero) flags register, optimizing the XORs if possible.
16460 * config/i386/sse.md (V_AVX): Include V1TI and V2TI in mode
16461 iterator; V_AVX is (currently) only used by ptest.
16462 (sse4_1 mode attribute): Update to support V1TI and V2TI.
16463
16464 2022-05-30 Uroš Bizjak <ubizjak@gmail.com>
16465
16466 * config/i386/i386.md: Remove constraints when used with
16467 const_int_operand, const0_operand, const_1_operand, constm1_operand,
16468 const8_operand, const128_operand, const248_operand, const123_operand,
16469 const2367_operand, const1248_operand, const359_operand,
16470 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
16471 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
16472 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
16473 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
16474 const_0_to_255_mul_8_operand, const_1_to_31_operand,
16475 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
16476 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
16477 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
16478 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
16479 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
16480 const_24_to_27_operand and const_28_to_31_operand.
16481 * config/i386/mmx.md: Ditto.
16482 * config/i386/sse.md: Ditto.
16483 * config/i386/subst.md: Ditto.
16484 * config/i386/sync.md: Ditto.
16485
16486 2022-05-30 Jan Beulich <jbeulich@suse.com>
16487
16488 * config/i386/i386.md (bmi2_umul<mode><dwi>3_1): Correct MEM_P()
16489 arguments.
16490
16491 2022-05-30 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16492
16493 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Adjust prototype.
16494
16495 2022-05-29 Iain Sandoe <iain@sandoe.co.uk>
16496
16497 PR target/105599
16498 * config/darwin.h: Move versions-specific handling of multiply_defined
16499 from SUBTARGET_DRIVER_SELF_SPECS to LINK_SPEC.
16500
16501 2022-05-29 Eric Gallager <egallager@gcc.gnu.org>
16502
16503 PR other/82383
16504 * doc/sourcebuild.texi: Add entries for the c++tools,
16505 gotools, libbacktrace, libcc1, libcody, liboffloadmic,
16506 and libsanitizer directories. Remove entry for boehm-gc.
16507 Fix alphabetization for libquadmath.
16508
16509 2022-05-28 Joel Holdsworth <jholdsworth@nvidia.com>
16510
16511 * config/avr/avr-mcus.def: Add device definitions.
16512 * doc/avr-mmcu.texi: Corresponding changes.
16513 * config/avr/gen-avr-mmcu-texi.cc: Added support for avr
16514 device prefix.
16515 * config/avr/gen-avr-mmcu-specs.cc: Prevent -mmcu=avr* flags
16516 from leaking into cc1.
16517
16518 2022-05-28 Vladimir Makarov <vmakarov@gcc.gnu.org>
16519
16520 PR target/103722
16521 * config/sh/sh.cc (sh_register_move_cost): Avoid cost "2" (which
16522 is special) for various scenarios.
16523
16524 2022-05-28 Iain Sandoe <iain@sandoe.co.uk>
16525
16526 * config/darwin.h (REAL_LIBGCC_SPEC): Update the comment block
16527 describing this macro.
16528
16529 2022-05-27 Richard Biener <rguenther@suse.de>
16530
16531 * tree-dfa.cc (get_ref_base_and_extent): Avoid shift.
16532
16533 2022-05-27 Martin Jambor <mjambor@suse.cz>
16534
16535 PR ipa/105639
16536 * ipa-prop.cc (propagate_controlled_uses): Check type of the
16537 constant before adding a LOAD reference.
16538
16539 2022-05-27 Jakub Jelinek <jakub@redhat.com>
16540
16541 * tree-core.h (enum omp_clause_code): Rename OMP_CLAUSE_TO_DECLARE
16542 to OMP_CLAUSE_ENTER.
16543 * tree.h (OMP_CLAUSE_ENTER_TO): Define.
16544 * tree.cc (omp_clause_num_ops, omp_clause_code_name): Rename
16545 OMP_CLAUSE_TO_DECLARE to OMP_CLAUSE_ENTER.
16546 * tree-pretty-print.cc (dump_omp_clause): Handle OMP_CLAUSE_ENTER
16547 instead of OMP_CLAUSE_TO_DECLARE, if OMP_CLAUSE_ENTER_TO, print
16548 "to" instead of "enter".
16549 * tree-nested.cc (convert_nonlocal_omp_clauses,
16550 convert_local_omp_clauses): Handle OMP_CLAUSE_ENTER instead of
16551 OMP_CLAUSE_TO_DECLARE.
16552
16553 2022-05-27 Richard Biener <rguenther@suse.de>
16554
16555 PR tree-optimization/105726
16556 * gimple-ssa-warn-restrict.cc (builtin_memref::set_base_and_offset):
16557 Constrain array-of-flexarray case more.
16558
16559 2022-05-27 Jakub Jelinek <jakub@redhat.com>
16560
16561 PR sanitizer/105729
16562 * fold-const.cc (fold_unary_loc): Don't optimize (X &) ((Y *) z + w)
16563 to (X &) z + w if -fsanitize=null during GENERIC folding.
16564
16565 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
16566
16567 * match.pd (match_zero_one_valued_p): New predicate.
16568 (mult @0 @1): Use zero_one_valued_p for optimization to the
16569 expression "bit_and @0 @1".
16570 (bit_and (negate zero_one_valued_p@0) @1): Optimize to MULT_EXPR.
16571 (plus @0 (mult (minus @1 @0) zero_one_valued_p@2)): New transform.
16572 (minus @0 (mult (minus @0 @1) zero_one_valued_p@2)): Likewise.
16573 (bit_xor @0 (mult (bit_xor @0 @1) zero_one_valued_p@2)): Likewise.
16574 Remove three redundant transforms obsoleted by the three above.
16575
16576 2022-05-27 Roger Sayle <roger@nextmovesoftware.com>
16577
16578 * config/i386/i386.md (*test<mode>_not): New define_insn_and_split
16579 to split a combined "and;cmp" sequence into "not;test".
16580
16581 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16582
16583 * config/xtensa/xtensa.md (bswapsi2): New expansion pattern.
16584 (bswapsi2_internal): Revise the template and condition, and add
16585 detection code for preceding the same insn in order to omit a
16586 "SSAI 8" instruction of the latter.
16587 (bswapdi2): Suppress built-in insn expansion with the corresponding
16588 library call when optimizing for size.
16589
16590 2022-05-27 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16591
16592 * config/xtensa/xtensa-protos.h
16593 (xtensa_expand_block_set_unrolled_loop,
16594 xtensa_expand_block_set_small_loop): New prototypes.
16595 * config/xtensa/xtensa.cc (xtensa_sizeof_MOVI,
16596 xtensa_expand_block_set_unrolled_loop,
16597 xtensa_expand_block_set_small_loop): New functions.
16598 * config/xtensa/xtensa.md (setmemsi): New expansion pattern.
16599 * config/xtensa/xtensa.opt (mlongcalls): Add target mask.
16600
16601 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16602
16603 * config/xtensa/xtensa.cc (xtensa_expand_block_move):
16604 Make instruction counting more accurate, and simplify emitting insns.
16605
16606 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16607
16608 * config/xtensa/constraints.md (M, O): Use the macro.
16609 * config/xtensa/predicates.md (addsubx_operand, extui_fldsz_operand,
16610 sext_fldsz_operand): Ditto.
16611 * config/xtensa/xtensa.cc (xtensa_simm8, xtensa_simm8x256,
16612 xtensa_simm12b, xtensa_uimm8, xtensa_uimm8x2, xtensa_uimm8x4,
16613 xtensa_mask_immediate, smalloffset_mem_p, printx, xtensa_call_save_reg,
16614 xtensa_expand_prologue): Ditto.
16615 * config/xtensa/xtensa.h (FUNCTION_ARG_REGNO_P): Ditto.
16616
16617 2022-05-26 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
16618
16619 * config/xtensa/predicates.md (extui_fldsz_operand): Simplify.
16620 * config/xtensa/xtensa.cc (xtensa_mask_immediate, print_operand):
16621 Ditto.
16622
16623 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
16624
16625 * gimple-range-cache.cc: Adjust comments.
16626 * gimple-range-infer.cc: Adjust comments.
16627 * gimple-range-infer.h: Adjust comments.
16628 * gimple-range.cc: Adjust comments.
16629
16630 2022-05-25 Andrew MacLeod <amacleod@redhat.com>
16631
16632 * Makefile.in (OBJS): Use gimple-range-infer.o.
16633 * gimple-range-cache.cc (ranger_cache::fill_block_cache): Change msg.
16634 (ranger_cache::range_from_dom): Rename var side_effect to infer.
16635 (ranger_cache::apply_inferred_ranges): Rename from apply_side_effects.
16636 * gimple-range-cache.h: Include gimple-range-infer.h.
16637 (class ranger_cache): Adjust prototypes, use infer_range_manager.
16638 * gimple-range-infer.cc: Rename from gimple-range-side-effects.cc.
16639 (gimple_infer_range::*): Rename from stmt_side_effects.
16640 (infer_range_manager::*): Rename from side_effect_manager.
16641 * gimple-range-side-effect.cc: Rename.
16642 * gimple-range-side-effect.h: Rename.
16643 * gimple-range-infer.h: Rename from gimple-range-side-effects.h.
16644 (class gimple_infer_range): Rename from stmt_side_effects.
16645 (class infer_range_manager): Rename from side_effect_manager.
16646 * gimple-range.cc (gimple_ranger::register_inferred_ranges): Rename
16647 from register_side_effects.
16648 * gimple-range.h (register_inferred_ranges): Adjust prototype.
16649 * range-op.h: Adjust comment.
16650 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Use register_inferred_ranges.
16651 (rvrp_folder::post_fold_bb): Use register_inferred_ranges.
16652
16653 2022-05-25 Simon Cook <simon.cook@embecosm.com>
16654
16655 * config/riscv/arch-canonicalize: Only add mafd extension if
16656 base was rv32/rv64g.
16657
16658 2022-05-25 Tobias Burnus <tobias@codesourcery.com>
16659
16660 * doc/invoke.texi (AMD GCN Options): Add gfx908/gfx90a.
16661
16662 2022-05-25 Jakub Jelinek <jakub@redhat.com>
16663
16664 PR sanitizer/105714
16665 * asan.cc (has_stmt_been_instrumented_p): For assignments which
16666 are both stores and loads, return true only if both destination
16667 and source have been instrumented.
16668
16669 2022-05-25 Martin Liska <mliska@suse.cz>
16670 Richard Biener <rguenther@suse.de>
16671
16672 * dbgcnt.def (DEBUG_COUNTER): Add loop_unswitch counter.
16673 * params.opt (max-unswitch-level): Remove.
16674 * doc/invoke.texi (max-unswitch-level): Likewise.
16675 * tree-cfg.cc (gimple_lv_add_condition_to_bb): Support not
16676 gimplified expressions.
16677 * tree-ssa-loop-unswitch.cc (struct unswitch_predicate): New.
16678 (tree_may_unswitch_on): Rename to ...
16679 (find_unswitching_predicates_for_bb): ... this and handle
16680 switch statements.
16681 (get_predicates_for_bb): Likewise.
16682 (set_predicates_for_bb): Likewise.
16683 (init_loop_unswitch_info): Likewise.
16684 (tree_ssa_unswitch_loops): Prepare stuff before calling
16685 tree_unswitch_single_loop.
16686 (tree_unswitch_single_loop): Rework the function using
16687 pre-computed predicates and with a per original loop cost model.
16688 (merge_last): New.
16689 (add_predicate_to_path): Likewise.
16690 (find_range_for_lhs): Likewise.
16691 (simplify_using_entry_checks): Rename to ...
16692 (evaluate_control_stmt_using_entry_checks): ... this, handle
16693 switch statements and improve simplifications using ranger.
16694 (simplify_loop_version): Rework using
16695 evaluate_control_stmt_using_entry_checks.
16696 (evaluate_bbs): New.
16697 (evaluate_loop_insns_for_predicate): Likewise.
16698 (tree_unswitch_loop): Adjust to allow switch statements and
16699 pass in the edge to unswitch.
16700 (clean_up_after_unswitching): New.
16701 (pass_tree_unswitch::execute): Pass down fun.
16702
16703 2022-05-24 Eugene Rozenfeld <erozen@microsoft.com>
16704
16705 * tree-vect-loop-manip.cc (vect_do_peeling): Save/restore profile
16706 counts for the epilog loop.
16707
16708 2022-05-24 Martin Sebor <msebor@redhat.com>
16709 Richard Biener <rguenther@suse.de>
16710
16711 PR middle-end/105604
16712 * gimple-ssa-sprintf.cc (set_aggregate_size_and_offset): Add comments.
16713 (get_origin_and_offset_r): Remove null handling. Handle variable array
16714 sizes.
16715 (get_origin_and_offset): Handle null argument here. Simplify.
16716 (alias_offset): Update comment.
16717 * pointer-query.cc (field_at_offset): Update comment. Handle members
16718 of variable-length types.
16719
16720 2022-05-24 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
16721
16722 * target.def (vec_perm_const): Define new parameter op_mode and
16723 update doc.
16724 * doc/tm.texi: Regenerate.
16725 * config/aarch64/aarch64.cc (aarch64_vectorize_vec_perm_const): Adjust
16726 vec_perm_const hook to add new parameter op_mode and return false
16727 if result and operand modes do not match.
16728 * config/arm/arm.cc (arm_vectorize_vec_perm_const): Likewise.
16729 * config/gcn/gcn.cc (gcn_vectorize_vec_perm_const): Likewise.
16730 * config/ia64/ia64.cc (ia64_vectorize_vec_perm_const): Likewise.
16731 * config/mips/mips.cc (mips_vectorize_vec_perm_const): Likewise.
16732 * config/rs6000/rs6000.cc (rs6000_vectorize_vec_perm_const): Likewise
16733 * config/s390/s390.cc (s390_vectorize_vec_perm_const): Likewise.
16734 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Likewise.
16735 * config/i386/i386-expand.cc (ix86_vectorize_vec_perm_const): Likewise.
16736 * config/i386/i386-expand.h (ix86_vectorize_vec_perm_const): Adjust
16737 prototype.
16738 * config/i386/sse.md (ashrv4di3): Adjust call to vec_perm_const hook.
16739 (ashrv2di3): Likewise.
16740 * optabs.cc (expand_vec_perm_const): Likewise.
16741 * optabs-query.h (can_vec_perm_const_p): Adjust prototype.
16742 * optabs-query.cc (can_vec_perm_const_p): Define new parameter
16743 op_mode and pass it to vec_perm_const hook.
16744 (can_mult_highpart_p): Adjust call to can_vec_perm_const_p.
16745 * match.pd (vec_perm X Y CST): Likewise.
16746 * tree-ssa-forwprop.cc (simplify_vector_constructor): Likewise.
16747 * tree-vect-data-refs.cc (vect_grouped_store_supported): Likewise.
16748 (vect_grouped_load_supported): Likewise.
16749 (vect_shift_permute_load_chain): Likewise.
16750 * tree-vect-generic.cc (lower_vec_perm): Likewise.
16751 * tree-vect-loop-manip.cc (interleave_supported_p): Likewise.
16752 * tree-vect-loop.cc (have_whole_vector_shift): Likewise.
16753 * tree-vect-patterns.cc (vect_recog_rotate_pattern): Likewise.
16754 * tree-vect-slp.cc (can_duplicate_and_interleave_p): Likewise.
16755 (vect_transform_slp_perm_load): Likewise.
16756 (vectorizable_slp_permutation): Likewise.
16757 * tree-vect-stmts.cc (perm_mask_for_reverse): Likewise.
16758 (vectorizable_bswap): Likewise.
16759 (scan_store_can_perm_p): Likewise.
16760 (vect_gen_perm_mask_checked): Likewise.
16761
16762 2022-05-24 H.J. Lu <hjl.tools@gmail.com>
16763
16764 PR target/104816
16765 * config/i386/i386.opt: Remove Undocumented.
16766 * doc/invoke.texi: Document -mcet-switch.
16767
16768 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
16769
16770 * config.gcc (amdgcn): Accept --with-arch=gfx908 and gfx90a.
16771 * config/gcn/gcn-opts.h (enum gcn_isa): New.
16772 (TARGET_GCN3): Use enum gcn_isa.
16773 (TARGET_GCN3_PLUS): Likewise.
16774 (TARGET_GCN5): Likewise.
16775 (TARGET_GCN5_PLUS): Likewise.
16776 (TARGET_CDNA1): New.
16777 (TARGET_CDNA1_PLUS): New.
16778 (TARGET_CDNA2): New.
16779 (TARGET_CDNA2_PLUS): New.
16780 (TARGET_M0_LDS_LIMIT): New.
16781 (TARGET_PACKED_WORK_ITEMS): New.
16782 * config/gcn/gcn.cc (gcn_isa): Change to enum gcn_isa.
16783 (gcn_option_override): Recognise CDNA ISA variants.
16784 (gcn_omp_device_kind_arch_isa): Support gfx90a.
16785 (gcn_expand_prologue): Make m0 init optional.
16786 Add support for packed work items.
16787 (output_file_start): Support gfx90a.
16788 (gcn_hsa_declare_function_name): Support gfx90a metadata.
16789 * config/gcn/gcn.h (TARGET_CPU_CPP_BUILTINS):Add __CDNA1__ and
16790 __CDNA2__.
16791 * config/gcn/gcn.md (<su>mulsi3_highpart): Use TARGET_GCN5_PLUS.
16792 (<su>mulsi3_highpart_imm): Likewise.
16793 (<su>mulsidi3): Likewise.
16794 (<su>mulsidi3_imm): Likewise.
16795 * config/gcn/gcn.opt (gpu_type): Add gfx90a.
16796 * config/gcn/mkoffload.cc (EF_AMDGPU_MACH_AMDGCN_GFX90a): New.
16797 (main): Support gfx90a.
16798 * config/gcn/t-gcn-hsa: Add gfx90a multilib.
16799 * config/gcn/t-omp-device: Add gfx90a isa.
16800
16801 2022-05-24 Andrew Stubbs <ams@codesourcery.com>
16802
16803 * config.in: Regenerate.
16804 * config/gcn/gcn-hsa.h (X_FIJI): Delete.
16805 (X_900): Delete.
16806 (X_906): Delete.
16807 (X_908): Delete.
16808 (S_FIJI): Delete.
16809 (S_900): Delete.
16810 (S_906): Delete.
16811 (S_908): Delete.
16812 (NO_XNACK): New macro.
16813 (NO_SRAM_ECC): New macro.
16814 (SRAMOPT): Keep only v4 variant.
16815 (HSACO3_SELECT_OPT): Delete.
16816 (DRIVER_SELF_SPECS): Delete.
16817 (ASM_SPEC): Remove LLVM 9 support.
16818 * config/gcn/gcn-valu.md
16819 (gather<mode>_insn_2offsets<exec>): Remove assembler bug workaround.
16820 (scatter<mode>_insn_2offsets<exec_scatter>): Likewise.
16821 * config/gcn/gcn.cc (output_file_start): Remove LLVM 9 support.
16822 (print_operand_address): Remove assembler bug workaround.
16823 * config/gcn/mkoffload.cc (EF_AMDGPU_XNACK_V3): Delete.
16824 (EF_AMDGPU_SRAM_ECC_V3): Delete.
16825 (SET_XNACK_ON): Delete v3 variants.
16826 (SET_XNACK_OFF): Delete v3 variants.
16827 (TEST_XNACK): Delete v3 variants.
16828 (SET_SRAM_ECC_ON): Delete v3 variants.
16829 (SET_SRAM_ECC_ANY): Delete v3 variants.
16830 (SET_SRAM_ECC_OFF): Delete v3 variants.
16831 (SET_SRAM_ECC_UNSUPPORTED): Delete v3 variants.
16832 (TEST_SRAM_ECC_ANY): Delete v3 variants.
16833 (TEST_SRAM_ECC_ON): Delete v3 variants.
16834 (copy_early_debug_info): Remove v3 support.
16835 (main): Remove v3 support.
16836 * configure: Regenerate.
16837 * configure.ac: Replace all GCN feature checks with a version check.
16838
16839 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16840
16841 * config/i386/i386.md (peephole2): Convert xor;neg;adc;neg,
16842 i.e. a double word negation of a zero extended operand, to
16843 neg;sbb.
16844
16845 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16846
16847 PR tree-optimization/105668
16848 * config/i386/i386-expand.cc (ix86_expand_sse_movcc): Support
16849 V1TImode, just like V2DImode.
16850 * config/i386/sse.md (vcond_mask_<mode><sseintvecmodelower>):
16851 Use VI_128 mode iterator instead of VI124_128 to include V2DI.
16852 (vcond_mask_v2div2di): Delete.
16853 (vcond_mask_v1tiv1ti): New define_expand.
16854
16855 2022-05-24 Roger Sayle <roger@nextmovesoftware.com>
16856
16857 * genpreds.cc (write_lookup_constraint_1): Avoid generating a call
16858 to strncmp for strings of length one.
16859
16860 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
16861
16862 * config/riscv/predicates.md (imm5_operand): Add a new operand type for
16863 prefetch instructions.
16864 * config/riscv/riscv-builtins.cc (AVAIL): Add new AVAILs for CMO ISA
16865 Extensions.
16866 (RISCV_ATYPE_SI): New.
16867 (RISCV_ATYPE_DI): New.
16868 * config/riscv/riscv-ftypes.def (0): New.
16869 (1): New.
16870 * config/riscv/riscv.md (riscv_clean_<mode>): New.
16871 (riscv_flush_<mode>): New.
16872 (riscv_inval_<mode>): New.
16873 (riscv_zero_<mode>): New.
16874 (prefetch): New.
16875 (riscv_prefetchi_<mode>): New.
16876 * config/riscv/riscv-cmo.def: New file.
16877
16878 2022-05-24 ShiYulong <shiyulong@iscas.ac.cn>
16879
16880 * common/config/riscv/riscv-common.cc: Add zicbom, zicboz, zicbop extensions.
16881 * config/riscv/riscv-opts.h (MASK_ZICBOZ): New.
16882 (MASK_ZICBOM): New.
16883 (MASK_ZICBOP): New.
16884 (TARGET_ZICBOZ): New.
16885 (TARGET_ZICBOM): New.
16886 (TARGET_ZICBOP): New.
16887 * config/riscv/riscv.opt (riscv_zicmo_subext): New.
16888
16889 2022-05-24 David Malcolm <dmalcolm@redhat.com>
16890
16891 * tree-vect-slp-patterns.cc: Add "final" and "override" to
16892 vect_pattern::build impls as appropriate.
16893
16894 2022-05-24 David Malcolm <dmalcolm@redhat.com>
16895
16896 * ipa-cp.cc: Add "final" and "override" to call_summary_base vfunc
16897 implementations, removing redundant "virtual" as appropriate.
16898 * ipa-fnsummary.h: Likewise.
16899 * ipa-modref.cc: Likewise.
16900 * ipa-param-manipulation.cc: Likewise.
16901 * ipa-profile.cc: Likewise.
16902 * ipa-prop.h: Likewise.
16903 * ipa-pure-const.cc: Likewise.
16904 * ipa-reference.cc: Likewise.
16905 * ipa-sra.cc: Likewise.
16906 * symbol-summary.h: Likewise.
16907 * symtab-thunks.cc: Likewise.
16908
16909 2022-05-24 Martin Liska <mliska@suse.cz>
16910
16911 Revert:
16912 2022-05-24 Martin Liska <mliska@suse.cz>
16913
16914 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
16915 warning.
16916
16917 2022-05-24 Martin Liska <mliska@suse.cz>
16918
16919 * expmed.cc (emit_store_flag_1): Mitigate -Wmaybe-uninitialized
16920 warning.
16921
16922 2022-05-24 Bruno Haible <bruno@clisp.org>
16923
16924 PR other/105527
16925 * doc/install.texi (Configuration): Add more details about --with-zstd.
16926 Document --with-zstd-include and --with-zstd-lib
16927
16928 2022-05-24 Richard Biener <rguenther@suse.de>
16929
16930 PR middle-end/105711
16931 * expmed.cc (extract_bit_field_as_subreg): Add op0_mode parameter
16932 and use it.
16933 (extract_bit_field_1): Pass down the mode of op0 to
16934 extract_bit_field_as_subreg.
16935
16936 2022-05-24 Vineet Gupta <vineetg@rivosinc.com>
16937
16938 * config/riscv/riscv.cc: (struct riscv_tune_param): Add
16939 fmv_cost.
16940 (rocket_tune_info): Add default fmv_cost 8.
16941 (sifive_7_tune_info): Ditto.
16942 (thead_c906_tune_info): Ditto.
16943 (optimize_size_tune_info): Ditto.
16944 (riscv_register_move_cost): Use fmv_cost for int<->fp moves.
16945
16946 2022-05-24 Jakub Jelinek <jakub@redhat.com>
16947
16948 PR c/105378
16949 * omp-builtins.def (BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT): New
16950 builtin.
16951 * gimplify.cc (gimplify_omp_task): Diagnose taskwait with nowait
16952 clause but no depend clauses.
16953 * omp-expand.cc (expand_taskwait_call): Use
16954 BUILT_IN_GOMP_TASKWAIT_DEPEND_NOWAIT rather than
16955 BUILT_IN_GOMP_TASKWAIT_DEPEND if nowait clause is present.
16956
16957 2022-05-24 Richard Biener <rguenther@suse.de>
16958
16959 PR tree-optimization/100221
16960 * tree-ssa-dse.cc (contains_phi_arg): New function.
16961 (dse_classify_store): Postpone PHI defs that feed another PHI in defs.
16962
16963 2022-05-24 Richard Biener <rguenther@suse.de>
16964
16965 PR tree-optimization/105629
16966 * tree-ssa-phiopt.cc (spaceship_replacement): Allow
16967 a sign-extending conversion.
16968
16969 2022-05-24 Kewen Lin <linkw@linux.ibm.com>
16970
16971 PR target/105627
16972 * config/rs6000/rs6000-p8swap.cc (union_defs): Assert def_insn can't
16973 be a debug insn.
16974 (union_uses): Skip debug use_insn.
16975
16976 2022-05-23 Vineet Gupta <vineetg@rivosinc.com>
16977
16978 * config/riscv/predicates.md (const_0_operand): Remove
16979 const_double.
16980 * config/riscv/riscv.cc (riscv_rtx_costs): Add check for
16981 CONST_DOUBLE.
16982 * config/riscv/riscv.h (TARGET_SUPPORTS_WIDE_INT): New define.
16983
16984 2022-05-23 Mayshao <mayshao-oc@zhaoxin.com>
16985
16986 * common/config/i386/cpuinfo.h (get_zhaoxin_cpu): Detect
16987 the specific type of Zhaoxin CPU, and return Zhaoxin CPU name.
16988 (cpu_indicator_init): Handle Zhaoxin processors.
16989 * common/config/i386/i386-common.cc: Add lujiazui.
16990 * common/config/i386/i386-cpuinfo.h (enum processor_vendor): Add
16991 VENDOR_ZHAOXIN.
16992 (enum processor_types): Add ZHAOXIN_FAM7H.
16993 (enum processor_subtypes): Add ZHAOXIN_FAM7H_LUJIAZUI.
16994 * config.gcc: Add lujiazui.
16995 * config/i386/cpuid.h (signature_SHANGHAI_ebx): Add
16996 Signatures for zhaoxin
16997 (signature_SHANGHAI_ecx): Ditto.
16998 (signature_SHANGHAI_edx): Ditto.
16999 * config/i386/driver-i386.cc (host_detect_local_cpu): Let
17000 -march=native recognize lujiazui processors.
17001 * config/i386/i386-c.cc (ix86_target_macros_internal): Add lujiazui.
17002 * config/i386/i386-options.cc (m_LUJIAZUI): New_definition.
17003 * config/i386/i386.h (enum processor_type): Ditto.
17004 * config/i386/i386.md: Add lujiazui.
17005 * config/i386/x86-tune-costs.h (struct processor_costs): Add
17006 lujiazui costs.
17007 * config/i386/x86-tune-sched.cc (ix86_issue_rate): Add lujiazui.
17008 (ix86_adjust_cost): Ditto.
17009 * config/i386/x86-tune.def (X86_TUNE_SCHEDULE): Add lujiazui Tunnings.
17010 (X86_TUNE_PARTIAL_REG_DEPENDENCY): Ditto.
17011 (X86_TUNE_SSE_PARTIAL_REG_DEPENDENCY): Ditto.
17012 (X86_TUNE_SSE_PARTIAL_REG_FP_CONVERTS_DEPENDENCY): Ditto.
17013 (X86_TUNE_SSE_PARTIAL_REG_CONVERTS_DEPENDENCY): Ditto.
17014 (X86_TUNE_MOVX): Ditto.
17015 (X86_TUNE_MEMORY_MISMATCH_STALL): Ditto.
17016 (X86_TUNE_FUSE_CMP_AND_BRANCH_32): Ditto.
17017 (X86_TUNE_FUSE_CMP_AND_BRANCH_64): Ditto.
17018 (X86_TUNE_FUSE_CMP_AND_BRANCH_SOFLAGS): Ditto.
17019 (X86_TUNE_FUSE_ALU_AND_BRANCH): Ditto.
17020 (X86_TUNE_ACCUMULATE_OUTGOING_ARGS): Ditto.
17021 (X86_TUNE_USE_LEAVE): Ditto.
17022 (X86_TUNE_PUSH_MEMORY): Ditto.
17023 (X86_TUNE_LCP_STALL): Ditto.
17024 (X86_TUNE_USE_INCDEC): Ditto.
17025 (X86_TUNE_INTEGER_DFMODE_MOVES): Ditto.
17026 (X86_TUNE_OPT_AGU): Ditto.
17027 (X86_TUNE_PREFER_KNOWN_REP_MOVSB_STOSB): Ditto.
17028 (X86_TUNE_MISALIGNED_MOVE_STRING_PRO_EPILOGUES): Ditto.
17029 (X86_TUNE_USE_SAHF): Ditto.
17030 (X86_TUNE_USE_BT): Ditto.
17031 (X86_TUNE_AVOID_FALSE_DEP_FOR_BMI): Ditto.
17032 (X86_TUNE_ONE_IF_CONV_INSN): Ditto.
17033 (X86_TUNE_AVOID_MFENCE): Ditto.
17034 (X86_TUNE_EXPAND_ABS): Ditto.
17035 (X86_TUNE_USE_SIMODE_FIOP): Ditto.
17036 (X86_TUNE_USE_FFREEP): Ditto.
17037 (X86_TUNE_EXT_80387_CONSTANTS): Ditto.
17038 (X86_TUNE_SSE_UNALIGNED_LOAD_OPTIMAL): Ditto.
17039 (X86_TUNE_SSE_UNALIGNED_STORE_OPTIMAL): Ditto.
17040 (X86_TUNE_SSE_TYPELESS_STORES): Ditto.
17041 (X86_TUNE_SSE_LOAD0_BY_PXOR): Ditto.
17042 * doc/extend.texi: Add details about lujiazui.
17043 * doc/invoke.texi: Add details about lujiazui.
17044 * config/i386/lujiazui.md: Introduce lujiazui cpu and include new md file.
17045
17046 2022-05-23 Martin Liska <mliska@suse.cz>
17047
17048 * config/tilepro/gen-mul-tables.cc (ARRAY_SIZE): Add new macro.
17049
17050 2022-05-23 Richard Biener <rguenther@suse.de>
17051
17052 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Remove.
17053 (pass_forwprop::execute): Do not propagate into COND_EXPR conditions.
17054
17055 2022-05-23 Richard Biener <rguenther@suse.de>
17056
17057 * gimple-expr.cc (is_gimple_condexpr): Remove.
17058 * gimple-expr.h (is_gimple_condexpr): Likewise.
17059 * gimplify.cc (gimplify_expr): Remove is_gimple_condexpr usage.
17060 * tree-if-conv.cc (set_bb_predicate): Likewie.
17061 (add_to_predicate_list): Likewise.
17062 (gen_phi_arg_condition): Likewise.
17063 (predicate_scalar_phi): Likewise.
17064 (predicate_statements): Likewise.
17065
17066 2022-05-23 Richard Biener <rguenther@suse.de>
17067
17068 * gimple-expr.cc (is_gimple_condexpr): Equate to is_gimple_val.
17069 * gimplify.cc (gimplify_pure_cond_expr): Gimplify the condition
17070 as is_gimple_val.
17071 * gimple-fold.cc (valid_gimple_rhs_p): Simplify.
17072 * tree-cfg.cc (verify_gimple_assign_ternary): Likewise.
17073 * gimple-loop-interchange.cc (loop_cand::undo_simple_reduction):
17074 Build the condition of the COND_EXPR separately.
17075 * tree-ssa-loop-im.cc (move_computations_worker): Likewise.
17076 * tree-vect-generic.cc (expand_vector_condition): Likewise.
17077 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
17078 Likewise.
17079 * vr-values.cc (simplify_using_ranges::simplify): Likewise.
17080 * tree-vect-patterns.cc: Add comment indicating we are
17081 building invalid COND_EXPRs and why.
17082 * omp-expand.cc (expand_omp_simd): Gimplify the condition
17083 to the COND_EXPR separately.
17084 (expand_omp_atomic_cas): Note part that should be unreachable
17085 now.
17086 * tree-ssa-forwprop.cc (forward_propagate_into_cond): Adjust
17087 condition for valid replacements.
17088 * tree-if-conv.cc (predicate_bbs): Simulate previous
17089 re-folding of the condition in folded COND_EXPRs which
17090 is necessary because of unfolded GIMPLE_CONDs in the IL
17091 as in for example gcc.dg/fold-bopcond-1.c.
17092 * gimple-range-gori.cc (gori_compute::condexpr_adjust):
17093 Handle that the comparison is now in the def stmt of
17094 the select operand. Required by gcc.dg/pr104526.c.
17095
17096 2022-05-23 Tobias Burnus <tobias@codesourcery.com>
17097
17098 PR fortran/104949
17099 * langhooks-def.h (lhd_omp_array_size): New.
17100 (LANG_HOOKS_OMP_ARRAY_SIZE): Define.
17101 (LANG_HOOKS_DECLS): Add it.
17102 * langhooks.cc (lhd_omp_array_size): New.
17103 * langhooks.h (struct lang_hooks_for_decls): Add hook.
17104 * omp-low.cc (scan_sharing_clauses, lower_omp_target):
17105 Handle GOMP_MAP_FIRSTPRIVATE for array descriptors.
17106
17107 2022-05-23 Roger Sayle <roger@nextmovesoftware.com>
17108
17109 * config/i386/i386.cc (ix86_rtx_costs) <case AND>: Split from
17110 XOR/IOR case. Account for two instructions for double-word
17111 operations. In case of vector pandn, account for single
17112 instruction. Likewise for integer andn with TARGET_BMI.
17113 <case NOT>: Vector NOT requires more than 1 instruction (pxor).
17114 <case NEG>: Double-word negation requires 3 instructions.
17115
17116 2022-05-23 Tsukasa OI <research_trasio@irq.a4lg.com>
17117
17118 * common/config/riscv/riscv-common.cc (riscv_supported_std_ext):
17119 Fix "K" extension prefix to be placed before "J".
17120 * config/riscv/arch-canonicalize: Likewise.
17121
17122 2022-05-23 liuhongt <hongtao.liu@intel.com>
17123
17124 * config/i386/x86-tune-costs.h (skylake_cost): Increase gpr
17125 <-> mask cost from 5 to 6.
17126 (icelake_cost): Ditto.
17127
17128 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
17129
17130 * config/aarch64/aarch64.md
17131 (and_<SHIFT:optab><mode>3_compare0): Support rotate left.
17132 (and_<SHIFT:optab>si3_compare0_uxtw): Likewise.
17133 (<LOGICAL:optab>_<SHIFT:optab><mode>3): Likewise.
17134 (<LOGICAL:optab>_<SHIFT:optab>si3_uxtw): Likewise.
17135 (one_cmpl_<optab><mode>2): Likewise.
17136 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Likewise.
17137 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab>sidi_uxtw): New pattern.
17138 (eor_one_cmpl_<SHIFT:optab><mode>3_alt): Support rotate left.
17139 (eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
17140 (and_one_cmpl_<SHIFT:optab><mode>3_compare0): Likewise.
17141 (and_one_cmpl_<SHIFT:optab>si3_compare0_uxtw): Likewise.
17142 (and_one_cmpl_<SHIFT:optab><mode>3_compare0_no_reuse): Likewise.
17143 (and_<SHIFT:optab><mode>3nr_compare0): Likewise.
17144 (*<optab>si3_insn_uxtw): Use SHIFT_no_rotate.
17145 (rolsi3_insn_uxtw): New pattern.
17146 * config/aarch64/iterators.md (SHIFT): Add rotate left.
17147 (SHIFT_no_rotate): Add new iterator.
17148 (SHIFT:shift): Print rotate left as ror.
17149 (is_rotl): Add test for left rotate.
17150
17151 2022-05-20 Wilco Dijkstra <wilco.dijkstra@arm.com>
17152
17153 * config.gcc (aarch64*-*-*): Simplify --with-cpu and --with-arch
17154 processing. Add support for architectural extensions.
17155 * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Remove
17156 AARCH64_CPU_DEFAULT_FLAGS.
17157 (TARGET_CPU_NBITS): Remove.
17158 (TARGET_CPU_MASK): Remove.
17159 * config/aarch64/aarch64.cc (AARCH64_CPU_DEFAULT_FLAGS): Remove define.
17160 (get_tune_cpu): Assert CPU is always valid.
17161 (get_arch): Assert architecture is always valid.
17162 (aarch64_override_options): Cleanup CPU selection code and simplify logic.
17163 (aarch64_option_restore): Remove unnecessary checks on tune.
17164
17165 2022-05-20 David Malcolm <dmalcolm@redhat.com>
17166
17167 * config/aarch64/aarch64-sve-builtins-base.cc: Replace uses of
17168 "FINAL" and "OVERRIDE" with "final" and "override".
17169 * config/aarch64/aarch64-sve-builtins-functions.h: Likewise.
17170 * config/aarch64/aarch64-sve-builtins-shapes.cc: Likewise.
17171 * config/aarch64/aarch64-sve-builtins-sve2.cc: Likewise.
17172 * diagnostic-path.h: Likewise.
17173 * digraph.cc: Likewise.
17174 * gcc-rich-location.h: Likewise.
17175 * gimple-array-bounds.cc: Likewise.
17176 * gimple-loop-versioning.cc: Likewise.
17177 * gimple-range-cache.cc: Likewise.
17178 * gimple-range-cache.h: Likewise.
17179 * gimple-range-fold.cc: Likewise.
17180 * gimple-range-fold.h: Likewise.
17181 * gimple-range-tests.cc: Likewise.
17182 * gimple-range.h: Likewise.
17183 * gimple-ssa-evrp.cc: Likewise.
17184 * input.cc: Likewise.
17185 * json.h: Likewise.
17186 * read-rtl-function.cc: Likewise.
17187 * tree-complex.cc: Likewise.
17188 * tree-diagnostic-path.cc: Likewise.
17189 * tree-ssa-ccp.cc: Likewise.
17190 * tree-ssa-copy.cc: Likewise.
17191 * tree-vrp.cc: Likewise.
17192 * value-query.h: Likewise.
17193 * vr-values.h: Likewise.
17194
17195 2022-05-20 Marcel Vollweiler <marcel@codesourcery.com>
17196
17197 * omp-low.cc (omp_runtime_api_call): Added target_memcpy_async and
17198 target_memcpy_rect_async to omp_runtime_apis array.
17199
17200 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17201
17202 * doc/sourcebuild.texi (Decimal floating point attributes): Document
17203 dfp_bid effective-target.
17204
17205 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17206
17207 * config/aarch64/aarch64.cc
17208 (aarch64_split_128bit_move): Handle DFP modes.
17209 (aarch64_mode_valid_for_sched_fusion_p): Likewise.
17210 (aarch64_classify_address): Likewise.
17211 (aarch64_legitimize_address_displacement): Likewise.
17212 (aarch64_reinterpret_float_as_int): Likewise.
17213 (aarch64_float_const_zero_rtx_p): Likewise.
17214 (aarch64_can_const_movi_rtx_p): Likewise.
17215 (aarch64_anchor_offset): Likewise.
17216 (aarch64_secondary_reload): Likewise.
17217 (aarch64_rtx_costs): Likewise.
17218 (aarch64_legitimate_constant_p): Likewise.
17219 (aarch64_gimplify_va_arg_expr): Likewise.
17220 (aapcs_vfp_sub_candidate): Likewise.
17221 (aarch64_vfp_is_call_or_return_candidate): Likewise.
17222 (aarch64_output_scalar_simd_mov_immediate): Likewise.
17223 (aarch64_gen_adjusted_ldpstp): Likewise.
17224 (aarch64_scalar_mode_supported_p): Accept DFP modes if enabled.
17225 * config/aarch64/aarch64.md
17226 (movsf_aarch64): Use SFD iterator and rename into
17227 mov<mode>_aarch64.
17228 (movdf_aarch64): Use DFD iterator and rename into
17229 mov<mode>_aarch64.
17230 (movtf_aarch64): Use TFD iterator and rename into
17231 mov<mode>_aarch64.
17232 (split pattern for move TF mode): Use TFD iterator.
17233 * config/aarch64/iterators.md
17234 (GPF_TF_F16_MOV): Add DFP modes.
17235 (SFD, DFD, TFD): New iterators.
17236 (GPF_TF): Add DFP modes.
17237 (TX, DX, DX2): Likewise.
17238
17239 2022-05-20 Christophe Lyon <christophe.lyon@arm.com>
17240
17241 * configure: Regenerate.
17242
17243 2022-05-19 Roger Sayle <roger@nextmovesoftware.com>
17244
17245 PR middle-end/98865
17246 * expr.cc (expand_expr_real_2) [MULT_EXPR]: Expand X*Y as X&Y
17247 when both X and Y are [0, 1], X*Y as X&-Y when Y is [0,1] and
17248 likewise X*Y as -X&Y when X is [0,1] using tree_nonzero_bits.
17249
17250 2022-05-19 Will Schmidt <will_schmidt@vnet.ibm.com>
17251
17252 * config/rs6000/rs6000-builtins.def: Rephrase
17253 to remove RS6000_BTC_SPECIAL from comment.
17254 * config/rs6000/rs6000.h (RS6000_BTC_UNARY, RS6000_BTC_BINARY,
17255 RS6000_BTC_TERNARY, RS6000_BTC_QUATERNARY,
17256 RS6000_BTC_QUINARY, RS6000_BTC_SENARY, RS6000_BTC_OPND_MASK,
17257 RS6000_BTC_SPECIAL, RS6000_BTC_PREDICATE, RS6000_BTC_ABS,
17258 RS6000_BTC_DST, RS6000_BTC_TYPE_MASK, RS6000_BTC_MISC,
17259 RS6000_BTC_CONST, RS6000_BTC_PURE, RS6000_BTC_FP,
17260 RS6000_BTC_QUAD, RS6000_BTC_PAIR, RS6000_BTC_QUADPAIR,
17261 RS6000_BTC_ATTR_MASK, RS6000_BTC_SPR, RS6000_BTC_VOID,
17262 RS6000_BTC_CR, RS6000_BTC_OVERLOADED, RS6000_BTC_GIMPLE,
17263 RS6000_BTC_MISC_MASK, RS6000_BTC_MEM, RS6000_BTC_SAT,
17264 RS6000_BTM_ALWAYS): Delete.
17265
17266 2022-05-19 Richard Biener <rguenther@suse.de>
17267
17268 * omp-expand.cc (expand_omp_atomic_cas): Do not short-cut
17269 computation of the new value.
17270
17271 2022-05-19 Richard Biener <rguenther@suse.de>
17272
17273 * tree-ssa-pre.cc (get_or_alloc_expression_id): Remove.
17274 (add_to_value): Use get_expression_id.
17275 (bitmap_insert_into_set): Likewise.
17276 (bitmap_value_insert_into_set): Likewise.
17277
17278 2022-05-19 David Malcolm <dmalcolm@redhat.com>
17279
17280 * doc/invoke.texi (-fanalyzer-checker=): Add
17281 -Wanalyzer-va-list-leak and -Wanalyzer-va-list-use-after-va-end to
17282 the list of analyzer warnings disabled by
17283 -fanalyzer-checker=taint.
17284
17285 2022-05-19 Jakub Jelinek <jakub@redhat.com>
17286
17287 PR debug/105630
17288 * cfgexpand.cc (expand_debug_expr): For VAR_DECL, punt for
17289 global vars without symtab node even when they have DECL_RTL
17290 set.
17291
17292 2022-05-19 Jakub Jelinek <jakub@redhat.com>
17293
17294 PR c/105635
17295 * pointer-query.cc (gimple_parm_array_size): Return NULL if var
17296 doesn't have pointer or reference type.
17297
17298 2022-05-18 Marek Polacek <polacek@redhat.com>
17299
17300 PR c/105131
17301 * doc/invoke.texi: Document -Wenum-int-mismatch.
17302
17303 2022-05-18 Uros Bizjak <ubizjak@gmail.com>
17304
17305 * config/i386/gnu-user-common.h (defined): Only define
17306 TARGET_CAN_SPLIT_STACK for glibc targets.
17307 * config/i386/gnu.h (defined): Ditto.
17308
17309 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
17310
17311 * config/i386/i386.cc (ix86_rtx_costs) [MULT]: When mode size
17312 is wider than word_mode, a multiplication costs three word_mode
17313 multiplications and two word_mode additions.
17314
17315 2022-05-18 Roger Sayle <roger@nextmovesoftware.com>
17316
17317 * config/i386/i386.md (define_split): Split *andsi_1
17318 and *andn_si_ccno after reload with -Oz.
17319
17320 2022-05-18 Frederik Harwath <frederik@codesourcery.com>
17321
17322 * graphite-scop-detection.cc (scop_detection::can_represent_loop):
17323 Output reason for failure to dump file.
17324 (scop_detection::harmful_loop_in_region): Likewise.
17325 (scop_detection::graphite_can_represent_expr): Likewise.
17326 (scop_detection::stmt_has_simple_data_refs_p): Likewise.
17327 (scop_detection::stmt_simple_for_scop_p): Likewise.
17328 (print_sese_loop_numbers): New function.
17329 (scop_detection::add_scop): Use from here.
17330
17331 2022-05-18 liuhongt <hongtao.liu@intel.com>
17332
17333 PR middle-end/103462
17334 * match.pd (bitwise_induction_p): New match.
17335 * tree-scalar-evolution.cc (gimple_bitwise_induction_p):
17336 Declare.
17337 (analyze_and_compute_bitwise_induction_effect): New function.
17338 (enum bit_op_kind): New enum.
17339 (final_value_replacement_loop): Enhanced to handle bitwise
17340 induction.
17341
17342 2022-05-18 Haochen Gui <guihaoc@gcc.gnu.org>
17343
17344 PR target/95737
17345 * config/rs6000/rs6000.md (*subfsi3_carry_in_xx_64): New.
17346
17347 2022-05-18 liuhongt <hongtao.liu@intel.com>
17348
17349 PR target/104375
17350 * config/i386/i386.md (*bmi2_bzhi_zero_extendsidi_4): New
17351 define_insn.
17352
17353 2022-05-18 liuhongt <hongtao.liu@intel.com>
17354
17355 PR target/104610
17356 * config/i386/i386-expand.cc (ix86_expand_branch): Use ptest
17357 for QImode when code is EQ or NE.
17358 * config/i386/i386.md (cbranchoi4): New expander.
17359
17360 2022-05-18 Peter Bergner <bergner@linux.ibm.com>
17361 Segher Boessenkool <segher@kernel.crashing.org>
17362
17363 PR target/105556
17364 * config/rs6000/mma.md (mma_<vv>, mma_<avv>, mma_<pv>, mma_<apv>,
17365 mma_<vvi4i4i8>, mma_<avvi4i4i8>, mma_<vvi4i4i2>, mma_<avvi4i4i2>,
17366 mma_<vvi4i4>, mma_<avvi4i4>, mma_<pvi4i2>, mma_<apvi4i2>,
17367 mma_<vvi4i4i4>, mma_<avvi4i4i4>): Replace "wa" constraints with "v,?wa".
17368 Update other operands accordingly.
17369
17370 2022-05-17 Marek Polacek <polacek@redhat.com>
17371
17372 * godump.cc (go_output_typedef): Use the DECL_INITIAL of the TREE_VALUE.
17373
17374 2022-05-17 Pat Haugen <pthaugen@linux.ibm.com>
17375
17376 PR target/99685
17377 * config/rs6000/rs6000-call.cc (rs6000_function_arg_advance_1): Bump
17378 register count when not splitting IEEE 128-bit Complex.
17379
17380 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17381
17382 * omp-low.cc (check_omp_nesting_restrictions): Skip warning for
17383 target inside target if inner is reverse offload.
17384
17385 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17386
17387 * config/gcn/mkoffload.cc (process_obj): Revert: Use ARRAY_SIZE.
17388 * config/nvptx/mkoffload.cc (process): Likewise.
17389
17390 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
17391
17392 * Makefile.in (OBJS): Add gimple-range-side-effect.o.
17393 * gimple-range-cache.cc (non_null_ref::non_null_ref): Delete.
17394 (non_null_ref::~non_null_ref): Delete.
17395 (non_null_ref::set_nonnull): Delete.
17396 (non_null_ref::non_null_deref_p): Delete.
17397 (non_null_ref::process_name): Delete.
17398 (ranger_cache::ranger_cache): Initialize m_exit object.
17399 (ranger_cache::fill_block_cache): Use m_exit object intead of nonnull.
17400 (ranger_cache::range_from_dom): Use side_effect class and m_exit object.
17401 (ranger_cache::update_to_nonnull): Delete.
17402 (non_null_loadstore): Delete.
17403 (ranger_cache::block_apply_nonnull): Delete.
17404 (ranger_cache::apply_side_effects): New.
17405 * gimple-range-cache.h (class non_null_ref): Delete.
17406 (non_null_ref::adjust_range): Delete.
17407 (class ranger_cache): Adjust prototypes, add side effect manager.
17408 * gimple-range-path.cc (path_range_query::range_defined_in_block): Use
17409 side effect manager for queries.
17410 (path_range_query::adjust_for_non_null_uses): Ditto.
17411 * gimple-range-path.h (class path_range_query): Delete non_null_ref.
17412 * gimple-range-side-effect.cc: New.
17413 * gimple-range-side-effect.h: New.
17414 * gimple-range.cc (gimple_ranger::gimple_ranger): Update contructor.
17415 (gimple_ranger::range_of_expr): Check def block for override value.
17416 (gimple_ranger::range_on_entry): Don't scan dominators for non-null.
17417 (gimple_ranger::range_on_edge): Check for outgoing side-effects.
17418 (gimple_ranger::register_side_effects): Call apply_side_effects.
17419 (enable_ranger): Update contructor.
17420 * gimple-range.h (class gimple_ranger): Update prototype.
17421 (enable_ranger): Update prototype.
17422 * tree-vrp.cc (execute_ranger_vrp): Invoke without immediate-use flag.
17423
17424 2022-05-17 Giuliano Belinassi <gbelinassi@suse.de>
17425
17426 PR c++/105169
17427 * targhooks.cc (default_print_patchable_function_entry_1): Handle COMDAT case.
17428 * varasm.cc (switch_to_comdat_section): New
17429 (handle_vtv_comdat_section): Call switch_to_comdat_section.
17430 * varasm.h: Declare switch_to_comdat_section.
17431
17432 2022-05-17 Richard Biener <rguenther@suse.de>
17433
17434 * cfgloopmanip.cc (duplicate_loop_body_to_header_edge): Do
17435 not clear bb->aux of the copied blocks.
17436
17437 2022-05-17 Andrew MacLeod <amacleod@redhat.com>
17438
17439 PR tree-optimization/105458
17440 * value-relation.cc (path_oracle::register_relation): Merge, then check
17441 for equivalence.
17442
17443 2022-05-17 Uroš Bizjak <ubizjak@gmail.com>
17444
17445 PR target/105624
17446 Revert:
17447 * config/i386/i386.md: Remove constraints when used with
17448 const_int_operand, const0_operand, const_1_operand, constm1_operand,
17449 const8_operand, const128_operand, const248_operand, const123_operand,
17450 const2367_operand, const1248_operand, const359_operand,
17451 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
17452 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
17453 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
17454 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
17455 const_0_to_255_mul_8_operand, const_1_to_31_operand,
17456 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
17457 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
17458 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
17459 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
17460 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
17461 const_24_to_27_operand and const_28_to_31_operand.
17462 * config/i386/mmx.md: Ditto.
17463 * config/i386/sse.md: Ditto.
17464 * config/i386/subst.md: Ditto.
17465 * config/i386/sync.md: Ditto.
17466
17467 2022-05-17 Thomas Schwinge <thomas@codesourcery.com>
17468
17469 * diagnostic.cc: Don't advise to call 'abort' instead of
17470 'internal_error'.
17471 * system.h: Advise to call 'internal_error' instead of 'abort' or
17472 'fancy_abort'.
17473
17474 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
17475
17476 * graphite-sese-to-poly.cc (build_poly_sr_1): Fix a typo and
17477 a reference to a variable which does not exist.
17478 * graphite-isl-ast-to-gimple.cc (gsi_insert_earliest): Fix typo
17479 in comment.
17480
17481 2022-05-17 Frederik Harwath <frederik@codesourcery.com>
17482
17483 * graphite-sese-to-poly.cc (isl_id_for_ssa_name): Rename to ...
17484 (isl_id_for_parameter): ... this new function name.
17485 (build_scop_context): Adjust function use.
17486
17487 2022-05-17 Tobias Burnus <tobias@codesourcery.com>
17488
17489 PR target/105602
17490 * config/gcn/t-omp-device (arch): Add 'amdgcn' besides existing 'gcn'.
17491 * config/gcn/gcn.cc (gcn_omp_device_kind_arch_isa): Likewise.
17492
17493 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17494
17495 * tree-core.h (enum omp_clause_depend_kind): Add
17496 OMP_CLAUSE_DEPEND_INOUTSET.
17497 * tree-pretty-print.cc (dump_omp_clause): Handle
17498 OMP_CLAUSE_DEPEND_INOUTSET.
17499 * gimplify.cc (gimplify_omp_depend): Likewise.
17500 * omp-low.cc (lower_depend_clauses): Likewise.
17501
17502 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17503
17504 PR target/105613
17505 * config/i386/sse.md (vec_cmpeqv2div2di, vec_cmpeqv1tiv1ti): Use
17506 andv4si3 only for EQ, for NE use iorv4si3 instead.
17507
17508 2022-05-17 Richard Biener <rguenther@suse.de>
17509
17510 PR tree-optimization/105618
17511 * tree-ssa-sink.cc (statement_sink_location): For virtual
17512 PHI uses ignore those defining the used virtual operand.
17513
17514 2022-05-17 Jakub Jelinek <jakub@redhat.com>
17515
17516 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Spelling fix:
17517 hanlde -> handle. Fix up comment formatting.
17518
17519 2022-05-17 liuhongt <hongtao.liu@intel.com>
17520
17521 PR target/105033
17522 * config/i386/sse.md (*vec_concatv4si): Extend to ..
17523 (*vec_concat<mode>): .. V16QI and V8HImode.
17524 (*vec_concatv16qi_permt2): New pre_reload define_insn_and_split.
17525 (*vec_concatv8hi_permt2): Ditto.
17526
17527 2022-05-17 liuhongt <hongtao.liu@intel.com>
17528
17529 PR tree-optimization/105591
17530 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Clamp
17531 vec_perm_expr index.
17532
17533 2022-05-16 Jason Merrill <jason@redhat.com>
17534
17535 PR c/105492
17536 * attribs.cc (decl_attributes): Fix broken typedefs here.
17537
17538 2022-05-16 David Malcolm <dmalcolm@redhat.com>
17539
17540 PR analyzer/105103
17541 * Makefile.in (ANALYZER_OBJS): Add analyzer/varargs.o.
17542 * doc/invoke.texi: Add -Wanalyzer-va-arg-type-mismatch,
17543 -Wanalyzer-va-list-exhausted, -Wanalyzer-va-list-leak, and
17544 -Wanalyzer-va-list-use-after-va-end.
17545
17546 2022-05-16 Richard Biener <rguenther@suse.de>
17547
17548 * gimple-match.h (gimple_build): Move code_helper overloads ...
17549 * gimple-fold.h (gimple_build): ... here.
17550 (gimple_build): Transition to new worker API. Provide
17551 overloads from sequence-based API.
17552 (gimple_convert): Likewise.
17553 (gimple_convert_to_ptrofftype): Likewise.
17554 (gimple_build_vector_from_val): Likewise.
17555 (gimple_build_vector): Likewise.
17556 (gimple_build_round_up): Likewise.
17557 * gimple-fold.cc (gimple_build_insert_seq): New helper.
17558 (gimple_build): Use it. Transition combined_fn and code_helper
17559 API parts.
17560 (gimple_convert): Transition to new worker API.
17561 (gimple_convert_to_ptrofftype): Likewise.
17562 (gimple_build_vector_from_val): Likewise.
17563 (gimple_build_vector): Likewise.
17564 (gimple_build_round_up): Likewise.
17565
17566 2022-05-16 Richard Biener <rguenther@suse.de>
17567
17568 * gimple-match.h (code_helper): Move class ...
17569 * tree.h (code_helper): ... here.
17570
17571 2022-05-16 Martin Liska <mliska@suse.cz>
17572
17573 * opts-global.cc (write_langs): Add comment.
17574
17575 2022-05-16 Eric Botcazou <ebotcazou@adacore.com>
17576
17577 * dwarf2out.cc (loc_list_from_tree_1) <TRUTH_NOT_EXPR>: Do a logical
17578 instead of a bitwise negation.
17579 <COND_EXPR>: Swap the operands if the condition is TRUTH_NOT_EXPR.
17580
17581 2022-05-16 Martin Liska <mliska@suse.cz>
17582
17583 * attribs.cc (diag_attr_exclusions): Use ARRAY_SIZE.
17584 (decls_mismatched_attributes): Likewise.
17585 * builtins.cc (c_strlen): Likewise.
17586 * cfg.cc (DEF_BASIC_BLOCK_FLAG): Likewise.
17587 * common/config/aarch64/aarch64-common.cc (aarch64_option_init_struct): Likewise.
17588 * config/aarch64/aarch64-builtins.cc (aarch64_lookup_simd_builtin_type): Likewise.
17589 (aarch64_init_simd_builtin_types): Likewise.
17590 (aarch64_init_builtin_rsqrt): Likewise.
17591 * config/aarch64/aarch64.cc (is_madd_op): Likewise.
17592 * config/arm/arm-builtins.cc (arm_lookup_simd_builtin_type): Likewise.
17593 (arm_init_simd_builtin_types): Likewise.
17594 * config/avr/gen-avr-mmcu-texi.cc (mcus[ARRAY_SIZE): Likewise.
17595 (c_prefix): Likewise.
17596 (main): Likewise.
17597 * config/c6x/c6x.cc (N_SAVE_ORDER): Likewise.
17598 * config/darwin-c.cc (darwin_register_frameworks): Likewise.
17599 * config/gcn/mkoffload.cc (process_obj): Likewise.
17600 * config/i386/i386-builtins.cc (get_builtin_code_for_version): Likewise.
17601 (fold_builtin_cpu): Likewise.
17602 * config/m32c/m32c.cc (PUSHM_N): Likewise.
17603 * config/nvptx/mkoffload.cc (process): Likewise.
17604 * config/rs6000/driver-rs6000.cc (host_detect_local_cpu): Likewise.
17605 * config/s390/s390.cc (NR_C_MODES): Likewise.
17606 * config/tilepro/gen-mul-tables.cc (find_sequences): Likewise.
17607 (create_insn_code_compression_table): Likewise.
17608 * config/vms/vms.cc (NBR_CRTL_NAMES): Likewise.
17609 * diagnostic-format-json.cc (json_from_expanded_location): Likewise.
17610 * dwarf2out.cc (ARRAY_SIZE): Likewise.
17611 * genhooks.cc (emit_documentation): Likewise.
17612 (emit_init_macros): Likewise.
17613 * gimple-ssa-sprintf.cc (format_floating): Likewise.
17614 * gimple-ssa-warn-access.cc (memmodel_name): Likewise.
17615 * godump.cc (keyword_hash_init): Likewise.
17616 * hash-table.cc (hash_table_higher_prime_index): Likewise.
17617 * input.cc (for_each_line_table_case): Likewise.
17618 * ipa-free-lang-data.cc (free_lang_data): Likewise.
17619 * ipa-inline.cc (sanitize_attrs_match_for_inline_p): Likewise.
17620 * optc-save-gen.awk: Likewise.
17621 * spellcheck.cc (test_metric_conditions): Likewise.
17622 * tree-vect-slp-patterns.cc (sizeof): Likewise.
17623 (ARRAY_SIZE): Likewise.
17624 * tree.cc (build_common_tree_nodes): Likewise.
17625
17626 2022-05-16 Martin Liska <mliska@suse.cz>
17627
17628 * opts-global.cc (write_langs): Allocate at least one byte.
17629
17630 2022-05-16 Richard Biener <rguenther@suse.de>
17631
17632 * match.pd (A cmp B ? A : B -> min/max): New patterns
17633 carried over from fold_cond_expr_with_comparison.
17634
17635 2022-05-16 liuhongt <hongtao.liu@intel.com>
17636
17637 PR target/105587
17638 * config/i386/i386-expand.cc
17639 (expand_vec_perm_pslldq_psrldq_por): Fail when (d->perm[i] ==
17640 d->perm[i-1] + 1) && d->perm[i] == nelt && start != -1.
17641
17642 2022-05-15 Uroš Bizjak <ubizjak@gmail.com>
17643
17644 * config/i386/i386.md: Remove constraints when used with
17645 const_int_operand, const0_operand, const_1_operand, constm1_operand,
17646 const8_operand, const128_operand, const248_operand, const123_operand,
17647 const2367_operand, const1248_operand, const359_operand,
17648 const_4_or_8_to_11_operand, const48_operand, const_0_to_1_operand,
17649 const_0_to_3_operand, const_0_to_4_operand, const_0_to_5_operand,
17650 const_0_to_7_operand, const_0_to_15_operand, const_0_to_31_operand,
17651 const_0_to_63_operand, const_0_to_127_operand, const_0_to_255_operand,
17652 const_0_to_255_mul_8_operand, const_1_to_31_operand,
17653 const_1_to_63_operand, const_2_to_3_operand, const_4_to_5_operand,
17654 const_4_to_7_operand, const_6_to_7_operand, const_8_to_9_operand,
17655 const_8_to_11_operand, const_8_to_15_operand, const_10_to_11_operand,
17656 const_12_to_13_operand, const_12_to_15_operand, const_14_to_15_operand,
17657 const_16_to_19_operand, const_16_to_31_operand, const_20_to_23_operand,
17658 const_24_to_27_operand and const_28_to_31_operand.
17659 * config/i386/mmx.md: Ditto.
17660 * config/i386/sse.md: Ditto.
17661 * config/i386/subst.md: Ditto.
17662 * config/i386/sync.md: Ditto.
17663
17664 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
17665 Uroš Bizjak <ubizjak@gmail.com>
17666
17667 * config/i386/sse.md (vec_cmpeqv2div2di): Enable for TARGET_SSE2.
17668 For !TARGET_SSE4_1, expand as a V4SI vector comparison, followed
17669 by a pshufd and pand.
17670 (vec_cmpeqv1tiv1ti): New define_expand implementing V1TImode
17671 vector equality as a V2DImode vector comparison (see above),
17672 followed by a pshufd and pand.
17673
17674 2022-05-13 Roger Sayle <roger@nextmovesoftware.com>
17675
17676 PR tree-optimization/83907
17677 * tree-ssa-strlen.cc (handle_builtin_memset): Record a strinfo
17678 for memset with an constant char value.
17679 (handle_store): Improved handling of stores with a first byte
17680 of zero, but not storing_all_zeros_p.
17681
17682 2022-05-13 Philipp Tomsich <philipp.tomsich@vrull.eu>
17683 Manolis Tsamis <manolis.tsamis@vrull.eu>
17684
17685 * config/riscv/riscv.h (CLZ_DEFINED_VALUE_AT_ZERO): Implement.
17686 (CTZ_DEFINED_VALUE_AT_ZERO): Same.
17687 * doc/sourcebuild.texi: add documentation for RISC-V specific
17688 test target keywords
17689
17690 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17691
17692 PR tree-optimization/105597
17693 * range-op.cc (operator_minus::lhs_op1_relation): Use op1 instead
17694 of the lhs and make sure it is not undefined.
17695
17696 2022-05-13 Sebastian Pop <spop@amazon.com>
17697
17698 PR target/105162
17699 * config/aarch64/aarch64-protos.h (atomic_ool_names): Increase dimension
17700 of str array.
17701 * config/aarch64/aarch64.cc (aarch64_atomic_ool_func): Call
17702 memmodel_from_int and handle MEMMODEL_SYNC_*.
17703 (DEF0): Add __aarch64_*_sync functions.
17704
17705 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17706
17707 * gimple-range-fold.cc (fold_using_range::range_of_phi): Use new VREL_*
17708 enumerated values.
17709 * gimple-range-path.cc (maybe_register_phi_relation): Ditto.
17710 * range-op.cc (*::lhs_op1_relation): Return relation_kind, and use
17711 new VREL enumerated values.
17712 (*::lhs_op2_relation): Ditto.
17713 (*::op1_op2_relation): Ditto.
17714 (*::fold_range): Use new VREL enumerated values.
17715 (minus_op1_op2_relation_effect): Ditto.
17716 (range_relational_tests): Ditto.
17717 * range-op.h (fold_range, op1_range, op2_range): Use VREL_VARYING.
17718 (lhs_op1_relation, lhs_op2_relation, op1_op2_relation): Return
17719 relation_kind.
17720 (*_op1_op2_relation): Return relation_kind.
17721 (relop_early_resolve): Use VREL_UNDEFINED.
17722 * value-query.cc (range_query::query_relation): Use VREL_VARYING.
17723 * value-relation.cc (VREL_LAST): Change enumerated value.
17724 (vrel_range_assert): Delete.
17725 (print_relation): Remove range assert.
17726 (rr_negate_table): Adjust table to use new enumerated values..
17727 (relation_negate): Remove range assert.
17728 (rr_swap_table): Adjust.
17729 (relation_swap): Remove range assert.
17730 (rr_intersect_table): Adjust.
17731 (relation_intersect): Remove range assert.
17732 (rr_union_table): Adjust.
17733 (relation_union): Remove range assert.
17734 (rr_transitive_table): Adjust.
17735 (relation_transitive): Remove range assert.
17736 (equiv_oracle::query_relation): Use new VREL enumerated values.
17737 (equiv_oracle::register_relation): Ditto.
17738 (relation_oracle::register_stmt): Ditto.
17739 (dom_oracle::set_one_relation): Ditto.
17740 (dom_oracle::register_transitives): Ditto.
17741 (dom_oracle::query_relation): Ditto.
17742 (path_oracle::register_relation): Ditto.
17743 (path_oracle::query_relation): Ditto.
17744 * value-relation.h (enum relation_kind_t): New relation_kind.
17745 (*_op1_op2_relation): Adjust prototypes.
17746
17747 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17748
17749 * gimple-range-edge.cc (calc_switch_ranges): Check union return value.
17750 * value-range.cc (irange::legacy_verbose_union_): Add return value.
17751 (irange::irange_single_pair_union): New.
17752 (irange::irange_union): Add return value.
17753 * value-range.h (class irange): Adjust prototypes.
17754
17755 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17756
17757 * value-range.cc (irange::legacy_verbose_intersect): Add return value.
17758 (irange::irange_contains_p): New.
17759 (irange::irange_intersect): Add return value.
17760 * value-range.h (class irange): Adjust prototypes.
17761
17762 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17763
17764 * gimple-range-cache.cc (ranger_cache::get_global_range): Return the
17765 had_global value instead.
17766
17767 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17768
17769 PR tree-optimization/104547
17770 * gimple-range-fold.cc (fold_using_range::range_of_range_op): Add
17771 the op1/op2 relation to the relation call.
17772 * range-op.cc (*::lhs_op1_relation): Add param.
17773 (*::lhs_op2_relation): Ditto.
17774 (operator_minus::lhs_op1_relation): New.
17775 (range_relational_tests): Add relation param.
17776 * range-op.h (lhs_op1_relation, lhs_op2_relation): Adjust prototype.
17777
17778 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17779
17780 * gimple-range.cc (gimple_ranger::register_side_effects): First check
17781 if the DEF should be exported as a global.
17782 * tree-vrp.cc (rvrp_folder::pre_fold_bb): Process PHI side effects,
17783 which will export globals.
17784 (execute_ranger_vrp): Remove call to export_global_ranges.
17785
17786 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17787
17788 * value-relation.cc (path_oracle::reset_path): Clear killing_defs.
17789
17790 2022-05-13 Andrew MacLeod <amacleod@redhat.com>
17791
17792 * gimple-range-cache.cc (ranger_cache::ranger_cache): Start with
17793 worlist truncated.
17794 (ranger_cache::entry_range): Add rfd_mode parameter.
17795 (ranger_cache::exit_range): Ditto.
17796 (ranger_cache::edge_range): New. Incorporate from range_on_edge.
17797 (ranger_cache::range_of_expr): Adjust call to entry_range.
17798 (ranger_cache::range_on_edge): Split to edge_range and call.
17799 (ranger_cache::fill_block_cache): Always invoke range_from_dom.
17800 (ranger_cache::range_from_dom): Make reentrant, add search mode, handle
17801 mutiple predecessors.
17802 (ranger_cache::update_to_nonnull): Adjust call to exit_range.
17803 * gimple-range-cache.h (ranger_cache): Add enum rfd_mode. Adjust
17804 prototypes.
17805
17806 2022-05-13 Alexandre Oliva <oliva@adacore.com>
17807
17808 * gimple-harden-conditionals.cc: Include sbitmap.h.
17809 (pass_harden_conditional_branches::execute): Skip new blocks.
17810 (pass_harden_compares::execute): Likewise.
17811
17812 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
17813
17814 PR target/105463
17815 * config/arm/mve.md (*movmisalign<mode>_mve_store): Use
17816 mve_memory_operand.
17817 (*movmisalign<mode>_mve_load): Likewise.
17818 * config/arm/vec-common.md (movmisalign<mode>): Convert to generator
17819 form...
17820 (@movmisalign<mode>): ... thus. Use generic predicates and then
17821 rework operands if they are not valid. For MVE rework to a
17822 narrower element size if the alignment is not high enough.
17823
17824 2022-05-13 Richard Earnshaw <rearnsha@arm.com>
17825
17826 * config/arm/arm.cc (mve_vector_mem_operand): Allow SP_REGNUM
17827 when there is no write-back. Fix use when strict is true.
17828
17829 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17830
17831 * config/xtensa/xtensa.h (TARGET_HAS_NO_HW_DIVIDE): New macro
17832 definition.
17833
17834 2022-05-13 Takayuki 'January June' Suwa <jjsuwa_sys3175@yahoo.co.jp>
17835
17836 * config/xtensa/xtensa.md (extvsi, extvsi_internal, extzvsi,
17837 extzvsi_internal): Rename from extv, extv_internal, extzv and
17838 extzv_internal, respectively.
17839
17840 2022-05-13 Eric Botcazou <ebotcazou@adacore.com>
17841
17842 * tree-sra.cc (sra_modify_assign): Check that scalar storage order
17843 is the same on the LHS and RHS before rewriting one with the model
17844 of the other.
17845
17846 2022-05-13 Richard Biener <rguenther@suse.de>
17847
17848 * gimple-fold.cc (gimple_build): Adjust for new
17849 main API.
17850 * gimple-fold.h (gimple_build): New main APIs with
17851 iterator, insert direction and iterator update.
17852 (gimple_build): New forwarder template.
17853 (clear_padding_type_may_have_padding_p): Remove.
17854 (clear_type_padding_in_mask): Likewise.
17855 (arith_overflowed_p): Likewise.
17856 * fold-const.h (clear_padding_type_may_have_padding_p): Declare.
17857 (clear_type_padding_in_mask): Likewise.
17858 (arith_overflowed_p): Likewise.
17859 * tree-vect-generic.cc (gimplify_build3): Use main gimple_build API.
17860 (gimplify_build2): Likewise.
17861 (gimplify_build1): Likewise.
17862 * ubsan.cc (ubsan_expand_ptr_ifn): Likewise, avoid extra
17863 compare stmt.
17864 * gengtype.cc (open_base_files): Re-order includes.
17865 * builtins.cc: Re-order gimple-fold.h include.
17866 * calls.cc: Likewise.
17867 * cgraphbuild.cc: Likewise.
17868 * cgraphunit.cc: Likewise.
17869 * config/rs6000/rs6000-builtin.cc: Likewise.
17870 * config/rs6000/rs6000-call.cc: Likewise.
17871 * config/rs6000/rs6000.cc: Likewise.
17872 * config/s390/s390.cc: Likewise.
17873 * expr.cc: Likewise.
17874 * fold-const.cc: Likewise.
17875 * function-tests.cc: Likewise.
17876 * gimple-match-head.cc: Likewise.
17877 * gimple-range-fold.cc: Likewise.
17878 * gimple-ssa-evrp-analyze.cc: Likewise.
17879 * gimple-ssa-evrp.cc: Likewise.
17880 * gimple-ssa-sprintf.cc: Likewise.
17881 * gimple-ssa-warn-access.cc: Likewise.
17882 * gimplify.cc: Likewise.
17883 * graphite-isl-ast-to-gimple.cc: Likewise.
17884 * ipa-cp.cc: Likewise.
17885 * ipa-devirt.cc: Likewise.
17886 * ipa-prop.cc: Likewise.
17887 * omp-low.cc: Likewise.
17888 * pointer-query.cc: Likewise.
17889 * range-op.cc: Likewise.
17890 * tree-cfg.cc: Likewise.
17891 * tree-if-conv.cc: Likewise.
17892 * tree-inline.cc: Likewise.
17893 * tree-object-size.cc: Likewise.
17894 * tree-ssa-ccp.cc: Likewise.
17895 * tree-ssa-dom.cc: Likewise.
17896 * tree-ssa-forwprop.cc: Likewise.
17897 * tree-ssa-ifcombine.cc: Likewise.
17898 * tree-ssa-loop-ivcanon.cc: Likewise.
17899 * tree-ssa-math-opts.cc: Likewise.
17900 * tree-ssa-pre.cc: Likewise.
17901 * tree-ssa-propagate.cc: Likewise.
17902 * tree-ssa-reassoc.cc: Likewise.
17903 * tree-ssa-sccvn.cc: Likewise.
17904 * tree-ssa-strlen.cc: Likewise.
17905 * tree-ssa.cc: Likewise.
17906 * value-pointer-equiv.cc: Likewise.
17907 * vr-values.cc: Likewise.
17908
17909 2022-05-13 Alexandre Oliva <oliva@adacore.com>
17910
17911 PR rtl-optimization/105455
17912 * gimple-harden-conditionals.cc (insert_check_and_trap): Set
17913 probabilities for newly-conditional edges.
17914
17915 2022-05-13 liuhongt <hongtao.liu@intel.com>
17916
17917 PR tree-optimization/102583
17918 * tree-ssa-forwprop.cc (simplify_bitfield_ref): Extended to a
17919 contiguous stride in the VEC_PERM_EXPR.
17920
17921 2022-05-12 Richard Biener <rguenther@suse.de>
17922
17923 PR rtl-optimization/105577
17924 * dse.cc (rest_of_handle_dse): Make sure to purge dead EH
17925 edges before running fast DCE via df_analyze.
17926
17927 2022-05-12 Richard Biener <rguenther@suse.de>
17928
17929 PR tree-optimization/105562
17930 * tree-ssa-sccvn.cc (vn_reference_lookup_3): Disambiguate
17931 against all CLOBBER defs if there's not an obvious must-alias
17932 and we are not doing redundant store elimination.
17933 (vn_walk_cb_data::redundant_store_removal_p): New field.
17934 (vn_reference_lookup_pieces): Initialize it.
17935 (vn_reference_lookup): Add argument to specify if we are
17936 doing redundant store removal.
17937 (eliminate_dom_walker::eliminate_stmt): Specify we do.
17938 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust.
17939
17940 2022-05-12 Haochen Jiang <haochen.jiang@intel.com>
17941
17942 PR target/104371
17943 * config/i386/sse.md (vi1avx2const): New define_mode_attr.
17944 (pxor/pcmpeqb/pmovmskb/cmp 0xffff to ptest splitter):
17945 New define_split pattern.
17946
17947 2022-05-12 Jakub Jelinek <jakub@redhat.com>
17948
17949 * gimplify.cc (gimplify_omp_depend): Don't build_fold_addr_expr
17950 if null_pointer_node.
17951 (gimplify_scan_omp_clauses): Likewise.
17952 * tree-pretty-print.cc (dump_omp_clause): Print null_pointer_node
17953 as omp_all_memory.
17954
17955 2022-05-11 Patrick Palka <ppalka@redhat.com>
17956
17957 * tree.h (TREE_VEC_BEGIN): Define.
17958 (TREE_VEC_END): Correct 'length' member access.
17959 (class tree_vec_range): Define.
17960
17961 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
17962
17963 * config/rs6000/rs6000.md: Use wa instead of <Fv>.
17964
17965 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
17966
17967 * config/rs6000/rs6000.md: Use d instead of <Ff>.
17968
17969 2022-05-11 Segher Boessenkool <segher@kernel.crashing.org>
17970
17971 * config/rs6000/constraints.md (register_constraint "f"): Use
17972 RS6000_CONSTRAINT_d.
17973 * config/rs6000/rs6000.cc (rs6000_debug_reg_global): Do not handle
17974 RS6000_CONSTRAINT_f.
17975 (rs6000_init_hard_regno_mode_ok): Ditto. Reorder and simplify a bit.
17976 * config/rs6000/rs6000.h (r6000_reg_class_enum): Delete
17977 RS6000_CONSTRAINT_d.
17978
17979 2022-05-11 Richard Biener <rguenther@suse.de>
17980
17981 * gimple-fold.h (gimple_build): Use variadic template
17982 functions for the gimple_build API forwarders without
17983 location_t argument.
17984
17985 2022-05-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
17986
17987 PR middle-end/70090
17988 * asan.cc (initialize_sanitizer_builtins): Register
17989 __builtin_dynamic_object_size if necessary.
17990
17991 2022-05-11 Richard Biener <rguenther@suse.de>
17992
17993 PR rtl-optimization/105559
17994 * cfgrtl.cc (delete_insn_and_edges): Only perform search to BB_END
17995 for non-debug insns.
17996
17997 2022-05-11 Richard Biener <rguenther@suse.de>
17998
17999 * generic-match-head.cc: Include tree-eh.h.
18000 * match.pd ((cond ...) cmp X): New simplification inspired
18001 by fold_binary_op_with_conditional_arg.
18002 (eq/ne (cmp ...) true/false): Likewise.
18003
18004 2022-05-11 Thomas Schwinge <thomas@codesourcery.com>
18005
18006 * doc/install.texi: Don't document '--with-hsa-runtime',
18007 '--with-hsa-runtime-include', '--with-hsa-runtime-lib'.
18008
18009 2022-05-11 Martin Liska <mliska@suse.cz>
18010
18011 PR other/105527
18012 * doc/install.texi: Document the configure option --with-zstd.
18013
18014 2022-05-11 Martin Liska <mliska@suse.cz>
18015
18016 * common/config/i386/cpuinfo.h (has_cpu_feature): Directly
18017 compute index in cpu_features2.
18018 (set_cpu_feature): Likewise.
18019 * config/i386/i386-builtins.cc (fold_builtin_cpu): Also remove
18020 loop for cpu_features2 and use NOP_EXPRs.
18021
18022 2022-05-11 Richard Biener <rguenther@suse.de>
18023
18024 PR bootstrap/105551
18025 * opts.cc (finish_options): Also disable var-tracking if
18026 !DWARF2_DEBUGGING_INFO.
18027
18028 2022-05-11 liuhongt <hongtao.liu@intel.com>
18029
18030 PR target/104915
18031 * config/i386/sse.md (*vec_set<mode>_0_zero_extendhi): New
18032 pre_reload define_insn_and_split.
18033 (*vec_setv2di_0_zero_extendhi_1): Ditto.
18034 (*vec_set<mode>_0_zero_extendsi): Ditto.
18035 (*vec_setv2di_0_zero_extendsi_1): Ditto.
18036 (ssewvecmode): New mode attr.
18037 (ssewvecmodelower): Ditto.
18038 (ssepackmodelower): Ditto.
18039
18040 2022-05-11 Kewen Lin <linkw@linux.ibm.com>
18041
18042 * config/rs6000/constraints.md (register constraint v): Use
18043 rs6000_constraints[RS6000_CONSTRAINT_v] instead of ALTIVEC_REGS.
18044
18045 2022-05-11 Martin Liska <mliska@suse.cz>
18046
18047 PR target/105355
18048 * config/riscv/riscv.opt: Remove Separate from
18049 -msmall-data-limit=.
18050 * optc-gen.awk: Report error for the described situation.
18051 * gcc.cc: Use Separate syntax.
18052 * opts.cc (gen_command_line_string): Change option name.
18053
18054 2022-05-11 Haochen Gui <guihaoc@gcc.gnu.org>
18055
18056 PR target/105414
18057 * match.pd (minmax): Skip constant folding for fmin/fmax when both
18058 arguments are sNaN or one is sNaN and another is NaN.
18059
18060 2022-05-10 Jakub Jelinek <jakub@redhat.com>
18061
18062 PR tree-optimization/105528
18063 * gimple-isel.cc (gimple_expand_vec_set_expr): After gsi_remove
18064 set *gsi to gsi_for_stmt (ass_stmt). Fix up function comment.
18065
18066 2022-05-10 Segher Boessenkool <segher@kernel.crashing.org>
18067
18068 * doc/md.texi (Defining Mode Iterators): Correct example replacement
18069 text.
18070
18071 2022-05-10 Maciej W. Rozycki <macro@embecosm.com>
18072
18073 * config/riscv/riscv.md (UNSPEC_FMIN, UNSPEC_FMAX): New
18074 constants.
18075 (fmin<mode>3, fmax<mode>3): New insns.
18076
18077 2022-05-10 Richard Biener <rguenther@suse.de>
18078
18079 * tree-if-conv.cc (fold_build_cond_expr): Use
18080 match-and-simplify to simplify the condition.
18081 (ifcvt_follow_ssa_use_edges): Remove.
18082 (predicate_scalar_phi): Use follow_all_ssa_edges.
18083
18084 2022-05-10 Thomas Schwinge <thomas@codesourcery.com>
18085
18086 PR middle-end/100400
18087 * omp-oacc-kernels-decompose.cc
18088 (visit_loops_in_gang_single_region) <GIMPLE_OMP_FOR>: Explicitly
18089 call 'internal_error'.
18090
18091 2022-05-10 Richard Biener <rguenther@suse.de>
18092
18093 PR middle-end/105537
18094 * toplev.cc (process_options): Move flag_var_tracking
18095 handling ...
18096 * opts.cc (finish_options): ... here.
18097
18098 2022-05-10 Martin Liska <mliska@suse.cz>
18099
18100 * basic-block.h (struct basic_block_d): Use void *
18101 instead PTR.
18102 * cfgloop.h: Likewise.
18103 * cgraph.h: Likewise.
18104 * gengtype-state.cc (state_ident_by_name): Likewise.
18105 (record_type): Likewise.
18106 (read_state_already_seen_type): Likewise.
18107 * gengtype.cc (dump_type): Likewise.
18108 (input_file_by_name): Likewise.
18109 (main): Likewise.
18110 * ggc-common.cc (ggc_cleared_alloc_ptr_array_two_args): Likewise.
18111 * ipa-utils.h (struct ipa_dfs_info): Likewise.
18112 * plugin.cc (htab_hash_plugin): Likewise.
18113
18114 2022-05-10 Richard Biener <rguenther@suse.de>
18115
18116 * flags.h (dwarf_debuginfo_p): Add opts argument, guard
18117 API with !GENERATOR_FILE.
18118 * opts.cc (global_options): Poison.
18119 (global_options_set): Likewise.
18120 (finish_options): Refer to options via opts.
18121
18122 2022-05-10 Uroš Bizjak <ubizjak@gmail.com>
18123 Roger Sayle <roger@nextmovesoftware.com>
18124
18125 * config/i386/i386.md (*testqi_1_maybe_si): Prefer shorter SImode
18126 alternative when optimizing for size and the immediate operand is
18127 const_0_to_127_operand.
18128 (*andqi_2_maybe_si): Likewise.
18129 * config/i386/predicates.md (const_0_to_127_operand): New predicate.
18130
18131 2022-05-10 Roger Sayle <roger@nextmovesoftware.com>
18132
18133 * tree-chrec.cc (chrec_apply): Attempt to fold the linear chrec
18134 "{a, +, a} (x-1)" as "a*x", as the number of loop iterations, x-1,
18135 can't be negative.
18136
18137 2022-05-10 Eric Botcazou <ebotcazou@adacore.com>
18138
18139 PR target/105292
18140 * config/sparc/sparc.cc (sparc_vectorize_vec_perm_const): Return
18141 true only for 8-byte vector modes.
18142
18143 2022-05-10 Siddhesh Poyarekar <siddhesh@gotplt.org>
18144
18145 PR middle-end/70090
18146 * ubsan.cc (ubsan_expand_objsize_ifn): Allow non-constant SIZE.
18147 (instrument_object_size): Get dynamic object size expression.
18148
18149 2022-05-10 Jiufu Guo <guojiufu@linux.ibm.com>
18150
18151 PR preprocessor/101168
18152 * config/rs6000/rs6000-c.cc (rs6000_macro_to_expand):
18153 Avoid empty identifier.
18154
18155 2022-05-09 Qing Zhao <qing.zhao@oracle.com>
18156
18157 PR target/101891
18158 * config/i386/i386.cc (zero_call_used_regno_mode): use V2SImode
18159 as a generic MMX mode instead of V4HImode.
18160 (zero_all_mm_registers): Use SET to zero instead of MOV for
18161 zeroing scratch registers.
18162 (ix86_zero_call_used_regs): Likewise.
18163
18164 2022-05-09 liuhongt <hongtao.liu@intel.com>
18165
18166 PR target/105354
18167 * config/i386/i386-expand.cc
18168 (expand_vec_perm_pslldq_psrldq_por): New function.
18169 (ix86_expand_vec_perm_const_1): Try
18170 expand_vec_perm_pslldq_psrldq_por for both 3-instruction and
18171 4/5-instruction sequence.
18172
18173 2022-05-09 Martin Liška <mliska@suse.cz>
18174
18175 * basic-block.h (STATIC_ASSERT): Use normal STATIC_ASSERT.
18176 * system.h (STATIC_ASSERT): Define as static_assert for C++
18177 and fallback to array index in C.
18178
18179 2022-05-09 Richard Biener <rguenther@suse.de>
18180
18181 PR tree-optimization/105517
18182 * tree-ssa-sccvn.cc (vn_reference_lookup): Make sure the accumulated
18183 offset can be represented in the POINTER_PLUS_EXPR IL.
18184 (vn_reference_insert): Likewise.
18185 * poly-int.h (sext_hwi): Add poly version of sext_hwi.
18186
18187 2022-05-09 Richard Biener <rguenther@suse.de>
18188
18189 * match.pd: Remove #if GIMPLE guards around ! using patterns.
18190
18191 2022-05-09 liuhongt <hongtao.liu@intel.com>
18192
18193 PR target/105072
18194 * config/i386/sse.md (*sse4_1_<code>v2qiv2di2<mask_name>_1):
18195 New define_insn.
18196 (*sse4_1_zero_extendv2qiv2di2_2): New pre_reload
18197 define_insn_and_split.
18198
18199 2022-05-09 Alex Coplan <alex.coplan@arm.com>
18200
18201 * cgraph.cc (cgraph_node::get_create): Don't dump if the current
18202 symtab state is PARSING.
18203
18204 2022-05-09 Martin Liska <mliska@suse.cz>
18205
18206 * system.h (LIKELY): Define.
18207 (UNLIKELY): Likewise.
18208 * domwalk.cc (sort_bbs_postorder): Use {,UN}LIKELY
18209 macros.
18210 * dse.cc (set_position_unneeded): Likewise.
18211 (set_all_positions_unneeded): Likewise.
18212 (any_positions_needed_p): Likewise.
18213 (all_positions_needed_p): Likewise.
18214 * expmed.cc (flip_storage_order): Likewise.
18215 * genmatch.cc (dt_simplify::gen_1): Likewise.
18216 * ggc-common.cc (gt_pch_save): Likewise.
18217 * print-rtl.cc: Likewise.
18218 * rtl-iter.h (T>::array_type::~array_type): Likewise.
18219 (T>::next): Likewise.
18220 * rtl-ssa/internals.inl: Likewise.
18221 * rtl-ssa/member-fns.inl: Likewise.
18222 * rtlanal.cc (T>::add_subrtxes_to_queue): Likewise.
18223 (rtx_properties::try_to_add_dest): Likewise.
18224 * rtlanal.h (growing_rtx_properties::repeat): Likewise.
18225 (vec_rtx_properties_base::~vec_rtx_properties_base): Likewise.
18226 * simplify-rtx.cc (simplify_replace_fn_rtx): Likewise.
18227 * sort.cc (likely): Likewise.
18228 (mergesort): Likewise.
18229 * wide-int.h (wi::eq_p): Likewise.
18230 (wi::ltu_p): Likewise.
18231 (wi::cmpu): Likewise.
18232 (wi::bit_and): Likewise.
18233 (wi::bit_and_not): Likewise.
18234 (wi::bit_or): Likewise.
18235 (wi::bit_or_not): Likewise.
18236 (wi::bit_xor): Likewise.
18237 (wi::add): Likewise.
18238 (wi::sub): Likewise.
18239
18240 2022-05-09 Kito Cheng <kito.cheng@sifive.com>
18241
18242 * config/riscv/arch-canonicalize: Handle g correctly.
18243
18244 2022-05-07 Marek Polacek <polacek@redhat.com>
18245
18246 PR c++/101833
18247 PR c++/47634
18248 * tree-core.h (struct attribute_spec): Update comment for HANDLER.
18249
18250 2022-05-06 Jason Merrill <jason@redhat.com>
18251
18252 * diagnostic-color.cc: Add fnname and targs color entries.
18253 * doc/invoke.texi: Document them.
18254
18255 2022-05-06 Jason Merrill <jason@redhat.com>
18256
18257 * vec.h (vec::iterate): Fix comment.
18258
18259 2022-05-06 Michael Meissner <meissner@linux.ibm.com>
18260
18261 PR target/102059
18262 * config/rs6000/rs6000.cc (rs6000_can_inline_p): Ignore -mpower8-fusion
18263 and -mpower10-fusion options for inlining purposes.
18264
18265 2022-05-06 Christophe Lyon <christophe.lyon@arm.com>
18266
18267 * config/aarch64/iterators.md (GPF_TF_F16): Delete.
18268
18269 2022-05-06 Marcel Vollweiler <marcel@codesourcery.com>
18270
18271 * omp-low.cc (omp_runtime_api_call): Added target_is_accessible to
18272 omp_runtime_apis array.
18273
18274 2022-05-06 Hafiz Abid Qadeer <abidh@codesourcery.com>
18275
18276 * omp-low.cc (omp_maybe_offloaded_ctx): New prototype.
18277 (scan_sharing_clauses): Check a restriction on allocate clause.
18278
18279 2022-05-05 Sandra Loosemore <sandra@codesourcery.com>
18280
18281 * gimplify.cc (gimplify_omp_for): Update messages for SCHEDULED
18282 and ORDERED clause conflict errors. Add check for GRAINSIZE and
18283 NUM_TASKS on TASKLOOP.
18284
18285 2022-05-05 Martin Liska <mliska@suse.cz>
18286
18287 * genautomata.cc (create_composed_state): Remove dead code.
18288 * graphite-poly.cc (print_pdrs): Likewise.
18289 * lto-wrapper.cc (run_gcc): Likewise.
18290 * tree-switch-conversion.cc (switch_decision_tree::balance_case_nodes):
18291 Likewise.
18292
18293 2022-05-05 Martin Liska <mliska@suse.cz>
18294
18295 * tree-profile.cc (gimple_gen_ic_profiler): Prefix names with
18296 PROF_*.
18297 (gimple_gen_time_profiler): Likewise.
18298
18299 2022-05-05 Martin Liska <mliska@suse.cz>
18300
18301 * value-prof.cc (stream_out_histogram_value): Remove sanity
18302 checking.
18303
18304 2022-05-05 Richard Biener <rguenther@suse.de>
18305
18306 PR tree-optimization/104162
18307 * tree-ssa-sccvn.cc (vn_reference_lookup): Handle
18308 &MEM[_1 + 5].a[i] like a POINTER_PLUS_EXPR if the offset
18309 becomes invariant.
18310 (vn_reference_insert): Likewise.
18311
18312 2022-05-05 Richard Biener <rguenther@suse.de>
18313
18314 * tree-core.h (tree_real_cst::real_cst_ptr): Remove pointer
18315 to real_value field.
18316 (tree_real_cst::value): Add real_value field.
18317 * tree.h (TREE_REAL_CST_PTR): Adjust.
18318 * tree.cc (build_real): Remove separate allocation.
18319 * tree-streamer-in.cc (unpack_ts_real_cst_value_fields):
18320 Likewise.
18321
18322 2022-05-05 Richard Biener <rguenther@suse.de>
18323
18324 * tree-ssa-ifcombine.cc (bb_no_side_effects_p): Avoid executing
18325 divisions with undefined overflow unconditionally.
18326 (pass_tree_ifcombine::execute): Rewrite stmts with undefined
18327 overflow to defined.
18328
18329 2022-05-05 Richard Biener <rguenther@suse.de>
18330
18331 PR tree-optimization/105484
18332 * gimple-isel.cc (gimple_expand_vec_set_expr): Clean EH, return
18333 whether the CFG changed.
18334 (gimple_expand_vec_exprs): When the CFG changed, clean it up.
18335
18336 2022-05-05 Richard Biener <rguenther@suse.de>
18337
18338 PR tree-optimization/104595
18339 * tree-vect-patterns.cc (vect_recog_bool_pattern): For
18340 COND_EXPR do not fail if check_bool_pattern returns false.
18341
18342 2022-05-04 Tobias Burnus <tobias@codesourcery.com>
18343
18344 * omp-low.cc (lower_omp_target): Fix use_device_{addr,ptr} with list
18345 item that is in an outer data-sharing clause.
18346
18347 2022-05-04 Richard Biener <rguenther@suse.de>
18348
18349 PR tree-optimization/104658
18350 * tree-vect-slp.cc (vect_slp_convert_to_external): Do not
18351 create VECTOR_BOOLEAN_TYPE_P extern defs. Reset the vector
18352 type on nodes we promote.
18353 (vectorizable_bb_reduc_epilogue): Deal with externalized
18354 root.
18355 * tree-vect-stmts.cc (vect_maybe_update_slp_op_vectype): Do
18356 not allow VECTOR_BOOLEAN_TYPE_P extern defs.
18357
18358 2022-05-04 Richard Biener <rguenther@suse.de>
18359
18360 PR tree-optimization/103116
18361 * tree-vect-stmts.cc (get_group_load_store_type): Handle the
18362 case we need peeling for gaps even though GROUP_GAP is zero.
18363
18364 2022-05-04 Martin Liska <mliska@suse.cz>
18365
18366 * gengtype-state.cc (read_a_state_token): Remove dead code.
18367 * ipa-profile.cc (ipa_profile_read_summary_section): Likewise.
18368
18369 2022-05-04 Richard Biener <rguenther@suse.de>
18370
18371 * gimplify.cc (gimplify_init_constructor): First gimplify,
18372 then simplify the result to a VECTOR_CST.
18373
18374 2022-05-04 Jakub Jelinek <jakub@redhat.com>
18375
18376 * genconditions.cc (write_conditions): Append a { nullptr, -1 }
18377 element at the end of insn_conditions.
18378 (write_writer): Use ARRAY_SIZE (insn_conditions) - 1 instead of
18379 ARRAY_SIZE (insn_conditions).
18380
18381 2022-05-04 Christophe Lyon <christophe.lyon@arm.com>
18382
18383 PR target/104662
18384 * config/arm/arm.cc (simd_valid_immediate): Exit when input is a
18385 vector of booleans and MVE is not enabled.
18386
18387 2022-05-04 Richard Biener <rguenther@suse.de>
18388
18389 PR debug/105158
18390 * tree-cfgcleanup.cc (move_debug_stmts_from_forwarder):
18391 Move debug stmts to the predecessor if moving to the
18392 destination is not possible.
18393 (remove_forwarder_block): Adjust.
18394 (remove_forwarder_block_with_phi): Likewise.
18395
18396 2022-05-03 Roger Sayle <roger@nextmovesoftware.com>
18397
18398 PR tree-optimization/102950
18399 * range-op.cc (wi_optimize_signed_bitwise_op): New function to
18400 determine bounds of bitwise operations on signed types.
18401 (operator_bitwise_and::wi_fold): Call the above function.
18402 (operator_bitwise_or::wi_fold): Likewise.
18403 (operator_bitwise_xor::wi_fold): Likewise. Additionally, the
18404 result can't be zero if the operands can't be equal.
18405
18406 2022-05-03 Iain Sandoe <iain@sandoe.co.uk>
18407
18408 * config/darwin.cc (darwin_label_is_anonymous_local_objc_name): Make
18409 protocol class methods linker-visible.
18410
18411 2022-05-03 Uroš Bizjak <ubizjak@gmail.com>
18412
18413 PR target/105079
18414 * config/i386/sse.md (*vec_extract<mode>_0_mem): New pre-reload
18415 define_insn_and_split pattern.
18416
18417 2022-05-03 Richard Biener <rguenther@suse.de>
18418
18419 PR middle-end/105083
18420 * tree-scalar-evolution.cc (scev_initialize): Verify we
18421 have appropriate loop state.
18422 * tree-ssa-dce.cc (perform_tree_ssa_dce): Re-order SCEV and
18423 loop init and finalization.
18424
18425 2022-05-03 Richard Biener <rguenther@suse.de>
18426
18427 PR middle-end/105461
18428 * opts.cc (finish_options): Match the condition to
18429 disable flag_var_tracking to that of process_options.
18430
18431 2022-05-03 Richard Biener <rguenther@suse.de>
18432
18433 * opts.cc: #undef OPTIONS_SET_P.
18434 (finish_options): Use opts_set instead of OPTIONS_SET_P.
18435
18436 2022-05-03 Richard Biener <rguenther@suse.de>
18437
18438 PR tree-optimization/105394
18439 * tree-vect-generic.cc (expand_vector_condition): Adjust
18440 comp_width for non-integer mode masks as well.
18441
18442 2022-05-03 Marcel Vollweiler <marcel@codesourcery.com>
18443
18444 * omp-low.cc (omp_runtime_api_call): Added get_mapped_ptr to
18445 omp_runtime_apis array.
18446
18447 2022-05-02 Richard Biener <rguenther@suse.de>
18448
18449 * tree-scalar-evolution.cc (expression_expensive_p):
18450 Never consider mismatched calls as cheap.
18451
18452 2022-05-02 Richard Biener <rguenther@suse.de>
18453
18454 PR tree-optimization/104240
18455 * tree-vect-slp.cc (op1_op0_map): New.
18456 (vect_get_operand_map): Handle compares.
18457 (vect_build_slp_tree_1): Support swapped operands for
18458 tcc_comparison.
18459
18460 2022-05-02 Jakub Jelinek <jakub@redhat.com>
18461
18462 PR debug/105415
18463 * cfgexpand.cc (expand_debug_expr): Don't make_decl_rtl_for_debug
18464 if there is no symtab node for the VAR_DECL.
18465
18466 2022-05-02 Sebastian Huber <sebastian.huber@embedded-brains.de>
18467
18468 * gcov-io.cc (gcov_rewrite): Clear the file error status.
18469
18470 2022-05-02 Richard Biener <rguenther@suse.de>
18471
18472 PR tree-optimization/105437
18473 * tree-vect-slp.cc (vect_schedule_slp_node): Handle the
18474 case where last_stmt alters control flow.
18475
18476 2022-05-02 Richard Biener <rguenther@suse.de>
18477
18478 * dojump.cc (do_jump): Use CASE_CONVERT.
18479 * tree-ssa-dom.cc (edge_info::derive_equivalences): Likewise.
18480
18481 2022-05-02 Jakub Jelinek <jakub@redhat.com>
18482
18483 * system.h: Include initializer_list.
18484
18485 2022-05-01 Segher Boessenkool <segher@kernel.crashing.org>
18486
18487 * config/rs6000/constraints.md (Y constraint): Fix comment.
18488
18489 2022-05-01 Aldy Hernandez <aldyh@redhat.com>
18490
18491 * tree-ssanames.cc (set_range_info): Denormalize VR_VARYING to
18492 VR_RANGE before passing a piecewise range to set_range_info_raw.
18493
18494 2022-04-30 Patrick Palka <ppalka@redhat.com>
18495
18496 * gengtype.cc (adjust_field_tree_exp): Remove.
18497 (adjust_field_type): Don't handle the "tree_exp" special attribute.
18498 * tree-core.h (struct tree_exp): Remove "special" and "desc"
18499 attributes. Add "length" attribute.
18500
18501 2022-04-29 Martin Jambor <mjambor@suse.cz>
18502
18503 PR ipa/100413
18504 * cgraph.cc (cgraph_node::remove): Release body of the node this
18505 is clone_of if appropriate.
18506
18507 2022-04-29 Uroš Bizjak <ubizjak@gmail.com>
18508
18509 PR target/51954
18510 * config/i386/i386.md (adcl/neg -> sbb peephole): New peephole2.
18511
18512 2022-04-29 Richard Biener <rguenther@suse.de>
18513
18514 * gimple-expr.cc (is_gimple_condexpr): Adjust comment.
18515 (canonicalize_cond_expr_cond): Move here from gimple.cc,
18516 allow both COND_EXPR and GIMPLE_COND forms.
18517 * gimple-expr.h (canonicalize_cond_expr_cond): Declare.
18518 * gimple.cc (canonicalize_cond_expr_cond): Remove here.
18519 * gimple.h (canonicalize_cond_expr_cond): Likewise.
18520 * gimple-loop-versioning.cc (loop_versioning::version_loop):
18521 Use is_gimple_condexpr_for_cond.
18522 * tree-parloops.cc (gen_parallel_loop): Likewise.
18523 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Check for
18524 a proper cond expr after canonicalize_cond_expr_cond.
18525 Use is_gimple_condexpr_for_cond where appropriate.
18526 * tree-ssa-loop-manip.cc (determine_exit_conditions): Likewise.
18527 * tree-vect-loop-manip.cc (slpeel_add_loop_guard): Likewise.
18528
18529 2022-04-29 Richard Biener <rguenther@suse.de>
18530
18531 * gimple-iterator.h (gsi_after_labels): Add overload for
18532 gimple_seq.
18533 (gsi_start_1): Rename to gsi_start and take a reference.
18534 (gsi_last_1): Likewise.
18535 * gimple-iterator.cc (gsi_for_stmt): Use gsi_start.
18536 * omp-low.cc (lower_rec_input_clauses): Likewise.
18537 (lower_omp_scan): Likewise.
18538
18539 2022-04-29 Richard Biener <rguenther@suse.de>
18540
18541 PR tree-optimization/105431
18542 * tree-ssa-math-opts.cc (powi_as_mults_1): Make n unsigned.
18543 (powi_as_mults): Use absu_hwi.
18544 (gimple_expand_builtin_powi): Remove now pointless n != -n
18545 check.
18546
18547 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18548
18549 * range-op.cc (empty_range_varying): Move to range-op.h.
18550 (range_true): Move to range.h.
18551 (range_false): Same.
18552 (range_true_and_false): Same.
18553 (enum bool_range_state): Move to range-op.h.
18554 (relop_early_resolve): Same.
18555 (operator_equal::op1_op2_relation): Abstract code to...
18556 (equal_op1_op2_relation): ...here.
18557 (operator_not_equal::op1_op2_relation): Abstract code to...
18558 (not_equal_op1_op2_relation): ...here.
18559 (operator_lt::op1_op2_relation): Abstract code to...
18560 (lt_op1_op2_relation): ...here.
18561 (operator_le::op1_op2_relation): Abstract code to...
18562 (le_op1_op2_relation): ...here.
18563 (operator_gt::op1_op2_relation): Abstract code to...
18564 (gt_op1_op2_relation): ...here.
18565 (operator_ge::op1_op2_relation): Abstract code to...
18566 (ge_op1_op2_relation): ...here.
18567 (class range_op_table): Move to range-op.h.
18568 * range-op.h (equal_op1_op2_relation): Moved from range-op.cc.
18569 (not_equal_op1_op2_relation): Same.
18570 (lt_op1_op2_relation): Same.
18571 (le_op1_op2_relation): Same.
18572 (gt_op1_op2_relation): Same.
18573 (ge_op1_op2_relation): Same.
18574 (enum bool_range_state): Same.
18575 (get_bool_state): Same.
18576 (empty_range_varying): Same.
18577 (relop_early_resolve): Same.
18578 (class range_op_table): Same.
18579 * range.h (range_true): Same.
18580 (range_false): Same.
18581 (range_true_and_false): Same.
18582
18583 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18584
18585 * gimple-fold.cc (size_must_be_zero_p): Use reference
18586 instead of pointer
18587 * gimple-ssa-evrp-analyze.cc
18588 (evrp_range_analyzer::record_ranges_from_incoming_edge): Rename
18589 intersect to legacy_verbose_intersect.
18590 * ipa-cp.cc (ipcp_vr_lattice::meet_with_1): Use reference instead
18591 of pointer.
18592 * tree-ssa-dom.cc (dom_jt_simplifier::simplify): Use value_range
18593 instead of value_range_equiv.
18594 * tree-vrp.cc (extract_range_from_plus_minus_expr): Use reference
18595 instead of pointer.
18596 (find_case_label_range): Same.
18597 * value-range-equiv.cc (value_range_equiv::intersect): Rename to...
18598 (value_range_equiv::legacy_verbose_intersect): ...this.
18599 (value_range_equiv::union_): Rename to...
18600 (value_range_equiv::legacy_verbose_union_): ...this.
18601 * value-range-equiv.h (class value_range_equiv): Rename union and
18602 intersect to legacy_verbose_{intersect,union}.
18603 * value-range.cc (irange::union_): Rename to...
18604 (irange::legacy_verbose_union_): ...this.
18605 (irange::intersect): Rename to...
18606 (irange::legacy_verbose_intersect): ...this.
18607 * value-range.h (irange::union_): Rename union_ to
18608 legacy_verbose_union.
18609 (irange::intersect): Rename intersect to legacy_verbose_intersect.
18610 * vr-values.cc (vr_values::update_value_range): Same.
18611 (vr_values::extract_range_for_var_from_comparison_expr): Same.
18612 (vr_values::extract_range_from_cond_expr): Rename union_ to
18613 legacy_verbose_union.
18614 (vr_values::extract_range_from_phi_node): Same.
18615
18616 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18617
18618 * gimple-ssa-evrp-analyze.cc
18619 (evrp_range_analyzer::set_ssa_range_info): Use *range_info methods
18620 that take a range.
18621 * gimple-ssa-sprintf.cc (try_substitute_return_value): Same.
18622 * ipa-prop.cc (ipcp_update_vr): Same.
18623 * tree-inline.cc (remap_ssa_name): Same.
18624 * tree-ssa-copy.cc (fini_copy_prop): Same.
18625 * tree-ssa-math-opts.cc (optimize_spaceship): Same.
18626 * tree-ssa-phiopt.cc (replace_phi_edge_with_variable): Same.
18627 * tree-ssa-pre.cc (insert_into_preds_of_block): Same.
18628 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Same.
18629 * tree-ssa-strlen.cc (set_strlen_range): Same.
18630 (strlen_pass::handle_builtin_string_cmp): Same.
18631 * tree-ssanames.cc (set_range_info): Make static.
18632 (duplicate_ssa_name_range_info): Make static and add a new variant
18633 calling the static.
18634 * tree-ssanames.h (set_range_info): Remove version taking wide ints.
18635 (duplicate_ssa_name_range_info): Remove version taking a
18636 range_info_def and replace with a version taking SSA names.
18637 * tree-vect-loop-manip.cc (vect_gen_vector_loop_niters): Use *range_info methods
18638 that take a range.
18639 (vect_do_peeling): Same.
18640 * tree-vrp.cc (vrp_asserts::remove_range_assertions): Same.
18641 * vr-values.cc (simplify_truth_ops_using_ranges): Same.
18642
18643 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18644
18645 * value-range.h (irange::irange): Use set_undefined.
18646
18647 2022-04-29 Aldy Hernandez <aldyh@redhat.com>
18648
18649 * gimple-range-cache.h (non_null_ref::adjust_range): Do not use
18650 irange::intersect (wide_int, wide_int).
18651 * gimple-range-fold.cc (adjust_pointer_diff_expr): Same.
18652 (adjust_imagpart_expr): Same.
18653 * value-range.h (irange::intersect (wide_int, wide_int)): Make
18654 private.
18655
18656 2022-04-29 Richard Biener <rguenther@suse.de>
18657
18658 PR tree-optimization/104322
18659 * tree-vect-loop.cc (vectorizable_reduction): Remove dead code.
18660
18661 2022-04-29 Richard Biener <rguenther@suse.de>
18662
18663 PR middle-end/105376
18664 * tree.cc (build_real): Special case dconst* arguments
18665 for decimal floating point types.
18666
18667 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18668
18669 * doc/gcov.texi (Profiling and Test Coverage in Freestanding
18670 Environments): New section.
18671
18672 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18673
18674 * doc/gcov-tool.texi: Document merge-stream subcommand.
18675 * doc/invoke.texi (fprofile-info-section): Mention merge-stream
18676 subcommand of gcov-tool.
18677 * gcov-tool.cc (gcov_profile_merge_stream): Declare.
18678 (print_merge_stream_usage_message): New.
18679 (merge_stream_usage): Likewise.
18680 (do_merge_stream): Likewise.
18681 (print_usage): Call print_merge_stream_usage_message().
18682 (main): Call do_merge_stream() to execute merge-stream subcommand.
18683
18684 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18685
18686 * gcov-io.cc (gcov_file_error): New enum.
18687 (gcov_var): Use gcov_file_error enum for the error member.
18688 (gcov_open): Use GCOV_FILE_NO_ERROR.
18689 (gcov_close): Use GCOV_FILE_WRITE_ERROR.
18690 (gcov_write): Likewise.
18691 (gcov_write_unsigned): Likewise.
18692 (gcov_write_string): Likewise.
18693 (gcov_read_bytes): Set error code if EOF is reached.
18694 (gcov_read_counter): Use GCOV_FILE_COUNTER_OVERFLOW.
18695
18696 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18697
18698 * gcov-io.cc (GCOV_MODE_STDIN): Define.
18699 (gcov_position): For gcov-tool, return calculated position if file is
18700 stdin.
18701 (gcov_open): For gcov-tool, use stdin if filename is NULL.
18702 (gcov_close): For gcov-tool, do not close stdin.
18703 (gcov_read_bytes): For gcov-tool, update position if file is stdin.
18704 (gcov_sync): For gcov-tool, discard input if file is stdin.
18705
18706 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18707
18708 * doc/invoke.texi (fprofile-info-section): Mention
18709 __gcov_filename_to_gcfn(). Use "freestanding" to match with C11
18710 standard language. Fix minor example code issues.
18711 * gcov-io.h (GCOV_FILENAME_MAGIC): Define and document.
18712
18713 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18714
18715 * gcov-io.cc (gcov_seek): Make it static.
18716 * gcov-io.h (struct gcov_summary): Do not mention gcov_seek().
18717
18718 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18719
18720 * gcov-tool.cc (gcov_do_dump): Add mode parameter.
18721 (gcov_output_files): Open files for reading and writing.
18722
18723 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18724
18725 * gcov-io.cc (gcov_open): Always use the mode parameter.
18726 * gcov-io.h (gcov_open): Declare it unconditionally.
18727
18728 2022-04-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
18729
18730 * gcov-tool.cc (gcov_profile_merge): Adjust return type.
18731 (profile_merge): Allow merging of directories which contain no profile
18732 files.
18733
18734 2022-04-28 David Malcolm <dmalcolm@redhat.com>
18735
18736 * doc/invoke.texi (-fdump-analyzer-feasibility): Mention the
18737 fpath.txt output.
18738
18739 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18740
18741 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Create a
18742 temporary only if out overlaps compare_op, not when it overlaps
18743 op0 or op1.
18744
18745 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18746
18747 PR lto/105399
18748 * cgraph.cc (cgraph_node::verify_node): Don't verify
18749 semantic_interposition flag against
18750 opt_for_fn (decl, flag_semantic_interposition) for aliases in lto1.
18751
18752 2022-04-28 Jakub Jelinek <jakub@redhat.com>
18753
18754 PR target/105331
18755 * config/i386/i386.cc (ix86_gimplify_va_arg): Mark va_arg_tmp
18756 temporary TREE_ADDRESSABLE before trying to gimplify ADDR_EXPR
18757 of it.
18758
18759 2022-04-28 Jonathan Wakely <jwakely@redhat.com>
18760
18761 * doc/install.texi (Configuration): Remove misleading text
18762 around LE PowerPC Linux multilibs.
18763
18764 2022-04-28 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18765
18766 PR d/103528
18767 * doc/install.texi (Tools/packages necessary for building GCC)
18768 (GDC): Document libphobos requirement.
18769 (Host/target specific installation notes for GCC, *-*-solaris2*):
18770 Document libphobos and GDC specifics.
18771
18772 2022-04-28 Richard Biener <rguenther@suse.de>
18773
18774 PR tree-optimization/105219
18775 * tree-vect-loop.cc (vect_transform_loop): Disable
18776 special code narrowing the vectorized epilogue max
18777 iterations when peeling for alignment or gaps was in effect.
18778
18779 2022-04-28 Xi Ruoyao <xry111@mengyan1223.wang>
18780
18781 * config/loongarch/loongarch.cc
18782 (loongarch_flatten_aggregate_field): Ignore empty fields for
18783 RECORD_TYPE.
18784
18785 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
18786
18787 * config/loongarch/loongarch.md: Add fdiv define_expand template,
18788 then generate floating-point division and floating-point reciprocal
18789 instructions.
18790
18791 2022-04-27 Lulu Cheng <chenglulu@loongson.cn>
18792
18793 * config/loongarch/loongarch.md: Add '(clobber (mem:BLK (scratch)))'
18794 to PLV instruction templates.
18795
18796 2022-04-27 Richard Biener <rguenther@suse.de>
18797
18798 PR middle-end/104492
18799 * gimple-ssa-warn-access.cc
18800 (pass_waccess::warn_invalid_pointer): Exclude equality compare
18801 diagnostics for all kind of invalidations.
18802 (pass_waccess::check_dangling_uses): Fix post-dominator query.
18803 (pass_waccess::check_pointer_uses): Likewise.
18804
18805 2022-04-27 Andreas Krebbel <krebbel@linux.ibm.com>
18806
18807 PR target/102024
18808 * config/s390/s390-protos.h (s390_function_arg_vector): Remove
18809 prototype.
18810 * config/s390/s390.cc (s390_single_field_struct_p): New function.
18811 (s390_function_arg_vector): Invoke s390_single_field_struct_p.
18812 (s390_function_arg_float): Likewise.
18813
18814 2022-04-27 Jakub Jelinek <jakub@redhat.com>
18815
18816 PR sanitizer/105396
18817 * asan.cc (asan_redzone_buffer::emit_redzone_byte): Handle the case
18818 where offset is bigger than off but smaller than m_prev_offset + 32
18819 bits by pushing one or more 0 bytes. Sink the
18820 m_shadow_bytes.safe_push (value); flush_if_full (); statements from
18821 all cases to the end of the function.
18822
18823 2022-04-27 Kewen Lin <linkw@linux.ibm.com>
18824
18825 PR target/105271
18826 * config/rs6000/rs6000-builtins.def (NEG_V2DI): Move to [power8-vector]
18827 stanza.
18828
18829 2022-04-26 Thomas Schwinge <thomas@codesourcery.com>
18830
18831 * config/gcn/gcn.cc (gcn_print_lds_decl): Make "gang-private
18832 data-share memory exhausted" error more verbose.
18833
18834 2022-04-26 Martin Liska <mliska@suse.cz>
18835
18836 PR lto/105364
18837 * lto-wrapper.cc (print_lto_docs_link): Use global_dc.
18838 (run_gcc): Parse OPT_fdiagnostics_urls_.
18839 (main): Initialize global_dc.
18840
18841 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18842
18843 PR rtl-optimization/105314
18844 * ifcvt.cc (noce_try_store_flag_mask): Don't require that the non-zero
18845 operand is equal to if_info->x, instead use the non-zero operand
18846 as one of the operands of AND with if_info->x as target.
18847
18848 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18849
18850 PR tree-optimization/105374
18851 * tree-ssa-reassoc.cc (eliminate_redundant_comparison): Punt if
18852 !fold_convertible_p rather than assuming fold_convert must succeed.
18853
18854 2022-04-26 Jakub Jelinek <jakub@redhat.com>
18855
18856 PR target/105367
18857 * config/i386/i386.cc (ix86_veclibabi_svml, ix86_veclibabi_acml): Pass
18858 el_mode == DFmode ? double_type_node : float_type_node instead of
18859 TREE_TYPE (type_in) as first arguments to mathfn_built_in.
18860
18861 2022-04-25 David Malcolm <dmalcolm@redhat.com>
18862
18863 PR analyzer/104308
18864 * gimple-fold.cc (gimple_fold_builtin_memory_op): Explicitly set
18865 the location of new_stmt in all places that don't already set it,
18866 whether explicitly, or via a call to gsi_replace.
18867
18868 2022-04-25 Paul A. Clarke <pc@us.ibm.com>
18869
18870 * doc/extend.texi (Other Builtins): Correct reference to 'modff'.
18871
18872 2022-04-25 Andrew MacLeod <amacleod@redhat.com>
18873
18874 PR tree-optimization/105276
18875 * gimple-range.cc (gimple_ranger::prefill_stmt_dependencies): Include
18876 existing global range with calculated value.
18877
18878 2022-04-25 Richard Biener <rguenther@suse.de>
18879
18880 PR tree-optimization/105368
18881 * tree-ssa-math-opts.cc (powi_cost): Use absu_hwi.
18882
18883 2022-04-25 Richard Biener <rguenther@suse.de>
18884
18885 PR tree-optimization/100810
18886 * tree-ssa-loop-ivopts.cc (struct iv_cand): Add involves_undefs flag.
18887 (find_ssa_undef): New function.
18888 (add_candidate_1): Avoid adding derived candidates with
18889 undefined SSA names and mark the original ones.
18890 (determine_group_iv_cost_generic): Reject rewriting
18891 uses with a different IV when that involves undefined SSA names.
18892
18893 2022-04-25 Steven G. Kargl <kargl@gcc.gnu.org>
18894
18895 PR target/89125
18896 * config/freebsd.h: Define TARGET_LIBC_HAS_FUNCTION to be
18897 bsd_libc_has_function.
18898 * targhooks.cc (bsd_libc_has_function): New function.
18899 Expand the supported math functions to inclue C99 libm.
18900 * targhooks.h (bsd_libc_has_function): New Prototype.
18901
18902 2022-04-25 Richard Biener <rguenther@suse.de>
18903
18904 PR rtl-optimization/105231
18905 * combine.cc (distribute_notes): Assert that a REG_EH_REGION
18906 with landing pad > 0 is from i3. Put any REG_EH_REGION note
18907 on i3 or drop it if the insn can not trap.
18908 (try_combine): Ensure that we can merge REG_EH_REGION notes
18909 with non-call exceptions. Ensure we are not splitting a
18910 trapping part of an insn with non-call exceptions when there
18911 is any REG_EH_REGION note to preserve.
18912
18913 2022-04-25 Hongyu Wang <hongyu.wang@intel.com>
18914
18915 PR target/105339
18916 * config/i386/avx512fintrin.h (_mm512_scalef_round_pd):
18917 Add parentheses for parameters and djust format.
18918 (_mm512_mask_scalef_round_pd): Ditto.
18919 (_mm512_maskz_scalef_round_pd): Ditto.
18920 (_mm512_scalef_round_ps): Ditto.
18921 (_mm512_mask_scalef_round_ps): Ditto.
18922 (_mm512_maskz_scalef_round_ps): Ditto.
18923 (_mm_scalef_round_sd): Use _mm_undefined_pd.
18924 (_mm_scalef_round_ss): Use _mm_undefined_ps.
18925 (_mm_mask_scalef_round_sd): New macro.
18926 (_mm_mask_scalef_round_ss): Ditto.
18927 (_mm_maskz_scalef_round_sd): Ditto.
18928 (_mm_maskz_scalef_round_ss): Ditto.
18929
18930 2022-04-23 Jakub Jelinek <jakub@redhat.com>
18931
18932 PR target/105338
18933 * config/i386/i386-expand.cc (ix86_expand_int_movcc): Handle
18934 op0 == cst1 ? op0 : op3 like op0 == cst1 ? cst1 : op3 for the non-cmov
18935 cases.
18936
18937 2022-04-22 Segher Boessenkool <segher@kernel.crashing.org>
18938
18939 PR target/105334
18940 * config/rs6000/rs6000.md (pack<mode> for FMOVE128): New expander.
18941 (pack<mode> for FMOVE128): Rename and split the insn_and_split to...
18942 (pack<mode>_hard for FMOVE128): ... this...
18943 (pack<mode>_soft for FMOVE128): ... and this.
18944
18945 2022-04-22 Paul A. Clarke <pc@us.ibm.com>
18946
18947 * doc/extend.texi: Correct "This" to "These".
18948
18949 2022-04-22 Jakub Jelinek <jakub@redhat.com>
18950
18951 PR rtl-optimization/105333
18952 * rtlanal.cc (replace_rtx): Use simplify_subreg or
18953 simplify_unary_operation if CONST_SCALAR_INT_P rather than just
18954 CONST_INT_P.
18955
18956 2022-04-21 Segher Boessenkool <segher@kernel.crashing.org>
18957
18958 PR target/103197
18959 PR target/102146
18960 * config/rs6000/rs6000.md (zero_extendqi<mode>2 for EXTQI): Disparage
18961 the "Z" alternatives in {l,st}{f,xs}iwzx.
18962 (zero_extendhi<mode>2 for EXTHI): Ditto.
18963 (zero_extendsi<mode>2 for EXTSI): Ditto.
18964 (*movsi_internal1): Ditto.
18965 (*mov<mode>_internal1 for QHI): Ditto.
18966 (movsd_hardfloat): Ditto.
18967
18968 2022-04-21 Martin Liska <mliska@suse.cz>
18969
18970 * configure.ac: Enable compressed debug sections for mold
18971 linker.
18972 * configure: Regenerate.
18973
18974 2022-04-21 Jakub Jelinek <jakub@redhat.com>
18975
18976 PR debug/105203
18977 * emit-rtl.cc (emit_copy_of_insn_after): Don't call mark_jump_label
18978 on DEBUG_INSNs.
18979
18980 2022-04-20 Richard Biener <rguenther@suse.de>
18981
18982 PR tree-optimization/104912
18983 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
18984 the cost model check to a separate BB to make sure it is
18985 checked first and not combined with other version checks.
18986
18987 2022-04-20 Richard Biener <rguenther@suse.de>
18988
18989 PR tree-optimization/105312
18990 * gimple-isel.cc (gimple_expand_vec_cond_expr): Query both
18991 VCOND and VCONDU for EQ and NE.
18992
18993 2022-04-20 Jan Hubicka <hubicka@ucw.cz>
18994
18995 PR ipa/103818
18996 * ipa-modref-tree.cc (modref_access_node::closer_pair_p): Use
18997 poly_offset_int to avoid overflow.
18998 (modref_access_node::update2): likewise.
18999
19000 2022-04-20 Jakub Jelinek <jakub@redhat.com>
19001
19002 PR ipa/105306
19003 * cgraph.cc (cgraph_node::create): Set node->semantic_interposition
19004 to opt_for_fn (decl, flag_semantic_interposition).
19005 * cgraphclones.cc (cgraph_node::create_clone): Copy over
19006 semantic_interposition flag.
19007
19008 2022-04-19 Sergei Trofimovich <siarheit@google.com>
19009
19010 PR gcov-profile/105282
19011 * value-prof.cc (stream_out_histogram_value): Allow negative counts
19012 on HIST_TYPE_INDIR_CALL.
19013
19014 2022-04-19 Jakub Jelinek <jakub@redhat.com>
19015
19016 PR target/105257
19017 * config/sparc/sparc.cc (epilogue_renumber): If ORIGINAL_REGNO,
19018 use gen_raw_REG instead of gen_rtx_REG and copy over also
19019 ORIGINAL_REGNO. Use return 0; instead of /* fallthrough */.
19020
19021 2022-04-19 Richard Biener <rguenther@suse.de>
19022
19023 PR tree-optimization/104010
19024 PR tree-optimization/103941
19025 * tree-vect-slp.cc (vect_bb_slp_scalar_cost): When
19026 we run into stmts in patterns continue walking those
19027 for uses outside of the vectorized region instead of
19028 marking the lane live.
19029
19030 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
19031
19032 * doc/install.texi <CRIS>: Remove references to removed websites and
19033 adjust for cris-*-elf being the only remaining toolchain.
19034
19035 2022-04-18 Hans-Peter Nilsson <hp@axis.com>
19036
19037 * doc/invoke.texi <CRIS>: Remove references to options for removed
19038 subtarget cris-axis-linux-gnu and tweak wording accordingly.
19039
19040 2022-04-16 Gerald Pfeifer <gerald@pfeifer.com>
19041
19042 * doc/install.texi (Specific): Adjust mingw-w64 download link.
19043
19044 2022-04-15 Hongyu Wang <hongyu.wang@intel.com>
19045
19046 * config/i386/smmintrin.h: Correct target pragma from sse4.1
19047 and sse4.2 to crc32 for crc32 intrinsics.
19048
19049 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
19050
19051 PR debug/105089
19052 * ctfc.cc (ctf_dvd_ignore_insert): New function.
19053 (ctf_dvd_ignore_lookup): Likewise.
19054 (ctf_add_variable): Keep track of non-defining decl DIEs.
19055 (new_ctf_container): Initialize the new hash-table.
19056 (ctfc_delete_container): Empty hash-table.
19057 * ctfc.h (struct ctf_container): Add new hash-table.
19058 (ctf_dvd_ignore_lookup): New declaration.
19059 (ctf_add_variable): Add additional argument.
19060 * ctfout.cc (ctf_dvd_preprocess_cb): Skip adding CTF variable
19061 record for non-defining decl for which a defining decl exists
19062 in the same TU.
19063 (ctf_preprocess): Defer updating the number of global objts
19064 until here.
19065 (output_ctf_header): Use ctfc_vars_list_count as some CTF
19066 variables may not make it to the final output.
19067 (output_ctf_vars): Likewise.
19068 * dwarf2ctf.cc (gen_ctf_variable): Skip generating CTF variable
19069 if this is known to be a non-defining decl DIE.
19070
19071 2022-04-14 Indu Bhagat <indu.bhagat@oracle.com>
19072
19073 * ctfc.h (struct ctf_container): Introduce a new member.
19074 * ctfout.cc (ctf_list_add_ctf_vars): Use it instead of static
19075 variable.
19076
19077 2022-04-14 Jakub Jelinek <jakub@redhat.com>
19078
19079 PR target/105247
19080 * simplify-rtx.cc (simplify_const_binary_operation): For shifts
19081 or rotates by VOIDmode constant integer shift count use word_mode
19082 for the operand if int_mode is narrower than word.
19083
19084 2022-04-14 Robin Dapp <rdapp@linux.ibm.com>
19085
19086 * config/s390/s390.cc (s390_get_sched_attrmask): Add z16.
19087 (s390_get_unit_mask): Likewise.
19088 (s390_is_fpd): Likewise.
19089 (s390_is_fxd): Likewise.
19090 * config/s390/s390.h (s390_tune_attr): Set max tune level to z16.
19091 * config/s390/s390.md (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15):
19092 Add z16.
19093 (z900,z990,z9_109,z9_ec,z10,z196,zEC12,z13,z14,z15,z16):
19094 Likewise.
19095 * config/s390/3931.md: New file.
19096
19097 2022-04-13 Richard Sandiford <richard.sandiford@arm.com>
19098
19099 PR tree-optimization/105254
19100 * config/aarch64/aarch64.cc
19101 (aarch64_vector_costs::determine_suggested_unroll_factor): Take a
19102 loop_vec_info as argument. Restrict the unroll factor to values
19103 that divide the VF.
19104 (aarch64_vector_costs::finish_cost): Update call accordingly.
19105
19106 2022-04-13 Richard Biener <rguenther@suse.de>
19107
19108 PR tree-optimization/105263
19109 * tree-ssa-reassoc.cc (try_special_add_to_ops): Do not consume
19110 negates in multiplication chains with DFP.
19111
19112 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19113
19114 PR middle-end/105253
19115 * tree.cc (tree_builtin_call_types_compatible_p): If PROP_gimple,
19116 use useless_type_conversion_p checks instead of TYPE_MAIN_VARIANT
19117 comparisons or tree_nop_conversion_p checks.
19118
19119 2022-04-13 Hongyu Wang <hongyu.wang@intel.com>
19120
19121 PR target/103069
19122 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop):
19123 Add missing set to target_val at pause label.
19124
19125 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19126
19127 PR target/105234
19128 * attribs.cc (decl_attributes): Don't set
19129 DECL_FUNCTION_SPECIFIC_TARGET if target_option_default_node is
19130 NULL.
19131
19132 2022-04-13 Richard Biener <rguenther@suse.de>
19133
19134 PR tree-optimization/105250
19135 * fold-const.cc (fold_convertible_p): Revert
19136 r12-7979-geaaf77dd85c333, instead check for size equality
19137 of the vector types involved.
19138
19139 2022-04-13 Richard Biener <rguenther@suse.de>
19140
19141 Revert:
19142 2022-04-13 Richard Biener <rguenther@suse.de>
19143
19144 PR tree-optimization/104912
19145 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
19146 the cost model check to a separate BB to make sure it is
19147 checked first and not combined with other version checks.
19148
19149 2022-04-13 Richard Biener <rguenther@suse.de>
19150
19151 PR tree-optimization/104912
19152 * tree-vect-loop-manip.cc (vect_loop_versioning): Split
19153 the cost model check to a separate BB to make sure it is
19154 checked first and not combined with other version checks.
19155
19156 2022-04-13 Jakub Jelinek <jakub@redhat.com>
19157
19158 * tree-scalar-evolution.cc (expression_expensive_p): Fix a comment typo.
19159
19160 2022-04-12 Antoni Boucher <bouanto@zoho.com>
19161
19162 PR jit/104072
19163 * reginfo.cc: New functions (clear_global_regs_cache,
19164 reginfo_cc_finalize) to avoid an issue where compiling the same
19165 code multiple times gives an error about assigning the same
19166 register to 2 global variables.
19167 * rtl.h: New function (reginfo_cc_finalize).
19168 * toplev.cc: Call it.
19169
19170 2022-04-12 Antoni Boucher <bouanto@zoho.com>
19171
19172 PR jit/104071
19173 * toplev.cc: Call the new function tree_cc_finalize in
19174 toplev::finalize.
19175 * tree.cc: New functions (clear_nonstandard_integer_type_cache
19176 and tree_cc_finalize) to clear the cache of non-standard integer
19177 types to avoid having issues with some optimizations of
19178 bitcast where the SSA_NAME will have a size of a cached
19179 integer type that should have been invalidated, causing a
19180 comparison of integer constant to fail.
19181 * tree.h: New function (tree_cc_finalize).
19182
19183 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19184
19185 PR target/97348
19186 * config/nvptx/nvptx.h (ASM_SPEC): Don't set.
19187 * config/nvptx/nvptx.opt (misa): Adjust comment.
19188
19189 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19190
19191 Revert:
19192 2022-03-03 Tom de Vries <tdevries@suse.de>
19193
19194 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
19195
19196 2022-04-12 Thomas Schwinge <thomas@codesourcery.com>
19197
19198 Revert:
19199 2022-03-31 Tom de Vries <tdevries@suse.de>
19200
19201 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
19202
19203 2022-04-12 Richard Biener <rguenther@suse.de>
19204
19205 PR ipa/104303
19206 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Do not
19207 include local escaped memory as obviously necessary stores.
19208
19209 2022-04-12 Richard Biener <rguenther@suse.de>
19210
19211 PR tree-optimization/105235
19212 * tree-ssa-math-opts.cc (execute_cse_conv_1): Clean EH and
19213 return whether the CFG changed.
19214 (execute_cse_sincos_1): Adjust.
19215
19216 2022-04-12 Przemyslaw Wirkus <Przemyslaw.Wirkus@arm.com>
19217
19218 PR target/104144
19219 * config/arm/t-aprofile (MULTI_ARCH_OPTS_A): Remove Armv9-a options.
19220 (MULTI_ARCH_DIRS_A): Remove Armv9-a diretories.
19221 (MULTILIB_REQUIRED): Don't require Armv9-a libraries.
19222 (MULTILIB_MATCHES): Treat Armv9-a as equivalent to Armv8-a.
19223 (MULTILIB_REUSE): Remove remap rules for Armv9-a.
19224 * config/arm/t-multilib (v9_a_nosimd_variants): Delete.
19225 (MULTILIB_MATCHES): Remove mappings for v9_a_nosimd_variants.
19226
19227 2022-04-12 Richard Biener <rguenther@suse.de>
19228
19229 PR tree-optimization/105232
19230 * tree.cc (component_ref_size): Bail out for too large
19231 or non-constant sizes.
19232
19233 2022-04-12 Richard Biener <rguenther@suse.de>
19234
19235 PR tree-optimization/105226
19236 * tree-vect-loop-manip.cc (vect_loop_versioning): Verify
19237 we can split the exit of an outer loop we choose to version.
19238
19239 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19240
19241 * config/i386/i386-expand.cc (ix86_emit_i387_sinh, ix86_emit_i387_cosh,
19242 ix86_emit_i387_tanh, ix86_emit_i387_asinh, ix86_emit_i387_acosh,
19243 ix86_emit_i387_atanh, ix86_emit_i387_log1p, ix86_emit_i387_round,
19244 ix86_emit_swdivsf, ix86_emit_swsqrtsf,
19245 ix86_expand_atomic_fetch_op_loop, ix86_expand_cmpxchg_loop):
19246 Formatting fix.
19247 * config/i386/i386.cc (warn_once_call_ms2sysv_xlogues): Likewise.
19248
19249 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19250
19251 PR target/105214
19252 * config/i386/i386-expand.cc (ix86_emit_i387_log1p): Call
19253 do_pending_stack_adjust.
19254
19255 2022-04-12 Jakub Jelinek <jakub@redhat.com>
19256
19257 PR rtl-optimization/105211
19258 * builtins.cc (expand_builtin_int_roundingfn_2): If mathfn_built_in_1
19259 fails for TREE_TYPE (arg), retry it with
19260 TREE_VALUE (TYPE_ARG_TYPES (TREE_TYPE (fndecl))) and if even that
19261 fails, emit call normally.
19262
19263 2022-04-12 Andreas Krebbel <krebbel@linux.ibm.com>
19264
19265 * common/config/s390/s390-common.cc: Rename PF_ARCH14 to PF_Z16.
19266 * config.gcc: Add z16 as march/mtune switch.
19267 * config/s390/driver-native.cc (s390_host_detect_local_cpu):
19268 Recognize z16 with -march=native.
19269 * config/s390/s390-opts.h (enum processor_type): Rename
19270 PROCESSOR_ARCH14 to PROCESSOR_3931_Z16.
19271 * config/s390/s390.cc (PROCESSOR_ARCH14): Rename to ...
19272 (PROCESSOR_3931_Z16): ... throughout the file.
19273 (s390_processor processor_table): Add z16 as cpu string.
19274 * config/s390/s390.h (enum processor_flags): Rename PF_ARCH14 to
19275 PF_Z16.
19276 (TARGET_CPU_ARCH14): Rename to ...
19277 (TARGET_CPU_Z16): ... this.
19278 (TARGET_CPU_ARCH14_P): Rename to ...
19279 (TARGET_CPU_Z16_P): ... this.
19280 (TARGET_ARCH14): Rename to ...
19281 (TARGET_Z16): ... this.
19282 (TARGET_ARCH14_P): Rename to ...
19283 (TARGET_Z16_P): ... this.
19284 * config/s390/s390.md (cpu_facility): Rename arch14 to z16 and
19285 check TARGET_Z16 instead of TARGET_ARCH14.
19286 * config/s390/s390.opt: Add z16 to processor_type.
19287 * doc/invoke.texi: Document z16 and arch14.
19288
19289 2022-04-12 chenglulu <chenglulu@loongson.cn>
19290
19291 * config/loongarch/loongarch.cc: Fix bug for
19292 tmpdir-g++.dg-struct-layout-1/t033.
19293
19294 2022-04-11 Peter Bergner <bergner@linux.ibm.com>
19295
19296 PR target/104894
19297 * config/rs6000/rs6000.cc (rs6000_sibcall_aix): Handle pcrel sibcalls
19298 to longcall functions.
19299
19300 2022-04-11 Jason Merrill <jason@redhat.com>
19301
19302 * ipa-free-lang-data.cc (free_lang_data_in_decl): Fix typos.
19303
19304 2022-04-11 Segher Boessenkool <segher@kernel.crashing.org>
19305
19306 PR target/105213
19307 PR target/103623
19308 * config/rs6000/rs6000.md (unpack<mode>_nodm): Add m,r,i alternative.
19309
19310 2022-04-11 Jakub Jelinek <jakub@redhat.com>
19311
19312 PR tree-optimization/105218
19313 * tree-ssa-phiopt.cc (value_replacement): If middle_bb has
19314 more than one predecessor or phi's bb more than 2 predecessors,
19315 reset phi result uses instead of adding a debug temp.
19316
19317 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
19318
19319 PR target/104853
19320 * config.gcc: Pass -misa-spec to arch-canonicalize and
19321 multilib-generator.
19322 * config/riscv/arch-canonicalize: Adding -misa-spec option.
19323 (SUPPORTED_ISA_SPEC): New.
19324 (arch_canonicalize): New argument `isa_spec`.
19325 Handle multiple ISA spec versions.
19326 * config/riscv/multilib-generator: Adding -misa-spec option.
19327
19328 2022-04-11 Kito Cheng <kito.cheng@sifive.com>
19329
19330 * config/riscv/arch-canonicalize: Add TODO item.
19331 (IMPLIED_EXT): Sync.
19332 (arch_canonicalize): Checking until no change.
19333
19334 2022-04-11 Tamar Christina <tamar.christina@arm.com>
19335
19336 PR target/105197
19337 * tree-vect-stmts.cc (vectorizable_condition): Prevent cond swap when
19338 not masked.
19339
19340 2022-04-11 Jason Merrill <jason@redhat.com>
19341
19342 PR c++/100370
19343 * pointer-query.cc (compute_objsize_r) [POINTER_PLUS_EXPR]: Require
19344 deref == -1.
19345
19346 2022-04-11 Jakub Jelinek <jakub@redhat.com>
19347
19348 PR tree-optimization/104639
19349 * tree-ssa-phiopt.cc: Include tree-ssa-propagate.h.
19350 (value_replacement): Optimize (x != cst1 ? x : cst2) != cst3
19351 into x != cst3.
19352
19353 2022-04-11 Jeff Law <jeffreyalaw@gmail.com>
19354
19355 * config/bfin/bfin.md (rol_one): Fix pattern to indicate the
19356 sign bit of the source ends up in CC.
19357
19358 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
19359
19360 PR ipa/103376
19361 * cgraphunit.cc (cgraph_node::analyze): update semantic_interposition
19362 flag.
19363
19364 2022-04-09 Jan Hubicka <hubicka@ucw.cz>
19365
19366 * ipa-modref.cc (ipa_merge_modref_summary_after_inlining): Propagate
19367 nondeterministic and side_effects flags.
19368
19369 2022-04-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
19370
19371 PR target/105157
19372 * config.gcc: Shift ext_mask by TARGET_CPU_NBITS.
19373 * config/aarch64/aarch64.h (TARGET_CPU_NBITS): New macro.
19374 (TARGET_CPU_MASK): Likewise.
19375 (TARGET_CPU_DEFAULT): Use TARGET_CPU_NBITS.
19376 * config/aarch64/aarch64.cc (aarch64_get_tune_cpu): Use TARGET_CPU_MASK.
19377 (aarch64_get_arch): Likewise.
19378 (aarch64_override_options): Use TARGET_CPU_NBITS.
19379
19380 2022-04-08 Richard Biener <rguenther@suse.de>
19381
19382 PR tree-optimization/105198
19383 * tree-predcom.cc (find_looparound_phi): Check whether
19384 the found memory location of the entry value is clobbered
19385 inbetween the value we want to use and loop entry.
19386
19387 2022-04-08 Jakub Jelinek <jakub@redhat.com>
19388
19389 PR tree-optimization/105189
19390 * fold-const.cc (make_range_step): Fix up handling of
19391 (unsigned) x +[low, -] ranges for signed x if low fits into
19392 typeof (x).
19393
19394 2022-04-08 Richard Biener <rguenther@suse.de>
19395
19396 PR tree-optimization/105175
19397 * tree-vect-stmts.cc (vectorizable_operation): Suppress
19398 -Wvector-operation-performance if using emulated vectors.
19399 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
19400 -Wvector-operation-performance when suppressed.
19401 (expand_vector_parallel): Likewise.
19402 (expand_vector_comparison): Likewise.
19403 (expand_vector_condition): Likewise.
19404 (lower_vec_perm): Likewise.
19405 (expand_vector_conversion): Likewise.
19406
19407 2022-04-07 Tamar Christina <tamar.christina@arm.com>
19408
19409 PR target/104409
19410 * config/aarch64/aarch64-builtins.cc (handle_arm_acle_h): New.
19411 (aarch64_general_init_builtins): Move LS64 code.
19412 * config/aarch64/aarch64-c.cc (aarch64_pragma_aarch64): Support
19413 arm_acle.h
19414 * config/aarch64/aarch64-protos.h (handle_arm_acle_h): New.
19415 * config/aarch64/arm_acle.h: Add pragma GCC aarch64 "arm_acle.h".
19416
19417 2022-04-07 Richard Biener <rguenther@suse.de>
19418 Jan Hubicka <hubicka@ucw.cz>
19419
19420 PR ipa/104303
19421 * tree-ssa-alias.h (ptr_deref_may_alias_global_p,
19422 ref_may_alias_global_p, ref_may_alias_global_p,
19423 stmt_may_clobber_global_p, pt_solution_includes_global): Add
19424 bool parameters indicating whether escaped locals should be
19425 considered global.
19426 * tree-ssa-structalias.cc (pt_solution_includes_global):
19427 When the new escaped_nonlocal_p flag is true also consider
19428 pt->vars_contains_escaped.
19429 * tree-ssa-alias.cc (ptr_deref_may_alias_global_p):
19430 Pass down new escaped_nonlocal_p flag.
19431 (ref_may_alias_global_p): Likewise.
19432 (stmt_may_clobber_global_p): Likewise.
19433 (ref_may_alias_global_p_1): Likewise. For decls also
19434 query the escaped solution if true.
19435 (ref_may_access_global_memory_p): Remove.
19436 (modref_may_conflict): Use ref_may_alias_global_p with
19437 escaped locals considered global.
19438 (ref_maybe_used_by_stmt_p): Adjust.
19439 * ipa-fnsummary.cc (points_to_local_or_readonly_memory_p):
19440 Likewise.
19441 * tree-ssa-dse.cc (dse_classify_store): Likewise.
19442 * trans-mem.cc (thread_private_new_memory): Likewise, but
19443 consider escaped locals global.
19444 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Likewise.
19445
19446 2022-04-07 Richard Biener <rguenther@suse.de>
19447
19448 PR tree-optimization/105185
19449 * tree-ssa-sccvn.cc (visit_reference_op_call): Simplify
19450 modref query again.
19451
19452 2022-04-07 Tamar Christina <tamar.christina@arm.com>
19453
19454 PR target/104049
19455 * config/aarch64/aarch64-simd.md
19456 (aarch64_reduc_plus_internal<mode>): Fix RTL and rename to...
19457 (reduc_plus_scal_<mode>): ... This.
19458 (reduc_plus_scal_v4sf): Moved.
19459 (aarch64_reduc_plus_internalv2si): Fix RTL and rename to...
19460 (reduc_plus_scal_v2si): ... This.
19461
19462 2022-04-07 Jakub Jelinek <jakub@redhat.com>
19463
19464 PR tree-optimization/102586
19465 * langhooks.h (struct lang_hooks_for_types): Add classtype_as_base
19466 langhook.
19467 * langhooks-def.h (LANG_HOOKS_CLASSTYPE_AS_BASE): Define.
19468 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add it.
19469 * gimple-fold.cc (clear_padding_type): Use ftype instead of
19470 TREE_TYPE (field) some more. For artificial FIELD_DECLs without
19471 name try the lang_hooks.types.classtype_as_base langhook and
19472 if it returns non-NULL, use that instead of ftype for recursive call.
19473
19474 2022-04-07 Jakub Jelinek <jakub@redhat.com>
19475
19476 PR tree-optimization/105150
19477 * tree.cc (tree_builtin_call_types_compatible_p): New function.
19478 (get_call_combined_fn): Use it.
19479
19480 2022-04-07 Richard Biener <rguenther@suse.de>
19481
19482 PR middle-end/105165
19483 * tree-complex.cc (expand_complex_asm): Sorry for asm goto
19484 _Complex outputs.
19485
19486 2022-04-07 liuhongt <hongtao.liu@intel.com>
19487
19488 * config/i386/sse.md (<sse2_avx2>_andnot<mode>3_mask):
19489 Removed.
19490 (<sse>_andnot<mode>3<mask_name>): Disable V*HFmode patterns
19491 for mask_applied.
19492 (<code><mode>3<mask_name>): Ditto.
19493 (*<code><mode>3<mask_name>): Ditto.
19494 (VFB_128_256): Adjust condition of V8HF/V16HFmode according to
19495 real instruction.
19496 (VFB_512): Ditto.
19497 (VFB): Ditto.
19498
19499 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19500
19501 PR rtl-optimization/104985
19502 * combine.cc (struct undo): Add where.regno member.
19503 (do_SUBST_MODE): Rename to ...
19504 (subst_mode): ... this. Change first argument from rtx * into int,
19505 operate on regno_reg_rtx[regno] and save regno into where.regno.
19506 (SUBST_MODE): Remove.
19507 (try_combine): Use subst_mode instead of SUBST_MODE, change first
19508 argument from regno_reg_rtx[whatever] to whatever. For UNDO_MODE, use
19509 regno_reg_rtx[undo->where.regno] instead of *undo->where.r.
19510 (undo_to_marker): For UNDO_MODE, use regno_reg_rtx[undo->where.regno]
19511 instead of *undo->where.r.
19512 (simplify_set): Use subst_mode instead of SUBST_MODE, change first
19513 argument from regno_reg_rtx[whatever] to whatever.
19514
19515 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19516
19517 PR target/105069
19518 * config/sh/sh.opt (mdiv=): Add Save.
19519
19520 2022-04-06 Martin Liska <mliska@suse.cz>
19521
19522 PR driver/105096
19523 * common.opt: Document properly based on what it does.
19524 * gcc.cc (display_help): Unify with what we have in common.opt.
19525 * opts.cc (common_handle_option): Do not print undocumented
19526 options.
19527
19528 2022-04-06 Xi Ruoyao <xry111@mengyan1223.wang>
19529
19530 * config/mips/mips.cc (mips_fpr_return_fields): Ignore
19531 cxx17_empty_base_field_p fields and set an indicator.
19532 (mips_return_in_msb): Adjust for mips_fpr_return_fields change.
19533 (mips_function_value_1): Inform psABI change about C++17 empty
19534 bases.
19535
19536 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19537
19538 PR tree-optimization/105150
19539 * gimple.cc (gimple_builtin_call_types_compatible_p): Use
19540 builtin_decl_explicit here...
19541 (gimple_call_builtin_p, gimple_call_combined_fn): ... rather than
19542 here.
19543
19544 2022-04-06 Richard Biener <rguenther@suse.de>
19545
19546 PR tree-optimization/105173
19547 * tree-ssa-reassoc.cc (find_insert_point): Get extra
19548 insert_before output argument and compute it.
19549 (insert_stmt_before_use): Adjust.
19550 (rewrite_expr_tree): Likewise.
19551
19552 2022-04-06 Richard Biener <rguenther@suse.de>
19553
19554 PR ipa/105166
19555 * ipa-modref-tree.cc (modref_access_node::get_ao_ref ): Bail
19556 out for non-pointer arguments.
19557
19558 2022-04-06 Richard Biener <rguenther@suse.de>
19559
19560 PR tree-optimization/105163
19561 * tree-ssa-reassoc.cc (repropagate_negates): Avoid propagating
19562 negated abnormals.
19563
19564 2022-04-06 Jakub Jelinek <jakub@redhat.com>
19565
19566 PR tree-optimization/105150
19567 * gimple.cc (gimple_call_builtin_p, gimple_call_combined_fn):
19568 For BUILT_IN_NORMAL calls, call gimple_builtin_call_types_compatible_p
19569 preferrably on builtin_decl_explicit decl rather than fndecl.
19570 * tree-ssa-strlen.cc (valid_builtin_call): Don't call
19571 gimple_builtin_call_types_compatible_p here.
19572
19573 2022-04-06 Richard Sandiford <richard.sandiford@arm.com>
19574
19575 PR tree-optimization/103761
19576 * tree-vect-stmts.cc (check_load_store_for_partial_vectors): Replace
19577 the ncopies parameter with an slp_node parameter. Calculate the
19578 number of vectors based on it and vectype. Rename lambda to
19579 group_memory_nvectors.
19580 (vectorizable_store, vectorizable_load): Update calls accordingly.
19581
19582 2022-04-06 Martin Liska <mliska@suse.cz>
19583
19584 * doc/invoke.texi: Document it.
19585
19586 2022-04-06 Richard Biener <rguenther@suse.de>
19587
19588 PR tree-optimization/105148
19589 * tree-ssa-loop-ivopts.cc (idx_record_use): Walk raw operands
19590 2 and 3 of ARRAY_REFs.
19591
19592 2022-04-06 Roger Sayle <roger@nextmovesoftware.com>
19593
19594 * config/i386/sse.md (ANDNOT_MODE): New mode iterator for TF and V1TI.
19595 (*andnottf3): Replace with...
19596 (*andnot<mode>3): New define_insn using ANDNOT_MODE.
19597
19598 2022-04-06 Richard Biener <rguenther@suse.de>
19599
19600 PR tree-optimization/105142
19601 * gimple-fold.h (maybe_fold_and_comparisons): Add defaulted
19602 basic-block parameter.
19603 (maybe_fold_or_comparisons): Likewise.
19604 * gimple-fold.cc (follow_outer_ssa_edges): New.
19605 (maybe_fold_comparisons_from_match_pd): Use follow_outer_ssa_edges
19606 when an outer condition basic-block is specified.
19607 (and_comparisons_1, and_var_with_comparison,
19608 and_var_with_comparison_1, or_comparisons_1,
19609 or_var_with_comparison, or_var_with_comparison_1): Receive and pass
19610 down the outer condition basic-block.
19611 * tree-ssa-ifcombine.cc (ifcombine_ifandif): Pass down the
19612 basic-block of the outer condition.
19613
19614 2022-04-06 Kewen Lin <linkw@linux.ibm.com>
19615
19616 PR target/105002
19617 * config/rs6000/rs6000.cc (rs6000_maybe_emit_maxc_minc): Support more
19618 comparison codes UNLT/UNLE/UNGT/UNGE.
19619
19620 2022-04-05 David Malcolm <dmalcolm@redhat.com>
19621
19622 * doc/extend.texi (Common Function Attributes): Document that
19623 'access' does not imply 'nonnull'.
19624
19625 2022-04-05 Uroš Bizjak <ubizjak@gmail.com>
19626
19627 PR target/105139
19628 * config/i386/mmx.md (*movv2qi_internal):
19629 Change insn mode of alternative 5 to HF for TARGET_AVX512FP16.
19630
19631 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19632
19633 * config/aarch64/aarch64.md (aarch64_cpymemdi): Turn into a
19634 define_expand and turn operands 0 and 1 from REGs to MEMs.
19635 (*aarch64_cpymemdi): New pattern.
19636 (aarch64_setmemdi): Turn into a define_expand and turn operand 0
19637 from a REG to a MEM.
19638 (*aarch64_setmemdi): New pattern.
19639 * config/aarch64/aarch64.cc (aarch64_expand_cpymem_mops): Use
19640 copy_to_mode_reg on all three registers. Replace the original
19641 MEM addresses rather than creating wild reads and writes.
19642 (aarch64_expand_setmem_mops): Likewise for the size and for the
19643 destination memory and address.
19644
19645 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19646
19647 PR target/103147
19648 * config/aarch64/aarch64-protos.h (aarch64_simd_switcher): New class.
19649 * config/aarch64/aarch64-sve-builtins.h (sve_switcher): Inherit
19650 from aarch64_simd_switcher.
19651 * config/aarch64/aarch64-builtins.cc (aarch64_simd_tuple_modes):
19652 New variable.
19653 (aarch64_lookup_simd_builtin_type): Use it instead of TYPE_MODE.
19654 (register_tuple_type): Add more asserts. Expect the alignment
19655 of the structure to be subject to flag_pack_struct and
19656 maximum_field_alignment. Set aarch64_simd_tuple_modes.
19657 (aarch64_simd_switcher::aarch64_simd_switcher): New function.
19658 (aarch64_simd_switcher::~aarch64_simd_switcher): Likewise.
19659 (handle_arm_neon_h): Hold an aarch64_simd_switcher throughout.
19660 (aarch64_general_init_builtins): Hold an aarch64_simd_switcher
19661 while calling aarch64_init_simd_builtins.
19662 * config/aarch64/aarch64-sve-builtins.cc (sve_switcher::sve_switcher)
19663 (sve_switcher::~sve_switcher): Remove code now performed by
19664 aarch64_simd_switcher.
19665
19666 2022-04-05 Richard Sandiford <richard.sandiford@arm.com>
19667
19668 PR target/104897
19669 * config/aarch64/aarch64-sve-builtins.cc
19670 (function_resolver::infer_vector_or_tuple_type): Use error_n
19671 for "%d vectors" messages.
19672
19673 2022-04-05 Chung-Lin Tang <cltang@codesourcery.com>
19674
19675 * omp-low.cc (lower_omp_target): Use outer context looked-up 'var' as
19676 argument to lang_hooks.decls.omp_array_data, instead of 'ovar' from
19677 current clause.
19678
19679 2022-04-05 Richard Biener <rguenther@suse.de>
19680
19681 PR c/105151
19682 * passes.def (pass_walloca): Move early instance into
19683 pass_build_ssa_passes to make SSA form available.
19684
19685 2022-04-05 liuhongt <hongtao.liu@intel.com>
19686
19687 PR target/101908
19688 * config/i386/i386.cc (ix86_split_stlf_stall_load): New
19689 function
19690 (ix86_reorg): Call ix86_split_stlf_stall_load.
19691 * config/i386/i386.opt (-param=x86-stlf-window-ninsns=): New
19692 param.
19693
19694 2022-04-05 Alexandre Oliva <oliva@adacore.com>
19695
19696 * targhooks.cc (default_zero_call_used_regs): Attempt to group
19697 regs that the target refuses to use in their natural modes.
19698 (zcur_select_mode_rtx): New.
19699 * regs.h (struct target_regs): Add x_hard_regno_max_nregs.
19700 (hard_regno_max_nregs): Define.
19701 * reginfo.cc (init_reg_modes_target): Set hard_regno_max_nregs.
19702
19703 2022-04-04 Alex Coplan <alex.coplan@arm.com>
19704
19705 * doc/match-and-simplify.texi: Fix typos.
19706
19707 2022-04-04 Jakub Jelinek <jakub@redhat.com>
19708
19709 PR target/105144
19710 * config/aarch64/t-aarch64 (s-aarch64-tune-md): Do move-if-change
19711 only if configured with --enable-maintainer-mode, otherwise compare
19712 tmp-aarch64-tune.md with $(srcdir)/config/aarch64/aarch64-tune.md and
19713 if they differ, emit a message and fail.
19714
19715 2022-04-04 Jakub Jelinek <jakub@redhat.com>
19716
19717 PR target/105144
19718 * config/aarch64/t-aarch64 (s-mddeps): Depend on s-aarch64-tune-md.
19719 * config/aarch64/aarch64-tune.md: Regenerated.
19720
19721 2022-04-04 Richard Biener <rguenther@suse.de>
19722
19723 PR tree-optimization/105132
19724 * tree-vect-stmts.cc (vectorizable_operation): Check that
19725 the input vectors have the same number of elements.
19726
19727 2022-04-04 Richard Biener <rguenther@suse.de>
19728
19729 PR middle-end/105140
19730 * fold-const.cc (fold_convertible_p): Allow a TYPE_P arg.
19731
19732 2022-04-03 Jeff Law <jeffreyalaw@gmail.com>
19733
19734 PR target/104987
19735 * config/iq2000/iq2000.md (bbi): New attribute, default to no.
19736 (delay slot descripts): Use different delay slot description when
19737 the insn as the "bbi" attribute.
19738 (bbi, bbin patterns): Set the bbi attribute to yes.
19739
19740 2022-04-03 Jakub Jelinek <jakub@redhat.com>
19741
19742 PR target/105123
19743 * config/i386/i386-expand.cc (ix86_expand_vector_init_general): Avoid
19744 using word as target for expand_simple_binop when doing ASHIFT and
19745 IOR.
19746
19747 2022-04-02 Xi Ruoyao <xry111@mengyan1223.wang>
19748
19749 * config/mips/mips.cc (mips_function_arg): Check if DECL_SIZE is
19750 NULL before dereferencing it.
19751
19752 2022-04-01 Qing Zhao <qing.zhao@oracle.com>
19753
19754 * config/i386/i386.cc (zero_all_st_registers): Return the value of
19755 num_of_st.
19756 (ix86_zero_call_used_regs): Update zeroed_hardregs set according to
19757 the return value of zero_all_st_registers.
19758 * doc/tm.texi: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
19759 * function.cc (gen_call_used_regs_seq): Add an assertion.
19760 * target.def: Update the documentation of TARGET_ZERO_CALL_USED_REGS.
19761
19762 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
19763
19764 PR target/102024
19765 * config/mips/mips.cc (mips_function_arg): Ignore zero-width
19766 fields, and inform if it causes a psABI change.
19767
19768 2022-04-01 Xi Ruoyao <xry111@mengyan1223.wang>
19769
19770 PR target/102024
19771 * config/mips/mips.cc (mips_fpr_return_fields): Detect C++
19772 zero-width bit-fields and set up an indicator.
19773 (mips_return_in_msb): Adapt for mips_fpr_return_fields change.
19774 (mips_function_value_1): Diagnose when the presense of a C++
19775 zero-width bit-field changes function returning in GCC 12.
19776
19777 2022-04-01 Jakub Jelinek <jakub@redhat.com>
19778
19779 PR tree-optimization/104645
19780 * tree-ssa-phiopt.cc (value_replacement): If assign has
19781 CONVERT_EXPR_CODE_P rhs_code, treat it like a preparation
19782 statement with constant evaluation.
19783
19784 2022-04-01 YunQiang Su <yunqiang.su@cipunited.com>
19785
19786 * config/mips/mips.cc (mips_expand_prologue):
19787 IPL is 8bit for MCU ASE.
19788
19789 2022-03-31 Bill Schmidt <wschmidt@linux.ibm.com>
19790
19791 PR target/104004
19792 * config/rs6000/rs6000-builtins.def (MFFSL): Mark nosoft.
19793 (MTFSB0): Likewise.
19794 (MTFSB1): Likewise.
19795 (SET_FPSCR_RN): Likewise.
19796 (SET_FPSCR_DRN): Mark nosoft and no32bit.
19797
19798 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
19799
19800 * doc/options.texi (Option file format): Clarifications around
19801 option definition records' help texts.
19802
19803 2022-03-31 Thomas Schwinge <thomas@codesourcery.com>
19804
19805 * optc-gen.awk <END>: Fix "Multiple different help strings" error
19806 diagnostic.
19807
19808 2022-03-31 Andre Vieira <andre.simoesdiasvieira@arm.com>
19809
19810 * config/aarch64/aarch64.cc (aarch64_vector_costs): Define
19811 determine_suggested_unroll_factor and m_has_avg.
19812 (determine_suggested_unroll_factor): New function.
19813 (aarch64_vector_costs::add_stmt_cost): Check for a qualifying pattern
19814 to set m_nosve_pattern.
19815 (aarch64_vector_costs::finish_costs): Use
19816 determine_suggested_unroll_factor.
19817 * config/aarch64/aarch64.opt (aarch64-vect-unroll-limit): New.
19818 * doc/invoke.texi: (aarch64-vect-unroll-limit): Document new option.
19819
19820 2022-03-31 Martin Jambor <mjambor@suse.cz>
19821
19822 PR ipa/103083
19823 * ipa-prop.h (ipa_ancestor_jf_data): New flag keep_null;
19824 (ipa_get_jf_ancestor_keep_null): New function.
19825 * ipa-prop.cc (ipa_set_ancestor_jf): Initialize keep_null field of the
19826 ancestor function.
19827 (compute_complex_assign_jump_func): Pass false to keep_null
19828 parameter of ipa_set_ancestor_jf.
19829 (compute_complex_ancestor_jump_func): Pass true to keep_null
19830 parameter of ipa_set_ancestor_jf.
19831 (update_jump_functions_after_inlining): Carry over keep_null from the
19832 original ancestor jump-function or merge them.
19833 (ipa_write_jump_function): Stream keep_null flag.
19834 (ipa_read_jump_function): Likewise.
19835 (ipa_print_node_jump_functions_for_edge): Print the new flag.
19836 * ipa-cp.cc (class ipcp_bits_lattice): Make various getters const. New
19837 member function known_nonzero_p.
19838 (ipcp_bits_lattice::known_nonzero_p): New.
19839 (ipcp_bits_lattice::meet_with_1): New parameter drop_all_ones,
19840 observe it.
19841 (ipcp_bits_lattice::meet_with): Likewise.
19842 (propagate_bits_across_jump_function): Simplify. Pass true in
19843 drop_all_ones when it is necessary.
19844 (propagate_aggs_across_jump_function): Take care of keep_null
19845 flag.
19846 (ipa_get_jf_ancestor_result): Propagate NULL accross keep_null
19847 jump functions.
19848
19849 2022-03-31 Martin Jambor <mjambor@suse.cz>
19850
19851 PR ipa/102513
19852 * ipa-cp.cc (decide_whether_version_node): Skip scalar values
19853 which do not fit the known value_range.
19854
19855 2022-03-31 Martin Jambor <mjambor@suse.cz>
19856
19857 PR ipa/103171
19858 * ipa-prop.cc (propagate_controlled_uses): Add a LOAD reference
19859 always when an ADDR_EXPR constant is known to reach a load because
19860 of inlining, not just when removing an ADDR reference.
19861
19862 2022-03-31 Richard Biener <rguenther@suse.de>
19863
19864 PR tree-optimization/105109
19865 * tree-ssa.cc (execute_update_addresses_taken): Suppress
19866 diagnostics on the load of the other complex component.
19867
19868 2022-03-31 Tom de Vries <tdevries@suse.de>
19869
19870 * config/nvptx/nvptx.h (ASM_SPEC): Use "-m sm_35" for -misa=sm_30.
19871
19872 2022-03-31 Richard Biener <rguenther@suse.de>
19873
19874 PR rtl-optimization/105091
19875 * gimple-expr.cc (mark_addressable): Handle TARGET_MEM_REF
19876 bases.
19877
19878 2022-03-31 Richard Biener <rguenther@suse.de>
19879
19880 Revert:
19881 2021-09-13 Richard Earnshaw <rearnsha@arm.com>
19882
19883 PR target/102125
19884 * gimple-fold.c (gimple_fold_builtin_memory_op): Allow folding
19885 memcpy if the size is not more than MOVE_MAX * MOVE_RATIO.
19886
19887 2022-03-31 Sebastian Huber <sebastian.huber@embedded-brains.de>
19888
19889 * gcov-io.cc (gcov_read_string): Reword documentation comment.
19890
19891 2022-03-30 Bill Schmidt <wschmidt@linux.ibm.com>
19892
19893 * config/rs6000/rs6000-builtins.def (NEG_V16QI): Move to [altivec]
19894 stanza.
19895 (NEG_V4SF): Likewise.
19896 (NEG_V4SI): Likewise.
19897 (NEG_V8HI): Likewise.
19898 (NEG_V2DF): Move to [vsx] stanza.
19899 (NEG_V2DI): Likewise.
19900
19901 2022-03-30 Vladimir N. Makarov <vmakarov@redhat.com>
19902
19903 PR middle-end/105032
19904 * lra-assigns.cc (find_reload_regno_insns): Modify loop condition.
19905
19906 2022-03-30 Tom de Vries <tdevries@suse.de>
19907 Tobias Burnus <tobias@codesourcery.com>
19908
19909 * doc/invoke.texi (march): Document __PTX_SM__.
19910 (mptx): Document __PTX_ISA_VERSION_MAJOR__ and
19911 __PTX_ISA_VERSION_MINOR__.
19912
19913 2022-03-30 Jakub Jelinek <jakub@redhat.com>
19914
19915 PR sanitizer/105093
19916 * ubsan.cc (instrument_object_size): If t is equal to inner and
19917 is a decl other than global var, punt. When emitting call to
19918 UBSAN_OBJECT_SIZE ifn, make sure base is addressable.
19919
19920 2022-03-30 Jakub Jelinek <jakub@redhat.com>
19921
19922 PR tree-optimization/105094
19923 * gimple-ssa-store-merging.cc (mem_valid_for_store_merging): Punt if
19924 bitsize <= 0 rather than just == 0.
19925
19926 2022-03-30 Tom de Vries <tdevries@suse.de>
19927
19928 * doc/invoke.texi (misa, mptx): Update.
19929 (march, march-map): Add.
19930
19931 2022-03-30 Thomas Schwinge <thomas@codesourcery.com>
19932
19933 * opt-functions.awk (n_args): New function.
19934 (lang_enabled_by): Merge function into...
19935 * optc-gen.awk <END>: ... sole user here.
19936 Improve diagnostics.
19937
19938 2022-03-29 Marek Polacek <polacek@redhat.com>
19939 Jakub Jelinek <jakub@redhat.com>
19940
19941 PR middle-end/103597
19942 * gimplify.cc (collect_fallthrough_labels): Don't push UNUSED_LABEL_Ps
19943 into labels. Maybe set prev to the statement preceding UNUSED_LABEL_P.
19944 (gimplify_cond_expr): Set UNUSED_LABEL_P.
19945 * tree.h (UNUSED_LABEL_P): New.
19946
19947 2022-03-29 Michael Meissner <meissner@linux.ibm.com>
19948
19949 * config/rs6000/vsx.md (vsx_extract_<mode>): Allow destination to
19950 be any VSX register.
19951
19952 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
19953
19954 PR target/102024
19955 * config/aarch64/aarch64.cc (aapcs_vfp_sub_candidate): Handle
19956 zero-sized bit-fields. Detect cases where a warning may be needed.
19957 (aarch64_vfp_is_call_or_return_candidate): Emit a note if a
19958 zero-sized bit-field has caused parameter passing to change.
19959
19960 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
19961
19962 PR target/102024
19963 * config/arm/arm.cc (aapcs_vfp_sub_candidate): Handle zero-sized
19964 bit-fields. Detect cases where a warning may be needed.
19965 (aapcs_vfp_is_call_or_return_candidate): Emit a note if
19966 a zero-sized bit-field has caused parameter passing to change.
19967
19968 2022-03-29 Richard Earnshaw <rearnsha@arm.com>
19969
19970 PR target/96882
19971 * config/arm/arm.cc (arm_get_pcs_model): Disable selection of
19972 ARM_PCS_AAPCS_LOCAL.
19973
19974 2022-03-29 Tom de Vries <tdevries@suse.de>
19975
19976 PR target/104857
19977 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Emit
19978 __PTX_ISA_VERSION_MAJOR__ and __PTX_ISA_VERSION_MINOR__.
19979 * config/nvptx/nvptx.cc (ptx_version_to_number): New function.
19980 * config/nvptx/nvptx-protos.h (ptx_version_to_number): Declare.
19981
19982 2022-03-29 Tom de Vries <tdevries@suse.de>
19983
19984 * config/nvptx/nvptx.opt (m64): Update help text to reflect that it
19985 is ignored.
19986
19987 2022-03-29 Tom de Vries <tdevries@suse.de>
19988
19989 PR target/104714
19990 * config/nvptx/nvptx.opt (march-map=*): Add aliases.
19991
19992 2022-03-29 Jan Hubicka <hubicka@ucw.cz>
19993
19994 * config/i386/i386-builtins.cc (ix86_vectorize_builtin_gather): Test
19995 TARGET_USE_GATHER_2PARTS and TARGET_USE_GATHER_4PARTS.
19996 * config/i386/i386.h (TARGET_USE_GATHER_2PARTS): New macro.
19997 (TARGET_USE_GATHER_4PARTS): New macro.
19998 * config/i386/x86-tune.def (X86_TUNE_USE_GATHER_2PARTS): New tune
19999 (X86_TUNE_USE_GATHER_4PARTS): New tune
20000
20001 2022-03-29 Tom de Vries <tdevries@suse.de>
20002
20003 * config/nvptx/nvptx.opt (march): Add alias of misa.
20004
20005 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20006 Lulu Cheng <chenglulu@loongson.cn>
20007
20008 * doc/install.texi: Add LoongArch options section.
20009 * doc/invoke.texi: Add LoongArch options section.
20010 * doc/md.texi: Add LoongArch options section.
20011
20012 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20013 Lulu Cheng <chenglulu@loongson.cn>
20014
20015 * config/loongarch/loongarch-c.cc
20016
20017 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20018 Lulu Cheng <chenglulu@loongson.cn>
20019
20020 * config/loongarch/larchintrin.h: New file.
20021 * config/loongarch/loongarch-builtins.cc: New file.
20022
20023 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20024 Lulu Cheng <chenglulu@loongson.cn>
20025
20026 * config/host-linux.cc: Add LoongArch support.
20027 * config/loongarch/loongarch-protos.h: New file.
20028 * config/loongarch/loongarch-tune.h: Likewise.
20029 * config/loongarch/loongarch.cc: Likewise.
20030 * config/loongarch/loongarch.h: Likewise.
20031
20032 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20033 Lulu Cheng <chenglulu@loongson.cn>
20034
20035 * config/loongarch/constraints.md: New file.
20036 * config/loongarch/generic.md: New file.
20037 * config/loongarch/la464.md: New file.
20038 * config/loongarch/loongarch-ftypes.def: New file.
20039 * config/loongarch/loongarch-modes.def: New file.
20040 * config/loongarch/loongarch.md: New file.
20041 * config/loongarch/predicates.md: New file.
20042 * config/loongarch/sync.md: New file.
20043
20044 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20045 Lulu Cheng <chenglulu@loongson.cn>
20046
20047 * configure: Regenerate file.
20048
20049 2022-03-29 Chenghua Xu <xuchenghua@loongson.cn>
20050 Lulu Cheng <chenglulu@loongson.cn>
20051
20052 * common/config/loongarch/loongarch-common.cc: New file.
20053 * config/loongarch/genopts/genstr.sh: New file.
20054 * config/loongarch/genopts/loongarch-strings: New file.
20055 * config/loongarch/genopts/loongarch.opt.in: New file.
20056 * config/loongarch/loongarch-str.h: New file.
20057 * config/loongarch/gnu-user.h: New file.
20058 * config/loongarch/linux.h: New file.
20059 * config/loongarch/loongarch-cpu.cc: New file.
20060 * config/loongarch/loongarch-cpu.h: New file.
20061 * config/loongarch/loongarch-def.c: New file.
20062 * config/loongarch/loongarch-def.h: New file.
20063 * config/loongarch/loongarch-driver.cc: New file.
20064 * config/loongarch/loongarch-driver.h: New file.
20065 * config/loongarch/loongarch-opts.cc: New file.
20066 * config/loongarch/loongarch-opts.h: New file.
20067 * config/loongarch/loongarch.opt: New file.
20068 * config/loongarch/t-linux: New file.
20069 * config/loongarch/t-loongarch: New file.
20070 * config.gcc: Add LoongArch support.
20071 * configure.ac: Add LoongArch support.
20072
20073 2022-03-29 Thomas Schwinge <thomas@codesourcery.com>
20074
20075 * opt-functions.awk (lang_enabled_by): Fix 'enabledby_negargs'
20076 typo.
20077
20078 2022-03-29 Richard Biener <rguenther@suse.de>
20079
20080 PR tree-optimization/105080
20081 * tree-ssa-strlen.cc (printf_strlen_execute): Always init
20082 loops and SCEV.
20083
20084 2022-03-28 Indu Bhagat <indu.bhagat@oracle.com>
20085
20086 * ctfout.cc (ctf_preprocess): Use ctfc_get_num_ctf_vars instead.
20087 (output_ctf_vars): Likewise.
20088
20089 2022-03-28 Jason Merrill <jason@redhat.com>
20090
20091 PR c++/59426
20092 * doc/extend.texi: Refer to __is_trivial instead of __is_pod.
20093
20094 2022-03-28 H.J. Lu <hjl.tools@gmail.com>
20095
20096 PR target/105068
20097 * config/i386/sse.md (*ssse3_pshufbv8qi3): Also replace "Yv" with
20098 "Yw" in clobber.
20099
20100 2022-03-28 Tom de Vries <tdevries@suse.de>
20101
20102 PR target/104818
20103 * config/nvptx/gen-opt.sh (ptx_isa): Improve help text.
20104 * config/nvptx/nvptx-gen.opt: Regenerate.
20105 * config/nvptx/nvptx.opt (misa, mptx, ptx_version): Improve help text.
20106 * config/nvptx/t-nvptx (s-nvptx-gen-opt): Add missing dependency on
20107 gen-opt.sh.
20108
20109 2022-03-28 David Malcolm <dmalcolm@redhat.com>
20110
20111 PR analyzer/104308
20112 * gimple-fold.cc (gimple_fold_builtin_memory_op): When optimizing
20113 to loads then stores, set the location of the new load stmt.
20114
20115 2022-03-28 Richard Biener <rguenther@suse.de>
20116
20117 PR tree-optimization/105070
20118 * tree-switch-conversion.h
20119 (bit_test_cluster::hoist_edge_and_branch_if_true): Add location
20120 argument.
20121 * tree-switch-conversion.cc
20122 (bit_test_cluster::hoist_edge_and_branch_if_true): Annotate
20123 cond with location.
20124 (bit_test_cluster::emit): Annotate all generated expressions
20125 with location.
20126
20127 2022-03-28 Andre Vieira <andre.simoesdiasvieira@arm.com>
20128
20129 * config/aarch64/aarch64-cores.def: Update Neoverse N2 core entry.
20130
20131 2022-03-28 liuhongt <hongtao.liu@intel.com>
20132
20133 PR target/105066
20134 * config/i386/sse.md (vec_set<mode>_0): Change attr "isa" of
20135 alternative 4 from sse4_noavx to noavx.
20136
20137 2022-03-28 Jakub Jelinek <jakub@redhat.com>
20138
20139 PR tree-optimization/105056
20140 * tree-predcom.cc (component::component): Initialize also comp_step.
20141
20142 2022-03-27 H.J. Lu <hjl.tools@gmail.com>
20143
20144 PR target/105068
20145 * config/i386/sse.md (*ssse3_pshufbv8qi3): Replace "Yv" with
20146 "Yw".
20147
20148 2022-03-26 Roger Sayle <roger@nextmovesoftware.com>
20149
20150 PR middle-end/104885
20151 * calls.cc (mark_stack_region_used): Check that the region
20152 is within the allocated size of stack_usage_map.
20153
20154 2022-03-26 Jakub Jelinek <jakub@redhat.com>
20155
20156 PR rtl-optimization/103775
20157 * recog.cc (check_invalid_inc_dec): New function.
20158 (insn_invalid_p): Return 1 if REG_INC operand overlaps
20159 any stored REGs.
20160
20161 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
20162
20163 PR target/105058
20164 * config/i386/sse.md (loadiwkey): Replace "v" with "x".
20165 (aes<aesklvariant>u8): Likewise.
20166
20167 2022-03-26 H.J. Lu <hjl.tools@gmail.com>
20168
20169 PR target/105052
20170 * config/i386/sse.md (ssse3_ph<plusminus_mnemonic>wv4hi3):
20171 Replace "Yv" with "x".
20172 (ssse3_ph<plusminus_mnemonic>dv2si3): Likewise.
20173 (ssse3_psign<mode>3): Likewise.
20174
20175 2022-03-26 Hans-Peter Nilsson <hp@axis.com>
20176
20177 * reload.cc (find_reloads): Align comment with code where
20178 considering the intersection of register classes then tweaking the
20179 regclass for the current alternative or rejecting it.
20180
20181 2022-03-25 Christophe Lyon <christohe.lyon@arm.com>
20182
20183 PR target/104882
20184 Revert
20185 2021-06-11 Christophe Lyon <christophe.lyon@linaro.org>
20186
20187 * config/arm/mve.md (mve_vec_unpack<US>_lo_<mode>): Delete.
20188 (mve_vec_unpack<US>_hi_<mode>): Delete.
20189 (@mve_vec_pack_trunc_lo_<mode>): Delete.
20190 (mve_vmovntq_<supf><mode>): Remove '@' prefix.
20191 * config/arm/neon.md (vec_unpack<US>_hi_<mode>): Move back
20192 from vec-common.md.
20193 (vec_unpack<US>_lo_<mode>): Likewise.
20194 (vec_pack_trunc_<mode>): Rename from
20195 neon_quad_vec_pack_trunc_<mode>.
20196 * config/arm/vec-common.md (vec_unpack<US>_hi_<mode>): Delete.
20197 (vec_unpack<US>_lo_<mode>): Delete.
20198 (vec_pack_trunc_<mode>): Delete.
20199
20200 2022-03-25 Vladimir N. Makarov <vmakarov@redhat.com>
20201
20202 PR middle-end/104971
20203 * lra-lives.cc (process_bb_lives): Check hard_regs_live for hard
20204 regs to clear remove_p flag.
20205
20206 2022-03-25 Richard Biener <rguenther@suse.de>
20207
20208 PR tree-optimization/105053
20209 * tree-vect-loop.cc (vect_create_epilog_for_reduction): Pick
20210 the correct live-out stmt for a reduction chain.
20211
20212 2022-03-25 Richard Biener <rguenther@suse.de>
20213
20214 PR middle-end/105049
20215 * tree.cc (uniform_vector_p): Recurse for VECTOR_CST or
20216 CONSTRUCTOR first elements.
20217
20218 2022-03-25 Tobias Burnus <tobias@codesourcery.com>
20219
20220 PR analyzer/103533
20221 * doc/invoke.texi (Static Analyzer Options): Move
20222 @ignore block after @gccoptlist's '}' for 'make pdf'.
20223
20224 2022-03-25 David Malcolm <dmalcolm@redhat.com>
20225
20226 PR analyzer/104954
20227 * doc/invoke.texi (Static Analyzer Options): Add
20228 -fdump-analyzer-untracked.
20229
20230 2022-03-25 Avinash Sonawane <rootkea@gmail.com>
20231
20232 PR analyzer/103533
20233 * doc/invoke.texi: Document that enabling taint analyzer
20234 checker disables some warnings from `-fanalyzer`.
20235
20236 2022-03-24 Alexandre Oliva <oliva@adacore.com>
20237
20238 PR debug/104564
20239 * gimple-harden-conditionals.cc (detach_value): Keep temps
20240 anonymous.
20241
20242 2022-03-24 Alexandre Oliva <oliva@adacore.com>
20243
20244 PR middle-end/104975
20245 * gimple-harden-conditionals.cc
20246 (pass_harden_compares::execute): Force split in case of
20247 multiple edges.
20248
20249 2022-03-24 Jakub Jelinek <jakub@redhat.com>
20250
20251 PR c++/105035
20252 * fold-const.cc (operand_equal_p) <case COMPONENT_REF>: If either
20253 field0 or field1 is not a FIELD_DECL, return false.
20254
20255 2022-03-24 Richard Biener <rguenther@suse.de>
20256
20257 * tree-predcom.cc (chain::chain): Add CTOR.
20258 (component::component): Likewise.
20259 (pcom_worker::release_chain): Use delete.
20260 (release_components): Likewise.
20261 (pcom_worker::filter_suitable_components): Likewise.
20262 (pcom_worker::split_data_refs_to_components): Use new.
20263 (make_invariant_chain): Likewise.
20264 (make_rooted_chain): Likewise.
20265 (pcom_worker::combine_chains): Likewise.
20266 * tree-vect-loop.cc (vect_create_epilog_for_reduction):
20267 Make sure to release previously constructed scalar_results.
20268 * tree-vect-stmts.cc (vectorizable_load): Use auto_vec
20269 for vec_offsets.
20270 * vr-values.cc (simplify_using_ranges::~simplify_using_ranges):
20271 Release m_flag_set_edges.
20272
20273 2022-03-24 Siddhesh Poyarekar <siddhesh@gotplt.org>
20274
20275 PR tree-optimization/104970
20276 * tree-object-size.cc (parm_object_size): Restrict size
20277 computation scenarios to explicit access attributes.
20278
20279 2022-03-24 Kewen Lin <linkw@linux.ibm.com>
20280
20281 PR target/104967
20282 * config/rs6000/rs6000-c.cc (find_instance): Skip instances with null
20283 function types.
20284
20285 2022-03-23 Richard Biener <rguenther@suse.de>
20286
20287 PR target/102125
20288 * gimple-fold.cc (gimple_fold_builtin_memory_op): Allow the
20289 use of movmisalign when either the source or destination
20290 decl is properly aligned.
20291
20292 2022-03-23 Richard Biener <rguenther@suse.de>
20293
20294 PR rtl-optimization/105028
20295 * ira-color.cc (form_threads_from_copies): Remove unnecessary
20296 copying of the sorted_copies tail.
20297
20298 2022-03-23 Martin Liska <mliska@suse.cz>
20299
20300 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
20301 Use %qs in format.
20302 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
20303 Reword the error message.
20304
20305 2022-03-23 liuhongt <hongtao.liu@intel.com>
20306
20307 PR target/104976
20308 * config/i386/sse.md (ssePSmodelower): New.
20309 (*avx_cmp<mode>3_ltint_not): Force_reg operand before
20310 lowpart_subreg to avoid NULL_RTX.
20311 (<avx512>_fmaddc_<mode>_mask1<round_expand_name>,
20312 <avx512>_fcmaddc_<mode>_mask1<round_expand_name>,
20313 fma_<mode>_fmaddc_bcst, fma_<mode>_fcmaddc_bcst,
20314 <avx512>_<complexopname>_<mode>_mask<round_name>,
20315 avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name>,
20316 avx512fp16_fcmaddcsh_v8hf_mask3<round_expand_name>,
20317 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
20318 avx512fp16_fmaddcsh_v8hf_mask3<round_expand_name>,
20319 float<floatunssuffix><mode>v4hf2,
20320 float<floatunssuffix>v2div2hf2,
20321 fix<fixunssuffix>_truncv4hf<mode>2,
20322 fix<fixunssuffix>_truncv2hfv2di2, extendv4hf<mode>2,
20323 extendv2hfv2df2,
20324 trunc<mode>v4hf2,truncv2dfv2hf2,
20325 *avx512bw_permvar_truncv16siv16hi_1,
20326 *avx512bw_permvar_truncv16siv16hi_1_hf,
20327 *avx512f_permvar_truncv8siv8hi_1,
20328 *avx512f_permvar_truncv8siv8hi_1_hf,
20329 *avx512f_vpermvar_truncv8div8si_1,
20330 *avx512f_permvar_truncv32hiv32qi_1,
20331 *avx512f_permvar_truncv16hiv16qi_1,
20332 *avx512f_permvar_truncv4div4si_1,
20333 *avx512f_pshufb_truncv8hiv8qi_1,
20334 *avx512f_pshufb_truncv4siv4hi_1,
20335 *avx512f_pshufd_truncv2div2si_1,
20336 sdot_prod<mode>, avx2_pblend<ssemodesuffix>_1,
20337 ashrv2di3,ashrv2di3,usdot_prod<mode>): Ditto.
20338
20339 2022-03-22 Tom de Vries <tdevries@suse.de>
20340
20341 PR target/104925
20342 * config/nvptx/nvptx.md (define_insn "nvptx_uniform_warp_check"):
20343 Use % as register prefix.
20344
20345 2022-03-22 Tom de Vries <tdevries@suse.de>
20346
20347 * config/nvptx/nvptx.cc (nvptx_scalar_mode_supported_p)
20348 (nvptx_libgcc_floating_mode_supported_p): Only enable HFmode for
20349 mexperimental.
20350
20351 2022-03-22 Tom de Vries <tdevries@suse.de>
20352
20353 * config/nvptx/nvptx.opt (mexperimental): New option.
20354
20355 2022-03-22 Tom de Vries <tdevries@suse.de>
20356
20357 PR target/104957
20358 * config/nvptx/nvptx-protos.h (nvptx_asm_output_def_from_decls): Declare.
20359 * config/nvptx/nvptx.cc (write_fn_proto_1): Don't add function marker
20360 for alias.
20361 (SET_ASM_OP, NVPTX_ASM_OUTPUT_DEF): New macro def.
20362 (nvptx_asm_output_def_from_decls): New function.
20363 * config/nvptx/nvptx.h (ASM_OUTPUT_DEF): New macro def, define to
20364 gcc_unreachable ().
20365 (ASM_OUTPUT_DEF_FROM_DECLS): New macro def, define to
20366 nvptx_asm_output_def_from_decls.
20367 * config/nvptx/nvptx.opt (malias): New opt.
20368
20369 2022-03-22 Tom de Vries <tdevries@suse.de>
20370
20371 PR target/104916
20372 PR target/104783
20373 * config/nvptx/nvptx.md (define_expand "omp_simt_exit"): Emit warp
20374 sync (or uniform warp check for mptx < 6.0).
20375
20376 2022-03-22 Richard Biener <rguenther@suse.de>
20377
20378 PR tree-optimization/105012
20379 * tree-if-conv.cc (ifcvt_local_dce): Only call
20380 dse_classify_store when we have a VDEF.
20381
20382 2022-03-22 Martin Liska <mliska@suse.cz>
20383
20384 PR target/104902
20385 * config/nvptx/nvptx.cc (handle_ptx_version_option):
20386 Fix option wrapping in an error message.
20387
20388 2022-03-22 Martin Liska <mliska@suse.cz>
20389
20390 PR target/104903
20391 * config/rs6000/rs6000-c.cc (altivec_resolve_overloaded_builtin):
20392 Wrap const keyword.
20393
20394 2022-03-22 Martin Liska <mliska@suse.cz>
20395
20396 * config/v850/v850-c.cc (pop_data_area): Fix typo in pragma
20397 name.
20398
20399 2022-03-22 Martin Liska <mliska@suse.cz>
20400
20401 PR target/104898
20402 * config/rs6000/rs6000.cc (rs6000_option_override_internal):
20403 Use %qs instead of (%qs).
20404
20405 2022-03-22 Martin Liska <mliska@suse.cz>
20406
20407 PR target/104898
20408 * config/i386/i386-options.cc (ix86_option_override_internal):
20409 Use '%qs' instead of '(%qs)'.
20410
20411 2022-03-22 Martin Liska <mliska@suse.cz>
20412
20413 PR target/104898
20414 * config/aarch64/aarch64.cc (aarch64_handle_attr_arch):
20415 Use 'qs' and remove usage '(%qs)'.
20416 (aarch64_handle_attr_cpu): Likewise.
20417 (aarch64_handle_attr_tune): Likewise.
20418 (aarch64_handle_attr_isa_flags): Likewise.
20419
20420 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20421 Andre Vieira <andre.simoesdiasvieira@arm.com>
20422
20423 * config/aarch64/aarch64.cc (neoversev1_regmove_cost): New tuning
20424 struct.
20425 (neoversev1_tunings): Use neoversev1_regmove_cost and update store_int
20426 cost.
20427 (neoverse512tvb_tunings): Likewise.
20428
20429 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20430 Andre Vieira <andre.simoesdiasvieira@arm.com>
20431
20432 * config/aarch64/aarch64.cc (demeter_addrcost_table,
20433 demeter_regmove_cost, demeter_advsimd_vector_cost,
20434 demeter_sve_vector_cost, demeter_scalar_issue_info,
20435 demeter_advsimd_issue_info, demeter_sve_issue_info,
20436 demeter_vec_issue_info, demeter_vector_cost,
20437 demeter_tunings): New tuning structs.
20438 (aarch64_ve_op_count::rename_cycles_per_iter): Enable for demeter
20439 tuning.
20440 * config/aarch64/aarch64-cores.def: Add entry for demeter.
20441 * config/aarch64/aarch64-tune.md (tune): Add demeter to list.
20442
20443 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20444 Andre Vieira <andre.simoesdiasvieira@arm.com>
20445
20446 * config/aarch64/aarch64-protos.h (struct cpu_memmov_cost): New struct.
20447 (struct tune_params): Change type of memmov_cost to use cpu_memmov_cost.
20448 * config/aarch64/aarch64.cc (aarch64_memory_move_cost): Update all
20449 tunings to use cpu_memmov_cost struct.
20450
20451 2022-03-22 Tamar Christina <tamar.christina@arm.com>
20452 Andre Vieira <andre.simoesdiasvieira@arm.com>
20453
20454 * config/aarch64/aarch64.cc (neoversen2_addrcost_table,
20455 neoversen2_regmove_cost, neoversen2_advsimd_vector_cost,
20456 neoversen2_sve_vector_cost, neoversen2_scalar_issue_info,
20457 neoversen2_advsimd_issue_info, neoversen2_sve_issue_info,
20458 neoversen2_vec_issue_info, neoversen2_tunings): New structs.
20459 (neoversen2_tunings): Use new structs and update tuning flags.
20460 (aarch64_vec_op_count::rename_cycles_per_iter): Enable for neoversen2
20461 tuning.
20462
20463 2022-03-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
20464
20465 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH9): Add FP16 feature
20466 bit.
20467
20468 2022-03-22 liuhongt <hongtao.liu@intel.com>
20469
20470 PR target/104982
20471 * config/i386/i386.md (*jcc_bt<mode>_mask): Extend the
20472 following splitter to reversed condition.
20473
20474 2022-03-22 Jakub Jelinek <jakub@redhat.com>
20475
20476 PR rtl-optimization/104989
20477 * calls.cc (expand_call): Don't set ECF_NORETURN in flags after
20478 sorry for passing too large argument, instead set sibcall_failure
20479 for pass == 0, or a new normal_failure flag otherwise. If
20480 normal_failure is set, don't assert all stack has been deallocated
20481 at the end and throw away the whole insn sequence.
20482
20483 2022-03-22 Qian Jianhua <qianjh@cn.fujitsu.com>
20484
20485 * print-tree.cc: Change array length
20486
20487 2022-03-22 Hongyu Wang <hongyu.wang@intel.com>
20488
20489 PR target/104978
20490 * config/i386/sse.md
20491 (avx512fp16_fmaddcsh_v8hf_mask1<round_expand_name):
20492 Use avx512f_movsf_mask instead of vmovaps or vblend, and
20493 force_reg before lowpart_subreg.
20494 (avx512fp16_fcmaddcsh_v8hf_mask1<round_expand_name): Likewise.
20495
20496 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
20497
20498 PR target/105000
20499 * common/config/i386/i386-common.cc
20500 (OPTION_MASK_ISA2_GENERAL_REGS_ONLY_UNSET): Replace
20501 OPTION_MASK_ISA2_AVX512F_UNSET with OPTION_MASK_ISA2_SSE_UNSET.
20502
20503 2022-03-21 H.J. Lu <hjl.tools@gmail.com>
20504
20505 PR target/104998
20506 * common/config/i386/cpuinfo.h (get_available_features): Pass
20507 0x19 to __cpuid for bit_AESKLE. Enable FEATURE_AESKLE only if
20508 bit_AESKLE is set.
20509
20510 2022-03-21 Richard Sandiford <richard.sandiford@arm.com>
20511
20512 PR middle-end/104869
20513 * rtl-ssa/accesses.h (clobber_group::prev_clobber): Declare.
20514 (clobber_group::next_clobber): Likewise.
20515 (def_lookup::prev_def): Rename to...
20516 (def_lookup::last_def_of_prev_group): ...this.
20517 (def_lookup::next_def): Rename to...
20518 (def_lookup::first_def_of_next_group): ...this.
20519 (def_lookup::matching_or_prev_def): Rename to...
20520 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
20521 (def_lookup::matching_or_next_def): Rename to...
20522 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
20523 (def_lookup::prev_def): New function, taking the lookup insn as
20524 argument.
20525 (def_lookup::next_def): Likewise.
20526 * rtl-ssa/member-fns.inl (def_lookup::prev_def): Rename to...
20527 (def_lookup::last_def_of_prev_group): ...this.
20528 (def_lookup::next_def): Rename to...
20529 (def_lookup::first_def_of_next_group): ...this.
20530 (def_lookup::matching_or_prev_def): Rename to...
20531 (def_lookup::matching_set_or_last_def_of_prev_group): ...this.
20532 (def_lookup::matching_or_next_def): Rename to...
20533 (def_lookup::matching_set_or_first_def_of_next_group): ...this.
20534 * rtl-ssa/movement.h (restrict_movement_for_dead_range): Update after
20535 above renaming.
20536 * rtl-ssa/accesses.cc (clobber_group::prev_clobber): New function.
20537 (clobber_group::next_clobber): Likewise.
20538 (def_lookup::prev_def): Likewise.
20539 (def_lookup::next_def): Likewise.
20540 (function_info::make_use_available): Pass the lookup insn to
20541 def_lookup::prev_def and def_lookup::next_def.
20542
20543 2022-03-21 Martin Liska <mliska@suse.cz>
20544
20545 * doc/invoke.texi: Document min-pagesize parameter.
20546
20547 2022-03-21 Richard Biener <rguenther@suse.de>
20548
20549 * tree-ssa-loop-niter.cc (estimate_numbers_of_iterations): Dump
20550 we are estimating niter of loop.
20551
20552 2022-03-21 Kito Cheng <kito.cheng@sifive.com>
20553
20554 * common/config/riscv/riscv-common.cc (riscv_ext_flag_table):
20555 Update flag name and mask name.
20556 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Define
20557 misc macro for vector extensions.
20558 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): Rename to ...
20559 (MASK_VECTOR_ELEN_32): ... this.
20560 (MASK_VECTOR_EEW_64): Rename to ...
20561 (MASK_VECTOR_ELEN_64): ... this.
20562 (MASK_VECTOR_EEW_FP_32): Rename to ...
20563 (MASK_VECTOR_ELEN_FP_32): ... this.
20564 (MASK_VECTOR_EEW_FP_64): Rename to ...
20565 (MASK_VECTOR_ELEN_FP_64): ... this.
20566 (TARGET_VECTOR_ELEN_32): New.
20567 (TARGET_VECTOR_ELEN_64): Ditto.
20568 (TARGET_VECTOR_ELEN_FP_32): Ditto.
20569 (TARGET_VECTOR_ELEN_FP_64): Ditto.
20570 (TARGET_MIN_VLEN): Ditto.
20571 * config/riscv/riscv.opt (riscv_vector_eew_flags): Rename to ...
20572 (riscv_vector_elen_flags): ... this.
20573
20574 2022-03-21 Hongyu Wang <hongyu.wang@intel.com>
20575
20576 PR target/104977
20577 * config/i386/sse.md
20578 (avx512fp16_fma<complexopname>sh_v8hf<mask_scalarcz_name><round_scalarcz_name>):
20579 Correct round operand for intel dialect.
20580
20581 2022-03-19 Arthur Cohen <arthur.cohen@embecosm.com>
20582
20583 * diagnostic.cc (diagnostic_cc_tests): Rename to...
20584 (c_diagnostic_cc_tests): ...this.
20585 * opt-problem.cc (opt_problem_cc_tests): Rename to...
20586 (c_opt_problem_cc_tests): ...this.
20587 * selftest-run-tests.cc (selftest::run_tests): No longer run
20588 opt_problem_cc_tests or diagnostic_cc_tests.
20589 * selftest.h (diagnostic_cc_tests): Remove declaration.
20590 (opt_problem_cc_tests): Likewise.
20591
20592 2022-03-19 Marc Nieper-Wißkirchen <marc@nieper-wisskirchen.de>
20593
20594 PR jit/63854
20595 * hash-traits.h (struct typed_const_free_remove): New.
20596 (struct free_string_hash): New.
20597 * pass_manager.h: Use free_string_hash.
20598 * passes.cc (pass_manager::register_pass_name): Use free_string_hash.
20599 (pass_manager::~pass_manager): Delete allocated m_name_to_pass_map.
20600
20601 2022-03-19 Jakub Jelinek <jakub@redhat.com>
20602
20603 PR middle-end/104971
20604 * config/i386/i386-expand.cc
20605 (ix86_expand_builtin) <case IX86_BUILTIN_READ_FLAGS>: If ignore,
20606 don't push/pop anything and just return const0_rtx.
20607
20608 2022-03-18 Vladimir N. Makarov <vmakarov@redhat.com>
20609
20610 PR rtl-optimization/104961
20611 * lra-assigns.cc (find_reload_regno_insns): Process reload pseudo clobber.
20612
20613 2022-03-18 Jason Merrill <jason@redhat.com>
20614
20615 * tree.h (IDENTIFIER_LENGTH): Add comment.
20616
20617 2022-03-18 Jakub Jelinek <jakub@redhat.com>
20618
20619 PR middle-end/99578
20620 PR middle-end/100680
20621 PR tree-optimization/100834
20622 * params.opt (--param=min-pagesize=): New parameter.
20623 * pointer-query.cc
20624 (compute_objsize_r) <case ARRAY_REF>: Formatting fix.
20625 (compute_objsize_r) <case INTEGER_CST>: Use maximum object size instead
20626 of zero for pointer constants equal or larger than min-pagesize.
20627
20628 2022-03-18 Tom de Vries <tdevries@suse.de>
20629
20630 * gimplify.cc (gimplify_omp_for): Set location using 'input_location'.
20631 Set gfor location only when dealing with a OMP_TASKLOOP.
20632
20633 2022-03-18 Tom de Vries <tdevries@suse.de>
20634
20635 * gimplify.cc (gimplify_omp_for): Set taskloop location.
20636
20637 2022-03-18 Tom de Vries <tdevries@suse.de>
20638
20639 PR target/104952
20640 * omp-low.cc (lower_rec_input_clauses): Make sure GOMP_SIMT_XCHG_BFLY
20641 is executed unconditionally.
20642
20643 2022-03-18 liuhongt <hongtao.liu@intel.com>
20644
20645 PR target/104974
20646 * config/i386/i386.md (*movhi_internal): Set attr type from HI
20647 to HF for alternative 12 under TARGET_AVX512FP16.
20648
20649 2022-03-18 Cui,Lili <lili.cui@intel.com>
20650
20651 PR target/104963
20652 * config/i386/i386.h (PTA_SAPPHIRERAPIDS): change it to base on ICX.
20653 * doc/invoke.texi: Update documents for Intel sapphirerapids.
20654
20655 2022-03-17 Roger Sayle <roger@nextmovesoftware.com>
20656
20657 PR target/86722
20658 PR tree-optimization/90356
20659 * config/i386/i386.md (*movtf_internal): Don't guard
20660 standard_sse_constant_p clause by optimize_function_for_size_p.
20661 (*movdf_internal): Likewise.
20662 (*movsf_internal): Likewise.
20663
20664 2022-03-17 Andrew MacLeod <amacleod@redhat.com>
20665
20666 PR tree-optimization/102943
20667 * gimple-range-cache.cc (ranger_cache::range_from_dom): Find range via
20668 dominators and apply intermediary outgoing edge ranges.
20669
20670 2022-03-17 Richard Biener <rguenther@suse.de>
20671
20672 PR tree-optimization/104960
20673 * passes.def: Add pass parameter to pass_sink_code, mark
20674 last one to unsplit edges.
20675 * tree-ssa-sink.cc (pass_sink_code::set_pass_param): New.
20676 (pass_sink_code::execute): Always execute TODO_cleanup_cfg
20677 when we need to unsplit edges.
20678
20679 2022-03-17 Jakub Jelinek <jakub@redhat.com>
20680
20681 PR middle-end/103984
20682 * gimplify.cc (gimplify_target_expr): Gimplify type sizes and
20683 TARGET_EXPR_INITIAL into a temporary sequence, then push clobbers
20684 and asan unpoisioning, then append the temporary sequence and
20685 finally the TARGET_EXPR_CLEANUP clobbers.
20686
20687 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20688
20689 * config/i386/sse.md: Delete corrupt character/typo.
20690
20691 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20692
20693 PR target/94680
20694 * config/i386/sse.md (sse2_movq128): New define_expand to
20695 preserve previous named instruction.
20696 (*sse2_movq128_<mode>): Renamed from sse2_movq128, and
20697 generalized to VI8F_128 (both V2DI and V2DF).
20698
20699 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
20700
20701 PR tree-optimization/104941
20702 * tree-object-size.cc (size_for_offset): Make useless conversion
20703 check lighter and assign result of fold_convert to OFFSET.
20704
20705 2022-03-16 H.J. Lu <hjl.tools@gmail.com>
20706
20707 PR target/104890
20708 * config/i386/x86gprintrin.h: Also check _SOFT_FLOAT before
20709 pushing target("general-regs-only").
20710
20711 2022-03-16 Kito Cheng <kito.cheng@sifive.com>
20712
20713 * common/config/riscv/riscv-common.cc (riscv_ext_version_table):
20714 Add version info for zk, zks and zkn.
20715
20716 2022-03-16 LiaoShihua <shihua@iscas.ac.cn>
20717
20718 * common/config/riscv/riscv-common.cc
20719 (riscv_combine_info): New.
20720 (riscv_subset_list::handle_combine_ext): Combine back into zk to
20721 maintain the canonical order in isa strings.
20722 (riscv_subset_list::parse): Ditto.
20723 * config/riscv/riscv-subset.h (handle_combine_ext): New.
20724
20725 2022-03-16 Richard Biener <rguenther@suse.de>
20726
20727 PR tree-optimization/102008
20728 * passes.def: Move the added code sinking pass before the
20729 preceeding phiopt pass.
20730
20731 2022-03-16 Patrick Palka <ppalka@redhat.com>
20732
20733 PR c++/96780
20734 * doc/invoke.texi (C++ Dialect Options): Document
20735 -ffold-simple-inlines.
20736
20737 2022-03-16 Siddhesh Poyarekar <siddhesh@gotplt.org>
20738
20739 PR tree-optimization/104942
20740 * tree-object-size.cc (alloc_object_size): Remove STRIP_NOPS.
20741
20742 2022-03-16 Jakub Jelinek <jakub@redhat.com>
20743
20744 PR target/104910
20745 * config/aarch64/aarch64.cc (aarch64_load_symref_appropriately): Copy
20746 imm rtx.
20747
20748 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20749 Richard Biener <rguenther@suse.de>
20750
20751 * gimple-match-head.cc (single_use): Implement inline using a
20752 single loop.
20753
20754 2022-03-16 Roger Sayle <roger@nextmovesoftware.com>
20755
20756 * match.pd (X CMP X -> true): Test tree_expr_maybe_nan_p
20757 instead of HONOR_NANS.
20758 (X LTGT X -> false): Enable if X is not tree_expr_maybe_nan_p, as
20759 this can't trap/signal.
20760
20761 2022-03-16 liuhongt <hongtao.liu@intel.com>
20762
20763 PR target/104946
20764 * config/i386/i386-builtin.def (BDESC): Add
20765 CODE_FOR_sse4_1_blendvpd for IX86_BUILTIN_BLENDVPD.
20766 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
20767 __builtin_ia32_blendvpd w/o sse4.2
20768
20769 2022-03-15 Peter Bergner <bergner@linux.ibm.com>
20770
20771 PR target/104923
20772 * config/rs6000/predicates.md (mma_disassemble_output_operand): Restrict
20773 acceptable MEM addresses.
20774
20775 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20776
20777 PR target/91229
20778 * config/riscv/riscv.cc (riscv_pass_aggregate_in_fpr_pair_p,
20779 riscv_pass_aggregate_in_fpr_and_gpr_p): Pass OPT_Wpsabi instead of 0
20780 to warning calls.
20781
20782 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20783
20784 PR target/104890
20785 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Use no-mmx,no-sse
20786 instead of general-regs-only.
20787
20788 2022-03-15 Roger Sayle <roger@nextmovesoftware.com>
20789 Marc Glisse <marc.glisse@inria.fr>
20790 Richard Biener <rguenther@suse.de>
20791
20792 PR tree-optimization/101895
20793 * match.pd (vec_same_elem_p): Handle CONSTRUCTOR_EXPR def.
20794 (plus (vec_perm (mult ...) ...) ...): New reordering simplification.
20795
20796 2022-03-15 Jakub Jelinek <jakub@redhat.com>
20797
20798 PR rtl-optimization/104814
20799 * ifcvt.cc (find_if_case_1, find_if_case_2): Punt if test_bb doesn't
20800 end with onlyjump_p. Assume BB_END (test_bb) is always non-NULL.
20801
20802 2022-03-15 Martin Sebor <msebor@redhat.com>
20803
20804 PR middle-end/104436
20805 * gimple-ssa-warn-access.cc (pass_waccess::check_dangling_stores):
20806 Check for warning suppression. Avoid by-value arguments transformed
20807 into by-transparent-reference.
20808
20809 2022-03-14 Roger Sayle <roger@nextmovesoftware.com>
20810 Uroš Bizjak <ubizjak@gmail.com>
20811
20812 * config/i386/i386.md (peephole2 xorl;movb -> movzbl): Disable
20813 transformation when *zero_extend<mode>si2 is not available.
20814
20815 2022-03-14 Xi Ruoyao <xry111@mengyan1223.wang>
20816
20817 * config/mips/mips.h (SUBTARGET_SHADOW_OFFSET): Define.
20818 * config/mips/mips.cc (mips_option_override): Make
20819 -fsanitize=address imply -fasynchronous-unwind-tables. This is
20820 needed by libasan for stack backtrace on MIPS.
20821 (mips_asan_shadow_offset): Return SUBTARGET_SHADOW_OFFSET.
20822
20823 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20824
20825 PR debug/104778
20826 * lra.cc (lra_substitute_pseudo): For debug_p mode, simplify
20827 SUBREG, ZERO_EXTEND, SIGN_EXTEND, FLOAT or UNSIGNED_FLOAT if recursive
20828 call simplified the first operand into VOIDmode constant.
20829
20830 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20831
20832 PR tree-optimization/102586
20833 * doc/extend.texi (__builtin_clear_padding): Clearify that for C++
20834 argument type should be pointer to trivially-copyable type unless it
20835 is address of a variable or parameter.
20836
20837 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20838
20839 PR target/99754
20840 * config/i386/emmintrin.h (_mm_loadu_si32): Put loaded value into
20841 first rather than last element of the vector, use __m32_u to do
20842 a really unaligned load, use just 0 instead of (int)0.
20843 (_mm_loadu_si16): Put loaded value into first rather than last
20844 element of the vector, use __m16_u to do a really unaligned load,
20845 use just 0 instead of (short)0.
20846
20847 2022-03-14 Jakub Jelinek <jakub@redhat.com>
20848
20849 PR other/104899
20850 * config/bfin/bfin.cc (bfin_handle_longcall_attribute): Fix a typo
20851 in diagnostic message - cannott -> cannot. Use %< and %> around
20852 names of attribute. Avoid too long line.
20853 * range-op.cc (operator_logical_and::op1_range): Fix up a typo
20854 in comment - cannott -> cannot. Use 2 spaces after . instead of one.
20855
20856 2022-03-14 liuhongt <hongtao.liu@intel.com>
20857
20858 PR target/104666
20859 * config/i386/i386-expand.cc
20860 (ix86_check_builtin_isa_match): New func.
20861 (ix86_expand_builtin): Move code to
20862 ix86_check_builtin_isa_match and call it.
20863 * config/i386/i386-protos.h
20864 (ix86_check_builtin_isa_match): Declare.
20865 * config/i386/i386.cc (ix86_gimple_fold_builtin): Don't fold
20866 builtin into gimple when isa mismatches.
20867
20868 2022-03-13 Tobias Burnus <tobias@codesourcery.com>
20869
20870 * doc/invoke.texi: Fix typos.
20871 * doc/tm.texi.in: Remove duplicated word.
20872 * doc/tm.texi: Regenerate.
20873
20874 2022-03-12 Segher Boessenkool <segher@kernel.crashing.org>
20875
20876 PR target/104829
20877 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Don't output
20878 "ppc" and "ppc64" based on rs6000_cpu.
20879
20880 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20881
20882 PR middle-end/100280
20883 PR middle-end/104892
20884 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
20885 Remove special handling of 'GOMP_MAP_FORCE_TOFROM'.
20886
20887 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20888
20889 PR middle-end/100280
20890 PR middle-end/104086
20891 * omp-oacc-kernels-decompose.cc (omp_oacc_kernels_decompose_1):
20892 Mark variables used in 'present' clauses as addressable.
20893 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Gracefully
20894 handle duplicate 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
20895
20896 2022-03-12 Thomas Schwinge <thomas@codesourcery.com>
20897
20898 PR other/65095
20899 * tree-core.h (user_omp_claus_code_name): Declare function.
20900 * tree.cc (user_omp_clause_code_name): New function.
20901
20902 2022-03-12 Roger Sayle <roger@nextmovesoftware.com>
20903
20904 PR middle-end/98420
20905 * match.pd (minus @0 @0): Additional checks for -fno-rounding-math
20906 (the defaut) or -fno-signed-zeros.
20907
20908 2022-03-12 Michael Meissner <meissner@linux.ibm.com>
20909
20910 PR target/104868
20911 * config/rs6000/vsx.md (extendditi2): Use a 'b' constraint when
20912 moving from a GPR register to an Altivec register.
20913
20914 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
20915
20916 PR tree-optimization/98335
20917 * config/i386/i386.md (peephole2): Eliminate redundant insv.
20918 Combine movl followed by movb. Transform xorl followed by
20919 a suitable movb or movw into the equivalent movz[bw]l.
20920
20921 2022-03-11 Roger Sayle <roger@nextmovesoftware.com>
20922 Richard Biener <rguenther@suse.de>
20923
20924 PR tree-optimization/98335
20925 * builtins.cc (get_object_alignment_2): Export.
20926 * builtins.h (get_object_alignment_2): Likewise.
20927 * tree-ssa-alias.cc (ao_ref_alignment): New.
20928 * tree-ssa-alias.h (ao_ref_alignment): Declare.
20929 * tree-ssa-dse.cc (compute_trims): Improve logic deciding whether
20930 to align head/tail, writing more bytes but using fewer store insns.
20931
20932 2022-03-11 Richard Biener <rguenther@suse.de>
20933
20934 PR tree-optimization/104880
20935 * tree-ssa.cc (execute_update_address_taken): Remember if we
20936 optimistically made something not addressable and
20937 prepare to undo it.
20938
20939 2022-03-11 Richard Biener <rguenther@suse.de>
20940
20941 PR target/104762
20942 * config/i386/i386.cc (ix86_builtin_vectorization_cost): Do not
20943 cost the first lane of SSE pieces as inserts for vec_construct.
20944
20945 2022-03-10 Roger Sayle <roger@nextmovesoftware.com>
20946
20947 PR c++/84964
20948 * calls.cc (expand_call): Ignore stack adjustments after sorry.
20949
20950 2022-03-10 Vladimir N. Makarov <vmakarov@redhat.com>
20951
20952 PR target/103074
20953 * lra-constraints.cc (split_reg): Set up
20954 check_and_force_assignment_correctness_p when splitting hard
20955 register live range.
20956
20957 2022-03-10 Martin Jambor <mjambor@suse.cz>
20958
20959 PR ipa/104813
20960 * ipa-cp.cc (create_specialized_node): Move removal of
20961 self-recursive calls from callers vector before refrence
20962 adjustments.
20963
20964 2022-03-10 Richard Biener <rguenther@suse.de>
20965
20966 PR tree-optimization/102943
20967 * gimple-range-cache.cc (sbr_sparse_bitmap::bitvec):
20968 Make a bitmap_head.
20969 (sbr_sparse_bitmap::sbr_sparse_bitmap): Adjust and switch
20970 to tree view.
20971 (sbr_sparse_bitmap::set_bb_range): Adjust.
20972 (sbr_sparse_bitmap::get_bb_range): Likewise.
20973
20974 2022-03-10 Richard Biener <rguenther@suse.de>
20975
20976 PR tree-optimization/102943
20977 * tree-ssa-dom.cc (back_propagate_equivalences): Only
20978 populate the dominance bitmap if fast queries are not
20979 available. Use a tree view bitmap.
20980 (record_temporary_equivalences): Cache the dominance bitmap
20981 across all equivalences on the edge.
20982
20983 2022-03-10 Tom de Vries <tdevries@suse.de>
20984
20985 PR target/104840
20986 * config/nvptx/nvptx.md (define_attr "predicable"): Use no,yes instead
20987 of false,true.
20988
20989 2022-03-10 Tom de Vries <tdevries@suse.de>
20990
20991 PR target/104783
20992 * config/nvptx/nvptx.cc (nvptx_init_unisimt_predicate)
20993 (nvptx_output_unisimt_switch): Handle unisimt_outside_simt_predicate.
20994 (nvptx_get_unisimt_outside_simt_predicate): New function.
20995 (predicate_insn): New function, factored out of ...
20996 (nvptx_reorg_uniform_simt): ... here. Predicate all emitted insns.
20997 * config/nvptx/nvptx.h (struct machine_function): Add
20998 unisimt_outside_simt_predicate field.
20999 * config/nvptx/nvptx.md (define_insn "nvptx_warpsync")
21000 (define_insn "nvptx_uniform_warp_check"): Make predicable.
21001
21002 2022-03-10 Tom de Vries <tdevries@suse.de>
21003
21004 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Handle unused
21005 result.
21006
21007 2022-03-10 Tom de Vries <tdevries@suse.de>
21008
21009 PR target/104815
21010 * config/nvptx/nvptx.cc (nvptx_print_operand): Handle 'x' operand
21011 modifier.
21012 * config/nvptx/nvptx.md: Use %x0 destination operand in atom insns.
21013
21014 2022-03-10 Tom de Vries <tdevries@suse.de>
21015
21016 * config/nvptx/nvptx.md (define_insn "atomic_fetch_<logic><mode>"):
21017 Emit atom.and.b64 instead of atom.b64.and.
21018
21019 2022-03-10 Tom de Vries <tdevries@suse.de>
21020
21021 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Move mptx=3.1 ...
21022 (MULTILIB_OPTIONS): ... here.
21023
21024 2022-03-10 Tom de Vries <tdevries@suse.de>
21025
21026 PR target/104758
21027 * config/nvptx/nvptx.opt (misa): Set default to sm_30.
21028 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Remove misa=sm_30.
21029
21030 2022-03-10 Thomas Schwinge <thomas@codesourcery.com>
21031
21032 PR middle-end/90115
21033 PR middle-end/102330
21034 PR middle-end/104774
21035 * omp-low.cc (oacc_privatization_candidate_p)
21036 (oacc_privatization_scan_clause_chain)
21037 (oacc_privatization_scan_decl_chain, lower_oacc_private_marker):
21038 Analyze 'lookup_decl'-translated DECL.
21039
21040 2022-03-10 Jakub Jelinek <jakub@redhat.com>
21041
21042 PR target/99708
21043 * config/rs6000/rs6000.h (enum rs6000_builtin_type_index): Remove
21044 RS6000_BTI_ptr_ieee128_float and RS6000_BTI_ptr_ibm128_float.
21045 (ptr_ieee128_float_type_node, ptr_ibm128_float_type_node): Remove.
21046 * config/rs6000/rs6000-builtin.cc (rs6000_type_string): Return
21047 "**NULL**" if type_node is NULL first. Handle
21048 ieee128_float_type_node.
21049 (rs6000_init_builtins): Don't initialize ptr_ieee128_float_type_node
21050 and ptr_ibm128_float_type_node. Set ibm128_float_type_node and
21051 ieee128_float_type_node to NULL rather than long_double_type_node if
21052 they aren't supported. Do support __ibm128 even if
21053 !TARGET_FLOAT128_TYPE when long double is double double.
21054 (rs6000_expand_builtin): Error if bif_is_ibm128 and
21055 !ibm128_float_type_node. Remap RS6000_BIF_{,UN}PACK_IF to
21056 RS6000_BIF_{,UN}PACK_TF much earlier and only use bif_is_ibm128 check
21057 for it.
21058 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Define
21059 __SIZEOF_FLOAT128__ here and only iff __float128 macro is defined.
21060 (rs6000_cpu_cpp_builtins): Don't define __SIZEOF_FLOAT128__ here.
21061 Define __SIZEOF_IBM128__=16 if ieee128_float_type_node is non-NULL.
21062 Formatting fix.
21063 * config/rs6000/rs6000-gen-builtins.cc: Document ibm128 attribute.
21064 (struct attrinfo): Add isibm128 member.
21065 (TYPE_MAP_SIZE): Remove.
21066 (type_map): Use [] instead of [TYPE_MAP_SIZE]. For "if" use
21067 ibm128_float_type_node only if it is non-NULL, otherwise fall back
21068 to long_double_type_node. Remove "pif" entry.
21069 (parse_bif_attrs): Handle ibm128 attribute and print it for debugging.
21070 (write_decls): Output bif_ibm128_bit and bif_is_ibm128.
21071 (write_type_node): Use sizeof type_map / sizeof type_map[0]
21072 instead of TYPE_MAP_SIZE.
21073 (write_bif_static_init): Handle isibm128.
21074 * config/rs6000/rs6000-builtins.def: Document ibm128 attribute.
21075 (__builtin_pack_ibm128, __builtin_unpack_ibm128): Add ibm128
21076 attribute.
21077
21078 2022-03-09 Richard Biener <rguenther@suse.de>
21079
21080 * cfgexpand.cc (expand_gimple_asm): Special-case MEM_REF
21081 with non-decl operand, avoiding a copy.
21082
21083 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21084
21085 PR target/104781
21086 * config/i386/i386.h (LIBGCC2_UNWIND_ATTRIBUTE): Define for ia32.
21087
21088 2022-03-09 Richard Biener <rguenther@suse.de>
21089
21090 PR middle-end/104786
21091 * cfgexpand.cc (expand_asm_stmt): Do not generate a copy
21092 for VLAs without an upper size bound.
21093
21094 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
21095
21096 PR tree-optimization/104851
21097 * optabs-query.cc (supports_vec_convert_optab_p): Fix off-by-one
21098 error.
21099
21100 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21101
21102 PR c/104711
21103 * doc/invoke.texi (-Wextra): Document that -Wshift-negative-value
21104 is enabled by it only for C++11 to C++17 rather than for C++03 or
21105 later.
21106 (-Wshift-negative-value): Similarly (except here we stated
21107 that it is enabled for C++11 or later).
21108
21109 2022-03-09 Jakub Jelinek <jakub@redhat.com>
21110
21111 PR rtl-optimization/104839
21112 * simplify-rtx.cc (simplify_unary_operation_1) <case SIGN_EXTEND>:
21113 Use SRP_SIGNED instead of incorrect 1 in SUBREG_PROMOTED_SET.
21114 (simplify_unary_operation_1) <case ZERO_EXTEND>: Use SRP_UNSIGNED
21115 instead of incorrect 0 in SUBREG_PROMOTED_SET.
21116
21117 2022-03-09 Xi Ruoyao <xry111@mengyan1223.wang>
21118
21119 PR target/104842
21120 * config/mips/mips.h (LUI_OPERAND): Cast the input to an unsigned
21121 value before adding an offset.
21122
21123 2022-03-08 Christophe Lyon <christophe.lyon@arm.com>
21124
21125 * config/arm/arm-builtins.cc
21126 (arm_binop_none_none_unone_qualifiers): Delete.
21127 (BINOP_NONE_NONE_UNONE_QUALIFIERS): Delete.
21128
21129 2022-03-08 Iain Sandoe <iain@sandoe.co.uk>
21130
21131 PR translation/104552
21132 * config/host-darwin.cc (darwin_gt_pch_get_address): Amend
21133 the PCH out of memory error message punctuation and wording.
21134
21135 2022-03-08 Marek Polacek <polacek@redhat.com>
21136
21137 PR rtl-optimization/104777
21138 * rtl.cc (classify_insn): For ASM_OPERANDS, return JUMP_INSN only if
21139 ASM_OPERANDS_LABEL_VEC has at least one element.
21140
21141 2022-03-08 H.J. Lu <hjl.tools@gmail.com>
21142
21143 PR target/104781
21144 * config/i386/i386.cc (ix86_expand_epilogue): Sorry if there is
21145 stack realignment or regparm nested function with EH return.
21146
21147 2022-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
21148
21149 PR target/104790
21150 * config/arm/arm.h (MVE_STN_LDW_MODE): New MACRO.
21151 * config/arm/arm.cc (mve_vector_mem_operand): Relax constraint on base
21152 register for non widening loads or narrowing stores.
21153
21154 2022-03-08 Eric Gallager <egallager@gcc.gnu.org>
21155
21156 PR translation/104552
21157 * params.opt: Fix typo.
21158
21159 2022-03-08 Richard Biener <rguenther@suse.de>
21160
21161 PR tree-optimization/84201
21162 * params.opt (-param=vect-induction-float): Add.
21163 * doc/invoke.texi (vect-induction-float): Document.
21164 * tree-vect-loop.cc (vectorizable_induction): Honor
21165 param_vect_induction_float.
21166
21167 2022-03-08 Martin Jambor <mjambor@suse.cz>
21168
21169 PR translation/104552
21170 * params.opt (ipa-cp-recursive-freq-factor): Remove repeated word
21171 "that" in the description.
21172
21173 2022-03-08 Richard Biener <rguenther@suse.de>
21174
21175 PR tree-optimization/104825
21176 * tree-ssa-sccvn.cc (visit_reference_op_call): Properly
21177 guard modref get_ao_ref on a pointer typed argument.
21178
21179 2022-03-08 liuhongt <hongtao.liu@intel.com>
21180
21181 * config/i386/sse.md (*vec_dupv4si): Disable memory operand
21182 for !TARGET_INTER_UNIT_MOVES_TO_VEC when prefer_for_speed.
21183
21184 2022-03-07 Jonathan Wakely <jwakely@redhat.com>
21185
21186 * doc/invoke.texi (C++ Modules): Remove anachronism.
21187
21188 2022-03-07 Martin Liska <mliska@suse.cz>
21189
21190 PR middle-end/104381
21191 * opts.cc (finish_options): If debug info is disabled
21192 (debug_info_level) and -fvar-tracking is unset, disable it.
21193
21194 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21195
21196 * tree-ssa-propagate.cc: Fix up duplicated word issue in a comment.
21197 * config/riscv/riscv.cc: Likewise.
21198 * config/darwin.h: Likewise.
21199 * config/i386/i386.cc: Likewise.
21200 * config/aarch64/thunderx3t110.md: Likewise.
21201 * config/aarch64/fractional-cost.h: Likewise.
21202 * config/vax/vax.cc: Likewise.
21203 * config/rs6000/pcrel-opt.md: Likewise.
21204 * config/rs6000/predicates.md: Likewise.
21205 * ctfc.h: Likewise.
21206 * tree-ssa-uninit.cc: Likewise.
21207 * value-relation.h: Likewise.
21208 * gimple-range-gori.cc: Likewise.
21209 * ipa-polymorphic-call.cc: Likewise.
21210 * pointer-query.cc: Likewise.
21211 * ipa-sra.cc: Likewise.
21212 * internal-fn.cc: Likewise.
21213 * varasm.cc: Likewise.
21214 * gimple-ssa-warn-access.cc: Likewise.
21215
21216 2022-03-07 Martin Liska <mliska@suse.cz>
21217
21218 PR target/104794
21219 * config/arm/arm.cc (arm_option_override_internal): Add missing
21220 space.
21221
21222 2022-03-07 Richard Biener <rguenther@suse.de>
21223
21224 PR tree-optimization/104782
21225 * tree-vect-slp.cc (vectorize_slp_instance_root_stmt):
21226 Re-instantiate r10-5979 fix, add comment.
21227
21228 2022-03-07 Martin Liska <mliska@suse.cz>
21229
21230 PR target/104797
21231 * config/msp430/msp430.cc (msp430_expand_delay_cycles): Remove
21232 parenthesis from built-in name.
21233
21234 2022-03-07 Martin Liska <mliska@suse.cz>
21235
21236 PR target/104794
21237 * config/arm/arm.cc (arm_option_override_internal): Fix quoting
21238 of options in error messages.
21239 (arm_option_reconfigure_globals): Likewise.
21240
21241 2022-03-07 Martin Liska <mliska@suse.cz>
21242
21243 PR target/104794
21244 * config/arm/arm-builtins.cc (arm_expand_builtin): Reuse error
21245 message. Fix ARM_BUILTIN_WRORHI and ARM_BUILTIN_WRORH that can
21246 have only range [0,32].
21247
21248 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21249
21250 PR target/104775
21251 * config/s390/s390.md (*cmp_and_trap_unsigned_int<mode>): Use
21252 S constraint instead of T in the last alternative.
21253
21254 2022-03-07 Martin Liska <mliska@suse.cz>
21255
21256 * plugin.cc (default_plugin_dir_name): Remove <dir> from error
21257 message.
21258
21259 2022-03-07 Martin Liska <mliska@suse.cz>
21260
21261 PR translation/90148
21262 * config/rs6000/rs6000.cc (rs6000_linux64_override_options): Put
21263 quote to a proper place.
21264 * plugin.cc (default_plugin_dir_name): Likewise.
21265
21266 2022-03-07 Martin Liska <mliska@suse.cz>
21267
21268 PR target/99297
21269 * config/rx/rx.cc (rx_expand_builtin_mvtc): Fix translation
21270 string.
21271
21272 2022-03-07 Jakub Jelinek <jakub@redhat.com>
21273
21274 PR target/104779
21275 * config/i386/sse.md (avx512dq_mul<mode>3<mask_name>): New
21276 define_expand pattern. Rename define_insn to ...
21277 (*avx512dq_mul<mode>3<mask_name>): ... this.
21278 (<code><mode>3_mask): New any_logic define_expand pattern.
21279 (<mask_codefor><code><mode>3<mask_name>): Rename to ...
21280 (*<code><mode>3<mask_name>): ... this.
21281
21282 2022-03-05 Jakub Jelinek <jakub@redhat.com>
21283
21284 * gimple-ssa-warn-access.cc (pass_waccess::use_after_inval_p): Remove
21285 visited bitmap and its use. Also punt on EDGE_ABNORMAL edges.
21286
21287 2022-03-05 Roger Sayle <roger@nextmovesoftware.com>
21288 Uroš Bizjak <ubizjak@gmail.com>
21289
21290 PR testsuite/104732
21291 * config/i386/i386.md (SWIM1248x): Renamed from SWIM1248s.
21292 Include DI mode unconditionally.
21293 (*anddi3_doubleword): Remove && TARGET_STV && TARGET_SSE2 condition,
21294 i.e. always split on !TARGET_64BIT.
21295 (*<any_or>di3_doubleword): Likewise.
21296 (*one_cmpldi2_doubleword): Likewise.
21297 (and<mode>3 expander): Update to use SWIM1248x from SWIM1248s.
21298 (<any_or><mode>3 expander): Likewise.
21299 (one_cmpl<mode>2 expander): Likewise.
21300
21301 2022-03-05 Michael Meissner <meissner@linux.ibm.com>
21302
21303 PR target/104698
21304 * config/rs6000/vsx.md (UNSPEC_MTVSRD_DITI_W1): Delete.
21305 (mtvsrdd_diti_w1): Delete.
21306 (extendditi2): Convert from define_expand to
21307 define_insn_and_split. Replace with code to deal with both GPR
21308 registers and with altivec registers.
21309
21310 2022-03-04 Segher Boessenkool <segher@kernel.crashing.org>
21311
21312 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Restructure a
21313 bit. Handle most older CPUs.
21314
21315 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
21316
21317 * config/darwin.cc (darwin_fold_builtin): Make fcode an int to
21318 avoid a mismatch with DECL_MD_FUNCTION_CODE().
21319
21320 2022-03-04 Iain Sandoe <iain@sandoe.co.uk>
21321
21322 PR target/104117
21323 * config/rs6000/darwin.md (@machopic_high_<mode>): New.
21324 (@machopic_low_<mode>): New.
21325 * config/rs6000/predicates.md (macho_pic_address): New.
21326 * config/rs6000/rs6000.cc (rs6000_legitimize_address): Do not
21327 apply the TLS processing to Darwin.
21328 * lra-constraints.cc (process_address_1): Revert the changes
21329 in r12-7209.
21330
21331 2022-03-04 Peter Bergner <bergner@linux.ibm.com>
21332
21333 PR target/87496
21334 PR target/104208
21335 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Make the
21336 ISA 2.06 requirement for -mabi=ieeelongdouble conditional on
21337 -mlong-double-128.
21338 Move the -mabi=ieeelongdouble and -mabi=ibmlongdouble error checking
21339 from here...
21340 * common/config/rs6000/rs6000-common.cc (rs6000_handle_option):
21341 ... to here.
21342
21343 2022-03-04 Jakub Jelinek <jakub@redhat.com>
21344
21345 PR middle-end/104529
21346 * gimplify.cc (gimplify_init_constructor): Clear TREE_READONLY
21347 on automatic objects which will be runtime initialized.
21348
21349 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21350
21351 PR middle-end/100280
21352 PR middle-end/104132
21353 PR middle-end/104133
21354 * omp-low.cc (task_shared_vars): Rename to
21355 'make_addressable_vars'. Adjust all users.
21356 (scan_sharing_clauses) <OMP_CLAUSE_MAP> Use it for
21357 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' DECLs, too.
21358
21359 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21360
21361 PR middle-end/100280
21362 * tree.h (OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE): New.
21363 * tree-core.h: Document it.
21364 * omp-low.cc (scan_sharing_clauses) <OMP_CLAUSE_MAP>: Handle
21365 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE'.
21366 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
21367 Set 'OMP_CLAUSE_MAP_DECL_MAKE_ADDRESSABLE' instead of
21368 'TREE_ADDRESSABLE'.
21369
21370 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21371
21372 PR middle-end/100280
21373 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
21374 Add diagnostic: "note: OpenACC 'kernels' decomposition: variable
21375 '[...]' declared in block made addressable".
21376
21377 2022-03-04 Thomas Schwinge <thomas@codesourcery.com>
21378
21379 PR middle-end/100400
21380 PR middle-end/103836
21381 PR middle-end/104061
21382 * omp-oacc-kernels-decompose.cc (decompose_kernels_region_body):
21383 Catch 'GIMPLE_DEBUG'.
21384
21385 2022-03-04 Jakub Jelinek <jakub@redhat.com>
21386
21387 PR c/104627
21388 * tree.cc (warn_deprecated_use): For types prefer to use node
21389 and only use TYPE_MAIN_VARIANT (node) if TYPE_STUB_DECL (node) is
21390 NULL.
21391
21392 2022-03-04 H.J. Lu <hjl.tools@gmail.com>
21393
21394 PR target/104704
21395 * config/i386/i386.cc (ix86_gen_scratch_sse_rtx): Always return
21396 a pseudo register.
21397
21398 2022-03-03 Martin Sebor <msebor@redhat.com>
21399
21400 PR middle-end/104761
21401 * gimple-ssa-warn-access.cc (pass_waccess::execute): Call
21402 mark_dfs_back_edges.
21403
21404 2022-03-03 Martin Liska <mliska@suse.cz>
21405
21406 * configure.ac: Use linker plug-in by default.
21407 * configure: Regenerate.
21408
21409 2022-03-03 Martin Liska <mliska@suse.cz>
21410
21411 * configure.ac: Now ld.mold support LTO plugin API, use it.
21412 * configure: Regenerate.
21413
21414 2022-03-03 Tom de Vries <tdevries@suse.de>
21415
21416 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add mptx=3.1.
21417
21418 2022-03-03 Tom de Vries <tdevries@suse.de>
21419
21420 PR target/104758
21421 * config/nvptx/t-nvptx (MULTILIB_EXTRA_OPTS): Add misa=sm_30.
21422
21423 2022-03-03 Tom de Vries <tdevries@suse.de>
21424
21425 * config/nvptx/nvptx.h (ASM_SPEC): Add %{misa=sm_30:--no-verify}.
21426
21427 2022-03-03 Jakub Jelinek <jakub@redhat.com>
21428
21429 PR middle-end/104757
21430 * gimplify.cc (gimplify_omp_loop): Call gimplify_expr rather than
21431 gimplify_omp_for.
21432 (gimplify_expr) <case OMP_SIMD>: Temporarily disable
21433 gimplify_ctxp->into_ssa around call to gimplify_omp_for.
21434
21435 2022-03-03 Jakub Jelinek <jakub@redhat.com>
21436
21437 PR middle-end/104558
21438 * calls.cc (store_one_arg): When not calling emit_push_insn
21439 because size_rtx is const0_rtx, call at least anti_adjust_stack
21440 on arg->locate.alignment_pad if !argblock and the alignment might
21441 be non-zero.
21442
21443 2022-03-02 Alexandre Oliva <oliva@adacore.com>
21444
21445 * lra-constraints.cc (undo_optional_reloads): Recognize and
21446 drop insns of multi-word move sequences, tolerate removal
21447 iteration on an already-removed clobber, and refuse to
21448 substitute original pseudos into clobbers.
21449
21450 2022-03-02 Qing Zhao <qing.zhao@oracle.com>
21451
21452 PR middle-end/102276
21453 * common.opt (-Wtrivial-auto-var-init): New option.
21454 * doc/invoke.texi (-Wtrivial-auto-var-init): Document new option.
21455 (-ftrivial-auto-var-init): Update option;
21456 * gimplify.cc (emit_warn_switch_unreachable): New function.
21457 (warn_switch_unreachable_r): Rename to ...
21458 (warn_switch_unreachable_and_auto_init_r): This.
21459 (maybe_warn_switch_unreachable): Rename to ...
21460 (maybe_warn_switch_unreachable_and_auto_init): This.
21461 (gimplify_switch_expr): Update calls to renamed function.
21462
21463 2022-03-02 Richard Biener <rguenther@suse.de>
21464
21465 PR rtl-optimization/104686
21466 * ira-color.cc (object_conflicts_with_allocno_p): New function
21467 using a bitvector test instead of iterating when possible.
21468 (allocnos_conflict_p): Choose the best allocno to iterate over
21469 object conflicts.
21470 (update_conflict_hard_regno_costs): Do allocnos_conflict_p test
21471 last.
21472
21473 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21474
21475 * cfg.cc (dump_edge_info): Dump goto_locus if present.
21476
21477 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21478
21479 PR rtl-optimization/104589
21480 * cfgrtl.cc (fixup_reorder_chain): Use loc_equal instead of direct
21481 INSN_LOCATION comparison with goto_locus.
21482
21483 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21484
21485 * tree-ssa-strlen.cc (strlen_pass::handle_assign,
21486 strlen_pass::before_dom_children): Comment spelling fixes.
21487
21488 2022-03-02 Jakub Jelinek <jakub@redhat.com>
21489
21490 * ipa-modref-tree.cc (modref_access_node::contains,
21491 modref_access_node::closer_pair_p, modref_access_node::insert,
21492 modref_access_node::insert_kill): Comment spelling fixes.
21493 * ipa-modref.cc: Likewise.
21494 (modref_summary::finalize, ignore_nondeterminism_p,
21495 class modref_access_analysis,
21496 modref_access_analysis::set_side_effects,
21497 modref_access_analysis::set_nondeterministic,
21498 modref_access_analysis::record_global_memory_load,
21499 modref_access_analysis::propagate, modref_access_analysis::analyze,
21500 struct escape_point, class modref_lattice, modref_lattice::merge,
21501 modref_lattice::merge_deref, class modref_eaf_analysis,
21502 modref_eaf_analysis::merge_call_lhs_flags,
21503 modref_eaf_analysis::analyze_ssa_name, modref_eaf_analysis::propagate,
21504 modref_eaf_analysis::record_escape_points, remap_kills,
21505 update_escape_summary, remove_useless_summaries,
21506 ipa_merge_modref_summary_after_inlining, pass_ipa_modref::execute):
21507 Likewise.
21508 * ipa-modref.h (struct modref_summary, interposable_eaf_flags):
21509 Likewise.
21510 * ipa-modref-tree.h (enum modref_special_parms,
21511 struct modref_access_node): Likewise.
21512
21513 2022-03-01 Jakub Jelinek <jakub@redhat.com>
21514
21515 PR tree-optimization/104715
21516 * gimple-ssa-warn-access.cc (pass_waccess::check_pointer_uses): Don't
21517 unnecessarily test if ptr is a SSA_NAME, it has to be. Only push lhs
21518 of a call if gimple_call_return_arg is equal to ptr, not just when it
21519 is non-NULL.
21520
21521 2022-03-01 Jakub Jelinek <jakub@redhat.com>
21522
21523 * gimple-ssa-warn-access.cc (warn_string_no_nul,
21524 maybe_warn_nonstring_arg, fndecl_alloc_p, new_delete_mismatch_p,
21525 matching_alloc_calls_p, maybe_warn_alloc_args_overflow,
21526 pass_waccess::check_alloca, pass_waccess::check_strcat,
21527 memmodel_to_uhwi, fntype_argno_type,
21528 pass_waccess::maybe_check_access_sizes,
21529 pass_waccess::check_call_access,
21530 pass_waccess::maybe_check_dealloc_call, pass_waccess::check_stmt):
21531 Comment spelling fixes.
21532
21533 2022-03-01 Richard Biener <rguenther@suse.de>
21534
21535 PR tree-optimization/104716
21536 * tree-loop-distribution.cc (find_seed_stmts_for_distribution):
21537 Check if we can copy the loop.
21538
21539 2022-03-01 H.J. Lu <hjl.tools@gmail.com>
21540
21541 PR middle-end/104721
21542 * cfgexpand.cc (expand_gimple_basic_block): Clear
21543 currently_expanding_gimple_stmt when returning inside the loop.
21544
21545 2022-03-01 Martin Liska <mliska@suse.cz>
21546
21547 PR ipa/104533
21548 * multiple_target.cc (get_attr_len): Move to tree.c.
21549 (expand_target_clones): Remove single value checking.
21550 * tree.cc (get_target_clone_attr_len): New fn.
21551 * tree.h (get_target_clone_attr_len): Likewise.
21552
21553 2022-03-01 Martin Liska <mliska@suse.cz>
21554
21555 PR gcov-profile/104677
21556 * doc/invoke.texi: Document more .gcda file name generation.
21557
21558 2022-03-01 Tom de Vries <tdevries@suse.de>
21559
21560 PR target/102429
21561 * config/nvptx/nvptx.cc (nvptx_gen_shuffle): Handle DCmode and CDImode.
21562 * config/nvptx/nvptx.md
21563 (define_predicate "nvptx_register_or_complex_di_df_register_operand"):
21564 New predicate.
21565 (define_expand "omp_simt_xchg_bfly", define_expand "omp_simt_xchg_idx"):
21566 Use nvptx_register_or_complex_di_df_register_operand.
21567
21568 2022-03-01 Tom de Vries <tdevries@suse.de>
21569
21570 * config.gcc (nvptx*-*-*): Add nvptx/nvptx-gen.opt to extra_options.
21571 * config/nvptx/gen-copyright.sh: New file.
21572 * config/nvptx/gen-h.sh: New file.
21573 * config/nvptx/gen-opt.sh: New file.
21574 * config/nvptx/nvptx.h (TARGET_SM35, TARGET_SM53, TARGET_SM70)
21575 (TARGET_SM75, TARGET_SM80): Move ...
21576 * config/nvptx/nvptx-gen.h: ... here. New file, generate.
21577 * config/nvptx/nvptx.opt (Enum ptx_isa): Move ...
21578 * config/nvptx/nvptx-gen.opt: ... here. New file, generate.
21579 * config/nvptx/t-nvptx ($(srcdir)/config/nvptx/nvptx-gen.h)
21580 ($(srcdir)/config/nvptx/nvptx-gen.opt): New make target.
21581
21582 2022-03-01 Tom de Vries <tdevries@suse.de>
21583
21584 * config/nvptx/gen-omp-device-properties.sh: New file.
21585 * config/nvptx/t-omp-device: Use gen-omp-device-properties.sh.
21586
21587 2022-03-01 Tom de Vries <tdevries@suse.de>
21588
21589 * config/nvptx/nvptx-sm.def: New file.
21590 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Use nvptx-sm.def.
21591 * config/nvptx/nvptx-opts.h (enum ptx_isa): Same.
21592 * config/nvptx/nvptx.cc (sm_version_to_string)
21593 (nvptx_omp_device_kind_arch_isa): Same.
21594
21595 2022-03-01 Robin Dapp <rdapp@linux.ibm.com>
21596
21597 PR rtl-optimization/104154
21598 * config/arc/arc.cc (gen_compare_reg): Return the CC-mode
21599 comparison ifcvt passed us.
21600
21601 2022-03-01 Hongyu Wang <hongyu.wang@intel.com>
21602
21603 PR target/104664
21604 * config/i386/i386-expand.cc (ix86_expand_vector_init_duplicate):
21605 Use vec_setv8hf_0 for HF to V8HFmode move instead of subreg.
21606
21607 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
21608
21609 PR tree-optimization/91384
21610 * config/i386/i386.md (peephole2): Eliminate final testl insn
21611 from the sequence *movsi_internal, *negsi_1, *cmpsi_ccno_1 by
21612 transforming using *negsi_2 for the negation.
21613
21614 2022-02-28 Roger Sayle <roger@nextmovesoftware.com>
21615 Eric Botcazou <ebotcazou@adacore.com>
21616
21617 PR middle-end/80270
21618 * expmed.cc (extract_integral_bit_field): If OP0 is a hard
21619 register, copy it to a pseudo before calling simplify_gen_subreg.
21620
21621 2022-02-28 Vladimir N. Makarov <vmakarov@redhat.com>
21622
21623 PR rtl-optimization/104637
21624 * lra-assigns.cc (lra_split_hard_reg_for): Split hard regs as many
21625 as possible on one subpass.
21626
21627 2022-02-28 Qing Zhao <qing.zhao@oracle.com>
21628
21629 PR middle-end/104550
21630 * gimple-fold.cc (clear_padding_flush): Suppress warnings for new
21631 created uses.
21632
21633 2022-02-28 Martin Liska <mliska@suse.cz>
21634
21635 PR ipa/104648
21636 * main.cc (main): Use flag_checking instead of CHECKING_P
21637 and run toplev::finalize only if there is not error seen.
21638
21639 2022-02-28 Richard Biener <rguenther@suse.de>
21640
21641 * tree-ssa-pre.cc (compute_avail): Revert part of last change.
21642
21643 2022-02-28 Richard Biener <rguenther@suse.de>
21644
21645 PR tree-optimization/104700
21646 * tree-ssa-pre.cc (get_or_alloc_expr_for): Remove and inline
21647 into ...
21648 (find_or_generate_expression): ... here, simplifying code.
21649
21650 2022-02-28 Tom de Vries <tdevries@suse.de>
21651
21652 * config/nvptx/nvptx-opts.h (enum ptx_version): Add
21653 PTX_VERSION_default.
21654 * config/nvptx/nvptx.cc (handle_ptx_version_option): Handle
21655 PTX_VERSION_default.
21656 * config/nvptx/nvptx.opt: Add EnumValue "_" / PTX_VERSION_default.
21657
21658 2022-02-28 Richard Biener <rguenther@suse.de>
21659
21660 PR rtl-optimization/104686
21661 * ira-int.h (minmax_set_iter_cond): Use ctz_hwi to elide loop
21662 skipping bits that are zero.
21663 (ira_object_conflict_iter_cond): Likewise.
21664
21665 2022-02-28 Hongyu Wang <hongyu.wang@intel.com>
21666
21667 * config/i386/avx512fintrin.h (_MM_TERNLOG_ENUM): New enum.
21668 (_mm512_ternarylogic_epi64): Truncate imm to unsigned
21669 char to avoid error when using ~enum as parameter.
21670 (_mm512_mask_ternarylogic_epi64): Likewise.
21671 (_mm512_maskz_ternarylogic_epi64): Likewise.
21672 (_mm512_ternarylogic_epi32): Likewise.
21673 (_mm512_mask_ternarylogic_epi32): Likewise.
21674 (_mm512_maskz_ternarylogic_epi32): Likewise.
21675 * config/i386/avx512vlintrin.h (_mm256_ternarylogic_epi64):
21676 Adjust imm param type to unsigned char.
21677 (_mm256_mask_ternarylogic_epi64): Likewise.
21678 (_mm256_maskz_ternarylogic_epi64): Likewise.
21679 (_mm256_ternarylogic_epi32): Likewise.
21680 (_mm256_mask_ternarylogic_epi32): Likewise.
21681 (_mm256_maskz_ternarylogic_epi32): Likewise.
21682 (_mm_ternarylogic_epi64): Likewise.
21683 (_mm_mask_ternarylogic_epi64): Likewise.
21684 (_mm_maskz_ternarylogic_epi64): Likewise.
21685 (_mm_ternarylogic_epi32): Likewise.
21686 (_mm_mask_ternarylogic_epi32): Likewise.
21687 (_mm_maskz_ternarylogic_epi32): Likewise.
21688
21689 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21690 Marc Glisse <marc.glisse@inria.fr>
21691
21692 PR tree-optimization/104675
21693 * match.pd (t * 2U / 2 -> t & (~0 / 2), t / 2U * 2 -> t & ~1):
21694 Restrict simplifications to INTEGRAL_TYPE_P.
21695
21696 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21697
21698 PR target/104681
21699 * config/rs6000/vector.md (movmisalign<mode>): Use rs6000_emit_move.
21700
21701 2022-02-25 Claudiu Zissulescu <claziss@synopsys.com>
21702
21703 * config/arc/arc.cc (gen_compare_reg): Return NULL_RTX if the
21704 comparison is not valid.
21705 * config/arc/arc.md (movsicc): Fail if comparison is not valid.
21706 (movdicc): Likewise.
21707 (movsfcc): Likewise.
21708 (movdfcc): Likewise.
21709
21710 2022-02-25 Richard Biener <rguenther@suse.de>
21711
21712 PR tree-optimization/103037
21713 * tree-ssa-sccvn.h (alloc_vn_nary_op_noinit): Declare.
21714 (vn_nary_length_from_stmt): Likewise.
21715 (init_vn_nary_op_from_stmt): Likewise.
21716 (vn_nary_op_compute_hash): Likewise.
21717 * tree-ssa-sccvn.cc (alloc_vn_nary_op_noinit): Export.
21718 (vn_nary_length_from_stmt): Likewise.
21719 (init_vn_nary_op_from_stmt): Likewise.
21720 (vn_nary_op_compute_hash): Likewise.
21721 * tree-ssa-pre.cc (pre_expr_obstack): New obstack.
21722 (get_or_alloc_expr_for_nary): Pass in the value-id to use,
21723 (re-)compute the hash value and if the expression is not
21724 found allocate it from pre_expr_obstack.
21725 (phi_translate_1): Do not insert the NARY found in the
21726 VN tables but build a PRE expression from the valueized
21727 NARY with the value-id we eventually found.
21728 (find_or_generate_expression): Assert we have an entry
21729 for constant values.
21730 (compute_avail): Insert not valueized expressions into
21731 EXP_GEN using the value-id from the VN tables.
21732 (init_pre): Allocate pre_expr_obstack.
21733 (fini_pre): Free pre_expr_obstack.
21734
21735 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21736
21737 PR target/104674
21738 * config/i386/i386.h (enum ix86_stack_slot): Add SLOT_FLOATxFDI_387.
21739 * config/i386/i386.md (splitter to floatdi<mode>2_i387_with_xmm): Use
21740 SLOT_FLOATxFDI_387 rather than SLOT_TEMP.
21741
21742 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21743
21744 * warning-control.cc (get_nowarn_spec): Comment spelling fix.
21745
21746 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21747
21748 PR middle-end/104679
21749 * internal-fn.cc (expand_SPACESHIP): Call do_pending_stack_adjust.
21750
21751 2022-02-25 Jakub Jelinek <jakub@redhat.com>
21752
21753 PR tree-optimization/104675
21754 * match.pd (-A - 1 -> ~A, -1 - A -> ~A): Don't simplify for
21755 COMPLEX_TYPE.
21756
21757 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21758
21759 PR target/104121
21760 PR target/103302
21761 * expr.cc (emit_move_multi_word): Restore clobbers during LRA.
21762
21763 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21764
21765 PR middle-end/104540
21766 * dwarf2cfi.cc (cfi_oprnd_equal_p): Cope with NULL
21767 dw_cfi_cfa_loc.
21768
21769 2022-02-25 Alexandre Oliva <oliva@adacore.com>
21770
21771 PR tree-optimization/103856
21772 * gimple-harden-conditionals.cc (non_eh_succ_edge): Enable the
21773 eh edge to be requested through an extra parameter.
21774 (pass_harden_compares::execute): Copy PHI args in the EH dest
21775 block for the new EH edge added for the inverted compare.
21776
21777 2022-02-24 Palmer Dabbelt <palmer@rivosinc.com>
21778
21779 * doc/invoke.texi (RISC-V -mcmodel=medany): Document the degree
21780 of position independence that -mcmodel=medany affords.
21781
21782 2022-02-24 Jose E. Marchesi <jose.marchesi@oracle.com>
21783
21784 PR target/104656
21785 * configure.ac: --disable-gcov if targetting bpf-*.
21786 * configure: Regenerate.
21787
21788 2022-02-24 Richard Biener <rguenther@suse.de>
21789
21790 PR tree-optimization/104676
21791 * tree-loop-distribution.cc (loop_distribution::execute):
21792 Do a full scev_reset.
21793
21794 2022-02-24 Jakub Jelinek <jakub@redhat.com>
21795
21796 PR tree-optimization/104601
21797 * tree-ssa-sccvn.cc (visit_reference_op_call): For calls with
21798 non-SSA_NAME lhs value number vdef to itself instead of e.g. the
21799 vuse value number.
21800
21801 2022-02-24 Tom de Vries <tdevries@suse.de>
21802 Tobias Burnus <tobias@codesourcery.com>
21803
21804 * config/nvptx/nvptx.cc (nvptx_omp_device_kind_arch_isa): Handle
21805 sm_70, sm_75 and sm_80.
21806 * config/nvptx/t-omp-device: Add sm_53, sm_70, sm_75 and sm_80.
21807
21808 2022-02-24 Tom de Vries <tdevries@suse.de>
21809
21810 * config/nvptx/nvptx.md (define_insn "rotlsi3", define_insn
21811 "rotrsi3"): New define_insn.
21812
21813 2022-02-24 Tom de Vries <tdevries@suse.de>
21814
21815 * config/nvptx/nvptx.cc (gen_comment): Use
21816 DECL_SOURCE_LOCATION (cfun->decl) instead of cfun->function_start_locus.
21817
21818 2022-02-24 liuhongt <hongtao.liu@intel.com>
21819
21820 * config/i386/sse.md (<code>v1ti3): Add suffix and replace
21821 isa attr of alternative 2 from avx to avx512vl.
21822
21823 2022-02-23 Richard Biener <rguenther@suse.de>
21824 Jakub Jelinek <jakub@redhat.com>
21825
21826 PR tree-optimization/104644
21827 * doc/match-and-simplify.texi: Amend ! documentation.
21828 * genmatch.cc (expr::gen_transform): Code-generate ! support
21829 for GENERIC.
21830 (parser::parse_expr): Allow ! for GENERIC.
21831 * match.pd (cmp (bswap @0) INTEGER_CST@1): Use ! modifier on
21832 bswap.
21833
21834 2022-02-23 Richard Biener <rguenther@suse.de>
21835
21836 PR tree-optimization/101636
21837 * tree-vect-slp.cc (vect_print_slp_tree): Dump the
21838 vector type of the node.
21839 (vect_slp_analyze_operations): Make sure the CTOR
21840 is vectorized with an expected type.
21841 (vectorize_slp_instance_root_stmt): Revert r10-5979 fix.
21842
21843 2022-02-23 Jakub Jelinek <jakub@redhat.com>
21844
21845 PR c/104633
21846 * gimple-warn-recursion.cc (pass_warn_recursion::find_function_exit):
21847 Don't warn about calls to corresponding builtin from extern inline
21848 gnu_inline wrappers.
21849
21850 2022-02-23 Roger Sayle <roger@nextmovesoftware.com>
21851
21852 PR target/104489
21853 * config/nvptx/nvptx.md (*movhf_insn): Add subregs_ok attribute.
21854
21855 2022-02-23 Christophe Lyon <christophe.lyon@arm.com>
21856
21857 PR target/100757
21858 PR target/101325
21859 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Fix
21860 typo.
21861
21862 2022-02-23 Cui,Lili <lili.cui@intel.com>
21863
21864 * doc/invoke.texi: Update documents for Intel architectures.
21865
21866 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
21867
21868 * config/i386/i386-expand.cc (ix86_expand_cmpxchg_loop): Restore
21869 bootstrap.
21870
21871 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
21872
21873 * omp-low.cc (omp_build_component_ref): Move function...
21874 * omp-general.cc (omp_build_component_ref): ... here. Remove
21875 'static'.
21876 * omp-general.h (omp_build_component_ref): Declare function.
21877 * omp-oacc-neuter-broadcast.cc (oacc_build_component_ref): Remove
21878 function.
21879 (build_receiver_ref, build_sender_ref): Call
21880 'omp_build_component_ref' instead.
21881
21882 2022-02-22 Thomas Schwinge <thomas@codesourcery.com>
21883
21884 * omp-oacc-neuter-broadcast.cc (record_field_map_t): Further
21885 simplify. Adjust all users.
21886
21887 2022-02-22 Segher Boessenkool <segher@kernel.crashing.org>
21888
21889 PR target/88134
21890 * config/rs6000/rs6000.cc (atomic_hold_decl, atomic_clear_decl,
21891 atomic_update_decl): Add GTY markup.
21892
21893 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21894
21895 * config/arm/arm.h (REG_CLASS_CONTENTS): Add VPR_REG to ALL_REGS.
21896
21897 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21898
21899 PR target/100757
21900 PR target/101325
21901 * config/arm/arm-builtins.cc (CX_UNARY_UNONE_QUALIFIERS): Use
21902 predicate.
21903 (CX_BINARY_UNONE_QUALIFIERS): Likewise.
21904 (CX_TERNARY_UNONE_QUALIFIERS): Likewise.
21905 (TERNOP_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
21906 (QUADOP_NONE_NONE_NONE_NONE_UNONE_QUALIFIERS): Delete.
21907 (QUADOP_UNONE_UNONE_UNONE_UNONE_UNONE_QUALIFIERS): Delete.
21908 * config/arm/arm_mve_builtins.def: Use predicated qualifiers.
21909 * config/arm/mve.md: Use VxBI instead of HI.
21910
21911 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21912
21913 PR target/100757
21914 PR target/101325
21915 * config/arm/arm-builtins.cc (STRSBS_P_QUALIFIERS): Use predicate
21916 qualifier.
21917 (STRSBU_P_QUALIFIERS): Likewise.
21918 (LDRGBS_Z_QUALIFIERS): Likewise.
21919 (LDRGBU_Z_QUALIFIERS): Likewise.
21920 (LDRGBWBXU_Z_QUALIFIERS): Likewise.
21921 (LDRGBWBS_Z_QUALIFIERS): Likewise.
21922 (LDRGBWBU_Z_QUALIFIERS): Likewise.
21923 (STRSBWBS_P_QUALIFIERS): Likewise.
21924 (STRSBWBU_P_QUALIFIERS): Likewise.
21925 * config/arm/mve.md: Use VxBI instead of HI.
21926
21927 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21928
21929 PR target/100757
21930 PR target/101325
21931 * config/arm/arm-builtins.cc (TERNOP_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
21932 (TERNOP_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
21933 (TERNOP_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
21934 (TERNOP_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
21935 (TERNOP_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
21936 (TERNOP_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
21937 (TERNOP_NONE_NONE_UNONE_UNONE_QUALIFIERS): Change to ...
21938 (TERNOP_NONE_NONE_UNONE_PRED_QUALIFIERS): ... this.
21939 (QUADOP_UNONE_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
21940 (QUADOP_UNONE_UNONE_NONE_NONE_PRED_QUALIFIERS): ... this.
21941 (QUADOP_NONE_NONE_NONE_NONE_PRED_QUALIFIERS): New.
21942 (QUADOP_NONE_NONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
21943 (QUADOP_NONE_NONE_NONE_IMM_PRED_QUALIFIERS): ... this.
21944 (QUADOP_UNONE_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
21945 (QUADOP_UNONE_UNONE_NONE_IMM_UNONE_QUALIFIERS): Change to ...
21946 (QUADOP_UNONE_UNONE_NONE_IMM_PRED_QUALIFIERS): ... this.
21947 (QUADOP_NONE_NONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
21948 (QUADOP_NONE_NONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
21949 (QUADOP_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
21950 (QUADOP_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
21951 (QUADOP_UNONE_UNONE_UNONE_NONE_UNONE_QUALIFIERS): Change to ...
21952 (QUADOP_UNONE_UNONE_UNONE_NONE_PRED_QUALIFIERS): ... this.
21953 (STRS_P_QUALIFIERS): Use predicate qualifier.
21954 (STRU_P_QUALIFIERS): Likewise.
21955 (STRSU_P_QUALIFIERS): Likewise.
21956 (STRSS_P_QUALIFIERS): Likewise.
21957 (LDRGS_Z_QUALIFIERS): Likewise.
21958 (LDRGU_Z_QUALIFIERS): Likewise.
21959 (LDRS_Z_QUALIFIERS): Likewise.
21960 (LDRU_Z_QUALIFIERS): Likewise.
21961 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_UNONE_QUALIFIERS): Change to ...
21962 (QUINOP_UNONE_UNONE_UNONE_UNONE_IMM_PRED_QUALIFIERS): ... this.
21963 (BINOP_NONE_NONE_PRED_QUALIFIERS): New.
21964 (BINOP_UNONE_UNONE_PRED_QUALIFIERS): New.
21965 * config/arm/arm_mve_builtins.def: Use new predicated qualifiers.
21966 * config/arm/mve.md: Use MVE_VPRED instead of HI.
21967
21968 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21969
21970 PR target/100757
21971 PR target/101325
21972 * config/arm/arm-builtins.cc (BINOP_UNONE_NONE_NONE_QUALIFIERS):
21973 Delete.
21974 (TERNOP_UNONE_NONE_NONE_UNONE_QUALIFIERS): Change to ...
21975 (TERNOP_PRED_NONE_NONE_PRED_QUALIFIERS): ... this.
21976 (TERNOP_PRED_UNONE_UNONE_PRED_QUALIFIERS): New.
21977 * config/arm/arm_mve_builtins.def (vcmp*q_n_, vcmp*q_m_f): Use new
21978 predicated qualifiers.
21979 * config/arm/mve.md (mve_vcmp<mve_cmp_op>q_n_<mode>)
21980 (mve_vcmp*q_m_f<mode>): Use MVE_VPRED instead of HI.
21981
21982 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
21983
21984 PR target/100757
21985 * config/arm/arm-protos.h (arm_get_mask_mode): New prototype.
21986 (arm_expand_vector_compare): Update prototype.
21987 * config/arm/arm.cc (TARGET_VECTORIZE_GET_MASK_MODE): New.
21988 (arm_vector_mode_supported_p): Add support for VxBI modes.
21989 (arm_expand_vector_compare): Remove useless generation of vpsel.
21990 (arm_expand_vcond): Fix select operands.
21991 (arm_get_mask_mode): New.
21992 * config/arm/mve.md (vec_cmp<mode><MVE_vpred>): New.
21993 (vec_cmpu<mode><MVE_vpred>): New.
21994 (vcond_mask_<mode><MVE_vpred>): New.
21995 * config/arm/vec-common.md (vec_cmp<mode><v_cmp_result>)
21996 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): Move to ...
21997 * config/arm/neon.md (vec_cmp<mode><v_cmp_result>)
21998 (vec_cmpu<mode><mode, vcond_mask_<mode><v_cmp_result>): ... here
21999 and disable for MVE.
22000 * doc/sourcebuild.texi (arm_mve): Document new effective-target.
22001
22002 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22003
22004 PR target/100757
22005 PR target/101325
22006 * config/arm/arm-builtins.cc (BINOP_PRED_UNONE_UNONE_QUALIFIERS)
22007 (BINOP_PRED_NONE_NONE_QUALIFIERS)
22008 (TERNOP_NONE_NONE_NONE_PRED_QUALIFIERS)
22009 (TERNOP_UNONE_UNONE_UNONE_PRED_QUALIFIERS): New.
22010 * config/arm/arm-protos.h (mve_bool_vec_to_const): New.
22011 * config/arm/arm.cc (arm_hard_regno_mode_ok): Handle new VxBI
22012 modes.
22013 (arm_mode_to_pred_mode): New.
22014 (arm_expand_vector_compare): Use the right VxBI mode instead of
22015 HI.
22016 (arm_expand_vcond): Likewise.
22017 (simd_valid_immediate): Handle MODE_VECTOR_BOOL.
22018 (mve_bool_vec_to_const): New.
22019 (neon_make_constant): Call mve_bool_vec_to_const when needed.
22020 * config/arm/arm_mve_builtins.def (vcmpneq_, vcmphiq_, vcmpcsq_)
22021 (vcmpltq_, vcmpleq_, vcmpgtq_, vcmpgeq_, vcmpeqq_, vcmpneq_f)
22022 (vcmpltq_f, vcmpleq_f, vcmpgtq_f, vcmpgeq_f, vcmpeqq_f, vpselq_u)
22023 (vpselq_s, vpselq_f): Use new predicated qualifiers.
22024 * config/arm/constraints.md (DB): New.
22025 * config/arm/iterators.md (MVE_7, MVE_7_HI): New mode iterators.
22026 (MVE_VPRED, MVE_vpred): New attribute iterators.
22027 * config/arm/mve.md (@mve_vcmp<mve_cmp_op>q_<mode>)
22028 (@mve_vcmp<mve_cmp_op>q_f<mode>, @mve_vpselq_<supf><mode>)
22029 (@mve_vpselq_f<mode>): Use MVE_VPRED instead of HI.
22030 (@mve_vpselq_<supf>v2di): Define separately.
22031 (mov<mode>): New expander for VxBI modes.
22032 * config/arm/vfp.md (thumb2_movhi_vfp, thumb2_movhi_fp16): Use
22033 MVE_7_HI iterator and add support for DB constraint.
22034
22035 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22036 Richard Sandiford <richard.sandiford@arm.com>
22037
22038 PR target/100757
22039 PR target/101325
22040 * config/aarch64/aarch64-modes.def (VNx16BI, VNx8BI, VNx4BI,
22041 VNx2BI): Update definition.
22042 * config/arm/arm-builtins.cc (arm_init_simd_builtin_types): Add new
22043 simd types.
22044 (arm_init_builtin): Map predicate vectors arguments to HImode.
22045 (arm_expand_builtin_args): Move HImode predicate arguments to VxBI
22046 rtx. Move return value to HImode rtx.
22047 * config/arm/arm-builtins.h (arm_type_qualifiers): Add qualifier_predicate.
22048 * config/arm/arm-modes.def (B2I, B4I, V16BI, V8BI, V4BI): New modes.
22049 * config/arm/arm-simd-builtin-types.def (Pred1x16_t,
22050 Pred2x8_t,Pred4x4_t): New.
22051 * emit-rtl.cc (init_emit_once): Handle all boolean modes.
22052 * genmodes.cc (mode_data): Add boolean field.
22053 (blank_mode): Initialize it.
22054 (make_complex_modes): Fix handling of boolean modes.
22055 (make_vector_modes): Likewise.
22056 (VECTOR_BOOL_MODE): Use new COMPONENT parameter.
22057 (make_vector_bool_mode): Likewise.
22058 (BOOL_MODE): New.
22059 (make_bool_mode): New.
22060 (emit_insn_modes_h): Fix generation of boolean modes.
22061 (emit_class_narrowest_mode): Likewise.
22062 * machmode.def: (VECTOR_BOOL_MODE): Document new COMPONENT
22063 parameter. Use new BOOL_MODE instead of FRACTIONAL_INT_MODE to
22064 define BImode.
22065 * rtx-vector-builder.cc (rtx_vector_builder::find_cached_value):
22066 Fix handling of constm1_rtx for VECTOR_BOOL.
22067 * simplify-rtx.cc (native_encode_rtx): Fix support for VECTOR_BOOL.
22068 (native_decode_vector_rtx): Likewise.
22069 (test_vector_ops_duplicate): Skip vec_merge test
22070 with vectors of booleans.
22071 * varasm.cc (output_constant_pool_2): Likewise.
22072
22073 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22074
22075 * config/arm/mve.md (mve_vmvnq_n_<supf><mode>): Use V_elem mode
22076 for operand 1.
22077
22078 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22079
22080 * config/arm/arm.cc (arm_class_likely_spilled_p): Handle VPR_REG.
22081
22082 2022-02-22 Christophe Lyon <christophe.lyon@arm.com>
22083
22084 * config/arm/arm.h (reg_class): Add GENERAL_AND_VPR_REGS.
22085 (REG_CLASS_NAMES): Likewise.
22086 (REG_CLASS_CONTENTS): Likewise.
22087 (CLASS_MAX_NREGS): Handle VPR.
22088 * config/arm/arm.cc (arm_hard_regno_nregs): Handle VPR.
22089
22090 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
22091 Tom de Vries <tdevries@suse.de>
22092
22093 * config/nvptx/nvptx-c.cc (nvptx_cpu_cpp_builtins): Handle SM70.
22094 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm):
22095 Likewise.
22096 * config/nvptx/nvptx.opt (misa): Add sm_70 alias PTX_ISA_SM70.
22097
22098 2022-02-22 Tobias Burnus <tobias@codesourcery.com>
22099 Tom de Vries <tdevries@suse.de>
22100
22101 * config/nvptx/nvptx.opt (mptx): Add 6.0 alias PTX_VERSION_6_0.
22102 * doc/invoke.texi (-mptx): Update for new values and defaults.
22103
22104 2022-02-22 Tom de Vries <tdevries@suse.de>
22105
22106 * config/nvptx/nvptx.cc (gen_comment): New function.
22107 (workaround_uninit_method_1, workaround_uninit_method_2)
22108 (workaround_uninit_method_3): : Use gen_comment.
22109 * config/nvptx/nvptx.opt (mptx-comment): New option.
22110
22111 2022-02-22 Richard Biener <rguenther@suse.de>
22112
22113 * tree-vect-slp.cc (vect_build_slp_tree_2): Dump the def used
22114 for a splat.
22115
22116 2022-02-22 Roger Sayle <roger@nextmovesoftware.com>
22117 Richard Biener <rguenther@suse.de>
22118
22119 * fold-const.cc (ctor_single_nonzero_element): New function to
22120 return the single non-zero element of a (vector) constructor.
22121 * fold-const.h (ctor_single_nonzero_element): Prototype here.
22122 * match.pd (reduc (constructor@0)): Simplify reductions of a
22123 constructor containing a single non-zero element.
22124 (reduc (@0 op VECTOR_CST) -> (reduc @0) op CONST): Simplify
22125 reductions of vector operations of the same operator with
22126 constant vector operands.
22127
22128 2022-02-22 Jakub Jelinek <jakub@redhat.com>
22129
22130 PR tree-optimization/104604
22131 * gimple-range-fold.cc (adjust_imagpart_expr, adjust_realpart_expr):
22132 Only check if gimple_assign_rhs1 is COMPLEX_CST if
22133 gimple_assign_rhs_code is COMPLEX_CST.
22134
22135 2022-02-22 Jakub Jelinek <jakub@redhat.com>
22136
22137 PR target/104612
22138 * config/i386/i386-expand.cc (ix86_expand_copysign): Call force_reg
22139 on input operands before calling lowpart_subreg on it. For output
22140 operand, use a vmode pseudo as destination and then move its lowpart
22141 subreg into operands[0] if lowpart_subreg fails on dest.
22142 (ix86_expand_xorsign): Likewise.
22143
22144 2022-02-22 Richard Biener <rguenther@suse.de>
22145
22146 PR tree-optimization/104582
22147 PR target/99881
22148 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
22149 Cost GPR to vector register moves for integer vector construction.
22150
22151 2022-02-22 Richard Biener <rguenther@suse.de>
22152
22153 PR tree-optimization/104582
22154 * tree-vectorizer.h (stmt_info_for_cost::node): New field.
22155 (vector_costs::add_stmt_cost): Add SLP node parameter.
22156 (dump_stmt_cost): Likewise.
22157 (add_stmt_cost): Likewise, new overload and adjust.
22158 (add_stmt_costs): Adjust.
22159 (record_stmt_cost): New overload.
22160 * tree-vectorizer.cc (dump_stmt_cost): Dump the SLP node.
22161 (vector_costs::add_stmt_cost): Adjust.
22162 * tree-vect-loop.cc (vect_estimate_min_profitable_iters):
22163 Adjust.
22164 * tree-vect-slp.cc (vect_prologue_cost_for_slp): Record
22165 the SLP node for costing.
22166 (vectorizable_slp_permutation): Likewise.
22167 * tree-vect-stmts.cc (record_stmt_cost): Adjust and add
22168 new overloads.
22169 * config/i386/i386.cc (ix86_vector_costs::add_stmt_cost):
22170 Adjust.
22171 * config/aarch64/aarch64.cc (aarch64_vector_costs::add_stmt_cost):
22172 Adjust.
22173 * config/rs6000/rs6000.cc (rs6000_vector_costs::add_stmt_cost):
22174 Adjust.
22175 (rs6000_cost_data::adjust_vect_cost_per_loop): Likewise.
22176
22177 2022-02-22 Richard Biener <rguenther@suse.de>
22178
22179 PR tree-optimization/104582
22180 * tree-vectorizer.h (add_stmt_cost): New overload.
22181 (record_stmt_cost): Likewise.
22182 * tree-vect-loop.cc (vect_compute_single_scalar_iteration_cost):
22183 Use add_stmt_costs.
22184 (vect_get_known_peeling_cost): Use new overloads.
22185 (vect_estimate_min_profitable_iters): Likewise. Consistently
22186 use scalar_stmt for costing versioning checks.
22187 * tree-vect-stmts.cc (record_stmt_cost): New overload.
22188
22189 2022-02-22 Hongyu Wang <hongyu.wang@intel.com>
22190
22191 PR target/103069
22192 * config/i386/i386-expand.cc (ix86_expand_atomic_fetch_op_loop):
22193 Split atomic fetch and loop part.
22194 (ix86_expand_cmpxchg_loop): New expander for cmpxchg loop.
22195 * config/i386/i386-protos.h (ix86_expand_cmpxchg_loop): New
22196 prototype.
22197 * config/i386/sync.md (atomic_compare_and_swap<mode>): Call new
22198 expander under TARGET_RELAX_CMPXCHG_LOOP.
22199 (atomic_compare_and_swap<mode>): Likewise for doubleword modes.
22200
22201 2022-02-21 Dan Li <ashimida@linux.alibaba.com>
22202
22203 * config/aarch64/aarch64.cc (SLOT_REQUIRED):
22204 Change wb_candidate[12] to wb_push_candidate[12].
22205 (aarch64_layout_frame): Likewise, and
22206 change callee_adjust when scs is enabled.
22207 (aarch64_save_callee_saves):
22208 Change wb_candidate[12] to wb_push_candidate[12].
22209 (aarch64_restore_callee_saves):
22210 Change wb_candidate[12] to wb_pop_candidate[12].
22211 (aarch64_get_separate_components):
22212 Change wb_candidate[12] to wb_push_candidate[12].
22213 (aarch64_expand_prologue): Push x30 onto SCS before it's
22214 pushed onto stack.
22215 (aarch64_expand_epilogue): Pop x30 frome SCS, while
22216 preventing it from being popped from the regular stack again.
22217 (aarch64_override_options_internal): Add SCS compile option check.
22218 (TARGET_HAVE_SHADOW_CALL_STACK): New hook.
22219 * config/aarch64/aarch64.h (struct GTY): Add is_scs_enabled,
22220 wb_pop_candidate[12], and rename wb_candidate[12] to
22221 wb_push_candidate[12].
22222 * config/aarch64/aarch64.md (scs_push): New template.
22223 (scs_pop): Likewise.
22224 * doc/invoke.texi: Document -fsanitize=shadow-call-stack.
22225 * doc/tm.texi: Regenerate.
22226 * doc/tm.texi.in: Add hook have_shadow_call_stack.
22227 * flag-types.h (enum sanitize_code):
22228 Add SANITIZE_SHADOW_CALL_STACK.
22229 * opts.cc (parse_sanitizer_options): Add shadow-call-stack
22230 and exclude SANITIZE_SHADOW_CALL_STACK.
22231 * target.def: New hook.
22232 * toplev.cc (process_options): Add SCS compile option check.
22233 * ubsan.cc (ubsan_expand_null_ifn): Enum type conversion.
22234
22235 2022-02-21 Tom de Vries <tdevries@suse.de>
22236
22237 PR target/104440
22238 * config/nvptx/nvptx.cc (workaround_uninit_method_1)
22239 (workaround_uninit_method_2, workaround_uninit_method_3)
22240 (workaround_uninit): New function.
22241 (nvptx_reorg): Use workaround_uninit.
22242 * config/nvptx/nvptx.opt (minit-regs): New option.
22243
22244 2022-02-21 Andre Vieira <andre.simoesdiasvieira@arm.com>
22245
22246 PR rtl-optimization/104498
22247 * alias.cc (compare_base_symbol_refs): Correct distance computation
22248 when swapping x and y.
22249
22250 2022-02-21 Andrew Pinski <apinski@marvell.com>
22251
22252 PR c/104506
22253 * tree-ssa.cc (tree_ssa_useless_type_conversion):
22254 Check the inner type before calling useless_type_conversion_p.
22255
22256 2022-02-19 Tom de Vries <tdevries@suse.de>
22257
22258 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle SET insn.
22259 * config/nvptx/nvptx.md
22260 (define_insn "nvptx_atomic_store<mode>"): Rename to ...
22261 (define_insn "nvptx_atomic_store_sm70<mode>"): This.
22262 (define_insn "nvptx_atomic_store<mode>"): New define_insn.
22263 (define_expand "atomic_store<mode>"): Handle rename. Use
22264 nvptx_atomic_store instead of atomic_exchange.
22265
22266 2022-02-19 Tom de Vries <tdevries@suse.de>
22267
22268 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Handle all
22269 insns with atomic attribute. Assert that all handled insns are
22270 PARALLELs.
22271 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"):
22272 Set atomic attribute to false.
22273
22274 2022-02-19 Tom de Vries <tdevries@suse.de>
22275
22276 * config/nvptx/nvptx.cc (nvptx_unisimt_handle_set): Change return
22277 type to bool.
22278 (nvptx_reorg_uniform_simt): Insert nvptx_uniform_warp_check or
22279 nvptx_warpsync, if necessary.
22280
22281 2022-02-19 Jakub Jelinek <jakub@redhat.com>
22282
22283 PR sanitizer/102656
22284 * asan.cc (instrument_derefs): If inner is a RESULT_DECL and access is
22285 known to be within bounds, treat it like automatic variables.
22286 If instrumenting access and inner is {VAR,PARM,RESULT}_DECL from
22287 current function and !TREE_STATIC which is not TREE_ADDRESSABLE, mark
22288 it addressable.
22289
22290 2022-02-18 Pat Haugen <pthaugen@linux.ibm.com>
22291
22292 * config/rs6000/rs6000.opt (mpower10-fusion): Mark Undocumented.
22293 (mpower10-fusion-ld-cmpi, mpower10-fusion-2logical,
22294 mpower10-fusion-logical-add, mpower10-fusion-add-logical,
22295 mpower10-fusion-2add, mpower10-fusion-2store): Remove.
22296 * config/rs6000/rs6000-cpus.def (ISA_3_1_MASKS_SERVER,
22297 OTHER_P9_VECTOR_MASKS): Remove Power10 fusion sub-options.
22298 * config/rs6000/rs6000.cc (rs6000_option_override_internal,
22299 power10_sched_reorder): Likewise.
22300 * config/rs6000/genfusion.pl (gen_ld_cmpi_p10, gen_logical_addsubf,
22301 gen_addadd): Likewise
22302 * config/rs6000/fusion.md: Regenerate.
22303
22304 2022-02-18 Jakub Jelinek <jakub@redhat.com>
22305
22306 PR target/104257
22307 PR target/104598
22308 * config/rs6000/mm_malloc.h (_mm_malloc): Call posix_memalign
22309 rather than __posix_memalign.
22310
22311 2022-02-18 Richard Biener <rguenther@suse.de>
22312
22313 PR target/104581
22314 * config/i386/i386.cc (ix86_avx_u128_mode_source): Remove.
22315 (ix86_avx_u128_mode_needed): Return AVX_U128_DIRTY instead
22316 of calling ix86_avx_u128_mode_source which would eventually
22317 have returned AVX_U128_ANY in some very special case.
22318
22319 2022-02-18 Richard Biener <rguenther@suse.de>
22320
22321 PR tree-optimization/96881
22322 * tree-ssa-dce.cc (mark_stmt_if_obviously_necessary): Comment
22323 CLOBBER handling.
22324 (control_parents_preserved_p): New function.
22325 (eliminate_unnecessary_stmts): Check that we preserved control
22326 parents before retaining a CLOBBER.
22327 (perform_tree_ssa_dce): Pass down aggressive flag
22328 to eliminate_unnecessary_stmts.
22329
22330 2022-02-17 Jason Merrill <jason@redhat.com>
22331
22332 * tree.cc (warn_deprecated_use): Look for TYPE_STUB_DECL
22333 on TYPE_MAIN_VARIANT.
22334
22335 2022-02-17 Paul A. Clarke <pc@us.ibm.com>
22336
22337 PR target/104257
22338 * config/rs6000/bmi2intrin.h: Uglify local variables.
22339 * config/rs6000/emmintrin.h: Likewise.
22340 * config/rs6000/mm_malloc.h: Likewise.
22341 * config/rs6000/mmintrin.h: Likewise.
22342 * config/rs6000/pmmintrin.h: Likewise.
22343 * config/rs6000/smmintrin.h: Likewise.
22344 * config/rs6000/tmmintrin.h: Likewise.
22345 * config/rs6000/xmmintrin.h: Likewise.
22346
22347 2022-02-17 Robin Dapp <rdapp@linux.ibm.com>
22348
22349 PR target/104335
22350 * config/rs6000/rs6000.cc (rs6000_emit_int_cmove): Return false
22351 if the expected comparison's first operand is of mode MODE_CC.
22352
22353 2022-02-17 Vladimir N. Makarov <vmakarov@redhat.com>
22354
22355 PR rtl-optimization/104447
22356 * lra-constraints.cc (spill_hard_reg_in_range): Initiate ignore
22357 hard reg set by lra_no_alloc_regs.
22358
22359 2022-02-17 liuhongt <hongtao.liu@intel.com>
22360
22361 PR tree-optimization/104551
22362 PR tree-optimization/103771
22363 * match.pd (cond_expr_convert_p): Add types_match check when
22364 convert is extension.
22365 * tree-vect-patterns.cc
22366 (gimple_cond_expr_convert_p): Adjust comments.
22367 (vect_recog_cond_expr_convert_pattern): Ditto.
22368
22369 2022-02-17 Jakub Jelinek <jakub@redhat.com>
22370
22371 PR debug/104557
22372 * valtrack.cc (debug_lowpart_subreg): Don't call gen_rtx_raw_SUBREG
22373 if expr has VOIDmode.
22374
22375 2022-02-17 liuhongt <hongtao.liu@intel.com>
22376
22377 * config/i386/cpuid.h (bit_MPX): Removed.
22378 (bit_BNDREGS): Ditto.
22379 (bit_BNDCSR): Ditto.
22380
22381 2022-02-17 Michael Meissner <meissner@the-meissners.org>
22382
22383 PR target/99708
22384 * config/rs6000/rs6000-c.cc (rs6000_cpu_cpp_builtins): Define
22385 __SIZEOF_IBM128__ if the IBM 128-bit long double type is created.
22386 Define __SIZEOF_FLOAT128__ if the IEEE 128-bit floating point type
22387 is created.
22388
22389 2022-02-16 Andrew MacLeod <amacleod@redhat.com>
22390
22391 * gimple-range-gori.cc (gori_compute::condexpr_adjust): Use
22392 range_compatible_p instead of direct type comparison.
22393
22394 2022-02-16 Jakub Jelinek <jakub@redhat.com>
22395
22396 PR rtl-optimization/104544
22397 * combine.cc (try_combine): When looking for insn whose links
22398 should be updated from i3 to i2, don't stop on debug insns, instead
22399 skip over them.
22400
22401 2022-02-16 Richard Sandiford <richard.sandiford@arm.com>
22402
22403 PR target/100056
22404 * config/aarch64/iterators.md (LOGICAL_OR_PLUS): New iterator.
22405 * config/aarch64/aarch64.md: Extend the PR100056 patterns
22406 to handle plus in the same way as ior, if the operands have
22407 no set bits in common.
22408
22409 2022-02-15 Andrew MacLeod <amacleod@redhat.com>
22410
22411 PR tree-optimization/104526
22412 * gimple-range-fold.cc (fold_using_range::range_of_cond_expr): Call
22413 new routine.
22414 * gimple-range-gori.cc (range_def_chain::get_def_chain): Force a build
22415 of dependency chain if there isn't one.
22416 (gori_compute::condexpr_adjust): New.
22417 * gimple-range-gori.h (class gori_compute): New prototype.
22418
22419 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22420
22421 PR target/100874
22422 * config/aarch64/aarch64-protos.h (aarch64_maxmin_plus_const):
22423 Declare.
22424 * config/aarch64/aarch64.cc (aarch64_maxmin_plus_const): New function.
22425 * config/aarch64/aarch64.md (*aarch64_minmax_plus): New pattern.
22426
22427 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22428
22429 * tree-vectorizer.h (vect_scalar_ops_slice): New struct.
22430 (vect_scalar_ops_slice_hash): Likewise.
22431 (vect_scalar_ops_slice::op): New function.
22432 * tree-vect-slp.cc (vect_scalar_ops_slice::all_same_p): New function.
22433 (vect_scalar_ops_slice_hash::hash): Likewise.
22434 (vect_scalar_ops_slice_hash::equal): Likewise.
22435 (vect_prologue_cost_for_slp): Check for duplicate vectors.
22436 * config/aarch64/aarch64.cc
22437 (aarch64_vector_costs::m_stp_sequence_cost): New member variable.
22438 (aarch64_aligned_constant_offset_p): New function.
22439 (aarch64_stp_sequence_cost): Likewise.
22440 (aarch64_vector_costs::add_stmt_cost): Handle new STP heuristic.
22441 (aarch64_vector_costs::finish_cost): Likewise.
22442
22443 2022-02-15 Richard Sandiford <richard.sandiford@arm.com>
22444
22445 * tree-vect-slp.cc (vect_bb_vectorization_profitable_p): Fix
22446 use after free.
22447
22448 2022-02-15 Richard Biener <rguenther@suse.de>
22449
22450 PR tree-optimization/104543
22451 * gimple-loop-jam.cc (unroll_jam_possible_p): Check outer loop exits
22452 come after the inner loop.
22453
22454 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22455
22456 PR target/104536
22457 * config/i386/host-cygwin.cc (cygwin_gt_pch_get_address): Use
22458 cannot instead of can%'t in diagnostics. Formatting fixes.
22459
22460 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22461
22462 PR middle-end/104522
22463 * fold-const.h (native_interpret_real): Declare.
22464 * fold-const.cc (native_interpret_real): No longer static. Don't
22465 perform MODE_COMPOSITE_P verification here.
22466 (native_interpret_expr) <case REAL_TYPE>: But perform it here instead
22467 for all modes.
22468 * gimple-fold.cc (clear_padding_type): Call native_interpret_real
22469 instead of native_interpret_expr.
22470 * simplify-rtx.cc (simplify_immed_subreg): Perform the native_encode_rtx
22471 and comparison verification for all FLOAT_MODE_P modes, not just
22472 MODE_COMPOSITE_P.
22473
22474 2022-02-15 Richard Biener <rguenther@suse.de>
22475
22476 PR tree-optimization/104519
22477 * fold-const.cc (multiple_of_p): Remove never true condition.
22478 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Use
22479 the appropriate types for determining whether the difference
22480 of final and base is a multiple of the step.
22481
22482 2022-02-15 Jakub Jelinek <jakub@redhat.com>
22483
22484 PR debug/104517
22485 * omp-low.cc (task_cpyfns): New variable.
22486 (delete_omp_context): Don't call finalize_task_copyfn from here.
22487 (create_task_copyfn): Push task_stmt into task_cpyfns.
22488 (execute_lower_omp): Call finalize_task_copyfn here on entries from
22489 task_cpyfns vector and release the vector.
22490
22491 2022-02-14 Martin Sebor <msebor@redhat.com>
22492
22493 PR middle-end/104355
22494 * doc/invoke.texi (-Warray-bounds): Update documentation.
22495
22496 2022-02-14 Michael Meissner <meissner@the-meissners.org>
22497
22498 PR target/104253
22499 * config/rs6000/rs6000.cc (init_float128_ibm): Update the
22500 conversion functions used to convert IFmode types.
22501
22502 2022-02-14 Andrew Stubbs <ams@codesourcery.com>
22503
22504 * config/gcn/gcn.cc (gcn_expand_reduc_scalar): Use force_reg.
22505
22506 2022-02-14 Richard Biener <rguenther@suse.de>
22507
22508 PR tree-optimization/104528
22509 * tree-ssa.h (find_released_ssa_name): Declare.
22510 * tree-ssa.cc (find_released_ssa_name): Export.
22511 * cfgloop.cc (verify_loop_structure): Look for released
22512 SSA names in loops nb_iterations.
22513 * tree-ssa-dse.cc (pass_dse::execute): Release number of iteration
22514 estimates.
22515
22516 2022-02-14 Richard Biener <rguenther@suse.de>
22517
22518 PR tree-optimization/104511
22519 * tree-ssa-forwprop.cc (simplify_vector_constructor): Avoid
22520 touching DFP <-> FP conversions.
22521
22522 2022-02-14 Richard Biener <rguenther@suse.de>
22523
22524 PR middle-end/104497
22525 * gimplify.cc (gimplify_compound_lval): Make sure the
22526 base is a non-register if needed and possible.
22527
22528 2022-02-13 liuhongt <hongtao.liu@intel.com>
22529
22530 PR target/103771
22531 * match.pd (cond_expr_convert_p): New match.
22532 * tree-vect-patterns.cc (gimple_cond_expr_convert_p): Declare.
22533 (vect_recog_cond_expr_convert_pattern): New.
22534
22535 2022-02-12 Jakub Jelinek <jakub@redhat.com>
22536
22537 PR sanitizer/104449
22538 * asan.cc: Include tree-eh.h.
22539 (handle_builtin_alloca): Handle the case when __builtin_alloca or
22540 __builtin_alloca_with_align can throw.
22541
22542 2022-02-12 Jakub Jelinek <jakub@redhat.com>
22543
22544 PR target/104502
22545 * config/i386/i386.md (cvtsd2ss splitter): If operands[1] is xmm16+
22546 and AVX512VL isn't available, move operands[1] to operands[0] first.
22547
22548 2022-02-12 Uroš Bizjak <ubizjak@gmail.com>
22549
22550 PR target/79754
22551 * config/i386/i386.cc (type_natural_mode):
22552 Skip decimal float vector modes.
22553
22554 2022-02-11 Iain Sandoe <iain@sandoe.co.uk>
22555 Vladimir Makarov <vmakarov@redhat.com>
22556
22557 PR target/104117
22558 * config/rs6000/rs6000.cc (darwin_rs6000_legitimate_lo_sum_const_p):
22559 Check for UNSPEC_MACHOPIC_OFFSET wrappers on symbolic addresses when
22560 emitting PIC code.
22561 (legitimate_lo_sum_address_p): Likewise.
22562 * lra-constraints.cc (process_address_1): Do not attempt to emit a reg
22563 load from an invalid lo_sum address.
22564
22565 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22566
22567 PR tree-optimization/104499
22568 * match.pd ((X & Y) CMP 0 -> X CMP2 ~Y): Use view_convert instead
22569 of convert.
22570
22571 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22572
22573 * tree.cc (build_common_builtin_nodes): Fix up formatting in
22574 __builtin_clear_padding decl creation.
22575 * gimplify.cc (gimple_add_padding_init_for_auto_var): Encode
22576 for_auto_init in the value of 2nd BUILT_IN_CLEAR_PADDING
22577 argument rather than in 3rd argument.
22578 (gimplify_call_expr): Likewise. Fix up comment formatting.
22579 * gimple-fold.cc (gimple_fold_builtin_clear_padding): Expect
22580 2 arguments instead of 3, take for_auto_init from the value
22581 of 2nd argument.
22582
22583 2022-02-11 Vladimir N. Makarov <vmakarov@redhat.com>
22584
22585 PR rtl-optimization/104400
22586 * lra-constraints.cc (process_alt_operands): Don't make union of
22587 this_alternative_exclude_start_hard_regs when reg class in insn
22588 alternative covers other reg classes in the same alternative.
22589
22590 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22591
22592 PR middle-end/104446
22593 * combine.cc (subst): Don't substitute CONST_INTs into RTX_AUTOINC
22594 operands.
22595
22596 2022-02-11 Richard Biener <rguenther@suse.de>
22597
22598 PR middle-end/104496
22599 * internal-fn.cc (vectorized_internal_fn_supported_p):
22600 Bail out for integer mode vector types.
22601
22602 2022-02-11 Jakub Jelinek <jakub@redhat.com>
22603
22604 PR rtl-optimization/104459
22605 * df-scan.cc (df_insn_change_bb): Don't call df_set_bb_dirty when
22606 moving DEBUG_INSNs between bbs.
22607
22608 2022-02-11 liuhongt <hongtao.liu@intel.com>
22609
22610 PR tree-optimization/104479
22611 * match.pd (uncond_op + vec_cond -> cond_op): Add single_use
22612 for the dest of uncond_op.
22613
22614 2022-02-11 Tom de Vries <tdevries@suse.de>
22615
22616 PR target/104456
22617 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle asm
22618 insn.
22619
22620 2022-02-10 Qing Zhao <qing.zhao@oracle.com>
22621
22622 PR middle-end/100775
22623 * function.cc (gen_call_used_regs_seq): Call
22624 df_update_exit_block_uses when updating df.
22625
22626 2022-02-10 Uroš Bizjak <ubizjak@gmail.com>
22627
22628 PR target/104469
22629 * config/i386/sse.md (vec_unpacks_float_lo_v4si):
22630 Change operand 1 constraint to register_operand.
22631
22632 2022-02-10 Richard Biener <rguenther@suse.de>
22633
22634 PR tree-optimization/104373
22635 * tree-ssa-sccvn.h (do_rpo_vn): New export exposing the
22636 walk kind.
22637 * tree-ssa-sccvn.cc (do_rpo_vn): Export, get the default
22638 walk kind as argument.
22639 (run_rpo_vn): Adjust.
22640 (pass_fre::execute): Likewise.
22641 * tree-ssa-uninit.cc (warn_uninitialized_vars): Skip
22642 blocks not reachable.
22643 (execute_late_warn_uninitialized): Mark all edges as
22644 executable.
22645 (execute_early_warn_uninitialized): Use VN to compute
22646 executable edges.
22647 (pass_data_early_warn_uninitialized): Enable a dump file,
22648 change dump name to warn_uninit.
22649
22650 2022-02-10 Richard Biener <rguenther@suse.de>
22651
22652 PR middle-end/104467
22653 * match.pd (vector extract simplification): Multiply the
22654 number of CTOR elements with the number of element elements.
22655
22656 2022-02-10 Richard Biener <rguenther@suse.de>
22657
22658 PR tree-optimization/104466
22659 * tree-ssa-alias.cc (refs_may_alias_p_2): Use rbase1/rbase2
22660 for the MR_DEPENDENCE checks as intended.
22661
22662 2022-02-10 Tom de Vries <tdevries@suse.de>
22663
22664 * config/nvptx/nvptx.md (define_insn "nvptx_atomic_store<mode>"): New
22665 define_insn.
22666 (define_expand "atomic_store<mode>"): Use nvptx_atomic_store<mode> for
22667 TARGET_SM70.
22668 (define_c_enum "unspecv"): Add UNSPECV_ST.
22669
22670 2022-02-10 Tom de Vries <tdevries@suse.de>
22671
22672 * config/nvptx/nvptx-protos.h (nvptx_mem_maybe_shared_p): Declare.
22673 * config/nvptx/nvptx.cc (nvptx_mem_data_area): New static function.
22674 (nvptx_mem_maybe_shared_p): New function.
22675 * config/nvptx/nvptx.md (define_expand "atomic_store<mode>"): New
22676 define_expand.
22677
22678 2022-02-10 Tom de Vries <tdevries@suse.de>
22679
22680 PR target/97005
22681 * config/nvptx/nvptx.md (define_insn "sub<mode>3"): Workaround
22682 driver JIT bug by using sub.s16 instead of sub.u16.
22683
22684 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22685
22686 * config/nvptx/nvptx.md (copysign<mode>3): Allow immediate
22687 floating point constants as operands 1 and/or 2.
22688
22689 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22690
22691 PR target/104345
22692 * config/nvptx/nvptx.md (sel_true<mode>): Fix indentation.
22693 (sel_false<mode>): Likewise.
22694 (define_code_iterator eqne): New code iterator for EQ and NE.
22695 (*selp<mode>_neg_<code>): New define_insn_and_split to optimize
22696 the negation of a selp instruction.
22697 (*selp<mode>_not_<code>): New define_insn_and_split to optimize
22698 the bitwise not of a selp instruction.
22699 (*setcc_int<mode>): Use set instruction for neg:SI of a selp.
22700
22701 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22702
22703 * config/nvptx/nvptx.md (any_logic): Move code iterator earlier
22704 in machine description.
22705 (logic): Move code attribute earlier in machine description.
22706 (ilogic): New code attribute, like logic but "ior" for IOR.
22707 (and<mode>3, ior<mode>3, xor<mode>3): Delete. Replace with...
22708 (<ilogic><mode>3): New define_insn for HSDIM logic operations.
22709 (<ilogic>bi3): New define_insn for BI mode logic operations.
22710 (define_split): Lower logic operations from integer modes to
22711 BI mode predicate operations.
22712
22713 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22714
22715 * config/nvptx/nvptx.md (UNSPEC_ISINF): New UNSPEC.
22716 (one_cmplbi2): New define_insn for not.pred.
22717 (mulditi3): New define_expand for signed widening multiply.
22718 (umulditi3): New define_expand for unsigned widening multiply.
22719 (smul<mode>3_highpart): New define_insn for signed highpart mult.
22720 (umul<mode>3_highpart): New define_insn for unsigned highpart mult.
22721 (*smulhi3_highpart_2): Renamed from smulhi3_highpart.
22722 (*smulsi3_highpart_2): Renamed from smulsi3_highpart.
22723 (*umulhi3_highpart_2): Renamed from umulhi3_highpart.
22724 (*umulsi3_highpart_2): Renamed from umulsi3_highpart.
22725 (*setcc<mode>_from_not_bi): New define_insn.
22726 (*setcc_isinf<mode>): New define_insn for testp.infinite.
22727 (isinf<mode>2): New define_expand.
22728
22729 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22730
22731 * config/nvptx/nvptx.md (cmp<mode>): Renamed from *cmp<mode>.
22732 (setcc<mode>_from_bi): Additionally support QImode.
22733 (extendbi<mode>2): Additionally support QImode.
22734 (zero_extendbi<mode>2): Additionally support QImode.
22735 (any_sbinary, any_ubinary, any_sunary, any_uunary): New code
22736 iterators for signed and unsigned, binary and unary operations.
22737 (<sbinary>qi3, <ubinary>qi3, <sunary>qi2, <uunary>qi2): New
22738 expanders to perform QImode operations using SImode instructions.
22739 (cstoreqi4): New define_expand.
22740 (*ext_truncsi2_qi): New define_insn.
22741 (*zext_truncsi2_qi): New define_insn.
22742
22743 2022-02-10 Roger Sayle <roger@nextmovesoftware.com>
22744
22745 * config/nvptx/nvptx.md (*cmpf): New define_insn.
22746 (cstorehf4): New define_expand.
22747 (fmahf4): New define_insn.
22748 (neghf2): New define_insn.
22749 (abshf2): New define_insn.
22750
22751 2022-02-10 Gerald Pfeifer <gerald@pfeifer.com>
22752
22753 * doc/install.texi (Specific): Change the www.bitwizard.nl
22754 reference to use https.
22755
22756 2022-02-10 Marcel Vollweiler <marcel@codesourcery.com>
22757
22758 * gimplify.cc (gimplify_scan_omp_clauses): Added cases for
22759 OMP_CLAUSE_HAS_DEVICE_ADDR
22760 and handle array sections.
22761 (gimplify_adjust_omp_clauses): Added OMP_CLAUSE_HAS_DEVICE_ADDR case.
22762 * omp-low.cc (scan_sharing_clauses): Handle OMP_CLAUSE_HAS_DEVICE_ADDR.
22763 (lower_omp_target): Same.
22764 * tree-core.h (enum omp_clause_code): Same.
22765 * tree-nested.cc (convert_nonlocal_omp_clauses): Same.
22766 (convert_local_omp_clauses): Same.
22767 * tree-pretty-print.cc (dump_omp_clause): Same.
22768 * tree.cc: Same.
22769
22770 2022-02-10 Eugene Rozenfeld <erozen@microsoft.com>
22771
22772 * auto-profile.cc (afdo_indirect_call): Don't attempt to promote indirect calls
22773 that will result in direct recursive calls.
22774
22775 2022-02-10 Andrew Pinski <apinski@marvell.com>
22776
22777 PR target/104474
22778 * config/aarch64/aarch64.cc
22779 (aarch64_sve_expand_vector_init_handle_trailing_constants):
22780 Use CONST0_RTX instead of const0_rtx for the non-constant elements.
22781
22782 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
22783
22784 PR target/104462
22785 * common/config/i386/i386-common.cc (OPTION_MASK_ISA2_XSAVE_UNSET):
22786 Also include OPTION_MASK_ISA2_AVX2_UNSET.
22787
22788 2022-02-09 Uroš Bizjak <ubizjak@gmail.com>
22789
22790 PR target/104458
22791 * config/i386/i386-expand.cc (ix86_split_idivmod):
22792 Force operands[2] and operands[3] into a register..
22793
22794 2022-02-09 Jeff Law <jeffreyalaw@gmail.com>
22795
22796 PR target/97040
22797 * config/v850/v850.md (*v850_fnmasf4): Renamed from fnmasf4.
22798 (*v850_fnmssf4): Renamed from fnmssf4
22799
22800 2022-02-09 Ian Lance Taylor <iant@golang.org>
22801
22802 * godump.cc (go_force_record_alignment): Really name the alignment
22803 field "_" (complete 2021-12-29 change).
22804
22805 2022-02-09 Bill Schmidt <wschmidt@linux.ibm.com>
22806
22807 * config/rs6000/rs6000-builtins.def (VREPLACE_UN_UV2DI): Change
22808 function prototype.
22809 (VREPLACE_UN_UV4SI): Likewise.
22810 (VREPLACE_UN_V2DF): Likewise.
22811 (VREPLACE_UN_V2DI): Likewise.
22812 (VREPLACE_UN_V4SF): Likewise.
22813 (VREPLACE_UN_V4SI): Likewise.
22814 * config/rs6000/rs6000-overload.def (VEC_REPLACE_UN): Change all
22815 function prototypes.
22816 * config/rs6000/vsx.md (vreplace_un_<mode>): Remove define_expand.
22817 (vreplace_un_<mode>): New define_insn.
22818
22819 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22820
22821 * config/aarch64/iterators.md (VDCSIF): New mode iterator.
22822 (VDBL): Handle SF.
22823 (single_wx, single_type, single_dtype, dblq): New mode attributes.
22824 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Extend
22825 from VDC to VDCSIF.
22826 (store_pair_lanes<mode>): Likewise.
22827 (*aarch64_combine_internal<mode>): Likewise.
22828 (*aarch64_combine_internal_be<mode>): Likewise.
22829 (*aarch64_combinez<mode>): Likewise.
22830 (*aarch64_combinez_be<mode>): Likewise.
22831 * config/aarch64/aarch64.cc (aarch64_classify_address): Handle
22832 8-byte modes for ADDR_QUERY_LDP_STP_N.
22833 (aarch64_print_operand): Likewise for %y.
22834
22835 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22836
22837 * config/aarch64/aarch64-simd.md (@aarch64_split_simd_mov<mode>):
22838 Use aarch64_combine instead of move_lo/hi_quad. Tabify.
22839 (move_lo_quad_<mode>, aarch64_simd_move_hi_quad_<mode>): Delete.
22840 (aarch64_simd_move_hi_quad_be_<mode>, move_hi_quad_<mode>): Delete.
22841 (vec_pack_trunc_<mode>): Take general_operand elements and use
22842 aarch64_combine rather than move_lo/hi_quad to combine them.
22843 (vec_pack_trunc_df): Likewise.
22844
22845 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22846
22847 * config/aarch64/aarch64-protos.h (aarch64_split_simd_combine):
22848 Delete.
22849 * config/aarch64/aarch64-simd.md (@aarch64_combinez<mode>): Rename
22850 to...
22851 (*aarch64_combinez<mode>): ...this.
22852 (@aarch64_combinez_be<mode>): Rename to...
22853 (*aarch64_combinez_be<mode>): ...this.
22854 (@aarch64_vec_concat<mode>): New expander.
22855 (aarch64_combine<mode>): Use it.
22856 (@aarch64_simd_combine<mode>): Delete.
22857 * config/aarch64/aarch64.cc (aarch64_split_simd_combine): Delete.
22858 (aarch64_expand_vector_init): Use aarch64_vec_concat.
22859
22860 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22861
22862 * config/aarch64/predicates.md (aarch64_reg_or_mem_pair_operand):
22863 New predicate.
22864 * config/aarch64/aarch64-simd.md (*aarch64_combine_internal<mode>)
22865 (*aarch64_combine_internal_be<mode>): New patterns.
22866
22867 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22868
22869 * config/aarch64/aarch64-simd.md (move_lo_quad_internal_<mode>)
22870 (move_lo_quad_internal_be_<mode>): Delete.
22871 (move_lo_quad_<mode>): Use aarch64_combine<Vhalf> instead of the above.
22872
22873 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22874
22875 * config/aarch64/aarch64-protos.h (aarch64_mergeable_load_pair_p):
22876 Declare.
22877 * config/aarch64/aarch64-simd.md (load_pair_lanes<mode>): Use
22878 aarch64_mergeable_load_pair_p instead of inline check.
22879 * config/aarch64/aarch64.cc (aarch64_expand_vector_init): Likewise.
22880 (aarch64_check_consecutive_mems): Allow the reversed parameter
22881 to be null.
22882 (aarch64_mergeable_load_pair_p): New function.
22883
22884 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22885
22886 * config/aarch64/aarch64-simd.md (vec_set<mode>): Allow the
22887 element to be an aarch64_simd_nonimmediate_operand.
22888
22889 2022-02-09 Richard Sandiford <richard.sandiford@arm.com>
22890
22891 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_set<mode>): Use
22892 aarch64_simd_nonimmediate_operand instead of
22893 aarch64_simd_general_operand.
22894 (@aarch64_combinez<mode>): Use nonimmediate_operand instead of
22895 general_operand.
22896 (@aarch64_combinez_be<mode>): Likewise.
22897
22898 2022-02-09 Richard Biener <rguenther@suse.de>
22899
22900 PR middle-end/104464
22901 * gimple-isel.cc (gimple_expand_vec_cond_expr): Postpone
22902 throwing check to after unproblematic replacement.
22903
22904 2022-02-09 Roger Sayle <roger@nextmovesoftware.com>
22905
22906 PR tree-optimization/104420
22907 * match.pd (mult @0 real_zerop): Tweak conditions for constant
22908 folding X*0.0 (or X*-0.0) to HONOR_SIGNED_ZEROS when appropriate.
22909
22910 2022-02-09 Jakub Jelinek <jakub@redhat.com>
22911
22912 PR debug/104407
22913 * dwarf2out.cc (mangle_referenced_decls): New function.
22914 (tree_add_const_value_attribute): Don't call rtl_for_decl_init if
22915 early_dwarf. Instead walk the initializer and try to mangle vars or
22916 functions referenced from it.
22917
22918 2022-02-09 Andrew MacLeod <amacleod@redhat.com>
22919
22920 PR tree-optimization/104288
22921 * gimple-range-cache.cc (non_null_ref::set_nonnull): New.
22922 (non_null_ref::adjust_range): Move to header.
22923 (ranger_cache::range_of_def): Don't check non-null.
22924 (ranger_cache::entry_range): Don't check non-null.
22925 (ranger_cache::range_on_edge): Check for nonnull on normal edges.
22926 (ranger_cache::update_to_nonnull): New.
22927 (non_null_loadstore): New.
22928 (ranger_cache::block_apply_nonnull): New.
22929 * gimple-range-cache.h (class non_null_ref): Update prototypes.
22930 (non_null_ref::adjust_range): Move to here and inline.
22931 (class ranger_cache): Update prototypes.
22932 * gimple-range-path.cc (path_range_query::range_defined_in_block): Do
22933 not search dominators.
22934 (path_range_query::adjust_for_non_null_uses): Ditto.
22935 * gimple-range.cc (gimple_ranger::range_of_expr): Check on-entry for
22936 def overrides. Do not check nonnull.
22937 (gimple_ranger::range_on_entry): Check dominators for nonnull.
22938 (gimple_ranger::range_on_edge): Check for nonnull on normal edges..
22939 (gimple_ranger::register_side_effects): New.
22940 * gimple-range.h (gimple_ranger::register_side_effects): New.
22941 * tree-vrp.cc (rvrp_folder::fold_stmt): Call register_side_effects.
22942
22943 2022-02-09 Richard Biener <rguenther@suse.de>
22944
22945 PR tree-optimization/104445
22946 PR tree-optimization/102832
22947 * optabs-query.h (can_vec_extract): New.
22948 * optabs-query.cc (can_vec_extract): Likewise.
22949 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
22950 we can extract a hi/lo part from the larger vector, rework
22951 check iteration from larger to smaller sizes.
22952
22953 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
22954
22955 PR target/35513
22956 PR target/100593
22957 * config/i386/gnu-property.cc: Include "i386-protos.h".
22958 (file_end_indicate_exec_stack_and_gnu_property): Generate
22959 a GNU_PROPERTY_1_NEEDED note for -mno-direct-extern-access or
22960 nodirect_extern_access attribute.
22961 * config/i386/i386-options.cc
22962 (handle_nodirect_extern_access_attribute): New function.
22963 (ix86_attribute_table): Add nodirect_extern_access attribute.
22964 * config/i386/i386-protos.h (ix86_force_load_from_GOT_p): Add a
22965 bool argument.
22966 (ix86_has_no_direct_extern_access): New.
22967 * config/i386/i386.cc (ix86_has_no_direct_extern_access): New.
22968 (ix86_force_load_from_GOT_p): Add a bool argument to indicate
22969 call operand. Force non-call load from GOT for
22970 -mno-direct-extern-access or nodirect_extern_access attribute.
22971 (legitimate_pic_address_disp_p): Avoid copy relocation in PIE
22972 for -mno-direct-extern-access or nodirect_extern_access attribute.
22973 (ix86_print_operand): Pass true to ix86_force_load_from_GOT_p
22974 for call operand.
22975 (asm_preferred_eh_data_format): Use PC-relative format for
22976 -mno-direct-extern-access to avoid copy relocation. Check
22977 ptr_mode instead of TARGET_64BIT when selecting DW_EH_PE_sdata4.
22978 (ix86_binds_local_p): Set ix86_has_no_direct_extern_access to
22979 true for -mno-direct-extern-access or nodirect_extern_access
22980 attribute. Don't treat protected data as extern and avoid copy
22981 relocation on common symbol with -mno-direct-extern-access or
22982 nodirect_extern_access attribute.
22983 (ix86_reloc_rw_mask): New to avoid copy relocation for
22984 -mno-direct-extern-access.
22985 (TARGET_ASM_RELOC_RW_MASK): New.
22986 * config/i386/i386.opt: Add -mdirect-extern-access.
22987 * doc/extend.texi: Document nodirect_extern_access attribute.
22988 * doc/invoke.texi: Document -m[no-]direct-extern-access.
22989
22990 2022-02-09 H.J. Lu <hjl.tools@gmail.com>
22991
22992 PR target/104441
22993 * config/i386/i386.cc (ix86_avx_u128_mode_source): New function.
22994 (ix86_avx_u128_mode_needed): Return AVX_U128_ANY for debug INSN.
22995 Call ix86_avx_u128_mode_source to check mode for each component
22996 of source operand.
22997
22998 2022-02-09 liuhongt <hongtao.liu@intel.com>
22999
23000 PR target/104451
23001 * config/i386/sse.md (<insn><mode>3): lowpart_subreg
23002 operands[2] from SImode to QImode.
23003
23004 2022-02-09 Richard Biener <rguenther@suse.de>
23005
23006 PR middle-end/104450
23007 * gimple-isel.cc: Pass cfun around.
23008 (+gimple_expand_vec_cond_expr): Do not combine a throwing
23009 comparison with the select.
23010
23011 2022-02-09 Richard Biener <rguenther@suse.de>
23012
23013 PR target/104453
23014 * config/i386/i386.cc (ix86_gimple_fold_builtin): Guard shift
23015 folding for NULL LHS.
23016
23017 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23018
23019 PR rtl-optimization/104198
23020 PR rtl-optimization/104153
23021 * ifcvt.cc (noce_convert_multiple_sets_1): Copy rtx instead of
23022 using it directly. Rework comparison handling and always
23023 perform a second pass.
23024
23025 2022-02-08 Jakub Jelinek <jakub@redhat.com>
23026
23027 PR target/102140
23028 * config/rs6000/rs6000.cc (vspltis_shifted): Return false also if
23029 split1 pass has finished already.
23030
23031 2022-02-08 Bill Schmidt <wschmidt@linux.ibm.com>
23032
23033 * config/rs6000/rs6000-builtins.def (VMSUMCUD): New.
23034 * config/rs6000/rs6000-overload.def (VEC_MSUMC): New.
23035 * config/rs6000/vsx.md (UNSPEC_VMSUMCUD): New constant.
23036 (vmsumcud): New define_insn.
23037
23038 2022-02-08 Tom de Vries <tdevries@suse.de>
23039
23040 * config/nvptx/nvptx-opts.h (enum ptx_isa): Add PTX_ISA_SM70.
23041 * config/nvptx/nvptx.h (TARGET_SM70): Define.
23042
23043 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23044
23045 * config/s390/s390.cc (s390_rtx_costs): Increase costs for load
23046 on condition.
23047 * config/s390/s390.md: Use paradoxical subreg.
23048
23049 2022-02-08 Robin Dapp <rdapp@linux.ibm.com>
23050
23051 * combine.cc (reg_subword_p): Check for paradoxical subreg.
23052
23053 2022-02-08 Tom de Vries <tdevries@suse.de>
23054
23055 PR target/104283
23056 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_3_0
23057 and PTX_VERSION_4_2.
23058 * config/nvptx/nvptx.cc (first_ptx_version_supporting_sm)
23059 (default_ptx_version_option, ptx_version_to_string)
23060 (sm_version_to_string, handle_ptx_version_option): New function.
23061 (nvptx_option_override): Call handle_ptx_version_option.
23062 (nvptx_file_start): Use ptx_version_to_string and sm_version_to_string.
23063 * config/nvptx/nvptx.md (define_insn "nvptx_shuffle<mode>")
23064 (define_insn "nvptx_vote_ballot"): Use TARGET_PTX_6_0.
23065 * config/nvptx/nvptx.opt (mptx): Remove 'Init'.
23066
23067 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
23068
23069 * doc/install.texi (Configuration): Document `--with-isa-spec='
23070 RISC-V option.
23071 * doc/invoke.texi (Option Summary): List `-misa-spec=' RISC-V
23072 option.
23073 (RISC-V Options): Document it.
23074
23075 2022-02-08 Maciej W. Rozycki <macro@embecosm.com>
23076
23077 * config/riscv/t-riscv (riscv-sr.o): Add $(TM_H) dependency.
23078
23079 2022-02-08 Tom de Vries <tdevries@suse.de>
23080
23081 * config/nvptx/nvptx.cc (write_fn_proto_1): Handle 'main (int)'.
23082
23083 2022-02-08 Tom de Vries <tdevries@suse.de>
23084
23085 PR target/104364
23086 * config/nvptx/nvptx-protos.h (nvptx_mem_local_p): Declare.
23087 * config/nvptx/nvptx.cc (nvptx_reorg_uniform_simt): Assert that
23088 change is validated.
23089 (nvptx_mem_local_p): New function.
23090 * config/nvptx/nvptx.md: Use nvptx_mem_local_p.
23091 (define_c_enum "unspecv"): Add UNSPECV_CAS_LOCAL.
23092 (define_insn "atomic_compare_and_swap<mode>_1_local"): New
23093 non-atomic, non-predicable define_insn, factored out of ...
23094 (define_insn "atomic_compare_and_swap<mode>_1"): ... here.
23095 Make predicable again.
23096 (define_expand "atomic_compare_and_swap<mode>"): Use
23097 atomic_compare_and_swap<mode>_1_local.
23098
23099 2022-02-08 liuhongt <hongtao.liu@intel.com>
23100
23101 PR rtl-optimization/104059
23102 * regcprop.cc (copyprop_hardreg_forward_1): Don't propagate
23103 for a more expensive reg-reg move.
23104
23105 2022-02-07 Tamar Christina <tamar.christina@arm.com>
23106
23107 * config/arm/arm_neon.h (vusdotq_s32, vusdot_laneq_s32,
23108 vusdotq_laneq_s32, vsudot_laneq_s32, vsudotq_laneq_s32): New
23109 * config/arm/arm_neon_builtins.def (usdot): Add V16QI.
23110 (usdot_laneq, sudot_laneq): New.
23111 * config/arm/neon.md (neon_<sup>dot_laneq<vsi2qi>): New.
23112 (neon_<sup>dot_lane<vsi2qi>): Remote unneeded code.
23113
23114 2022-02-07 Tamar Christina <tamar.christina@arm.com>
23115
23116 * config/arm/arm_neon.h (vdot_laneq_u32, vdotq_laneq_u32,
23117 vdot_laneq_s32, vdotq_laneq_s32): New.
23118 * config/arm/arm_neon_builtins.def (sdot_laneq, udot_laneq): New.
23119 * config/arm/neon.md (neon_<sup>dot<vsi2qi>): New.
23120 (<sup>dot_prod<vsi2qi>): Re-order rtl.
23121 (neon_<sup>dot_lane<vsi2qi>): Fix rtl order and endiannes.
23122 (neon_<sup>dot_laneq<vsi2qi>): New.
23123
23124 2022-02-07 Andreas Krebbel <krebbel@linux.ibm.com>
23125
23126 PR target/104327
23127 * config/s390/s390.cc (s390_can_inline_p): Accept a few more flags
23128 if always_inline is set. Don't inline when tune differs without
23129 always_inline.
23130
23131 2022-02-07 Richard Biener <rguenther@suse.de>
23132
23133 PR middle-end/104402
23134 * gimple-expr.cc (is_gimple_condexpr): _Complex typed
23135 compares are not valid.
23136 * tree-cfg.cc (verify_gimple_assign_ternary): For COND_EXPR
23137 check is_gimple_condexpr.
23138
23139 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
23140
23141 PR target/103627
23142 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Move the
23143 hunk affecting VSX and ALTIVEC to appropriate place.
23144
23145 2022-02-07 Kewen Lin <linkw@linux.ibm.com>
23146
23147 PR target/103627
23148 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Disable
23149 MMA if !TARGET_VSX.
23150
23151 2022-02-06 Jakub Jelinek <jakub@redhat.com>
23152
23153 PR c++/89074
23154 PR c++/104033
23155 * fold-const.h (folding_initializer): Adjust comment.
23156 (folding_cxx_constexpr): Declare.
23157 * fold-const.cc (folding_initializer): Adjust comment.
23158 (folding_cxx_constexpr): New variable.
23159 (address_compare): Restrict the decl vs. STRING_CST
23160 or vice versa or STRING_CST vs. STRING_CST or
23161 is_global_var != is_global_var optimizations to !folding_cxx_constexpr.
23162 Punt for FUNCTION_DECLs with non-zero offsets. If folding_initializer,
23163 assume non-aliased functions have non-zero size and have different
23164 addresses. For folding_cxx_constexpr, punt on comparisons of start
23165 of some object and end of another one, regardless whether it is a decl
23166 or string literal. Also punt for folding_cxx_constexpr on
23167 STRING_CST vs. STRING_CST comparisons if the two literals could be
23168 overlapping.
23169
23170 2022-02-05 Jakub Jelinek <jakub@redhat.com>
23171
23172 PR tree-optimization/104389
23173 * match.pd (x * 0 -> 0): Punt if x maybe infinite and NaNs are
23174 honored.
23175
23176 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
23177
23178 * configure.ac: Fix detection for zifencei support.
23179 * configure: Regenerate.
23180
23181 2022-02-05 Kito Cheng <kito.cheng@sifive.com>
23182
23183 PR target/104219
23184 * config.gcc (riscv*-*-*): Normalize the with_isa_spec value.
23185 (all_defaults): Add isa_spec.
23186 * config/riscv/riscv.h (OPTION_DEFAULT_SPECS): Add isa_spec.
23187
23188 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
23189
23190 * config/rs6000/rs6000-c.cc (resolve_vec_mul): Accept args and types
23191 parameters instead of arglist and nargs. Simplify accordingly. Remove
23192 unnecessary test for argument count mismatch.
23193 (resolve_vec_cmpne): Likewise.
23194 (resolve_vec_adde_sube): Likewise.
23195 (resolve_vec_addec_subec): Likewise.
23196 (altivec_resolve_overloaded_builtin): Move overload special handling
23197 after the gathering of arguments into args[] and types[] and the test
23198 for correct number of arguments. Don't perform the test for correct
23199 number of arguments for certain special cases. Call the other special
23200 cases with args and types instead of arglist and nargs.
23201
23202 2022-02-04 Bill Schmidt <wschmidt@linux.ibm.com>
23203
23204 PR target/100808
23205 * doc/extend.texi (Basic PowerPC Built-in Functions Available on ISA
23206 3.1): Provide consistent type names. Remove unnecessary semicolons.
23207 Fix bad line breaks.
23208
23209 2022-02-04 Jakub Jelinek <jakub@redhat.com>
23210
23211 PR target/104380
23212 * config/rs6000/rs6000.cc (rs6000_mangle_decl_assembler_name): Also
23213 adjust mangling of __builtin*printf_chk.
23214
23215 2022-02-04 Jonathan Wakely <jwakely@redhat.com>
23216
23217 * doc/cpp.texi (Variadic Macros): Replace C++2a with C++20.
23218
23219 2022-02-04 Richard Biener <rguenther@suse.de>
23220 Bin Cheng <bin.cheng@linux.alibaba.com>
23221
23222 PR tree-optimization/100499
23223 * fold-const.h (multiple_of_p): Add nowrap parameter, defaulted
23224 to true.
23225 * fold-const.cc (multiple_of_p): Likewise. Honor it for
23226 MULT_EXPR, PLUS_EXPR and MINUS_EXPR and pass it along,
23227 switching to false for conversions.
23228 * tree-ssa-loop-niter.cc (number_of_iterations_ne): Do not
23229 claim the outermost expression does not wrap when calling
23230 multiple_of_p. Refactor the check done to check the
23231 original IV, avoiding a bias that might wrap.
23232
23233 2022-02-04 Richard Biener <rguenther@suse.de>
23234
23235 * fold-const.cc (multiple_of_p): Re-write and move LSHIFT_EXPR
23236 handling.
23237
23238 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
23239
23240 PR debug/104366
23241 * dwarf2out.cc (dwarf2out_finish): Empty base_types.
23242 (dwarf2out_early_finish): Likewise.
23243
23244 2022-02-04 Eric Botcazou <ebotcazou@adacore.com>
23245
23246 PR tree-optimization/104356
23247 * match.pd (X / bool_range_Y is X): Add guard.
23248 (X / X is one): Likewise.
23249 (X / abs (X) is X < 0 ? -1 : 1): Likewise.
23250 (X / -X is -1): Likewise.
23251 (1 / X -> X == 1): Likewise.
23252
23253 2022-02-04 Richard Biener <rguenther@suse.de>
23254
23255 PR tree-optimization/103641
23256 * tree-vect-patterns.cc (vect_synth_mult_by_constant):
23257 Pass the vector mode to choose_mult_variant.
23258
23259 2022-02-04 Roger Sayle <roger@nextmovesoftware.com>
23260
23261 PR rtl-optimization/101885
23262 * combine.cc (try_combine): When splitting a parallel into two
23263 sequential sets, check not only that the first doesn't clobber
23264 the second but also that the second doesn't clobber the first.
23265
23266 2022-02-04 Richard Biener <rguenther@suse.de>
23267
23268 PR middle-end/90348
23269 PR middle-end/104092
23270 * tree-core.h (clobber_kind): New enum.
23271 (tree_base::u::bits::address_space): Document use in CONSTRUCTORs.
23272 * tree.h (CLOBBER_KIND): Add.
23273 (build_clobber): Add clobber kind argument, defaulted to
23274 CLOBBER_UNDEF.
23275 * tree.cc (build_clobber): Likewise.
23276 * gimple.h (gimple_clobber_p): New overload with specified kind.
23277 * tree-streamer-in.cc (streamer_read_tree_bitfields): Stream
23278 CLOBBER_KIND.
23279 * tree-streamer-out.cc (streamer_write_tree_bitfields):
23280 Likewise.
23281 * tree-pretty-print.cc (dump_generic_node): Mark EOL CLOBBERs.
23282 * gimplify.cc (gimplify_bind_expr): Build storage end-of-life clobbers
23283 with CLOBBER_EOL.
23284 (gimplify_target_expr): Likewise.
23285 * tree-inline.cc (expand_call_inline): Likewise.
23286 * tree-ssa-ccp.cc (insert_clobber_before_stack_restore): Likewise.
23287 * gimple-ssa-warn-access.cc (pass_waccess::check_stmt): Only treat
23288 CLOBBER_EOL clobbers as ending lifetime of storage.
23289
23290 2022-02-04 Martin Sebor <msebor@redhat.com>
23291
23292 * pointer-query.h (pointer_query::cache_type): Use auto_vec for auto
23293 cleanup.
23294
23295 2022-02-03 Martin Sebor <msebor@redhat.com>
23296
23297 PR middle-end/104260
23298 * passes.def (pass_warn_access): Adjust pass placement.
23299
23300 2022-02-03 Uroš Bizjak <ubizjak@gmail.com>
23301
23302 PR target/104362
23303 * config/i386/i386.cc (find_drap_reg): For 32bit targets
23304 return DI_REG if function uses __builtin_eh_return.
23305
23306 2022-02-03 Martin Sebor <msebor@redhat.com>
23307
23308 * gimple-ssa-warn-restrict.cc (class pass_wrestrict): Outline ctor.
23309 (pass_wrestrict::m_ptr_qry): New member.
23310 (wrestrict_walk): Rename...
23311 (pass_wrestrict::check_block): ...to this.
23312 (pass_wrestrict::execute): Set up and tear down pointer_query and
23313 ranger.
23314 (builtin_memref::builtin_memref): Change ctor argument. Simplify.
23315 (builtin_access::builtin_access): Same.
23316 (builtin_access::m_ptr_qry): New member.
23317 (check_call): Rename...
23318 (pass_wrestrict::check_call): ...to this.
23319 (check_bounds_or_overlap): Change argument.
23320 * gimple-ssa-warn-restrict.h (check_bounds_or_overlap): Same.
23321
23322 2022-02-03 Martin Sebor <msebor@redhat.com>
23323
23324 * gimple-array-bounds.cc (array_bounds_checker::array_bounds_checker):
23325 Define ctor.
23326 (array_bounds_checker::get_value_range): Use new member.
23327 (array_bounds_checker::check_mem_ref): Same.
23328 * gimple-array-bounds.h (array_bounds_checker::array_bounds_checker):
23329 Outline ctor.
23330 (array_bounds_checker::m_ptr_query): New member.
23331
23332 2022-02-03 Martin Sebor <msebor@redhat.com>
23333
23334 * gimple-ssa-warn-access.cc (pass_waccess::pass_waccess): Remove
23335 pointer_query cache.
23336 * pointer-query.cc (pointer_query::pointer_query): Remove cache
23337 argument. Zero-initialize new cache member.
23338 (pointer_query::get_ref): Replace cache pointer with direct access.
23339 (pointer_query::put_ref): Same.
23340 (pointer_query::flush_cache): Same.
23341 (pointer_query::dump): Same.
23342 * pointer-query.h (class pointer_query): Remove cache argument from
23343 ctor. Change cache pointer to cache subobject member.
23344 * tree-ssa-strlen.cc: Remove pointer_query cache.
23345
23346 2022-02-03 Martin Sebor <msebor@redhat.com>
23347
23348 PR tree-optimization/104119
23349 * gimple-ssa-sprintf.cc (struct directive): Change argument type.
23350 (format_none): Same.
23351 (format_percent): Same.
23352 (format_integer): Same.
23353 (format_floating): Same.
23354 (get_string_length): Same.
23355 (format_character): Same.
23356 (format_string): Same.
23357 (format_plain): Same.
23358 (format_directive): Same.
23359 (compute_format_length): Same.
23360 (handle_printf_call): Same.
23361 * tree-ssa-strlen.cc (get_range_strlen_dynamic): Same. Call
23362 get_maxbound.
23363 (get_range_strlen_phi): Same.
23364 (get_maxbound): New function.
23365 (strlen_pass::get_len_or_size): Adjust to parameter change.
23366 * tree-ssa-strlen.h (get_range_strlen_dynamic): Change argument type.
23367
23368 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23369
23370 PR target/103686
23371 * config/rs6000/rs6000-builtin.cc (rs6000_gimple_fold_builtin): Remove
23372 test for !rs6000_fold_gimple.
23373 * config/rs6000/rs6000.cc (rs6000_option_override_internal): Likewise.
23374 * config/rs6000/rs6000.opt (mfold-gimple): Remove.
23375
23376 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23377
23378 PR target/95082
23379 * config/rs6000/rs6000-builtin.cc (rs6000_expand_builtin): Handle
23380 endianness for vclzlsbb and vctzlsbb.
23381 * config/rs6000/rs6000-builtins.def (VCLZLSBB_V16QI): Change
23382 default pattern and indicate a different pattern will be used for
23383 big endian.
23384 (VCLZLSBB_V4SI): Likewise.
23385 (VCLZLSBB_V8HI): Likewise.
23386 (VCTZLSBB_V16QI): Likewise.
23387 (VCTZLSBB_V4SI): Likewise.
23388 (VCTZLSBB_V8HI): Likewise.
23389
23390 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23391
23392 * config.gcc (powerpc*-*-*): Add rs6000-builtin.o to extra_objs.
23393 * config/rs6000/rs6000-builtin.cc: New file, containing code moved
23394 from other files.
23395 * config/rs6000/rs6000-call.cc (cpu_is_info): Move to
23396 rs6000-builtin.cc.
23397 (cpu_supports_info): Likewise.
23398 (rs6000_type_string): Likewise.
23399 (altivec_expand_predicate_builtin): Likewise.
23400 (rs6000_htm_spr_icode): Likewise.
23401 (altivec_expand_vec_init_builtin): Likewise.
23402 (get_element_number): Likewise.
23403 (altivec_expand_vec_set_builtin): Likewise.
23404 (altivec_expand_vec_ext_builtin): Likewise.
23405 (rs6000_invalid_builtin): Likewise.
23406 (rs6000_fold_builtin): Likewise.
23407 (fold_build_vec_cmp): Likewise.
23408 (fold_compare_helper): Likewise.
23409 (map_to_integral_tree_type): Likewise.
23410 (fold_mergehl_helper): Likewise.
23411 (fold_mergeeo_helper): Likewise.
23412 (rs6000_builtin_valid_without_lhs): Likewise.
23413 (rs6000_builtin_is_supported): Likewise.
23414 (rs6000_gimple_fold_mma_builtin): Likewise.
23415 (rs6000_gimple_fold_builtin): Likewise.
23416 (rs6000_expand_ldst_mask): Likewise.
23417 (cpu_expand_builtin): Likewise.
23418 (elemrev_icode): Likewise.
23419 (ldv_expand_builtin): Likewise.
23420 (lxvrse_expand_builtin): Likewise.
23421 (lxvrze_expand_builtin): Likewise.
23422 (stv_expand_builtin): Likewise.
23423 (mma_expand_builtin): Likewise.
23424 (htm_spr_num): Likewise.
23425 (htm_expand_builtin): Likewise.
23426 (rs6000_expand_builtin): Likewise.
23427 (rs6000_vector_type): Likewise.
23428 (rs6000_init_builtins): Likewise. Remove initialization of
23429 builtin_mode_to_type entries.
23430 (rs6000_builtin_decl): Move to rs6000-builtin.cc.
23431 * config/rs6000/rs6000.cc (rs6000_builtin_mask_for_load): New
23432 external declaration.
23433 (rs6000_builtin_md_vectorized_function): Likewise.
23434 (rs6000_builtin_reciprocal): Likewise.
23435 (altivec_builtin_mask_for_load): Move to rs6000-builtin.cc.
23436 (rs6000_builtin_types): Likewise.
23437 (builtin_mode_to_type): Remove.
23438 (rs6000_builtin_mask_for_load): Move to rs6000-builtin.cc. Remove
23439 static qualifier.
23440 (rs6000_builtin_md_vectorized_function): Likewise.
23441 (rs6000_builtin_reciprocal): Likewise.
23442 * config/rs6000/rs6000.h (builtin_mode_to_type): Remove.
23443 * config/rs6000/t-rs6000 (rs6000-builtin.o): New target.
23444
23445 2022-02-03 Richard Biener <rguenther@suse.de>
23446
23447 PR debug/104337
23448 * tree-nrv.cc (pass_nrv::execute): Remove tieing result and found
23449 together via DECL_ABSTRACT_ORIGIN.
23450
23451 2022-02-03 Bill Schmidt <wschmidt@linux.ibm.com>
23452
23453 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Revise error
23454 message for RES_BITS case.
23455
23456 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
23457
23458 * gimple-range-fold.cc (fur_list::fur_list): Set m_local[1] correctly.
23459
23460 2022-02-03 Jakub Jelinek <jakub@redhat.com>
23461
23462 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098,
23463 mfix-cortex-a72-aes-1655431): Ensure description ends with full stop.
23464
23465 2022-02-03 Aldy Hernandez <aldyh@redhat.com>
23466
23467 * cfganal.cc (verify_marked_backedges): New.
23468 * cfganal.h (verify_marked_backedges): New.
23469 * gimple-range-path.cc (path_range_query::path_range_query):
23470 Verify freshness of back edges.
23471 * tree-ssa-loop-ch.cc (ch_base::copy_headers): Call
23472 mark_dfs_back_edges.
23473 * tree-ssa-threadbackward.cc (back_threader::back_threader): Move
23474 path_range_query construction after backedges have been
23475 updated.
23476
23477 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
23478
23479 * config/aarch64/aarch64-simd.md (movmisalign<mode>): Extend from
23480 VALL to VALL_F16.
23481
23482 2022-02-03 Richard Sandiford <richard.sandiford@arm.com>
23483
23484 * config/aarch64/iterators.md (VALL_F16MOV): Delete.
23485 * config/aarch64/aarch64-simd.md (mov<mode>): Use VALL_F16 instead
23486 of VALL_F16MOV.
23487
23488 2022-02-03 Martin Liska <mliska@suse.cz>
23489
23490 * config/i386/i386-options.cc (ix86_valid_target_attribute_inner_p):
23491 Change subject and object in the error message.
23492 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
23493 Likewise.
23494
23495 2022-02-03 Martin Liska <mliska@suse.cz>
23496
23497 * config/s390/s390.cc (s390_valid_target_attribute_inner_p):
23498 Use the error message for i386 target.
23499
23500 2022-02-03 Jakub Jelinek <jakub@redhat.com>
23501
23502 PR tree-optimization/104334
23503 * range-op.cc (range_operator::wi_fold_in_parts): Change lh_range
23504 and rh_range type to widest_int and subtract in widest_int. Remove
23505 ov_rh, ov_lh and sign vars, always perform comparisons as signed
23506 and use >, < and == operators for it.
23507
23508 2022-02-03 Martin Sebor <msebor@redhat.com>
23509
23510 * common.opt (-Wuse-after-free): Correct typos.
23511
23512 2022-02-02 David Malcolm <dmalcolm@redhat.com>
23513
23514 PR analyzer/104270
23515 * doc/invoke.texi (-ftrivial-auto-var-init=): Add reference to
23516 -Wanalyzer-use-of-uninitialized-value to paragraph documenting that
23517 -ftrivial-auto-var-init= doesn't suppress warnings.
23518
23519 2022-02-02 Martin Liska <mliska@suse.cz>
23520
23521 * dwarf2out.cc (TEXT_SECTION_NAME): Remove unused macro.
23522
23523 2022-02-02 Bernd Kuhls <bernd.kuhls@t-online.de>
23524
23525 PR target/94372
23526 * config/or1k/linux.h (CPP_SPEC): Define.
23527
23528 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23529
23530 PR tree-optimization/102819
23531 PR tree-optimization/103169
23532 * config/arm/vec-common.md (cml<fcmac1><conj_op><mode>4): Use
23533 canonical order.
23534
23535 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23536
23537 PR tree-optimization/102819
23538 PR tree-optimization/103169
23539 * config/aarch64/aarch64-simd.md (cml<fcmac1><conj_op><mode>4): Use
23540 canonical order.
23541 * config/aarch64/aarch64-sve.md (cml<fcmac1><conj_op><mode>4): Likewise.
23542
23543 2022-02-02 Tamar Christina <tamar.christina@arm.com>
23544
23545 PR tree-optimization/102819
23546 PR tree-optimization/103169
23547 * doc/md.texi: Update docs for cfms, cfma.
23548 * tree-data-ref.h (same_data_refs): Accept optional offset.
23549 * tree-vect-slp-patterns.cc (is_linear_load_p): Fix issue with repeating
23550 patterns.
23551 (vect_normalize_conj_loc): Remove.
23552 (is_eq_or_top): Change to take two nodes.
23553 (enum _conj_status, compatible_complex_nodes_p,
23554 vect_validate_multiplication): New.
23555 (class complex_add_pattern, complex_add_pattern::matches,
23556 complex_add_pattern::recognize, class complex_mul_pattern,
23557 complex_mul_pattern::recognize, class complex_fms_pattern,
23558 complex_fms_pattern::recognize, class complex_operations_pattern,
23559 complex_operations_pattern::recognize, addsub_pattern::recognize): Pass
23560 new cache.
23561 (complex_fms_pattern::matches, complex_mul_pattern::matches): Pass new
23562 cache and use new validation code.
23563 * tree-vect-slp.cc (vect_match_slp_patterns_2, vect_match_slp_patterns,
23564 vect_analyze_slp): Pass along cache.
23565 (compatible_calls_p): Expose.
23566 * tree-vectorizer.h (compatible_calls_p, slp_node_hash,
23567 slp_compat_nodes_map_t): New.
23568 (class vect_pattern): Update signatures include new cache.
23569
23570 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23571
23572 * config/cris/cris.cc (cris_preferred_reload_class): Reject
23573 "eliminated" registers and small-enough constants unless
23574 reloaded into a class that is a subset of GENERAL_REGS.
23575 * config/cris/cris.md (attribute "cpu_variant"): New.
23576 (attribute "enabled"): Conditionalize on a matching attribute
23577 cpu_variant, if specified.
23578 ("*movsi_internal<setcc><setnz><setnzvc>"): For moves to and from
23579 memory, add cpu-variant-enabled variants for "r" alternatives on
23580 the far side of the "x" alternatives, preferring the "x" ones
23581 only for variants where MOF is present (in addition to SRP).
23582
23583 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23584
23585 * config/cris/cris.cc (cris_register_move_cost): Remove special pre-ira
23586 extra cost for ALL_REGS.
23587
23588 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23589
23590 * config/cris/constraints.md (define_register_constraint "b"): Now
23591 GENERAL_REGS.
23592 * config/cris/cris.md (CRIS_ACR_REGNUM): Remove.
23593 * config/cris/cris.h: (reg_class, REG_CLASS_NAMES)
23594 (REG_CLASS_CONTENTS): Remove ACR_REGS, SPEC_ACR_REGS, GENNONACR_REGS,
23595 and SPEC_GENNONACR_REGS.
23596 * config/cris/cris.cc (cris_preferred_reload_class): Don't mention
23597 ACR_REGS and return GENERAL_REGS instead of GENNONACR_REGS.
23598
23599 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23600
23601 * config/cris/cris.md ("*movsi_internal<setcc><setnz><setnzvc>"):
23602 Conditionalize on (sub-)register operands or operand 1 being 0.
23603
23604 2022-02-02 Hans-Peter Nilsson <hp@axis.com>
23605
23606 * config/cris/cris.h (TARGET_DEFAULT): Don't include MASK_MUL_BUG.
23607 (MUL_BUG_ASM_DEFAULT): New macro.
23608 (MAYBE_AS_NO_MUL_BUG_ABORT): Define in terms of MUL_BUG_ASM_DEFAULT.
23609 * doc/invoke.texi (CRIS Options, -mmul-bug-workaround): Adjust
23610 accordingly.
23611
23612 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
23613
23614 * opts.cc (common_handle_option): Don't set param_early_inliner_max_iterations
23615 to 10 for AutoFDO.
23616
23617 2022-02-01 Eugene Rozenfeld <erozen@microsoft.com>
23618
23619 * auto-profile.cc (auto_profile): Hard-code the number of iterations (10).
23620
23621 2022-02-01 Andrew Pinski <apinski@marvell.com>
23622
23623 * doc/install.texi:
23624
23625 2022-02-01 Ilya Leoshkevich <iii@linux.ibm.com>
23626
23627 * config/s390/s390.cc (s390_code_end): Do not switch back to
23628 code section.
23629
23630 2022-02-01 Jakub Jelinek <jakub@redhat.com>
23631
23632 PR target/104323
23633 * config/rs6000/t-rs6000 (EXTRA_GTYPE_DEPS): Append rs6000-builtins.h
23634 rather than $(srcdir)/config/rs6000/rs6000-builtins.def.
23635 * config/rs6000/rs6000-gen-builtins.cc (write_decls): Don't use
23636 GTY((user)) for struct bifdata and struct ovlddata. Instead add
23637 GTY((skip(""))) to members with pointer and enum types that don't need
23638 to be tracked. Add GTY(()) to rs6000_builtin_info and rs6000_instance_info
23639 declarations. Don't emit gt_ggc_mx and gt_pch_nx declarations.
23640 (write_extern_fntype, write_fntype): Remove.
23641 (write_fntype_init): Emit the fntype vars as automatic vars instead
23642 of file scope ones.
23643 (write_header_file): Don't iterate with write_extern_fntype.
23644 (write_init_file): Don't iterate with write_fntype. Don't emit
23645 gt_ggc_mx and gt_pch_nx definitions.
23646
23647 2022-02-01 Jason Merrill <jason@redhat.com>
23648
23649 * tree.h (struct tree_vec_map_cache_hasher): Move from...
23650 * tree.cc (struct tree_vec_map_cache_hasher): ...here.
23651
23652 2022-02-01 Tom de Vries <tdevries@suse.de>
23653
23654 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_uniform_warp_check.
23655 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23656 UNSPECV_UNIFORM_WARP_CHECK.
23657 (define_insn "nvptx_uniform_warp_check"): New define_insn.
23658
23659 2022-02-01 Tom de Vries <tdevries@suse.de>
23660
23661 * config/nvptx/nvptx.cc (nvptx_single): Use nvptx_warpsync.
23662 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23663 UNSPECV_WARPSYNC.
23664 (define_insn "nvptx_warpsync"): New define_insn.
23665
23666 2022-02-01 Tom de Vries <tdevries@suse.de>
23667
23668 * config/nvptx/nvptx.opt (mptx): Set to PTX_VERSION_6_3 by default.
23669
23670 2022-02-01 Tom de Vries <tdevries@suse.de>
23671
23672 * config/nvptx/nvptx-opts.h (enum ptx_version): Add PTX_VERSION_6_0.
23673 * config/nvptx/nvptx.h (TARGET_PTX_6_0): New macro.
23674 * config/nvptx/nvptx.md (define_insn "nvptx_barsync"): Use barrier
23675 insn for TARGET_PTX_6_0.
23676
23677 2022-02-01 Tom de Vries <tdevries@suse.de>
23678
23679 PR target/100428
23680 * config/nvptx/nvptx.cc (prevent_branch_around_nothing): Handle nop
23681 insn.
23682
23683 2022-02-01 Tom de Vries <tdevries@suse.de>
23684
23685 * config/nvptx/nvptx.md (define_insn "atomic_compare_and_swap<mode>_1")
23686 (define_insn "atomic_exchange<mode>")
23687 (define_insn "atomic_fetch_add<mode>")
23688 (define_insn "atomic_fetch_addsf")
23689 (define_insn "atomic_fetch_<logic><mode>"): Output non-atomic version
23690 if memory operands is frame-relative.
23691
23692 2022-02-01 Tom de Vries <tdevries@suse.de>
23693
23694 * config/nvptx/nvptx.cc (enum nvptx_builtins): Add
23695 NVPTX_BUILTIN_MEMBAR_GL and NVPTX_BUILTIN_MEMBAR_CTA.
23696 (VOID): New macro.
23697 (nvptx_init_builtins): Add MEMBAR_GL and MEMBAR_CTA.
23698 (nvptx_expand_builtin): Handle NVPTX_BUILTIN_MEMBAR_GL and
23699 NVPTX_BUILTIN_MEMBAR_CTA.
23700 (nvptx_lockfull_update): Add level parameter. Emit barriers.
23701 (nvptx_reduction_update, nvptx_goacc_reduction_fini): Update call to
23702 nvptx_lockfull_update.
23703 * config/nvptx/nvptx.md (define_c_enum "unspecv"): Add
23704 UNSPECV_MEMBAR_GL.
23705 (define_expand "nvptx_membar_gl"): New expand.
23706 (define_insn "*nvptx_membar_gl"): New insn.
23707
23708 2022-02-01 Martin Liska <mliska@suse.cz>
23709
23710 * doc/install.texi: Remove option for GCC < 4.8.
23711
23712 2022-02-01 Jakub Jelinek <jakub@redhat.com>
23713
23714 PR middle-end/104307
23715 * tree-vect-generic.cc (expand_vector_comparison): Don't push debug
23716 stmts to uses vector, just set vec_cond_expr_only to false for
23717 non-VEC_COND_EXPRs instead of pushing them into uses. Treat
23718 VEC_COND_EXPRs that use lhs not just in rhs1, but rhs2 or rhs3 too
23719 like non-VEC_COND_EXPRs.
23720
23721 2022-02-01 Bill Schmidt <wschmidt@linux.ibm.com>
23722
23723 * config/rs6000/rs6000-overload.def (VEC_ABSD): Remove #ifdef token.
23724 (VEC_BLENDV): Likewise.
23725 (VEC_BPERM): Likewise.
23726 (VEC_CFUGE): Likewise.
23727 (VEC_CIPHER_BE): Likewise.
23728 (VEC_CIPHERLAST_BE): Likewise.
23729 (VEC_CLRL): Likewise.
23730 (VEC_CLRR): Likewise.
23731 (VEC_CMPNEZ): Likewise.
23732 (VEC_CNTLZ): Likewise.
23733 (VEC_CNTLZM): Likewise.
23734 (VEC_CNTTZM): Likewise.
23735 (VEC_CNTLZ_LSBB): Likewise.
23736 (VEC_CNTM): Likewise.
23737 (VEC_CNTTZ): Likewise.
23738 (VEC_CNTTZ_LSBB): Likewise.
23739 (VEC_CONVERT_4F32_8F16): Likewise.
23740 (VEC_DIV): Likewise.
23741 (VEC_DIVE): Likewise.
23742 (VEC_EQV): Likewise.
23743 (VEC_EXPANDM): Likewise.
23744 (VEC_EXTRACT_FP_FROM_SHORTH): Likewise.
23745 (VEC_EXTRACT_FP_FROM_SHORTL): Likewise.
23746 (VEC_EXTRACTH): Likewise.
23747 (VEC_EXTRACTL): Likewise.
23748 (VEC_EXTRACTM): Likewise.
23749 (VEC_EXTRACT4B): Likewise.
23750 (VEC_EXTULX): Likewise.
23751 (VEC_EXTURX): Likewise.
23752 (VEC_FIRSTMATCHINDEX): Likewise.
23753 (VEC_FIRSTMACHOREOSINDEX): Likewise.
23754 (VEC_FIRSTMISMATCHINDEX): Likewise.
23755 (VEC_FIRSTMISMATCHOREOSINDEX): Likewise.
23756 (VEC_GB): Likewise.
23757 (VEC_GENBM): Likewise.
23758 (VEC_GENHM): Likewise.
23759 (VEC_GENWM): Likewise.
23760 (VEC_GENDM): Likewise.
23761 (VEC_GENQM): Likewise.
23762 (VEC_GENPCVM): Likewise.
23763 (VEC_GNB): Likewise.
23764 (VEC_INSERTH): Likewise.
23765 (VEC_INSERTL): Likewise.
23766 (VEC_INSERT4B): Likewise.
23767 (VEC_LXVL): Likewise.
23768 (VEC_MERGEE): Likewise.
23769 (VEC_MERGEO): Likewise.
23770 (VEC_MOD): Likewise.
23771 (VEC_MSUB): Likewise.
23772 (VEC_MULH): Likewise.
23773 (VEC_NAND): Likewise.
23774 (VEC_NCIPHER_BE): Likewise.
23775 (VEC_NCIPHERLAST_BE): Likewise.
23776 (VEC_NEARBYINT): Likewise.
23777 (VEC_NMADD): Likewise.
23778 (VEC_ORC): Likewise.
23779 (VEC_PDEP): Likewise.
23780 (VEC_PERMX): Likewise.
23781 (VEC_PEXT): Likewise.
23782 (VEC_POPCNT): Likewise.
23783 (VEC_PARITY_LSBB): Likewise.
23784 (VEC_REPLACE_ELT): Likewise.
23785 (VEC_REPLACE_UN): Likewise.
23786 (VEC_REVB): Likewise.
23787 (VEC_RINT): Likewise.
23788 (VEC_RLMI): Likewise.
23789 (VEC_RLNM): Likewise.
23790 (VEC_SBOX_BE): Likewise.
23791 (VEC_SIGNEXTI): Likewise.
23792 (VEC_SIGNEXTLL): Likewise.
23793 (VEC_SIGNEXTQ): Likewise.
23794 (VEC_SLDB): Likewise.
23795 (VEC_SLV): Likewise.
23796 (VEC_SPLATI): Likewise.
23797 (VEC_SPLATID): Likewise.
23798 (VEC_SPLATI_INS): Likewise.
23799 (VEC_SQRT): Likewise.
23800 (VEC_SRDB): Likewise.
23801 (VEC_SRV): Likewise.
23802 (VEC_STRIL): Likewise.
23803 (VEC_STRIL_P): Likewise.
23804 (VEC_STRIR): Likewise.
23805 (VEC_STRIR_P): Likewise.
23806 (VEC_STXVL): Likewise.
23807 (VEC_TERNARYLOGIC): Likewise.
23808 (VEC_TEST_LSBB_ALL_ONES): Likewise.
23809 (VEC_TEST_LSBB_ALL_ZEROS): Likewise.
23810 (VEC_VEE): Likewise.
23811 (VEC_VES): Likewise.
23812 (VEC_VIE): Likewise.
23813 (VEC_VPRTYB): Likewise.
23814 (VEC_VSCEEQ): Likewise.
23815 (VEC_VSCEGT): Likewise.
23816 (VEC_VSCELT): Likewise.
23817 (VEC_VSCEUO): Likewise.
23818 (VEC_VSEE): Likewise.
23819 (VEC_VSES): Likewise.
23820 (VEC_VSIE): Likewise.
23821 (VEC_VSTDC): Likewise.
23822 (VEC_VSTDCN): Likewise.
23823 (VEC_VTDC): Likewise.
23824 (VEC_XL): Likewise.
23825 (VEC_XL_BE): Likewise.
23826 (VEC_XL_LEN_R): Likewise.
23827 (VEC_XL_SEXT): Likewise.
23828 (VEC_XL_ZEXT): Likewise.
23829 (VEC_XST): Likewise.
23830 (VEC_XST_BE): Likewise.
23831 (VEC_XST_LEN_R): Likewise.
23832 (VEC_XST_TRUNC): Likewise.
23833 (VEC_XXPERMDI): Likewise.
23834 (VEC_XXSLDWI): Likewise.
23835 (VEC_TSTSFI_EQ_DD): Likewise.
23836 (VEC_TSTSFI_EQ_TD): Likewise.
23837 (VEC_TSTSFI_GT_DD): Likewise.
23838 (VEC_TSTSFI_GT_TD): Likewise.
23839 (VEC_TSTSFI_LT_DD): Likewise.
23840 (VEC_TSTSFI_LT_TD): Likewise.
23841 (VEC_TSTSFI_OV_DD): Likewise.
23842 (VEC_TSTSFI_OV_TD): Likewise.
23843 (VEC_VADDCUQ): Likewise.
23844 (VEC_VADDECUQ): Likewise.
23845 (VEC_VADDEUQM): Likewise.
23846 (VEC_VADDUDM): Likewise.
23847 (VEC_VADDUQM): Likewise.
23848 (VEC_VBPERMQ): Likewise.
23849 (VEC_VCLZB): Likewise.
23850 (VEC_VCLZD): Likewise.
23851 (VEC_VCLZH): Likewise.
23852 (VEC_VCLZW): Likewise.
23853 (VEC_VCTZB): Likewise.
23854 (VEC_VCTZD): Likewise.
23855 (VEC_VCTZH): Likewise.
23856 (VEC_VCTZW): Likewise.
23857 (VEC_VEEDP): Likewise.
23858 (VEC_VEESP): Likewise.
23859 (VEC_VESDP): Likewise.
23860 (VEC_VESSP): Likewise.
23861 (VEC_VIEDP): Likewise.
23862 (VEC_VIESP): Likewise.
23863 (VEC_VPKSDSS): Likewise.
23864 (VEC_VPKSDUS): Likewise.
23865 (VEC_VPKUDUM): Likewise.
23866 (VEC_VPKUDUS): Likewise.
23867 (VEC_VPOPCNT): Likewise.
23868 (VEC_VPOPCNTB): Likewise.
23869 (VEC_VPOPCNTD): Likewise.
23870 (VEC_VPOPCNTH): Likewise.
23871 (VEC_VPOPCNTW): Likewise.
23872 (VEC_VPRTYBD): Likewise.
23873 (VEC_VPRTYBQ): Likewise.
23874 (VEC_VPRTYBW): Likewise.
23875 (VEC_VRLD): Likewise.
23876 (VEC_VSLD): Likewise.
23877 (VEC_VSRAD): Likewise.
23878 (VEC_VSRD): Likewise.
23879 (VEC_VSTDCDP): Likewise.
23880 (VEC_VSTDCNDP): Likewise.
23881 (VEC_VSTDCNQP): Likewise.
23882 (VEC_VSTDCNSP): Likewise.
23883 (VEC_VSTDCQP): Likewise.
23884 (VEC_VSTDCSP): Likewise.
23885 (VEC_VSUBECUQ): Likewise.
23886 (VEC_VSUBEUQM): Likewise.
23887 (VEC_VSUBUDM): Likewise.
23888 (VEC_VSUBUQM): Likewise.
23889 (VEC_VTDCDP): Likewise.
23890 (VEC_VTDCSP): Likewise.
23891 (VEC_VUPKHSW): Likewise.
23892 (VEC_VUPKLSW): Likewise.
23893
23894 2022-02-01 Andreas Krebbel <krebbel@linux.ibm.com>
23895
23896 PR rtl-optimization/101260
23897 * regcprop.cc (maybe_mode_change): Invoke mode_change_ok also for
23898 copy_regno.
23899
23900 2022-02-01 Xi Ruoyao <xry111@mengyan1223.wang>
23901
23902 PR middle-end/95115
23903 * fold-const.cc (const_binop): Do not fold NaN result from
23904 non-NaN operands.
23905
23906 2022-02-01 Tom de Vries <tdevries@suse.de>
23907
23908 * tree-loop-distribution.cc (generate_reduction_builtin_1): Check for
23909 -ftree-loop-distribute-patterns.
23910 (loop_distribution::execute): Don't call transform_reduction_loop for
23911 -fno-tree-loop-distribute-patterns.
23912
23913 2022-01-31 Andrew Pinski <apinski@marvell.com>
23914
23915 * fold-const.h (operand_compare::operand_equal_p):
23916 Fix comment about OEP_* flags.
23917
23918 2022-01-31 Jakub Jelinek <jakub@redhat.com>
23919
23920 PR target/104298
23921 * config/rs6000/aix.h (OPTION_GLIBC): Remove.
23922 * config/rs6000/darwin.h (OPTION_GLIBC): Likewise.
23923 * config/rs6000/option-defaults.h (OPTION_GLIBC): Define to 0
23924 if not already defined.
23925
23926 2022-01-31 Martin Sebor <msebor@redhat.com>
23927
23928 PR middle-end/104232
23929 * gimple-ssa-warn-access.cc (pointers_related_p): Add argument.
23930 Handle PHIs. Add a synonymous overload.
23931 (pass_waccess::check_pointer_uses): Call pointers_related_p.
23932
23933 2022-01-31 Richard Biener <rguenther@suse.de>
23934
23935 PR tree-optimization/100499
23936 * fold-const.cc (multiple_of_p): Pass the correct type of
23937 the expression to the recursive invocation of multiple_of_p
23938 for conversions and use CASE_CONVERT.
23939
23940 2022-01-31 Eric Botcazou <ebotcazou@adacore.com>
23941
23942 PR target/104189
23943 * config/sparc/linux64.h (TARGET_DEFAULT): Add MASK_V8PLUS.
23944
23945 2022-01-31 Richard Biener <rguenther@suse.de>
23946
23947 PR tree-optimization/100499
23948 * tree-cfg.cc (verify_gimple_assign_ternary): Use multiple_p
23949 on poly-ints instead of multiple_of_p.
23950 * tree-ssa.cc (maybe_rewrite_mem_ref_base): Likewise.
23951 (non_rewritable_mem_ref_base): Likewise.
23952 (non_rewritable_lvalue_p): Likewise.
23953 (execute_update_addresses_taken): Likewise.
23954
23955 2022-01-29 Jakub Jelinek <jakub@redhat.com>
23956 Andrew Pinski <apinski@marvell.com>
23957
23958 PR tree-optimization/104279
23959 PR tree-optimization/104280
23960 PR tree-optimization/104281
23961 * match.pd (1 / X -> X == 1 for unsigned X): Build eq with
23962 boolean_type_node and convert to type. Formatting fixes.
23963
23964 2022-01-28 Yoshinori Sato <yo-satoh@sios.com>
23965
23966 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Add m1, mb/m1 and m2a.
23967
23968 2022-01-28 Navid Rahimi <navidrahimi@microsoft.com>
23969
23970 PR tree-optimization/103514
23971 * match.pd (a & b) ^ (a == b) -> !(a | b): New optimization.
23972 (a & b) == (a ^ b) -> !(a | b): New optimization.
23973
23974 2022-01-28 Marek Polacek <polacek@redhat.com>
23975
23976 * doc/invoke.texi: Update -Wbidi-chars documentation.
23977
23978 2022-01-28 Iain Sandoe <iain@sandoe.co.uk>
23979
23980 * config/rs6000/darwin.h (OPTION_GLIBC): Define to 0.
23981
23982 2022-01-28 Zhao Wei Liew <zhaoweiliew@gmail.com>
23983
23984 PR tree-optimization/95424
23985 * match.pd: Simplify 1 / X where X is an integer.
23986
23987 2022-01-28 Jakub Jelinek <jakub@redhat.com>
23988
23989 PR tree-optimization/104263
23990 * gimple-ssa-store-merging.cc (get_status_for_store_merging): For
23991 cfun->can_throw_non_call_exceptions && cfun->eh test whether
23992 last non-debug stmt in the bb is store_valid_for_store_merging_p
23993 rather than last stmt.
23994
23995 2022-01-28 Martin Liska <mliska@suse.cz>
23996
23997 * diagnostic.cc (diagnostic_action_after_output): Remove extra
23998 newline.
23999
24000 2022-01-28 Martin Liska <mliska@suse.cz>
24001
24002 * config/rs6000/host-darwin.cc (segv_crash_handler):
24003 Do not use leading capital letter.
24004 (segv_handler): Likewise.
24005 * ipa-sra.cc (verify_splitting_accesses): Likewise.
24006 * varasm.cc (get_section): Likewise.
24007
24008 2022-01-28 Richard Biener <rguenther@suse.de>
24009
24010 PR tree-optimization/104267
24011 * tree-vect-stmts.cc (vectorizable_call): Properly use the
24012 per-argument determined vector type for externals and
24013 invariants.
24014
24015 2022-01-28 Richard Biener <rguenther@suse.de>
24016
24017 PR tree-optimization/104263
24018 * tree-cfg.cc (gimple_purge_dead_abnormal_call_edges):
24019 Purge edges also when !cfun->has_nonlocal_label
24020 and !cfun->calls_setjmp.
24021
24022 2022-01-28 Maciej W. Rozycki <macro@embecosm.com>
24023
24024 * config/riscv/riscv.md: Document `auipc' and `bitmanip' `type'
24025 attributes.
24026
24027 2022-01-28 Jakub Jelinek <jakub@redhat.com>
24028
24029 PR lto/104237
24030 * cfgrtl.cc (loc_equal): New function.
24031 (unique_locus_on_edge_between_p): Use it.
24032
24033 2022-01-28 Richard Biener <rguenther@suse.de>
24034
24035 * cfganal.h (mark_dfs_back_edges): Provide API with struct
24036 function argument.
24037 * cfganal.cc (mark_dfs_back_edges): Take a struct function
24038 to work on, add a wrapper passing cfun.
24039 * graph.cc (draw_cfg_nodes_no_loops): Replace stray cfun
24040 uses with fun which is already passed.
24041 (draw_cfg_edges): Likewise.
24042 (draw_cfg_nodes_for_loop): Do not use draw_cfg_nodes_for_loop
24043 for fun != cfun.
24044
24045 2022-01-27 Patrick Palka <ppalka@redhat.com>
24046
24047 PR c++/99895
24048 * tree.cc (build_call_vec): Add const to second parameter.
24049 * tree.h (build_call_vec): Likewise.
24050
24051 2022-01-27 Martin Liska <mliska@suse.cz>
24052
24053 PR web/104254
24054 * diagnostic.cc (diagnostic_initialize):
24055 Initialize report_bug flag.
24056 (diagnostic_action_after_output):
24057 Explain that -freport-bug option can be used for pre-processed
24058 file creation. Make the message shorter.
24059 (error_recursion): Rename Internal to internal.
24060 * diagnostic.h (struct diagnostic_context): New field.
24061 * opts.cc (common_handle_option): Init the field here.
24062
24063 2022-01-27 Kewen Lin <linkw@linux.ibm.com>
24064
24065 PR target/103702
24066 * config/rs6000/rs6000.cc
24067 (rs6000_cost_data::update_target_cost_per_stmt): Fix one wrong
24068 assertion with early return.
24069
24070 2022-01-27 Chung-Lin Tang <cltang@codesourcery.com>
24071
24072 PR middle-end/103642
24073 * gimplify.cc (gimplify_scan_omp_clauses): Do not do indir_p handling
24074 for non-pointer or non-reference-to-pointer cases.
24075
24076 2022-01-27 Jakub Jelinek <jakub@redhat.com>
24077
24078 PR tree-optimization/104196
24079 * gimple-fold.h (rewrite_to_defined_overflow): Add IN_PLACE argument.
24080 * gimple-fold.cc (rewrite_to_defined_overflow): Likewise. If true,
24081 return NULL and emit needed stmts before and after stmt.
24082 * tree-ssa-reassoc.cc (update_range_test): For inter-bb range opt
24083 pick as operand_entry that will hold the merged test the one feeding
24084 earliest condition, ensure that by swapping range->idx with some
24085 other range's idx if needed. If seq is non-NULL, don't actually swap
24086 it but instead rewrite stmts with undefined overflow in between
24087 the two locations.
24088 (maybe_optimize_range_tests): Set ops[]->id to bb->index with the
24089 corresponding condition even if they have non-NULL ops[]->op.
24090 Formatting fix.
24091
24092 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24093
24094 PR target/104239
24095 * config/rs6000/emmintrin.h (_mm_sad_epu8): Use __asm__ instead of
24096 asm.
24097 * config/rs6000/smmintrin.h (_mm_minpos_epu16): Declare iterator
24098 before for loop instead of for init clause.
24099 * config/rs6000/bmi2intrin.h (_pext_u64): Likewise.
24100
24101 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24102
24103 PR target/104239
24104 * config/rs6000/bmiintrin.h: Test _X86GPRINTRIN_H_INCLUDED instead of
24105 _X86INTRIN_H_INCLUDED and adjust #error wording.
24106 * config/rs6000/bmi2intrin.h: Likewise.
24107
24108 2022-01-26 Jakub Jelinek <jakub@redhat.com>
24109
24110 PR debug/104194
24111 * dwarf2out.cc (long_double_as_float128): New function.
24112 (modified_type_die): For powerpc64le IEEE 754 quad long double
24113 and complex long double emit those as DW_TAG_typedef to
24114 _Float128 or complex _Float128 base type.
24115
24116 2022-01-26 Marek Polacek <polacek@redhat.com>
24117
24118 PR target/104213
24119 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer): Don't
24120 warn when the SSA_NAME_VAR of REF has supressed -Wuse-after-free.
24121
24122 2022-01-26 Martin Liska <mliska@suse.cz>
24123
24124 * ipa-modref-tree.cc (modref_access_node::update):
24125 Remove "--param param=foo" with "--param foo".
24126 (modref_access_node::insert): Likewise.
24127 (modref_access_node::insert_kill): Likewise.
24128 * ipa-modref-tree.h (struct modref_ref_node): Likewise.
24129 (struct modref_base_node): Likewise.
24130 (struct modref_tree): Likewise.
24131
24132 2022-01-26 Raoni Fassina Firmino <raoni@linux.ibm.com>
24133
24134 PR target/94193
24135 * builtins.cc (expand_builtin_feclear_feraise_except): Add op0
24136 predicate check.
24137
24138 2022-01-25 Martin Sebor <msebor@redhat.com>
24139
24140 PR tree-optimization/104203
24141 * gimple-ssa-warn-access.cc (pass_data pass_data_waccess): Use
24142 TV_WARN_ACCESS.
24143 * pointer-query.cc (access_ref::merge_ref): Change return type.
24144 Convert failure to a conservative success.
24145 (access_ref::get_ref): Adjust to the change above. Short-circuit
24146 PHI evaluation after first failure turned into conservative success.
24147 * pointer-query.h (access_ref::merge_ref): Change return type.
24148 * timevar.def (TV_WARN_ACCESS): New timer variable.
24149
24150 2022-01-25 David Edelsohn <dje.gcc@gmail.com>
24151
24152 * config/rs6000/aix.h (OPTION_GLIBC): Define as 0.
24153
24154 2022-01-25 Richard Biener <rguenther@suse.de>
24155
24156 PR tree-optimization/104214
24157 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Use
24158 stronger guarantees for relational pointer compares when
24159 rewriting BASE0 + STEP0 cmp BASE1 + STEP1 as
24160 BASE0 + STEP0 - STEP1 cmp BASE1.
24161
24162 2022-01-25 Jakub Jelinek <jakub@redhat.com>
24163
24164 PR target/104172
24165 * config/rs6000/rs6000-internal.h (rs6000_passes_ieee128): Don't
24166 declare.
24167 * config/rs6000/rs6000.cc (rs6000_passes_ieee128,
24168 ieee128_mangling_gcc_8_1): Remove.
24169 (TARGET_ASM_GLOBALIZE_DECL_NAME): Don't redefine.
24170 (rs6000_mangle_type): Return "u9__ieee128" instead of
24171 ieee128_mangling_gcc_8_1 ? "U10__float128" : "u9__ieee128".
24172 (rs6000_globalize_decl_name): Remove.
24173 * config/rs6000/rs6000-call.cc (init_cumulative_args,
24174 rs6000_function_arg_advance_1): Don't set rs6000_passes_ieee128.
24175
24176 2022-01-24 Martin Sebor <msebor@redhat.com>
24177
24178 * pointer-query.cc (pointer_query::dump): Remove duplicate
24179 block.
24180
24181 2022-01-24 Marek Polacek <polacek@redhat.com>
24182
24183 PR preprocessor/104030
24184 * doc/invoke.texi: Update documentation for -Wbidi-chars.
24185
24186 2022-01-24 Raoni Fassina Firmino <raoni@linux.ibm.com>
24187
24188 PR target/94193
24189 * builtins.cc (expand_builtin_fegetround): New function.
24190 (expand_builtin_feclear_feraise_except): New function.
24191 (expand_builtin): Add cases for BUILT_IN_FEGETROUND,
24192 BUILT_IN_FECLEAREXCEPT and BUILT_IN_FERAISEEXCEPT.
24193 * config/rs6000/rs6000.md (fegetroundsi): New pattern.
24194 (feclearexceptsi): New Pattern.
24195 (feraiseexceptsi): New Pattern.
24196 * doc/extend.texi: Add a new introductory paragraph about the
24197 new builtins.
24198 * doc/md.texi: (fegetround@var{m}): Document new optab.
24199 (feclearexcept@var{m}): Document new optab.
24200 (feraiseexcept@var{m}): Document new optab.
24201 * optabs.def (fegetround_optab): New optab.
24202 (feclearexcept_optab): New optab.
24203 (feraiseexcept_optab): New optab.
24204
24205 2022-01-24 Richard Biener <rguenther@suse.de>
24206 Jiufu Guo <guojiufu@linux.ibm.com>
24207
24208 PR tree-optimization/100740
24209 PR tree-optimization/101508
24210 PR tree-optimization/101972
24211 PR tree-optimization/102131
24212 * tree-ssa-loop-niter.cc (number_of_iterations_cond): Properly
24213 constrain BASE0 + STEP0 cmp BASE1 + STEP1 to
24214 BASE0 + STEP0 - STEP1 cmp BASE1 transform.
24215
24216 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24217
24218 PR sanitizer/104158
24219 * opt-functions.awk (var_set): Handle EnumBitSet property.
24220 * optc-gen.awk: Don't disallow RejectNegative if EnumBitSet is
24221 specified.
24222 * opts.h (enum cl_enum_var_value): New type.
24223 * opts-common.cc (decode_cmdline_option): Use CLEV_* values.
24224 Handle CLEV_BITSET.
24225 (cmdline_handle_error): Handle CLEV_BITSET.
24226 * opts.cc (test_enum_sets): Also test EnumBitSet requirements.
24227 * doc/options.texi (EnumBitSet): Document.
24228 * common.opt (fsanitize-coverage=): Use EnumBitSet instead of
24229 EnumSet.
24230 (trace-pc, trace-cmp): Drop Set properties.
24231
24232 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24233
24234 PR sanitizer/104158
24235 * common.opt (flag_sanitize_coverage): Remove Variable entry.
24236 (fsanitize-coverage=): Remove RejectNegative property, add
24237 Var(flag_sanitize_coverage) and EnumSet properties.
24238 (trace-pc): Add Set(1) property.
24239 (trace-cmp): Add Set(2) property.
24240 * opts.cc (common_handle_option): Don't handle
24241 OPT_fsanitize_coverage_.
24242
24243 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24244
24245 PR sanitizer/104158
24246 * opt-functions.awk (var_set): Handle EnumSet property.
24247 * optc-gen.awk: Don't disallow RejectNegative if EnumSet is
24248 specified.
24249 * opt-read.awk: Handle Set property.
24250 * opts.h (CL_ENUM_SET_SHIFT, CL_ERR_ENUM_SET_ARG): Define.
24251 (struct cl_decoded_option): Mention enum in value description.
24252 Add mask member.
24253 (set_option): Add mask argument defaulted to 0.
24254 * opts.cc (test_enum_sets): New function.
24255 (opts_cc_tests): Call it.
24256 * opts-common.cc (enum_arg_to_value): Change return argument
24257 from bool to int, on success return index into the cl_enum_arg
24258 array, on failure -1. Add len argument, if non-0, use strncmp
24259 instead of strcmp.
24260 (opt_enum_arg_to_value): Adjust caller.
24261 (decode_cmdline_option): Handle EnumSet represented as
24262 CLVC_ENUM with non-zero var_value. Initialize decoded->mask.
24263 (decode_cmdline_options_to_array): CLear opt_array[0].mask.
24264 (handle_option): Pass decoded->mask to set_options last argument.
24265 (generate_option): Clear decoded->mask.
24266 (generate_option_input_file): Likewise.
24267 (cmdline_handle_error): Handle CL_ERR_ENUM_SET_ARG.
24268 (set_option): Add mask argument, use it for CLVC_ENUM.
24269 (control_warning_option): Adjust enum_arg_to_value caller.
24270 * doc/options.texi: Document Set and EnumSet properties.
24271
24272 2022-01-24 Jakub Jelinek <jakub@redhat.com>
24273
24274 PR bootstrap/104170
24275 * config/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24276 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24277 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24278 using OPTION_*_P macros.
24279 * config/alpha/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24280 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24281 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24282 using OPTION_*_P macros.
24283 * config/rs6000/linux.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24284 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24285 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24286 using OPTION_*_P macros.
24287 * config/rs6000/linux64.h (OPTION_GLIBC_P, OPTION_UCLIBC_P,
24288 OPTION_BIONIC_P, OPTION_MUSL_P): Define.
24289 (OPTION_GLIBC, OPTION_UCLIBC, OPTION_BIONIC, OPTION_MUSL): Redefine
24290 using OPTION_*_P macros.
24291 * config/fuchsia.h (OPTION_MUSL_P): Redefine.
24292 * config/glibc-stdint.h (OPTION_MUSL_P): Define if not defined.
24293 * common/config/s390/s390-common.cc (s390_supports_split_stack): Re-add
24294 ATTRIBUTE_UNUSED to opts parameter. If OPTION_GLIBC_P is defined, use
24295 OPTION_GLIBC_P (opts) as condition, otherwise assume if (false).
24296 * common/config/i386/i386-common.cc (ix86_supports_split_stack): If
24297 OPTION_GLIBC_P is defined use !OPTION_GLIBC_P (opts) as condition,
24298 otherwise assume if (true).
24299
24300 2022-01-24 Kito Cheng <kito.cheng@sifive.com>
24301
24302 * common/config/riscv/riscv-common.cc (riscv_subset_list::to_string):
24303 Skip zicsr and zifencei if I-ext is 2.0.
24304
24305 2022-01-24 Jia-Wei Chen <jiawei@iscas.ac.cn>
24306
24307 * config.gcc: Modify default isa_spec version.
24308
24309 2022-01-24 Jiufu Guo <guojiufu@linux.ibm.com>
24310
24311 PR tree-optimization/102087
24312 * tree-ssa-loop-niter.cc (number_of_iterations_until_wrap):
24313 Correct PLUS result type.
24314
24315 2022-01-24 H.J. Lu <hjl.tools@gmail.com>
24316
24317 PR target/104188
24318 * config/i386/predicates.md (bcst_mem_operand): Also check mode
24319 of memory broadcast.
24320
24321 2022-01-23 Andrew Pinski <apinski@marvell.com>
24322
24323 PR target/64821
24324 * config/aarch64/aarch64-builtins.cc
24325 (aarch64_general_gimple_fold_builtin): Handle
24326 __builtin_aarch64_sqrt* and simplify into SQRT internal
24327 function.
24328
24329 2022-01-22 Jakub Jelinek <jakub@redhat.com>
24330
24331 PR other/104176
24332 * opts-global.cc (handle_common_deferred_options): Quote
24333 --enable-plugin in diagnostics to avoid -Werror=format-diag.
24334
24335 2022-01-21 Michael Meissner <meissner@the-meissners.org>
24336
24337 PR target/104136
24338 * config/rs6000/rs6000-protos.h (prefixed_xxsplti_p): Delete.
24339 * config/rs6000/rs6000.cc (prefixed_xxsplti_p): Delete.
24340 * config/rs6000/rs6000.md (prefixed attribute): Delete section
24341 that sets the prefixed attribute for xxspltiw, xxspltidp, and
24342 xxsplti32dx instructions.
24343 (movsf_hardfloat): Explicitly set the prefixed attribute
24344 when xxspltiw and xxspltidp instructions are generated.
24345 (mov<mode>_hardfloat32): Likewise.
24346 (mov<mode>_hardfloat64): Likewise.
24347 * config/rs6000/vsx.md (vsx_mov<mode>_64bit): Explicitly set the
24348 prefixed attribute for xxspltiw and xxspltidp instructions.
24349 (vsx_mov<mode>_32bit): Likewise.
24350
24351 2022-01-21 H.J. Lu <hjl.tools@gmail.com>
24352
24353 PR bootstrap/104170
24354 * common/config/i386/i386-common.cc (ix86_supports_split_stack):
24355 Return true only on glibc.
24356 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN):
24357 Revert commit c163647ffbc.
24358 * config/i386/gnu.h (TARGET_LIBC_PROVIDES_SSP): Likewise.
24359
24360 2022-01-21 Sören Tempel <soeren@soeren-tempel.net>
24361
24362 * common/config/s390/s390-common.cc (s390_supports_split_stack):
24363 Only support split-stack on glibc targets.
24364 * config/i386/gnu-user-common.h (STACK_CHECK_STATIC_BUILTIN): Ditto.
24365 * config/i386/gnu.h (defined): Ditto.
24366
24367 2022-01-21 Bill Schmidt <wschmidt@linux.ibm.com>
24368
24369 * config/rs6000/rs6000-overload.def (VEC_SLDW): Add instances for
24370 vector float and vector double.
24371
24372 2022-01-21 Bill Seurer <seurer@gcc.gnu.org>
24373
24374 * config/rs6000/rs6000.cc (rs6000_get_function_versions_dispatcher):
24375 Fix mention of ifunc in string.
24376
24377 2022-01-21 Roger Sayle <roger@nextmovesoftware.com>
24378
24379 PR middle-end/104140
24380 * tree-ssa-math-opts.cc (convert_mult_to_highpart): Check that the
24381 operands of the widening multiplication are either both signed or
24382 both unsigned, and abort the conversion if mismatched.
24383 * doc/generic.texi (WIDEN_MULT_EXPR): Describe expression node.
24384 (MULT_HIGHPART_EXPR): Clarify that operands must have the same
24385 signedness.
24386 * tree.def (MULT_HIGHPART_EXPR): Document both operands must have
24387 integer types with the same precision and signedness.
24388 (WIDEN_MULT_EXPR): Document that operands must have integer types
24389 with the same precision, but possibly differing signedness.
24390 * config/riscv/riscv-c.cc (riscv_cpu_cpp_builtins): Defend against
24391 riscv_current_subset_list returning a NULL pointer (empty list).
24392
24393 2022-01-21 Vladimir N. Makarov <vmakarov@redhat.com>
24394
24395 PR target/103676
24396 * ira.h (struct target_ira): Add member
24397 x_ira_exclude_class_mode_regs.
24398 (ira_exclude_class_mode_regs): New macro.
24399 * lra.h (lra_create_new_reg): Add arg exclude_start_hard_regs and
24400 move from here ...
24401 * lra-int.h: ... to here.
24402 (lra_create_new_reg_with_unique_value): Add arg
24403 exclude_start_hard_regs.
24404 (class lra_reg): Add member exclude_start_hard_regs.
24405 * lra-assigns.cc (find_hard_regno_for_1): Setup
24406 impossible_start_hard_regs from exclude_start_hard_regs.
24407 * lra-constraints.cc (get_reload_reg): Add arg exclude_start_hard_regs and pass
24408 it lra_create_new_reg[_with_unique_value].
24409 (match_reload): Ditto.
24410 (check_and_process_move): Pass NULL
24411 exclude_start_hard_regs to lra_create_new_reg_with_unique_value.
24412 (goal_alt_exclude_start_hard_regs): New static variable.
24413 (process_addr_reg, simplify_operand_subreg): Pass NULL
24414 exclude_start_hard_regs to lra_create_new_reg_with_unique_value
24415 and get_reload_reg.
24416 (process_alt_operands): Setup goal_alt_exclude_start_hard_regs.
24417 Use this_alternative_exclude_start_hard_regs additionally to find
24418 winning operand alternative.
24419 (base_to_reg, base_plus_disp_to_reg, index_part_to_reg): Pass NULL
24420 exclude_start_hard_regs to lra_create_new_reg.
24421 (process_address_1, emit_inc): Ditto.
24422 (curr_insn_transform): Pass exclude_start_hard_regs value to
24423 lra_create_new_reg, get_reload_reg, match_reload.
24424 (inherit_reload_reg, split_reg): Pass NULL exclude_start_hard_regs
24425 to lra_create_new_reg.
24426 (process_invariant_for_inheritance): Ditto.
24427 * lra-remat.cc (update_scratch_ops): Ditto.
24428 * lra.cc (lra_create_new_reg_with_unique_value): Add arg
24429 exclude_start_hard_regs. Setup the corresponding member of
24430 lra reg info.
24431 (lra_create_new_reg): Add arg exclude_start_hard_regs and pass it
24432 to lra_create_new_reg_with_unique_value.
24433 (initialize_lra_reg_info_element): Initialize member
24434 exclude_start_hard_regs.
24435 (get_scratch_reg): Pass NULL to lra_create_new_reg.
24436 * ira.cc (setup_prohibited_class_mode_regs): Rename to
24437 setup_prohibited_and_exclude_class_mode_regs and calculate
24438 ira_exclude_class_mode_regs.
24439
24440 2022-01-21 Martin Liska <mliska@suse.cz>
24441
24442 * configure.ac: Detect ld_is_mold and use it for
24443 comdat_group=yes and gcc_cv_ld_hidden=yes.
24444 * configure: Regenerate.
24445
24446 2022-01-21 Richard Biener <rguenther@suse.de>
24447
24448 PR tree-optimization/100089
24449 * tree-vect-slp.cc (vect_slp_region): Reject BB vectorization
24450 of if-converted loops with unvectorized COND_EXPRs for
24451 all but the unlimited cost models.
24452
24453 2022-01-21 Ard Biesheuvel <ardb@kernel.org>
24454
24455 * config/arm/arm-opts.h (enum stack_protector_guard): New.
24456 * config/arm/arm-protos.h (arm_stack_protect_tls_canary_mem):
24457 New.
24458 * config/arm/arm.cc (TARGET_STACK_PROTECT_GUARD): Define.
24459 (arm_option_override_internal): Handle and put in error checks.
24460 for stack protector guard options.
24461 (arm_option_reconfigure_globals): Likewise.
24462 (arm_stack_protect_tls_canary_mem): New.
24463 (arm_stack_protect_guard): New.
24464 * config/arm/arm.md (stack_protect_set): New.
24465 (stack_protect_set_tls): Likewise.
24466 (stack_protect_test): Likewise.
24467 (stack_protect_test_tls): Likewise.
24468 (reload_tp_hard): Likewise.
24469 * config/arm/arm.opt (-mstack-protector-guard): New
24470 (-mstack-protector-guard-offset): New.
24471 * doc/invoke.texi: Document new options.
24472
24473 2022-01-21 Richard Biener <rguenther@suse.de>
24474
24475 PR tree-optimization/104156
24476 * tree-ssa-loop-unswitch.cc (tree_unswitch_outer_loop):
24477 Collect and reset debug stmts with out-of-loop uses when
24478 hoisting guards.
24479 (find_loop_guard): Adjust.
24480 (empty_bb_without_guard_p): Likewise. Ignore debug stmts.
24481 (used_outside_loop_p): Push debug uses to a vector of
24482 debug stmts to reset.
24483 (hoist_guard): Adjust -fopt-info category.
24484
24485 2022-01-21 Richard Biener <rguenther@suse.de>
24486
24487 PR tree-optimization/104152
24488 * tree-vect-slp.cc (vect_build_slp_tree_2): Add missing
24489 can_duplicate_and_interleave_p check.
24490
24491 2022-01-21 Jakub Jelinek <jakub@redhat.com>
24492
24493 * gimple-ssa-warn-access.cc (pass_waccess::warn_invalid_pointer):
24494 Avoid passing var to warning_at when the format string doesn't
24495 refer to it.
24496
24497 2022-01-21 Aldy Hernandez <aldyh@redhat.com>
24498
24499 PR tree-optimization/103721
24500 * gimple-range-path.cc
24501 (path_range_query::relations_may_be_invalidated): New.
24502 (path_range_query::compute_ranges_in_block): Reset relations if
24503 they may be invalidated.
24504 (path_range_query::maybe_register_phi_relation): Exit if relations
24505 may be invalidated on incoming edge.
24506 (path_range_query::compute_phi_relations): Pass incoming PHI edge
24507 to maybe_register_phi_relation.
24508 * gimple-range-path.h (relations_may_be_invalidated): New.
24509 (maybe_register_phi_relation): Pass edge instead of tree.
24510 * tree-ssa-threadbackward.cc (back_threader::back_threader):
24511 Mark DFS edges.
24512 * value-relation.cc (path_oracle::path_oracle): Call
24513 mark_dfs_back_edges.
24514 (path_oracle::register_relation): Add SSA names to m_registered
24515 bitmap.
24516 (path_oracle::reset_path): Clear m_registered bitmap.
24517 * value-relation.h (path_oracle::set_root_oracle): New.
24518
24519 2022-01-21 Jakub Jelinek <jakub@redhat.com>
24520
24521 PR rtl-optimization/102478
24522 * optabs.cc (prepare_cmp_insn): If !can_create_pseudo_p (), don't
24523 force_reg constants and for -fnon-call-exceptions fail if copy_to_reg
24524 would be needed.
24525
24526 2022-01-20 Richard Biener <rguenther@suse.de>
24527
24528 PR middle-end/100786
24529 * gimple-fold.cc (get_symbol_constant_value): Only return
24530 values of compatible type to the symbol.
24531
24532 2022-01-20 Andrew MacLeod <amacleod@redhat.com>
24533
24534 * value-relation.cc (relation_oracle::valid_equivs): Query and add
24535 if valid members of a set.
24536 (equiv_oracle::register_equiv): Call valid_equivs rather than
24537 bitmap direct operations.
24538 (path_oracle::register_equiv): Ditto.
24539 * value-relation.h (relation_oracle::valid_equivs): New prototype.
24540
24541 2022-01-20 Richard Biener <rguenther@suse.de>
24542
24543 PR target/100784
24544 * config/i386/i386.cc (ix86_gimple_fold_builtin): Check for
24545 LHS before folding __builtin_ia32_shufpd and friends.
24546
24547 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24548
24549 * config/arm/crypto.md (aes_op_protect): Allow moves from core
24550 registers and from memory.
24551 (aes_op_protect_misalign_load): New pattern.
24552 (aes_op_protect_neon_vld1v16qi): New pattern.
24553
24554 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24555
24556 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>_protected):
24557 New pattern.
24558 (aarch32_crypto_aese_fused_protected): Likewise.
24559 (aarch32_crypto_aesd_fused_protected): Likewise.
24560
24561 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24562
24563 * config/arm/crypto.md (crypto_<CRYPTO_AES:crypto_pattern>): Convert
24564 to define_expand. Add mitigation for the Cortex-A AES erratum
24565 when enabled.
24566 (*crypto_<CRYPTO_AES:crypto_pattern>_insn): New pattern, based
24567 on original crypto_<CRYPTO_AES:crypto_pattern> insn.
24568 (aes_op_protect): New pattern.
24569 * config/arm/unspecs.md (unspec): Add UNSPEC_AES_PROTECT.
24570
24571 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24572
24573 * config/arm/arm-cpus.in (quirk_aes_1742098): New quirk feature
24574 (ALL_QUIRKS): Add it.
24575 (cortex-a57, cortex-a72): Enable it.
24576 (cortex-a57.cortex-a53, cortex-a72.cortex-a53): Likewise.
24577 * config/arm/arm.opt (mfix-cortex-a57-aes-1742098): New command-line
24578 option.
24579 (mfix-cortex-a72-aes-1655431): New option alias.
24580 * config/arm/arm.cc (arm_option_override): Handle default settings
24581 for AES erratum switch.
24582 * doc/invoke.texi (Arm Options): Document new options.
24583
24584 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24585
24586 * config/arm/crypto.md (crypto_<CYRPTO_AES:crypto_pattern>): Use
24587 <crypto_mode> rather than hard-coding the mode.
24588 (crypto_<CRYPTO_AESMC:crypto_pattern>): Fix white space.
24589 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
24590 (*aarch32_crypto_aese_fused): Likewise.
24591 (*aarch32_crypto_aesd_fused): Likewise.
24592 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
24593 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
24594 (crypto_sha1h_lb): Likewise.
24595 (crypto_vmullp64): Likewise.
24596 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
24597 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
24598
24599 2022-01-20 Richard Earnshaw <rearnsha@arm.com>
24600
24601 * config/arm/crypto.md (crypto_<CRYPTO_AESMC:crypto_pattern>): Add
24602 iterator to pattern name to disambiguate.
24603 (crypto_<CRYPTO_AES:crypto_pattern>): Likewise.
24604 (crypto_<CRYPTO_BINARY:crypto_pattern>): Likewise.
24605 (crypto_<CRYPTO_TERNARY:crypto_pattern>): Likewise.
24606 (crypto_<CRYPTO_SELECTING:crypto_pattern>): Likewise.
24607 (crypto_<CRYPTO_SELECTING:crypto_pattern>_lb): Likewise.
24608
24609 2022-01-20 Martin Liska <mliska@suse.cz>
24610
24611 PR bootstrap/104135
24612 * emit-rtl.cc (make_insn_raw): Fix -Wformat-diag warnings.
24613 * rtl.cc: Partially disable -Wformat-diag for RTL checking
24614 error messages.
24615
24616 2022-01-20 Jakub Jelinek <jakub@redhat.com>
24617
24618 PR debug/103874
24619 * dwarf2out.cc (index_rnglists): For !HAVE_AS_LEB128 and
24620 block_num > 0, index entry even if !have_multiple_function_sections.
24621
24622 2022-01-20 liuhongt <hongtao.liu@intel.com>
24623
24624 PR target/103771
24625 * tree-vect-stmts.cc (supportable_narrowing_operation): Enhance
24626 integral mode mask pack by multi steps which takes
24627 vec_pack_sbool_trunc_optab as start when elements number is
24628 less than BITS_PER_UNITS.
24629
24630 2022-01-20 Richard Biener <rguenther@suse.de>
24631
24632 PR tree-optimization/104114
24633 * tree-vect-generic.cc (expand_vector_piecewise): Do not diagnose
24634 single element vector decomposition.
24635
24636 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24637
24638 * ifcvt.cc (noce_convert_multiple_sets_1): New function.
24639 (noce_convert_multiple_sets): Call function a second time if we can
24640 improve the first try.
24641
24642 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24643
24644 * ifcvt.cc (cond_exec_get_condition): New parameter to allow getting the
24645 reversed comparison.
24646 (try_emit_cmove_seq): New function to facilitate creating a cmov
24647 sequence.
24648 (noce_convert_multiple_sets): Create two sequences and use the less
24649 expensive one.
24650
24651 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24652
24653 * rtl.h (struct rtx_comparison): New struct that holds an rtx
24654 comparison.
24655 * config/rs6000/rs6000.cc (rs6000_emit_minmax): Use struct instead of
24656 single parameters.
24657 (rs6000_emit_swsqrt): Likewise.
24658 * expmed.cc (expand_sdiv_pow2): Likewise.
24659 (emit_store_flag): Likewise.
24660 * expr.cc (expand_cond_expr_using_cmove): Likewise.
24661 (expand_expr_real_2): Likewise.
24662 * ifcvt.cc (noce_emit_cmove): Add compare and reversed compare
24663 parameters.
24664 * optabs.cc (emit_conditional_move_1): New function.
24665 (expand_doubleword_shift_condmove): Use struct.
24666 (emit_conditional_move): Use struct and allow to call directly
24667 without going through preparation steps.
24668 * optabs.h (emit_conditional_move): Use struct.
24669
24670 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24671
24672 * ifcvt.cc (bb_ok_for_noce_convert_multiple_sets): Estimate insns costs.
24673 (noce_process_if_block): Use potential costs.
24674
24675 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24676
24677 * ifcvt.cc (noce_convert_multiple_sets): Allow constants.
24678 (bb_ok_for_noce_convert_multiple_sets): Likewise.
24679
24680 2022-01-19 Robin Dapp <rdapp@linux.ibm.com>
24681
24682 * ifcvt.cc (need_cmov_or_rewire): New function.
24683 (noce_convert_multiple_sets): Call it.
24684
24685 2022-01-19 David Malcolm <dmalcolm@redhat.com>
24686
24687 * attribs.cc (attribute_c_tests): Rename to...
24688 (attribs_cc_tests): ...this.
24689 * bitmap.cc (bitmap_c_tests): Rename to...
24690 (bitmap_cc_tests): ...this.
24691 * cgraph.cc (cgraph_c_finalize): Rename to...
24692 (cgraph_cc_finalize): ...this.
24693 (cgraph_c_tests): Rename to...
24694 (cgraph_cc_tests): ...this.
24695 * cgraph.h (cgraph_c_finalize): Rename to...
24696 (cgraph_cc_finalize): ...this.
24697 (cgraphunit_c_finalize): Rename to...
24698 (cgraphunit_cc_finalize): ...this.
24699 * cgraphunit.cc (cgraphunit_c_finalize): Rename to...
24700 (cgraphunit_cc_finalize): ...this.
24701 * convert.cc (convert_c_tests): Rename to...
24702 (convert_cc_tests): ...this.
24703 * dbgcnt.cc (dbgcnt_c_tests): Rename to...
24704 (dbgcnt_cc_tests): ...this.
24705 * diagnostic-show-locus.cc (diagnostic_show_locus_c_tests): Rename to...
24706 (diagnostic_show_locus_cc_tests): ...this.
24707 * diagnostic.cc (diagnostic_c_tests): Rename to...
24708 (diagnostic_cc_tests): ...this.
24709 * dumpfile.cc (dumpfile_c_tests): Rename to...
24710 (dumpfile_cc_tests): ...this.
24711 * dwarf2out.cc (dwarf2out_c_finalize): Rename to...
24712 (dwarf2out_cc_finalize): ...this.
24713 * dwarf2out.h (dwarf2out_c_finalize): Rename to...
24714 (dwarf2out_cc_finalize): ...this.
24715 * edit-context.cc (edit_context_c_tests): Rename to...
24716 (edit_context_cc_tests): ...this.
24717 * et-forest.cc (et_forest_c_tests): Rename to...
24718 (et_forest_cc_tests): ...this.
24719 * fibonacci_heap.cc (fibonacci_heap_c_tests): Rename to...
24720 (fibonacci_heap_cc_tests): ...this.
24721 * fold-const.cc (fold_const_c_tests): Rename to...
24722 (fold_const_cc_tests): ...this.
24723 * function-tests.cc (function_tests_c_tests): Rename to...
24724 (function_tests_cc_tests): ...this.
24725 * gcse.cc (gcse_c_finalize): Rename to...
24726 (gcse_cc_finalize): ...this.
24727 * gcse.h (gcse_c_finalize): Rename to...
24728 (gcse_cc_finalize): ...this.
24729 * ggc-tests.cc (ggc_tests_c_tests): Rename to...
24730 (ggc_tests_cc_tests): ...this.
24731 * gimple-ssa-store-merging.cc (store_merging_c_tests): Rename to...
24732 (store_merging_cc_tests): ...this.
24733 * gimple.cc (gimple_c_tests): Rename to...
24734 (gimple_cc_tests): ...this.
24735 * hash-map-tests.cc (hash_map_tests_c_tests): Rename to...
24736 (hash_map_tests_cc_tests): ...this.
24737 * hash-set-tests.cc (hash_set_tests_c_tests): Rename to...
24738 (hash_set_tests_cc_tests): ...this.
24739 * input.cc (input_c_tests): Rename to...
24740 (input_cc_tests): ...this.
24741 * ipa-cp.cc (ipa_cp_c_finalize): Rename to...
24742 (ipa_cp_cc_finalize): ...this.
24743 * ipa-fnsummary.cc (ipa_fnsummary_c_finalize): Rename to...
24744 (ipa_fnsummary_cc_finalize): ...this.
24745 * ipa-fnsummary.h (ipa_fnsummary_c_finalize): Rename to...
24746 (ipa_fnsummary_cc_finalize): ...this.
24747 * ipa-modref-tree.cc (ipa_modref_tree_c_tests): Rename to...
24748 (ipa_modref_tree_cc_tests): ...this.
24749 * ipa-modref-tree.h (modref_c_tests): Delete bogus decl.
24750 * ipa-modref.cc (ipa_modref_c_finalize): Rename to...
24751 (ipa_modref_cc_finalize): ...this.
24752 * ipa-modref.h (ipa_modref_c_finalize): Rename to...
24753 (ipa_modref_cc_finalize): ...this.
24754 * ipa-prop.h (ipa_cp_c_finalize): Rename to...
24755 (ipa_cp_cc_finalize): ...this.
24756 * ipa-reference.cc (ipa_reference_c_finalize): Rename to...
24757 (ipa_reference_cc_finalize): ...this.
24758 * ipa-reference.h (ipa_reference_c_finalize): Rename to...
24759 (ipa_reference_cc_finalize): ...this.
24760 * ira-costs.cc (ira_costs_c_finalize): Rename to...
24761 (ira_costs_cc_finalize): ...this.
24762 * ira.h (ira_costs_c_finalize): Rename to...
24763 (ira_costs_cc_finalize): ...this.
24764 * opt-suggestions.cc (opt_proposer_c_tests): Rename to...
24765 (opt_suggestions_cc_tests): ...this.
24766 * opts.cc (opts_c_tests): Rename to...
24767 (opts_cc_tests): ...this.
24768 * predict.cc (predict_c_tests): Rename to...
24769 (predict_cc_tests): ...this.
24770 * pretty-print.cc (pretty_print_c_tests): Rename to...
24771 (pretty_print_cc_tests): ...this.
24772 * read-rtl-function.cc (read_rtl_function_c_tests): Rename to...
24773 (read_rtl_function_cc_tests): ...this.
24774 * rtl-tests.cc (rtl_tests_c_tests): Rename to...
24775 (rtl_tests_cc_tests): ...this.
24776 * sbitmap.cc (sbitmap_c_tests): Rename to...
24777 (sbitmap_cc_tests): ...this.
24778 * selftest-run-tests.cc (selftest::run_tests): Update calls for
24779 _c_ to _cc_ function renamings; fix names of attribs and
24780 opt-suggestions tests.
24781 * selftest.cc (selftest_c_tests): Rename to...
24782 (selftest_cc_tests): ...this.
24783 * selftest.h (attribute_c_tests): Rename to...
24784 (attribs_cc_tests): ...this.
24785 (bitmap_c_tests): Rename to...
24786 (bitmap_cc_tests): ...this.
24787 (cgraph_c_tests): Rename to...
24788 (cgraph_cc_tests): ...this.
24789 (convert_c_tests): Rename to...
24790 (convert_cc_tests): ...this.
24791 (diagnostic_c_tests): Rename to...
24792 (diagnostic_cc_tests): ...this.
24793 (diagnostic_show_locus_c_tests): Rename to...
24794 (diagnostic_show_locus_cc_tests): ...this.
24795 (dumpfile_c_tests): Rename to...
24796 (dumpfile_cc_tests): ...this.
24797 (edit_context_c_tests): Rename to...
24798 (edit_context_cc_tests): ...this.
24799 (et_forest_c_tests): Rename to...
24800 (et_forest_cc_tests): ...this.
24801 (fibonacci_heap_c_tests): Rename to...
24802 (fibonacci_heap_cc_tests): ...this.
24803 (fold_const_c_tests): Rename to...
24804 (fold_const_cc_tests): ...this.
24805 (function_tests_c_tests): Rename to...
24806 (function_tests_cc_tests): ...this.
24807 (ggc_tests_c_tests): Rename to...
24808 (ggc_tests_cc_tests): ...this.
24809 (gimple_c_tests): Rename to...
24810 (gimple_cc_tests): ...this.
24811 (hash_map_tests_c_tests): Rename to...
24812 (hash_map_tests_cc_tests): ...this.
24813 (hash_set_tests_c_tests): Rename to...
24814 (hash_set_tests_cc_tests): ...this.
24815 (input_c_tests): Rename to...
24816 (input_cc_tests): ...this.
24817 (opts_c_tests): Rename to...
24818 (opts_cc_tests): ...this.
24819 (predict_c_tests): Rename to...
24820 (predict_cc_tests): ...this.
24821 (pretty_print_c_tests): Rename to...
24822 (pretty_print_cc_tests): ...this.
24823 (read_rtl_function_c_tests): Rename to...
24824 (read_rtl_function_cc_tests): ...this.
24825 (rtl_tests_c_tests): Rename to...
24826 (rtl_tests_cc_tests): ...this.
24827 (sbitmap_c_tests): Rename to...
24828 (sbitmap_cc_tests): ...this.
24829 (selftest_c_tests): Rename to...
24830 (selftest_cc_tests): ...this.
24831 (simplify_rtx_c_tests): Rename to...
24832 (simplify_rtx_cc_tests): ...this.
24833 (spellcheck_c_tests): Rename to...
24834 (spellcheck_cc_tests): ...this.
24835 (spellcheck_tree_c_tests): Rename to...
24836 (spellcheck_tree_cc_tests): ...this.
24837 (sreal_c_tests): Rename to...
24838 (sreal_cc_tests): ...this.
24839 (store_merging_c_tests): Rename to...
24840 (store_merging_cc_tests): ...this.
24841 (tree_c_tests): Rename to...
24842 (tree_cc_tests): ...this.
24843 (tree_cfg_c_tests): Rename to...
24844 (tree_cfg_cc_tests): ...this.
24845 (typed_splay_tree_c_tests): Rename to...
24846 (typed_splay_tree_cc_tests): ...this.
24847 (vec_c_tests): Rename to...
24848 (vec_cc_tests): ...this.
24849 (vec_perm_indices_c_tests): Rename to...
24850 (vec_perm_indices_cc_tests): ..this.
24851 (opt_proposer_c_tests): Rename to...
24852 (opt_suggestions_cc_tests): ...this.
24853 (dbgcnt_c_tests): Rename to...
24854 (dbgcnt_cc_tests): ...this.
24855 (ipa_modref_tree_c_tests): Rename to...
24856 (ipa_modref_tree_cc_tests): ...this.
24857 * simplify-rtx.cc (simplify_rtx_c_tests): Rename to...
24858 (simplify_rtx_cc_tests): ...this.
24859 * spellcheck-tree.cc (spellcheck_tree_c_tests): Rename to...
24860 (spellcheck_tree_cc_tests): ...this.
24861 * spellcheck.cc (spellcheck_c_tests): Rename to...
24862 (spellcheck_cc_tests): ...this.
24863 * sreal.cc (sreal_c_tests): Rename to...
24864 (sreal_cc_tests): ...this.
24865 * toplev.cc (toplev::finalize): Update calls for _c_ to _cc_
24866 function renamings.
24867 * tree-cfg.cc (tree_cfg_c_tests): Rename to...
24868 (tree_cfg_cc_tests): ...this.
24869 * tree.cc (tree_c_tests): Rename to...
24870 (tree_cc_tests): ...this.
24871 * typed-splay-tree.cc (typed_splay_tree_c_tests): Rename to...
24872 (typed_splay_tree_cc_tests): ...this.
24873 * vec-perm-indices.cc (vec_perm_indices_c_tests): Rename to...
24874 (vec_perm_indices_cc_tests): ...this.
24875 * vec.cc (vec_c_tests): Rename to...
24876 (vec_cc_tests): ...this.
24877
24878 2022-01-19 Andre Vieira <andre.simoesdiasvieira@arm.com>
24879
24880 PR tree-optimization/103997
24881 * tree-vect-loop.cc (vect_analyze_loop): Fix mode skipping for epilogue
24882 vectorization.
24883
24884 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24885
24886 PR middle-end/102860
24887 * match.pd (x %[fl] y -> x % y): New simplification for
24888 unsigned integral types.
24889 * optabs-tree.cc (optab_for_tree_code): Return unknown_optab
24890 for {CEIL,FLOOR,ROUND}_{DIV,MOD}_EXPR with VECTOR_TYPE.
24891
24892 2022-01-19 Richard Biener <rguenther@suse.de>
24893
24894 PR tree-optimization/104112
24895 * tree-vect-loop.cc (vect_find_reusable_accumulator): Check
24896 for required intermediate vector types.
24897
24898 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24899
24900 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Add default:.
24901
24902 2022-01-19 Martin Liska <mliska@suse.cz>
24903
24904 * configure.ac: Remove -Wno-error=format-diag.
24905 * configure: Regenerate.
24906
24907 2022-01-19 Martin Liska <mliska@suse.cz>
24908
24909 * config/riscv/riscv.cc (riscv_handle_type_attribute):
24910 Update one -Wformat-diag string in warning message.
24911
24912 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24913
24914 PR middle-end/104103
24915 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Don't check
24916 .ASAN_MARK calls.
24917
24918 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24919
24920 PR c++/89074
24921 * fold-const.cc (address_compare): Consider different STRING_CSTs
24922 with the same lengths that memcmp the same as equal, not different.
24923
24924 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24925
24926 * config/i386/sse.md (*aes<aeswideklvariant>u*): Use %0 instead of
24927 {%0}.
24928
24929 2022-01-19 Martin Liska <mliska@suse.cz>
24930 Thomas Schwinge <thomas@codesourcery.com>
24931
24932 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Update
24933 warning messages.
24934
24935 2022-01-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
24936
24937 PR target/104090
24938 * config/rs6000/rs6000.cc (rs6000_machine_from_flags): Use also
24939 rs6000_cpu.
24940
24941 2022-01-19 Jakub Jelinek <jakub@redhat.com>
24942
24943 PR target/104104
24944 * config/i386/sse.md
24945 (<avx512>_<complexopname>_<mode><maskc_name><round_name>,
24946 avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>,
24947 avx512dq_mul<mode>3<mask_name>, <avx2_avx512>_permvar<mode><mask_name>,
24948 avx2_perm<mode>_1<mask_name>, avx512f_perm<mode>_1<mask_name>,
24949 avx512dq_rangep<mode><mask_name><round_saeonly_name>,
24950 avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>,
24951 <avx512>_getmant<mode><mask_name><round_saeonly_name>,
24952 avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
24953 Use vxorps\t%x0, %x0, %x0 instead of vxorps\t{%x0, %x0, %x0}.
24954
24955 2022-01-19 Martin Sebor <msebor@redhat.com>
24956
24957 PR middle-end/104069
24958 * gimple-ssa-warn-access.cc (pointers_related_p): Return false for
24959 an unknown result as documented.
24960
24961 2022-01-18 Andrew Pinski <apinski@marvell.com>
24962
24963 * ipa-split.cc (visit_bb): Fix comment before the
24964 warning/error attribute checking code.
24965
24966 2022-01-18 David Faust <david.faust@oracle.com>
24967
24968 * config/bpf/coreout.cc (bpf_core_reloc_add): Do not account
24969 for base strtab offset yet as it may change.
24970 (output_asm_btfext_core_reloc): Do so here instead.
24971 (output_btfext_core_sections): Likewise.
24972
24973 2022-01-18 David Faust <david.faust@oracle.com>
24974
24975 * config/bpf/coreout.cc (output_btfext_header): Account for
24976 4-byte record size in core_relo_len.
24977 (output_btfext_core_sections): Only write record size once.
24978 * config/bpf/coreout.h (btf_ext_section_header): Delete unused
24979 member.
24980
24981 2022-01-18 Maciej W. Rozycki <macro@embecosm.com>
24982
24983 * common/config/riscv/riscv-common.cc
24984 (riscv_subset_list::parse_multiletter_ext): Move pointer
24985 arithmetic ahead of `free'.
24986
24987 2022-01-18 Jason Merrill <jason@redhat.com>
24988
24989 PR c++/104007
24990 * gimplify.cc (gimple_push_cleanup): Handle eh_only in conditional
24991 context.
24992
24993 2022-01-18 Sandra Loosemore <sandra@codesourcery.com>
24994
24995 PR middle-end/103163
24996 * emit-rtl.cc (init_emit_regs): Initialize stack_limit_rtx here...
24997 (init_emit_once): ...not here.
24998
24999 2022-01-18 Martin Liska <mliska@suse.cz>
25000
25001 * collect2.cc (scan_libraries): Fix -Wformat-diag issues.
25002 * config/aarch64/aarch64-builtins.cc (aarch64_simd_expand_builtin): Likewise.
25003 * config/arc/arc.md: Likewise.
25004 * config/avr/avr.cc (avr_section_type_flags): Likewise.
25005 * config/bfin/bfin.cc (bfin_option_override): Likewise.
25006 (bfin_handle_longcall_attribute): Likewise.
25007 * config/cris/cris.h (FUNCTION_PROFILER): Likewise.
25008 * config/frv/frv.cc (frv_expand_builtin): Likewise.
25009 * config/ia64/ia64-c.cc (ia64_hpux_handle_builtin_pragma): Likewise.
25010 * config/iq2000/iq2000.cc (save_restore_insns): Likewise.
25011 (iq2000_print_operand_address): Likewise.
25012 (iq2000_print_operand): Likewise.
25013 * config/m32c/m32c-pragma.cc (m32c_pragma_memregs): Likewise.
25014 (m32c_pragma_address): Likewise.
25015 * config/m68k/m68k.cc (m68k_handle_fndecl_attribute): Likewise.
25016 * config/mips/mips.cc (mips_handle_interrupt_attr): Likewise.
25017 (mips_set_compression_mode): Likewise.
25018 * config/mmix/mmix.cc (mmix_function_profiler): Likewise.
25019 (mmix_print_operand): Likewise.
25020 (mmix_output_shiftvalue_op_from_str): Likewise.
25021 (mmix_output_shifted_value): Likewise.
25022 * config/msp430/driver-msp430.cc (msp430_select_hwmult_lib): Likewise.
25023 * config/msp430/msp430.cc (msp430_option_override): Likewise.
25024 (msp430_attr): Likewise.
25025 (msp430_expand_delay_cycles): Likewise.
25026 (msp430_expand_builtin): Likewise.
25027 * config/rs6000/aix73.h: Likewise.
25028 * config/rs6000/rtems.h (INVALID_64BIT): Likewise.
25029 * config/rx/rx.cc (rx_expand_builtin_mvtc): Likewise.
25030 (valid_psw_flag): Likewise.
25031 * config/sh/sh.cc (parse_validate_atomic_model_option): Likewise.
25032 * config/stormy16/stormy16.cc (xstormy16_function_profiler): Likewise.
25033 (xstormy16_expand_builtin_va_start): Likewise.
25034 (xstormy16_handle_below100_attribute): Likewise.
25035
25036 2022-01-18 Martin Liska <mliska@suse.cz>
25037
25038 * config/vms/vms-c.cc (vms_pragma_nostandard): Fix -Wformat-diag
25039 warning.
25040 (vms_pragma_standard): Likewise.
25041 (vms_pragma_extern_prefix): Likewise.
25042
25043 2022-01-18 Martin Liska <mliska@suse.cz>
25044
25045 * config/xtensa/xtensa.cc (print_operand): Fix warnings.
25046 (print_operand_address): Likewise.
25047 (xtensa_multibss_section_type_flags): Likewise.
25048
25049 2022-01-18 Martin Liska <mliska@suse.cz>
25050
25051 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Change
25052 wording of an error message.
25053
25054 2022-01-18 Martin Liska <mliska@suse.cz>
25055
25056 * config/v850/v850-c.cc (pop_data_area): Fix -Wformat-diag
25057 warning.
25058 (ghs_pragma_section): Likewise.
25059 (ghs_pragma_interrupt): Likewise.
25060 (ghs_pragma_starttda): Likewise.
25061 (ghs_pragma_startsda): Likewise.
25062 (ghs_pragma_startzda): Likewise.
25063 (ghs_pragma_endtda): Likewise.
25064 (ghs_pragma_endsda): Likewise.
25065 (ghs_pragma_endzda): Likewise.
25066
25067 2022-01-18 Martin Liska <mliska@suse.cz>
25068
25069 * config/nds32/nds32-intrinsic.cc (nds32_expand_builtin_impl):
25070 Fix warnings.
25071 * config/nds32/nds32-intrinsic.md: Likewise.
25072 * config/nds32/nds32-isr.cc (nds32_check_isr_attrs_conflict): Likewise.
25073 * config/nds32/nds32.cc (nds32_print_operand): Likewise.
25074 (nds32_insert_attributes): Likewise.
25075
25076 2022-01-18 Martin Liska <mliska@suse.cz>
25077
25078 * config/nvptx/nvptx.cc (nvptx_goacc_validate_dims_1): Wrap
25079 keyword.
25080 * config/nvptx/nvptx.md: Remove trailing dot.
25081
25082 2022-01-18 Martin Liska <mliska@suse.cz>
25083
25084 * common/config/riscv/riscv-common.cc (riscv_subset_list::add):
25085 Wrap keywords with quotes and remove trailing dots.
25086 (riscv_subset_list::parsing_subset_version): Likewise.
25087 (riscv_subset_list::parse_std_ext): Likewise.
25088 (riscv_subset_list::parse_multiletter_ext): Likewise.
25089 * config/riscv/riscv.cc (riscv_handle_type_attribute): Likewise.
25090
25091 2022-01-18 Andre Vieira <andre.simoesdiasvieira@arm.com>
25092
25093 * tree-vect-loop.cc (vect_estimate_min_profitable_iters): Pass new
25094 argument suggested_unroll_factor.
25095 (vect_analyze_loop_costing): Likewise.
25096 (_loop_vec_info::_loop_vec_info): Initialize new member
25097 suggested_unroll_factor.
25098 (vect_determine_partial_vectors_and_peeling): Make epilogue of unrolled
25099 main loop use partial vectors.
25100 (vect_analyze_loop_2): Pass and use new argument
25101 suggested_unroll_factor.
25102 (vect_analyze_loop_1): Change to intialize local
25103 suggested_unroll_factor and use it.
25104 (vectorizable_reduction): Don't use single_defuse_cycle when unrolling.
25105 * tree-vectorizer.h (_loop_vec_info::_loop_vec_info): Add new member
25106 suggested_unroll_factor.
25107 (vector_costs::vector_costs): Add new member m_suggested_unroll_factor.
25108 (vector_costs::suggested_unroll_factor): New getter function.
25109 (finish_cost): Set return argument suggested_unroll_factor.
25110
25111 2022-01-18 Andrew MacLeod <amacleod@redhat.com>
25112
25113 PR tree-optimization/104038
25114 * doc/invoke.texi (relation-block-limit): New.
25115 * params.opt (relation-block-limit): New.
25116 * value-relation.cc (dom_oracle::register_relation): Check for NULL
25117 record before invoking transitive registery.
25118 (dom_oracle::set_one_relation): Check limit before creating record.
25119 (dom_oracle::register_transitives): Stop when no record created.
25120 * value-relation.h (relation_chain_head::m_num_relations): New.
25121
25122 2022-01-18 Richard Biener <rguenther@suse.de>
25123
25124 PR ipa/103989
25125 * ipa-inline.cc (inline_small_functions): Do not enqueue call
25126 edges originating in functions compiled with -Og.
25127
25128 2022-01-18 Richard Biener <rguenther@suse.de>
25129
25130 PR ipa/103989
25131 * passes.def (pass_all_optimizations_g): Remove pass_modref
25132 and pass_local_pure_const.
25133
25134 2022-01-18 Martin Liska <mliska@suse.cz>
25135
25136 * config/s390/s390.cc: Fix -Wformat-diag warnings.
25137
25138 2022-01-18 Martin Liska <mliska@suse.cz>
25139
25140 * config/s390/s390-c.cc (s390_expand_overloaded_builtin): Wrap
25141 keyword in quotes.
25142 (s390_resolve_overloaded_builtin): Remove trailing dot.
25143 * config/s390/s390.cc (s390_const_operand_ok): Use - for range.
25144 (s390_expand_builtin): Remove trailing dot.
25145 (s390_emit_prologue): Likewise, use semicolon.
25146 (s390_option_override_internal): Update keyword.
25147 * varasm.cc (do_assemble_alias): Wrap keyword in quotes.
25148
25149 2022-01-18 Martin Liska <mliska@suse.cz>
25150
25151 * config/rs6000/rs6000-call.cc (rs6000_expand_builtin): Wrap
25152 keywords and use %qs instead of %<%s%>.
25153
25154 2022-01-18 Richard Biener <rguenther@suse.de>
25155
25156 PR tree-optimization/103987
25157 * tree-ssa-dse.cc (dse_optimize_call): Properly guard modref
25158 query with a pointer check.
25159
25160 2022-01-18 Richard Sandiford <richard.sandiford@arm.com>
25161
25162 PR target/104005
25163 * config/aarch64/aarch64.cc (aarch64_check_consecutive_mems):
25164 When using MEM_EXPR, require the base to be a decl.
25165
25166 2022-01-18 Richard Biener <rguenther@suse.de>
25167
25168 * cgraph.h (struct cgraph_simd_clone_arg): Re-arrange fields to
25169 avoid padding.
25170 * function.h (struct function): Likewise.
25171
25172 2022-01-18 Arnaud Charlet <charlet@adacore.com>
25173
25174 * doc/install.texi: Update prerequisites for GNAT
25175
25176 2022-01-18 Andrew Pinski <apinski@marvell.com>
25177
25178 PR tree-optimization/101941
25179 * ipa-split.cc (visit_bb): Disallow function calls where
25180 the function has either error or warning attribute.
25181
25182 2022-01-18 Richard Biener <rguenther@suse.de>
25183
25184 PR tree-optimization/104064
25185 * tree-vect-data-refs.cc (vect_analyze_data_ref_accesses): Check
25186 DR_INIT fits in a signed HWI, represent the difference from the
25187 first DR in unsigned.
25188
25189 2022-01-17 Martin Liska <mliska@suse.cz>
25190
25191 * Makefile.in: Rename .c names to .cc.
25192 * config.gcc: Likewise.
25193 * configure: Regenerate. Likewise.
25194 * configure.ac: Likewise.
25195 * gengtype.cc (set_gc_used): Likewise.
25196 (source_dot_c_frul): Likewise.
25197 (source_dot_cc_frul): Likewise.
25198 (struct file_rule_st): Likewise.
25199 (close_output_files): Likewise.
25200 * config/avr/t-avr: Use CXXFLAGS_* and CXX_FOR_BUILD.
25201
25202 2022-01-17 Martin Liska <mliska@suse.cz>
25203
25204 * Makefile.in: Rename .c names to .cc.
25205 * alias.h: Likewise.
25206 * asan.cc: Likewise.
25207 * auto-profile.h: Likewise.
25208 * basic-block.h (struct basic_block_d): Likewise.
25209 * btfout.cc: Likewise.
25210 * builtins.cc (expand_builtin_longjmp): Likewise.
25211 (validate_arg): Likewise.
25212 (access_ref::offset_bounded): Likewise.
25213 * caller-save.cc (reg_restore_code): Likewise.
25214 (setup_save_areas): Likewise.
25215 * calls.cc (initialize_argument_information): Likewise.
25216 (expand_call): Likewise.
25217 (emit_library_call_value_1): Likewise.
25218 * cfg-flags.def (RTL): Likewise.
25219 (SIBCALL): Likewise.
25220 (CAN_FALLTHRU): Likewise.
25221 * cfganal.cc (post_order_compute): Likewise.
25222 * cfgcleanup.cc (try_simplify_condjump): Likewise.
25223 (merge_blocks_move_predecessor_nojumps): Likewise.
25224 (merge_blocks_move_successor_nojumps): Likewise.
25225 (merge_blocks_move): Likewise.
25226 (old_insns_match_p): Likewise.
25227 (try_crossjump_bb): Likewise.
25228 * cfgexpand.cc (expand_gimple_stmt): Likewise.
25229 * cfghooks.cc (split_block_before_cond_jump): Likewise.
25230 (profile_record_check_consistency): Likewise.
25231 * cfghooks.h: Likewise.
25232 * cfgrtl.cc (pass_free_cfg::execute): Likewise.
25233 (rtl_can_merge_blocks): Likewise.
25234 (try_redirect_by_replacing_jump): Likewise.
25235 (make_pass_outof_cfg_layout_mode): Likewise.
25236 (cfg_layout_can_merge_blocks_p): Likewise.
25237 * cgraph.cc (release_function_body): Likewise.
25238 (cgraph_node::get_fun): Likewise.
25239 * cgraph.h (struct cgraph_node): Likewise.
25240 (asmname_hasher::equal): Likewise.
25241 (cgraph_inline_failed_type): Likewise.
25242 (thunk_adjust): Likewise.
25243 (dump_callgraph_transformation): Likewise.
25244 (record_references_in_initializer): Likewise.
25245 (ipa_discover_variable_flags): Likewise.
25246 * cgraphclones.cc (GTY): Likewise.
25247 * cgraphunit.cc (symbol_table::finalize_compilation_unit): Likewise.
25248 * collect-utils.h (GCC_COLLECT_UTILS_H): Likewise.
25249 * collect2-aix.h (GCC_COLLECT2_AIX_H): Likewise.
25250 * collect2.cc (maybe_run_lto_and_relink): Likewise.
25251 * combine-stack-adj.cc: Likewise.
25252 * combine.cc (setup_incoming_promotions): Likewise.
25253 (combine_simplify_rtx): Likewise.
25254 (count_rtxs): Likewise.
25255 * common.opt: Likewise.
25256 * common/config/aarch64/aarch64-common.cc: Likewise.
25257 * common/config/arm/arm-common.cc (arm_asm_auto_mfpu): Likewise.
25258 * common/config/avr/avr-common.cc: Likewise.
25259 * common/config/i386/i386-isas.h (struct _isa_names_table): Likewise.
25260 * conditions.h: Likewise.
25261 * config.gcc: Likewise.
25262 * config/aarch64/aarch64-builtins.cc (aarch64_resolve_overloaded_memtag): Likewise.
25263 * config/aarch64/aarch64-protos.h (aarch64_classify_address): Likewise.
25264 (aarch64_get_extension_string_for_isa_flags): Likewise.
25265 * config/aarch64/aarch64-sve-builtins.cc (function_builder::add_function): Likewise.
25266 * config/aarch64/aarch64.cc (aarch64_regmode_natural_size): Likewise.
25267 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Likewise.
25268 (aarch64_option_valid_attribute_p): Likewise.
25269 (aarch64_short_vector_p): Likewise.
25270 (aarch64_float_const_representable_p): Likewise.
25271 * config/aarch64/aarch64.h (DBX_REGISTER_NUMBER): Likewise.
25272 (ASM_OUTPUT_POOL_EPILOGUE): Likewise.
25273 (GTY): Likewise.
25274 * config/aarch64/cortex-a57-fma-steering.cc: Likewise.
25275 * config/aarch64/driver-aarch64.cc (contains_core_p): Likewise.
25276 * config/aarch64/t-aarch64: Likewise.
25277 * config/aarch64/x-aarch64: Likewise.
25278 * config/aarch64/x-darwin: Likewise.
25279 * config/alpha/alpha-protos.h: Likewise.
25280 * config/alpha/alpha.cc (alpha_scalar_mode_supported_p): Likewise.
25281 * config/alpha/alpha.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
25282 (enum reg_class): Likewise.
25283 * config/alpha/alpha.md: Likewise.
25284 * config/alpha/driver-alpha.cc (AMASK_LOCKPFTCHOK): Likewise.
25285 * config/alpha/x-alpha: Likewise.
25286 * config/arc/arc-protos.h (arc_eh_uses): Likewise.
25287 * config/arc/arc.cc (ARC_OPT): Likewise.
25288 (arc_ccfsm_advance): Likewise.
25289 (arc_arg_partial_bytes): Likewise.
25290 (conditionalize_nonjump): Likewise.
25291 * config/arc/arc.md: Likewise.
25292 * config/arc/builtins.def: Likewise.
25293 * config/arc/t-arc: Likewise.
25294 * config/arm/arm-c.cc (arm_resolve_overloaded_builtin): Likewise.
25295 (arm_pragma_target_parse): Likewise.
25296 * config/arm/arm-protos.h (save_restore_target_globals): Likewise.
25297 (arm_cpu_cpp_builtins): Likewise.
25298 * config/arm/arm.cc (vfp3_const_double_index): Likewise.
25299 (shift_op): Likewise.
25300 (thumb2_final_prescan_insn): Likewise.
25301 (arm_final_prescan_insn): Likewise.
25302 (arm_asm_output_labelref): Likewise.
25303 (arm_small_register_classes_for_mode_p): Likewise.
25304 * config/arm/arm.h: Likewise.
25305 * config/arm/arm.md: Likewise.
25306 * config/arm/driver-arm.cc: Likewise.
25307 * config/arm/symbian.h: Likewise.
25308 * config/arm/t-arm: Likewise.
25309 * config/arm/thumb1.md: Likewise.
25310 * config/arm/x-arm: Likewise.
25311 * config/avr/avr-c.cc (avr_register_target_pragmas): Likewise.
25312 * config/avr/avr-fixed.md: Likewise.
25313 * config/avr/avr-log.cc (avr_log_vadump): Likewise.
25314 * config/avr/avr-mcus.def: Likewise.
25315 * config/avr/avr-modes.def (FRACTIONAL_INT_MODE): Likewise.
25316 * config/avr/avr-passes.def (INSERT_PASS_BEFORE): Likewise.
25317 * config/avr/avr-protos.h (make_avr_pass_casesi): Likewise.
25318 * config/avr/avr.cc (avr_option_override): Likewise.
25319 (avr_build_builtin_va_list): Likewise.
25320 (avr_mode_dependent_address_p): Likewise.
25321 (avr_function_arg_advance): Likewise.
25322 (avr_asm_output_aligned_decl_common): Likewise.
25323 * config/avr/avr.h (RETURN_ADDR_RTX): Likewise.
25324 (SUPPORTS_INIT_PRIORITY): Likewise.
25325 * config/avr/avr.md: Likewise.
25326 * config/avr/builtins.def: Likewise.
25327 * config/avr/gen-avr-mmcu-specs.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
25328 * config/avr/gen-avr-mmcu-texi.cc (IN_GEN_AVR_MMCU_TEXI): Likewise.
25329 (main): Likewise.
25330 * config/avr/t-avr: Likewise.
25331 * config/bfin/bfin.cc (frame_related_constant_load): Likewise.
25332 * config/bpf/bpf-protos.h (GCC_BPF_PROTOS_H): Likewise.
25333 * config/bpf/bpf.h (enum reg_class): Likewise.
25334 * config/bpf/t-bpf: Likewise.
25335 * config/c6x/c6x-protos.h (GCC_C6X_PROTOS_H): Likewise.
25336 * config/cr16/cr16-protos.h: Likewise.
25337 * config/cris/cris.cc (cris_address_cost): Likewise.
25338 (cris_side_effect_mode_ok): Likewise.
25339 (cris_init_machine_status): Likewise.
25340 (cris_emit_movem_store): Likewise.
25341 * config/cris/cris.h (INDEX_REG_CLASS): Likewise.
25342 (enum reg_class): Likewise.
25343 (struct cum_args): Likewise.
25344 * config/cris/cris.opt: Likewise.
25345 * config/cris/sync.md: Likewise.
25346 * config/csky/csky.cc (csky_expand_prologue): Likewise.
25347 * config/darwin-c.cc: Likewise.
25348 * config/darwin-f.cc: Likewise.
25349 * config/darwin-sections.def (zobj_const_section): Likewise.
25350 * config/darwin.cc (output_objc_section_asm_op): Likewise.
25351 (fprintf): Likewise.
25352 * config/darwin.h (GTY): Likewise.
25353 * config/elfos.h: Likewise.
25354 * config/epiphany/epiphany-sched.md: Likewise.
25355 * config/epiphany/epiphany.cc (epiphany_function_value): Likewise.
25356 * config/epiphany/epiphany.h (GTY): Likewise.
25357 (NO_FUNCTION_CSE): Likewise.
25358 * config/epiphany/mode-switch-use.cc: Likewise.
25359 * config/epiphany/predicates.md: Likewise.
25360 * config/epiphany/t-epiphany: Likewise.
25361 * config/fr30/fr30-protos.h: Likewise.
25362 * config/frv/frv-protos.h: Likewise.
25363 * config/frv/frv.cc (TLS_BIAS): Likewise.
25364 * config/frv/frv.h (ASM_OUTPUT_ALIGNED_LOCAL): Likewise.
25365 * config/ft32/ft32-protos.h: Likewise.
25366 * config/gcn/gcn-hsa.h (ASM_APP_OFF): Likewise.
25367 * config/gcn/gcn.cc (gcn_init_libfuncs): Likewise.
25368 * config/gcn/mkoffload.cc (copy_early_debug_info): Likewise.
25369 * config/gcn/t-gcn-hsa: Likewise.
25370 * config/gcn/t-omp-device: Likewise.
25371 * config/h8300/h8300-protos.h (GCC_H8300_PROTOS_H): Likewise.
25372 (same_cmp_following_p): Likewise.
25373 * config/h8300/h8300.cc (F): Likewise.
25374 * config/h8300/h8300.h (struct cum_arg): Likewise.
25375 (BRANCH_COST): Likewise.
25376 * config/i386/cygming.h (DEFAULT_PCC_STRUCT_RETURN): Likewise.
25377 * config/i386/djgpp.h (TARGET_ASM_LTO_END): Likewise.
25378 * config/i386/dragonfly.h (NO_PROFILE_COUNTERS): Likewise.
25379 * config/i386/driver-i386.cc (detect_caches_intel): Likewise.
25380 * config/i386/freebsd.h (NO_PROFILE_COUNTERS): Likewise.
25381 * config/i386/i386-c.cc (ix86_target_macros): Likewise.
25382 * config/i386/i386-expand.cc (get_mode_wider_vector): Likewise.
25383 * config/i386/i386-options.cc (ix86_set_func_type): Likewise.
25384 * config/i386/i386-protos.h (ix86_extract_perm_from_pool_constant): Likewise.
25385 (ix86_register_pragmas): Likewise.
25386 (ix86_d_has_stdcall_convention): Likewise.
25387 (i386_pe_seh_init_sections): Likewise.
25388 * config/i386/i386.cc (ix86_function_arg_regno_p): Likewise.
25389 (ix86_function_value_regno_p): Likewise.
25390 (ix86_compute_frame_layout): Likewise.
25391 (legitimize_pe_coff_symbol): Likewise.
25392 (output_pic_addr_const): Likewise.
25393 * config/i386/i386.h (defined): Likewise.
25394 (host_detect_local_cpu): Likewise.
25395 (CONSTANT_ADDRESS_P): Likewise.
25396 (DEFAULT_LARGE_SECTION_THRESHOLD): Likewise.
25397 (struct machine_frame_state): Likewise.
25398 * config/i386/i386.md: Likewise.
25399 * config/i386/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
25400 * config/i386/mmx.md: Likewise.
25401 * config/i386/sse.md: Likewise.
25402 * config/i386/t-cygming: Likewise.
25403 * config/i386/t-djgpp: Likewise.
25404 * config/i386/t-gnu-property: Likewise.
25405 * config/i386/t-i386: Likewise.
25406 * config/i386/t-intelmic: Likewise.
25407 * config/i386/t-omp-device: Likewise.
25408 * config/i386/winnt-cxx.cc (i386_pe_type_dllimport_p): Likewise.
25409 (i386_pe_adjust_class_at_definition): Likewise.
25410 * config/i386/winnt.cc (gen_stdcall_or_fastcall_suffix): Likewise.
25411 (i386_pe_mangle_decl_assembler_name): Likewise.
25412 (i386_pe_encode_section_info): Likewise.
25413 * config/i386/x-cygwin: Likewise.
25414 * config/i386/x-darwin: Likewise.
25415 * config/i386/x-i386: Likewise.
25416 * config/i386/x-mingw32: Likewise.
25417 * config/i386/x86-tune-sched-core.cc: Likewise.
25418 * config/i386/x86-tune.def: Likewise.
25419 * config/i386/xm-djgpp.h (STANDARD_STARTFILE_PREFIX_1): Likewise.
25420 * config/ia64/freebsd.h: Likewise.
25421 * config/ia64/hpux.h (REGISTER_TARGET_PRAGMAS): Likewise.
25422 * config/ia64/ia64-protos.h (ia64_except_unwind_info): Likewise.
25423 * config/ia64/ia64.cc (ia64_function_value_regno_p): Likewise.
25424 (ia64_secondary_reload_class): Likewise.
25425 (bundling): Likewise.
25426 * config/ia64/ia64.h: Likewise.
25427 * config/ia64/ia64.md: Likewise.
25428 * config/ia64/predicates.md: Likewise.
25429 * config/ia64/sysv4.h: Likewise.
25430 * config/ia64/t-ia64: Likewise.
25431 * config/iq2000/iq2000.h (FUNCTION_MODE): Likewise.
25432 * config/iq2000/iq2000.md: Likewise.
25433 * config/linux.h (TARGET_HAS_BIONIC): Likewise.
25434 (if): Likewise.
25435 * config/m32c/m32c.cc (m32c_function_needs_enter): Likewise.
25436 * config/m32c/m32c.h (MAX_REGS_PER_ADDRESS): Likewise.
25437 * config/m32c/t-m32c: Likewise.
25438 * config/m32r/m32r-protos.h: Likewise.
25439 * config/m32r/m32r.cc (m32r_print_operand): Likewise.
25440 * config/m32r/m32r.h: Likewise.
25441 * config/m32r/m32r.md: Likewise.
25442 * config/m68k/m68k-isas.def: Likewise.
25443 * config/m68k/m68k-microarchs.def: Likewise.
25444 * config/m68k/m68k-protos.h (strict_low_part_peephole_ok): Likewise.
25445 (m68k_epilogue_uses): Likewise.
25446 * config/m68k/m68k.cc (m68k_call_tls_get_addr): Likewise.
25447 (m68k_sched_adjust_cost): Likewise.
25448 (m68k_sched_md_init): Likewise.
25449 * config/m68k/m68k.h (__transfer_from_trampoline): Likewise.
25450 (enum m68k_function_kind): Likewise.
25451 * config/m68k/m68k.md: Likewise.
25452 * config/m68k/m68kemb.h: Likewise.
25453 * config/m68k/uclinux.h (ENDFILE_SPEC): Likewise.
25454 * config/mcore/mcore-protos.h: Likewise.
25455 * config/mcore/mcore.cc (mcore_expand_insv): Likewise.
25456 (mcore_expand_prolog): Likewise.
25457 * config/mcore/mcore.h (TARGET_MCORE): Likewise.
25458 * config/mcore/mcore.md: Likewise.
25459 * config/microblaze/microblaze-protos.h: Likewise.
25460 * config/microblaze/microblaze.cc (microblaze_legitimate_pic_operand): Likewise.
25461 (microblaze_function_prologue): Likewise.
25462 (microblaze_function_epilogue): Likewise.
25463 (microblaze_select_section): Likewise.
25464 (microblaze_asm_output_mi_thunk): Likewise.
25465 (microblaze_eh_return): Likewise.
25466 * config/microblaze/microblaze.h: Likewise.
25467 * config/microblaze/microblaze.md: Likewise.
25468 * config/microblaze/t-microblaze: Likewise.
25469 * config/mips/driver-native.cc: Likewise.
25470 * config/mips/loongson2ef.md: Likewise.
25471 * config/mips/mips-protos.h (mips_expand_vec_cmp_expr): Likewise.
25472 * config/mips/mips.cc (mips_rtx_costs): Likewise.
25473 (mips_output_filename): Likewise.
25474 (mips_output_function_prologue): Likewise.
25475 (mips_output_function_epilogue): Likewise.
25476 (mips_output_mi_thunk): Likewise.
25477 * config/mips/mips.h: Likewise.
25478 * config/mips/mips.md: Likewise.
25479 * config/mips/t-mips: Likewise.
25480 * config/mips/x-native: Likewise.
25481 * config/mmix/mmix-protos.h: Likewise.
25482 * config/mmix/mmix.cc (mmix_option_override): Likewise.
25483 (mmix_dbx_register_number): Likewise.
25484 (mmix_expand_prologue): Likewise.
25485 * config/mmix/mmix.h: Likewise.
25486 * config/mmix/mmix.md: Likewise.
25487 * config/mmix/predicates.md: Likewise.
25488 * config/mn10300/mn10300.cc (mn10300_symbolic_operand): Likewise.
25489 (mn10300_legitimate_pic_operand_p): Likewise.
25490 * config/mn10300/mn10300.h (enum reg_class): Likewise.
25491 (NO_FUNCTION_CSE): Likewise.
25492 * config/moxie/moxie-protos.h: Likewise.
25493 * config/moxie/uclinux.h (TARGET_LIBC_HAS_FUNCTION): Likewise.
25494 * config/msp430/msp430-devices.cc (extract_devices_dir_from_exec_prefix): Likewise.
25495 * config/msp430/msp430.cc (msp430_gimplify_va_arg_expr): Likewise.
25496 (msp430_incoming_return_addr_rtx): Likewise.
25497 * config/msp430/msp430.h (msp430_get_linker_devices_include_path): Likewise.
25498 * config/msp430/t-msp430: Likewise.
25499 * config/nds32/nds32-cost.cc (nds32_rtx_costs_speed_prefer): Likewise.
25500 (nds32_rtx_costs_size_prefer): Likewise.
25501 (nds32_init_rtx_costs): Likewise.
25502 * config/nds32/nds32-doubleword.md: Likewise.
25503 * config/nds32/nds32.cc (nds32_memory_move_cost): Likewise.
25504 (nds32_builtin_decl): Likewise.
25505 * config/nds32/nds32.h (enum nds32_16bit_address_type): Likewise.
25506 (enum nds32_isr_nested_type): Likewise.
25507 (enum reg_class): Likewise.
25508 * config/nds32/predicates.md: Likewise.
25509 * config/nds32/t-nds32: Likewise.
25510 * config/nios2/nios2.cc (nios2_pragma_target_parse): Likewise.
25511 * config/nvptx/nvptx-protos.h: Likewise.
25512 * config/nvptx/nvptx.cc (nvptx_goacc_expand_var_decl): Likewise.
25513 * config/nvptx/nvptx.h (TARGET_CPU_CPP_BUILTINS): Likewise.
25514 * config/nvptx/t-nvptx: Likewise.
25515 * config/nvptx/t-omp-device: Likewise.
25516 * config/pa/elf.h: Likewise.
25517 * config/pa/pa-linux.h (GLOBAL_ASM_OP): Likewise.
25518 * config/pa/pa-netbsd.h (GLOBAL_ASM_OP): Likewise.
25519 * config/pa/pa-openbsd.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
25520 * config/pa/pa-protos.h (pa_eh_return_handler_rtx): Likewise.
25521 (pa_legitimize_reload_address): Likewise.
25522 (pa_can_use_return_insn): Likewise.
25523 * config/pa/pa.cc (mem_shadd_or_shadd_rtx_p): Likewise.
25524 (som_output_text_section_asm_op): Likewise.
25525 * config/pa/pa.h (PROFILE_BEFORE_PROLOGUE): Likewise.
25526 * config/pa/pa.md: Likewise.
25527 * config/pa/som.h: Likewise.
25528 * config/pa/t-pa: Likewise.
25529 * config/pdp11/pdp11.cc (decode_pdp11_d): Likewise.
25530 * config/pdp11/pdp11.h: Likewise.
25531 * config/pdp11/pdp11.md: Likewise.
25532 * config/pdp11/t-pdp11: Likewise.
25533 * config/pru/pru.md: Likewise.
25534 * config/pru/t-pru: Likewise.
25535 * config/riscv/riscv-protos.h (NUM_SYMBOL_TYPES): Likewise.
25536 (riscv_gpr_save_operation_p): Likewise.
25537 (riscv_d_register_target_info): Likewise.
25538 (riscv_init_builtins): Likewise.
25539 * config/riscv/riscv.cc (riscv_output_mi_thunk): Likewise.
25540 * config/riscv/riscv.h (CSW_MAX_OFFSET): Likewise.
25541 * config/riscv/t-riscv: Likewise.
25542 * config/rl78/rl78.cc (rl78_asm_ctor_dtor): Likewise.
25543 * config/rl78/t-rl78: Likewise.
25544 * config/rs6000/aix.h: Likewise.
25545 * config/rs6000/aix71.h (ASM_SPEC_COMMON): Likewise.
25546 * config/rs6000/aix72.h (ASM_SPEC_COMMON): Likewise.
25547 * config/rs6000/aix73.h (ASM_SPEC_COMMON): Likewise.
25548 * config/rs6000/darwin.h (TARGET_ASM_GLOBALIZE_LABEL): Likewise.
25549 * config/rs6000/driver-rs6000.cc: Likewise.
25550 * config/rs6000/freebsd.h: Likewise.
25551 * config/rs6000/freebsd64.h: Likewise.
25552 * config/rs6000/lynx.h (ASM_OUTPUT_ALIGN): Likewise.
25553 * config/rs6000/rbtree.cc: Likewise.
25554 * config/rs6000/rbtree.h: Likewise.
25555 * config/rs6000/rs6000-c.cc (rs6000_target_modify_macros): Likewise.
25556 * config/rs6000/rs6000-call.cc (rs6000_invalid_builtin): Likewise.
25557 (rs6000_expand_builtin): Likewise.
25558 (rs6000_init_builtins): Likewise.
25559 * config/rs6000/rs6000-cpus.def: Likewise.
25560 * config/rs6000/rs6000-gen-builtins.cc (write_init_ovld_table): Likewise.
25561 * config/rs6000/rs6000-internal.h (ALTIVEC_REG_BIT): Likewise.
25562 (quad_address_offset_p): Likewise.
25563 * config/rs6000/rs6000-logue.cc (interesting_frame_related_regno): Likewise.
25564 (rs6000_emit_epilogue): Likewise.
25565 * config/rs6000/rs6000-overload.def: Likewise.
25566 * config/rs6000/rs6000-p8swap.cc: Likewise.
25567 * config/rs6000/rs6000-protos.h (GCC_RS6000_PROTOS_H): Likewise.
25568 (rs6000_const_f32_to_i32): Likewise.
25569 * config/rs6000/rs6000.cc (legitimate_lo_sum_address_p): Likewise.
25570 (rs6000_debug_legitimize_address): Likewise.
25571 (rs6000_mode_dependent_address): Likewise.
25572 (rs6000_adjust_priority): Likewise.
25573 (rs6000_c_mode_for_suffix): Likewise.
25574 * config/rs6000/rs6000.h (defined): Likewise.
25575 (LONG_DOUBLE_TYPE_SIZE): Likewise.
25576 * config/rs6000/rs6000.md: Likewise.
25577 * config/rs6000/sysv4.h: Likewise.
25578 * config/rs6000/t-linux: Likewise.
25579 * config/rs6000/t-linux64: Likewise.
25580 * config/rs6000/t-rs6000: Likewise.
25581 * config/rs6000/x-darwin: Likewise.
25582 * config/rs6000/x-darwin64: Likewise.
25583 * config/rs6000/x-rs6000: Likewise.
25584 * config/rs6000/xcoff.h (ASM_OUTPUT_LABELREF): Likewise.
25585 * config/rx/rx.cc (rx_expand_builtin): Likewise.
25586 * config/s390/constraints.md: Likewise.
25587 * config/s390/driver-native.cc: Likewise.
25588 * config/s390/htmxlintrin.h: Likewise.
25589 * config/s390/s390-builtins.def (B_DEF): Likewise.
25590 (OB_DEF_VAR): Likewise.
25591 * config/s390/s390-builtins.h: Likewise.
25592 * config/s390/s390-c.cc: Likewise.
25593 * config/s390/s390-opts.h: Likewise.
25594 * config/s390/s390-protos.h (s390_check_symref_alignment): Likewise.
25595 (s390_register_target_pragmas): Likewise.
25596 * config/s390/s390.cc (s390_init_builtins): Likewise.
25597 (s390_expand_plus_operand): Likewise.
25598 (s390_expand_atomic): Likewise.
25599 (s390_valid_target_attribute_inner_p): Likewise.
25600 * config/s390/s390.h (LONG_DOUBLE_TYPE_SIZE): Likewise.
25601 * config/s390/s390.md: Likewise.
25602 * config/s390/t-s390: Likewise.
25603 * config/s390/vx-builtins.md: Likewise.
25604 * config/s390/x-native: Likewise.
25605 * config/sh/divtab-sh4-300.cc (main): Likewise.
25606 * config/sh/divtab-sh4.cc (main): Likewise.
25607 * config/sh/divtab.cc (main): Likewise.
25608 * config/sh/elf.h: Likewise.
25609 * config/sh/sh-protos.h (sh_fsca_int2sf): Likewise.
25610 * config/sh/sh.cc (SYMBOL_FLAG_FUNCVEC_FUNCTION): Likewise.
25611 (sh_struct_value_rtx): Likewise.
25612 (sh_remove_reg_dead_or_unused_notes): Likewise.
25613 * config/sh/sh.h (MIN_UNITS_PER_WORD): Likewise.
25614 * config/sh/t-sh: Likewise.
25615 * config/sol2-protos.h (solaris_override_options): Likewise.
25616 * config/sol2.h: Likewise.
25617 * config/sparc/driver-sparc.cc: Likewise.
25618 * config/sparc/freebsd.h: Likewise.
25619 * config/sparc/sparc-protos.h (make_pass_work_around_errata): Likewise.
25620 * config/sparc/sparc.cc (sparc_output_mi_thunk): Likewise.
25621 (sparc_asan_shadow_offset): Likewise.
25622 * config/sparc/sparc.h: Likewise.
25623 * config/sparc/sparc.md: Likewise.
25624 * config/sparc/t-sparc: Likewise.
25625 * config/sparc/x-sparc: Likewise.
25626 * config/stormy16/stormy16.cc (xstormy16_mode_dependent_address_p): Likewise.
25627 * config/t-darwin: Likewise.
25628 * config/t-dragonfly: Likewise.
25629 * config/t-freebsd: Likewise.
25630 * config/t-glibc: Likewise.
25631 * config/t-linux: Likewise.
25632 * config/t-netbsd: Likewise.
25633 * config/t-openbsd: Likewise.
25634 * config/t-pnt16-warn: Likewise.
25635 * config/t-sol2: Likewise.
25636 * config/t-vxworks: Likewise.
25637 * config/t-winnt: Likewise.
25638 * config/tilegx/t-tilegx: Likewise.
25639 * config/tilegx/tilegx-c.cc: Likewise.
25640 * config/tilegx/tilegx-protos.h (tilegx_function_profiler): Likewise.
25641 * config/tilegx/tilegx.md: Likewise.
25642 * config/tilepro/t-tilepro: Likewise.
25643 * config/tilepro/tilepro-c.cc: Likewise.
25644 * config/v850/t-v850: Likewise.
25645 * config/v850/v850-protos.h: Likewise.
25646 * config/v850/v850.cc (F): Likewise.
25647 * config/v850/v850.h (enum reg_class): Likewise.
25648 (SLOW_BYTE_ACCESS): Likewise.
25649 * config/vax/vax.cc (vax_mode_dependent_address_p): Likewise.
25650 * config/vax/vax.h (enum reg_class): Likewise.
25651 * config/vax/vax.md: Likewise.
25652 * config/visium/visium.cc (visium_legitimate_address_p): Likewise.
25653 * config/visium/visium.h: Likewise.
25654 * config/vms/t-vms: Likewise.
25655 * config/vms/vms-crtlmap.map: Likewise.
25656 * config/vms/vms-protos.h (vms_c_get_vms_ver): Likewise.
25657 * config/vx-common.h: Likewise.
25658 * config/x-darwin: Likewise.
25659 * config/x-hpux: Likewise.
25660 * config/x-linux: Likewise.
25661 * config/x-netbsd: Likewise.
25662 * config/x-openbsd: Likewise.
25663 * config/x-solaris: Likewise.
25664 * config/xtensa/xtensa-protos.h (xtensa_mem_offset): Likewise.
25665 * config/xtensa/xtensa.cc (xtensa_option_override): Likewise.
25666 * config/xtensa/xtensa.h: Likewise.
25667 * configure.ac: Likewise.
25668 * context.cc: Likewise.
25669 * convert.h: Likewise.
25670 * coretypes.h: Likewise.
25671 * coverage.cc: Likewise.
25672 * coverage.h: Likewise.
25673 * cppdefault.h (struct default_include): Likewise.
25674 * cprop.cc (local_cprop_pass): Likewise.
25675 (one_cprop_pass): Likewise.
25676 * cse.cc (hash_rtx_cb): Likewise.
25677 (fold_rtx): Likewise.
25678 * ctfc.h (ctfc_get_num_vlen_bytes): Likewise.
25679 * data-streamer.h (bp_unpack_var_len_int): Likewise.
25680 (streamer_write_widest_int): Likewise.
25681 * dbgcnt.def: Likewise.
25682 * dbxout.cc (dbxout_early_global_decl): Likewise.
25683 (dbxout_common_check): Likewise.
25684 * dbxout.h: Likewise.
25685 * debug.h (struct gcc_debug_hooks): Likewise.
25686 (dump_go_spec_init): Likewise.
25687 * df-core.cc: Likewise.
25688 * df-scan.cc (df_insn_info_delete): Likewise.
25689 (df_insn_delete): Likewise.
25690 * df.h (debug_df_chain): Likewise.
25691 (can_move_insns_across): Likewise.
25692 * dfp.cc (decimal_from_binary): Likewise.
25693 * diagnostic-color.cc: Likewise.
25694 * diagnostic-event-id.h: Likewise.
25695 * diagnostic-show-locus.cc (test_one_liner_labels): Likewise.
25696 * diagnostic.cc (bt_callback): Likewise.
25697 (num_digits): Likewise.
25698 * doc/avr-mmcu.texi: Likewise.
25699 * doc/cfg.texi: Likewise.
25700 * doc/contrib.texi: Likewise.
25701 * doc/cppinternals.texi: Likewise.
25702 * doc/extend.texi: Likewise.
25703 * doc/generic.texi: Likewise.
25704 * doc/gimple.texi: Likewise.
25705 * doc/gty.texi: Likewise.
25706 * doc/invoke.texi: Likewise.
25707 * doc/loop.texi: Likewise.
25708 * doc/lto.texi: Likewise.
25709 * doc/match-and-simplify.texi: Likewise.
25710 * doc/md.texi: Likewise.
25711 * doc/optinfo.texi: Likewise.
25712 * doc/options.texi: Likewise.
25713 * doc/passes.texi: Likewise.
25714 * doc/plugins.texi: Likewise.
25715 * doc/rtl.texi: Likewise.
25716 * doc/sourcebuild.texi: Likewise.
25717 * doc/tm.texi: Likewise.
25718 * doc/tm.texi.in: Likewise.
25719 * doc/tree-ssa.texi: Likewise.
25720 * dojump.cc (do_jump): Likewise.
25721 * dojump.h: Likewise.
25722 * dumpfile.cc (test_impl_location): Likewise.
25723 (test_capture_of_dump_calls): Likewise.
25724 * dumpfile.h (enum dump_kind): Likewise.
25725 (class dump_location_t): Likewise.
25726 (dump_enabled_p): Likewise.
25727 (enable_rtl_dump_file): Likewise.
25728 (dump_combine_total_stats): Likewise.
25729 * dwarf2asm.cc (dw2_asm_output_delta_uleb128): Likewise.
25730 * dwarf2ctf.h (ctf_debug_finish): Likewise.
25731 * dwarf2out.cc (dwarf2out_begin_prologue): Likewise.
25732 (struct loc_descr_context): Likewise.
25733 (rtl_for_decl_location): Likewise.
25734 (gen_subprogram_die): Likewise.
25735 (gen_label_die): Likewise.
25736 (is_trivial_indirect_ref): Likewise.
25737 (dwarf2out_late_global_decl): Likewise.
25738 (dwarf_file_hasher::hash): Likewise.
25739 (dwarf2out_end_source_file): Likewise.
25740 (dwarf2out_define): Likewise.
25741 (dwarf2out_early_finish): Likewise.
25742 * dwarf2out.h (struct dw_fde_node): Likewise.
25743 (struct dw_discr_list_node): Likewise.
25744 (output_loc_sequence_raw): Likewise.
25745 * emit-rtl.cc (gen_raw_REG): Likewise.
25746 (maybe_set_max_label_num): Likewise.
25747 * emit-rtl.h (struct rtl_data): Likewise.
25748 * errors.cc (internal_error): Likewise.
25749 (trim_filename): Likewise.
25750 * et-forest.cc: Likewise.
25751 * except.cc (init_eh_for_function): Likewise.
25752 * explow.cc (promote_ssa_mode): Likewise.
25753 (get_dynamic_stack_size): Likewise.
25754 * explow.h: Likewise.
25755 * expmed.h: Likewise.
25756 * expr.cc (safe_from_p): Likewise.
25757 (expand_expr_real_2): Likewise.
25758 (expand_expr_real_1): Likewise.
25759 * file-prefix-map.cc (remap_filename): Likewise.
25760 * final.cc (app_enable): Likewise.
25761 (make_pass_compute_alignments): Likewise.
25762 (final_scan_insn_1): Likewise.
25763 (final_scan_insn): Likewise.
25764 * fixed-value.h (fixed_from_string): Likewise.
25765 * flag-types.h (NO_DEBUG): Likewise.
25766 (DWARF2_DEBUG): Likewise.
25767 (VMS_DEBUG): Likewise.
25768 (BTF_DEBUG): Likewise.
25769 (enum ctf_debug_info_levels): Likewise.
25770 * fold-const.cc (const_binop): Likewise.
25771 (fold_binary_loc): Likewise.
25772 (fold_checksum_tree): Likewise.
25773 * fp-test.cc: Likewise.
25774 * function.cc (expand_function_end): Likewise.
25775 * function.h (struct function): Likewise.
25776 * fwprop.cc (should_replace_address): Likewise.
25777 * gcc-main.cc: Likewise.
25778 * gcc-rich-location.h (class gcc_rich_location): Likewise.
25779 * gcc-symtab.h: Likewise.
25780 * gcc.cc (MIN_FATAL_STATUS): Likewise.
25781 (driver_handle_option): Likewise.
25782 (quote_spec_arg): Likewise.
25783 (driver::finalize): Likewise.
25784 * gcc.h (set_input): Likewise.
25785 * gcov-dump.cc: Likewise.
25786 * gcov.cc (solve_flow_graph): Likewise.
25787 * gcse-common.cc: Likewise.
25788 * gcse.cc (make_pass_rtl_hoist): Likewise.
25789 * genattr-common.cc: Likewise.
25790 * genattrtab.cc (min_fn): Likewise.
25791 (write_const_num_delay_slots): Likewise.
25792 * genautomata.cc: Likewise.
25793 * genconditions.cc (write_one_condition): Likewise.
25794 * genconstants.cc: Likewise.
25795 * genemit.cc (gen_exp): Likewise.
25796 * generic-match-head.cc: Likewise.
25797 * genextract.cc: Likewise.
25798 * gengenrtl.cc (always_void_p): Likewise.
25799 * gengtype-parse.cc (gtymarker_opt): Likewise.
25800 * gengtype-state.cc (state_writer::state_writer): Likewise.
25801 (write_state_trailer): Likewise.
25802 (equals_type_number): Likewise.
25803 (read_state): Likewise.
25804 * gengtype.cc (open_base_files): Likewise.
25805 (struct file_rule_st): Likewise.
25806 (header_dot_h_frul): Likewise.
25807 * gengtype.h: Likewise.
25808 * genmatch.cc (main): Likewise.
25809 * genmddeps.cc: Likewise.
25810 * genmodes.cc (emit_mode_inner): Likewise.
25811 (emit_mode_unit_size): Likewise.
25812 * genpeep.cc (gen_peephole): Likewise.
25813 * genpreds.cc (write_tm_preds_h): Likewise.
25814 * genrecog.cc (validate_pattern): Likewise.
25815 (write_header): Likewise.
25816 (main): Likewise.
25817 * gensupport.cc (change_subst_attribute): Likewise.
25818 (traverse_c_tests): Likewise.
25819 (add_predicate): Likewise.
25820 (init_predicate_table): Likewise.
25821 * gensupport.h (struct optab_pattern): Likewise.
25822 (get_num_insn_codes): Likewise.
25823 (maybe_eval_c_test): Likewise.
25824 (struct pred_data): Likewise.
25825 * ggc-internal.h: Likewise.
25826 * gimple-fold.cc (maybe_fold_reference): Likewise.
25827 (get_range_strlen_tree): Likewise.
25828 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Likewise.
25829 * gimple-low.cc: Likewise.
25830 * gimple-match-head.cc (directly_supported_p): Likewise.
25831 * gimple-pretty-print.h: Likewise.
25832 * gimple-ssa-sprintf.cc (format_percent): Likewise.
25833 (adjust_range_for_overflow): Likewise.
25834 * gimple-streamer.h: Likewise.
25835 * gimple.h (struct GTY): Likewise.
25836 (is_gimple_resx): Likewise.
25837 * gimplify.cc (gimplify_expr): Likewise.
25838 (gimplify_init_constructor): Likewise.
25839 (omp_construct_selector_matches): Likewise.
25840 (gimplify_omp_target_update): Likewise.
25841 (gimplify_omp_ordered): Likewise.
25842 (gimplify_va_arg_expr): Likewise.
25843 * graphite-isl-ast-to-gimple.cc (should_copy_to_new_region): Likewise.
25844 * haifa-sched.cc (increase_insn_priority): Likewise.
25845 (try_ready): Likewise.
25846 (sched_create_recovery_edges): Likewise.
25847 * ifcvt.cc (find_if_case_1): Likewise.
25848 (find_if_case_2): Likewise.
25849 * inchash.h: Likewise.
25850 * incpath.cc (add_env_var_paths): Likewise.
25851 * input.cc (dump_location_info): Likewise.
25852 (assert_loceq): Likewise.
25853 (test_lexer_string_locations_concatenation_1): Likewise.
25854 (test_lexer_string_locations_concatenation_2): Likewise.
25855 (test_lexer_string_locations_concatenation_3): Likewise.
25856 * input.h (BUILTINS_LOCATION): Likewise.
25857 (class string_concat_db): Likewise.
25858 * internal-fn.cc (expand_MUL_OVERFLOW): Likewise.
25859 (expand_LOOP_VECTORIZED): Likewise.
25860 * ipa-cp.cc (make_pass_ipa_cp): Likewise.
25861 * ipa-fnsummary.cc (remap_freqcounting_preds_after_dup): Likewise.
25862 (ipa_fn_summary_t::duplicate): Likewise.
25863 (make_pass_ipa_fn_summary): Likewise.
25864 * ipa-fnsummary.h (enum ipa_hints_vals): Likewise.
25865 * ipa-free-lang-data.cc (fld_simplified_type): Likewise.
25866 (free_lang_data_in_decl): Likewise.
25867 * ipa-inline.cc (compute_inlined_call_time): Likewise.
25868 (inline_always_inline_functions): Likewise.
25869 * ipa-inline.h (free_growth_caches): Likewise.
25870 (inline_account_function_p): Likewise.
25871 * ipa-modref.cc (modref_access_analysis::analyze_stmt): Likewise.
25872 (modref_eaf_analysis::analyze_ssa_name): Likewise.
25873 * ipa-param-manipulation.cc (ipa_param_body_adjustments::mark_dead_statements): Likewise.
25874 (ipa_param_body_adjustments::remap_with_debug_expressions): Likewise.
25875 * ipa-prop.cc (ipa_set_node_agg_value_chain): Likewise.
25876 * ipa-prop.h (IPA_UNDESCRIBED_USE): Likewise.
25877 (unadjusted_ptr_and_unit_offset): Likewise.
25878 * ipa-reference.cc (make_pass_ipa_reference): Likewise.
25879 * ipa-reference.h (GCC_IPA_REFERENCE_H): Likewise.
25880 * ipa-split.cc (consider_split): Likewise.
25881 * ipa-sra.cc (isra_read_node_info): Likewise.
25882 * ipa-utils.h (struct ipa_dfs_info): Likewise.
25883 (recursive_call_p): Likewise.
25884 (ipa_make_function_pure): Likewise.
25885 * ira-build.cc (ira_create_allocno): Likewise.
25886 (ira_flattening): Likewise.
25887 * ira-color.cc (do_coloring): Likewise.
25888 (update_curr_costs): Likewise.
25889 * ira-conflicts.cc (process_regs_for_copy): Likewise.
25890 * ira-int.h (struct ira_emit_data): Likewise.
25891 (ira_prohibited_mode_move_regs): Likewise.
25892 (ira_get_dup_out_num): Likewise.
25893 (ira_destroy): Likewise.
25894 (ira_tune_allocno_costs): Likewise.
25895 (ira_implicitly_set_insn_hard_regs): Likewise.
25896 (ira_build_conflicts): Likewise.
25897 (ira_color): Likewise.
25898 * ira-lives.cc (process_bb_node_lives): Likewise.
25899 * ira.cc (class ira_spilled_reg_stack_slot): Likewise.
25900 (setup_uniform_class_p): Likewise.
25901 (def_dominates_uses): Likewise.
25902 * ira.h (ira_nullify_asm_goto): Likewise.
25903 * langhooks.cc (lhd_post_options): Likewise.
25904 * langhooks.h (class substring_loc): Likewise.
25905 (struct lang_hooks_for_tree_inlining): Likewise.
25906 (struct lang_hooks_for_types): Likewise.
25907 (struct lang_hooks): Likewise.
25908 * libfuncs.h (synchronize_libfunc): Likewise.
25909 * loop-doloop.cc (doloop_condition_get): Likewise.
25910 * loop-init.cc (fix_loop_structure): Likewise.
25911 * loop-invariant.cc: Likewise.
25912 * lower-subreg.h: Likewise.
25913 * lra-constraints.cc (curr_insn_transform): Likewise.
25914 * lra-int.h (struct lra_insn_reg): Likewise.
25915 (lra_undo_inheritance): Likewise.
25916 (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
25917 (lra_split_hard_reg_for): Likewise.
25918 (lra_coalesce): Likewise.
25919 (lra_final_code_change): Likewise.
25920 * lra-spills.cc (lra_final_code_change): Likewise.
25921 * lra.cc (lra_process_new_insns): Likewise.
25922 * lto-compress.h (struct lto_compression_stream): Likewise.
25923 * lto-streamer-out.cc (DFS::DFS_write_tree_body): Likewise.
25924 (write_symbol): Likewise.
25925 * lto-streamer.h (enum LTO_tags): Likewise.
25926 (lto_value_range_error): Likewise.
25927 (lto_append_block): Likewise.
25928 (lto_streamer_hooks_init): Likewise.
25929 (stream_read_tree_ref): Likewise.
25930 (lto_prepare_function_for_streaming): Likewise.
25931 (select_what_to_stream): Likewise.
25932 (omp_lto_input_declare_variant_alt): Likewise.
25933 (cl_optimization_stream_in): Likewise.
25934 * lto-wrapper.cc (append_compiler_options): Likewise.
25935 * machmode.def: Likewise.
25936 * machmode.h (struct int_n_data_t): Likewise.
25937 * main.cc (main): Likewise.
25938 * match.pd: Likewise.
25939 * omp-builtins.def (BUILT_IN_GOMP_CRITICAL_NAME_END): Likewise.
25940 (BUILT_IN_GOMP_LOOP_ULL_ORDERED_RUNTIME_NEXT): Likewise.
25941 * omp-expand.cc (expand_omp_atomic_fetch_op): Likewise.
25942 (make_pass_expand_omp_ssa): Likewise.
25943 * omp-low.cc (struct omp_context): Likewise.
25944 (struct omp_taskcopy_context): Likewise.
25945 (lower_omp): Likewise.
25946 * omp-oacc-neuter-broadcast.cc (omp_sese_active_worker_call): Likewise.
25947 (mask_name): Likewise.
25948 (omp_sese_dump_pars): Likewise.
25949 (worker_single_simple): Likewise.
25950 * omp-offload.cc (omp_finish_file): Likewise.
25951 (execute_oacc_loop_designation): Likewise.
25952 * optabs-query.cc (lshift_cheap_p): Likewise.
25953 * optc-gen.awk: Likewise.
25954 * optc-save-gen.awk: Likewise.
25955 * optinfo-emit-json.cc (optrecord_json_writer::optrecord_json_writer): Likewise.
25956 * opts-common.cc: Likewise.
25957 * output.h (app_enable): Likewise.
25958 (output_operand_lossage): Likewise.
25959 (insn_current_reference_address): Likewise.
25960 (get_insn_template): Likewise.
25961 (output_quoted_string): Likewise.
25962 * pass_manager.h (struct register_pass_info): Likewise.
25963 * plugin.cc: Likewise.
25964 * plugin.def (PLUGIN_ANALYZER_INIT): Likewise.
25965 * plugin.h (invoke_plugin_callbacks): Likewise.
25966 * pointer-query.cc (handle_mem_ref): Likewise.
25967 * postreload-gcse.cc (alloc_mem): Likewise.
25968 * predict.h (enum prediction): Likewise.
25969 (add_reg_br_prob_note): Likewise.
25970 * prefix.h: Likewise.
25971 * profile.h (get_working_sets): Likewise.
25972 * read-md.cc: Likewise.
25973 * read-md.h (struct mapping): Likewise.
25974 (class md_reader): Likewise.
25975 (class noop_reader): Likewise.
25976 * read-rtl-function.cc (function_reader::create_function): Likewise.
25977 (function_reader::extra_parsing_for_operand_code_0): Likewise.
25978 * read-rtl.cc (initialize_iterators): Likewise.
25979 * real.cc: Likewise.
25980 * real.h (struct real_value): Likewise.
25981 (format_helper::format_helper): Likewise.
25982 (real_hash): Likewise.
25983 (real_can_shorten_arithmetic): Likewise.
25984 * recog.cc (struct target_recog): Likewise.
25985 (offsettable_nonstrict_memref_p): Likewise.
25986 (constrain_operands): Likewise.
25987 * recog.h (MAX_RECOG_ALTERNATIVES): Likewise.
25988 (which_op_alt): Likewise.
25989 (struct insn_gen_fn): Likewise.
25990 * reg-notes.def (REG_NOTE): Likewise.
25991 * reg-stack.cc: Likewise.
25992 * regs.h (reg_is_parm_p): Likewise.
25993 * regset.h: Likewise.
25994 * reload.cc (push_reload): Likewise.
25995 (find_reloads): Likewise.
25996 (find_reloads_address_1): Likewise.
25997 (find_replacement): Likewise.
25998 (refers_to_regno_for_reload_p): Likewise.
25999 (refers_to_mem_for_reload_p): Likewise.
26000 * reload.h (push_reload): Likewise.
26001 (deallocate_reload_reg): Likewise.
26002 * reload1.cc (emit_input_reload_insns): Likewise.
26003 * reorg.cc (relax_delay_slots): Likewise.
26004 * rtl.def (UNKNOWN): Likewise.
26005 (SEQUENCE): Likewise.
26006 (BARRIER): Likewise.
26007 (ASM_OPERANDS): Likewise.
26008 (EQ_ATTR_ALT): Likewise.
26009 * rtl.h (struct GTY): Likewise.
26010 (LABEL_NAME): Likewise.
26011 (LABEL_ALT_ENTRY_P): Likewise.
26012 (SUBREG_BYTE): Likewise.
26013 (get_stack_check_protect): Likewise.
26014 (dump_rtx_statistics): Likewise.
26015 (unwrap_const_vec_duplicate): Likewise.
26016 (subreg_promoted_mode): Likewise.
26017 (gen_lowpart_common): Likewise.
26018 (operand_subword): Likewise.
26019 (immed_wide_int_const): Likewise.
26020 (decide_function_section): Likewise.
26021 (active_insn_p): Likewise.
26022 (delete_related_insns): Likewise.
26023 (try_split): Likewise.
26024 (val_signbit_known_clear_p): Likewise.
26025 (simplifiable_subregs): Likewise.
26026 (set_insn_deleted): Likewise.
26027 (subreg_get_info): Likewise.
26028 (remove_free_EXPR_LIST_node): Likewise.
26029 (finish_subregs_of_mode): Likewise.
26030 (get_mem_attrs): Likewise.
26031 (lookup_constant_def): Likewise.
26032 (rtx_to_tree_code): Likewise.
26033 (hash_rtx): Likewise.
26034 (condjump_in_parallel_p): Likewise.
26035 (validate_subreg): Likewise.
26036 (make_compound_operation): Likewise.
26037 (schedule_ebbs): Likewise.
26038 (print_inline_rtx): Likewise.
26039 (fixup_args_size_notes): Likewise.
26040 (expand_dec): Likewise.
26041 (prepare_copy_insn): Likewise.
26042 (mark_elimination): Likewise.
26043 (valid_mode_changes_for_regno): Likewise.
26044 (make_debug_expr_from_rtl): Likewise.
26045 (delete_vta_debug_insns): Likewise.
26046 (simplify_using_condition): Likewise.
26047 (set_insn_locations): Likewise.
26048 (fatal_insn_not_found): Likewise.
26049 (word_register_operation_p): Likewise.
26050 * rtlanal.cc (get_call_fndecl): Likewise.
26051 (side_effects_p): Likewise.
26052 (subreg_nregs): Likewise.
26053 (rtx_cost): Likewise.
26054 (canonicalize_condition): Likewise.
26055 * rtlanal.h (rtx_properties::try_to_add_note): Likewise.
26056 * run-rtl-passes.cc (run_rtl_passes): Likewise.
26057 * sanitizer.def (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Likewise.
26058 * sched-deps.cc (add_dependence_1): Likewise.
26059 * sched-ebb.cc (begin_move_insn): Likewise.
26060 (add_deps_for_risky_insns): Likewise.
26061 (advance_target_bb): Likewise.
26062 * sched-int.h (reemit_notes): Likewise.
26063 (struct _haifa_insn_data): Likewise.
26064 (HID): Likewise.
26065 (DEP_CANCELLED): Likewise.
26066 (debug_ds): Likewise.
26067 (number_in_ready): Likewise.
26068 (schedule_ebbs_finish): Likewise.
26069 (find_modifiable_mems): Likewise.
26070 * sched-rgn.cc (debug_rgn_dependencies): Likewise.
26071 * sel-sched-dump.cc (dump_lv_set): Likewise.
26072 * sel-sched-dump.h: Likewise.
26073 * sel-sched-ir.cc (sel_insn_rtx_cost): Likewise.
26074 (setup_id_reg_sets): Likewise.
26075 (has_dependence_p): Likewise.
26076 (sel_num_cfg_preds_gt_1): Likewise.
26077 (bb_ends_ebb_p): Likewise.
26078 * sel-sched-ir.h (struct _list_node): Likewise.
26079 (struct idata_def): Likewise.
26080 (bb_next_bb): Likewise.
26081 * sel-sched.cc (vinsn_writes_one_of_regs_p): Likewise.
26082 (choose_best_pseudo_reg): Likewise.
26083 (verify_target_availability): Likewise.
26084 (can_speculate_dep_p): Likewise.
26085 (sel_rank_for_schedule): Likewise.
26086 * selftest-run-tests.cc (selftest::run_tests): Likewise.
26087 * selftest.h (class auto_fix_quotes): Likewise.
26088 * shrink-wrap.cc (handle_simple_exit): Likewise.
26089 * shrink-wrap.h: Likewise.
26090 * simplify-rtx.cc (simplify_context::simplify_associative_operation): Likewise.
26091 (simplify_context::simplify_gen_vec_select): Likewise.
26092 * spellcheck-tree.h: Likewise.
26093 * spellcheck.h: Likewise.
26094 * statistics.h (struct function): Likewise.
26095 * stmt.cc (conditional_probability): Likewise.
26096 * stmt.h: Likewise.
26097 * stor-layout.h: Likewise.
26098 * streamer-hooks.h: Likewise.
26099 * stringpool.h: Likewise.
26100 * symtab.cc (symbol_table::change_decl_assembler_name): Likewise.
26101 * target.def (HOOK_VECTOR_END): Likewise.
26102 (type.): Likewise.
26103 * target.h (union cumulative_args_t): Likewise.
26104 (by_pieces_ninsns): Likewise.
26105 (class predefined_function_abi): Likewise.
26106 * targhooks.cc (default_translate_mode_attribute): Likewise.
26107 * timevar.def: Likewise.
26108 * timevar.h (class timer): Likewise.
26109 * toplev.h (enable_rtl_dump_file): Likewise.
26110 * trans-mem.cc (collect_bb2reg): Likewise.
26111 * tree-call-cdce.cc (gen_conditions_for_pow): Likewise.
26112 * tree-cfg.cc (remove_bb): Likewise.
26113 (verify_gimple_debug): Likewise.
26114 (remove_edge_and_dominated_blocks): Likewise.
26115 (push_fndecl): Likewise.
26116 * tree-cfgcleanup.h (GCC_TREE_CFGCLEANUP_H): Likewise.
26117 * tree-complex.cc (expand_complex_multiplication): Likewise.
26118 (expand_complex_div_straight): Likewise.
26119 * tree-core.h (enum tree_index): Likewise.
26120 (enum operand_equal_flag): Likewise.
26121 * tree-eh.cc (honor_protect_cleanup_actions): Likewise.
26122 * tree-if-conv.cc (if_convertible_gimple_assign_stmt_p): Likewise.
26123 * tree-inline.cc (initialize_inlined_parameters): Likewise.
26124 * tree-inline.h (force_value_to_type): Likewise.
26125 * tree-nested.cc (get_chain_decl): Likewise.
26126 (walk_all_functions): Likewise.
26127 * tree-object-size.h: Likewise.
26128 * tree-outof-ssa.cc: Likewise.
26129 * tree-parloops.cc (create_parallel_loop): Likewise.
26130 * tree-pretty-print.cc (print_generic_expr_to_str): Likewise.
26131 (dump_generic_node): Likewise.
26132 * tree-profile.cc (tree_profiling): Likewise.
26133 * tree-sra.cc (maybe_add_sra_candidate): Likewise.
26134 * tree-ssa-address.cc: Likewise.
26135 * tree-ssa-alias.cc: Likewise.
26136 * tree-ssa-alias.h (ao_ref::max_size_known_p): Likewise.
26137 (dump_alias_stats): Likewise.
26138 * tree-ssa-ccp.cc: Likewise.
26139 * tree-ssa-coalesce.h: Likewise.
26140 * tree-ssa-live.cc (remove_unused_scope_block_p): Likewise.
26141 * tree-ssa-loop-manip.cc (copy_phi_node_args): Likewise.
26142 * tree-ssa-loop-unswitch.cc: Likewise.
26143 * tree-ssa-math-opts.cc: Likewise.
26144 * tree-ssa-operands.cc (class operands_scanner): Likewise.
26145 * tree-ssa-pre.cc: Likewise.
26146 * tree-ssa-reassoc.cc (optimize_ops_list): Likewise.
26147 (debug_range_entry): Likewise.
26148 * tree-ssa-sccvn.cc (eliminate_dom_walker::eliminate_stmt): Likewise.
26149 * tree-ssa-sccvn.h (TREE_SSA_SCCVN_H): Likewise.
26150 * tree-ssa-scopedtables.cc (add_expr_commutative): Likewise.
26151 (equal_mem_array_ref_p): Likewise.
26152 * tree-ssa-strlen.cc (is_strlen_related_p): Likewise.
26153 * tree-ssa-strlen.h (get_range_strlen_dynamic): Likewise.
26154 * tree-ssa-tail-merge.cc (stmt_local_def): Likewise.
26155 * tree-ssa-ter.h: Likewise.
26156 * tree-ssa-threadupdate.h (enum bb_dom_status): Likewise.
26157 * tree-streamer-in.cc (lto_input_ts_block_tree_pointers): Likewise.
26158 * tree-streamer-out.cc (pack_ts_block_value_fields): Likewise.
26159 (write_ts_block_tree_pointers): Likewise.
26160 * tree-streamer.h (struct streamer_tree_cache_d): Likewise.
26161 (streamer_read_tree_bitfields): Likewise.
26162 (streamer_write_integer_cst): Likewise.
26163 * tree-vect-patterns.cc (apply_binop_and_append_stmt): Likewise.
26164 (vect_synth_mult_by_constant): Likewise.
26165 * tree-vect-stmts.cc (vectorizable_operation): Likewise.
26166 * tree-vectorizer.cc: Likewise.
26167 * tree-vectorizer.h (class auto_purge_vect_location): Likewise.
26168 (vect_update_inits_of_drs): Likewise.
26169 (vect_get_mask_type_for_stmt): Likewise.
26170 (vect_rgroup_iv_might_wrap_p): Likewise.
26171 (cse_and_gimplify_to_preheader): Likewise.
26172 (vect_free_slp_tree): Likewise.
26173 (vect_pattern_recog): Likewise.
26174 (vect_stmt_dominates_stmt_p): Likewise.
26175 * tree.cc (initialize_tree_contains_struct): Likewise.
26176 (need_assembler_name_p): Likewise.
26177 (type_with_interoperable_signedness): Likewise.
26178 * tree.def (SWITCH_EXPR): Likewise.
26179 * tree.h (TYPE_SYMTAB_ADDRESS): Likewise.
26180 (poly_int_tree_p): Likewise.
26181 (inlined_function_outer_scope_p): Likewise.
26182 (tree_code_for_canonical_type_merging): Likewise.
26183 * value-prof.cc: Likewise.
26184 * value-prof.h (get_nth_most_common_value): Likewise.
26185 (find_func_by_profile_id): Likewise.
26186 * value-range.cc (vrp_operand_equal_p): Likewise.
26187 * value-range.h: Likewise.
26188 * var-tracking.cc: Likewise.
26189 * varasm.cc (default_function_section): Likewise.
26190 (function_section_1): Likewise.
26191 (assemble_variable): Likewise.
26192 (handle_vtv_comdat_section): Likewise.
26193 * vec.h (struct vec_prefix): Likewise.
26194 * vmsdbgout.cc (full_name): Likewise.
26195 * vtable-verify.cc: Likewise.
26196 * vtable-verify.h (struct vtv_graph_node): Likewise.
26197 * xcoffout.cc: Likewise.
26198 * xcoffout.h (DEBUG_SYMS_TEXT): Likewise.
26199
26200 2022-01-17 Martin Liska <mliska@suse.cz>
26201
26202 * adjust-alignment.c: Moved to...
26203 * adjust-alignment.cc: ...here.
26204 * alias.c: Moved to...
26205 * alias.cc: ...here.
26206 * alloc-pool.c: Moved to...
26207 * alloc-pool.cc: ...here.
26208 * asan.c: Moved to...
26209 * asan.cc: ...here.
26210 * attribs.c: Moved to...
26211 * attribs.cc: ...here.
26212 * auto-inc-dec.c: Moved to...
26213 * auto-inc-dec.cc: ...here.
26214 * auto-profile.c: Moved to...
26215 * auto-profile.cc: ...here.
26216 * bb-reorder.c: Moved to...
26217 * bb-reorder.cc: ...here.
26218 * bitmap.c: Moved to...
26219 * bitmap.cc: ...here.
26220 * btfout.c: Moved to...
26221 * btfout.cc: ...here.
26222 * builtins.c: Moved to...
26223 * builtins.cc: ...here.
26224 * caller-save.c: Moved to...
26225 * caller-save.cc: ...here.
26226 * calls.c: Moved to...
26227 * calls.cc: ...here.
26228 * ccmp.c: Moved to...
26229 * ccmp.cc: ...here.
26230 * cfg.c: Moved to...
26231 * cfg.cc: ...here.
26232 * cfganal.c: Moved to...
26233 * cfganal.cc: ...here.
26234 * cfgbuild.c: Moved to...
26235 * cfgbuild.cc: ...here.
26236 * cfgcleanup.c: Moved to...
26237 * cfgcleanup.cc: ...here.
26238 * cfgexpand.c: Moved to...
26239 * cfgexpand.cc: ...here.
26240 * cfghooks.c: Moved to...
26241 * cfghooks.cc: ...here.
26242 * cfgloop.c: Moved to...
26243 * cfgloop.cc: ...here.
26244 * cfgloopanal.c: Moved to...
26245 * cfgloopanal.cc: ...here.
26246 * cfgloopmanip.c: Moved to...
26247 * cfgloopmanip.cc: ...here.
26248 * cfgrtl.c: Moved to...
26249 * cfgrtl.cc: ...here.
26250 * cgraph.c: Moved to...
26251 * cgraph.cc: ...here.
26252 * cgraphbuild.c: Moved to...
26253 * cgraphbuild.cc: ...here.
26254 * cgraphclones.c: Moved to...
26255 * cgraphclones.cc: ...here.
26256 * cgraphunit.c: Moved to...
26257 * cgraphunit.cc: ...here.
26258 * collect-utils.c: Moved to...
26259 * collect-utils.cc: ...here.
26260 * collect2-aix.c: Moved to...
26261 * collect2-aix.cc: ...here.
26262 * collect2.c: Moved to...
26263 * collect2.cc: ...here.
26264 * combine-stack-adj.c: Moved to...
26265 * combine-stack-adj.cc: ...here.
26266 * combine.c: Moved to...
26267 * combine.cc: ...here.
26268 * common/common-targhooks.c: Moved to...
26269 * common/common-targhooks.cc: ...here.
26270 * common/config/aarch64/aarch64-common.c: Moved to...
26271 * common/config/aarch64/aarch64-common.cc: ...here.
26272 * common/config/alpha/alpha-common.c: Moved to...
26273 * common/config/alpha/alpha-common.cc: ...here.
26274 * common/config/arc/arc-common.c: Moved to...
26275 * common/config/arc/arc-common.cc: ...here.
26276 * common/config/arm/arm-common.c: Moved to...
26277 * common/config/arm/arm-common.cc: ...here.
26278 * common/config/avr/avr-common.c: Moved to...
26279 * common/config/avr/avr-common.cc: ...here.
26280 * common/config/bfin/bfin-common.c: Moved to...
26281 * common/config/bfin/bfin-common.cc: ...here.
26282 * common/config/bpf/bpf-common.c: Moved to...
26283 * common/config/bpf/bpf-common.cc: ...here.
26284 * common/config/c6x/c6x-common.c: Moved to...
26285 * common/config/c6x/c6x-common.cc: ...here.
26286 * common/config/cr16/cr16-common.c: Moved to...
26287 * common/config/cr16/cr16-common.cc: ...here.
26288 * common/config/cris/cris-common.c: Moved to...
26289 * common/config/cris/cris-common.cc: ...here.
26290 * common/config/csky/csky-common.c: Moved to...
26291 * common/config/csky/csky-common.cc: ...here.
26292 * common/config/default-common.c: Moved to...
26293 * common/config/default-common.cc: ...here.
26294 * common/config/epiphany/epiphany-common.c: Moved to...
26295 * common/config/epiphany/epiphany-common.cc: ...here.
26296 * common/config/fr30/fr30-common.c: Moved to...
26297 * common/config/fr30/fr30-common.cc: ...here.
26298 * common/config/frv/frv-common.c: Moved to...
26299 * common/config/frv/frv-common.cc: ...here.
26300 * common/config/gcn/gcn-common.c: Moved to...
26301 * common/config/gcn/gcn-common.cc: ...here.
26302 * common/config/h8300/h8300-common.c: Moved to...
26303 * common/config/h8300/h8300-common.cc: ...here.
26304 * common/config/i386/i386-common.c: Moved to...
26305 * common/config/i386/i386-common.cc: ...here.
26306 * common/config/ia64/ia64-common.c: Moved to...
26307 * common/config/ia64/ia64-common.cc: ...here.
26308 * common/config/iq2000/iq2000-common.c: Moved to...
26309 * common/config/iq2000/iq2000-common.cc: ...here.
26310 * common/config/lm32/lm32-common.c: Moved to...
26311 * common/config/lm32/lm32-common.cc: ...here.
26312 * common/config/m32r/m32r-common.c: Moved to...
26313 * common/config/m32r/m32r-common.cc: ...here.
26314 * common/config/m68k/m68k-common.c: Moved to...
26315 * common/config/m68k/m68k-common.cc: ...here.
26316 * common/config/mcore/mcore-common.c: Moved to...
26317 * common/config/mcore/mcore-common.cc: ...here.
26318 * common/config/microblaze/microblaze-common.c: Moved to...
26319 * common/config/microblaze/microblaze-common.cc: ...here.
26320 * common/config/mips/mips-common.c: Moved to...
26321 * common/config/mips/mips-common.cc: ...here.
26322 * common/config/mmix/mmix-common.c: Moved to...
26323 * common/config/mmix/mmix-common.cc: ...here.
26324 * common/config/mn10300/mn10300-common.c: Moved to...
26325 * common/config/mn10300/mn10300-common.cc: ...here.
26326 * common/config/msp430/msp430-common.c: Moved to...
26327 * common/config/msp430/msp430-common.cc: ...here.
26328 * common/config/nds32/nds32-common.c: Moved to...
26329 * common/config/nds32/nds32-common.cc: ...here.
26330 * common/config/nios2/nios2-common.c: Moved to...
26331 * common/config/nios2/nios2-common.cc: ...here.
26332 * common/config/nvptx/nvptx-common.c: Moved to...
26333 * common/config/nvptx/nvptx-common.cc: ...here.
26334 * common/config/or1k/or1k-common.c: Moved to...
26335 * common/config/or1k/or1k-common.cc: ...here.
26336 * common/config/pa/pa-common.c: Moved to...
26337 * common/config/pa/pa-common.cc: ...here.
26338 * common/config/pdp11/pdp11-common.c: Moved to...
26339 * common/config/pdp11/pdp11-common.cc: ...here.
26340 * common/config/pru/pru-common.c: Moved to...
26341 * common/config/pru/pru-common.cc: ...here.
26342 * common/config/riscv/riscv-common.c: Moved to...
26343 * common/config/riscv/riscv-common.cc: ...here.
26344 * common/config/rs6000/rs6000-common.c: Moved to...
26345 * common/config/rs6000/rs6000-common.cc: ...here.
26346 * common/config/rx/rx-common.c: Moved to...
26347 * common/config/rx/rx-common.cc: ...here.
26348 * common/config/s390/s390-common.c: Moved to...
26349 * common/config/s390/s390-common.cc: ...here.
26350 * common/config/sh/sh-common.c: Moved to...
26351 * common/config/sh/sh-common.cc: ...here.
26352 * common/config/sparc/sparc-common.c: Moved to...
26353 * common/config/sparc/sparc-common.cc: ...here.
26354 * common/config/tilegx/tilegx-common.c: Moved to...
26355 * common/config/tilegx/tilegx-common.cc: ...here.
26356 * common/config/tilepro/tilepro-common.c: Moved to...
26357 * common/config/tilepro/tilepro-common.cc: ...here.
26358 * common/config/v850/v850-common.c: Moved to...
26359 * common/config/v850/v850-common.cc: ...here.
26360 * common/config/vax/vax-common.c: Moved to...
26361 * common/config/vax/vax-common.cc: ...here.
26362 * common/config/visium/visium-common.c: Moved to...
26363 * common/config/visium/visium-common.cc: ...here.
26364 * common/config/xstormy16/xstormy16-common.c: Moved to...
26365 * common/config/xstormy16/xstormy16-common.cc: ...here.
26366 * common/config/xtensa/xtensa-common.c: Moved to...
26367 * common/config/xtensa/xtensa-common.cc: ...here.
26368 * compare-elim.c: Moved to...
26369 * compare-elim.cc: ...here.
26370 * config/aarch64/aarch64-bti-insert.c: Moved to...
26371 * config/aarch64/aarch64-bti-insert.cc: ...here.
26372 * config/aarch64/aarch64-builtins.c: Moved to...
26373 * config/aarch64/aarch64-builtins.cc: ...here.
26374 * config/aarch64/aarch64-c.c: Moved to...
26375 * config/aarch64/aarch64-c.cc: ...here.
26376 * config/aarch64/aarch64-d.c: Moved to...
26377 * config/aarch64/aarch64-d.cc: ...here.
26378 * config/aarch64/aarch64.c: Moved to...
26379 * config/aarch64/aarch64.cc: ...here.
26380 * config/aarch64/cortex-a57-fma-steering.c: Moved to...
26381 * config/aarch64/cortex-a57-fma-steering.cc: ...here.
26382 * config/aarch64/driver-aarch64.c: Moved to...
26383 * config/aarch64/driver-aarch64.cc: ...here.
26384 * config/aarch64/falkor-tag-collision-avoidance.c: Moved to...
26385 * config/aarch64/falkor-tag-collision-avoidance.cc: ...here.
26386 * config/aarch64/host-aarch64-darwin.c: Moved to...
26387 * config/aarch64/host-aarch64-darwin.cc: ...here.
26388 * config/alpha/alpha.c: Moved to...
26389 * config/alpha/alpha.cc: ...here.
26390 * config/alpha/driver-alpha.c: Moved to...
26391 * config/alpha/driver-alpha.cc: ...here.
26392 * config/arc/arc-c.c: Moved to...
26393 * config/arc/arc-c.cc: ...here.
26394 * config/arc/arc.c: Moved to...
26395 * config/arc/arc.cc: ...here.
26396 * config/arc/driver-arc.c: Moved to...
26397 * config/arc/driver-arc.cc: ...here.
26398 * config/arm/aarch-common.c: Moved to...
26399 * config/arm/aarch-common.cc: ...here.
26400 * config/arm/arm-builtins.c: Moved to...
26401 * config/arm/arm-builtins.cc: ...here.
26402 * config/arm/arm-c.c: Moved to...
26403 * config/arm/arm-c.cc: ...here.
26404 * config/arm/arm-d.c: Moved to...
26405 * config/arm/arm-d.cc: ...here.
26406 * config/arm/arm.c: Moved to...
26407 * config/arm/arm.cc: ...here.
26408 * config/arm/driver-arm.c: Moved to...
26409 * config/arm/driver-arm.cc: ...here.
26410 * config/avr/avr-c.c: Moved to...
26411 * config/avr/avr-c.cc: ...here.
26412 * config/avr/avr-devices.c: Moved to...
26413 * config/avr/avr-devices.cc: ...here.
26414 * config/avr/avr-log.c: Moved to...
26415 * config/avr/avr-log.cc: ...here.
26416 * config/avr/avr.c: Moved to...
26417 * config/avr/avr.cc: ...here.
26418 * config/avr/driver-avr.c: Moved to...
26419 * config/avr/driver-avr.cc: ...here.
26420 * config/avr/gen-avr-mmcu-specs.c: Moved to...
26421 * config/avr/gen-avr-mmcu-specs.cc: ...here.
26422 * config/avr/gen-avr-mmcu-texi.c: Moved to...
26423 * config/avr/gen-avr-mmcu-texi.cc: ...here.
26424 * config/bfin/bfin.c: Moved to...
26425 * config/bfin/bfin.cc: ...here.
26426 * config/bpf/bpf.c: Moved to...
26427 * config/bpf/bpf.cc: ...here.
26428 * config/bpf/coreout.c: Moved to...
26429 * config/bpf/coreout.cc: ...here.
26430 * config/c6x/c6x.c: Moved to...
26431 * config/c6x/c6x.cc: ...here.
26432 * config/cr16/cr16.c: Moved to...
26433 * config/cr16/cr16.cc: ...here.
26434 * config/cris/cris.c: Moved to...
26435 * config/cris/cris.cc: ...here.
26436 * config/csky/csky.c: Moved to...
26437 * config/csky/csky.cc: ...here.
26438 * config/darwin-c.c: Moved to...
26439 * config/darwin-c.cc: ...here.
26440 * config/darwin-d.c: Moved to...
26441 * config/darwin-d.cc: ...here.
26442 * config/darwin-driver.c: Moved to...
26443 * config/darwin-driver.cc: ...here.
26444 * config/darwin-f.c: Moved to...
26445 * config/darwin-f.cc: ...here.
26446 * config/darwin.c: Moved to...
26447 * config/darwin.cc: ...here.
26448 * config/default-c.c: Moved to...
26449 * config/default-c.cc: ...here.
26450 * config/default-d.c: Moved to...
26451 * config/default-d.cc: ...here.
26452 * config/dragonfly-d.c: Moved to...
26453 * config/dragonfly-d.cc: ...here.
26454 * config/epiphany/epiphany.c: Moved to...
26455 * config/epiphany/epiphany.cc: ...here.
26456 * config/epiphany/mode-switch-use.c: Moved to...
26457 * config/epiphany/mode-switch-use.cc: ...here.
26458 * config/epiphany/resolve-sw-modes.c: Moved to...
26459 * config/epiphany/resolve-sw-modes.cc: ...here.
26460 * config/fr30/fr30.c: Moved to...
26461 * config/fr30/fr30.cc: ...here.
26462 * config/freebsd-d.c: Moved to...
26463 * config/freebsd-d.cc: ...here.
26464 * config/frv/frv.c: Moved to...
26465 * config/frv/frv.cc: ...here.
26466 * config/ft32/ft32.c: Moved to...
26467 * config/ft32/ft32.cc: ...here.
26468 * config/gcn/driver-gcn.c: Moved to...
26469 * config/gcn/driver-gcn.cc: ...here.
26470 * config/gcn/gcn-run.c: Moved to...
26471 * config/gcn/gcn-run.cc: ...here.
26472 * config/gcn/gcn-tree.c: Moved to...
26473 * config/gcn/gcn-tree.cc: ...here.
26474 * config/gcn/gcn.c: Moved to...
26475 * config/gcn/gcn.cc: ...here.
26476 * config/gcn/mkoffload.c: Moved to...
26477 * config/gcn/mkoffload.cc: ...here.
26478 * config/glibc-c.c: Moved to...
26479 * config/glibc-c.cc: ...here.
26480 * config/glibc-d.c: Moved to...
26481 * config/glibc-d.cc: ...here.
26482 * config/h8300/h8300.c: Moved to...
26483 * config/h8300/h8300.cc: ...here.
26484 * config/host-darwin.c: Moved to...
26485 * config/host-darwin.cc: ...here.
26486 * config/host-hpux.c: Moved to...
26487 * config/host-hpux.cc: ...here.
26488 * config/host-linux.c: Moved to...
26489 * config/host-linux.cc: ...here.
26490 * config/host-netbsd.c: Moved to...
26491 * config/host-netbsd.cc: ...here.
26492 * config/host-openbsd.c: Moved to...
26493 * config/host-openbsd.cc: ...here.
26494 * config/host-solaris.c: Moved to...
26495 * config/host-solaris.cc: ...here.
26496 * config/i386/djgpp.c: Moved to...
26497 * config/i386/djgpp.cc: ...here.
26498 * config/i386/driver-i386.c: Moved to...
26499 * config/i386/driver-i386.cc: ...here.
26500 * config/i386/driver-mingw32.c: Moved to...
26501 * config/i386/driver-mingw32.cc: ...here.
26502 * config/i386/gnu-property.c: Moved to...
26503 * config/i386/gnu-property.cc: ...here.
26504 * config/i386/host-cygwin.c: Moved to...
26505 * config/i386/host-cygwin.cc: ...here.
26506 * config/i386/host-i386-darwin.c: Moved to...
26507 * config/i386/host-i386-darwin.cc: ...here.
26508 * config/i386/host-mingw32.c: Moved to...
26509 * config/i386/host-mingw32.cc: ...here.
26510 * config/i386/i386-builtins.c: Moved to...
26511 * config/i386/i386-builtins.cc: ...here.
26512 * config/i386/i386-c.c: Moved to...
26513 * config/i386/i386-c.cc: ...here.
26514 * config/i386/i386-d.c: Moved to...
26515 * config/i386/i386-d.cc: ...here.
26516 * config/i386/i386-expand.c: Moved to...
26517 * config/i386/i386-expand.cc: ...here.
26518 * config/i386/i386-features.c: Moved to...
26519 * config/i386/i386-features.cc: ...here.
26520 * config/i386/i386-options.c: Moved to...
26521 * config/i386/i386-options.cc: ...here.
26522 * config/i386/i386.c: Moved to...
26523 * config/i386/i386.cc: ...here.
26524 * config/i386/intelmic-mkoffload.c: Moved to...
26525 * config/i386/intelmic-mkoffload.cc: ...here.
26526 * config/i386/msformat-c.c: Moved to...
26527 * config/i386/msformat-c.cc: ...here.
26528 * config/i386/winnt-cxx.c: Moved to...
26529 * config/i386/winnt-cxx.cc: ...here.
26530 * config/i386/winnt-d.c: Moved to...
26531 * config/i386/winnt-d.cc: ...here.
26532 * config/i386/winnt-stubs.c: Moved to...
26533 * config/i386/winnt-stubs.cc: ...here.
26534 * config/i386/winnt.c: Moved to...
26535 * config/i386/winnt.cc: ...here.
26536 * config/i386/x86-tune-sched-atom.c: Moved to...
26537 * config/i386/x86-tune-sched-atom.cc: ...here.
26538 * config/i386/x86-tune-sched-bd.c: Moved to...
26539 * config/i386/x86-tune-sched-bd.cc: ...here.
26540 * config/i386/x86-tune-sched-core.c: Moved to...
26541 * config/i386/x86-tune-sched-core.cc: ...here.
26542 * config/i386/x86-tune-sched.c: Moved to...
26543 * config/i386/x86-tune-sched.cc: ...here.
26544 * config/ia64/ia64-c.c: Moved to...
26545 * config/ia64/ia64-c.cc: ...here.
26546 * config/ia64/ia64.c: Moved to...
26547 * config/ia64/ia64.cc: ...here.
26548 * config/iq2000/iq2000.c: Moved to...
26549 * config/iq2000/iq2000.cc: ...here.
26550 * config/linux.c: Moved to...
26551 * config/linux.cc: ...here.
26552 * config/lm32/lm32.c: Moved to...
26553 * config/lm32/lm32.cc: ...here.
26554 * config/m32c/m32c-pragma.c: Moved to...
26555 * config/m32c/m32c-pragma.cc: ...here.
26556 * config/m32c/m32c.c: Moved to...
26557 * config/m32c/m32c.cc: ...here.
26558 * config/m32r/m32r.c: Moved to...
26559 * config/m32r/m32r.cc: ...here.
26560 * config/m68k/m68k.c: Moved to...
26561 * config/m68k/m68k.cc: ...here.
26562 * config/mcore/mcore.c: Moved to...
26563 * config/mcore/mcore.cc: ...here.
26564 * config/microblaze/microblaze-c.c: Moved to...
26565 * config/microblaze/microblaze-c.cc: ...here.
26566 * config/microblaze/microblaze.c: Moved to...
26567 * config/microblaze/microblaze.cc: ...here.
26568 * config/mips/driver-native.c: Moved to...
26569 * config/mips/driver-native.cc: ...here.
26570 * config/mips/frame-header-opt.c: Moved to...
26571 * config/mips/frame-header-opt.cc: ...here.
26572 * config/mips/mips-d.c: Moved to...
26573 * config/mips/mips-d.cc: ...here.
26574 * config/mips/mips.c: Moved to...
26575 * config/mips/mips.cc: ...here.
26576 * config/mmix/mmix.c: Moved to...
26577 * config/mmix/mmix.cc: ...here.
26578 * config/mn10300/mn10300.c: Moved to...
26579 * config/mn10300/mn10300.cc: ...here.
26580 * config/moxie/moxie.c: Moved to...
26581 * config/moxie/moxie.cc: ...here.
26582 * config/msp430/driver-msp430.c: Moved to...
26583 * config/msp430/driver-msp430.cc: ...here.
26584 * config/msp430/msp430-c.c: Moved to...
26585 * config/msp430/msp430-c.cc: ...here.
26586 * config/msp430/msp430-devices.c: Moved to...
26587 * config/msp430/msp430-devices.cc: ...here.
26588 * config/msp430/msp430.c: Moved to...
26589 * config/msp430/msp430.cc: ...here.
26590 * config/nds32/nds32-cost.c: Moved to...
26591 * config/nds32/nds32-cost.cc: ...here.
26592 * config/nds32/nds32-fp-as-gp.c: Moved to...
26593 * config/nds32/nds32-fp-as-gp.cc: ...here.
26594 * config/nds32/nds32-intrinsic.c: Moved to...
26595 * config/nds32/nds32-intrinsic.cc: ...here.
26596 * config/nds32/nds32-isr.c: Moved to...
26597 * config/nds32/nds32-isr.cc: ...here.
26598 * config/nds32/nds32-md-auxiliary.c: Moved to...
26599 * config/nds32/nds32-md-auxiliary.cc: ...here.
26600 * config/nds32/nds32-memory-manipulation.c: Moved to...
26601 * config/nds32/nds32-memory-manipulation.cc: ...here.
26602 * config/nds32/nds32-pipelines-auxiliary.c: Moved to...
26603 * config/nds32/nds32-pipelines-auxiliary.cc: ...here.
26604 * config/nds32/nds32-predicates.c: Moved to...
26605 * config/nds32/nds32-predicates.cc: ...here.
26606 * config/nds32/nds32-relax-opt.c: Moved to...
26607 * config/nds32/nds32-relax-opt.cc: ...here.
26608 * config/nds32/nds32-utils.c: Moved to...
26609 * config/nds32/nds32-utils.cc: ...here.
26610 * config/nds32/nds32.c: Moved to...
26611 * config/nds32/nds32.cc: ...here.
26612 * config/netbsd-d.c: Moved to...
26613 * config/netbsd-d.cc: ...here.
26614 * config/netbsd.c: Moved to...
26615 * config/netbsd.cc: ...here.
26616 * config/nios2/nios2.c: Moved to...
26617 * config/nios2/nios2.cc: ...here.
26618 * config/nvptx/mkoffload.c: Moved to...
26619 * config/nvptx/mkoffload.cc: ...here.
26620 * config/nvptx/nvptx-c.c: Moved to...
26621 * config/nvptx/nvptx-c.cc: ...here.
26622 * config/nvptx/nvptx.c: Moved to...
26623 * config/nvptx/nvptx.cc: ...here.
26624 * config/openbsd-d.c: Moved to...
26625 * config/openbsd-d.cc: ...here.
26626 * config/or1k/or1k.c: Moved to...
26627 * config/or1k/or1k.cc: ...here.
26628 * config/pa/pa-d.c: Moved to...
26629 * config/pa/pa-d.cc: ...here.
26630 * config/pa/pa.c: Moved to...
26631 * config/pa/pa.cc: ...here.
26632 * config/pdp11/pdp11.c: Moved to...
26633 * config/pdp11/pdp11.cc: ...here.
26634 * config/pru/pru-passes.c: Moved to...
26635 * config/pru/pru-passes.cc: ...here.
26636 * config/pru/pru-pragma.c: Moved to...
26637 * config/pru/pru-pragma.cc: ...here.
26638 * config/pru/pru.c: Moved to...
26639 * config/pru/pru.cc: ...here.
26640 * config/riscv/riscv-builtins.c: Moved to...
26641 * config/riscv/riscv-builtins.cc: ...here.
26642 * config/riscv/riscv-c.c: Moved to...
26643 * config/riscv/riscv-c.cc: ...here.
26644 * config/riscv/riscv-d.c: Moved to...
26645 * config/riscv/riscv-d.cc: ...here.
26646 * config/riscv/riscv-shorten-memrefs.c: Moved to...
26647 * config/riscv/riscv-shorten-memrefs.cc: ...here.
26648 * config/riscv/riscv-sr.c: Moved to...
26649 * config/riscv/riscv-sr.cc: ...here.
26650 * config/riscv/riscv.c: Moved to...
26651 * config/riscv/riscv.cc: ...here.
26652 * config/rl78/rl78-c.c: Moved to...
26653 * config/rl78/rl78-c.cc: ...here.
26654 * config/rl78/rl78.c: Moved to...
26655 * config/rl78/rl78.cc: ...here.
26656 * config/rs6000/driver-rs6000.c: Moved to...
26657 * config/rs6000/driver-rs6000.cc: ...here.
26658 * config/rs6000/host-darwin.c: Moved to...
26659 * config/rs6000/host-darwin.cc: ...here.
26660 * config/rs6000/host-ppc64-darwin.c: Moved to...
26661 * config/rs6000/host-ppc64-darwin.cc: ...here.
26662 * config/rs6000/rbtree.c: Moved to...
26663 * config/rs6000/rbtree.cc: ...here.
26664 * config/rs6000/rs6000-c.c: Moved to...
26665 * config/rs6000/rs6000-c.cc: ...here.
26666 * config/rs6000/rs6000-call.c: Moved to...
26667 * config/rs6000/rs6000-call.cc: ...here.
26668 * config/rs6000/rs6000-d.c: Moved to...
26669 * config/rs6000/rs6000-d.cc: ...here.
26670 * config/rs6000/rs6000-gen-builtins.c: Moved to...
26671 * config/rs6000/rs6000-gen-builtins.cc: ...here.
26672 * config/rs6000/rs6000-linux.c: Moved to...
26673 * config/rs6000/rs6000-linux.cc: ...here.
26674 * config/rs6000/rs6000-logue.c: Moved to...
26675 * config/rs6000/rs6000-logue.cc: ...here.
26676 * config/rs6000/rs6000-p8swap.c: Moved to...
26677 * config/rs6000/rs6000-p8swap.cc: ...here.
26678 * config/rs6000/rs6000-pcrel-opt.c: Moved to...
26679 * config/rs6000/rs6000-pcrel-opt.cc: ...here.
26680 * config/rs6000/rs6000-string.c: Moved to...
26681 * config/rs6000/rs6000-string.cc: ...here.
26682 * config/rs6000/rs6000.c: Moved to...
26683 * config/rs6000/rs6000.cc: ...here.
26684 * config/rx/rx.c: Moved to...
26685 * config/rx/rx.cc: ...here.
26686 * config/s390/driver-native.c: Moved to...
26687 * config/s390/driver-native.cc: ...here.
26688 * config/s390/s390-c.c: Moved to...
26689 * config/s390/s390-c.cc: ...here.
26690 * config/s390/s390-d.c: Moved to...
26691 * config/s390/s390-d.cc: ...here.
26692 * config/s390/s390.c: Moved to...
26693 * config/s390/s390.cc: ...here.
26694 * config/sh/divtab-sh4-300.c: Moved to...
26695 * config/sh/divtab-sh4-300.cc: ...here.
26696 * config/sh/divtab-sh4.c: Moved to...
26697 * config/sh/divtab-sh4.cc: ...here.
26698 * config/sh/divtab.c: Moved to...
26699 * config/sh/divtab.cc: ...here.
26700 * config/sh/sh-c.c: Moved to...
26701 * config/sh/sh-c.cc: ...here.
26702 * config/sh/sh.c: Moved to...
26703 * config/sh/sh.cc: ...here.
26704 * config/sol2-c.c: Moved to...
26705 * config/sol2-c.cc: ...here.
26706 * config/sol2-cxx.c: Moved to...
26707 * config/sol2-cxx.cc: ...here.
26708 * config/sol2-d.c: Moved to...
26709 * config/sol2-d.cc: ...here.
26710 * config/sol2-stubs.c: Moved to...
26711 * config/sol2-stubs.cc: ...here.
26712 * config/sol2.c: Moved to...
26713 * config/sol2.cc: ...here.
26714 * config/sparc/driver-sparc.c: Moved to...
26715 * config/sparc/driver-sparc.cc: ...here.
26716 * config/sparc/sparc-c.c: Moved to...
26717 * config/sparc/sparc-c.cc: ...here.
26718 * config/sparc/sparc-d.c: Moved to...
26719 * config/sparc/sparc-d.cc: ...here.
26720 * config/sparc/sparc.c: Moved to...
26721 * config/sparc/sparc.cc: ...here.
26722 * config/stormy16/stormy16.c: Moved to...
26723 * config/stormy16/stormy16.cc: ...here.
26724 * config/tilegx/mul-tables.c: Moved to...
26725 * config/tilegx/mul-tables.cc: ...here.
26726 * config/tilegx/tilegx-c.c: Moved to...
26727 * config/tilegx/tilegx-c.cc: ...here.
26728 * config/tilegx/tilegx.c: Moved to...
26729 * config/tilegx/tilegx.cc: ...here.
26730 * config/tilepro/mul-tables.c: Moved to...
26731 * config/tilepro/mul-tables.cc: ...here.
26732 * config/tilepro/tilepro-c.c: Moved to...
26733 * config/tilepro/tilepro-c.cc: ...here.
26734 * config/tilepro/tilepro.c: Moved to...
26735 * config/tilepro/tilepro.cc: ...here.
26736 * config/v850/v850-c.c: Moved to...
26737 * config/v850/v850-c.cc: ...here.
26738 * config/v850/v850.c: Moved to...
26739 * config/v850/v850.cc: ...here.
26740 * config/vax/vax.c: Moved to...
26741 * config/vax/vax.cc: ...here.
26742 * config/visium/visium.c: Moved to...
26743 * config/visium/visium.cc: ...here.
26744 * config/vms/vms-c.c: Moved to...
26745 * config/vms/vms-c.cc: ...here.
26746 * config/vms/vms-f.c: Moved to...
26747 * config/vms/vms-f.cc: ...here.
26748 * config/vms/vms.c: Moved to...
26749 * config/vms/vms.cc: ...here.
26750 * config/vxworks-c.c: Moved to...
26751 * config/vxworks-c.cc: ...here.
26752 * config/vxworks.c: Moved to...
26753 * config/vxworks.cc: ...here.
26754 * config/winnt-c.c: Moved to...
26755 * config/winnt-c.cc: ...here.
26756 * config/xtensa/xtensa.c: Moved to...
26757 * config/xtensa/xtensa.cc: ...here.
26758 * context.c: Moved to...
26759 * context.cc: ...here.
26760 * convert.c: Moved to...
26761 * convert.cc: ...here.
26762 * coverage.c: Moved to...
26763 * coverage.cc: ...here.
26764 * cppbuiltin.c: Moved to...
26765 * cppbuiltin.cc: ...here.
26766 * cppdefault.c: Moved to...
26767 * cppdefault.cc: ...here.
26768 * cprop.c: Moved to...
26769 * cprop.cc: ...here.
26770 * cse.c: Moved to...
26771 * cse.cc: ...here.
26772 * cselib.c: Moved to...
26773 * cselib.cc: ...here.
26774 * ctfc.c: Moved to...
26775 * ctfc.cc: ...here.
26776 * ctfout.c: Moved to...
26777 * ctfout.cc: ...here.
26778 * data-streamer-in.c: Moved to...
26779 * data-streamer-in.cc: ...here.
26780 * data-streamer-out.c: Moved to...
26781 * data-streamer-out.cc: ...here.
26782 * data-streamer.c: Moved to...
26783 * data-streamer.cc: ...here.
26784 * dbgcnt.c: Moved to...
26785 * dbgcnt.cc: ...here.
26786 * dbxout.c: Moved to...
26787 * dbxout.cc: ...here.
26788 * dce.c: Moved to...
26789 * dce.cc: ...here.
26790 * ddg.c: Moved to...
26791 * ddg.cc: ...here.
26792 * debug.c: Moved to...
26793 * debug.cc: ...here.
26794 * df-core.c: Moved to...
26795 * df-core.cc: ...here.
26796 * df-problems.c: Moved to...
26797 * df-problems.cc: ...here.
26798 * df-scan.c: Moved to...
26799 * df-scan.cc: ...here.
26800 * dfp.c: Moved to...
26801 * dfp.cc: ...here.
26802 * diagnostic-color.c: Moved to...
26803 * diagnostic-color.cc: ...here.
26804 * diagnostic-show-locus.c: Moved to...
26805 * diagnostic-show-locus.cc: ...here.
26806 * diagnostic-spec.c: Moved to...
26807 * diagnostic-spec.cc: ...here.
26808 * diagnostic.c: Moved to...
26809 * diagnostic.cc: ...here.
26810 * dojump.c: Moved to...
26811 * dojump.cc: ...here.
26812 * dominance.c: Moved to...
26813 * dominance.cc: ...here.
26814 * domwalk.c: Moved to...
26815 * domwalk.cc: ...here.
26816 * double-int.c: Moved to...
26817 * double-int.cc: ...here.
26818 * dse.c: Moved to...
26819 * dse.cc: ...here.
26820 * dumpfile.c: Moved to...
26821 * dumpfile.cc: ...here.
26822 * dwarf2asm.c: Moved to...
26823 * dwarf2asm.cc: ...here.
26824 * dwarf2cfi.c: Moved to...
26825 * dwarf2cfi.cc: ...here.
26826 * dwarf2ctf.c: Moved to...
26827 * dwarf2ctf.cc: ...here.
26828 * dwarf2out.c: Moved to...
26829 * dwarf2out.cc: ...here.
26830 * early-remat.c: Moved to...
26831 * early-remat.cc: ...here.
26832 * edit-context.c: Moved to...
26833 * edit-context.cc: ...here.
26834 * emit-rtl.c: Moved to...
26835 * emit-rtl.cc: ...here.
26836 * errors.c: Moved to...
26837 * errors.cc: ...here.
26838 * et-forest.c: Moved to...
26839 * et-forest.cc: ...here.
26840 * except.c: Moved to...
26841 * except.cc: ...here.
26842 * explow.c: Moved to...
26843 * explow.cc: ...here.
26844 * expmed.c: Moved to...
26845 * expmed.cc: ...here.
26846 * expr.c: Moved to...
26847 * expr.cc: ...here.
26848 * fibonacci_heap.c: Moved to...
26849 * fibonacci_heap.cc: ...here.
26850 * file-find.c: Moved to...
26851 * file-find.cc: ...here.
26852 * file-prefix-map.c: Moved to...
26853 * file-prefix-map.cc: ...here.
26854 * final.c: Moved to...
26855 * final.cc: ...here.
26856 * fixed-value.c: Moved to...
26857 * fixed-value.cc: ...here.
26858 * fold-const-call.c: Moved to...
26859 * fold-const-call.cc: ...here.
26860 * fold-const.c: Moved to...
26861 * fold-const.cc: ...here.
26862 * fp-test.c: Moved to...
26863 * fp-test.cc: ...here.
26864 * function-tests.c: Moved to...
26865 * function-tests.cc: ...here.
26866 * function.c: Moved to...
26867 * function.cc: ...here.
26868 * fwprop.c: Moved to...
26869 * fwprop.cc: ...here.
26870 * gcc-ar.c: Moved to...
26871 * gcc-ar.cc: ...here.
26872 * gcc-main.c: Moved to...
26873 * gcc-main.cc: ...here.
26874 * gcc-rich-location.c: Moved to...
26875 * gcc-rich-location.cc: ...here.
26876 * gcc.c: Moved to...
26877 * gcc.cc: ...here.
26878 * gcov-dump.c: Moved to...
26879 * gcov-dump.cc: ...here.
26880 * gcov-io.c: Moved to...
26881 * gcov-io.cc: ...here.
26882 * gcov-tool.c: Moved to...
26883 * gcov-tool.cc: ...here.
26884 * gcov.c: Moved to...
26885 * gcov.cc: ...here.
26886 * gcse-common.c: Moved to...
26887 * gcse-common.cc: ...here.
26888 * gcse.c: Moved to...
26889 * gcse.cc: ...here.
26890 * genattr-common.c: Moved to...
26891 * genattr-common.cc: ...here.
26892 * genattr.c: Moved to...
26893 * genattr.cc: ...here.
26894 * genattrtab.c: Moved to...
26895 * genattrtab.cc: ...here.
26896 * genautomata.c: Moved to...
26897 * genautomata.cc: ...here.
26898 * gencfn-macros.c: Moved to...
26899 * gencfn-macros.cc: ...here.
26900 * gencheck.c: Moved to...
26901 * gencheck.cc: ...here.
26902 * genchecksum.c: Moved to...
26903 * genchecksum.cc: ...here.
26904 * gencodes.c: Moved to...
26905 * gencodes.cc: ...here.
26906 * genconditions.c: Moved to...
26907 * genconditions.cc: ...here.
26908 * genconfig.c: Moved to...
26909 * genconfig.cc: ...here.
26910 * genconstants.c: Moved to...
26911 * genconstants.cc: ...here.
26912 * genemit.c: Moved to...
26913 * genemit.cc: ...here.
26914 * genenums.c: Moved to...
26915 * genenums.cc: ...here.
26916 * generic-match-head.c: Moved to...
26917 * generic-match-head.cc: ...here.
26918 * genextract.c: Moved to...
26919 * genextract.cc: ...here.
26920 * genflags.c: Moved to...
26921 * genflags.cc: ...here.
26922 * gengenrtl.c: Moved to...
26923 * gengenrtl.cc: ...here.
26924 * gengtype-parse.c: Moved to...
26925 * gengtype-parse.cc: ...here.
26926 * gengtype-state.c: Moved to...
26927 * gengtype-state.cc: ...here.
26928 * gengtype.c: Moved to...
26929 * gengtype.cc: ...here.
26930 * genhooks.c: Moved to...
26931 * genhooks.cc: ...here.
26932 * genmatch.c: Moved to...
26933 * genmatch.cc: ...here.
26934 * genmddeps.c: Moved to...
26935 * genmddeps.cc: ...here.
26936 * genmddump.c: Moved to...
26937 * genmddump.cc: ...here.
26938 * genmodes.c: Moved to...
26939 * genmodes.cc: ...here.
26940 * genopinit.c: Moved to...
26941 * genopinit.cc: ...here.
26942 * genoutput.c: Moved to...
26943 * genoutput.cc: ...here.
26944 * genpeep.c: Moved to...
26945 * genpeep.cc: ...here.
26946 * genpreds.c: Moved to...
26947 * genpreds.cc: ...here.
26948 * genrecog.c: Moved to...
26949 * genrecog.cc: ...here.
26950 * gensupport.c: Moved to...
26951 * gensupport.cc: ...here.
26952 * gentarget-def.c: Moved to...
26953 * gentarget-def.cc: ...here.
26954 * genversion.c: Moved to...
26955 * genversion.cc: ...here.
26956 * ggc-common.c: Moved to...
26957 * ggc-common.cc: ...here.
26958 * ggc-none.c: Moved to...
26959 * ggc-none.cc: ...here.
26960 * ggc-page.c: Moved to...
26961 * ggc-page.cc: ...here.
26962 * ggc-tests.c: Moved to...
26963 * ggc-tests.cc: ...here.
26964 * gimple-builder.c: Moved to...
26965 * gimple-builder.cc: ...here.
26966 * gimple-expr.c: Moved to...
26967 * gimple-expr.cc: ...here.
26968 * gimple-fold.c: Moved to...
26969 * gimple-fold.cc: ...here.
26970 * gimple-iterator.c: Moved to...
26971 * gimple-iterator.cc: ...here.
26972 * gimple-laddress.c: Moved to...
26973 * gimple-laddress.cc: ...here.
26974 * gimple-loop-jam.c: Moved to...
26975 * gimple-loop-jam.cc: ...here.
26976 * gimple-low.c: Moved to...
26977 * gimple-low.cc: ...here.
26978 * gimple-match-head.c: Moved to...
26979 * gimple-match-head.cc: ...here.
26980 * gimple-pretty-print.c: Moved to...
26981 * gimple-pretty-print.cc: ...here.
26982 * gimple-ssa-backprop.c: Moved to...
26983 * gimple-ssa-backprop.cc: ...here.
26984 * gimple-ssa-evrp-analyze.c: Moved to...
26985 * gimple-ssa-evrp-analyze.cc: ...here.
26986 * gimple-ssa-evrp.c: Moved to...
26987 * gimple-ssa-evrp.cc: ...here.
26988 * gimple-ssa-isolate-paths.c: Moved to...
26989 * gimple-ssa-isolate-paths.cc: ...here.
26990 * gimple-ssa-nonnull-compare.c: Moved to...
26991 * gimple-ssa-nonnull-compare.cc: ...here.
26992 * gimple-ssa-split-paths.c: Moved to...
26993 * gimple-ssa-split-paths.cc: ...here.
26994 * gimple-ssa-sprintf.c: Moved to...
26995 * gimple-ssa-sprintf.cc: ...here.
26996 * gimple-ssa-store-merging.c: Moved to...
26997 * gimple-ssa-store-merging.cc: ...here.
26998 * gimple-ssa-strength-reduction.c: Moved to...
26999 * gimple-ssa-strength-reduction.cc: ...here.
27000 * gimple-ssa-warn-alloca.c: Moved to...
27001 * gimple-ssa-warn-alloca.cc: ...here.
27002 * gimple-ssa-warn-restrict.c: Moved to...
27003 * gimple-ssa-warn-restrict.cc: ...here.
27004 * gimple-streamer-in.c: Moved to...
27005 * gimple-streamer-in.cc: ...here.
27006 * gimple-streamer-out.c: Moved to...
27007 * gimple-streamer-out.cc: ...here.
27008 * gimple-walk.c: Moved to...
27009 * gimple-walk.cc: ...here.
27010 * gimple-warn-recursion.c: Moved to...
27011 * gimple-warn-recursion.cc: ...here.
27012 * gimple.c: Moved to...
27013 * gimple.cc: ...here.
27014 * gimplify-me.c: Moved to...
27015 * gimplify-me.cc: ...here.
27016 * gimplify.c: Moved to...
27017 * gimplify.cc: ...here.
27018 * godump.c: Moved to...
27019 * godump.cc: ...here.
27020 * graph.c: Moved to...
27021 * graph.cc: ...here.
27022 * graphds.c: Moved to...
27023 * graphds.cc: ...here.
27024 * graphite-dependences.c: Moved to...
27025 * graphite-dependences.cc: ...here.
27026 * graphite-isl-ast-to-gimple.c: Moved to...
27027 * graphite-isl-ast-to-gimple.cc: ...here.
27028 * graphite-optimize-isl.c: Moved to...
27029 * graphite-optimize-isl.cc: ...here.
27030 * graphite-poly.c: Moved to...
27031 * graphite-poly.cc: ...here.
27032 * graphite-scop-detection.c: Moved to...
27033 * graphite-scop-detection.cc: ...here.
27034 * graphite-sese-to-poly.c: Moved to...
27035 * graphite-sese-to-poly.cc: ...here.
27036 * graphite.c: Moved to...
27037 * graphite.cc: ...here.
27038 * haifa-sched.c: Moved to...
27039 * haifa-sched.cc: ...here.
27040 * hash-map-tests.c: Moved to...
27041 * hash-map-tests.cc: ...here.
27042 * hash-set-tests.c: Moved to...
27043 * hash-set-tests.cc: ...here.
27044 * hash-table.c: Moved to...
27045 * hash-table.cc: ...here.
27046 * hooks.c: Moved to...
27047 * hooks.cc: ...here.
27048 * host-default.c: Moved to...
27049 * host-default.cc: ...here.
27050 * hw-doloop.c: Moved to...
27051 * hw-doloop.cc: ...here.
27052 * hwint.c: Moved to...
27053 * hwint.cc: ...here.
27054 * ifcvt.c: Moved to...
27055 * ifcvt.cc: ...here.
27056 * inchash.c: Moved to...
27057 * inchash.cc: ...here.
27058 * incpath.c: Moved to...
27059 * incpath.cc: ...here.
27060 * init-regs.c: Moved to...
27061 * init-regs.cc: ...here.
27062 * input.c: Moved to...
27063 * input.cc: ...here.
27064 * internal-fn.c: Moved to...
27065 * internal-fn.cc: ...here.
27066 * intl.c: Moved to...
27067 * intl.cc: ...here.
27068 * ipa-comdats.c: Moved to...
27069 * ipa-comdats.cc: ...here.
27070 * ipa-cp.c: Moved to...
27071 * ipa-cp.cc: ...here.
27072 * ipa-devirt.c: Moved to...
27073 * ipa-devirt.cc: ...here.
27074 * ipa-fnsummary.c: Moved to...
27075 * ipa-fnsummary.cc: ...here.
27076 * ipa-icf-gimple.c: Moved to...
27077 * ipa-icf-gimple.cc: ...here.
27078 * ipa-icf.c: Moved to...
27079 * ipa-icf.cc: ...here.
27080 * ipa-inline-analysis.c: Moved to...
27081 * ipa-inline-analysis.cc: ...here.
27082 * ipa-inline-transform.c: Moved to...
27083 * ipa-inline-transform.cc: ...here.
27084 * ipa-inline.c: Moved to...
27085 * ipa-inline.cc: ...here.
27086 * ipa-modref-tree.c: Moved to...
27087 * ipa-modref-tree.cc: ...here.
27088 * ipa-modref.c: Moved to...
27089 * ipa-modref.cc: ...here.
27090 * ipa-param-manipulation.c: Moved to...
27091 * ipa-param-manipulation.cc: ...here.
27092 * ipa-polymorphic-call.c: Moved to...
27093 * ipa-polymorphic-call.cc: ...here.
27094 * ipa-predicate.c: Moved to...
27095 * ipa-predicate.cc: ...here.
27096 * ipa-profile.c: Moved to...
27097 * ipa-profile.cc: ...here.
27098 * ipa-prop.c: Moved to...
27099 * ipa-prop.cc: ...here.
27100 * ipa-pure-const.c: Moved to...
27101 * ipa-pure-const.cc: ...here.
27102 * ipa-ref.c: Moved to...
27103 * ipa-ref.cc: ...here.
27104 * ipa-reference.c: Moved to...
27105 * ipa-reference.cc: ...here.
27106 * ipa-split.c: Moved to...
27107 * ipa-split.cc: ...here.
27108 * ipa-sra.c: Moved to...
27109 * ipa-sra.cc: ...here.
27110 * ipa-utils.c: Moved to...
27111 * ipa-utils.cc: ...here.
27112 * ipa-visibility.c: Moved to...
27113 * ipa-visibility.cc: ...here.
27114 * ipa.c: Moved to...
27115 * ipa.cc: ...here.
27116 * ira-build.c: Moved to...
27117 * ira-build.cc: ...here.
27118 * ira-color.c: Moved to...
27119 * ira-color.cc: ...here.
27120 * ira-conflicts.c: Moved to...
27121 * ira-conflicts.cc: ...here.
27122 * ira-costs.c: Moved to...
27123 * ira-costs.cc: ...here.
27124 * ira-emit.c: Moved to...
27125 * ira-emit.cc: ...here.
27126 * ira-lives.c: Moved to...
27127 * ira-lives.cc: ...here.
27128 * ira.c: Moved to...
27129 * ira.cc: ...here.
27130 * jump.c: Moved to...
27131 * jump.cc: ...here.
27132 * langhooks.c: Moved to...
27133 * langhooks.cc: ...here.
27134 * lcm.c: Moved to...
27135 * lcm.cc: ...here.
27136 * lists.c: Moved to...
27137 * lists.cc: ...here.
27138 * loop-doloop.c: Moved to...
27139 * loop-doloop.cc: ...here.
27140 * loop-init.c: Moved to...
27141 * loop-init.cc: ...here.
27142 * loop-invariant.c: Moved to...
27143 * loop-invariant.cc: ...here.
27144 * loop-iv.c: Moved to...
27145 * loop-iv.cc: ...here.
27146 * loop-unroll.c: Moved to...
27147 * loop-unroll.cc: ...here.
27148 * lower-subreg.c: Moved to...
27149 * lower-subreg.cc: ...here.
27150 * lra-assigns.c: Moved to...
27151 * lra-assigns.cc: ...here.
27152 * lra-coalesce.c: Moved to...
27153 * lra-coalesce.cc: ...here.
27154 * lra-constraints.c: Moved to...
27155 * lra-constraints.cc: ...here.
27156 * lra-eliminations.c: Moved to...
27157 * lra-eliminations.cc: ...here.
27158 * lra-lives.c: Moved to...
27159 * lra-lives.cc: ...here.
27160 * lra-remat.c: Moved to...
27161 * lra-remat.cc: ...here.
27162 * lra-spills.c: Moved to...
27163 * lra-spills.cc: ...here.
27164 * lra.c: Moved to...
27165 * lra.cc: ...here.
27166 * lto-cgraph.c: Moved to...
27167 * lto-cgraph.cc: ...here.
27168 * lto-compress.c: Moved to...
27169 * lto-compress.cc: ...here.
27170 * lto-opts.c: Moved to...
27171 * lto-opts.cc: ...here.
27172 * lto-section-in.c: Moved to...
27173 * lto-section-in.cc: ...here.
27174 * lto-section-out.c: Moved to...
27175 * lto-section-out.cc: ...here.
27176 * lto-streamer-in.c: Moved to...
27177 * lto-streamer-in.cc: ...here.
27178 * lto-streamer-out.c: Moved to...
27179 * lto-streamer-out.cc: ...here.
27180 * lto-streamer.c: Moved to...
27181 * lto-streamer.cc: ...here.
27182 * lto-wrapper.c: Moved to...
27183 * lto-wrapper.cc: ...here.
27184 * main.c: Moved to...
27185 * main.cc: ...here.
27186 * mcf.c: Moved to...
27187 * mcf.cc: ...here.
27188 * mode-switching.c: Moved to...
27189 * mode-switching.cc: ...here.
27190 * modulo-sched.c: Moved to...
27191 * modulo-sched.cc: ...here.
27192 * multiple_target.c: Moved to...
27193 * multiple_target.cc: ...here.
27194 * omp-expand.c: Moved to...
27195 * omp-expand.cc: ...here.
27196 * omp-general.c: Moved to...
27197 * omp-general.cc: ...here.
27198 * omp-low.c: Moved to...
27199 * omp-low.cc: ...here.
27200 * omp-offload.c: Moved to...
27201 * omp-offload.cc: ...here.
27202 * omp-simd-clone.c: Moved to...
27203 * omp-simd-clone.cc: ...here.
27204 * opt-suggestions.c: Moved to...
27205 * opt-suggestions.cc: ...here.
27206 * optabs-libfuncs.c: Moved to...
27207 * optabs-libfuncs.cc: ...here.
27208 * optabs-query.c: Moved to...
27209 * optabs-query.cc: ...here.
27210 * optabs-tree.c: Moved to...
27211 * optabs-tree.cc: ...here.
27212 * optabs.c: Moved to...
27213 * optabs.cc: ...here.
27214 * opts-common.c: Moved to...
27215 * opts-common.cc: ...here.
27216 * opts-global.c: Moved to...
27217 * opts-global.cc: ...here.
27218 * opts.c: Moved to...
27219 * opts.cc: ...here.
27220 * passes.c: Moved to...
27221 * passes.cc: ...here.
27222 * plugin.c: Moved to...
27223 * plugin.cc: ...here.
27224 * postreload-gcse.c: Moved to...
27225 * postreload-gcse.cc: ...here.
27226 * postreload.c: Moved to...
27227 * postreload.cc: ...here.
27228 * predict.c: Moved to...
27229 * predict.cc: ...here.
27230 * prefix.c: Moved to...
27231 * prefix.cc: ...here.
27232 * pretty-print.c: Moved to...
27233 * pretty-print.cc: ...here.
27234 * print-rtl-function.c: Moved to...
27235 * print-rtl-function.cc: ...here.
27236 * print-rtl.c: Moved to...
27237 * print-rtl.cc: ...here.
27238 * print-tree.c: Moved to...
27239 * print-tree.cc: ...here.
27240 * profile-count.c: Moved to...
27241 * profile-count.cc: ...here.
27242 * profile.c: Moved to...
27243 * profile.cc: ...here.
27244 * read-md.c: Moved to...
27245 * read-md.cc: ...here.
27246 * read-rtl-function.c: Moved to...
27247 * read-rtl-function.cc: ...here.
27248 * read-rtl.c: Moved to...
27249 * read-rtl.cc: ...here.
27250 * real.c: Moved to...
27251 * real.cc: ...here.
27252 * realmpfr.c: Moved to...
27253 * realmpfr.cc: ...here.
27254 * recog.c: Moved to...
27255 * recog.cc: ...here.
27256 * ree.c: Moved to...
27257 * ree.cc: ...here.
27258 * reg-stack.c: Moved to...
27259 * reg-stack.cc: ...here.
27260 * regcprop.c: Moved to...
27261 * regcprop.cc: ...here.
27262 * reginfo.c: Moved to...
27263 * reginfo.cc: ...here.
27264 * regrename.c: Moved to...
27265 * regrename.cc: ...here.
27266 * regstat.c: Moved to...
27267 * regstat.cc: ...here.
27268 * reload.c: Moved to...
27269 * reload.cc: ...here.
27270 * reload1.c: Moved to...
27271 * reload1.cc: ...here.
27272 * reorg.c: Moved to...
27273 * reorg.cc: ...here.
27274 * resource.c: Moved to...
27275 * resource.cc: ...here.
27276 * rtl-error.c: Moved to...
27277 * rtl-error.cc: ...here.
27278 * rtl-tests.c: Moved to...
27279 * rtl-tests.cc: ...here.
27280 * rtl.c: Moved to...
27281 * rtl.cc: ...here.
27282 * rtlanal.c: Moved to...
27283 * rtlanal.cc: ...here.
27284 * rtlhash.c: Moved to...
27285 * rtlhash.cc: ...here.
27286 * rtlhooks.c: Moved to...
27287 * rtlhooks.cc: ...here.
27288 * rtx-vector-builder.c: Moved to...
27289 * rtx-vector-builder.cc: ...here.
27290 * run-rtl-passes.c: Moved to...
27291 * run-rtl-passes.cc: ...here.
27292 * sancov.c: Moved to...
27293 * sancov.cc: ...here.
27294 * sanopt.c: Moved to...
27295 * sanopt.cc: ...here.
27296 * sbitmap.c: Moved to...
27297 * sbitmap.cc: ...here.
27298 * sched-deps.c: Moved to...
27299 * sched-deps.cc: ...here.
27300 * sched-ebb.c: Moved to...
27301 * sched-ebb.cc: ...here.
27302 * sched-rgn.c: Moved to...
27303 * sched-rgn.cc: ...here.
27304 * sel-sched-dump.c: Moved to...
27305 * sel-sched-dump.cc: ...here.
27306 * sel-sched-ir.c: Moved to...
27307 * sel-sched-ir.cc: ...here.
27308 * sel-sched.c: Moved to...
27309 * sel-sched.cc: ...here.
27310 * selftest-diagnostic.c: Moved to...
27311 * selftest-diagnostic.cc: ...here.
27312 * selftest-rtl.c: Moved to...
27313 * selftest-rtl.cc: ...here.
27314 * selftest-run-tests.c: Moved to...
27315 * selftest-run-tests.cc: ...here.
27316 * selftest.c: Moved to...
27317 * selftest.cc: ...here.
27318 * sese.c: Moved to...
27319 * sese.cc: ...here.
27320 * shrink-wrap.c: Moved to...
27321 * shrink-wrap.cc: ...here.
27322 * simplify-rtx.c: Moved to...
27323 * simplify-rtx.cc: ...here.
27324 * sparseset.c: Moved to...
27325 * sparseset.cc: ...here.
27326 * spellcheck-tree.c: Moved to...
27327 * spellcheck-tree.cc: ...here.
27328 * spellcheck.c: Moved to...
27329 * spellcheck.cc: ...here.
27330 * sreal.c: Moved to...
27331 * sreal.cc: ...here.
27332 * stack-ptr-mod.c: Moved to...
27333 * stack-ptr-mod.cc: ...here.
27334 * statistics.c: Moved to...
27335 * statistics.cc: ...here.
27336 * stmt.c: Moved to...
27337 * stmt.cc: ...here.
27338 * stor-layout.c: Moved to...
27339 * stor-layout.cc: ...here.
27340 * store-motion.c: Moved to...
27341 * store-motion.cc: ...here.
27342 * streamer-hooks.c: Moved to...
27343 * streamer-hooks.cc: ...here.
27344 * stringpool.c: Moved to...
27345 * stringpool.cc: ...here.
27346 * substring-locations.c: Moved to...
27347 * substring-locations.cc: ...here.
27348 * symtab.c: Moved to...
27349 * symtab.cc: ...here.
27350 * target-globals.c: Moved to...
27351 * target-globals.cc: ...here.
27352 * targhooks.c: Moved to...
27353 * targhooks.cc: ...here.
27354 * timevar.c: Moved to...
27355 * timevar.cc: ...here.
27356 * toplev.c: Moved to...
27357 * toplev.cc: ...here.
27358 * tracer.c: Moved to...
27359 * tracer.cc: ...here.
27360 * trans-mem.c: Moved to...
27361 * trans-mem.cc: ...here.
27362 * tree-affine.c: Moved to...
27363 * tree-affine.cc: ...here.
27364 * tree-call-cdce.c: Moved to...
27365 * tree-call-cdce.cc: ...here.
27366 * tree-cfg.c: Moved to...
27367 * tree-cfg.cc: ...here.
27368 * tree-cfgcleanup.c: Moved to...
27369 * tree-cfgcleanup.cc: ...here.
27370 * tree-chrec.c: Moved to...
27371 * tree-chrec.cc: ...here.
27372 * tree-complex.c: Moved to...
27373 * tree-complex.cc: ...here.
27374 * tree-data-ref.c: Moved to...
27375 * tree-data-ref.cc: ...here.
27376 * tree-dfa.c: Moved to...
27377 * tree-dfa.cc: ...here.
27378 * tree-diagnostic.c: Moved to...
27379 * tree-diagnostic.cc: ...here.
27380 * tree-dump.c: Moved to...
27381 * tree-dump.cc: ...here.
27382 * tree-eh.c: Moved to...
27383 * tree-eh.cc: ...here.
27384 * tree-emutls.c: Moved to...
27385 * tree-emutls.cc: ...here.
27386 * tree-if-conv.c: Moved to...
27387 * tree-if-conv.cc: ...here.
27388 * tree-inline.c: Moved to...
27389 * tree-inline.cc: ...here.
27390 * tree-into-ssa.c: Moved to...
27391 * tree-into-ssa.cc: ...here.
27392 * tree-iterator.c: Moved to...
27393 * tree-iterator.cc: ...here.
27394 * tree-loop-distribution.c: Moved to...
27395 * tree-loop-distribution.cc: ...here.
27396 * tree-nested.c: Moved to...
27397 * tree-nested.cc: ...here.
27398 * tree-nrv.c: Moved to...
27399 * tree-nrv.cc: ...here.
27400 * tree-object-size.c: Moved to...
27401 * tree-object-size.cc: ...here.
27402 * tree-outof-ssa.c: Moved to...
27403 * tree-outof-ssa.cc: ...here.
27404 * tree-parloops.c: Moved to...
27405 * tree-parloops.cc: ...here.
27406 * tree-phinodes.c: Moved to...
27407 * tree-phinodes.cc: ...here.
27408 * tree-predcom.c: Moved to...
27409 * tree-predcom.cc: ...here.
27410 * tree-pretty-print.c: Moved to...
27411 * tree-pretty-print.cc: ...here.
27412 * tree-profile.c: Moved to...
27413 * tree-profile.cc: ...here.
27414 * tree-scalar-evolution.c: Moved to...
27415 * tree-scalar-evolution.cc: ...here.
27416 * tree-sra.c: Moved to...
27417 * tree-sra.cc: ...here.
27418 * tree-ssa-address.c: Moved to...
27419 * tree-ssa-address.cc: ...here.
27420 * tree-ssa-alias.c: Moved to...
27421 * tree-ssa-alias.cc: ...here.
27422 * tree-ssa-ccp.c: Moved to...
27423 * tree-ssa-ccp.cc: ...here.
27424 * tree-ssa-coalesce.c: Moved to...
27425 * tree-ssa-coalesce.cc: ...here.
27426 * tree-ssa-copy.c: Moved to...
27427 * tree-ssa-copy.cc: ...here.
27428 * tree-ssa-dce.c: Moved to...
27429 * tree-ssa-dce.cc: ...here.
27430 * tree-ssa-dom.c: Moved to...
27431 * tree-ssa-dom.cc: ...here.
27432 * tree-ssa-dse.c: Moved to...
27433 * tree-ssa-dse.cc: ...here.
27434 * tree-ssa-forwprop.c: Moved to...
27435 * tree-ssa-forwprop.cc: ...here.
27436 * tree-ssa-ifcombine.c: Moved to...
27437 * tree-ssa-ifcombine.cc: ...here.
27438 * tree-ssa-live.c: Moved to...
27439 * tree-ssa-live.cc: ...here.
27440 * tree-ssa-loop-ch.c: Moved to...
27441 * tree-ssa-loop-ch.cc: ...here.
27442 * tree-ssa-loop-im.c: Moved to...
27443 * tree-ssa-loop-im.cc: ...here.
27444 * tree-ssa-loop-ivcanon.c: Moved to...
27445 * tree-ssa-loop-ivcanon.cc: ...here.
27446 * tree-ssa-loop-ivopts.c: Moved to...
27447 * tree-ssa-loop-ivopts.cc: ...here.
27448 * tree-ssa-loop-manip.c: Moved to...
27449 * tree-ssa-loop-manip.cc: ...here.
27450 * tree-ssa-loop-niter.c: Moved to...
27451 * tree-ssa-loop-niter.cc: ...here.
27452 * tree-ssa-loop-prefetch.c: Moved to...
27453 * tree-ssa-loop-prefetch.cc: ...here.
27454 * tree-ssa-loop-split.c: Moved to...
27455 * tree-ssa-loop-split.cc: ...here.
27456 * tree-ssa-loop-unswitch.c: Moved to...
27457 * tree-ssa-loop-unswitch.cc: ...here.
27458 * tree-ssa-loop.c: Moved to...
27459 * tree-ssa-loop.cc: ...here.
27460 * tree-ssa-math-opts.c: Moved to...
27461 * tree-ssa-math-opts.cc: ...here.
27462 * tree-ssa-operands.c: Moved to...
27463 * tree-ssa-operands.cc: ...here.
27464 * tree-ssa-phiopt.c: Moved to...
27465 * tree-ssa-phiopt.cc: ...here.
27466 * tree-ssa-phiprop.c: Moved to...
27467 * tree-ssa-phiprop.cc: ...here.
27468 * tree-ssa-pre.c: Moved to...
27469 * tree-ssa-pre.cc: ...here.
27470 * tree-ssa-propagate.c: Moved to...
27471 * tree-ssa-propagate.cc: ...here.
27472 * tree-ssa-reassoc.c: Moved to...
27473 * tree-ssa-reassoc.cc: ...here.
27474 * tree-ssa-sccvn.c: Moved to...
27475 * tree-ssa-sccvn.cc: ...here.
27476 * tree-ssa-scopedtables.c: Moved to...
27477 * tree-ssa-scopedtables.cc: ...here.
27478 * tree-ssa-sink.c: Moved to...
27479 * tree-ssa-sink.cc: ...here.
27480 * tree-ssa-strlen.c: Moved to...
27481 * tree-ssa-strlen.cc: ...here.
27482 * tree-ssa-structalias.c: Moved to...
27483 * tree-ssa-structalias.cc: ...here.
27484 * tree-ssa-tail-merge.c: Moved to...
27485 * tree-ssa-tail-merge.cc: ...here.
27486 * tree-ssa-ter.c: Moved to...
27487 * tree-ssa-ter.cc: ...here.
27488 * tree-ssa-threadbackward.c: Moved to...
27489 * tree-ssa-threadbackward.cc: ...here.
27490 * tree-ssa-threadedge.c: Moved to...
27491 * tree-ssa-threadedge.cc: ...here.
27492 * tree-ssa-threadupdate.c: Moved to...
27493 * tree-ssa-threadupdate.cc: ...here.
27494 * tree-ssa-uncprop.c: Moved to...
27495 * tree-ssa-uncprop.cc: ...here.
27496 * tree-ssa-uninit.c: Moved to...
27497 * tree-ssa-uninit.cc: ...here.
27498 * tree-ssa.c: Moved to...
27499 * tree-ssa.cc: ...here.
27500 * tree-ssanames.c: Moved to...
27501 * tree-ssanames.cc: ...here.
27502 * tree-stdarg.c: Moved to...
27503 * tree-stdarg.cc: ...here.
27504 * tree-streamer-in.c: Moved to...
27505 * tree-streamer-in.cc: ...here.
27506 * tree-streamer-out.c: Moved to...
27507 * tree-streamer-out.cc: ...here.
27508 * tree-streamer.c: Moved to...
27509 * tree-streamer.cc: ...here.
27510 * tree-switch-conversion.c: Moved to...
27511 * tree-switch-conversion.cc: ...here.
27512 * tree-tailcall.c: Moved to...
27513 * tree-tailcall.cc: ...here.
27514 * tree-vect-data-refs.c: Moved to...
27515 * tree-vect-data-refs.cc: ...here.
27516 * tree-vect-generic.c: Moved to...
27517 * tree-vect-generic.cc: ...here.
27518 * tree-vect-loop-manip.c: Moved to...
27519 * tree-vect-loop-manip.cc: ...here.
27520 * tree-vect-loop.c: Moved to...
27521 * tree-vect-loop.cc: ...here.
27522 * tree-vect-patterns.c: Moved to...
27523 * tree-vect-patterns.cc: ...here.
27524 * tree-vect-slp-patterns.c: Moved to...
27525 * tree-vect-slp-patterns.cc: ...here.
27526 * tree-vect-slp.c: Moved to...
27527 * tree-vect-slp.cc: ...here.
27528 * tree-vect-stmts.c: Moved to...
27529 * tree-vect-stmts.cc: ...here.
27530 * tree-vector-builder.c: Moved to...
27531 * tree-vector-builder.cc: ...here.
27532 * tree-vectorizer.c: Moved to...
27533 * tree-vectorizer.cc: ...here.
27534 * tree-vrp.c: Moved to...
27535 * tree-vrp.cc: ...here.
27536 * tree.c: Moved to...
27537 * tree.cc: ...here.
27538 * tsan.c: Moved to...
27539 * tsan.cc: ...here.
27540 * typed-splay-tree.c: Moved to...
27541 * typed-splay-tree.cc: ...here.
27542 * ubsan.c: Moved to...
27543 * ubsan.cc: ...here.
27544 * valtrack.c: Moved to...
27545 * valtrack.cc: ...here.
27546 * value-prof.c: Moved to...
27547 * value-prof.cc: ...here.
27548 * var-tracking.c: Moved to...
27549 * var-tracking.cc: ...here.
27550 * varasm.c: Moved to...
27551 * varasm.cc: ...here.
27552 * varpool.c: Moved to...
27553 * varpool.cc: ...here.
27554 * vec-perm-indices.c: Moved to...
27555 * vec-perm-indices.cc: ...here.
27556 * vec.c: Moved to...
27557 * vec.cc: ...here.
27558 * vmsdbgout.c: Moved to...
27559 * vmsdbgout.cc: ...here.
27560 * vr-values.c: Moved to...
27561 * vr-values.cc: ...here.
27562 * vtable-verify.c: Moved to...
27563 * vtable-verify.cc: ...here.
27564 * web.c: Moved to...
27565 * web.cc: ...here.
27566 * xcoffout.c: Moved to...
27567 * xcoffout.cc: ...here.
27568
27569 2022-01-17 qing zhao <qing.zhao@oracle.com>
27570
27571 * tree-ssa-uninit.c (warn_uninit): Delete the 4th parameter. Handle
27572 .DEFERRED_INIT call with an anonymous SSA_NAME specially.
27573 (check_defs): Handle .DEFERRED_INIT call with an anonymous SSA_NAME
27574 specially.
27575 (warn_uninit_phi_uses): Delete the 4th actual when call warn_uninit.
27576 (warn_uninitialized_vars): Likewise.
27577 (warn_uninitialized_phi): Likewise.
27578
27579 2022-01-17 Jason Merrill <jason@redhat.com>
27580
27581 * diagnostic.h (struct diagnostic_context): Add includes_seen.
27582 * diagnostic.c (diagnostic_initialize): Initialize it.
27583 (diagnostic_finish): Clean it up.
27584 (includes_seen): New function.
27585 (diagnostic_report_current_module): Use it.
27586
27587 2022-01-17 Richard Biener <rguenther@suse.de>
27588
27589 PR middle-end/101292
27590 * diagnostic-spec.c (copy_warning): Make sure to not
27591 reference old hashtable content on possible resize.
27592 * warning-control.cc (copy_warning): Likewise.
27593
27594 2022-01-17 Jakub Jelinek <jakub@redhat.com>
27595
27596 PR target/103973
27597 * tree-cfg.h (cond_only_block_p): Declare.
27598 * tree-ssa-phiopt.c (cond_only_block_p): Move function to ...
27599 * tree-cfg.c (cond_only_block_p): ... here. No longer static.
27600 * optabs.def (spaceship_optab): New optab.
27601 * internal-fn.def (SPACESHIP): New internal function.
27602 * internal-fn.h (expand_SPACESHIP): Declare.
27603 * internal-fn.c (expand_PHI): Formatting fix.
27604 (expand_SPACESHIP): New function.
27605 * tree-ssa-math-opts.c (optimize_spaceship): New function.
27606 (math_opts_dom_walker::after_dom_children): Use it.
27607 * config/i386/i386.md (spaceship<mode>3): New define_expand.
27608 * config/i386/i386-protos.h (ix86_expand_fp_spaceship): Declare.
27609 * config/i386/i386-expand.c (ix86_expand_fp_spaceship): New function.
27610 * doc/md.texi (spaceship@var{m}3): Document.
27611
27612 2022-01-17 Kewen Lin <linkw@linux.ibm.com>
27613
27614 * config/rs6000/altivec.md (altivec_vreveti2): Remove.
27615 * config/rs6000/vsx.md (*vsx_extract_si, *vsx_extract_si_<uns>float_df,
27616 *vsx_extract_si_<uns>float_<mode>, *vsx_insert_extract_v4sf_p9): Use
27617 known constant values to simplify code.
27618
27619 2022-01-17 Haochen Gui <guihaoc@gcc.gnu.org>
27620
27621 PR target/103124
27622 * config/rs6000/vsx.md (split pattern for TI to V1TI move): Defined.
27623
27624 2022-01-16 wwwhhhyyy <hongyu.wang@intel.com>
27625
27626 * config/i386/i386.h (TARGET_DEST_FALSE_DEP_FOR_GLC): New macro.
27627 * config/i386/sse.md (<avx512>_<complexopname>_<mode><maskc_name><round_name>):
27628 Insert zero-idiom in output template when attr enabled, set new attribute to
27629 true for non-mask/maskz insn.
27630 (avx512fp16_<complexopname>sh_v8hf<mask_scalarc_name><round_scalarcz_name>):
27631 Likewise.
27632 (avx512dq_mul<mode>3<mask_name>): Likewise.
27633 (<avx2_avx512>_permvar<mode><mask_name>): Likewise.
27634 (avx2_perm<mode>_1<mask_name>): Likewise.
27635 (avx512f_perm<mode>_1<mask_name>): Likewise.
27636 (avx512dq_rangep<mode><mask_name><round_saeonly_name>): Likewise.
27637 (avx512dq_ranges<mode><mask_scalar_name><round_saeonly_scalar_name>):
27638 Likewise.
27639 (<avx512>_getmant<mode><mask_name><round_saeonly_name>): Likewise.
27640 (avx512f_vgetmant<mode><mask_scalar_name><round_saeonly_scalar_name>):
27641 Likewise.
27642 * config/i386/subst.md (mask3_dest_false_dep_for_glc_cond): New
27643 subst_attr.
27644 (mask4_dest_false_dep_for_glc_cond): Likewise.
27645 (mask6_dest_false_dep_for_glc_cond): Likewise.
27646 (mask10_dest_false_dep_for_glc_cond): Likewise.
27647 (maskc_dest_false_dep_for_glc_cond): Likewise.
27648 (mask_scalar4_dest_false_dep_for_glc_cond): Likewise.
27649 (mask_scalarc_dest_false_dep_for_glc_cond): Likewise.
27650 * config/i386/x86-tune.def (X86_TUNE_DEST_FALSE_DEP_FOR_GLC): New
27651 DEF_TUNE enabled for m_SAPPHIRERAPIDS and m_ALDERLAKE
27652
27653 2022-01-15 Martin Sebor <msebor@redhat.com>
27654
27655 PR c/63272
27656 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
27657 -Wdangling-pointer.
27658 * doc/invoke.texi (-Wdangling-pointer): Document new option.
27659 * gimple-ssa-warn-access.cc (pass_waccess::clone): Set new member.
27660 (pass_waccess::check_pointer_uses): New function.
27661 (pass_waccess::gimple_call_return_arg): New function.
27662 (pass_waccess::gimple_call_return_arg_ref): New function.
27663 (pass_waccess::check_call_dangling): New function.
27664 (pass_waccess::check_dangling_uses): New function overloads.
27665 (pass_waccess::check_dangling_stores): New function.
27666 (pass_waccess::check_dangling_stores): New function.
27667 (pass_waccess::m_clobbers): New data member.
27668 (pass_waccess::m_func): New data member.
27669 (pass_waccess::m_run_number): New data member.
27670 (pass_waccess::m_check_dangling_p): New data member.
27671 (pass_waccess::check_alloca): Check m_early_checks_p.
27672 (pass_waccess::check_alloc_size_call): Same.
27673 (pass_waccess::check_strcat): Same.
27674 (pass_waccess::check_strncat): Same.
27675 (pass_waccess::check_stxcpy): Same.
27676 (pass_waccess::check_stxncpy): Same.
27677 (pass_waccess::check_strncmp): Same.
27678 (pass_waccess::check_memop_access): Same.
27679 (pass_waccess::check_read_access): Same.
27680 (pass_waccess::check_builtin): Call check_pointer_uses.
27681 (pass_waccess::warn_invalid_pointer): Add arguments.
27682 (is_auto_decl): New function.
27683 (pass_waccess::check_stmt): New function.
27684 (pass_waccess::check_block): Call check_stmt.
27685 (pass_waccess::execute): Call check_dangling_uses,
27686 check_dangling_stores. Empty m_clobbers.
27687 * passes.def (pass_warn_access): Invoke pass two more times.
27688
27689 2022-01-15 Martin Sebor <msebor@redhat.com>
27690
27691 PR tree-optimization/80532
27692 * common.opt (-Wuse-after-free): New options.
27693 * diagnostic-spec.c (nowarn_spec_t::nowarn_spec_t): Handle
27694 OPT_Wreturn_local_addr and OPT_Wuse_after_free_.
27695 * diagnostic-spec.h (NW_DANGLING): New enumerator.
27696 * doc/invoke.texi (-Wuse-after-free): Document new option.
27697 * gimple-ssa-warn-access.cc (pass_waccess::check_call): Rename...
27698 (pass_waccess::check_call_access): ...to this.
27699 (pass_waccess::check): Rename...
27700 (pass_waccess::check_block): ...to this.
27701 (pass_waccess::check_pointer_uses): New function.
27702 (pass_waccess::gimple_call_return_arg): New function.
27703 (pass_waccess::warn_invalid_pointer): New function.
27704 (pass_waccess::check_builtin): Handle free and realloc.
27705 (gimple_use_after_inval_p): New function.
27706 (get_realloc_lhs): New function.
27707 (maybe_warn_mismatched_realloc): New function.
27708 (pointers_related_p): New function.
27709 (pass_waccess::check_call): Call check_pointer_uses.
27710 (pass_waccess::execute): Compute and free dominance info.
27711
27712 2022-01-15 Uroš Bizjak <ubizjak@gmail.com>
27713
27714 * config/i386/i386-expand.c (ix86_expand_sse_movcc): Use
27715 expand_simple_unop and expand_simple_binop instead of manually
27716 constructing NOT, AND and IOR RTXes. Use vector_all_ones_operand
27717 consistently. Eliminate common subexpressions and simplify code.
27718 * config/i386/sse.md (<any_logic:code><MODEF:mode>3): New expander.
27719 (<any_logic:code><MODEF:mode>3): Make public.
27720
27721 2022-01-14 Eric Botcazou <ebotcazou@adacore.com>
27722
27723 * ipa-param-manipulation.c (ipa_dump_adjusted_parameters): Dump
27724 reverse flag as "reverse" for the sake of consistency.
27725 * ipa-sra.c: Fix copyright year.
27726 (ipa_sra_function_summaries::duplicate): Copy the reverse flag.
27727 (dump_isra_access): Tweak dump line.
27728 (isra_write_node_summary): Write the reverse flag.
27729 (isra_read_node_info): Read it.
27730 (pull_accesses_from_callee): Test its consistency and copy it.
27731
27732 2022-01-14 Richard Sandiford <richard.sandiford@arm.com>
27733
27734 PR middle-end/104026
27735 * tree-vect-loop.c (_loop_vec_info::_loop_vec_info): Initialize
27736 partial_load_store_bias.
27737
27738 2022-01-14 Martin Sebor <msebor@redhat.com>
27739
27740 PR middle-end/101475
27741 * pointer-query.cc (handle_component_ref): Use the size of
27742 the enclosing object if it's smaller than the member.
27743
27744 2022-01-14 Martin Liska <mliska@suse.cz>
27745
27746 * configure: Regenerate.
27747
27748 2022-01-14 Uroš Bizjak <ubizjak@gmail.com>
27749
27750 * config/i386/i386.md (*add<mode>_1_slp"):
27751 Mark alternative 1 output operand earlyclobbered.
27752 (*sub<mode>_1_slp): Ditto.
27753 (*and<mode>_1_slp): Ditto.
27754 (*<code><mode>_1_slp): Ditto.
27755 (*neg<mode>_1_slp): Ditto.
27756 (*one_cmpl<mode>_1_slp): Ditto.
27757 (*ashl<mode>3_1_slp): Ditto.
27758 (*<insn><mode>3_1_slp): Ditto.
27759 (*<insn><mode>3_1_slp): Ditto.
27760
27761 2022-01-14 Kewen Lin <linkw@linux.ibm.com>
27762
27763 PR tree-optimization/104015
27764 * tree-vect-loop.c (vect_analyze_loop): Check
27765 param_vect_partial_vector_usage for supports_partial_vectors.
27766
27767 2022-01-14 Jakub Jelinek <jakub@redhat.com>
27768
27769 PR c++/89074
27770 * fold-const.c (address_compare): Punt on comparison of address of
27771 one object with address of end of another object if
27772 folding_initializer.
27773
27774 2022-01-14 Jakub Jelinek <jakub@redhat.com>
27775
27776 PR target/98737
27777 * tree-ssa-forwprop.c (simplify_builtin_call): Canonicalize
27778 __atomic_fetch_op (p, x, y) op x into __atomic_op_fetch (p, x, y)
27779 and __atomic_op_fetch (p, x, y) iop x into
27780 __atomic_fetch_op (p, x, y).
27781
27782 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
27783
27784 * config/arc/arc.h (DWARF_FRAME_REGNUM): Update definition.
27785 (DWARF_FRAME_RETURN_COLUMN): Use RETURN_ADDR_REGNUM macro.
27786 (INCOMING_RETURN_ADDR_RTX): Likewise.
27787 (DWARF_ALT_FRAME_RETURN_COLUMN): Define.
27788
27789 2022-01-14 Claudiu Zissulescu <claziss@synopsys.com>
27790
27791 * config/arc/arc.c (arc_compute_frame_size): Remove condition when
27792 computin checking accumulator regs.
27793 (arc_expand_prologue): Update comments.
27794 (arc_expand_epilogue): Likewise.
27795
27796 2022-01-14 Roger Sayle <roger@nextmovesoftware.com>
27797 Uroš Bizjak <ubizjak@gmail.com>
27798
27799 * config/i386/i386-expand.c (ix86_expand_v1ti_to_ti): Use force_reg.
27800 (ix86_expand_ti_to_v1ti): Use force_reg.
27801 (ix86_expand_v1ti_shift): Use force_reg.
27802 (ix86_expand_v1ti_rotate): Use force_reg.
27803 (ix86_expand_v1ti_ashiftrt): Provide new three operation
27804 implementations for shifts by 111..126 bits. Use force_reg.
27805
27806 2022-01-14 Martin Liska <mliska@suse.cz>
27807
27808 * common/config/arm/arm-common.c (arm_target_mode): Fix
27809 warning: unterminated quoting directive [-Wformat=].
27810
27811 2022-01-14 Siddhesh Poyarekar <siddhesh@gotplt.org>
27812
27813 PR tree-optimization/104009
27814 * tree-object-size.c (compute_builtin_object_size): Bail out on
27815 negative offset.
27816 (plus_stmt_object_size): Return maximum of wholesize and minimum
27817 of 0 for negative offset.
27818
27819 2022-01-14 liuhongt <hongtao.liu@intel.com>
27820
27821 PR target/104001
27822 PR target/94790
27823 PR target/104014
27824 * config/i386/i386.md (*xor2andn): Refine predicate of
27825 operands[0] from nonimmediate_operand to
27826 register_operand, remove TARGET_AVX512BW from condition.
27827
27828 2022-01-14 David Malcolm <dmalcolm@redhat.com>
27829
27830 * doc/extend.texi (Function Attributes): Note that "tainted_args" can
27831 be used on field decls.
27832 (Common Function Attributes): Add entry on "tainted_args" attribute.
27833
27834 2022-01-13 Anthony Sharp <anthonysharp15@gmail.com>
27835 Jason Merrill <jason@redhat.com>
27836
27837 PR c++/70417
27838 * doc/invoke.texi: Documentation for Wmissing-template-keyword.
27839
27840 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27841
27842 PR target/103861
27843 * config/i386/i386.md (*ashlqi_ext<mode>_2): New insn pattern.
27844 (*<any_shiftrt:insn>qi_ext<mode>_2): Ditto.
27845 * config/i386/mmx.md (<any_shift:insn>v2qi):
27846 New insn_and_split pattern.
27847
27848 2022-01-13 Robin Dapp <rdapp@linux.ibm.com>
27849
27850 * internal-fn.c (expand_partial_load_optab_fn): Add bias.
27851 (expand_partial_store_optab_fn): Likewise.
27852 (internal_len_load_store_bias): New function.
27853 * internal-fn.h (VECT_PARTIAL_BIAS_UNSUPPORTED): New define.
27854 (internal_len_load_store_bias): New function.
27855 * tree-vect-loop-manip.c (vect_set_loop_controls_directly): Set bias.
27856 (vect_set_loop_condition_partial_vectors): Add header_seq parameter.
27857 * tree-vect-loop.c (vect_verify_loop_lens): Verify bias.
27858 (vect_estimate_min_profitable_iters): Account for bias.
27859 (vect_get_loop_len): Add bias-adjusted length.
27860 * tree-vect-stmts.c (vectorizable_store): Use.
27861 (vectorizable_load): Use.
27862 * tree-vectorizer.h (struct rgroup_controls): Add bias-adjusted length.
27863 (LOOP_VINFO_PARTIAL_LOAD_STORE_BIAS): New macro.
27864 * config/rs6000/vsx.md: Use const0 bias predicate.
27865 * doc/md.texi: Document bias value.
27866
27867 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
27868
27869 PR tree-optimization/83072
27870 PR tree-optimization/83073
27871 PR tree-optimization/97909
27872 * fold-const.c (expr_not_equal_to): Use a multi-range class.
27873
27874 2022-01-13 Andrew MacLeod <amacleod@redhat.com>
27875
27876 PR tree-optimization/96707
27877 * range-op.cc (operator_rshift::lhs_op1_relation): New.
27878
27879 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27880
27881 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
27882 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
27883 (negv2qi splitters): Use lowpart_subreg instead of
27884 gen_lowpart to create subreg.
27885 (<plusminus:insn>v2qi3): Disparage GPR alternative a bit.
27886 Disable for TARGET_PARTIAL_REG_STALL unless optimizing for size.
27887 (<plusminus:insn>v2qi3 splitters): Use lowpart_subreg instead of
27888 gen_lowpart to create subreg.
27889 * config/i386/i386.md (*subqi_ext<mode>_2): Move.
27890
27891 2022-01-13 Uroš Bizjak <ubizjak@gmail.com>
27892
27893 PR target/104003
27894 * config/i386/mmx.md (*xop_pcmov_<mode>): Use VI_16_32 mode iterator.
27895
27896 2022-01-13 Martin Liska <mliska@suse.cz>
27897
27898 * common/config/arm/arm-common.c (arm_target_mode): Wrap
27899 keywords with %<, %> and remove trailing punctuation char.
27900 (arm_canon_arch_option_1): Likewise.
27901 (arm_asm_auto_mfpu): Likewise.
27902 * config/arm/arm-builtins.c (arm_expand_builtin): Likewise.
27903 * config/arm/arm.c (arm_options_perform_arch_sanity_checks): Likewise.
27904 (use_vfp_abi): Likewise.
27905 (aapcs_vfp_is_call_or_return_candidate): Likewise.
27906 (arm_handle_cmse_nonsecure_entry): Likewise.
27907 (arm_handle_cmse_nonsecure_call): Likewise.
27908 (thumb1_md_asm_adjust): Likewise.
27909
27910 2022-01-13 Paul A. Clarke <pc@us.ibm.com>
27911
27912 * config/rs6000/smmintrin.h (_mm_round_pd, _mm_round_ps,
27913 _mm_round_sd, _mm_round_ss, _MM_FROUND_TO_NEAREST_INT,
27914 _MM_FROUND_TO_ZERO, _MM_FROUND_TO_POS_INF, _MM_FROUND_TO_NEG_INF,
27915 _MM_FROUND_CUR_DIRECTION, _MM_FROUND_RAISE_EXC, _MM_FROUND_NO_EXC,
27916 _MM_FROUND_NINT, _MM_FROUND_FLOOR, _MM_FROUND_CEIL, _MM_FROUND_TRUNC,
27917 _MM_FROUND_RINT, _MM_FROUND_NEARBYINT): New.
27918 (_mm_ceil_pd, _mm_ceil_ps, _mm_ceil_sd, _mm_ceil_ss, _mm_floor_pd,
27919 _mm_floor_ps, _mm_floor_sd, _mm_floor_ss): Convert from function to
27920 macro.
27921
27922 2022-01-13 Jakub Jelinek <jakub@redhat.com>
27923
27924 PR tree-optimization/103989
27925 * tree-inline.c (setup_one_parameter): Don't copy parms with
27926 empty type.
27927
27928 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
27929
27930 * tree-streamer-out.c (pack_ts_base_value_fields): Don't pack
27931 'TYPE_ADDR_SPACE' for offloading.
27932 * tree-streamer-in.c (unpack_ts_base_value_fields): Don't unpack
27933 'TYPE_ADDR_SPACE' for offloading.
27934
27935 2022-01-13 Julian Brown <julian@codesourcery.com>
27936 Thomas Schwinge <thomas@codesourcery.com>
27937
27938 * omp-oacc-kernels-decompose.cc (add_wait): New function, split out
27939 of...
27940 (add_async_clauses_and_wait): ...here. Call new outlined function.
27941 (decompose_kernels_region_body): Add wait at the end of
27942 explicitly-asynchronous kernels regions.
27943
27944 2022-01-13 Thomas Schwinge <thomas@codesourcery.com>
27945
27946 PR middle-end/100280
27947 * omp-oacc-kernels-decompose.cc (maybe_build_inner_data_region):
27948 Mark variables used in synthesized data clauses as addressable.
27949
27950 2022-01-13 Martin Liska <mliska@suse.cz>
27951
27952 * config/epiphany/epiphany.c (epiphany_mode_priority):
27953 Use gcc_unreachable for not handled cases.
27954
27955 2022-01-13 Martin Liska <mliska@suse.cz>
27956
27957 * config/epiphany/epiphany.c (epiphany_handle_interrupt_attribute):
27958 Use %qs format specifier.
27959 (epiphany_override_options): Wrap keyword in %<, %>.
27960
27961 2022-01-13 Haochen Jiang <haochen.jiang@intel.com>
27962
27963 PR target/94790
27964 * config/i386/i386.md (*xor2andn): New define_insn_and_split.
27965
27966 2022-01-13 Xionghu Luo <luoxhu@linux.ibm.com>
27967
27968 * config/rs6000/altivec.md (sldoi_to_mov<mode>): New.
27969
27970 2022-01-12 Uroš Bizjak <ubizjak@gmail.com>
27971
27972 PR target/100637
27973 PR target/103861
27974 * config/i386/i386-expand.c (ix86_emit_vec_binop): New static function.
27975 (ix86_expand_sse_movcc): Use ix86_emit_vec_binop instead of gen_rtx_X
27976 when constructing vector logic RTXes.
27977 (expand_vec_perm_pshufb2): Ditto.
27978 * config/i386/mmx.md (negv2qi): Disparage GPR alternative a bit.
27979 (<plusminus:insn>v2qi3): Ditto.
27980 (vcond<mode><mode>): Re-enable for TARGET_SSE2.
27981 (vcondu<mode><mode>): Ditto.
27982 (vcond_mask_<mode><mode>): Ditto.
27983 (one_cmpl<VI_32:mode>2): Remove expander.
27984 (one_cmpl<VI_16_32:mode>2): Rename from one_cmplv2qi.
27985 Use VI_16_32 mode iterator.
27986 (one_cmpl<VI_16_32:mode>2 splitters): Use VI_16_32 mode iterator.
27987 Use lowpart_subreg instead of gen_lowpart to create subreg.
27988 (*andnot<VI_16_32:mode>3): Merge from "*andnot<VI_32:mode>" and
27989 "*andnotv2qi3" insn patterns using VI_16_32 mode iterator.
27990 Disparage GPR alternative a bit. Add CC clobber.
27991 (*andnot<VI_16_32:mode>3 splitters): Use VI_16_32 mode iterator.
27992 Use lowpart_subreg instead of gen_lowpart to create subreg.
27993 (*<any_logic:code><VI_16_32:mode>3): Merge from
27994 "*<any_logic:code><VI_32:mode>" and "*<any_logic:code>v2qi3" insn patterns
27995 using VI_16_32 mode iterator. Disparage GPR alternative a bit.
27996 Add CC clobber.
27997 (*<any_logic:code><VI_16_32:mode>3 splitters):Use VI_16_32 mode
27998 iterator. Use lowpart_subreg instead of gen_lowpart to create subreg.
27999
28000 2022-01-12 Clément Chigot <clement.chigot@atos.net>
28001
28002 * configure.ac: Check sizeof ino_t and dev_t.
28003 (HOST_STAT_FOR_64BIT_INODES): New AC_DEFINE to provide stat
28004 syscall being able to handle 64bit inodes.
28005 * config.in: Regenerate.
28006 * configure: Regenerate.
28007 * incpath.c (HOST_STAT_FOR_64BIT_INODES): New define.
28008 (remove_duplicates): Use it.
28009
28010 2022-01-12 Andrew MacLeod <amacleod@redhat.com>
28011
28012 PR tree-optimization/103551
28013 * tree-vrp.c (execute_ranger_vrp): Always set EDGE_EXECUTABLE.
28014
28015 2022-01-12 Richard Biener <rguenther@suse.de>
28016
28017 PR tree-optimization/103990
28018 * tree-pass.h (tail_merge_optimize): Drop unused argument.
28019 * tree-ssa-tail-merge.c (tail_merge_optimize): Likewise.
28020 * tree-ssa-pre.c (pass_pre::execute): Retain TODO_cleanup_cfg
28021 and adjust call to tail_merge_optimize.
28022
28023 2022-01-12 Andre Vieira <andre.simoesdiasvieira@arm.com>
28024
28025 * tree-vect-loop.c (vect-analyze-loop): Handle scenario where target
28026 does not add autovectorize_vector_modes.
28027
28028 2022-01-12 Martin Liska <mliska@suse.cz>
28029
28030 * config/aarch64/aarch64.c (aarch64_parse_boolean_options): Use
28031 %qs where possible.
28032 (aarch64_parse_sve_width_string): Likewise.
28033 (aarch64_override_options_internal): Likewise.
28034 (aarch64_print_hint_for_extensions): Likewise.
28035 (aarch64_validate_sls_mitigation): Likewise.
28036 (aarch64_handle_attr_arch): Likewise.
28037 (aarch64_handle_attr_cpu): Likewise.
28038 (aarch64_handle_attr_tune): Likewise.
28039 (aarch64_handle_attr_isa_flags): Likewise.
28040
28041 2022-01-12 Martin Liska <mliska@suse.cz>
28042
28043 * config.gcc: Include elfos.h before ${tm_file}.
28044
28045 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
28046
28047 * config/cris/cris.c: Quote identifiers in parameters to error
28048 and internal_error, and remove extraneous spaces with punctuation.
28049 * config/cris/cris.h (CRIS_ASSERT): When passing on stringified
28050 expression to internal_error, pass it as a parameter instead of
28051 appending it to the format part.
28052
28053 2022-01-12 Hans-Peter Nilsson <hp@axis.com>
28054
28055 * config/cris/cris.c (cris_postdbr_cmpelim): Parenthesize
28056 parameter to as_a.
28057
28058 2022-01-11 qing zhao <qing.zhao@oracle.com>
28059
28060 * gimplify.c (gimple_add_init_for_auto_var): Delete the 3rd argument.
28061 Change the 3rd argument of function .DEFERRED_INIT to the name of the
28062 decl.
28063 (gimplify_decl_expr): Delete the 3rd argument when call
28064 gimple_add_init_for_auto_var.
28065 * internal-fn.c (expand_DEFERRED_INIT): Update comments to reflect
28066 the 3rd argument change of function .DEFERRED_INIT.
28067 * tree-cfg.c (verify_gimple_call): Update comments and verification
28068 to reflect the 3rd argument change of function .DEFERRED_INIT.
28069 * tree-sra.c (generate_subtree_deferred_init): Delete the 3rd argument.
28070 (sra_modify_deferred_init): Change the 3rd argument of function
28071 .DEFERRED_INIT to the name of the decl.
28072
28073 2022-01-11 Thomas Koenig <tkoenig@gcc.gnu.org>
28074
28075 * flag-types.h (enum gfc_convert): Add flags for
28076 conversion.
28077
28078 2022-01-11 Michael Meissner <meissner@the-meissners.org>
28079
28080 * config/rs6000/rs6000.c (rs6000_option_override_internal): Remove
28081 checks for only C/C++ front ends before allowing the long double
28082 format to change without a warning.
28083
28084 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
28085
28086 PR rtl-optimization/103974
28087 * ira-int.h (ira_subloop_allocnos_can_differ_p): Take an
28088 extra argument, default true, that says whether old-reload
28089 targets should be excluded.
28090 * ira-color.c (color_pass): Pass false.
28091
28092 2022-01-11 Uroš Bizjak <ubizjak@gmail.com>
28093
28094 PR target/103861
28095 * config/i386/mmx.md (vcond<mode><mode>):
28096 Use VI_16_32 mode iterator. Enable for TARGET_SSE4_1.
28097 (vcondu<mode><mode>): Ditto.
28098 (vcond_mask_<mode><mode>): Ditto.
28099 (mmx_pblendvb_v8qi): Rename from mmx_pblendvb64.
28100 (mmx_pblendvb_<mode>): Rename from mmx_pblendvb32.
28101 Use VI_16_32 mode iterator.
28102 * config/i386/i386-expand.c (ix86_expand_sse_movcc):
28103 Update for rename. Handle V2QImode.
28104 (expand_vec_perm_blend): Update for rename.
28105
28106 2022-01-11 Jakub Jelinek <jakub@redhat.com>
28107
28108 PR c++/101597
28109 * tree.def (OBJ_TYPE_REF): Document type of OBJ_TYPE_REF_TOKEN.
28110
28111 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28112
28113 PR middle-end/70090
28114 * tree-object-size.c (size_valid_p): New function.
28115 (size_for_offset): Remove OFFSET constness assertion.
28116 (addr_object_size): Build dynamic expressions for object
28117 sizes and use size_valid_p to decide if it is valid for the
28118 given OBJECT_SIZE_TYPE.
28119 (compute_builtin_object_size): Allow dynamic offsets when
28120 computing size at O0.
28121 (call_object_size): Call size_valid_p.
28122 (plus_stmt_object_size): Allow non-constant offset and use
28123 size_valid_p to decide if it is valid for the given
28124 OBJECT_SIZE_TYPE.
28125
28126 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28127
28128 PR middle-end/70090
28129 * tree-object-size.c (alloc_object_size): Make and return
28130 non-constant size expression.
28131 (call_object_size): Return expression or unknown based on
28132 whether dynamic object size is requested.
28133
28134 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28135
28136 PR middle-end/70090
28137 * tree-object-size.c: Include tree-dfa.h.
28138 (parm_object_size): New function.
28139 (collect_object_sizes_for): Call it.
28140
28141 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28142
28143 PR middle-end/70090
28144 * builtins.c (fold_builtin_object_size): Adjust for dynamic size
28145 expressions.
28146 * tree-object-size.c: Include gimplify-me.h.
28147 (struct object_size_info): New member UNKNOWNS.
28148 (size_initval_p, size_usable_p, object_sizes_get_raw): New
28149 functions.
28150 (object_sizes_get): Return suitable gimple variable for
28151 object size.
28152 (bundle_sizes): New function.
28153 (object_sizes_set): Use it and handle dynamic object size
28154 expressions.
28155 (object_sizes_set_temp): New function.
28156 (size_for_offset): Adjust for dynamic size expressions.
28157 (emit_phi_nodes, propagate_unknowns, gimplify_size_expressions):
28158 New functions.
28159 (compute_builtin_object_size): Call gimplify_size_expressions
28160 for OST_DYNAMIC.
28161 (dynamic_object_size): New function.
28162 (cond_expr_object_size): Use it.
28163 (phi_dynamic_object_size): New function.
28164 (collect_object_sizes_for): Call it for OST_DYNAMIC. Adjust to
28165 accommodate dynamic object sizes.
28166
28167 2022-01-11 Siddhesh Poyarekar <siddhesh@gotplt.org>
28168 Jakub Jelinek <jakub@redhat.com>
28169
28170 PR tree-optimization/103961
28171 * tree-object-size.c (plus_stmt_object_size): Always avoid
28172 computing offset for -1 size.
28173
28174 2022-01-11 Andrew MacLeod <amacleod@redhat.com>
28175
28176 PR tree-optimization/103821
28177 * range-op.cc (range_operator::fold_range): Only do precise ranges
28178 when there are not too many subranges.
28179
28180 2022-01-11 Richard Sandiford <richard.sandiford@arm.com>
28181
28182 * ira-costs.c (ira_tune_allocno_costs): Fix missing rclass
28183 definition in IRA_HARD_REGNO_ADD_COST_MULTIPLIER code.
28184
28185 2022-01-11 Roger Sayle <roger@nextmovesoftware.com>
28186 Richard Biener <rguenther@suse.de>
28187
28188 * tree-ssa-math-opts.c (struct widen_mul_stats): Add a
28189 highpart_mults_inserted field.
28190 (convert_mult_to_highpart): New function to convert right shift
28191 of a widening multiply into a MULT_HIGHPART_EXPR.
28192 (math_opts_dom_walker::after_dom_children) [RSHIFT_EXPR]:
28193 Call new convert_mult_to_highpart function.
28194 (pass_optimize_widening_mul::execute): Add a statistics counter
28195 for tracking "highpart multiplications inserted" events.
28196
28197 2022-01-11 Xionghu Luo <luoxhu@linux.ibm.com>
28198
28199 PR target/102239
28200 * config/rs6000/rs6000-protos.h (rs6000_is_valid_rotate_dot_mask): New
28201 declare.
28202 * config/rs6000/rs6000.c (rs6000_is_valid_rotate_dot_mask): New
28203 function.
28204 * config/rs6000/rs6000.md (*branch_anddi3_dot): New.
28205
28206 2022-01-11 Olivier Hainque <hainque@adacore.com>
28207
28208 * gcc.c (driver_handle_option): State --sysroot as
28209 validated.
28210
28211 2022-01-11 Kewen Lin <linkw@linux.ibm.com>
28212
28213 * config/rs6000/rs6000.c (rs6000_disable_incompatible_switches): Remove
28214 useless related to option -mno-power10.
28215
28216 2022-01-11 Haochen Jiang <haochen.jiang@intel.com>
28217
28218 PR target/53652
28219 * config/i386/sse.md (*andnot<mode>3): Extend predicate of
28220 operands[1] from register_operand to vector_operand.
28221
28222 2022-01-10 Uroš Bizjak <ubizjak@gmail.com>
28223
28224 PR target/103861
28225 * config/i386/i386-expand.c (ix86_expand_int_sse_cmp):
28226 Handle V2QImode.
28227 * config/i386/mmx.md (<sat_plusminus:insn><mode>3):
28228 Use VI1_16_32 mode iterator.
28229 (*eq<mode>3): Ditto.
28230 (*gt<mode>3): Ditto.
28231 (*xop_maskcmp<mode>3): Ditto.
28232 (*xop_maskcmp_uns<mode>3): Ditto.
28233 (vec_cmp<mode><mode>): Ditto.
28234 (vec_cmpu<mode><mode>): Ditto.
28235
28236 2022-01-10 Richard Biener <rguenther@suse.de>
28237
28238 PR tree-optimization/103948
28239 * tree-vect-generic.c (expand_vector_condition): Return true if
28240 all ones vector is returned for true, all zeros vector for false
28241 and the target defines corresponding vec_cmp{,u}MN named RTX pattern.
28242
28243 2022-01-10 Paul A. Clarke <pc@us.ibm.com>
28244
28245 * config/rs6000/smmintrin.h (_mm_blendv_epi8): Use vec_blendv
28246 when _ARCH_PWR10. Use signed types.
28247 (_mm_blendv_ps): Use vec_blendv when _ARCH_PWR10.
28248 (_mm_blendv_pd): Likewise.
28249
28250 2022-01-10 Andre Vieira <andre.simoesdiasvieira@arm.com>
28251
28252 * tree-vectorizer.c (better_epilogue_loop_than_p): Round factors up for
28253 epilogue costing.
28254 * tree-vect-loop.c (vect_analyze_loop): Re-analyze all modes for
28255 epilogues, unless we are guaranteed that we can't have partial vectors.
28256 * genopinit.c: (partial_vectors_supported): Generate new function.
28257
28258 2022-01-10 Jakub Jelinek <jakub@redhat.com>
28259
28260 PR target/102024
28261 * config/i386/i386.c (classify_argument): Add zero_width_bitfields
28262 argument, when seeing DECL_FIELD_CXX_ZERO_WIDTH_BIT_FIELD bitfields,
28263 always ignore them, when seeing other zero sized bitfields, either
28264 set zero_width_bitfields to 1 and ignore it or if equal to 2 process
28265 it. Pass it to recursive calls. Add wrapper
28266 with old arguments and diagnose ABI differences for C structures
28267 with zero width bitfields. Formatting fixes.
28268
28269 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28270
28271 PR rtl-optimization/98782
28272 * ira-int.h (ira_soft_conflict): Declare.
28273 * ira-color.c (max_soft_conflict_loop_depth): New constant.
28274 (ira_soft_conflict): New function.
28275 (spill_soft_conflicts): Likewise.
28276 (assign_hard_reg): Use them to handle the case described by
28277 the comment above ira_soft_conflict.
28278 (improve_allocation): Likewise.
28279 * ira.c (check_allocation): Allow allocnos with "soft" conflicts
28280 to share the same register.
28281
28282 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28283
28284 PR rtl-optimization/98782
28285 * ira-int.h (ira_caller_save_cost): New function.
28286 (ira_caller_save_loop_spill_p): Likewise.
28287 * ira-build.c (ira_propagate_hard_reg_costs): Test whether it is
28288 cheaper to spill a call-clobbered register throughout a loop rather
28289 than spill it around each individual call. If so, treat all
28290 call-clobbered registers as conflicts and...
28291 (propagate_allocno_info): ...do not propagate call information
28292 from the child to the parent.
28293 * ira-color.c (move_spill_restore): Update accordingly.
28294 * ira-costs.c (ira_tune_allocno_costs): Use ira_caller_save_cost.
28295
28296 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28297
28298 PR rtl-optimization/98782
28299 * ira-int.h (ira_allocno::might_conflict_with_parent_p): New field.
28300 (ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P): New macro.
28301 (ira_single_region_allocno_p): New function.
28302 (ira_total_conflict_hard_regs): Likewise.
28303 * ira-build.c (ira_create_allocno): Initialize
28304 ALLOCNO_MIGHT_CONFLICT_WITH_PARENT_P.
28305 (ira_propagate_hard_reg_costs): New function.
28306 (propagate_allocno_info): Use it. Try to avoid propagating
28307 hard register conflicts to parent allocnos if we can handle
28308 the conflicts by spilling instead. Limit the propagated
28309 register costs to the cost of spilling throughout the child loop.
28310 * ira-color.c (color_pass): Use ira_single_region_allocno_p to
28311 test whether a child and parent allocno can share the same
28312 register.
28313 (move_spill_restore): Adjust for the new behavior of
28314 propagate_allocno_info.
28315
28316 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28317
28318 PR rtl-optimization/98782
28319 * ira-int.h (ira_subloop_allocnos_can_differ_p): New function,
28320 extracted from...
28321 * ira-color.c (color_pass): ...here.
28322
28323 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28324
28325 PR rtl-optimization/98782
28326 * ira-color.c (color_pass): Add comments to describe the spill costs.
28327 (move_spill_restore): Likewise. Fix reversed calculation.
28328
28329 2022-01-10 Richard Sandiford <richard.sandiford@arm.com>
28330
28331 PR rtl-optimization/98782
28332 * ira-int.h (ira_loop_border_costs): New class.
28333 * ira-color.c (ira_loop_border_costs::ira_loop_border_costs):
28334 New constructor.
28335 (calculate_allocno_spill_cost): Use ira_loop_border_costs.
28336 (color_pass): Likewise.
28337 (move_spill_restore): Likewise.
28338
28339 2022-01-10 Eric Botcazou <ebotcazou@adacore.com>
28340
28341 PR target/103465
28342 * coretypes.h (unwind_info_type): Swap UI_SEH and UI_TARGET.
28343
28344 2022-01-10 Richard Biener <rguenther@suse.de>
28345
28346 PR tree-optimization/100359
28347 * tree-ssa-loop-ivcanon.c (try_unroll_loop_completely):
28348 Allow non-growing peeling with !allow_peel and UL_ALL.
28349
28350 2022-01-08 Roger Sayle <roger@nextmovesoftware.com>
28351
28352 * config/i386/i386-expand.c (ix86_expand_vector_move): Add
28353 special case for TImode to V1TImode moves, going via V2DImode.
28354
28355 2022-01-08 Jakub Jelinek <jakub@redhat.com>
28356
28357 PR c++/89074
28358 * match.pd ((ptr) (x p+ y) p+ z -> (ptr) (x p+ (y + z))): New GENERIC
28359 simplification.
28360
28361 2022-01-08 David Malcolm <dmalcolm@redhat.com>
28362
28363 * doc/analyzer.texi
28364 (Special Functions for Debugging the Analyzer): Document
28365 __analyzer_dump_escaped.
28366
28367 2022-01-08 David Malcolm <dmalcolm@redhat.com>
28368
28369 * doc/analyzer.texi (Other Debugging Techniques): Document
28370 region::is_named_decl_p.
28371
28372 2022-01-07 Andrew Pinski <apinski@marvell.com>
28373
28374 PR target/102941
28375 * config/arm/aarch-common.c (arm_md_asm_adjust):
28376 Use a temp if !REG_P.
28377
28378 2022-01-07 Uroš Bizjak <ubizjak@gmail.com>
28379
28380 * config/i386/mmx.md (*move<V_32:mode>_internal): Add isa attribute.
28381 (*movv2qi_internal): Remve sse2 requirement for alternatives 4,5.
28382
28383 2022-01-07 liuhongt <hongtao.liu@intel.com>
28384
28385 PR rtl-optimization/103750
28386 * fwprop.c (forward_propagate_into): Allow propagations from
28387 inner loop to outer loop.
28388
28389 2022-01-07 Roger Sayle <roger@nextmovesoftware.com>
28390
28391 * config/nvptx/nvptx.md (*cnot<mode>2): New define_insn.
28392
28393 2022-01-07 Haochen Gui <guihaoc@gcc.gnu.org>
28394
28395 * config/rs6000/rs6000.md (rs6000_mffscrni): Define.
28396 (rs6000_set_fpscr_rn): Change the type of operand[0] from DI to SI.
28397 Call gen_rs6000_mffscrni when operand[0] is a const_0_to_3_operand.
28398
28399 2022-01-07 liuhongt <hongtao.liu@intel.com>
28400
28401 * config/i386/sse.md
28402 (*<avx512>_eq<mode>3<mask_scalar_merge_name>_1): Extend to
28403 UNSPEC_PCMP_UNSIGNED.
28404
28405 2022-01-07 liuhongt <hongtao.liu@intel.com>
28406
28407 PR target/103753
28408 * config/i386/i386-expand.c (ix86_expand_vector_set): Not use
28409 gen_avx2_pblendph_1 when elt == 0.
28410 * config/i386/sse.md (avx2_pblendph): Rename to ..
28411 (avx2_pblend<ssemodesuffix>_1).. this, and extend to V16HI.
28412 (*avx2_pblendw): Rename to ..
28413 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
28414 (avx2_pblendw): Rename to ..
28415 (*avx2_pblend<ssemodesuffix>): .. this, and extend to V16HF.
28416 (blendsuf): Removed.
28417 (sse4_1_pblend<blendsuf>): Renamed to ..
28418 (sse4_1_pblend<ssemodesuffix>): .. this.
28419
28420 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
28421
28422 PR target/103925
28423 * config/i386/i386.c (ix86_output_indirect_function_return):
28424 Generate INT3 after indirect jmp for -mharden-sls=indirect-jmp.
28425
28426 2022-01-06 H.J. Lu <hjl.tools@gmail.com>
28427
28428 PR target/102952
28429 * config/i386/i386-opts.h (harden_sls): Replace
28430 harden_sls_indirect_branch with harden_sls_indirect_jmp.
28431 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect):
28432 Likewise.
28433 (ix86_output_indirect_jmp): Likewise.
28434 (ix86_output_call_insn): Likewise.
28435 * config/i386/i386.opt: Replace indirect-branch with
28436 indirect-jmp. Replace harden_sls_indirect_branch with
28437 harden_sls_indirect_jmp.
28438 * doc/invoke.texi (-harden-sls=): Replace indirect-branch with
28439 indirect-jmp.
28440
28441 2022-01-06 Uroš Bizjak <ubizjak@gmail.com>
28442
28443 * config/i386/i386.c (ix86_output_ssemov) <MODE_DI>:
28444 Add %q modifier for operands in general registers.
28445 <MODE_SI>: Add %q modifier for operands in general registers.
28446 * config/i386/i386.md (*movhi_internal): Change type attribute of
28447 xmm-gpr interunit alternatives 9,10 to ssemov and mode attribute
28448 to SImode for non-avx512fp16 targets.
28449 (*movhf_internal): Ditto for xmm-gpr interunit alternatives 6,8.
28450 * config/i386/mmx.md (*movv2qi_internal):
28451 Ditto for xmm-gpr interunit alternatives 8,9.
28452
28453 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
28454
28455 * common/config/riscv/riscv-common.c (riscv_implied_info): Add
28456 vector extensions.
28457 (riscv_ext_version_table): Add version info for vector extensions.
28458 (riscv_ext_flag_table): Add option mask for vector extensions.
28459 * config/riscv/riscv-opts.h (MASK_VECTOR_EEW_32): New.
28460 (MASK_VECTOR_EEW_64): New.
28461 (MASK_VECTOR_EEW_FP_32): New.
28462 (MASK_VECTOR_EEW_FP_64): New.
28463 (MASK_ZVL32B): New.
28464 (MASK_ZVL64B): New.
28465 (MASK_ZVL128B): New.
28466 (MASK_ZVL256B): New.
28467 (MASK_ZVL512B): New.
28468 (MASK_ZVL1024B): New.
28469 (MASK_ZVL2048B): New.
28470 (MASK_ZVL4096B): New.
28471 (MASK_ZVL8192B): New.
28472 (MASK_ZVL16384B): New.
28473 (MASK_ZVL32768B): New.
28474 (MASK_ZVL65536B): New.
28475 (TARGET_ZVL32B): New.
28476 (TARGET_ZVL64B): New.
28477 (TARGET_ZVL128B): New.
28478 (TARGET_ZVL256B): New.
28479 (TARGET_ZVL512B): New.
28480 (TARGET_ZVL1024B): New.
28481 (TARGET_ZVL2048B): New.
28482 (TARGET_ZVL4096B): New.
28483 (TARGET_ZVL8192B): New.
28484 (TARGET_ZVL16384B): New.
28485 (TARGET_ZVL32768B): New.
28486 (TARGET_ZVL65536B): New.
28487 * config/riscv/riscv.opt (Mask(VECTOR)): New.
28488 (riscv_vector_eew_flags): New.
28489 (riscv_zvl_flags): New.
28490
28491 2022-01-06 Kito Cheng <kito.cheng@sifive.com>
28492
28493 * common/config/riscv/riscv-common.c
28494 (riscv_subset_list::parse_multiletter_ext): Allow ext. name has
28495 digit.
28496
28497 2022-01-06 Jakub Jelinek <jakub@redhat.com>
28498
28499 PR tree-optimization/103899
28500 * expr.c (expand_expr_real_1): Add a workaround for bogus uninit
28501 warning by moving context variable to the only spot where it is used
28502 and moving gcc_assert into if body.
28503
28504 2022-01-06 Jakub Jelinek <jakub@redhat.com>
28505
28506 PR rtl-optimization/103908
28507 * ifcvt.c (bb_valid_for_noce_process_p): Punt on bbs ending with
28508 asm goto.
28509
28510 2022-01-05 Bill Schmidt <wschmidt@linux.ibm.com>
28511
28512 PR target/103622
28513 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
28514 Skip over instances with undefined function types.
28515
28516 2022-01-05 Andrew Pinski <apinski@marvell.com>
28517
28518 PR target/103910
28519 * config/i386/i386.h (x86_mfence): Mark with GTY.
28520
28521 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28522
28523 PR target/103861
28524 * config/i386/mmx.md (VI_16_32): New mode iterator.
28525 (VI1_16_32): Ditto.
28526 (mmxvecsize): Handle V2QI mode.
28527 (<smaxmin:code><mode>3): Rename from <smaxmin:code>v4qi3.
28528 Use VI1_16_32 mode iterator.
28529 (<umaxmin:code><mode>3): Rename from <umaxmin:code>v4qi3.
28530 Use VI1_16_32 mode iterator.
28531 (abs<mode>2): Use VI_16_32 mode iterator.
28532 (uavgv2qi3_ceil): New insn pattern.
28533
28534 2022-01-05 Martin Sebor <msebor@redhat.com>
28535
28536 * gimple-ssa-warn-access.cc (pass_waccess::maybe_warn_memmodel): Use
28537 %qs to avoid -Wformat-diag.
28538
28539 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28540
28541 PR target/103915
28542 * config/i386/mmx.md (one_cmplv2qi2): Change
28543 alternatives 1,2 type from sselog to sselog1.
28544
28545 2022-01-05 Uroš Bizjak <ubizjak@gmail.com>
28546
28547 PR target/103905
28548 * config/i386/i386-expand.c (expand_vec_perm_pshufb): Fix number of
28549 narrow mode remapped elements for !one_operand_p case.
28550
28551 2022-01-05 Richard Biener <rguenther@suse.de>
28552
28553 PR tree-optimization/103816
28554 * tree-vect-data-refs.c (vect_analyze_group_access_1): Also
28555 check DR_GROUP_GAP compute for overflow and representability.
28556
28557 2022-01-05 Jakub Jelinek <jakub@redhat.com>
28558
28559 PR fortran/103691
28560 * gimple-fold.c (fold_stmt_1): Don't call maybe_fold_reference
28561 for DEBUG stmts with ADDR_EXPR gimple_debug_bind_get_value,
28562 it can do unwanted rhs folding like &a[0] into &2.0 etc.
28563
28564 2022-01-05 Kewen Lin <linkw@linux.ibm.com>
28565
28566 PR ipa/102059
28567 * config/rs6000/rs6000.c (TARGET_NEED_IPA_FN_TARGET_INFO): New macro.
28568 (TARGET_UPDATE_IPA_FN_TARGET_INFO): Likewise.
28569 (rs6000_need_ipa_fn_target_info): New function.
28570 (rs6000_update_ipa_fn_target_info): Likewise.
28571 (rs6000_can_inline_p): Adjust for ipa function summary target info.
28572 * config/rs6000/rs6000.h (RS6000_FN_TARGET_INFO_HTM): New macro.
28573 * ipa-fnsummary.c (ipa_dump_fn_summary): Adjust for ipa function
28574 summary target info.
28575 (analyze_function_body): Adjust for ipa function summary target info
28576 and call hook rs6000_need_ipa_fn_target_info and
28577 rs6000_update_ipa_fn_target_info.
28578 (ipa_merge_fn_summary_after_inlining): Adjust for ipa function summary
28579 target info.
28580 (inline_read_section): Likewise.
28581 (ipa_fn_summary_write): Likewise.
28582 * ipa-fnsummary.h (ipa_fn_summary::target_info): New member.
28583 * doc/tm.texi: Regenerate.
28584 * doc/tm.texi.in (TARGET_UPDATE_IPA_FN_TARGET_INFO): Document new hook.
28585 (TARGET_NEED_IPA_FN_TARGET_INFO): Likewise.
28586 * target.def (update_ipa_fn_target_info): New hook.
28587 (need_ipa_fn_target_info): Likewise.
28588 * targhooks.c (default_need_ipa_fn_target_info): New function.
28589 (default_update_ipa_fn_target_info): Likewise.
28590 * targhooks.h (default_update_ipa_fn_target_info): New declare.
28591 (default_need_ipa_fn_target_info): Likewise.
28592
28593 2022-01-04 Martin Sebor <msebor@redhat.com>
28594
28595 PR middle-end/99612
28596 * builtins.c (get_memmodel): Move warning code to
28597 gimple-ssa-warn-access.cc.
28598 (expand_builtin_atomic_compare_exchange): Same.
28599 (expand_ifn_atomic_compare_exchange): Same.
28600 (expand_builtin_atomic_load): Same.
28601 (expand_builtin_atomic_store): Same.
28602 (expand_builtin_atomic_clear): Same.
28603 * doc/extend.texi (__atomic_exchange_n): Update valid memory
28604 models.
28605 * gimple-ssa-warn-access.cc (memmodel_to_uhwi): New function.
28606 (struct memmodel_pair): New struct.
28607 (memmodel_name): New function.
28608 (pass_waccess::maybe_warn_memmodel): New function.
28609 (pass_waccess::check_atomic_memmodel): New function.
28610 (pass_waccess::check_atomic_builtin): Handle memory model.
28611 * input.c (expansion_point_location_if_in_system_header): Return
28612 original location if expansion location is in a system header.
28613
28614 2022-01-04 Uroš Bizjak <ubizjak@gmail.com>
28615
28616 PR target/103861
28617 * config/i386/mmx.md (one_cmplv2qi3): New insn pattern.
28618 (one_cmplv2qi3 splitters): New post-reload splitters.
28619 (*andnotv2qi3): New insn pattern.
28620 (andnotv2qi3 splitters): New post-reload splitters.
28621 (<any_logic:code>v2qi3): New insn pattern.
28622 (<any_logic:insn>v2qi3 splitters): New post-reload splitters.
28623
28624 2022-01-04 Richard Biener <rguenther@suse.de>
28625
28626 PR tree-optimization/103800
28627 * tree-vect-loop.c (vectorizable_phi): Remove assert and
28628 expand comment.
28629
28630 2022-01-04 Richard Biener <rguenther@suse.de>
28631
28632 PR tree-optimization/103690
28633 * tree-pass.h (tail_merge_optimize): Adjust.
28634 * tree-ssa-tail-merge.c (tail_merge_optimize): Pass in whether
28635 to re-split critical edges, move CFG cleanup ...
28636 * tree-ssa-pre.c (pass_pre::execute): ... here, before
28637 simple_dce_from_worklist and delay freeing inserted_exprs from
28638 ...
28639 (fini_pre): .. here.
28640
28641 2022-01-04 Roger Sayle <roger@nextmovesoftware.com>
28642
28643 * config/nvptx/nvptx.h (STORE_FLAG_VALUE): Change to 1.
28644 * config/nvptx/nvptx.md (movbi): Use P1 constraint for true.
28645 (setcc_from_bi): Remove SImode specific pattern.
28646 (setcc<mode>_from_bi): Provide more general HSDIM pattern.
28647 (extendbi<mode>2, zeroextendbi<mode>2): Provide instructions
28648 for sign- and zero-extending BImode predicates to integers.
28649 (setcc_int<mode>): Remove previous (-1-based) instructions.
28650 (cstorebi4): Remove BImode to SImode specific expander.
28651 (cstore<mode>4): Fix indentation. Expand using setccsi_from_bi.
28652 (cstore<mode>4): For both integer and floating point modes.
28653
28654 2022-01-04 Olivier Hainque <hainque@adacore.com>
28655
28656 * gcc.c (driver_handle_option): do_save --sysroot.
28657
28658 2022-01-04 Richard Biener <rguenther@suse.de>
28659
28660 PR tree-optimization/103864
28661 PR tree-optimization/103544
28662 * tree-vect-slp.c (vect_analyze_slp_instance): Exclude
28663 reductions wrapped in conversions from SLP handling.
28664 (vect_analyze_slp): Revert PR103544 change.
28665
28666 2022-01-04 Jakub Jelinek <jakub@redhat.com>
28667
28668 PR rtl-optimization/103860
28669 * shrink-wrap.c (try_shrink_wrapping): Don't call can_get_prologue
28670 uselessly for blocks for which it has been called already.
28671
28672 2022-01-04 Cui,Lili <lili.cui@intel.com>
28673
28674 * common/config/i386/cpuinfo.h (get_intel_cpu): Add new model values
28675 to Alderlake and Rocketlake.
28676
28677 2022-01-04 Chung-Lin Tang <cltang@codesourcery.com>
28678
28679 PR middle-end/103643
28680 * gimplify.c (gimplify_omp_affinity): Adjust gimplify_expr of entire
28681 OMP_CLAUSE_DECL to use 'is_gimple_lvalue, fb_lvalue'
28682
28683 2022-01-04 liuhongt <hongtao.liu@intel.com>
28684
28685 PR target/103895
28686 * config/i386/sse.md (*bit_and_float_vector_all_ones):
28687 Force_reg operand 1 to avoid ICE.
28688
28689 2022-01-04 Jason Merrill <jason@redhat.com>
28690
28691 * tree-pretty-print.c (do_niy): Add spc parameter.
28692 (NIY): Pass it.
28693 (print_call_name): Add spc local variable.
28694
28695 2022-01-03 Uroš Bizjak <ubizjak@gmail.com>
28696
28697 PR target/103894
28698 * config/i386/mmx.md (mov<V_32:mode>): Remove TARGET_SSE2 constraint.
28699 (mov<V_32:mode>_internal): Ditto.
28700 (*push<V_32:mode>_rex64): Ditto.
28701 (movmisalign<V_32:mode>): Ditto.
28702 (*push<V_32:mode>_rex64 splitter): Enable for
28703 TARGET_64BIT && TARGET_SSE.
28704 (*push<V_32:mode>2): Remove insn pattern.
28705
28706 2022-01-03 Andrew Pinski <apinski@marvell.com>
28707
28708 PR c/33193
28709 * doc/extend.texi: Extend the documentation about Complex
28710 types for casting and also rewrite the __real__/__imag__
28711 expression portion to use tables.
28712 Move __builtin_complex to the Complex type section.
28713
28714 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28715
28716 PR target/98737
28717 * internal-fn.def (ATOMIC_ADD_FETCH_CMP_0, ATOMIC_SUB_FETCH_CMP_0,
28718 ATOMIC_AND_FETCH_CMP_0, ATOMIC_OR_FETCH_CMP_0, ATOMIC_XOR_FETCH_CMP_0):
28719 New internal fns.
28720 * internal-fn.h (ATOMIC_OP_FETCH_CMP_0_EQ, ATOMIC_OP_FETCH_CMP_0_NE,
28721 ATOMIC_OP_FETCH_CMP_0_LT, ATOMIC_OP_FETCH_CMP_0_LE,
28722 ATOMIC_OP_FETCH_CMP_0_GT, ATOMIC_OP_FETCH_CMP_0_GE): New enumerators.
28723 * internal-fn.c (expand_ATOMIC_ADD_FETCH_CMP_0,
28724 expand_ATOMIC_SUB_FETCH_CMP_0, expand_ATOMIC_AND_FETCH_CMP_0,
28725 expand_ATOMIC_OR_FETCH_CMP_0, expand_ATOMIC_XOR_FETCH_CMP_0): New
28726 functions.
28727 * optabs.def (atomic_add_fetch_cmp_0_optab,
28728 atomic_sub_fetch_cmp_0_optab, atomic_and_fetch_cmp_0_optab,
28729 atomic_or_fetch_cmp_0_optab, atomic_xor_fetch_cmp_0_optab): New
28730 direct optabs.
28731 * builtins.h (expand_ifn_atomic_op_fetch_cmp_0): Declare.
28732 * builtins.c (expand_ifn_atomic_op_fetch_cmp_0): New function.
28733 * tree-ssa-ccp.c: Include internal-fn.h.
28734 (optimize_atomic_bit_test_and): Add . before internal fn call
28735 in function comment. Change return type from void to bool and
28736 return true only if successfully replaced.
28737 (optimize_atomic_op_fetch_cmp_0): New function.
28738 (pass_fold_builtins::execute): Use optimize_atomic_op_fetch_cmp_0
28739 for BUILT_IN_ATOMIC_{ADD,SUB,AND,OR,XOR}_FETCH_{1,2,4,8,16} and
28740 BUILT_IN_SYNC_{ADD,SUB,AND,OR,XOR}_AND_FETCH_{1,2,4,8,16},
28741 for *XOR* ones only if optimize_atomic_bit_test_and failed.
28742 * config/i386/sync.md (atomic_<plusminus_mnemonic>_fetch_cmp_0<mode>,
28743 atomic_<logic>_fetch_cmp_0<mode>): New define_expand patterns.
28744 (atomic_add_fetch_cmp_0<mode>_1, atomic_sub_fetch_cmp_0<mode>_1,
28745 atomic_<logic>_fetch_cmp_0<mode>_1): New define_insn patterns.
28746 * doc/md.texi (atomic_add_fetch_cmp_0<mode>,
28747 atomic_sub_fetch_cmp_0<mode>, atomic_and_fetch_cmp_0<mode>,
28748 atomic_or_fetch_cmp_0<mode>, atomic_xor_fetch_cmp_0<mode>): Document
28749 new named patterns.
28750
28751 2022-01-03 Richard Biener <rguenther@suse.de>
28752
28753 PR middle-end/103851
28754 * tree-cfg.c (move_sese_region_to_fn): Always release SSA names.
28755
28756 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28757
28758 PR c++/94716
28759 * symtab.c: Include fold-const.h.
28760 (symtab_node::equal_address_to): If folding_initializer is true,
28761 handle it like memory_accessed. Simplify.
28762
28763 2022-01-03 Martin Liska <mliska@suse.cz>
28764
28765 * doc/extend.texi: Use ; for function declarations.
28766
28767 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28768
28769 PR c++/103600
28770 * symtab.c (symtab_node::equal_address_to): Return 0 if one of
28771 VAR_DECLs has "non overlapping" attribute and rs1 != rs2.
28772
28773 2022-01-03 Jakub Jelinek <jakub@redhat.com>
28774
28775 * gcc.c (process_command): Update copyright notice dates.
28776 * gcov-dump.c (print_version): Ditto.
28777 * gcov.c (print_version): Ditto.
28778 * gcov-tool.c (print_version): Ditto.
28779 * gengtype.c (create_file): Ditto.
28780 * doc/cpp.texi: Bump @copying's copyright year.
28781 * doc/cppinternals.texi: Ditto.
28782 * doc/gcc.texi: Ditto.
28783 * doc/gccint.texi: Ditto.
28784 * doc/gcov.texi: Ditto.
28785 * doc/install.texi: Ditto.
28786 * doc/invoke.texi: Ditto.
28787
28788 2022-01-02 Uroš Bizjak <ubizjak@gmail.com>
28789
28790 PR target/103861
28791 * config/i386/i386.h (VALID_SSE2_REG_MODE): Add V2QImode.
28792 (VALID_INT_MODE_P): Ditto.
28793 * config/i386/i386.c (ix86_secondary_reload): Handle
28794 V2QImode reloads from SSE register to memory.
28795 (vector_mode_supported_p): Always return true for V2QImode.
28796 * config/i386/i386.md (*subqi_ext<mode>_2): New insn pattern.
28797 (*negqi_ext<mode>_2): Ditto.
28798 * config/i386/mmx.md (movv2qi): New expander.
28799 (movmisalignv2qi): Ditto.
28800 (*movv2qi_internal): New insn pattern.
28801 (*pushv2qi2): Ditto.
28802 (negv2qi2 and splitters): Ditto.
28803 (<plusminus:insn>v2qi3 and splitters): Ditto.
28804
28805 2022-01-02 John David Anglin <danglin@gcc.gnu.org>
28806
28807 * config/pa/pa.md (atomic_storeq): Use optab_libfunc to access
28808 sync_lock_test_and_set libfunc. Call convert_memory_address to
28809 convert memory address to Pmode.
28810 (atomic_storehi, atomic_storesi, atomic_storedi): Likewise.
28811
28812 \f
28813 Copyright (C) 2022 Free Software Foundation, Inc.
28814
28815 Copying and distribution of this file, with or without modification,
28816 are permitted in any medium without royalty provided the copyright
28817 notice and this notice are preserved.