]> gcc.gnu.org Git - gcc.git/blob - gcc/ChangeLog
Fix unwinding issues when pfe is enabled.
[gcc.git] / gcc / ChangeLog
1 2021-10-18 Michael Matz <matz@suse.de>
2
3 * final.c (get_some_local_dynamic_name): Call
4 emit_patchable_function_entry.
5 * varasm.c (emit_patchable_function_entry): New.
6
7 2019-11-14 Release Manager
8
9 * GCC 7.5.0 released.
10
11 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
12
13 Backport from mainline
14 2019-10-13 Iain Sandoe <iain@sandoe.co.uk>
15
16 * config/darwin.c (machopic_indirection_name): Rework the
17 function to emit linker-visible symbols only for indirections
18 in the data section. Clean up the code and update comments.
19
20 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
21
22 Backport from mainline
23 2019-10-09 Iain Sandoe <iain@sandoe.co.uk>
24
25 * config/darwin.c (darwin_override_options): Make the check for
26 Objective-C ABI version more specific for 64bit code.
27
28 Backport from mainline
29 2019-10-06 Iain Sandoe <iain@sandoe.co.uk>
30
31 * config/darwin.c (darwin_override_options): Adjust objective-c
32 ABI version error messages to avoid punctuation and contracted
33 negations.
34
35 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
36
37 Backport from mainline
38 2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
39
40 * config/darwin.h (REAL_LIBGCC_SPEC): Adjust for earlier Darwin.
41 (STARTFILE_SPEC): Split crt3 into a separate spec.
42 (DARWIN_EXTRA_SPECS): Add crt2 and crt3 spec.
43 (DARWIN_CRT2_SPEC): New.
44 (DARWIN_CRT3_SPEC): New.
45 (MIN_LD64_OMIT_STUBS): Revise to 62.1.
46 * config/rs6000/darwin.h (DARWIN_CRT2_SPEC): Revise conditions.
47 (DARWIN_CRT3_SPEC): New.
48
49 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
50
51 Backport from mainline
52 2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
53
54 * config/rs6000/darwin.h (ENDFILE_SPEC): Correct whitespace in the
55 spec.
56
57 Backport from mainline
58 2019-06-25 Iain Sandoe <iain@sandoe.co.uk>
59
60 * config/rs6000/darwin.h (ENDFILE_SPEC): New.
61
62 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
63
64 Backport from mainline
65 2019-06-18 Iain Sandoe <iain@sandoe.co.uk>
66
67 * config/darwin.c (darwin_emit_unwind_label): New default to false.
68 (darwin_override_options): Set darwin_emit_unwind_label as needed.
69
70 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
71
72 Backport from mainline
73 2019-08-13 Iain Sandoe <iain@sandoe.co.uk>
74
75 * config/darwin.c (machopic_indirect_call_target): Rename symbol stub
76 flag.
77 (darwin_override_options): Likewise.
78 * config/darwin.h: Likewise.
79 * config/darwin.opt: Likewise.
80 * config/i386/i386.c (output_pic_addr_const): Likewise.
81 * config/rs6000/darwin.h: Likewise.
82 * config/rs6000/rs6000.c (rs6000_call_darwin_1): Likewise.
83 * config/i386/darwin.h (TARGET_MACHO_PICSYM_STUBS): Rename to ...
84 ... this TARGET_MACHO_SYMBOL_STUBS.
85 (FUNCTION_PROFILER):Likewise.
86 * config/i386/i386.h: Likewise.
87
88 Backport from mainline
89 2019-06-16 Iain Sandoe <iain@sandoe.co.uk>
90
91 * config/darwin.c (machopic_indirect_call_target): Use renamed
92 darwin_picsymbol_stubs to decide on output.
93 (darwin_override_options): Handle darwin_picsymbol_stubs.
94 * config/darwin.h (MIN_LD64_OMIT_STUBS): New.
95 (LD64_VERSION): Revise default.
96 * config/darwin.opt: (mpic-symbol-stubs): New option.
97 (darwin_picsymbol_stubs): New variable.
98 * config/i386/darwin.h (TARGET_MACHO_BRANCH_ISLANDS):
99 rename to TARGET_MACHO_PICSYM_STUBS.
100 * config/i386/i386.c (output_pic_addr_const): Likewise.
101 * config/i386/i386.h Likewise.
102 * config/rs6000/darwin.h: Likewise.
103 * config/rs6000/rs6000.c (rs6000_call_darwin_1): Use renamed
104 darwin_picsymbol_stubs.
105
106 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
107
108 Backport from mainline
109 2019-06-28 Iain Sandoe <iain@sandoe.co.uk>
110
111 * config.gcc (powerpc-*-darwin*, powerpc64-*-darwin*): Remove
112 override on extra_headers.
113
114 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
115
116 Backport from mainline
117 2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
118
119 * config/rs6000/rs6000.c (darwin_rs6000_override_options): Honour
120 user-specified float mode choice for kernel mode code.
121
122 2019-11-01 Iain Sandoe <iain@sandoe.co.uk>
123
124 Backport from mainline
125 2019-06-23 Iain Sandoe <iain@sandoe.co.uk>
126
127 * config/rs6000/darwin.h: Handle GCC target pragma.
128
129 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
130
131 Backport from mainline
132 2019-10-17 Iain Sandoe <iain@sandoe.co.uk>
133
134 PR target/65342
135 * config/rs6000/darwin.md (movdi_low, movsi_low_st): Delete.
136 (movdi_low_st): Delete.
137 * config/rs6000/rs6000.c
138 (darwin_rs6000_legitimate_lo_sum_const_p): New.
139 (mem_operand_gpr): Validate Mach-O LO_SUM cases separately.
140 * config/rs6000/rs6000.md (movsi_low): Delete.
141
142 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
143
144 Backport from mainline
145 2019-10-12 Iain Sandoe <iain@sandoe.co.uk>
146
147 PR target/67183
148 * config/darwin.c (machopic_indirection): New field to flag
149 non-lazy-symbol-pointers in the data section.
150 (machopic_indirection_name): Compute if an indirection should
151 appear in the data section.
152 (machopic_output_data_section_indirection): New callback split
153 from machopic_output_indirection.
154 (machopic_output_stub_indirection): Likewise.
155 (machopic_output_indirection): Retain the code for non-lazy
156 symbol pointers in their regular section.
157 (machopic_finish): Use the new callbacks to order the indirection
158 output.
159
160 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
161
162 Backport from mainline
163 2019-10-12 Iain Sandoe <iain@sandoe.co.uk>
164
165 * config/darwin-protos.h (machopic_finish): Delete.
166 * config/darwin.c (machopic_finish): Make static.
167
168 Backport from mainline
169 2019-10-09 Iain Sandoe <iain@sandoe.co.uk>
170
171 * config/darwin.c (machopic_indirect_data_reference): Set flag to
172 indicate that the new symbol is an indirection.
173 (machopic_indirect_call_target): Likewise.
174 * config/darwin.h (MACHO_SYMBOL_FLAG_INDIRECTION): New.
175 (MACHO_SYMBOL_INDIRECTION_P): New.
176 (MACHO_SYMBOL_FLAG_STATIC): Adjust bit number.
177
178 Backport from mainline
179 2019-10-08 Iain Sandoe <iain@sandoe.co.uk>
180
181 * config/darwin.c (machopic_indirect_data_reference): Check for
182 required indirections before making direct access to defined
183 values.
184 (machopic_output_indirection): Place the indirected pointes for
185 required indirections into the non-lazy symbol pointers section.
186 (darwin_encode_section_info):
187 * config/darwin.h (MACHO_SYMBOL_FLAG_MUST_INDIRECT): New.
188 (MACHO_SYMBOL_MUST_INDIRECT_P): New.
189
190 Backport from mainline
191 2019-10-07 Iain Sandoe <iain@sandoe.co.uk>
192
193 * config/darwin.c (machopic_output_indirection): Don't put
194 hidden symbol indirections into the .data section, use the
195 non-lazy symbol pointers section as normal.
196 (darwin_encode_section_info): Record if a symbol is hidden.
197 * config/darwin.h (MACHO_SYMBOL_FLAG_HIDDEN_VIS): New.
198 (MACHO_SYMBOL_HIDDEN_VIS_P): New.
199
200 Backport from mainline
201 2019-10-07 Iain Sandoe <iain@sandoe.co.uk>
202
203 * config/darwin.c (machopic_symbol_defined_p): Use symbol flag
204 predicates instead of accessing bits directly.
205 (machopic_indirect_call_target): Likewise.
206 (machopic_output_indirection): Likewise.
207 (darwin_encode_section_info): Improve description. Use renamed
208 symbol flags. Use predicate macros for variables and functions.
209 * config/darwin.h:
210 Rename MACHO_SYMBOL_VARIABLE to MACHO_SYMBOL_FLAG_VARIABLE.
211 Rename MACHO_SYMBOL_DEFINED to MACHO_SYMBOL_FLAG_DEFINED.
212 Rename MACHO_SYMBOL_STATIC to MACHO_SYMBOL_FLAG_STATIC.
213 (MACHO_SYMBOL_VARIABLE_P): New.
214 (MACHO_SYMBOL_DEFINED_P):New.
215 (MACHO_SYMBOL_STATIC_P): New.
216 * config/i386/darwin.h (MACHO_SYMBOL_FLAG_VARIABLE): Delete.
217 (SYMBOL_FLAG_SUBT_DEP): New.
218 * config/rs6000/darwin.h (SYMBOL_FLAG_SUBT_DEP): New.
219
220 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
221
222 Backport from mainline
223 2019-10-05 Iain Sandoe <iain@sandoe.co.uk>
224
225 PR target/59888
226 * config/darwin.c (darwin_rodata_section): Add relocation flag,
227 choose const_data section for constants with relocations.
228 (machopic_select_section): Pass relocation flag to
229 darwin_rodata_section ().
230
231 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
232
233 Backport from mainline
234 2019-09-21 Iain Sandoe <iain@sandoe.co.uk>
235
236 * config/darwin.c (machopic_legitimize_pic_address): Check
237 for lra, rather than reload.
238
239 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
240
241 Backport from mainline
242 2019-10-03 Iain Sandoe <iain@sandoe.co.uk>
243
244 PR target/87243
245 * config/darwin-driver.c (maybe_get_sysroot_from_sdkroot): New.
246 (darwin_driver_init): Use the sysroot provided by SDKROOT when that
247 is available and the user has not set one on the command line.
248
249 2019-10-29 Iain Sandoe <iain@sandoe.co.uk>
250
251 Backport from mainline
252 2019-07-03 Iain Sandoe <iain@sandoe.co.uk>
253
254 * config/darwin.h (DRIVER_SELF_SPECS): Remove the linker cases.
255 (RDYNAMIC): Rename to, DARWIN_RDYNAMIC.
256 (DARWIN_PIE_SPEC, DARWIN_NOPIE_SPEC): Adjust to remove the Xlinker
257 clauses.
258 (LINK_COMMAND_SPEC_A): Add DARWIN_RDYNAMIC, DARWIN_PIE_SPEC and
259 DARWIN_NOPIE_SPEC.
260
261 Backport from mainline
262 2019-06-19 Iain Sandoe <iain@sandoe.co.uk>
263
264 * config/darwin.h (DRIVER_SELF_SPECS): Add RDYNAMIC, DARWIN_PIE_SPEC
265 and DARWIN_NOPIE_SPEC.
266 (RDYNAMIC): New, modified from DARWIN_EXPORT_DYNAMIC.
267 (DARWIN_PIE_SPEC): Collate from darwin.h and darwin9.h.
268 (DARWIN_NOPIE_SPEC): Collate from darwin10.h.
269 (DARWIN_NOCOMPACT_UNWIND): New from darwin10.h
270 (DARWIN_EXPORT_DYNAMIC): Delete.
271 * config/darwin10.h (LINK_GCC_C_SEQUENCE_SPEC): Move no_compact_unwind
272 and pie options processing to darwin.h.
273 * config/darwin9.h (DARWIN_PIE_SPEC): Move pie processing to darwin.h
274
275 2019-10-25 Richard Earnshaw <rearnsha@arm.com>
276
277 Backport from mainline
278 2019-05-08 Mihail Ionescu <mihail.ionescu@arm.com>
279 Richard Earnshaw <rearnsha@arm.com>
280 PR target/88167
281 * config/arm/arm.c (thumb1_prologue_unused_call_clobbered_lo_regs): New
282 function.
283 (thumb1_epilogue_unused_call_clobbered_lo_regs): New function.
284 (thumb1_compute_save_core_reg_mask): Don't force a spare work
285 register if both the epilogue and prologue can use call-clobbered
286 regs.
287 (thumb1_unexpanded_epilogue): Use
288 thumb1_epilogue_unused_call_clobbered_lo_regs. Reverse the logic for
289 picking temporaries for restoring high regs to match that of the
290 prologue where possible.
291 (thumb1_expand_prologue): Add any usable call-clobbered low registers to
292 the list of work registers. Detect if the return address is still live
293 at the end of the prologue and avoid using it for a work register if so.
294 If the return address is not live, add LR to the list of pushable regs
295 after the first pass.
296
297 2019-10-24 Richard Biener <rguenther@suse.de>
298
299 Backport from mainline
300 2019-10-17 Richard Biener <rguenther@suse.de>
301
302 PR debug/91887
303 * dwarf2out.c (gen_formal_parameter_die): Also try to match
304 context_die against a DW_TAG_GNU_formal_parameter_pack parent.
305
306 2019-09-19 Richard Biener <rguenther@suse.de>
307
308 PR tree-optimization/91812
309 * tree-ssa-phiprop.c (propagate_with_phi): Do not replace
310 volatile loads.
311
312 2019-10-23 Eric Botcazou <ebotcazou@adacore.com>
313
314 PR tree-optimization/92131
315 * tree-vrp.c (extract_range_from_plus_minus_expr): If the resulting
316 range would be symbolic, drop to varying for any explicit overflow
317 in the constant part or if neither range is a singleton.
318
319 2019-10-18 Georg-Johann Lay <avr@gjlay.de>
320
321 Backport from trunk
322 2019-10-18 Georg-Johann Lay <avr@gjlay.de>
323
324 PR target/86040
325 * config/avr/avr.c (avr_out_lpm): Do not shortcut-return.
326
327 2019-10-17 Segher Boessenkool <segher@kernel.crashing.org>
328
329 Backport from trunk
330 2019-03-15 Segher Boessenkool <segher@kernel.crashing.org>
331
332 PR rtl-optimization/89721
333 * lra-constraints (invariant_p): Return false if side_effects_p holds.
334
335 2019-10-17 Richard Earnshaw <rearnsha@arm.com>
336
337 Backport from mainline
338 2019-05-03 Richard Earnshaw <rearnsha@arm.com>
339
340 PR target/89400
341 * config/arm/arm.md (unaligned_loadsi): Add variant for thumb1.
342 Restrict 'all' variant to 32-bit configurations.
343 (unaligned_loadhiu): Likewise.
344 (unaligned_storehi): Likewise.
345 (unaligned_storesi): Likewise.
346 (unaligned_loadhis): Disable when compiling for thumb1.
347
348 2019-10-16 Peter Bergner <bergner@linux.ibm.com>
349
350 Backport from mainline
351 2019-10-08 Tulio Magno Quites Machado Filho <tuliom@linux.ibm.com>
352
353 * config.gcc: Move -L usage from LINK_OS_EXTRA_SPEC32 and
354 LINK_OS_EXTRA_SPEC64 to MD_STARTFILE_PREFIX and
355 MD_STARTFILE_PREFIX_1 when using --with-advance-toolchain.
356
357 2019-10-11 Oleg Endo <olegendo@gcc.gnu.org>
358
359 Backport from mainline
360 2019-10-10 Oleg Endo <olegendo@gcc.gnu.org>
361
362 PR target/88630
363 * config/sh/sh.h (TARGET_FPU_SH4_300): New macro.
364 * config/sh/sh.c (sh_option_override): Enable fsca and fsrra insns
365 also for TARGET_FPU_SH4_300.
366 (sh_emit_mode_set): Check for TARGET_FPU_SH4_300 instead of
367 TARGET_SH4_300.
368 * config/sh/sh.md (toggle_pr): Add TARGET_FPU_SH4_300 condition.
369 (negsf2): Expand to either negsf2_fpscr or negsf2_no_fpscr.
370 (*negsf2_i): Split into ...
371 (negsf2_fpscr, negsf2_no_fpscr): ... these new patterns.
372 (abssf2): Expand to either abssf2_fpsc or abssf2_no_fpsc.
373 (**abssf2_i): Split into ...
374 (abssf2_fpscr, abssf2_no_fpscr): ... these new patterns.
375 (negdf2): Expand to either negdf2_fpscr or negdf2_no_fpscr.
376 (*negdf2_i): Split into ...
377 (negdf2_fpscr, negdf2_no_fpscr): ... these new patterns.
378 (absdf2): Expand to either absdf2_fpscr or absdf2_no_fpsc.
379 (**abssf2_i): Split into ...
380 (absdf2_fpscr, absdf2_no_fpscr): ... these new patterns.
381
382 2019-10-07 Bill Schmidt <wschmidt@linux.ibm.com>
383
384 Backport from mainline
385 2019-10-01 Bill Schmidt <wschmidt@linux.ibm.com>
386
387 PR target/91275
388 * config/rs6000/rs6000.c (rtx_is_swappable_p): Don't swap
389 vpmsumd.
390
391 2019-10-01 Oleg Endo <olegendo@gcc.gnu.org>
392
393 Backport from mainline
394
395 2019-10-01 Oleg Endo <olegendo@gcc.gnu.org>
396
397 PR target/88562
398 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Use
399 sh_check_add_incdec_notes to preserve REG_INC notes when replacing
400 a memory access insn.
401
402 2019-09-28 Iain Sandoe <iain@sandoe.co.uk>
403
404 Backport from mainline.
405 2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
406
407 PR target/82920
408 * config/i386/darwin.h (CC1_SPEC): Report -mx32 as an error for
409 Darwin.
410
411 2019-09-28 Iain Sandoe <iain@sandoe.co.uk>
412
413 Backport from mainline.
414 2019-05-12 Iain Sandoe <iain@sandoe.co.uk>
415
416 PR target/82920
417 * config/i386/i386.c (ix86_output_jmp_thunk_or_indirect): New.
418 (ix86_output_indirect_branch_via_reg): Use output mechanism
419 accounting for __USER_LABEL_PREFIX__.
420 (ix86_output_indirect_branch_via_push): Likewise.
421 (ix86_output_function_return): Likewise.
422 (ix86_output_indirect_function_return): Likewise.
423
424 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
425
426 Backport from mainline
427 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
428
429 PR target/80672
430 * config/sh/sh.c (parse_validate_atomic_model_option): Use
431 std::string::compare instead of std::string::find.
432
433 2019-09-28 Oleg Endo <olegendo@gcc.gnu.org>
434
435 Backport from mainline
436 2018-07-15 Jeff Law <law@redhat.com>
437
438 PR target/85993
439 * config/sh/sh.c (output_mi_thunk): Remove dead conditional
440 block.
441
442 2019-09-27 Iain Sandoe <iain@sandoe.co.uk>
443
444 Backport from mainline
445 2019-06-16 Iain Sandoe <iain@sandoe.co.uk>
446
447 * config/darwin.opt (prebind, noprebind, seglinkedit,
448 noseglinkedit): Add RejectNegative.
449
450 Backport from mainline
451 2019-06-14 Iain Sandoe <iain@sandoe.co.uk>
452
453 * config/darwin.opt: Add RejectNegative where needed, reorder
454 and add minimal functional descriptions.
455
456 2019-09-23 Max Filippov <jcmvbkbc@gmail.com>
457
458 Backport from mainline
459 2019-06-18 Max Filippov <jcmvbkbc@gmail.com>
460
461 * config/xtensa/xtensa.c (xtensa_expand_prologue): Add stack
462 pointer adjustment for the case of no callee-saved registers and
463 stack frame bigger than 128 bytes.
464
465 2019-09-20 John David Anglin <danglin@gcc.gnu.org>
466
467 * config/pa/pa.c (pa_trampoline_init): Remove spurious extended
468 characters.
469
470 2019-09-20 Andreas Krebbel <krebbel@linux.ibm.com>
471
472 Backport from mainline
473 2019-06-06 Andreas Krebbel <krebbel@linux.ibm.com>
474
475 PR rtl-optimization/88751
476 * ira.c (ira): Use the number of the actually referenced registers
477 when calculating the threshold.
478
479 2019-09-11 Eric Botcazou <ebotcazou@adacore.com>
480
481 PR rtl-optimization/89795
482 * rtlanal.c (nonzero_bits1) <SUBREG>: Do not propagate results from
483 inner REGs to paradoxical SUBREGs if WORD_REGISTER_OPERATIONS is set.
484
485 2019-09-09 Jakub Jelinek <jakub@redhat.com>
486
487 PR target/87853
488 * config/i386/emmintrin.h (_mm_cmpeq_epi8): Use casts to __v16qi
489 instead of __v16qs.
490
491 PR target/91704
492 * config/i386/avxintrin.h (__v32qs): New typedef.
493 * config/i386/avx2intrin.h (_mm256_cmpgt_epi8): Use casts to __v32qs
494 instead of __v32qi.
495
496 2019-09-08 Iain Sandoe <iain@sandoe.co.uk>
497
498 Backport from mainline
499 2018-12-23 Iain Sandoe <iain@sandoe.co.uk>
500
501 * config/i386/darwin.h (TARGET_ASM_OUTPUT_IDENT): New.
502
503 2019-08-22 Iain Sandoe <iain@sandoe.co.uk>
504
505 Backport from mainline
506 2019-05-31 Iain Sandoe <iain@sandoe.co.uk>
507
508 * config/i386/darwin.h (ASM_OUTPUT_MAX_SKIP_ALIGN): New.
509
510 2019-09-05 Iain Sandoe <iain@sandoe.co.uk>
511
512 Backport from mainline
513 2019-08-18 Iain Sandoe <iain@sandoe.co.uk>
514
515 * config/rs6000/darwin.h (TARGET_OS_CPP_BUILTINS): Add asserts
516 for cpu and machine. Factor 64/32b builtins.
517
518 Backport from mainline
519 2019-06-23 Iain Sandoe <iain@sandoe.co.uk>
520
521 * config/rs6000/darwin.h: (__PPC__, __PPC64__): New.
522
523 2019-09-05 Iain Sandoe <iain@sandoe.co.uk>
524
525 Backport from mainline
526 2019-08-23 Iain Sandoe <iain@sandoe.co.uk>
527
528 PR pch/61250
529 * ggc-page.c (ggc_pch_read): Read the ggc_pch_ondisk structure
530 and issue any diagnostics needed before collecting the pre-PCH
531 state.
532
533 2019-09-05 Iain Sandoe <iain@sandoe.co.uk>
534
535 Backport from mainline
536 2019-07-24 Iain Sandoe <iain@sandoe.co.uk>
537
538 PR bootstrap/87030
539 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Revert change from r273749.
540
541 PR bootstrap/87030
542 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move from here...
543 * config/i386/darwin32-biarch.h .. to here.
544 * config/i386/darwin64-biarch.h: Adjust comments.
545 * config/rs6000/darwin32-biarch.h: Likewise.
546 * config/rs6000/darwin64-biarch.h: Likewise.
547 * config.gcc: Missed commit from r273746
548 (*-*-darwin*): Don't include CPU t-darwin here.
549 (i[34567]86-*-darwin*): Adjust to use biarch files. Produce
550 an error message if i686-darwin configuration is attempted for
551 Darwin >= 18.
552
553 Backport from mainline
554 2019-07-23 Iain Sandoe <iain@sandoe.co.uk>
555
556 PR bootstrap/87030
557 * config.gcc (*-*-darwin*): Don't include CPU t-darwin here.
558 (i[34567]86-*-darwin*): Adjust to use biarch files. Produce
559 an error message if i686-darwin configuration is attempted for
560 Darwin >= 18.
561 (x86_64-*-darwin*): Switch to single multilib for Darwin >= 18.
562 (powerpc-*-darwin*): Use biarch files where needed.
563 (powerpc64-*-darwin*): Likewise.
564 * config/i386/darwin.h (REAL_LIBGCC_SPEC): Move to new biarch file.
565 (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
566 arch case.
567 * config/i386/darwin32-biarch.h: New.
568 * config/i386/darwin64.h: Rename.
569 * gcc/config/i386/darwin64-biarch.h: To this.
570 * config/i386/t-darwin: Rename.
571 * gcc/config/i386/t-darwin32-biarch: To this.
572 * config/i386/t-darwin64: Rename.
573 * gcc/config/i386/t-darwin64-biarch: To this.
574 * config/rs6000/darwin32-biarch.h: New.
575 * config/rs6000/darwin64.h: Rename.
576 * config/rs6000/darwin64-biarch.h: To this.
577 (DARWIN_ARCH_SPEC, DARWIN_SUBARCH_SPEC): Revise for default single
578 arch case.
579 * config/rs6000/t-darwin8: Rename.
580 * config/rs6000/t-darwin32-biarch: To this.
581 * config/rs6000/t-darwin64 Rename.
582 * config/rs6000/t-darwin64-biarch: To this.
583
584 2019-09-05 Richard Biener <rguenther@suse.de>
585
586 * lto-streamer.h (LTO_minor_version): Bump.
587
588 Backport from mainline
589 2019-05-06 Richard Biener <rguenther@suse.de>
590
591 PR tree-optimization/90328
592 * tree-data-ref.h (dr_may_alias_p): Pass in the actual loop nest.
593 * tree-data-ref.c (dr_may_alias_p): Check whether the clique
594 is valid in the loop nest before using it.
595 (initialize_data_dependence_relation): Adjust.
596 * graphite-scop-detection.c (build_alias_set): Pass the SCOP enclosing
597 loop as loop-nest to dr_may_alias_p.
598
599 2019-03-08 Richard Biener <rguenther@suse.de>
600
601 PR middle-end/89578
602 * cfgloop.h (struct loop): Add owned_clique field.
603 * cfgloopmanip.c (copy_loop_info): Copy it.
604 * tree-cfg.c (gimple_duplicate_bb): Do not remap owned_clique
605 cliques.
606 * tree-inline.c (copy_loops): Remap owned_clique.
607 * lto-streamer-in.c (input_cfg): Stream owned_clique.
608 * lto-streamer-out.c (output_cfg): Likewise.
609
610 2019-02-22 Richard Biener <rguenther@suse.de>
611
612 PR tree-optimization/87609
613 * tree-cfg.c (gimple_duplicate_bb): Only remap inlined cliques.
614
615 2019-02-22 Richard Biener <rguenther@suse.de>
616
617 PR middle-end/87609
618 * cfghooks.h (dependence_hash): New typedef.
619 (struct copy_bb_data): New type.
620 (cfg_hooks::duplicate_block): Adjust to take a copy_bb_data argument.
621 (duplicate_block): Likewise.
622 * cfghooks.c (duplicate_block): Pass down copy_bb_data.
623 (copy_bbs): Create and pass down copy_bb_data.
624 * cfgrtl.c (cfg_layout_duplicate_bb): Adjust.
625 (rtl_duplicate_bb): Likewise.
626 * tree-cfg.c (gimple_duplicate_bb): If the copy_bb_data arg is not NULL
627 remap dependence info.
628
629 2019-02-22 Richard Biener <rguenther@suse.de>
630
631 PR tree-optimization/87609
632 * tree-core.h (tree_base): Document special clique values.
633 * tree-inline.c (remap_dependence_clique): Do not use the
634 special clique value of one.
635 (maybe_set_dependence_info): Use clique one.
636 (clear_dependence_clique): New callback.
637 (compute_dependence_clique): Clear clique one from all refs
638 before assigning it (again).
639
640 2019-08-27 Iain Sandoe <iain@sandoe.co.uk>
641
642 Backport from mainline
643 2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
644
645 * config/darwin.c (darwin_override_options): Make a final check on PIC
646 options.
647
648 2019-09-04 Iain Sandoe <iain@sandoe.co.uk>
649
650 Backport from mainline
651 2019-07-07 Iain Sandoe <iain@sandoe.co.uk>
652 * config/darwin.c (darwin_override_options): Don't jam symbol stubs
653 on for kernel code.
654
655 2019-09-04 Iain Sandoe <iain@sandoe.co.uk>
656
657 Backport from mainline
658 2019-06-27 Iain Sandoe <iain@sandoe.co.uk>
659
660 * config/rs6000/rs6000.c (darwin_rs6000_override_options): Do not
661 use longcall for 64b code.
662
663 2019-09-04 Iain Sandoe <iain@sandoe.co.uk>
664
665 Backport from mainline
666 2019-06-19 Iain Sandoe <iain@sandoe.co.uk>
667
668 * config/darwin-driver.c (darwin_driver_init): Fix off-by-one errors
669 in computing the number of options to be moved.
670
671 Backport from mainline
672 2019-06-13 Iain Sandoe <iain@sandoe.co.uk>
673
674 * config/darwin-driver.c (validate_macosx_version_min): New.
675 (darwin_default_min_version): Cleanup and validate supplied version.
676 (darwin_driver_init): Likewise and push cleaned version into opts.
677
678 2019-09-04 Richard Biener <rguenther@suse.de>
679
680 Backport from mainline
681 2019-03-26 Bin Cheng <bin.cheng@linux.alibaba.com>
682
683 PR tree-optimization/81740
684 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence):
685 In case of outer loop vectorization, check for backward dependence
686 at the inner loop if outer loop dependence is reversed.
687
688 2019-09-04 Richard Biener <rguenther@suse.de>
689
690 Backport from mainline
691 2018-11-23 Richard Biener <rguenther@suse.de>
692
693 PR tree-optimization/88149
694 * tree-vect-slp.c (vect_slp_analyze_node_operations): Detect
695 the case where there are two different def types for the
696 same operand at different operand position in the same stmt.
697
698 2019-09-04 Richard Biener <rguenther@suse.de>
699
700 Backport from mainline
701 2019-04-09 Richard Sandiford <richard.sandiford@arm.com>
702
703 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Always
704 use gimple_expr_type for load and store calls. Skip over the
705 condition argument in a conditional internal function.
706 Protect use of TREE_INT_CST_LOW.
707
708 2019-04-08 Richard Biener <rguenther@suse.de>
709
710 PR tree-optimization/90006
711 * tree-vect-data-refs.c (vect_get_smallest_scalar_type): Handle
712 calls like lrint.
713
714 2019-03-14 Richard Biener <rguenther@suse.de>
715
716 PR middle-end/89698
717 * fold-const.c (operand_equal_p): For INDIRECT_REF check
718 that the access types are similar.
719
720 2019-01-18 Richard Biener <rguenther@suse.de>
721
722 PR tree-optimization/88903
723 * tree-vect-stmts.c (vectorizable_shift): Verify we see all
724 scalar stmts a SLP shift amount is composed of when detecting
725 shifts by scalars.
726
727 2018-12-11 Richard Biener <rguenther@suse.de>
728
729 PR middle-end/88448
730 PR middle-end/88415
731 * tree-complex.c (update_complex_assignment): Properly transfer
732 or clean EH info around gimple_assign_set_rhs_with_ops.
733
734 2018-11-15 Richard Biener <rguenther@suse.de>
735
736 PR tree-optimization/88030
737 * tree-complex.c (need_eh_cleanup): New global.
738 (update_complex_assignment): Mark blocks that need EH update.
739 (expand_complex_comparison): Likewise.
740 (tree_lower_complex): Allocate and deallocate need_eh_cleanup,
741 perform EH cleanup and schedule CFG cleanup if that did anything.
742
743 2018-11-08 Richard Biener <rguenther@suse.de>
744
745 PR tree-optimization/87929
746 * tree-complex.c (expand_complex_comparison): Clean EH.
747
748 2017-07-25 Eric Botcazou <ebotcazou@adacore.com>
749
750 * gimple.c (gimple_assign_set_rhs_with_ops): Do not ask gsi_replace
751 to update EH info here.
752
753 2019-09-03 Iain Sandoe <iain@sandoe.co.uk>
754
755 Backport from mainline
756 2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
757
758 * config/darwin-c.c (darwin_register_objc_includes): Do not
759 prepend the sysroot when building gnu-runtime header search
760 paths.
761
762 2019-09-03 Iain Sandoe <iain@sandoe.co.uk>
763
764 Backport from mainline
765 2019-05-18 Iain Sandoe <iain@sandoe.co.uk>
766
767 * config/darwin.c (darwin_file_end): Use switch_to_section ()
768 instead of direct output of the asm.
769
770 2019-09-03 Iain Sandoe <iain@sandoe.co.uk>
771
772 Backport from mainline
773 2018-08-22 Iain Sandoe <iain@sandoe.co.uk>
774
775 * config/darwin.h (LINK_COMMAND_SPEC_A): Update lto options
776 to match gcc/gcc.c.
777
778 2019-09-02 Richard Biener <rguenther@suse.de>
779
780 Backport from mainline
781 2019-03-14 Richard Biener <rguenther@suse.de>
782
783 PR tree-optimization/89710
784 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): Use
785 safe_dyn_cast.
786
787 2019-03-14 Richard Biener <rguenther@suse.de>
788
789 PR middle-end/89572
790 * tree-scalar-evolution.c (get_loop_exit_condition): Use
791 safe_dyn_cast.
792 * tree-ssa-loop-ivcanon.c (canonicalize_loop_induction_variables):
793 Use gimple_location_safe.
794
795 2019-02-18 Richard Biener <rguenther@suse.de>
796
797 PR tree-optimization/89296
798 * tree-ssa-loop-ch.c (ch_base::copy_headers): Restrict setting
799 of no-warning flag to cases that might emit the bogus warning.
800
801 2019-01-31 Richard Biener <rguenther@suse.de>
802
803 PR tree-optimization/89135
804 * tree-ssa-phiprop.c (pass_phiprop::execute): Skip blocks
805 with abnormal preds.
806
807 2019-09-02 Richard Biener <rguenther@suse.de>
808
809 Backport from mainline
810 2019-07-19 Richard Biener <rguenther@suse.de>
811
812 PR tree-optimization/91200
813 * tree-ssa-phiopt.c (cond_store_replacement): Check we have
814 no PHI nodes in middle-bb.
815
816 2019-07-15 Richard Biener <rguenther@suse.de>
817
818 PR middle-end/91162
819 * tree-cfg.c (move_block_to_fn): When releasing a virtual PHI
820 node make sure to replace all uses with something valid.
821
822 2019-07-11 Richard Biener <rguenther@suse.de>
823
824 PR middle-end/91131
825 * gimplify.c (gimplify_compound_literal_expr): Force a temporary
826 when the object is volatile and we have not cleared it even though
827 there are no nonzero elements.
828
829 2019-07-10 Richard Biener <rguenther@suse.de>
830
831 PR tree-optimization/91126
832 * tree-ssa-sccvn.c (n_walk_cb_data::push_partial_def): Adjust
833 native encoding offset for BYTES_BIG_ENDIAN.
834 (vn_reference_lookup_3): Likewise.
835
836 2019-07-10 Richard Biener <rguenther@suse.de>
837
838 PR tree-optimization/91126
839 * tree-ssa-sccvn.c (vn_reference_lookup_3): Adjust
840 native encoding offset for BYTES_BIG_ENDIAN.
841
842 2019-04-29 Richard Biener <rguenther@suse.de>
843
844 PR tree-optimization/90278
845 * tree-ssa-forwprop.c (pass_forwprop::execute): Transfer/clean
846 EH on comparison simplification.
847
848 2019-04-11 Richard Biener <rguenther@suse.de>
849
850 PR tree-optimization/90020
851 * tree-ssa-sccvn.c (vn_reference_may_trap): New function.
852 * tree-ssa-sccvn.h (vn_reference_may_trap): Declare.
853 * tree-ssa-pre.c (compute_avail): Use it to not put
854 possibly trapping references after a call that might not
855 return into EXP_GEN.
856 * gcse.c (compute_hash_table_work): Do not elide
857 marking a block containing a call if the call might not
858 return.
859
860 2019-09-02 Bin Cheng <bin.linux@linux.alibaba.com>
861
862 Backport from mainline
863 2019-07-18 Bin Cheng <bin.linux@linux.alibaba.com>
864
865 PR tree-optimization/91137
866 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field.
867 (tree_ssa_iv_optimize_init, alloc_iv, tree_ssa_iv_optimize_finalize):
868 Init, use and fini the above new field.
869 (determine_base_object_1): New function.
870 (determine_base_object): Reimplement using walk_tree.
871
872 2019-08-30 Richard Biener <rguenther@suse.de>
873
874 Backport from mainline
875 2019-05-27 Richard Biener <rguenther@suse.de>
876
877 PR tree-optimization/90637
878 * tree-ssa-sink.c (statement_sink_location): Honor the
879 computed sink location for single-uses.
880
881 * gcc.dg/gomp/pr90637.c: New testcase.
882
883 2019-06-21 Richard Biener <rguenther@suse.de>
884
885 PR tree-optimization/90930
886 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Set visited
887 flag on new stmts to avoid re-processing them.
888
889 2019-04-25 Richard Biener <rguenther@suse.de>
890
891 PR middle-end/90194
892 * match.pd: Add pattern to simplify view-conversion of an
893 empty constructor.
894
895 2019-04-24 Richard Biener <rguenther@suse.de>
896
897 PR middle-end/90213
898 * gimple-fold.c (fold_const_aggregate_ref_1): Do multiplication
899 by size and BITS_PER_UNIT on poly-wide-ints.
900
901 2019-04-15 Richard Biener <rguenther@suse.de>
902
903 PR tree-optimization/90071
904 * tree-ssa-reassoc.c (init_range_entry): Do not pick up
905 abnormal operands from def stmts.
906
907 2019-03-13 Richard Biener <rguenther@suse.de>
908
909 PR middle-end/89677
910 * tree-scalar-evolution.c (simplify_peeled_chrec): Do not
911 throw FP expressions at tree-affine.
912
913 2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
914
915 Backport from trunk
916 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org>
917
918 PR target/91481
919 * config/rs6000/rs6000.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
920 and UNSPEC_DARN_RAW.
921 (unspecv): New enumerator values UNSPECV_DARN, UNSPECV_DARN_32, and
922 UNSPECV_DARN_RAW.
923 (darn_32): Use an unspec_volatile, and UNSPECV_DARN_32.
924 (darn_raw): Use an unspec_volatile, and UNSPECV_DARN_RAW.
925 (darn): Use an unspec_volatile, and UNSPECV_DARN.
926
927 2019-08-30 Segher Boessenkool <segher@kernel.crashing.org>
928
929 Backport from trunk
930 2019-08-22 Segher Boessenkool <segher@kernel.crashing.org>
931
932 * config/rs6000/altivec.md (unspec): Delete UNSPEC_DARN, UNSPEC_DARN_32,
933 UNSPEC_DARN_RAW, UNSPEC_CMPRB, UNSPEC_CMPRB2, UNSPEC_CMPEQB; move to...
934 * config/rs6000/rs6000.md (unspec): ... here.
935 * config/rs6000/altivec.md (darn_32, darn_raw, darn, cmprb,
936 *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
937 cmpeqb, *cmpeqb_internal): Delete, move to...
938 * config/rs6000/rs6000.md (darn_32, darn_raw, darn, cmprb,
939 *cmprb_internal, setb_signed, setb_unsigned, cmprb2, *cmprb2_internal,
940 cmpeqb, *cmpeqb_internal): ... here.
941
942 2019-08-30 Jakub Jelinek <jakub@redhat.com>
943
944 Backported from mainline
945 2019-07-30 Jakub Jelinek <jakub@redhat.com>
946
947 PR target/91150
948 * config/i386/i386.c (expand_vec_perm_blend): Change mask type
949 from unsigned to unsigned HOST_WIDE_INT. For E_V64QImode cast
950 comparison to unsigned HOST_WIDE_INT before shifting it left.
951
952 2019-07-04 Jakub Jelinek <jakub@redhat.com>
953
954 PR middle-end/78884
955 * gimplify.c (struct gimplify_omp_ctx): Add add_safelen1 member.
956 (gimplify_bind_expr): If seeing TREE_ADDRESSABLE VLA inside of simd
957 loop body, set ctx->add_safelen1 instead of making it GOVD_PRIVATE.
958 (gimplify_adjust_omp_clauses): Add safelen (1) clause if
959 ctx->add_safelen1 is set.
960
961 PR rtl-optimization/90756
962 * explow.c (promote_ssa_mode): Always use TYPE_MODE, don't bypass it
963 for VECTOR_TYPE_P.
964
965 2019-06-12 Jakub Jelinek <jakub@redhat.com>
966
967 PR c/90760
968 * symtab.c (symtab_node::set_section): Allow being called on aliases
969 as long as they aren't analyzed yet.
970
971 2019-04-19 Jakub Jelinek <jakub@redhat.com>
972
973 PR middle-end/90139
974 * tree-outof-ssa.c (get_temp_reg): If reg_mode is BLKmode, return
975 assign_temp instead of gen_reg_rtx.
976
977 2019-06-11 Jakub Jelinek <jakub@redhat.com>
978
979 PR target/90811
980 * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Use and.b%d
981 instead of and.u%d.
982
983 2019-05-29 Jakub Jelinek <jakub@redhat.com>
984
985 PR fortran/90329
986 * lto-streamer.h (LTO_minor_version): Bump to 1.
987
988 2019-05-16 Jakub Jelinek <jakub@redhat.com>
989
990 PR fortran/90329
991 * tree-core.h (struct tree_decl_common): Document
992 decl_nonshareable_flag for PARM_DECLs.
993 * tree.h (DECL_HIDDEN_STRING_LENGTH): Define.
994 * calls.c (expand_call): Don't try tail call if caller
995 has any DECL_HIDDEN_STRING_LENGTH PARM_DECLs that are or might be
996 passed on the stack and callee needs to pass any arguments on the
997 stack.
998 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
999 else if instead of series of mutually exclusive ifs. Handle
1000 DECL_HIDDEN_STRING_LENGTH for PARM_DECLs.
1001 * tree-streamer-out.c (pack_ts_decl_common_value_fields): Likewise.
1002
1003 2019-04-24 Jakub Jelinek <jakub@redhat.com>
1004
1005 PR target/90187
1006 * config/i386/i386.c (ix86_expand_sse_fp_minmax): Force if_true into
1007 a register if both if_true and if_false are MEMs.
1008
1009 PR tree-optimization/90208
1010 * tree-cfg.c (remove_bb): Move forced labels from removed bbs
1011 after labels of new_bb, not before them.
1012
1013 2019-04-16 Jakub Jelinek <jakub@redhat.com>
1014
1015 PR rtl-optimization/90082
1016 * dce.c (can_delete_call): New function.
1017 (deletable_insn_p, mark_insn): Use it.
1018
1019 PR tree-optimization/90090
1020 * tree-ssa-math-opts.c (is_division_by): Ignore divisions that can
1021 throw internally.
1022
1023 2019-04-09 Jakub Jelinek <jakub@redhat.com>
1024
1025 PR tree-optimization/89998
1026 * gimple-ssa-sprintf.c (try_substitute_return_value): Use lhs type
1027 instead of integer_type_node if possible, don't add ranges if return
1028 type is not compatible with int.
1029 * gimple-fold.c (gimple_fold_builtin_sprintf,
1030 gimple_fold_builtin_snprintf): Use lhs type instead of hardcoded
1031 integer_type_node.
1032
1033 2019-03-29 Jakub Jelinek <jakub@redhat.com>
1034
1035 PR c/89872
1036 * gimplify.c (gimplify_compound_literal_expr): Don't optimize a
1037 non-addressable complit into its initializer if it is volatile.
1038
1039 2019-03-28 Jakub Jelinek <jakub@redhat.com>
1040
1041 PR middle-end/89621
1042 * tree-inline.h (struct copy_body_data): Add
1043 dont_remap_vla_if_no_change flag.
1044 * tree-inline.c (remap_type_3, remap_type_2): New functions.
1045 (remap_type): Don't remap vla types if id->dont_remap_vla_if_no_change
1046 and remap_type_2 returns false.
1047 * omp-low.c (new_omp_context): Set ctx->cb.dont_remap_vla_if_no_change.
1048
1049 2019-03-20 Jakub Jelinek <jakub@redhat.com>
1050
1051 PR target/89752
1052 * lra-constraints.c (process_alt_operands) <reg>: For BLKmode, don't
1053 update this_alternative nor this_alternative_set.
1054
1055 2019-03-19 Jakub Jelinek <jakub@redhat.com>
1056
1057 PR rtl-optimization/89768
1058 * loop-unroll.c (unroll_loop_constant_iterations): Use gen_int_mode
1059 instead of GEN_INT.
1060 (unroll_loop_runtime_iterations): Likewise.
1061
1062 PR target/89752
1063 * gimplify.c (gimplify_asm_expr): For output argument with
1064 TREE_ADDRESSABLE type, clear allows_reg if it allows memory, otherwise
1065 diagnose error.
1066
1067 PR target/89726
1068 * config/i386/i386.c (ix86_expand_floorceildf_32): In ceil
1069 compensation use x2 += 1 instead of x2 -= -1 and when honoring
1070 signed zeros, do another copysign after the compensation.
1071
1072 2019-03-15 Jakub Jelinek <jakub@redhat.com>
1073
1074 PR debug/89704
1075 * dwarf2out.c (add_const_value_attribute): Return false for MINUS,
1076 SIGN_EXTEND and ZERO_EXTEND.
1077
1078 2019-03-14 Jakub Jelinek <jakub@redhat.com>
1079
1080 PR rtl-optimization/89679
1081 * expmed.c (expand_mult_const): Don't add a REG_EQUAL note if it
1082 would contain a paradoxical SUBREG.
1083
1084 PR tree-optimization/89703
1085 * tree-ssa-strlen.c (valid_builtin_call): Punt if stmt call types
1086 aren't compatible also with builtin_decl_explicit. Check pure
1087 or non-pure status of BUILT_IN_STR{{,N}CMP,N{LEN,{CAT,CPY}{,_CHK}}}
1088 and BUILT_IN_STPNCPY{,_CHK}.
1089
1090 2019-03-13 Jakub Jelinek <jakub@redhat.com>
1091
1092 PR middle-end/88588
1093 * omp-simd-clone.c (ipa_simd_modify_stmt_ops): Handle PHI args.
1094 (ipa_simd_modify_function_body): Handle PHIs.
1095
1096 2019-03-12 Jakub Jelinek <jakub@redhat.com>
1097
1098 PR middle-end/89663
1099 * builtins.c (expand_builtin_int_roundingfn,
1100 expand_builtin_int_roundingfn_2): Return NULL_RTX instead of
1101 gcc_unreachable if validate_arglist fails.
1102
1103 2019-03-09 Jakub Jelinek <jakub@redhat.com>
1104
1105 PR c/88568
1106 * tree.c (handle_dll_attribute): Don't clear TREE_STATIC for
1107 dllimport on VAR_DECLs with RECORD_TYPE or UNION_TYPE DECL_CONTEXT.
1108
1109 2019-03-05 Jakub Jelinek <jakub@redhat.com>
1110
1111 PR target/89587
1112 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Set to non-empty only
1113 if_multiarch.
1114
1115 PR middle-end/89590
1116 * builtins.c (maybe_emit_free_warning): Punt if free doesn't have
1117 exactly one argument.
1118
1119 2019-02-28 Jakub Jelinek <jakub@redhat.com>
1120
1121 PR c/89520
1122 * convert.c (convert_to_real_1, convert_to_integer_1): Punt for
1123 builtins if they don't have a single scalar floating point argument.
1124 Formatting fixes.
1125
1126 2019-02-20 Jakub Jelinek <jakub@redhat.com>
1127
1128 PR middle-end/89412
1129 * expr.c (expand_assignment): If result is a MEM, use change_address
1130 instead of simplify_gen_subreg.
1131
1132 2019-02-20 Jakub Jelinek <jakub@redhat.com>
1133 David Malcolm <dmalcolm@redhat.com>
1134
1135 PR middle-end/89091
1136 * fold-const.c (decode_field_reference): Return NULL_TREE if
1137 lang_hooks.types.type_for_size returns NULL. Check it before
1138 overwriting *exp_. Use return NULL_TREE instead of return 0.
1139
1140 2019-02-20 Jakub Jelinek <jakub@redhat.com>
1141
1142 PR middle-end/88074
1143 PR middle-end/89415
1144 * toplev.c (do_compile): Double the emin/emax exponents to workaround
1145 buggy mpc_norm.
1146
1147 2019-02-19 Richard Biener <rguenther@suse.de>
1148
1149 PR middle-end/88074
1150 * toplev.c (do_compile): Initialize mpfr's exponent range
1151 based on available float modes.
1152
1153 2019-02-18 Jakub Jelinek <jakub@redhat.com>
1154
1155 PR target/89361
1156 * config/s390/s390.c (s390_indirect_branch_attrvalue,
1157 s390_indirect_branch_settings): Define unconditionally.
1158 (s390_set_current_function): Likewise, but guard the whole body except
1159 the s390_indirect_branch_settings call with
1160 #if S390_USE_TARGET_ATTRIBUTE.
1161 (TARGET_SET_CURRENT_FUNCTION): Redefine unconditionally.
1162
1163 2019-02-15 Richard Biener <rguenther@suse.de>
1164 Jakub Jelinek <jakub@redhat.com>
1165
1166 PR tree-optimization/89278
1167 * tree-loop-distribution.c: Include tree-eh.h.
1168 (generate_memset_builtin, generate_memcpy_builtin): Call
1169 rewrite_to_non_trapping_overflow on builtin->size before passing it
1170 to force_gimple_operand_gsi.
1171
1172 2019-02-15 Jakub Jelinek <jakub@redhat.com>
1173
1174 PR other/89342
1175 * optc-save-gen.awk: Handle optimize_fast like optimize_size or
1176 optimize_debug.
1177 * opth-gen.awk: Likewise.
1178
1179 2019-02-14 Jakub Jelinek <jakub@redhat.com>
1180
1181 PR rtl-optimization/89354
1182 * combine.c (make_extraction): Punt if extraction_mode is narrower
1183 than len bits.
1184
1185 PR tree-optimization/89314
1186 * fold-const.c (fold_binary_loc): Cast strlen argument to
1187 const char * before dereferencing it. Formatting fixes.
1188
1189 2019-02-13 Jakub Jelinek <jakub@redhat.com>
1190
1191 PR middle-end/89303
1192 * tree-ssa-structalias.c (set_uids_in_ptset): Or in vi->is_heap_var
1193 into pt->vars_contains_escaped_heap instead of setting
1194 pt->vars_contains_escaped_heap to it.
1195
1196 PR middle-end/89281
1197 * optabs.c (prepare_cmp_insn): Use UINTVAL (size) instead of
1198 INTVAL (size), compare it to GET_MODE_MASK instead of
1199 1 << GET_MODE_BITSIZE.
1200
1201 2019-02-09 Jakub Jelinek <jakub@redhat.com>
1202
1203 PR middle-end/89246
1204 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1205 If !node->definition and TYPE_ARG_TYPES is non-NULL, use
1206 TYPE_ARG_TYPES instead of DECL_ARGUMENTS.
1207
1208 2019-01-16 David Malcolm <dmalcolm@redhat.com>
1209
1210 PR target/88861
1211 * combine.c (delete_noop_moves): Convert to "bool" return,
1212 returning true if any edges are eliminated.
1213 (combine_instructions): Also return true if delete_noop_moves
1214 returns true.
1215
1216 2019-02-08 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR rtl-optimization/89234
1219 * except.c (copy_reg_eh_region_note_forward): Return if note_or_insn
1220 is a NOTE, CODE_LABEL etc. - rtx_insn * other than INSN_P.
1221 (copy_reg_eh_region_note_backward): Likewise.
1222
1223 2019-02-05 Jakub Jelinek <jakub@redhat.com>
1224
1225 PR target/89188
1226 * dce.c (delete_unmarked_insns): Don't remove no-op moves if they
1227 can throw, non-call exceptions are enabled and we can't delete
1228 dead exceptions or alter cfg. Set must_clean if
1229 delete_insn_and_edges returns true, don't set it blindly for calls.
1230
1231 PR rtl-optimization/89195
1232 * combine.c (make_extraction): For MEMs, don't extract bytes outside
1233 of the original MEM.
1234
1235 PR target/89186
1236 * optabs.c (prepare_cmp_insn): Pass x and y to
1237 emit_block_comp_via_libcall rather than XEXP (x, 0) and XEXP (y, 0).
1238
1239 2019-02-02 Jakub Jelinek <jakub@redhat.com>
1240
1241 PR middle-end/87887
1242 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1243 Punt with warning on aggregate return or argument types. Ignore
1244 type/mode checking for uniform arguments.
1245
1246 2019-02-01 Jakub Jelinek <jakub@redhat.com>
1247
1248 PR tree-optimization/88107
1249 * tree-cfg.c (find_outermost_region_in_block): Add ALL argument,
1250 instead of assertion that eh_region_outermost is non-NULL, if it
1251 is NULL, set *ALL to true and return NULL.
1252 (move_sese_region_to_fn): Adjust caller, if all is set, call
1253 duplicate_eh_regions with NULL region.
1254
1255 2019-01-29 Jakub Jelinek <jakub@redhat.com>
1256
1257 PR c++/66676
1258 PR ipa/89104
1259 * omp-simd-clone.c (simd_clone_clauses_extract)
1260 <case OMP_CLAUSE_ALIGNED>: Ignore clauses with NULL
1261 OMP_CLAUSE_ALIGNED_ALIGNMENT.
1262
1263 2019-01-28 Jakub Jelinek <jakub@redhat.com>
1264
1265 PR middle-end/89002
1266 * gimplify.c (gimplify_omp_for): When adding OMP_CLAUSE_*_GIMPLE_SEQ
1267 for lastprivate/linear IV, push gimplify context around gimplify_assign
1268 and, if it needed any temporaries, pop it into a gimple bind around the
1269 sequence.
1270
1271 2019-01-27 Jakub Jelinek <jakub@redhat.com>
1272
1273 PR target/87214
1274 * config/i386/sse.md
1275 (<mask_codefor>avx512dq_shuf_<shuffletype>64x2_1<mask_name>,
1276 avx512f_shuf_<shuffletype>64x2_1<mask_name>): Ensure the
1277 first constants in pairs are multiples of 2. Formatting fixes.
1278 (avx512vl_shuf_<shuffletype>32x4_1<mask_name>,
1279 avx512vl_shuf_<shuffletype>32x4_1<mask_name>): Ensure the
1280 first constants in each quadruple are multiples of 4. Formatting fixes.
1281
1282 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1283
1284 PR rtl-optimization/49429
1285 PR target/49454
1286 PR rtl-optimization/86334
1287 PR target/88906
1288 * expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
1289 addressable from here...
1290 (emit_block_op_via_libcall): ... to here.
1291
1292 2019-01-17 Jakub Jelinek <jakub@redhat.com>
1293
1294 PR rtl-optimization/88870
1295 * dce.c (deletable_insn_p): Never delete const/pure calls that can
1296 throw if we can't alter the cfg or delete dead exceptions.
1297 (mark_insn): Don't call find_call_stack_args for such calls.
1298
1299 2019-01-10 Jakub Jelinek <jakub@redhat.com>
1300
1301 PR c/88568
1302 * tree.c (handle_dll_attribute): Clear TREE_STATIC after setting
1303 DECL_EXTERNAL.
1304
1305 2019-01-05 Jakub Jelinek <jakub@redhat.com>
1306
1307 PR middle-end/82564
1308 PR target/88620
1309 * expr.c (expand_assignment): For calls returning VLA structures
1310 if to_rtx is not a MEM, force it into a stack temporary.
1311
1312 2019-01-04 Jakub Jelinek <jakub@redhat.com>
1313
1314 PR target/88594
1315 * config/i386/i386.c (ix86_expand_divmod_libfunc): Use mode instead
1316 of GET_MODE (opN) as modes of the libcall arguments.
1317
1318 2019-01-03 Jakub Jelinek <jakub@redhat.com>
1319
1320 PR debug/88644
1321 * dwarf2out.c (modified_type_die): If type is equal to sizetype,
1322 change it to qualified_type.
1323
1324 2018-12-21 Jakub Jelinek <jakub@redhat.com>
1325
1326 PR middle-end/85594
1327 PR middle-end/88553
1328 * omp-expand.c (extract_omp_for_update_vars): Regimplify the condition
1329 if needed.
1330 (expand_omp_for_generic): Don't clobber t temporary for ordered loops.
1331
1332 PR rtl-optimization/88563
1333 * expr.c (expand_expr_real_2) <case WIDEN_MULT_EXPR>: Swap innermode
1334 and mode arguments to convert_modes. Likewise swap mode and word_mode
1335 arguments. Handle both arguments with VOIDmode before convert_modes
1336 of one of them. Formatting fixes.
1337
1338 2018-12-13 Jakub Jelinek <jakub@redhat.com>
1339
1340 PR rtl-optimization/88470
1341 * cfgcleanup.c (outgoing_edges_match): If the function is
1342 shrink-wrapped and bb1 ends with a JUMP_INSN with a single fake
1343 edge to EXIT, return false.
1344
1345 PR rtl-optimization/88416
1346 * valtrack.c (cleanup_auto_inc_dec): Handle pre/post-inc/dec/modify
1347 even if !AUTO_INC_DEC.
1348
1349 2018-12-07 Jakub Jelinek <jakub@redhat.com>
1350
1351 PR target/85593
1352 * final.c (rest_of_handle_final): Don't call collect_fn_hard_reg_usage
1353 for functions with naked attribute.
1354
1355 2018-11-20 Jakub Jelinek <jakub@redhat.com>
1356
1357 PR tree-optimization/87895
1358 * omp-simd-clone.c (ipa_simd_modify_function_body): When removing
1359 or replacing GIMPLE_RETURN, set EDGE_FALLTHRU on the edge to EXIT.
1360 (simd_clone_adjust): Don't set EDGE_FALLTHRU here. In a loop that
1361 redirects edges to EXIT to edges to incr_bb, iterate while EXIT
1362 has any preds and always use EDGE_PRED (, 0).
1363
1364 2018-10-20 Jakub Jelinek <jakub@redhat.com>
1365
1366 PR middle-end/87647
1367 * varasm.c (decode_addr_const): Handle COMPOUND_LITERAL_EXPR.
1368
1369 2018-10-19 Jakub Jelinek <jakub@redhat.com>
1370
1371 PR middle-end/85488
1372 PR middle-end/87649
1373 * omp-low.c (check_omp_nesting_restrictions): Diagnose ordered without
1374 depend closely nested inside of loop with ordered clause with
1375 a parameter.
1376
1377 2019-08-25 Uroš Bizjak <ubizjak@gmail.com>
1378
1379 PR target/91533
1380 Backport from mainline
1381 2019-06-30 Uroš Bizjak <ubizjak@gmail.com>
1382
1383 * config/i386/sse.md (ssse3_abs<mode>2): Rename from abs<mode>2.
1384 * config/i386/i386-builtin.def (__builtin_ia32_pabsb):
1385 Use CODE_FOR_ssse3_absv8qi2.
1386 (__builtin_ia32_pabsw): Use CODE_FOR_ssse3_absv4hi2.
1387 (__builtin_ia32_pabsd): Use CODE_FOR_ssse3_absv2si2.
1388
1389 2019-08-21 Richard Biener <rguenther@suse.de>
1390
1391 PR tree-optimization/91510
1392 Backport from mainline
1393 2017-09-26 Martin Jambor <mjambor@suse.cz>
1394
1395 * tree-sra.c (compare_access_positions): Put integral types first,
1396 stabilize sorting of integral types, remove conditions putting
1397 non-full-precision integers last.
1398 (sort_and_splice_var_accesses): Disable scalarization if a
1399 non-integert would be represented by a non-full-precision integer.
1400
1401 2019-08-20 Eric Botcazou <ebotcazou@adacore.com>
1402
1403 PR rtl-optimization/91347
1404 * dse.c (scan_insn): Call add_wild_read for non-const/memset tail calls
1405 before reload if HARD_FRAME_POINTER_IS_ARG_POINTER.
1406
1407 2019-07-22 Martin Liska <mliska@suse.cz>
1408
1409 Backport from mainline
1410 2019-07-22 Martin Liska <mliska@suse.cz>
1411
1412 PR driver/91172
1413 * opts-common.c (decode_cmdline_option): Decode
1414 argument of -Werror and check it for a wrong language.
1415 * opts-global.c (complain_wrong_lang): Remove such case.
1416
1417 2019-07-16 Wilco Dijkstra <wdijkstr@arm.com>
1418
1419 Backport from mainline
1420 2019-03-05 Wilco Dijkstra <wdijkstr@arm.com>
1421
1422 PR target/89222
1423 * config/arm/arm.md (movsi): Use targetm.cannot_force_const_mem
1424 to decide when to split off a non-zero offset from a symbol.
1425 * config/arm/arm.c (arm_cannot_force_const_mem): Disallow offsets
1426 in function symbols.
1427
1428 2019-07-15 Andreas Krebbel <krebbel@linux.ibm.com>
1429
1430 Backport from mainline
1431 2019-07-01 Andreas Krebbel <krebbel@linux.ibm.com>
1432
1433 * config/s390/vector.md: Fix shift count operand printing.
1434
1435 2019-07-12 Eric Botcazou <ebotcazou@adacore.com>
1436
1437 PR rtl-optimization/91136
1438 * df-core.c (ACCESSING REFS): Fix typos in comment.
1439 * resource.c (mark_target_live_reg): Add artificial defs that occur at
1440 the beginning of the block to the initial set of live registers.
1441
1442 2019-06-28 Jeff Law <law@redhat.com>
1443
1444 Backport from mainline
1445 2019-06-21 Jeff Law <law@redhat.com>
1446
1447 PR tree-optimization/90949
1448 * tree-ssa-copy.c (fini_copy_prop): Use reset_flow_sensitive_info.
1449 * tree-ssanames.c (reset_flow_sensitive_info): Reset non-null state.
1450
1451 2019-06-27 Martin Jambor <mjambor@suse.cz>
1452
1453 Backport from mainline
1454 2019-06-25 Martin Jambor <mjambor@suse.cz>
1455
1456 PR ipa/90939
1457 * ipa-cp.c (ipcp_bits_lattice::meet_with): Remove assert.
1458
1459 2019-06-16 John David Anglin <danglin@gcc.gnu.org>
1460
1461 PR middle-end/64242
1462 * config/pa/pa.md (nonlocal_goto): Restore frame pointer last. Add
1463 frame clobbers and schedule block.
1464 (builtin_longjmp): Likewise.
1465
1466 2019-05-24 John David Anglin <danglin@gcc.gnu.org>
1467
1468 PR target/90530
1469 * config/pa/pa.c (pa_cannot_change_mode_class): Accept mode changes
1470 from DImode to SImode in floating-point registers on 64-bit target.
1471 * config/pa/pa.md (umulsidi3): Change nonimmediate_operand to
1472 register_operand in xmpyu patterns.
1473
1474 2019-05-23 Uroš Bizjak <ubizjak@gmail.com>
1475
1476 Backported from mainline
1477 2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
1478
1479 * config/i386/cpuid.h (__cpuid): For 32bit targets, zero
1480 %ebx and %ecx bafore calling cpuid with leaf 1 or
1481 non-constant leaf argument.
1482
1483 2019-05-21 Uroš Bizjak <ubizjak@gmail.com>
1484
1485 PR target/90547
1486 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
1487 Avoid calling gen_lowpart with CONST operand.
1488
1489 2019-05-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
1490
1491 Backport from mainline.
1492 2019-05-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
1493
1494 PR target/89765
1495 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1496 In handling of ALTIVEC_BUILTIN_VEC_INSERT, use modular arithmetic
1497 to compute vector element selector for both constant and variable
1498 operands.
1499
1500 2019-01-03 Iain Sandoe <iain@sandoe.co.uk>
1501
1502 PR target/86215
1503 Backport from mainline
1504 2017-09-25 Iain Sandoe <iain@codesourcery.com>
1505
1506 PR target/80556
1507 * config/i386/darwin.h (REAL_LIB_SPEC): New; put libSystem ahead
1508 of libgcc_eh for m64.
1509 * config/i386/darwin64.h: Likewise.
1510
1511 2019-05-15 David Edelsohn <dje.gcc@gmail.com>
1512
1513 Backport from mainline
1514 2019-04-11 David Edelsohn <dje.gcc@gmail.com>
1515 * xcoffout.h (xcoff_private_rodata_section_name): Declare.
1516 * xcoffout.c (xcoff_private_rodata_section_name): Define.
1517 * config/rs6000/rs6000.c (rs6000_xcoff_asm_init_sections): Create
1518 read_only_private_data_section using coff_private_rodata_section_name.
1519 (rs6000_xcoff_file_start): Generate coff_private_rodata_section_name.
1520
1521 2018-12-04 David Edelsohn <dje.gcc@gmail.com>
1522 2018-12-13 David Edelsohn <dje.gcc@gmail.com>
1523 PR target/61976
1524 * config/rs6000/rs6000.c (rs6000_function_arg): Don't pass aggregates
1525 in FPRs on AIX. Ensure type is non-NULL.
1526 (rs6000_arg_partial_bytes): Same.
1527
1528 2019-05-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
1529
1530 * config/arm/t-rtems: Replace -march=armv7-m multilibs with
1531 -mcpu=cortex-m3 and -mcpu=cortex-m4 multilibs.
1532
1533 2019-05-13 Kelvin Nilsen <kelvin@gcc.gnu.org>
1534
1535 Backport from mainline.
1536 2019-05-06 Kelvin Nilsen <kelvin@gcc.gnu.org>
1537
1538 PR target/89424
1539 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Add
1540 handling of V1TImode.
1541
1542 2019-05-07 Richard Sandiford <richard.sandiford@arm.com>
1543
1544 Backport from mainline:
1545 2019-01-25 Richard Sandiford <richard.sandiford@arm.com>
1546
1547 PR middle-end/89037
1548 * varasm.c (output_constructor_bitfield): Use wi::extract_uhwi
1549 instead of accessing TREE_INT_CST_ELT directly.
1550
1551 2019-05-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1552
1553 Backport from mainline.
1554 2019-04-30 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1555 PR target/86538
1556 * config/aarch64/aarch64-c.c (aarch64_update_cpp_builtins):
1557 Define __ARM_FEATURE_ATOMICS
1558
1559 2019-04-30 Srinath Parvathaneni <srinath.parvathaneni@arm.com>
1560
1561 PR target/90075
1562 * config/aarch64/iterators.md (V_INT_EQUIV): Add mode for
1563 integer equivalent of floating point values.
1564
1565 Backport from mainline
1566 2018-12-11 Richard Earnshaw <Richard.Earnshaw@arm.com>
1567 PR target/37369
1568 * config/aarch64/iterators.md (sizem1): Add sizes for
1569 SFmode and DFmode.
1570 (Vbtype): Add SFmode mapping.
1571 * config/aarch64/aarch64.md (copysigndf3, copysignsf3): Delete.
1572 (copysign<GPF:mode>3): New expand pattern.
1573 (copysign<GPF:mode>3_insn): New insn pattern.
1574
1575 2019-04-22 Kelvin Nilsen <kelvin@gcc.gnu.org>
1576
1577 Backport from mainline
1578 2019-03-15 Kelvin Nilsen <kelvin@gcc.gnu.org>
1579
1580 PR target/87532
1581 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
1582 When handling vec_extract, use modular arithmetic to allow
1583 constant selectors greater than vector length.
1584 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Allow
1585 V1TImode vectors to have constant selector values greater than 0.
1586 Use modular arithmetic to compute vector index.
1587 (rs6000_split_vec_extract_var): Use modular arithmetic to compute
1588 index for in-memory vectors. Correct code generation for
1589 in-register vectors. Use inner mode of vector rather than mode of
1590 destination for move instruction.
1591 (altivec_expand_vec_ext_builtin): Use modular arithmetic to
1592 compute index.
1593
1594 2019-04-12 Kelvin Nilsen <kelvin@gcc.gnu.org>
1595
1596 PR target/87532
1597 * config/rs6000/vsx.md (*vsx_extract_<mode>_<VS_scalar>mode_var):
1598 Use QI inner mode with V16QI vector mode.
1599
1600 2019-04-19 Xiong Hu Luo <luoxhu@linux.ibm.com>
1601
1602 Backport from trunk
1603 2018-05-23 Segher Boessenkool <segher@kernel.crashing.org>
1604
1605 * doc/sourcebuild.texi (Endianness): New subsubsection.
1606
1607 2019-04-11 Martin Liska <mliska@suse.cz>
1608
1609 Backport from mainline
1610 2019-03-08 Martin Liska <mliska@suse.cz>
1611
1612 PR target/86952
1613 * config/i386/i386.c (ix86_option_override_internal): Disable
1614 jump tables when retpolines are used.
1615
1616 2019-04-10 Matthew Malcomson <matthew.malcomson@arm.com>
1617
1618 PR target/90024
1619 * config/arm/arm.c (neon_valid_immediate): Disallow VOIDmode parameter.
1620 * config/arm/constraints.md (Dm, DN, Dn): Split previous Dn constraint
1621 into three.
1622 * config/arm/neon.md (*neon_mov<mode>): Account for TImode and DImode
1623 differences directly.
1624 (*smax<mode>3_neon, vashl<mode>3, vashr<mode>3_imm): Use Dm constraint.
1625
1626 2019-04-07 Uroš Bizjak <ubizjak@gmail.com>
1627
1628 PR target/89945
1629 * config/i386/i386.md (anddi_1 to andsi_1_zext splitter):
1630 Avoid calling gen_lowpart with SYMBOL_REF and LABEL_REF operand.
1631
1632 2019-04-06 Eric Botcazou <ebotcazou@adacore.com>
1633
1634 Backport from mainline
1635 2019-02-19 Eric Botcazou <ebotcazou@adacore.com>
1636
1637 * rtlanal.c (get_initial_register_offset): Fall back to the estimate
1638 as long as the epilogue isn't completed.
1639
1640 2019-04-03 Richard Biener <rguenther@suse.de>
1641
1642 PR lto/89896
1643 * lto-wrapper.c (run_gcc): Avoid implicit rules making
1644 the all target phony.
1645
1646 2019-04-02 Xiong Hu Luo <luoxhu@linux.ibm.com>
1647
1648 Backport from trunk r250477.
1649
1650 2017-07-24 Carl Love <cel@us.ibm.com>
1651
1652 * config/rs6000/rs6000-c.c: Add support for built-in functions
1653 vector float vec_extract_fp32_from_shorth (vector unsigned short);
1654 vector float vec_extract_fp32_from_shortl (vector unsigned short);
1655 * config/rs6000/altivec.h (vec_extract_fp_from_shorth,
1656 vec_extract_fp_from_shortl): Add defines for the two builtins.
1657 * config/rs6000/rs6000-builtin.def (VEXTRACT_FP_FROM_SHORTH,
1658 VEXTRACT_FP_FROM_SHORTL): Add BU_P9V_OVERLOAD_1 and BU_P9V_VSX_1
1659 new builtins.
1660 * config/rs6000/vsx.md vsx_xvcvhpsp): Add define_insn.
1661 (vextract_fp_from_shorth, vextract_fp_from_shortl): Add define_expands.
1662 * doc/extend.texi: Update the built-in documentation file for the
1663 new built-in function.
1664
1665 Backport from trunk r255555.
1666
1667 2017-12-11 Carl Love <cel@us.ibm.com>
1668
1669 * config/rs6000/altivec.h (vec_extract_fp32_from_shorth,
1670 vec_extract_fp32_from_shortl]): Add #defines.
1671 * config/rs6000/rs6000-builtin.def (VSLDOI_2DI): Add macro expansion.
1672 * config/rs6000/rs6000-c.c (ALTIVEC_BUILTIN_VEC_UNPACKH,
1673 ALTIVEC_BUILTIN_VEC_UNPACKL, ALTIVEC_BUILTIN_VEC_AND,
1674 ALTIVEC_BUILTIN_VEC_SLD, ALTIVEC_BUILTIN_VEC_SRL,
1675 ALTIVEC_BUILTIN_VEC_SRO, ALTIVEC_BUILTIN_VEC_SLD,
1676 ALTIVEC_BUILTIN_VEC_SLL): Add expansions.
1677 * doc/extend.texi: Add documentation for the added builtins.
1678
1679 2019-03-28 Martin Liska <mliska@suse.cz>
1680
1681 Backport from mainline
1682 2018-11-05 Martin Liska <mliska@suse.cz>
1683
1684 PR web/87829
1685 * doc/invoke.texi: Remove options that are
1686 not disabled with -Os.
1687
1688 2019-02-26 Richard Biener <rguenther@suse.de>
1689
1690 Backport from mainline
1691 2019-02-12 Richard Biener <rguenther@suse.de>
1692
1693 PR tree-optimization/89253
1694 * tree-ssa-loop-split.c (tree_ssa_split_loops): Check we can
1695 duplicate the loop.
1696
1697 2019-02-08 Richard Biener <rguenther@suse.de>
1698
1699 PR middle-end/89223
1700 * tree-data-ref.c (initialize_matrix_A): Fail if constant
1701 doesn't fit in HWI.
1702 (analyze_subscript_affine_affine): Handle failure from
1703 initialize_matrix_A.
1704
1705 2019-01-28 Richard Biener <rguenther@suse.de>
1706
1707 PR tree-optimization/88739
1708 * tree-ssa-sccvn.c (vn_reference_lookup_3): Avoid generating
1709 BIT_FIELD_REFs of non-mode-precision integral operands.
1710
1711 2019-03-26 Richard Biener <rguenther@suse.de>
1712
1713 Backport from mainline
1714 2019-01-08 Richard Biener <rguenther@suse.de>
1715
1716 PR tree-optimization/86554
1717 * tree-ssa-sccvn.c (visit_nary_op): When value-numbering to
1718 expressions with different overflow behavior make sure there's an
1719 available expression on the path.
1720
1721 2018-11-20 Richard Biener <rguenther@suse.de>
1722
1723 PR tree-optimization/88105
1724 * tree-ssa-dom.c (pass_dominator::execute): Do not walk
1725 backedges.
1726
1727 2018-03-08 Richard Biener <rguenther@suse.de>
1728
1729 PR middle-end/84552
1730 * tree-scalar-evolution.c: Include tree-into-ssa.h.
1731 (follow_copies_to_constant): Do not follow SSA names registered
1732 for update.
1733
1734 2019-03-21 Bill Schmidt <wschmidt@linux.ibm.com>
1735
1736 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Rebuild
1737 ud- and du-chains between phases.
1738
1739 2019-03-21 Matthias Klose <doko@ubuntu.com>
1740
1741 Backport from mainline
1742 2019-02-26 Richard Biener <rguenther@suse.de>
1743
1744 PR tree-optimization/89505
1745 * tree-ssa-structalias.c (compute_dependence_clique): Make sure
1746 to handle restrict pointed-to vars with multiple subvars
1747 correctly.
1748
1749 2019-03-17 H.J. Lu <hongjiu.lu@intel.com>
1750
1751 Backport from mainline
1752 2019-03-14 H.J. Lu <hongjiu.lu@intel.com>
1753
1754 PR target/89523
1755 * config/i386/i386.c (ix86_print_operand): Handle 'M' to add
1756 addr32 prefix to VSIB address for X32.
1757 * config/i386/sse.md (*avx512pf_gatherpf<mode>sf_mask): Prepend
1758 "%M2" to opcode.
1759 (*avx512pf_gatherpf<mode>df_mask): Likewise.
1760 (*avx512pf_scatterpf<mode>sf_mask): Likewise.
1761 (*avx512pf_scatterpf<mode>df_mask): Likewise.
1762 (*avx2_gathersi<mode>): Prepend "%M3" to opcode.
1763 (*avx2_gathersi<mode>_2): Prepend "%M2" to opcode.
1764 (*avx2_gatherdi<mode>): Prepend "%M3" to opcode.
1765 (*avx2_gatherdi<mode>_2): Prepend "%M2" to opcode.
1766 (*avx2_gatherdi<mode>_3): Prepend "%M3" to opcode.
1767 (*avx2_gatherdi<mode>_4): Prepend "%M2" to opcode.`
1768 (*avx512f_gathersi<mode>): Prepend "%M4" to opcode.
1769 (*avx512f_gathersi<mode>_2): Prepend "%M3" to opcode.
1770 (*avx512f_gatherdi<mode>): Prepend "%M4" to opcode.
1771 (*avx512f_gatherdi<mode>_2): Prepend "%M3" to opcode.
1772 (*avx512f_scattersi<mode>): Prepend "%M0" to opcode.
1773 (*avx512f_scatterdi<mode>): Likewise.
1774
1775 2019-03-14 Martin Jambor <mjambor@suse.cz>
1776
1777 Backport from mainline
1778 2019-03-07 Martin Jambor <mjambor@suse.cz>
1779
1780 PR lto/87525
1781 * ipa-cp.c (perform_estimation_of_a_value): Account zero time benefit
1782 for extern inline functions.
1783
1784 2019-03-14 Richard Biener <rguenther@suse.de>
1785
1786 Backport from mainline
1787 2018-02-16 Jakub Jelinek <jakub@redhat.com>
1788
1789 PR target/84272
1790 * config/aarch64/cortex-a57-fma-steering.c (fma_forest::merge_forest):
1791 Use ++iter rather than iter++ for std::list iterators.
1792 (func_fma_steering::dfs): Likewise. Don't delete nodes right away,
1793 defer deleting them until all nodes in the forest are processed. Do
1794 free even leaf nodes. Change to_process into auto_vec.
1795
1796 2019-03-13 Andre Vieira <andre.simoesdiasvieira@arm.com>
1797
1798 Backport from mainline
1799 2019-03-08 Andre Vieira <andre.simoesdiasvieira@arm.com>
1800
1801 * config/arm/arm.h (TARGET_FP16_TO_DOUBLE): Add TARGET_VFP_DOUBLE
1802 requirement.
1803
1804 2019-03-11 Martin Liska <mliska@suse.cz>
1805
1806 Backport from mainline
1807 2019-02-11 David Malcolm <dmalcolm@redhat.com>
1808
1809 PR lto/88147
1810 * input.c (selftest::test_line_offset_overflow): New selftest.
1811 (selftest::input_c_tests): Call it.
1812
1813 2019-03-07 Xiong Hu Luo <luoxhu@linux.ibm.com>
1814
1815 Backport of r268834 from mainline to gcc-7-branch.
1816 2019-02-13 Xiong Hu Luo <luoxhu@linux.vnet.ibm.com>
1817
1818 * config/rs6000/altivec.h (vec_sbox_be, vec_cipher_be,
1819 vec_cipherlast_be, vec_ncipher_be, vec_ncipherlast_be): New #defines.
1820 * config/rs6000/crypto.md (CR_vqdi): New define_mode_iterator.
1821 (crypto_vsbox_<mode>, crypto_<CR_insn>_<mode>): New define_insns.
1822 * config/rs6000/rs6000-builtin.def (VSBOX_BE): New BU_CRYPTO_1.
1823 (VCIPHER_BE, VCIPHERLAST_BE, VNCIPHER_BE, VNCIPHERLAST_BE):
1824 New BU_CRYPTO_2.
1825 * config/rs6000/rs6000.c (builtin_function_type)
1826 <CRYPTO_BUILTIN_VSBOX_BE, CRYPTO_BUILTIN_VCIPHER_BE,
1827 CRYPTO_BUILTIN_VCIPHERLAST_BE, CRYPTO_BUILTIN_VNCIPHER_BE,
1828 CRYPTO_BUILTIN_VNCIPHERLAST_BE>: New switch options.
1829 * doc/extend.texi (vec_sbox_be, vec_cipher_be, vec_cipherlast_be,
1830 vec_ncipher_be, vec_ncipherlast_be): New builtin functions.
1831
1832 2019-02-27 Uroš Bizjak <ubizjak@gmail.com>
1833
1834 PR target/89397
1835 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Check
1836 TARGET_SSE in addition to TARGET_SSE_MATH.
1837
1838 (ix86_excess_precision): Ditto.
1839 (ix86_float_exceptions_rounding_supported_p): Ditto.
1840 (use_rsqrt_p): Ditto.
1841 * config/i386/sse.md (rsqrt<mode>2): Ditto.
1842
1843 2019-02-15 Martin Liska <mliska@suse.cz>
1844
1845 Backport from mainline
1846 2019-02-14 Martin Liska <mliska@suse.cz>
1847
1848 PR rtl-optimization/89242
1849 * dce.c (delete_unmarked_insns): Call free_dominance_info we
1850 process a transformation.
1851
1852 2019-02-15 Martin Liska <mliska@suse.cz>
1853
1854 Backport from mainline
1855 2019-02-11 Martin Liska <mliska@suse.cz>
1856
1857 PR ipa/89009
1858 * ipa-cp.c (build_toporder_info): Remove usage of a param.
1859 * ipa-inline.c (inline_small_functions): Likewise.
1860 * ipa-pure-const.c (propagate_pure_const): Likewise.
1861 (propagate_nothrow): Likewise.
1862 * ipa-reference.c (propagate): Likewise.
1863 * ipa-utils.c (struct searchc_env): Remove unused field.
1864 (searchc): Always search across AVAIL_INTERPOSABLE.
1865 (ipa_reduced_postorder): Always allow AVAIL_INTERPOSABLE as
1866 the only called IPA pure const can properly not propagate
1867 across interposable boundary.
1868 * ipa-utils.h (ipa_reduced_postorder): Remove param.
1869
1870 2019-02-11 Stefan Agner <stefan@agner.ch>
1871
1872 Backport from mainline.
1873 2019-01-10 Stefan Agner <stefan@agner.ch>
1874
1875 PR target/88648
1876 * config/arm/arm.c (arm_option_override_internal): Force
1877 opts->x_inline_asm_unified to true only if TARGET_THUMB2_P.
1878
1879 2019-02-09 Alan Modra <amodra@gmail.com>
1880
1881 PR target/88343
1882 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Match
1883 logic in rs6000_emit_prologue emitting pic_offset_table setup.
1884
1885 2019-02-08 Eric Botcazou <ebotcazou@adacore.com>
1886
1887 Backport from mainline
1888 2018-06-11 Segher Boessenkool <segher@kernel.crashing.org>
1889
1890 PR target/85755
1891 * config/rs6000/rs6000.md (*movdi_internal32): Put constraint modifiers
1892 on the correct operand.
1893 (*movdi_internal64): Ditto.
1894
1895 2019-02-06 Kelvin Nilsen <kelvin@gcc.gnu.org>
1896
1897 Backport from mainline.
1898 2019-01-30 Kelvin Nilsen <kelvin@gcc.gnu.org>
1899 * config/rs6000/rs6000-c.c (altivec-resolve_overloaded_builtin):
1900 Change handling of ALTIVEC_BUILTIN_VEC_EXTRACT. Coerce result to
1901 type of vector element when vec_extract is implemented by direct
1902 move.
1903
1904 2019-02-06 Eric Botcazou <ebotcazou@adacore.com>
1905
1906 * config/i386/i386.c (ix86_expand_prologue): Emit a memory blockage
1907 after restoring registers saved to allocate the frame on Windows.
1908
1909 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com>
1910
1911 Backport from mainline
1912 2019-02-05 Andreas Krebbel <krebbel@linux.ibm.com>
1913
1914 PR target/88856
1915 * config/s390/s390.md: Remove load and test FP splitter.
1916
1917 2019-02-04 Bill Schmidt <wshmidt@linux.ibm.com>
1918
1919 PR target/87064
1920 Backport from mainline
1921
1922 2019-01-30 Bill Schmidt <wschmidt@linux.ibm.com>
1923
1924 PR target/87064
1925 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v4sf_scalar):
1926 Disable for little-endian.
1927
1928 2019-01-22 Jakub Jelinek <jakub@redhat.com>
1929
1930 PR target/87064
1931 * config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
1932 Disable for little endian.
1933
1934 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
1935
1936 Backport from mainline
1937 2018-01-31 Bill Schmidt <wschmidt@linux.ibm.com>
1938
1939 PR tree-optimization/89008
1940 * gimple-ssa-strength-reduction.c (slsr_process_mul): Don't
1941 process anything of the form X * 0.
1942
1943 2019-01-31 Richard Biener <rguenther@suse.de>
1944
1945 Backport from mainline
1946 2019-01-31 Richard Biener <rguenther@suse.de>
1947
1948 PR rtl-optimization/89115
1949 * lra.c (lra_rtx_hash): Properly hash CONST_INT values.
1950
1951 2019-01-30 Richard Biener <rguenther@suse.de>
1952
1953 PR rtl-optimization/89115
1954 * opts.c (default_options_optimization): Reduce
1955 PARAM_MAX_DSE_ACTIVE_LOCAL_STORES by a factor of 10 at -O1.
1956 Make PARAM_LOOP_INVARIANT_MAX_BBS_IN_LOOP reduction relative
1957 to the default.
1958
1959 2019-01-30 Kewen Lin <linkw@gcc.gnu.org>
1960
1961 Backport from mainline.
1962 2019-01-17 Kewen Lin <linkw@gcc.gnu.org>
1963
1964 * doc/extend.texi: Add four new prototypes for vec_ld and seven new
1965 prototypes for vec_st.
1966 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add entries
1967 for scalar address type variants of altivec_vec_ld/altivec_vec_st,
1968 mainly on signed/unsigned long long and double.
1969
1970 2019-01-27 Uroš Bizjak <ubizjak@gmail.com>
1971
1972 PR target/88948
1973 * rtl.h (prepare_copy_insn): New prototype.
1974 * gcse.c (prepare_copy_insn): New function, split out from
1975 process_insert_insn.
1976 (process_insert_insn): Use prepare_copy_insn.
1977 * store-motion.c (replace_store_insn): Use prepare_copy_insn
1978 instead of gen_move_insn.
1979
1980 2019-01-24 Uroš Bizjak <ubizjak@gmail.com>
1981
1982 PR target/88998
1983 * config/i386/sse.md (sse2_cvtpi2pd): Add SSE alternatives.
1984 Disparage MMX alternative.
1985 (sse2_cvtpd2pi): Ditto.
1986 (sse2_cvttpd2pi): Ditto.
1987
1988 2019-01-24 Richard Biener <rguenther@suse.de>
1989
1990 Backport from mainline
1991 2019-01-23 Richard Biener <rguenther@suse.de>
1992
1993 PR tree-optimization/89008
1994 * tree-ssa-reassoc.c (eliminate_using_constants): For * 0 do
1995 not leave another stray operand.
1996
1997 2019-01-22 Uroš Bizjak <ubizjak@gmail.com>
1998
1999 PR target/88938
2000 * config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
2001 case IX86_BUILTIN_BEXTRI64]: Sanitize operands.
2002
2003 2019-01-18 Uroš Bizjak <ubizjak@gmail.com>
2004
2005 * config/alpha/alpha.c (alpha_gimplify_va_arg):
2006 Handle split indirect COMPLEX_TYPE arguments.
2007
2008 2019-01-16 Martin Jambor <mjambor@suse.cz>
2009
2010 Backported from mainline
2011 2018-12-10 Martin Jambor <mjambor@suse.cz>
2012
2013 PR ipa/88214
2014 * ipa-prop.c (determine_locally_known_aggregate_parts): Make sure
2015 we check pointers against pointers.
2016
2017 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
2018 James Clarke <jrtc27@jrtc27.com>
2019
2020 PR target/84010
2021 * config/sparc/sparc.c (sparc_legitimize_tls_address): Only use Pmode
2022 consistently in TLS address generation and adjust code to the renaming
2023 of patterns. Mark calls to __tls_get_addr as const.
2024 * config/sparc/sparc.md (tgd_hi22): Turn into...
2025 (tgd_hi22<P:mode>): ...this and use Pmode throughout.
2026 (tgd_lo10): Turn into...
2027 (tgd_lo10<P:mode>): ...this and use Pmode throughout.
2028 (tgd_add32): Merge into...
2029 (tgd_add64): Likewise.
2030 (tgd_add<P:mode>): ...this and use Pmode throughout.
2031 (tldm_hi22): Turn into...
2032 (tldm_hi22<P:mode>): ...this and use Pmode throughout.
2033 (tldm_lo10): Turn into...
2034 (tldm_lo10<P:mode>): ...this and use Pmode throughout.
2035 (tldm_add32): Merge into...
2036 (tldm_add64): Likewise.
2037 (tldm_add<P:mode>): ...this and use Pmode throughout.
2038 (tldm_call32): Merge into...
2039 (tldm_call64): Likewise.
2040 (tldm_call<P:mode>): ...this and use Pmode throughout.
2041 (tldo_hix22): Turn into...
2042 (tldo_hix22<P:mode>): ...this and use Pmode throughout.
2043 (tldo_lox10): Turn into...
2044 (tldo_lox10<P:mode>): ...this and use Pmode throughout.
2045 (tldo_add32): Merge into...
2046 (tldo_add64): Likewise.
2047 (tldo_add<P:mode>): ...this and use Pmode throughout.
2048 (tie_hi22): Turn into...
2049 (tie_hi22<P:mode>): ...this and use Pmode throughout.
2050 (tie_lo10): Turn into...
2051 (tie_lo10<P:mode>): ...this and use Pmode throughout.
2052 (tie_ld64): Use DImode throughout.
2053 (tie_add32): Merge into...
2054 (tie_add64): Likewise.
2055 (tie_add<P:mode>): ...this and use Pmode throughout.
2056 (tle_hix22_sp32): Merge into...
2057 (tle_hix22_sp64): Likewise.
2058 (tle_hix22<P:mode>): ...this and use Pmode throughout.
2059 (tle_lox22_sp32): Merge into...
2060 (tle_lox22_sp64): Likewise.
2061 (tle_lox22<P:mode>): ...this and use Pmode throughout.
2062 (*tldo_ldub_sp32): Merge into...
2063 (*tldo_ldub_sp64): Likewise.
2064 (*tldo_ldub<P:mode>): ...this and use Pmode throughout.
2065 (*tldo_ldub1_sp32): Merge into...
2066 (*tldo_ldub1_sp64): Likewise.
2067 (*tldo_ldub1<P:mode>): ...this and use Pmode throughout.
2068 (*tldo_ldub2_sp32): Merge into...
2069 (*tldo_ldub2_sp64): Likewise.
2070 (*tldo_ldub2<P:mode>): ...this and use Pmode throughout.
2071 (*tldo_ldsb1_sp32): Merge into...
2072 (*tldo_ldsb1_sp64): Likewise.
2073 (*tldo_ldsb1<P:mode>): ...this and use Pmode throughout.
2074 (*tldo_ldsb2_sp32): Merge into...
2075 (*tldo_ldsb2_sp64): Likewise.
2076 (*tldo_ldsb2<P:mode>): ...this and use Pmode throughout.
2077 (*tldo_ldub3_sp64): Use DImode throughout.
2078 (*tldo_ldsb3_sp64): Likewise.
2079 (*tldo_lduh_sp32): Merge into...
2080 (*tldo_lduh_sp64): Likewise.
2081 (*tldo_lduh<P:mode>): ...this and use Pmode throughout.
2082 (*tldo_lduh1_sp32): Merge into...
2083 (*tldo_lduh1_sp64): Likewise.
2084 (*tldo_lduh1<P:mode>): ...this and use Pmode throughout.
2085 (*tldo_ldsh1_sp32): Merge into...
2086 (*tldo_ldsh1_sp64): Likewise.
2087 (*tldo_ldsh1<P:mode>): ...this and use Pmode throughout.
2088 (*tldo_lduh2_sp64): Use DImode throughout.
2089 (*tldo_ldsh2_sp64): Likewise.
2090 (*tldo_lduw_sp32): Merge into...
2091 (*tldo_lduw_sp64): Likewise.
2092 (*tldo_lduw<P:mode>): ...this and use Pmode throughout.
2093 (*tldo_lduw1_sp64): Use DImode throughout.
2094 (*tldo_ldsw1_sp64): Likewise.
2095 (*tldo_ldx_sp64): Likewise.
2096 (*tldo_stb_sp32): Merge into...
2097 (*tldo_stb_sp64): Likewise.
2098 (*tldo_stb<P:mode>): ...this and use Pmode throughout.
2099 (*tldo_sth_sp32): Merge into...
2100 (*tldo_sth_sp64): Likewise.
2101 (*tldo_sth<P:mode>): ...this and use Pmode throughout.
2102 (*tldo_stw_sp32): Merge into...
2103 (*tldo_stw_sp64): Likewise.
2104 (*tldo_stw<P:mode>): ...this and use Pmode throughout.
2105 (*tldo_stx_sp64): Use DImode throughout.
2106
2107 2019-01-09 Eric Botcazou <ebotcazou@adacore.com>
2108
2109 * doc/invoke.texi (-Os): Add reference to -finline-functions.
2110 (-finline-small-functions): Add references to -O3 and -Os.
2111 (-findirect-inlining): Likewise.
2112 (-finline-functions): Add references to -Os, -fprofile-use and
2113 -fauto-profile.
2114
2115 2019-01-03 Iain Sandoe <iain@sandoe.co.uk>
2116
2117 revert:
2118 2018-12-30 Iain Sandoe <iain@sandoe.co.uk>
2119
2120 backport from mainline.
2121 2018-12-12 Segher Boessenkool <segher@kernel.crashing.org>
2122 Iain Sandoe <iain@sandoe.co.uk>
2123
2124 PR target/88343
2125 * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
2126 unless it has been used.
2127 (first_reg_to_save): Remove dead code.
2128
2129 2019-01-02 Segher Boessenkool <segher@kernel.crashing.org>
2130
2131 Backport from trunk
2132 2018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
2133
2134 PR inline-asm/55681
2135 * doc/extend.texi (Basic Asm): Update grammar.
2136 (Extended Asm): Update grammar.
2137
2138 Backport from trunk
2139 2018-12-06 Segher Boessenkool <segher@kernel.crashing.org>
2140
2141 * doc/extend.texi (Using Assembly Language with C): Document asm inline.
2142 (Size of an asm): Fix typo. Document asm inline.
2143 * gimple-pretty-print.c (dump_gimple_asm): Handle asm inline.
2144 * gimple.h (enum gf_mask): Add GF_ASM_INLINE.
2145 (gimple_asm_set_volatile): Fix typo.
2146 (gimple_asm_inline_p): New.
2147 (gimple_asm_set_inline): New.
2148 * gimplify.c (gimplify_asm_expr): Propagate the asm inline flag from
2149 tree to gimple.
2150 * ipa-icf-gimple.c (func_checker::compare_gimple_asm): Compare the
2151 gimple_asm_inline_p flag, too.
2152 * tree-core.h (tree_base): Document that protected_flag is ASM_INLINE_P
2153 in an ASM_EXPR.
2154 * tree-inline.c (estimate_num_insns): If gimple_asm_inline_p return
2155 a minimum size for an asm.
2156 * tree.h (ASM_INLINE_P): New.
2157
2158 2018-12-30 Iain Sandoe <iain@sandoe.co.uk>
2159
2160 backport from mainline.
2161 2018-12-12 Segher Boessenkool <segher@kernel.crashing.org>
2162 Iain Sandoe <iain@sandoe.co.uk>
2163
2164 PR target/88343
2165 * config/rs6000/rs6000.c (save_reg_p): Do not save the picbase reg
2166 unless it has been used.
2167 (first_reg_to_save): Remove dead code.
2168
2169 2018-12-24 Iain Sandoe <iain@sandoe.co.uk>
2170
2171 Backport from mainline
2172 2018-12-06 Iain Sandoe <iain@sandoe.co.uk>
2173
2174 PR c++/87380
2175 * config/darwin.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC) Remove, use the
2176 default.
2177 * config/rs6000/darwin7.h (TARGET_WEAK_NOT_IN_ARCHIVE_TOC): New.
2178
2179 2018-12-24 Iain Sandoe <iain@sandoe.co.uk>
2180
2181 Backport from mainline
2182 2018-12-06 Iain Sandoe <iain@sandoe.co.uk>
2183
2184 PR target/78444
2185 * config/i386/darwin.h (STACK_BOUNDARY): Remove macro.
2186 * config/i386/i386.c (ix86_compute_frame_layout): Ensure at least 128b
2187 stack alignment in non-leaf functions.
2188
2189 2018-12-24 Iain Sandoe <iain@sandoe.co.uk>
2190
2191 Backport from mainline
2192 2018-08-15 Iain Sandoe <iain@sandoe.co.uk>
2193
2194 PR target/81685
2195 * config/darwin.h: (DEBUG_STR_OFFSETS_SECTION, DEBUG_LOCLISTS_SECTION,
2196 DEBUG_RNGLISTS_SECTION) new macros. (DEBUG_PUBNAMES_SECTION,
2197 DEBUG_PUBTYPES_SECTION) update to include GNU variant.
2198
2199 2018-12-21 Uros Bizjak <ubizjak@gmail.com>
2200
2201 Backport from mainline
2202 2018-12-10 Uros Bizjak <ubizjak@gmail.com>
2203
2204 PR target/88418
2205 * config/i386/i386.c (ix86_expand_sse_cmp): For vector modes,
2206 check operand 1 with vector_operand predicate.
2207 (ix86_expand_sse_movcc): For vector modes, check op_true with
2208 vector_operand, not nonimmediate_operand.
2209
2210 2018-12-19 Bill Schmidt <wschmidt@linux.ibm.com>
2211
2212 Backport from mainline
2213 2018-12-18 Bill Schmidt <wschmidt@linux.ibm.com>
2214
2215 * doc/extend.texi (PowerPC Altivec/VSX Built-in Functions):
2216 Describe when a typedef name can be used as the type specifier for
2217 a vector type, and when it cannot.
2218
2219 2018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
2220
2221 Backport from trunk
2222 2018-12-19 Segher Boessenkool <segher@kernel.crashing.org>
2223
2224 PR target/88213
2225 * config/rs6000/vsx.md (*vsx_extract_<P:mode>_<VSX_D:mode>_load):
2226 Require TARGET_POWERPC64.
2227
2228 2018-12-17 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
2229
2230 Backport from trunk
2231 2018-12-17 Senthil Kumar Selvaraj <senthilkumar.selvaraj@microchip.com>
2232
2233 PR rtl-optimization/88253
2234 * combine.c (combine_simplify_rtx): Test for side-effects before
2235 substituting by zero.
2236
2237 2018-12-15 Segher Boessenkool <segher@kernel.crashing.org>
2238
2239 Backport from trunk
2240 2018-12-14 Segher Boessenkool <segher@kernel.crashing.org>
2241
2242 PR rtl-optimization/88001
2243 * function.c (match_asm_constraints_1): Don't invalidly share RTL.
2244
2245 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
2246
2247 Backport from mainline
2248 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
2249
2250 * config/s390/s390-builtins.def (s390_vec_double_s64): Map to
2251 s390_vec_double_s64 instead of s390_vcdgb.
2252 (s390_vec_double_u64): Map to s390_vec_double_u64 instead of
2253 s390_vcdlgb.
2254
2255 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
2256
2257 Backport from mainline
2258 2018-12-13 Andreas Krebbel <krebbel@linux.ibm.com>
2259
2260 * config/s390/vx-builtins.md ("vec_ctd_s64", "vec_ctd_u64")
2261 ("vec_ctsl", "vec_ctul"): Replace 0 with VEC_NOINEXACT.
2262 ("vec_double_s64", "vec_double_u64"): Replace 4 with VEC_INEXACT.
2263
2264 2018-12-12 Peter Bergner <bergner@linux.ibm.com>
2265
2266 Backport from mainline
2267 2018-12-07 Peter Bergner <bergner@linux.ibm.com>
2268
2269 PR target/87496
2270 * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
2271 -mabi=ieeelongdouble and -mabi=ibmlongdouble without -mlong-double-128.
2272 Do not error for -mabi=ibmlongdouble and no ISA 2.06 support.
2273 * doc/invoke.texi: Document -mabi=ibmlongdouble and -mabi=ieeelongdouble
2274 require -mlong-double-128.
2275
2276 2018-12-06 Richard Biener <rguenther@suse.de>
2277
2278 * BASE-VER: Increment to 7.4.1.
2279
2280 2018-12-06 Release Manager
2281
2282 * GCC 7.4.0 released.
2283
2284 2018-11-28 Richard Biener <rguenther@suse.de>
2285
2286 PR tree-optimization/79351
2287 * tree-ssa-sccvn.c (vn_reference_lookup_3): For assignments from
2288 empty CONSTRUCTORs ensure the store is at a constant position.
2289
2290 2018-11-26 Iain Sandoe <iain@sandoe.co.uk>
2291
2292 Backport from mainline
2293 2018-08-22 Iain Sandoe <iain@sandoe.co.uk>
2294
2295 PR bootstrap/81033
2296 PR target/81733
2297 PR target/52795
2298 * gcc/dwarf2out.c (FUNC_SECOND_SECT_LABEL): New.
2299 (dwarf2out_switch_text_section): Generate a local label for the second
2300 function sub-section and apply it as the second FDE start label.
2301 * gcc/final.c (final_scan_insn_1): Emit second FDE label after the
2302 second sub-section start.
2303
2304 2018-11-26 Iain Sandoe <iain@sandoe.co.uk>
2305
2306 2018-08-15 Iain Sandoe <iain@sandoe.co.uk>
2307
2308 * config/darwin.c
2309 (darwin_function_switched_text_sections): Delete.
2310 * gcc/config/darwin.h
2311 (TARGET_ASM_FUNCTION_SWITCHED_TEXT_SECTIONS): Likewise.
2312
2313 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com>
2314
2315 Backport from mainline
2316 2018-11-20 Andreas Krebbel <krebbel@linux.ibm.com>
2317
2318 * config/s390/s390.md ("clztidi2"): Swap the RTX's written to the
2319 DImode parts of the target operand.
2320
2321 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com>
2322
2323 Backport from mainline
2324 2018-11-26 Andreas Krebbel <krebbel@linux.ibm.com>
2325
2326 * doc/invoke.texi: Document z14/arch12 -march option.
2327
2328 2018-10-19 Richard Biener <rguenther@suse.de>
2329
2330 PR middle-end/87645
2331 Backport from mainline
2332 2018-07-12 Richard Biener <rguenther@suse.de>
2333
2334 * gimple-match-head.c (gimple_resimplify1): Apply recursion
2335 limit.
2336 (gimple_resimplify2): Likewise.
2337 (gimple_resimplify3): Likewise.
2338 (gimple_resimplify4): Likewise.
2339
2340 2018-11-26 Richard Biener <rguenther@suse.de>
2341
2342 Backport from mainline
2343 2018-10-15 Richard Biener <rguenther@suse.de>
2344
2345 PR middle-end/87610
2346 * tree-ssa-structalias.c (struct vls_data): Add escaped_p member.
2347 (visit_loadstore): When a used restrict tag escaped verify that
2348 the points-to solution of "other" pointers do not include
2349 escaped.
2350 (compute_dependence_clique): If a used restrict tag escaped
2351 communicated that down to visit_loadstore.
2352
2353 2018-10-25 Richard Biener <rguenther@suse.de>
2354
2355 PR tree-optimization/87665
2356 PR tree-optimization/87745
2357 * tree-vectorizer.h (get_earlier_stmt): Remove.
2358 (get_later_stmt): Pick up UID from the original non-pattern stmt.
2359
2360 2018-10-24 Richard Biener <rguenther@suse.de>
2361
2362 PR tree-optimization/87665
2363 * tree-vect-data-refs.c (vect_preserves_scalar_order_p): Adjust
2364 to reflect reality.
2365
2366 2018-11-26 Richard Biener <rguenther@suse.de>
2367
2368 Backport from mainline
2369 2018-06-14 Richard Biener <rguenther@suse.de>
2370
2371 PR middle-end/86139
2372 * tree-vect-generic.c (build_word_mode_vector_type): Remove
2373 duplicate and harmful type_hash_canon.
2374
2375 2018-06-15 Richard Biener <rguenther@suse.de>
2376
2377 PR middle-end/86076
2378 * tree-cfg.c (move_stmt_op): unshare invariant addresses
2379 before adjusting their block.
2380
2381 2018-11-22 Uros Bizjak <ubizjak@gmail.com>
2382
2383 Backport from mainline
2384 2018-11-16 Uros Bizjak <ubizjak@gmail.com>
2385
2386 PR target/88051
2387 * config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
2388 (movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.
2389
2390 2018-11-22 Tom de Vries <tom@codesourcery.com>
2391
2392 backport from trunk:
2393 2017-11-19 Tom de Vries <tom@codesourcery.com>
2394
2395 PR target/82961
2396 * vmsdbgout.c (vmsdbgout_early_finish): New function.
2397 (vmsdbg_debug_hooks): Set early_finish field to vmsdbgout_early_finish.
2398
2399 2018-11-21 Mihail Ionescu <mihail.ionescu@arm.com>
2400
2401 PR target/87867
2402 Backport from mainiline
2403 2018-09-26 Eric Botcazou <ebotcazou@adacore.com>
2404
2405 * config/arm/arm.c (arm_reorg): Skip Thumb reorg pass for thunks.
2406 (arm32_output_mi_thunk): Deal with long calls.
2407
2408 2018-11-20 Richard Biener <rguenther@suse.de>
2409
2410 Backport from mainline
2411 2018-03-12 Richard Biener <rguenther@suse.de>
2412
2413 PR tree-optimization/84777
2414 * tree-ssa-loop-ch.c (should_duplicate_loop_header_p): For
2415 force-vectorize loops ignore whether we are optimizing for size.
2416
2417 2018-01-26 Richard Biener <rguenther@suse.de>
2418
2419 PR rtl-optimization/84003
2420 * dse.c (record_store): Only record redundant stores when
2421 the earlier store aliases at least all accesses the later one does.
2422
2423 2018-11-20 Xuepeng Guo <xuepeng.guo@intel.com>
2424
2425 Backport from mainline
2426 2018-11-05 Xuepeng Guo <xuepeng.guo@intel.com>
2427
2428 PR target/87853
2429 * config/i386/emmintrin.h (__v16qs): New to cope with option
2430 -funsigned-char.
2431 (_mm_cmpeq_epi8): Replace __v16qi with __v16qs.
2432 (_mm_cmplt_epi8): Likewise.
2433 (_mm_cmpgt_epi8): Likewise.
2434
2435 2018-11-20 Eric Botcazou <ebotcazou@adacore.com>
2436
2437 PR rtl-optimization/85925
2438 * rtl.h (word_register_operation_p): New predicate.
2439 * combine.c (record_dead_and_set_regs_1): Only apply specific handling
2440 for WORD_REGISTER_OPERATIONS targets to word_register_operation_p RTX.
2441 * rtlanal.c (nonzero_bits1): Likewise. Adjust couple of comments.
2442 (num_sign_bit_copies1): Likewise.
2443
2444 2018-11-18 Uros Bizjak <ubizjak@gmail.com>
2445
2446 Backport from mainline
2447 2018-11-11 Uros Bizjak <ubizjak@gmail.com>
2448
2449 PR target/87928
2450 * config/i386/i386.h (STACK_BOUNDARY): Use TARGET_64BIT_MS_ABI
2451 instead of (TARGET_64BIT && ix86_abi == MS_ABI).
2452 * config/i386/darwin.h (STACK_BOUNDARY): Ditto.
2453 * config/i386/cygming.h (STACK_BOUNDARY): Remove.
2454
2455 2018-11-15 Nathan Sidwell <nathan@acm.org>
2456
2457 PR debug/88006
2458 PR debug/87462
2459 * dwarf2out.c (dwarf2out_finish): Apply resolve_addr to comdat
2460 type list.
2461
2462 2018-11-11 Uros Bizjak <ubizjak@gmail.com>
2463
2464 Backport from mainline
2465 2018-11-04 Uros Bizjak <ubizjak@gmail.com>
2466
2467 PR middle-end/58372
2468 * cfgexpand.c (pass_expand::execute): Move the call to
2469 finish_eh_generation in front of the call to expand_stack_alignment.
2470
2471 2018-11-07 Max Filippov <jcmvbkbc@gmail.com>
2472
2473 Backport from mainline
2474 2018-11-05 Max Filippov <jcmvbkbc@gmail.com>
2475
2476 * config/xtensa/uclinux.h (XTENSA_ALWAYS_PIC): Change to 0.
2477
2478 2018-10-26 Bill Schmidt <wschmidt@linux.ibm.com>
2479
2480 Backport from mainline
2481 2018-10-19 Bill Schmidt <wschmidt@linux.ibm.com>
2482
2483 PR tree-optimization/87473
2484 * gimple-ssa-strength-reduction.c (record_phi_increments): For
2485 phi arguments identical to the base expression of the phi
2486 candidate, record a phi-adjust increment of zero minus the index
2487 expression of the hidden basis.
2488 (phi_incr_cost): For phi arguments identical to the base
2489 expression of the phi candidate, the difference to compare against
2490 the increment is zero minus the index expression of the hidden
2491 basis, and there is no potential savings from replacing the (phi)
2492 statement.
2493 (ncd_with_phi): For phi arguments identical to the base expression
2494 of the phi candidate, the difference to compare against the
2495 increment is zero minus the index expression of the hidden basis.
2496 (all_phi_incrs_profitable): For phi arguments identical to the
2497 base expression of the phi candidate, the increment to be checked
2498 for profitability is zero minus the index expression of the hidden
2499 basis.
2500
2501 2018-10-19 Andreas Krebbel <krebbel@linux.ibm.com>
2502
2503 Backport from mainline
2504 2018-10-15 Andreas Krebbel <krebbel@linux.ibm.com>
2505
2506 * config/s390/s390.c (s390_expand_vec_init): Force vector element
2507 into reg if it isn't a general operand.
2508
2509 2018-10-17 Eric Botcazou <ebotcazou@adacore.com>
2510
2511 PR middle-end/87623
2512 * fold-const.c (fold_truth_andor_1): If the right side is not constant,
2513 bail out if both sides do not have the same storage order.
2514
2515 2018-10-16 Wilco Dijkstra <wdijkstr@arm.com>
2516
2517 Backported from mainline
2518 PR target/87511
2519 * config/aarch64/aarch64.c (aarch64_mask_and_shift_for_ubfiz_p):
2520 Use HOST_WIDE_INT_1U for shift.
2521
2522 2018-10-12 Jakub Jelinek <jakub@redhat.com>
2523
2524 Backported from mainline
2525 2018-10-10 Jakub Jelinek <jakub@redhat.com>
2526
2527 PR target/87550
2528 * config/i386/i386-builtin.def (IX86_BUILTIN_RDPMC): Move from args set
2529 to special_args set.
2530
2531 2018-09-12 Jakub Jelinek <jakub@redhat.com>
2532
2533 PR middle-end/87248
2534 * fold-const.c (fold_ternary_loc) <case COND_EXPR>: Verify also that
2535 BIT_AND_EXPR's second operand is a power of two. Formatting fix.
2536
2537 2018-08-27 Jakub Jelinek <jakub@redhat.com>
2538
2539 PR rtl-optimization/87065
2540 * combine.c (simplify_if_then_else): Formatting fix.
2541 (if_then_else_cond): Guard MULT optimization with SCALAR_INT_MODE_P
2542 check.
2543 (known_cond): Don't return const_true_rtx for vector modes. Use
2544 CONST0_RTX instead of const0_rtx. Formatting fixes.
2545
2546 2018-07-24 Jakub Jelinek <jakub@redhat.com>
2547
2548 PR middle-end/86627
2549 * expmed.c (expand_divmod): Punt if d == HOST_WIDE_INT_MIN
2550 and size > HOST_BITS_PER_WIDE_INT. For size > HOST_BITS_PER_WIDE_INT
2551 and abs_d == d, do the power of two handling if profitable.
2552
2553 2018-07-17 Jakub Jelinek <jakub@redhat.com>
2554
2555 PR middle-end/86542
2556 * omp-low.c (create_task_copyfn): Copy over also fields corresponding
2557 to _looptemp_ clauses, other than the first two.
2558
2559 PR middle-end/86539
2560 * gimplify.c (gimplify_omp_for): Ensure taskloop firstprivatized init
2561 and cond temporaries don't have reference type if iterator has
2562 pointer type. For init use &for_pre_body instead of pre_p if
2563 for_pre_body is non-empty.
2564
2565 2018-07-26 Jakub Jelinek <jakub@redhat.com>
2566
2567 PR middle-end/86660
2568 * omp-low.c (scan_sharing_clauses): Don't ignore map clauses for
2569 declare target to variables if they have always,{to,from,tofrom} map
2570 kinds.
2571
2572 2018-10-12 Richard Biener <rguenther@suse.de>
2573
2574 Backport from mainline
2575 2018-08-23 Richard Biener <rguenther@suse.de>
2576
2577 PR middle-end/87024
2578 * tree-inline.c (copy_bb): Drop unused __builtin_va_arg_pack_len
2579 calls.
2580
2581 2018-08-17 Richard Biener <rguenther@suse.de>
2582
2583 PR middle-end/86505
2584 * tree-inline.c (copy_bb): When inlining __builtin_va_arg_pack_len ()
2585 across a va-arg-pack using call adjust its return value accordingly.
2586
2587 2018-10-09 H.J. Lu <hongjiu.lu@intel.com>
2588
2589 Backport from mainline
2590 2018-09-29 H.J. Lu <hongjiu.lu@intel.com>
2591
2592 PR target/87370
2593 * config/i386/i386.c (construct_container): Use TImode for
2594 BLKmode values in 2 integer registers.
2595
2596 2018-10-08 H.J. Lu <hongjiu.lu@intel.com>
2597
2598 Backport from mainline
2599 2018-10-08 H.J. Lu <hongjiu.lu@intel.com>
2600
2601 PR target/87517
2602 * config/i386/avx512fintrin.h (_mm512_mask_fmaddsub_round_pd):
2603 Defined with __builtin_ia32_vfmaddsubpd512_mask.
2604
2605 2018-10-05 H.J. Lu <hongjiu.lu@intel.com>
2606
2607 Backport from mainline
2608 2018-10-05 H.J. Lu <hongjiu.lu@intel.com>
2609
2610 PR target/87522
2611 * config/i386/gnu-user.h (ASM_SPEC): Don't pass -msse2avx to
2612 assembler for -mavx.
2613 * config/i386/gnu-user64.h (ASM_SPEC): Likewise.
2614
2615 2018-10-03 Uros Bizjak <ubizjak@gmail.com>
2616
2617 Backport from mainline
2618 2018-09-28 Uros Bizjak <ubizjak@gmail.com>
2619
2620 * config/i386/i386.h (SSE_REGNO): Fix check for FIRST_REX_SSE_REG.
2621 (GET_SSE_REGNO): Rename from SSE_REGNO. Update all uses for rename.
2622
2623 2018-10-03 Jonathan Wakely <jwakely@redhat.com>
2624
2625 PR other/87353
2626 * doc/invoke.texi (Link Options): Fix formatting and grammar.
2627
2628 2018-10-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2629
2630 Backport from mainline
2631 2018-06-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2632
2633 * config/arm/arm.c (output_move_double): Don't allow STRD instructions
2634 if starting source register is not even.
2635
2636 2018-09-29 Jakub Jelinek <jakub@redhat.com>
2637
2638 PR target/87467
2639 * config/i386/avx512fintrin.h (_mm512_abs_pd, _mm512_mask_abs_pd): Use
2640 __m512d type for __A argument rather than __m512.
2641
2642 2018-09-27 Michael Meissner <meissner@linux.ibm.com>
2643
2644 Backport from mainline
2645 2018-08-20 Michael Meissner <meissner@linux.ibm.com>
2646
2647 PR target/87033
2648 * config/rs6000/rs6000.md (extendsi<mode>2): Change constraints
2649 from 'Y' to 'YZ' to enable the LWAX instruction to be generated
2650 for indexed loads.
2651
2652 2018-09-21 Eric Botcazou <ebotcazou@adacore.com>
2653
2654 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Return false
2655 if the call takes a static chain.
2656
2657 2018-09-19 John David Anglin <danglin@gcc.gnu.org>
2658
2659 * config/pa/pa.md (atomic_storeqi): Restore deleted expander.
2660 (atomic_storehi): Likewise.
2661 (atomic_storesi): Likewise.
2662 (atomic_loaddi): Restore compare and swap exchange loop code.
2663
2664 2018-09-12 Segher Boessenkool <segher@kernel.crashing.org>
2665
2666 Backport from trunk
2667 2018-08-24 Segher Boessenkool <segher@kernel.crashing.org>
2668
2669 PR target/86989
2670 * config/rs6000/rs6000.c (toc_relative_expr_p): Check that the base is
2671 the TOC register.
2672
2673 2018-09-12 Andreas Krebbel <krebbel@linux.ibm.com>
2674
2675 Backport from mainline
2676 2018-09-12 Andreas Krebbel <krebbel@linux.ibm.com>
2677
2678 * config/s390/s390.md (PFPO_RND_MODE_DFP, PFPO_RND_MODE_BFP): New
2679 constants.
2680 ("trunc<BFP:mode><DFP_ALL:mode>2")
2681 ("trunc<DFP_ALL:mode><BFP:mode>2")
2682 ("extend<BFP:mode><DFP_ALL:mode>2")
2683 ("extend<DFP_ALL:mode><BFP:mode>2"): Set proper rounding mode
2684 according to the target operand type.
2685
2686 2018-09-04 Max Filippov <jcmvbkbc@gmail.com>
2687
2688 Backport from mainline
2689 2018-09-04 Max Filippov <jcmvbkbc@gmail.com>
2690
2691 * config/xtensa/xtensa.c (xtensa_expand_atomic): Reorder AND and
2692 XOR operations in NAND case.
2693
2694 2018-09-04 Jonathan Wakely <jwakely@redhat.com>
2695
2696 * doc/invoke.texi (Option Summary): Add -Waligned-new.
2697
2698 2018-09-03 Tom de Vries <tdevries@suse.de>
2699
2700 backport from trunk:
2701 2018-06-21 Tom de Vries <tdevries@suse.de>
2702
2703 PR tree-optimization/85859
2704 * tree-ssa-tail-merge.c (stmt_local_def): Copy gimple_is_call
2705 test with comment from bb_no_side_effects_p.
2706
2707 2018-08-25 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2708
2709 Backport from mainline
2710 PR target/86662
2711 * gcc/tree.c (build_common_tree_nodes): Initialize integer_types array
2712 with all enabled __intN types.
2713
2714 * gcc/testsuite/gcc.target/msp430/pr86662.c: New test.
2715
2716 2018-08-21 H.J. Lu <hongjiu.lu@intel.com>
2717
2718 Backport from mainline
2719 2018-08-20 H.J. Lu <hongjiu.lu@intel.com>
2720
2721 PR target/87014
2722 * config/i386/i386.md (eh_return): Always update EH return
2723 address in word_mode.
2724
2725 2018-08-17 John David Anglin <danglin@gcc.gnu.org>
2726
2727 Backport from mainline
2728 2018-08-11 John David Anglin <danglin@gcc.gnu.org>
2729
2730 * config/pa/pa.md (UNSPEC_MEMORY_BARRIER): New unspec enum.
2731 Update comment for atomic instructions.
2732 (atomic_storeqi, atomic_storehi, atomic_storesi, atomic_storesf,
2733 atomic_loaddf, atomic_loaddf_1, atomic_storedf, atomic_storedf_1):
2734 Remove.
2735 (atomic_loaddi): Revise fence expansion to only emit fence prior to
2736 load for __ATOMIC_SEQ_CST model.
2737 (atomic_loaddi_1): Remove float register target.
2738 (atomic_storedi): Handle CONST_INT values.
2739 (atomic_storedi_1): Remove float register source. Add special case
2740 for zero value.
2741 (memory_barrier): New expander and insn.
2742
2743 2018-08-13 Segher Boessenkool <segher@kernel.crashing.org>
2744
2745 Backport from mainline
2746 2018-05-09 Segher Boessenkool <segher@kernel.crashing.org>
2747
2748 PR rtl-optimization/85645
2749 * regrename.c (build_def_use): Also kill the chains that include the
2750 destination of a REG_CFA_REGISTER note.
2751
2752 PR rtl-optimization/85645
2753 * regcprop.c (copyprop_hardreg_forward_1): Don't propagate into an
2754 insn that has a REG_CFA_REGISTER note.
2755
2756 2018-08-10 Segher Boessenkool <segher@kernel.crashing.org>
2757
2758 Backport from mainline
2759 2018-06-19 Segher Boessenkool <segher@kernel.crashing.org>
2760
2761 PR target/86197
2762 * config/rs6000/rs6000.md (rs6000_discover_homogeneous_aggregate): An
2763 ieee128 argument takes up only one (vector) register, not two (floating
2764 point) registers.
2765
2766 2018-08-02 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2767
2768 Backport from mainline
2769 2018-07-31 Jozef Lawrynowicz <jozef.l@mittosystems.com>
2770
2771 PR middle-end/86705
2772 * gcc/cfgexpand.c (set_parm_rtl): Use the alignment of Pmode when
2773 MAX_SUPPORTED_STACK_ALIGNMENT would otherwise be exceeded by the
2774 requested variable alignment.
2775 (expand_one_ssa_partition): Likewise.
2776 (expand_one_var): Likewise.
2777
2778 2018-08-01 Richard Biener <rguenther@suse.de>
2779
2780 PR bootstrap/86724
2781 * graphite.h: Include isl/id.h and isl/space.h to allow build
2782 with ISL 0.20.
2783
2784 2018-07-29 John David Anglin <danglin@gcc.gnu.org>
2785
2786 * config/pa/pa.c (pa_output_addr_vec): Align address table.
2787 * config/pa/pa.h (JUMP_TABLES_IN_TEXT_SECTION): Revise comment.
2788 * config/pa/pa32-linux.h (JUMP_TABLES_IN_TEXT_SECTION): Define.
2789
2790 2018-07-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2791
2792 Backport from mainline
2793 PR target/84168
2794 2017-09-28 Joseph Myers <joseph@codesourcery.com>
2795
2796 * config/aarch64/aarch64.c (aarch64_elf_asm_constructor)
2797 (aarch64_elf_asm_destructor): Pass SECTION_NOTYPE to get_section
2798 when creating .init_array and .fini_array sections with priority
2799 specified.
2800
2801 2018-07-12 Richard Biener <rguenther@suse.de>
2802
2803 PR target/84829
2804 * config/gnu-user.h (GNU_USER_TARGET_NO_PTHREADS_LIB_SPEC):
2805 Remove -mieee-fp handling.
2806
2807 2018-07-10 Carl Love <cel@us.ibm.com>
2808
2809 Backport from mainline
2810 2017-09-07 Carl Love <cel@us.ibm.com>
2811
2812 * config/rs6000/vsx.md (define_insn "*stxvl"): Add missing argument to
2813 the sldi instruction.
2814
2815 2018-06-29 Martin Liska <mliska@suse.cz>
2816
2817 Backport from mainline
2818 2018-01-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
2819
2820 * lex.c (search_line_fast): Remove illegal coercion of an
2821 unaligned pointer value to vector pointer type and replace with
2822 use of __builtin_vec_vsx_ld () built-in function, which operates
2823 on unaligned pointer values.
2824
2825 2018-06-27 David Edelsohn <dje.gcc@gmail.com>
2826
2827 2018-06-19 Tony Reix <tony.reix@atos.com>
2828 Damien Bergamini <damien.bergamini@atos.com>
2829 David Edelsohn <dje.gcc@gmail.com>
2830
2831 * collect2.c (static_obj): New variable.
2832 (static_libs): New variable.
2833 (is_in_list): Uncomment declaration.
2834 (main): Track AIX libraries linked statically.
2835 (is_in_list): Uncomment definition.
2836 (scan_prog_file): Don't add AIX shared libraries initializer
2837 to constructor list if linking statically.
2838
2839 2018-06-26 Kelvin Nilsen <kelvin@gcc.gnu.org>
2840
2841 Backported from mainline
2842 2018-06-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
2843
2844 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Change
2845 behavior of vec_packsu (vector unsigned long long, vector unsigned
2846 long long) to match behavior of vec_packs with same signature.
2847
2848 2018-06-26 Robin Dapp <rdapp@linux.vnet.ibm.com>
2849
2850 * config/s390/s390.h (enum processor_flags): Do not use
2851 default tune parameter when -march was specified.
2852
2853 2018-06-26 Jakub Jelinek <jakub@redhat.com>
2854
2855 PR target/86314
2856 * config/i386/i386.md (setcc + movzbl to xor + setcc peephole2s):
2857 Check reg_overlap_mentioned_p in addition to reg_set_p with the same
2858 operands.
2859
2860 2018-06-25 Michael Meissner <meissner@linux.vnet.ibm.com>
2861
2862 Back port from trunk
2863 2018-04-17 Michael Meissner <meissner@linux.vnet.ibm.com>
2864
2865 PR target/85424
2866 * config/rs6000/rs6000.md (pack<mode>): Do not try handle a pack
2867 where the inputs overlap with the output.
2868
2869 2018-06-25 Jakub Jelinek <jakub@redhat.com>
2870
2871 PR target/84786
2872 * config/i386/sse.md (vshift_count): New mode attr.
2873 (<shift_insn><mode>3<mask_name>): Use <vshift_count>N instead of vN
2874 as last operand's constraint for VI2_AVX2_AVX512BW shifts. Use YvN
2875 instead of vN as last operand's constraint for VI48_AVX2 shifts.
2876
2877 2018-06-23 Richard Sandiford <richard.sandiford@linaro.org>
2878
2879 PR tree-optimization/85989
2880 * gimple-ssa-backprop.c (backprop::m_visited_phis): New member
2881 variable.
2882 (backprop::intersect_uses): Check it when deciding whether this
2883 is a backedge reference.
2884 (backprop::process_block): Add each phi to m_visited_phis
2885 after visiting it, then clear it at the end.
2886
2887 2018-06-22 Jakub Jelinek <jakub@redhat.com>
2888
2889 Backported from mainline
2890 2018-06-20 Jakub Jelinek <jakub@redhat.com>
2891
2892 PR tree-optimization/86231
2893 * tree-vrp.c (union_ranges): For ( [ ) ] or ( )[ ] range and
2894 anti-range don't overwrite *vr0min before using it to compute *vr0max.
2895
2896 2018-06-15 Jakub Jelinek <jakub@redhat.com>
2897
2898 PR middle-end/85878
2899 * expr.c (expand_assignment): Only call store_expr for halves if the
2900 mode is the same.
2901
2902 2018-06-14 Jakub Jelinek <jakub@redhat.com>
2903
2904 PR target/85945
2905 * lower-subreg.c (find_decomposable_subregs): Don't decompose float
2906 subregs of multi-word pseudos unless the float mode has word size.
2907
2908 2018-06-04 Jakub Jelinek <jakub@redhat.com>
2909
2910 PR c++/86025
2911 * tree.c (inchash::add_expr): Handle IDENTIFIER_NODE.
2912
2913 2018-05-06 Jakub Jelinek <jakub@redhat.com>
2914
2915 PR c++/85659
2916 * cfgexpand.c (expand_asm_stmt): Don't create a temporary if
2917 the type is addressable. Don't force op into register if it has
2918 BLKmode.
2919
2920 2018-05-01 Jakub Jelinek <jakub@redhat.com>
2921
2922 PR web/85578
2923 * doc/install.texi2html: Replace _002d with - and _002a with * in
2924 generated html files using sed.
2925
2926 2018-04-27 Jakub Jelinek <jakub@redhat.com>
2927
2928 PR tree-optimization/85529
2929 * tree-ssa-reassoc.c (optimize_range_tests_var_bound): Add FIRST_BB
2930 argument. Don't call get_nonzero_bits if opcode is ERROR_MARK_NODE,
2931 rhs2 def stmt's bb is dominated by first_bb and it isn't an obvious
2932 zero extension or masking of the MSB bit.
2933 (optimize_range_tests): Add FIRST_BB argument, pass it through
2934 to optimize_range_tests_var_bound.
2935 (maybe_optimize_range_tests, reassociate_bb): Adjust
2936 optimize_range_tests callers.
2937
2938 2018-04-19 Jakub Jelinek <jakub@redhat.com>
2939
2940 PR tree-optimization/85446
2941 * match.pd ((intptr_t) x eq/ne CST to x eq/ne (typeof x) cst): Require
2942 the integral and pointer types to have the same precision.
2943
2944 2018-04-18 David Malcolm <dmalcolm@redhat.com>
2945
2946 PR jit/85384
2947 * configure.ac (gcc-driver-name.h): Honor --with-gcc-major-version
2948 by using gcc_base_ver to generate a gcc_driver_version, and use
2949 it when generating GCC_DRIVER_NAME.
2950 * configure: Regenerate.
2951
2952 2018-04-17 Jakub Jelinek <jakub@redhat.com>
2953
2954 PR rtl-optimization/85431
2955 * dse.c (record_store): Ignore zero width stores.
2956
2957 PR target/85430
2958 * config/i386/i386.md (*ashlqi3_1_slp): Use alu1 type instead of alu.
2959
2960 2018-04-10 Jakub Jelinek <jakub@redhat.com>
2961
2962 PR rtl-optimization/85300
2963 * combine.c (subst): Handle subst of CONST_SCALAR_INT_P new_rtx also
2964 into FLOAT and UNSIGNED_FLOAT like ZERO_EXTEND, return a CLOBBER if
2965 simplify_unary_operation fails.
2966
2967 2018-04-07 Jakub Jelinek <jakub@redhat.com>
2968
2969 PR tree-optimization/85257
2970 * fold-const.c (native_encode_vector): If not all elts could fit
2971 and off is -1, return 0 rather than offset.
2972 * tree-ssa-sccvn.c (vn_reference_lookup_3): Pass
2973 (offset - offset2) / BITS_PER_UNIT as 4th argument to
2974 native_encode_expr. Verify len * BITS_PER_UNIT >= maxsizei. Don't
2975 adjust buffer in native_interpret_expr call.
2976
2977 2018-04-06 Jakub Jelinek <jakub@redhat.com>
2978
2979 PR debug/85252
2980 * dwarf2out.c (rtl_for_decl_init): For STRING_CST initializer only
2981 build CONST_STRING if TYPE_MAX_VALUE is non-NULL and is INTEGER_CST.
2982
2983 2018-04-03 Jakub Jelinek <jakub@redhat.com>
2984
2985 PR rtl-optimization/85167
2986 * shrink-wrap.c (move_insn_for_shrink_wrap): Don't set bb_uses and
2987 bb_defs if *split_p, instead preinitialize it to NULL.
2988
2989 2018-03-28 Jakub Jelinek <jakub@redhat.com>
2990
2991 PR target/85095
2992 * config/i386/i386.md (*add<mode>3_carry_0, *addsi3_carry_zext_0,
2993 *sub<mode>3_carry_0, *subsi3_carry_zext_0): New patterns.
2994
2995 2018-03-23 Jakub Jelinek <jakub@redhat.com>
2996
2997 PR inline-asm/85022
2998 * emit-rtl.c (init_emit_regs): Indicate that VOIDmode MEMs don't have
2999 known size by default.
3000
3001 PR inline-asm/85034
3002 * function.c (match_asm_constraints_1): Don't optimize if input
3003 doesn't satisfy general_operand predicate for output's mode.
3004
3005 PR inline-asm/85022
3006 * alias.c (write_dependence_p): Don't require for x_canonicalized
3007 non-VOIDmode if x has VOIDmode.
3008
3009 2018-03-22 Jakub Jelinek <jakub@redhat.com>
3010
3011 PR inline-asm/84941
3012 * function.c (match_asm_constraints_1): Don't do the optimization
3013 if input isn't a REG, SUBREG, MEM or constant.
3014
3015 PR sanitizer/85018
3016 * dwarf2asm.c (dw2_output_indirect_constant_1): Set
3017 DECL_INITIAL (decl) to decl at the end.
3018 * varasm.c (use_blocks_for_decl_p): Revert the 2018-03-20 change,
3019 adjust the comment.
3020
3021 2018-03-20 Jakub Jelinek <jakub@redhat.com>
3022
3023 PR debug/84875
3024 * dce.c (delete_unmarked_insns): Don't remove frame related noop moves
3025 holding REG_CFA_RESTORE notes, instead turn them into a USE.
3026
3027 PR c/84953
3028 * builtins.c (fold_builtin_strpbrk): For strpbrk(x, "") use type
3029 instead of TREE_TYPE (s1) for the return value.
3030
3031 PR target/84990
3032 * dwarf2asm.c (dw2_output_indirect_constant_1): Temporarily turn off
3033 flag_section_anchors.
3034 * varasm.c (use_blocks_for_decl_p): Remove hack for
3035 dw2_force_const_mem.
3036
3037 2018-03-19 Jakub Jelinek <jakub@redhat.com>
3038
3039 PR sanitizer/78651
3040 * dwarf2asm.c: Include fold-const.c.
3041 (dw2_output_indirect_constant_1): Set DECL_INITIAL (decl) to ADDR_EXPR
3042 of decl rather than decl itself.
3043
3044 2018-03-19 Maxim Ostapenko <m.ostapenko@samsung.com>
3045
3046 PR sanitizer/78651
3047 * dwarf2asm.c (dw2_output_indirect_constant_1): Disable ASan before
3048 calling assemble_variable.
3049
3050 2018-03-16 Jakub Jelinek <jakub@redhat.com>
3051
3052 PR target/84899
3053 * postreload.c (reload_combine_recognize_pattern): Perform
3054 INTVAL addition in unsigned HOST_WIDE_INT type to avoid UB and
3055 truncate_int_for_mode the result for the destination's mode.
3056
3057 PR tree-optimization/84841
3058 * tree-ssa-reassoc.c (INTEGER_CONST_TYPE): Change to 1 << 4 from
3059 1 << 3.
3060 (FLOAT_ONE_CONST_TYPE): Define.
3061 (constant_type): Return FLOAT_ONE_CONST_TYPE for -1.0 and 1.0.
3062 (sort_by_operand_rank): Put entries with higher constant_type last
3063 rather than first to match comments.
3064
3065 2018-03-15 Jakub Jelinek <jakub@redhat.com>
3066
3067 PR c++/79085
3068 * calls.c (expand_call): For TREE_ADDRESSABLE rettype ignore alignment
3069 check and use address of target always.
3070
3071 PR target/84860
3072 * optabs.c (emit_conditional_move): Pass address of cmode's copy
3073 rather than address of cmode as last argument to prepare_cmp_insn.
3074
3075 2018-03-13 Jakub Jelinek <jakub@redhat.com>
3076
3077 PR middle-end/84834
3078 * match.pd ((A & C) != 0 ? D : 0): Use INTEGER_CST@2 instead of
3079 integer_pow2p@2 and test integer_pow2p in condition.
3080 (A < 0 ? C : 0): Similarly for @1.
3081
3082 PR target/84827
3083 * config/i386/i386.md (round<mode>2): For 387 fancy math, disable
3084 pattern if -ftrapping-math -fno-fp-int-builtin-inexact.
3085
3086 PR target/84786
3087 * config/i386/sse.md (sse2_loadhpd): Use Yv constraint rather than v
3088 on the last operand.
3089
3090 2018-03-09 Jakub Jelinek <jakub@redhat.com>
3091
3092 PR target/84772
3093 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Mark va_arg_tmp
3094 temporary TREE_ADDRESSABLE before gimplification of BUILT_IN_MEMCPY.
3095
3096 PR c++/84767
3097 * tree-inline.c (copy_tree_body_r): For INDIRECT_REF of a remapped
3098 decl, use remap_type if we want to use the type.
3099
3100 2018-03-08 Jakub Jelinek <jakub@redhat.com>
3101
3102 PR tree-optimization/84739
3103 * tree-tailcall.c (find_tail_calls): Check call arguments against
3104 DECL_ARGUMENTS (current_function_decl) rather than
3105 DECL_ARGUMENTS (func) when checking for tail recursion.
3106
3107 2018-03-05 Jakub Jelinek <jakub@redhat.com>
3108
3109 PR target/84700
3110 * combine.c (combine_simplify_rtx): Don't try to simplify if
3111 if_then_else_cond returned non-NULL, but either true_rtx or false_rtx
3112 are equal to x.
3113
3114 2018-06-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
3115
3116 Backport from mainline
3117 2018-06-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
3118
3119 * config/arm/arm_cmse.h (cmse_nsfptr_create): Change typeof to
3120 __typeof__.
3121 (cmse_check_pointed_object): Likewise.
3122
3123 2018-06-22 Andre Vieira <andre.simoesdiasvieira@arm.com>
3124
3125 Backport from mainline
3126 2018-05-17 Jerome Lambourg <lambourg@adacore.com>
3127
3128 * config/arm/arm_cmse.h (cmse_nsfptr_create, cmse_is_nsfptr): Remove
3129 #include <stdint.h>. Replace intptr_t with __INTPTR_TYPE__.
3130
3131 2018-06-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
3132
3133 Backport from mainline
3134 2018-06-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3135
3136 * config.gcc (riscv*-*-elf* | riscv*-*-rtems*): Use custom
3137 multilibs for *-*-rtems*.
3138 * config/riscv/t-rtems: New file.
3139
3140 2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
3141
3142 Backport from mainline
3143 2018-06-19 Max Filippov <jcmvbkbc@gmail.com>
3144
3145 * config/xtensa/xtensa.md (UNSPEC_FRAME_BLOCKAGE): New unspec
3146 constant.
3147 (allocate_stack, frame_blockage, *frame_blockage): New patterns.
3148
3149 2018-06-19 Eric Botcazou <ebotcazou@adacore.com>
3150
3151 * gimplify.c (gimplify_init_constructor): Really never clear for an
3152 incomplete constructor if CONSTRUCTOR_NO_CLEARING is set.
3153
3154 2018-06-18 Martin Sebor <msebor@redhat.com>
3155
3156 PR middle-end/82063
3157 * calls.c (alloc_max_size): Correct a logic error/typo.
3158 Treat excessive arguments as infinite. Warn for invalid arguments.
3159 * doc/invoke.texi (-Walloc-size-larger-than): Update.
3160
3161 2018-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
3162
3163 Backport from mainline
3164 2018-06-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
3165
3166 * config/rtems.h (STDINT_LONG32): Define.
3167
3168 2018-06-11 Peter Bergner <bergner@vnet.ibm.com>
3169
3170 Backport from mainline
3171 2018-06-08 Peter Bergner <bergner@vnet.ibm.com>
3172
3173 PR target/85755
3174 * config/rs6000/rs6000.c (mem_operand_gpr): Enable PRE_INC and PRE_DEC
3175 addresses.
3176
3177 2018-06-07 Peter Bergner <bergner@vnet.ibm.com>
3178
3179 Backport from mainline
3180 2018-06-06 Peter Bergner <bergner@vnet.ibm.com>
3181
3182 PR target/63177
3183 * /config/rs6000/rs6000.h (ASM_CPU_SPEC): Add support for -mpower9.
3184 Don't handle -mcpu=power8 if -mpower9-vector is also used.
3185
3186 2018-06-07 Richard Biener <rguenther@suse.de>
3187
3188 Backport from mainline
3189 2018-05-04 Richard Biener <rguenther@suse.de>
3190
3191 PR middle-end/85588
3192 * fold-const.c (negate_expr_p): Restrict negation of operand
3193 zero of a division to when we know that can happen without
3194 overflow.
3195 (fold_negate_expr_1): Likewise.
3196
3197 2018-05-02 Richard Biener <rguenther@suse.de>
3198
3199 PR middle-end/85567
3200 * gimplify.c (gimplify_save_expr): When in SSA form allow
3201 SAVE_EXPRs to compute to SSA vars.
3202
3203 2018-05-02 Richard Biener <rguenther@suse.de>
3204
3205 PR tree-optimization/85597
3206 * tree-vect-stmts.c (vectorizable_operation): For ternary SLP
3207 do not use split vect_get_vec_defs call but call vect_get_slp_defs
3208 directly.
3209
3210 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com>
3211
3212 Backport from mainline
3213 2018-06-05 Andreas Krebbel <krebbel@linux.ibm.com>
3214
3215 * config/s390/s390-builtin-types.def: Add void function type.
3216 * config/s390/s390-builtins.def: Use the function type for the
3217 tbeginc builtin.
3218
3219 2018-06-01 Bill Schmidt <wschmidt@linux.ibm.com>
3220
3221 PR tree-optimization/85712
3222 Backport from mainline:
3223 2018-05-23 Bill Schmidt <wschmidt@linux.ibm.com>
3224
3225 PR tree-optimization/85712
3226 * gimple-ssa-strength-reduction.c (struct slsr_cand_d): Add
3227 first_interp field.
3228 (alloc_cand_and_find_basis): Initialize first_interp field.
3229 (slsr_process_mul): Modify first_interp field.
3230 (slsr_process_add): Likewise.
3231 (slsr_process_cast): Modify first_interp field for each new
3232 interpretation.
3233 (slsr_process_copy): Likewise.
3234 (dump_candidate): Dump first_interp field.
3235 (replace_mult_candidate): Process all interpretations, not just
3236 subsequent ones.
3237 (replace_rhs_if_not_dup): Likewise.
3238 (replace_one_candidate): Likewise.
3239
3240 Backport from mainline:
3241 2018-05-25 Bill Schmidt <wschmidt@linux.ibm.com>
3242
3243 PR tree-optimization/85712
3244 * gimple-ssa-strength-reduction.c (replace_one_candidate): Skip if
3245 this candidate has already been replaced in-situ by a copy.
3246
3247 2018-05-24 Uros Bizjak <ubizjak@gmail.com>
3248
3249 * config/i386/sse.md (cvtusi2<ssescalarmodesuffix>64<round_name>):
3250 Add {q} suffix to insn mnemonic.
3251
3252 2018-05-24 Uros Bizjak <ubizjak@gmail.com>
3253
3254 PR target/85903
3255 * config/i386/sse.md (movdi_to_sse): Do not generate pseudo
3256 when memory input operand is handled.
3257
3258 2018-05-21 Pat Haugen <pthaugen@us.ibm.com>
3259
3260 Backport from mainline
3261 2018-05-17 Pat Haugen <pthaugen@us.ibm.com>
3262 Segher Boessenkool <segher@kernel.crashing.org>
3263
3264 PR target/85698
3265 * config/rs6000/rs6000.c (rs6000_output_move_128bit): Check
3266 dest operand.
3267
3268 2018-05-17 Martin Jambor <mjambor@suse.cz>
3269
3270 Backport from mainline
3271 2018-05-11 Martin Jambor <mjambor@suse.cz>
3272
3273 PR ipa/85655
3274 * ipa-cp.c (intersect_with_plats): Check that the lattice contains
3275 single const.
3276
3277 2018-05-01 Tom de Vries <tom@codesourcery.com>
3278
3279 backport from trunk:
3280 2018-04-16 Cesar Philippidis <cesar@codesourcery.com>
3281 Tom de Vries <tom@codesourcery.com>
3282
3283 PR middle-end/84955
3284 * omp-expand.c (expand_oacc_for): Add dummy false branch for
3285 tiled basic blocks without omp continue statements.
3286
3287 2018-04-26 Richard Biener <rguenther@suse.de>
3288
3289 Backport from mainline
3290 2018-04-09 Richard Biener <rguenther@suse.de>
3291
3292 PR tree-optimization/85284
3293 * tree-ssa-loop-niter.c (number_of_iterations_exit_assumptions):
3294 Only use the niter constraining form of simple_iv when the exit
3295 is always executed.
3296
3297 2018-04-06 Richard Biener <rguenther@suse.de>
3298
3299 PR middle-end/85244
3300 * tree-dfa.c (get_ref_base_and_extent): Reset seen_variable_array_ref
3301 after seeing a component reference with an adjacent field. Treat
3302 refs to arrays at struct end of external decls similar to
3303 refs to unconstrained commons.
3304
3305 2018-04-04 Richard Biener <rguenther@suse.de>
3306
3307 PR tree-optimization/85168
3308 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address): Avoid
3309 propagating abnormals.
3310
3311 2018-04-24 Martin Liska <mliska@suse.cz>
3312
3313 Backport from mainline
3314 2018-04-17 Martin Liska <mliska@suse.cz>
3315
3316 PR lto/85405
3317 * ipa-devirt.c (odr_types_equivalent_p): Remove trailing
3318 in message, remote space in between '_G' and '('.
3319
3320 2018-04-24 Martin Liska <mliska@suse.cz>
3321
3322 Backport from mainline
3323 2018-04-17 Jan Hubicka <jh@suse.cz>
3324
3325 PR lto/85405
3326 * ipa-devirt.c (odr_types_equivalent_p): Handle bit fields.
3327
3328 2018-04-24 Martin Liska <mliska@suse.cz>
3329
3330 Backport from mainline
3331 2018-03-28 Jakub Jelinek <jakub@redhat.com>
3332 Martin Liska <mliska@suse.cz>
3333
3334 PR sanitizer/85081
3335 * gimplify.c (asan_poison_variable): Don't do the check for
3336 gimplify_omp_ctxp here.
3337 (gimplify_decl_expr): Do it here.
3338 (gimplify_target_expr): Likewise.
3339
3340 2018-04-24 Martin Liska <mliska@suse.cz>
3341
3342 Backport from mainline
3343 2018-03-21 Martin Liska <mliska@suse.cz>
3344
3345 PR ipa/84963
3346 * ipa-icf.c (sem_item_optimizer::fixup_points_to_sets): Remove
3347 not intended return statement.
3348
3349 2018-04-24 Martin Liska <mliska@suse.cz>
3350
3351 Backport from mainline
3352 2018-03-13 Martin Liska <mliska@suse.cz>
3353
3354 PR ipa/84658.
3355 * (sem_item_optimizer::sem_item_optimizer): Initialize new
3356 vector.
3357 (sem_item_optimizer::~sem_item_optimizer): Release it.
3358 (sem_item_optimizer::merge_classes): Register variable aliases.
3359 (sem_item_optimizer::fixup_pt_set): New function.
3360 (sem_item_optimizer::fixup_points_to_sets): Likewise.
3361 * ipa-icf.h: Declare new variables and functions.
3362
3363 2018-04-23 Aaron Sawdey <acsawdey@linux.ibm.com>
3364
3365 Backport from mainline
3366 2018-04-16 Aaron Sawdey <acsawdey@linux.ibm.com>
3367
3368 PR target/83660
3369 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Mark
3370 vec_extract expression as having side effects to make sure it gets
3371 a cleanup point.
3372
3373 2018-04-23 Eric Botcazou <ebotcazou@adacore.com>
3374
3375 PR middle-end/85496
3376 * expr.c (store_field): In the bitfield case, if the value comes from
3377 a function call and is returned in registers by means of a PARALLEL,
3378 do not change the mode of the temporary unless BLKmode and VOIDmode.
3379
3380 2018-04-20 Peter Bergner <bergner@vnet.ibm.com>
3381
3382 Backport from mainline
3383 2018-03-09 Peter Bergner <bergner@vnet.ibm.com>
3384
3385 PR target/83969
3386 * config/rs6000/rs6000.c (rs6000_offsettable_memref_p): New prototype.
3387 Add strict argument and use it.
3388 (rs6000_split_multireg_move): Update for new strict argument.
3389 (mem_operand_gpr): Disallow all non-offsettable addresses.
3390 * config/rs6000/rs6000.md (*movdi_internal64): Use YZ constraint.
3391
3392 2018-04-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
3393
3394 Backport from mainline
3395 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
3396
3397 PR target/85261
3398 * config/arm/arm-builtins.c (arm_expand_builtin): Force input operand
3399 into register.
3400
3401 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3402
3403 Backport from mainline
3404 2018-04-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3405
3406 * config/s390/s390.c (s390_output_indirect_thunk_function): Check
3407 also for flag_dwarf2_cfi_asm.
3408
3409 2018-04-11 Uros Bizjak <ubizjak@gmail.com>
3410
3411 * config/alpha/alpha.md (stack_probe_internal): Rename
3412 from "probe_stack". Update all callers.
3413
3414 2018-04-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
3415
3416 Backport from mainline
3417 2018-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
3418
3419 PR target/85203
3420 * config/arm/arm-builtins.c (arm_expand_builtin): Change
3421 expansion to perform a bitwise AND of the argument followed by a
3422 boolean negation of the result.
3423
3424 2018-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3425
3426 Backport from mainline
3427 2018-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3428
3429 PR target/84748
3430 * config/aarch64/aarch64.md (*compare_cstore<mode>_insn): Mark pattern
3431 as clobbering CC_REGNUM.
3432
3433 2018-04-06 Eric Botcazou <ebotcazou@adacore.com>
3434
3435 PR target/85196
3436 * config/sparc/sparc.c (sparc_expand_move): Deal with symbolic operands
3437 based on LABEL_REF. Remove useless assertion.
3438 (pic_address_needs_scratch): Fix formatting.
3439 (sparc_legitimize_pic_address): Minor tweaks.
3440 (sparc_delegitimize_address): Adjust assertion accordingly.
3441 * config/sparc/sparc.md (movsi_pic_label_ref): Change label_ref_operand
3442 into symbolic_operand.
3443 (movsi_high_pic_label_ref): Likewise.
3444 (movsi_lo_sum_pic_label_ref): Likewise.
3445 (movdi_pic_label_ref): Likewise.
3446 (movdi_high_pic_label_ref): Likewise.
3447 (movdi_lo_sum_pic_label_ref): Likewise.
3448
3449 2018-04-06 Amaan Cheval <amaan.cheval@gmail.com>
3450
3451 * config.gcc (x86_64-*-rtems*): Add rtems.h to tm_file for
3452 custom LIB_SPEC setup.
3453
3454 2018-04-05 Uros Bizjak <ubizjak@gmail.com>
3455
3456 PR target/85193
3457 * config/i386/i386.md (define_attr "memory"): Handle rotate1 type.
3458
3459 2018-04-04 Peter Bergner <bergner@vnet.ibm.com>
3460
3461 Backport from mainline
3462 2018-04-04 Peter Bergner <bergner@vnet.ibm.com>
3463
3464 PR rtl-optimization/84878
3465 * ddg.c (add_cross_iteration_register_deps): Use DF_REF_BB to determine
3466 the basic block. Assert the use reference is not artificial and that
3467 it has an associated insn.
3468
3469 2018-04-03 Uros Bizjak <ubizjak@gmail.com>
3470
3471 * config/i386/i386.c (emit_i387_cw_initialization): Always use logic
3472 instructions when changing rounding bits to preserve precision bits
3473 in the x87 control word.
3474
3475 2018-04-03 Cesar Philippidis <cesar@codesourcery.com>
3476
3477 Backport from mainline
3478 2018-03-27 Cesar Philippidis <cesar@codesourcery.com>
3479
3480 PR target/85056
3481 * config/nvptx/nvptx.c (nvptx_assemble_decl_begin): Add '[]' to
3482 extern array declarations.
3483
3484 2018-04-02 Peter Bergner <bergner@vnet.ibm.com>
3485
3486 Backport from mainline
3487 2018-03-28 Peter Bergner <bergner@vnet.ibm.com>
3488
3489 PR target/84912
3490 * config/rs6000/rs6000.h: Update copyright date.
3491 (RS6000_BTM_POWERPC64): New define.
3492 (RS6000_BTM_COMMON): Add RS6000_BTM_POWERPC64.
3493 * config/rs6000/rs6000.c: Update copyright date.
3494 (rs6000_builtin_mask_calculate): Add support for RS6000_BTM_POWERPC64.
3495 (rs6000_invalid_builtin): Add handling for RS6000_BTM_POWERPC64
3496 (rs6000_builtin_mask_names): Add RS6000_BTM_POWERPC64.
3497 * config/rs6000/rs6000-builtin.def: Update copyright date.
3498 (BU_P7_POWERPC64_MISC_2): New macro definition.
3499 (DIVDE): Use it.
3500 (DIVDEU): Likewise.
3501
3502 Backport from mainline
3503 2018-03-28 Peter Bergner <bergner@vnet.ibm.com>
3504
3505 PR target/84912
3506 * config/rs6000/rs6000-builtin.def (DIVWEO): Delete macro expansion.
3507 (DIVWEUO): Likewise.
3508 (DIVDEO): Likewise.
3509 (DIVDEUO): Likewise.
3510 * config/rs6000/rs6000.c (builtin_function_type): Remove support for
3511 DIVWEUO and DIVDEUO.
3512 * config/rs6000/rs6000.md: Update copyright date.
3513 (UNSPEC_DIVEO, UNSPEC_DIVEUO): Delete unspecs.
3514 (UNSPEC_DIV_EXTEND): Remove deleted unspecs.
3515 (div_extend): Likewise.
3516 * doc/extend.texi: Update copyright date.
3517 (__builtin_divweo): Remove documentation for deleted builtin function.
3518 (__builtin_divweuo): Likewise.
3519 (__builtin_divdeo): Likewise.
3520 (__builtin_divdeuo): Likewise.
3521
3522 2018-04-02 Peter Bergner <bergner@vnet.ibm.com>
3523
3524 Backport from mainline
3525 2018-03-30 Peter Bergner <bergner@vnet.ibm.com>
3526
3527 PR target/80546
3528 * config/rs6000/vsx.md (??r): New mode attribute.
3529 (*vsx_mov<mode>_64bit): Use it.
3530 (*vsx_mov<mode>_32bit): Likewise.
3531
3532 2018-03-29 Sebastian Peryt <sebastian.peryt@intel.com>
3533
3534 PR c++/84783
3535 * config/i386/avx512vlintrin.h (_mm256_permutexvar_epi64)
3536 (_mm256_permutexvar_epi32, _mm256_permutex_epi64): New intrinsics.
3537
3538 2018-03-29 Sudakshina Das <sudi.das@arm.com>
3539
3540 Backport from mainline
3541 2018-03-22 Sudakshina Das <sudi.das@arm.com>
3542
3543 PR target/84826
3544 * config/arm/arm.h (machine_function): Add static_chain_stack_bytes.
3545 * config/arm/arm.c (arm_compute_static_chain_stack_bytes): Avoid
3546 re-computing once computed.
3547 (arm_expand_prologue): Compute machine->static_chain_stack_bytes.
3548 (arm_init_machine_status): Initialize
3549 machine->static_chain_stack_bytes.
3550
3551 2018-03-28 Sudakshina Das <sudi.das@arm.com>
3552
3553 2018-03-19 Sudakshina Das <sudi.das@arm.com>
3554 PR target/81647
3555
3556 * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Modify
3557 instructions for UNLT, UNLE, UNGT, UNGE, UNEQ, UNORDERED and ORDERED.
3558
3559 2018-03-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3560
3561 Backport from mainline
3562 2018-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3563
3564 PR target/85026
3565 * config/arm/arm.md (unaligned_loadhis): Remove first alternative.
3566 Clean up attributes.
3567
3568 2018-03-28 Segher Boessenkool <segher@kernel.crashing.org>
3569
3570 Backport from mainline
3571 2018-03-08 Segher Boessenkool <segher@kernel.crashing.org>
3572
3573 PR target/82411
3574 * config/rs6000/rs6000.c (rs6000_elf_in_small_data_p): Don't put
3575 readonly data in sdata, if that is disabled.
3576 * config/rs6000/sysv4.opt (mreadonly-in-sdata): New option.
3577 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3578 -mreadonly-in-sdata option.
3579
3580 2018-03-27 Sudakshina Das <sudi.das@arm.com>
3581
3582 Backport from mainline:
3583 2018-03-20 Sudakshina Das <sudi.das@arm.com>
3584
3585 PR target/82989
3586 * config/arm/neon.md (ashldi3_neon): Update ?s for constraints
3587 to favor GPR over NEON registers.
3588 (<shift>di3_neon): Likewise.
3589
3590 2018-03-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3591
3592 Backport from mainline
3593 2018-03-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3594
3595 PR target/82518
3596 * config/arm/arm.c (arm_array_mode_supported_p): Return false for
3597 BYTES_BIG_ENDIAN.
3598
3599 2018-03-23 Peter Bergner <bergner@vnet.ibm.com>
3600
3601 Backport from mainline
3602 2018-03-20 Peter Bergner <bergner@vnet.ibm.com>
3603
3604 PR target/83789
3605 * config/rs6000/altivec.md (altivec_lvx_<mode>_2op): Delete define_insn.
3606 (altivec_lvx_<mode>_1op): Likewise.
3607 (altivec_stvx_<mode>_2op): Likewise.
3608 (altivec_stvx_<mode>_1op): Likewise.
3609 (altivec_lvx_<VM2:mode>): New define_expand.
3610 (altivec_stvx_<VM2:mode>): Likewise.
3611 (altivec_lvx_<VM2:mode>_2op_<P:mptrsize>): New define_insn.
3612 (altivec_lvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
3613 (altivec_stvx_<VM2:mode>_2op_<P:mptrsize>): Likewise.
3614 (altivec_stvx_<VM2:mode>_1op_<P:mptrsize>): Likewise.
3615 * config/rs6000/rs6000.c (altivec_expand_lv_builtin): Likewise.
3616 (altivec_expand_stv_builtin): Likewise.
3617 (altivec_expand_builtin): Likewise.
3618 * config/rs6000/vector.md: Likewise.
3619
3620 2018-03-23 Carl Love <cel@us.ibm.com>
3621
3622 Backport from mainline:
3623 2018-03-14 Carl Love <cel@us.ibm.com>
3624
3625 * config/rs6000/r6000.c (rtx_is_swappable_p): Add case UNSPEC_VPERMXOR.
3626
3627 2018-03-22 Tom de Vries <tom@codesourcery.com>
3628
3629 backport from trunk:
3630 2018-03-22 Tom de Vries <tom@codesourcery.com>
3631
3632 PR tree-optimization/84956
3633 * tree-ssa-tail-merge.c (find_clusters_1): Skip bbs with
3634 bb_has_abnormal_pred.
3635
3636 2018-03-19 H.J. Lu <hongjiu.lu@intel.com>
3637
3638 Backport from mainline
3639 2018-03-15 H.J. Lu <hongjiu.lu@intel.com>
3640
3641 PR target/84574
3642 * config/i386/i386.c (indirect_thunk_needed): Update comments.
3643 (indirect_thunk_bnd_needed): Likewise.
3644 (indirect_thunks_used): Likewise.
3645 (indirect_thunks_bnd_used): Likewise.
3646 (indirect_return_needed): New.
3647 (indirect_return_bnd_needed): Likewise.
3648 (output_indirect_thunk_function): Add a bool argument for
3649 function return.
3650 (output_indirect_thunk_function): Don't generate alias for
3651 function return thunk.
3652 (ix86_code_end): Call output_indirect_thunk_function to generate
3653 function return thunks.
3654 (ix86_output_function_return): Set indirect_return_bnd_needed
3655 and indirect_return_needed instead of indirect_thunk_bnd_needed
3656 and indirect_thunk_needed.
3657
3658 2018-03-14 John David Anglin <danglin@gcc.gnu.org>
3659
3660 PR target/83451
3661 * config/pa/pa.c (pa_emit_move_sequence): Always emit secondary reload
3662 insn for floating-point loads and stores.
3663
3664 2018-03-12 Jonathan Wakely <jwakely@redhat.com>
3665
3666 * doc/invoke.texi (-mclflushopt): Fix spelling of option.
3667
3668 2018-03-12 Richard Sandiford <richard.sandiford@linaro.org>
3669
3670 PR tree-optimization/84485
3671 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Return
3672 true for zero dependence distances if the step might be zero,
3673 and if there is no metadata that guarantees correctness.
3674 (vect_analyze_data_ref_access): Check safelen as well as
3675 force_vectorize.
3676
3677 2018-03-11 John David Anglin <danglin@gcc.gnu.org>
3678
3679 Backport from mainline
3680 2018-02-14 John David Anglin <danglin@gcc.gnu.org>
3681
3682 PR target/83984
3683 * config/pa/pa.md: Load address of PIC label using the linkage table
3684 if the label is nonlocal.
3685
3686 Backport from mainline
3687 2018-03-06 John David Anglin <danglin@gcc.gnu.org>
3688
3689 * config/pa/pa.h (ASM_GENERATE_INTERNAL_LABEL): Revise to use
3690 sprint_ul.
3691 (ASM_OUTPUT_ADDR_VEC_ELT): Revise for above change.
3692 (ASM_OUTPUT_ADDR_DIFF_ELT): Likewise.
3693 * config/pa/pa64-hpux.h (ASM_GENERATE_INTERNAL_LABEL): Revise as above.
3694
3695 2018-03-09 Kugan Vivekanandarajah <kuganv@linaro.org>
3696
3697 Backport from mainline
3698 2017-09-13 Kugan Vivekanandarajah <kuganv@linaro.org>
3699
3700 * config/aarch64/aarch64.c (aarch64_override_options_after_change_1):
3701 Disable pc relative literal load irrespective of
3702 TARGET_FIX_ERR_A53_84341 for default.
3703
3704 2018-03-06 Denis Chertykov <chertykov@gmail.com>
3705
3706 Backport from mainline
3707 2018-02-07 Georg-Johann Lay <avr@gjlay.de>
3708
3709 PR target/84209
3710 * config/avr/avr.h (GENERAL_REGNO_P, GENERAL_REG_P): New macros.
3711 * config/avr/avr.md: Only post-reload split REG-REG moves if
3712 either register is GENERAL_REG_P.
3713
3714 2018-03-06 Carl Love <cel@us.ibm.com>
3715
3716 Backport from mainline
3717 2/16/18 commit 257748 Carl Love <cel@us.ibm.com>
3718
3719 * config/rs6000/altivec.h: Remove vec_vextract4b and vec_vinsert4b.
3720 * config/rs6000/rs6000-builtin.def: Remove macro expansion for
3721 VINSERT4B_DI and VINSERT4B.
3722 * config/rs6000/rs6000.c: Remove case statements for
3723 P9V_BUILTIN_VINSERT4B, P9V_BUILTIN_VINSERT4B_DI,
3724 and P9V_BUILTIN_VEC_VINSERT4B.
3725 * config/rs6000/rs6000-c.c (altivec_expand_builtin): Remove entries for
3726 P9V_BUILTIN_VEC_VEXTRACT4B and P9V_BUILTIN_VEC_VINSERT4B.
3727 * config/rs6000/vsx.md: Remove define_expand vinsert4b,
3728 define_insn *vinsert4b_internal, define_insn "*vinsert4b_di_internal.
3729 * doc/extend.texi: Remove vec_vextract4b, non ABI definitions for
3730 vec_insert4b.
3731
3732 2018-03-06 Martin Liska <mliska@suse.cz>
3733
3734 Backport from mainline
3735 2018-02-20 Martin Liska <mliska@suse.cz>
3736
3737 PR c/84310
3738 PR target/79747
3739 * final.c (shorten_branches): Build align_tab array with one
3740 more element.
3741 * opts.c (finish_options): Add alignment option limit check.
3742 (MAX_CODE_ALIGN): Likewise.
3743 (MAX_CODE_ALIGN_VALUE): Likewise.
3744 * doc/invoke.texi: Document maximum allowed option value for
3745 all -falign-* options.
3746
3747 2018-03-06 Martin Liska <mliska@suse.cz>
3748
3749 Backport from mainline
3750 2018-02-19 Martin Liska <mliska@suse.cz>
3751
3752 PR other/80589
3753 * doc/invoke.texi: Fix typo.
3754 * params.def (PARAM_MAX_LOOP_HEADER_INSNS): Likewise.
3755
3756 2018-03-06 Martin Liska <mliska@suse.cz>
3757
3758 Backport from mainline
3759 2018-02-05 Martin Liska <mliska@suse.cz>
3760
3761 PR gcov-profile/84137
3762 * doc/gcov.texi: Fix typo in documentation.
3763
3764 2018-03-06 Martin Liska <mliska@suse.cz>
3765
3766 Backport from mainline
3767 2018-02-05 Martin Liska <mliska@suse.cz>
3768
3769 PR gcov-profile/83879
3770 * doc/gcov.texi: Document necessity of --dynamic-list-data when
3771 using dlopen functionality.
3772
3773 2018-03-06 Martin Liska <mliska@suse.cz>
3774
3775 Backport from mainline
3776 2017-12-19 Martin Liska <mliska@suse.cz>
3777
3778 PR rtl-optimization/82675
3779 * loop-unroll.c (unroll_loop_constant_iterations): Allocate one
3780 more element in sbitmap.
3781
3782 2018-03-06 Martin Liska <mliska@suse.cz>
3783
3784 Backport from mainline
3785 2018-03-05 Martin Liska <mliska@suse.cz>
3786
3787 * ipa-utils.c (ipa_merge_profiles): Do not merge alias or
3788 a function without profile.
3789
3790 2018-03-06 Martin Liska <mliska@suse.cz>
3791
3792 Backport from mainline
3793 2018-02-21 Jan Hubicka <hubicka@ucw.cz>
3794
3795 PR c/84229
3796 * ipa-cp.c (determine_versionability): Do not version functions caling
3797 va_arg_pack.
3798
3799 2018-03-06 Martin Liska <mliska@suse.cz>
3800
3801 Backport from mainline
3802 2018-02-08 Jan Hubicka <hubicka@ucw.cz>
3803
3804 PR ipa/81360
3805 * cgraph.h (symtab_node::output_to_lto_symbol_table_p): Declare
3806 * symtab.c: Include builtins.h
3807 (symtab_node::output_to_lto_symbol_table_p): Move here
3808 from lto-streamer-out.c:output_symbol_p.
3809 * lto-streamer-out.c (write_symbol): Turn early exit to assert.
3810 (output_symbol_p): Move all logic to symtab.c
3811 (produce_symtab): Update.
3812
3813 2018-03-06 Peter Bergner <bergner@vnet.ibm.com>
3814
3815 Backport from mainline
3816 2018-02-22 Vladimir Makarov <vmakarov@redhat.com>
3817
3818 PR target/81572
3819 * lra-int.h (LRA_UNKNOWN_ALT, LRA_NON_CLOBBERED_ALT): New macros.
3820 * lra.c (lra_set_insn_recog_data, lra_update_insn_recog_data): Use
3821 LRA_UNKNOWN_ALT.
3822 * lra-constraints.c (curr_insn_transform): Set up
3823 LRA_NON_CLOBBERED_ALT for moves processed on the fast path. Use
3824 LRA_UNKNOWN_ALT.
3825 (remove_inheritance_pseudos): Use LRA_UNKNOWN_ALT.
3826 * lra-eliminations.c (spill_pseudos): Ditto.
3827 (process_insn_for_elimination): Ditto.
3828 * lra-lives.c (reg_early_clobber_p): Use the new macros.
3829 * lra-spills.c (spill_pseudos): Use LRA_UNKNOWN_ALT and
3830 LRA_NON_CLOBBERED_ALT.
3831
3832 2018-03-06 Richard Biener <rguenther@suse.de>
3833
3834 Backport from mainline
3835 2018-03-05 Richard Biener <rguenther@suse.de>
3836
3837 PR tree-optimization/84486
3838 * tree-ssa-pre.c (create_expression_by_pieces): Remove dead code.
3839 When inserting a __builtin_assume_aligned call set the LHS
3840 SSA name alignment info accordingly.
3841
3842 2018-02-28 Richard Biener <rguenther@suse.de>
3843
3844 PR middle-end/84607
3845 * genmatch.c (capture_info::walk_match): Do not mark
3846 captured expressions without operands as expr_p given
3847 they act more like predicates and should be subject to
3848 "lost tail" side-effect preserving.
3849
3850 2018-03-05 Jakub Jelinek <jakub@redhat.com>
3851
3852 PR target/84524
3853 * config/i386/sse.md (*<code><mode>3): Replace <mask_prefix3> with
3854 orig,vex.
3855 (*<plusminus_insn><mode>3): Likewise. Remove <mask_operand3> uses.
3856
3857 2018-03-03 Jakub Jelinek <jakub@redhat.com>
3858
3859 Backported from mainline
3860 2018-03-02 Jakub Jelinek <jakub@redhat.com>
3861 Richard Biener <rguenther@suse.de>
3862
3863 PR ipa/84628
3864 * expr.c (expand_expr_real_1) <case CALL_EXPR>: Don't emit diagnostics
3865 for error or warning attributes if CALL_FROM_THUNK_P is set.
3866 Formatting fixes.
3867
3868 2018-03-02 Jakub Jelinek <jakub@redhat.com>
3869
3870 PR inline-asm/84625
3871 * config/i386/i386.c (ix86_print_operand): Use conditional
3872 output_operand_lossage instead of gcc_assert if CONST_VECTOR is not
3873 zero vector.
3874
3875 2018-02-23 Jakub Jelinek <jakub@redhat.com>
3876
3877 * ipa-prop.c (ipa_vr_ggc_hash_traits::hash): Hash p->min and
3878 p->max as pointers rather than using iterative_hash_expr.
3879
3880 2017-11-10 Jakub Jelinek <jakub@redhat.com>
3881
3882 PR bootstrap/82916
3883 * gimple-ssa-store-merging.c
3884 (pass_store_merging::terminate_all_aliasing_chains): For
3885 gimple_store_p stmts also call refs_output_dependent_p.
3886
3887 2018-02-19 Jakub Jelinek <jakub@redhat.com>
3888
3889 PR c++/84444
3890 * builtins.c (builtin_mathfn_code): Don't check if CALL_EXPR_FN (t)
3891 is ADDR_EXPR.
3892
3893 2018-02-16 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR ipa/84425
3896 * ipa-inline.c (inline_small_functions): Fix a typo.
3897
3898 2018-02-13 Jakub Jelinek <jakub@redhat.com>
3899
3900 PR c/82210
3901 * stor-layout.c (place_field): For variable length fields, adjust
3902 offset_align afterwards not just based on the field's alignment,
3903 but also on the size.
3904
3905 2018-02-10 Jakub Jelinek <jakub@redhat.com>
3906
3907 PR sanitizer/83987
3908 * omp-low.c (maybe_remove_omp_member_access_dummy_vars,
3909 remove_member_access_dummy_vars): New functions.
3910 (lower_omp_for, lower_omp_taskreg, lower_omp_target,
3911 lower_omp_1, execute_lower_omp): Use them.
3912
3913 PR rtl-optimization/84308
3914 * shrink-wrap.c (spread_components): Release todo vector.
3915
3916 2018-02-09 Jakub Jelinek <jakub@redhat.com>
3917
3918 PR sanitizer/84285
3919 * gcc.c (STATIC_LIBASAN_LIBS, STATIC_LIBTSAN_LIBS,
3920 STATIC_LIBLSAN_LIBS, STATIC_LIBUBSAN_LIBS): Handle -static like
3921 -static-lib*san.
3922
3923 2018-02-09 Marek Polacek <polacek@redhat.com>
3924 Jakub Jelinek <jakub@redhat.com>
3925
3926 PR c++/83659
3927 * fold-const.c (fold_indirect_ref_1): Use VECTOR_TYPE_P macro.
3928 Formatting fixes. Verify first that tree_fits_shwi_p (op01).
3929 Sync some changes from cxx_fold_indirect_ref.
3930
3931 2018-02-07 Jakub Jelinek <jakub@redhat.com>
3932
3933 * tree-eh.c (operation_could_trap_helper_p): Ignore honor_trapv for
3934 *DIV_EXPR and *MOD_EXPR.
3935
3936 2018-02-01 Jakub Jelinek <jakub@redhat.com>
3937
3938 PR tree-optimization/81661
3939 PR tree-optimization/84117
3940 * tree-eh.h (rewrite_to_non_trapping_overflow): Declare.
3941 * tree-eh.c: Include gimplify.h.
3942 (find_trapping_overflow, replace_trapping_overflow,
3943 rewrite_to_non_trapping_overflow): New functions.
3944 * tree-vect-loop.c: Include tree-eh.h.
3945 (vect_get_loop_niters): Use rewrite_to_non_trapping_overflow.
3946
3947 2018-01-30 Jakub Jelinek <jakub@redhat.com>
3948
3949 PR rtl-optimization/83986
3950 * sched-deps.c (sched_analyze_insn): For frame related insns, add anti
3951 dependence against last_pending_memory_flush in addition to
3952 pending_jump_insns.
3953
3954 2018-01-27 Jakub Jelinek <jakub@redhat.com>
3955
3956 PR middle-end/84040
3957 * sched-deps.c (sched_macro_fuse_insns): Return immediately if
3958 !insn_set.
3959
3960 2018-01-24 Jakub Jelinek <jakub@redhat.com>
3961
3962 PR middle-end/83977
3963 * tree-inline.c (tree_function_versioning): Remove "omp declare simd"
3964 attributes from DECL_ATTRIBUTES (new_decl) without affecting
3965 DECL_ATTRIBUTES (old_decl).
3966
3967 2018-01-20 Jakub Jelinek <jakub@redhat.com>
3968
3969 PR middle-end/83945
3970 * tree-emutls.c: Include gimplify.h.
3971 (lower_emutls_2): New function.
3972 (lower_emutls_1): If ADDR_EXPR is a gimple invariant and walk_tree
3973 with lower_emutls_2 callback finds some TLS decl in it, unshare_expr
3974 it before further processing.
3975
3976 PR target/83930
3977 * simplify-rtx.c (simplify_binary_operation_1) <case UMOD>: Use
3978 UINTVAL (trueop1) instead of INTVAL (op1).
3979
3980 2018-01-09 Jakub Jelinek <jakub@redhat.com>
3981
3982 PR preprocessor/83722
3983 * gcc.c (try_generate_repro): Pass
3984 &temp_stderr_files[RETRY_ICE_ATTEMPTS - 1] rather than
3985 &temp_stdout_files[RETRY_ICE_ATTEMPTS - 1] as last argument to
3986 do_report_bug.
3987
3988 2018-01-05 Jakub Jelinek <jakub@redhat.com>
3989
3990 PR tree-optimization/83605
3991 * gimple-ssa-strength-reduction.c: Include tree-eh.h.
3992 (find_candidates_dom_walker::before_dom_children): Ignore stmts that
3993 can throw.
3994
3995 2018-03-01 H.J. Lu <hongjiu.lu@intel.com>
3996
3997 Backport from mainline
3998 2018-02-26 H.J. Lu <hongjiu.lu@intel.com>
3999
4000 PR target/84039
4001 * config/i386/constraints.md (Bs): Replace
4002 ix86_indirect_branch_register with
4003 TARGET_INDIRECT_BRANCH_REGISTER.
4004 (Bw): Likewise.
4005 * config/i386/i386.md (indirect_jump): Likewise.
4006 (tablejump): Likewise.
4007 (*sibcall_memory): Likewise.
4008 (*sibcall_value_memory): Likewise.
4009 Peepholes of indirect call and jump via memory: Likewise.
4010 (*sibcall_GOT_32): Disallowed for TARGET_INDIRECT_BRANCH_REGISTER.
4011 (*sibcall_value_GOT_32): Likewise.
4012 * config/i386/predicates.md (indirect_branch_operand): Likewise.
4013 (GOT_memory_operand): Likewise.
4014 (call_insn_operand): Likewise.
4015 (sibcall_insn_operand): Likewise.
4016 (GOT32_symbol_operand): Likewise.
4017 * config/i386/i386.h (TARGET_INDIRECT_BRANCH_REGISTER): New.
4018
4019 2018-03-01 H.J. Lu <hongjiu.lu@intel.com>
4020
4021 Backport from mainline
4022 2018-02-26 H.J. Lu <hongjiu.lu@intel.com>
4023
4024 * config/i386/i386.c (ix86_output_indirect_jmp): Update comments.
4025
4026 2018-02-26 H.J. Lu <hongjiu.lu@intel.com>
4027
4028 PR target/84530
4029 * config/i386/i386-protos.h (ix86_output_indirect_jmp): Remove
4030 the bool argument.
4031 (ix86_output_indirect_function_return): New prototype.
4032 (ix86_split_simple_return_pop_internal): Likewise.
4033 * config/i386/i386.c (indirect_return_via_cx): New.
4034 (indirect_return_via_cx_bnd): Likewise.
4035 (indirect_thunk_name): Handle return va CX_REG.
4036 (output_indirect_thunk_function): Create alias for
4037 __x86_return_thunk_[re]cx and __x86_return_thunk_[re]cx_bnd.
4038 (ix86_output_indirect_jmp): Remove the bool argument.
4039 (ix86_output_indirect_function_return): New function.
4040 (ix86_split_simple_return_pop_internal): Likewise.
4041 * config/i386/i386.md (*indirect_jump): Don't pass false
4042 to ix86_output_indirect_jmp.
4043 (*tablejump_1): Likewise.
4044 (simple_return_pop_internal): Change it to define_insn_and_split.
4045 Call ix86_split_simple_return_pop_internal to split it for
4046 -mfunction-return=.
4047 (simple_return_indirect_internal): Call
4048 ix86_output_indirect_function_return instead of
4049 ix86_output_indirect_jmp.
4050
4051 2017-03-02 Thomas Schwinge <thomas@codesourcery.com>
4052
4053 Backport from trunk r256891:
4054 2018-01-19 Cesar Philippidis <cesar@codesourcery.com>
4055
4056 PR target/83790
4057 * config/nvptx/nvptx.c (output_init_frag): Don't use generic address
4058 spaces for function labels.
4059
4060 2018-02-26 Carl Love <cel@us.ibm.com>
4061
4062 Backport from mainline: commit 257747 on 2018-02-16.
4063
4064 * config/rs6000/altivec.h: Add builtin names vec_extract4b
4065 vec_insert4b.
4066 * config/rs6000/rs6000-builtin.def: Add INSERT4B and EXTRACT4B
4067 definitions.
4068 * config/rs6000/rs6000-c.c: Add the definitions for
4069 P9V_BUILTIN_VEC_EXTRACT4B and P9V_BUILTIN_VEC_INSERT4B.
4070 * config/rs6000/rs6000.c (altivec_expand_builtin): Add
4071 P9V_BUILTIN_EXTRACT4B and P9V_BUILTIN_INSERT4B case statements.
4072 * config/rs6000/vsx.md: Add define_insn extract4b. Add define_expand
4073 definition for insert4b and define insn *insert3b_internal.
4074 * doc/extend.texi: Add documentation for vec_extract4b.
4075
4076 2018-02-26 Eric Botcazou <ebotcazou@adacore.com>
4077
4078 PR rtl-optimization/83496
4079 * reorg.c (steal_delay_list_from_target): Change REDUNDANT array from
4080 booleans to RTXes. Call fix_reg_dead_note on every non-null element.
4081 (steal_delay_list_from_fallthrough): Call fix_reg_dead_note on a
4082 redundant insn, if any.
4083 (relax_delay_slots): Likewise.
4084 (update_reg_unused_notes): Rename REDUNDANT_INSN to OTHER_INSN.
4085
4086 2018-02-22 Sudakshina Das <sudi.das@arm.com>
4087 Bin Cheng <bin.cheng@arm.com>
4088
4089 Backport from mainline:
4090 2017-12-14 Sudakshina Das <sudi.das@arm.com>
4091 Bin Cheng <bin.cheng@arm.com>
4092
4093 PR target/81228
4094 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Move LTGT to
4095 CCFPEmode.
4096 * config/aarch64/aarch64-simd.md (vec_cmp<mode><v_cmp_result>): Add
4097 LTGT.
4098
4099 2018-02-16 Jozef Lawrynowicz <jozefl.gcc@gmail.com>
4100
4101 PR target/79242
4102 * machmode.def: Define a complex mode for PARTIAL_INT.
4103 * genmodes.c (complex_class): Return MODE_COMPLEX_INT for
4104 MODE_PARTIAL_INT.
4105 * doc/rtl.texi: Document CSPImode.
4106 * config/msp430/msp430.c (msp430_hard_regno_nregs): Add CPSImode
4107 handling.
4108 (msp430_hard_regno_nregs_with_padding): Likewise.
4109
4110 2018-02-16 Sudakshina Das <sudi.das@arm.com>
4111
4112 Backport from trunk
4113 2018-01-10 Sudakshina Das <sudi.das@arm.com>
4114
4115 PR target/82096
4116 * expmed.c (emit_store_flag_force): Swap if const op0
4117 and change VOIDmode to mode of op0.
4118
4119 2018-02-16 Richard Biener <rguenther@suse.de>
4120
4121 PR tree-optimization/84190
4122 * tree-ssa.c (non_rewritable_mem_ref_base): Do not touch
4123 volatile accesses if the decl isn't volatile.
4124
4125 2018-02-15 Michael Meissner <meissner@linux.vnet.ibm.com>
4126
4127 Back port from trunk
4128 2018-02-07 Michael Meissner <meissner@linux.vnet.ibm.com>
4129
4130 PR target/84154
4131 * config/rs6000/rs6000.md (fix_trunc<SFDF:mode><QHI:mode>2):
4132 Convert from define_expand to be define_insn_and_split. Rework
4133 float/double/_Float128 conversions to QI/HI/SImode to work with
4134 both ISA 2.07 (power8) or ISA 3.0 (power9). Fix regression where
4135 conversions to QI/HImode types did a store and then a load to
4136 truncate the value. For conversions to VSX registers, don't split
4137 the insn, instead emit the code directly. Use the code iterator
4138 any_fix to combine signed and unsigned conversions.
4139 (fix<uns>_trunc<SFDF:mode>si2_p8): Likewise.
4140 (fixuns_trunc<SFDF:mode><QHI:mode>2): Likewise.
4141 (fix_trunc<IEEE128:mode><QHI:mode>2): Likewise.
4142 (fix<uns>_trunc<SFDF:mode><QHI:mode>2): Likewise.
4143 (fix_<mode>di2_hw): Likewise.
4144 (fixuns_<mode>di2_hw): Likewise.
4145 (fix_<mode>si2_hw): Likewise.
4146 (fixuns_<mode>si2_hw): Likewise.
4147 (fix<uns>_<IEEE128:mode><SDI:mode>2_hw): Likewise.
4148 (fix<uns>_trunc<IEEE128:mode><QHI:mode>2): Likewise.
4149 (fctiw<u>z_<mode>_smallint): Rename fctiw<u>z_<mode>_smallint to
4150 fix<uns>_trunc<SFDF:mode>si2_p8.
4151 (fix_trunc<SFDF:mode><QHI:mode>2_internal): Delete, no longer
4152 used.
4153 (fixuns_trunc<SFDF:mode><QHI:mode>2_internal): Likewise.
4154 (fix<uns>_<mode>_mem): Likewise.
4155 (fctiw<u>z_<mode>_mem): Likewise.
4156 (fix<uns>_<mode>_mem): Likewise.
4157 (fix<uns>_trunc<SFDF:mode><QHSI:mode>2_mem): On ISA 3.0, prevent
4158 the register allocator from doing a direct move to the GPRs to do
4159 a store, and instead use the ISA 3.0 store byte/half-word from
4160 vector register instruction. For IEEE 128-bit floating point,
4161 also optimize stores of 32-bit ints.
4162 (fix<uns>_trunc<IEEE128:mode><QHSI:mode>2_mem): Likewise.
4163
4164 2018-02-15 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
4165
4166 Back port from mainline
4167 2018-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
4168
4169 PR target/83758
4170 * config/rs6000/rs6000.c (rs6000_internal_arg_pointer): Only return
4171 a reg rtx.
4172
4173 2018-02-14 Peter Bergner <bergner@vnet.ibm.com>
4174
4175 Back port from mainline
4176 2018-02-13 Peter Bergner <bergner@vnet.ibm.com>
4177
4178 PR target/84279
4179 * config/rs6000/rs6000.c (mem_operand_gpr): Disallow altivec addresses.
4180
4181 2018-02-14 Martin Jambor <mjambor@suse.cz>
4182
4183 PR c++/83990
4184 * ipa-prop.c (ipa_modify_call_arguments): Use location of call
4185 statements, also set location of a load to a temporary.
4186
4187 2018-02-10 John David Anglin <danglin@gcc.gnu.org>
4188
4189 * config/pa/pa.c (hppa_profile_hook): Mark SYMBOL_REF for _mcount as
4190 function label.
4191
4192 Backport from mainline
4193 2018-02-01 Aldy Hernandez <aldyh@redhat.com>
4194
4195 PR target/84089
4196 * config/pa/predicates.md (base14_operand): Handle VOIDmode.
4197
4198 2018-02-09 Martin Jambor <mjambor@suse.cz>
4199
4200 Backport from mainline
4201 2018-02-08 Martin Jambor <mjambor@suse.cz>
4202
4203 * hsa-gen.c (get_symbol_for_decl): Set program allocation for
4204 static local variables.
4205
4206 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4207
4208 Backport from mainline
4209 2018-02-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4210
4211 PR target/PR84295
4212 * config/s390/s390.c (s390_set_current_function): Invoke
4213 s390_indirect_branch_settings also if fndecl didn't change.
4214
4215 2018-02-08 Iain Sandoe <iain@codesourcery.com>
4216
4217 PR target/84113
4218 * config/rs6000/altivec.md (*restore_world): Remove LR use.
4219 * config/rs6000/predicates.md (restore_world_operation): Adjust op
4220 count, remove one USE.
4221
4222 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4223
4224 Backport from mainline
4225 2018-02-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4226
4227 * config/s390/s390-opts.h (enum indirect_branch): Define.
4228 * config/s390/s390-protos.h (s390_return_addr_from_memory)
4229 (s390_indirect_branch_via_thunk)
4230 (s390_indirect_branch_via_inline_thunk): Add function prototypes.
4231 (enum s390_indirect_branch_type): Define.
4232 * config/s390/s390.c (struct s390_frame_layout, struct
4233 machine_function): Remove.
4234 (indirect_branch_prez10thunk_mask, indirect_branch_z10thunk_mask)
4235 (indirect_branch_table_label_no, indirect_branch_table_name):
4236 Define variables.
4237 (INDIRECT_BRANCH_NUM_OPTIONS): Define macro.
4238 (enum s390_indirect_branch_option): Define.
4239 (s390_return_addr_from_memory): New function.
4240 (s390_handle_string_attribute): New function.
4241 (s390_attribute_table): Add new attribute handler.
4242 (s390_execute_label): Handle UNSPEC_EXECUTE_JUMP patterns.
4243 (s390_indirect_branch_via_thunk): New function.
4244 (s390_indirect_branch_via_inline_thunk): New function.
4245 (s390_function_ok_for_sibcall): When jumping via thunk disallow
4246 sibling call optimization for non z10 compiles.
4247 (s390_emit_call): Force indirect branch target to be a single
4248 register. Add r1 clobber for non-z10 compiles.
4249 (s390_emit_epilogue): Emit return jump via return_use expander.
4250 (s390_reorg): Handle JUMP_INSNs as execute targets.
4251 (s390_option_override_internal): Perform validity checks for the
4252 new command line options.
4253 (s390_indirect_branch_attrvalue): New function.
4254 (s390_indirect_branch_settings): New function.
4255 (s390_set_current_function): Invoke s390_indirect_branch_settings.
4256 (s390_output_indirect_thunk_function): New function.
4257 (s390_code_end): Implement target hook.
4258 (s390_case_values_threshold): Implement target hook.
4259 (TARGET_ASM_CODE_END, TARGET_CASE_VALUES_THRESHOLD): Define target
4260 macros.
4261 * config/s390/s390.h (struct s390_frame_layout)
4262 (struct machine_function): Move here from s390.c.
4263 (TARGET_INDIRECT_BRANCH_NOBP_RET)
4264 (TARGET_INDIRECT_BRANCH_NOBP_JUMP)
4265 (TARGET_INDIRECT_BRANCH_NOBP_JUMP_THUNK)
4266 (TARGET_INDIRECT_BRANCH_NOBP_JUMP_INLINE_THUNK)
4267 (TARGET_INDIRECT_BRANCH_NOBP_CALL)
4268 (TARGET_DEFAULT_INDIRECT_BRANCH_TABLE)
4269 (TARGET_INDIRECT_BRANCH_THUNK_NAME_EXRL)
4270 (TARGET_INDIRECT_BRANCH_THUNK_NAME_EX)
4271 (TARGET_INDIRECT_BRANCH_TABLE): Define macros.
4272 * config/s390/s390.md (UNSPEC_EXECUTE_JUMP)
4273 (INDIRECT_BRANCH_THUNK_REGNUM): Define constants.
4274 (mnemonic attribute): Add values which aren't recognized
4275 automatically.
4276 ("*cjump_long", "*icjump_long", "*basr", "*basr_r"): Disable
4277 pattern for branch conversion. Fix mnemonic attribute.
4278 ("*c<code>", "*sibcall_br", "*sibcall_value_br", "*return"): Emit
4279 indirect branch via thunk if requested.
4280 ("indirect_jump", "<code>"): Expand patterns for branch conversion.
4281 ("*indirect_jump"): Disable for branch conversion using out of
4282 line thunks.
4283 ("indirect_jump_via_thunk<mode>_z10")
4284 ("indirect_jump_via_thunk<mode>")
4285 ("indirect_jump_via_inlinethunk<mode>_z10")
4286 ("indirect_jump_via_inlinethunk<mode>", "*casesi_jump")
4287 ("casesi_jump_via_thunk<mode>_z10", "casesi_jump_via_thunk<mode>")
4288 ("casesi_jump_via_inlinethunk<mode>_z10")
4289 ("casesi_jump_via_inlinethunk<mode>", "*basr_via_thunk<mode>_z10")
4290 ("*basr_via_thunk<mode>", "*basr_r_via_thunk_z10")
4291 ("*basr_r_via_thunk", "return<mode>_prez10"): New pattern.
4292 ("*indirect2_jump"): Disable for branch conversion.
4293 ("casesi_jump"): Turn into expander and expand patterns for branch
4294 conversion.
4295 ("return_use"): New expander.
4296 ("*return"): Emit return via thunk and rename it to ...
4297 ("*return<mode>"): ... this one.
4298 * config/s390/s390.opt: Add new options and and enum for the
4299 option values.
4300
4301 2018-02-08 Richard Biener <rguenther@suse.de>
4302
4303 PR tree-optimization/84233
4304 * tree-ssa-phiprop.c (propagate_with_phi): Use separate
4305 changed flag instead of boguously re-using phi_inserted.
4306
4307 2018-02-07 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4308
4309 Backport from mainline
4310 2018-02-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4311
4312 * config/rs6000/rs6000.c (rs6000_option_override_internal):
4313 Display warning message for -mno-speculate-indirect-jumps.
4314
4315 2018-02-05 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4316
4317 Backport from mainline
4318 2018-01-30 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4319
4320 PR bootstrap/84017
4321 * configure.ac (gcc_cv_as_shf_merge): Disable on Solaris 10/x86.
4322 * configure: Regenerate.
4323
4324 2018-02-05 Peter Bergner <bergner@vnet.ibm.com>
4325
4326 Back port from mainline
4327 2018-02-01 Peter Bergner <bergner@vnet.ibm.com>
4328
4329 PR target/56010
4330 PR target/83743
4331 * config/rs6000/driver-rs6000.c: #include "diagnostic.h".
4332 #include "opts.h".
4333 (rs6000_supported_cpu_names): New static variable.
4334 (linux_cpu_translation_table): Likewise.
4335 (elf_platform) <cpu>: Define new static variable and use it.
4336 Translate kernel AT_PLATFORM name to canonical name if needed.
4337 Error if platform name is unknown.
4338
4339 2018-02-02 H.J. Lu <hongjiu.lu@intel.com>
4340
4341 Backport from mainline
4342 2018-02-02 H.J. Lu <hongjiu.lu@intel.com>
4343
4344 * config/i386/i386.c (ix86_output_function_return): Pass
4345 INVALID_REGNUM, instead of -1, as invalid register number to
4346 indirect_thunk_name and output_indirect_thunk.
4347
4348 2018-02-01 Uros Bizjak <ubizjak@gmail.com>
4349
4350 Backport from mainline
4351 2018-01-31 Uros Bizjak <ubizjak@gmail.com>
4352
4353 PR rtl-optimization/84123
4354 * combine.c (change_zero_ext): Check if hard register satisfies
4355 can_change_dest_mode before calling gen_lowpart_SUBREG.
4356
4357 2018-02-01 Renlin Li <renlin.li@arm.com>
4358
4359 Backport from mainline
4360 2018-02-01 Renlin Li <renlin.li@arm.com>
4361
4362 PR target/83370
4363 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Handle
4364 TAILCALL_ADDR_REGS.
4365 (aarch64_register_move_cost): Likewise.
4366 * config/aarch64/aarch64.h (reg_class): Rename CALLER_SAVE_REGS to
4367 TAILCALL_ADDR_REGS.
4368 (REG_CLASS_NAMES): Likewise.
4369 (REG_CLASS_CONTENTS): Rename CALLER_SAVE_REGS to
4370 TAILCALL_ADDR_REGS. Remove IP registers.
4371 * config/aarch64/aarch64.md (Ucs): Update register constraint.
4372
4373 2018-02-01 Richard Biener <rguenther@suse.de>
4374
4375 Backport from mainline
4376 2017-11-02 Richard Biener <rguenther@suse.de>
4377
4378 PR tree-optimization/82795
4379 * tree-if-conv.c (predicate_mem_writes): Remove bogus assert.
4380
4381 2018-01-31 Richard Biener <rguenther@suse.de>
4382 Kelvin Nilsen <kelvin@gcc.gnu.org>
4383
4384 Backport from mainline
4385 2018-01-29 Richard Biener <rguenther@suse.de>
4386 Kelvin Nilsen <kelvin@gcc.gnu.org>
4387
4388 PR bootstrap/80867
4389 * tree-vect-stmts.c (vectorizable_call): Don't call
4390 targetm.vectorize_builtin_md_vectorized_function if callee is
4391 NULL.
4392
4393 2018-01-31 Eric Botcazou <ebotcazou@adacore.com>
4394
4395 PR rtl-optimization/84071
4396 * doc/tm.texi.in (WORD_REGISTER_OPERATIONS): Add explicit case.
4397 * doc/tm.texi: Regenerate.
4398
4399 2018-01-31 Eric Botcazou <ebotcazou@adacore.com>
4400
4401 PR rtl-optimization/84071
4402 * combine.c (record_dead_and_set_regs_1): Record the source unmodified
4403 for a paradoxical SUBREG on a WORD_REGISTER_OPERATIONS target.
4404
4405 2018-01-29 Joseph Myers <joseph@codesourcery.com>
4406
4407 Backport from mainline
4408 2018-01-24 Joseph Myers <joseph@codesourcery.com>
4409
4410 PR target/68467
4411 * config/m68k/m68k.c (m68k_promote_function_mode): New function.
4412 (TARGET_PROMOTE_FUNCTION_MODE): New macro.
4413
4414 2018-01-29 Uros Bizjak <ubizjak@gmail.com>
4415
4416 Backport from mainline
4417 2018-01-26 Uros Bizjak <ubizjak@gmail.com>
4418
4419 PR target/81763
4420 * config/i386/i386.md (*andndi3_doubleword): Add earlyclobber
4421 to (=&r,r,rm) alternative. Add (=r,0,rm) and (=r,r,0) alternatives.
4422
4423 2018-01-29 Alan Modra <amodra@gmail.com>
4424
4425 Backport from mainline
4426 2018-01-26 Alan Modra <amodra@gmail.com>
4427 PR target/84033
4428 * config/rs6000/rs6000.c (rtx_is_swappable_p): Exclude
4429 UNSPEC_VBPERMQ.
4430
4431 2018-01-27 H.J. Lu <hongjiu.lu@intel.com>
4432
4433 Backport from mainline
4434 2018-01-27 H.J. Lu <hongjiu.lu@intel.com>
4435
4436 * doc/invoke.texi: Replace -mfunction-return==@var{choice} with
4437 -mfunction-return=@var{choice}.
4438
4439 2018-01-27 H.J. Lu <hongjiu.lu@intel.com>
4440
4441 Backport from mainline
4442 2018-01-23 H.J. Lu <hongjiu.lu@intel.com>
4443
4444 PR target/83905
4445 * config/i386/i386.c (ix86_expand_prologue): Use cost reference
4446 of struct ix86_frame.
4447 (ix86_expand_epilogue): Likewise. Add a local variable for
4448 the reg_save_offset field in struct ix86_frame.
4449
4450 2018-01-26 Jakub Jelinek <jakub@redhat.com>
4451
4452 PR rtl-optimization/83985
4453 * dce.c (deletable_insn_p): Return false for separate shrink wrapping
4454 REG_CFA_RESTORE insns.
4455 (delete_unmarked_insns): Don't ignore separate shrink wrapping
4456 REG_CFA_RESTORE insns here.
4457
4458 2018-01-25 Uros Bizjak <ubizjak@gmail.com>
4459
4460 Backport from mainline
4461 2018-01-17 Uros Bizjak <ubizjak@gmail.com>
4462
4463 * config/i386/i386.c (indirect_thunk_name): Declare regno
4464 as unsigned int. Compare regno with INVALID_REGNUM.
4465 (output_indirect_thunk): Ditto.
4466 (output_indirect_thunk_function): Ditto.
4467 (ix86_code_end): Declare regno as unsigned int. Use INVALID_REGNUM
4468 in the call to output_indirect_thunk_function.
4469
4470 2018-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
4471
4472 Back port from trunk
4473 2018-01-22 Michael Meissner <meissner@linux.vnet.ibm.com>
4474
4475 PR target/83862
4476 * config/rs6000/rs6000-protos.h (rs6000_split_signbit): Delete,
4477 no longer used.
4478 * config/rs6000/rs6000.c (rs6000_split_signbit): Likewise.
4479 * config/rs6000/rs6000.md (signbit<mode>2): Change code for IEEE
4480 128-bit to produce an UNSPEC move to get the double word with the
4481 signbit and then a shift directly to do signbit.
4482 (signbit<mode>2_dm): Replace old IEEE 128-bit signbit
4483 implementation with a new version that just does either a direct
4484 move or a regular move. Move memory interface to separate insns.
4485 Move insns so they are next to the expander.
4486 (signbit<mode>2_dm_mem_be): New combiner insns to combine load
4487 with signbit move. Split big and little endian case.
4488 (signbit<mode>2_dm_mem_le): Likewise.
4489 (signbit<mode>2_dm_<su>ext): Delete, no longer used.
4490 (signbit<mode>2_dm2): Likewise.
4491
4492 2018-01-25 Peter Bergner <bergner@vnet.ibm.com>
4493
4494 Back port from mainline
4495 2018-01-10 Peter Bergner <bergner@vnet.ibm.com>
4496
4497 PR target/83399
4498 * config/rs6000/rs6000.c (print_operand) <'y'>: Use
4499 VECTOR_MEM_ALTIVEC_OR_VSX_P.
4500 * config/rs6000/vsx.md (*vsx_le_perm_load_<mode> for VSX_D): Use
4501 indexed_or_indirect_operand predicate.
4502 (*vsx_le_perm_load_<mode> for VSX_W): Likewise.
4503 (*vsx_le_perm_load_v8hi): Likewise.
4504 (*vsx_le_perm_load_v16qi): Likewise.
4505 (*vsx_le_perm_store_<mode> for VSX_D): Likewise.
4506 (*vsx_le_perm_store_<mode> for VSX_W): Likewise.
4507 (*vsx_le_perm_store_v8hi): Likewise.
4508 (*vsx_le_perm_store_v16qi): Likewise.
4509 (eight unnamed splitters): Likewise.
4510
4511 2018-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4512
4513 Backport from mainline
4514 2018-01-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4515
4516 * config/rs6000/rs6000-p8swap.c (swap_feeds_both_load_and_store):
4517 New function.
4518 (rs6000_analyze_swaps): Mark a web unoptimizable if it contains a
4519 swap associated with both a load and a store.
4520
4521 2018-01-25 Richard Biener <rguenther@suse.de>
4522
4523 * BASE-VER: Increment to 7.3.1.
4524
4525 2018-01-25 Release Manager
4526
4527 * GCC 7.3.0 released.
4528
4529 2018-01-23 Eric Botcazou <ebotcazou@adacore.com>
4530
4531 PR rtl-optimization/81443
4532 * rtlanal.c (num_sign_bit_copies1) <SUBREG>: Do not propagate results
4533 from inner REGs to paradoxical SUBREGs.
4534
4535 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4536
4537 Backport from mainline
4538 2018-01-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4539 David Edelsohn <dje.gcc@gmail.com>
4540
4541 PR target/83946
4542 * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>):
4543 Change "crset eq" to "crset 2".
4544 (*call_value_indirect_nonlocal_sysv<mode>): Likewise.
4545 (*call_indirect_aix<mode>_nospec): Likewise.
4546 (*call_value_indirect_aix<mode>_nospec): Likewise.
4547 (*call_indirect_elfv2<mode>_nospec): Likewise.
4548 (*call_value_indirect_elfv2<mode>_nospec): Likewise.
4549 (*sibcall_nonlocal_sysv<mode>): Change "crset eq" to "crset 2";
4550 change assembly output from . to $.
4551 (*sibcall_value_nonlocal_sysv<mode>): Likewise.
4552 (indirect_jump<mode>_nospec): Change assembly output from . to $.
4553 (*tablejump<mode>_internal1_nospec): Likewise.
4554
4555 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org>
4556
4557 Backport from mainline
4558 2018-01-21 Oleg Endo <olegendo@gcc.gnu.org>
4559
4560 PR target/80870
4561 * config/sh/sh_optimize_sett_clrt.cc:
4562 Use INCLUDE_ALGORITHM and INCLUDE_VECTOR instead of direct includes.
4563
4564 2018-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4565
4566 Backport from mainline
4567 2018-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4568
4569 * config/rs6000/rs6000.c (rs6000_opt_vars): Add entry for
4570 -mspeculate-indirect-jumps.
4571 * config/rs6000/rs6000.md (*call_indirect_elfv2<mode>): Disable
4572 for -mno-speculate-indirect-jumps.
4573 (*call_indirect_elfv2<mode>_nospec): New define_insn.
4574 (*call_value_indirect_elfv2<mode>): Disable for
4575 -mno-speculate-indirect-jumps.
4576 (*call_value_indirect_elfv2<mode>_nospec): New define_insn.
4577 (indirect_jump): Emit different RTL for
4578 -mno-speculate-indirect-jumps.
4579 (*indirect_jump<mode>): Disable for
4580 -mno-speculate-indirect-jumps.
4581 (*indirect_jump<mode>_nospec): New define_insn.
4582 (tablejump): Emit different RTL for
4583 -mno-speculate-indirect-jumps.
4584 (tablejumpsi): Disable for -mno-speculate-indirect-jumps.
4585 (tablejumpsi_nospec): New define_expand.
4586 (tablejumpdi): Disable for -mno-speculate-indirect-jumps.
4587 (tablejumpdi_nospec): New define_expand.
4588 (*tablejump<mode>_internal1): Disable for
4589 -mno-speculate-indirect-jumps.
4590 (*tablejump<mode>_internal1_nospec): New define_insn.
4591 * config/rs6000/rs6000.opt (mspeculate-indirect-jumps): New
4592 option.
4593
4594 Backport from mainline
4595 2018-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4596
4597 * config/rs6000/rs6000.md (*call_indirect_nonlocal_sysv<mode>):
4598 Generate different code for -mno-speculate-indirect-jumps.
4599 (*call_value_indirect_nonlocal_sysv<mode>): Likewise.
4600 (*call_indirect_aix<mode>): Disable for
4601 -mno-speculate-indirect-jumps.
4602 (*call_indirect_aix<mode>_nospec): New define_insn.
4603 (*call_value_indirect_aix<mode>): Disable for
4604 -mno-speculate-indirect-jumps.
4605 (*call_value_indirect_aix<mode>_nospec): New define_insn.
4606 (*sibcall_nonlocal_sysv<mode>): Generate different code for
4607 -mno-speculate-indirect-jumps.
4608 (*sibcall_value_nonlocal_sysv<mode>): Likewise.
4609
4610 2018-01-17 Richard Biener <rguenther@suse.de>
4611
4612 Backport from mainline
4613 2017-12-18 Richard Biener <rguenther@suse.de>
4614
4615 PR tree-optimization/81877
4616 * tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters.
4617 (outermost_indep_loop): Adjust.
4618 (ref_indep_loop_p_1): Likewise. Remove safelen handling again.
4619 (can_sm_ref_p): Adjust.
4620
4621 2017-12-08 Richard Biener <rguenther@suse.de>
4622
4623 PR middle-end/81782
4624 * tree-ssa-uninit.c (warn_uninitialized_vars): Properly
4625 handle accesses outside of zero-sized vars.
4626
4627 2018-01-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4628
4629 Backport from mailine
4630 2018-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4631
4632 PR target/83687
4633 * config/arm/iterators.md (VF): New mode iterator.
4634 * config/arm/neon.md (neon_vabd<mode>_2): Use the above.
4635 Remove integer-related logic from pattern.
4636 (neon_vabd<mode>_3): Likewise.
4637
4638 2018-01-17 Martin Liska <mliska@suse.cz>
4639
4640 Backport from mainline
4641 2018-01-04 Martin Liska <mliska@suse.cz>
4642
4643 PR ipa/82352
4644 * ipa-icf.c (sem_function::merge): Do not cross comdat boundary.
4645
4646 2018-01-17 Martin Liska <mliska@suse.cz>
4647
4648 Backport from mainline
4649 2018-01-03 Martin Liska <mliska@suse.cz>
4650
4651 PR ipa/83549
4652 * cif-code.def (VARIADIC_THUNK): New enum value.
4653 * ipa-inline-analysis.c (compute_inline_parameters):
4654 Do not inline variadic thunks.
4655
4656 2018-01-17 Martin Liska <mliska@suse.cz>
4657
4658 Backport from mainline
4659 2017-12-27 Martin Liska <mliska@suse.cz>
4660
4661 PR tree-optimization/83552
4662 * tree-ssa-strlen.c (fold_strstr_to_strncmp): Assign result
4663 of get_string_lenth to a SSA_NAME if not a GIMPLE value.
4664
4665 2018-01-16 Segher Boessenkool <segher@kernel.crashing.org>
4666
4667 Backport from mainline
4668 2017-12-18 Segher Boessenkool <segher@kernel.crashing.org>
4669
4670 PR rtl-optimization/83424
4671 * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET.
4672
4673 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4674
4675 * config/i386/i386.c (ix86_expand_prologue): Don't use reference
4676 of struct ix86_frame.
4677 (ix86_expand_epilogue): Likewise.
4678
4679 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4680
4681 Backport from mainline
4682 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
4683
4684 * config/i386/i386.c (ix86_set_indirect_branch_type): Disallow
4685 -mcmodel=large with -mindirect-branch=thunk,
4686 -mindirect-branch=thunk-extern, -mfunction-return=thunk and
4687 -mfunction-return=thunk-extern.
4688 * doc/invoke.texi: Document -mcmodel=large is incompatible with
4689 -mindirect-branch=thunk, -mindirect-branch=thunk-extern,
4690 -mfunction-return=thunk and -mfunction-return=thunk-extern.
4691
4692 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4693
4694 Backport from mainline
4695 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
4696
4697 * config/i386/i386.c (print_reg): Print the name of the full
4698 integer register without '%'.
4699 (ix86_print_operand): Handle 'V'.
4700 * doc/extend.texi: Document 'V' modifier.
4701
4702 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4703
4704 Backport from mainline
4705 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4706
4707 * config/i386/predicates.md (indirect_branch_operand): Rewrite
4708 ix86_indirect_branch_register logic.
4709
4710 Backport from mainline
4711 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4712
4713 * config/i386/constraints.md (Bs): Update
4714 ix86_indirect_branch_register check. Don't check
4715 ix86_indirect_branch_register with GOT_memory_operand.
4716 (Bw): Likewise.
4717 * config/i386/predicates.md (GOT_memory_operand): Don't check
4718 ix86_indirect_branch_register here.
4719 (GOT32_symbol_operand): Likewise.
4720
4721 Backport from mainline
4722 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4723
4724 * config/i386/predicates.md (constant_call_address_operand):
4725 Rewrite ix86_indirect_branch_register logic.
4726 (sibcall_insn_operand): Likewise.
4727
4728 Backport from mainline
4729 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4730
4731 * config/i386/constraints.md (Bs): Replace
4732 ix86_indirect_branch_thunk_register with
4733 ix86_indirect_branch_register.
4734 (Bw): Likewise.
4735 * config/i386/i386.md (indirect_jump): Likewise.
4736 (tablejump): Likewise.
4737 (*sibcall_memory): Likewise.
4738 (*sibcall_value_memory): Likewise.
4739 Peepholes of indirect call and jump via memory: Likewise.
4740 * config/i386/i386.opt: Likewise.
4741 * config/i386/predicates.md (indirect_branch_operand): Likewise.
4742 (GOT_memory_operand): Likewise.
4743 (call_insn_operand): Likewise.
4744 (sibcall_insn_operand): Likewise.
4745 (GOT32_symbol_operand): Likewise.
4746
4747 Backport from mainline
4748 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
4749
4750 * config/i386/constraints.md (Bs): Disallow memory operand for
4751 -mindirect-branch-register.
4752 (Bw): Likewise.
4753 * config/i386/predicates.md (indirect_branch_operand): Likewise.
4754 (GOT_memory_operand): Likewise.
4755 (call_insn_operand): Likewise.
4756 (sibcall_insn_operand): Likewise.
4757 (GOT32_symbol_operand): Likewise.
4758 * config/i386/i386.md (indirect_jump): Call convert_memory_address
4759 for -mindirect-branch-register.
4760 (tablejump): Likewise.
4761 (*sibcall_memory): Likewise.
4762 (*sibcall_value_memory): Likewise.
4763 Disallow peepholes of indirect call and jump via memory for
4764 -mindirect-branch-register.
4765 (*call_pop): Replace m with Bw.
4766 (*call_value_pop): Likewise.
4767 (*sibcall_pop_memory): Replace m with Bs.
4768 * config/i386/i386.opt (mindirect-branch-register): New option.
4769 * doc/invoke.texi: Document -mindirect-branch-register option.
4770
4771 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4772
4773 Backport from mainline
4774 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4775
4776 PR target/83839
4777 * config/i386/i386.c (output_indirect_thunk_function): Use
4778 ASM_OUTPUT_LABEL, instead of ASM_OUTPUT_DEF, for TARGET_MACHO
4779 for __x86.return_thunk.
4780
4781 Backport from mainline
4782 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
4783
4784 * config/i386/i386-protos.h (ix86_output_function_return): New.
4785 * config/i386/i386.c (ix86_set_indirect_branch_type): Also
4786 set function_return_type.
4787 (indirect_thunk_name): Add ret_p to indicate thunk for function
4788 return.
4789 (output_indirect_thunk_function): Pass false to
4790 indirect_thunk_name.
4791 (ix86_output_indirect_branch_via_reg): Likewise.
4792 (ix86_output_indirect_branch_via_push): Likewise.
4793 (output_indirect_thunk_function): Create alias for function
4794 return thunk if regno < 0.
4795 (ix86_output_function_return): New function.
4796 (ix86_handle_fndecl_attribute): Handle function_return.
4797 (ix86_attribute_table): Add function_return.
4798 * config/i386/i386.h (machine_function): Add
4799 function_return_type.
4800 * config/i386/i386.md (simple_return_internal): Use
4801 ix86_output_function_return.
4802 (simple_return_internal_long): Likewise.
4803 * config/i386/i386.opt (mfunction-return=): New option.
4804 (indirect_branch): Mention -mfunction-return=.
4805 * doc/extend.texi: Document function_return function attribute.
4806 * doc/invoke.texi: Document -mfunction-return= option.
4807
4808 2018-01-16 H.J. Lu <hongjiu.lu@intel.com>
4809
4810 Backport from mainline
4811 2018-01-14 H.J. Lu <hongjiu.lu@intel.com>
4812
4813 * config/i386/i386-opts.h (indirect_branch): New.
4814 * config/i386/i386-protos.h (ix86_output_indirect_jmp): Likewise.
4815 * config/i386/i386.c (ix86_using_red_zone): Disallow red-zone
4816 with local indirect jump when converting indirect call and jump.
4817 (ix86_set_indirect_branch_type): New.
4818 (ix86_set_current_function): Call ix86_set_indirect_branch_type.
4819 (indirectlabelno): New.
4820 (indirect_thunk_needed): Likewise.
4821 (indirect_thunk_bnd_needed): Likewise.
4822 (indirect_thunks_used): Likewise.
4823 (indirect_thunks_bnd_used): Likewise.
4824 (INDIRECT_LABEL): Likewise.
4825 (indirect_thunk_name): Likewise.
4826 (output_indirect_thunk): Likewise.
4827 (output_indirect_thunk_function): Likewise.
4828 (ix86_output_indirect_branch_via_reg): Likewise.
4829 (ix86_output_indirect_branch_via_push): Likewise.
4830 (ix86_output_indirect_branch): Likewise.
4831 (ix86_output_indirect_jmp): Likewise.
4832 (ix86_code_end): Call output_indirect_thunk_function if needed.
4833 (ix86_output_call_insn): Call ix86_output_indirect_branch if
4834 needed.
4835 (ix86_handle_fndecl_attribute): Handle indirect_branch.
4836 (ix86_attribute_table): Add indirect_branch.
4837 * config/i386/i386.h (machine_function): Add indirect_branch_type
4838 and has_local_indirect_jump.
4839 * config/i386/i386.md (indirect_jump): Set has_local_indirect_jump
4840 to true.
4841 (tablejump): Likewise.
4842 (*indirect_jump): Use ix86_output_indirect_jmp.
4843 (*tablejump_1): Likewise.
4844 (simple_return_indirect_internal): Likewise.
4845 * config/i386/i386.opt (mindirect-branch=): New option.
4846 (indirect_branch): New.
4847 (keep): Likewise.
4848 (thunk): Likewise.
4849 (thunk-inline): Likewise.
4850 (thunk-extern): Likewise.
4851 * doc/extend.texi: Document indirect_branch function attribute.
4852 * doc/invoke.texi: Document -mindirect-branch= option.
4853
4854 2018-01-16 Richard Biener <rguenther@suse.de>
4855
4856 Backport from mainline
4857 2017-09-29 Vladimir Makarov <vmakarov@redhat.com>
4858
4859 PR target/81481
4860 * ira-costs.c (scan_one_insn): Don't take into account PIC equiv
4861 with a symbol for LRA.
4862
4863 2018-01-15 Segher Boessenkool <segher@kernel.crashing.org>
4864
4865 Backport from mainline
4866 2018-01-10 Segher Boessenkool <segher@kernel.crashing.org>
4867
4868 PR target/83629
4869 * config/rs6000/rs6000.md (load_toc_v4_PIC_2, load_toc_v4_PIC_3b,
4870 load_toc_v4_PIC_3c): Wrap const term in CONST RTL.
4871
4872 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4873
4874 Backport from mainline
4875 PR target/83330
4876 * config/i386/i386.c (ix86_function_arg_advance): Set
4877 outgoing_args_on_stack to true if there are outgoing arguments
4878 on stack.
4879 (ix86_function_arg): Likewise.
4880 (ix86_compute_frame_layout): Align stack frame if argument is
4881 passed on stack.
4882 * config/i386/i386.h (machine_function): Add
4883 outgoing_args_on_stack.
4884
4885 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4886
4887 Backport from mainline
4888 * config/i386/i386.c (ix86_expand_prologue): Use reference of
4889 struct ix86_frame.
4890 (ix86_expand_epilogue): Likewise.
4891
4892 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4893
4894 Backport from mainline
4895 2017-11-06 H.J. Lu <hongjiu.lu@intel.com>
4896
4897 * config/i386/i386.c (ix86_can_use_return_insn_p): Use reference
4898 of struct ix86_frame.
4899 (ix86_initial_elimination_offset): Likewise.
4900 (ix86_expand_split_stack_prologue): Likewise.
4901
4902 2018-01-15 H.J. Lu <hongjiu.lu@intel.com>
4903
4904 Backport from mainline
4905 2017-06-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
4906
4907 * config/i386/i386.c (ix86_frame): Moved to ...
4908 * config/i386/i386.h (ix86_frame): Here.
4909 (machine_function): Add frame.
4910 * config/i386/i386.c (ix86_compute_frame_layout): Repace the
4911 frame argument with &cfun->machine->frame.
4912 (ix86_can_use_return_insn_p): Don't pass &frame to
4913 ix86_compute_frame_layout. Copy frame from cfun->machine->frame.
4914 (ix86_can_eliminate): Likewise.
4915 (ix86_expand_prologue): Likewise.
4916 (ix86_expand_epilogue): Likewise.
4917 (ix86_expand_split_stack_prologue): Likewise.
4918
4919 2018-01-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4920
4921 Backport from mainline
4922 2018-01-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4923
4924 PR target/83677
4925 * config/rs6000/altivec.md (*altivec_vpermr_<mode>_internal):
4926 Reverse order of second and third operands in first alternative.
4927 * config/rs6000/rs6000.c (rs6000_expand_vector_set): Reverse order
4928 of first and second elements in UNSPEC_VPERMR vector.
4929 (altivec_expand_vec_perm_le): Likewise.
4930
4931 2018-01-14 Uros Bizjak <ubizjak@gmail.com>
4932
4933 Backport from mainline
4934 2018-01-12 Uros Bizjak <ubizjak@gmail.com>
4935
4936 PR target/83628
4937 * config/alpha/alpha.md (*saddsi_1): New insn_ans_split pattern.
4938 (*saddl_se_1): Ditto.
4939 (*ssubsi_1): Ditto.
4940 (*ssubl_se_1): Ditto.
4941
4942 Backport from mainline
4943 2018-01-09 Uros Bizjak <ubizjak@gmail.com>
4944
4945 PR target/83628
4946 * combine.c (force_int_to_mode) <case ASHIFT>: Use mode instead of
4947 op_mode in the force_to_mode call.
4948
4949 2018-01-12 Oleg Endo <olegendo@gcc.gnu.org>
4950
4951 Backport from mainline
4952 2018-01-12 Oleg Endo <olegendo@gcc.gnu.org>
4953
4954 PR target/81819
4955 * config/rx/rx.c (rx_is_restricted_memory_address):
4956 Handle SUBREG case.
4957
4958 2018-01-12 Eric Botcazou <ebotcazou@adacore.com>
4959
4960 PR rtl-optimization/83565
4961 * rtlanal.c (nonzero_bits1): On WORD_REGISTER_OPERATIONS machines, do
4962 not extend the result to a larger mode for rotate operations.
4963 (num_sign_bit_copies1): Likewise.
4964
4965 2018-01-12 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4966
4967 Backport from mainline
4968 2018-01-04 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4969
4970 PR bootstrap/81926
4971 * cgraphunit.c (symbol_table::compile): Switch to text_section
4972 before calling assembly_start debug hook.
4973
4974 2018-01-11 Oleg Endo <olegendo@gcc.gnu.org>
4975
4976 Backport from mainline
4977 2018-01-11 Oleg Endo <olegendo@gcc.gnu.org>
4978
4979 PR target/81821
4980 * config/rx/rx.md (BW): New mode attribute.
4981 (sync_lock_test_and_setsi): Add mode suffix to insn output.
4982
4983 2018-01-09 Richard Biener <rguenther@suse.de>
4984
4985 Backport from mainline
4986 2018-01-08 Richard Biener <rguenther@suse.de>
4987
4988 PR middle-end/83713
4989 * convert.c (do_narrow): Properly guard TYPE_OVERFLOW_WRAPS checks.
4990
4991 2018-01-08 Jim Wilson <jimw@sifive.com>
4992
4993 Backport from mainline
4994 2018-01-08 Monk Chiang <sh.chiang04@gmail.com>
4995 Kito Cheng <kito.cheng@gmail.com>
4996
4997 * config/riscv/riscv.c (machine_function::is_leaf): Remove field.
4998 (riscv_leaf_function_p): Delete.
4999 (riscv_function_ok_for_sibcall): Return false when TARGET_SAVE_RESTORE.
5000
5001 2018-01-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5002
5003 Backport from mainline
5004 2017-12-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5005
5006 PR target/82975
5007 * config/arm/arm.h (TEST_REGNO): Adjust comment as expected in r255830.
5008
5009 2018-01-08 Sebastian Huber <sebastian.huber@embedded-brains.de>
5010
5011 Backported from mainline
5012 2018-01-05 Sebastian Huber <sebastian.huber@embedded-brains.de>
5013
5014 * config.gcc (epiphany-*-elf*): Add (epiphany-*-rtems*) configuration.
5015 * config/epiphany/rtems.h: New file.
5016
5017 2018-01-04 Uros Bizjak <ubizjak@gmail.com>
5018
5019 PR target/83628
5020 * config/alpha/alpha.md (*sadd<modesuffix>): Use ASHIFT
5021 instead of MULT rtx. Update all corresponding splitters.
5022 (*saddl_se): Ditto.
5023 (*ssub<modesuffix>): Ditto.
5024 (*ssubl_se): Ditto.
5025 (*cmp_sadd_di): Update split patterns.
5026 (*cmp_sadd_si): Ditto.
5027 (*cmp_sadd_sidi): Ditto.
5028 (*cmp_ssub_di): Ditto.
5029 (*cmp_ssub_si): Ditto.
5030 (*cmp_ssub_sidi): Ditto.
5031 * config/alpha/predicates.md (const23_operand): New predicate.
5032 * config/alpha/alpha.c (alpha_rtx_costs) [PLUS, MINUS]:
5033 Look for ASHIFT, not MULT inner operand.
5034 (alpha_split_conditional_move): Update for *sadd<modesuffix> change.
5035
5036 2018-01-02 Andrew Waterman <andrew@sifive.com>
5037
5038 * config/riscv/linux.h (ICACHE_FLUSH_FUNC): New.
5039 * config/riscv/riscv.md (clear_cache): Use it.
5040
5041 2018-01-01 Jakub Jelinek <jakub@redhat.com>
5042
5043 PR middle-end/83608
5044 * expr.c (store_expr_with_bounds): Use simplify_gen_subreg instead of
5045 convert_modes if target mode has the right side, but different mode
5046 class.
5047
5048 PR middle-end/83609
5049 * expr.c (expand_assignment): Fix up a typo in simplify_gen_subreg
5050 last argument when extracting from CONCAT. If either from_real or
5051 from_imag is NULL, use expansion through memory. If result is not
5052 a CONCAT and simplify_gen_subreg fails, try to simplify_gen_subreg
5053 the parts directly to inner mode, if even that fails, use expansion
5054 through memory.
5055
5056 PR middle-end/83623
5057 * expmed.c (expand_shift_1): For 2-byte rotates by BITS_PER_UNIT,
5058 check for bswap in mode rather than HImode and use that in expand_unop
5059 too.
5060
5061 2017-12-23 Jakub Jelinek <jakub@redhat.com>
5062
5063 PR c++/83553
5064 * fold-const.c (struct contains_label_data): New type.
5065 (contains_label_1): Return non-NULL even for CASE_LABEL_EXPR, unless
5066 inside of a SWITCH_BODY seen during the walk.
5067 (contains_label_p): Use walk_tree instead of
5068 walk_tree_without_duplicates, prepare data for contains_label_1 and
5069 provide own pset.
5070
5071 2017-12-22 Martin Jambor <mjambor@suse.cz>
5072
5073 PR lto/82027
5074 * lto-cgraph.c (output_cgraph_opt_summary_p): Also check former
5075 clones.
5076
5077 2017-12-22 Jakub Jelinek <jakub@redhat.com>
5078
5079 Backported from mainline
5080 2017-12-21 Jakub Jelinek <jakub@redhat.com>
5081
5082 PR c/83448
5083 * gimple-ssa-sprintf.c (maybe_warn): Don't call set_caret_index
5084 if navail is >= dir.len.
5085
5086 PR rtl-optimization/80747
5087 PR rtl-optimization/83512
5088 * cfgrtl.c (force_nonfallthru_and_redirect): When splitting
5089 succ edge from ENTRY, copy partition from e->dest to the newly
5090 created bb.
5091 * bb-reorder.c (reorder_basic_blocks_simple): If last_tail is
5092 ENTRY, use BB_PARTITION of its successor block as current_partition.
5093 Don't copy partition when splitting succ edge from ENTRY.
5094
5095 PR tree-optimization/83523
5096 * tree-ssa-math-opts.c (is_widening_mult_p): Return false if
5097 for INTEGER_TYPE TYPE_OVERFLOW_TRAPS.
5098 (convert_mult_to_fma): Likewise.
5099
5100 PR tree-optimization/83521
5101 * tree-ssa-phiopt.c (factor_out_conditional_conversion): Use
5102 gimple_build_assign without code on result of
5103 fold_build1 (VIEW_CONVERT_EXPR, ...), as it might not create
5104 a VIEW_CONVERT_EXPR.
5105
5106 2017-12-19 Jakub Jelinek <jakub@redhat.com>
5107
5108 PR ipa/82801
5109 PR ipa/83346
5110 * ipa-inline.c (flatten_remove_node_hook): New function.
5111 (ipa_inline): Keep only nodes with flatten attribute at the end of
5112 the array in the order from ipa_reverse_postorder, only walk that
5113 portion of array for flattening, if there is more than one such
5114 node, temporarily register a removal hook and ignore removed nodes.
5115
5116 2017-12-21 Uros Bizjak <ubizjak@gmail.com>
5117
5118 PR target/83467
5119 * config/i386/i386.md (*ashl<mode>3_mask): Add operand
5120 constraints to operand 2.
5121 (*<shift_insn><mode>3_mask): Ditto.
5122 (*<rotate_insn><mode>3_mask): Ditto.
5123
5124 2017-12-19 Bin Cheng <bin.cheng@arm.com>
5125
5126 Backport from mainline
5127 2017-11-15 Bin Cheng <bin.cheng@arm.com>
5128
5129 PR tree-optimization/82726
5130 PR tree-optimization/70754
5131 * tree-predcom.c (order_drefs_by_pos): New function.
5132 (combine_chains): Move code setting has_max_use_after to...
5133 (try_combine_chains): ...here. New parameter. Sort combined chains
5134 according to position information.
5135 (tree_predictive_commoning_loop): Update call to above function.
5136 (update_pos_for_combined_chains, pcom_stmt_dominates_stmt_p): New.
5137
5138 2017-11-15 Bin Cheng <bin.cheng@arm.com>
5139
5140 PR tree-optimization/82726
5141 Revert
5142 2017-01-23 Bin Cheng <bin.cheng@arm.com>
5143
5144 PR tree-optimization/70754
5145 * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
5146 (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert
5147 combined stmt before it if not NULL.
5148 (combine_chains): Process refs reversely and compute dominance point
5149 for root ref.
5150
5151 Revert
5152 2017-02-23 Bin Cheng <bin.cheng@arm.com>
5153
5154 PR tree-optimization/79663
5155 * tree-predcom.c (combine_chains): Process refs in reverse order
5156 only for ZERO length chains, and add explaining comment.
5157
5158 2017-12-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
5159
5160 Backport from mainline
5161 2017-12-19 Sebastian Huber <sebastian.huber@embedded-brains.de>
5162
5163 PR target/83387
5164 * config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float
5165 multilib.
5166
5167 2017-12-19 Daniel Cederman <cederman@gaisler.com>
5168
5169 Backport from mainline
5170 2017-12-19 Daniel Cederman <cederman@gaisler.com>
5171
5172 * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure
5173 the jump is to a label.
5174
5175 2017-12-17 John David Anglin <danglin@gcc.gnu.org>
5176
5177 Backport from mainline
5178 2017-12-03 John David Anglin <danglin@gcc.gnu.org>
5179
5180 * config/pa/pa.c (pa_legitimate_address_p): For scaled indexing,
5181 require base operand is a REG_POINTER prior to reload on targets
5182 with non-equivalent space registers.
5183
5184 2017-12-15 Jakub Jelinek <jakub@redhat.com>
5185
5186 PR tree-optimization/83269
5187 * fold-const.c (fold_binary_loc): Perform (-A) - B -> (-B) - A
5188 subtraction in arg0's type if type is signed and arg0 is unsigned.
5189 Formatting fix.
5190
5191 Backported from mainline
5192 2017-12-14 Jakub Jelinek <jakub@redhat.com>
5193
5194 PR tree-optimization/83198
5195 * gimple-ssa-sprintf.c (format_floating): Set type solely based on
5196 dir.modifier, regardless of TREE_TYPE (arg). Assume non-REAL_CST
5197 value if arg is a REAL_CST with incompatible type.
5198
5199 2017-12-12 Jakub Jelinek <jakub@redhat.com>
5200
5201 PR tree-optimization/80631
5202 * tree-vect-loop.c (get_initial_def_for_reduction): Fix comment typo.
5203 (vect_create_epilog_for_reduction): Add INDUC_VAL argument, for
5204 INTEGER_INDUC_COND_REDUCTION use INDUC_VAL instead of
5205 hardcoding zero as the value if COND_EXPR is never true. For
5206 INTEGER_INDUC_COND_REDUCTION don't emit the final COND_EXPR if
5207 INDUC_VAL is equal to INITIAL_DEF.
5208 (vectorizable_reduction): Compute INDUC_VAL for
5209 vect_create_epilog_for_reduction, if no value is suitable, don't
5210 use INTEGER_INDUC_COND_REDUCTION for now. Formatting fixes.
5211
5212 2017-12-08 Joseph Myers <joseph@codesourcery.com>
5213 Alexander Monakov <amonakov@ispras.ru>
5214 Jakub Jelinek <jakub@redhat.com>
5215
5216 PR target/81906
5217 * config/i386/i386.c (ix86_expand_rint): Handle flag_rounding_math.
5218
5219 2017-12-02 Jakub Jelinek <jakub@redhat.com>
5220
5221 PR c++/81212
5222 * tree-cfg.c (pass_warn_function_return::execute): Handle
5223 __builtin_ubsan_handle_missing_return like __builtin_unreachable
5224 with BUILTINS_LOCATION.
5225
5226 PR target/78643
5227 PR target/80583
5228 * expr.c (get_inner_reference): If DECL_MODE of a non-bitfield
5229 is BLKmode for vector field with vector raw mode, use TYPE_MODE
5230 instead of DECL_MODE.
5231
5232 2017-11-29 Jakub Jelinek <jakub@redhat.com>
5233
5234 PR target/80819
5235 * config/i386/sse.md (vec_concatv2di): Remove * from (=Yr,0,*rm)
5236 alternative.
5237
5238 2017-11-25 Jakub Jelinek <jakub@redhat.com>
5239
5240 PR rtl-optimization/81553
5241 * combine.c (simplify_if_then_else): In (if_then_else COND (OP Z C1) Z)
5242 to (OP Z (mult COND (C1 * STORE_FLAG_VALUE))) optimization, if OP
5243 is a shift where C1 has different mode than the whole shift, use C1's
5244 mode for MULT rather than the shift's mode.
5245
5246 2017-11-24 Jakub Jelinek <jakub@redhat.com>
5247
5248 PR sanitizer/83014
5249 * ubsan.c (ubsan_type_descriptor): Use pp_unsigned_wide_integer
5250 instead of pp_printf with HOST_WIDE_INT_PRINT_DEC. Avoid calling
5251 tree_to_uhwi twice.
5252
5253 * tree-object-size.c (pass_through_call): Do not handle
5254 BUILT_IN_STPNCPY_CHK which is not a pass through call.
5255
5256 2017-11-23 Jakub Jelinek <jakub@redhat.com>
5257
5258 PR middle-end/82253
5259 * expr.c (expand_assignment): For CONCAT to_rtx, complex type from and
5260 bitpos/bitsize covering the whole destination, use store_expr only if
5261 the complex mode is the same. Otherwise, use expand_normal and if
5262 it returns CONCAT, subreg each part separately instead of trying to
5263 subreg the whole result.
5264
5265 2017-11-22 Jakub Jelinek <jakub@redhat.com>
5266
5267 PR debug/83084
5268 * valtrack.c (propagate_for_debug_subst, propagate_for_debug): Reset
5269 debug insns if they would contain UNSPEC_VOLATILE or volatile asm.
5270 (dead_debug_insert_temp): Likewise, but also ignore even non-volatile
5271 asm.
5272
5273 2017-11-21 James Cowgill <James.Cowgill@imgtec.com>
5274 Jakub Jelinek <jakub@redhat.com>
5275
5276 PR target/82880
5277 * config/mips/frame-header-opt.c (mips_register_frame_header_opt):
5278 Remove static keyword from f variable.
5279
5280 2017-12-15 Richard Biener <rguenther@suse.de>
5281
5282 PR bootstrap/83439
5283 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5284 Adjust remaining gimple_set_modified to use the modified
5285 variable instead.
5286
5287 2017-12-15 Eric Botcazou <ebotcazou@adacore.com>
5288
5289 PR target/66488
5290 * ggc-page.c (HOST_BITS_PER_PTR): Do not define here...
5291 * hwint.h (HOST_BITS_PER_PTR): ...but here instead.
5292 * config/i386/xm-mingw32.h (HOST_BITS_PER_PTR): Delete.
5293
5294 2017-12-15 Richard Biener <rguenther@suse.de>
5295
5296 Backport from mainline
5297 PR tree-optimization/82060
5298 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
5299 Move devirtualization after stmt folding and before EH/AB/noreturn
5300 cleanup to get the stmt refs canonicalized. Use a bool instead
5301 of gimple_modified_p since that doesn't work for NOPs. Schedule
5302 NOPs generated by folding for removal.
5303
5304 2017-12-15 Richard Biener <rguenther@suse.de>
5305
5306 Backport from mainline
5307 2017-09-05 Richard Biener <rguenther@suse.de>
5308
5309 PR tree-optimization/82102
5310 * tree-ssa-pre.c (eliminate): Check if lhs is NULL.
5311
5312 2017-09-13 Richard Biener <rguenther@suse.de>
5313
5314 PR middle-end/82128
5315 * gimple-fold.c (gimple_fold_call): Update SSA name in-place to
5316 default-def to avoid breaking iterator update with the weird
5317 interaction with cgraph_update_edges_for_call_stmt_node.
5318
5319 2017-12-15 Richard Biener <rguenther@suse.de>
5320
5321 Backport from mainline
5322 2017-11-24 Richard Biener <rguenther@suse.de>
5323
5324 PR tree-optimization/82402
5325 * tree-vect-loop-manip.c (create_lcssa_for_virtual_phi): Properly
5326 set SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
5327
5328 2017-10-24 Richard Biener <rguenther@suse.de>
5329
5330 PR tree-optimization/82697
5331 * tree-ssa-phiopt.c (cond_store_replacement): Use alias-set
5332 zero for conditional load and unconditional store.
5333
5334 2017-11-02 Richard Biener <rguenther@suse.de>
5335
5336 PR middle-end/82765
5337 * varasm.c (decode_addr_const): Make offset HOST_WIDE_INT.
5338 Truncate ARRAY_REF index and element size.
5339
5340 2017-11-09 Richard Biener <rguenther@suse.de>
5341
5342 PR tree-optimization/82902
5343 * tree-ssa-phiprop.c (propagate_with_phi): Test proper type.
5344
5345 2017-12-14 Peter Bergner <bergner@vnet.ibm.com>
5346
5347 Backport from mainline
5348 2017-10-02 Peter Bergner <bergner@vnet.ibm.com>
5349
5350 PR target/80210
5351 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rewrite
5352 function to not use the have_cpu variable. Do not set cpu_index,
5353 rs6000_cpu_index or rs6000_tune_index if we end up using TARGET_DEFAULT
5354 or the default cpu.
5355 (rs6000_valid_attribute_p): Remove duplicate initializations of
5356 old_optimize and func_optimize.
5357 (rs6000_pragma_target_parse): Call rs6000_activate_target_options ().
5358 (rs6000_activate_target_options): Make global.
5359 * config/rs6000/rs6000-protos.h (rs6000_activate_target_options): Add
5360 prototype.
5361
5362 2017-12-13 Peter Bergner <bergner@vnet.ibm.com>
5363
5364 Backport from mainline
5365 2017-12-13 Peter Bergner <bergner@vnet.ibm.com>
5366
5367 * config/rs6000/ppc-auxv.h (PPC_FEATURE2_HTM_NO_SUSPEND): New define.
5368 * config/rs6000/rs6000.c (cpu_supports_info): Use it.
5369
5370 2017-12-11 Michael Meissner <meissner@linux.vnet.ibm.com>
5371
5372 Back port from trunk
5373 2017-12-01 Michael Meissner <meissner@linux.vnet.ibm.com>
5374
5375 PR target/81959
5376 * config/rs6000/rs6000.c (rs6000_address_for_fpconvert): Check for
5377 whether we can allocate pseudos before trying to fix an address.
5378 * config/rs6000/rs6000.md (float_<mode>si2_hw): Make sure the
5379 memory address is indexed or indirect.
5380 (floatuns_<mode>si2_hw2): Likewise.
5381
5382 2017-12-11 Sudakshina Das <sudi.das@arm.com>
5383
5384 Backported from trunk
5385 2017-12-01 Sudakshina Das <sudi.das@arm.com>
5386
5387 * config/arm/vfp.md (*movhf_vfp_fp16): Add conds attribute.
5388
5389 2017-12-07 Kelvin Nilsen <kelvin@gcc.gnu.org>
5390
5391 Backport from trunk
5392 2017-05-08 Kelvin Nilsen <kelvin@gcc.gnu.org>
5393
5394 PR target/80101
5395 * config/rs6000/power6.md: Replace store_data_bypass_p calls with
5396 rs6000_store_data_bypass_p in seven define_bypass directives and
5397 in several comments.
5398 * config/rs6000/rs6000-protos.h: Add prototype for
5399 rs6000_store_data_bypass_p function.
5400 * config/rs6000/rs6000.c (rs6000_store_data_bypass_p): New
5401 function implements slightly different (rs6000-specific) semantics
5402 than store_data_bypass_p, returning false rather than aborting
5403 with assertion error when arguments do not satisfy the
5404 requirements of store data bypass.
5405 (rs6000_adjust_cost): Replace six calls of store_data_bypass_p with
5406 rs6000_store_data_bypass_p.
5407
5408 2017-12-06 Eric Botcazou <ebotcazou@adacore.com>
5409
5410 Revert
5411 2017-11-29 Martin Aberg <maberg@gaisler.com>
5412
5413 * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
5414 to prevent b2bst errata sequence.
5415 (sqrtdf2_fix): Likewise.
5416
5417 2017-12-05 Max Filippov <jcmvbkbc@gmail.com>
5418
5419 Backport from mainline
5420 2017-12-05 Max Filippov <jcmvbkbc@gmail.com>
5421 * config/xtensa/xtensa.c (xtensa_asan_shadow_offset): New
5422 function.
5423 (TARGET_ASAN_SHADOW_OFFSET): New macro definition.
5424 * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): Set to 1 if
5425 ASAN is enabled.
5426
5427 2017-12-05 Max Filippov <jcmvbkbc@gmail.com>
5428
5429 Backport from mainline
5430 2017-05-08 Max Filippov <jcmvbkbc@gmail.com>
5431 * config/xtensa/xtensa-protos.h
5432 (xtensa_initial_elimination_offset): New declaration.
5433 * config/xtensa/xtensa.c (xtensa_initial_elimination_offset):
5434 New function. Move its body from the INITIAL_ELIMINATION_OFFSET
5435 macro definition, add case for FRAME_POINTER_REGNUM when
5436 FRAME_GROWS_DOWNWARD.
5437 * config/xtensa/xtensa.h (FRAME_GROWS_DOWNWARD): New macro
5438 definition.
5439 (INITIAL_ELIMINATION_OFFSET): Replace body with call to
5440 xtensa_initial_elimination_offset.
5441
5442 2017-12-04 Eric Botcazou <ebotcazou@adacore.com>
5443
5444 * config/sparc/sparc.c (sparc_do_work_around_errata): Use mem_ref
5445 instead of MEM_P in a couple more places. Fix formatting issues.
5446
5447 2017-12-04 Sebastian Peryt <sebastian.peryt@intel.com>
5448 H.J. Lu <hongjiu.lu@intel.com>
5449
5450 Bakcported from trunk
5451 PR target/82941
5452 PR target/82942
5453 PR target/82990
5454 * config/i386/i386.c (pass_insert_vzeroupper): Remove
5455 TARGET_AVX512F check from gate condition.
5456 (ix86_check_avx256_register): Changed to ...
5457 (ix86_check_avx_upper_register): ... this. Add extra check for
5458 VALID_AVX512F_REG_OR_XI_MODE.
5459 (ix86_avx_u128_mode_needed): Changed
5460 ix86_check_avx256_register to ix86_check_avx_upper_register.
5461 (ix86_check_avx256_stores): Changed to ...
5462 (ix86_check_avx_upper_stores): ... this. Changed
5463 ix86_check_avx256_register to ix86_check_avx_upper_register.
5464 (ix86_avx_u128_mode_after): Changed
5465 avx_reg256_found to avx_upper_reg_found. Changed
5466 ix86_check_avx256_stores to ix86_check_avx_upper_stores.
5467 (ix86_avx_u128_mode_entry): Changed
5468 ix86_check_avx256_register to ix86_check_avx_upper_register.
5469 (ix86_avx_u128_mode_exit): Ditto.
5470 (ix86_option_override_internal): Set MASK_VZEROUPPER if
5471 neither -mzeroupper nor -mno-zeroupper is used and
5472 TARGET_EMIT_VZEROUPPER is set.
5473 * config/i386/i386.h: (host_detect_local_cpu): New define.
5474 (TARGET_EMIT_VZEROUPPER): New.
5475 * config/i386/x86-tune.def: Add X86_TUNE_EMIT_VZEROUPPER
5476
5477 2017-12-01 Segher Boessenkool <segher@kernel.crashing.org>
5478
5479 Backport from mainline
5480 2017-11-28 Segher Boessenkool <segher@kernel.crashing.org>
5481
5482 PR 81288/target
5483 * config/rs6000/rs6000.c (rs6000_rtx_costs): Do not handle
5484 TARGET_ISEL && !TARGET_MFCRF differently. Simplify code.
5485
5486 2017-11-30 Jim Wilson <jimw@sifive.com>
5487
5488 Backport from mainline
5489 2017-11-30 Jim Wilson <jimw@sifive.com>
5490 * doc/invoke.texi (RISC-V Options): Delete nonexistent -mmemcpy and
5491 -mno-memcpy options. For -mplt, -mfdiv, -mdiv, -msave-restore, and
5492 -mstrict-align, add info on default value. Delete redundant lines for
5493 -mabi. Add missing -mexplicit-relocs docs.
5494
5495 Backport from mainline
5496 2017-11-01 Palmer Dabbelt <palmer@dabbelt.com>
5497 * doc/invoke.texi (RISC-V Options): Use "@minus{}2 GB", not "-2 GB".
5498 * doc/invoke.texi (RISC-V Options): Explicitly name the medlow
5499 and medany code models, and describe what they do.
5500
5501 2017-10-27 Palmer Dabbelt <palmer@dabbelt.com>
5502 PR target/82717
5503 * doc/invoke.texi (RISC-V) <-mabi>: Correct and improve.
5504
5505 2017-11-29 Martin Jambor <mjambor@suse.cz>
5506
5507 PR ipa/82808
5508 * tree.c (expr_type_first_operand_type_p): New function.
5509 * tree.h (expr_type_first_operand_type_p): Declare it.
5510 * ipa-cp.c (ipa_get_jf_pass_through_result): Use it.
5511
5512 2017-11-29 Daniel Cederman <cederman@gaisler.com>
5513
5514 * config/sparc/sparc.c (sparc_do_work_around_errata): Treat the
5515 movsi_pic_gotdata_op instruction as a load for the UT699 errata
5516 workaround.
5517
5518 2017-11-29 Martin Aberg <maberg@gaisler.com>
5519
5520 * config/sparc/sparc.md (divdf3_fix): Add NOP and adjust length
5521 to prevent b2bst errata sequence.
5522 (sqrtdf2_fix): Likewise.
5523
5524 2017-11-29 Daniel Cederman <cederman@gaisler.com>
5525
5526 * config/sparc/sparc.c (fpop_reg_depend_p): New function.
5527 (div_sqrt_insn_p): New function.
5528 (sparc_do_work_around_errata): Insert NOP instructions to
5529 prevent sequences that could trigger the TN-0013 errata for
5530 certain LEON3 processors.
5531 (pass_work_around_errata::gate): Also test sparc_fix_lost_divsqrt.
5532 (sparc_option_override): Set sparc_fix_lost_divsqrt appropriately.
5533 * config/sparc/sparc.md (fix_lost_divsqrt): New attribute.
5534 (in_branch_delay): Prevent div and sqrt in delay slot if
5535 fix_lost_divsqrt.
5536 * config/sparc/sparc.opt (sparc_fix_lost_divsqrt): New variable.
5537
5538 2017-11-29 Daniel Cederman <cederman@gaisler.com>
5539
5540 * config/sparc/sparc.c (atomic_insn_p): New function.
5541 (sparc_do_work_around_errata): Insert NOP instructions to
5542 prevent sequences that could trigger the TN-0010 errata for
5543 UT700.
5544 * config/sparc/sync.md (atomic_compare_and_swap_leon3_1): Make
5545 instruction referable in atomic_insns_p.
5546
5547 2017-11-29 Daniel Cederman <cederman@gaisler.com>
5548
5549 * config/sparc/sync.md (swapsi): 16-byte align if sparc_fix_gr712rc.
5550 (atomic_compare_and_swap_leon3_1): Likewise.
5551 (ldstub): Likewise.
5552
5553 2017-11-29 Daniel Cederman <cederman@gaisler.com>
5554
5555 * config/sparc/sparc.c (fpop_insn_p): New function.
5556 (sparc_do_work_around_errata): Insert NOP instructions to
5557 prevent sequences that could trigger the TN-0012 errata for
5558 GR712RC.
5559 (pass_work_around_errata::gate): Also test sparc_fix_gr712rc.
5560 * config/sparc/sparc.md (fix_gr712rc): New attribute.
5561 (in_branch_annul_delay): Prevent floating-point instructions
5562 in delay slot of annulled integer branch.
5563
5564 2017-11-28 Jim Wilson <jimw@sifive.com>
5565
5566 Backport from mainline
5567 2017-11-04 Andrew Waterman <andrew@sifive.com>
5568
5569 * config/riscv/riscv.c (riscv_option_override): Conditionally set
5570 TARGET_STRICT_ALIGN based upon -mtune argument.
5571
5572 Backport from mainline
5573 2017-05-04 Andrew Waterman <andrew@sifive.com>
5574
5575 * config/riscv/riscv.opt (mstrict-align): New option.
5576 * config/riscv/riscv.h (STRICT_ALIGNMENT): Use it. Update comment.
5577 (SLOW_UNALIGNED_ACCESS): Define.
5578 (riscv_slow_unaligned_access): Declare.
5579 * config/riscv/riscv.c (riscv_tune_info): Add slow_unaligned_access
5580 field.
5581 (riscv_slow_unaligned_access): New variable.
5582 (rocket_tune_info): Set slow_unaligned_access to true.
5583 (optimize_size_tune_info): Set slow_unaligned_access to false.
5584 (riscv_cpu_info_table): Add entry for optimize_size_tune_info.
5585 (riscv_valid_lo_sum_p): Use TARGET_STRICT_ALIGN.
5586 (riscv_option_override): Set riscv_slow_unaligned_access.
5587 * doc/invoke.texi: Add -mstrict-align to RISC-V.
5588
5589 Backport from mainline
5590 2017-11-07 Michael Clark <michaeljclark@mac.com>
5591
5592 * config/riscv/linux.h (MUSL_ABI_SUFFIX): New define.
5593 (MUSL_DYNAMIC_LINKER): Likewise.
5594
5595 2017-11-27 Jim Wilson <jimw@sifive.com>
5596
5597 Backport from mainline
5598 2017-10-25 Palmer Dabbelt <palmer@dabbelt.com>
5599
5600 * config/riscv/riscv.md (ZERO_EXTEND_LOAD): Define.
5601 * config/riscv/pic.md (local_pic_load): Rename to local_pic_load_s,
5602 mark as a sign-extending load.
5603 (local_pic_load_u): Define.
5604
5605 Backport from mainline
5606 2017-11-03 Kito Cheng <kito.cheng@gmail.com>
5607
5608 * config/riscv/riscv.c (riscv_legitimize_move): Handle
5609 non-legitimate address.
5610
5611 2017-11-24 Segher Boessenkool <segher@kernel.crashing.org>
5612
5613 Backport from mainline
5614 2017-11-17 Segher Boessenkool <segher@kernel.crashing.org>
5615
5616 PR rtl-optimization/82621
5617 * combine.c (try_combine): Do not split PARALLELs of two SETs if the
5618 dest of one of those SETs is unused.
5619
5620 2017-11-23 Oleg Endo <olegendo@gcc.gnu.org>
5621
5622 Backport from mainline
5623 2017-11-23 Oleg Endo <olegendo@gcc.gnu.org>
5624
5625 PR target/83111
5626 * config/sh/sh.md (udivsi3, divsi3, sibcall_value_pcrel,
5627 sibcall_value_pcrel_fdpic): Use local variable instead of
5628 operands[3].
5629 (calli_tbr_rel): Add missing operand 2.
5630 (call_valuei_tbr_rel): Add missing operand 3.
5631
5632 2017-11-22 Richard Biener <rguenther@suse.de>
5633
5634 Revert
5635 2017-11-21 Martin Liska <mliska@suse.cz>
5636
5637 Backport from mainline
5638 2017-11-21 Martin Liska <mliska@suse.cz>
5639
5640 PR rtl-optimization/82044
5641 PR tree-optimization/82042
5642 * dse.c (check_mem_read_rtx): Check for overflow.
5643
5644 2017-11-21 Martin Liska <mliska@suse.cz>
5645
5646 Backport from mainline
5647 2017-10-27 Martin Liska <mliska@suse.cz>
5648
5649 PR gcov-profile/82457
5650 * doc/invoke.texi: Document that one needs a non-strict ISO mode
5651 for fork-like functions to be properly instrumented.
5652
5653 2017-11-21 Pat Haugen <pthaugen@us.ibm.com>
5654
5655 Backport from mainline
5656 2017-11-21 Pat Haugen <pthaugen@us.ibm.com>
5657
5658 * config/rs6000/ppc-asm.h (f50, vs50): Fix values.
5659
5660 2017-11-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
5661
5662 Backport from mainline
5663 2017-11-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
5664
5665 * config/arm/arm.c (output_return_instruction): Add comments to
5666 indicate requirement for cmse_nonsecure_entry return to account
5667 for the size of clearing instruction output here.
5668 (thumb_exit): Likewise.
5669 * config/arm/thumb2.md (thumb2_cmse_entry_return): Fix length for
5670 return in hardfloat mode.
5671
5672 2017-11-21 Martin Liska <mliska@suse.cz>
5673
5674 Backport from mainline
5675 2017-11-21 Martin Liska <mliska@suse.cz>
5676
5677 PR rtl-optimization/82044
5678 PR tree-optimization/82042
5679 * dse.c (check_mem_read_rtx): Check for overflow.
5680
5681 2017-11-21 Martin Liska <mliska@suse.cz>
5682
5683 Backport from mainline
5684 2017-11-08 Martin Liska <mliska@suse.cz>
5685
5686 * gimplify.c (expand_FALLTHROUGH_r): Simplify usage
5687 of gimple_call_internal_p.
5688
5689 2017-11-21 Martin Liska <mliska@suse.cz>
5690
5691 Backport from mainline
5692 2017-11-08 Martin Liska <mliska@suse.cz>
5693
5694 PR sanitizer/82792
5695 * gimplify.c (expand_FALLTHROUGH_r): Skip IFN_ASAN_MARK.
5696
5697 2017-11-21 Martin Liska <mliska@suse.cz>
5698
5699 Backport from mainline
5700 2017-10-31 Martin Liska <mliska@suse.cz>
5701
5702 PR gcov-profile/82633
5703 * doc/gcov.texi: Document -fkeep-{static,inline}-functions and
5704 their interaction with GCOV infrastructure.
5705
5706 2017-11-21 Martin Liska <mliska@suse.cz>
5707
5708 Backport from mainline
5709 2017-10-19 Martin Liska <mliska@suse.cz>
5710
5711 PR driver/81829
5712 * file-find.c (remove_prefix): Remove.
5713 * file-find.h (remove_prefix): Likewise.
5714 * gcc-ar.c: Remove smartness of lookup.
5715
5716 2017-11-21 Martin Liska <mliska@suse.cz>
5717
5718 Backport from mainline
5719 2017-10-18 Martin Liska <mliska@suse.cz>
5720
5721 PR sanitizer/82545
5722 * asan.c (asan_expand_poison_ifn): Do not put gimple stmt
5723 on an abnormal edge.
5724
5725 2017-11-21 Martin Liska <mliska@suse.cz>
5726
5727 Backport from mainline
5728 2017-10-11 Martin Liska <mliska@suse.cz>
5729
5730 * print-rtl.c (print_insn): Move declaration of idbuf
5731 to same scope as name.
5732
5733 2017-11-21 Claudiu Zissulescu <claziss@synopsys.com>
5734
5735 Backport from mainline
5736 2017-11-17 Vineet Gupta <vgupta@synopsys.com>
5737
5738 * config/arc/linux.h: GLIBC_DYNAMIC_LINKER update per glibc
5739 upstreaming review comments.
5740
5741 2017-11-21 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5742
5743 Backport from mainline
5744 2017-11-14 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5745
5746 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit since
5747 Solaris 11. Update comment.
5748 * configure.ac (gcc_cv_ld_pid): Adapt comment for Solaris 12
5749 renaming.
5750 * config/sol2.h (STARTFILE_SPEC): Likewise.
5751 * configure: Regenerate.
5752
5753 2017-11-20 Segher Boessenkool <segher@kernel.crashing.org>
5754
5755 Backport from mainline
5756 2017-09-20 Segher Boessenkool <segher@kernel.crashing.org>
5757
5758 PR target/77687
5759 * config/rs6000/rs6000.md (stack_restore_tie): Store to a scratch
5760 address instead of to r1 and r11.
5761
5762 2017-11-17 Vineet Gupta <vgupta@synopsys.com>
5763
5764 * config.gcc: Remove uclibc from arc target spec.
5765
5766 2017-11-16 Uros Bizjak <ubizjak@gmail.com>
5767
5768 * config/i386/i386.c (x86_print_call_or_nop): Emit 5 byte nop
5769 explicitly as a stream of bytes.
5770
5771 2017-11-15 Richard Biener <rguenther@suse.de>
5772
5773 PR tree-optimization/82985
5774 Backport from mainline
5775 2017-08-15 Richard Biener <rguenther@suse.de>
5776
5777 PR tree-optimization/81790
5778 * tree-ssa-sccvn.c (vn_lookup_simplify_result): Handle both
5779 CONSTRUCTORs from simplifying and VN.
5780
5781 2017-11-15 Pierre-Marie de Rodat <derodat@adacore.com>
5782
5783 Backport from mainline
5784 2017-09-25 Pierre-Marie de Rodat <derodat@adacore.com>
5785
5786 PR debug/82155
5787 * dwarf2out.c (dwarf2out_early_global_decl): Call dwarf2out_decl
5788 on the FUNCTION_DECL function context if it has a DIE that is a
5789 declaration.
5790
5791 2017-11-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5792
5793 Backport from mainline
5794 2017-10-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
5795
5796 * configure.ac (gcc_cv_as_ix86_xbrace_comment): Check if assembler
5797 supports -xbrace_comment option.
5798 * configure: Regenerate.
5799 * config.in: Regenerate.
5800 * config/i386/sol2.h (ASM_XBRACE_COMMENT_SPEC): Define.
5801 (ASM_CPU_SPEC): Use it.
5802
5803 2017-11-09 Segher Boessenkool <segher@kernel.crashing.org>
5804
5805 Backport from mainline
5806 2017-11-01 Segher Boessenkool <segher@kernel.crashing.org>
5807
5808 PR rtl-optimization/64682
5809 PR rtl-optimization/69567
5810 PR rtl-optimization/69737
5811 PR rtl-optimization/82683
5812 * combine.c (distribute_notes) <REG_DEAD>: If the new I2 sets the same
5813 register mentioned in the note, drop the note, unless it came from I3,
5814 in which case it should go to I3 again.
5815
5816 2017-11-07 Eric Botcazou <ebotcazou@adacore.com>
5817
5818 Backport from mainline
5819 2017-10-31 Matthew Fortune <matthew.fortune@imgtec.com>
5820 Eric Botcazou <ebotcazou@adacore.com>
5821
5822 PR rtl-optimization/81803
5823 * lra-constraints.c (curr_insn_transform): Also reload the whole
5824 register for a strict subreg no wider than a word if this is for
5825 a WORD_REGISTER_OPERATIONS target.
5826
5827 2017-11-03 Wilco Dijkstra <wdijkstr@arm.com>
5828
5829 PR middle-end/60580
5830 * config/aarch64/aarch64.c (aarch64_frame_pointer_required)
5831 Check special value of flag_omit_frame_pointer.
5832 (aarch64_can_eliminate): Likewise.
5833 (aarch64_override_options_after_change_1): Simplify handling of
5834 -fomit-frame-pointer and -fomit-leaf-frame-pointer.
5835
5836 2017-11-01 Martin Jambor <mjambor@suse.cz>
5837
5838 PR c++/81702
5839 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert.
5840
5841 2017-10-31 Uros Bizjak <ubizjak@gmail.com>
5842
5843 PR target/82772
5844 * config/alpha/sync.md (fetchop_constr) <and>: Change to "rINM".
5845
5846 2017-10-27 Jakub Jelinek <jakub@redhat.com>
5847
5848 Backported from mainline
5849 2017-10-12 Jakub Jelinek <jakub@redhat.com>
5850
5851 PR c++/82159
5852 * expr.c (store_field): Don't optimize away bitsize == 0 store
5853 from CALL_EXPR with addressable return type.
5854
5855 2017-09-21 Jakub Jelinek <jakub@redhat.com>
5856
5857 PR sanitizer/81715
5858 * tree-inline.c (expand_call_inline): Emit clobber stmts for
5859 VAR_DECLs to which addressable non-volatile parameters are mapped
5860 and for id->retvar after the return value assignment, though
5861 for -fsanitize=kernel-address only. Clear id->retval and id->retbnd
5862 after inlining.
5863
5864 2017-09-18 Jakub Jelinek <jakub@redhat.com>
5865
5866 PR c/82234
5867 * doc/extend.texi: Add @findex entry for __builtin_shuffle.
5868
5869 2017-09-15 Jakub Jelinek <jakub@redhat.com>
5870
5871 PR rtl-optimization/82192
5872 * combine.c (make_extraction): Don't look through non-paradoxical
5873 SUBREGs or TRUNCATE if pos + len is or might be bigger than
5874 inner's mode.
5875
5876 2017-10-27 Jakub Jelinek <jakub@redhat.com>
5877
5878 PR target/82703
5879 * config/i386/i386-protos.h (maybe_get_pool_constant): Removed.
5880 * config/i386/i386.c (maybe_get_pool_constant): Removed.
5881 (ix86_split_to_parts): Use avoid_constant_pool_reference instead of
5882 maybe_get_pool_constant.
5883 * config/i386/predicates.md (zero_extended_scalar_load_operand):
5884 Likewise.
5885
5886 2017-10-24 Qing Zhao <qing.zhao@oracle.com>
5887 Wilco Dijkstra <wilco.dijkstra@arm.com>
5888
5889 * builtins.c (expand_builtin_update_setjmp_buf): Add a
5890 converstion to Pmode from the buf_addr.
5891
5892 2017-10-20 Richard Biener <rguenther@suse.de>
5893
5894 PR tree-optimization/82603
5895 * tree-if-conv.c (predicate_mem_writes): Make sure to only
5896 remove false predicated stores.
5897
5898 2017-10-20 Richard Biener <rguenther@suse.de>
5899
5900 Backport from mainline
5901 2017-10-06 Richard Biener <rguenther@suse.de>
5902
5903 PR tree-optimization/82436
5904 * tree-vect-slp.c (vect_supported_load_permutation_p): More
5905 conservatively choose the vectorization factor when checking
5906 whether we can perform the required load permutation.
5907 (vect_transform_slp_perm_load): Assert when we may not fail.
5908
5909 2017-10-19 Richard Earnshaw <rearnsha@arm.com>
5910
5911 PR target/82445
5912 * config/arm/arm.c (align_ok_ldrd_strd): New function.
5913 (mem_ok_for_ldrd_strd): New parameter align. Extract the alignment of
5914 the mem into it.
5915 (gen_operands_ldrd_strd): Validate the alignment of the accesses.
5916
5917 2017-10-18 Segher Boessenkool <segher@kernel.crashing.org>
5918
5919 PR rtl-optimization/82602
5920 * ira.c (rtx_moveable_p): Return false for volatile asm.
5921
5922 2017-10-18 Vladimir Makarov <vmakarov@redhat.com>
5923
5924 PR middle-end/82556
5925 * lra-constraints.c (curr_insn_transform): Use non-input operand
5926 instead of output one for matched reload.
5927
5928 2017-10-17 Jakub Jelinek <jakub@redhat.com>
5929
5930 PR tree-optimization/82549
5931 * fold-const.c (optimize_bit_field_compare, fold_truth_andor_1):
5932 Formatting fixes. Instead of calling make_bit_field_ref with negative
5933 bitpos return 0.
5934
5935 2017-10-13 Jakub Jelinek <jakub@redhat.com>
5936
5937 PR target/82274
5938 * internal-fn.c (expand_mul_overflow): If both operands have
5939 the same highpart of -1 or 0 and the topmost bit of lowpart
5940 is different, overflow is if res <= 0 rather than res < 0.
5941
5942 PR target/82524
5943 * config/i386/i386.md (addqi_ext_1, andqi_ext_1,
5944 *andqi_ext_1_cc, *<code>qi_ext_1, *xorqi_ext_1_cc): Change
5945 =Q constraints to +Q and into insn condition add check
5946 that operands[0] and operands[1] are equal.
5947 (*addqi_ext_2, *andqi_ext_2, *<code>qi_ext_2): Change
5948 =Q constraints to +Q and into insn condition add check
5949 that operands[0] is equal to either operands[1] or operands[2].
5950
5951 2017-10-10 Andreas Tobler <andreast@gcc.gnu.org>
5952
5953 Backported from mainline r253602
5954 2017-10-10 Andreas Tobler <andreast@gcc.gnu.org>
5955
5956 * config.gcc: (armv7*-*-freebsd*): New target.
5957 (armv6*-*-freebsd*): Remove obsolete TARGET_FREEBSD_ARMv6 define.
5958
5959 2017-10-06 Christophe Lyon <christophe.lyon@linaro.org>
5960
5961 Backport from mainline r253242.
5962 2017-09-27 Christophe Lyon <christophe.lyon@linaro.org>
5963
5964 PR target/71727
5965 * config/aarch64/aarch64.c
5966 (aarch64_builtin_support_vector_misalignment): Always return false
5967 when misalignment is unknown.
5968
5969 2017-10-04 Jason Merrill <jason@redhat.com>
5970
5971 PR c++/82406 - C++ error with noexcept function type
5972 PR c++/70029 - ICE with ref-qualifier and -flto
5973 * langhooks.h (struct lang_hooks_for_types): Add
5974 copy_lang_qualifiers.
5975 * attribs.c (build_type_attribute_qual_variant): Use it.
5976 * langhooks-def.h (LANG_HOOKS_COPY_LANG_QUALIFIERS): Default to
5977 NULL.
5978 (LANG_HOOKS_FOR_TYPES_INITIALIZER): Use it.
5979 * tree.c (verify_type): Re-enable TYPE_CANONICAL main variant check.
5980
5981 2017-10-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5982
5983 Backport from mainline
5984 2017-09-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5985
5986 PR tree-optimization/82337
5987 * gimple-ssa-strength-reduction.c (find_phi_def): Don't record a
5988 phi definition if the PHI result appears in an abnormal PHI.
5989 (find_basis_for_base_expr): Don't record a basis if the LHS of the
5990 basis appears in an abnormal PHI.
5991
5992 2017-09-30 Jakub Jelinek <jakub@redhat.com>
5993
5994 * config/i386/i386.c (ix86_split_idivmod): Use mode instead of
5995 always SImode for DIV and MOD in REG_EQUAL notes.
5996
5997 Backported from mainline
5998 2017-09-27 Jakub Jelinek <jakub@redhat.com>
5999
6000 PR c++/82159
6001 * gimplify.c (gimplify_modify_expr): Don't optimize away zero sized
6002 lhs from calls if the lhs has addressable type.
6003
6004 2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com>
6005
6006 Backport from mainline
6007 2017-06-29 Maya Rashish <coypu@sdf.org>
6008
6009 PR target/77480
6010 * config/netbsd.h (NETBSD_LIB_SPEC): Add -lc when creating shared
6011 objects.
6012
6013 2017-09-29 Krister Walfridsson <krister.walfridsson@gmail.com>
6014
6015 Backport from mainline
6016 2017-09-26 Krister Walfridsson <krister.walfridsson@gmail.com>
6017
6018 PR target/39570
6019 * gcc/config/netbsd-protos.h: New file.
6020 * gcc/config/netbsd.c: New file.
6021 * gcc/config/netbsd.h (SUBTARGET_INIT_BUILTINS): Define.
6022 * gcc/config/t-netbsd: New file.
6023 * gcc/config.gcc (tm_p_file): Add netbsd-protos.h.
6024 (tmake_file) Add t-netbsd.
6025 (extra_objs) Add netbsd.o.
6026
6027 2017-09-28 Krister Walfridsson <krister.walfridsson@gmail.com>
6028
6029 Backport from mainline
6030 2017-05-14 Krister Walfridsson <krister.walfridsson@gmail.com>
6031
6032 PR target/80600
6033 * config/netbsd.h (NETBSD_LIBGCC_SPEC): Always add -lgcc.
6034
6035 2017-09-27 Christophe Lyon <christophe.lyon@linaro.org>
6036
6037 Backport from trunk r249639.
6038 2017-06-26 Christophe Lyon <christophe.lyon@linaro.org>
6039
6040 * doc/sourcebuild.texi (ARM-specific attributes): Document new
6041 arm_neon_ok_no_float_abi effective target.
6042
6043 2017-09-26 Richard Biener <rguenther@suse.de>
6044
6045 Backport from mainline
6046 2017-09-19 Richard Biener <rguenther@suse.de>
6047
6048 PR tree-optimization/82244
6049 * tree-vrp.c (remove_range_assertions): Do not propagate
6050 a constant to abnormals but replace the assert with a copy.
6051
6052 2017-09-21 Richard Biener <rguenther@suse.de>
6053
6054 PR tree-optimization/82276
6055 PR tree-optimization/82244
6056 * tree-vrp.c (build_assert_expr_for): Set
6057 SSA_NAME_OCCURS_IN_ABNORMAL_PHI if the variable we assert on
6058 has it set.
6059 (remove_range_assertions): Revert earlier change.
6060
6061 2017-09-20 Richard Biener <rguenther@suse.de>
6062
6063 PR tree-optimization/82264
6064 * tree-ssa-sccvn.c (vn_phi_eq): Use safe_dyn_cast to check
6065 for GIMPLE_CONDs.
6066 (vn_phi_lookup): Likewise.
6067 (vn_phi_insert): Likewise.
6068 * is-a.h (safe_dyn_cast): New.
6069
6070 2017-09-25 Richard Biener <rguenther@suse.de>
6071
6072 PR tree-optimization/82285
6073 * tree-vect-patterns.c (vect_recog_bool_pattern): Also handle
6074 enumeral types.
6075
6076 2017-09-22 Richard Biener <rguenther@suse.de>
6077
6078 PR tree-optimization/82291
6079 * tree-if-conv.c (predicate_mem_writes): Make sure to
6080 remove writes in blocks predicated with false.
6081
6082 2017-09-21 Alan Modra <amodra@gmail.com>
6083
6084 PR target/81996
6085 * gcc/config/rs6000/rs6000.c (rs6000_return_addr): Use
6086 stack_pointer_rtx for count 0. Update comments. Break up
6087 large rtl expression.
6088
6089 2017-09-21 Wilco Dijkstra <wdijkstr@arm.com>
6090
6091 PR target/71951
6092 * config/aarch64/aarch64.h (LIBGCC2_UNWIND_ATTRIBUTE): Define.
6093
6094 2017-09-19 Uros Bizjak <ubizjak@gmail.com>
6095
6096 * config/i386/i386.c (fold_builtin_cpu): Add M_AMDFAM17H
6097 to processor_model and "amdfam17h" to arch_names_table.
6098 * doc/extend.texi (__builtin_cpu_is): Document amdfam17h CPU name.
6099
6100 2017-09-19 Martin Liska <mliska@suse.cz>
6101
6102 PR c++/81355
6103 * config/i386/i386.c (sorted_attr_string): Skip empty strings.
6104
6105 2017-09-19 Martin Liska <mliska@suse.cz>
6106
6107 Revert backport:
6108 2017-08-10 Martin Liska <mliska@suse.cz>
6109
6110 PR c++/81355
6111 * c-attribs.c (handle_target_attribute):
6112 Report warning for an empty string argument of target attribute.
6113
6114 2017-09-18 Richard Biener <rguenther@suse.de>
6115
6116 Backport from mainline
6117 2017-09-04 Richard Biener <rguenther@suse.de>
6118
6119 PR tree-optimization/82084
6120 * fold-const.h (can_native_encode_string_p): Declare.
6121 * fold-const.c (can_native_encode_string_p): Factor out from ...
6122 (native_encode_string): ... here.
6123 * tree-vect-stmts.c (vectorizable_store): Call it to avoid
6124 vectorizing stores from constants we later cannot handle.
6125
6126 2017-09-06 Richard Biener <rguenther@suse.de>
6127
6128 PR tree-optimization/82108
6129 * tree-vect-stmts.c (vectorizable_load): Fix pointer adjustment
6130 for gap in the non-permutation SLP case.
6131
6132 2017-09-15 Jakub Jelinek <jakub@redhat.com>
6133
6134 Backported from mainline
6135 2017-09-14 Jakub Jelinek <jakub@redhat.com>
6136
6137 PR target/81325
6138 * cfgbuild.c (find_bb_boundaries): Ignore debug insns in decisions
6139 if and where to split a bb, except for splitting before debug insn
6140 sequences followed by non-label real insn. Delete debug insns
6141 in between basic blocks.
6142
6143 2017-09-12 Jakub Jelinek <jakub@redhat.com>
6144
6145 PR target/82112
6146 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
6147 ALTIVEC_BUILTIN_VEC_LD if arg1 has array type call default_conversion
6148 on it early, rather than manual conversion late. For
6149 ALTIVEC_BUILTIN_VEC_ST if arg2 has array type call default_conversion
6150 instead of performing manual conversion.
6151
6152 2017-09-15 Martin Liska <mliska@suse.cz>
6153
6154 Backport from mainline
6155 2017-09-14 Martin Liska <mliska@suse.cz>
6156
6157 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
6158 Add proper printf format.
6159
6160 2017-09-15 Martin Liska <mliska@suse.cz>
6161
6162 Backport from mainline
6163 2017-08-30 Martin Liska <mliska@suse.cz>
6164
6165 PR inline-asm/82001
6166 * ipa-icf-gimple.c (func_checker::compare_tree_list_operand):
6167 Rename to ...
6168 (func_checker::compare_asm_inputs_outputs): ... this function.
6169 (func_checker::compare_gimple_asm): Use the function to compare
6170 also ASM constrains.
6171 * ipa-icf-gimple.h: Rename the function.
6172
6173 2017-09-15 Martin Liska <mliska@suse.cz>
6174
6175 Backport from mainline
6176 2017-08-29 Martin Liska <mliska@suse.cz>
6177
6178 PR other/39851
6179 * gcc.c (driver_handle_option): Add new argument.
6180 * opts-common.c (handle_option): Pass
6181 target_option_override_hook.
6182 * opts-global.c (lang_handle_option): Add new option.
6183 (set_default_handlers): Add new argument.
6184 (decode_options): Likewise.
6185 * opts.c (target_handle_option): Likewise.
6186 (common_handle_option): Call target_option_override_hook.
6187 * opts.h (struct cl_option_handler_func): Add hook for
6188 target option override.
6189 (struct cl_option_handlers): Likewise.
6190 (set_default_handlers): Add new argument.
6191 (decode_options): Likewise.
6192 (common_handle_option): Likewise.
6193 (target_handle_option): Likewise.
6194 * toplev.c (toplev::main): Pass targetm.target_option.override
6195 hook.
6196
6197 2017-09-15 Martin Liska <mliska@suse.cz>
6198
6199 Backport from mainline
6200 2017-08-10 Martin Liska <mliska@suse.cz>
6201
6202 PR c++/81355
6203 * c-attribs.c (handle_target_attribute):
6204 Report warning for an empty string argument of target attribute.
6205
6206 2017-09-15 Martin Liska <mliska@suse.cz>
6207
6208 Backport from mainline
6209 2017-08-08 Martin Liska <mliska@suse.cz>
6210
6211 PR tree-opt/81696
6212 * ipa-icf-gimple.c (func_checker::compare_cst_or_decl): Consider
6213 LABEL_DECLs that can be from a different function.
6214
6215 2017-09-15 Martin Liska <mliska@suse.cz>
6216
6217 Backport from mainline
6218 2017-06-28 Martin Liska <mliska@suse.cz>
6219
6220 PR ipa/81128
6221 * ipa-visibility.c (non_local_p): Handle visibility.
6222
6223 2017-09-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6224
6225 Backport from mainline
6226 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6227
6228 PR target/81833
6229 * config/rs6000/altivec.md (altivec_vsum2sws): Convert from a
6230 define_insn to a define_expand.
6231 (altivec_vsum2sws_direct): New define_insn.
6232 (altivec_vsumsws): Convert from a define_insn to a define_expand.
6233
6234 2017-09-11 Max Filippov <jcmvbkbc@gmail.com>
6235
6236 Backport from mainline
6237 PR target/82181
6238 * config/xtensa/xtensa.c (xtensa_mem_offset): Check that both
6239 words of DImode object are reachable by xtensa_uimm8x4 access.
6240
6241 2017-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6242
6243 Backport from mainline
6244 2017-05-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6245
6246 PR target/80695
6247 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
6248 Account for direct move costs for vec_construct of integer
6249 vectors.
6250
6251 Backport from mainline
6252 2017-07-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6253
6254 PR target/80695
6255 * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
6256 Reduce cost estimate for direct moves.
6257
6258 2017-09-08 Eric Botcazou <ebotcazou@adacore.com>
6259
6260 PR target/81988
6261 * config/sparc/sparc.md (mulsi3): Rename into *mulsi3_sp32.
6262 (*mulsi3_sp64): New instruction.
6263 (mulsi3): New expander.
6264
6265 2017-09-07 Jakub Jelinek <jakub@redhat.com>
6266
6267 Backported from mainline
6268 2017-09-05 Jakub Jelinek <jakub@redhat.com>
6269
6270 PR middle-end/81768
6271 * omp-low.c (lower_omp_for): Recompute tree invariant if
6272 gimple_omp_for_initial/final is ADDR_EXPR.
6273
6274 PR middle-end/81768
6275 * omp-expand.c (expand_omp_simd): Force second operands of COND_EXPR
6276 into gimple val before gimplification fo the COND_EXPR.
6277
6278 2017-09-04 Jakub Jelinek <jakub@redhat.com>
6279
6280 * lra-remat.c (reg_overlap_for_remat_p): Fix a pasto.
6281
6282 2017-09-01 Jakub Jelinek <jakub@redhat.com>
6283
6284 PR sanitizer/81923
6285 * asan.c (create_odr_indicator): Strip name encoding from assembler
6286 name before appending it after __odr_asan_.
6287
6288 2017-08-09 Jakub Jelinek <jakub@redhat.com>
6289
6290 PR c/81687
6291 * omp-low.c (omp_copy_decl): Don't remap FORCED_LABEL or DECL_NONLOCAL
6292 LABEL_DECLs.
6293 * tree-cfg.c (move_stmt_op): Don't adjust DECL_CONTEXT of FORCED_LABEL
6294 or DECL_NONLOCAL labels.
6295 (move_stmt_r) <case GIMPLE_LABEL>: Adjust DECL_CONTEXT of FORCED_LABEL
6296 or DECL_NONLOCAL labels here.
6297
6298 2017-08-03 Jakub Jelinek <jakub@redhat.com>
6299
6300 PR target/81621
6301 * bb-reorder.c (pass_partition_blocks::execute): Return TODO_df_finish
6302 after setting changeable df flags.
6303
6304 PR driver/81650
6305 * calls.c (alloc_max_size): Use HOST_WIDE_INT_UC (10??)
6306 instead of 10??LU, perform unit multiplication in wide_int,
6307 don't change alloc_object_size_limit if the limit is larger
6308 than SSIZE_MAX.
6309
6310 PR middle-end/81052
6311 * omp-low.c (diagnose_sb_0): Handle flag_openmp_simd like flag_openmp.
6312 (pass_diagnose_omp_blocks::gate): Enable also for flag_openmp_simd.
6313
6314 2017-09-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6315
6316 Backport from mainline:
6317 2017-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6318
6319 PR tree-optimization/81987
6320 * gimple-ssa-strength-reduction.c (insert_initializers): Don't
6321 insert an initializer in a location not dominated by the stride
6322 definition.
6323
6324 2017-09-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6325
6326 Backport from mainline
6327 2017-08-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6328 Jakub Jelinek <jakub@redhat.com>
6329 Richard Biener <rguenther@suse.de>
6330
6331 PR tree-optimization/81503
6332 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Ensure
6333 folded constant fits in the target type; reorder tests for clarity.
6334
6335 2017-09-05 Pierre-Marie de Rodat <derodat@adacore.com>
6336
6337 Backport from trunk
6338 PR ada/79542
6339 * dwarf2out.c (modified_type_die): For C typedef types that have
6340 an ultimate origin, process the ultimate origin instead of the
6341 input type.
6342 (gen_typedef_die): Assert that input DECLs have no ultimate
6343 origin.
6344 (gen_type_die_with_usage): For typedef variants that have an
6345 ultimate origin, just call gen_decl_die on the original DECL.
6346 (process_scope_var): Avoid creating DIEs for local typedefs and
6347 concrete static variables.
6348
6349 2017-08-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6350
6351 Backport from mainline
6352 2017-08-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6353
6354 PR target/81504
6355 * config/rs6000/rs6000.c (find_alignment_op): Add reference
6356 parameter and_insn and return it.
6357 (recombine_lvx_pattern): Insert a copy to ensure availability of
6358 the base register of the copied masking operation at the point of
6359 the instruction replacement.
6360 (recombine_stvx_pattern): Likewise.
6361
6362 2017-08-29 Michael Meissner <meissner@linux.vnet.ibm.com>
6363
6364 Back port from trunk
6365 2017-08-07 Michael Meissner <meissner@linux.vnet.ibm.com>
6366
6367 PR target/81593
6368 * config/rs6000/vsx.md (vsx_concat_<mode>_1): New combiner insns
6369 to recognize inserting into a vector from a double word element
6370 that was extracted from another vector, and eliminate extra
6371 XXPERMDI instructions.
6372 (vsx_concat_<mode>_2): Likewise.
6373 (vsx_concat_<mode>_3): Likewise.
6374 (vsx_set_<mode>, VSX_D): Rewrite vector set in terms of vector
6375 concat to allow optimizing inserts from previous extracts.
6376
6377 2017-08-29 Alan Modra <amodra@gmail.com>
6378
6379 Apply from mainline
6380 2017-08-12 Alan Modra <amodra@gmail.com>
6381 PR target/81170
6382 PR target/81295
6383 * config/rs6000/sysv4.h (STARTFILE_LINUX_SPEC): Upgrade to
6384 match gnu-user.h startfile.
6385 (ENDFILE_LINUX_SPEC): Similarly.
6386
6387 2017-08-08 Alan Modra <amodra@gmail.com>
6388 H.J. Lu <hongjiu.lu@intel.com>
6389 PR target/81170
6390 PR target/81295
6391 PR driver/81523
6392 * gcc.c (NO_PIE_SPEC): Delete.
6393 (PIE_SPEC): Define as !no-pie/pie. Move static|shared|r
6394 exclusion..
6395 (LINK_PIE_SPEC): ..to here.
6396 (LINK_COMMAND_SPEC): Support -no-pie.
6397 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Correct
6398 chain of crtbegin*.o selection, update for PIE_SPEC changes and
6399 format.
6400 (GNU_USER_TARGET_ENDFILE_SPEC): Similarly.
6401 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Similarly.
6402 (ENDFILE_CRTEND_SPEC): Similarly.
6403
6404 2017-08-29 Richard Biener <rguenther@suse.de>
6405
6406 Backport from mainline
6407 2017-08-28 Richard Biener <rguenther@suse.de>
6408
6409 PR tree-optimization/81977
6410 * tree-ssa-sccvn.c (vn_reference_lookup_3): Fix look through
6411 memcpy.
6412
6413 2017-08-28 Richard Biener <rguenther@suse.de>
6414
6415 PR debug/81993
6416 * dwarf2out.c (gen_remaining_tmpl_value_param_die_attributes):
6417 Do nothing for removed DIEs.
6418
6419 2017-08-28 Richard Biener <rguenther@suse.de>
6420
6421 Backport from mainline
6422 2017-06-14 Richard Biener <rguenther@suse.de>
6423
6424 PR middle-end/81088
6425 * fold-const.c (split_tree): Drop TREE_OVERFLOW flag from
6426 literal constants.
6427 (fold_binary_loc): When associating do not treat pre-existing
6428 TREE_OVERFLOW on literal constants as a reason to allow
6429 TREE_OVERFLOW on associated literal constants.
6430
6431 2017-06-13 Richard Biener <rguenther@suse.de>
6432
6433 PR middle-end/81065
6434 * fold-const.c (extract_muldiv_1): Remove bogus distribution
6435 case of C * (x * C2 + C3).
6436 (fold_addr_of_array_ref_difference): Properly fold index difference.
6437
6438 2017-06-07 Marek Polacek <polacek@redhat.com>
6439
6440 PR sanitizer/80932
6441 * fold-const.c (extract_muldiv_1) <case MINUS_EXPR>: Add
6442 TYPE_OVERFLOW_WRAPS check.
6443
6444 2017-08-28 Richard Biener <rguenther@suse.de>
6445
6446 Backport from mainline
6447 2017-08-21 Richard Biener <rguenther@suse.de>
6448
6449 PR middle-end/81884
6450 * tree-ssa-alias.c (stmt_kills_ref_p): Handle array accesses
6451 at struct end conservatively when comparing common bases.
6452
6453 2017-05-04 Richard Biener <rguenther@suse.de>
6454
6455 * tree.c (array_at_struct_end_p): Handle arrays at struct
6456 end with flexarrays more conservatively. Refactor and treat
6457 arrays of arrays or aggregates more strict. Fix
6458 VIEW_CONVERT_EXPR handling. Remove allow_compref argument.
6459 * tree.h (array_at_struct_end_p): Adjust prototype.
6460 * gimple-fold.c (get_range_strlen): Likewise.
6461 * tree-chkp.c (chkp_may_narrow_to_field): Likewise.
6462
6463 2017-08-28 Richard Biener <rguenther@suse.de>
6464
6465 Backport from mainline
6466 2017-08-01 Richard Biener <rguenther@suse.de>
6467
6468 PR tree-optimization/81181
6469 * tree-ssa-pre.c (compute_antic_aux): Defer clean() to ...
6470 (compute_antic): ... end of iteration here.
6471
6472 2017-08-08 Richard Biener <rguenther@suse.de>
6473
6474 PR tree-optimization/81723
6475 * tree-vect-slp.c (struct bst_traits): New hash traits.
6476 (bst_fail): New global.
6477 (vect_build_slp_tree_2): New worker, split out from ...
6478 (vect_build_slp_tree): ... this now wrapping it with using
6479 bst_fail set to cache SLP tree build fails. Properly handle
6480 max_tree_size.
6481 (vect_analyze_slp_instance): Allocate and free bst_fail.
6482
6483 2017-08-24 Richard Biener <rguenther@suse.de>
6484
6485 PR target/81921
6486 * config/i386/i386.c: Include symbol-summary.h, ipa-prop.h
6487 and ipa-inline.h.
6488 (ix86_can_inline_p): When ix86_fpmath flags do not match
6489 check whether the callee uses FP math at all.
6490
6491 2017-08-23 Peter Bergner <bergner@vnet.ibm.com>
6492
6493 Backport from mainline
6494 2017-08-17 Peter Bergner <bergner@vnet.ibm.com>
6495
6496 PR target/72804
6497 * config/rs6000/vsx.md (*vsx_le_permute_<mode>): Add support for
6498 operands residing in integer registers.
6499 (*vsx_le_perm_load_<mode>): Likewise.
6500 (*vsx_le_perm_store_<mode>): Likewise.
6501 (define_peephole2): Add peepholes to optimize the above.
6502
6503 2017-08-22 Peter Bergner <bergner@vnet.ibm.com>
6504
6505 Backport from mainline
6506 2017-08-17 Peter Bergner <bergner@vnet.ibm.com>
6507
6508 PR target/80210
6509 * config/rs6000/rs6000.c (rs6000_activate_target_options): New function.
6510 (rs6000_set_current_function): Rewrite function to use it.
6511
6512 2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
6513
6514 Backport from mainline
6515 2017-08-22 Sebastian Huber <sebastian.huber@embedded-brains.de>
6516
6517 * config.gcc (powerpc-*-rtems*): Add rs6000/linux64.opt.
6518 * config/rs6000/rtems.h (ASM_PREFERRED_EH_DATA_FORMAT): New define.
6519 (DOT_SYMBOLS): Likewise.
6520 (MINIMAL_TOC_SECTION_ASM_OP): Likewise.
6521 (RELOCATABLE_NEEDS_FIXUP): Likewise.
6522 (RS6000_ABI_NAME): Likewise.
6523 (TARGET_CMODEL): Likewise.
6524 (TOC_SECTION_ASM_OP): Likewise.
6525 (SET_CMODEL): New macro.
6526 (SUBSUBTARGET_OVERRIDE_OPTIONS): Evaluate cmodel options.
6527
6528 2017-08-22 Georg-Johann Lay <avr@gjlay.de>
6529
6530 Backport from 2017-08-22 trunk r251256.
6531
6532 PR target/81910
6533 * config/avr/avr.c (avr_handle_addr_attribute): Early return if
6534 not VAR_P. Filter attribute warnings with OPT_Wattributes.
6535 (avr_attribute_table) <io, io_low, address>: Initialize
6536 .decl_required with true.
6537
6538 2017-08-21 Georg-Johann Lay <avr@gjlay.de>
6539
6540 PR target/79883
6541 * config/avr/avr.c (avr_set_current_function): Typo in diagnostic.
6542
6543 2017-08-19 Uros Bizjak <ubizjak@gmail.com>
6544
6545 PR target/81894
6546 * doc/extend.texi (x86 Built-in Functions): Correct the name of
6547 __builtin_ia32_lzcnt_u16.
6548
6549 2017-08-17 Uros Bizjak <ubizjak@gmail.com>
6550
6551 Backport from mainline
6552 2017-08-17 Maxim Ostapenko <m.ostapenko@samsung.com>
6553
6554 PR target/81861
6555 * config/i386/i386.c (ix86_option_override_internal): Save target
6556 specific options after ix86_stack_protector_guard_reg was changed.
6557
6558 2017-08-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6559
6560 Backport from mainline
6561 2017-08-08 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6562
6563 PR tree-optimization/81354
6564 * gimple-ssa-strength-reduction.c (create_add_on_incoming_edge):
6565 Insert on edges rather than explicitly creating landing pads.
6566 (analyze_candidates_and_replace): Commit edge inserts.
6567
6568 2017-08-15 Joseph Myers <joseph@codesourcery.com>
6569
6570 PR target/78460
6571 PR target/67712
6572 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Only unroll for
6573 constant count if that count is less than 32.
6574
6575 2017-08-14 Richard Biener <rguenther@suse.de>
6576
6577 * BASE-VER: Set to 7.2.1.
6578
6579 2017-08-14 Release Manager
6580
6581 * GCC 7.2.0 released.
6582
6583 2017-08-08 Richard Biener <rguenther@suse.de>
6584
6585 PR middle-end/81766
6586 * function.c (thread_prologue_and_epilogue_insns): Restore
6587 behavior of always calling find_many_sub_basic_blocks on
6588 the inserted prologue.
6589
6590 2017-08-02 Jakub Jelinek <jakub@redhat.com>
6591
6592 PR middle-end/79499
6593 * function.c (thread_prologue_and_epilogue_insns): Determine blocks
6594 for find_many_sub_basic_blocks bitmap by looking up BLOCK_FOR_INSN
6595 of first NONDEBUG_INSN_P in each of the split_prologue_seq and
6596 prologue_seq sequences - if any.
6597
6598 2017-08-01 Uros Bizjak <ubizjak@gmail.com>
6599
6600 PR target/81641
6601 * config/i386/i386.c (ix86_print_operand_address_as): For -masm=intel
6602 print "ds:" only for immediates in generic address space.
6603
6604 2017-08-01 Jakub Jelinek <jakub@redhat.com>
6605
6606 PR target/81622
6607 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): For
6608 __builtin_vec_cmpne verify both arguments are compatible vectors
6609 before looking at TYPE_MODE on the element type. For __builtin_vec_ld
6610 verify arg1_type is a pointer or array type. For __builtin_vec_st,
6611 move computation of aligned to after checking the argument types.
6612 Formatting fixes.
6613
6614 2017-08-01 Martin Liska <mliska@suse.cz>
6615
6616 Backport from mainline
6617 2017-07-26 Martin Liska <mliska@suse.cz>
6618
6619 PR gcov-profile/81561
6620 * gcov.c (unblock): Make unblocking safe as we need to preserve
6621 index correspondence of blocks and block_lists.
6622
6623 2017-08-01 Richard Biener <rguenther@suse.de>
6624
6625 PR tree-optimization/71752
6626 PR tree-optimization/81633
6627 * tree-vect-slp.c (vect_get_slp_defs): Handle null operands
6628 in the original suggested way.
6629
6630 2017-08-01 Richard Sandiford <richard.sandiford@linaro.org>
6631
6632 PR tree-optimization/80769
6633 * tree-ssa-strlen.c (strinfo): Document that "stmt" is also used
6634 for malloc and calloc. Document the new invariant that all related
6635 strinfos have delayed lengths or none do.
6636 (get_next_strinfo): New function.
6637 (verify_related_strinfos): Move earlier in file.
6638 (set_endptr_and_length): New function, split out from...
6639 (get_string_length): ...here. Also set the lengths of related
6640 strinfos.
6641
6642 2017-08-01 Jakub Jelinek <jakub@redhat.com>
6643
6644 PR tree-optimization/81588
6645 * tree-ssa-reassoc.c (optimize_range_tests_var_bound): If
6646 ranges[i].in_p, invert comparison code ccode. For >/>=,
6647 swap rhs1 and rhs2 and comparison code unconditionally,
6648 for </<= don't do that. Don't swap rhs1/rhs2 again if
6649 ranges[i].in_p, instead invert comparison code ccode if
6650 opcode or oe->rank is BIT_IOR_EXPR.
6651
6652 2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6653
6654 Backport from mainline
6655 2017-07-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6656
6657 * config.gcc: Add z14.
6658 * config/s390/driver-native.c (s390_host_detect_local_cpu): Add
6659 CPU model numbers for z13s and z14.
6660 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Replace
6661 arch12 with z14.
6662 * config/s390/s390-opts.h (enum processor_type): Rename
6663 PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
6664 * config/s390/s390.c (processor_table): Add field for CPU name to
6665 be passed to Binutils.
6666 (s390_asm_output_machine_for_arch): Use the new field in
6667 processor_table for Binutils.
6668 (s390_expand_builtin): Replace arch12 with z14.
6669 (s390_issue_rate): Rename PROCESSOR_ARCH12 to PROCESSOR_3906_Z14.
6670 (s390_get_sched_attrmask): Likewise.
6671 (s390_get_unit_mask): Likewise.
6672 * config/s390/s390.opt: Add z14 to processor_type enum.
6673
6674 2017-07-31 Jakub Jelinek <jakub@redhat.com>
6675
6676 PR sanitizer/81604
6677 * ubsan.c (ubsan_type_descriptor): For UBSAN_PRINT_ARRAY don't
6678 change type to the element type, instead add eltype variable and
6679 use it where we are interested in the element type.
6680
6681 2017-07-28 Peter Bergner <bergner@vnet.ibm.com>
6682
6683 Backport from mainline
6684 2017-07-28 Peter Bergner <bergner@vnet.ibm.com>
6685
6686 * config/rs6000/ppc-auxv.h (PPC_FEATURE2_DARN): New define.
6687 (PPC_FEATURE2_SCV): Likewise.
6688 * config/rs6000/rs6000.c (cpu_supports_info): Use them.
6689
6690 2017-07-28 David Edelsohn <dje.gcc@gmail.com>
6691
6692 Backport from mainline
6693 2017-07-25 David Edelsohn <dje.gcc@gmail.com>
6694
6695 * dwarf2asm.c (dw2_asm_output_nstring): Encode double quote
6696 character for AIX.
6697 * dwarf2out.c (output_macinfo): Copy debug_line_section_label
6698 to dl_section_ref. On AIX, append an expression to subtract
6699 the size of the section length to dl_section_ref.
6700
6701 2017-07-28 Bin Cheng <bin.cheng@arm.com>
6702
6703 Backport from mainline r250496
6704 2017-07-25 Bin Cheng <bin.cheng@arm.com>
6705
6706 PR target/81414
6707 * config/aarch64/cortex-a57-fma-steering.c (analyze): Skip fmul/fmac
6708 instructions if no du chain is found.
6709
6710 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6711
6712 Backport from mainline
6713 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6714
6715 * config.gcc (powerpc-*-rtems*): Remove rs6000/eabi.h. Add
6716 rs6000/biarch64.h.
6717 * config/rs6000/rtems.h (ASM_DECLARE_FUNCTION_SIZE): New macro.
6718 (ASM_OUTPUT_SPECIAL_POOL_ENTRY_P): Likewise.
6719 (CRT_CALL_STATIC_FUNCTION): Likewise.
6720 (ASM_DEFAULT_SPEC): New define.
6721 (ASM_SPEC32): Likewise.
6722 (ASM_SPEC64): Likewise.
6723 (ASM_SPEC_COMMON): Likewise.
6724 (ASM_SPEC): Likewise.
6725 (INVALID_64BIT): Likewise.
6726 (LINK_OS_DEFAULT_SPEC): Likewise.
6727 (LINK_OS_SPEC32): Likewise.
6728 (LINK_OS_SPEC64): Likewise.
6729 (POWERPC_LINUX): Likewise.
6730 (PTRDIFF_TYPE): Likewise.
6731 (RESTORE_FP_PREFIX): Likewise.
6732 (RESTORE_FP_SUFFIX): Likewise.
6733 (SAVE_FP_PREFIX): Likewise.
6734 (SAVE_FP_SUFFIX): Likewise.
6735 (SIZE_TYPE): Likewise.
6736 (SUBSUBTARGET_OVERRIDE_OPTIONS): Likewise.
6737 (TARGET_64BIT): Likewise.
6738 (TARGET_64BIT): Likewise.
6739 (TARGET_AIX): Likewise.
6740 (WCHAR_TYPE_SIZE): Likewise.
6741 (WCHAR_TYPE): Undefine.
6742 (TARGET_OS_CPP_BUILTINS): Add 64-bit PowerPC defines.
6743 (CPP_OS_DEFAULT_SPEC): Use previous CPP_OS_RTEMS_SPEC.
6744 (CPP_OS_RTEMS_SPEC): Delete.
6745 (SUBSUBTARGET_EXTRA_SPECS): Remove cpp_os_rtems. Add
6746 asm_spec_common, asm_spec32, asm_spec64, link_os_spec32, and
6747 link_os_spec64.
6748 * config/rs6000/t-rtems: Add mcpu=e6500/m64 multilibs.
6749
6750 2017-07-28 Sebastian Huber <sebastian.huber@embedded-brains.de>
6751
6752 Backport from mainline
6753 2017-07-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
6754
6755 * config.gcc (riscv*-*-elf*): Add (riscv*-*-rtems*).
6756 * config/riscv/rtems.h: New file.
6757
6758 2017-07-27 Eric Botcazou <ebotcazou@adacore.com>
6759
6760 * config/sparc/sparc.c (sparc_option_override): Set MASK_FSMULD flag
6761 earlier and only if MASK_FPU is set. Adjust formatting.
6762
6763 2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6764
6765 Backport from mainline
6766 2017-07-27 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6767
6768 PR target/81534
6769 * config/s390/s390.md ("*atomic_compare_and_swap<mode>_1")
6770 ("*atomic_compare_and_swapdi_2", "*atomic_compare_and_swapsi_3"):
6771 Change s_operand to memory_operand.
6772
6773 2017-07-27 Jakub Jelinek <jakub@redhat.com>
6774
6775 PR tree-optimization/81555
6776 PR tree-optimization/81556
6777 * tree-ssa-reassoc.c (rewrite_expr_tree): Add NEXT_CHANGED argument,
6778 if true, force CHANGED for the recursive invocation.
6779 (reassociate_bb): Remember original length of ops array, pass
6780 len != orig_len as NEXT_CHANGED in rewrite_expr_tree call.
6781
6782 2017-07-27 Martin Liska <mliska@suse.cz>
6783
6784 Backport from mainline
6785 2017-07-17 Martin Liska <mliska@suse.cz>
6786
6787 PR sanitizer/81302
6788 * opts.c (finish_options): Do not allow -fgnu-tm
6789 w/ -fsanitize={kernel-,}address. Say sorry.
6790
6791 2017-07-27 Martin Liska <mliska@suse.cz>
6792
6793 Backport from mainline
6794 2017-07-26 Martin Liska <mliska@suse.cz>
6795
6796 PR sanitize/81186
6797 * function.c (expand_function_start): Make expansion of
6798 nonlocal_goto_save_area after parm_birth_insn.
6799
6800 2017-07-27 Martin Liska <mliska@suse.cz>
6801
6802 Backport from mainline
6803 2017-06-30 Martin Liska <mliska@suse.cz>
6804
6805 PR sanitizer/81021
6806 * tree-eh.c (lower_resx): Call BUILT_IN_ASAN_HANDLE_NO_RETURN
6807 before BUILT_IN_UNWIND_RESUME when ASAN is used.
6808
6809 2017-07-27 Martin Liska <mliska@suse.cz>
6810
6811 Backport from mainline
6812 2017-06-28 Martin Liska <mliska@suse.cz>
6813
6814 PR sanitizer/81224
6815 * asan.c (instrument_derefs): Bail out inner references
6816 that are hard register variables.
6817
6818 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
6819
6820 Backport from mainline
6821 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
6822
6823 * config/sparc/sparc.c (dump_target_flag_bits): Dump MASK_FSMULD.
6824 (sparc_option_override): Honour MASK_FSMULD.
6825 * config/sparc/sparc.h (MASK_FEATURES): Add MASK_FSMULD.
6826 * config/sparc/sparc.md (muldf3_extend): Use TARGET_FSMULD.
6827 * config/sparc/sparc.opt (mfsmuld): New option.
6828 * doc/invoke.texi (mfsmuld): Document option.
6829
6830 2017-07-26 Georg-Johann Lay <avr@gjlay.de>
6831
6832 Backport from 2017-07-25 trunk r250499.
6833
6834 PR 81487
6835 * hsa-brig.c (brig_init): Use xasprintf instead of asprintf.
6836 * gimple-pretty-print.c (dump_probability): Same.
6837 * tree-ssa-structalias.c (alias_get_name): Same.
6838
6839 2017-07-26 Richard Biener <rguenther@suse.de>
6840
6841 Backport from mainline
6842 2017-06-18 Richard Biener <rguenther@suse.de>
6843
6844 PR tree-optimization/81410
6845 * tree-vect-stmts.c (vectorizable_load): Properly adjust for
6846 the gap in the ! slp_perm SLP case after each group.
6847
6848 2017-07-25 Richard Biener <rguenther@suse.de>
6849
6850 PR tree-optimization/81455
6851 * tree-ssa-loop-unswitch.c (find_loop_guard): Make sure to
6852 not walk in cycles when looking for guards.
6853
6854 2017-07-25 Richard Biener <rguenther@suse.de>
6855
6856 PR middle-end/81505
6857 * fold-const.c (fold_negate_const): TREE_OVERFLOW should be
6858 sticky.
6859
6860 2017-06-28 Jakub Jelinek <jakub@redhat.com>
6861
6862 PR target/81175
6863 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Use def_builtin
6864 rather than def_builtin_pure for __builtin_ia32_gatherpf*.
6865
6866 2017-06-26 Richard Biener <rguenther@suse.de>
6867
6868 PR target/81175
6869 * config/i386/i386.c (ix86_init_mmx_sse_builtins):
6870 Use def_builtin_pure for all gather builtins.
6871
6872 2017-06-21 Marc Glisse <marc.glisse@inria.fr>
6873
6874 * config/i386/i386.c (struct builtin_isa): New field pure_p.
6875 Reorder for compactness.
6876 (def_builtin, def_builtin2, ix86_add_new_builtins): Handle pure_p.
6877 (def_builtin_pure, def_builtin_pure2): New functions.
6878 (ix86_init_mmx_sse_builtins) [__builtin_ia32_stmxcsr]: Mark as pure.
6879
6880 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
6881
6882 Backport from mainline
6883 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
6884
6885 * config/sparc/sparc.c (sparc_option_override): Remove MASK_FPU
6886 from all CPU target flags enable members.
6887
6888 2017-07-26 Sebastian Huber <sebastian.huber@embedded-brains.de>
6889
6890 Backport from mainline
6891 2017-07-25 Sebastian Huber <sebastian.huber@embedded-brains.de>
6892
6893 PR libgcc/61152
6894 * config/aarch64/rtems.h: Add GCC Runtime Library Exception.
6895 Format changes.
6896 * config/arm/rtems.h: Likewise.
6897 * config/bfin/rtems.h: Likewise.
6898 * config/i386/rtemself.h: Likewise.
6899 * config/lm32/rtems.h: Likewise.
6900 * config/m32c/rtems.h: Likewise.
6901 * config/m68k/rtemself.h: Likewise.
6902 * config/microblaze/rtems.h: Likewise.
6903 * config/mips/rtems.h: Likewise.
6904 * config/moxie/rtems.h: Likewise.
6905 * config/nios2/rtems.h: Likewise.
6906 * config/rs6000/rtems.h: Likewise.
6907 * config/rtems.h: Likewise.
6908 * config/sh/rtems.h: Likewise.
6909 * config/sh/rtemself.h: Likewise.
6910 * config/sparc/rtemself.h: Likewise.
6911
6912 2017-07-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6913
6914 Backport from mainline
6915 2017-07-14 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6916
6917 PR tree-optimization/81162
6918 * gimple-ssa-strength-reduction.c (replace_mult_candidate): Don't
6919 replace a negate with an add.
6920
6921 2017-07-25 Georg-Johann Lay <avr@gjlay.de>
6922
6923 Backport from 2017-07-12 trunk r250151.
6924
6925 PR target/81407
6926 * config/avr/avr.c (avr_encode_section_info)
6927 [progmem && !TREE_READONLY]: Error if progmem object needs
6928 constructing.
6929
6930 2017-07-25 Wilco Dijkstra <wdijkstr@arm.com>
6931
6932 PR target/79041
6933 * config/aarch64/aarch64.c (aarch64_classify_symbol):
6934 Avoid SYMBOL_SMALL_ABSOLUTE for literals with pc-relative literals.
6935
6936 2017-07-25 Georg-Johann Lay <avr@gjlay.de>
6937
6938 Backport from trunk r247719.
6939
6940 2017-05-06 Richard Sandiford <richard.sandiford@linaro.org>
6941
6942 PR rtl-optimization/75964
6943 * simplify-rtx.c (simplify_const_relational_operation): Remove
6944 invalid handling of comparisons of integer ABS.
6945
6946 2017-07-25 Bin Cheng <bin.cheng@arm.com>
6947
6948 Backport from 2017-07-20 trunk r250384.
6949
6950 PR tree-optimization/81388
6951 Revert r238585:
6952 2016-07-21 Bin Cheng <bin.cheng@arm.com>
6953
6954 * tree-ssa-loop-niter.c (number_of_iterations_lt_to_ne): Clean up
6955 by removing computation of may_be_zero.
6956
6957 2017-07-23 Uros Bizjak <ubizjak@gmail.com>
6958
6959 PR target/80569
6960 * config/i386/i386.c (ix86_option_override_internal): Disable
6961 BMI, BMI2 and TBM instructions for -m16.
6962
6963 2017-07-19 Michael Meissner <meissner@linux.vnet.ibm.com>
6964
6965 Back port from trunk
6966 2017-07-12 Michael Meissner <meissner@linux.vnet.ibm.com>
6967
6968 PR target/81193
6969 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): If GLIBC
6970 provides the hardware capability bits, define the macro
6971 __BUILTIN_CPU_SUPPORTS__.
6972 * config/rs6000/rs6000.c (cpu_expand_builtin): Generate a warning
6973 if GLIBC does not provide the hardware capability bits. Add a
6974 gcc_unreachable call if the built-in cpu function is neither
6975 __builtin_cpu_is nor __builtin_cpu_supports.
6976 * doc/extend.texi (PowerPC built-in functions): Document that
6977 GLIBC 2.23 or newer is needed by __builtin_cpu_is and
6978 __builtin_cpu_supports. Document the macros defined by GCC if the
6979 newer GLIBC is available.
6980
6981 2017-07-18 Uros Bizjak <ubizjak@gmail.com>
6982
6983 PR target/81471
6984 * config/i386/i386.md (rorx_immediate_operand): New mode attribute.
6985 (*bmi2_rorx<mode>3_1): Use rorx_immediate_operand as
6986 operand 2 predicate.
6987 (*bmi2_rorxsi3_1_zext): Use const_0_to_31_operand as
6988 operand 2 predicate.
6989 (ror,rol -> rorx splitters): Use const_int_operand as
6990 operand 2 predicate.
6991
6992 2017-07-18 Tom de Vries <tom@codesourcery.com>
6993
6994 backport from mainline:
6995 PR target/81069
6996 2017-07-17 Tom de Vries <tom@codesourcery.com>
6997
6998 * config/nvptx/nvptx.c (nvptx_single): Insert diverging branch as late
6999 as possible.
7000
7001 2017-07-18 Georg-Johann Lay <avr@gjlay.de>
7002
7003 Backport from 2017-07-18 trunk r250301.
7004
7005 PR target/81473
7006 * config/avr/avr.c (avr_optimize_casesi): Don't use
7007 INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX.
7008
7009 2017-07-17 Jakub Jelinek <jakub@redhat.com>
7010
7011 PR tree-optimization/81428
7012 * match.pd (X / X -> one): Don't optimize _Fract divisions, as 1
7013 can't be built for those types.
7014
7015 PR tree-optimization/81365
7016 * tree-ssa-phiprop.c (propagate_with_phi): When considering hoisting
7017 aggregate moves onto bb predecessor edges, make sure there are no
7018 loads that could alias the lhs in between the start of bb and the
7019 loads from *phi.
7020
7021 Backported from mainline
7022 2017-06-30 Jakub Jelinek <jakub@redhat.com>
7023
7024 PR target/81225
7025 * config/i386/sse.md (vec_extract_lo_<mode><mask_name>): For
7026 V8FI, V16FI and VI8F_256 iterators, use <store_mask_predicate> instead
7027 of nonimmediate_operand and <store_mask_constraint> instead of m for
7028 the input operand. For V8FI iterator, always split if input is a MEM.
7029 For V16FI and V8SF_256 iterators, don't test if both operands are MEM
7030 if <mask_applied>. For VI4F_256 iterator, use <store_mask_predicate>
7031 instead of register_operand and <store_mask_constraint> instead of v for
7032 the input operand. Make sure both operands aren't MEMs for if not
7033 <mask_applied>.
7034
7035 2017-07-17 Georg-Johann Lay <avr@gjlay.de>
7036
7037 Backport from 2017-07-17 trunk r250258.
7038
7039 PR 80929
7040 * config/avr/avr.c (avr_mul_highpart_cost): New static function.
7041 (avr_rtx_costs_1) [TRUNCATE]: Use it to compute mul_highpart cost.
7042 [LSHIFTRT, outer_code = TRUNCATE]: Same.
7043
7044 2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
7045
7046 Backport from mainline
7047 2017-07-17 Sebastian Huber <sebastian.huber@embedded-brains.de>
7048
7049 * gcc/config/sparc/rtemself.h (TARGET_OS_CPP_BUILTINS): Add
7050 conditional builtin define __FIX_LEON3FT_B2BST.
7051
7052 2017-07-17 Daniel Cederman <cederman@gaisler.com>
7053
7054 Backport from mainline
7055 2017-07-17 Daniel Cederman <cederman@gaisler.com>
7056
7057 * config/sparc/t-rtems: Add mfix-gr712rc multilibs. Replace
7058 MULTILIB_EXCEPTIONS with MULTILIB_REQUIRED. Match -mfix-gr712rc
7059 with -mfix-ut700.
7060
7061 2017-07-16 Eric Botcazou <ebotcazou@adacore.com>
7062
7063 PR rtl-optimization/81424
7064 * optabs.c (prepare_cmp_insn): Use copy_to_reg instead of force_reg
7065 to remove potential trapping from operands if -fnon-call-exceptions.
7066
7067 2017-07-16 Daniel Cederman <cederman@gaisler.com>
7068
7069 * config/sparc/sparc.md (divdf3_fix): Add NOP to prevent back
7070 to back store errata sensitive sequence from being generated.
7071 (sqrtdf2_fix): Likewise.
7072
7073 2017-07-12 Georg-Johann Lay <avr@gjlay.de>
7074
7075 Backport from 2017-07-12 trunk r250156.
7076
7077 PR target/79883
7078 * config/avr/avr.c (avr_set_current_function): In diagnostic
7079 messages: Quote keywords and (parts of) identifiers.
7080 [WITH_AVRLIBC]: Warn for functions named "ISR", "SIGNAL" or
7081 "INTERRUPT".
7082
7083 2017-07-11 Daniel Cederman <cederman@gaisler.com>
7084
7085 * config/sparc/sparc.opt (mfix-ut700): New option.
7086 (mfix-gr712rc): Likewise.
7087 (sparc_fix_b2bst): New variable.
7088 * doc/invoke.texi (SPARC options): Document them.
7089 (ARM options): Fix warnings.
7090 * config/sparc/sparc.c (sparc_do_work_around_errata): Insert NOP
7091 instructions to prevent sequences that can trigger the store-store
7092 errata for certain LEON3FT processors.
7093 (pass_work_around_errata::gate): Also test sparc_fix_b2bst.
7094 (sparc_option_override): Set sparc_fix_b2bst appropriately.
7095 * config/sparc/sparc.md (fix_b2bst): New attribute.
7096 (in_branch_delay): Prevent stores in delay slot if fix_b2bst.
7097
7098 2017-07-10 Uros Bizjak <ubizjak@gmail.com>
7099
7100 PR target/81375
7101 * config/i386/i386.md (divsf3): Add TARGET_SSE to TARGET_SSE_MATH.
7102 (rcpps): Ditto.
7103 (*rsqrtsf2_sse): Ditto.
7104 (rsqrtsf2): Ditto.
7105 (div<mode>3): Macroize insn from divdf3 and divsf3
7106 using MODEF mode iterator.
7107
7108 2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
7109
7110 Backport from mainline
7111 2017-07-07 Michael Meissner <meissner@linux.vnet.ibm.com>
7112
7113 PR target/81348
7114 * config/rs6000/rs6000.md (HI sign_extend splitter): Use the
7115 correct operand in doing the split.
7116
7117 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7118
7119 * config/sparc/m8.md: New file.
7120 * config/sparc/sparc.md: Include m8.md.
7121
7122 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7123
7124 * config/sparc/sparc.opt: New option -mvis4b.
7125 * config/sparc/sparc.c (dump_target_flag_bits): Handle MASK_VIS4B.
7126 (sparc_option_override): Handle VIS4B.
7127 (enum sparc_builtins): Define
7128 SPARC_BUILTIN_DICTUNPACK{8,16,32},
7129 SPARC_BUILTIN_FPCMP{LE,GT,EQ,NE}{8,16,32}SHL,
7130 SPARC_BUILTIN_FPCMPU{LE,GT}{8,16,32}SHL,
7131 SPARC_BUILTIN_FPCMPDE{8,16,32}SHL and
7132 SPARC_BUILTIN_FPCMPUR{8,16,32}SHL.
7133 (check_constant_argument): New function.
7134 (sparc_vis_init_builtins): Define builtins
7135 __builtin_vis_dictunpack{8,16,32},
7136 __builtin_vis_fpcmp{le,gt,eq,ne}{8,16,32}shl,
7137 __builtin_vis_fpcmpu{le,gt}{8,16,32}shl,
7138 __builtin_vis_fpcmpde{8,16,32}shl and
7139 __builtin_vis_fpcmpur{8,16,32}shl.
7140 (sparc_expand_builtin): Check that the constant operands to
7141 __builtin_vis_fpcmp*shl and _builtin_vis_dictunpack* are indeed
7142 constant and in range.
7143 * config/sparc/sparc-c.c (sparc_target_macros): Handle
7144 TARGET_VIS4B.
7145 * config/sparc/sparc.h (SPARC_IMM2_P): Define.
7146 (SPARC_IMM5_P): Likewise.
7147 * config/sparc/sparc.md (cpu_feature): Add new feagure "vis4b".
7148 (enabled): Handle vis4b.
7149 (UNSPEC_DICTUNPACK): New unspec.
7150 (UNSPEC_FPCMPSHL): Likewise.
7151 (UNSPEC_FPUCMPSHL): Likewise.
7152 (UNSPEC_FPCMPDESHL): Likewise.
7153 (UNSPEC_FPCMPURSHL): Likewise.
7154 (cpu_feature): New CPU feature `vis4b'.
7155 (dictunpack{8,16,32}): New insns.
7156 (FPCSMODE): New mode iterator.
7157 (fpcscond): New code iterator.
7158 (fpcsucond): Likewise.
7159 (fpcmp{le,gt,eq,ne}{8,16,32}{si,di}shl): New insns.
7160 (fpcmpu{le,gt}{8,16,32}{si,di}shl): Likewise.
7161 (fpcmpde{8,16,32}{si,di}shl): Likewise.
7162 (fpcmpur{8,16,32}{si,di}shl): Likewise.
7163 * config/sparc/constraints.md: Define constraints `q' for unsigned
7164 2-bit integer constants and `t' for unsigned 5-bit integer
7165 constants.
7166 * config/sparc/predicates.md (imm5_operand_dictunpack8): New
7167 predicate.
7168 (imm5_operand_dictunpack16): Likewise.
7169 (imm5_operand_dictunpack32): Likewise.
7170 (imm2_operand): Likewise.
7171 * doc/invoke.texi (SPARC Options): Document -mvis4b.
7172 * doc/extend.texi (SPARC VIS Built-in Functions): Document the
7173 ditunpack* and fpcmp*shl builtins.
7174
7175 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7176
7177 * config.gcc: Handle m8 in --with-{cpu,tune} options.
7178 * config.in: Add HAVE_AS_SPARC6 define.
7179 * config/sparc/driver-sparc.c (cpu_names): Add entry for the SPARC
7180 M8.
7181 * config/sparc/sol2.h (CPP_CPU64_DEFAULT_SPEC): Define for
7182 TARGET_CPU_m8.
7183 (ASM_CPU32_DEFAUILT_SPEC): Likewise.
7184 (CPP_CPU_SPEC): Handle m8.
7185 (ASM_CPU_SPEC): Likewise.
7186 * config/sparc/sparc-opts.h (enum processor_type): Add
7187 PROCESSOR_M8.
7188 * config/sparc/sparc.c (m8_costs): New struct.
7189 (sparc_option_override): Handle TARGET_CPU_m8.
7190 (sparc32_initialize_trampoline): Likewise.
7191 (sparc64_initialize_trampoline): Likewise.
7192 (sparc_issue_rate): Likewise.
7193 (sparc_register_move_cost): Likewise.
7194 * config/sparc/sparc.h (TARGET_CPU_m8): Define.
7195 (CPP_CPU64_DEFAULT_SPEC): Define for M8.
7196 (ASM_CPU64_DEFAULT_SPEC): Likewise.
7197 (CPP_CPU_SPEC): Handle M8.
7198 (ASM_CPU_SPEC): Likewise.
7199 (AS_M8_FLAG): Define.
7200 * config/sparc/sparc.md: Add m8 to the cpu attribute.
7201 * config/sparc/sparc.opt: New option -mcpu=m8 for sparc targets.
7202 * configure.ac (HAVE_AS_SPARC6): Check for assembler support for
7203 M8 instructions.
7204 * configure: Regenerate.
7205 * doc/invoke.texi (SPARC Options): Document -mcpu=m8 and
7206 -mtune=m8.
7207
7208 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7209
7210 * config/sparc/niagara7.md: Rework the DFA scheduler to use insn
7211 subtypes.
7212 * config/sparc/sparc.md: Remove the `v3pipe' insn attribute.
7213 ("*movdi_insn_sp32"): Do not set v3pipe.
7214 ("*movsi_insn"): Likewise.
7215 ("*movdi_insn_sp64"): Likewise.
7216 ("*movsf_insn"): Likewise.
7217 ("*movdf_insn_sp32"): Likewise.
7218 ("*movdf_insn_sp64"): Likewise.
7219 ("*zero_extendsidi2_insn_sp64"): Likewise.
7220 ("*sign_extendsidi2_insn"): Likewise.
7221 ("*mov<VM32:mode>_insn"): Likewise.
7222 ("*mov<VM64:mode>_insn_sp64"): Likewise.
7223 ("*mov<VM64:mode>_insn_sp32"): Likewise.
7224 ("<plusminus_insn><VADDSUB:mode>3"): Likewise.
7225 ("<vlop:code><VL:mode>3"): Likewise.
7226 ("*not_<vlop:code><VL:mode>3"): Likewise.
7227 ("*nand<VL:mode>_vis"): Likewise.
7228 ("*<vlnotop:code>_not1<VL:mode>_vis"): Likewise.
7229 ("*<vlnotop:code>_not2<VL:mode>_vis"): Likewise.
7230 ("one_cmpl<VL:mode>2"): Likewise.
7231 ("faligndata<VM64:mode>_vis"): Likewise.
7232 ("alignaddrsi_vis"): Likewise.
7233 ("alignaddrdi_vis"): Likweise.
7234 ("alignaddrlsi_vis"): Likewise.
7235 ("alignaddrldi_vis"): Likewise.
7236 ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
7237 ("bmaskdi_vis"): Likewise.
7238 ("bmasksi_vis"): Likewise.
7239 ("bshuffle<VM64:mode>_vis"): Likewise.
7240 ("cmask8<P:mode>_vis"): Likewise.
7241 ("cmask16<P:mode>_vis"): Likewise.
7242 ("cmask32<P:mode>_vis"): Likewise.
7243 ("pdistn<P:mode>_vis"): Likewise.
7244 ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
7245
7246 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7247
7248 * config/sparc/sparc.md ("subtype"): New insn attribute.
7249 ("*wrgsr_sp64"): Set insn subtype.
7250 ("*rdgsr_sp64"): Likewise.
7251 ("alignaddrsi_vis"): Likewise.
7252 ("alignaddrdi_vis"): Likewise.
7253 ("alignaddrlsi_vis"): Likewise.
7254 ("alignaddrldi_vis"): Likewise.
7255 ("<plusminus_insn><VADDSUB:mode>3"): Likewise.
7256 ("fexpand_vis"): Likewise.
7257 ("fpmerge_vis"): Likewise.
7258 ("faligndata<VM64:mode>_vis"): Likewise.
7259 ("bshuffle<VM64:mode>_vis"): Likewise.
7260 ("cmask8<P:mode>_vis"): Likewise.
7261 ("cmask16<P:mode>_vis"): Likewise.
7262 ("cmask32<P:mode>_vis"): Likewise.
7263 ("fchksm16_vis"): Likewise.
7264 ("v<vis3_shift_patname><GCM:mode>3"): Likewise.
7265 ("fmean16_vis"): Likewise.
7266 ("fp<plusminus_insn>64_vis"): Likewise.
7267 ("<plusminus_insn>v8qi3"): Likewise.
7268 ("<vis3_addsub_ss_patname><VASS:mode>3"): Likewise.
7269 ("<vis4_minmax_patname><VMMAX:mode>3"): Likewise.
7270 ("<vis4_uminmax_patname><VMMAX:mode>3"): Likewise.
7271 ("<vis3_addsub_ss_patname>v8qi3"): Likewise.
7272 ("<vis4_addsub_us_patname><VAUS:mode>3"): Likewise.
7273 ("*movqi_insn"): Likewise.
7274 ("*movhi_insn"): Likewise.
7275 ("*movsi_insn"): Likewise.
7276 ("movsi_pic_gotdata_op"): Likewise.
7277 ("*movdi_insn_sp32"): Likewise.
7278 ("*movdi_insn_sp64"): Likewise.
7279 ("movdi_pic_gotdata_op"): Likewise.
7280 ("*movsf_insn"): Likewise.
7281 ("*movdf_insn_sp32"): Likewise.
7282 ("*movdf_insn_sp64"): Likewise.
7283 ("*zero_extendhisi2_insn"): Likewise.
7284 ("*zero_extendqihi2_insn"): Likewise.
7285 ("*zero_extendqisi2_insn"): Likewise.
7286 ("*zero_extendqidi2_insn"): Likewise.
7287 ("*zero_extendhidi2_insn"): Likewise.
7288 ("*zero_extendsidi2_insn_sp64"): Likewise.
7289 ("ldfsr"): Likewise.
7290 ("prefetch_64"): Likewise.
7291 ("prefetch_32"): Likewise.
7292 ("tie_ld32"): Likewise.
7293 ("tie_ld64"): Likewise.
7294 ("*tldo_ldub_sp32"): Likewise.
7295 ("*tldo_ldub1_sp32"): Likewise.
7296 ("*tldo_ldub2_sp32"): Likewise.
7297 ("*tldo_ldub_sp64"): Likewise.
7298 ("*tldo_ldub1_sp64"): Likewise.
7299 ("*tldo_ldub2_sp64"): Likewise.
7300 ("*tldo_ldub3_sp64"): Likewise.
7301 ("*tldo_lduh_sp32"): Likewise.
7302 ("*tldo_lduh1_sp32"): Likewise.
7303 ("*tldo_lduh_sp64"): Likewise.
7304 ("*tldo_lduh1_sp64"): Likewise.
7305 ("*tldo_lduh2_sp64"): Likewise.
7306 ("*tldo_lduw_sp32"): Likewise.
7307 ("*tldo_lduw_sp64"): Likewise.
7308 ("*tldo_lduw1_sp64"): Likewise.
7309 ("*tldo_ldx_sp64"): Likewise.
7310 ("*mov<VM32:mode>_insn"): Likewise.
7311 ("*mov<VM64:mode>_insn_sp64"): Likewise.
7312 ("*mov<VM64:mode>_insn_sp32"): Likewise.
7313
7314 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7315
7316 * config/sparc/sparc.md ("type"): New insn type viscmp.
7317 ("fcmp<gcond:code><GCM:gcm_name><P:mode>_vis"): Set insn type to
7318 viscmp.
7319 ("fpcmp<gcond:code>8<P:mode>_vis"): Likewise.
7320 ("fucmp<gcond:code>8<P:mode>_vis"): Likewise.
7321 ("fpcmpu<gcond:code><GCM:gcm_name><P:mode>_vis"): Likewise.
7322 * config/sparc/niagara7.md ("n7_vis_logical_v3pipe"): Handle
7323 viscmp.
7324 ("n7_vis_logical_11cycle"): Likewise.
7325 * config/sparc/niagara4.md ("n4_vis_logical"): Likewise.
7326 * config/sparc/niagara2.md ("niag3_vis": Likewise.
7327 * config/sparc/niagara.md ("niag_vis"): Likewise.
7328 * config/sparc/ultra3.md ("us3_fga"): Likewise.
7329 * config/sparc/ultra1_2.md ("us1_fga_double"): Likewise.
7330
7331 2017-07-07 Jose E. Marchesi <jose.marchesi@oracle.com>
7332
7333 * config/sparc/sparc.md: New instruction type `bmask'.
7334 (bmaskdi_vis): Use the `bmask' type.
7335 (bmasksi_vis): Likewise.
7336 * config/sparc/ultra3.md (us3_array): Likewise.
7337 * config/sparc/niagara7.md (n7_array): Likewise.
7338 * config/sparc/niagara4.md (n4_array): Likewise.
7339 * config/sparc/niagara2.md (niag2_vis): Likewise.
7340 (niag3_vis): Likewise.
7341 * config/sparc/niagara.md (niag_vis): Likewise.
7342
7343 2017-07-05 Georg-Johann Lay <avr@gjlay.de>
7344
7345 Backport from 2017-07-05 trunk r249995.
7346
7347 PR target/81305
7348 * config/avr/avr.c (avr_out_movhi_mr_r_xmega) [CONSTANT_ADDRESS_P]:
7349 Don't depend on "optimize > 0".
7350 (out_movhi_r_mr, out_movqi_mr_r): Same.
7351 (out_movhi_mr_r, out_movqi_r_mr): Same.
7352 (avr_address_cost) [CONSTANT_ADDRESS_P]: Don't depend cost for
7353 io_address_operand on "optimize > 0".
7354
7355 2017-07-04 Uros Bizjak <ubizjak@gmail.com>
7356
7357 PR target/81300
7358 * config/i386/i386.md (setcc + movzbl/and to xor + setcc peepholes):
7359 Require dead FLAGS_REG at the beginning of a peephole.
7360
7361 2017-07-04 Uros Bizjak <ubizjak@gmail.com>
7362
7363 PR target/81294
7364 * config/i386/adxintrin.h (_subborrow_u32): Swap _X and _Y
7365 arguments in the call to __builtin_ia32_sbb_u32.
7366 (_subborrow_u64): Swap _X and _Y arguments in the call to
7367 __builtin_ia32_sbb_u64.
7368
7369 2017-07-03 Segher Boessenkool <segher@kernel.crashing.org>
7370
7371 Backport from trunk:
7372
7373 2017-06-15 Segher Boessenkool <segher@kernel.crashing.org>
7374
7375 * config/rs6000/rs6000.md (add<mode>3): Use reg_or_subregno instead
7376 of REGNO.
7377
7378 2017-07-03 Tom de Vries <tom@codesourcery.com>
7379
7380 backport from mainline:
7381 PR tree-optimization/81192
7382 2017-07-03 Tom de Vries <tom@codesourcery.com>
7383
7384 * tree-ssa-tail-merge.c (same_succ_flush_bb): Handle
7385 BB_SAME_SUCC (bb) == NULL.
7386
7387 2017-06-29 Michael Meissner <meissner@linux.vnet.ibm.com>
7388
7389 Backport from mainline
7390 2017-06-23 Michael Meissner <meissner@linux.vnet.ibm.com>
7391
7392 PR target/80510
7393 * config/rs6000/rs6000.md (ALTIVEC_DFORM): Do not allow DImode in
7394 32-bit, since indexed is not valid for DImode.
7395 (mov<mode>_hardfloat32): Reorder ISA 2.07 load/stores before ISA
7396 3.0 d-form load/stores to be the same as mov<mode>_hardfloat64.
7397 (define_peephole2 for Altivec d-form load): Add 32-bit support.
7398 (define_peephole2 for Altivec d-form store): Likewise.
7399
7400 Backport from mainline
7401 2017-06-20 Michael Meissner <meissner@linux.vnet.ibm.com>
7402
7403 PR target/79799
7404 * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add support
7405 for doing vector set of SFmode on ISA 3.0.
7406 * config/rs6000/vsx.md (vsx_set_v4sf_p9): Likewise.
7407 (vsx_set_v4sf_p9_zero): Special case setting 0.0f to a V4SF
7408 element.
7409 (vsx_insert_extract_v4sf_p9): Add an optimization for inserting a
7410 SFmode value into a V4SF variable that was extracted from another
7411 V4SF variable without converting the element to double precision
7412 and back to single precision vector format.
7413 (vsx_insert_extract_v4sf_p9_2): Likewise.
7414
7415 2017-06-29 Richard Biener <rguenther@suse.de>
7416
7417 Backport from mainline
7418 2017-06-19 Richard Biener <rguenther@suse.de>
7419
7420 PR ipa/81112
7421 * ipa-prop.c (find_constructor_constant_at_offset): Handle
7422 RANGE_EXPR conservatively.
7423
7424 2017-06-28 Richard Biener <rguenther@suse.de>
7425
7426 Backport from mainline
7427 2017-06-09 Richard Biener <rguenther@suse.de>
7428
7429 PR middle-end/81007
7430 * ipa-polymorphic-call.c
7431 (ipa_polymorphic_call_context::restrict_to_inner_class):
7432 Skip FIELD_DECLs with error_mark_node type.
7433 * passes.def (all_lowering_passes): Run pass_build_cgraph_edges
7434 last again.
7435
7436 2017-06-14 Richard Biener <rguenther@suse.de>
7437
7438 PR tree-optimization/81083
7439 * tree-ssa-sccvn.c (vn_reference_lookup_3): Do not use abnormals
7440 as values.
7441
7442 2017-06-27 Segher Boessenkool <segher@kernel.crashing.org>
7443
7444 Backports from trunk:
7445
7446 2017-05-17 Segher Boessenkool <segher@kernel.crashing.org>
7447 PR middle-end/80692
7448 * real.c (do_compare): Give decimal_do_compare preference over
7449 comparing just the signs.
7450
7451 2017-05-31 Segher Boessenkool <segher@kernel.crashing.org>
7452 PR target/80618
7453 * config/rs6000/vector.md (*vector_uneq<mode>): Write the nor in the
7454 splitter result in the canonical way.
7455
7456 2017-06-09 Segher Boessenkool <segher@kernel.crashing.org>
7457 PR target/80966
7458 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Assert that
7459 gen_add3_insn did not fail.
7460 * config/rs6000/rs6000.md (add<mode>3): If asked to add a constant to
7461 r0, construct that number in a temporary reg and add that reg to r0.
7462 If asked to put the result in r0 as well, fail.
7463
7464 2017-06-23 Segher Boessenkool <segher@kernel.crashing.org>
7465 PR middle-end/80902
7466 * builtins.c (expand_builtin_atomic_fetch_op): If emitting code after
7467 a call, force the call to not be a tail call.
7468
7469 2017-06-27 Jakub Jelinek <jakub@redhat.com>
7470
7471 PR sanitizer/81209
7472 * ubsan.c (ubsan_encode_value): Initialize DECL_CONTEXT on var.
7473
7474 PR middle-end/81207
7475 * gimple-fold.c (replace_call_with_call_and_fold): Handle
7476 gimple_vuse copying separately from gimple_vdef copying.
7477
7478 2017-06-24 Jim Wilson <jim.wilson@linaro.org>
7479
7480 * config/aarch64/aarch64-cost-tables.h (qdf24xx_extra_costs): Move to
7481 here.
7482 * config/arm/aarch-cost-tables.h (qdf24xx_extra_costs): From here.
7483 * config/arm/arm-cpu-cdata.h: Regenerate.
7484 * config/arm/arm-cpu-data.h, config/arm/arm-cpu.h: Likewise.
7485 * config/arm/arm-tables.opt, config/arm/arm-tune.md: Likewise.
7486 * config/arm/arm-cpus.in: Delete falkor and qdf24xx entries.
7487 * config/arm/arm.c (arm_qdf24xx_tune): Delete.
7488 * config/arm/bpabi.h (BE8_LINK_SPEC): Delete falkor and qdf24xx
7489 support.
7490 * config/arm/t-aprofile (MULTILIB_MATCHES): Delete falkor and qdf24xx
7491 support.
7492 * config/arm/t-rmprofile: Likewise.
7493 * doc/invoke.texi (ARM Options): Drop falkor and qdf24xx support.
7494
7495 2017-06-24 Marek Polacek <polacek@redhat.com>
7496
7497 Backport from mainline
7498 2017-05-04 Marek Polacek <polacek@redhat.com>
7499
7500 PR tree-optimization/80612
7501 * calls.c (get_size_range): Check for INTEGRAL_TYPE_P.
7502
7503 2017-06-23 Thomas Preud'homme <thomas.preudhomme@arm.com>
7504
7505 Backport from mainline
7506 2017-05-04 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
7507
7508 * config/arm/arm-builtins.c (arm_init_builtins): Rename
7509 __builtin_arm_ldfscr to __builtin_arm_get_fpscr, and rename
7510 __builtin_arm_stfscr to __builtin_arm_set_fpscr.
7511
7512 2017-06-23 Jonathan Wakely <jwakely@redhat.com>
7513
7514 PR c++/81187
7515 * doc/invoke.texi (-Wnoexcept-type): Fix name of option, from
7516 -Wnoexcept.
7517
7518 2017-06-22 Martin Liska <mliska@suse.cz>
7519
7520 Backport from mainline
7521 2017-06-19 Martin Liska <mliska@suse.cz>
7522
7523 PR sanitizer/80879
7524 * gimplify.c (gimplify_switch_expr):
7525 Initialize live_switch_vars for SWITCH_BODY == STATEMENT_LIST.
7526
7527 2017-06-22 Martin Liska <mliska@suse.cz>
7528
7529 Backport from mainline
7530 2017-05-31 Martin Liska <mliska@suse.cz>
7531
7532 PR target/79155
7533 * config/i386/cpuid.h: Fix typo in a comment in cpuid.h.
7534
7535 2017-06-22 Martin Liska <mliska@suse.cz>
7536
7537 Backport from mainline
7538 2017-05-30 Martin Liska <mliska@suse.cz>
7539
7540 PR other/80909
7541 * auto-profile.c (get_function_decl_from_block): Fix
7542 parenthesis.
7543
7544 2017-06-22 Martin Liska <mliska@suse.cz>
7545
7546 Backport from mainline
7547 2017-05-26 Martin Liska <mliska@suse.cz>
7548
7549 PR ipa/80663
7550 * params.def: Bound partial-inlining-entry-probability param.
7551
7552 2017-06-22 Martin Liska <mliska@suse.cz>
7553
7554 Backport from mainline
7555 2017-05-16 Martin Liska <mliska@suse.cz>
7556
7557 PR ipa/79849.
7558 PR ipa/79850.
7559 * ipa-devirt.c (warn_types_mismatch): Fix typo.
7560 (odr_types_equivalent_p): Likewise.
7561
7562 2017-06-22 Martin Liska <mliska@suse.cz>
7563
7564 Backport from mainline
7565 2017-05-15 Martin Liska <mliska@suse.cz>
7566
7567 PR driver/31468
7568 * gcc.c (process_command): Do not allow empty argument of -o option.
7569
7570 2017-06-22 Martin Liska <mliska@suse.cz>
7571
7572 Backport from mainline
7573 2017-05-02 Martin Liska <mliska@suse.cz>
7574
7575 * doc/gcov.texi: Add missing preposition.
7576 * gcov.c (function_info::function_info): Properly fill up
7577 all member variables.
7578
7579 2017-06-22 Martin Liska <mliska@suse.cz>
7580
7581 Backport from mainline
7582 2017-05-02 Martin Liska <mliska@suse.cz>
7583
7584 PR other/80589
7585 * common.opt: Fix typo.
7586 * doc/invoke.texi: Likewise.
7587
7588 2017-06-22 Martin Liska <mliska@suse.cz>
7589
7590 Backport from mainline
7591 2017-04-28 Martin Liska <mliska@suse.cz>
7592
7593 * doc/gcov.texi: Enhance documentation of gcov.
7594
7595 2017-06-22 Martin Liska <mliska@suse.cz>
7596
7597 Backport from mainline
7598 2017-04-28 Martin Liska <mliska@suse.cz>
7599
7600 * doc/gcov.texi: Sort options in alphabetic order.
7601 * doc/gcov-dump.texi: Likewise.
7602 * doc/gcov-tool.texi: Likewise.
7603 * gcov.c (print_usage): Likewise.
7604 * gcov-dump.c (print_usage): Likewise.
7605 * gcov-tool.c (print_merge_usage_message): Likewise.
7606 (print_rewrite_usage_message): Likewise.
7607 (print_overlap_usage_message): Likewise.
7608
7609 2017-06-22 Martin Liska <mliska@suse.cz>
7610
7611 Backport from mainline
7612 2017-04-28 Martin Liska <mliska@suse.cz>
7613
7614 PR gcov-profile/53915
7615 * gcov.c (format_gcov): Print 'NAN %' when top > bottom.
7616
7617 2017-06-22 Martin Liska <mliska@suse.cz>
7618
7619 Backport from mainline
7620 2017-04-28 Martin Liska <mliska@suse.cz>
7621
7622 PR driver/56469
7623 * coverage.c (coverage_remove_note_file): New function.
7624 * coverage.h: Declare the function.
7625 * toplev.c (finalize): Clean if an error has been seen.
7626
7627 2017-06-21 Jakub Jelinek <jakub@redhat.com>
7628
7629 PR target/81151
7630 * config/i386/sse.md (round<mode>2): Renumber match_dup and
7631 operands indexes to avoid gap between operands and match_dups.
7632
7633 PR c++/81130
7634 * gimplify.c (omp_add_variable): Don't force GOVD_SEEN for types
7635 with ctors/dtors if GOVD_SHARED is set.
7636
7637 Backported from mainline
7638 2017-06-20 Jakub Jelinek <jakub@redhat.com>
7639
7640 PR target/81121
7641 * config/i386/i386.md (TARGET_USE_VECTOR_CONVERTS float si->{sf,df}
7642 splitter): Require TARGET_SSE2 in the condition.
7643
7644 PR sanitizer/81125
7645 * ubsan.h (ubsan_encode_value): Workaround buggy clang++ parser
7646 by removing enum keyword.
7647 (ubsan_type_descriptor): Likewise. Formatting fix.
7648
7649 2017-06-19 Jakub Jelinek <jakub@redhat.com>
7650
7651 PR sanitizer/81125
7652 * ubsan.h (enum ubsan_encode_value_phase): New.
7653 (ubsan_encode_value): Change second argument to
7654 enum ubsan_encode_value_phase with default value of
7655 UBSAN_ENCODE_VALUE_GENERIC.
7656 * ubsan.c (ubsan_encode_value): Change second argument to
7657 enum ubsan_encode_value_phase PHASE from bool IN_EXPAND_P,
7658 adjust uses, for UBSAN_ENCODE_VALUE_GENERIC use just
7659 create_tmp_var_raw instead of create_tmp_var and use a
7660 TARGET_EXPR.
7661 (ubsan_expand_bounds_ifn, ubsan_build_overflow_builtin,
7662 instrument_bool_enum_load, ubsan_instrument_float_cast): Adjust
7663 ubsan_encode_value callers.
7664
7665 PR sanitizer/81111
7666 * ubsan.c (ubsan_encode_value): If current_function_decl is NULL,
7667 use create_tmp_var_raw instead of create_tmp_var, mark it addressable
7668 just by setting TREE_ADDRESSABLE on the result and use a TARGET_EXPR.
7669
7670 2017-06-20 James Greenhalgh <james.greenhalgh@arm.com>
7671
7672 Backport from Mainline
7673 * config/aarch64/aarch64-option-extensions.def (fp16): Fix expected
7674 feature string.
7675
7676 2017-06-20 Andreas Schwab <schwab@suse.de>
7677
7678 PR target/80970
7679 * config/m68k/m68k.md (bsetdreg, bchgdreg, bclrdreg): Use "=d"
7680 instead of "+d".
7681
7682 2017-06-19 James Greenhalgh <james.greenhalgh@arm.com>
7683
7684 Backport from mainline
7685 2017-06-19 James Greenhalgh <james.greenhalgh@arm.com>
7686
7687 PR target/71778
7688 * config/arm/arm-builtins.c (arm_expand_builtin_args): Return TARGET
7689 if given a non-constant argument for an intrinsic which requires a
7690 constant.
7691
7692 2017-06-19 Alexander Monakov <amonakov@ispras.ru>
7693
7694 * doc/invoke.texi (mcx16): Rewrite.
7695
7696 2017-06-15 Eric Botcazou <ebotcazou@adacore.com>
7697
7698 PR rtl-optimization/80474
7699 * reorg.c (update_block): Do not ignore instructions in a delay slot.
7700
7701 2017-06-14 Eric Botcazou <ebotcazou@adacore.com>
7702
7703 * config/sparc/sparc.h (MASK_ISA): Add MASK_LEON and MASK_LEON3.
7704 (MASK_FEATURES): New macro.
7705 * config/sparc/sparc.c (sparc_option_override): Remove the special
7706 handling of -mfpu and generalize it to all MASK_FEATURES switches.
7707
7708 2017-06-14 Eric Botcazou <ebotcazou@adacore.com>
7709
7710 * config/sparc/driver-sparc.c (cpu_names): Add SPARC-T5 entry.
7711
7712 2017-06-12 David S. Miller <davem@davemloft.net>
7713
7714 PR target/80968
7715 * config/sparc/sparc.md (return expander): Emit frame blockage if
7716 function uses alloca.
7717
7718 2017-06-08 Uros Bizjak <ubizjak@gmail.com>
7719
7720 PR target/81015
7721 Revert:
7722 2016-12-14 Uros Bizjak <ubizjak@gmail.com>
7723
7724 PR target/59874
7725 * config/i386/i386.md (*ctzhi2): New insn_and_split pattern.
7726 (*clzhi2): Ditto.
7727
7728 2017-06-08 David Edelsohn <dje.gcc@gmail.com>
7729
7730 Backport from mainline
7731 2017-06-02 David Edelsohn <dje.gcc@gmail.com>
7732
7733 * dwarf2out.c (DWARF_INITIAL_LENGTH_SIZE_STR): New.
7734 (dl_section_ref): New.
7735 (dwarf2out_finish): Copy debug_line_section_label to dl_section_ref.
7736 On AIX, append an expression to subtract the size of the
7737 section length to dl_section_ref.
7738
7739 2017-06-07 Richard Biener <rguenther@suse.de>
7740
7741 Backport from mainline
7742 2017-05-02 Richard Biener <rguenther@suse.de>
7743
7744 PR tree-optimization/80549
7745 * tree-cfgcleanup.c (mfb_keep_latches): New helper.
7746 (cleanup_tree_cfg_noloop): Create forwarders to known loop
7747 headers if they do not have a preheader.
7748
7749 2017-05-26 Richard Biener <rguenther@suse.de>
7750
7751 PR tree-optimization/80842
7752 * tree-ssa-ccp.c (set_lattice_value): Always meet with the old
7753 value.
7754
7755 2017-05-31 Richard Biener <rguenther@suse.de>
7756
7757 PR tree-optimization/80906
7758 * graphite-isl-ast-to-gimple.c (copy_loop_close_phi_nodes): Get
7759 and pass through iv_map.
7760 (copy_bb_and_scalar_dependences): Adjust.
7761 (translate_pending_phi_nodes): Likewise.
7762 (copy_loop_close_phi_args): Handle code-generating IVs instead
7763 of ICEing.
7764
7765 2017-05-11 Richard Biener <rguenther@suse.de>
7766
7767 PR tree-optimization/80705
7768 * tree-vect-data-refs.c (vect_analyze_data_refs): DECL_NONALIASED
7769 bases are not vectorizable.
7770
7771 2017-06-06 Michael Meissner <meissner@linux.vnet.ibm.com>
7772
7773 Back port from mainline
7774 2017-05-19 Michael Meissner <meissner@linux.vnet.ibm.com>
7775
7776 PR target/80718
7777 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Prefer
7778 VSX registers over GPRs, particularly on ISA 2.07 which does not
7779 have the MTVSRDD instruction.
7780
7781 2017-06-06 David S. Miller <davem@davemloft.net>
7782
7783 PR target/80968
7784 * config/sparc/sparc.c (sparc_expand_prologue): Emit frame
7785 blockage if function uses alloca.
7786
7787 2017-06-05 Volker Reichelt <v.reichelt@netcologne.de>
7788
7789 * doc/invoke.texi (-Wduplicated-branches): Add to warning list.
7790
7791 2017-06-02 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
7792
7793 Backport from mainline
7794 2017-05-05 Andre Vieira <andre.simoesdiasvieira@arm.com>
7795 Prakhar Bahuguna <prakhar.bahuguna@arm.com>
7796
7797 PR target/71607
7798 * config/arm/arm.md (use_literal_pool): Remove.
7799 (64-bit immediate split): No longer takes cost into consideration
7800 if arm_disable_literal_pool is enabled.
7801 * config/arm/arm.c (arm_tls_referenced_p): Add diagnostic if TLS is
7802 used when arm_disable_literal_pool is enabled.
7803 (arm_max_const_double_inline_cost): Remove use of
7804 arm_disable_literal_pool.
7805 (push_minipool_fix): Add assert.
7806 (arm_reorg): Add return if arm_disable_literal_pool is enabled.
7807 * config/arm/vfp.md (no_literal_pool_df_immediate): New.
7808 (no_literal_pool_sf_immediate): New.
7809
7810 2017-06-02 Jakub Jelinek <jakub@redhat.com>
7811
7812 PR rtl-optimization/80903
7813 * loop-doloop.c (add_test): Unshare sequence.
7814
7815 2017-05-31 Martin Jambor <mjambor@suse.cz>
7816
7817 Backport from mainline
7818 2017-04-24 Martin Jambor <mjambor@suse.cz>
7819
7820 PR tree-optimization/80293
7821 * tree-sra.c (scalarizable_type_p): New parameter const_decl, make
7822 char arrays not totally scalarizable if it is false.
7823 (analyze_all_variable_accesses): Pass correct value in the new
7824 parameter. Add a statistics counter.
7825
7826 2017-05-30 Max Filippov <jcmvbkbc@gmail.com>
7827
7828 Backport from mainline
7829 2017-05-29 Max Filippov <jcmvbkbc@gmail.com>
7830
7831 * config/xtensa/xtensa.c (xtensa_emit_call): Use
7832 HOST_WIDE_INT_PRINT_HEX instead of 0x%lx format string.
7833 (print_operand): Use HOST_WIDE_INT_PRINT_DEC instead of %ld
7834 format string.
7835
7836 2017-05-29 Eric Botcazou <ebotcazou@adacore.com>
7837
7838 * doc/install.texi (Options specification): Restore entry of
7839 --enable-sjlj-exceptions.
7840
7841 2017-05-29 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7842
7843 Backport from mainline
7844 2017-05-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
7845
7846 PR target/80725
7847 * config/s390/s390.c (s390_check_qrst_address): Check incoming
7848 address against address_operand predicate.
7849 * config/s390/s390.md ("*indirect_jump"): Swap alternatives.
7850
7851 2017-05-28 Uros Bizjak <ubizjak@gmail.com>
7852
7853 Backport from mainline
7854 2017-05-23 Uros Bizjak <ubizjak@gmail.com>
7855
7856 * config/i386/i386.md (*movdi_internal): Remove SSE4
7857 alternative 18 (?r, *v). Update insn attributes.
7858 (*movsi_internal): Remove SSE4 alternative 13 (?r, *v).
7859 Update insn attributes.
7860 (*zero_extendsidi2): Remove SSE4 alternative (?r, *x).
7861 Update insn attributes.
7862 * config/i386/sse.md (vec_extract<ssevecmodelower>_0): Remove SSE4
7863 alternative 1 (r, v). Remove isa attribute.
7864 * config/i386/i386.c (dimode_scalar_chain::make_vector_copies):
7865 Always move value through stack for !TARGET_INTER_UNIT_MOVES_TO_VEC
7866 and !TARGET_INTER_UNIT_MOVES_TO_VEC targets.
7867
7868 2017-05-16 Uros Bizjak <ubizjak@gmail.com>
7869
7870 * config/i386/i386.md (*movsi_internal): Split (?rm,*y) alternative
7871 to (?r,*Yn) and (?m,*y) alternatives, and (?*y,rm) to (?*Ym,r)
7872 and (?*y,m). Update insn attributes.
7873
7874 2017-05-26 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
7875
7876 Backported from mainline
7877 2017-05-24 Sheldon Lobo <smlobo@sheldon.us.oracle.com>
7878
7879 * config/sparc/sparc.md (length): Return the correct value for -mflat
7880 sibcalls to match output_sibcall.
7881
7882 2017-05-26 Marek Polacek <polacek@redhat.com>
7883
7884 Backported from mainline
7885 2017-05-26 Marek Polacek <polacek@redhat.com>
7886
7887 PR sanitizer/80875
7888 * fold-const.c (fold_binary_loc) <case MULT_EXPR>: Check if OP1
7889 can be negated.
7890
7891 2017-05-26 Jakub Jelinek <jakub@redhat.com>
7892
7893 Backported from mainline
7894 2017-05-22 Jakub Jelinek <jakub@redhat.com>
7895
7896 PR middle-end/80809
7897 * omp-low.c (finish_taskreg_remap): New function.
7898 (finish_taskreg_scan): If unit size of ctx->record_type
7899 is non-constant, unshare the size expression and replace
7900 decls in it with possible outer var refs.
7901
7902 PR middle-end/80809
7903 * gimplify.c (omp_add_variable): For GOVD_DEBUG_PRIVATE use
7904 GOVD_SHARED rather than GOVD_PRIVATE with it.
7905 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Expect
7906 GOVD_SHARED rather than GOVD_PRIVATE with GOVD_DEBUG_PRIVATE.
7907
7908 PR middle-end/80853
7909 * omp-low.c (lower_reduction_clauses): Pass OMP_CLAUSE_PRIVATE
7910 as last argument to build_outer_var_ref for pointer bases of array
7911 section reductions.
7912
7913 2017-05-25 Michael Meissner <meissner@linux.vnet.ibm.com>
7914
7915 Backport from trunk
7916 2017-05-18 Michael Meissner <meissner@linux.vnet.ibm.com>
7917
7918 PR target/80510
7919 * config/rs6000/predicates.md (simple_offsettable_mem_operand):
7920 New predicate.
7921
7922 * config/rs6000/rs6000.md (ALTIVEC_DFORM): New iterator.
7923 (define_peephole2 for Altivec d-form load): Add peepholes to catch
7924 cases where the register allocator uses a move and an offsettable
7925 memory operation to/from a FPR register on ISA 2.06/2.07.
7926 (define_peephole2 for Altivec d-form store): Likewise.
7927
7928 Backport from trunk
7929 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com>
7930
7931 PR target/68163
7932 * config/rs6000/rs6000.md (f32_lr): Delete mode attributes that
7933 are now unused after splitting mov{sf,sd}_hardfloat.
7934 (f32_lr2): Likewise.
7935 (f32_lm): Likewise.
7936 (f32_lm2): Likewise.
7937 (f32_li): Likewise.
7938 (f32_li2): Likewise.
7939 (f32_lv): Likewise.
7940 (f32_sr): Likewise.
7941 (f32_sr2): Likewise.
7942 (f32_sm): Likewise.
7943 (f32_sm2): Likewise.
7944 (f32_si): Likewise.
7945 (f32_si2): Likewise.
7946 (f32_sv): Likewise.
7947 (f32_dm): Likewise.
7948 (f32_vsx): Likewise.
7949 (f32_av): Likewise.
7950 (mov<mode>_hardfloat): Split into separate movsf and movsd pieces.
7951 For movsf, order stores so the VSX stores occur before the GPR
7952 store which encourages the register allocator to use a traditional
7953 FPR instead of a GPR. For movsd, order the stores so that the GPR
7954 store comes before the VSX stores to allow the power6 to work.
7955 This is due to the power6 not having a 32-bit integer store
7956 instruction from a FPR.
7957 (movsf_hardfloat): Likewise.
7958 (movsd_hardfloat): Likewise.
7959
7960 2017-05-25 Wilco Dijkstra <wdijkstr@arm.com>
7961
7962 Backport from mainlin
7963 PR rtl-optimization/80754
7964 * lra-remat.c (do_remat): Add overlap checks for dst_regno.
7965
7966 2017-05-25 Wilco Dijkstra <wdijkstr@arm.com>
7967
7968 Backport from mainline
7969 PR target/80671
7970 * config/aarch64/cortex-a57-fma-steering.c (merge_forest):
7971 Move member access before delete.
7972
7973 2017-05-23 Sheldon Lobo <sheldon.lobo@oracle.com>
7974
7975 Backport from mainline
7976 2017-05-18 Sheldon Lobo <sheldon.lobo@oracle.com>
7977
7978 * config/sparc/sparc.c (sparc_option_override): Set function
7979 alignment for -mcpu=niagara7 to 64 to match the I$ line.
7980 * config/sparc/sparc.h (BRANCH_COST): Set the SPARC M7 branch
7981 latency to 1.
7982 * config/sparc/sparc.h (BRANCH_COST): Set the SPARC T4 branch
7983 latency to 2.
7984 * config/sparc/sol2.h: Fix a ASM_CPU32_DEFAULT_SPEC typo.
7985
7986 2017-05-19 Uros Bizjak <ubizjak@gmail.com>
7987
7988 Backport from mainline
7989 2017-05-18 Uros Bizjak <ubizjak@gmail.com>
7990
7991 PR target/80799
7992 * config/i386/mmx.md (*mov<mode>_internal): Enable
7993 alternatives 11, 12, 13 and 14 also for 32bit targets.
7994 Remove alternatives 15, 16, 17 and 18.
7995 * config/i386/sse.md (vec_concatv2di): Change
7996 alternative (!x, *y) to (x, ?!*Yn).
7997
7998 2017-05-14 Uros Bizjak <ubizjak@gmail.com>
7999
8000 Backport from mainline
8001 2017-05-11 Uros Bizjak <ubizjak@gmail.com>
8002
8003 PR target/80706
8004 * config/i386/sync.md (UNSPEC_LDX_ATOMIC): New unspec.
8005 (UNSPEC_STX_ATOMIC): Ditto.
8006 (loaddi_via_sse): New insn.
8007 (storedi_via_sse): Ditto.
8008 (atomic_loaddi_fpu): Emit loaddi_via_sse and storedi_via_sse.
8009 Update corresponding peephole2 patterns.
8010 (atomic_storedi_fpu): Ditto.
8011
8012 2017-05-13 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8013
8014 Backport from mainline
8015 2017-05-05 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8016
8017 * config/rs6000/rs6000.c (rs6000_vect_nonmem): New static var.
8018 (rs6000_init_cost): Initialize rs6000_vect_nonmem.
8019 (rs6000_add_stmt_cost): Update rs6000_vect_nonmem.
8020 (rs6000_finish_cost): Avoid vectorizing simple copy loops with
8021 VF=2 that require versioning.
8022
8023 2017-05-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8024
8025 Backport from mainline
8026 2017-05-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8027
8028 * config/rs6000/rs6000.c (altivec_init_builtins): Define POWER8
8029 built-ins for vec_xl and vec_xst with short and char pointer
8030 arguments.
8031
8032 2017-05-10 John David Anglin <danglin@gcc.gnu.org>
8033
8034 PR target/80090
8035 * config/pa/pa.c (pa_assemble_integer): When outputting a SYMBOL_REF,
8036 handle calling assemble_external ourself.
8037
8038 PR target/79027
8039 * config/pa/pa.c (pa_cannot_change_mode_class): Reject changes to/from
8040 modes with zero size. Enhance comment.
8041
8042 2017-05-09 Michael Meissner <meissner@linux.vnet.ibm.com>
8043
8044 Back port from mainline
8045 2017-05-05 Michael Meissner <meissner@linux.vnet.ibm.com>
8046
8047 PR target/79038
8048 PR target/79202
8049 PR target/79203
8050 * config/rs6000/rs6000.md (u code attribute): Add FIX and
8051 UNSIGNED_FIX.
8052 (extendsi<mode>2): Add support for doing sign extension via
8053 VUPKHSW and XXPERMDI if the value is in Altivec registers and we
8054 don't have ISA 3.0 instructions.
8055 (extendsi<mode>2 splitter): Likewise.
8056 (fix_trunc<mode>si2): If we are at ISA 2.07 (VSX small integer),
8057 generate the normal insns since SImode can now go in vector
8058 registers. Disallow the special UNSPECs needed for previous
8059 machines to hide SImode being used. Add new insns
8060 fctiw{,w}_<mode>_smallint if SImode can go in vector registers.
8061 (fix_trunc<mode>si2_stfiwx): Likewise.
8062 (fix_trunc<mode>si2_internal): Likewise.
8063 (fixuns_trunc<mode>si2): Likewise.
8064 (fixuns_trunc<mode>si2_stfiwx): Likewise.
8065 (fctiw<u>z_<mode>_smallint): Likewise.
8066 (fctiw<u>z_<mode>_mem): New combiner pattern to prevent conversion
8067 of floating point to 32-bit integer from doing a direct move to
8068 the GPR registers to do a store.
8069 (fctiwz_<mode>): Break long line.
8070
8071 2017-05-08 Tamar Christina <tamar.christina@arm.com>
8072
8073 PR middle-end/79665
8074 * expr.c (expand_expr_real_2): Move TRUNC_MOD_EXPR, FLOOR_MOD_EXPR,
8075 CEIL_MOD_EXPR, ROUND_MOD_EXPR cases.
8076
8077 2017-05-03 Jan Beulich <jbeulich@suse.com>
8078
8079 Backport from mainline
8080 2017-05-01 Jan Beulich <jbeulich@suse.com>
8081
8082 * config/i386/sse.md (xop_vpermil2<mode>3): Do not allow operand
8083 swapping, add (x,x,m,x,n) alternative.
8084
8085 2017-05-03 Richard Biener <rguenther@suse.de>
8086
8087 Backport from mainline
8088 2017-04-20 Richard Biener <rguenther@suse.de>
8089
8090 PR tree-optimization/80453
8091 * tree-ssa-sccvn.h (struct vn_phi_s): Add cclhs and ccrhs members.
8092 * tree-ssa-sccvn.c (cond_stmts_equal_p): Use recorded lhs and rhs
8093 from the conditions.
8094 (vn_phi_eq): Pass them down.
8095 (vn_phi_lookup): Record them.
8096 (vn_phi_insert): Likewise.
8097
8098 2017-04-25 Richard Biener <rguenther@suse.de>
8099
8100 PR tree-optimization/80492
8101 * alias.c (compare_base_decls): Handle registers with asm
8102 specification conservatively.
8103
8104 2017-04-27 Richard Biener <rguenther@suse.de>
8105
8106 PR middle-end/80539
8107 * tree-chrec.c (chrec_fold_plus_poly_poly): Deal with not
8108 being in loop-closed SSA form conservatively.
8109 (chrec_fold_multiply_poly_poly): Likewise.
8110
8111 2017-05-02 Uros Bizjak <ubizjak@gmail.com>
8112
8113 Backport from mainline
8114 2017-05-01 Uros Bizjak <ubizjak@gmail.com>
8115
8116 PR target/68491
8117 * config/i386/cpuid.h (__get_cpuid): Always return 0 when
8118 __get_cpuid_max returns 0.
8119 (__get_cpuid_count): Ditto.
8120
8121 2017-05-02 Jakub Jelinek <jakub@redhat.com>
8122
8123 Backported from mainline
8124 2017-04-25 Jakub Jelinek <jakub@redhat.com>
8125
8126 * Makefile.in (s-options): Invoke opt-gather.awk with LC_ALL=C in the
8127 environment.
8128
8129 2017-05-02 Jakub Jelinek <jakub@redhat.com>
8130
8131 * BASE-VER: Set to 7.1.1.
8132
8133 2017-05-02 Release Manager
8134
8135 * GCC 7.1.0 released.
8136
8137 2017-05-02 Richard Biener <rguenther@suse.de>
8138
8139 PR tree-optimization/80591
8140 Revert
8141 2017-04-10 Richard Biener <rguenther@suse.de>
8142
8143 * tree-ssa-structalias.c (find_func_aliases): Properly handle
8144 asm inputs.
8145
8146 2017-04-28 Jakub Jelinek <jakub@redhat.com>
8147
8148 PR bootstrap/80531
8149 * cgraph.h (symtab_node::debug_symtab): No longer inline.
8150 * symtab.c (symtab_node::debug_symtab): Move definition here.
8151
8152 2017-04-27 Richard Earnshaw <rearnsha@arm.com>
8153
8154 PR target/80530
8155 * config/aarch64/aarch64.c (aarch64_emit_approx_sqrt): Ensure
8156 that the logic for permitting reciprocal estimates matches that
8157 in use_rsqrt_p.
8158
8159 2017-04-27 Jakub Jelinek <jakub@redhat.com>
8160
8161 PR c++/80534
8162 * tree.c (type_cache_hasher::equal): Only compare
8163 TYPE_TYPELESS_STORAGE flag on non-aggregate element types.
8164 (build_array_type_1): Only hash TYPE_TYPELESS_STORAGE flag on
8165 non-aggregate element types.
8166 * tree.h (TYPE_TYPELESS_STORAGE): Fix comment typo, add more details
8167 about the flag on ARRAY_TYPEs in the comment, formatting fix.
8168
8169 PR target/79430
8170 * reg-stack.c (emit_swap_insn): If i1src mentions the stack pointer,
8171 punt if tmp contains autoinc of stack pointer.
8172
8173 PR target/77728
8174 * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): Remove.
8175 (aarch64_function_arg_alignment): Return unsigned int again, but still
8176 ignore TYPE_FIELDS chain decls other than FIELD_DECLs.
8177 (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
8178 Don't emit -Wpsabi note.
8179 (aarch64_function_arg_boundary): Likewise.
8180 (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
8181 caller.
8182
8183 2017-04-25 Martin Sebor <msebor@redhat.com>
8184
8185 PR tree-optimization/80497
8186 * gimple-ssa-sprintf.c (get_int_range): Avoid assuming all integer
8187 constants are representable in HOST_WIDE_INT.
8188 (parse_directive): Ditto.
8189
8190 2017-04-25 Marek Polacek <polacek@redhat.com>
8191
8192 2017-04-25 Marek Polacek <polacek@redhat.com>
8193 Backport from mainline
8194
8195 PR sanitizer/80349
8196 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
8197 first argument to type.
8198
8199 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8200 Jakub Jelinek <jakub@redhat.com>
8201
8202 PR target/77728
8203 * config/arm/arm.c: Include gimple.h.
8204 (aapcs_layout_arg): Emit -Wpsabi note if arm_needs_doubleword_align
8205 returns negative, increment ncrn only if it returned positive.
8206 (arm_needs_doubleword_align): Return int instead of bool,
8207 ignore DECL_ALIGN of non-FIELD_DECL TYPE_FIELDS chain
8208 members, but if there is any such non-FIELD_DECL
8209 > PARM_BOUNDARY aligned decl, return -1 instead of false.
8210 (arm_function_arg): Emit -Wpsabi note if arm_needs_doubleword_align
8211 returns negative, increment nregs only if it returned positive.
8212 (arm_setup_incoming_varargs): Likewise.
8213 (arm_function_arg_boundary): Emit -Wpsabi note if
8214 arm_needs_doubleword_align returns negative, return
8215 DOUBLEWORD_ALIGNMENT only if it returned positive.
8216
8217 2017-04-25 Bill Seurer <seurer@linux.vnet.ibm.com>
8218
8219 Backport from mainline
8220 PR target/80482
8221 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Change
8222 type checks to test for compatibility instead of equality.
8223
8224 2017-04-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8225 Jakub Jelinek <jakub@redhat.com>
8226
8227 PR target/77728
8228 * config/aarch64/aarch64.c (struct aarch64_fn_arg_alignment): New
8229 type.
8230 (aarch64_function_arg_alignment): Return aarch64_fn_arg_alignment
8231 struct. Ignore DECL_ALIGN of decls other than FIELD_DECL for
8232 the alignment computation, but return their maximum in warn_alignment.
8233 (aarch64_layout_arg): Adjust aarch64_function_arg_alignment caller.
8234 Emit a -Wpsabi note if warn_alignment is 16 bytes, but alignment
8235 is smaller.
8236 (aarch64_function_arg_boundary): Likewise. Simplify using MIN/MAX.
8237 (aarch64_gimplify_va_arg_expr): Adjust aarch64_function_arg_alignment
8238 caller.
8239
8240 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8241
8242 Backport from mainline
8243 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8244
8245 PR target/80464
8246 * config/s390/vector.md: Split MEM->GPR vector moves for
8247 non-s_operand addresses.
8248
8249 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8250
8251 Backport from mainline
8252 2017-04-25 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8253
8254 PR target/79895
8255 * config/s390/predicates.md (reload_const_wide_int_operand): New
8256 predicate.
8257 * config/s390/s390.md ("movti"): Remove d/P alternative.
8258 ("movti_bigconst"): New pattern definition.
8259
8260 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8261
8262 Backport from maineline
8263 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8264
8265 PR target/80080
8266 * s390-protos.h (s390_expand_cs_hqi): Removed.
8267 (s390_expand_cs, s390_expand_atomic_exchange_tdsi): New prototypes.
8268 * config/s390/s390.c (s390_emit_compare_and_swap): Handle all integer
8269 modes as well as CCZ1mode and CCZmode.
8270 (s390_expand_atomic_exchange_tdsi, s390_expand_atomic): Adapt to new
8271 signature of s390_emit_compare_and_swap.
8272 (s390_expand_cs_hqi): Likewise, make static.
8273 (s390_expand_cs_tdsi): Generate an explicit compare before trying
8274 compare-and-swap, in some cases.
8275 (s390_expand_cs): Wrapper function.
8276 (s390_expand_atomic_exchange_tdsi): New backend specific expander for
8277 atomic_exchange.
8278 (s390_match_ccmode_set): Allow CCZmode <-> CCZ1 mode.
8279 * config/s390/s390.md ("atomic_compare_and_swap<mode>"): Merge the
8280 patterns for small and large integers. Forbid symref memory operands.
8281 Move expander to s390.c. Require cc register.
8282 ("atomic_compare_and_swap<DGPR:mode><CCZZ1:mode>_internal")
8283 ("*atomic_compare_and_swap<TDI:mode><CCZZ1:mode>_1")
8284 ("*atomic_compare_and_swapdi<CCZZ1:mode>_2")
8285 ("*atomic_compare_and_swapsi<CCZZ1:mode>_3"): Use s_operand to forbid
8286 symref memory operands. Remove CC mode and call s390_match_ccmode
8287 instead.
8288 ("atomic_exchange<mode>"): Allow and implement all integer modes.
8289
8290 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8291
8292 Backport from mainline
8293 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8294
8295 * config/s390/s390.md (define_peephole2): New peephole to help
8296 combining the load-and-test pattern with volatile memory.
8297
8298
8299 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8300
8301 Backport from mainline
8302 2017-04-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
8303
8304 * config/s390/s390.md ("cstorecc4"): Use load-on-condition and deal
8305 with CCZmode for TARGET_Z196.
8306
8307 2017-04-25 Jakub Jelinek <jakub@redhat.com>
8308
8309 PR rtl-optimization/80501
8310 * combine.c (make_compound_operation_int): Set subreg_code to SET
8311 even for AND with mask of the sign bit of mode.
8312
8313 PR rtl-optimization/80500
8314 * loop-unroll.c (combine_var_copies_in_loop_exit): Call copy_rtx on
8315 sum's initial value.
8316
8317 2017-04-24 Martin Liska <mliska@suse.cz>
8318
8319 Backport from mainline
8320 2017-04-24 Jan Hubicka <hubicka@ucw.cz>
8321
8322 PR middle-end/79931
8323 * ipa-devirt.c (dump_possible_polymorphic_call_targets): Fix ICE.
8324
8325 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
8326
8327 Backport from mainline
8328 2017-04-20 Alexander Monakov <amonakov@ispras.ru>
8329
8330 * omp-low.c (lower_lastprivate_clauses): Correct handling of linear
8331 and lastprivate clauses in SIMT case.
8332
8333 2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com>
8334
8335 Backport from mainline
8336 2017-04-20 Matthew Fortune <matthew.fortune@imgtec.com>
8337
8338 * config/mips/mips.c (mips_expand_vec_perm_const): Re-fix
8339 uninitialized variable warning to avoid buffer overrun.
8340
8341 2017-04-20 Jakub Jelinek <jakub@redhat.com>
8342
8343 * DEV-PHASE: Set to prerelease.
8344
8345 2017-04-20 Thomas Preud'homme <thomas.preudhomme@arm.com>
8346
8347 * config/arm/arm.c (arm_elf_asm_cdtor): Create non-default
8348 priority .init_array and .fini_array section with SECTION_NOTYPE
8349 flag.
8350
8351 2017-04-20 Jakub Jelinek <jakub@redhat.com>
8352
8353 PR middle-end/80423
8354 * tree.h (build_array_type): Add typeless_storage default argument.
8355 * tree.c (type_cache_hasher::equal): Also compare
8356 TYPE_TYPELESS_STORAGE flag for ARRAY_TYPEs.
8357 (build_array_type): Add typeless_storage argument, set
8358 TYPE_TYPELESS_STORAGE to it, if shared also hash it, and pass to
8359 recursive call.
8360 (build_nonshared_array_type): Adjust build_array_type_1 caller.
8361 (build_array_type): Likewise. Add typeless_storage argument.
8362
8363 2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
8364 Jakub Jelinek <jakub@redhat.com>
8365
8366 PR tree-optimization/80426
8367 * tree-vrp.c (extract_range_from_binary_expr_1): For an additive
8368 operation on symbolic operands, also compute the overflow for the
8369 invariant part when the operation degenerates into a negation.
8370
8371 2017-04-19 Jakub Jelinek <jakub@redhat.com>
8372
8373 PR debug/80461
8374 * dwarf2out.c (modified_type_die, gen_type_die_with_usage):
8375 Check for t with zero TYPE_QUALS_NO_ADDR_SPACE.
8376
8377 PR debug/80436
8378 * tree-ssa-loop-manip.c (find_uses_to_rename_def): Ignore debug uses.
8379
8380 2017-04-19 Georg-Johann Lay <avr@gjlay.de>
8381
8382 PR target/80462
8383 * config/avr/avr.c (tree.h): Include it.
8384 (cgraph.h): Include it.
8385 (avr_encode_section_info): Don't warn for uninitialized progmem
8386 variable if it's just an alias.
8387
8388 2017-04-19 Richard Biener <rguenther@suse.de>
8389
8390 PR ipa/65972
8391 * auto-profile.c (afdo_vpt_for_early_inline): Update SSA
8392 when needed by AutoPGO.
8393
8394 2017-04-19 Paulo J. Matos <paulo@matos-sorge.com>
8395
8396 PR lto/50345
8397 * doc/lto.texi: Remove an extra 'that'.
8398
8399 2017-04-19 Segher Boessenkool <segher@kernel.crashing.org>
8400
8401 PR rtl-optimization/80429
8402 * ira.c (split_live_ranges_for_shrink_wrap): Don't split regs that
8403 are only used in debug insns.
8404
8405 2017-04-19 Eric Botcazou <ebotcazou@adacore.com>
8406 Vladimir Makarov <vmakarov@redhat.com>
8407
8408 * config/sparc/predicates.md (input_operand): Add comment. Return
8409 true for any memory operand when LRA is in progress.
8410 * config/sparc/sparc.c (sparc_expand_move): Minor formatting fix.
8411
8412 2017-04-18 Jeff Law <law@redhat.com>
8413
8414 PR target/74563
8415 * mips.md ({return,simple_return}_internal): Do not overwrite
8416 operands[0].
8417
8418 2017-04-18 Jakub Jelinek <jakub@redhat.com>
8419
8420 PR tree-optimization/80443
8421 * tree-vrp.c (intersect_ranges): For signed 1-bit precision type,
8422 instead of adding 1, subtract -1 and similarly instead of subtracting
8423 1 add -1.
8424
8425 2017-04-18 Richard Sandiford <richard.sandiford@arm.com>
8426
8427 PR rtl-optimization/80357
8428 * haifa-sched.c (tmp_bitmap): New variable.
8429 (model_recompute): Handle duplicate use records.
8430 (alloc_global_sched_pressure_data): Initialize tmp_bitmap.
8431 (free_global_sched_pressure_data): Free it.
8432
8433 2017-04-18 Bernd Edlinger <bernd.edlinger@hotmail.de>
8434
8435 Revert:
8436 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
8437 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
8438 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
8439 instead of SYSTEM_HEADER_DIR.
8440
8441 2017-04-18 Jeff Law <law@redhat.com>
8442
8443 PR middle-end/80422
8444 * cfgcleanup.c (try_crossjump_to_edge): Verify SRC1 and SRC2 have
8445 predecessors after walking up the insn chain.
8446
8447 2017-04-18 Jakub Jelinek <jakub@redhat.com>
8448
8449 PR debug/80263
8450 * dwarf2out.c (modified_type_die): Try harder not to emit internal
8451 sizetype type into debug info.
8452
8453 2017-04-18 Michael Meissner <meissner@linux.vnet.ibm.com>
8454
8455 PR target/80099
8456 * config/rs6000/rs6000.c (rs6000_expand_vector_extract): Eliminate
8457 unneeded test for TARGET_UPPER_REGS_SF.
8458 * config/rs6000/vsx.md (vsx_extract_v4sf_var): Likewise.
8459
8460 2017-04-18 Jakub Jelinek <jakub@redhat.com>
8461
8462 PR sanitizer/80444
8463 * sancov.c (sancov_pass): Use gsi_start_nondebug_after_labels_bb
8464 instead of gsi_after_labels.
8465
8466 2017-04-18 Jeff Law <law@redhat.com>
8467
8468 * regcprop.c (maybe_mode_change): Avoid creating copies of the
8469 stack pointer.
8470
8471 Revert:
8472 2017-04-13 Jeff Law <law@redhat.com>
8473 * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
8474 in operands[1] if it is a MEM and TARGET_MIPS16 is active.
8475
8476 2017-04-18 Georg-Johann Lay <avr@gjlay.de>
8477
8478 PR target/79453
8479 * config/avr/avr.c (intl.h): Include it.
8480 (avr_pgm_check_var_decl) [reason]: Wrap diagnostic snippets into _().
8481
8482 2017-04-18 Martin Liska <mliska@suse.cz>
8483
8484 PR gcov-profile/78783
8485 * gcov-tool.c (gcov_output_files): Validate that destination
8486 file is either removed by the tool or by a user.
8487
8488 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
8489 Guy Benyei <guybe@mellanox.com>
8490
8491 * config/arc/arc.c (arc_reorg): Move loop_end_id into a more local
8492 block, and do not negate it, the stored id is already negative.
8493
8494 2017-04-14 Andrew Burgess <andrew.burgess@embecosm.com>
8495
8496 * config/arc/arc.md (doloop_begin_i): Use @pcl assembler syntax.
8497
8498 2017-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
8499
8500 PR target/80098
8501 * config/rs6000/rs6000-cpus.def (OTHER_P9_VECTOR_MASKS): Define
8502 masks of options that should be turned off if the VSX vector
8503 options are turned off.
8504 (OTHER_P8_VECTOR_MASKS): Likewise.
8505 (OTHER_VSX_VECTOR_MASKS): Likewise.
8506 * config/rs6000/rs6000.c (rs6000_option_override_internal): Call
8507 rs6000_disable_incompatible_switches to validate no type switches
8508 like -mvsx.
8509 (rs6000_incompatible_switch): New function to disallow turning on
8510 other vector options if -mno-vsx, -mno-power8-vector, or
8511 -mno-power9-vector are specified.
8512
8513 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
8514
8515 * config/arc/arc.h (CRT_CALL_STATIC_FUNCTION): Use long calls.
8516
8517 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
8518
8519 * config/arc/arc-protos.h (arc_decl_pretend_args): Remove.
8520 * config/arc/arc.c (arc_decl_pretend_args): Likewise.
8521 * config/arc/arc.h (CFA_FRAME_BASE_OFFSET): Likewise.
8522 (ARG_POINTER_CFA_OFFSET): Likewise.
8523
8524 2017-04-14 Claudiu Zissulescu <claziss@synopsys.com>
8525
8526 * config/arc/arc.c (arc_mode_dependent_address_p): Relax
8527 conditions to take advantage of various optimizations.
8528
8529 2017-04-13 Jeff Law <law@redhat.com>
8530
8531 * config/mips.mips.md (zero_extendsidi2): Do not allow SP to appear
8532 in operands[1] if it is a MEM and TARGET_MIPS16 is active.
8533 (zero_extendsidi2_dext): Likewise.
8534
8535 2017-04-13 Jakub Jelinek <jakub@redhat.com>
8536
8537 PR sanitizer/80403
8538 * fold-const.c (fold_ternary_loc): Revert
8539 use op0 instead of fold_convert_loc (loc, type, arg0) part of
8540 2017-04-12 change.
8541
8542 2017-04-13 Vladimir Makarov <vmakarov@redhat.com>
8543
8544 PR rtl-optimization/80343
8545 * lra-remat.c (update_scratch_ops): Assign original hard reg to
8546 new scratch pseudo.
8547
8548 2017-04-13 Denis Khalikov <d.khalikov@partner.samsung.com>
8549
8550 PR sanitizer/80414
8551 * ubsan.c (ubsan_expand_bounds_ifn): Pass original index
8552 to ubsan_encode_value.
8553
8554 2017-04-13 Jeff Law <law@redhat.com>
8555
8556 * reload1.c (eliminate_regs_1): Call gen_rtx_raw_SUBREG for SUBREGs
8557 appearing in DEBUG_INSNs.
8558
8559 2017-04-13 Martin Liska <mliska@suse.cz>
8560
8561 PR gcov-profile/80413
8562 * gcov-io.c (gcov_write_string): Copy to buffer just when
8563 allocated size is greater than zero.
8564
8565 2017-04-13 Jakub Jelinek <jakub@redhat.com>
8566
8567 PR debug/80321
8568 * dwarf2out.c (decls_for_scope): Ignore declarations of
8569 current_function_decl in BLOCK_NONLOCALIZED_VARS.
8570
8571 2017-04-12 Jan Hubicka <hubicka@ucw.cz>
8572
8573 PR lto/69953
8574 * ipa-visibility.c (non_local_p): Fix typos.
8575 (localize_node): When localizing symbol in same comdat group,
8576 dissolve the group only when we know external symbols are going
8577 to be privatized.
8578 (function_and_variable_visibility): Do not localize DECL_EXTERNAL.
8579
8580 2017-04-12 Jakub Jelinek <jakub@redhat.com>
8581
8582 PR tree-optimization/79390
8583 * optabs.c (emit_conditional_move): If the preferred op2/op3 operand
8584 order does not result in usable sequence, retry with reversed operand
8585 order.
8586
8587 PR sanitizer/80403
8588 PR sanitizer/80404
8589 PR sanitizer/80405
8590 * fold-const.c (fold_ternary_loc): Use op1 instead of arg1 as argument
8591 to fold_build2_loc. Convert TREE_OPERAND (tem, 0) to type. Use
8592 op0 instead of fold_convert_loc (loc, type, arg0).
8593
8594 2017-04-12 Jeff Law <law@redhat.com>
8595
8596 * genattrtab.c (write_eligible_delay): Verify DELAY_INSN still
8597 has a delay slot in the generated code.
8598
8599 * config/cris/cris.md (cris_preferred_reload_class): Return
8600 GENNONACR_REGS rather than GENERAL_REGS.
8601
8602 2017-04-12 Jakub Jelinek <jakub@redhat.com>
8603
8604 PR c/80163
8605 * expr.c <CASE_CONVERT>: For EXPAND_INITIALIZER determine SIGN_EXTEND
8606 vs. ZERO_EXTEND based on signedness of treeop0's type rather than
8607 signedness of the result type.
8608
8609 2017-04-12 Richard Biener <rguenther@suse.de>
8610 Jeff Law <law@redhat.com>
8611
8612 PR tree-optimization/80359
8613 * tree-ssa-dse.c (maybe_trim_partially_dead_store): Do not
8614 trim stores to TARGET_MEM_REFs.
8615
8616 2017-04-12 Richard Biener <rguenther@suse.de>
8617
8618 PR tree-optimization/79390
8619 * gimple-ssa-split-paths.c (is_feasible_trace): Restrict
8620 threading case even more.
8621
8622 2017-04-12 Segher Boessenkool <segher@kernel.crashing.org>
8623
8624 PR target/80382
8625 * config/rs6000/sync.md (atomic_load<mode>, atomic_store<mode): Test
8626 for quad_address_p for TImode, instead of just not indexed_address.
8627
8628 2017-04-12 Richard Biener <rguenther@suse.de>
8629 Bernd Edlinger <bernd.edlinger@hotmail.de>
8630
8631 PR middle-end/79671
8632 * alias.c (component_uses_parent_alias_set_from): Handle
8633 TYPE_TYPELESS_STORAGE.
8634 (get_alias_set): Likewise.
8635 * tree-core.h (tree_type_common): Add typeless_storage flag.
8636 * tree.h (TYPE_TYPELESS_STORAGE): New macro.
8637 * stor-layout.c (place_union_field): Set TYPE_TYPELESS_STORAGE
8638 for types containing members with TYPE_TYPELESS_STORAGE.
8639 (place_field): Likewise.
8640 (layout_type): Likewise for ARRAY_TYPE.
8641 * lto-streamer-out.c (hash_tree): Hash TYPE_TYPELESS_STORAGE.
8642 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Stream
8643 TYPE_TYPELESS_STORAGE.
8644 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
8645
8646 2017-04-12 Jakub Jelinek <jakub@redhat.com>
8647
8648 PR sanitizer/80349
8649 * fold-const.c (fold_binary_loc) <case BIT_IOR_EXPR>: Convert arg0's
8650 first argument to type.
8651
8652 2017-04-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8653
8654 PR target/80376
8655 PR target/80315
8656 * config/rs6000/rs6000.c (rs6000_expand_unop_builtin): Return
8657 CONST0_RTX (mode) rather than const0_rtx where appropriate.
8658 (rs6000_expand_binop_builtin): Likewise.
8659 (rs6000_expand_ternop_builtin): Likewise; also add missing
8660 vsx_xxpermdi_* variants; also fix typo (arg1 => arg2) for
8661 vshasigma built-ins.
8662 * doc/extend.texi: Document that vec_xxpermdi's third argument
8663 must be a constant.
8664
8665 2017-04-11 Uros Bizjak <ubizjak@gmail.com>
8666
8667 * config/i386/i386.c (dimode_scalar_chain::compute_convert_gain):
8668 Use shift_const cost parameter when calculating gain of STV shifts.
8669
8670 2017-04-11 Vladimir Makarov <vmakarov@redhat.com>
8671
8672 PR rtl-optimization/70478
8673 * lra-constraints.c (process_alt_operands): Check memory for
8674 disfavoring memory insn operand.
8675
8676 2017-04-11 Jakub Jelinek <jakub@redhat.com>
8677
8678 PR middle-end/80100
8679 * simplify-rtx.c (simplify_binary_operation_1) <case IOR>: Perform
8680 left shift in unsigned HOST_WIDE_INT type.
8681
8682 PR rtl-optimization/80385
8683 * simplify-rtx.c (simplify_unary_operation_1): Don't transform
8684 (not (neg X)) into (plus X -1) for complex or non-integral modes.
8685
8686 PR libgomp/80394
8687 * omp-low.c (scan_omp_task): Don't optimize away empty tasks
8688 if they have any depend clauses.
8689
8690 2017-04-11 Martin Liska <mliska@suse.cz>
8691
8692 PR ipa/80212
8693 * cgraph.c (cgraph_node::dump): Dump calls_comdat_local.
8694 * ipa-split.c (split_function): Create a local comdat symbol
8695 if caller is in a comdat group.
8696
8697 2017-04-11 Martin Liska <mliska@suse.cz>
8698
8699 PR ipa/80212
8700 * ipa-cp.c (determine_versionability): Handle calls_comdat_local
8701 flags.
8702
8703 2017-04-11 Martin Sebor <msebor@redhat.com>
8704
8705 PR middle-end/80364
8706 * gimple-ssa-sprintf.c (get_int_range): Remove second argument and
8707 always use the int type. Use INTEGRAL_TYPE_P() rather than testing
8708 for INTEGER_TYPE.
8709 (directive::set_width, directive::set_precision, format_character):
8710 Adjust.
8711 (parse_directive): Use INTEGRAL_TYPE_P() rather than testing for
8712 INTEGER_TYPE.
8713
8714 2017-04-11 Richard Earnshaw <rearnsha@arm.com>
8715
8716 PR target/80389
8717 * config/arm/arm.c (arm_configure_build_target): When -mcpu and -arch
8718 conflict, set target->arch_name instead of target->cpu_name.
8719
8720 2017-04-11 Richard Biener <rguenther@suse.de>
8721
8722 PR tree-optimization/80374
8723 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Use
8724 build_zero_cst, remove fold_convertible_p check again.
8725
8726 2017-04-11 Martin Liska <mliska@suse.cz>
8727
8728 PR sanitizer/70878
8729 * ubsan.c (instrument_object_size): Do not instrument register
8730 variables.
8731
8732 2017-04-11 Jakub Jelinek <jakub@redhat.com>
8733
8734 PR target/80381
8735 * config/i386/i386-builtin-types.def
8736 (V16HI_FTYPE_V16HI_INT_V16HI_UHI_COUNT,
8737 V16HI_FTYPE_V16HI_V8HI_V16HI_UHI_COUNT,
8738 V16SI_FTYPE_V16SI_INT_V16SI_UHI_COUNT,
8739 V16SI_FTYPE_V16SI_V4SI_V16SI_UHI_COUNT,
8740 V2DI_FTYPE_V2DI_INT_V2DI_UQI_COUNT,
8741 V2DI_FTYPE_V2DI_V2DI_V2DI_UQI_COUNT,
8742 V32HI_FTYPE_V32HI_INT_V32HI_USI_COUNT,
8743 V32HI_FTYPE_V32HI_V8HI_V32HI_USI_COUNT,
8744 V4DI_FTYPE_V4DI_INT_V4DI_UQI_COUNT,
8745 V4DI_FTYPE_V4DI_V2DI_V4DI_UQI_COUNT,
8746 V4SI_FTYPE_V4SI_INT_V4SI_UQI_COUNT,
8747 V4SI_FTYPE_V4SI_V4SI_V4SI_UQI_COUNT,
8748 V8DI_FTYPE_V8DI_INT_V8DI_UQI_COUNT,
8749 V8DI_FTYPE_V8DI_V2DI_V8DI_UQI_COUNT,
8750 V8HI_FTYPE_V8HI_INT_V8HI_UQI_COUNT,
8751 V8HI_FTYPE_V8HI_V8HI_V8HI_UQI_COUNT,
8752 V8SI_FTYPE_V8SI_INT_V8SI_UQI_COUNT,
8753 V8SI_FTYPE_V8SI_V4SI_V8SI_UQI_COUNT): New function type aliases.
8754 * config/i386/i386-builtin.def (__builtin_ia32_pslld512_mask,
8755 __builtin_ia32_pslldi512_mask, __builtin_ia32_psllq512_mask,
8756 __builtin_ia32_psllqi512_mask, __builtin_ia32_psrad512_mask,
8757 __builtin_ia32_psradi512_mask, __builtin_ia32_psraq512_mask,
8758 __builtin_ia32_psraqi512_mask, __builtin_ia32_psrld512_mask,
8759 __builtin_ia32_psrldi512_mask, __builtin_ia32_psrlq512_mask,
8760 __builtin_ia32_psrlqi512_mask, __builtin_ia32_psllwi128_mask,
8761 __builtin_ia32_pslldi128_mask, __builtin_ia32_psllqi128_mask,
8762 __builtin_ia32_psllw128_mask, __builtin_ia32_pslld128_mask,
8763 __builtin_ia32_psllq128_mask, __builtin_ia32_psllwi256_mask,
8764 __builtin_ia32_psllw256_mask, __builtin_ia32_pslldi256_mask,
8765 __builtin_ia32_pslld256_mask, __builtin_ia32_psllqi256_mask,
8766 __builtin_ia32_psllq256_mask, __builtin_ia32_psradi128_mask,
8767 __builtin_ia32_psrad128_mask, __builtin_ia32_psradi256_mask,
8768 __builtin_ia32_psrad256_mask, __builtin_ia32_psraqi128_mask,
8769 __builtin_ia32_psraq128_mask, __builtin_ia32_psraqi256_mask,
8770 __builtin_ia32_psraq256_mask, __builtin_ia32_psrldi128_mask,
8771 __builtin_ia32_psrld128_mask, __builtin_ia32_psrldi256_mask,
8772 __builtin_ia32_psrld256_mask, __builtin_ia32_psrlqi128_mask,
8773 __builtin_ia32_psrlq128_mask, __builtin_ia32_psrlqi256_mask,
8774 __builtin_ia32_psrlq256_mask, __builtin_ia32_psrawi256_mask,
8775 __builtin_ia32_psraw256_mask, __builtin_ia32_psrawi128_mask,
8776 __builtin_ia32_psraw128_mask, __builtin_ia32_psrlwi256_mask,
8777 __builtin_ia32_psrlw256_mask, __builtin_ia32_psrlwi128_mask,
8778 __builtin_ia32_psrlw128_mask, __builtin_ia32_psllwi512_mask,
8779 __builtin_ia32_psllw512_mask, __builtin_ia32_psrawi512_mask,
8780 __builtin_ia32_psraw512_mask, __builtin_ia32_psrlwi512_mask,
8781 __builtin_ia32_psrlw512_mask): Use _COUNT suffixed function type
8782 aliases.
8783 * config/i386/i386.c (ix86_expand_args_builtin): Rename last_arg_count
8784 flag to second_arg_count, handle 4 argument function type _COUNT
8785 aliases, handle second_arg_count on second argument rather than last.
8786
8787 2017-04-10 Jeff Law <law@redhat.com>
8788
8789 PR tree-optimization/80374
8790 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Do not try to
8791 record anything if we can not convert integer_zero_node to the
8792 desired type.
8793
8794 2017-04-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
8795
8796 PR target/80108
8797 * config/rs6000/rs6000.c (rs6000_option_override_internal):
8798 Enhance special handling given to the TARGET_P9_MINMAX option in
8799 relation to certain other options.
8800
8801 2017-04-10 Bin Cheng <bin.cheng@arm.com>
8802
8803 PR tree-optimization/80153
8804 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Check and
8805 remove POINTER_PLUS_EXPR's base part directly, rather than through
8806 aff_tree.
8807
8808 2017-04-10 Richard Biener <rguenther@suse.de>
8809 Bin Cheng <bin.cheng@arm.com>
8810
8811 PR tree-optimization/80153
8812 * tree-affine.c (aff_combination_to_tree): Get base pointer from
8813 the first element of pointer type aff_tree. Build result expr in
8814 aff_tree's type.
8815 (add_elt_to_tree): Convert to type unconditionally. Remove other
8816 fold_convert calls.
8817 * tree-ssa-loop-ivopts.c (alloc_iv): Pass in consistent types.
8818 (rewrite_use_nonlinear_expr): Check invariant using iv information.
8819
8820 2017-04-10 Richard Biener <rguenther@suse.de>
8821
8822 * tree-ssa-structalias.c (find_func_aliases): Properly handle
8823 asm inputs.
8824
8825 2017-04-10 Vladimir Makarov <vmakarov@redhat.com>
8826
8827 PR rtl-optimization/70478
8828 * lra-constraints.c (curr_small_class_check): New.
8829 (update_and_check_small_class_inputs): New.
8830 (process_alt_operands): Update curr_small_class_check. Disfavor
8831 alternative insn memory operands. Check available regs for small
8832 class operands.
8833
8834 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
8835
8836 PR target/80057
8837 * config/mips/mips.opt (-mvirt): Update description.
8838 * doc/invoke.texi (-mvirt): Likewise.
8839
8840 2017-04-10 Richard Biener <rguenther@suse.de>
8841
8842 PR middle-end/80362
8843 * fold-const.c (fold_binary_loc): Look at unstripped ops when
8844 looking for NEGATE_EXPR in -A / -B to A / B folding.
8845
8846 2017-04-10 Martin Liska <mliska@suse.cz>
8847
8848 PR gcov-profile/80224
8849 * gcov.c (print_usage): Fix usage string.
8850 (get_gcov_intermediate_filename): Remove.
8851 (output_gcov_file): Use both for normal and intermediate format.
8852 (generate_results): Do not initialize special file for
8853 intermediate format.
8854
8855 2017-04-10 Richard Biener <rguenther@suse.de>
8856
8857 PR tree-optimization/80304
8858 * tree-ssa-loop-im.c (ref_indep_loop_p_1): Also recurse
8859 for safelen.
8860
8861 2017-04-10 Nathan Sidwell <nathan@acm.org>
8862
8863 PR target/79905
8864 * config/rs6000/rs6000.c (rs6000_vector_type): New.
8865 (rs6000_init_builtins): Use it.
8866
8867 2016-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8868
8869 * config/arm/arm.md (<mrc>): Add mode to SET source.
8870 (<mrrc>): Likewise.
8871
8872 2017-04-10 Richard Biener <rguenther@suse.de>
8873
8874 PR middle-end/80344
8875 * gimplify.c (is_gimple_mem_rhs_or_call): Allow CLOBBERs.
8876
8877 2017-04-10 Jakub Jelinek <jakub@redhat.com>
8878
8879 PR target/80324
8880 * config/i386/avx512fintrin.h (_mm512_reduce_add_epi32,
8881 _mm512_reduce_mul_epi32, _mm512_reduce_and_epi32,
8882 _mm512_reduce_or_epi32, _mm512_mask_reduce_add_epi32,
8883 _mm512_mask_reduce_mul_epi32, _mm512_mask_reduce_and_epi32,
8884 _mm512_mask_reduce_or_epi32, _mm512_reduce_min_epi32,
8885 _mm512_reduce_max_epi32, _mm512_reduce_min_epu32,
8886 _mm512_reduce_max_epu32, _mm512_mask_reduce_min_epi32,
8887 _mm512_mask_reduce_max_epi32, _mm512_mask_reduce_min_epu32,
8888 _mm512_mask_reduce_max_epu32, _mm512_reduce_add_ps,
8889 _mm512_reduce_mul_ps, _mm512_mask_reduce_add_ps,
8890 _mm512_mask_reduce_mul_ps, _mm512_reduce_min_ps, _mm512_reduce_max_ps,
8891 _mm512_mask_reduce_min_ps, _mm512_mask_reduce_max_ps,
8892 _mm512_reduce_add_epi64, _mm512_reduce_mul_epi64,
8893 _mm512_reduce_and_epi64, _mm512_reduce_or_epi64,
8894 _mm512_mask_reduce_add_epi64, _mm512_mask_reduce_mul_epi64,
8895 _mm512_mask_reduce_and_epi64, _mm512_mask_reduce_or_epi64,
8896 _mm512_reduce_min_epi64, _mm512_reduce_max_epi64,
8897 _mm512_mask_reduce_min_epi64, _mm512_mask_reduce_max_epi64,
8898 _mm512_reduce_min_epu64, _mm512_reduce_max_epu64,
8899 _mm512_mask_reduce_min_epu64, _mm512_mask_reduce_max_epu64,
8900 _mm512_reduce_add_pd, _mm512_reduce_mul_pd, _mm512_mask_reduce_add_pd,
8901 _mm512_mask_reduce_mul_pd, _mm512_reduce_min_pd, _mm512_reduce_max_pd,
8902 _mm512_mask_reduce_min_pd, _mm512_mask_reduce_max_pd): New intrinsics.
8903
8904 2017-04-08 Vladimir Makarov <vmakarov@redhat.com>
8905
8906 PR rtl-optimization/70478
8907 * lra-constraints.c: Reverse the last patch.
8908
8909 2017-04-08 Andreas Tobler <andreast@gcc.gnu.org>
8910
8911 * config/aarch64/aarch64-freebsd.h: Define MCOUNT_NAME.
8912 Add comment for WCHAR_T.
8913
8914 2017-04-08 Martin Liska <mliska@suse.cz>
8915
8916 Revert:
8917 2017-04-07 Martin Liska <mliska@suse.cz>
8918
8919 PR ipa/80212
8920 * ipa-split.c (split_function): Add function part to a same comdat
8921 group.
8922
8923 2017-04-08 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
8924
8925 PR target/80358
8926 * config/rs6000/rs6000.c (expand_block_compare): Fix boundary check.
8927
8928 2017-04-07 Pat Haugen <pthaugen@us.ibm.com>
8929
8930 * rs6000/rs6000.c (vec_load_pendulum): Rename...
8931 (vec_pairing): ...to this.
8932 (power9_sched_reorder2): Rewrite code for pairing vector/vecload insns.
8933 (rs6000_sched_init): Adjust for name change.
8934 (struct rs6000_sched_context): Likewise.
8935 (rs6000_init_sched_context): Likewise.
8936 (rs6000_set_sched_context): Likewise.
8937
8938 2017-04-07 Jakub Jelinek <jakub@redhat.com>
8939
8940 PR target/80322
8941 PR target/80323
8942 PR target/80325
8943 PR target/80326
8944 * config/i386/avxintrin.h (_mm256_cvtsd_f64, _mm256_cvtss_f32): New
8945 intrinsics.
8946 * config/i386/avx512fintrin.h (_mm512_int2mask, _mm512_mask2int,
8947 _mm512_abs_ps, _mm512_mask_abs_ps, _mm512_abs_pd, _mm512_mask_abs_pd,
8948 _mm512_cvtsd_f64, _mm512_cvtss_f32): Likewise.
8949
8950 2017-04-07 Andreas Tobler <andreast@gcc.gnu.org>
8951
8952 * config/aarch64/aarch64-freebsd.h: Define WCHAR_TYPE.
8953
8954 2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
8955
8956 PR rtl-optimization/70703
8957 * ira-color.c (update_conflict_hard_regno_costs): Use
8958 int64_t instead of HOST_WIDE_INT.
8959
8960 2017-04-07 Vladimir Makarov <vmakarov@redhat.com>
8961
8962 PR rtl-optimization/70478
8963 * lra-constraints.c (process_alt_operands): Disfavor alternative
8964 insn memory operands.
8965
8966 2017-04-07 Jeff Law <law@redhat.com>
8967
8968 * config/iq2000/iq2000.c (final_prescan_insn): Do not separate a
8969 CALL and NOTE_INSN_CALL_ARG_LOCATION.
8970
8971 2017-04-07 Martin Liska <mliska@suse.cz>
8972
8973 PR target/79889
8974 * config/aarch64/aarch64.c (aarch64_process_target_attr):
8975 Show error message instead of an ICE.
8976
8977 2017-04-07 Martin Liska <mliska@suse.cz>
8978
8979 PR ipa/80212
8980 * ipa-split.c (split_function): Add function part to a same comdat
8981 group.
8982
8983 2017-04-07 Richard Biener <rguenther@suse.de>
8984
8985 PR middle-end/80341
8986 * tree.c (get_unwidened): Also handle ! for_type case for
8987 INTEGER_CSTs.
8988 * convert.c (do_narrow): Split out from ...
8989 (convert_to_integer_1): ... here. Do not pass final truncation
8990 type to get_unwidened for TRUNC_DIV_EXPR.
8991
8992 2017-04-07 Richard Biener <rguenther@suse.de>
8993
8994 * tree-affine.c (wide_int_ext_for_comb): Take type rather
8995 than aff_tree.
8996 (aff_combination_const): Adjust.
8997 (aff_combination_scale): Likewise.
8998 (aff_combination_add_elt): Likewise.
8999 (aff_combination_add_cst): Likewise.
9000 (aff_combination_convert): Likewise.
9001 (add_elt_to_tree): Likewise. Remove unused argument.
9002 (aff_combination_to_tree): Adjust calls to add_elt_to_tree.
9003
9004 2017-04-07 Sebastian Huber <sebastian.huber@embedded-brains.de>
9005
9006 * config/arm/arm.h (ARM_DEFAULT_SHORT_ENUMS): Provide default
9007 definition.
9008 * config/arm/arm.c (arm_default_short_enums): Use
9009 ARM_DEFAULT_SHORT_ENUMS.
9010 * config/arm/rtems.h (ARM_DEFAULT_SHORT_ENUMS): Define.
9011
9012 2017-04-06 Jakub Jelinek <jakub@redhat.com>
9013
9014 PR debug/80234
9015 * dwarf2out.c (gen_member_die): Handle C++17 inline static data
9016 members with redundant out-of-class redeclaration.
9017
9018 2017-04-06 Uros Bizjak <ubizjak@gmail.com>
9019
9020 PR target/80286
9021 * config/i386/sse.md (*vec_extractv4si_0_zext_sse4): New pattern.
9022 * config/i386/i386.md (*zero_extendsidi2):
9023 Add (?*x,*x) and (?*v,*v) alternatives.
9024
9025 2017-04-06 Uros Bizjak <ubizjak@gmail.com>
9026
9027 PR target/79733
9028 * config/i386/i386.c (ix86_expand_builtin)
9029 <case IX86_BUILTIN_K{,OR}TEST{C,Z}{8,16,32,64}>: Determine insn operand
9030 mode from insn data. Convert operands to insn operand mode.
9031 Copy operands that don't satisfy insn predicate to a register.
9032
9033 2017-04-06 Sam Thursfield <sam.thursfield@codethink.co.uk>
9034
9035 * config/rs6000/x-aix: Increase memory limit for genautomata on AIX.
9036 Update comments.
9037
9038 2017-04-06 Richard Biener <rguenther@suse.de>
9039
9040 PR tree-optimization/80334
9041 * tree-ssa-loop-ivopts.c (rewrite_use_address): Properly
9042 preserve alignment of accesses.
9043
9044 2017-04-06 Richard Biener <rguenther@suse.de>
9045
9046 PR tree-optimization/80262
9047 * tree-sra.c (build_ref_for_offset): Preserve address-space
9048 information.
9049 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
9050 Drop useless address-space information on MEM_REF offsets.
9051
9052 2017-04-05 Andreas Schwab <schwab@linux-m68k.org>
9053
9054 * builtins.def (BUILT_IN_UPDATE_SETJMP_BUF): Fix type.
9055
9056 2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
9057
9058 PR rtl-optimization/70703
9059 * ira-color.c (update_conflict_hard_regno_costs): Use
9060 HOST_WIDE_INT instead of long.
9061
9062 2017-04-05 Uros Bizjak <ubizjak@gmail.com>
9063
9064 PR target/80298
9065 * config/i386/mmintrin.h: Add -msse target option when __SSE__ is
9066 not defined for x86_64 target. Add -mmmx target option when __SSE2__
9067 is not defined.
9068 * config/i386/mm3dnow.h: Add -msse target when __SSE__ is not defined
9069 for x86_64 target. Handle -m3dnowa option.
9070
9071 2017-04-05 Vladimir Makarov <vmakarov@redhat.com>
9072
9073 PR rtl-optimization/70703
9074 * ira-color.c (update_costs_from_allocno): Use the smallest mode.
9075 (update_conflict_hard_regno_costs): Use long instead of unsigned
9076 arithmetic for cost calculation.
9077
9078 2017-04-05 Jakub Jelinek <jakub@redhat.com>
9079 Bernd Edlinger <bernd.edlinger@hotmail.de>
9080
9081 PR sanitizer/80308
9082 * asan.c (asan_store_shadow_bytes): Fix location of last_chunk_value
9083 for big endian.
9084
9085 2017-04-05 Eric Botcazou <ebotcazou@adacore.com>
9086
9087 PR target/78002
9088 * config/aarch64/aarch64.c (aarch64_emit_probe_stack_range): Replace
9089 ptr_mode with Pmode throughout.
9090 * config/aarch64/aarch64.md (probe_stack_range_<PTR:mode): Rename
9091 into probe_stack_range and use DImode.
9092
9093 2017-04-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
9094
9095 PR target/79890
9096 * config/s390/s390.c (s390_register_info_gprtofpr): Return if
9097 call_eh_return is true.
9098
9099 2017-04-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9100
9101 * config/s390/s390-c.c (s390_resolve_overloaded_builtin):
9102 Initialize last_match_fntype_index.
9103
9104 2017-04-05 Jakub Jelinek <jakub@redhat.com>
9105
9106 PR target/80310
9107 * tree-nvr.c: Include internal-fn.h.
9108 (pass_return_slot::execute): Ignore internal calls without
9109 direct optab.
9110
9111 2017-04-04 Jakub Jelinek <jakub@redhat.com>
9112 Richard Biener <rguenther@suse.de>
9113
9114 PR c++/80297
9115 * genmatch.c (capture::gen_transform): For GENERIC unshare_expr
9116 captures used multiple times, except for the last use.
9117 * generic-match-head.c: Include gimplify.h.
9118
9119 2017-04-04 Jakub Jelinek <jakub@redhat.com>
9120
9121 PR tree-optimization/79390
9122 * target.h (struct noce_if_info): Declare.
9123 * targhooks.h (default_noce_conversion_profitable_p): Declare.
9124 * target.def (noce_conversion_profitable_p): New target hook.
9125 * ifcvt.h (struct noce_if_info): New type, moved from ...
9126 * ifcvt.c (struct noce_if_info): ... here.
9127 (noce_conversion_profitable_p): Renamed to ...
9128 (default_noce_conversion_profitable_p): ... this. No longer
9129 static nor inline.
9130 (noce_try_store_flag_constants, noce_try_addcc,
9131 noce_try_store_flag_mask, noce_try_cmove, noce_try_cmove_arith,
9132 noce_convert_multiple_sets): Use targetm.noce_conversion_profitable_p
9133 instead of noce_conversion_profitable_p.
9134 * config/i386/i386.c: Include ifcvt.h.
9135 (ix86_option_override_internal): Don't override
9136 PARAM_MAX_RTL_IF_CONVERSION_INSNS default.
9137 (ix86_noce_conversion_profitable_p): New function.
9138 (TARGET_NOCE_CONVERSION_PROFITABLE_P): Redefine.
9139 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): Adjust comment.
9140 * doc/tm.texi.in (TARGET_NOCE_CONVERSION_PROFITABLE_P): Add.
9141 * doc/tm.texi: Regenerated.
9142
9143 2017-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9144
9145 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Grammar
9146 correction.
9147
9148 2017-04-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
9149
9150 PR target/80307
9151 * config/arm/arm.c (thumb1_rtx_costs): Give a cost of 32
9152 instructions for small multiply cores.
9153
9154 2017-04-04 Jeff Law <law@redhat.com>
9155
9156 * config/mips/mips.c (mips_multi_add): Zero initialize the newly
9157 added member.
9158 (mips_expand_vec_perm_const): Initialize elements in orig_perm
9159 that are not set by the loop over the elements.
9160
9161 2017-04-04 Jakub Jelinek <jakub@redhat.com>
9162
9163 PR target/80286
9164 * config/i386/i386.c (ix86_expand_args_builtin): If op has scalar
9165 int mode, convert_modes it to mode as unsigned, otherwise use
9166 lowpart_subreg to mode rather than SImode.
9167 * config/i386/sse.md (<mask_codefor>ashr<mode>3<mask_name>,
9168 ashr<mode>3, ashr<mode>3<mask_name>, <shift_insn><mode>3<mask_name>):
9169 Use DImode instead of SImode for the shift count operand.
9170 * config/i386/mmx.md (mmx_ashr<mode>3, mmx_<shift_insn><mode>3):
9171 Likewise.
9172
9173 2017-04-04 Richard Biener <rguenther@suse.de>
9174
9175 PR middle-end/80281
9176 * match.pd (A + (-B) -> A - B): Make sure to preserve unsigned
9177 arithmetic done for the negate or the plus. Simplify.
9178 (A - (-B) -> A + B): Likewise.
9179 * fold-const.c (split_tree): Make sure to not negate pointers.
9180
9181 2017-04-04 Segher Boessenkool <segher@kernel.crashing.org>
9182
9183 PR rtl-optimization/60818
9184 * simplify-rtx.c (simplify_binary_operation_1): Do not replace
9185 a compare of comparisons with the thing compared if this results
9186 in a different machine mode.
9187
9188 2017-04-03 Jonathan Wakely <jwakely@redhat.com>
9189
9190 * alias.c (base_alias_check): Fix typo in comment.
9191 * cgraph.h (class ipa_polymorphic_call_context): Likewise.
9192 * cgraphunit.c (symbol_table::compile): Likewise.
9193 * collect2.c (maybe_run_lto_and_relink): Likewise.
9194 * config/arm/arm.c (arm_thumb1_mi_thunk): Likewise.
9195 * config/avr/avr-arch.h (avr_arch_info_t): Likewise.
9196 * config/avr/avr.c (avr_map_op_t): Likewise.
9197 * config/cr16/cr16.h (DATA_ALIGNMENT): Likewise.
9198 * config/epiphany/epiphany.c (TARGET_ARG_PARTIAL_BYTES): Likewise.
9199 * config/epiphany/epiphany.md (movcc): Likewise.
9200 * config/i386/i386.c (legitimize_pe_coff_extern_decl): Likewise.
9201 * config/m68k/m68k.c (struct _sched_ib, m68k_sched_variable_issue):
9202 Likewise.
9203 * config/mips/mips.c (mips_save_restore_reg): Likewise.
9204 * config/rx/rx.c (rx_is_restricted_memory_address): Likewise.
9205 * config/s390/s390.c (Z10_EARLYLOAD_DISTANCE): Likewise.
9206 * config/sh/sh.c (sh_rtx_costs): Likewise.
9207 * fold-const.c (fold_truth_andor): Likewise.
9208 * genautomata.c (collapse_flag): Likewise.
9209 * gengtype.h (struct type::u::s): Likewise.
9210 * gensupport.c (has_subst_attribute, add_mnemonic_string): Likewise.
9211 * input.c (FORMAT_AMOUNT): Likewise.
9212 * ipa-cp.c (class ipcp_lattice, agg_replacements_to_vector)
9213 (known_aggs_to_agg_replacement_list): Likewise.
9214 * ipa-inline-analysis.c: Likewise.
9215 * ipa-inline.h (estimate_edge_time, estimate_edge_hints): Likewise.
9216 * ipa-polymorphic-call.c
9217 (ipa_polymorphic_call_context::restrict_to_inner_class): Likewise.
9218 * loop-unroll.c (analyze_insn_to_expand_var): Likewise.
9219 * lra.c (lra_optional_reload_pseudos, lra_subreg_reload_pseudos):
9220 Likewise.
9221 * modulo-sched.c (apply_reg_moves): Likewise.
9222 * omp-expand.c (build_omp_regions_1): Likewise.
9223 * trans-mem.c (struct tm_wrapper_hasher): Likewise.
9224 * tree-ssa-loop-ivopts.c (may_eliminate_iv): Likewise.
9225 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Likewise.
9226 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
9227 * value-prof.c: Likewise.
9228 * var-tracking.c (val_reset): Likewise.
9229
9230 2017-04-03 Richard Biener <rguenther@suse.de>
9231
9232 PR tree-optimization/80275
9233 * fold-const.c (split_address_to_core_and_offset): Handle
9234 POINTER_PLUS_EXPR.
9235
9236 2017-04-03 Eric Botcazou <ebotcazou@adacore.com>
9237
9238 * tree-nested.c (get_descriptor_type): Make sure that the alignment of
9239 descriptors is at least equal to that of functions.
9240
9241 2017-04-02 Uros Bizjak <ubizjak@gmail.com>
9242
9243 * config/i386/sse.md (movdi_to_sse): Add missing DONE.
9244
9245 2017-04-02 Uros Bizjak <ubizjak@gmail.com>
9246
9247 PR target/80250
9248 * config/i386/sse.md (mov<IMOD4:mode>): Remove insn pattern.
9249 (mov<IMOD4:mode>): New expander.
9250 (*mov<IMOD4:mode>_internal): New insn and split pattern.
9251
9252 2017-03-31 Segher Boessenkool <segher@kernel.crashing.org>
9253
9254 PR rtl-optimization/79405
9255 * fwprop.c (propagations_left): New variable.
9256 (forward_propagate_into): Decrement it.
9257 (fwprop_init): Initialize it.
9258 (fw_prop): If the variable has reached zero, stop propagating.
9259 (fwprop_addr): Ditto.
9260
9261 2017-03-31 Jakub Jelinek <jakub@redhat.com>
9262
9263 PR debug/79255
9264 * dwarf2out.c (decls_for_scope): If BLOCK_NONLOCALIZED_VAR is
9265 a FUNCTION_DECL, pass it as decl instead of origin to
9266 process_scope_var.
9267
9268 2017-03-31 Alexander Monakov <amonakov@ispras.ru>
9269
9270 * config/nvptx/nvptx.c (nvptx_output_softstack_switch): Correct format
9271 string.
9272
9273 2017-03-31 Pat Haugen <pthaugen@us.ibm.com>
9274
9275 PR target/80107
9276 * config/rs6000/rs6000.md (extendhi<mode>2): Add test for
9277 TARGET_VSX_SMALL_INTEGER.
9278
9279 2017-03-31 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9280
9281 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Add
9282 reference to the OpenPOWER 64-Bit ELF V2 ABI Specification.
9283
9284 2017-03-31 Matthew Fortune <matthew.fortune@imgtec.com>
9285
9286 * config/mips/mips-msa.md (msa_vec_extract_<msafmt_f>): Update
9287 extraction from odd-numbered MSA register.
9288
9289 2017-03-31 Jakub Jelinek <jakub@redhat.com>
9290
9291 PR middle-end/80173
9292 * expmed.c (store_bit_field_1): Don't attempt to create
9293 a word subreg out of hard registers wider than word if they
9294 have HARD_REGNO_NREGS of 1 for their mode.
9295
9296 PR middle-end/80163
9297 * varasm.c (initializer_constant_valid_p_1): Disallow sign-extending
9298 conversions to integer types wider than word and pointer.
9299
9300 PR debug/80025
9301 * cselib.h (rtx_equal_for_cselib_1): Add depth argument.
9302 (rtx_equal_for_cselib_p): Pass 0 to it.
9303 * cselib.c (cselib_hasher::equal): Likewise.
9304 (rtx_equal_for_cselib_1): Add depth argument. If depth
9305 is 128, don't look up VALUE locs and punt. Increment
9306 depth in recursive calls when walking VALUE locs.
9307
9308 2017-03-31 Bernd Edlinger <bernd.edlinger@hotmail.de>
9309
9310 * gcov.c (md5sum_to_hex): Fix output of MD5 hex bytes.
9311 (make_gcov_file_name): Use the canonical path name for generating
9312 the MD5 value.
9313 (read_line): Fix handling of files with ascii null bytes.
9314
9315 2017-03-30 Matthew Fortune <matthew.fortune@imgtec.com>
9316
9317 * config/mips/mips.c (mips_expand_vector_init): Create a const_vector
9318 to initialise a vector register instead
9319 of using a const_int.
9320
9321 2017-03-30 Jakub Jelinek <jakub@redhat.com>
9322
9323 PR translation/80189
9324 * gimplify.c (omp_default_clause): Use %qs instead of %s in
9325 diagnostic messages.
9326
9327 2017-03-30 Peter Bergner <bergner@vnet.ibm.com>
9328
9329 PR target/80246
9330 * config/rs6000/dfp.md (dfp_dxex_<mode>): Update mode of operand 0.
9331 (dfp_diex_<mode>): Update mode of operand 1.
9332 * doc/extend.texi (dxex, dxexq): Document change to return type.
9333 (diex, diexq): Document change to argument type.
9334
9335 2017-03-30 Martin Jambor <mjambor@suse.cz>
9336
9337 PR ipa/77333
9338 * cgraph.h (cgraph_build_function_type_skip_args): Declare.
9339 * cgraph.c (redirect_call_stmt_to_callee): Set gimple fntype so that
9340 it reflects the signature changes performed at the callee side.
9341 * cgraphclones.c (build_function_type_skip_args): Make public, renamed
9342 to cgraph_build_function_type_skip_args.
9343 (build_function_decl_skip_args): Adjust call to the above function.
9344
9345 2017-03-30 Jakub Jelinek <jakub@redhat.com>
9346
9347 PR target/80206
9348 * config/i386/sse.md
9349 (<extract_type>_vextract<shuffletype><extract_suf>_mask): Use
9350 register as dest whenever it is a MEM not rtx_equal_p to the
9351 corresponding dup operand, and when forcing into reg move the
9352 reg into the memory afterwards.
9353 (<extract_type_2>_vextract<shuffletype><extract_suf_2>_mask):
9354 Likewise. Use <ssehalfvecmode> instead of <ssequartermode>
9355 for the force_reg mode.
9356 (avx512vl_vextractf128<mode>): Use register as dest either
9357 always when a MEM, or when it is a MEM not rtx_equal_p to the
9358 corresponding dup operand, or even not when it is a CONST_VECTOR
9359 depending on the mode and lo vs. hi.
9360 (avx512dq_vextract<shuffletype>64x2_1_maskm): Remove extraneous
9361 parens.
9362 (avx512f_vextract<shuffletype>32x4_1_maskm): Likewise.
9363 (<mask_codefor>avx512dq_vextract<shuffletype>64x2_1<mask_name>):
9364 Likewise. Require that operands[2] is even.
9365 (<mask_codefor>avx512f_vextract<shuffletype>32x4_1<mask_name>):
9366 Remove extraneous parens. Require that operands[2] is a multiple
9367 of 4.
9368 (vec_extract_lo_<mode><mask_name>): Don't bother testing if
9369 operands[0] is a MEM if <mask_applied>, the predicates/constraints
9370 disallow memory then.
9371
9372 2017-03-30 Richard Biener <rguenther@suse.de>
9373
9374 PR tree-optimization/77498
9375 * tree-ssa-pre.c (phi_translate_1): Do not allow simplifications
9376 to non-constants over backedges.
9377
9378 2017-03-29 Segher Boessenkool <segher@kernel.crashing.org>
9379
9380 PR rtl-optimization/80233
9381 * combine.c (combine_instructions): Only take NONDEBUG_INSN_P insns
9382 as last_combined_insn. Do not test for BARRIER_P separately.
9383
9384 2017-03-29 Andreas Schwab <schwab@suse.de>
9385
9386 PR ada/80146
9387 * calls.c (prepare_call_address): Convert funexp to Pmode before
9388 copying to temp reg.
9389
9390 2017-03-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9391
9392 PR tree-optimization/80158
9393 * gimple-ssa-strength-reduction.c (replace_mult_candidate):
9394 Handle possible future case of more than one alternate
9395 interpretation.
9396 (replace_rhs_if_not_dup): Likewise.
9397 (replace_one_candidate): Likewise.
9398
9399 2017-03-28 Vladimir Makarov <vmakarov@redhat.com>
9400
9401 PR rtl-optimization/80193
9402 * ira.c (ira): Do not check allocation for LRA.
9403
9404 2017-03-28 Alexander Monakov <amonakov@ispras.ru>
9405
9406 * config/nvptx/nvptx-protos.h (nvptx_output_simt_enter): Declare.
9407 (nvptx_output_simt_exit): Declare.
9408 * config/nvptx/nvptx.c (nvptx_init_unisimt_predicate): Use
9409 cfun->machine->unisimt_location. Handle NULL unisimt_predicate.
9410 (init_softstack_frame): Move initialization of crtl->is_leaf to...
9411 (nvptx_declare_function_name): ...here. Emit declaration of local
9412 memory space buffer for omp_simt_enter insn.
9413 (nvptx_output_unisimt_switch): New.
9414 (nvptx_output_softstack_switch): New.
9415 (nvptx_output_simt_enter): New.
9416 (nvptx_output_simt_exit): New.
9417 * config/nvptx/nvptx.h (struct machine_function): New fields
9418 has_simtreg, unisimt_location, simt_stack_size, simt_stack_align.
9419 * config/nvptx/nvptx.md (UNSPECV_SIMT_ENTER): New unspec.
9420 (UNSPECV_SIMT_EXIT): Ditto.
9421 (omp_simt_enter_insn): New insn.
9422 (omp_simt_enter): New expansion.
9423 (omp_simt_exit): New insn.
9424 * config/nvptx/nvptx.opt (msoft-stack-reserve-local): New option.
9425
9426 * internal-fn.c (expand_GOMP_SIMT_ENTER): New.
9427 (expand_GOMP_SIMT_ENTER_ALLOC): New.
9428 (expand_GOMP_SIMT_EXIT): New.
9429 * internal-fn.def (GOMP_SIMT_ENTER): New internal function.
9430 (GOMP_SIMT_ENTER_ALLOC): Ditto.
9431 (GOMP_SIMT_EXIT): Ditto.
9432 * target-insns.def (omp_simt_enter): New insn.
9433 (omp_simt_exit): Ditto.
9434 * omp-low.c (struct omplow_simd_context): New fields simt_eargs,
9435 simt_dlist.
9436 (lower_rec_simd_input_clauses): Implement SIMT privatization.
9437 (lower_rec_input_clauses): Likewise.
9438 (lower_lastprivate_clauses): Handle SIMT privatization.
9439
9440 * omp-offload.c: Include langhooks.h, tree-nested.h, stor-layout.h.
9441 (ompdevlow_adjust_simt_enter): New.
9442 (find_simtpriv_var_op): New.
9443 (execute_omp_device_lower): Handle IFN_GOMP_SIMT_ENTER,
9444 IFN_GOMP_SIMT_ENTER_ALLOC, IFN_GOMP_SIMT_EXIT.
9445
9446 * tree-inline.h (struct copy_body_data): New field dst_simt_vars.
9447 * tree-inline.c (expand_call_inline): Handle SIMT privatization.
9448 (copy_decl_for_dup_finish): Ditto.
9449
9450 * tree-ssa.c (execute_update_addresses_taken): Handle GOMP_SIMT_ENTER.
9451
9452 2017-03-28 Uros Bizjak <ubizjak@gmail.com>
9453
9454 PR target/53383
9455 * config/i386/i386.c (ix86_option_override_internal): Always
9456 allow -mpreferred-stack-boundary=3 for 64-bit targets.
9457
9458 2017-03-28 Bin Cheng <bin.cheng@arm.com>
9459
9460 * tree-vect-loop.c (optimize_mask_stores): Add bb to the right loop.
9461
9462 2017-03-28 Bin Cheng <bin.cheng@arm.com>
9463
9464 * tree-vect-loop-manip.c (slpeel_add_loop_guard): New param and
9465 mark new edge's irreducible flag accordign to it.
9466 (vect_do_peeling): Check loop preheader edge's irreducible flag
9467 and pass it to function slpeel_add_loop_guard.
9468
9469 2017-03-28 Richard Sandiford <richard.sandiford@arm.com>
9470
9471 PR tree-optimization/80218
9472 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
9473 Update block frequencies and counts.
9474
9475 2017-03-28 Richard Biener <rguenther@suse.de>
9476
9477 PR tree-optimization/78644
9478 * tree-ssa-ccp.c (evaluate_stmt): When we may not use the value
9479 of a simplification result we may not use it at all.
9480
9481 2017-03-28 Richard Biener <rguenther@suse.de>
9482
9483 PR ipa/80205
9484 * tree-inline.c (copy_phis_for_bb): Do not create PHI node
9485 without arguments, generate default definition of a SSA name.
9486
9487 2017-03-28 Richard Biener <rguenther@suse.de>
9488
9489 PR middle-end/80222
9490 * gimple-fold.c (gimple_fold_indirect_ref): Do not touch
9491 TYPE_REF_CAN_ALIAS_ALL references.
9492 * fold-const.c (fold_indirect_ref_1): Likewise.
9493
9494 2017-03-28 Martin Liska <mliska@suse.cz>
9495
9496 PR ipa/80104
9497 * cgraphunit.c (cgraph_node::expand_thunk): Mark argument of a
9498 thunk call as DECL_GIMPLE_REG_P when vector or complex type.
9499
9500 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
9501 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
9502
9503 * config/arc/arc.h (CPP_SPEC): Add subtarget_cpp_spec.
9504 (EXTRA_SPECS): Define.
9505 (SUBTARGET_EXTRA_SPECS): Likewise.
9506 (SUBTARGET_CPP_SPEC): Likewise.
9507 * config/arc/elf.h (EXTRA_SPECS): Renamed to
9508 SUBTARGET_EXTRA_SPECS.
9509 * config/arc/linux.h (SUBTARGET_CPP_SPEC): Define.
9510
9511 2017-03-28 Claudiu Zissulescu <claziss@synopsys.com>
9512
9513 * config/arc/simdext.md (vst64_insn): Update pattern.
9514 (vld32wh_insn): Likewise.
9515 (vld32wl_insn): Likewise.
9516 (vld64_insn): Likewise.
9517 (vld32_insn): Likewise.
9518
9519 2017-03-28 Marek Polacek <polacek@redhat.com>
9520
9521 PR sanitizer/80067
9522 * fold-const.c (fold_comparison): Use protected_set_expr_location
9523 instead of SET_EXPR_LOCATION.
9524
9525 2017-03-28 Markus Trippelsdorf <markus@trippelsdorf.de>
9526
9527 * tree.c (add_expr): Avoid name lookup warning.
9528
9529 2017-03-27 Jeff Law <law@redhat.com>
9530
9531 PR tree-optimization/80216
9532 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): Fix typo in
9533 function name. Limit recursion depth.
9534 (record_temporary_equivalences): Corresponding changes.
9535
9536 2017-03-27 Jonathan Wakely <jwakely@redhat.com>
9537
9538 * doc/invoke.texi (-Wno-narrowing): Reorder so default behavior is
9539 covered first.
9540
9541 2017-03-27 Jakub Jelinek <jakub@redhat.com>
9542
9543 PR target/80102
9544 * reg-notes.def (REG_CFA_NOTE): Define. Use it for CFA related
9545 notes.
9546 * cfgcleanup.c (reg_note_cfa_p): New array.
9547 (insns_have_identical_cfa_notes): New function.
9548 (old_insns_match_p): Don't cross-jump in between /f
9549 and non-/f instructions. If both i1 and i2 are frame related,
9550 verify all CFA notes, their order and content.
9551
9552 2017-03-27 Michael Meissner <meissner@linux.vnet.ibm.com>
9553
9554 PR target/78543
9555 * config/rs6000/rs6000.md (bswaphi2_extenddi): Combine bswap
9556 HImode and SImode with zero extend to DImode to one insn.
9557 (bswap<mode>2_extenddi): Likewise.
9558 (bswapsi2_extenddi): Likewise.
9559 (bswaphi2_extendsi): Likewise.
9560 (bswaphi2): Combine bswap HImode and SImode into one insn.
9561 Separate memory insns from swapping register.
9562 (bswapsi2): Likewise.
9563 (bswap<mode>2): Likewise.
9564 (bswaphi2_internal): Delete, no longer used.
9565 (bswapsi2_internal): Likewise.
9566 (bswap<mode>2_load): Split bswap HImode/SImode into separate load,
9567 store, and gpr<-gpr swap insns.
9568 (bswap<mode>2_store): Likewise.
9569 (bswaphi2_reg): Register only splitter, combine with the splitter.
9570 (bswaphi2 splitter): Likewise.
9571 (bswapsi2_reg): Likewise.
9572 (bswapsi2 splitter): Likewise.
9573 (bswapdi2): If we have the LDBRX and STDBRX instructions, split
9574 the insns into load, store, and register/register insns.
9575 (bswapdi2_ldbrx): Likewise.
9576 (bswapdi2_load): Likewise.
9577 (bswapdi2_store): Likewise.
9578 (bswapdi2_reg): Likewise.
9579
9580 2017-03-27 Gunther Nikl <gnikl@users.sourceforge.net>
9581
9582 * system.h (HAVE_DESIGNATED_INITIALIZERS): Fix non C++ case.
9583 (HAVE_DESIGNATED_UNION_INITIALIZERS): Likewise.
9584
9585 2017-03-27 Kelvin Nilsen <kelvin@gcc.gnu.org>
9586
9587 PR target/80103
9588 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Edit and
9589 add comments.
9590 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
9591 special handling for target option conflicts between dform
9592 options (-mpower9-dform, -mpower9-dform-vector,
9593 -mpower9-dform-scalar) and -mno-direct-move.
9594
9595 2017-03-27 Richard Biener <rguenther@suse.de>
9596
9597 PR tree-optimization/80181
9598 * tree-ssa-ccp.c (likely_value): UNDEFINED ^ X is UNDEFINED.
9599
9600 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
9601
9602 * config/arc/predicates.md (move_double_src_operand): Replace the
9603 call to move_double_src_operand with a call to address_operand.
9604
9605 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
9606
9607 * config/arc/elf.h (ARGET_ARC_TP_REGNO_DEFAULT): Define.
9608 * config/arc/linux.h (ARGET_ARC_TP_REGNO_DEFAULT): Likewise.
9609 * config/arc/arc.opt (mtp-regno): Use ARGET_ARC_TP_REGNO_DEFAULT.
9610
9611 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
9612
9613 * config/arc/predicates.md (long_immediate_loadstore_operand):
9614 Consider scaled addresses cases.
9615
9616 2017-03-27 Claudiu Zissulescu <claziss@synopsys.com>
9617
9618 * config/arc/arc.c (arc_epilogue_uses): BLINK should be also
9619 restored when in interrupt.
9620 * config/arc/arc.md (simple_return): ARCv2 rtie instruction
9621 doesn't have delay slot.
9622
9623 2017-03-27 Richard Biener <rguenther@suse.de>
9624
9625 PR ipa/79776
9626 * tree-ssa-structalias.c (associate_varinfo_to_alias): Skip
9627 inlined thunk clones.
9628
9629 2017-03-27 Jakub Jelinek <jakub@redhat.com>
9630
9631 PR sanitizer/80168
9632 * asan.c (instrument_derefs): Copy over last operand from
9633 original COMPONENT_REF to the new COMPONENT_REF with
9634 DECL_BIT_FIELD_REPRESENTATIVE.
9635 * ubsan.c (instrument_object_size): Likewise.
9636
9637 2017-03-27 Richard Biener <rguenther@suse.de>
9638
9639 PR tree-optimization/80170
9640 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Make
9641 sure DR/SCEV didnt fold in constants we do not see when looking
9642 at the reference base alignment.
9643
9644 2017-03-27 Richard Biener <rguenther@suse.de>
9645
9646 PR middle-end/80171
9647 * gimple-fold.c (fold_ctor_reference): Properly guard against
9648 NULL return value from canonicalize_constructor_val.
9649
9650 2017-03-25 Uros Bizjak <ubizjak@gmail.com>
9651
9652 PR target/80180
9653 * config/i386/i386.c (ix86_expand_builtin)
9654 <IX86_BUILTIN_RDSEED{16,32,64}_STEP>: Do not expand arg0 between
9655 flags reg setting and flags reg using instructions.
9656 <IX86_BUILTIN_RDRAND{16,32,64}_STEP>: Ditto. Use non-flags reg
9657 clobbering instructions to zero extend op2.
9658
9659 2017-03-25 Gerald Pfeifer <gerald@pfeifer.com>
9660
9661 * doc/install.texi (Configuration) <--with-aix-soname>:
9662 Update link to AIX ld.
9663
9664 2017-03-25 Bernd Schmidt <bschmidt@redhat.com>
9665
9666 PR rtl-optimization/80160
9667 PR rtl-optimization/80159
9668 * lra-assigns.c (must_not_spill_p): Tighten new test to also take
9669 reg_alternate_class into account.
9670
9671 2017-03-24 Vladimir Makarov <vmakarov@redhat.com>
9672
9673 PR target/80148
9674 * lra-assigns.c (assign_by_spills): Add spilled non-reload pseudos
9675 to consider in curr_insn_transform.
9676
9677 2017-03-24 Jakub Jelinek <jakub@redhat.com>
9678
9679 * genrecog.c (validate_pattern): Add VEC_SELECT validation.
9680 * genmodes.c (emit_min_insn_modes_c): Call emit_mode_nunits
9681 and emit_mode_inner.
9682
9683 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9684
9685 * config/s390/s390-builtins.def: Add VXE builtins. Add a flags
9686 argument to the overloaded builtin variants. Use the new flag to
9687 deprecate certain builtin variants.
9688 * config/s390/s390-builtin-types.def: Add new builtin types.
9689 * config/s390/s390-builtins.h: Support new flags field for
9690 overloaded builtins.
9691 * config/s390/s390-c.c (OB_DEF_VAR): New flags field.
9692 (s390_macro_to_expand): Enable vector float data type.
9693 (s390_cpu_cpp_builtins_internal): Indicate support of the new
9694 builtins by incrementing the __VEC__ version number.
9695 (s390_expand_overloaded_builtin): Support expansion of vec_xl and
9696 vec_xst.
9697 (s390_resolve_overloaded_builtin): Emit error messages depending
9698 on the builtin flags.
9699 * config/s390/s390.c (s390_expand_builtin): Support additional
9700 flags argument. Change error message to match the messages
9701 emitted in s390-c.c.
9702 * config/s390/s390.md: New UNSPEC_* constants.
9703 (op_type): Add new instruction types.
9704 * config/s390/vecintrin.h: Add new builtins and test data class
9705 constants.
9706 * config/s390/vx-builtins.md (V_HW_32_64): Add V4SF.
9707 (V_HW_4, VEC_HW, VECF_HW): New mode iterators.
9708 (VEC_INEXACT, VEC_NOINEXACT): New constants.
9709 ("vec_splats<mode>", "vec_insert<mode>", "vec_promote<mode>")
9710 ("vec_insert_and_zero<mode>", "vec_mergeh<mode>")
9711 ("vec_mergel<mode>"): V_HW -> VEC_HW.
9712
9713 ("vlrlrv16qi", "vstrlrv16qi", "vbpermv16qi", "vec_msumv2di")
9714 ("vmslg", "*vftci<mode>_cconly", "vftci<mode>_intcconly")
9715 ("*vftci<mode>", "vftci<mode>_intcc", "vec_double_s64")
9716 ("vec_double_u64", "vfmin<mode>", "vfmax<mode>"): New definition.
9717
9718 ("and_av2df3", "and_cv2df3", "vec_andc_av2df3")
9719 ("vec_andc_cv2df3", "xor_av2df3", "xor_cv2df3", "vec_nor_av2df3")
9720 ("vec_nor_cv2df3", "ior_av2df3", "ior_cv2df3", "vec_nabs")
9721 ("*vftcidb", "*vftcidb_cconly", "vftcidb"): Remove definition.
9722
9723 ("vec_all_<fpcmpcc:code>v2df", "vec_any_<fpcmpcc:code>v2df")
9724 ("vec_scatter_elementv4si_DI", "vec_cmp<fpcmp:code>v2df")
9725 ("vec_di_to_df_s64", "vec_di_to_df_u64", "vec_df_to_di_u64")
9726 ("vfidb", "*vldeb", "*vledb", "*vec_cmp<insn_cmp>v2df_cconly")
9727 ("vec_cmpeqv2df_cc", "vec_cmpeqv2df_cc", "vec_cmphv2df_cc")
9728 ("vec_cmphev2df_cc", "*vec_cmpeqv2df_cc")
9729 ("*vec_cmphv2df_cc", "*vec_cmphev2df_cc"): Enable new modes as ...
9730
9731 ("vec_all_<fpcmpcc:code><mode>", "vec_any_<fpcmpcc:code><mode>")
9732 ("vec_scatter_element<V_HW_4:mode>_DI")
9733 ("vec_cmp<fpcmp:code><mode>", "vcdgb", "vcdlgb", "vclgdb")
9734 ("vec_fpint<mode>", "vflls")
9735 ("vflrd", "*vec_cmp<insn_cmp><mode>_cconly", "vec_cmpeq<mode>_cc")
9736 ("vec_cmpeq<mode>_cc", "vec_cmph<mode>_cc", "vec_cmphe<mode>_cc")
9737 ("*vec_cmpeq<mode>_cc", "*vec_cmph<mode>_cc")
9738 ("*vec_cmphe<mode>_cc"): ... these.
9739
9740 ("vec_ctd_s64", "vec_ctsl", "vec_ctul", "vec_st2f"): Use rounding
9741 mode constant instead of magic value.
9742
9743 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9744
9745 * config/s390/s390.c (s390_expand_vec_compare): Support other
9746 vector floating point modes than just V2DF.
9747 (s390_expand_vcond): Likewise.
9748 (s390_hard_regno_mode_ok): Allow SFmode values in VRs.
9749 (s390_cannot_change_mode_class): Prevent mode changes between TF
9750 and V1TF in vector registers.
9751 * config/s390/s390.md (DF, SF): New mode attributes.
9752 ("*cmp<mode>_ccs", "add<mode>3", "sub<mode>3", "mul<mode>3")
9753 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2"): Add
9754 SFmode support for VRs.
9755 * config/s390/vector.md (V_HW, V_HW2, VT_HW, ti*, nonvec): Add new
9756 vector fp modes.
9757 (VFT, VF_HW): New mode iterators.
9758 (vw, sdx): New mode attributes.
9759 ("addv2df3", "subv2df3", "mulv2df3", "divv2df3", "sqrtv2df2")
9760 ("fmav2df4","fmsv2df4", "negv2df2", "absv2df2", "*negabsv2df2")
9761 ("smaxv2df3", "sminv2df3", "*vec_cmp<VFCMP_HW_OP:code>v2df_nocc")
9762 ("vec_cmpuneqv2df", "vec_cmpltgtv2df", "vec_orderedv2df")
9763 ("vec_unorderedv2df"): Adjust the v2df only patterns to support
9764 also the new vector floating point modes. Renaming to ...
9765
9766 ("add<mode>3", "sub<mode>3", "mul<mode>3", "div<mode>3")
9767 ("sqrt<mode>2", "fma<mode>4", "fms<mode>4", "neg<mode>2")
9768 ("abs<mode>2", "negabs<mode>2", "smax<mode>3")
9769 ("smin<mode>3", "*vec_cmp<VFCMP_HW_OP:code><mode>_nocc")
9770 ("vec_cmpuneq<mode>", "vec_cmpltgt<mode>", "vec_ordered<mode>")
9771 ("vec_unordered<mode>"): ... these.
9772
9773 ("neg_fma<mode>4", "neg_fms<mode>4", "*smax<mode>3_vxe")
9774 ("*smin<mode>3_vxe", "*sminv2df3_vx", "*vec_extendv4sf")
9775 ("*vec_extendv2df"): New insn definitions.
9776
9777 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9778
9779 * config/s390/s390.md ("*adddi3_sign", "*subdi3_sign", "mulditi3")
9780 ("mulditi3_2", "*muldi3_sign"): New patterns.
9781 ("muldi3", "*muldi3", "mulsi3", "*mulsi3"): Add an expander and
9782 rename the pattern definition.
9783
9784 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9785
9786 * config/s390/s390.md ("indirect_jump"): Turn insn definition into
9787 expander.
9788 ("*indirect_jump", "*indirect2_jump"): New pattern definitions.
9789
9790 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9791
9792 * config/s390/s390.c (s390_expand_vec_init): Use vllezl
9793 instruction if possible.
9794 * config/s390/vector.md (vec_halfnumelts): New mode
9795 attribute.
9796 ("*vec_vllezlf<mode>"): New pattern.
9797
9798 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9799
9800 * config/s390/vector.md ("popcountv16qi2", "popcountv8hi2")
9801 ("popcountv4si2", "popcountv2di2"): Rename to ...
9802 ("popcount<mode>2", "popcountv8hi2_vx", "popcountv4si2_vx")
9803 ("popcountv2di2_vx"): ... these and add !TARGET_VXE to the
9804 condition.
9805 ("popcount<mode>2_vxe"): New pattern.
9806
9807 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9808
9809 * common/config/s390/s390-common.c (processor_flags_table): Add
9810 arch12.
9811 * config.gcc: Add arch12.
9812 * config/s390/driver-native.c (s390_host_detect_local_cpu):
9813 Default to arch12 for unknown CPU model numbers.
9814 * config/s390/s390-builtins.def: Add B_VXE builtin flag.
9815 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Adjust
9816 PROCESSOR_max sanity check.
9817 * config/s390/s390-opts.h (enum processor_type): Add
9818 PROCESSOR_ARCH12.
9819 * config/s390/s390.c (processor_table): Add arch12.
9820 (s390_expand_builtin): Add check for B_VXE flag.
9821 (s390_issue_rate): Add PROCESSOR_ARCH12.
9822 (s390_get_sched_attrmask): Likewise.
9823 (s390_get_unit_mask): Likewise.
9824 (s390_sched_score): Enable z13 scheduling for arch12.
9825 (s390_sched_reorder): Likewise.
9826 (s390_sched_variable_issue): Likewise.
9827 * config/s390/s390.h (enum processor_flags): Add PF_ARCH12 and
9828 PF_VXE.
9829 (s390_tune_attr): Use z13 scheduling also for arch12.
9830 (TARGET_CPU_ARCH12, TARGET_CPU_ARCH12_P, TARGET_CPU_VXE)
9831 (TARGET_CPU_VXE_P, TARGET_ARCH12, TARGET_ARCH12_P, TARGET_VXE)
9832 (TARGET_VXE_P): New macros.
9833 * config/s390/s390.md: Add arch12 to cpu attribute. Add arch12
9834 and vxe to cpu_facility. Add arch12 and vxe to enabled attribute.
9835 * config/s390/s390.opt: Add arch12 as processor_type.
9836
9837 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9838
9839 * config/s390/s390.md
9840 ("fixuns_truncdddi2", "fixuns_trunctddi2")
9841 ("fixuns_trunc<BFP:mode><GPR:mode>2"): Merge into ...
9842 ("fixuns_trunc<FP:mode><GPR:mode>2"): New expander.
9843
9844 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2"):
9845 Rename expanders to ...
9846
9847 ("fixuns_trunc<BFP:mode><GPR:mode>2_emu")
9848 ("fixuns_truncdddi2_emu"): ... these.
9849
9850 ("fixuns_trunc<mode>si2_emu"): New expander.
9851
9852 ("*fixuns_truncdfdi2_z13"): Rename to ...
9853 ("*fixuns_truncdfdi2_vx"): ... this.
9854
9855 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9856
9857 * config/s390/2964.md: Remove the single element vector compare
9858 instructions which are no longer used.
9859 * config/s390/s390.c (s390_select_ccmode): Remove handling of
9860 vector CCmodes.
9861 (s390_canonicalize_comparison): Remove handling of DFmode
9862 compares.
9863 (s390_expand_vec_compare_scalar): Remove function.
9864 (s390_emit_compare): Don't call s390_expand_vec_compare_scalar.
9865 * config/s390/s390.md ("*vec_cmp<insn_cmp>df_cconly"): Remove
9866 pattern.
9867 ("*cmp<mode>_ccs"): Add wfcdb instruction.
9868
9869 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9870
9871 * config/s390/s390.md ("mov<mode>_64dfp" DD_DF): Use vleig for loading a
9872 FP zero.
9873 ("*mov<mode>_64" DD_DF): Remove the vector instructions. These
9874 will anyway by matched by mov<mode>_64dfp.
9875
9876 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9877
9878 * config/s390/s390.md ("mov<mode>" SD_SF): Change vleg/vsteg to
9879 vlef/vstef. Add missing operand to vleif.
9880
9881 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9882
9883 * config/s390/s390.c (s390_expand_vec_init): Enable vector load
9884 pair for all vector types with 64 bit elements.
9885 * config/s390/vx-builtins.md (V_HW_64): Move mode iterator to ...
9886 * config/s390/vector.md (V_HW_64): ... here.
9887 (V_128_NOSINGLE): New mode iterator.
9888 ("vec_init<V_HW:mode>"): Use V_128 as mode iterator.
9889 ("*vec_splat<mode>"): Use V_128_NOSINGLE mode iterator.
9890 ("*vec_tf_to_v1tf", "*vec_ti_to_v1ti"): New pattern definitions.
9891 ("*vec_load_pairv2di"): Change to ...
9892 ("*vec_load_pair<mode>"): ... this one.
9893
9894 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9895
9896 * config/s390/constraints.md: Add comments.
9897 (jKK): Reject element sizes > 8 bytes.
9898 * config/s390/s390.c (s390_split_ok_p): Enable splitting also for
9899 s_operands.
9900 * config/s390/s390.md: Add the s_operand checks formerly in
9901 s390_split_ok_p to various splitters where they are still
9902 required.
9903 * config/s390/vector.md ("mov<mode>" V_128): Add GPR alternatives
9904 for 128 bit vectors. Plus two splitters.
9905
9906 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9907
9908 * config/s390/s390.md: Rename the cpu facilty vec to vx throughout
9909 the file.
9910
9911 2017-03-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
9912
9913 PR target/79893
9914 * config/s390/s390-c.c (s390_adjust_builtin_arglist): Issue an
9915 error if the boundary argument is not constant.
9916
9917 2017-03-24 Jakub Jelinek <jakub@redhat.com>
9918
9919 PR rtl-optimization/80112
9920 * loop-doloop.c (doloop_condition_get): Don't check condition
9921 if cmp isn't SET with IF_THEN_ELSE src.
9922
9923 2017-03-24 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9924
9925 PR tree-optimization/80158
9926 * gimple-ssa-strength-reduction.c (replace_mult_candidate): When
9927 replacing a candidate statement, also replace it for the
9928 candidate's alternate interpretation.
9929 (replace_rhs_if_not_dup): Likewise.
9930 (replace_one_candidate): Likewise.
9931
9932 2017-03-24 Richard Biener <rguenther@suse.de>
9933
9934 PR tree-optimization/80167
9935 * graphite-isl-ast-to-gimple.c
9936 (translate_isl_ast_to_gimple::is_valid_rename): Handle default-defs
9937 properly.
9938 (translate_isl_ast_to_gimple::get_rename): Likewise.
9939
9940 2017-03-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
9941
9942 * config/rs6000/rs6000.c (rs6000_option_override_internal): Change
9943 handling of certain combinations of target options, including the
9944 combinations -mpower8-vector vs. -mno-vsx, -mpower9-vector vs.
9945 -mno-power8-vector, and -mpower9_dform vs. -mno-power9-vector.
9946
9947 2017-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9948
9949 PR target/71436
9950 * config/arm/arm.md (*load_multiple): Add reload_completed to
9951 matching condition.
9952
9953 2017-03-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9954 Richard Biener <rguenth@suse.de>
9955
9956 PR tree-optimization/79908
9957 PR tree-optimization/80136
9958 * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
9959 been cast away, gimplify_and_add suffices.
9960
9961 2017-03-23 Markus Trippelsdorf <markus@trippelsdorf.de>
9962
9963 * tree-vrp.c (identify_jump_threads): Delete avail_exprs.
9964
9965 2017-03-23 Richard Biener <rguenther@suse.de>
9966
9967 PR tree-optimization/80032
9968 * gimplify.c (gimple_push_cleanup): Forced unconditional
9969 cleanups still have to go to the conditional_cleanups
9970 sequence.
9971
9972 2017-03-22 Jakub Jelinek <jakub@redhat.com>
9973
9974 PR tree-optimization/80072
9975 * tree-ssa-reassoc.c (struct operand_entry): Change id field type
9976 to unsigned int.
9977 (next_operand_entry_id): Change type to unsigned int.
9978 (sort_by_operand_rank): Make sure to return the right return value
9979 even if unsigned fields are bigger than INT_MAX.
9980 (struct oecount): Change cnt and id type to unsigned int.
9981 (oecount_hasher::equal): Formatting fix.
9982 (oecount_cmp): Make sure to return the right return value
9983 even if unsigned fields are bigger than INT_MAX.
9984 (undistribute_ops_list): Change next_oecount_id type to unsigned int.
9985
9986 PR c++/80129
9987 * gimplify.c (gimplify_modify_expr_rhs) <case COND_EXPR>: Clear
9988 TREE_READONLY on result if writing it more than once.
9989
9990 PR sanitizer/80110
9991 * doc/invoke.texi (-fsanitize=thread): Document that with
9992 -fnon-call-exceptions atomics are not able to throw
9993 exceptions.
9994
9995 PR sanitizer/80110
9996 * tsan.c: Include tree-eh.h.
9997 (instrument_builtin_call): Call maybe_clean_eh_stmt or
9998 maybe_clean_or_replace_eh_stmt where needed.
9999 (instrument_memory_accesses): Add cfg_changed argument.
10000 Call gimple_purge_dead_eh_edges on each block and set *cfg_changed
10001 if it returned true.
10002 (tsan_pass): Adjust caller. Return TODO_cleanup_cfg if cfg_changed.
10003
10004 PR rtl-optimization/63191
10005 * config/i386/i386.c (ix86_delegitimize_address): Turn into small
10006 wrapper function, moved the whole old content into ...
10007 (ix86_delegitimize_address_1): ... this. New inline function.
10008 (ix86_find_base_term): Use ix86_delegitimize_address_1 with
10009 true as last argument instead of ix86_delegitimize_address.
10010
10011 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
10012
10013 * config/aarch64/aarch64.c (generic_branch_cost): Copy
10014 cortexa57_branch_cost.
10015
10016 2017-03-22 Wilco Dijkstra <wdijkstr@arm.com>
10017
10018 * config/aarch64/aarch64.c (generic_tunings): Add AES fusion.
10019
10020 2017-03-21 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
10021
10022 PR target/80123
10023 * doc/md.texi (Constraints): Document wA constraint.
10024 * config/rs6000/constraints.md (wA): New.
10025 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add wA reg_class.
10026 (rs6000_init_hard_regno_mode_ok): Init wA constraint.
10027 * config/rs6000/rs6000.h (RS6000_CONSTRAINT_wA): New.
10028 * config/rs6000/vsx.md (vsx_splat_<mode>): Use wA constraint.
10029
10030 2017-03-22 Cesar Philippidis <cesar@codesourcery.com>
10031
10032 PR c++/80029
10033 * gimplify.c (is_oacc_declared): New function.
10034 (oacc_default_clause): Use it to set default flags for acc declared
10035 variables inside parallel regions.
10036 (gimplify_scan_omp_clauses): Strip firstprivate pointers for acc
10037 declared variables.
10038 (gimplify_oacc_declare): Gimplify the declare clauses. Add the
10039 declare attribute to any decl as necessary.
10040
10041 2017-03-22 Thomas Preud'homme <thomas.preudhomme@arm.com>
10042
10043 PR target/80082
10044 * config/arm/arm-isa.h (isa_bit_lpae): New feature bit.
10045 (ISA_ARMv7ve): Add isa_bit_lpae to the definition.
10046 * config/arm/arm-protos.h (arm_arch7ve): Rename into ...
10047 (arm_arch_lpae): This.
10048 * config/arm/arm.c (arm_arch7ve): Rename into ...
10049 (arm_arch_lpae): This. Define it in term of isa_bit_lpae.
10050 * config/arm/arm.h (TARGET_HAVE_LPAE): Redefine in term of
10051 arm_arch_lpae.
10052
10053 2017-03-22 Martin Liska <mliska@suse.cz>
10054
10055 PR target/79906
10056 * config/rs6000/rs6000.c (rs6000_inner_target_options): Show
10057 error message instead of an ICE.
10058
10059 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10060
10061 * doc/extend.texi (6.11 Additional Floating Types): Revise.
10062
10063 2017-03-21 Kelvin Nilsen <kelvin@gcc.gnu.org>
10064
10065 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
10066 comments.
10067 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
10068 comments.
10069
10070 2017-03-21 Martin Sebor <msebor@redhat.com>
10071
10072 * doc/extend.texi: Use "cannot" instead of "can't."
10073 * doc/hostconfig.texi: Same.
10074 * doc/install.texi: Same.
10075 * doc/invoke.texi: Same.
10076 * doc/loop.texi: Same.
10077 * doc/md.texi: Same.
10078 * doc/objc.texi: Same.
10079 * doc/rtl.texi: Same.
10080 * doc/tm.texi: Same.
10081 * doc/tm.texi.in: Same.
10082 * doc/trouble.texi: Same.
10083
10084 2017-03-21 Alexandre Oliva <aoliva@redhat.com>
10085
10086 PR debug/63238
10087 * dwarf2out.c (struct checksum_attributes): Add at_alignment.
10088 (collect_checksum_attributes): Set it.
10089 (die_checksum_ordered): Use it.
10090
10091 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10092
10093 PR tree-optimization/79908
10094 * tree-stdarg.c (expand_ifn_va_arg_1): Revert the following
10095 change: For a VA_ARG whose LHS has been cast away, use
10096 force_gimple_operand to construct the side effects.
10097
10098 2017-03-21 David Malcolm <dmalcolm@redhat.com>
10099
10100 PR translation/80001
10101 * omp-offload.c (oacc_loop_fixed_partitions): Make diagnostics
10102 more amenable to translation.
10103 (oacc_loop_auto_partitions): Likewise.
10104
10105 2017-03-21 Marek Polacek <polacek@redhat.com>
10106 Martin Sebor <msebor@redhat.com>
10107
10108 PR tree-optimization/80109
10109 * gimple-ssa-warn-alloca.c (alloca_call_type): Only call get_range_info
10110 on INTEGRAL_TYPE_P.
10111
10112 2017-03-21 Jakub Jelinek <jakub@redhat.com>
10113 Segher Boessenkool <segher@kernel.crashing.org>
10114
10115 PR target/80125
10116 * combine.c (can_combine_p): Revert the 2017-03-20 change, only
10117 check reg_used_between_p between insn and one of succ or succ2
10118 depending on if succ is artificial insn not inserted into insn
10119 stream.
10120
10121 2017-03-21 Martin Liska <mliska@suse.cz>
10122
10123 PR gcov-profile/80081
10124 * Makefile.in: Add gcov-dump and fix installation of gcov-tool.
10125 * doc/gcc.texi: Include gcov-dump stuff.
10126 * doc/gcov-dump.texi: New file.
10127
10128 2017-03-21 Toma Tabacu <toma.tabacu@imgtec.com>
10129
10130 PR rtl-optimization/79150
10131 * config/mips/mips.c (mips_block_move_loop): Emit a NOP after the
10132 conditional jump, if the jump is the last insn of the loop.
10133
10134 2017-03-21 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10135 Richard Biener <rguenth@suse.de>
10136
10137 PR tree-optimization/79908
10138 * tree-stdarg.c (expand_ifn_va_arg_1): For a VA_ARG whose LHS has
10139 been cast away, use force_gimple_operand to construct the side
10140 effects.
10141
10142 2017-03-21 Martin Liska <mliska@suse.cz>
10143
10144 PR libfortran/79956
10145 * simplify-rtx.c (simplify_immed_subreg): Initialize a variable
10146 to NULL.
10147
10148 2017-03-21 Brad Spengler <spender@grsecurity.net>
10149
10150 PR plugins/80094
10151 * plugin.c (htab_hash_plugin): New function.
10152 (add_new_plugin): Use it and adjust.
10153 (parse_plugin_arg_opt): Adjust.
10154 (init_one_plugin): Likewise.
10155
10156 2017-03-21 Richard Biener <rguenther@suse.de>
10157
10158 PR tree-optimization/80032
10159 * gimplify.c (gimple_push_cleanup): Add force_uncond parameter,
10160 if set force the cleanup to happen unconditionally.
10161 (gimplify_target_expr): Push inserted clobbers with force_uncond
10162 to avoid them being removed by control-dependent DCE.
10163
10164 2017-03-21 Richard Biener <rguenther@suse.de>
10165
10166 PR tree-optimization/80122
10167 * tree-inline.c (copy_bb): Do not expans va-arg packs or
10168 va_arg_pack_len when the inlined call stmt requires pack
10169 expansion itself.
10170 * tree-inline.h (struct copy_body_data): Make call_stmt a gcall *.
10171
10172 2017-03-21 Jakub Jelinek <jakub@redhat.com>
10173
10174 PR sanitizer/78158
10175 * tsan.c (instrument_builtin_call): If the memory model argument
10176 is not a constant, assume it is valid.
10177
10178 PR c/67338
10179 * fold-const.c (round_up_loc): Negate divisor in unsigned type to
10180 avoid UB.
10181
10182 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
10183
10184 PR rtl-optimization/79910
10185 * combine.c (can_combine_p): Do not allow combining an I0 or I1
10186 if its dest is used by an insn before I2 (other than the combined
10187 insns themselves, which are properly handled already).
10188
10189 2017-03-20 Segher Boessenkool <segher@kernel.crashing.org>
10190
10191 Revert:
10192 2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
10193
10194 * combine.c (record_used_regs): New static function.
10195 (try_combine): Handle situations where there is an additional
10196 instruction between I2 and I3 which needs to have a LOG_LINK
10197 updated.
10198
10199 Revert:
10200 2017-03-17 Jim Wilson <jim.wilson@linaro.org>
10201
10202 * combine.c (try_combine): Delete redundant i1 test. Call
10203 prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
10204
10205 2017-03-20 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
10206
10207 PR target/80083
10208 * config/rs6000/rs6000.md (*movsi_internal1): Fix constraints for
10209 alternatives 13/14.
10210
10211 2017-03-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10212
10213 PR tree-optimization/80054
10214 * gimple-ssa-strength-reduction.c (all_phi_incrs_profitable): Fail
10215 the optimization if a PHI or any of its arguments is not dominated
10216 by the candidate's basis. Use gphi* rather than gimple* as
10217 appropriate.
10218 (replace_profitable_candidates): Clean up a gimple* variable that
10219 should be a gphi* variable.
10220
10221 2017-03-20 Martin Sebor <msebor@redhat.com>
10222
10223 PR c++/52477
10224 * doc/extend.texi (attribute constructor): Document present limitation.
10225
10226 2017-03-20 Kelvin Nilsen <kelvin@gcc.gnu.org>
10227
10228 PR target/79963
10229 * config/rs6000/altivec.h (vec_all_ne): Under __cplusplus__ and
10230 __POWER9_VECTOR__ #ifdef control, change template definition to
10231 use Power9-specific built-in function.
10232 (vec_any_eq): Likewise.
10233 * config/rs6000/vector.md (vector_ae_v2di_p): Change the flag used
10234 to control outcomes from this test.
10235 (vector_ae_<mode>p): For VEC_F modes, likewise.
10236
10237 2017-03-20 Ian Lance Taylor <iant@google.com>
10238
10239 * config/i386/i386.c (ix86_function_regparm): Save an extra
10240 register for -fsplit-stack with DECL_STATIC_CHAIN.
10241
10242 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
10243
10244 PR target/79912
10245 * config/riscv/riscv.c (riscv_preferred_reload_class): Remove.
10246 (TARGET_PREFERRED_RELOAD_CLASS): Likewise.
10247
10248 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com>
10249
10250 * config/riscv/riscv.c (riscv_print_operand): Use "fence
10251 iorw,ow".
10252 * config/riscv/sync.mc (mem_thread_fence_1): Use "fence
10253 iorw,iorw".
10254
10255 2017-03-20 Marek Polacek <polacek@redhat.com>
10256
10257 PR sanitizer/80063
10258 * asan.c (DEF_SANITIZER_BUILTIN): Use do { } while (0).
10259
10260 2017-03-20 Richard Biener <rguenther@suse.de>
10261
10262 PR tree-optimization/80113
10263 * graphite-isl-ast-to-gimple.c (copy_loop_phi_nodes): Do not
10264 allocate extra SSA name for PHI def.
10265 (add_close_phis_to_outer_loops): Likewise.
10266 (add_close_phis_to_merge_points): Likewise.
10267 (copy_loop_close_phi_args): Likewise.
10268 (copy_cond_phi_nodes): Likewise.
10269
10270 2017-03-20 Martin Liska <mliska@suse.cz>
10271
10272 PR middle-end/79753
10273 * tree-chkp.c (chkp_build_returned_bound): Do not build
10274 returned bounds for a LHS that's not a BOUNDED_P type.
10275
10276 2017-03-20 Martin Liska <mliska@suse.cz>
10277
10278 PR target/79769
10279 PR target/79770
10280 * tree-chkp.c (chkp_find_bounds_1): Handle REAL_CST,
10281 COMPLEX_CST and VECTOR_CST.
10282
10283 2017-03-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10284
10285 PR target/78857
10286 * config/s390/s390.md ("cmp<mode>_ccs_0"): Add a clobber of the
10287 target operand. A new splitter adds the clobber statement in case
10288 the target operand is dead anyway.
10289
10290 2017-03-19 Gerald Pfeifer <gerald@pfeifer.com>
10291
10292 * doc/install.texi (Specific) <sparc-*-linux*>: No longer refer
10293 to age-old versions of binutils and glibc.
10294
10295 2017-03-18 Segher Boessenkool <segher@kernel.crashing.org>
10296
10297 * doc/contrib.texi (Contributors): Remove duplicate entry for myself.
10298
10299 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
10300
10301 * doc/contrib.texi (Contributors): Add Segher Boessenkool.
10302
10303 2017-03-18 Gerald Pfeifer <gerald@pfeifer.com>
10304
10305 * doc/install.texi (Specific) <arm-*-eabi>: Remove old
10306 requirement for binutils 2.13.
10307
10308 2017-03-17 Jim Wilson <jim.wilson@linaro.org>
10309
10310 * combine.c (try_combine): Delete redundant i1 test. Call
10311 prev_nonnote_nondebug_insn instead of prev_nonnote_insn.
10312
10313 2017-03-17 Palmer Dabbelt <palmer@dabbelt.com
10314
10315 * doc/install.texi (Specific) <riscv32-*-elf>: Add riscv32-*-elf,
10316 riscv32-*-linux, riscv64-*-elf, riscv64-*-linux to the table of
10317 contents.
10318 <riscv64-*-elf>: Re-arrange section
10319 <riscv32-*-elf>: Add a note about requiring binutils 2.28.
10320 <riscv32-*-linux>: Likewise.
10321 <riscv64-*-elf>: Likewise
10322 <riscv64-*-linux>: Likewise.
10323
10324 2017-03-17 Richard Earnshaw <rearnsha@arm.com>
10325
10326 PR target/80052
10327 * aarch64.opt(verbose-cost-dump): Fix typo.
10328
10329 2017-03-17 Pat Haugen <pthaugen@us.ibm.com>
10330
10331 PR target/79951
10332 * config/rs6000/rs6000.md (copysign<mode>3_fcpsgn): Test
10333 for VECTOR_UNIT_VSX_P (<MODE>mode) too.
10334
10335 2017-03-17 Bernd Schmidt <bschmidt@redhat.com>
10336
10337 * reload.c (find_reloads): When reloading a nonoffsettable address,
10338 use RELOAD_OTHER for it and its address reloads.
10339
10340 PR rtl-optimization/79910
10341 * combine.c (record_used_regs): New static function.
10342 (try_combine): Handle situations where there is an additional
10343 instruction between I2 and I3 which needs to have a LOG_LINK
10344 updated.
10345
10346 2017-03-17 Jeff Law <law@redhat.com>
10347
10348 PR tree-optimization/71437
10349 * tree-vrp.c (simplify_stmt_for_jump_threading): Lookup the
10350 conditional in the hash table first.
10351 (vrp_dom_walker::before_dom_children): Extract condition from
10352 ASSERT_EXPR. Record condition, its inverion and any implied
10353 conditions as well.
10354
10355 2017-03-17 Marek Polacek <polacek@redhat.com>
10356 Markus Trippelsdorf <markus@trippelsdorf.de>
10357
10358 PR tree-optimization/80079
10359 * gimple-ssa-store-merging.c (class pass_store_merging): Initialize
10360 m_stores_head.
10361
10362 2017-03-17 Richard Biener <rguenther@suse.de>
10363
10364 PR middle-end/80075
10365 * tree-eh.c (stmt_could_throw_1_p): Only handle gimple assigns.
10366 Properly verify the LHS before the RHS possibly claims to be
10367 handled.
10368 (stmt_could_throw_p): Hande gimple conds fully here. Clobbers
10369 do not throw.
10370
10371 2017-03-17 Martin Jambor <mjambor@suse.cz>
10372
10373 * doc/invoke.texi (Option Options): Include -fipa-vrp in the list.
10374 (List of -O2 options): Likewise.
10375 (-fipa-bit-cp): Replace "ipa" with "interprocedural."
10376 (-fipa-vrp) New.
10377
10378 2017-03-17 Tom de Vries <tom@codesourcery.com>
10379
10380 * gcov-dump.c (print_usage): Print bug_report_url.
10381
10382 2017-03-17 Richard Biener <rguenther@suse.de>
10383
10384 PR middle-end/80050
10385 * genmatch.c (parser::next): Remove pointless check for CPP_EOF.
10386 (parser::peek): Likewise.
10387
10388 2017-03-17 Richard Biener <rguenther@suse.de>
10389
10390 PR tree-optimization/80048
10391 * sese.c (free_sese_info): Properly release rename_map and
10392 copied_bb_map elements.
10393
10394 2017-03-16 Alexandre Oliva <aoliva@redhat.com>
10395
10396 * gimple-ssa-store-merging.c (struct imm_store_chain_info):
10397 Add linked-list forward and backlinks. Insert on
10398 construction, remove on destruction.
10399 (class pass_store_merging): Add m_stores_head field.
10400 (pass_store_merging::terminate_and_process_all_chains):
10401 Iterate over m_stores_head list.
10402 (pass_store_merging::terminate_all_aliasing_chains):
10403 Likewise.
10404 (pass_store_merging::execute): Check for debug stmts first.
10405 Push new chains onto the m_stores_head stack.
10406
10407 2017-03-16 Michael Meissner <meissner@linux.vnet.ibm.com>
10408
10409 PR target/71294
10410 * config/rs6000/vsx.md (vsx_splat_<mode>, VSX_D iterator): Allow a
10411 SPLAT operation on ISA 2.07 64-bit systems that have direct move,
10412 but no MTVSRDD support, by doing MTVSRD and XXPERMDI.
10413
10414 2017-03-16 Jeff Law <law@redhat.com>
10415
10416 PR tree-optimization/71437
10417 * tree-ssa-dom.c (dom_opt_dom_walker): Remove thread_across_edge
10418 member function. Implementation moved into after_dom_children
10419 member function and into the threader's thread_outgoing_edges
10420 function.
10421 (dom_opt_dom_walker::after_dom_children): Simplify by moving
10422 some code into new thread_outgoing_edges.
10423 * tree-ssa-threadedge.c (thread_across_edge): Make static and simplify
10424 definition. Simplify marker handling (do it here). Assume we always
10425 have the available expression and the const/copies tables.
10426 (thread_outgoing_edges): New function extracted from tree-ssa-dom.c
10427 and tree-vrp.c
10428 * tree-ssa-threadedge.h (thread_outgoing_edges): Declare.
10429 * tree-vrp.c (equiv_stack): No longer file scoped.
10430 (vrp_dom_walker): New class.
10431 (vrp_dom_walker::before_dom_children): New member function.
10432 (vrp_dom_walker::after_dom_children): Likewise.
10433 (identify_jump_threads): Setup domwalker. Use it rather than
10434 walking edges in a random order by hand. Simplify setup/finalization.
10435 (finalize_jump_threads): Remove.
10436 (vrp_finalize): Do not call identify_jump_threads here.
10437 (execute_vrp): Do it here instead and call thread_through_all_blocks
10438 here too.
10439
10440 PR tree-optimization/71437
10441 * tree-ssa-dom.c (pfn_simplify): Add basic_block argument. All
10442 callers changed.
10443 (simplify_stmt_for_jump_threading): Add basic_block argument. All
10444 callers changed.
10445 (lhs_of_dominating_assert): Moved from here into tree-vrp.c.
10446 (dom_opt_dom_walker::thread_across_edge): Remove
10447 handle_dominating_asserts argument. All callers changed.
10448 (record_temporary_equivalences_from_stmts_at_dest): Corresponding
10449 changes. Remove calls to lhs_of_dominating_assert. Other
10450 uses of handle_dominating_asserts turn into unconditional code
10451 (simplify_control_stmt_condition_1): Likewise.
10452 (simplify_control_stmt_condition): Likewise.
10453 (thread_through_normal_block, thread_across_edge): Likewise.
10454 * tree-ssa-threadedge.h (thread_across_edge): Corresponding changes.
10455 * tree-vrp.c (lhs_of_dominating_assert): Move here. Return original
10456 object if it is not an SSA_NAME.
10457 (simplify_stmt_for_jump_threading): Call lhs_of_dominating_assert
10458 before calling into the VRP specific simplifiers.
10459 (identify_jump_threads): Remove handle_dominating_asserts
10460 argument.
10461
10462 2017-03-16 Jakub Jelinek <jakub@redhat.com>
10463
10464 PR fortran/79886
10465 * tree-diagnostic.c (default_tree_printer): No longer static.
10466 * tree-diagnostic.h (default_tree_printer): New prototype.
10467
10468 2017-03-16 Tamar Christina <tamar.christina@arm.com>
10469
10470 * config/aarch64/aarch64-simd.md (*aarch64_simd_mov<mode>)
10471 Change ins into fmov.
10472
10473 2017-03-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10474
10475 * config/aarch64/iterators.md (h_con): Return "x" for V4HF and V8HF.
10476 * config/aarch64/aarch64-simd.md (*aarch64_fma4_elt_from_dup<mode>):
10477 Use h_con constraint for operand 1.
10478 (*aarch64_fnma4_elt_from_dup<mode>): Likewise.
10479 (*aarch64_mulx_elt_from_dup<mode>): Likewise for operand 2.
10480
10481 2017-03-15 Jeff Law <law@redhat.com>
10482
10483 PR tree-optimization/71437
10484 * tree-ssa-dom.c (derive_equivalences_from_bit_ior): New function.
10485 (record_temporary_equivalences): Use it.
10486
10487 PR tree-optimization/71437
10488 * tree-ssa-dom.c (struct cond_equivalence): Moved from here into
10489 tree-ssa-scopedtables.
10490 (lookup_avail_expr, build_and_record_new_cond): Likewise.
10491 (record_conditions, record_cond, vuse_eq): Likewise.
10492 (record_edge_info): Adjust to API tweak of record_conditions.
10493 (simplify_stmt_for_jump_threading): Similarly for lookup_avail_expr.
10494 (record_temporary_equivalences, optimize_stmt): Likewise.
10495 (eliminate_redundant_computations): Likewise.
10496 (record_equivalences_from_stmt): Likewise.
10497 * tree-ssa-scopedtables.c: Include options.h and params.h.
10498 (vuse_eq): New function, moved from tree-ssa-dom.c
10499 (build_and_record_new_cond): Likewise.
10500 (record_conditions): Likewise. Accept vector of conditions rather
10501 than edge_equivalence structure for first argument.
10502 for the first argument.
10503 (avail_exprs_stack::lookup_avail_expr): New member function, moved
10504 from tree-ssa-dom.c.
10505 (avail_exprs_stack::record_cond): Likewise.
10506 * tree-ssa-scopedtables.h (struct cond_equivalence): Moved here
10507 from tree-ssa-dom.c.
10508 (avail_exprs_stack): Add new member functions lookup_avail_expr
10509 and record_cond.
10510 (record_conditions): Declare.
10511
10512 2017-03-15 Vladimir Makarov <vmakarov@redhat.com>
10513
10514 PR target/80017
10515 * lra-constraints.c (process_alt_operands): Increase reject for
10516 reloading an input/output operand.
10517
10518 2017-03-15 Michael Meissner <meissner@linux.vnet.ibm.com>
10519
10520 PR target/79038
10521 * config/rs6000/rs6000.md (float<QHI:mode><IEEE128:mode>2): Define
10522 insns to convert from signed/unsigned char/short to IEEE 128-bit
10523 floating point.
10524 (floatuns<QHI:mode><IEEE128:mode>2): Likewise.
10525
10526 2017-03-15 Uros Bizjak <ubizjak@gmail.com>
10527
10528 PR target/80019
10529 * config/i386/i386.c (ix86_vector_duplicate_value): Create
10530 subreg of inner mode for values already in registers.
10531
10532 2017-03-15 Bernd Schmidt <bschmidt@redhat.com>
10533
10534 * config/c6x/c6x.c (hwloop_optimize): Handle case where the old
10535 iteration reg is used after the loop.
10536
10537 2017-03-14 Martin Sebor <msebor@redhat.com>
10538
10539 PR tree-optimization/79800
10540 * gimple-ssa-sprintf.c (format_floating: Add argument. Handle
10541 precision in negative-positive range.
10542 (format_floating): Call non-const overload with adjusted precision.
10543
10544 2017-03-14 Michael Meissner <meissner@linux.vnet.ibm.com>
10545
10546 PR target/79947
10547 * config/rs6000/rs6000.h (TARGET_FRSQRTES): Add check for
10548 -mpowerpc-gfxopt.
10549
10550 2017-03-14 Martin Sebor <msebor@redhat.com>
10551
10552 PR middle-end/80020
10553 * builtin-attrs.def (ATTR_ALLOC_SIZE_2_NOTHROW_LIST): New macro.
10554 * builtins.def (aligned_alloc): Use it.
10555
10556 PR c/79936
10557 * Makefile.in (GTFILES): Add calls.c.
10558 * calls.c: Include "gt-calls.h".
10559
10560 2017-03-14 Bernd Schmidt <bschmidt@redhat.com>
10561
10562 PR rtl-optimization/79728
10563 * regs.h (struct target_regs): New field
10564 x_contains_allocatable_regs_of_mode.
10565 (contains_allocatable_regs_of_mode): New macro.
10566 * reginfo.c (init_reg_sets_1): Initialize it, and change
10567 contains_reg_of_mode so it includes global regs as well.
10568 * reload.c (push_reload): Use contains_allocatable_regs_of_mode
10569 rather than contains_regs_of_mode.
10570
10571 2017-03-14 Martin Liska <mliska@suse.cz>
10572
10573 * doc/invoke.texi: Document options that can't be combined with
10574 -fcheck-pointer-bounds.
10575
10576 2017-03-14 Martin Liska <mliska@suse.cz>
10577
10578 PR middle-end/79831
10579 * doc/invoke.texi (-Wchkp): Document the option.
10580
10581 2017-03-14 Martin Liska <mliska@suse.cz>
10582
10583 * Makefile.in: Install gcov-dump.
10584
10585 2017-03-14 Martin Liska <mliska@suse.cz>
10586
10587 * multiple_target.c (expand_target_clones): Bail out for
10588 an invalid attribute.
10589
10590 2017-03-14 Richard Biener <rguenther@suse.de>
10591
10592 * alias.c (struct alias_set_entry): Pack properly.
10593 * cfgloop.h (struct loop): Likewise.
10594 * cse.c (struct set): Likewise.
10595 * ipa-utils.c (struct searchc_env): Likewise.
10596 * loop-invariant.c (struct invariant): Likewise.
10597 * lra-remat.c (struct cand): Likewise.
10598 * recog.c (struct change_t): Likewise.
10599 * rtl.h (struct address_info): Likewise.
10600 * symbol-summary.h (function_summary): Likewise.
10601 * tree-loop-distribution.c (struct partition): Likewise.
10602 * tree-object-size.c (struct object_size_info): Likewise.
10603 * tree-ssa-loop-ivopts.c (struct cost_pair): Likewise.
10604 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Likewise.
10605 * tree-vect-data-refs.c (struct _vect_peel_info): Likewise.
10606 * tree-vect-slp.c (struct _slp_oprnd_info): Likewise.
10607 * tree-vect-stmts.c (struct simd_call_arg_info): Likewise.
10608 * tree-vectorizer.h (struct _loop_vec_info): Likewise.
10609 (struct _stmt_vec_info): Likewise.
10610
10611 2017-03-14 Martin Liska <mliska@suse.cz>
10612
10613 PR target/79892
10614 * multiple_target.c (create_dispatcher_calls): Check that
10615 a target can create a function dispatcher.
10616
10617 2017-03-14 Martin Liska <mliska@suse.cz>
10618
10619 PR lto/66295
10620 * multiple_target.c (expand_target_clones): Drop local.local
10621 flag for default implementation.
10622
10623 2017-03-14 Richard Biener <rguenther@suse.de>
10624
10625 PR tree-optimization/80030
10626 * tree-vect-stmts.c (vectorizable_store): Plug memleak.
10627
10628 2017-03-13 Kito Cheng <kito.cheng@gmail.com>
10629
10630 * config/riscv/riscv.c (riscv_emit_float_compare>: Use
10631 gcc_fallthrough() instead of __attribute__((fallthrough));
10632
10633 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
10634
10635 * doc/gcc.texi: Remove "up" link to (DIR).
10636 * doc/gccint.texi: Ditto.
10637
10638 2017-03-13 Gerald Pfeifer <gerald@pfeifer.com>
10639
10640 * doc/install.texi (Specific) <avr>: Remove reference to
10641 binutils 2.13.
10642
10643 2017-03-13 Jeff Law <law@redhat.com>
10644
10645 * config/riscv/riscv.c (riscv_emit_float_compare): Use fallthru
10646 attribute rather than comments.
10647
10648 * config/pdp11/pdp11.md (movmemhi): Adjust operand numbers to
10649 match_scratch operand is highest.
10650
10651 2017-03-13 Martin Liska <mliska@suse.cz>
10652
10653 PR middle-end/78339
10654 * ipa-pure-const.c (warn_function_noreturn): If the declarations
10655 is a CHKP clone, use original declaration.
10656
10657 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
10658
10659 * config/arc/arc.c (arc_init): Use multiplier whenever we have it.
10660 (arc_conditional_register_usage): Use a different allocation order
10661 when optimizing for size.
10662 * common/config/arc/arc-common.c (arc_option_optimization_table):
10663 Section anchors default on when optimizing for size.
10664
10665 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
10666
10667 * config/arc/arc.md (*tst_bitfield_tst): Fix pattern.
10668
10669 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
10670
10671 * config/arc/arc.c (arc_output_addsi): Emit code density adds.
10672 * config/arc/arc.md (cpu_facility): Add cd variant.
10673 (*movqi_insn): Add code density variant.
10674 (*movhi_insn): Likewise.
10675 (*movqi_insn): Likewise.
10676 (*addsi3_mixed): Likewise.
10677 (subsi3_insn): Likewise.
10678
10679 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
10680
10681 * config/arc/arc.md (movsi_cond_exec): Update constraint.
10682
10683 2017-03-13 Claudiu Zissulescu <claziss@synopsys.com>
10684
10685 * config/arc/arc.c (arc_legitimize_pic_address): Handle PIC
10686 expressions with MINUS and UNARY ops.
10687
10688 2017-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10689
10690 PR target/79911
10691 * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3):
10692 Rename to...
10693 (vec_sel_widen_ssum_lo<mode><V_half>3): ... This. Avoid mismatch
10694 between vec_select and vector argument.
10695 (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): Rename to...
10696 (vec_sel_widen_ssum_hi<mode><V_half>3): ... This. Likewise.
10697 (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): Rename to...
10698 (vec_sel_widen_usum_lo<mode><V_half>3): ... This.
10699 (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): Rename to...
10700 (vec_sel_widen_usum_hi<mode><V_half>3): ... This.
10701
10702 2017-03-13 Richard Biener <rguenther@suse.de>
10703
10704 PR other/79991
10705 * params.def (vect-max-peeling-for-alignment): Fix typo.
10706
10707 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
10708
10709 * doc/install.texi (Specific) <mips-*-*>: Remove description of
10710 issue that only occurred with binutils below 2.18.
10711
10712 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
10713
10714 * doc/install.texi (Specific) <cris-axis-elf>: No longer
10715 refer to binutils 2.11/2.12 minimum.
10716
10717 2017-03-12 Gerald Pfeifer <gerald@pfeifer.com>
10718
10719 * doc/install.texi (Specific) <powerpc-*-*>: Remove link to
10720 ftp.kernel.org and simplify binutils requirement.
10721
10722 2017-03-11 Gerald Pfeifer <gerald@pfeifer.com>
10723
10724 * doc/invoke.texi (Warning Options): Fix spelling of link-time
10725 optimization.
10726 (Optimize Options): Ditto. Also remove redundancy.
10727
10728 2017-03-10 David Malcolm <dmalcolm@redhat.com>
10729
10730 PR translation/79848
10731 * ipa-devirt.c (warn_types_mismatch): Simplify uses of "%<%s%>" to
10732 "%qs".
10733 * ipa-pure-const.c (suggest_attribute): Likewise. Convert _
10734 to G_ to avoid double translation.
10735
10736 2017-03-10 David Malcolm <dmalcolm@redhat.com>
10737
10738 PR translation/79923
10739 * auto-profile.c (get_combined_location): Convert leading
10740 character of diagnostics to lower case and remove trailing period.
10741 (read_profile): Likewise for various diagnostics.
10742 * config/arm/arm.c (arm_option_override): Remove trailing period
10743 from various diagnostics.
10744 * config/msp430/msp430.c (msp430_expand_delay_cycles): Likewise.
10745 (msp430_expand_delay_cycles): Likewise.
10746
10747 2017-03-10 David Malcolm <dmalcolm@redhat.com>
10748
10749 PR target/79925
10750 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Quote the
10751 full command-line argument, rather than just "str".
10752 (aarch64_validate_march): Likewise.
10753 (aarch64_validate_mtune): Likewise.
10754
10755 2017-03-10 Bernd Schmidt <bschmidt@redhat.com>
10756
10757 PR rtl-optimization/78911
10758 * lra-assigns.c (must_not_spill_p): New function.
10759 (spill_for): Use it.
10760
10761 2017-03-10 Jakub Jelinek <jakub@redhat.com>
10762
10763 PR tree-optimization/79981
10764 * tree-vrp.c (extract_range_basic): Handle IMAGPART_EXPR of
10765 ATOMIC_COMPARE_EXCHANGE ifn result.
10766 (stmt_interesting_for_vrp, vrp_visit_stmt): Handle
10767 IFN_ATOMIC_COMPARE_EXCHANGE.
10768
10769 2017-03-10 David Malcolm <dmalcolm@redhat.com>
10770
10771 PR driver/79875
10772 * opts.c (parse_sanitizer_options): Add missing question mark to
10773 "did you mean" message.
10774
10775 2017-03-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10776
10777 * config/rs6000/rs6000-builtin.def (VMULEUB_UNS): Remove orphaned
10778 built-in.
10779 (VMULEUH_UNS): Likewise.
10780 (VMULOUB_UNS): Likewise.
10781 (VMULOUH_UNS): Likewise.
10782 * config/rs6000/rs6000.c (builtin_function_type): Remove
10783 references to ALTIVEC_BUILTIN_VMUL[EO]U[BH]_UNS.
10784
10785 2017-03-10 David Malcolm <dmalcolm@redhat.com>
10786
10787 PR bootstrap/79952
10788 * read-rtl-function.c (function_reader::read_rtx_operand): Update
10789 x with result of extra_parsing_for_operand_code_0.
10790 (function_reader::extra_parsing_for_operand_code_0): Convert
10791 return type from void to rtx, returning x. When reading
10792 SYMBOL_REF with SYMBOL_FLAG_HAS_BLOCK_INFO, reallocate x to the
10793 larger size containing struct block_symbol.
10794
10795 2017-03-10 Segher Boessenkool <segher@kernel.crashing.org>
10796
10797 * config/rs6000/rs6000.c (rs6000_option_override_internal): Disallow
10798 -mfloat128-hardware without -m64.
10799
10800 2017-03-10 Will Schmidt <will_schmidt@vnet.ibm.com>
10801
10802 PR target/79941
10803 * config/rs6000/rs6000.c (builtin_function_type): Add VMUL*U[HB]
10804 entries to the case statement that marks unsigned arguments to
10805 overloaded functions.
10806
10807 2017-03-10 Kelvin Nilsen <kelvin@gcc.gnu.org>
10808
10809 * config/rs6000/rs6000.c (rs6000_option_override_internal): Fix
10810 two typographic errors in the handling of TARGET_UPPER_REGS_DI.
10811
10812 2017-03-10 Pat Haugen <pthaugen@us.ibm.com>
10813
10814 PR target/79907
10815 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Test
10816 TARGET_UPPER_REGS_DI when setting 'wi' constraint regclass.
10817
10818 2017-03-10 Martin Liska <mliska@suse.cz>
10819
10820 PR target/65705
10821 PR target/69804
10822 * toplev.c (process_options): Enable MPX with LSAN and UBSAN.
10823 * tree-chkp.c (chkp_walk_pointer_assignments): Verify that
10824 FIELD != NULL.
10825
10826 2017-03-10 Olivier Hainque <hainque@adacore.com>
10827
10828 * tree-switch-conversion (array_value_type): Start by resetting
10829 candidate type to it's main variant.
10830
10831 2017-03-10 Jakub Jelinek <jakub@redhat.com>
10832
10833 PR rtl-optimization/79909
10834 * combine.c (try_combine): Use simplify_replace_rtx on individual
10835 CALL_INSN_FUNCTION_USAGE elements instead of replace_rtx on copy_rtx
10836 of the whole CALL_INSN_FUNCTION_USAGE.
10837
10838 PR tree-optimization/79972
10839 * gimple-ssa-warn-alloca.c (alloca_call_type): Only call
10840 get_range_info on SSA_NAMEs. Formatting fixes.
10841
10842 2017-03-10 Richard Biener <rguenther@suse.de>
10843 Jakub Jelinek <jakub@redhat.com>
10844
10845 PR tree-optimization/77975
10846 * tree-ssa-loop-niter.c (get_base_for): Allow phi argument from latch
10847 edge to be constant.
10848 (get_val_for): For constant x return it. Formatting fix.
10849 (loop_niter_by_eval): Avoid pointless looping if the next iteration
10850 would use the same bases as the current one.
10851
10852 2017-03-09 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10853
10854 * config/rs6000/rs6000.c (rs6000_gen_le_vsx_permute): Use rotate
10855 instead of vec_select for V1TImode.
10856 * conifg/rs6000/vsx.md (VSX_LE): Remove mode iterator that is no
10857 longer needed.
10858 (VSX_LE_128): Add V1TI to this mode iterator.
10859 (*vsx_le_perm_load_<mode>): Change to use VSX_D mode iterator.
10860 (*vsx_le_perm_store_<mode>): Likewise.
10861 (pre-reload splitter for VSX stores): Likewise.
10862 (post-reload splitter for VSX stores): Likewise.
10863 (*vsx_xxpermdi2_le_<mode>): Likewise.
10864 (*vsx_lxvd2x2_le_<mode>): Likewise.
10865 (*vsx_stxvd2x2_le_<mode>): Likewise.
10866
10867 2017-03-09 Michael Eager <eager@eagercon.com>
10868
10869 Correct failures with --enable-checking=yes,rtl.
10870
10871 * config/microblaze/microblaze.c (microblaze_expand_shift):
10872 Replace GET_CODE test with CONST_INT_P and INTVAL test with
10873 test for const0_rtx.
10874 * config/microblaze/microblaze.md (ashlsi3_byone, ashrsi3_byone,
10875 lshrsi3_byone): Replace INTVAL with test for const1_rtx.
10876
10877 2017-03-09 Richard Biener <rguenther@suse.de>
10878
10879 PR tree-optimization/79977
10880 * graphite-scop-detection.c (scop_detection::merge_sese):
10881 Handle the case of extra exits to blocks dominating the entry.
10882
10883 2017-03-09 Toma Tabacu <toma.tabacu@imgtec.com>
10884
10885 * doc/sourcebuild.texi (Effective-Target Keywords, Other attributes):
10886 Document rdynamic.
10887
10888 2017-03-09 Vladimir Makarov <vmakarov@redhat.com>
10889
10890 PR rtl-optimization/79949
10891 * lra-constraints.c (process_alt_operands): Check memory when
10892 trying to predict a cycle. Print about the overall increase.
10893
10894 2017-03-09 Richard Biener <rguenther@suse.de>
10895
10896 PR middle-end/79971
10897 * gimple-expr.c (useless_type_conversion_p): Preserve
10898 TYPE_SATURATING for fixed-point types.
10899
10900 2017-03-09 Richard Biener <rguenther@suse.de>
10901
10902 PR ipa/79970
10903 * ipa-prop.c (ipa_modify_formal_parameters): Avoid changing
10904 alignment of BLKmode params.
10905
10906 2017-03-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10907
10908 PR target/79913
10909 * config/aarch64/iterators.md (VALL_F16_NO_V2Q): New mode iterator.
10910 (VALL_NO_V2Q): Likewise.
10911 (VDQF_DF): Delete.
10912 * config/aarch64/aarch64-simd.md
10913 (aarch64_dup_lane_<vswap_width_name><mode>): Use VALL_F16_NO_V2Q
10914 iterator.
10915 (*aarch64_simd_vec_copy_lane_<vswap_width_name><mode>): Use
10916 VALL_NO_V2Q mode iterator.
10917 (*aarch64_vgetfmulx<mode>): Use VDQF iterator.
10918
10919 2017-03-09 Martin Liska <mliska@suse.cz>
10920
10921 PR tree-optimization/79631
10922 * tree-chkp-opt.c (chkp_is_constant_addr): Call
10923 tree_int_cst_sign_bit just for INTEGER constants.
10924
10925 2017-03-09 Martin Liska <mliska@suse.cz>
10926
10927 PR target/65705
10928 PR target/69804
10929 * toplev.c (process_options): Disable -fcheck-pointer-bounds with
10930 sanitizers.
10931
10932 2017-03-09 Marek Polacek <polacek@redhat.com>
10933
10934 PR c++/79672
10935 * tree.c (inchash::add_expr): Handle TREE_VEC.
10936
10937 2017-03-09 Martin Liska <mliska@suse.cz>
10938
10939 PR ipa/79764
10940 (chkp_narrow_size_and_offset): New function.
10941 (chkp_parse_array_and_component_ref): Support BIT_FIELD_REF.
10942 (void chkp_parse_bit_field_ref): New function.
10943 (chkp_make_addressed_object_bounds): Add case for BIT_FIELD_REF.
10944 (chkp_process_stmt): Use chkp_parse_bit_field_ref.
10945
10946 2017-03-09 Martin Liska <mliska@suse.cz>
10947
10948 PR ipa/79761
10949 * tree-chkp.c (chkp_get_bound_for_parm): Get bounds for a param.
10950 (chkp_find_bounds_1): Remove gcc_unreachable.
10951
10952 2017-03-09 Jakub Jelinek <jakub@redhat.com>
10953
10954 PR sanitizer/79944
10955 * asan.c (get_mem_refs_of_builtin_call): For BUILT_IN_ATOMIC* and
10956 BUILT_IN_SYNC*, determine the access type from the size suffix and
10957 always build a MEM_REF with that type. Handle forgotten
10958 BUILT_IN_SYNC_FETCH_AND_NAND_16 and BUILT_IN_SYNC_NAND_AND_FETCH_16.
10959
10960 PR target/79932
10961 * config/i386/avx512vlintrin.h (_mm256_cmpge_epi32_mask,
10962 _mm256_cmpge_epi64_mask, _mm256_cmpge_epu32_mask,
10963 _mm256_cmpge_epu64_mask, _mm256_cmple_epi32_mask,
10964 _mm256_cmple_epi64_mask, _mm256_cmple_epu32_mask,
10965 _mm256_cmple_epu64_mask, _mm256_cmplt_epi32_mask,
10966 _mm256_cmplt_epi64_mask, _mm256_cmplt_epu32_mask,
10967 _mm256_cmplt_epu64_mask, _mm256_cmpneq_epi32_mask,
10968 _mm256_cmpneq_epi64_mask, _mm256_cmpneq_epu32_mask,
10969 _mm256_cmpneq_epu64_mask, _mm256_mask_cmpge_epi32_mask,
10970 _mm256_mask_cmpge_epi64_mask, _mm256_mask_cmpge_epu32_mask,
10971 _mm256_mask_cmpge_epu64_mask, _mm256_mask_cmple_epi32_mask,
10972 _mm256_mask_cmple_epi64_mask, _mm256_mask_cmple_epu32_mask,
10973 _mm256_mask_cmple_epu64_mask, _mm256_mask_cmplt_epi32_mask,
10974 _mm256_mask_cmplt_epi64_mask, _mm256_mask_cmplt_epu32_mask,
10975 _mm256_mask_cmplt_epu64_mask, _mm256_mask_cmpneq_epi32_mask,
10976 _mm256_mask_cmpneq_epi64_mask, _mm256_mask_cmpneq_epu32_mask,
10977 _mm256_mask_cmpneq_epu64_mask, _mm_cmpge_epi32_mask,
10978 _mm_cmpge_epi64_mask, _mm_cmpge_epu32_mask, _mm_cmpge_epu64_mask,
10979 _mm_cmple_epi32_mask, _mm_cmple_epi64_mask, _mm_cmple_epu32_mask,
10980 _mm_cmple_epu64_mask, _mm_cmplt_epi32_mask, _mm_cmplt_epi64_mask,
10981 _mm_cmplt_epu32_mask, _mm_cmplt_epu64_mask, _mm_cmpneq_epi32_mask,
10982 _mm_cmpneq_epi64_mask, _mm_cmpneq_epu32_mask, _mm_cmpneq_epu64_mask,
10983 _mm_mask_cmpge_epi32_mask, _mm_mask_cmpge_epi64_mask,
10984 _mm_mask_cmpge_epu32_mask, _mm_mask_cmpge_epu64_mask,
10985 _mm_mask_cmple_epi32_mask, _mm_mask_cmple_epi64_mask,
10986 _mm_mask_cmple_epu32_mask, _mm_mask_cmple_epu64_mask,
10987 _mm_mask_cmplt_epi32_mask, _mm_mask_cmplt_epi64_mask,
10988 _mm_mask_cmplt_epu32_mask, _mm_mask_cmplt_epu64_mask,
10989 _mm_mask_cmpneq_epi32_mask, _mm_mask_cmpneq_epi64_mask,
10990 _mm_mask_cmpneq_epu32_mask, _mm_mask_cmpneq_epu64_mask): Move
10991 definitions outside of __OPTIMIZE__ guarded section.
10992
10993 PR target/79932
10994 * config/i386/avx512bwintrin.h (_mm512_packs_epi32,
10995 _mm512_maskz_packs_epi32, _mm512_mask_packs_epi32,
10996 _mm512_packus_epi32, _mm512_maskz_packus_epi32,
10997 _mm512_mask_packus_epi32): Move definitions outside of __OPTIMIZE__
10998 guarded section.
10999
11000 2017-03-09 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
11001
11002 * config/s390/vx-builtins.md ("vfee<mode>", "vfeez<mode>")
11003 ("vfenez<mode>"): Add missing constraints.
11004
11005 2017-03-08 Martin Sebor <msebor@redhat.com>
11006
11007 PR target/79928
11008 * config/nds32/nds32.c (nds32_option_override):
11009 Fix misspelled diagnostic.
11010
11011 2017-03-08 Jakub Jelinek <jakub@redhat.com>
11012
11013 PR c/79940
11014 * gimplify.c (gimplify_omp_for): Replace index var in outer
11015 taskloop statement with an artificial variable and add
11016 OMP_CLAUSE_PRIVATE clause for it.
11017
11018 2017-03-08 Richard Biener <rguenther@suse.de>
11019
11020 PR tree-optimization/79955
11021 * tree-ssa-uninit.c (warn_uninitialized_vars): Do not warn
11022 for accesses that are completely outside of the variable.
11023
11024 2017-03-08 Andrew Haley <aph@redhat.com>
11025
11026 PR tree-optimization/79943
11027 * tree-ssa-loop-split.c (compute_new_first_bound): When
11028 calculating the new upper bound, (END-BEG) should be added, not
11029 subtracted.
11030
11031 2017-03-08 Jakub Jelinek <jakub@redhat.com>
11032
11033 * config/avr/avr.md (setmemhi): Make sure match_dup
11034 operand number comes before match_scratch.
11035
11036 2017-03-08 Richard Biener <rguenther@suse.de>
11037
11038 PR tree-optimization/79920
11039 * tree-vect-slp.c (vect_create_mask_and_perm): Remove and inline
11040 with ncopies == 1 to ...
11041 (vect_transform_slp_perm_load): ... here. Properly compute
11042 all element loads by iterating VF times over the group. Do
11043 not handle ncopies (computed in a broken way) in
11044 vect_create_mask_and_perm.
11045
11046 2017-03-08 Jakub Jelinek <jakub@redhat.com>
11047
11048 PR sanitizer/79904
11049 * internal-fn.c (expand_vector_ubsan_overflow): If arg0 or arg1
11050 is a uniform vector, use uniform_vector_p return value instead of
11051 building ARRAY_REF on folded VIEW_CONVERT_EXPR to array type.
11052
11053 2017-03-07 Marek Polacek <polacek@redhat.com>
11054
11055 PR middle-end/79809
11056 * gimple-ssa-warn-alloca.c (pass_walloca::gate): Use HOST_WIDE_INT.
11057 (alloca_call_type): Likewise.
11058
11059 2017-03-07 Martin Liska <mliska@suse.cz>
11060
11061 * gcov.c (process_args): Put comment to correct location.
11062
11063 2017-03-07 Martin Liska <mliska@suse.cz>
11064
11065 PR middle-end/68270
11066 * tree-chkp.c (chkp_may_narrow_to_field): Add new argument ref.
11067 Use array_at_struct_end_p instead of DECL_CHAIN (field).
11068 (chkp_narrow_bounds_for_field): Likewise.
11069 (chkp_parse_array_and_component_ref): Pass one more argument to
11070 call.
11071
11072 2017-03-07 Richard Biener <rguenther@suse.de>
11073
11074 * tree-vect-loop-manip.c (slpeel_add_loop_guard): Preserve
11075 preheaders.
11076
11077 2017-03-07 Segher Boessenkool <segher@kernel.crashing.org>
11078
11079 * config/i386/i386.c (ix86_local_alignment): Align most aggregates
11080 of 16 bytes and more to 16 bytes, not those of 16 bits and more.
11081
11082 2017-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11083
11084 PR c/79855
11085 * params.def (PARAM_STORE_MERGING_ALLOW_UNALIGNED): Add full stop
11086 to end of description.
11087 (PARAM_MAX_STORES_TO_MERGE): Likewise.
11088
11089 2017-03-07 Jakub Jelinek <jakub@redhat.com>
11090
11091 PR rtl-optimization/79901
11092 * config/i386/sse.md (*avx512bw_<code><mode>3<mask_name>): Renamed to
11093 ...
11094 (*avx512f_<code><mode>3<mask_name>): ... this.
11095 (<code><mode>3 with maxmin code iterator): Use VI8_AVX2_AVX512F
11096 iterator instead of VI8_AVX2_AVX512BW.
11097
11098 PR rtl-optimization/79901
11099 * expr.c (expand_expr_real_2): For vector MIN/MAX, if there is no
11100 min/max expander, expand it using expand_vec_cond_expr.
11101
11102 PR sanitizer/79897
11103 * ubsan.c (ubsan_encode_value): Call mark_addressable on the
11104 temporary.
11105
11106 2017-03-06 Jakub Jelinek <jakub@redhat.com>
11107
11108 PR c++/79821
11109 * dwarf2out.h (dw_vec_const): Change array type from unsigned char *
11110 to void * for PCH reasons.
11111 * dwarf2out.c (output_loc_operands, output_die): Cast
11112 v.val_vec.array to unsigned char *.
11113
11114 2017-03-06 John David Anglin <danglin@gcc.gnu.org>
11115
11116 PR target/77850
11117 * config/pa/pa-64.h (PAD_VARARGS_DOWN): Don't pad down complex and
11118 vector types.
11119
11120 2017-03-06 Vladimir Makarov <vmakarov@redhat.com>
11121
11122 PR rtl-optimization/79571
11123 * lra-constraints.c (process_alt_operands): Calculate static
11124 reject and subtract it from overall when only addresses will be
11125 reloaded.
11126
11127 2017-03-06 Julia Koval <julia.koval@intel.com>
11128
11129 PR target/79793
11130 * config/i386/i386.c (ix86_minimum_incoming_stack_boundary): Set
11131 incoming stack boundary to 128 for 64-bit targets.
11132
11133 2017-03-06 Richard Biener <rguenther@suse.de>
11134
11135 PR tree-optimization/79894
11136 * tree-vectorizer.c (vectorize_loops): Set loop_vectorized_call
11137 to NULL after folding it.
11138
11139 2017-03-06 Richard Biener <rguenther@suse.de>
11140
11141 PR tree-optimization/79824
11142 * tree-vect-stmts.c (get_group_load_store_type): Fix alignment
11143 check disabling peeling for gaps.
11144
11145 2017-03-06 Toma Tabacu <toma.tabacu@imgtec.com>
11146
11147 * doc/sourcebuild.texi (Effective-Target Keywords, Environment
11148 attributes): Document gettimeofday.
11149
11150 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
11151
11152 * config/s390/s390.c (s390_option_override_internal): Set
11153 PARAM_MIN_VECT_LOOP_BOUND
11154
11155 2017-03-06 Robin Dapp <rdapp@linux.vnet.ibm.com>
11156
11157 * config/s390/s390.c (s390_asm_output_function_label): Use nopr %r0.
11158 * config/s390/s390.md: Likewise.
11159
11160 2017-03-06 Jakub Jelinek <jakub@redhat.com>
11161
11162 PR target/79812
11163 * config/i386/sse.md (VI8F_256_512): Remove mode iterator.
11164 (<avx2_avx512>_perm<mode>): Rename to ...
11165 (avx2_perm<mode>): ... this. Use VI8F_256 iterator instead
11166 of VI8F_256_512.
11167 (<avx512>_perm<mode>_mask): Rename to ...
11168 (avx512vl_perm<mode>_mask): ... this. Use VI8F_256 iterator instead
11169 of VI8F_256_512.
11170 (<avx2_avx512>_perm<mode>_1<mask_name>): Rename to ...
11171 (avx2_perm<mode>_1<mask_name): ... this. Use VI8F_256 iterator
11172 instead of VI8F_256_512.
11173 (avx512f_perm<mode>): New define_expand.
11174 (avx512f_perm<mode>_mask): Likewise.
11175 (avx512f_perm<mode>_1<mask_name>): New define_insn.
11176 (<avx512>_vec_dup<mode>_1): Fix up vec_select mode.
11177
11178 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
11179
11180 * config/mips/mips-msa.md (msa_fmax_a_<msafmt>, msa_fmin_a_<msafmt>,
11181 msa_max_a_<msafmt>, msa_min_a_<msafmt>): Introduce mode interator for
11182 if_then_else.
11183 (smin<mode>3, smax<mode>3): Change operand print code from 'B' to 'E'.
11184
11185 2017-03-06 Martin Liska <mliska@suse.cz>
11186
11187 PR sanitize/79783
11188 * asan.c (asan_expand_poison_ifn): Do not expand ASAN_POISON
11189 when having a SSA NAME w/o VAR_DECL assigned to it.
11190
11191 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
11192
11193 * config/mips/mips-msa.md (msa_dotp_<su>_d, msa_dpadd_<su>_d,
11194 msa_dpsub_<su>_d): Fix MODE for vec_select.
11195
11196 2017-03-06 Prachi Godbole <prachi.godbole@imgtec.com>
11197
11198 * config/mips/mips.c (mips_gen_const_int_vector): Change type of last
11199 argument.
11200 * config/mips/mips-protos.h (mips_gen_const_int_vector): Likewise.
11201
11202 2017-03-06 Richard Biener <rguenther@suse.de>
11203
11204 * lto-streamer.c (lto_check_version): Use %qs in diagnostics.
11205 * plugin.c (register_plugin_info): Likewise.
11206 * tree-chkp.c (chkp_make_static_const_bounds): Likewise.
11207
11208 2017-03-05 Jakub Jelinek <jakub@redhat.com>
11209
11210 * config/i386/sse.md (sse_storehps, sse_storelps,
11211 avx_<castmode><avxsizesuffix>_<castmode>,
11212 avx512f_<castmode><avxsizesuffix>_<castmode>,
11213 avx512f_<castmode><avxsizesuffix>_256<castmode>): Require
11214 in condition that at least one operand is not a MEM.
11215
11216 2017-03-03 Jakub Jelinek <jakub@redhat.com>
11217
11218 PR middle-end/79805
11219 * internal-fn.def (ATOMIC_BIT_TEST_AND_SET, ATOMIC_BIT_TEST_AND_RESET,
11220 ATOMIC_BIT_TEST_AND_COMPLEMENT, ATOMIC_COMPARE_EXCHANGE): Remove
11221 ECF_NOTHROW.
11222 * gimple-fold.c (fold_builtin_atomic_compare_exchange): Set
11223 gimple_call_nothrow_p flag based on whether original builtin can throw.
11224 If it can, emit following stmts on the fallthrough edge.
11225 * tree-ssa-ccp.c (optimize_atomic_bit_test_and): Similarly, except
11226 don't create new bb if inserting just debug stmts on the edge, try to
11227 insert them on the fallthru bb or just reset debug stmts.
11228
11229 2017-03-03 Segher Boesssenkool <segher@kernel.crashing.org>
11230
11231 PR target/43763
11232 * config/rs6000/rs6000.c (rs6000_final_prescan_insn): Save and
11233 restore recog_data (including the operand rtxes inside it) around
11234 the call to get_insn_template.
11235
11236 2017-03-03 Martin Sebor <msebor@redhat.com>
11237
11238 PR tree-optimization/79699
11239 * context.c (context::~context): Free MPFR caches to avoid
11240 a memory leak on program exit.
11241
11242 2017-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11243
11244 * config/aarch64/aarch64.c (aarch64_float_const_representable_p):
11245 Use wide_int::ulow () instead of .elt (0).
11246
11247 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
11248
11249 * config/i386/i386.md (*pushtf): Change *roF constraint to *roC.
11250 (*pushxf): Limit oF constraint to 32bit targets and add oC
11251 constraint for 64bit targets.
11252 (pushxf splitter): Use PUSH_ROUNDING to calculate stack adjustment.
11253 (*pushdf): Change rmF constraint to rmC.
11254
11255 2017-03-03 Martin Liska <mliska@suse.cz>
11256
11257 * tree-ssa-loop-prefetch.c (pass_loop_prefetch::execute):
11258 Remove unused variable.
11259
11260 2017-03-03 Jakub Jelinek <jakub@redhat.com>
11261
11262 PR target/79807
11263 * config/i386/i386.c (ix86_expand_multi_arg_builtin): If target
11264 is a memory operand, increase num_memory.
11265 (ix86_expand_args_builtin): Likewise.
11266
11267 2017-03-03 Jan Hubicka <jh@suse.cz>
11268
11269 PR lto/79760
11270 * ipa-devirt.c (maybe_record_node): Properly handle
11271 __cxa_pure_virtual visibility.
11272
11273 2017-03-03 Martin Liska <mliska@suse.cz>
11274
11275 PR tree-optimization/79803
11276 * tree-ssa-loop-prefetch.c (tree_ssa_prefetch_arrays): Remove
11277 assert.
11278 (pass_loop_prefetch::execute): Disabled optimization if an
11279 assumption about L1 cache size is not met.
11280
11281 2017-03-03 Martin Liska <mliska@suse.cz>
11282
11283 PR rtl-optimization/79574
11284 * gcse.c (struct gcse_expr): Use HOST_WIDE_INT instead of int.
11285 (hash_scan_set): Likewise.
11286 (dump_hash_table): Likewise.
11287 (hoist_code): Likewise.
11288
11289 2017-03-03 Richard Biener <rguenther@suse.de>
11290
11291 * fixed-value.c (fixed_from_string): Restore use of elt (1)
11292 in place of uhigh ().
11293 (fixed_convert_from_real): Likewise.
11294
11295 2017-03-03 Uros Bizjak <ubizjak@gmail.com>
11296
11297 PR target/79514
11298 * config/i386/i386.md (*pushxf_rounded): Use Pmode instead of DImode.
11299
11300 2017-03-03 Richard Biener <rguenther@suse.de>
11301
11302 PR middle-end/79818
11303 * match.pd ( X +- C1 CMP C2 -> X CMP C2 -+ C1): Add missing
11304 TYPE_OVERFLOW_UNDEFINED check.
11305
11306 2017-03-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11307
11308 * config/rs6000/vector.md (vector_ne_<mode>_p): Correct operand
11309 numbers.
11310 (vector_ae_<mode>_p): Likewise.
11311 (vector_nez_<mode>_p): Likewise.
11312 (vector_ne_v2di_p): Likewise.
11313 (vector_ae_v2di_p): Likewise.
11314 (vector_ne_<mode>_p): Likewise.
11315 * config/rs6000/vsx.md (vsx_tsqrt<mode>2_fg): Correct operand
11316 numbers.
11317 (vsx_tsqrt<mode>2_fe): Likewise.
11318
11319 2017-03-02 Uros Bizjak <ubizjak@gmail.com>
11320
11321 PR target/79514
11322 * config/i386/i386.md (*pushxf_rounded): New insn_and_split pattern.
11323
11324 2017-03-02 Jakub Jelinek <jakub@redhat.com>
11325
11326 PR rtl-optimization/79780
11327 * cprop.c (one_cprop_pass): When second and further conditional trap
11328 in a single basic block is turned into an unconditional trap, turn it
11329 into a deleted note to avoid RTL verification failures.
11330
11331 2017-03-02 Richard Biener <rguenther@suse.de>
11332
11333 * fold-const.c (const_binop): Use ulow () instead of elt (0).
11334
11335 2017-03-02 Richard Biener <rguenther@suse.de>
11336
11337 PR tree-optimization/79345
11338 PR c++/42000
11339 * tree-ssa-alias.c (walk_aliased_vdefs_1): Take a limit
11340 param and abort the walk, returning -1 if it is hit.
11341 (walk_aliased_vdefs): Take a limit param and pass it on.
11342 * tree-ssa-alias.h (walk_aliased_vdefs): Add a limit param,
11343 defaulting to 0 and return a signed int.
11344 * tree-ssa-uninit.c (struct check_defs_data): New struct.
11345 (check_defs): New helper.
11346 (warn_uninitialized_vars): Use walk_aliased_vdefs to warn
11347 about uninitialized memory.
11348 * fixed-value.c (fixed_from_string): Use ulow/uhigh to avoid
11349 bogus uninitialized warning.
11350 (fixed_convert_from_real): Likewise.
11351
11352 2017-03-02 Bin Cheng <bin.cheng@arm.com>
11353
11354 PR tree-optimization/66768
11355 * tree-ssa-loop-ivopts.c (find_interesting_uses_address): Skip addr
11356 iv_use if base object can't be determined.
11357
11358 2017-03-02 Jakub Jelinek <jakub@redhat.com>
11359
11360 PR tree-optimization/79345
11361 * gensupport.h (struct pattern_stats): Add min_scratch_opno field.
11362 * gensupport.c (get_pattern_stats_1) <case MATCH_SCRATCH>: Update it.
11363 (get_pattern_stats): Initialize it.
11364 * genemit.c (gen_expand): Verify match_scratch numbers come after
11365 match_operand/match_dup numbers.
11366 * config/i386/i386.md (<s>mul<mode>3_highpart): Swap match_dup and
11367 match_scratch numbers.
11368 * config/i386/sse.md (avx2_gathersi<mode>, avx2_gatherdi<mode>):
11369 Likewise.
11370 * config/s390/s390.md (trunctdsd2): Likewise.
11371
11372 2017-03-02 Richard Biener <rguenther@suse.de>
11373
11374 * wide-int.h (wide_int_storage::operator=): Implement in terms
11375 of wi::copy.
11376
11377 2017-03-02 Richard Biener <rguenther@suse.de>
11378
11379 PR tree-optimization/79777
11380 * tree-ssa-pre.c (eliminate_insert): Give up if we simplify
11381 the to insert expression to sth existing.
11382
11383 2017-03-01 Martin Sebor <msebor@redhat.com>
11384
11385 PR middle-end/79692
11386 * gimple-ssa-sprintf.c
11387 (directive::known_width_and_precision): New function.
11388 (format_integer): Use it.
11389 (get_mpfr_format_length): Consider the full range of precision
11390 when computing %g output with the # flag. Set the likely byte
11391 count to 3 rather than 1 when precision is indeterminate.
11392 (format_floating): Correct the lower bound of precision.
11393
11394 2017-03-01 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11395
11396 * doc/invoke.texi: Document default code model for 64-bit Linux.
11397
11398 2017-03-01 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
11399
11400 PR target/79752
11401 * config/rs6000/rs6000.md (peephole2 for udiv/umod): Should emit
11402 udiv rather than div since input pattern is unsigned.
11403
11404 2017-03-01 Uros Bizjak <ubizjak@gmail.com>
11405
11406 * config/i386/i386.c (print_reg): Warn for values of
11407 unsupported size in integer register.
11408
11409 2017-03-01 Michael Meissner <meissner@linux.vnet.ibm.com>
11410
11411 PR target/79439
11412 * config/rs6000/predicates.md (current_file_function_operand): Do
11413 not allow self calls to be local if the function is replaceable.
11414
11415 2017-03-01 Kelvin Nilsen <kelvin@gcc.gnu.org>
11416
11417 PR target/79395
11418 * config/rs6000/altivec.h (vec_ctz and others): Change the
11419 preprocessor macro that controls conditional compilation from
11420 _ARCH_PWR9 to __POWER9_VECTOR__.
11421 (vec_all_ne): Change parameterization of __altivec_scalar_pred
11422 macro expansion under preprocessor #ifdef __POWER9_VECTOR__
11423 control (instead of _ARCH_PWR9 control) so that template
11424 definition uses power9-specific function.
11425 (vec_any_eq): Likewise.
11426 (vec_all_ne): Change macro definition to use a power9-specific
11427 expansion under #ifdef __POWER9_VECTOR__ control (instead of
11428 _ARCH_PWR9 control).
11429 (vec_any_eq) Likewise.
11430 * config/rs6000/rs6000-builtin.def (CMPNEF): Remove BU_P9V_AV_2
11431 expansion for CMPNEF to remove support for xvcmpnesp instruction.
11432 (CMPNED): Remove BU_P9V_AV2 expansion for CMPNED to remove
11433 support for xvcmpnedp instruction.
11434 (VCMPNEB_P): Replace BU_P9V_AV_P macro expansion with BU_P9V_AV_2
11435 macro expansion so that Power9 implementation of vec_all_ne does
11436 not use the AltiVec predicate framework.
11437 (VCMPNEH_P): Likewise.
11438 (VCMPNEW_P): Likewise.
11439 (VCMPNED_P): Likewise.
11440 (VCMPNEFP_P): Likewise.
11441 (VCMPNEDP_P): Likewise.
11442 (VCMPAEB_P): Add BU_P9V_AV_2 macro expansion to change
11443 implementation of vec_any_eq to not use AltiVec predicate
11444 framework.
11445 (VCMPAEH_P): Likewise.
11446 (VCMPAEW_P): Likewise.
11447 (VCMPAED_P): Likewise.
11448 (VCMPAEFP_P): Likewise.
11449 (VCMPAEDP_P): Likewise.
11450 (VCMPNE_P): Replace BU_P9V_OVERLOAD_P macro expansion with
11451 BU_P9V_OVERLOAD_2 so that Power9 implementation of vec_all_ne does
11452 not use the AltiVec predicate framework.
11453 (VCMPAE_P): Add BU_P9V_OVERLOAD_2 macro to change implementation
11454 of vec_any_eq to not use AltiVec predicate framework.
11455 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Add
11456 support for predefined __POWER9_VECTOR__ macro to indicate that
11457 Power9 instruction selection is enabled.
11458 (altivec_overloaded_builtins): Remove extraneous
11459 ALTIVEC_BUILTIN_VEC_CMPNE entry for overloaded
11460 function argument types RS6000_BTI_bool_V16QI and
11461 RS6000_BTI_bool_V16QI. Remove erroneous ALTIVEC_BUILTIN_VEC_CMPNE
11462 entry for overloaded function argument types RS6000_BTI_bool_V4SI
11463 andRS6000_BTI_bool_V4SI, mapping to P9V_BUILTIN_CMPNEB. Remove
11464 two entries mapping to P9V_BUITIN_CMPNED and one entry mapping to
11465 P9V_BUILTIN_CMPNEF to force use of instructions not specific to
11466 Power9 for implementations of vec_cmpne. Change the signature for
11467 all definitions of the overloaded P9V_BUILTIN_VEC_CMPNE_P function
11468 (representing vec_all_ne) to remove the previously described first
11469 argument of type RS6000_BTI_INTSI, as this was an artifact of
11470 reliance on the AltiVec predicate framework, which is no longer
11471 used in the implementation of these functions. Add
11472 P9V_BUILTIN_VEC_VCMPAE_P entries (representing the vec_anyeq
11473 function) to match all of the P9V_BUILTIN_VEC_VCMNE_P entries
11474 since, unlike the AltiVec predicate framework implementation, we
11475 do not share function descriptors between vec_alle and vec_anyeq.
11476 (altivec_resolve_overloaded_builtin): Add SFmode and DFmode to the
11477 set of modes that receive special treatment even when
11478 TARGET_P9_VECTOR is true. The special treatment emits code that
11479 does not depend on Power9 instructions.
11480 * config/rs6000/vector.md (vector_ne_<mode>_p): Change this
11481 define_expand to not rely on AltiVec predicate framework.
11482 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
11483 function.
11484 (vector_ne_v2di_p): Change this define_expand to not rely on
11485 AltiVec predicate framework.
11486 (vector_ae_v2di_p): New define_expand to represent vec_any_eq
11487 function.
11488 (vector_ne_<mode>_p): Change this define_expand to not rely on
11489 AltiVec predicate framework.
11490 (vector_ae_<mode>p): New define_expand to represent vec_any_eq
11491 function.
11492 * config/rs6000/vsx.md (*vsx_ne_<mode>_p): For modes VSX_EXTRACT_I
11493 (V16QI, V8HI, V4SI), correct a typo in the code emitted for this
11494 define_insn pattern.
11495 (*vsx_ne_<mode>_p): For modes VSX_F (V4SF and V2DF), remove this
11496 define_insn pattern because the xvcmpne<VSs>. instruction is not
11497 supported.
11498 (vcmpne<VSs>): Remove this define_insn because xvcmpne<VSs>
11499 instruction is not supported.
11500
11501 2017-03-01 Jakub Jelinek <jakub@redhat.com>
11502
11503 * config/nvptx/nvptx.c: Include intl.h.
11504
11505 2017-03-01 Martin Jambor <mjambor@suse.cz>
11506
11507 PR lto/78140
11508 * ipa-prop.h (ipa_bits): Removed field known.
11509 (ipa_jump_func): Removed field vr_known. Changed fields bits and m_vr
11510 to pointers. Adjusted their comments to warn about their sharing.
11511 (ipcp_transformation_summary): Change bits to a vector of pointers.
11512 (ipa_check_create_edge_args): Moved to ipa-prop.c, declare.
11513 (ipa_get_ipa_bits_for_value): Declare.
11514 * tree-vrp.h (value_range): Mark as GTY((for_user)).
11515 * ipa-prop.c (ipa_bit_ggc_hash_traits): New.
11516 (ipa_bits_hash_table): Likewise.
11517 (ipa_vr_ggc_hash_traits): Likewise.
11518 (ipa_vr_hash_table): Likewise.
11519 (ipa_print_node_jump_functions_for_edge): Adjust for bits and m_vr
11520 being pointers and vr_known being removed.
11521 (ipa_set_jf_unknown): Likewise.
11522 (ipa_get_ipa_bits_for_value): New function.
11523 (ipa_set_jfunc_bits): Likewise.
11524 (ipa_get_value_range): New overloaded functions.
11525 (ipa_set_jfunc_vr): Likewise.
11526 (ipa_compute_jump_functions_for_edge): Use the above functions to
11527 construct bits and vr parts of jump functions.
11528 (ipa_check_create_edge_args): Move here from ipa-prop.h, also allocate
11529 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
11530 exist.
11531 (ipcp_grow_transformations_if_necessary): Also allocate
11532 ipa_bits_hash_table and ipa_vr_hash_table if they do not already
11533 exist.
11534 (ipa_node_params_t::duplicate): Do not copy bits, just pointers to
11535 them. Fix too long lines.
11536 (ipa_write_jump_function): Adjust for bits and m_vr being pointers and
11537 vr_known being removed.
11538 (ipa_read_jump_function): Use new setter functions to construct bits
11539 and vr parts of jump functions or set them to NULL.
11540 (write_ipcp_transformation_info): Adjust for bits being pointers.
11541 (read_ipcp_transformation_info): Likewise.
11542 (ipcp_update_bits): Likewise. Fix excessively long lines a trailing
11543 space.
11544 Include gt-ipa-prop.h.
11545 * ipa-cp.c (propagate_bits_across_jump_function): Adjust for bits
11546 being pointers.
11547 (ipcp_store_bits_results): Likewise.
11548 (propagate_vr_across_jump_function): Adjust for m_vr being a pointer.
11549 Do not write to existing jump functions but use a temporary instead.
11550
11551 2017-03-01 Jakub Jelinek <jakub@redhat.com>
11552
11553 PR c++/79681
11554 * fold-const.c (make_bit_field_ref): If orig_inner is COMPONENT_REF,
11555 attempt to use its first operand as BIT_FIELD_REF base.
11556
11557 2017-03-01 Richard Biener <rguenther@suse.de>
11558
11559 PR middle-end/79721
11560 * tree-chrec.c (chrec_evaluate): Perform computation of Newtons
11561 interpolating formula in wrapping arithmetic.
11562 (chrec_apply): Convert chrec_evaluate return value to wanted type.
11563
11564 2017-03-01 Jakub Jelinek <jakub@redhat.com>
11565
11566 PR tree-optimization/79734
11567 * tree-vect-generic.c (expand_vector_condition): Optimize
11568 AVX512 vector boolean VEC_COND_EXPRs into bitwise operations.
11569 Handle VEC_COND_EXPR where comparison has different inner width from
11570 type's inner width.
11571
11572 2017-02-28 Sandra Loosemore <sandra@codesourcery.com>
11573
11574 * doc/invoke.texi (ARC Options): Copy-edit to fix punctuation,
11575 markup, and similar issues. Remove @opindex entries for things
11576 that aren't options. Add missing -mmpy-option entries.
11577
11578 2017-02-28 Jakub Jelinek <jakub@redhat.com>
11579
11580 PR tree-optimization/79737
11581 * gimple-ssa-store-merging.c (encode_tree_to_bitpos): If bitlen is
11582 a multiple of BITS_PER_UNIT and !BYTES_BIG_ENDIAN, clear
11583 tmpbuf[byte_size - 1]. Call natice_encode_expr with byte_size - 1
11584 instead of byte_size. Formatting fix.
11585 (shift_bytes_in_array_right): Formatting fix.
11586
11587 2017-02-28 Eric Botcazou <ebotcazou@adacore.com>
11588
11589 PR target/79749
11590 * config/sparc/sparc.c (sparc_frame_pointer_required): Add missing
11591 condition on optimize for the leaf function test.
11592
11593 2017-02-28 Martin Liska <mliska@suse.cz>
11594
11595 PR lto/79625
11596 * read-rtl-function.c (function_reader::handle_unknown_directive):
11597 Bail out when one uses -flto.
11598
11599 2017-02-28 Martin Liska <mliska@suse.cz>
11600
11601 * common.opt: Replace space with tabular for options of <number>
11602 type.
11603 * config/i386/i386.opt: Show <number> value for
11604 -mlarge-data-threshold.
11605 * opts.c (print_filtered_help): Do not display number in hexadecimal
11606 format.
11607
11608 2017-02-28 Martin Liska <mliska@suse.cz>
11609
11610 * common.opt: Fix --help=option -Q for options which are of
11611 an enum type.
11612
11613 2017-02-28 Uros Bizjak <ubizjak@gmail.com>
11614
11615 * config/i386/i386.c (print_reg): Error out for values
11616 of 8-bit size in invalid integer register.
11617
11618 2017-02-28 Martin Sebor <msebor@redhat.com>
11619
11620 PR tree-optimization/79691
11621 * passes.def (pass_all_optimizations_g): Enable pass_sprintf_length.
11622
11623 2017-02-28 Jakub Jelinek <jakub@redhat.com>
11624
11625 PR target/79729
11626 * config/i386/i386.c (ix86_print_operand) <case 'R'>: Replace
11627 gcc_unreachable with output_operand_lossage.
11628
11629 2017-02-28 Richard Biener <rguenther@suse.de>
11630
11631 PR tree-optimization/79740
11632 * tree-ssa-sccvn.c (vn_nary_op_insert_into): Allow redundant
11633 inserts.
11634 (visit_nary_op): Insert the nary into the hashtable if we
11635 pattern-matched sth.
11636 * tree-ssa-pre.c (eliminate_insert): Robustify.
11637
11638 2017-02-28 Richard Biener <rguenther@suse.de>
11639
11640 PR middle-end/79731
11641 * fold-const.c (decode_field_reference): Reject out-of-bound
11642 accesses.
11643
11644 2017-02-28 Jakub Jelinek <jakub@redhat.com>
11645
11646 * config/i386/i386.c: Include intl.h.
11647 (ix86_option_override_internal): Use cond ? G_("...") : G_("...")
11648 instead of just cond ? "..." : "...".
11649 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Likewise.
11650 * coverage.c (read_counts_file): Likewise.
11651 * omp-offload.c: Include intl.h.
11652 (oacc_loop_fixed_partitions): Use cond ? G_("...") : G_("...") instead
11653 of just cond ? "..." : "...".
11654 * gcov.c (read_count_file): Use cond ? N_("...") : N_("...") instead
11655 of just cond ? "..." : "...".
11656
11657 2017-02-28 Richard Earnshaw <rearnsha@arm.com>
11658
11659 PR target/79742
11660 * config/arm/parsecpu.awk (gen_data): Set tuning target to 'tune for'
11661 entry, if present.
11662 * config/arm/arm-cpus.in (cortex-m0plus.small-multiply): Correct
11663 'tune for' CPU name.
11664 * config/arm/arm-cpu-data.h: Regenerated.
11665
11666 2017-02-28 Richard Biener <rguenther@suse.de>
11667
11668 PR tree-optimization/79732
11669 * tree-inline.c (expand_call_inline): Do not shadow var.
11670
11671 2017-02-28 Richard Biener <rguenther@suse.de>
11672
11673 PR tree-optimization/79723
11674 * tree-vect-stmts.c (get_vectype_for_scalar_type_and_size): Preserve
11675 address-space properly.
11676
11677 2017-02-28 Thomas Schwinge <thomas@codesourcery.com>
11678
11679 * doc/optinfo.texi (Optimization groups): Fix option used for
11680 OPTGROUP_ALL.
11681 * doc/invoke.texi (-fopt-info): Document "omp".
11682 * dumpfile.h: Sort OPTGROUP_OMP before OPTGROUP_VEC.
11683 (OPTGROUP_ALL): Add OPTGROUP_OMP.
11684 * hsa-gen.c (pass_data_gen_hsail): Use OPTGROUP_OMP.
11685 * ipa-hsa.c (pass_data_ipa_hsa): Likewise.
11686 * omp-simd-clone.c (pass_data_omp_simd_clone): Likewise.
11687
11688 * dumpfile.h (OPTGROUP_OPENMP): Rename to OPTGROUP_OMP. Adjust
11689 all users.
11690 * dumpfile.c (optgroup_options): Instead of "openmp", associate
11691 OPTGROUP_OMP with "omp".
11692
11693 2017-02-27 Pat Haugen <pthaugen@us.ibm.com>
11694
11695 PR target/79544
11696 * config/rs6000/rs6000-c.c (struct altivec_builtin_types): Use VSRAD
11697 for arithmetic shift of unsigned V2DI.
11698
11699 2017-02-27 Claudiu Zissulescu <claziss@synopsys.com>
11700
11701 * config.gcc (arc*-): Clean up, use arc/big.h, arc/elf.h, and
11702 arc/linux.h headers.
11703 * config/arc/arc.h (TARGET_OS_CPP_BUILTINS): Remove.
11704 (LINK_SPEC): Likewise.
11705 (ARC_TLS_EXTRA_START_SPEC): Likewise.
11706 (EXTRA_SPECS): Likewise.
11707 (STARTFILE_SPEC): Likewise.
11708 (ENDFILE_SPEC): Likewise.
11709 (LIB_SPEC): Likewise.
11710 (TARGET_SDATA_DEFAULT): Likewise.
11711 (TARGET_MMEDIUM_CALLS_DEFAULT): Likewise.
11712 (MULTILIB_DEFAULTS): Likewise.
11713 (DWARF2_UNWIND_INFO): Likewise.
11714 * config/arc/big.h: New file.
11715 * config/arc/elf.h: Likewise.
11716 * config/arc/linux.h: Likewise.
11717 * config/arc/t-uClibc: Remove.
11718
11719 2017-02-27 Bin Cheng <bin.cheng@arm.com>
11720
11721 PR tree-optimization/77536
11722 * tree-ssa-loop-manip.c (niter_for_unrolled_loop): New function.
11723 (tree_transform_and_unroll_loop): Use above function to compute the
11724 estimated niter of unrolled loop and use it when scaling profile.
11725 Also use count info rather than frequency if it's non-zero.
11726 * tree-ssa-loop-manip.h niter_for_unrolled_loop(): New declaration.
11727 * tree-vect-loop.c (scale_profile_for_vect_loop): New function.
11728 (vect_transform_loop): Call above function.
11729
11730 2017-02-27 Richard Biener <rguenther@suse.de>
11731
11732 PR tree-optimization/45397
11733 * tree-ssa-pre.c (eliminate_insert): Handle BIT_AND_EXPR.
11734 * tree-ssa-sccvn.c (valueized_wider_op): New helper.
11735 (visit_nary_op): Add pattern matching for CSEing sign-changed
11736 or truncated operations with wider ones.
11737
11738 2017-02-27 Richard Biener <rguenther@suse.de>
11739
11740 PR tree-optimization/79690
11741 * tree-vect-stmts.c (vectorizable_store): Use vector type
11742 built from the DR with address-space.
11743
11744 2017-02-26 Gerald Pfeifer <gerald@pfeifer.com>
11745
11746 * doc/invoke.texi (Optimize Options): Refine the description
11747 of asan-use-after-return.
11748
11749 2017-02-25 Alan Modra <amodra@gmail.com>
11750
11751 PR rtl-optimization/79584
11752 * lra-constraints.c (base_to_reg): Reload ad->base, the entire
11753 base, not ad->base_term, the reg within base. Remove assertion
11754 that ad->base == ad->base_term. Replace gen_int_mode using
11755 bogus mode with const0_rtx.
11756
11757 2017-02-25 Jakub Jelinek <jakub@redhat.com>
11758
11759 PR middle-end/79396
11760 * tree-eh.c (operation_could_trap_p, stmt_could_throw_1_p): Handle
11761 FMA_EXPR like tcc_binary or tcc_unary.
11762
11763 * tree-ssa-loop-niter.c (number_of_iterations_exit): Simplify warning.
11764
11765 PR debug/77589
11766 * dwarf2out.c (struct dw_loc_list_struct): Add noted_variable_value
11767 bitfield.
11768 (size_of_loc_descr): Handle DW_OP_GNU_variable_value.
11769 (output_loc_operands): Handle DW_OP_call_ref and
11770 DW_OP_GNU_variable_value.
11771 (struct variable_value_struct): New type.
11772 (struct variable_value_hasher): Likewise.
11773 (variable_value_hash): New variable.
11774 (string_types): Remove.
11775 (copy_loc_descr): New function.
11776 (add_loc_descr_to_each): Clarify comment. Use copy_loc_descr.
11777 (prepend_loc_descr_to_each): New function.
11778 (add_loc_list): Fix comment typo. Use prepend_loc_descr_to_each
11779 instead of add_loc_descr_to_each if the first argument is single
11780 location list and the second has multiple.
11781 (resolve_args_picking_1): Handle DW_OP_GNU_variable_value.
11782 (loc_list_from_tree_1): For early_dwarf, emit DW_OP_GNU_variable_value
11783 when looking for variable value which doesn't have other location info.
11784 (loc_list_from_tree): Formatting fix.
11785 (gen_array_type_die): Simplify DW_AT_string_length handling.
11786 (adjust_string_types): Remove.
11787 (gen_subprogram_die): Don't call adjust_string_types nor test/set
11788 string_types. Call resolve_variable_values.
11789 (prune_unused_types_walk_loc_descr): Handle DW_OP_GNU_variable_value.
11790 (resolve_addr_in_expr): Likewise. Add A argument.
11791 (copy_deref_exprloc): Remove deref argument. Adjust for the
11792 original expression being DW_OP_GNU_variable_value with optionally
11793 DW_OP_stack_value after it instead of DW_OP_call4 with DW_OP_deref
11794 optionally after it.
11795 (optimize_string_length): Rework for DW_OP_GNU_variable_value.
11796 (resolve_addr): Adjust optimize_string_length and resolve_addr_in_expr
11797 callers. Set remove_AT_byte_size if removing DW_AT_string_length.
11798 (variable_value_hasher::hash, variable_value_hasher::equal): New
11799 methods.
11800 (resolve_variable_value_in_expr, resolve_variable_value,
11801 resolve_variable_values, note_variable_value_in_expr,
11802 note_variable_value): New functions.
11803 (dwarf2out_early_finish): Call note_variable_value on all toplevel
11804 DIEs.
11805
11806 2017-02-24 Jakub Jelinek <jakub@redhat.com>
11807
11808 PR c/79677
11809 * opts.h (handle_generated_option): Add GENERATED_P argument.
11810 * opts-common.c (handle_option): Adjust function comment.
11811 (handle_generated_option): Add GENERATED_P argument, pass it to
11812 handle_option.
11813 (control_warning_option): Pass false to handle_generated_option
11814 GENERATED_P.
11815 * opts.c (maybe_default_option): Pass true to handle_generated_option
11816 GENERATED_P.
11817 * optc-gen.awk: Likewise.
11818
11819 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11820
11821 * config/sh/sh.md (tstsi_t): If operands[0] is a SUBREG instead of
11822 a REG, look at the REG it is a SUBREG of.
11823 (splitter for cmpeqsi_t): Ditto.
11824
11825 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11826
11827 * config/pa/pa.c (pa_combine_instructions): Do not share RTL. Make
11828 the special USEs with the pattern of the insn, not the insn itself.
11829
11830 2017-02-24 Matthew Fortune <matthew.fortune@imgtec.com>
11831
11832 PR target/79473
11833 * doc/invoke.texi: Document -mload-store-pairs.
11834
11835 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11836 Sandra Loosemore <sandra@codesourcery.com>
11837
11838 * config/nios2/nios2.c (nios2_simple_const_p): Returns false if the
11839 argument isn't a CONST_INT.
11840 (nios2_alternate_compare_const): Assert op is a CONST_INT.
11841 (nios2_valid_compare_const_p): Assert op is a CONST_INT.
11842 (nios2_validate_compare): Bypass alternate compare logic if *op2
11843 is not a CONST_INT.
11844 (ldstwm_operation_p): Return false if first_base is not a REG or
11845 if first_offset is not a CONST_INT.
11846
11847 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11848
11849 * config/cris/cris.md: Use correct operand in a define_peephole2.
11850
11851 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11852
11853 * config/c6x/c6x.c (predicate_insn): Do not incorrectly share RTL.
11854
11855 2017-02-24 Segher Boessenkool <segher@kernel.crashing.org>
11856
11857 * config/arc/arc.c (arc_ccfsm_advance): Only take the PATTERN of
11858 this_insn if it is an INSN or JUMP_INSN.
11859 (force_offsettable): Look at base, not at addr.
11860 * config/arc/predicates.md (brcc_nolimm_operator): Don't call INTVAL
11861 on things that aren't necessarily CONST_INTs.
11862
11863 2017-02-24 Uros Bizjak <ubizjak@gmail.com>
11864
11865 * doc/invoke.texi (x86 Options, -mfpmath=sse): Mention that
11866 -mfpmath=sse is the default also for x86-32 targets with SSE2
11867 instruction set when @option{-ffast-math} is enabled
11868
11869 2017-02-24 Jeff Law <law@redhat.com>
11870
11871 PR rtl-optimizatoin/79286
11872 * ira.c (update_equiv_regs): Drop may_trap_p exception to
11873 dominance test.
11874
11875 2017-02-24 Richard Biener <rguenther@suse.de>
11876
11877 PR tree-optimization/79389
11878 * gimple-ssa-split-paths.c (is_feasible_trace): Properly skip
11879 debug insns.
11880
11881 2017-02-24 Aldy Hernandez <aldyh@redhat.com>
11882
11883 * tree-ssa-loop-niter.c (number_of_iterations_exit): Update
11884 function comment to reflect reality.
11885 (loop_exits_before_overflow): Fix typo in function description.
11886
11887 2017-02-24 Richard Biener <rguenther@suse.de>
11888
11889 PR tree-optimization/79389
11890 * gimple-ssa-split-paths.c (is_feasible_trace): Verify more
11891 properly that a threading opportunity exists. Detect conditional
11892 copy/constant propagation opportunities.
11893
11894 2017-02-23 Eric Botcazou <ebotcazou@adacore.com>
11895
11896 * config/visium/visium.md (type): Add trap.
11897 (b): New mode attribute.
11898 (*btst): Rename into...
11899 (*btst<mode>): ...this and adjust.
11900 (*cbranchsi4_btst_insn): Rename into...
11901 (*cbranch<mode>4_btst_insn): ...this and adjust.
11902 (trap): New define_insn.
11903
11904 2017-02-23 Jakub Jelinek <jakub@redhat.com>
11905
11906 PR tree-optimization/79389
11907 * ifcvt.c (struct noce_if_info): Add rev_cond field.
11908 (noce_reversed_cond_code): New function.
11909 (noce_emit_store_flag): Use rev_cond if non-NULL instead of
11910 reversed_comparison_code. Formatting fix.
11911 (noce_try_store_flag): Test rev_cond != NULL in addition to
11912 reversed_comparison_code.
11913 (noce_try_store_flag_constants): Likewise.
11914 (noce_try_store_flag_mask): Likewise.
11915 (noce_try_addcc): Use rev_cond if non-NULL instead of
11916 reversed_comparison_code.
11917 (noce_try_cmove_arith): Likewise. Formatting fixes.
11918 (noce_try_minmax, noce_try_abs): Clear rev_cond.
11919 (noce_find_if_block): Initialize rev_cond.
11920 (find_cond_trap): Call noce_get_condition with then_bb == trap_bb
11921 instead of false as last argument never attempt to reverse it
11922 afterwards.
11923
11924 2017-02-23 Bin Cheng <bin.cheng@arm.com>
11925
11926 PR tree-optimization/79663
11927 * tree-predcom.c (combine_chains): Process refs in reverse order
11928 only for ZERO length chains, and add explaining comment.
11929
11930 2017-02-23 Jeff Law <law@redhat.com>
11931
11932 PR tree-optimization/79578
11933 * tree-ssa-dse.c (clear_bytes_written_by): Use OEP_ADDRESS_OF
11934 in call to operand_equal_p.
11935
11936 2017-01-23 Dominique d'Humieres <dominiq@lps.ens.fr>
11937
11938 PR target/71017
11939 * config/i386/cpuid.h: Fix another undefined behavior.
11940
11941 2017-02-23 Richard Biener <rguenther@suse.de>
11942
11943 PR tree-optimization/79683
11944 * tree-vect-stmts.c (vect_analyze_stmt): Do not overwrite
11945 vector types for data-refs.
11946
11947 2017-02-23 Martin Liska <mliska@suse.cz>
11948
11949 * params.def (PARAM_MIN_NONDEBUG_INSN_UID): Change default to 0.
11950
11951 2017-02-23 Jakub Jelinek <jakub@redhat.com>
11952
11953 PR middle-end/79665
11954 * internal-fn.c (get_range_pos_neg): Moved to ...
11955 * tree.c (get_range_pos_neg): ... here. No longer static.
11956 * tree.h (get_range_pos_neg): New prototype.
11957 * expr.c (expand_expr_real_2) <case TRUNC_DIV_EXPR>: If both arguments
11958 are known to be in between 0 and signed maximum inclusive, try to
11959 expand both unsigned and signed divmod and use the cheaper one from
11960 those.
11961
11962 2017-02-22 Jeff Law <law@redhat.com>
11963
11964 PR tree-optimization/79578
11965 * tree-ssa-dse.c (clear_bytes_written_by): Use operand_equal_p
11966 to compare base operands.
11967
11968 2017-02-22 Segher Boessenkool <segher@kernel.crashing.org>
11969
11970 PR target/79211
11971 * config/rs6000/rs6000.md (*fsel<SFDF:mode><SFDF2:mode>4): Use
11972 gpc_reg_operand instead of fpr_reg_operand.
11973
11974 2017-02-22 Sameera Deshpande <sameera.deshpande@imgtec.com>
11975
11976 * config/mips/mips.c (mips_return_in_memory): Force FP
11977 vector types to be returned in memory for o32 ABI.
11978
11979 2017-02-22 Jakub Jelinek <jakub@redhat.com>
11980
11981 * dwarf2out.c (gen_variable_die): For -gdwarf-5, use DW_TAG_variable
11982 instead of DW_TAG_member for static data member declarations and don't
11983 set no_linkage_name for static inline data members.
11984 (gen_member_die): For -gdwarf-5 don't change DW_TAG_variable
11985 to DW_TAG_member.
11986
11987 2017-02-22 Martin Liska <mliska@suse.cz>
11988
11989 * doc/invoke.texi: Replace inequality signs with square brackets
11990 for -Wnormalized.
11991
11992 2017-02-22 Matthew Fortune <matthew.fortune@imgtec.com>
11993
11994 PR target/78660
11995 * lra-constraints.c (simplify_operand_subreg): Handle
11996 WORD_REGISTER_OPERATIONS targets.
11997
11998 2017-02-22 Jakub Jelinek <jakub@redhat.com>
11999
12000 PR target/70465
12001 * reg-stack.c (emit_swap_insn): Treat (float_extend:?F (mem:?F))
12002 and (const_double:?F) like (mem:?F) for the purpose of fxch %st(1)
12003 elimination by swapping fld*.
12004
12005 2017-02-22 Richard Biener <rguenther@suse.de>
12006
12007 PR tree-optimization/79673
12008 * tree-ssa-pre.c (compute_avail): Use wide_int_to_tree to
12009 convert the [TARGET_]MEM_REF offset INTEGER_CST, scrapping off
12010 irrelevant address-space qualifiers and avoiding a
12011 ADDR_SPACE_CONVERT_EXPR from fold_convert.
12012
12013 2017-02-22 Richard Biener <rguenther@suse.de>
12014
12015 PR tree-optimization/79666
12016 * tree-vrp.c (extract_range_from_binary_expr_1): Make sure
12017 to not symbolically negate if that may introduce undefined
12018 overflow.
12019
12020 2017-02-22 Martin Liska <mliska@suse.cz>
12021
12022 PR lto/79587
12023 * data-streamer-in.c (streamer_read_gcov_count): Remove assert.
12024 * data-streamer-out.c (streamer_write_gcov_count_stream):
12025 Likewise.
12026 * value-prof.c (stream_out_histogram_value): Make assert more
12027 precise based on type of counter.
12028
12029 2017-02-21 Uros Bizjak <ubizjak@gmail.com>
12030
12031 PR target/79593
12032 * config/i386/i386.md (standard_x87sse_constant_load splitter):
12033 Use nonimmediate_operand instead of memory_operand for operand 1.
12034 (float-extend standard_x87sse_constant_load splitter): Ditto.
12035
12036 2017-02-21 Jeff Law <law@redhat.com>
12037
12038 PR tree-optimization/79621
12039 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behavior): Ignore
12040 blocks with edges to themselves.
12041
12042 2017-02-21 Jakub Jelinek <jakub@redhat.com>
12043
12044 PR target/79633
12045 * tree-chkp-opt.c (chkp_optimize_string_function_calls): Use
12046 is_gimple_call instead of comparing gimple_code with GIMPLE_CALL.
12047 Use gimple_call_builtin_p.
12048
12049 PR target/79570
12050 * sel-sched.c (moveup_expr_cached): Don't call sel_bb_head
12051 on temporarily removed DEBUG_INSNs.
12052
12053 PR tree-optimization/79649
12054 * tree-loop-distribution.c (classify_partition): Give up on
12055 non-generic address space loads/stores.
12056
12057 2017-02-21 Aldy Hernandez <aldyh@redhat.com>
12058
12059 * doc/loop.texi (Loop manipulation): Remove nonexistent
12060 tree_ssa_loop_version from the documentation.
12061 * cfgloopmanip.c (loop_version): Document CONDITION_BB argument.
12062
12063 2017-02-21 Jakub Jelinek <jakub@redhat.com>
12064
12065 PR target/79494
12066 * config/i386/i386.c (ix86_expand_split_stack_prologue): Call
12067 make_reg_eh_region_note_nothrow_nononlocal on call_insn.
12068 * config/rs6000/rs6000.c: Include except.h.
12069 (rs6000_expand_split_stack_prologue): Call
12070 make_reg_eh_region_note_nothrow_nononlocal on the call insn.
12071
12072 2017-02-21 Martin Jambor <mjambor@suse.cz>
12073
12074 PR lto/79579
12075 * ipa-prop.c (ipa_prop_write_jump_functions): Bail out if no edges
12076 have been analyzed.
12077
12078 2017-02-21 Martin Jambor <mjambor@suse.cz>
12079
12080 * common.opt (-fipa-cp-alignment): Mark as ignored and preserved
12081 for backward compatibility only.
12082 * doc/invoke.texi (Option Summary): Remove all references to
12083 -fipa-cp-alignment.
12084
12085 2017-02-21 Matthew Fortune <matthew.fortune@imgtec.com>
12086
12087 PR target/78660
12088 Revert:
12089 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
12090
12091 * lra-constraints.c (curr_insn_transform): Handle
12092 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
12093
12094 2017-02-21 Martin Liska <mliska@suse.cz>
12095
12096 * config/i386/i386.opt: Replace -masm-dialect with -masm.
12097
12098 2017-02-21 Thomas Schwinge <thomas@codesourcery.com>
12099
12100 PR translation/79638
12101 * config/nvptx/nvptx.c (ENTRY_TEMPLATE): Single out "%ntid.y".
12102
12103 2017-02-21 Eric Botcazou <ebotcazou@adacore.com>
12104
12105 PR ada/67205
12106 * config/arm/arm.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define.
12107 (arm_function_ok_for_sibcall): Return false for an indirect call by
12108 descriptor if all the argument registers are used.
12109 (arm_relayout_function): Use FUNCTION_ALIGNMENT macro to adjust the
12110 alignment of the function.
12111
12112 2017-02-21 Jakub Jelinek <jakub@redhat.com>
12113
12114 PR tree-optimization/61441
12115 * simplify-rtx.c (simplify_const_unary_operation): For
12116 -fsignaling-nans and sNaN operand, return NULL_RTX rather than
12117 the sNaN unmodified.
12118
12119 2017-02-20 Bernd Edlinger <bernd.edlinger@hotmail.de>
12120
12121 * Makefile.in (BUILD_SYSTEM_HEADER_DIR): New make variabe.
12122 (LIMITS_H_TEST, if_multiarch, stmp-fixinc): Use BUILD_SYSTEM_HEADER_DIR
12123 instead of SYSTEM_HEADER_DIR.
12124
12125 2017-02-20 Gerald Pfeifer <gerald@pfeifer.com>
12126 Martin Liška <mliska@suse.cz>
12127
12128 * doc/invoke.texi (use-after-scope-direct-emission-threshold):
12129 Fix typos and grammar, use active voice, and clarify.
12130
12131 2017-02-20 Marek Polacek <polacek@redhat.com>
12132
12133 PR middle-end/79537
12134 * gimplify.c (gimplify_expr): Handle unused *&&L;.
12135
12136 PR sanitizer/79558
12137 * ubsan.c (ubsan_type_descriptor): Check if TYPE_MAX_VALUE is null.
12138
12139 2017-02-20 Jakub Jelinek <jakub@redhat.com>
12140
12141 PR target/79568
12142 * config/i386/i386.c (ix86_expand_builtin): Handle
12143 OPTION_MASK_ISA_AVX512VL and OPTION_MASK_ISA_64BIT in
12144 ix86_builtins_isa[fcode].isa as a requirement of those
12145 flags and any other flag in the bitmask.
12146 (ix86_init_mmx_sse_builtins): Use 0 instead of
12147 ~OPTION_MASK_ISA_64BIT as mask.
12148 * config/i386/i386-builtin.def (__builtin_ia32_rdtsc,
12149 __builtin_ia32_rdtscp, __builtin_ia32_pause, __builtin_ia32_bsrsi,
12150 __builtin_ia32_rdpmc, __builtin_ia32_rolqi, __builtin_ia32_rolhi,
12151 __builtin_ia32_rorqi, __builtin_ia32_rorhi): Likewise.
12152
12153 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
12154
12155 PR target/78012
12156 * lra-constraints.c (split_reg): Check requested split mode
12157 is supported by the register.
12158
12159 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
12160
12161 * lra-constraints.c (simplify_operand_subreg): Remove early
12162 return false.
12163
12164 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
12165
12166 PR target/78660
12167 * lra-constraints.c (curr_insn_transform): Tighten condition
12168 for converting SUBREG reloads from OP_OUT to OP_INOUT.
12169
12170 2017-02-20 Matthew Fortune <matthew.fortune@imgtec.com>
12171
12172 PR target/78660
12173 * lra-constraints.c (curr_insn_transform): Handle
12174 WORD_REGISTER_OPERATIONS requirements when reloading SUBREGs.
12175
12176 2017-02-19 Uros Bizjak <ubizjak@gmail.com>
12177
12178 Revert:
12179 2016-05-30 Uros Bizjak <ubizjak@gmail.com>
12180
12181 * config/i386/sync.md (mfence_nosse): Use "lock orl $0, -4(%esp)".
12182
12183 2017-02-19 Jonathan Wakely <jwakely@redhat.com>
12184
12185 PR c++/69523
12186 * doc/invoke.texi (C++ Dialect Options) [-Wliteral-suffix]: Update
12187 description.
12188
12189 2017-02-19 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12190
12191 * gimple-pretty-print.c (dump_ternary_rhs): Adjust gimple dump format
12192 for FMA_EXPR.
12193
12194 2017-02-18 Jakub Jelinek <jakub@redhat.com>
12195
12196 * final.c (last_columnnum, override_columnnum): New variables.
12197 (final_start_function): Set last_columnnum, pass it to begin_prologue
12198 hook and pass 0 to dwarf2out_begin_prologue.
12199 (final_scan_insn): Update override_columnnum. Pass last_columnnum
12200 to source_line debug hook.
12201 (notice_source_line): Compute last_columnnum and for debug_column_info
12202 return true on column changes.
12203 * debug.h (struct gcc_debug_hooks): Add column argument to
12204 source_line and begin_prologue hooks.
12205 (debug_nothing_int_charstar_int_bool): Remove prototype.
12206 (debug_nothing_int_int_charstar,
12207 debug_nothing_int_int_charstar_int_bool): New prototypes.
12208 (dwarf2out_begin_prologue): Add column argument.
12209 * debug.c (do_nothing_debug_hooks): Adjust source_line and
12210 begin_prologue hooks.
12211 (debug_nothing_int_charstar_int_bool): Remove.
12212 (debug_nothing_int_int_charstar,
12213 debug_nothing_int_int_charstar_int_bool): New functions.
12214 * dwarf2out.c (dwarf2out_begin_prologue): Add column argument, pass it
12215 through to dwarf2out_source_line.
12216 (dwarf2_lineno_debug_hooks): Adjust begin_prologue hook.
12217 (dwarf2out_source_line): Add column argument, emit it if requested.
12218 * sdbout.c (sdbout_source_line, sdbout_begin_prologue): Add column
12219 arguments.
12220 * xcoffout.h (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
12221 * xcoffout.c (xcoffout_begin_prologue, xcoffout_source_line): Likewise.
12222 * vmsdbgout.c (vmsdbgout_begin_prologue): Add column argument, pass it
12223 through to dwarf2out_begin_prologue.
12224 (vmsdbgout_source_line): Add column argument, pass it through to
12225 dwarf2out_source_line.
12226 * dbxout.c (dbxout_begin_prologue): Add column argument, adjust
12227 dbxout_source_line caller.
12228 (dbxout_source_line): Add column argument.
12229
12230 * common.opt (gno-column-info, gcolumn-info): New options.
12231 * dwarf2out.c (dwarf2_lineno_debug_hooks): Formatting fix.
12232 (check_die): Also test for multiple DW_AT_decl_column attributes.
12233 (add_src_coords_attributes, dwarf2out_imported_module_or_decl_1): Add
12234 DW_AT_decl_column if requested.
12235 (gen_subprogram_die): Compare and/or add also DW_AT_decl_column
12236 if requested.
12237 (gen_variable_die): Likewise.
12238 (add_call_src_coords_attributes): Add DW_AT_call_column if requested.
12239 * doc/invoke.texi (-gcolumn-info, -gno-column-info): Document.
12240
12241 PR target/79569
12242 * config/i386/i386.opt (m3dnowa): Replace Undocumented with Report.
12243 * common/config/i386/i386-common.c (OPTION_MASK_ISA_3DNOW_A_SET): Define.
12244 (ix86_handle_option): Handle OPT_m3dnowa.
12245 * doc/invoke.texi (-m3dnowa): Document.
12246 * doc/extend.texi (__builtin_ia32_pmulhuw, __builtin_ia32_pf2iw): Use
12247 -m3dnowa instead of -m3dnow -march=athlon.
12248
12249 PR target/79559
12250 * config/i386/i386.c (ix86_print_operand): Use output_operand_lossage
12251 instead of gcc_assert for K, r and R code checks. Formatting fixes.
12252
12253 2017-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12254
12255 PR target/79261
12256 * config/rs6000/rs6000.c (rs6000_expand_ternop_builtin): Add
12257 support for CODE_FOR_vsx_xxpermdi_v2d[fi]_be.
12258 * config/rs6000/rs6000.md (reload_gpr_from_vsx<mode>): Call
12259 generator for vsx_xxpermdi_<mode>_be.
12260 * config/rs6000/vsx.md (vsx_xxpermdi_<mode>): Remove logic to
12261 force big-endian semantics.
12262 (vsx_xxpermdi_<mode>_be): New define_expand with same
12263 implementation as previous version of vsx_xxpermdi_<mode>.
12264
12265 2017-02-17 Jakub Jelinek <jakub@redhat.com>
12266
12267 PR tree-optimization/79327
12268 * gimple-ssa-sprintf.c (format_integer): Remove likely_adjust
12269 variable, its initialization and use.
12270
12271 2017-02-17 Julia Koval <julia.koval@intel.com>
12272
12273 * common/config/i386/i386-common.c (OPTION_MASK_ISA_RDPID_SET): New.
12274 (OPTION_MASK_ISA_PKU_UNSET): New.
12275 (ix86_handle_option): Handle -mrdpid.
12276 * config/i386/cpuid.h (bit_RDPID): New.
12277 * config/i386/driver-i386.c (host_detect_local_cpu):
12278 Detect RDPID feature.
12279 * config/i386/i386-builtin.def (__builtin_ia32_rdpid): New.
12280 * config/i386/i386-c.c (ix86_target_macros_internal):
12281 Handle RDPID flag.
12282 * config/i386/i386.c (ix86_target_string): Add -mrdpid to isa2_opts.
12283 (ix86_valid_target_attribute_inner_p): Add "rdpid".
12284 (ix86_expand_builtin): Handle IX86_BUILTIN_RDPID.
12285 * config/i386/i386.h (TARGET_RDPID, TARGET_RDPID_P): New.
12286 * config/i386/i386.md (define_insn "rdpid"): New.
12287 * config/i386/i386.opt Add -mrdpid.
12288 * config/i386/immintrin.h (_rdpid_u32): New.
12289
12290 2017-02-17 Vladimir Makarov <vmakarov@redhat.com>
12291
12292 PR rtl-optimization/79541
12293 * lra-constraints.c (curr_insn_transform): Remove wrong asm insn
12294 instead of transforming it into USE.
12295
12296 2017-02-17 Segher Boessenkool <segher@kernel.crashing.org>
12297
12298 * config/rs6000/rs6000.md (extendsfdf2): Remove default arguments.
12299 If HONOR_SNANS (SFmode) force the input to a register.
12300 (*extendsfdf2_fpr): Add !HONOR_SNANS (SFmode) condition.
12301 (*extendsfdf2_snan): New pattern, used when using SNaNs; it generates
12302 an frsp or similar insn.
12303
12304 2017-02-17 Martin Liska <mliska@suse.cz>
12305
12306 PR rtl-optimization/79577
12307 * params.def (selsched-max-sched-times): Increase minimum to 1.
12308
12309 2017-02-17 Martin Liska <mliska@suse.cz>
12310
12311 PR rtl-optimization/79574
12312 * gcse.c (want_to_gcse_p): Prevent integer overflow.
12313
12314 2017-02-17 Martin Liska <mliska@suse.cz>
12315
12316 PR tree-optimization/79529
12317 * tree-ssa-loop-unswitch.c (is_maybe_undefined): Use
12318 ssa_defined_default_def_p to handle cases which are implicitly
12319 defined.
12320 * tree-ssa.c (ssa_defined_default_def_p): New function.
12321 (ssa_undefined_value_p): Use ssa_defined_default_def_p to handle cases
12322 which are implicitly defined.
12323 * tree-ssa.h (ssa_defined_default_def_p): Declare.
12324
12325 2017-02-17 Richard Biener <rguenther@suse.de>
12326
12327 PR middle-end/79576
12328 * params.def (max-ssa-name-query-depth): Limit to 10.
12329
12330 2017-02-17 Richard Biener <rguenther@suse.de>
12331
12332 PR tree-optimization/79552
12333 * tree-ssa-structalias.c (visit_loadstore): Properly verify
12334 default defs.
12335
12336 2017-02-17 Richard Biener <rguenther@suse.de>
12337
12338 PR bootstrap/79567
12339 * genmatch.c (output_line_directive): Handle DIR_SEPARATOR_2.
12340
12341 2017-02-17 Marek Polacek <polacek@redhat.com>
12342
12343 PR middle-end/79536
12344 * fold-const.c (fold_negate_expr_1): Renamed from fold_negate_expr.
12345 (fold_negate_expr): New wrapper.
12346
12347 2017-02-16 Sandra Loosemore <sandra@codesourcery.com>
12348
12349 * doc/invoke.texi (C++ Dialect Options) [-Wno-non-template-friend]:
12350 Correct terminology and de-emphasize pre-standard behavior.
12351
12352 2017-02-16 Alan Modra <amodra@gmail.com>
12353
12354 PR rtl-optimization/79286
12355 * ira.c (def_dominates_uses): New function.
12356 (update_equiv_regs): Don't create an equivalence for insns that
12357 may trap where the register def does not dominate the use.
12358
12359 2017-02-16 Vladimir Makarov <vmakarov@redhat.com>
12360
12361 PR rtl-optimization/78127
12362 * lra.c (lra): Call lra_eliminate before finish the loop after
12363 lra_constraint.
12364
12365 2017-02-16 Richard Biener <rguenther@suse.de>
12366
12367 * graphite.h: Do not include isl/isl_val_gmp.h, instead include
12368 isl/isl_val.h.
12369 * graphite-isl-ast-to-gimple.c (gmp_cst_to_tree): Remove.
12370 (gcc_expression_from_isl_expr_int): Use generic isl_val interface.
12371 * graphite-sese-to-poly.c: Do not include isl/isl_val_gmp.h.
12372 (isl_val_int_from_wi): New function.
12373 (extract_affine_gmp): Rename to ...
12374 (extract_affine_wi): ... this, take a widest_int.
12375 (extract_affine_int): Just wrap extract_affine_wi.
12376 (add_param_constraints): Use isl_val_int_from_wi.
12377 (add_loop_constraints): Likewise, and extract_affine_wi.
12378
12379 2017-02-15 Jeff Law <law@redhat.com>
12380
12381 PR middle-end/79521
12382 * ira-costs.c (scan_one_insn): Check have_regs_of_mode before calling
12383 ira_init_register_move_cost_if_necessary.
12384
12385 2017-02-15 Martin Sebor <msebor@redhat.com>
12386
12387 PR middle-end/32003
12388 * doc/invoke.texi (-fdump-final-insns): Replace option accidentally
12389 removed in a prior commit.
12390
12391 2017-02-15 Bin Cheng <bin.cheng@arm.com>
12392
12393 PR tree-optimization/79347
12394 * tree-vect-loop-manip.c (vect_do_peeling): Maintain profile
12395 counters during peeling.
12396
12397 2017-02-15 Thomas Schwinge <thomas@codesourcery.com>
12398
12399 * Makefile.in (site.exp): Remove "set ISLVER".
12400
12401 2017-02-15 Jakub Jelinek <jakub@redhat.com>
12402
12403 PR target/79487
12404 * real.c (real_from_integer): Call real_convert even for decimal.
12405
12406 2017-02-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
12407
12408 PR target/79421
12409 * config/s390/s390.c: define TARGET_CUSTOM_FUNCTION_DESCRIPTORS.
12410
12411 2017-02-14 Andrew Pinski <apinski@cavium.com>
12412
12413 * config/aarch64/aarch64-cores.def (thunderx2t99): Move to under 'C"
12414 cores and change the partno/implementer to be correct.
12415 (thunderx2t99p1): New core which replaces thunderx2t99 and still has
12416 the 'B" as the implementer.
12417 * config/aarch64/aarch64-tune.md: Regenerate.
12418
12419 2017-02-14 Carl Love <cel@us.ibm.com>
12420
12421 * config/rs6000/rs6000.c: Add case statement entry to make the
12422 xvcvuxdsp built-in argument unsigned.
12423 * config/rs6000/vsx.md: Fix the source and return operand types so they
12424 match the instruction definitions from the ISA document. Fix typo
12425 in the instruction generation for the (define_insn "vsx_xvcvuxdsp"
12426 statement.
12427
12428 2017-02-14 Vladimir Makarov <vmakarov@redhat.com>
12429
12430 PR target/79282
12431 * lra-int.h (struct lra_operand_data, struct lra_insn_reg): Add
12432 member early_clobber_alts.
12433 * lra-lives.c (reg_early_clobber_p): New.
12434 (process_bb_lives): Use it.
12435 * lra.c (new_insn_reg): New arg early_clobber_alts. Use it.
12436 (debug_operand_data): Initialize early_clobber_alts.
12437 (setup_operand_alternative): Set up early_clobber_alts.
12438 (collect_non_operand_hard_regs): Ditto. Pass early clobber
12439 alternatives to new_insn_reg.
12440 (add_regs_to_insn_regno_info): Add arg early_clobber_alts. Use
12441 it.
12442 (lra_update_insn_regno_info): Pass the new arg.
12443
12444 2017-02-14 Jakub Jelinek <jakub@redhat.com>
12445
12446 PR middle-end/79505
12447 * omp-offload.c (free_oacc_loop): Release loop->ifns vector.
12448 (new_oacc_loop_raw): Don't clear already cleared fields.
12449
12450 PR target/79481
12451 * config/i386/avx512pfintrin.h (_mm512_prefetch_i32gather_pd,
12452 _mm512_prefetch_i32gather_ps, _mm512_prefetch_i64gather_pd,
12453 _mm512_prefetch_i64gather_ps): New inline functions and macros.
12454
12455 2017-02-14 Uros Bizjak <ubizjak@gmail.com>
12456
12457 PR target/79495
12458 * config/i386/i386.md (*movxf_internal): Add (o,rC) alternative.
12459
12460 2017-02-14 H.J. Lu <hongjiu.lu@intel.com>
12461
12462 PR target/79498
12463 * config/i386/i386.c (timode_scalar_chain::convert_insn): Insert
12464 the extra instruction to the right place to store 128-bit constant
12465 when needed.
12466
12467 2017-02-14 Martin Sebor <msebor@redhat.com>
12468
12469 PR middle-end/79448
12470 * gimple-ssa-sprintf.c (format_directive): Avoid issuing INT_MAX
12471 warning for strings of unknown length.
12472
12473 2017-02-13 Segher Boessenkool <segher@kernel.crashing.org>
12474
12475 * config.gcc (supported_defaults) [powerpc*-*-*]: Update.
12476
12477 2017-02-14 Jeff Law <law@redhat.com>
12478
12479 PR target/79404
12480 * ira-costs.c (scan_one_insn): Initialize register move costs
12481 for pseudos seen in USE/CLOBBER insns.
12482
12483 PR tree-optimization/79095
12484 * tree-vrp.c (extract_range_from_binary_expr_1): For EXACT_DIV_EXPR,
12485 if the numerator has the range ~[0,0] make the resultant range ~[0,0].
12486 (extract_range_from_binary_expr): For MINUS_EXPR with no derived range,
12487 if the operands are known to be not equal, then the resulting range
12488 is ~[0,0].
12489 (intersect_ranges): If the new range is ~[0,0] and the old range is
12490 wide, then prefer ~[0,0].
12491 * tree-vrp.c (overflow_comparison_p_1): New function.
12492 (overflow_comparison_p): New function.
12493 * tree-vrp.c (register_edge_assert_for_2): Register additional asserts
12494 if NAME is used in an overflow test.
12495 (vrp_evaluate_conditional_warnv_with_ops): If the ops represent an
12496 overflow check that can be expressed as an equality test, then adjust
12497 ops to be that equality test.
12498
12499 2017-02-14 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
12500
12501 * config/s390/s390-builtin-types.def: Remove flags argument.
12502 * config/s390/s390.c (s390_init_builtins): Likewise.
12503
12504 2017-02-14 Martin Liska <mliska@suse.cz>
12505
12506 * tree-ssa-loop-unswitch.c (hoist_guard): Release get_loop_body
12507 vector. Fix trailing white spaces.
12508
12509 2017-02-14 James Greenhalgh <james.greenhalgh@arm.com>
12510
12511 * config/aarch64/aarch64.c (aarch64_simd_container_mode): Handle
12512 HFmode.
12513
12514 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12515
12516 PR rtl-optimization/68664
12517 * config/arm/arm.c (arm_sched_can_speculate_insn):
12518 New function. Declare prototype.
12519 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
12520
12521 2017-02-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12522
12523 PR rtl-optimization/68664
12524 * config/aarch64/aarch64.c (aarch64_sched_can_speculate_insn):
12525 New function.
12526 (TARGET_SCHED_CAN_SPECULATE_INSN): Define.
12527
12528 2017-02-14 Amit Pawar <amit.pawar@amd.com>
12529
12530 * config/i386/i386.c (znver1_cost): Fix the alignment for function and
12531 max skip bytes for function, loop and jump.
12532
12533 2017-02-14 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
12534
12535 * gimple-pretty-print.c (dump_unary_rhs): Adjust dump format for
12536 ABS_EXPR for gimple dump.
12537
12538 2017-02-14 Jakub Jelinek <jakub@redhat.com>
12539
12540 PR target/79462
12541 * config/sh/sh.c (expand_cbranchdi4): Don't clear operands[4].
12542
12543 PR tree-optimization/79408
12544 * tree-vrp.c (simplify_div_or_mod_using_ranges): Handle also the
12545 case when on TRUNC_MOD_EXPR op0 is INTEGER_CST.
12546 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
12547 also if rhs1 is INTEGER_CST.
12548
12549 2017-02-14 Richard Biener <rguenther@suse.de>
12550
12551 PR middle-end/79432
12552 * tree-into-ssa.c (insert_phi_nodes): When the function can
12553 have abnormal edges rewrite SSA names with broken use-def
12554 dominance out of SSA and register them for PHI insertion.
12555
12556 2017-02-13 Martin Sebor <msebor@redhat.com>
12557
12558 PR middle-end/79496
12559 * gimple-ssa-sprintf.c (pass_sprintf_length::handle_gimple_call): Avoid
12560 clearing info.nowrite flag when snprintf size argument is a range.
12561
12562 2017-02-13 Jakub Jelinek <jakub@redhat.com>
12563
12564 * cprop.c (cprop_jump): Add missing space in string literal.
12565 * tree-ssa-structalias.c (rewrite_constraints): Likewise.
12566 (get_constraint_for_component_ref): Likewise.
12567 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
12568 * tree-outof-ssa.c (insert_partition_copy_on_edge): Likewise.
12569 * lra-constraints.c (process_alt_operands): Likewise.
12570 * ipa-inline.c (inline_small_functions): Likewise.
12571 * tree-ssa-sccvn.c (visit_reference_op_store): Likewise.
12572 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
12573 * trans-mem.c (diagnose_tm_1_op): Likewise.
12574 * omp-grid.c (grid_find_single_omp_among_assignments): Likewise.
12575 (grid_parallel_clauses_gridifiable): Likewise.
12576
12577 * config/nvptx/mkoffload.c (process): Add space in between
12578 , and %d.
12579
12580 * config/i386/i386.h (REG_CLASS_NAMES): Add , in between
12581 "MOD4_SSE_REGS" and "ALL_REGS".
12582
12583 * spellcheck.c (test_data): Add , in between "foo" and "food".
12584
12585 2017-02-13 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
12586
12587 PR target/79449
12588 * config/rs6000/rs6000.c (expand_block_compare): Make sure runtime
12589 boundary crossing check and subsequent code generation agree.
12590
12591 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12592
12593 * config/aarch64/aarch64.c (has_memory_op): Delete.
12594 (aarch64_madd_needs_nop): Use contains_mem_rtx_p instead of
12595 has_memory_op.
12596
12597 2017-02-13 Jakub Jelinek <jakub@redhat.com>
12598
12599 PR rtl-optimization/79388
12600 PR rtl-optimization/79450
12601 * combine.c (distribute_notes): When removing TEM_INSN for which
12602 corresponding dest has last value recorded, invalidate that last
12603 value.
12604
12605 2017-02-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12606
12607 * config/arm/arm.c (arm_print_tune_info): Use ASM_COMMENT_START instead
12608 of explicit '@'. Add missing assembly comment marker on branch costs
12609 printout.
12610
12611 2017-02-13 Nathan Sidwell <nathan@acm.org>
12612
12613 * gengtype-lex.l (<in_struct>): Add '/'.
12614
12615 2017-02-13 Martin Liska <mliska@suse.cz>
12616
12617 PR c/79471
12618 * calls.c (expand_call): Replace XALLOCAVEC with XCNEWVEC.
12619
12620 2017-02-13 Richard Biener <rguenther@suse.de>
12621
12622 * configure.ac (HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS):
12623 Remove.
12624 * configure: Re-generate.
12625 * config.in: Likewise.
12626 * graphite-dependences.c: Simplify as if
12627 HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS was defined.
12628 * graphite-isl-ast-to-gimple.c: Likewise.
12629 * graphite-optimize-isl.c: Likewise.
12630 * graphite-poly.c: Likewise.
12631 * graphite-sese-to-poly.c: Likewise.
12632 * graphite.h: Likewise.
12633 * toplev.c: Include isl/version.h and use isl_version () for
12634 printing the ISL version.
12635 * doc/install.texi: Update ISL requirement.
12636
12637 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
12638
12639 * doc/standards.texi (Standards): Update reference to
12640 Objective-C 2.0.
12641
12642 2017-02-12 Gerald Pfeifer <gerald@pfeifer.com>
12643
12644 * doc/extend.texi (Named Address Spaces): sourceware.org now
12645 defaults to https.
12646 * doc/install.texi (Binaries): Ditto.
12647 (Specific): Ditto.
12648
12649 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
12650
12651 * doc/cpp.texi: Replace "stringify"/"stringification" with C
12652 standard terminology "stringize"/"stringizing" throughout.
12653 * doc/cppinternals.texi: Likewise.
12654
12655 2017-02-11 Sandra Loosemore <sandra@codesourcery.com>
12656
12657 * doc/extend.texi: Fix some spelling mistakes and typos.
12658 * doc/invoke.texi: Likewise.
12659
12660 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
12661
12662 PR ipa/79224
12663 * params.def (inline-min-speedup) Change from 10 to 8.
12664
12665 2017-02-11 Jakub Jelinek <jakub@redhat.com>
12666
12667 * doc/invoke.texi (fopenmp): Bump OpenMP version from 4.0 to
12668 4.5.
12669
12670 2017-02-11 Jan Hubicka <hubicka@ucw.cz>
12671
12672 PR ipa/79224
12673 * ipa-inline-analysis.c (get_minimal_bb): New function.
12674 (record_modified): Use it.
12675 (remap_edge_change_prob): Handle also ancestor functions.
12676
12677 2017-02-11 Gerald Pfeifer <gerald@pfeifer.com>
12678
12679 * doc/contrib.texi (Contributors): Remove broken link into
12680 the Mauve CVS repository.
12681
12682 2017-02-11 Jakub Jelinek <jakub@redhat.com>
12683
12684 PR middle-end/79454
12685 * internal-fn.c (expand_vector_ubsan_overflow): Use piece-wise
12686 result computation whenever lhs doesn't have vector mode, not
12687 just when it has BLKmode.
12688
12689 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
12690
12691 * doc/makefile.texi (profiledbootstrap): Refer to the
12692 installation instructions only in textual form.
12693
12694 2017-02-10 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
12695
12696 PR target/79295
12697 * config/rs6000/altivec.md (bcd<bcd_add_sub>): Fix constraints.
12698
12699 2017-02-10 Gerald Pfeifer <gerald@pfeifer.com>
12700
12701 * doc/install.texi (Specific): Use https for blackfin.uclinux.org.
12702 (Specific): Update mingw-w64 reference.
12703 (Binaries): Ditto.
12704 (Specific): Remove broken link to Renesas RX processor.
12705
12706 2017-02-10 Richard Biener <rguenther@suse.de>
12707
12708 * toplev.c (process_options): Do not mention obsolete graphite
12709 options when printing sorry message about missing graphite support.
12710 Mention -floop-nest-optimize.
12711
12712 2017-02-10 Christophe Lyon <christophe.lyon@linaro.org>
12713
12714 * config/aarch64/arm_neon.h (vtst_p8): Rewrite without asm.
12715 (vtst_p16): Likewise.
12716 (vtstq_p8): Likewise.
12717 (vtstq_p16): Likewise.
12718 (vtst_p64): New.
12719 (vtstq_p64): Likewise.
12720 * config/arm/arm_neon.h (vgetq_lane_p64): New.
12721 (vset_lane_p64): New.
12722 (vsetq_lane_p64): New.
12723
12724 2017-02-10 Jakub Jelinek <jakub@redhat.com>
12725
12726 PR tree-optimization/79411
12727 * tree-ssa-reassoc.c (is_reassociable_op): Return false if
12728 stmt operands are SSA_NAMEs used in abnormal phis.
12729 (can_reassociate_p): Return false if op is SSA_NAME used in abnormal
12730 phis.
12731
12732 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
12733
12734 PR ipa/70795
12735 * cgraphunit.c (cgraph_node::add_new_function): Set externally_visible
12736 flag if needed.
12737
12738 2017-02-09 Jan Hubicka <hubicka@ucw.cz>
12739
12740 * tree-ssa-loop-unswitch.c (hoist_guard): Update profile.
12741
12742 2017-02-09 Jakub Jelinek <jakub@redhat.com>
12743
12744 * omp-offload.c (oacc_loop_auto_partitions): Use || instead of |
12745 to avoid warning.
12746
12747 PR c/79413
12748 * gimplify.h (is_gimple_sizepos): Only test for INTEGER_CST constants,
12749 not arbitrary TREE_CONSTANT.
12750
12751 PR c/79431
12752 * gimplify.c (gimplify_adjust_omp_clauses): Ignore
12753 "omp declare target link" attribute unless is_global_var.
12754 * omp-offload.c (find_link_var_op): Likewise.
12755
12756 2017-02-09 Nathan Sidwell <nathan@codesourcery.com>
12757 Chung-Lin Tang <cltang@codesourcery.com>
12758
12759 * gimplify.c (gimplify_scan_omp_clauses): No special handling for
12760 OMP_CLAUSE_TILE.
12761 (gimplify_adjust_omp_clauses): Don't delete TILE.
12762 (gimplify_omp_for): Deal with TILE.
12763 * internal-fn.c (expand_GOACC_TILE): New function.
12764 * internal-fn.def (GOACC_DIM_POS): Comment may be overly conservative.
12765 (GOACC_TILE): New.
12766 * omp-expand.c (struct oacc_collapse): Add tile and outer fields.
12767 (expand_oacc_collapse_init): Add LOC paramter. Initialize tile
12768 element fields.
12769 (expand_oacc_collapse_vars): Add INNER parm, adjust for tiling,
12770 avoid DIV for outermost collapse var.
12771 (expand_oacc_for): Insert tile element loop as needed. Adjust.
12772 Remove out of date comments, fix whitespace.
12773 * omp-general.c (omp_extract_for_data): Deal with tiling.
12774 * omp-general.h (enum oacc_loop_flags): Add OLF_TILE flag,
12775 adjust OLF_DIM_BASE value.
12776 (struct omp_for_data): Add tiling field.
12777 * omp-low.c (scan_sharing_clauses): Allow OMP_CLAUSE_TILE.
12778 (lower_oacc_head_mark): Add OLF_TILE as appropriate. Ensure 2 levels
12779 for auto loops. Remove default auto determining, moved to
12780 oacc_loop_fixed_partitions.
12781 * omp-offload.c (struct oacc_loop): Change 'ifns' to vector of call
12782 stmts, add e_mask field.
12783 (oacc_dim_call): New function, abstracted out from oacc_thread_numbers.
12784 (oacc_thread_numbers): Use oacc_dim_call.
12785 (oacc_xform_tile): New.
12786 (new_oacc_loop_raw): Initialize e_mask, adjust for ifns vector.
12787 (finish_oacc_loop): Adjust for ifns vector.
12788 (oacc_loop_discover_walk): Append loop abstraction sites to list,
12789 add case for GOACC_TILE fns.
12790 (oacc_loop_xform_loop): Delete.
12791 (oacc_loop_process): Iterate over call list directly, and add
12792 handling for GOACC_TILE fns.
12793 (oacc_loop_fixed_partitions): Determine default auto, deal with TILE,
12794 dump partitioning.
12795 (oacc_loop_auto_partitions): Add outer_assign parm. Assign all but
12796 vector partitioning to outer loops. Assign 2 partitions to loops
12797 when available. Add TILE handling.
12798 (oacc_loop_partition): Adjust oacc_loop_auto_partitions call.
12799 (execite_oacc_device_lower): Process GOACC_TILE fns, ignore unknown specs.
12800 * tree-nested.c (convert_nonlocal_omp_clauses): Allow OMP_CLAUSE_TILE.
12801 * tree.c (omp_clause_num_ops): Adjust TILE ops.
12802 * tree.h (OMP_CLAUSE_TILE_ITERVAR, OMP_CLAUSE_TILE_COUNT): New.
12803
12804 2017-02-09 Gerald Pfeifer <gerald@pfeifer.com>
12805
12806 * configure.ac (ACX_BUGURL): Update.
12807 * configure: Regenerate.
12808
12809 2017-02-09 Richard Biener <rguenther@suse.de>
12810
12811 PR tree-optimization/69823
12812 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
12813 Properly enumerate all BBs in the region. Use auto_vec/auto_bitmap.
12814
12815 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
12816
12817 * config/arc/arc-c.def: Add __NPS400__ definition.
12818 * config/arc/arc.h (CPP_SPEC): Don't define __NPS400__ here.
12819 (TARGET_NPS400): Define.
12820
12821 2017-02-09 Andrew Burgess <andrew.burgess@embecosm.com>
12822
12823 * config/arc/arc-arch.h (arc_arch_t): Move unchanged to earlier in
12824 file.
12825 (arc_cpu_t): Change base_architecture field, arch, to a arc_arc_t
12826 pointer, arch_info.
12827 (arc_cpu_types): Fill the arch_info field with a pointer into the
12828 arc_arch_types table.
12829 (arc_selected_cpu): Declare.
12830 * config/arc/arc.c (arc_selected_cpu): Make global.
12831 (arc_selected_arch): Delete.
12832 (arc_base_cpu): Delete.
12833 (arc_override_options): Remove references to deleted variables,
12834 update access to arch information.
12835 (ARC_OPT): Update access to arch information.
12836 (ARC_OPTX): Likewise.
12837 * config/arc/arc.h (arc_base_cpu): Remove declaration.
12838 (TARGET_ARC600): Update access to arch information.
12839 (TARGET_ARC601): Likewise.
12840 (TARGET_ARC700): Likewise.
12841 (TARGET_EM): Likewise.
12842 (TARGET_HS): Likewise.
12843 * config/arc/driver-arc.c (arc_cpu_to_as): Update access to arch
12844 information.
12845
12846 2017-02-08 Pat Haugen <pthaugen@us.ibm.com>
12847
12848 PR target/78604
12849 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Invert
12850 condition/operands for integer GE/LE/GEU/LEU operations.
12851
12852 2017-02-08 Segher Boessenkool <segher@kernel.crashing.org>
12853
12854 PR translation/79397
12855 * config/rs6000/rs6000.opt (maltivec=le, maltivec=be): Fix spelling
12856 of AltiVec.
12857
12858 2017-02-08 Martin Jambor <mjambor@suse.cz>
12859
12860 PR ipa/79375
12861 * ipa-prop.c (ipa_alloc_node_params): Make static, return bool
12862 whether allocation happened.
12863 (ipa_initialize_node_params): Do not call ipa_alloc_node_params if
12864 nothing was allocated.
12865
12866 2017-02-08 Jakub Jelinek <jakub@redhat.com>
12867
12868 PR tree-optimization/79408
12869 * tree-vrp.c (simplify_div_or_mod_using_ranges): If op1 is not
12870 constant, but SSA_NAME with a known integer range, use the minimum
12871 of that range instead of op1 to determine if modulo can be replaced
12872 with its first operand.
12873
12874 2016-02-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12875
12876 * config/riscv/riscv.c (riscv_build_integer_1): Avoid use of INT16_MAX.
12877
12878 2017-02-08 Richard Biener <rguenther@suse.de>
12879
12880 PR tree-optimization/71824
12881 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
12882 Check all loops contained in the merged region.
12883
12884 2017-02-07 Andrew Pinski <apinski@cavium.com>
12885
12886 * config/aarch64/aarch64.md (popcount<mode>2): New pattern.
12887
12888 2017-02-07 Andrew Pinski <apinski@cavium.com>
12889
12890 * config/aarch64/aarch64-cores.def (thunderx): Disable LSE.
12891 (thunderxt88): Likewise.
12892 (thunderxt81): Disable LSE and change v8.1 to v8.
12893 (thunderxt83): Likewise.
12894
12895 2017-02-07 Jakub Jelinek <jakub@redhat.com>
12896 Richard Biener <rguenther@suse.de>
12897
12898 PR middle-end/79399
12899 * ira-int.h (struct target_ira_int): Change x_max_struct_costs_size
12900 type from int to size_t.
12901 * ira-costs.c (struct_costs_size): Change type from int to size_t.
12902
12903 2017-02-07 Jakub Jelinek <jakub@redhat.com>
12904
12905 PR rtl-optimization/79386
12906 * cprop.c (bypass_conditional_jumps): Initialize
12907 bypass_last_basic_block already before splitting bbs after
12908 unconditional traps...
12909 (bypass_conditional_jumps): ... rather than here.
12910
12911 PR target/79299
12912 * config/i386/sse.md (xtg_mode, gatherq_mode): New mode attrs.
12913 (*avx512f_gathersi<mode>, *avx512f_gathersi<mode>_2,
12914 *avx512f_gatherdi<mode>, *avx512f_gatherdi<mode>_2): Use them,
12915 fix -masm=intel patterns.
12916
12917 2017-02-07 Richard Biener <rguenther@suse.de>
12918
12919 PR tree-optimization/79256
12920 PR middle-end/79278
12921 * builtins.c (get_object_alignment_2): Use min_align_of_type
12922 to extract alignment for MEM_REFs to honor BIGGEST_FIELD_ALIGNMENT
12923 and ADJUST_FIELD_ALIGN.
12924
12925 * doc/tm.texi.in (ADJUST_FIELD_ALIGN): Adjust to take additional
12926 type parameter.
12927 * doc/tm.texi: Regenerate.
12928 * stor-layout.c (layout_decl): Adjust.
12929 (update_alignment_for_field): Likewise.
12930 (place_field): Likewise.
12931 (min_align_of_type): Likewise.
12932 * config/arc/arc.h (ADJUST_FIELD_ALIGN): Adjust.
12933 * config/epiphany/epiphany.h (ADJUST_FIELD_ALIGN): Likewise.
12934 * config/epiphany/epiphany.c (epiphany_adjust_field_align): Likewise.
12935 * config/frv/frv.h (ADJUST_FIELD_ALIGN): Likewise.
12936 * config/frv/frv.c (frv_adjust_field_align): Likewise.
12937 * config/i386/i386.h (ADJUST_FIELD_ALIGN): Likewise.
12938 * config/i386/i386.c (x86_field_alignment): Likewise.
12939 * config/rs6000/aix.h (ADJUST_FIELD_ALIGN): Likewise.
12940 * config/rs6000/darwin.h (ADJUST_FIELD_ALIGN): Likewise.
12941 * config/rs6000/freebsd64.h (ADJUST_FIELD_ALIGN): Likewise.
12942 * config/rs6000/linux64.h (ADJUST_FIELD_ALIGN): Likewise.
12943 * config/rs6000/sysv4.h (ADJUST_FIELD_ALIGN): Likewise.
12944 * config/rs6000/rs6000.c (rs6000_special_adjust_field_align_p):
12945 Likewise.
12946
12947 Revert
12948 2017-01-30 Richard Biener <rguenther@suse.de>
12949
12950 PR tree-optimization/79256
12951 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
12952 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
12953 alignment on TYPE.
12954
12955 2017-02-07 Toma Tabacu <toma.tabacu@imgtec.com>
12956
12957 * config/mips/mips.c (mips_expand_builtin_insn): Convert the QImode
12958 argument of the pshufh, psllh, psllw, psrah, psraw, psrlh, psrlw
12959 builtins to SImode and emit a zero-extend, if necessary.
12960
12961 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
12962
12963 * docs/invoke.texi (RISC-V Options): Alphabetize.
12964
12965 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
12966
12967 * doc/invoke.texi (RISC-V Options): Use two spaces to separate
12968 options.
12969
12970 2017-02-06 Palmer Dabbelt <palmer@dabbelt.com>
12971
12972 * config/riscv/riscv.c: New file.
12973 * gcc/common/config/riscv/riscv-common.c: Likewise.
12974 * config.gcc: Likewise.
12975 * config/riscv/constraints.md: Likewise.
12976 * config/riscv/elf.h: Likewise.
12977 * config/riscv/generic.md: Likewise.
12978 * config/riscv/linux.h: Likewise.
12979 * config/riscv/multilib-generator: Likewise.
12980 * config/riscv/peephole.md: Likewise.
12981 * config/riscv/pic.md: Likewise.
12982 * config/riscv/predicates.md: Likewise.
12983 * config/riscv/riscv-builtins.c: Likewise.
12984 * config/riscv/riscv-c.c: Likewise.
12985 * config/riscv/riscv-ftypes.def: Likewise.
12986 * config/riscv/riscv-modes.def: Likewise.
12987 * config/riscv/riscv-opts.h: Likewise.
12988 * config/riscv/riscv-protos.h: Likewise.
12989 * config/riscv/riscv.h: Likewise.
12990 * config/riscv/riscv.md: Likewise.
12991 * config/riscv/riscv.opt: Likewise.
12992 * config/riscv/sync.md: Likewise.
12993 * config/riscv/t-elf-multilib: Likewise.
12994 * config/riscv/t-linux: Likewise.
12995 * config/riscv/t-linux-multilib: Likewise.
12996 * config/riscv/t-riscv: Likewise.
12997 * configure.ac: Likewise.
12998 * doc/contrib.texi: Add Kito Cheng, Palmer Dabbelt, and Andrew
12999 Waterman as RISC-V maintainers.
13000 * doc/install.texi: Add RISC-V entries.
13001 * doc/invoke.texi: Add RISC-V options section.
13002 * doc/md.texi: Add RISC-V constraints section.
13003 * configure: Regenerated.
13004
13005 2017-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
13006
13007 PR target/66144
13008 * config/rs6000/vector.md (vcond<mode><mode>): Allow the true and
13009 false values to be constant vectors with all 0 or all 1 bits set.
13010 (vcondu<mode><mode>): Likewise.
13011 * config/rs6000/predicates.md (vector_int_reg_or_same_bit): New
13012 predicate.
13013 (fpmask_comparison_operator): Update comment.
13014 (vecint_comparison_operator): New predicate.
13015 * config/rs6000/rs6000.c (rs6000_emit_vector_cond_expr): Optimize
13016 vector conditionals when the true and false values are constant
13017 vectors with all 0 bits or all 1 bits set.
13018
13019 2017-02-06 Martin Sebor <msebor@redhat.com>
13020
13021 PR tree-optimization/79376
13022 * gimple-fold.c (get_range_strlen): Set the minimum length to zero.
13023
13024 2017-02-06 Uros Bizjak <ubizjak@gmail.com>
13025
13026 * config/i386/sse.md (vector modes -> vec_extract* splitter): Use
13027 explicit subreg RTX with operand 1. Use VECTOR_MODE_P predicate
13028 to simplify split condition.
13029
13030 2017-02-06 Jakub Jelinek <jakub@redhat.com>
13031
13032 * omp-expand.c (oxpand_omp_atomic_fetch_op,
13033 expand_omp_atomic_pipeline): Return false if can_atomic_load_p is
13034 false.
13035
13036 2017-02-06 Segher Boessenkool <segher@kernel.crashing.org>
13037
13038 PR rtl-optimization/68664
13039 * target.def (can_speculate_insn): New hook.
13040 * doc/tm.texi.in (TARGET_SCHED_CAN_SPECULATE_INSN): New hook.
13041 * doc/tm.texi: Regenerate.
13042 * sched-rgn.c (can_schedule_ready_p): Use the new hook.
13043 * config/rs6000/rs6000.c (TARGET_SCHED_CAN_SPECULATE_INSN): New macro.
13044 (rs6000_sched_can_speculate_insn): New function.
13045
13046 2017-02-06 Jakub Jelinek <jakub@redhat.com>
13047
13048 PR tree-optimization/79284
13049 * tree-vectorizer.h (VECT_SCALAR_BOOLEAN_TYPE_P): Define.
13050 * tree-vect-stmts.c (vect_get_vec_def_for_operand,
13051 vectorizable_mask_load_store, vectorizable_operation,
13052 vect_is_simple_cond, get_same_sized_vectype): Use it instead
13053 of comparing TREE_CODE of a type against BOOLEAN_TYPE.
13054 * tree-vect-patterns.c (check_bool_pattern, search_type_for_mask_1,
13055 vect_recog_bool_pattern, vect_recog_mask_conversion_pattern): Likewise.
13056 * tree-vect-slp.c (vect_get_constant_vectors): Likewise.
13057 * tree-vect-loop.c (vect_determine_vectorization_factor): Likewise.
13058 Remove redundant gimple_code (stmt) == GIMPLE_ASSIGN test after
13059 is_gimple_assign (stmt). Replace another such test with
13060 is_gimple_assign (stmt).
13061
13062 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
13063
13064 PR target/78883
13065 * config/avr/avr.c (rtl-iter.h): Include it.
13066 (TARGET_LEGITIMATE_COMBINED_INSN): New hook define...
13067 (avr_legitimate_combined_insn): ...and implementation.
13068
13069 2017-02-06 Dominik Vogt <vogt@linux.vnet.ibm.com>
13070
13071 * config/s390/predicates.md ("larl_operand"): Use macros from hwint.h.
13072 * config/s390/s390.c (s390_const_operand_ok)
13073 (s390_canonicalize_comparison, s390_extract_part)
13074 (s390_single_part, s390_contiguous_bitmask_nowrap_p)
13075 (s390_contiguous_bitmask_p, s390_rtx_costs)
13076 (legitimize_pic_address): Likewise.
13077 * config/s390/s390.md ("clzdi2", "clztidi2"): Likewise.
13078 * config/s390/vx-builtins.md ("vec_genbytemaskv16qi")
13079 ("vec_permi<mode>", "vfae<mode>", "*vfaes<mode>", "vstrc<mode>")
13080 ("*vstrcs<mode>"): Use UINTVAL() to set unsigned HOST_WIDE_INT.
13081 * config/s390/vector.md ("vec_vfenes<mode>"): Likewise.
13082
13083 2017-02-06 Georg-Johann Lay <avr@gjlay.de>
13084
13085 * config/avr/avr.md (*addhi3_zero_extend): Add alternative where
13086 REGNO($0) == REGNO($1).
13087
13088 2017-02-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13089
13090 * config/s390/linux.h(SIZE_TYPE): Add comment.
13091
13092 2017-02-06 Julian Brown <julian@codesourcery.com>
13093 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
13094 Virendra Pathak <virendra.pathak@broadcom.com>
13095
13096 * config/aarch64/aarch64-cores.def: Change the scheduler
13097 to Thunderx2t99.
13098 * config/aarch64/aarch64.md: Include thunderx2t99.md.
13099 * config/aarch64/thunderx2t99.md: New file.
13100
13101 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
13102
13103 * doc/standards.texi (Go Language): Update link to language
13104 standard.
13105
13106 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
13107
13108 * tree-eh.c (lower_resx): Sanitize profile.
13109 (cleanup_empty_eh_move_lp): Likewise.
13110
13111 2017-02-05 Jan Hubicka <hubicka@ucw.cz>
13112
13113 PR tree-ssa/79347
13114 * cfgloopmanip.c (lv_adjust_loop_entry_edge, loop_version): Add
13115 ELSE_PROB.
13116 * cfgloopmanip.h (loop_version): Update prototype.
13117 * modulo-sched.c (sms_schedule): Update call of loop_version.
13118 * tree-if-conv.c(version_loop_for_if_conversion): Likewise.
13119 * tree-parloops.c (gen_parallel_loop): Likewise.
13120 * tree-ssa-loop-manip.c (tree_transform_and_unroll_loop): Likewise.
13121 * tree-ssa-loop-split.c (split_loop): Likewise.
13122 * tree-ssa-loop-unswitch.c (tree_unswitch_loop): Likewise.
13123 * tree-vect-loop-manip.c (vect_loop_versioning): Likewise.
13124
13125 2017-02-05 Martin Liska <mliska@suse.cz>
13126
13127 PR bootstrap/78985
13128 * config/s390/s390.c (s390_gimplify_va_arg): Initialize local
13129 variable to NULL.
13130 (print_operand_address): Initialize a struct to zero.
13131
13132 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
13133
13134 * doc/contrib.texi (Contributors): Refer to Hans Boehm's
13135 garbage collector only in textual form.
13136
13137 2017-02-05 Gerald Pfeifer <gerald@pfeifer.com>
13138
13139 * doc/extend.texi (x86 specific memory model extensions for
13140 transactional memory): Simplify a phrase.
13141
13142 2017-02-05 Eric Botcazou <ebotcazou@adacore.com>
13143
13144 PR target/79353
13145 * config/sparc/sync.md (atomic_loaddi_1): Replace 'U' constraint with
13146 'r', 'm' constraint with 'T' and !TARGET_ARCH64 with TARGET_ARCH32.
13147 (atomic_storedi_1): Likewise.
13148
13149 2017-02-04 Jakub Jelinek <jakub@redhat.com>
13150
13151 PR tree-optimization/79338
13152 * tree-parloops.c (gather_scalar_reductions): Don't call
13153 vect_analyze_loop_form for loop->inner before destroying loop's
13154 loop_vinfo.
13155
13156 2017-02-03 Martin Sebor <msebor@redhat.com>
13157
13158 PR tree-optimization/79327
13159 * gimple-ssa-sprintf.c (tree_digits): Avoid adding the base prefix
13160 when precision has resulted in leading zeros.
13161 (format_integer): Adjust the likely counter to assume an unknown
13162 argument that may be zero is non-zero.
13163
13164 2017-02-03 Jason Merrill <jason@redhat.com>
13165
13166 PR c++/78689
13167 * tree-inline.c (copy_tree_body_r) [COND_EXPR]: Revert change to
13168 avoid copying non-taken branch.
13169
13170 2017-02-03 Jakub Jelinek <jakub@redhat.com>
13171
13172 PR tree-optimization/79340
13173 * tree-vect-loop.c (vectorizable_reduction): Release
13174 vec_defs elements after safe_splicing them into other vectors.
13175 Formatting fixes.
13176
13177 PR tree-optimization/79327
13178 * gimple-ssa-sprintf.c (adjust_range_for_overflow): If returning
13179 true, always set *argmin and *argmax to TYPE_{MIN,MAX}_VALUE of
13180 dirtype.
13181 (format_integer): Use wide_int_to_tree instead of build_int_cst
13182 + to_?hwi. If argmin is NULL, just set argmin and argmax to
13183 TYPE_{MIN,MAX}_VALUE of argtype. Simplify and fix computation
13184 of shortest and longest sequence.
13185
13186 2017-02-03 Uros Bizjak <ubizjak@gmail.com>
13187
13188 * config/i386/i386.c (dimode_scalar_chain::convert_reg):
13189 Use pextrd for TARGET_SSE4_1 when creating scalar copy.
13190
13191 2017-02-03 Walter Lee <walt@tilera.com>
13192
13193 PR target/78862
13194 * config/tilegx/tilegx.md (tilegx_expand_prologue): Add blockage
13195 after initial stackframe link reg save.
13196 * config/tilepro/tilepro.md (tilepro_expand_prologue): Likewise.
13197
13198 2017-02-03 Jakub Jelinek <jakub@redhat.com>
13199
13200 PR target/79354
13201 * config/rs6000/rs6000.md (movsi_from_sf): Use wb constraint instead of
13202 wu for stxssp alternative.
13203
13204 2017-02-03 Martin Sebor <msebor@redhat.com>
13205
13206 PR tree-optimization/79352
13207 * gimple-fold.c (get_range_strlen): Add argument.
13208 (get_range_strlen): Change return type to bool.
13209 (get_maxval_strlen): Pass in a dummy argument.
13210 * gimple-fold.h (get_range_strlen): Change return type to bool.
13211 * gimple-ssa-sprintf.c (get_string_length): Set unlikely counter.
13212 * tree.h (array_at_struct_end_p): Add argument.
13213 * tree.c (array_at_struct_end_p): Handle it.
13214
13215 2017-02-03 Martin Liska <mliska@suse.cz>
13216
13217 PR lto/66295
13218 * multiple_target.c (create_dispatcher_calls): Redirect edge
13219 from a caller of a dispatcher.
13220 (expand_target_clones): Make the clones local.
13221 (ipa_target_clone): Do both target clones and resolvers.
13222 (ipa_dispatcher_calls): Remove the pass.
13223 (pass_dispatcher_calls::gate): Likewise.
13224 (make_pass_dispatcher_calls): Likewise.
13225 * passes.def (pass_target_clone): Put as very first IPA early
13226 pass.
13227
13228 2017-02-03 Martin Liska <mliska@suse.cz>
13229
13230 * symtab.c (symtab_node::binds_to_current_def_p): Bail out
13231 in case of a function with ifunc attribute.
13232
13233 2017-02-03 Martin Liska <mliska@suse.cz>
13234
13235 * cgraph.c (cgraph_node::dump): Dump function version info.
13236 * symtab.c (symtab_node::dump_base): Add missing new line.
13237
13238 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
13239
13240 * tree-ssa-ifcombine.c (update_profile_after_ifcombine): New function.
13241 (ifcombine_ifandif): Use it.
13242
13243 2017-02-03 Martin Liska <mliska@suse.cz>
13244
13245 * doc/invoke.texi: Document default value for
13246 use-after-scope-direct-emission-threshold.
13247
13248 2017-02-03 Martin Liska <mliska@suse.cz>
13249
13250 PR tree-optimization/79339
13251 * gimple-ssa-sprintf.c (format_floating_max): Call mpfr_clear.
13252 (format_floating): Likewise.
13253
13254 2017-02-03 Martin Liska <mliska@suse.cz>
13255
13256 PR ipa/79337
13257 * ipa-prop.c (ipa_node_params_t::insert): Remove current
13258 implementation.
13259 (ipa_node_params_t::remove): Likewise.
13260 * ipa-prop.h (ipa_node_params::ipa_node_params): Make default
13261 initialization from removed ipa_node_params_t::insert.
13262 (ipa_node_params::~ipa_node_params): Move from removed
13263 ipa_node_params_t::release.
13264 * symbol-summary.h (symbol_summary::m_released): New member.
13265 Do not release a summary twice. Do not allow to call finalizer
13266 for types of a summary that live in GGC memory.
13267
13268 2017-02-02 Naveen H.S <Naveen.Hurugalawadi@cavium.com>
13269
13270 * config/aarch64/aarch64.c (thunderx2t99_tunings): Enable AES and
13271 cmp_branch fusion.
13272
13273 2017-02-02 Martin Sebor <msebor@redhat.com>
13274
13275 PR middle-end/79275
13276 * gimple-ssa-sprintf.c (get_string_length): Set lower bound to zero.
13277 (format_string): Tighten up the range of output for non-constant
13278 strings and correct the expected range for wide non-constant strings.
13279
13280 2017-02-02 Martin Sebor <msebor@redhat.com>
13281
13282 * doc/invoke.texi (-maccumulate-args): Fix bad grammar.
13283
13284 PR middle-end/32003
13285 * doc/invoke.texi (-fdump-tree-): Remove pass-specific options from
13286 index.
13287 (-fdump-tree-@var): Add to index and document how to come up
13288 with pass-specific option and dump file names.
13289 (-fdump-passes): Clarify where to look for output.
13290
13291 2017-02-02 Jan Hubicka <hubicka@ucw.cz>
13292
13293 PR middle-end/77445
13294 * tree-ssa-threadbackward.c (profitable_jump_thread_path): Dump
13295 statistics of the analyzed path; allow threading for speed when
13296 any of BBs along the path are optimized for speed.
13297
13298 2017-02-02 Eric Botcazou <ebotcazou@adacore.com>
13299
13300 PR middle-end/78468
13301 * emit-rtl.c (init_emit): Add ??? comment for problematic alignment
13302 settings of the virtual registers.
13303
13304 Revert again
13305 2016-08-23 Dominik Vogt <vogt@linux.vnet.ibm.com>
13306
13307 * explow.c (get_dynamic_stack_size): Take known alignment of stack
13308 pointer + STACK_DYNAMIC_OFFSET into account when calculating the size
13309 needed.
13310
13311 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13312
13313 * config/s390/vx-builtins.md ("vec_ceil", "vec_floor")
13314 ("vec_trunc", "vec_roundc", "vec_round"): Remove expanders.
13315
13316 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13317
13318 * config/s390/s390.md: Add missing comments with the expanded
13319 mnemonics.
13320 * config/s390/vector.md: Likewise.
13321 * config/s390/vx-builtins.md: Likewise.
13322
13323 2017-02-02 Jakub Jelinek <jakub@redhat.com>
13324
13325 PR target/79197
13326 * config/rs6000/rs6000.md (*fixuns_trunc<mode>di2_fctiduz): Rename to ...
13327 (fixuns_trunc<mode>di2): ... this, remove previous expander. Put all
13328 conditions on a single line.
13329
13330 2017-02-02 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13331
13332 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
13333 __S390_VX__ to __VX__.
13334
13335 2017-02-01 Andrew Pinski <apinski@cavium.com>
13336
13337 * tree-vect-loop.c (vect_compute_single_scalar_iteration_cost): Pass
13338 stmt_info to record_stmt_cost.
13339 (vect_get_known_peeling_cost): Pass stmt_info if known to
13340 record_stmt_cost.
13341 * config/aarch64/aarch64-protos.h (cpu_vector_cost): Split
13342 cpu_vector_cost field into
13343 scalar_int_stmt_cost and scalar_fp_stmt_cost. Split vec_stmt_cost
13344 field into vec_int_stmt_cost and vec_fp_stmt_cost.
13345 * config/aarch64/aarch64.c (generic_vector_cost): Update for the
13346 splitting of scalar_stmt_cost and vec_stmt_cost.
13347 (thunderx_vector_cost): Likewise.
13348 (cortexa57_vector_cost): LIkewise.
13349 (exynosm1_vector_cost): Likewise.
13350 (xgene1_vector_cost): Likewise.
13351 (thunderx2t99_vector_cost): Improve after the splitting of the two
13352 fields.
13353 (aarch64_builtin_vectorization_cost): Update for the splitting of
13354 scalar_stmt_cost and vec_stmt_cost.
13355
13356 2017-02-01 Torvald Riegel <triegel@redhat.com>
13357 Richard Henderson <rth@redhat.com>
13358
13359 * builtins.c (fold_builtin_atomic_always_lock_free): Make "lock-free"
13360 conditional on existance of a fast atomic load.
13361 * optabs-query.c (can_atomic_load_p): New function.
13362 * optabs-query.h (can_atomic_load_p): Declare it.
13363 * optabs.c (expand_atomic_exchange): Always delegate to libatomic if
13364 no fast atomic load is available for the particular size of access.
13365 (expand_atomic_compare_and_swap): Likewise.
13366 (expand_atomic_load): Likewise.
13367 (expand_atomic_store): Likewise.
13368 (expand_atomic_fetch_op): Likewise.
13369 * testsuite/lib/target-supports.exp
13370 (check_effective_target_sync_int_128): Remove x86 because it provides
13371 no fast atomic load.
13372 (check_effective_target_sync_int_128_runtime): Likewise.
13373
13374 2017-02-01 Richard Biener <rguenther@suse.de>
13375
13376 * graphite.c: Include tree-vectorizer.h for find_loop_location.
13377 (graphite_transform_loops): Provide opt-info for optimized nests.
13378 * tree-parloop.c (parallelize_loops): Provide opt-info for
13379 parallelized loops.
13380
13381 2017-02-01 Richard Biener <rguenther@suse.de>
13382
13383 PR middle-end/79315
13384 * tree-cfg.c (move_stmt_op): Never set TREE_BLOCK when it
13385 was not set before.
13386
13387 2017-02-01 Richard Biener <rguenther@suse.de>
13388
13389 PR tree-optimization/71824
13390 * graphite-scop-detection.c (scop_detection::build_scop_breadth):
13391 Verify the loops are valid in the merged SESE region.
13392 (scop_detection::can_represent_loop_1): Check analyzing the
13393 evolution of the number of iterations in the region succeeds.
13394
13395 2017-01-31 Ian Lance Taylor <iant@golang.org>
13396
13397 * config/i386/i386.c (ix86_expand_split_stack_prologue): Add
13398 REG_ARGS_SIZE note to 32-bit push insns and call insn.
13399
13400 2017-01-31 David Malcolm <dmalcolm@redhat.com>
13401
13402 PR preprocessor/79210
13403 * input.c (get_substring_ranges_for_loc): Replace line_width
13404 assertion with error-handling.
13405
13406 2017-01-31 Richard Biener <rguenther@suse.de>
13407
13408 PR tree-optimization/77318
13409 * graphite-sese-to-poly.c (extract_affine): Fix assert.
13410 (create_pw_aff_from_tree): Take loop parameter.
13411 (add_condition_to_pbb): Pass loop of the condition to
13412 create_pw_aff_from_tree.
13413
13414 2017-01-31 Jakub Jelinek <jakub@redhat.com>
13415
13416 * config/s390/s390.c (s390_asan_shadow_offset): New function.
13417 (TARGET_ASAN_SHADOW_OFFSET): Redefine.
13418
13419 2017-01-31 Michael Meissner <meissner@linux.vnet.ibm.com>
13420
13421 PR target/78597
13422 PR target/79038
13423 * config/rs6000/rs6000-protos.h (convert_float128_to_int): Delete,
13424 no longer used.
13425 (convert_int_to_float128): Likewise.
13426 * config/rs6000/rs6000.c (convert_float128_to_int): Likewise.
13427 (convert_int_to_float128): Likewise.
13428 * config/rs6000/rs6000.md (UNSPEC_IEEE128_MOVE): Likewise.
13429 (UNSPEC_IEEE128_CONVERT): Likewise.
13430 (floatsi<mode>2, FLOAT128 iterator): Bypass calling
13431 rs6000_expand_float128_convert if we have IEEE 128-bit hardware.
13432 Use local variables for IBM extended format.
13433 (fix_trunc<mode>si2, FLOAT128 iterator): Likewise.
13434 (fix_trunc<mode>si2_fprs): Likewise.
13435 (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
13436 (floatuns<IEEE128:mode>2, IEEE128 iterator): Likewise.
13437 (fix<uns>_<mode>si2_hw): Rework the IEEE 128-bt hardware support
13438 to know that we can now have integers of all sizes in vector
13439 registers.
13440 (fix<uns>_<mode>di2_hw): Likewise.
13441 (float<uns>_<mode>si2_hw): Likewise.
13442 (fix_<mode>si2_hw): Likewise.
13443 (fixuns_<mode>si2_hw): Likewise.
13444 (float<uns>_<mode>di2_hw): Likewise.
13445 (float_<mode>di2_hw): Likewise.
13446 (float_<mode>si2_hw): Likewise.
13447 (floatuns_<mode>di2_hw): Likewise.
13448 (floatuns_<mode>si2_hw): Likewise.
13449 (xscvqp<su>wz_<mode>): Delete, no longer used.
13450 (xscvqp<su>dz_<mode>): Likewise.
13451 (xscv<su>dqp_<mode>): Likewise.
13452 (ieee128_mfvsrd_64bit): Likewise.
13453 (ieee128_mfvsrd_32bit): Likewise.
13454 (ieee128_mfvsrwz): Likewise.
13455 (ieee128_mtvsrw): Likewise.
13456 (ieee128_mtvsrd_64bit): Likewise.
13457 (ieee128_mtvsrd_32bit): Likewise.
13458
13459 2017-01-31 Martin Liska <mliska@suse.cz>
13460
13461 PR ipa/79285
13462 * ipa-prop.c (ipa_free_all_node_params): Call release method
13463 instead of ~sumbol_summary to not to trigger double times
13464 dtor of hash_map.
13465
13466 2017-01-31 Aldy Hernandez <aldyh@redhat.com>
13467
13468 PR tree-optimization/71691
13469 * bitmap.h (class auto_bitmap): New.
13470 * tree-ssa-loop-unswitch.c (tree_may_unswitch_on): Call
13471 is_maybe_undefined instead of ssa_undefined_value_p.
13472
13473 2017-01-31 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13474
13475 * config/s390/s390-c.c (s390_cpu_cpp_builtins_internal): Rename
13476 __S390_ARCH_LEVEL__ to __ARCH__.
13477
13478 2017-01-31 Jakub Jelinek <jakub@redhat.com>
13479
13480 PR tree-optimization/79267
13481 * value-prof.c (gimple_ic): Only drop lhs for noreturn calls
13482 if should_remove_lhs_p is true.
13483
13484 2017-01-30 Alexandre Oliva <aoliva@redhat.com>
13485
13486 PR debug/63238
13487 * dwarf2out.c (clone_as_declaration): Drop DW_AT_alignment.
13488 (add_alignment_attribute): New.
13489 (base_type_die): Add alignment attribute.
13490 (subrange_type_die): Likewise.
13491 (modified_type_die): Likewise.
13492 (gen_array_type_die): Likewise.
13493 (gen_descr_array_type_die: Likewise.
13494 (gen_enumeration_type_die): Likewise.
13495 (gen_subprogram_die): Likewise.
13496 (gen_variable_die): Likewise.
13497 (gen_field_die): Likewise.
13498 (gen_ptr_to_mbr_type_die): Likewise.
13499 (gen_struct_or_union_type_die): Likewise.
13500 (gen_subroutine_type_die): Likewise.
13501 (gen_typedef_die): Likewise.
13502 (base_type_cmp): Compare alignment attribute.
13503
13504 2017-01-30 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
13505
13506 PR target/79170
13507 * config/rs6000/altivec.md (*setb_internal): Rename to setb_signed.
13508 (setb_unsigned) New pattern for setb with CCUNS.
13509 * config/rs6000/rs6000.c (expand_block_compare): Use a different
13510 subfc./subfe sequence to avoid overflow problems. Generate a
13511 shorter sequence with cmpld/setb for power9.
13512 * config/rs6000/rs6000.md (subf<mode>3_carry_dot2): Add a new pattern
13513 for generating subfc. instruction.
13514 (cmpstrsi): Add TARGET_POPCNTD predicate as the generate sequence
13515 now uses this instruction.
13516
13517 2017-01-30 Ian Lance Taylor <iant@google.com>
13518
13519 PR debug/79289
13520 * dwarf2out.c (gen_type_die_with_usage): When picking a variant
13521 for FUNCTION_TYPE/METHOD_TYPE, use the first matching one.
13522
13523 2017-01-30 Martin Sebor <msebor@redhat.com>
13524
13525 * gimple-ssa-sprintf.c (fmtresult::adjust_for_width_or_precision):
13526 Move constant to the right of a relational operator.
13527 (get_mpfr_format_length, format_character, format_string): Ditto.
13528 (should_warn_p, maybe_warn): Same.
13529
13530 * doc/invoke.texi (-Wformat-truncation=1): Fix typo.
13531
13532 2017-01-30 Maxim Ostapenko <m.ostapenko@samsung.com>
13533
13534 PR lto/79061
13535 * asan.c (get_translation_unit_decl): Remove function.
13536 (asan_add_global): Force has_dynamic_init to zero in LTO mode.
13537
13538 2017-01-30 Martin Liska <mliska@suse.cz>
13539
13540 PR gcov-profile/79259
13541 * opts.c (common_handle_option): Enable flag_ipa_bit_cp w/
13542 -fprofile-generate.
13543
13544 2017-01-30 Martin Liska <mliska@suse.cz>
13545
13546 PR bootstrap/78985
13547 * config/aarch64/cortex-a57-fma-steering.c (func_fma_steering::analyze):
13548 Initialize variables with NULL value.
13549
13550 2017-01-30 Richard Earnshaw <rearnsh@arm.com>
13551
13552 PR target/79260
13553 * config.gcc (arm*-*-*): Add arm/arm-flags.h and arm/arm-isa.h to
13554 tm_p_file.
13555 * arm/arm-protos.h: Don't directly include arm-flags.h and arm-isa.h.
13556
13557 2017-01-30 Richard Biener <rguenther@suse.de>
13558
13559 PR tree-optimization/79276
13560 * tree-vrp.c (process_assert_insertions): Properly adjust common
13561 when removing a duplicate.
13562
13563 2017-01-30 Richard Biener <rguenther@suse.de>
13564
13565 PR tree-optimization/79256
13566 * targhooks.c (default_builtin_vector_alignment_reachable): Honor
13567 BIGGEST_FIELD_ALIGNMENT and ADJUST_FIELD_ALIGN to fix up bogus
13568 alignment on TYPE.
13569 * tree.c (build_aligned_type): Set TYPE_USER_ALIGN.
13570
13571 2017-01-30 Dominik Vogt <vogt@linux.vnet.ibm.com>
13572
13573 PR target/79240
13574 * config/s390/s390.md ("*r<noxa>sbg_<mode>_srl_bitmask")
13575 ("*r<noxa>sbg_<mode>_sll_bitmask")
13576 ("*extzv_<mode>_srl<clobbercc_or_nocc>")
13577 ("*extzv_<mode>_sll<clobbercc_or_nocc>"):
13578 Use contiguous_bitmask_nowrap_operand.
13579
13580 2017-01-29 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13581
13582 PR target/79268
13583 * config/rs6000/altivec.h (vec_xl): Revise #define.
13584 (vec_xst): Likewise.
13585
13586 2017-01-27 Uros Bizjak <ubizjak@gmail.com>
13587
13588 * config/i386/i386.c (print_reg): Use REGNO instead of true_regnum.
13589
13590 2017-01-27 Bernd Schmidt <bschmidt@redhat.com>
13591
13592 PR rtl-optimization/79194
13593 * cprop.c (one_cprop_pass): Move deletion of code after unconditional
13594 traps before call to bypass_conditional_jumps.
13595
13596 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
13597
13598 PR tree-optimization/71374
13599 * lra-constraints.c (check_conflict_input_operands): New.
13600 (match_reload): Use it.
13601
13602 2017-01-27 Vladimir Makarov <vmakarov@redhat.com>
13603
13604 PR target/79131
13605 * lra-assigns.c (find_hard_regno_for_1): Take endianess for into
13606 account to calculate conflict_set.
13607
13608 2017-01-27 Bin Cheng <bin.cheng@arm.com>
13609
13610 PR rtl-optimization/78559
13611 * combine.c (try_combine): Discard REG_EQUAL and REG_EQUIV for
13612 other_insn in combine.
13613
13614 2017-01-27 Pekka Jääskeläinen <pekka.jaaskelainen@parmance.com>
13615
13616 * builtin-types.def: Use unsigned_char_type_node for BT_UINT8. Use
13617 uint16_type_node for BT_UINT16.
13618
13619 2017-01-27 David Malcolm <dmalcolm@redhat.com>
13620
13621 * doc/sourcebuild.texi (Testsuites): Add "GIMPLE Tests" and
13622 "RTL Tests" to menu.
13623 (GIMPLE Tests): New node.
13624 (RTL Tests): New node.
13625
13626 2017-01-27 Richard Biener <rguenther@suse.de>
13627
13628 PR tree-optimization/79245
13629 * tree-loop-distribution.c (distribute_loop): Apply cost
13630 modeling also to detected patterns.
13631
13632 2017-01-27 Richard Biener <rguenther@suse.de>
13633
13634 PR tree-optimization/71433
13635 * tree-vrp.c (register_new_assert_for): Revert earlier changes.
13636 (compare_assert_loc): New function.
13637 (process_assert_insertions): Sort and optimize assert locations
13638 to remove duplicates and push down identical assertions on
13639 edges to their destination block.
13640
13641 2017-01-27 Richard Biener <rguenther@suse.de>
13642
13643 PR tree-optimization/79244
13644 * tree-vrp.c (remove_range_assertions): Forcefully propagate
13645 out SSA names even if abnormal.
13646
13647 2017-01-27 Jakub Jelinek <jakub@redhat.com>
13648
13649 * realmpfr.h: Poison MPFR_RND{N,Z,U,D}.
13650 * gimple-ssa-sprintf.c (format_floating_max): Use GMP_RNDN
13651 instead of MPFR_RNDN.
13652
13653 2017-01-27 Richard Earnshaw <rearnsha@arm.com>
13654
13655 PR target/79239
13656 * arm.c (arm_option_override): Don't call build_target_option_node
13657 until after doing all option overrides.
13658 (arm_valid_target_attribute_tree): Likewise.
13659
13660 2017-01-27 Martin Liska <mliska@suse.cz>
13661
13662 * doc/invoke.texi (-fprofile-arcs): Document profiling support
13663 for {cd}tors and C++ {cd}tors.
13664
13665 2017-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
13666
13667 * config/s390/s390.md ("*setmem_long_and")
13668 ("*setmem_long_and_31z"): Use zero_extend instead of and.
13669
13670 2017-01-26 Martin Sebor <msebor@redhat.com>
13671
13672 * gimple-ssa-sprintf.c (format_floating): Simplify the computation
13673 of precision.
13674
13675 2017-01-26 Martin Sebor <msebor@redhat.com>
13676
13677 * gimple-ssa-sprintf.c (format_floating): Test HAVE_XFmode and
13678 HAVE_DFmode before using XFmode or DFmode.
13679 (parse_directive): Avoid using the z length modifier to avoid
13680 the ISO C++98 does not support the ‘z’ gnu_printf length modifier.
13681
13682 PR middle-end/78703
13683 * gimple-ssa-sprintf.c (adjust_for_width_or_precision): Change
13684 to accept adjustment as an array.
13685 (get_int_range): New function.
13686 (struct directive): Make width and prec arrays.
13687 (directive::set_width, directive::set_precision): Call get_int_range.
13688 (format_integer, format_floating): Handle width and precision ranges.
13689 (format_string, parse_directive): Same.
13690
13691 2017-01-26 Jakub Jelinek <jakub@redhat.com>
13692
13693 PR debug/79129
13694 * dwarf2out.c (generate_skeleton_bottom_up): For children with
13695 comdat_type_p set, just clone them, but keep the children in the
13696 original DIE.
13697
13698 PR debug/78835
13699 * dwarf2out.c (prune_unused_types): Mark all functions with DIEs
13700 which have direct callers with -fvar-tracking-assignments enabled
13701 in the current TU.
13702 (resolve_addr): Avoid adding skeleton DIEs for DW_AT_call_origin
13703 inside of type units.
13704
13705 2017-01-26 Martin Sebor <msebor@redhat.com>
13706
13707 PR middle-end/78703
13708 * gimple-ssa-sprintf.c (struct result_range): Add likely and
13709 unlikely counters.
13710 (struct format_result): Replace number_chars, number_chars_min,
13711 and number_chars_max with a single member of struct result_range.
13712 Remove bounded.
13713 (format_result::operator+=): Adjust.
13714 (struct fmtresult): Remove bounded. Handle likely and unlikely
13715 counters.
13716 (fmtresult::adjust_for_width_or_precision): New function.
13717 (fmtresult:type_max_digits): New function.
13718 (bytes_remaining): Handle likely and unlikely counters.
13719 (min_bytes_remaining): Remove.
13720 (format_percent): Simplify.
13721 (format_integer, format_floating): Set likely and unlikely counters.
13722 (get_string_length, format_character, format_string): Same.
13723 (format_plain, should_warn_p): New function.
13724 (maybe_warn): Call should_warn_p. Update diagnostic messages
13725 and handle those for all directives, including plain strings.
13726 (format_directive): Handle likely and unlikely counters.
13727 Remove unnecessary quoting from diagnostics. Add an informational
13728 note.
13729 (add_bytes): Remove.
13730 (pass_sprintf_length::compute_format_length): Simplify.
13731 (try_substitute_return_value): Handle likely and unlikely counters.
13732
13733 2017-01-26 Carl Love <cel@us.ibm.com>
13734
13735 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Remove
13736 bogus entries for the P8V_BUILTIN_VEC_VGBBD built-ins
13737
13738 2017-01-26 Vladimir Makarov <vmakarov@redhat.com>
13739
13740 PR target/79131
13741 * lra-assigns.c (setup_live_pseudos_and_spill_after_risky): Take
13742 endianess for subregs into account.
13743 * lra-constraints.c (lra_constraints): Do risky transformations
13744 always on the first iteration.
13745 * lra-lives.c (check_pseudos_live_through_calls): Add arg
13746 last_call_used_reg_set.
13747 (process_bb_lives): Define and use last_call_used_reg_set.
13748 * lra.c (lra): Always continue after lra_constraints on the first
13749 iteration.
13750
13751 2017-01-26 Kirill Yukhin <kirill.yukhin@gmail.com>
13752
13753 * gcc.target/i386/avx512bw-kshiftlq-2.c: Use unsigned long long
13754 constant.
13755 * gcc.target/i386/avx512bw-kshiftrq-2.c: Ditto.
13756
13757 2017-01-26 Jakub Jelinek <jakub@redhat.com>
13758
13759 * config/i386/avx512fintrin.h (_ktest_mask16_u8,
13760 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): Move to ...
13761 * config/i386/avx512dqintrin.h (_ktest_mask16_u8,
13762 _ktestz_mask16_u8, _ktestc_mask16_u8, _kadd_mask16): ... here.
13763 * config/i386/i386-builtin.def (__builtin_ia32_ktestchi,
13764 __builtin_ia32_ktestzhi, __builtin_ia32_kaddhi): Use
13765 OPTION_MASK_ISA_AVX512DQ instead of OPTION_MASK_ISA_AVX512F.
13766 * config/i386/sse.md (SWI1248_AVX512BWDQ2): New mode iterator.
13767 (kadd<mode>, ktest<mode>): Use it instead of SWI1248_AVX512BWDQ.
13768
13769 2017-01-26 Marek Polacek <polacek@redhat.com>
13770
13771 PR c/79199
13772 * fold-const.c (operand_equal_p) [COND_EXPR]: Use OP_SAME_WITH_NULL
13773 for the third operand.
13774
13775 2017-01-26 Jakub Jelinek <jakub@redhat.com>
13776
13777 PR middle-end/79236
13778 * omp-low.c (struct omp_context): Add simt_stmt field.
13779 (scan_omp_for): Return omp_context *.
13780 (scan_omp_simd): Set simt_stmt on the non-_simt_ SIMD
13781 context to the _simt_ SIMD stmt.
13782 (lower_omp_for): For combined SIMD with sibling _simt_
13783 SIMD, make sure to use the same decls in _looptemp_
13784 clauses as in the sibling.
13785
13786 2017-01-26 David Sherwood <david.sherwood@arm.com>
13787
13788 PR middle-end/79212
13789 * gimplify.c (omp_notice_variable): Add GOVD_SEEN flag to variables in
13790 all contexts.
13791
13792 2017-01-26 Jakub Jelinek <jakub@redhat.com>
13793
13794 PR target/70465
13795 * reg-stack.c (emit_swap_insn): Instead of fld a; fld b; fxchg %st(1);
13796 emit fld b; fld a; if possible.
13797
13798 * brig-builtins.def: Update copyright years.
13799 * config/arm/arm_acle_builtins.def: Update copyright years.
13800
13801 2017-01-25 Michael Meissner <meissner@linux.vnet.ibm.com>
13802
13803 PR target/79179
13804 * config/rs6000/vsx.md (vsx_extract_<mode>_store): Use wY
13805 constraint instead of o for the stxsd instruction.
13806
13807 2017-01-25 Carl Love <cel@us.ibm.com>
13808
13809 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Fix order
13810 of entries for ALTIVEC_BUILTIN_VEC_PACKS and P8V_BUILTIN_VEC_VGBBD.
13811
13812 2017-01-25 Jonathan Wakely <jwakely@redhat.com>
13813
13814 * doc/invoke.texi (C++ Dialect Options): Fix typo.
13815
13816 2017-01-25 Richard Biener <rguenther@suse.de>
13817
13818 PR tree-optimization/69264
13819 * target.def (vector_alignment_reachable): Improve documentation.
13820 * doc/tm.texi: Regenerate.
13821 * targhooks.c (default_builtin_vector_alignment_reachable): Simplify
13822 and add a comment.
13823 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Revert
13824 earlier changes with respect to TYPE_USER_ALIGN.
13825 (vector_alignment_reachable_p): Likewise. Improve dumping.
13826
13827 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13828
13829 PR target/79145
13830 * config/arm/arm.md (xordi3): Force constant operand into a register
13831 for TARGET_IWMMXT.
13832
13833 2016-01-25 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13834
13835 * doc/invoke.texi (-fstore-merging): Correct default optimization
13836 levels at which it is enabled.
13837 (-O): Move -fstore-merging from list to...
13838 (-O2): ... Here.
13839
13840 2017-01-25 Richard Biener <rguenther@suse.de>
13841
13842 PR debug/78363
13843 * omp-expand.c: Include debug.h.
13844 (expand_omp_taskreg): Make sure to generate early debug before
13845 outlining anything from a function.
13846 (expand_omp_target): Likewise.
13847 (grid_expand_target_grid_body): Likewise.
13848
13849 2017-01-25 Maxim Ostapenko <m.ostapenko@samsung.com>
13850
13851 PR lto/79061
13852 * asan.c (get_translation_unit_decl): New function.
13853 (asan_add_global): Extract modules file name from globals
13854 TRANSLATION_UNIT_DECL name.
13855
13856 2017-01-24 Eric Botcazou <ebotcazou@adacore.com>
13857
13858 PR target/77439
13859 * config/arm/arm.c (arm_function_ok_for_sibcall): Add back restriction
13860 for long calls with APCS frame and VFP.
13861
13862 2017-01-24 David Malcolm <dmalcolm@redhat.com>
13863
13864 * cfg.c (original_copy_tables_initialized_p): New function.
13865 * cfg.h (original_copy_tables_initialized_p): New decl.
13866 * cfgrtl.c (relink_block_chain): Guard the call to
13867 free_original_copy_tables with a call to
13868 original_copy_tables_initialized_p.
13869 * cgraph.h (symtab_node::native_rtl_p): New decl.
13870 * cgraphunit.c (symtab_node::native_rtl_p): New function.
13871 (symtab_node::needed_p): Don't assert for early assembly output
13872 for __RTL functions.
13873 (cgraph_node::finalize_function): Set "force_output" for __RTL
13874 functions.
13875 (cgraph_node::analyze): Bail out early for __RTL functions.
13876 (analyze_functions): Update assertion to support __RTL functions.
13877 (cgraph_node::expand): Bail out early for __RTL functions.
13878 * final.c (rest_of_clean_state): Don't call delete_tree_ssa for
13879 __RTL functions.
13880 * function.h (struct function): Update comment for field
13881 "pass_startwith".
13882 * gimple-expr.c: Include "tree-pass.h".
13883 (gimple_has_body_p): Return false for __RTL functions.
13884 * Makefile.in (OBJS): Add run-rtl-passes.o.
13885 * pass_manager.h (gcc::pass_manager::get_rest_of_compilation): New
13886 accessor.
13887 (gcc::pass_manager::get_clean_slate): New accessor.
13888 * passes.c: Include "insn-addr.h".
13889 (should_skip_pass_p): Add logging. Update logic for running
13890 "expand" to be compatible with both __GIMPLE and __RTL. Guard
13891 property-provider override so it is only done for gimple passes.
13892 Don't skip dfinit.
13893 (skip_pass): New function.
13894 (execute_one_pass): Call skip_pass when skipping passes.
13895 * read-md.c (md_reader::read_char): Support filtering
13896 the input to a subset of line numbers.
13897 (md_reader::md_reader): Initialize fields
13898 m_first_line and m_last_line.
13899 (md_reader::read_file_fragment): New function.
13900 * read-md.h (md_reader::read_file_fragment): New decl.
13901 (md_reader::m_first_line): New field.
13902 (md_reader::m_last_line): New field.
13903 * read-rtl-function.c (function_reader::create_function): Only
13904 create cfun if it doesn't already exist. Set PROP_rtl on cfun's
13905 curr_properties. Set DECL_INITIAL to a dummy block.
13906 (read_rtl_function_body_from_file_range): New function.
13907 * read-rtl-function.h (read_rtl_function_body_from_file_range):
13908 New decl.
13909 * run-rtl-passes.c: New file.
13910 * run-rtl-passes.h: New file.
13911
13912 2017-01-24 Jeff Law <law@redhat.com>
13913
13914 * config/microblaze/microblaze.h (ASM_FORMAT_PRIVATE_NAME): Increase
13915 buffer size.
13916
13917 2017-01-24 Bin Cheng <bin.cheng@arm.com>
13918
13919 PR tree-optimization/79159
13920 * tree-ssa-loop-niter.c (get_cst_init_from_scev): New function.
13921 (record_nonwrapping_iv): Improve boundary using above function if no
13922 value range information.
13923
13924 2017-01-24 Pekka Jääskeläinen <pekka@parmance.com>
13925 Martin Jambor <mjambor@suse.cz>
13926
13927 * brig-builtins.def: New file.
13928 * builtins.def (DEF_HSAIL_BUILTIN): New macro.
13929 (DEF_HSAIL_ATOMIC_BUILTIN): Likewise.
13930 (DEF_HSAIL_SAT_BUILTIN): Likewise.
13931 (DEF_HSAIL_INTR_BUILTIN): Likewise.
13932 (DEF_HSAIL_CVT_ZEROI_SAT_BUILTIN): Likewise.
13933 * builtin-types.def (BT_INT8): New.
13934 (BT_INT16): Likewise.
13935 (BT_UINT8): Likewise.
13936 (BT_UINT16): Likewise.
13937 (BT_FN_ULONG): Likewise.
13938 (BT_FN_UINT_INT): Likewise.
13939 (BT_FN_UINT_ULONG): Likewise.
13940 (BT_FN_UINT_LONG): Likewise.
13941 (BT_FN_UINT_PTR): Likewise.
13942 (BT_FN_ULONG_PTR): Likewise.
13943 (BT_FN_INT8_FLOAT): Likewise.
13944 (BT_FN_INT16_FLOAT): Likewise.
13945 (BT_FN_UINT32_FLOAT): Likewise.
13946 (BT_FN_UINT16_FLOAT): Likewise.
13947 (BT_FN_UINT8_FLOAT): Likewise.
13948 (BT_FN_UINT64_FLOAT): Likewise.
13949 (BT_FN_UINT16_UINT32): Likewise.
13950 (BT_FN_UINT32_UINT16): Likewise.
13951 (BT_FN_UINT16_UINT16_UINT16): Likewise.
13952 (BT_FN_INT_PTR_INT): Likewise.
13953 (BT_FN_UINT_PTR_UINT): Likewise.
13954 (BT_FN_LONG_PTR_LONG): Likewise.
13955 (BT_FN_ULONG_PTR_ULONG): Likewise.
13956 (BT_FN_VOID_UINT64_UINT64): Likewise.
13957 (BT_FN_UINT8_UINT8_UINT8): Likewise.
13958 (BT_FN_INT8_INT8_INT8): Likewise.
13959 (BT_FN_INT16_INT16_INT16): Likewise.
13960 (BT_FN_INT_INT_INT): Likewise.
13961 (BT_FN_UINT_FLOAT_UINT): Likewise.
13962 (BT_FN_FLOAT_UINT_UINT): Likewise.
13963 (BT_FN_ULONG_UINT_UINT): Likewise.
13964 (BT_FN_ULONG_UINT_PTR): Likewise.
13965 (BT_FN_ULONG_ULONG_ULONG): Likewise.
13966 (BT_FN_UINT_UINT_UINT): Likewise.
13967 (BT_FN_VOID_UINT_PTR): Likewise.
13968 (BT_FN_UINT_UINT_PTR: Likewise.
13969 (BT_FN_UINT32_UINT64_PTR): Likewise.
13970 (BT_FN_INT_INT_UINT_UINT): Likewise.
13971 (BT_FN_UINT_UINT_UINT_UINT): Likewise.
13972 (BT_FN_UINT_UINT_UINT_PTR): Likewise.
13973 (BT_FN_UINT_ULONG_ULONG_UINT): Likewise.
13974 (BT_FN_ULONG_ULONG_ULONG_ULONG): Likewise.
13975 (BT_FN_LONG_LONG_UINT_UINT): Likewise.
13976 (BT_FN_ULONG_ULONG_UINT_UINT): Likewise.
13977 (BT_FN_VOID_UINT32_UINT64_PTR): Likewise.
13978 (BT_FN_VOID_UINT32_UINT32_PTR): Likewise.
13979 (BT_FN_UINT_UINT_UINT_UINT_UINT): Likewise.
13980 (BT_FN_UINT_FLOAT_FLOAT_FLOAT_FLOAT): Likewise.
13981 (BT_FN_ULONG_ULONG_ULONG_UINT_UINT): Likewise.
13982 * doc/frontends.texi: List BRIG FE.
13983 * doc/install.texi (Testing): Add BRIG tesring requirements.
13984 * doc/invoke.texi (Overall Options): Mention BRIG.
13985 * doc/standards.texi (Standards): Doucment BRIG HSA version.
13986
13987 2017-01-24 Richard Biener <rguenther@suse.de>
13988
13989 PR translation/79208
13990 * ipa-devirt.c (odr_types_equivalent_p): Fix typo in diagnostic.
13991
13992 2017-01-24 Martin Jambor <mjambor@suse.cz>
13993
13994 PR bootstrap/79198
13995 * ipa-prop.c (ipa_free_all_node_params): Call summary destructor.
13996 * ipa-prop.c (ipa_node_params_t::insert): Initialize fields known_csts
13997 and known_contexts.
13998
13999 2017-01-24 Aldy Hernandez <aldyh@redhat.com>
14000
14001 PR middle-end/79123
14002 * gimple-ssa-warn-alloca.c (alloca_call_type): Make sure
14003 casts from signed to unsigned really don't have a range.
14004
14005 2017-01-24 Markus Trippelsdorf <markus@trippelsdorf.de>
14006
14007 * gimple-ssa-sprintf.c (format_floating): Change MPFR_RNDx to
14008 GMP_RNDx for compatiblity.
14009
14010 2017-01-24 Martin Liska <mliska@suse.cz>
14011
14012 PR bootstrap/79132
14013 * tree-ssa-reassoc.c (rewrite_expr_tree_parallel): Insert assert
14014 that would prevent us to call alloca with -1 as argument.
14015
14016 2017-01-24 Jakub Jelinek <jakub@redhat.com>
14017
14018 * dwarf2out.c (output_compilation_unit_header, output_file_names):
14019 Avoid -Wformat-security warning.
14020
14021 2017-01-23 Andrew Pinski <apinski@cavium.com>
14022
14023 * config/aarch64/aarch64.c (thunderx2t99_addrcost_table): Improve
14024 cost table.
14025
14026 2017-01-23 Martin Sebor <msebor@redhat.com>
14027
14028 PR middle-end/78703
14029 * gimple-ssa-sprintf.c (warn_level): New global.
14030 (format_integer): Use it here and throughout the rest of the file.
14031 Use the same switch to compute sign as base.
14032 (maybe_warn): New function.
14033 (format_directive): Factor out warnings into maybe_warn.
14034 Add debugging output. Use warn_level.
14035 (add_bytes): Use warn_level.
14036 (pass_sprintf_length::compute_format_length): Add debugging output.
14037 (try_substitute_return_value): Same.
14038 (pass_sprintf_length::handle_gimple_call): Set and use warn_level.
14039
14040 PR middle-end/78703
14041 * gimple-ssa-sprintf.c (struct format_result): Remove constant member.
14042 (struct fmtresult, format_integer, format_floating): Adjust.
14043 (fmtresult::fmtresult): Set max correctly in two argument ctor.
14044 (get_string_length, format_string,format_directive): Same.
14045 (pass_sprintf_length::compute_format_length): Same.
14046 (try_substitute_return_value): Simplify slightly.
14047
14048 PR middle-end/78703
14049 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust formatting.
14050 (fmtresult::operator+=): Outlined.
14051 (struct fmtresult): Add ctors.
14052 (struct conversion_spec): Rename...
14053 (struct directive): ...to this. Add and remove data members.
14054 (directive::set_width, directive::set_precision): New functions.
14055 (format_percent): Use fmtresult ctor.
14056 (get_width_and_precision): Remove.
14057 (format_integer): Make naming changes. Avoid computing width and
14058 precision.
14059 (format_floating): Same. Adjust indentation.
14060 (format_character, format_none): New functions.
14061 (format_string): Moved character handling to format_character.
14062 (format_directive): Remove arguments, change return type.
14063 (parse_directive): New function.
14064 (pass_sprintf_length::compute_format_length): Move directive
14065 parsing to parse_directive.
14066
14067 2017-01-23 Jakub Jelinek <jakub@redhat.com>
14068
14069 * tree.h (assign_assembler_name_if_neeeded): Rename to ...
14070 (assign_assembler_name_if_needed): ... this.
14071 * tree.c (assign_assembler_name_if_neeeded): Rename to ...
14072 (assign_assembler_name_if_needed): ... this.
14073 (free_lang_data_in_cgraph): Adjust callers.
14074 * cgraphunit.c (cgraph_node::analyze): Likewise.
14075 * omp-expand.c (expand_omp_taskreg, expand_omp_target):
14076 Likewise.
14077
14078 2017-01-23 Richard Biener <rguenther@suse.de>
14079
14080 PR tree-optimization/79088
14081 PR tree-optimization/79188
14082 * tree-ssa-threadupdate.c (mark_threaded_blocks): Move code
14083 resetting loop bounds after last path deletion. Reset loop
14084 bounds of the target loop, make code match the comments.
14085 * tree-ssa-threadbackwards.c (pass_early_thread_jumps::execute):
14086 Make sure loops need no fixups.
14087
14088 2017-01-23 Kelvin Nilsen <kelvin@gcc.gnu.org>
14089
14090 * config/rs6000/rs6000-builtin.def (VSIEDPF): Add scalar insert
14091 exponent support with double type for first argument.
14092 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Changed
14093 type returned by __builtin_vec_extract_sig,
14094 __builtin_vec_extract_sig_sp, and __builtin_vec_extract_sig_dp
14095 functions from "vector int" to "vector unsigned int" or from
14096 "vector long long int" to "vector unsigned long long int".
14097 Changed type returned by __builtin_vec_extract_exp,
14098 __builtin_vec_extract_exp_sp, and __builtin_vec_extract_exp_dp
14099 functions from "vector int" to "vector unsigned int" or from
14100 "vector long long int" to "vector unsigned long long int".
14101 Changed return type of __builtin_vec_test_data_class,
14102 __builtin_vec_test_data_class_sp, and
14103 __builtin_vec_test_data_class_dp from "vector int" to
14104 "vector bool int" or from "vector long long int" to "vector bool
14105 long long int" and changed second argument type from "unsigned
14106 int" to "int". Added new overloaded function forms "vector float
14107 __builtin_vec_insert_exp (vector float, vector unsigned int)" and
14108 "vector float __builtin_vec_insert_exp_sp (vector float, vector
14109 unsigned int)" and "vector double __builtin_vec_insert_exp (vector
14110 double, vector unsigned long long int)" and "vector double
14111 __builtin_vec_insert_exp_dp (vector double, vector unsigned long
14112 long int)". Changed return type of
14113 __builtin_scalar_test_data_class and
14114 __builtin_scalar_test_data_class_sp and
14115 __builtin_scalar_test_data_class_dp from "unsigned int" to "bool
14116 int" and changed second argument from "unsigned int" to "int".
14117 Changed type returned by __builtin_scalar_test_neg,
14118 __builtin_scalar_test_neg_sp, and __builtin_scalar_test_neg_dp
14119 from "int" to "bool int". Added new overloaded function form
14120 "double __builtin_scalar_insert_exp (double, unsigned long long int)".
14121 * config/rs6000/vsx.md (xsiexpdpf): New insn for scalar insert
14122 exponent double-precision with floating point first argument.
14123 * doc/extend.texi (PowerPC AltiVec Built-in Functions): Adjust
14124 documentation of scalar_test_data_class, scalar_test_neg,
14125 scalar_extract_sig, scalar_extract_exp, scalar_insert_exp,
14126 vector_extract_exp, vec_extract_sig, vec_insert_exp, and
14127 vec_test_data_class built-in functions to reflect refinements in
14128 their type signatures.
14129
14130 2017-01-23 Andreas Tobler <andreast@gcc.gnu.org>
14131
14132 * config/aarch64/aarch64.c (aarch64_elf_asm_constructor): Increase
14133 size of buf.
14134 (aarch64_elf_asm_destructor): Likewise.
14135
14136 2017-01-23 Bernd Schmidt <bschmidt@redhat.com>
14137
14138 PR rtl-optimization/78634
14139 * config/i386/i386.c (ix86_max_noce_ifcvt_seq_cost): New function.
14140 (TARGET_MAX_NOCE_IFCVT_SEQ_COST): Define.
14141 * ifcvt.c (noce_try_cmove): Add missing cost check.
14142
14143 PR rtl-optimization/71724
14144 * combine.c (if_then_else_cond): Look for situations where it is
14145 beneficial to undo the work of one of the recursive calls.
14146
14147 2017-01-23 Bin Cheng <bin.cheng@arm.com>
14148
14149 PR tree-optimization/70754
14150 * tree-predcom.c (stmt_combining_refs): New parameter INSERT_BEFORE.
14151 (reassociate_to_the_same_stmt): New parameter INSERT_BEFORE. Insert
14152 combined stmt before it if not NULL.
14153 (combine_chains): Process refs reversely and compute dominance point
14154 for root ref.
14155
14156 2017-01-23 Martin Liska <mliska@suse.cz>
14157
14158 PR tree-optimization/79196
14159 * tree-ssa-strlen.c (fold_strstr_to_memcmp): Rename to ...
14160 (fold_strstr_to_strncmp): ... this. Fold the pattern to strncmp
14161 instead of memcmp.
14162 (strlen_optimize_stmt): Call the renamed function.
14163
14164 2017-01-23 Michael Matz <matz@suse.de>
14165
14166 PR tree-optimization/78384
14167 * tree-ssa-loop-split.c (patch_loop_exit): Use correct edge.
14168
14169 2017-01-23 Richard Biener <rguenther@suse.de>
14170
14171 PR tree-optimization/79186
14172 * tree-vrp.c (register_new_assert_for): Make sure we've seen
14173 both incoming edges before moving an assert.
14174
14175 2017-01-23 Martin Jambor <mjambor@suse.cz>
14176
14177 * ipa-prop.c (load_from_param_1): Removed.
14178 (load_from_unmodified_param): Bits from load_from_param_1 put back
14179 here.
14180 (load_from_param): Removed.
14181 (compute_complex_assign_jump_func): Removed stmt2 and just replaced it
14182 with stmt. Reverted back to use of load_from_unmodified_param.
14183
14184 2017-01-23 Martin Jambor <mjambor@suse.cz>
14185
14186 PR ipa/79108
14187 * ipa-prop.h (ipa_param_descriptor): Anotate with with GTY(()).
14188 (ipa_node_params): Annotate with GTY((for_user)). Make descriptors
14189 field a pointer to garbage collected vector, mark lattices and
14190 ipcp_orig_node with GTY((skip)).
14191 (ipa_get_param_count): Adjust to descriptors being a pointer.
14192 (ipa_get_param): Likewise.
14193 (ipa_get_type): Likewise.
14194 (ipa_get_param_move_cost): Likewise.
14195 (ipa_set_param_used): Likewise.
14196 (ipa_get_controlled_uses): Likewise.
14197 (ipa_set_controlled_uses): Likewise.
14198 (ipa_is_param_used): Likewise.
14199 (ipa_node_params_t): Move into garbage collector. New methods insert
14200 and remove.
14201 (ipa_node_params_sum): Annotate wth GTY(()).
14202 (ipa_check_create_node_params): Adjust to ipa_node_params_sum being
14203 garbage collected.
14204 (ipa_load_from_parm_agg): Adjust declaration.
14205 * ipa-icf.c (param_used_p): Adjust to descriptors being a pointer.
14206 * ipa-profile.c (ipa_profile): Likewise.
14207 * ipa-prop.c (ipa_get_param_decl_index_1): Likewise.
14208 (ipa_populate_param_decls): Make descriptors parameter garbage
14209 collected.
14210 (ipa_dump_param): Adjust to descriptors being a pointer.
14211 (ipa_alloc_node_params): Likewise.
14212 (ipa_initialize_node_params): Likewise.
14213 (load_from_param_1): Make descriptors parameter garbage collected.
14214 (load_from_unmodified_param): Likewise.
14215 (load_from_param): Likewise.
14216 (ipa_load_from_parm_agg): Likewise.
14217 (ipa_node_params::~ipa_node_params): Removed.
14218 (ipa_free_all_node_params): Remove call to delete operator.
14219 (ipa_node_params_t::insert): New.
14220 (ipa_node_params_t::remove): Likewise.
14221 (ipa_node_params_t::duplicate): Adjust to descriptors being a pointer,
14222 copy known_csts and known_contexts vectors.
14223 (ipa_read_node_info): Adjust to descriptors being a pointer.
14224 (ipcp_modif_dom_walker): Make m_descriptors field garbage
14225 collected.
14226 (ipcp_transform_function): Make descriptors variable garbage
14227 collected.
14228
14229 2017-01-23 Andrew Senkevich <andrew.senkevich@intel.com>
14230
14231 * config/i386/avx512bwintrin.h: Add k-mask test, kortest intrinsics.
14232 * config/i386/avx512dqintrin.h: Ditto.
14233 * config/i386/avx512fintrin.h: Ditto.
14234 * gcc/config/i386/i386.c: Handle new builtins.
14235 * config/i386/i386-builtin.def: Add new builtins.
14236 * config/i386/sse.md (ktest<mode>, kortest<mode>): New.
14237 (UNSPEC_KORTEST, UNSPEC_KTEST): New.
14238
14239 2017-01-23 Jakub Jelinek <jakub@redhat.com>
14240 Martin Liska <mliska@suse.cz>
14241
14242 * asan.h: Define ASAN_USE_AFTER_SCOPE_ATTRIBUTE.
14243 * asan.c (asan_expand_poison_ifn): Support stores and use
14244 appropriate ASAN report function.
14245 * internal-fn.c (expand_ASAN_POISON_USE): New function.
14246 * internal-fn.def (ASAN_POISON_USE): Declare.
14247 * tree-into-ssa.c (maybe_add_asan_poison_write): New function.
14248 (maybe_register_def): Create ASAN_POISON_USE when sanitizing.
14249 * tree-ssa-dce.c (eliminate_unnecessary_stmts): Remove
14250 ASAN_POISON calls w/o LHS.
14251 * tree-ssa.c (execute_update_addresses_taken): Create clobber
14252 for ASAN_MARK (UNPOISON, &x, ...) in order to prevent usage of a LHS
14253 from ASAN_MARK (POISON, &x, ...) coming to a PHI node.
14254 * gimplify.c (asan_poison_variables): Add attribute
14255 use_after_scope_memory to variables that really needs to live
14256 in memory.
14257 * tree-ssa.c (is_asan_mark_p): Do not rewrite into SSA when
14258 having the attribute.
14259
14260 2017-01-23 Martin Liska <mliska@suse.cz>
14261
14262 * asan.c (create_asan_shadow_var): New function.
14263 (asan_expand_poison_ifn): Likewise.
14264 * asan.h (asan_expand_poison_ifn): New declaration.
14265 * internal-fn.c (expand_ASAN_POISON): Likewise.
14266 * internal-fn.def (ASAN_POISON): New builtin.
14267 * sanopt.c (pass_sanopt::execute): Expand
14268 asan_expand_poison_ifn.
14269 * tree-inline.c (copy_decl_for_dup_finish): Make function
14270 external.
14271 * tree-inline.h (copy_decl_for_dup_finish): Likewise.
14272 * tree-ssa.c (is_asan_mark_p): New function.
14273 (execute_update_addresses_taken): Rewrite local variables
14274 (identified just by use-after-scope as addressable) into SSA.
14275
14276 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
14277
14278 * doc/install.texi (Specific): opensource.apple.com uses https
14279 now. Remove trailing slash.
14280
14281 2017-01-22 Gerald Pfeifer <gerald@pfeifer.com>
14282
14283 * README.Portability: Remove note on an Irix compatibility issue.
14284
14285 2017-01-22 Dimitry Andric <dim@FreeBSD.org>
14286
14287 * gcov.c (INCLUDE_ALGORITHM): Define.
14288 (INCLUDE_VECTOR): Define.
14289 No longer include <vector> and <algorithm> directly.
14290
14291 2017-01-21 Gerald Pfeifer <gerald@pfeifer.com>
14292
14293 * doc/extend.texi (Thread-Local): Change www.akkadia.org reference
14294 to https.
14295 * doc/invoke.texi (Code Gen Options): Ditto.
14296
14297 2017-01-21 Jan Hubicka <hubicka@ucw.cz>
14298
14299 PR lto/78407
14300 * cfg.c (update_bb_profile_for_threading): Fix updating of probablity.
14301
14302 2017-01-21 Bernd Schmidt <bschmidt@redhat.com>
14303
14304 rtl-optimization/79125
14305 * cprop.c (local_cprop_pass): Handle cases where we make an
14306 unconditional trap.
14307
14308 2017-01-20 Segher Boessenkool <segher@kernel.crashing.org>
14309
14310 PR target/61729
14311 PR target/77850
14312 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Adjust address to
14313 read from, for big endian.
14314
14315 2017-01-20 Jiong Wang <jiong.wang@arm.com>
14316
14317 * config/aarch64/aarch64-builtins.c (aarch64_init_builtins): Register
14318 register pauth builtins for LP64 only.
14319
14320 2017-01-20 Marek Polacek <polacek@redhat.com>
14321
14322 PR c/79152
14323 * gimplify.c (should_warn_for_implicit_fallthrough): Handle consecutive
14324 non-case labels.
14325
14326 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
14327
14328 * omp-expand.c (expand_omp_simd): Clear PROP_gimple_lomp_dev regardless
14329 of safelen status.
14330 * omp-offload.c (pass_omp_device_lower::gate): Use PROP_gimple_lomp_dev.
14331 * passes.c (dump_properties): Handle PROP_gimple_lomp_dev.
14332 * tree-inline.c (expand_call_inline): Propagate PROP_gimple_lomp_dev.
14333
14334 2017-01-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14335
14336 PR target/71270
14337 * config/arm/arm.c (neon_valid_immediate): Reject vector constants
14338 in big-endian mode when they are not a single duplicated value.
14339
14340 2017-01-20 Richard Biener <rguenther@suse.de>
14341
14342 * BASE-VER: Bump to 7.0.1.
14343
14344 2017-01-20 Alexander Monakov <amonakov@ispras.ru>
14345
14346 * omp-low.c (omplow_simd_context): New struct. Use it...
14347 (lower_rec_simd_input_clauses): ...here and...
14348 (lower_rec_input_clauses): ...here to hold common data. Adjust all
14349 references to idx, lane, max_vf, is_simt.
14350
14351 2017-01-20 Graham Markall <graham.markall@embecosm.com>
14352
14353 * config/arc/arc.h (LINK_SPEC): Use arclinux_nps emulation when
14354 mcpu=nps400.
14355
14356 2017-01-20 Martin Jambor <mjambor@suse.cz>
14357
14358 * hsa.h: Renaed to hsa-common.h. Adjusted a comment.
14359 * hsa.c: Renaed to hsa-common.c. Change include of gt-hsa.h to
14360 gt-hsa-common.h.
14361 * Makefile.in (OBJS): Rename hsa.o to hsa-common.o.
14362 (GTFILES): Rename hsa.c to hsa-common.c.
14363 * hsa-brig.c: Change include of hsa.h to hsa-common.h.
14364 * hsa-dump.c: Likewise.
14365 * hsa-gen.c: Likewise.
14366 * hsa-regalloc.c: Likewise.
14367 * ipa-hsa.c: Likewise.
14368 * omp-expand.c: Likewise.
14369 * omp-low.c: Likewise.
14370 * toplev.c: Likewise.
14371
14372 2017-01-20 Marek Polacek <polacek@redhat.com>
14373
14374 PR c/64279
14375 * doc/invoke.texi: Document -Wduplicated-branches.
14376 * fold-const.c (operand_equal_p): Handle MODIFY_EXPR, INIT_EXPR,
14377 COMPOUND_EXPR, PREDECREMENT_EXPR, PREINCREMENT_EXPR,
14378 POSTDECREMENT_EXPR, POSTINCREMENT_EXPR, CLEANUP_POINT_EXPR, EXPR_STMT,
14379 STATEMENT_LIST, and RETURN_EXPR. For non-pure non-const functions
14380 return 0 only when not OEP_LEXICOGRAPHIC.
14381 (fold_build_cleanup_point_expr): Use the expression
14382 location when building CLEANUP_POINT_EXPR.
14383 * tree-core.h (enum operand_equal_flag): Add OEP_LEXICOGRAPHIC.
14384 * tree.c (add_expr): Handle error_mark_node.
14385
14386 2017-01-20 Martin Liska <mliska@suse.cz>
14387
14388 PR lto/69188
14389 * tree-profile.c (init_ic_make_global_vars): Do not call
14390 finalize_decl.
14391 (gimple_init_gcov_profiler): Likewise.
14392
14393 2017-01-20 Martin Liska <mliska@suse.cz>
14394
14395 PR ipa/71190
14396 * cgraph.h (maybe_create_reference): Remove argument and
14397 update comment.
14398 * cgraphclones.c (cgraph_node::create_virtual_clone): Remove one
14399 argument.
14400 * ipa-cp.c (create_specialized_node): Likewise.
14401 * symtab.c (symtab_node::maybe_create_reference): Handle
14402 VAR_DECLs and ADDR_EXPRs and select ipa_ref_use type.
14403
14404 2017-01-20 Martin Liska <mliska@suse.cz>
14405
14406 * read-rtl-function.c (function_reader::create_function): Use
14407 build_decl instread of build_decl_stat.
14408
14409 2017-01-20 Andrew Senkevich <andrew.senkevich@intel.com>
14410
14411 * config/i386/avx512bwintrin.h: Add k-mask registers shift intrinsics.
14412 * config/i386/avx512dqintrin.h: Ditto.
14413 * config/i386/avx512fintrin.h: Ditto.
14414 * config/i386/i386-builtin-types.def: Add new types.
14415 * gcc/config/i386/i386.c: Handle new types.
14416 * config/i386/i386-builtin.def (__builtin_ia32_kshiftliqi)
14417 (__builtin_ia32_kshiftlihi, __builtin_ia32_kshiftlisi)
14418 (__builtin_ia32_kshiftlidi, __builtin_ia32_kshiftriqi)
14419 (__builtin_ia32_kshiftrihi, __builtin_ia32_kshiftrisi)
14420 (__builtin_ia32_kshiftridi): New.
14421 * config/i386/sse.md (k<code><mode>): Rename *k<code><mode>.
14422
14423 2017-01-19 Segher Boessenkool <segher@kernel.crashing.org>
14424
14425 PR target/78875
14426 PR target/79140
14427 * config/rs6000/rs6000.c (TARGET_STACK_PROTECT_GUARD): Unconditionally
14428 define to rs6000_init_stack_protect_guard.
14429 (rs6000_init_stack_protect_guard): New function.
14430
14431 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
14432 Yunqiang Su <yunqiang.su@imgtec.com>
14433
14434 * config.gcc (supported_defaults): Add madd4.
14435 (with_madd4): Add validation.
14436 (all_defaults): Add madd4.
14437 * config/mips/mips.opt (mmadd4): New option.
14438 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
14439 mmadd4.
14440 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
14441 __mips_no_madd4.
14442 (ISA_HAS_UNFUSED_MADD4): Gate with mips_madd4.
14443 (ISA_HAS_FUSED_MADD4): Likewise.
14444 * gcc/doc/invoke.texi (-mmadd4): Document the new option.
14445 * gcc/doc/install.texi (--with-madd4): Document the new option.
14446
14447 2017-01-19 Jiong Wang <jiong.wang@arm.com>
14448
14449 * config/aarch64/aarch64-builtins.c (enum aarch64_builtins): New
14450 entries for AARCH64_PAUTH_BUILTIN_XPACLRI,
14451 AARCH64_PAUTH_BUILTIN_PACIA1716, AARCH64_PAUTH_BUILTIN_AUTIA1716.
14452 (aarch64_init_pauth_hint_builtins): New.
14453 (aarch64_init_builtins): Call aarch64_init_pauth_hint_builtins.
14454 (aarch64_expand_builtin): Expand new builtins.
14455
14456 2017-01-19 Jiong Wang <jiong.wang@arm.com>
14457
14458 * reg-notes.def (CFA_TOGGLE_RA_MANGLE): New reg-note.
14459 * combine-stack-adj.c (no_unhandled_cfa): Handle
14460 REG_CFA_TOGGLE_RA_MANGLE.
14461 * dwarf2cfi.c (dwarf2out_frame_debug): Handle REG_CFA_TOGGLE_RA_MANGLE.
14462 * config/aarch64/aarch64.c (aarch64_expand_prologue): Generates DWARF
14463 info for return address signing.
14464 (aarch64_expand_epilogue): Likewise.
14465
14466 2017-01-19 Jiong Wang <jiong.wang@arm.com>
14467
14468 * config/aarch64/aarch64-opts.h (aarch64_function_type): New enum.
14469 * config/aarch64/aarch64-protos.h
14470 (aarch64_return_address_signing_enabled): New declaration.
14471 * config/aarch64/aarch64.c (aarch64_return_address_signing_enabled):
14472 New function.
14473 (aarch64_expand_prologue): Sign return address before it's pushed onto
14474 stack.
14475 (aarch64_expand_epilogue): Authenticate return address fetched from
14476 stack.
14477 (aarch64_override_options): Sanity check for ILP32 and ISA level.
14478 (aarch64_attributes): New function attributes for "sign-return-address".
14479 * config/aarch64/aarch64.md (UNSPEC_AUTI1716, UNSPEC_AUTISP,
14480 UNSPEC_PACI1716, UNSPEC_PACISP, UNSPEC_XPACLRI): New unspecs.
14481 ("*do_return"): Generate combined instructions according to key index.
14482 ("<pauth_mnem_prefix>sp", "<pauth_mnem_prefix1716", "xpaclri"): New.
14483 * config/aarch64/iterators.md (PAUTH_LR_SP, PAUTH_17_16): New integer
14484 iterators.
14485 (pauth_mnem_prefix, pauth_hint_num_a): New integer attributes.
14486 * config/aarch64/aarch64.opt (msign-return-address=): New.
14487 * doc/extend.texi (AArch64 Function Attributes): Documents
14488 "sign-return-address=".
14489 * doc/invoke.texi (AArch64 Options): Documents "-msign-return-address=".
14490
14491 2017-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
14492
14493 * doc/invoke.texi: Add missing -mlxc1-sxc1 options to
14494 overall option summary.
14495
14496 2017-01-19 Jiong Wang <jiong.wang@arm.com>
14497
14498 * config/aarch64/aarch64-arches.def: New entry for "armv8.3-a".
14499 * config/aarch64/aarch64.h (AARCH64_FL_V8_3, AARCH64_FL_FOR_ARCH8_3,
14500 AARCH64_ISA_V8_3, TARGET_ARMV8_3): New.
14501 * doc/invoke.texi (AArch64 Options): Document "armv8.3-a".
14502
14503 2017-01-19 Michael Meissner <meissner@linux.vnet.ibm.com>
14504
14505 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Enable
14506 -mpower9-minmax by default for -mcpu=power9.
14507 (ISA_3_MASKS_IEEE): Require -mvsx-small-integer to enable IEEE
14508 128-bit floating point.
14509
14510 2017-01-20 Alan Modra <amodra@gmail.com>
14511
14512 * config/rs6000/rs6000.md (cmpstrnsi, cmpstrsi): Fail if
14513 optimizing for size.
14514
14515 2017-01-20 Alan Modra <amodra@gmail.com>
14516
14517 PR target/79144
14518 * config/rs6000/rs6000.c (expand_strn_compare): Get the asm name
14519 for strcmp and strncmp from corresponding builtin decl.
14520
14521 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
14522
14523 * config.gcc (x86_64-*-rtems*): Use i386/rtemself.h
14524 instead of i386/rtems-64.h.
14525 * config/i386/rtems-64.h: Remove.
14526
14527 2017-01-19 Uros Bizjak <ubizjak@gmail.com>
14528
14529 PR target/78478
14530 Revert:
14531 2013-11-05 Uros Bizjak <ubizjak@gmail.com>
14532
14533 * config/i386/rtemself.h (LONG_DOUBLE_TYPE_SIZE): New define.
14534
14535 2017-01-19 Tamar Christina <tamar.christina@arm.com>
14536
14537 * config/aarch64/aarch64.c (aarch64_simd_gen_const_vector_dup):
14538 Change int to HOST_WIDE_INT.
14539 * config/aarch64/aarch64-protos.h
14540 (aarch64_simd_gen_const_vector_dup): Likewise.
14541 * config/aarch64/aarch64-simd.md: Add copysign<mode>3.
14542
14543 2017-01-19 David Malcolm <dmalcolm@redhat.com>
14544
14545 * langhooks-def.h (lhd_type_for_size): New decl.
14546 (LANG_HOOKS_TYPE_FOR_SIZE): Define as lhd_type_for_size.
14547 * langhooks.c (lhd_type_for_size): New function, taken from
14548 lto_type_for_size.
14549
14550 2017-01-19 Pat Haugen <pthaugen@us.ibm.com>
14551
14552 * config/rs6000/power9.md (power9-alu): Remove 'cmp' type and add
14553 define_bypass for CR latency.
14554 (power9-cracked-alu): Update bypass latency and remove power9-branch.
14555 (power9-alu2): Add define_bypass for CR latency.
14556 (power9-cmp): New.
14557 (power9-mul): Update insn latency.
14558 (power9-mul-compare): Update insn latency, bypass latency and remove
14559 power9-branch.
14560
14561 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14562
14563 * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
14564 Delete.
14565 * config/aarch64/aarch64.md
14566 (aarch64_reload_movcp<GPF_TF:mode><P:mode>): Delete reference to
14567 aarch64_nopcrelative_literal_loads.
14568 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
14569
14570 2017-01-19 Chenghua Xu <paul.hua.gm@gmail.com>
14571
14572 * config/mips/mips.h (ISA_HAS_FUSED_MADD4): Enable for
14573 TARGET_LOONGSON_3A.
14574 (ISA_HAS_UNFUSED_MADD4): Exclude TARGET_LOONGSON_3A.
14575
14576 2017-01-19 Doug Gilmore <doug.gilmore@imgtec.com>
14577
14578 PR target/78176
14579 * config.gcc (supported_defaults): Add lxc1-sxc1.
14580 (with_lxc1_sxc1): Add validation.
14581 (all_defaults): Add lxc1-sxc1.
14582 * config/mips/mips.opt (mlxc1-sxc1): New option.
14583 * gcc/config/mips/mips.h (OPTION_DEFAULT_SPECS): Add a default for
14584 mlxc1-sxc1.
14585 (TARGET_CPU_CPP_BUILTINS): Add builtin_define for
14586 __mips_no_lxc1_sxc1.
14587 (ISA_HAS_LXC1_SXC1): Gate with mips_lxc1_sxc1.
14588 * gcc/doc/invoke.texi (-mlxc1-sxc1): Document the new option.
14589 * doc/install.texi (--with-lxc1-sxc1): Document the new option.
14590
14591 2017-01-19 Richard Biener <rguenther@suse.de>
14592
14593 PR tree-optimization/72488
14594 * tree-ssa-sccvn.c (run_scc_vn): When we abort the VN make
14595 sure to restore SSA info.
14596 * tree-ssa.c (verify_ssa): Verify SSA info is not shared.
14597
14598 2017-01-19 Richard Earnshaw <rearnsha@arm.com>
14599
14600 PR rtl-optimization/79121
14601 * expr.c (expand_expr_real_2, case LSHIFT_EXPR): Look at the signedness
14602 of the inner type when shifting an extended value.
14603
14604 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
14605
14606 PR lto/78407
14607 * symtab.c (symtab_node::equal_address_to): Fix comparing of
14608 interposable aliases.
14609
14610 2017-01-18 Peter Bergner <bergner@vnet.ibm.com>
14611
14612 PR target/78516
14613 * config/rs6000/spe.md (mov_si<mode>_e500_subreg0): Fix constraints.
14614 Use the evmergelohi instruction.
14615 (mov_si<mode>_e500_subreg4_2_le): Likewise.
14616 (mov_sitf_e500_subreg8_2_be): Likewise.
14617 (mov_sitf_e500_subreg12_2_le): Likewise.
14618 (mov_si<mode>_e500_subreg0_2_le): Fix constraints.
14619 (mov_si<mode>_e500_subreg4_2_be): Likewise.
14620 (mov_sitf_e500_subreg8_2_le): Likewise.
14621 (mov_sitf_e500_subreg12_2_be): Likewise.
14622
14623 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14624
14625 * config/rs6000/altivec.md (altivec_vbpermq): Change "type"
14626 attribute from vecsimple to vecperm.
14627 (altivec_vbpermq2): Likewise.
14628
14629 2017-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14630
14631 PR target/79040
14632 * config/rs6000/altivec.h: Fix typo of vec_cntlz to vec_cnttz.
14633
14634 2017-01-18 Aaron Sawdey <acsawdey@linux.vnet.ibm.com>
14635 * config/rs6000/rs6000-protos.h (expand_strn_compare): Add arg.
14636 * config/rs6000/rs6000.c (expand_strn_compare): Add ability to expand
14637 strcmp. Fix bug where comparison didn't stop with zero byte. Fix
14638 case where N arg is SIZE_MAX.
14639 * config/rs6000/rs6000.md (cmpstrnsi): Args to expand_strn_compare.
14640 (cmpstrsi): Add pattern.
14641
14642 2017-01-18 Michael Meissner <meissner@linux.vnet.ibm.com>
14643
14644 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
14645 __builtin_vec_revb builtins.
14646 * config/rs6000/rs6000-builtins.def (P9V_BUILTIN_XXBRQ_V16QI): Add
14647 built-in functions to support generation of the ISA 3.0 XXBR<x>
14648 vector byte reverse instructions.
14649 (P9V_BUILTIN_XXBRQ_V1TI): Likewise.
14650 (P9V_BUILTIN_XXBRD_V2DI): Likewise.
14651 (P9V_BUILTIN_XXBRD_V2DF): Likewise.
14652 (P9V_BUILTIN_XXBGW_V4SI): Likewise.
14653 (P9V_BUILTIN_XXBGW_V4SF): Likewise.
14654 (P9V_BUILTIN_XXBGH_V8HI): Likewise.
14655 (P9V_BUILTIN_VEC_REVB): Likewise.
14656 * config/rs6000/vsx.md (p9_xxbrq_v1ti): New insns/expanders to
14657 generate the ISA 3.0 XXBR<x> vector byte reverse instructions.
14658 (p9_xxbrq_v16qi): Likewise.
14659 (p9_xxbrd_<mode>, VSX_D iterator): Likewise.
14660 (p9_xxbrw_<mode>, VSX_W iterator): Likewise.
14661 (p9_xxbrh_v8hi): Likewise.
14662 * config/rs6000/altivec.h (vec_revb): Define if ISA 3.0.
14663 * doc/extend.texi (RS/6000 Altivec Built-ins): Document the
14664 vec_revb built-in functions.
14665
14666 2017-01-18 Uros Bizjak <ubizjak@gmail.com>
14667
14668 PR rtl-optimization/78952
14669 * config/i386/i386.md (any_extract): New code iterator.
14670 (*insvqi_2): Use any_extract for source operand.
14671 (*insvqi_3): Use any_shiftrt for source operand.
14672
14673 2017-01-18 Wilco Dijkstra <wdijkstr@arm.com>
14674
14675 * config/aarch64/aarch64.c (aarch64_sched_adjust_priority)
14676 New function.
14677 (TARGET_SCHED_ADJUST_PRIORITY): Define target hook.
14678
14679 2017-01-18 Matthias Klose <doko@ubuntu.com>
14680
14681 * doc/install.texi: Allow default for --with-target-bdw-gc-include.
14682
14683 2016-01-18 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14684
14685 * config/rs6000/altivec.h (vec_bperm): Change #define.
14686 * config/rs6000/altivec.md (UNSPEC_VBPERMD): New enum constant.
14687 (altivec_vbpermq2): New define_insn.
14688 (altivec_vbpermd): Likewise.
14689 * config/rs6000/rs6000-builtin.def (VBPERMQ2): New monomorphic
14690 function interface.
14691 (VBPERMD): Likewise.
14692 (VBPERM): New polymorphic function interface.
14693 * config/rs6000/r6000-c.c (altivec_overloaded_builtins_table):
14694 Add entries for P9V_BUILTIN_VEC_VBPERM.
14695 * doc/extend.texi: Add interfaces for vec_bperm.
14696
14697 2017-01-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
14698
14699 * config/s390/s390-c.c (s390_expand_overloaded_builtin): Downcase
14700 first letter of error messages.
14701 (s390_resolve_overloaded_builtin): Likewise.
14702 * config/s390/s390.c (s390_expand_builtin): Likewise.
14703 (s390_invalid_arg_for_unprototyped_fn): Likewise.
14704 (s390_valid_target_attribute_inner_p): Likewise.
14705 * config/s390/s390.md ("tabort"): Likewise.
14706
14707 2017-01-18 Toma Tabacu <toma.tabacu@imgtec.com>
14708
14709 * config/mips/mips.h (ISA_HAS_DIV3): Remove unused macro.
14710 (ISA_AVOID_DIV_HILO): New macro.
14711 (ISA_HAS_DIV): Use new ISA_AVOID_DIV_HILO macro.
14712 (ISA_HAS_DDIV): Likewise.
14713
14714 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
14715
14716 * doc/invoke.texi (fabi-version): Correct number of occurrences.
14717
14718 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
14719
14720 * doc/invoke.texi (fabi-version): Spelling fix.
14721
14722 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
14723
14724 PR c++/70182
14725 * doc/invoke.texi (fabi-version): Mention mangling fix for
14726 operator names.
14727
14728 2017-01-18 Markus Trippelsdorf <markus@trippelsdorf.de>
14729
14730 PR c++/77489
14731 * doc/invoke.texi (fabi-version): Document discriminator mangling.
14732
14733 2017-01-17 Segher Boessenkool <segher@kernel.crashing.org>
14734
14735 PR target/78875
14736 * config/rs6000/rs6000-opts.h (stack_protector_guard): New enum.
14737 * config/rs6000/rs6000.c (rs6000_option_override_internal): Handle
14738 the new options.
14739 * config/rs6000/rs6000.md (stack_protect_set): Handle the new more
14740 flexible settings.
14741 (stack_protect_test): Ditto.
14742 * config/rs6000/rs6000.opt (mstack-protector-guard=,
14743 mstack-protector-guard-reg=, mstack-protector-guard-offset=): New
14744 options.
14745 * doc/invoke.texi (Option Summary) [RS/6000 and PowerPC Options]:
14746 Add -mstack-protector-guard=, -mstack-protector-guard-reg=, and
14747 -mstack-protector-guard-offset=.
14748 (RS/6000 and PowerPC Options): Ditto.
14749
14750 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
14751
14752 * config/i386/i386.h (MASK_CLASS_P): New define.
14753 * config/i386/i386.c (inline_secondary_memory_needed): Ensure that
14754 there are no registers from different register sets also when
14755 mask registers are used. Update function comment.
14756 * config/i386/i386.md (*movsi_internal): Split (*k/*krm) alternative
14757 to (*k/*r) and (*k/*km) alternatives.
14758
14759 2017-01-17 Wilco Dijkstra <wdijkstr@arm.com>
14760
14761 * config/aarch64/aarch64.md (eh_return): Remove pattern and splitter.
14762 * config/aarch64/aarch64.h (AARCH64_EH_STACKADJ_REGNUM): Remove.
14763 (EH_RETURN_HANDLER_RTX): New define.
14764 * config/aarch64/aarch64.c (aarch64_frame_pointer_required):
14765 Force frame pointer in EH return functions.
14766 (aarch64_expand_epilogue): Add barrier for eh_return.
14767 (aarch64_final_eh_return_addr): Remove.
14768 (aarch64_eh_return_handler_rtx): New function.
14769 * config/aarch64/aarch64-protos.h (aarch64_final_eh_return_addr):
14770 Remove.
14771 (aarch64_eh_return_handler_rtx): New prototype.
14772
14773 2017-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
14774
14775 * config/rs6000/altivec.h (vec_rlmi): New #define.
14776 (vec_vrlnm): Likewise.
14777 (vec_rlnm): Likewise.
14778 * config/rs6000/altivec.md (UNSPEC_VRLMI): New UNSPEC enum value.
14779 (UNSPEC_VRLNM): Likewise.
14780 (VIlong): New mode iterator.
14781 (altivec_vrl<VI_char>mi): New define_insn.
14782 (altivec_vrl<VI_char>nm): Likewise.
14783 * config/rs6000/rs6000-builtin.def (VRLWNM): New monomorphic
14784 function entry.
14785 (VRLDNM): Likewise.
14786 (RLNM): New polymorphic function entry.
14787 (VRLWMI): New monomorphic function entry.
14788 (VRLDMI): Likewise.
14789 (RLMI): New polymorphic function entry.
14790 * config/rs6000/r6000-c.c (altivec_overloaded_builtin_table): Add
14791 new entries for P9V_BUILTIN_VEC_RLMI and P9V_BUILTIN_VEC_RLNM.
14792 * doc/extend.texi: Add description of vec_rlmi, vec_rlnm, and
14793 vec_vrlnm.
14794
14795 2017-01-17 Jakub Jelinek <jakub@redhat.com>
14796
14797 PR debug/78839
14798 * dwarf2out.c (field_byte_offset): Restore the
14799 PCC_BITFIELD_TYPE_MATTERS behavior for INTEGER_CST DECL_FIELD_OFFSET
14800 and DECL_FIELD_BIT_OFFSET. Use fold_build2 instead of build2 + fold.
14801 (analyze_variants_discr, gen_variant_part): Use fold_build2 instead
14802 of build2 + fold.
14803
14804 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
14805
14806 PR ada/67205
14807 * config/aarch64/aarch64.c (TARGET_CUSTOM_FUNCTION_DESCRIPTORS): Define
14808
14809 2017-01-17 Jakub Jelinek <jakub@redhat.com>
14810
14811 PR debug/71669
14812 * dwarf2out.c (add_data_member_location_attribute): For constant
14813 offset bitfield emit for -gdwarf-5 DW_AT_data_bit_offset attribute
14814 instead of DW_AT_data_member_location, DW_AT_bit_offset and
14815 DW_AT_byte_size attributes.
14816
14817 2017-01-17 Eric Botcazou <ebotcazou@adacore.com>
14818
14819 * config/rs6000/rs6000.c (rs6000_emit_move): Also use a TOC reference
14820 after forcing to constant memory when the code model is medium.
14821
14822 2017-01-17 Julia Koval <julia.koval@intel.com>
14823
14824 PR target/76731
14825 * config/i386/avx512fintrin.h
14826 (_mm512_i32gather_ps): Change __addr type to void const*.
14827 (_mm512_mask_i32gather_ps): Ditto.
14828 (_mm512_i32gather_pd): Ditto.
14829 (_mm512_mask_i32gather_pd): Ditto.
14830 (_mm512_i64gather_ps): Ditto.
14831 (_mm512_mask_i64gather_ps): Ditto.
14832 (_mm512_i64gather_pd): Ditto.
14833 (_mm512_mask_i64gather_pd): Ditto.
14834 (_mm512_i32gather_epi32): Ditto.
14835 (_mm512_mask_i32gather_epi32): Ditto.
14836 (_mm512_i32gather_epi64): Ditto.
14837 (_mm512_mask_i32gather_epi64): Ditto.
14838 (_mm512_i64gather_epi32): Ditto.
14839 (_mm512_mask_i64gather_epi32): Ditto.
14840 (_mm512_i64gather_epi64): Ditto.
14841 (_mm512_mask_i64gather_epi64): Ditto.
14842 (_mm512_i32scatter_ps): Change __addr type to void*.
14843 (_mm512_mask_i32scatter_ps): Ditto.
14844 (_mm512_i32scatter_pd): Ditto.
14845 (_mm512_mask_i32scatter_pd): Ditto.
14846 (_mm512_i64scatter_ps): Ditto.
14847 (_mm512_mask_i64scatter_ps): Ditto.
14848 (_mm512_i64scatter_pd): Ditto.
14849 (_mm512_mask_i64scatter_pd): Ditto.
14850 (_mm512_i32scatter_epi32): Ditto.
14851 (_mm512_mask_i32scatter_epi32): Ditto.
14852 (_mm512_i32scatter_epi64): Ditto.
14853 (_mm512_mask_i32scatter_epi64): Ditto.
14854 (_mm512_i64scatter_epi32): Ditto.
14855 (_mm512_mask_i64scatter_epi32): Ditto.
14856 (_mm512_i64scatter_epi64): Ditto.
14857 (_mm512_mask_i64scatter_epi64): Ditto.
14858 * config/i386/avx512pfintrin.h
14859 (_mm512_mask_prefetch_i32gather_pd): Change __addr type to void const*.
14860 (_mm512_mask_prefetch_i32gather_ps): Ditto.
14861 (_mm512_mask_prefetch_i64gather_pd): Ditto.
14862 (_mm512_mask_prefetch_i64gather_ps): Ditto.
14863 (_mm512_prefetch_i32scatter_pd): Change __addr type to void*.
14864 (_mm512_prefetch_i32scatter_ps): Ditto.
14865 (_mm512_mask_prefetch_i32scatter_pd): Ditto.
14866 (_mm512_mask_prefetch_i32scatter_ps): Ditto.
14867 (_mm512_prefetch_i64scatter_pd): Ditto.
14868 (_mm512_prefetch_i64scatter_ps): Ditto.
14869 (_mm512_mask_prefetch_i64scatter_pd): Ditto.
14870 (_mm512_mask_prefetch_i64scatter_ps): Ditto.
14871 * config/i386/avx512vlintrin.h
14872 (_mm256_mmask_i32gather_ps): Change __addr type to void const*.
14873 (_mm_mmask_i32gather_ps): Ditto.
14874 (_mm256_mmask_i32gather_pd): Ditto.
14875 (_mm_mmask_i32gather_pd): Ditto.
14876 (_mm256_mmask_i64gather_ps): Ditto.
14877 (_mm_mmask_i64gather_ps): Ditto.
14878 (_mm256_mmask_i64gather_pd): Ditto.
14879 (_mm_mmask_i64gather_pd): Ditto.
14880 (_mm256_mmask_i32gather_epi32): Ditto.
14881 (_mm_mmask_i32gather_epi32): Ditto.
14882 (_mm256_mmask_i32gather_epi64): Ditto.
14883 (_mm_mmask_i32gather_epi64): Ditto.
14884 (_mm256_mmask_i64gather_epi32): Ditto.
14885 (_mm_mmask_i64gather_epi32): Ditto.
14886 (_mm256_mmask_i64gather_epi64): Ditto.
14887 (_mm_mmask_i64gather_epi64): Ditto.
14888 (_mm256_i32scatter_ps): Change __addr type to void*.
14889 (_mm256_mask_i32scatter_ps): Ditto.
14890 (_mm_i32scatter_ps): Ditto.
14891 (_mm_mask_i32scatter_ps): Ditto.
14892 (_mm256_i32scatter_pd): Ditto.
14893 (_mm256_mask_i32scatter_pd): Ditto.
14894 (_mm_i32scatter_pd): Ditto.
14895 (_mm_mask_i32scatter_pd): Ditto.
14896 (_mm256_i64scatter_ps): Ditto.
14897 (_mm256_mask_i64scatter_ps): Ditto.
14898 (_mm_i64scatter_ps): Ditto.
14899 (_mm_mask_i64scatter_ps): Ditto.
14900 (_mm256_i64scatter_pd): Ditto.
14901 (_mm256_mask_i64scatter_pd): Ditto.
14902 (_mm_i64scatter_pd): Ditto.
14903 (_mm_mask_i64scatter_pd): Ditto.
14904 (_mm256_i32scatter_epi32): Ditto.
14905 (_mm256_mask_i32scatter_epi32): Ditto.
14906 (_mm_i32scatter_epi32): Ditto.
14907 (_mm_mask_i32scatter_epi32): Ditto.
14908 (_mm256_i32scatter_epi64): Ditto.
14909 (_mm256_mask_i32scatter_epi64): Ditto.
14910 (_mm_i32scatter_epi64): Ditto.
14911 (_mm_mask_i32scatter_epi64): Ditto.
14912 (_mm256_i64scatter_epi32): Ditto.
14913 (_mm256_mask_i64scatter_epi32): Ditto.
14914 (_mm_i64scatter_epi32): Ditto.
14915 (_mm_mask_i64scatter_epi32): Ditto.
14916 (_mm256_i64scatter_epi64): Ditto.
14917 (_mm256_mask_i64scatter_epi64): Ditto.
14918 (_mm_i64scatter_epi64): Ditto.
14919 (_mm_mask_i64scatter_epi64): Ditto.
14920 * config/i386/i386-builtin-types.def (V16SF_V16SF_PCFLOAT_V16SI_HI_INT)
14921 (V8DF_V8DF_PCDOUBLE_V8SI_QI_INT, V8SF_V8SF_PCFLOAT_V8DI_QI_INT)
14922 (V8DF_V8DF_PCDOUBLE_V8DI_QI_INT, V16SI_V16SI_PCINT_V16SI_HI_INT)
14923 (V8DI_V8DI_PCINT64_V8SI_QI_INT, V8SI_V8SI_PCINT_V8DI_QI_INT)
14924 (V8DI_V8DI_PCINT64_V8DI_QI_INT, V2DF_V2DF_PCDOUBLE_V4SI_QI_INT)
14925 (V4DF_V4DF_PCDOUBLE_V4SI_QI_INT, V2DF_V2DF_PCDOUBLE_V2DI_QI_INT)
14926 (V4DF_V4DF_PCDOUBLE_V4DI_QI_INT, V4SF_V4SF_PCFLOAT_V4SI_QI_INT)
14927 (V8SF_V8SF_PCFLOAT_V8SI_QI_INT, V4SF_V4SF_PCFLOAT_V2DI_QI_INT)
14928 (V4SF_V4SF_PCFLOAT_V4DI_QI_INT, V2DI_V2DI_PCINT64_V4SI_QI_INT)
14929 (V4DI_V4DI_PCINT64_V4SI_QI_INT, V2DI_V2DI_PCINT64_V2DI_QI_INT)
14930 (V4DI_V4DI_PCINT64_V4DI_QI_INT, V4SI_V4SI_PCINT_V4SI_QI_INT)
14931 (V8SI_V8SI_PCINT_V8SI_QI_INT, V4SI_V4SI_PCINT_V2DI_QI_INT)
14932 (V4SI_V4SI_PCINT_V4DI_QI_INT, VOID_PFLOAT_HI_V16SI_V16SF_INT)
14933 (VOID_PFLOAT_QI_V8SI_V8SF_INT, VOID_PFLOAT_QI_V4SI_V4SF_INT)
14934 (VOID_PDOUBLE_QI_V8SI_V8DF_INT, VOID_PDOUBLE_QI_V4SI_V4DF_INT)
14935 (VOID_PDOUBLE_QI_V4SI_V2DF_INT, VOID_PFLOAT_QI_V8DI_V8SF_INT)
14936 (VOID_PFLOAT_QI_V4DI_V4SF_INT, VOID_PFLOAT_QI_V2DI_V4SF_INT)
14937 (VOID_PDOUBLE_QI_V8DI_V8DF_INT, VOID_PDOUBLE_QI_V4DI_V4DF_INT)
14938 (VOID_PDOUBLE_QI_V2DI_V2DF_INT, VOID_PINT_HI_V16SI_V16SI_INT)
14939 (VOID_PINT_QI_V8SI_V8SI_INT, VOID_PINT_QI_V4SI_V4SI_INT)
14940 (VOID_PLONGLONG_QI_V8SI_V8DI_INT, VOID_PLONGLONG_QI_V4SI_V4DI_INT)
14941 (VOID_PLONGLONG_QI_V4SI_V2DI_INT, VOID_PINT_QI_V8DI_V8SI_INT)
14942 (VOID_PINT_QI_V4DI_V4SI_INT, VOID_PINT_QI_V2DI_V4SI_INT)
14943 (VOID_PLONGLONG_QI_V8DI_V8DI_INT, VOID_QI_V8SI_PCINT64_INT_INT)
14944 (VOID_PLONGLONG_QI_V4DI_V4DI_INT, VOID_PLONGLONG_QI_V2DI_V2DI_INT)
14945 (VOID_HI_V16SI_PCINT_INT_INT, VOID_QI_V8DI_PCINT64_INT_INT)
14946 (VOID_QI_V8DI_PCINT_INT_INT): Remove.
14947 (V16SF_V16SF_PCVOID_V16SI_HI_INT, V8DF_V8DF_PCVOID_V8SI_QI_INT)
14948 (V8SF_V8SF_PCVOID_V8DI_QI_INT, V8DF_V8DF_PCVOID_V8DI_QI_INT)
14949 (V16SI_V16SI_PCVOID_V16SI_HI_INT, V8DI_V8DI_PCVOID_V8SI_QI_INT)
14950 (V8SI_V8SI_PCVOID_V8DI_QI_INT, V8DI_V8DI_PCVOID_V8DI_QI_INT)
14951 (VOID_PVOID_HI_V16SI_V16SF_INT, VOID_PVOID_QI_V8SI_V8DF_INT)
14952 (VOID_PVOID_QI_V8DI_V8SF_INT, VOID_PVOID_QI_V8DI_V8DF_INT)
14953 (VOID_PVOID_HI_V16SI_V16SI_INT, VOID_PVOID_QI_V8SI_V8DI_INT)
14954 (VOID_PVOID_QI_V8DI_V8SI_INT, VOID_PVOID_QI_V8DI_V8DI_INT)
14955 (V2DF_V2DF_PCVOID_V4SI_QI_INT, V4DF_V4DF_PCVOID_V4SI_QI_INT)
14956 (V2DF_V2DF_PCVOID_V2DI_QI_INT, V4DF_V4DF_PCVOID_V4DI_QI_INT
14957 (V4SF_V4SF_PCVOID_V4SI_QI_INT, V8SF_V8SF_PCVOID_V8SI_QI_INT)
14958 (V4SF_V4SF_PCVOID_V2DI_QI_INT, V4SF_V4SF_PCVOID_V4DI_QI_INT)
14959 (V2DI_V2DI_PCVOID_V4SI_QI_INT, V4DI_V4DI_PCVOID_V4SI_QI_INT)
14960 (V2DI_V2DI_PCVOID_V2DI_QI_INT, V4DI_V4DI_PCVOID_V4DI_QI_INT)
14961 (V4SI_V4SI_PCVOID_V4SI_QI_INT, V8SI_V8SI_PCVOID_V8SI_QI_INT)
14962 (V4SI_V4SI_PCVOID_V2DI_QI_INT, V4SI_V4SI_PCVOID_V4DI_QI_INT)
14963 (VOID_PVOID_QI_V8SI_V8SF_INT, VOID_PVOID_QI_V4SI_V4SF_INT)
14964 (VOID_PVOID_QI_V4SI_V4DF_INT, VOID_PVOID_QI_V4SI_V2DF_INT)
14965 (VOID_PVOID_QI_V4DI_V4SF_INT, VOID_PVOID_QI_V2DI_V4SF_INT)
14966 (VOID_PVOID_QI_V4DI_V4DF_INT, VOID_PVOID_QI_V2DI_V2DF_INT)
14967 (VOID_PVOID_QI_V8SI_V8SI_INT, VOID_PVOID_QI_V4SI_V4SI_INT)
14968 (VOID_PVOID_QI_V4SI_V4DI_INT, VOID_PVOID_QI_V4SI_V2DI_INT)
14969 (VOID_PVOID_QI_V4DI_V4SI_INT, VOID_PVOID_QI_V2DI_V4SI_INT)
14970 (VOID_PVOID_QI_V4DI_V4DI_INT, VOID_PVOID_QI_V2DI_V2DI_INT)
14971 (VOID_QI_V8SI_PCVOID_INT_INT, VOID_HI_V16SI_PCVOID_INT_INT)
14972 (VOID_QI_V8DI_PCVOID_INT_INT): Add.
14973 * config/i386/i386.c (ix86_init_mmx_sse_builtins): Adjust builtin
14974 definitions accordingly.
14975
14976 2017-01-17 Kito Cheng <kito.cheng@gmail.com>
14977 Kuan-Lin Chen <kuanlinchentw@gmail.com>
14978
14979 PR target/79079
14980 * internal-fn.c (expand_mul_overflow): Use convert_modes instead of
14981 gen_lowpart.
14982
14983 2017-01-17 Vladimir Makarov <vmakarov@redhat.com>
14984
14985 PR target/79058
14986 * ira-conflicts.c (ira_build_conflicts): Update total conflict
14987 hard regs for inner regno.
14988
14989 2017-01-17 Martin Liska <mliska@suse.cz>
14990
14991 PR ipa/71207
14992 * ipa-polymorphic-call.c (contains_type_p): Fix wrong
14993 assumption and add comment.
14994
14995 2017-01-17 Nathan Sidwell <nathan@acm.org>
14996
14997 * ipa-visibility.c (localize_node): New function, broken out of ...
14998 (function_and_variable_visibility): ... here. Call it.
14999
15000 2017-01-17 Jan Hubicka <hubicka@ucw.cz>
15001
15002 PR middle-end/77445
15003 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
15004 correctly set frequency of oudgoing edge.
15005 (duplicate_thread_path): Fix profile updating.
15006
15007 2017-01-17 Jakub Jelinek <jakub@redhat.com>
15008
15009 PR other/79046
15010 * configure.ac: Add GCC_BASE_VER.
15011 * Makefile.in (version): Use @get_gcc_base_ver@ instead of cat to get
15012 version from BASE-VER file.
15013 (CFLAGS-gcc.o): Add -DBASEVER=$(BASEVER_s).
15014 (gcc.o): Depend on $(BASEVER).
15015 * common.opt (dumpfullversion): New option.
15016 * gcc.c (driver_handle_option): Handle OPT_dumpfullversion.
15017 * doc/invoke.texi: Document -dumpfullversion.
15018 * doc/install.texi: Document --with-gcc-major-version-only.
15019 * configure: Regenerated.
15020
15021 2017-01-17 Richard Biener <rguenther@suse.de>
15022
15023 PR tree-optimization/71433
15024 * tree-vrp.c (register_new_assert_for): Merge same asserts
15025 on all incoming edges.
15026 (process_assert_insertions_for): Handle insertions at the
15027 beginning of BBs.
15028
15029 2017-01-17 Gerald Pfeifer <gerald@pfeifer.com>
15030
15031 * config/i386/cygwin.h (LIBGCJ_SONAME): Remove.
15032 * config/i386/mingw32.h (LIBGCJ_SONAME): Remove.
15033
15034 2017-01-17 Kaz Kojima <kkojima@gcc.gnu.org>
15035
15036 PR target/78633
15037 * config/sh/sh.md (cmpeqsi_t+1): Call copy_rtx to avoid invalid
15038 RTL sharing.
15039
15040 2017-01-17 Alan Modra <amodra@gmail.com>
15041
15042 PR target/79066
15043 * config/rs6000/rs6000.md (elf_high, elf_low): Disable when pic.
15044 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Don't allow
15045 symbolic stack limit when pic.
15046
15047 2017-01-16 Martin Sebor <msebor@redhat.com>
15048
15049 PR tree-optimization/78608
15050 * gimple-ssa-sprintf.c (tree_digits): Avoid negating TYPE_MIN.
15051
15052 2017-01-16 Jeff Law <law@redhat.com>
15053
15054 Revert:
15055 2016-12-02 Tadek Kijkowski <tkijkowski@gmail.com>
15056 * Makefile.in (PREPROCESSOR_DEFINES): Add a level of indirection
15057 for several include directories that may be relative to sysroot.
15058 * config/i386/x-mingw32 (gplus_includedir): Define.
15059 (gplus_tool_includedir, gplus_backward_include_dir): Likewise.
15060 (native_system_includedir): Likewise.
15061 * config/i386/mingw32.h (STANDARD_STARTFILE_PREFIX_1): Do not
15062 override if TARGET_SYSTEM_ROOT is defined.
15063 (NATIVE_SYSTEM_HEADER_DIR): Likewise.
15064
15065 PR tree-optimization/79090
15066 PR tree-optimization/33562
15067 PR tree-optimization/61912
15068 PR tree-optimization/77485
15069 * tree-ssa-dse.c (compute_trims): Accept STMT argument. Dump STMT
15070 and computed trims into the dump file.
15071
15072 2017-01-17 Uros Bizjak <ubizjak@gmail.com>
15073
15074 * config/i386/i386.h (LIMIT_RELOAD_CLASS): Remove.
15075
15076 2017-01-16 Jakub Jelinek <jakub@redhat.com>
15077
15078 PR c/79089
15079 * gimplify.c (gimplify_init_constructor): If want_value and
15080 object == lhs, unshare lhs to avoid invalid tree sharing. Formatting
15081 fix.
15082
15083 PR target/79080
15084 * loop-doloop.c (doloop_modify): Call unshare_all_rtl_in_chain on
15085 sequence. Formatting fixes.
15086 (doloop_optimize): Formatting fixes.
15087
15088 PR driver/49726
15089 * gcc.c (debug_level_greater_than_spec_func): New function.
15090 (static_spec_functions): Add debug-level-gt spec function.
15091 (ASM_DEBUG_SPEC, cpp_options): Use %:debug-level-gt(0) instead of
15092 !g0.
15093 * config/darwin.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
15094 * config/darwin9.h (DSYMUTIL_SPEC, ASM_DEBUG_SPEC): Likewise.
15095 * common.opt (g, gcoff, gdwarf, gdwarf-, ggdb, gno-pubnames,
15096 gpubnames, ggnu-pubnames, gno-record-gcc-switches,
15097 grecord-gcc-switches, gno-strict-dwarf, gstrict-dwarf, gstabs,
15098 gstabs+, gtoggle, gvms, gxcoff, gxcoff+): Add Driver flag.
15099
15100 2017-01-16 Uros Bizjak <ubizjak@gmail.com>
15101
15102 * config/i386/i386.h (HARD_REGNO_CALLER_SAVE_MODE): Apply HImode and
15103 QImode fixups to general and mask registers only.
15104
15105 2017-01-16 Carl Love <cel@us.ibm.com>
15106
15107 * config/rs6000/rs6000-c (altivec_overloaded_builtins): Add support
15108 for built-in functions
15109 vector signed char vec_nabs (vector signed char)
15110 vector signed short vec_nabs (vector signed short)
15111 vector signed int vec_nabs (vector signed int)
15112 vector signed long long vec_nabs (vector signed long long)
15113 vector float vec_nabs (vector float)
15114 vector double vec_nabs (vector double)
15115 * config/rs6000/rs6000-builtin.def: Add definitions for NABS functions
15116 and NABS overload.
15117 * config/rs6000/altivec.md: New define_expand nabs<mode>2 types
15118 * config/rs6000/altivec.h: New define for vec_nabs built-in function.
15119 * doc/extend.texi: Update the documentation file for the new built-in
15120 functions.
15121
15122 2017-01-16 Martin Sebor <msebor@redhat.com>
15123
15124 * gimple-ssa-sprintf.c (format_directive): Correct a typo in a warning
15125 message.
15126
15127 2017-01-16 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15128
15129 * config/rs6000/rs6000.c (rtx_is_swappable_p): Change
15130 UNSPEC_VSX__XXSPLTD to require special splat handling.
15131
15132 2017-01-16 David Malcolm <dmalcolm@redhat.com>
15133
15134 PR bootstrap/78616
15135 * system.h: Poison strndup.
15136
15137 2017-01-16 Alan Modra <amodra@gmail.com>
15138
15139 PR target/79098
15140 * config/rs6000/rs6000.c (rs6000_legitimate_combined_insn): Don't
15141 use a switch.
15142
15143 2017-01-16 Georg-Johann Lay <avr@gjlay.de>
15144
15145 * config/avr/avr.h (BRANCH_COST) [reload_completed]: Increase by 4.
15146
15147 2017-01-15 Uros Bizjak <ubizjak@gmail.com>
15148
15149 * config/i386/i386.c (ix86_legitimate_combined_insn): Do not
15150 call recog here. Assert that INSN_CODE (insn) is non-negative.
15151
15152 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
15153
15154 PR target/72749
15155 * cfgrtl.c (rtl_split_edge): Also patch jump insns that jump to the
15156 fallthrough.
15157 * haifa-sched.c (dump_insn_stream): Don't crash if there is a label
15158 in the currently scheduled RTL fragment.
15159
15160 2017-01-15 Segher Boessenkool <segher@kernel.crashing.org>
15161
15162 PR rtl-optimization/78751
15163 * ifcvt.c (find_cond_trap): If we generated a non-existing insn,
15164 give up.
15165
15166 2017-01-14 Jeff Law <law@redhat.com>
15167
15168 PR tree-optimization/79090
15169 * tree-ssa-dse.c (valid_ao_ref_for_dse): Reject zero length and
15170 variable length stores.
15171 (compute_trims): Delete dead assignment to *trim_tail.
15172 (dse_dom_walker::dse_optimize_stmt): Optimize mem* calls with
15173 zero length.
15174
15175 2017-01-14 Bernd Schmidt <bschmidt@redhat.com>
15176
15177 PR rtl-optimization/78626
15178 PR rtl-optimization/78727
15179 * cprop.c (one_cprop_pass): Collect unconditional traps in the middle
15180 of a block, and split such blocks after everything else is finished.
15181
15182 2017-01-14 Alan Modra <amodra@gmail.com>
15183
15184 PR target/72749
15185 * combine.c (recog_for_combine_1): Set INSN_CODE before calling
15186 target legitimate_combined_insn.
15187 * config/rs6000/rs6000.c (TARGET_LEGITIMATE_COMBINED_INSN): Define.
15188 (rs6000_legitimate_combined_insn): New function.
15189 * config/rs6000/rs6000.md (UNSPEC_DOLOOP): Delete, and remove
15190 all uses.
15191 (ctr<mode>_internal3): Rename from *ctr<mode>_internal5.
15192 (ctr<mode>_internal4): Rename from *ctr<mode>_internal6.
15193 (ctr<mode>_internal1, ctr<mode>_internal2): Remove '*' from name.
15194
15195 2017-01-14 Gerald Pfeifer <gerald@pfeifer.com>
15196
15197 * doc/frontends.texi (G++ and GCC): Remove references to Java.
15198
15199 2017-01-13 Jeff Law <law@redhat.com>
15200
15201 PR tree-optimization/33562
15202 PR tree-optimization/61912
15203 PR tree-optimization/77485
15204 * tree-ssa-dse.c (delete_dead_call): Accept gsi rather than
15205 a statement.
15206 (delete_dead_assignment): Likewise.
15207 (dse_dom_walker::dse_optimize_stmt): Pass in the gsi rather than
15208 statement to delete_dead_call and delete_dead_assignment.
15209
15210 2017-01-13 David Malcolm <dmalcolm@redhat.com>
15211
15212 PR c/78304
15213 * substring-locations.c (format_warning_va): Strengthen case 1 so
15214 that both endpoints of the substring must be within the format
15215 range for just the substring to be printed.
15216
15217 2017-01-13 Uros Bizjak <ubizjak@gmail.com>
15218
15219 * config/i386/i386.opt (msgx): Use ix86_isa_flags2 variable.
15220 * config/i386/i386.c (ix86_target_string): Add missing options
15221 to isa_opts and reorder options by implied ISAs. Rename isa_opts2 to
15222 isa2_opts, ix86_flag_opts to flag2_opts, ix86_target_other to
15223 flags_other and ix86_target_other to flags2_other. Display unknown
15224 isa2 options.
15225 (ix86_valid_target_attribute_inner_p): Add missing options and
15226 reorder options by implied ISAs, as in ix86_target_string.
15227
15228 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
15229
15230 * hash-table.h (hash_table::too_empty_p): New function.
15231 (hash_table::expand): Use it.
15232 (hash_table::traverse): Likewise.
15233 (hash_table::empty_slot): Use sizeof (value_type) instead of
15234 sizeof (PTR) to convert bytes to elements. Shrink the table
15235 if the current size is excessive for the current number of
15236 elements.
15237
15238 2017-01-13 Richard Sandiford <richard.sandiford@arm.com>
15239
15240 * ira-costs.c (record_reg_classes): Break from the inner loop
15241 early once alt_fail is known to be true. Update outer loop
15242 handling accordingly.
15243
15244 2017-01-13 Jeff Law <law@redhat.com>
15245
15246 * tree-ssa-dse.c (decrement_count): New function.
15247 (increment_start_addr, maybe_trim_memstar_call): Likewise.
15248 (dse_dom_walker::optimize_stmt): Call maybe_trim_memstar_call directly
15249 when we know the partially dead statement is a mem* function.
15250
15251 PR tree-optimization/61912
15252 PR tree-optimization/77485
15253 * tree-ssa-dse.c: Include expr.h.
15254 (maybe_trim_constructor_store): New function.
15255 (maybe_trim_partially_dead_store): Call maybe_trim_constructor_store.
15256
15257 PR tree-optimization/33562
15258 PR tree-optimization/61912
15259 PR tree-optimization/77485
15260 * doc/invoke.texi: Document new dse-max-object-size param.
15261 * params.def (PARM_DSE_MAX_OBJECT_SIZE): New PARAM.
15262 * tree-ssa-dse.c: Include params.h.
15263 (dse_store_status): New enum.
15264 (initialize_ao_ref_for_dse): New, partially extracted from
15265 dse_optimize_stmt.
15266 (valid_ao_ref_for_dse, normalize_ref): New.
15267 (setup_live_bytes_from_ref, compute_trims): Likewise.
15268 (clear_bytes_written_by, maybe_trim_complex_store): Likewise.
15269 (maybe_trim_partially_dead_store): Likewise.
15270 (maybe_trim_complex_store): Likewise.
15271 (dse_classify_store): Renamed from dse_possibly_dead_store_p.
15272 Track what bytes live from the original store. Return tri-state
15273 for dead, partially dead or live.
15274 (dse_dom_walker): Add constructor, destructor and new private members.
15275 (delete_dead_call, delete_dead_assignment): New extracted from
15276 dse_optimize_stmt.
15277 (dse_optimize_stmt): Make a member of dse_dom_walker.
15278 Use initialize_ao_ref_for_dse.
15279
15280 PR tree-optimization/33562
15281 PR tree-optimization/61912
15282 PR tree-optimization/77485
15283 * sbitmap.h (bitmap_count_bits): Prototype.
15284 (bitmap_clear_range, bitmap_set_range): Likewise.
15285 * sbitmap.c (bitmap_clear_range): New function.
15286 (bitmap_set_range, sbitmap_popcount, bitmap_count_bits): Likewise.
15287
15288 2017-01-13 Martin Liska <mliska@suse.cz>
15289
15290 PR ipa/79043
15291 * function.c (set_cfun): Add new argument force.
15292 * function.h (set_cfun): Likewise.
15293 * ipa-inline-transform.c (inline_call): Use the function when
15294 strict alising from is dropped for function we inline to.
15295
15296 2017-01-13 Richard Biener <rguenther@suse.de>
15297
15298 * tree-pretty-print.c (dump_generic_node): Fix inverted condition
15299 for dumping GIMPLE INTEGER_CSTs.
15300
15301 2017-01-13 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
15302
15303 * config/sol2.h (TARGET_OS_CPP_BUILTINS): Define __STDC_VERSION__
15304 to 201112L since C++17.
15305
15306 2017-01-13 Maxim Ostapenko <m.ostapenko@samsung.com>
15307
15308 PR sanitizer/78887
15309 * asan.c (asan_needs_odr_indicator_p): Don't emit ODR indicators
15310 if -fsanitize=kernel-address is present.
15311
15312 2017-01-13 Richard Biener <rguenther@suse.de>
15313
15314 * tree-pretty-print.c (dump_generic_node): Dump INTEGER_CSTs
15315 as _Literal ( type ) number in case usual suffixes do not
15316 preserve all information.
15317
15318 2017-01-13 Richard Biener <rguenther@suse.de>
15319
15320 PR tree-optimization/77283
15321 * gimple-ssa-split-paths.c: Include gimple-ssa.h, tree-phinodes.h
15322 and ssa-iterators.h.
15323 (is_feasible_trace): Implement a cost model based on joiner
15324 PHI node uses.
15325
15326 2017-01-12 Michael Meissner <meissner@linux.vnet.ibm.com>
15327
15328 PR target/79004
15329 * config/rs6000/rs6000.md (FP_ISA3): Do not optimize converting
15330 char or short to __float128/_Float128 directly.
15331
15332 2017-01-12 Martin Sebor <msebor@redhat.com>
15333
15334 to -Wformat-overflow.
15335 * gimple-ssa-sprintf.c (pass_sprintf_length::gate): Adjust.
15336 (min_bytes_remaining): Same.
15337 (get_string_length): Same.
15338 (format_string): Same.
15339 (format_directive): Same.
15340 (add_bytes): Same.
15341 (pass_sprintf_length::handle_gimple_call): Same.
15342
15343 2017-01-12 Jakub Jelinek <jakub@redhat.com>
15344
15345 * gimple-ssa-sprintf.c (try_substitute_return_value): Remove
15346 info.nowrite calls with no lhs that can't throw. Return bool
15347 whether gsi_remove has been called or not.
15348 (pass_sprintf_length::handle_gimple_call): Return bool whether
15349 try_substitute_return_value called gsi_remove. Formatting fix.
15350 (pass_sprintf_length::execute): Don't use gsi_remove if
15351 handle_gimple_call returned true.
15352
15353 PR bootstrap/79069
15354 * cfgrtl.c (rtl_tidy_fallthru_edge): For any_uncondjump_p that can't
15355 be removed due to side-effects, don't remove following barrier nor
15356 turn the successor edge into fallthru edge.
15357
15358 2017-01-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
15359
15360 PR target/79044
15361 * config/rs6000/rs6000.c (insn_is_swappable_p): Mark
15362 element-reversing loads and stores as not swappable.
15363
15364 2017-01-12 Nathan Sidwell <nathan@acm.org>
15365 Nicolai Stange <nicstange@gmail.com>
15366
15367 * combine.c (try_combine): Don't ignore result of overlap checking
15368 loop. Combine overlap & asm check into single loop.
15369
15370 2017-01-12 Richard Biener <rguenther@suse.de>
15371
15372 * tree-pretty-print.c (dump_generic_node): Provide -gimple
15373 variant for MEM_REF. Sanitize INTEGER_CST for -gimple.
15374
15375 2017-01-12 Richard Biener <rguenther@suse.de>
15376
15377 * tree.c (initialize_tree_contains_struct): Make TS_OPTIMIZATION
15378 and TS_TARGET_OPTION directly derive from TS_BASE.
15379 * tree-core.h (tree_optimization_option): Derive from tree_base.
15380 (tree_target_option): Likewise.
15381
15382 2017-01-11 Uros Bizjak <ubizjak@gmail.com>
15383
15384 * config/i386/i386.c (memory_address_length): Increase len
15385 only when rip_relative_addr_p returns false.
15386
15387 2017-01-11 Julia Koval <julia.koval@intel.com>
15388
15389 * common/config/i386/i386-common.c (OPTION_MASK_ISA_SGX_UNSET): New.
15390 (OPTION_MASK_ISA_SGX_SET): New.
15391 (ix86_handle_option): Handle OPT_msgx.
15392 * config.gcc: Added sgxintrin.h.
15393 * config/i386/driver-i386.c (host_detect_local_cpu): Detect sgx.
15394 * config/i386/i386-c.c (ix86_target_macros_internal): Define __SGX__.
15395 * config/i386/i386.c (ix86_target_string): Add -msgx.
15396 (PTA_SGX): New.
15397 (ix86_option_override_internal): Handle new options.
15398 (ix86_valid_target_attribute_inner_p): Add sgx.
15399 * config/i386/i386.h (TARGET_SGX, TARGET_SGX_P): New.
15400 * config/i386/i386.opt: Add msgx.
15401 * config/i386/sgxintrin.h: New file.
15402 * config/i386/x86intrin.h: Add sgxintrin.h.
15403
15404 2017-01-11 Jakub Jelinek <jakub@redhat.com>
15405
15406 PR c++/71537
15407 * fold-const.c (maybe_nonzero_address): Return 1 for function
15408 local objects.
15409 (tree_single_nonzero_warnv_p): Don't handle function local objects
15410 here.
15411
15412 PR c++/72813
15413 * gcc.c (default_compilers): Don't add -o %g.s for -S -save-temps
15414 of c-header.
15415
15416 2017-01-11 David Malcolm <dmalcolm@redhat.com>
15417
15418 PR driver/78877
15419 * opts.c: Include "spellcheck.h"
15420 (struct string_fragment): New struct.
15421 (struct edit_distance_traits<const string_fragment &>): New
15422 struct.
15423 (get_closest_sanitizer_option): New function.
15424 (parse_sanitizer_options): Offer suggestions for unrecognized arguments.
15425
15426 2017-01-11 Jakub Jelinek <jakub@redhat.com>
15427
15428 * dwarf2out.c (DWARF_COMPILE_UNIT_HEADER_SIZE): For DWARF5 decrease
15429 by 12.
15430 (DWARF_COMDAT_TYPE_UNIT_HEADER_SIZE): Always
15431 DWARF_COMPILE_UNIT_HEADER_SIZE plus 12.
15432 (DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE): Define.
15433 (calc_base_type_die_sizes): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE
15434 for initial die_offset if dwarf_split_debug_info.
15435 (output_comp_unit): Use DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE for
15436 initial next_die_offset if dwo_id is non-NULL. Don't emit padding
15437 fields.
15438 (output_skeleton_debug_sections): Formatting fix. Use
15439 DWARF_COMPILE_UNIT_SKELETON_HEADER_SIZE instead of
15440 DWARF_COMPILE_UNIT_HEADER_SIZE. Don't emit padding.
15441
15442 2017-01-11 Wilco Dijkstra <wdijkstr@arm.com>
15443
15444 * config/arm/cortex-a53.md: Add bypasses for
15445 cortex_a53_r2f_cvt.
15446 (cortex_a53_r2f): Only use for transfers.
15447 (cortex_a53_f2r): Likewise.
15448 (cortex_a53_r2f_cvt): Add reservation for conversions.
15449 (cortex_a53_f2r_cvt): Likewise.
15450
15451 2017-01-11 Tamar Christina <tamar.christina@arm.com>
15452
15453 * config/arm/arm_neon.h: Add __artificial__ and gnu_inline
15454 to all inlined functions, change static to extern.
15455
15456 2017-01-11 Christophe Lyon <christophe.lyon@linaro.org>
15457
15458 PR target/78253
15459 * config/arm/arm.c (legitimize_pic_address): Handle reference to
15460 weak symbol.
15461 (arm_assemble_integer): Likewise.
15462
15463 2017-01-11 Richard Earnshaw <rearnsha@arm.com>
15464
15465 * config.gcc: Use new awk script to check CPU, FPU and architecture
15466 parameters for --with-... options.
15467 * config/arm/parsecpu.awk: New file
15468 * config/arm/arm-cpus.in: New file.
15469 * config/arm/arm-opts.h: Include arm-cpu.h instead of processing .def
15470 files.
15471 * config/arm/arm.c: Include arm-cpu-data.h instead of processing .def
15472 files.
15473 * config/arm/t-arm: Update dependency rules.
15474 * common/config/arm/arm-common.c: Include arm-cpu-cdata.h instead
15475 of processing .def files.
15476 * config/arm/genopt.sh: Deleted.
15477 * config/arm/gentune.sh: Deleted.
15478 * config/arm/arm-cores.def: Deleted.
15479 * config/arm/arm-arches.def: Deleted.
15480 * config/arm/arm-fpus.def: Deleted.
15481 * config/arm/arm-tune.md: Regenerated.
15482 * config/arm/arm-tables.opt: Regenerated.
15483 * config/arm/arm-cpu.h: New generated file.
15484 * config/arm/arm-cpu-data.h: New generated file.
15485 * config/arm/arm-cpu-cdata.h: New generated file.
15486
15487 2017-01-11 Maxim Ostapenko <m.ostapenko@samsung.com>
15488
15489 PR lto/79042
15490 * lto-cgraph.c (lto_output_varpool_node): Pack dynamically_initialized
15491 bit.
15492 (input_varpool_node): Unpack dynamically_initialized bit.
15493
15494 2017-01-11 Eric Botcazou <ebotcazou@adacore.com>
15495
15496 PR rtl-optimization/79032
15497 * lra-constraints.c (simplify_operand_subreg): In the MEM case, test
15498 the alignment of the adjusted memory reference against that of MODE,
15499 instead of the alignment of the original memory reference.
15500
15501 2017-01-11 Martin Jambor <mjambor@suse.cz>
15502
15503 * hsa.c (hsa_callable_function_p): Revert addition of DECL_ARTIFICIAL
15504 test.
15505 * ipa-hsa.c (process_hsa_functions): Only duplicate non-artificial
15506 decorated functions.
15507
15508 2017-01-11 Richard Biener <rguenther@suse.de>
15509
15510 * tree-vrp.c (evrp_dom_walker::before_dom_children): Also
15511 set range/nonnull info for PHI results. Do not set it on
15512 stmts marked for removal.
15513
15514 2017-01-10 Eric Botcazou <ebotcazou@adacore.com>
15515
15516 * expr.c (store_field): In the bitfield case, fetch the return value
15517 from the registers before applying a single big-endian adjustment.
15518 Always do a final load for a BLKmode value not larger than a word.
15519
15520 2017-01-10 David Malcolm <dmalcolm@redhat.com>
15521
15522 PR c++/77949
15523 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
15524 that we correctly handle column numbers greater than
15525 LINE_MAP_MAX_COLUMN_NUMBER.
15526
15527 2017-01-10 Martin Sebor <msebor@redhat.com>
15528
15529 PR middle-end/78245
15530 * gimple-ssa-sprintf.c (get_destination_size): Call
15531 {init,fini}object_sizes.
15532 * tree-object-size.c (addr_object_size): Adjust.
15533 (pass_through_call): Adjust.
15534 (pass_object_sizes::execute): Adjust.
15535 * tree-object-size.h (fini_object_sizes): Declare.
15536
15537 2017-01-10 Martin Sebor <msebor@redhat.com>
15538
15539 PR tree-optimization/78775
15540 * builtins.c (get_size_range): Move...
15541 * calls.c: ...to here.
15542 (alloc_max_size): Accept zero argument.
15543 (operand_signed_p): Remove.
15544 (maybe_warn_alloc_args_overflow): Call get_size_range.
15545 * calls.h (get_size_range): Declare.
15546
15547 2017-01-10 Joe Seymour <joe.s@somniumtech.com>
15548
15549 * config/msp430/driver-msp430.c (msp430_mcu_data): Sync with data
15550 from TI's devices.csv file as of September 2016.
15551 * config/msp430/msp430.c (msp430_mcu_data): Likewise.
15552
15553 2017-01-10 Sandra Loosemore <sandra@codesourcery.com>
15554
15555 * doc/extend.texi: Tweak formatting to fix overfull hbox warnings.
15556 * doc/invoke.texi: Likewise.
15557 * doc/md.texi: Likewise.
15558 * doc/objc.texi: Likewise.
15559
15560 2017-01-10 Joshua Conner <joshconner@google.com>
15561
15562 * config/arm/fuchsia-elf.h: New file.
15563 * config/fuchsia.h: New file.
15564 * config.gcc (*-*-fuchsia*): Set native_system_header_dir.
15565 (aarch64*-*-fuchsia*, arm*-*-fuchsia*, x86_64-*-fuchsia*): Add to
15566 targets.
15567 * config.host: (aarch64*-*-fuchsia*, arm*-*-fuchsia*): Add to hosts.
15568
15569 2016-01-10 Richard Biener <rguenther@suse.de>
15570
15571 PR tree-optimization/79034
15572 * tree-call-cdce.c (shrink_wrap_one_built_in_call_with_conds):
15573 Propagate out degenerate PHIs in the joiner.
15574
15575 2017-01-10 Martin Liska <mliska@suse.cz>
15576
15577 * ipa-icf.c (sort_sem_items_by_decl_uid): New function.
15578 (sort_congruence_classes_by_decl_uid): Likewise.
15579 (sort_congruence_class_groups_by_decl_uid): Likewise.
15580 (sem_item_optimizer::merge_classes): Sort class, groups in these
15581 classes and members in the groups by DECL_UID of declarations.
15582 This would make merge operations stable.
15583
15584 2017-01-10 Martin Liska <mliska@suse.cz>
15585
15586 * ipa-icf.c (sem_item_optimizer::sem_item_optimizer): Remove
15587 usage of m_classes_vec.
15588 (sem_item_optimizer::~sem_item_optimizer): Likewise.
15589 (sem_item_optimizer::get_group_by_hash): Likewise.
15590 (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
15591 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): Likewise.
15592 (sem_item_optimizer::verify_classes): Likewise.
15593 (sem_item_optimizer::process_cong_reduction): Likewise.
15594 (sem_item_optimizer::dump_cong_classes): Likewise.
15595 (sem_item_optimizer::merge_classes): Likewise.
15596 * ipa-icf.h (congruence_class_hash): Rename from
15597 congruence_class_group_hash. Remove declaration of m_classes_vec.
15598
15599 2017-01-10 Andrew Senkevich <andrew.senkevich@intel.com>
15600
15601 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VPOPCNTDQ_SET,
15602 OPTION_MASK_ISA_AVX512VPOPCNTDQ_UNSET): New.
15603 * config.gcc: Add avx512vpopcntdqintrin.h.
15604 * config/i386/avx512vpopcntdqintrin.h: New.
15605 * config/i386/cpuid.h (bit_AVX512VPOPCNTDQ): New.
15606 * config/i386/i386-builtin-types.def: Add new types.
15607 * config/i386/i386-builtin.def (__builtin_ia32_vpopcountd_v16si,
15608 __builtin_ia32_vpopcountd_v16si_mask, __builtin_ia32_vpopcountq_v8di,
15609 __builtin_ia32_vpopcountq_v8di_mask): New.
15610 * config/i386/i386-c.c (ix86_target_macros_internal): Define
15611 __AVX512VPOPCNTDQ__.
15612 * config/i386/i386.c (ix86_target_string): Add -mavx512vpopcntdq.
15613 (PTA_AVX512VPOPCNTDQ): Define.
15614 * config/i386/i386.h (TARGET_AVX512VPOPCNTDQ,
15615 TARGET_AVX512VPOPCNTDQ_P): Define.
15616 * config/i386/i386.opt: Add mavx512vpopcntdq.
15617 * config/i386/immintrin.h: Include avx512vpopcntdqintrin.h.
15618 * config/i386/sse.md (define_insn "vpopcount<mode><mask_name>"): New.
15619
15620 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
15621
15622 PR middle-end/77484
15623 * predict.def (PRED_CALL): Set to 67.
15624
15625 2017-01-09 Eric Botcazou <ebotcazou@adacore.com>
15626
15627 * expr.c (store_field): In the bitfield case, if the value comes from
15628 a function call and is of an aggregate type returned in registers, do
15629 not modify the field mode; extract the value in all cases if the mode
15630 is BLKmode and the size is not larger than a word.
15631
15632 2017-01-09 Dominique d'Humieres <dominiq@lps.ens.fr>
15633
15634 PR target/71017
15635 * config/i386/cpuid.h: Fix undefined behavior.
15636
15637 2017-01-04 Jeff Law <law@redhat.com>
15638
15639 PR tree-optimization/79007
15640 PR tree-optimization/67955
15641 * tree-ssa-alias.c (same_addr_size_stores_p): Only need to be
15642 conservative for pt.null when flag_non_call_exceptions is on.
15643
15644 2017-01-09 Jakub Jelinek <jakub@redhat.com>
15645
15646 PR translation/79019
15647 PR translation/79020
15648 * params.def (PARAM_INLINE_MIN_SPEEDUP,
15649 PARAM_IPA_CP_SINGLE_CALL_PENALTY,
15650 PARAM_USE_AFTER_SCOPE_DIRECT_EMISSION_THRESHOLD): Fix typos
15651 in descriptions.
15652 * config/avr/avr.opt (maccumulate-args): Likewise.
15653 * config/msp430/msp430.opt (mwarn-mcu): Likewise.
15654 * common.opt (freport-bug): Likewise.
15655 * cif-code.def (CIF_FINAL_ERROR): Likewise.
15656 * doc/invoke.texi (ipa-cp-single-call-penalty): Likewise.
15657 * config/s390/s390.c (s390_invalid_binary_op): Fix spelling in
15658 translatable string.
15659 * config/i386/i386.c (function_value_32): Likewise.
15660 * config/nios2/nios2.c (nios2_valid_target_attribute_rec): Likewise.
15661 * config/msp430/msp430.c (msp430_option_override, msp430_attr):
15662 Likewise.
15663 * config/msp430/driver-msp430.c (msp430_select_hwmult_lib): Likewise.
15664 * common/config/msp430/msp430-common.c (msp430_handle_option):
15665 Likewise.
15666 * symtab.c (symtab_node::verify_base): Likewise.
15667 * opts.c (set_debug_level): Likewise.
15668 * tree.c (verify_type_variant): Likewise. Fix typo in comment.
15669 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin): Add
15670 missing whitespace to translatable strings.
15671 * config/avr/avr.md (bswapsi2): Fix typo in comment.
15672 * config/sh/superh.h: Likewise.
15673 * config/i386/xopintrin.h: Likewise.
15674 * config/i386/znver1.md: Likewise.
15675 * config/rs6000/rs6000.c (struct rs6000_opt_mask): Likewise.
15676 * ipa-inline-analysis.c (compute_inline_parameters): Likewise.
15677 * double-int.h (struct double_int): Likewise.
15678 * double-int.c (div_and_round_double): Likewise.
15679 * wide-int.cc: Likewise.
15680 * tree-ssa.c (non_rewritable_mem_ref_base): Likewise.
15681 * tree-ssa-sccvn.c (vn_reference_lookup_3): Likewise.
15682 * cfgcleanup.c (crossjumps_occured): Renamed to ...
15683 (crossjumps_occurred): ... this.
15684 (try_crossjump_bb, try_head_merge_bb, try_optimize_cfg, cleanup_cfg):
15685 Adjust all uses.
15686
15687 PR tree-optimization/78899
15688 * tree-if-conv.c (version_loop_for_if_conversion): Instead of
15689 returning bool return struct loop *, NULL for failure and the new
15690 loop on success.
15691 (versionable_outer_loop_p): Don't version outer loop if it has
15692 dont_vectorized bit set.
15693 (tree_if_conversion): When versioning outer loop, ensure
15694 tree_if_conversion is performed also on the inner loop of the
15695 non-vectorizable outer loop copy.
15696 * tree-vectorizer.c (set_uid_loop_bbs): Formatting fix. Fold
15697 LOOP_VECTORIZED in inner loop of the scalar outer loop and
15698 prevent vectorization of it.
15699 (vectorize_loops): For outer + inner LOOP_VECTORIZED, ensure
15700 the outer loop vectorization of the non-scalar version is attempted
15701 before vectorization of the inner loop in scalar version. If
15702 outer LOOP_VECTORIZED guarded loop is not vectorized, prevent
15703 vectorization of its inner loop.
15704 * tree-vect-loop-manip.c (rename_variables_in_bb): If outer_loop
15705 has 2 inner loops, rename also on edges from bb whose single pred
15706 is outer_loop->header. Fix typo in function comment.
15707
15708 2017-01-09 Martin Sebor <msebor@redhat.com>
15709
15710 PR bootstrap/79033
15711 * asan.c (asan_emit_stack_protection): Increase local buffer size
15712 to avoid snprintf truncation warning.
15713
15714 2017-01-09 Andrew Pinski <apinski@cavium.com>
15715
15716 * config/aarch64/aarch64-cores.def: Add thunderx2t99. Change vulcan
15717 to reference thunderx2t99 for the tuning structure
15718 * config/aarch64/aarch64-cost-tables.h (vulcan_extra_costs):
15719 Rename to ...
15720 (thunderx2t99_extra_costs): This.
15721 * config/aarch64/aarch64-tune.md: Regenerate.
15722 * config/aarch64/aarch64.c (vulcan_addrcost_table): Rename to ...
15723 (vulcan_addrcost_table): This.
15724 (vulcan_regmove_cost): Rename to ...
15725 (thunderx2t99_regmove_cost): This.
15726 (vulcan_vector_cost): Rename to ...
15727 (thunderx2t99_vector_cost): this.
15728 (vulcan_branch_cost): Rename to ...
15729 (thunderx2t99_branch_cost): This.
15730 (vulcan_tunings): Rename to ...
15731 (thunderx2t99_tunings): This and s/vulcan/thunderx2t99 .
15732 * doc/invoke.texi (AARCH64/mtune): Add thunderx2t99.
15733
15734 2017-01-09 Martin Jambor <mjambor@suse.cz>
15735
15736 PR ipa/78365
15737 PR ipa/78599
15738 * ipa-prop.h (ipa_jump_func): Swap positions of vr_known and m_vr.
15739 * ipa-cp.c (ipa_vr_operation_and_type_effects): New function.
15740 (propagate_vr_accross_jump_function): Use the above function for all
15741 value range computations for pass-through jump functions and type
15742 converasion from explicit value range values.
15743 (ipcp_propagate_stage): Do not attempt to deduce types of formal
15744 parameters from TYPE_ARG_TYPES.
15745 * ipa-prop.c (ipa_write_jump_function): Remove trailing whitespace.
15746 (ipa_write_node_info): Stream type of the actual argument.
15747 (ipa_read_node_info): Likewise. Also remove trailing whitespace.
15748
15749 2017-01-09 Martin Liska <mliska@suse.cz>
15750
15751 PR pch/78970
15752 * gcc.c (driver_handle_option): Handle OPT_E and set have_E.
15753 (lookup_compiler): Do not show error message with have_E.
15754
15755 2017-01-09 Jakub Jelinek <jakub@redhat.com>
15756
15757 PR tree-optimization/78938
15758 * tree-vect-stmts.c (vectorizable_condition): For non-masked COND_EXPR
15759 where comp_vectype is VECTOR_BOOLEAN_TYPE_P, use
15760 BIT_{NOT,XOR,AND,IOR}_EXPR on the comparison operands instead of
15761 {EQ,NE,GE,GT,LE,LT}_EXPR directly inside of VEC_COND_EXPR. Formatting
15762 fixes.
15763
15764 2017-01-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15765
15766 * tree-ssa-address.c (gen_addr_rtx): Don't handle index if it
15767 is const0_rtx.
15768
15769 2017-01-09 Richard Biener <rguenther@suse.de>
15770
15771 PR tree-optimization/78997
15772 * tree-vect-slp.c (vect_mask_constant_operand_p): Handle SSA
15773 name condition properly.
15774
15775 2017-01-09 Richard Biener <rguenther@suse.de>
15776
15777 PR debug/79000
15778 * dwarf2out.c (is_cxx): New overload with context.
15779 (is_naming_typedef_decl): Use it.
15780
15781 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
15782
15783 * invoke.texi (Option Summary): Correct spacing in option lists
15784 and add line breaks to fix over-long lines.
15785
15786 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
15787
15788 PR middle-end/17660
15789
15790 * extend.texi (Common Variable Attributes): Add xref to GCC
15791 Internals manual to explain mode attribute keywords.
15792
15793 2017-01-08 Sandra Loosemore <sandra@codesourcery.com>
15794
15795 PR other/16519
15796 * doc/invoke.texi (Option Summary): Move -pthread to Linker Options
15797 and Preprocessor Options.
15798 (Options for Linking): Document -pthread here....
15799 (RS/6000 and PowerPC Options): ...not here.
15800 (Solaris 2 Options): ...or here.
15801 * doc/cppopts.texi: Document -pthread.
15802
15803 2017-01-08 Martin Sebor <msebor@redhat.com>
15804
15805 PR middle-end/77708
15806 * doc/invoke.texi (Warning Options): Document -Wformat-truncation.
15807 * gimple-ssa-sprintf.c (call_info::reval_used, call_info::warnopt):
15808 New member functions.
15809 (format_directive): Used them.
15810 (add_bytes): Same.
15811 (pass_sprintf_length::handle_gimple_call): Same.
15812 * graphite-sese-to-poly.c (tree_int_to_gmp): Increase buffer size
15813 to avoid truncation for any argument.
15814 (extract_affine_mul): Same.
15815 * tree.c (get_file_function_name): Same.
15816
15817 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
15818
15819 PR middle-end/77484
15820 * predict.def (PRED_INDIR_CALL): Set to 86.
15821
15822 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
15823
15824 PR preprocessor/54124
15825 * doc/cppopts.texi: Reformat -d subtable to list the full name
15826 of the options. Add cross-reference to the docs for the general
15827 compiler -d options.
15828 * doc/invoke.texi (Developer Options): Add cross-reference to the
15829 preprocessor-specific -d option documentation.
15830
15831 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
15832
15833 PR preprocessor/13498
15834 * doc/cpp.texi (Search Path): Rewrite to remove obsolete and
15835 redudant material, and reflect new command-line options.
15836 (System Headers): Likewise.
15837
15838 2017-01-07 Sandra Loosemore <sandra@codesourcery.com>
15839
15840 * doc/cppdiropts.texi: Merge documentation of -I, -iquote,
15841 -isystem, and -idirafter. Copy-edit.
15842 * doc/cppopts.texi: Copy-edit. Remove contradiction about
15843 default for -ftrack-macro-expansion. Delete obsolete and
15844 badly-formatted implementation details about -fdebug-cpp output.
15845 * doc/cppwarnopts.texi: Copy-edit.
15846
15847 2017-01-07 David Malcolm <dmalcolm@redhat.com>
15848
15849 PR c++/72803
15850 * input.c (selftest::test_accessing_ordinary_linemaps): Verify
15851 that the transition from a max line width >= 1<<10 to narrower
15852 lines works correctly.
15853
15854 2017-01-07 Alexandre Oliva <aoliva@redhat.com>
15855
15856 * doc/options.texi (PerFunction): New.
15857 * opt-functions.awk (switch_flags): Map both Optimization and
15858 PerFunction to CL_OPTIMIZATION.
15859 * opth-gen.awk: Test for PerFunction flag along with
15860 Optimization.
15861 * optc-save-gen.awk: Likewise. Introduce var_opt_hash and set
15862 it only when the latter is present. Skip those that don't in
15863 the hash function generator.
15864 * common.opt (fvar-tracking): Mark as PerFunction instead of
15865 Optimization.
15866 (fvar-tracking-assignments): Likewise.
15867 (fvar-tracking-assignments-toggle): Likewise.
15868 (fvar-tracking-uninit): Likewise.
15869
15870 2017-01-07 Jakub Jelinek <jakub@redhat.com>
15871
15872 PR translation/79018
15873 * params.def (PARAM_MAX_STORES_TO_MERGE): Add missing space between
15874 the and store.
15875
15876 2017-01-06 Mikael Pettersson <mikpelinux@gmail.com>
15877
15878 PR target/57583
15879 * config/m68k/m68k.opt (LONG_JUMP_TABLE_OFFSETS): New option.
15880 * config/m68k/linux.h (ASM_RETURN_CASE_JUMP): Handle
15881 TARGET_LONG_JUMP_TABLE_OFFSETS.
15882 * config/m68k/m68kelf.h (ASM_RETURN_CASE_JUMP): Likewise.
15883 * config/m68k/netbsd-elf.h (ASM_RETURN_CASE_JUMP): Likewise.
15884 * config/m68k/m68k.h (CASE_VECTOR_MODE): Likewise.
15885 (ASM_OUTPUT_ADDR_DIFF_ELF): Likewise.
15886 * config/m68k/m68k.md (tablejump expander): Likewise.
15887 (*tablejump_pcrel_hi): Renamed from unnamed insn, reject
15888 TARGET_LONG_JUMP_TABLE_OFFSETS.
15889 (*tablejump_pcrel_si): New insn, handle TARGET_LONG_JUMP_TABLE_OFFSETS.
15890 * doc/invoke.texi (M68K options): Add -mlong-jump-table-offsets.
15891
15892 2017-01-06 Edgar E. Iglesias <edgar.iglesias@xilinx.com>
15893 David Holsgrove <david.holsgrove@xilinx.com>
15894
15895 * common/config/microblaze/microblaze-common.c
15896 (TARGET_EXCEPT_UNWIND_INFO): Remove.
15897 * config/microblaze/microblaze-protos.h (microblaze_eh_return):
15898 New prototype.
15899 * config/microblaze/microblaze.c (microblaze_must_save_register)
15900 (microblaze_expand_epilogue, microblaze_return_addr): Handle
15901 calls_eh_return.
15902 (microblaze_eh_return): New function.
15903 * config/microblaze/microblaze.h (RETURN_ADDR_OFFSET)
15904 (EH_RETURN_DATA_REGNO, MB_EH_STACKADJ_REGNUM)
15905 (EH_RETURN_STACKADJ_RTX, ASM_PREFERRED_EH_DATA_FORMAT): New macros.
15906 * config/microblaze/microblaze.md (eh_return): New pattern.
15907
15908 2017-01-06 Jakub Jelinek <jakub@redhat.com>
15909
15910 * system.h (GCC_DIAGNOSTIC_PUSH_IGNORED, GCC_DIAGNOSTIC_POP,
15911 GCC_DIAGNOSTIC_STRINGIFY): Define.
15912
15913 * read-rtl.c (rtx_reader::read_rtx_code): Avoid -Wsign-compare warning.
15914
15915 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
15916
15917 * config/arm/arm.md (<mcrr>): New.
15918 (<mrrc>): New.
15919 * config/arm/arm.c (arm_arch5te): New.
15920 (arm_option_override): Set arm_arch5te.
15921 (arm_coproc_builtin_available): Add support for mcrr, mcrr2, mrrc
15922 and mrrc2.
15923 * config/arm/arm-builtins.c (MCRR_QUALIFIERS): Define to...
15924 (arm_mcrr_qualifiers): ... this. New.
15925 (MRRC_QUALIFIERS): Define to...
15926 (arm_mrrc_qualifiers): ... this. New.
15927 * config/arm/arm_acle.h (__arm_mcrr, __arm_mcrr2, __arm_mrrc,
15928 __arm_mrrc2): New.
15929 * config/arm/arm_acle_builtins.def (mcrr, mcrr2, mrrc, mrrc2): New.
15930 * config/arm/iterators.md (MCRRI, mcrr, MCRR): New.
15931 (MRRCI, mrrc, MRRC): New.
15932 * config/arm/unspecs.md (VUNSPEC_MCRR, VUNSPEC_MCRR2, VUNSPEC_MRRC,
15933 VUNSPEC_MRRC2): New.
15934
15935 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
15936
15937 * config/arm/arm.md (<mcr>): New.
15938 (<mrc>): New.
15939 * config/arm/arm.c (arm_coproc_builtin_available): Add
15940 support for mcr, mrc, mcr2 and mrc2.
15941 * config/arm/arm-builtins.c (MCR_QUALIFIERS): Define to...
15942 (arm_mcr_qualifiers): ... this. New.
15943 (MRC_QUALIFIERS): Define to ...
15944 (arm_mrc_qualifiers): ... this. New.
15945 (MCR_QUALIFIERS): Define to ...
15946 (arm_mcr_qualifiers): ... this. New.
15947 * config/arm/arm_acle.h (__arm_mcr, __arm_mrc, __arm_mcr2,
15948 __arm_mrc2): New.
15949 * config/arm/arm_acle_builtins.def (mcr, mcr2, mrc, mrc2): New.
15950 * config/arm/iterators.md (MCRI, mcr, MCR, MRCI, mrc, MRC): New.
15951 * config/arm/unspecs.md (VUNSPEC_MCR, VUNSPEC_MCR2, VUNSPEC_MRC,
15952 VUNSPEC_MRC2): New.
15953
15954 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
15955
15956 * config/arm/arm.md (*ldc): New.
15957 (*stc): New.
15958 (<ldc>): New.
15959 (<stc>): New.
15960 * config/arm/arm.c (arm_coproc_builtin_available): Add
15961 support for ldc,ldcl,stc,stcl,ldc2,ldc2l,stc2 and stc2l.
15962 (arm_coproc_ldc_stc_legitimate_address): New.
15963 * config/arm/arm-builtins.c (arm_type_qualifiers): Add
15964 'qualifier_const_pointer'.
15965 (LDC_QUALIFIERS): Define to...
15966 (arm_ldc_qualifiers): ... this. New.
15967 (STC_QUALIFIERS): Define to...
15968 (arm_stc_qualifiers): ... this. New.
15969 * config/arm/arm-protos.h
15970 (arm_coproc_ldc_stc_legitimate_address): New.
15971 * config/arm/arm_acle.h (__arm_ldc, __arm_ldcl, __arm_stc,
15972 __arm_stcl, __arm_ldc2, __arm_ldc2l, __arm_stc2, __arm_stc2l): New.
15973 * config/arm/arm_acle_builtins.def (ldc, ldc2, ldcl, ldc2l, stc,
15974 stc2, stcl, stc2l): New.
15975 * config/arm/constraints.md (Uz): New.
15976 * config/arm/iterators.md (LDCI, STCI, ldc, stc, LDC STC): New.
15977 * config/arm/unspecs.md (VUNSPEC_LDC, VUNSPEC_LDC2, VUNSPEC_LDCL,
15978 VUNSPEC_LDC2L, VUNSPEC_STC, VUNSPEC_STC2, VUNSPEC_STCL,
15979 VUNSPEC_STC2L): New.
15980
15981 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
15982
15983 * config/arm/arm.md (<cdp>): New.
15984 * config/arm/arm.c (neon_const_bounds): Rename this ...
15985 (arm_const_bounds): ... this.
15986 (arm_coproc_builtin_available): New.
15987 * config/arm/arm-builtins.c (SIMD_MAX_BUILTIN_ARGS): Increase.
15988 (arm_type_qualifiers): Add 'qualifier_unsigned_immediate'.
15989 (CDP_QUALIFIERS): Define to...
15990 (arm_cdp_qualifiers): ... this. New.
15991 (void_UP): Define.
15992 (arm_expand_builtin_args): Add case for 6 arguments.
15993 * config/arm/arm-protos.h (neon_const_bounds): Rename this ...
15994 (arm_const_bounds): ... this.
15995 (arm_coproc_builtin_available): New.
15996 * config/arm/arm_acle.h (__arm_cdp): New.
15997 (__arm_cdp2): New.
15998 * config/arm/arm_acle_builtins.def (cdp): New.
15999 (cdp2): New.
16000 * config/arm/iterators.md (CDPI,CDP,cdp): New.
16001 * config/arm/neon.md: Rename all 'neon_const_bounds' to
16002 'arm_const_bounds'.
16003 * config/arm/types.md (coproc): New.
16004 * config/arm/unspecs.md (VUNSPEC_CDP, VUNSPEC_CDP2): New.
16005 * gcc/doc/extend.texi (ACLE): Add a mention of Coprocessor intrinsics.
16006 * gcc/doc/sourcebuild.texi (arm_coproc1_ok, arm_coproc2_ok,
16007 arm_coproc3_ok, arm_coproc4_ok): Document new effective targets.
16008
16009 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
16010
16011 * config/arm/arm-builtins.c (arm_unsigned_binop_qualifiers): New.
16012 (UBINOP_QUALIFIERS): New.
16013 (si_UP): Define.
16014 (acle_builtin_data): New. Change comment.
16015 (arm_builtins): Remove ARM_BUILTIN_CRC32B, ARM_BUILTIN_CRC32H,
16016 ARM_BUILTIN_CRC32W, ARM_BUILTIN_CRC32CB, ARM_BUILTIN_CRC32CH,
16017 ARM_BUILTIN_CRC32CW. Add ARM_BUILTIN_ACLE_BASE and include
16018 arm_acle_builtins.def.
16019 (ARM_BUILTIN_ACLE_PATTERN_START): Define.
16020 (arm_init_acle_builtins): New.
16021 (CRC32_BUILTIN): Remove.
16022 (bdesc_2arg): Remove entries for crc32b, crc32h, crc32w,
16023 crc32cb, crc32ch and crc32cw.
16024 (arm_init_crc32_builtins): Remove.
16025 (arm_init_builtins): Use arm_init_acle_builtins rather
16026 than arm_init_crc32_builtins.
16027 (arm_expand_acle_builtin): New.
16028 (arm_expand_builtin): Use 'arm_expand_acle_builtin'.
16029 * config/arm/arm_acle_builtins.def: New.
16030
16031 2017-01-06 Andre Vieira <andre.simoesdiasvieira@arm.com>
16032
16033 * config/arm/arm-builtins.c (neon_builtin_datum): Rename to ..
16034 (arm_builtin_datum): ... this.
16035 (arm_init_neon_builtin): Rename to ...
16036 (arm_init_builtin): ... this. Add a new parameters PREFIX
16037 and USE_SIG_IN_NAME.
16038 (arm_init_neon_builtins): Replace 'arm_init_neon_builtin' with
16039 'arm_init_builtin'. Replace type 'neon_builtin_datum' with
16040 'arm_builtin_datum'.
16041 (arm_init_vfp_builtins): Likewise.
16042 (builtin_arg): Rename enum's replacing 'NEON_ARG' with
16043 'ARG_BUILTIN' and add a 'ARG_BUILTIN_NEON_MEMORY.
16044 (arm_expand_neon_args): Rename to ...
16045 (arm_expand_builtin_args): ... this. Rename builtin_arg
16046 enum values and differentiate between ARG_BUILTIN_MEMORY
16047 and ARG_BUILTIN_NEON_MEMORY.
16048 (arm_expand_neon_builtin_1): Rename to ...
16049 (arm_expand_builtin_1): ... this. Rename builtin_arg enum
16050 values, arm_expand_builtin_args and add bool parameter NEON.
16051 (arm_expand_neon_builtin): Use arm_expand_builtin_1.
16052 (arm_expand_vfp_builtin): Likewise.
16053 (NEON_MAX_BUILTIN_ARGS): Remove, it was unused.
16054
16055 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
16056
16057 PR middle-end/77484
16058 * predict.def (PRED_POLYMORPHIC_CALL): Set to 59.
16059 * predict.c (tree_estimate_probability_bb): Reverse direction of
16060 polymorphic call predictor.
16061
16062 2017-01-06 David Malcolm <dmalcolm@redhat.com>
16063
16064 * passes.c (execute_one_pass): Split out pass-skipping logic into...
16065 (determine_pass_name_match): ...this new function and...
16066 (should_skip_pass_p): ...this new function.
16067
16068 2017-01-06 Nathan Sidwell <nathan@acm.org>
16069
16070 * ipa-visibility.c (function_and_variable_visibility): Reformat
16071 comments and long lines. Remove extrneous if.
16072 * symtab.c (symtab_node::make_decl_local): Fix code format.
16073 (symtab_node::set_section_for_node): Fix comment typo.
16074
16075 2017-01-06 Martin Liska <mliska@suse.cz>
16076
16077 PR bootstrap/79003
16078 * lra-constraints.c: Rename invariant to lra_invariant.
16079 * predict.c (set_even_probabilities): Initialize e to NULL.
16080
16081 2017-01-05 Martin Sebor <msebor@redhat.com>
16082
16083 PR tree-optimization/78910
16084 * gimple-ssa-sprintf.c (tree_digits): Add an argument.
16085 (format_integer): Correct off-by-one error in the handling
16086 of precision with negative numbers in signed conversions..
16087
16088 2017-01-05 Eric Botcazou <ebotcazou@adacore.com>
16089
16090 * doc/invoke.texi (C Dialect Options): Adjust -fsso-struct entry.
16091
16092 2017-01-05 Jakub Jelinek <jakub@redhat.com>
16093
16094 PR tree-optimization/71016
16095 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Pass cond_stmt to
16096 factor_out_conditional_conversion. Formatting fix.
16097 (factor_out_conditional_conversion): Add cond_stmt argument.
16098 If arg1 is INTEGER_CST, punt if new_arg0 is not any operand of
16099 cond_stmt and if arg0_def_stmt is not the only stmt in its bb.
16100 Formatting fix.
16101
16102 2017-01-05 David Malcolm <dmalcolm@redhat.com>
16103
16104 * Makefile.in (OBJS): Add read-md.o, read-rtl.o,
16105 read-rtl-function.o, and selftest-rtl.o.
16106 * config/aarch64/aarch64.c: Include selftest.h and selftest-rtl.h.
16107 (selftest::aarch64_test_loading_full_dump): New function.
16108 (selftest::aarch64_run_selftests): New function.
16109 (TARGET_RUN_TARGET_SELFTESTS): Wire it up to
16110 selftest::aarch64_run_selftests.
16111 * config/i386/i386.c
16112 (selftest::ix86_test_loading_dump_fragment_1): New function.
16113 (selftest::ix86_test_loading_call_insn): New function.
16114 (selftest::ix86_test_loading_full_dump): New function.
16115 (selftest::ix86_test_loading_unspec): New function.
16116 (selftest::ix86_run_selftests): Call the new functions.
16117 * emit-rtl.c (maybe_set_max_label_num): New function.
16118 * emit-rtl.h (maybe_set_max_label_num): New decl.
16119 * function.c (instantiate_decls): Guard call to
16120 instantiate_decls_1 with if (DECL_INITIAL (fndecl)).
16121 * function-tests.c (selftest::verify_three_block_rtl_cfg): Remove
16122 "static".
16123 * gensupport.c (gen_reader::gen_reader): Pass "false"
16124 for new "compact" param of rtx_reader.
16125 * print-rtl.c (rtx_writer::print_rtx_operand): Print "(nil)"
16126 rather than an empty string for NULL strings.
16127 * read-md.c: Potentially include config.h rather than bconfig.h.
16128 Wrap include of errors.h with #ifdef GENERATOR_FILE.
16129 (have_error): New global, copied from errors.c.
16130 (md_reader::read_name): Rename to...
16131 (md_reader::read_name_1): ...this, adding "out_loc" param,
16132 and converting "missing name or number" to returning false, rather
16133 than failing.
16134 (md_reader::read_name): Reimplement in terms of read_name_1.
16135 (md_reader::read_name_or_nil): New function.
16136 (md_reader::read_string): Handle "(nil)" by returning NULL.
16137 (md_reader::md_reader): Add new param "compact".
16138 (md_reader::read_md_files): Wrap with #ifdef GENERATOR_FILE.
16139 (md_reader::read_file): New method.
16140 * read-md.h (md_reader::md_reader): Add new param "compact".
16141 (md_reader::read_file): New method.
16142 (md_reader::is_compact): New accessor.
16143 (md_reader::read_name): Convert return type from void to file_location.
16144 (md_reader::read_name_or_nil): New decl.
16145 (md_reader::read_name_1): New decl.
16146 (md_reader::m_compact): New field.
16147 (noop_reader::noop_reader): Pass "false" for new "compact" param
16148 of rtx_reader.
16149 (rtx_reader::rtx_reader): Add new "compact" param.
16150 (rtx_reader::read_rtx_operand): Make virtual and convert return
16151 type from void to rtx.
16152 (rtx_reader::read_until): New decl.
16153 (rtx_reader::handle_any_trailing_information): New virtual function.
16154 (rtx_reader::postprocess): New virtual function.
16155 (rtx_reader::finalize_string): New virtual function.
16156 (rtx_reader::m_in_call_function_usage): New field.
16157 (rtx_reader::m_reuse_rtx_by_id): New field.
16158 * read-rtl-function.c: New file.
16159 * selftest-rtl.c (selftest::assert_rtx_ptr_eq_at): New function.
16160 * selftest-rtl.h (ASSERT_RTX_PTR_EQ): New macro.
16161 (selftest::verify_three_block_rtl_cfg): New decl.
16162 * read-rtl-function.h: New file.
16163 * read-rtl.c: Potentially include config.h rather than bconfig.h.
16164 For host, include function.h, memmodel.h, and emit-rtl.h.
16165 (one_time_initialization): New function.
16166 (struct compact_insn_name): New struct.
16167 (compact_insn_names): New array.
16168 (find_code): Handle insn codes in compact dumps.
16169 (apply_subst_iterator): Wrap with #ifdef GENERATOR_FILE.
16170 (bind_subst_iter_and_attr): Likewise.
16171 (add_condition_to_string): Likewise.
16172 (add_condition_to_rtx): Likewise.
16173 (apply_attribute_uses): Likewise.
16174 (add_current_iterators): Likewise.
16175 (apply_iterators): Likewise.
16176 (initialize_iterators): Guard usage of apply_subst_iterator with
16177 #ifdef GENERATOR_FILE.
16178 (read_conditions): Wrap with #ifdef GENERATOR_FILE.
16179 (md_reader::read_mapping): Likewise.
16180 (add_define_attr_for_define_subst): Likewise.
16181 (add_define_subst_attr): Likewise.
16182 (read_subst_mapping): Likewise.
16183 (check_code_iterator): Likewise.
16184 (rtx_reader::read_rtx): Likewise. Move one-time initialization
16185 logic to...
16186 (one_time_initialization): New function.
16187 (rtx_reader::read_until): New method.
16188 (read_flags): New function.
16189 (parse_reg_note_name): New function.
16190 (rtx_reader::read_rtx_code): Initialize "iterator" to NULL.
16191 Handle reuse_rtx ids.
16192 Wrap iterator lookup within #ifdef GENERATOR_FILE.
16193 Add parsing support for RTL dumps, mirroring the special-cases in
16194 print_rtx, by calling read_flags, reading REG_NOTE names, INSN_UID
16195 values, and calling handle_any_trailing_information.
16196 (rtx_reader::read_rtx_operand): Convert return type from void
16197 to rtx, returning return_rtx. Handle case 'e'. Call
16198 finalize_string on XSTR and XTMPL fields.
16199 (rtx_reader::read_nested_rtx): Handle dumps in which trailing
16200 "(nil)" values were omitted. Call the postprocess vfunc on the
16201 return_rtx.
16202 (rtx_reader::rtx_reader): Add new "compact" param and pass to base
16203 class ctor. Initialize m_in_call_function_usage. Call
16204 one_time_initialization.
16205 * rtl-tests.c (selftest::test_uncond_jump): Call
16206 set_new_first_and_last_insn.
16207 * rtl.h (read_rtx): Wrap decl with #ifdef GENERATOR_FILE.
16208 * selftest-rtl.c: New file.
16209 * selftest-rtl.h (class selftest::rtl_dump_test): New class.
16210 (selftest::get_insn_by_uid): New decl.
16211 * selftest-run-tests.c (selftest::run_tests): Call
16212 read_rtl_function_c_tests.
16213 * selftest.h (selftest::read_rtl_function_c_tests): New decl.
16214 * tree-dfa.c (ssa_default_def): Return NULL_TREE for rtl function
16215 dumps.
16216
16217 2017-01-05 Uros Bizjak <ubizjak@gmail.com>
16218
16219 * config/i386/i386.md (*testqi_ext_3): No need to handle memory
16220 operands in a special way. Assert that pos+len <= mode precision.
16221
16222 2017-01-05 Jakub Jelinek <jakub@redhat.com>
16223
16224 * common.opt (fvect-cost-model): Remove RejectNegative flag, use
16225 3 argument Alias with unlimited for the negative form.
16226 (fno-vect-cost-model): Removed.
16227
16228 2017-01-05 Martin Liska <mliska@suse.cz>
16229
16230 * hsa-gen.c (gen_hsa_divmod): New function.
16231 (gen_hsa_insn_for_internal_fn_call): Use the function for IFN_DIVMOD.
16232
16233 2017-01-05 Martin Liska <mliska@suse.cz>
16234
16235 PR pch/78970
16236 * gcc.c (lookup_compiler): Reject '-' filename for a precompiled
16237 header.
16238
16239 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16240
16241 * config/s390/s390.c (s390_expand_setmem): Unroll the loop for
16242 small constant length operands.
16243
16244 2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
16245
16246 * config/s390/s390.c (s390_expand_setmem): Avoid overlapping bytes
16247 between loop iterations.
16248
16249 2017-01-05 Martin Liska <mliska@suse.cz>
16250
16251 PR sanitizer/78815
16252 * gimplify.c (gimplify_decl_expr): Compare to
16253 asan_poisoned_variables instread of checking flags.
16254 (gimplify_target_expr): Likewise.
16255 (gimplify_expr): Likewise.
16256 (gimplify_function_tree): Conditionally initialize
16257 asan_poisoned_variables.
16258
16259 2017-01-04 Jeff Law <law@redhat.com>
16260
16261 PR tree-optimizatin/78812
16262 * rtl.h (contains_mem_rtx_p): Prototype.
16263 * ifcvt.c (containts_mem_rtx_p): Move from here to...
16264 * rtlanal.c (contains_mem_rtx_p): Here and remove static linkage.
16265 * gcse.c (prune_expressions): Use contains_mem_rtx_p to discover
16266 and prune MEMs that are not at the toplevel of a SET_SRC rtx. Look
16267 through ZERO_EXTEND and SIGN_EXTEND when trying to avoid pruning MEMs.
16268
16269 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
16270
16271 * input.c (assert_char_at_range): Default-initialize actual_range.
16272
16273 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
16274
16275 * df-scan.c (df_ref_create_structure): Make regno unsigned,
16276 to match the caller.
16277
16278 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
16279
16280 * cfgexpand.c (expand_gimple_basic_block): Disregard debug
16281 insns after final jump in test to emit dummy move.
16282
16283 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
16284
16285 * gimple-iterator.h (gsi_one_nondebug_before_end_p): New.
16286 * tree-eh.c (cleanup_empty_eh): Skip more debug stmts.
16287
16288 2017-01-04 Alexandre Oliva <aoliva@redhat.com>
16289
16290 * multiple_target.c (create_dispatcher_calls): Init e_next.
16291 * tree-ssa-loop-split.c (split_loop): Init border.
16292 * tree-vect-loop.c (vect_determine_vectorization_factor): Init
16293 scalar_type.
16294
16295 2017-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
16296
16297 PR target/71977
16298 PR target/70568
16299 PR target/78823
16300 * config/rs6000/predicates.md (sf_subreg_operand): New predicate.
16301 (altivec_register_operand): Do not return true if the operand
16302 contains a SUBREG mixing SImode and SFmode.
16303 (vsx_register_operand): Likewise.
16304 (vsx_reg_sfsubreg_ok): New predicate.
16305 (vfloat_operand): Do not return true if the operand contains a
16306 SUBREG mixing SImode and SFmode.
16307 (vint_operand): Likewise.
16308 (vlogical_operand): Likewise.
16309 (gpc_reg_operand): Likewise.
16310 (int_reg_operand): Likewise.
16311 * config/rs6000/rs6000-protos.h (valid_sf_si_move): Add declaration.
16312 * config/rs6000/rs6000.c (valid_sf_si_move): New function to
16313 determine if a MOVSI or MOVSF operation contains SUBREGs that mix
16314 SImode and SFmode.
16315 (rs6000_emit_move_si_sf_subreg): New helper function.
16316 (rs6000_emit_move): Call rs6000_emit_move_si_sf_subreg to possbily
16317 fixup SUBREGs involving SImode and SFmode.
16318 * config/rs6000/vsx.md (SFBOOL_*): New constants that are operand
16319 numbers for the new peephole2 optimization.
16320 (peephole2 for SFmode unions): New peephole2 to optimize cases in
16321 the GLIBC math library that do AND/IOR/XOR operations on single
16322 precision floating point.
16323 * config/rs6000/rs6000.h (TARGET_NO_SF_SUBREG): New internal
16324 target macros to say whether we need to avoid SUBREGs mixing
16325 SImode and SFmode.
16326 (TARGET_ALLOW_SF_SUBREG): Likewise.
16327 * config/rs6000/rs6000.md (UNSPEC_SF_FROM_SI): New unspecs.
16328 (UNSPEC_SI_FROM_SF): Likewise.
16329 (iorxor): Change spacing.
16330 (and_ior_xor): New iterator for AND, IOR, and XOR.
16331 (movsi_from_sf): New insns for SImode/SFmode SUBREG support.
16332 (movdi_from_sf_zero_ext): Likewise.
16333 (mov<mode>_hardfloat, FMOVE32 iterator): Use register_operand
16334 instead of gpc_reg_operand. Add SImode/SFmode SUBREG support.
16335 (movsf_from_si): New insn for SImode/SFmode SUBREG support.
16336 (fma<mode>4): Use gpc_reg_operand instead of register_operand.
16337 (fms<mode>4): Likewise.
16338 (fnma<mode>4): Likewise.
16339 (fnms<mode>4): Likewise.
16340 (nfma<mode>4): Likewise.
16341 (nfms<mode>4): Likewise.
16342
16343 2017-01-04 Marek Polacek <polacek@redhat.com>
16344
16345 PR c++/64767
16346 * doc/invoke.texi: Document -Wpointer-compare.
16347
16348 2017-01-04 Jakub Jelinek <jakub@redhat.com>
16349
16350 * optc-gen.awk: Emit #error for -W*/-f*/-m* Enum without
16351 RejectNegative.
16352
16353 * dwarf2out.c (output_loc_list): Don't throw away 64K+ location
16354 descriptions for -gdwarf-5 and emit them as uleb128 instead of
16355 2-byte data.
16356
16357 2017-01-04 Kelvin Nilsen <kelvin@gcc.gnu.org>
16358
16359 PR target/78056
16360 * doc/sourcebuild.texi (PowerPC-specific attributes): Add
16361 documentation of the powerpc_popcntb_ok attribute.
16362 * config/rs6000/rs6000.c (rs6000_option_override_internal): Add
16363 code to issue warning messages if a requested CPU configuration is
16364 not supported by the binary (assembler and loader) toolchain.
16365 (spe_init_builtins): Add two assertions to prevent ICE if attempt is
16366 made to define a built-in function that has been disabled.
16367 (paired_init_builtins): Add assertion to prevent ICE if attempt is
16368 made to define a built-in function that has been disabled.
16369 (altivec_init_builtins): Add comment explaining why definition
16370 of the DST built-in functions is not preceded by an assertion
16371 check. Add assertions to prevent ICE if attempts are made to
16372 define an altivec predicate or an abs* built-in function that has
16373 been disabled.
16374 (htm_init_builtins): Add comment explaining why definition of the
16375 htm built-in functions is not preceded by an assertion check.
16376
16377 2017-01-04 Jeff Law <law@redhat.com>
16378
16379 PR tree-optimizatin/67955
16380 * tree-ssa-alias.c (same_addr_size_stores_p): Check offsets first.
16381 Allow any SSA_VAR_P as the base objects. Use integer_zerop. Verify
16382 the points-to solution does not include pt_null. Use DECL_PT_UID
16383 unconditionally.
16384
16385 2017-01-04 Uros Bizjak <ubizjak@gmail.com>
16386
16387 * config/i386/i386.md (HI/SImode test with imm to QImode splitters):
16388 Use gen_int_mode instead of gen_lopwart for const_int operands.
16389
16390 2017-01-04 Jakub Jelinek <jakub@redhat.com>
16391
16392 PR tree-optimization/71563
16393 * match.pd: Simplify X << Y into X if Y is known to be 0 or
16394 out of range value - has low bits known to be zero.
16395
16396 2017-01-04 Alan Modra <amodra@gmail.com>
16397
16398 * Makefile.in (aclocal_deps): Update and order as per aclocal.m4.
16399 * configure: Regenerate.
16400 * config.in: Regenerate.
16401
16402 2017-01-04 Jakub Jelinek <jakub@redhat.com>
16403
16404 PR bootstrap/77569
16405 * input.c (ebcdic_execution_charset::on_error): Don't use strstr for
16406 a substring of the message, but strcmp with the whole message. Ifdef
16407 ENABLE_NLS, translate the message first using dgettext.
16408
16409 2017-01-03 Jeff Law <law@redhat.com>
16410
16411 PR tree-optimizatin/78856
16412 * tree-ssa-threadupdate.c: Include tree-vectorizer.h.
16413 (mark_threaded_blocks): Remove code to truncate thread paths that
16414 cross multiple loop headers. Instead invalidate the cached loop
16415 iteration information and handle case of a thread path walking
16416 into an irreducible region.
16417
16418 2017-01-03 Michael Meissner <meissner@linux.vnet.ibm.com>
16419
16420 PR target/78900
16421 * config/rs6000/rs6000.c (rs6000_split_signbit): Change some
16422 assertions. Add support for doing the signbit if the IEEE 128-bit
16423 floating point value is in a GPR.
16424 * config/rs6000/rs6000.md (Fsignbit): Delete.
16425 (signbit<mode>2_dm): Delete using <Fsignbit> and just use "wa".
16426 Update the length attribute if the value is in a GPR.
16427 (signbit<mode>2_dm_<su>ext): Add combiner pattern to eliminate
16428 the sign or zero extension instruction, since the value is always 0/1.
16429 (signbit<mode>2_dm2): Delete using <Fsignbit>.
16430
16431 PR target/78953
16432 * config/rs6000/vsx.md (vsx_extract_<mode>_store_p9): If we are
16433 extracting SImode to a GPR register so that we can generate a
16434 store, limit the vector to be in a traditional Altivec register
16435 for the vextuwrx instruction.
16436
16437 2017-01-03 Ian Lance Taylor <iant@google.com>
16438
16439 * godump.c (go_format_type): Treat ENUMERAL_TYPE like INTEGER_TYPE.
16440
16441 2017-01-03 Martin Sebor <msebor@redhat.com>
16442
16443 PR tree-optimization/78696
16444 * gimple-ssa-sprintf.c (format_floating): Correct handling of
16445 precision. Use MPFR for %f for greater fidelity. Correct handling
16446 of %g.
16447 (pass_sprintf_length::compute_format_length): Set width and precision
16448 specified by asrerisk to void_node for vararg functions.
16449 (try_substitute_return_value): Adjust dump output.
16450
16451 2017-01-03 David Edelsohn <dje.gcc@gmail.com>
16452
16453 * doc/invoke.texi (RS6000 options): LRA is enabled by default.
16454
16455 2017-01-03 Eric Botcazou <ebotcazou@adacore.com>
16456
16457 * doc/invoke.texi (SPARC options): Document -mlra as the default.
16458 * config/sparc/sparc.c (sparc_option_override): Force LRA unless
16459 -mlra/-mno-lra was passed to the compiler.
16460
16461 2017-01-03 James Cowgill <James.Cowgill@imgtec.com>
16462
16463 PR rtl-optimization/65618
16464 * emit-rtl.c (try_split): Move initialization of "before" and
16465 "after" to just before the call to emit_insn_after_setloc.
16466
16467 2017-01-03 Gerald Pfeifer <gerald@pfeifer.com>
16468
16469 * doc/md.texi (Standard Names): Remove reference to Java frontend.
16470
16471 2017-01-03 Pierre-Marie de Rodat <derodat@adacore.com>
16472
16473 * dwarf2out.c (gen_enumeration_type_die): When
16474 -gno-strict-dwarf, add a DW_AT_encoding attribute.
16475
16476 2017-01-03 Jakub Jelinek <jakub@redhat.com>
16477
16478 PR tree-optimization/78965
16479 * gimple-ssa-sprintf.c (pass_sprintf_length::compute_format_length):
16480 Change first argument from const call_info & to call_info &. For %n
16481 set info.nowrite to false.
16482
16483 PR middle-end/78901
16484 * gimple-ssa-sprintf.c (try_substitute_return_value): Don't change
16485 possibly throwing calls.
16486
16487 * genmatch.c (dt_node::gen_kids_1): If generic_exprs include SSA_NAME
16488 and exprs_len || fns_len, emit the code for SSA_NAME next to the exprs
16489 and fns handling, rather than in a separate case SSA_NAME.
16490
16491 2017-01-02 Jeff Law <law@redhat.com>
16492
16493 * config/darwin-driver.c (darwin_driver_init): Const-correctness
16494 fixes for first_period and second_period variables.
16495
16496 2017-01-02 Uros Bizjak <ubizjak@gmail.com>
16497
16498 PR target/78967
16499 * config/i386/i386.md (UNSPEC_NOREX_MEM): New unspec.
16500 (*insvqi_1): New insn pattern.
16501 (*insvqi_1_mem_rex64): Ditto.
16502 (*insvqi_2): Ditto.
16503 (*insvqi_3): Rename from *insvqi.
16504
16505 (*extzvqi_mem_rex64): Add UNSPEC_NOREX_MEM tag.
16506
16507 2017-01-02 Gerald Pfeifer <gerald@pfeifer.com>
16508
16509 * doc/cfg.texi (Edges): Remove reference to Java.
16510 (Maintaining the CFG): Ditto.
16511
16512 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
16513
16514 PR middle-end/77674
16515 * symtab.c (symtab_node::binds_to_current_def_p): Fix handling of
16516 transparent aliases.
16517
16518 2017-01-01 Jan Hubicka <hubicka@ucw.cz>
16519
16520 PR middle-end/77484
16521 * predict.def (PRED_CALL): Update hitrate.
16522 (PRED_INDIR_CALL, PRED_POLYMORPHIC_CALL): New predictors.
16523 * predict.c (tree_estimate_probability_bb): Split CALL predictor
16524 into direct/indirect/polymorphic variants.
16525
16526 2017-01-01 Jakub Jelinek <jakub@redhat.com>
16527
16528 Update copyright years.
16529
16530 * gcc.c (process_command): Update copyright notice dates.
16531 * gcov-dump.c (print_version): Ditto.
16532 * gcov.c (print_version): Ditto.
16533 * gcov-tool.c (print_version): Ditto.
16534 * gengtype.c (create_file): Ditto.
16535 * doc/cpp.texi: Bump @copying's copyright year.
16536 * doc/cppinternals.texi: Ditto.
16537 * doc/gcc.texi: Ditto.
16538 * doc/gccint.texi: Ditto.
16539 * doc/gcov.texi: Ditto.
16540 * doc/install.texi: Ditto.
16541 * doc/invoke.texi: Ditto.
16542 \f
16543 Copyright (C) 2017 Free Software Foundation, Inc.
16544
16545 Copying and distribution of this file, with or without modification,
16546 are permitted in any medium without royalty provided the copyright
16547 notice and this notice are preserved.
This page took 0.7451 seconds and 5 git commands to generate.