[RS6000] reload_vsx_from_gprsf splitter
[gcc.git] / gcc / ChangeLog
1 2016-02-16 Alan Modra <amodra@gmail.com>
2
3 PR target/68973
4 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
5 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
6 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
7 (p8_mtvsrwz): New.
8 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
9 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
10 (p8_fmrgow_<mode>): Likewise.
11 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
12 changes.
13 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
14 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
15 to use movdi_internal64. Remove op0_di.
16 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
17
18 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
19
20 Add support for the FCCMP insn types
21
22 * config/aarch64/aarch64.md (fccmp): Change insn type.
23 (fccmpe): Likewise.
24 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
25 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
26 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
27 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
28 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
29 * config/arm/types.md (fccmps): Add new insn type.
30 (fccmpd): Likewise.
31
32 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
33
34 * alias.c (get_alias_set): Fix a typo in comment.
35
36 2016-02-15 Richard Biener <rguenther@suse.de>
37
38 PR tree-optimization/69595
39 * match.pd: Complete range test simplification to true.
40
41 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
42
43 PR rtl-optimization/69648
44 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
45 pic_offset_table_rtx.
46
47 PR rtl-optimization/69752
48 * ira.c (update_equiv_regs): When looking for more than a single SET,
49 also take other side effects into account.
50
51 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
52
53 * config/s390/s390.c (s390_function_profiler): Add a new sequence
54 for z900+ CPUs in 31-bit mode.
55
56 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
57
58 * common/config/s390/s390-common.c (s390_supports_split_stack):
59 New function.
60 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
61 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
62 * config/s390/s390.c (struct machine_function): New field
63 split_stack_varargs_pointer.
64 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
65 in s390_emit_prologue.
66 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
67 vararg pointer.
68 (morestack_ref): New global.
69 (SPLIT_STACK_AVAILABLE): New macro.
70 (s390_expand_split_stack_prologue): New function.
71 (s390_live_on_entry): New function.
72 (s390_va_start): Use split-stack vararg pointer if appropriate.
73 (s390_asm_file_end): Emit the split-stack note sections.
74 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
75 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
76 (UNSPECV_SPLIT_STACK_CALL): New unspec.
77 (UNSPECV_SPLIT_STACK_DATA): New unspec.
78 (split_stack_prologue): New expand.
79 (split_stack_space_check): New expand.
80 (split_stack_data): New insn.
81 (split_stack_call): New expand.
82 (split_stack_call_*): New insn.
83 (split_stack_cond_call): New expand.
84 (split_stack_cond_call_*): New insn.
85
86 2016-02-15 Richard Biener <rguenther@suse.de>
87
88 PR tree-optimization/69783
89 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
90 Add trivially correct cases.
91
92 2016-02-15 Tom de Vries <tom@codesourcery.com>
93
94 PR lto/69655
95 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
96 do_force_output.
97 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
98
99 2016-02-15 Richard Biener <rguenther@suse.de>
100
101 PR tree-optimization/69776
102 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
103 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
104 indicate whether we can use TBAA to disambiguate against stores.
105 Use alias-set zero if not.
106 (visit_reference_op_store): Do not use TBAA when looking up
107 redundant stores.
108 * tree-ssa-pre.c (compute_avail): Use TBAA here.
109 (eliminate_dom_walker::before_dom_children): But not when looking
110 up redundant stores.
111
112 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
113
114 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
115
116 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
117
118 * config/i386/znver1.md
119 (znver1_pop, znver1_pop_mem,
120 znver1_load_imov_double_store,
121 znver1_load_imov_direct_store,
122 znver1_load_imov_direct_load,
123 znver1_load_imov_double_load): Add new.
124 (znver1_insn, znver1_insn_load): Add icmov type.
125 (znver1_sseavx_fma,
126 znver1_sseavx_fma_load,
127 znver1_avx256_fma,
128 znver1_avx256_fma_load): Fix pipe usage.
129
130 2016-02-14 Alan Modra <amodra@gmail.com>
131
132 PR target/68973
133 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
134 with an invalid hard reg, reload just the reg not the entire
135 pre/post-inc/dec address expression.
136
137 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
138
139 PR target/67260
140 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
141 fixed R1_REG scratch reg.
142 (sibcall_value_pcrel_fdpic): Likewise.
143
144 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
145
146 PR target/67636
147 PR target/64345
148 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
149
150 2016-02-12 Walter Lee <walt@tilera.com>
151
152 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
153 * config/tilegx/t-tilegx: Likewise.
154
155 2016-02-12 David Malcolm <dmalcolm@redhat.com>
156
157 PR other/69554
158 * diagnostic-show-locus.c (struct line_span): New struct.
159 (layout::get_first_line): Delete.
160 (layout::get_last_line): Delete.
161 (layout::get_num_line_spans): New member function.
162 (layout::get_line_span): Likewise.
163 (layout::print_heading_for_line_span_index_p): Likewise.
164 (layout::get_expanded_location): Likewise.
165 (layout::calculate_line_spans): Likewise.
166 (layout::m_first_line): Delete.
167 (layout::m_last_line): Delete.
168 (layout::m_line_spans): New field.
169 (layout::layout): Update comment. Replace m_first_line and
170 m_last_line with m_line_spans, replacing their initialization
171 with a call to calculate_line_spans.
172 (diagnostic_show_locus): When printing source lines and
173 annotations, rather than looping over a single span
174 of lines, instead loop over each line_span within
175 the layout, with an inner loop over the lines within them.
176 Call the context's start_span callback when changing line spans.
177 * diagnostic.c (diagnostic_initialize): Initialize start_span.
178 (diagnostic_build_prefix): Break out the building of the location
179 part of the string into...
180 (diagnostic_get_location_text): ...this new function, rewriting
181 it from nested ternary expressions to a sequence of "if"
182 statements.
183 (default_diagnostic_start_span_fn): New function.
184 * diagnostic.h (diagnostic_start_span_fn): New typedef.
185 (diagnostic_context::start_span): New field.
186 (default_diagnostic_start_span_fn): New prototype.
187
188 2016-02-12 David Malcolm <dmalcolm@redhat.com>
189
190 PR driver/69779
191 * gcc.c (driver::finalize): Fix cleanup of "specs".
192
193 2016-02-12 David Malcolm <dmalcolm@redhat.com>
194
195 PR driver/69265
196 PR driver/69453
197 * gcc.c (driver::driver): Initialize m_option_suggestions.
198 (driver::~driver): Clean up m_option_suggestions.
199 (suggest_option): Convert to...
200 (driver::suggest_option): ...this, and split out into
201 driver::build_option_suggestions and find_closest_string.
202 (driver::build_option_suggestions): New function, from
203 first half of suggest_option. Special-case
204 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
205 the sanitizer_opts array. For options of enum types, add the
206 various enum values to the candidate strings.
207 (driver::handle_unrecognized_options): Remove "const".
208 * gcc.h (driver::handle_unrecognized_options): Likewise.
209 (driver::build_option_suggestions): New decl.
210 (driver::suggest_option): New decl.
211 (driver::m_option_suggestions): New field.
212 * opts-common.c (add_misspelling_candidates): New function.
213 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
214 and make non-static.
215 * opts.h (sanitizer_opts): New array decl.
216 (add_misspelling_candidates): New function decl.
217 * spellcheck.c (find_closest_string): New function.
218 * spellcheck.h (find_closest_string): New function decl.
219
220 2016-02-12 Jakub Jelinek <jakub@redhat.com>
221
222 PR rtl-optimization/69764
223 PR rtl-optimization/69771
224 * optabs.c (expand_binop_directly): For shift_optab_p, force
225 convert_modes with VOIDmode if xop1 has VOIDmode.
226
227 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
228
229 PR target/69729
230 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
231 to correctly determine instrumentation thunks.
232
233 2016-02-12 Jakub Jelinek <jakub@redhat.com>
234
235 PR ipa/69241
236 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
237 type by reference, force lhs on the call.
238
239 PR ipa/68672
240 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
241 Compute retval and retbnd early in all cases if split_part_return_p
242 and return_bb is not EXIT. Remove all clobber stmts and reset
243 all debug stmts that refer to SSA_NAMEs defined in split part,
244 except if it is retval, in that case replace the old retval with the
245 lhs of the call to the split part.
246
247 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
248
249 revert:
250 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
251
252 PR middle-end/66726
253 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
254 whose result is used in PHI.
255 (maybe_optimize_range_tests): Likewise.
256 (final_range_test_p): Likweise.
257
258 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
259
260 PR middle-end/66726
261 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
262 whose result is used in PHI.
263 (maybe_optimize_range_tests): Likewise.
264 (final_range_test_p): Likweise.
265
266 2016-02-12 Jakub Jelinek <jakub@redhat.com>
267
268 * cgraph.c: Spelling fixes - behaviour -> behavior and
269 neighbour -> neighbor.
270 * target.def: Likewise.
271 * sel-sched.c: Likewise.
272 * config/mips/mips.c: Likewise.
273 * config/arc/arc.md: Likewise.
274 * config/arm/cortex-a57.md: Likewise.
275 * config/arm/arm.c: Likewise.
276 * config/arm/neon.md: Likewise.
277 * config/arm/arm-c.c: Likewise.
278 * config/vms/vms-c.c: Likewise.
279 * config/s390/s390.c: Likewise.
280 * config/i386/znver1.md: Likewise.
281 * config/i386/i386.c: Likewise.
282 * config/ia64/hpux-unix2003.h: Likewise.
283 * config/msp430/msp430.md: Likewise.
284 * config/rx/rx.c: Likewise.
285 * config/rx/rx.md: Likewise.
286 * config/aarch64/aarch64-simd.md: Likewise.
287 * config/aarch64/aarch64.c: Likewise.
288 * config/nvptx/nvptx.c: Likewise.
289 * config/bfin/bfin.c: Likewise.
290 * config/cris/cris.opt: Likewise.
291 * config/rs6000/rs6000.c: Likewise.
292 * target.h: Likewise.
293 * spellcheck.c: Likewise.
294 * ira-build.c: Likewise.
295 * tree-inline.c: Likewise.
296 * builtins.c: Likewise.
297 * lra-constraints.c: Likewise.
298 * explow.c: Likewise.
299 * hwint.h: Likewise.
300 * targhooks.c: Likewise.
301 * tree-vect-data-refs.c: Likewise.
302 * expr.c: Likewise.
303 * doc/tm.texi: Likewise.
304 * doc/extend.texi: Likewise.
305 * doc/install.texi: Likewise.
306 * doc/md.texi: Likewise.
307 * tree-ssa-tail-merge.c: Likewise.
308 * sched-int.h: Likewise.
309 * match.pd: Likewise.
310 * sched-ebb.c: Likewise.
311 * target.def (omit_struct_return_reg): Likewise.
312 * gimple-ssa-isolate-paths.c: Likewise.
313 (find_implicit_erroneous_behaviour): Renamed to...
314 (find_implicit_erroneous_behavior): ... this.
315 (find_explicit_erroneous_behaviour): Renamed to...
316 (find_explicit_erroneous_behavior): ... this.
317 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
318
319 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
320
321 PR rtl-optimization/64682
322 PR rtl-optimization/69567
323 PR rtl-optimization/69737
324 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
325 in I2 as well, just lose it.
326
327 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
328
329 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
330 New variable.
331 (aarch64_last_printed_tune_string): Likewise.
332 (aarch64_declare_function_name): Only output .arch assembler
333 directive if it will be different from the previously output
334 directive. Same for .tune comment but only if -dA is set.
335 (aarch64_start_file): New function.
336 (TARGET_ASM_FILE_START): Define.
337
338 2016-02-11 David Malcolm <dmalcolm@redhat.com>
339
340 PR plugins/69758
341 * Makefile.in (PLUGIN_HEADERS): Add params.list.
342
343 2016-02-11 Jakub Jelinek <jakub@redhat.com>
344
345 PR target/65313
346 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
347 -Wmaybe-uninitialized warning.
348
349 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
350
351 PR target/69713
352 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
353
354 2016-02-11 Richard Biener <rguenther@suse.de>
355
356 PR rtl-optimization/69291
357 * ifcvt.c (noce_try_store_flag_constants): Do not allow
358 subexpressions affected by changing the result.
359
360 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
361
362 PR target/69148
363 * lra-constraints.c (curr_insn_transform): Find in/out operands
364 for secondary memory moves. Update dups.
365
366 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
367
368 PR tree-optimization/69652
369 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
370 to nested loop, did source re-formatting, skip debug statements,
371 add check on statement with volatile operand, remove dead scalar
372 statements.
373
374 2016-02-10 Jakub Jelinek <jakub@redhat.com>
375 Patrick Palka <ppalka@gcc.gnu.org>
376
377 PR ipa/69241
378 PR c++/69649
379 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
380 calls if the return type is TREE_ADDRESSABLE.
381 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
382 * ipa-split.c (split_function): Fix doubled "we" in comment.
383 Use void return type for the split part even if
384 !split_point->split_part_set_retval.
385
386 2016-02-10 Bin Cheng <bin.cheng@arm.com>
387
388 PR tree-optimization/68021
389 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
390 when computing the value of biv cand by itself.
391
392 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
393
394 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
395 (cortexa57_tunings): Likewise.
396 (cortexa72_tunings): Likewise.
397 (arch_macro_fusion_pair_p): Add support for AES fusion.
398 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
399 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
400 Allow virtual registers before reload so early scheduling works.
401 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
402 correct latency and pipeline.
403 (cortex_a57_crypto_complex): Likewise.
404 (cortex_a57_crypto_xor): Likewise.
405 (define_bypass): Add AES bypass.
406
407 2016-02-10 Richard Biener <rguenther@suse.de>
408
409 PR tree-optimization/69726
410 * passes.def: Add DCE pass before late uninit.
411 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
412 really fixup if-conversions job.
413
414 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
415
416 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
417 (arm_cortex_a57_tune): Likewise.
418 (aarch_macro_fusion_pair_p): Add support for AES fusion.
419 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
420
421 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
422
423 * timevar.def (TV_PHASE_DBGINFO): Delete.
424 (TV_PHASE_CHECK_DBGINFO): Likewise.
425 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
426
427 2016-02-10 Richard Biener <rguenther@suse.de>
428
429 PR tree-optimization/69719
430 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
431 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
432
433 2016-02-09 Andrew Pinski <apinski@cavium.com>
434
435 PR tree-opt/69282
436 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
437 get_vcond_mask_icode returns false.
438
439 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
440
441 PR target/68404
442 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
443 an ADDIS that adds a pointer to a large constant that sets the
444 upper16 bits with a load operation.
445
446 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
447
448 PR target/68532
449 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
450 order.
451 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
452 endian.
453 (vzipq_s16): Likewise.
454 (vzipq_s32): Likewise.
455 (vzipq_f32): Likewise.
456 (vzipq_u8): Likewise.
457 (vzipq_u16): Likewise.
458 (vzipq_u32): Likewise.
459 (vzipq_p8): Likewise.
460 (vzipq_p16): Likewise.
461
462 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
463
464 PR target/68532
465 * config/arm/arm.c (neon_endian_lane_map): New function.
466 (neon_vector_pair_endian_lane_map): New function.
467 (arm_evpc_neon_vuzp): Allow for big endian lane order.
468 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
469 endian.
470 (vuzpq_s16): Likewise.
471 (vuzpq_s32): Likewise.
472 (vuzpq_f32): Likewise.
473 (vuzpq_u8): Likewise.
474 (vuzpq_u16): Likewise.
475 (vuzpq_u32): Likewise.
476 (vuzpq_p8): Likewise.
477 (vuzpq_p16): Likewise.
478
479 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
480
481 PR target/69634
482 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
483 debug insns.
484
485 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
486
487 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
488 truncate const_int operand 1 to QImode.
489
490 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
491
492 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
493 corresponding to an abnormal edge.
494
495 2016-02-09 Tom de Vries <tom@codesourcery.com>
496
497 PR tree-optimization/69599
498 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
499 function.
500 (find_func_aliases_for_builtin_call, find_func_clobbers)
501 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
502 partition.
503
504 2016-02-09 Richard Biener <rguenther@suse.de>
505
506 PR tree-optimization/69715
507 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
508 LHS on calls as non-rewritable.
509
510 2016-02-09 Tom de Vries <tom@codesourcery.com>
511
512 PR lto/69707
513 * lto-wrapper.c (append_diag_options): New function.
514 (compile_offload_image): Call append_diag_options.
515
516 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
517
518 PR other/69722
519 * doc/extend.texi (Flag Output Operands): Correct sectioning.
520 Minor copy-edit to fix verb tenses.
521
522 2016-02-08 Jakub Jelinek <jakub@redhat.com>
523
524 PR tree-optimization/69209
525 * ipa-split.c (split_function): If split part is not
526 returning retval, retval has gimple type but is not
527 gimple value, force it into a SSA_NAME first.
528
529 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
530
531 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
532 outdated section.
533
534 2016-02-08 Jason Merrill <jason@redhat.com>
535
536 PR c++/69631
537 * convert.c (convert_to_integer_1): Check dofold on truncation
538 distribution.
539 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
540 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
541 Rename from *_nofold.
542 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
543 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
544
545 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
546
547 PR target/60410
548 * tree.c (build_common_tree_nodes): Remove short_double argument.
549 All callers changed.
550 * tree.h (build_common_tree_nodes): Adjust declaration.
551 * doc/invoke.texi (-fshort-double): Remove documentation.
552 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
553 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
554 * lto-wrapper.c (merge_and_complain, append_compiler_options)
555 (append_linker_options): Don't handle OPT_fshort_double.
556
557 PR rtl-optimization/68730
558 * lra-remat.c (insn_to_cand_activation): New static variable.
559 (lra_remat): Allocate and free it.
560 (create_cand): New arg activation. Initialize a field in
561 insn_to_cand_activation if it is nonnull.
562 (create_cands): Pass the activation insn to create_cand when making
563 a candidate involving an output reload. Reorganize code a little.
564 (do_remat): Keep track of active status of candidates in a separate
565 bitmap.
566
567 2016-02-08 Richard Biener <rguenther@suse.de>
568
569 PR tree-optimization/69719
570 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
571 Properly use absolute of the difference of the two offsets to
572 compare or adjust the segment length.
573
574 2016-02-08 Richard Biener <rguenther@suse.de>
575 Jeff Law <law@redhat.com>
576
577 PR target/68273
578 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
579 types for anonymous SSA names.
580
581 2016-02-08 Richard Biener <rguenther@suse.de>
582
583 PR rtl-optimization/69274
584 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
585
586 2016-02-08 Jeff Law <law@redhat.com>
587
588 PR tree-optimization/65917
589 * tree-ssa-dom.c (record_temporary_equivalences): Record both
590 equivalences from if (x == y) style conditionals.
591 (loop_depth_of_name): Remove.
592 (record_equality): Remove loop depth check.
593 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
594 (const_and_copies::record_const_or_copy_raw): New member function.
595 * tree-ssa-scopedtables.c
596 (const_and_copies::record_const_or_copy_raw): New, factored out of
597 (const_and_copies::record_const_or_copy): Call new member function.
598
599 2016-02-05 Jeff Law <law@redhat.com>
600
601 PR tree-optimization/68541
602 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
603 (count_stmts_in_block): New function.
604 (poor_ifcvt_candidate_code): Likewise.
605 (is_feasible_trace): Add some heuristics to determine when path
606 splitting is profitable.
607 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
608 is a diamond with a single exit.
609
610 2016-02-05 Martin Sebor <msebor@redhat.com>
611
612 PR c++/69662
613 * doc/invoke.texi: Update -Wplacement-new to take an optional
614 argument.
615
616 2016-02-06 Richard Henderson <rth@redhat.com>
617
618 PR c/69643
619 * tree.c (tree_nop_conversion_p): Do not strip casts into or
620 out of non-standard address spaces.
621
622 2016-02-05 Jakub Jelinek <jakub@redhat.com>
623
624 PR rtl-optimization/69691
625 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
626
627 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
628
629 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
630 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
631 (*ieee128_mfvsrd_64bit): Likewise.
632 (*ieee128_mfvsrd_32bit): Likewise.
633
634 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
635
636 PR target/69369
637 Revert r232560:
638 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
639
640 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
641 instrumented_version.
642
643 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
644
645 * doc/invoke.texi (Optimize Options): In table of --param options
646 rename second occurrence of tracer-min-branch-ratio to
647 tracer-min-branch-probability, rename
648 tracer-min-branch-ratio-feedback to
649 tracer-min-branch-probability-feedback and clarify description,
650 rename sched-spec-state-edge-prob-cutoff to
651 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
652 to selsched-insns-to-rename, rename lto-minpartition to
653 lto-min-partition, delete reorder-blocks-duplicate and
654 reorder-blocks-duplicate-feedback.
655
656 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
657
658 * config/s390/s390.c (s390_register_info_set_ranges): Remove
659 superfluous loops.
660
661 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
662
663 * doc/extend.texi: S/390: Correct some typos.
664
665 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
666
667 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
668
669 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
670
671 PR target/69625
672 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
673 (s390_register_info_gprtofpr): Use new macros above.
674 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
675 its name.
676 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
677 its name. Adjust restore and save gpr ranges.
678 (s390_register_info_set_ranges): New function.
679 (s390_register_info): Use new macros above. Call
680 s390_register_info_set_ranges.
681 (s390_optimize_register_info): Likewise.
682 (s390_hard_regno_rename_ok): Use new macros.
683 (s390_hard_regno_scratch_ok): Likewise.
684 (s390_emit_epilogue): Likewise.
685 (s390_can_use_return_insn): Likewise.
686 (s390_optimize_prologue): Likewise.
687 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
688
689 2016-02-05 Jakub Jelinek <jakub@redhat.com>
690
691 PR bootstrap/69677
692 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
693 alignment fixes.
694 (ix86_option_override_internal): Disable TARGET_STV even for
695 -m{incoming,preferred}-stack-boundary=3.
696
697 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
698
699 * config.gcc: Mark deprecated rtems targets as obsolete.
700
701 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
702
703 PR rtl-optimization/64682
704 PR rtl-optimization/69567
705 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
706 before I2 only if the register is both used and set in I2.
707
708 2016-02-04 DJ Delorie <dj@redhat.com>
709
710 * config/msp430/msp430.c (msp430_start_function): Add function type.
711
712 2016-02-04 Jakub Jelinek <jakub@redhat.com>
713
714 PR fortran/69368
715 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
716
717 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
718
719 PR rtl-optimization/69577
720 Revert:
721 2015-10-29 Richard Henderson <rth@redhat.com>
722
723 PR target/68124
724 PR rtl-opt/67609
725 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
726 sse check to the exact conditions of PR 67609.
727
728 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
729
730 PR target/69667
731 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
732 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
733 not allowed into the traditional Altivec registers.
734 (movtd_64bit_nodm): Likewise.
735 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
736
737 2016-02-04 David Malcolm <dmalcolm@redhat.com>
738
739 * config/aarch64/cortex-a57-fma-steering.c
740 (aarch64_register_fma_steering): Remove "static" from arguments
741 to register_pass.
742
743 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
744
745 PR target/69619
746 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
747 twice when complex.
748
749 2016-02-04 Mike Frysinger <vapier@gentoo.org>
750
751 * doc/invoke.texi: Delete -mno-fma4.
752
753 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
754
755 PR rtl-optimization/69577
756 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
757 (find_subregs_of_mode): Update accordingly. Iterate over partial
758 definitions.
759
760 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
761
762 * config/arm/arm-protos.h (neon_reinterpret): Remove.
763 * config/arm/arm.c (neon_reinterpret): Remove.
764 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
765 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
766 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
767 vreinterpretti): Remove.
768 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
769 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
770 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
771 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
772 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
773 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
774 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
775 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
776 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
777 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
778 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
779 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
780 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
781 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
782 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
783 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
784 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
785 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
786 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
787 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
788 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
789 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
790 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
791 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
792 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
793 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
794 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
795 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
796 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
797 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
798 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
799 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
800 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
801 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
802 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
803 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
804 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
805 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
806 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
807 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
808 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
809 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
810 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
811 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
812 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
813 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
814 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
815 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
816 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
817 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
818 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
819 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
820 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
821 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
822 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
823 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
824 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
825 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
826 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
827 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
828 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
829 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
830 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
831 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
832 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
833 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
834 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
835 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
836 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
837 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
838 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
839 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
840 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
841 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
842 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
843 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
844 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
845 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
846 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
847 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
848 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
849 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
850 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
851 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
852 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
853 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
854 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
855 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
856 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
857 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
858 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
859 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
860 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
861 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
862 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
863 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
864 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
865 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
866 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
867 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
868 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
869 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
870 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
871
872 2016-02-04 Martin Liska <mliska@suse.cz>
873
874 PR sanitizer/69276
875 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
876 that are gimple_store_p.
877 (maybe_instrument_call): Likewise.
878
879 2016-02-04 Bin Cheng <bin.cheng@arm.com>
880
881 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
882 register scaling out of memory reference and comment why.
883
884 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
885
886 PR target/65932
887 PR target/67714
888 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
889 folding the source of a SET.
890
891 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
892
893 PR target/65932
894 PR target/67714
895 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
896 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
897
898 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
899
900 PR target/65932
901 PR target/67714
902 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
903 HImode.
904
905 2016-02-04 Christian Bruel <christian.bruel@st.com>
906
907 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
908 * config/arm/arm.c (arm_set_current_function): Likewise.
909
910 2016-02-04 Jakub Jelinek <jakub@redhat.com>
911 Ilya Enkovich <enkovich.gnu@gmail.com>
912 H.J. Lu <hongjiu.lu@intel.com>
913
914 PR target/69454
915 * config/i386/i386.c (convert_scalars_to_vector): Remove
916 stack alignment fixes.
917 (ix86_option_override_internal): Disable TARGET_STV if stack
918 might not be aligned enough.
919 (ix86_minimum_alignment): Assert that TARGET_STV is false.
920
921 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
922
923 * gcc/config/i386/x86-tune.def: Disable default prefetching
924 for -march=znver1.
925
926 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
927 Vladimir Makarov <vmakarov@redhat.com>
928
929 PR target/69461
930 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
931 in validating fused toc addresses.
932
933 2016-02-03 Jakub Jelinek <jakub@redhat.com>
934
935 PR c/69627
936 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
937 range->m_caret fields if range->m_show_caret_p is false.
938
939 PR target/69644
940 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
941 Force oldval into register if it does not satisfy reg_or_short_operand
942 predicate. Fix up formatting.
943
944 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
945 Alexandre Oliva <aoliva@redhat.com>
946
947 PR target/69461
948 * lra-constraints.c (simplify_operand_subreg): Check additionally
949 address validity after potential reloading.
950 (process_address_1): Check insns validity. In case of failure do
951 nothing.
952
953 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
954
955 PR target/69118
956 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
957 Fix target.
958
959 2016-02-02 Jakub Jelinek <jakub@redhat.com>
960
961 * wide-int.cc (canonize_uhwi): New function.
962 (wi::divmod_internal): Use it.
963
964 2016-02-02 James Norris <jnorris@codesourcery.com
965
966 * gimplify.c (omp_notice_variable): Add usage check.
967
968 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
969
970 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
971 like LE, GE, LT, GT when emitting relational operator.
972
973 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
974
975 * ira-costs.c (find_costs_and_classes): Add extra argument.
976 * target.def (ira_change_pseudo_allocno_class): Add parameter.
977 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
978 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
979 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
980 Add best_class parameter, and return it if not ALL_REGS.
981 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
982 Add parameter.
983 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
984 Update target hook.
985
986 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
987
988 * config/aarch64/aarch64.c
989 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
990 (aarch64_ira_change_pseudo_allocno_class): New function.
991
992 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
993
994 PR target/67032
995 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
996
997 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
998
999 * config/avr/avr.c (avr_option_override): Set
1000 PARAM_ALLOW_STORE_DATA_RACES to 1.
1001
1002 2016-02-02 Richard Biener <rguenther@suse.de>
1003
1004 PR tree-optimization/69595
1005 * match.pd: Add range test simplifications to true/false.
1006
1007 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
1008
1009 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
1010 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
1011 instead.
1012
1013 2016-02-02 Richard Biener <rguenther@suse.de>
1014
1015 PR tree-optimization/69606
1016 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
1017 info on the result before moving a stmt.
1018
1019 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
1020
1021 PR middle-end/68542
1022 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
1023 branch with vector comparison.
1024 * config/i386/sse.md (VI48_AVX): New mode iterator.
1025 (define_expand "cbranch<mode>4): Add support for conditional branch
1026 with vector comparison.
1027 * tree-vect-loop.c (optimize_mask_stores): New function.
1028 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
1029 has_mask_store field of vect_info.
1030 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
1031 vectorized loops having masked stores after vec_info destroy.
1032 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
1033 correspondent macros.
1034 (optimize_mask_stores): Add prototype.
1035
1036 2016-02-02 Alan Modra <amodra@gmail.com>
1037
1038 PR target/69548
1039 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
1040 allow subregs.
1041
1042 2016-02-02 Alan Modra <amodra@gmail.com>
1043
1044 PR target/68662
1045 * config/rs6000/rs6000.c (need_toc_init): New var, set it
1046 whenever toc_label_name used.
1047 (rs6000_file_start): Don't set up toc section here,
1048 (rs6000_output_function_epilogue): do so here instead,
1049 (rs6000_xcoff_file_start): and here.
1050 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
1051 (load_toc_aix_di): Likewise.
1052
1053 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1054
1055 PR rtl-optimization/69592
1056 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
1057 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
1058 (num_sign_bit_copies_binary_arith_p): New inline function.
1059 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
1060
1061 2016-02-01 Jeff Law <law@redhat.com>
1062
1063 PR tree-optimization/69580
1064 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
1065 * tree-ssa-threadbackward.c
1066 (fsm_find_control_statement_thread_paths): Do not try to walk
1067 through large PHI nodes.
1068
1069 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1070
1071 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
1072 when count is incremented above limit, don't analyze further
1073 insns afterwards.
1074
1075 * omp-low.c (oacc_parse_default_dims): Avoid
1076 -Wsign-compare warning, make sure value fits into int
1077 rather than just unsigned int.
1078
1079 2016-02-01 Bin Cheng <bin.cheng@arm.com>
1080
1081 PR tree-optimization/67921
1082 * fold-const.c (split_tree): New parameters. Convert pointer
1083 type variable part to proper type before negating.
1084 (fold_binary_loc): Pass new arguments to split_tree.
1085
1086 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
1087
1088 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
1089 (nvptx_goacc_validate_dims): Extend to handle global defaults.
1090 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
1091 * doc/tm.texti: Rebuilt.
1092 * doc/invoke.texi (fopenacc-dim): Document.
1093 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
1094 (append_compiler_options): Likewise.
1095 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
1096 (oacc_parse_default_dims): New.
1097 (oacc_validate_dims): Add USED arg. Select non-unity default when
1098 possible.
1099 (oacc_loop_fixed_partitions): Return mask of used partitions.
1100 (oacc_loop_auto_partitions): Emit dump info.
1101 (oacc_loop_partition): Return mask of used partitions.
1102 (execute_oacc_device_lower): Parse default dimension arg. Adjust
1103 loop partitioning and validation calls.
1104
1105 2016-02-01 Richard Biener <rguenther@suse.de>
1106
1107 PR middle-end/69556
1108 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
1109
1110 2016-02-01 Richard Biener <rguenther@suse.de>
1111
1112 PR tree-optimization/69574
1113 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
1114 of asserting return chrec_dont_know.
1115
1116 2016-02-01 Martin Liska <mliska@suse.cz>
1117
1118 * mem-stats-traits.h: Add copyright header.
1119 * mem-stats.h: Likewise.
1120
1121 2016-02-01 Richard Biener <rguenther@suse.de>
1122
1123 PR tree-optimization/69579
1124 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
1125 Do not propagate through abnormal PHI results.
1126
1127 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
1128
1129 * postreload.c (reload_cse_simplify): Remove dead code.
1130
1131 2016-02-01 Jakub Jelinek <jakub@redhat.com>
1132
1133 PR rtl-optimization/69570
1134 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
1135 if there is more than one set, not if there is a single set.
1136
1137 2016-02-01 Richard Henderson <rth@redhat.com>
1138
1139 PR rtl-opt/69535
1140 * combine.c (make_compound_operation): When looking through a
1141 subreg, make sure to re-extend to the width of the outer mode.
1142
1143 2016-01-30 Jakub Jelinek <jakub@redhat.com>
1144
1145 PR tree-optimization/69546
1146 * wide-int.cc (wi::divmod_internal): For unsigned division
1147 where both operands fit into uhwi, if o1 is 1 and o0 has
1148 msb set, if divident_prec is larger than bits per hwi,
1149 clear another quotient word and return 2 instead of 1.
1150 Similarly for remainder with msb in HWI set, if dividend_prec
1151 is larger than bits per hwi.
1152
1153 2016-01-29 Martin Jambor <mjambor@suse.cz>
1154
1155 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
1156 Use short lowercase names.
1157 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
1158 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
1159 acq_rel one. Protect warning agains segfaults if
1160 get_memory_order_name returns NULL.
1161 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
1162 with release semantics. Do not warn if get_memory_order already did.
1163 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
1164 semantics. Fix check for relaxed or acquire semantics. Do not warn
1165 if get_memory_order already did.
1166
1167 2016-01-29 Sebastian Pop <s.pop@samsung.com>
1168
1169 * doc/install.texi: Document that isl-0.16 is supported.
1170
1171 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
1172
1173 PR target/69299
1174 * config/i386/constraints.md (Bm): Describe as special memory
1175 constraint.
1176 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
1177 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1178 * genpreds.c (struct constraint_data): Add is_special_memory.
1179 (have_special_memory_constraints, special_memory_start): New
1180 static vars.
1181 (special_memory_end): Ditto.
1182 (add_constraint): Add new arg is_special_memory. Add code to
1183 process its true value. Update have_special_memory_constraints.
1184 (process_define_constraint): Pass the new arg.
1185 (process_define_register_constraint): Ditto.
1186 (choose_enum_order): Process special memory.
1187 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
1188 function insn_extra_special_memory_constraint.
1189 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1190 * gensupport.c (process_rtx): Process
1191 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
1192 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
1193 * ira-lives.c (single_reg_class): Use
1194 insn_extra_special_memory_constraint.
1195 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
1196 * lra-constraints.c (process_alt_operands): Ditto.
1197 (curr_insn_transform): Use insn_extra_special_memory_constraint.
1198 * recog.c (asm_operand_ok, preprocess_constraints): Process
1199 CT_SPECIAL_MEMORY.
1200 * reload.c (find_reloads): Ditto.
1201 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
1202 * stmt.c (parse_input_constraint): Use
1203 insn_extra_special_memory_constraint.
1204
1205 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
1206
1207 PR target/69530
1208 * lra-splill.c (lra_final_code_change): Revert r229087 by
1209 removing all sub-registers.
1210
1211 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
1212
1213 PR target/65604
1214 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
1215
1216 2016-01-29 Jakub Jelinek <jakub@redhat.com>
1217
1218 PR target/69551
1219 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
1220 SSE1, copy target into the temporary reg first before recursing
1221 on it.
1222
1223 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
1224
1225 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
1226 with vm.
1227
1228 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1229
1230 * ginclude/stdarg.h: Test __cplusplus instead of
1231 __GXX_EXPERIMENTAL_CXX0X__.
1232
1233 2016-01-29 Richard Biener <rguenther@suse.de>
1234
1235 PR tree-optimization/69547
1236 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
1237 Do not mark clobbers necessary.
1238 (mark_all_reaching_defs_necessary_1): Likewise.
1239
1240 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1241
1242 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
1243 declaration name with %qs and print it in both error messages.
1244 Also fix indentation.
1245
1246 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
1247
1248 PR other/69006
1249 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
1250 trailing blank line from error message.
1251
1252 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
1253
1254 PR c++/69462
1255 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
1256 for C++-11.
1257
1258 2016-01-29 Richard Biener <rguenther@suse.de>
1259
1260 PR middle-end/69537
1261 * match.pd: Allow all integral types when simplifying a
1262 widening or sign-changing conversion.
1263
1264 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1265
1266 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
1267 back to setting codegen_error to fail codegen.
1268
1269 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
1270
1271 PR target/69459
1272 * config/i386/constraints.md (C): Only accept constant zero operand.
1273 (BC): New constraint.
1274 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
1275 instead of C constraint.
1276 * doc/md.texi (Machine Constraints): Update description
1277 of C constraint.
1278
1279 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
1280
1281 PR target/68400
1282 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
1283
1284 2016-01-28 Jakub Jelinek <jakub@redhat.com>
1285
1286 PR middle-end/69542
1287 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
1288 non-debug insns.
1289
1290 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
1291
1292 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
1293 branches if using guessed profile.
1294
1295 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
1296
1297 * graphite-optimize-isl.c (optimize_isl): Fix dump.
1298
1299 2016-01-28 Richard Henderson <rth@redhat.com>
1300
1301 PR target/69305
1302 * config/aarch64/aarch64-modes.def (CC_Cmode): New
1303 * config/aarch64/aarch64-protos.h: Update.
1304 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
1305 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
1306 (aarch64_get_condition_code_1): Handle CC_Cmode.
1307 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
1308 (*add<mode>3_compareC_cconly_imm): New.
1309 (*add<mode>3_compareC_cconly): New.
1310 (*add<mode>3_compareC_imm): New.
1311 (add<mode>3_compareC): New.
1312 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
1313 to be first. Use aarch64_carry_operation.
1314 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
1315 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
1316 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
1317 (subti3): Use subdi3_compare1.
1318 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
1319 (sub<mode>3_compare1): New.
1320 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
1321 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
1322 (*subsi3_carryin_uxtw): Likewise.
1323 (*ngc<mode>, *ngcsi_uxtw): Likewise.
1324 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
1325 * config/aarch64/iterators.md (DWI): New.
1326 * config/aarch64/predicates.md (aarch64_carry_operation): New.
1327 (aarch64_borrow_operation): New.
1328
1329 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1330
1331 * graphite-optimize-isl.c (optimize_isl): Print a different debug
1332 message when isl does not return a valid schedule.
1333
1334 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1335
1336 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
1337 Remove comments from class declarations: they are already in the code
1338 close by the defs.
1339
1340 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1341
1342 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
1343 codegen_error_p.
1344 (ternary_op_to_tree): Same.
1345 (unary_op_to_tree): Same.
1346 (nary_op_to_tree): Same.
1347 (gcc_expression_from_isl_expr_op): Same.
1348 (gcc_expression_from_isl_expression): Same.
1349 (graphite_create_new_loop): Same.
1350 (graphite_create_new_loop_guard): Same.
1351 (build_iv_mapping): Same.
1352 (graphite_create_new_guard): Same.
1353 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
1354 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
1355
1356 2016-01-28 Sebastian Pop <s.pop@samsung.com>
1357
1358 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
1359 instead of setting codegen_error to fail codegen.
1360
1361 2016-01-28 Jason Merrill <jason@redhat.com>
1362
1363 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
1364
1365 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1366
1367 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
1368 Remove CONST_INT_P check in CCMP cost calculation.
1369
1370 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1371
1372 * config/aarch64/aarch64.c (generic_vector_cost):
1373 Set vec_permute_cost.
1374 (cortexa57_vector_cost): Likewise.
1375 (exynosm1_vector_cost): Likewise.
1376 (xgene1_vector_cost): Likewise.
1377 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
1378 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
1379 Add vec_permute_cost entry.
1380
1381 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
1382
1383 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
1384 immediate as %1.
1385 (add<mode>3_compare0): Likewise.
1386 (addsi3_compare0_uxtw): Likewise.
1387 (add<mode>3nr_compare0): Likewise.
1388 (compare_neg<mode>): Likewise.
1389 (<optab><mode>3): Likewise.
1390
1391 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
1392
1393 * tree-vect-stmts.c (vectorizable_comparison): Add
1394 NULL check for vectype.
1395
1396 2016-01-28 Richard Biener <rguenther@suse.de>
1397
1398 PR tree-optimization/69466
1399 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
1400 Account for PHIs we couldn't duplicate.
1401
1402 2016-01-28 Martin Liska <mliska@suse.cz>
1403
1404 PR pch/68758
1405 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
1406 instead of ENABLE_VALGRIND_CHECKING.
1407
1408 2016-01-27 Richard Henderson <rth@redhat.com>
1409
1410 PR rtl-opt/69447
1411 * lra-remat.c (subreg_regs): New.
1412 (dump_candidates_and_remat_bb_data): Dump it.
1413 (operand_to_remat): Reject if operand in subreg_regs.
1414 (set_bb_regs): Collect subreg_regs.
1415 (lra_remat): Init and free subreg_regs. Compute
1416 calculate_local_reg_remat_bb_data before create_cands.
1417
1418 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
1419
1420 PR target/68986
1421 * config/i386/i386.c (ix86_update_stack_boundary): Don't
1422 change stack_alignment_needed for __tls_get_addr call.
1423
1424 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
1425
1426 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
1427
1428 2016-01-27 Jeff Law <law@redhat.com>
1429
1430 PR tree-optimization/68398
1431 PR tree-optimization/69196
1432 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
1433 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
1434 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1435 Only count PHIs in the last block in the path. The others will
1436 const/copy propagate away. Add heuristic to allow more irreducible
1437 subloops to be created when it is likely profitable to do so.
1438
1439 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
1440 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
1441 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
1442
1443 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1444
1445 PR lto/69254
1446 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
1447 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
1448 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
1449 * tree-streamer-in.c: Include asan.h.
1450 (streamer_get_builtin_tree): For builtins in sanitizer
1451 range call initialize_sanitizer_builtins and retry.
1452
1453 2016-01-27 Ian Lance Taylor <iant@google.com>
1454
1455 * common.opt (fkeep-gc-roots-live): New undocumented option.
1456 * tree-ssa-loop-ivopts.c (add_candidate_1): If
1457 -fkeep-gc-roots-live, skip pointers.
1458 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
1459 NULL.
1460
1461 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
1462
1463 PR target/69512
1464 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
1465 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
1466
1467 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
1468
1469 PR target/68380
1470 * configure.ac: NetBSD provides SSP in its C library.
1471 * configure: Updated.
1472
1473 2016-01-27 Richard Biener <rguenther@suse.de>
1474
1475 PR tree-optimization/69166
1476 * tree-vect-loop.c (vect_is_simple_reduction): Always check
1477 reduction code for commutativity / associativity.
1478
1479 2016-01-27 Martin Jambor <mjambor@suse.cz>
1480
1481 PR tree-optimization/69355
1482 * tree-sra.c (analyze_access_subtree): Correct hole detection when
1483 total_scalarization fails.
1484
1485 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
1486
1487 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
1488 power9.
1489
1490 2016-01-27 Christian Bruel <christian.bruel@st.com>
1491
1492 PR target/69245
1493 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
1494 Move arm_reset_previous_fndecl and set_target_option_current_node in
1495 the conditional part. Call save_restore_target_globals.
1496 * config/arm/arm.c (arm_set_current_function):
1497 Refactor to better support #pragma target and attribute mix.
1498 Call save_restore_target_globals.
1499 * config/arm/arm-protos.h (save_restore_target_globals): New function.
1500
1501 2016-01-27 Martin Liska <mliska@suse.cz>
1502
1503 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
1504 reference for an HSA kernel and its host function.
1505
1506 2016-01-27 Jakub Jelinek <jakub@redhat.com>
1507
1508 PR tree-optimization/69399
1509 * wide-int.h (wi::lrshift): For larger precisions, only
1510 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
1511
1512 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
1513
1514 * config/arc/predicates.md (proper_comparison_operator): Reject
1515 constant-constant comparison.
1516
1517 2016-01-26 Tom de Vries <tom@codesourcery.com>
1518
1519 PR tree-optimization/69110
1520 * tree-data-ref.c (initialize_data_dependence_relation): Handle
1521 DR_NUM_DIMENSIONS == 0.
1522
1523 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1524 Sebastian Pop <s.pop@samsung.com>
1525
1526 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
1527 isl_ast_op_cond and isl_ast_op_select.
1528 (gcc_expression_from_isl_expr_op): Same.
1529
1530 2016-01-26 Jason Merrill <jason@redhat.com>
1531
1532 PR c++/68782
1533 * tree.c (recompute_constructor_flags): Split out from
1534 build_constructor.
1535 (verify_constructor_flags): New.
1536 * tree.h: Declare them.
1537
1538 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
1539
1540 PR rtl-optimization/69217
1541 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
1542 are no TYPE_FIELDS set for the record type.
1543
1544 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1545
1546 PR target/68662
1547 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
1548 toc_label_name unconditionally.
1549 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
1550 SYMBOL_REF string. Use toc_label_name instead of constructing
1551 LCTOC1.
1552 (rs6000_elf_declare_function_name): Use toc_label_name instead of
1553 constructing LCTOC1.
1554
1555 2016-01-26 Martin Sebor <msebor@redhat.com>
1556
1557 PR other/69477
1558 * doc/extend.texi (Common Type Attributes): Move text that talks about
1559 attribute packed from attribute aligned to the section discussing
1560 the former attribute for clarity.
1561
1562 2016-01-26 Richard Henderson <rth@redhat.com>
1563
1564 PR middle-end/60908
1565 * trans-mem.c (tm_region_init): Mark entry block as visited.
1566
1567 2016-01-26 David Malcolm <dmalcolm@redhat.com>
1568
1569 PR other/69006
1570 * diagnostic-show-locus.c (layout::print_source_line): Replace
1571 call to pp_newline with call to layout::print_newline.
1572 (layout::print_annotation_line): Likewise.
1573 (layout::move_to_column): Likewise.
1574 (layout::print_any_fixits): After printing any fixits, print a
1575 trailing newline, if necessary.
1576 (layout::print_newline): New method, resetting any colorization
1577 before a newline.
1578 (diagnostic_show_locus): Move the pp_newline to before the
1579 early bailout. Remove dummy block enclosing the layout instance.
1580 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
1581 of pp_newline_and_flush with pp_flush.
1582 (diagnostic_append_note): Delete use of pp_newline.
1583 (diagnostic_append_note_at_rich_loc): Delete.
1584 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
1585 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
1586 when newline characters are added to the buffer.
1587
1588 2016-01-26 Michael Matz <matz@suse.de>
1589
1590 * configure.ac (ac_cv_std_swap_in_utility): New test.
1591 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
1592 * configure: Regenerate.
1593 * config.in: Regenerate.
1594
1595 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
1596
1597 * config/arc/arc.md (cstoresi4): Force operand into register.
1598 (arcset<code>): Fix predicate.
1599 (arcsetltu): Likewise.
1600 (arcsetgeu): Likewise.
1601 (arcsethi): Likewise.
1602 (arcsetls): Likewise.
1603
1604 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1605
1606 PR tree-optimization/69483
1607 * gimple-fold.c (canonicalize_constructor_val): Return NULL
1608 if base has error_mark_node type.
1609
1610 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
1611
1612 PR target/68620
1613 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
1614 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
1615 New helper macros.
1616 (vget_lane_f16): Handle big-endian.
1617 (vgetq_lane_f16): Likewise.
1618 (vset_lane_f16): Likewise.
1619 (vsetq_lane_f16): Likewise.
1620 * config/arm/iterators.md (VQXMOV): Add V8HF.
1621 (VDQ): Add V4HF and V8HF.
1622 (V_reg): Handle V4HF and V8HF.
1623 (Is_float_mode): Likewise.
1624 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
1625 neon_vdup_nv8hf): New patterns.
1626 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
1627 Use VD_LANE iterator.
1628 (neon_vld1_dup<mode>): Use VQ2 iterator.
1629
1630 2016-01-26 Nathan Sidwell <nathan@acm.org>
1631
1632 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
1633 (set_oacc_fn_attrib): Add IS_KERNEL arg.
1634 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
1635 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
1636 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
1637 (oacc_validate_dims): Add LEVEL arg, don't return level.
1638 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
1639 oacc_validate_dims.
1640 (execute_oacc_device_lower): Adjust, add more dump output.
1641 * tree-ssa-loop.c (gate_oacc_kernels): Use
1642 oacc_fn_attrib_kernels_p.
1643 * tree-parloops.c (create_parallel_loop): Adjust
1644 set_oacc_fn_attrib call.
1645
1646 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1647
1648 PR lto/69254
1649 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
1650 (append_compiler_options): Handle -fcilkplus.
1651 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
1652
1653 2016-01-26 Nick Clifton <nickc@redhat.com>
1654
1655 PR target/66655
1656 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
1657 been marked as DECL_ONE_ONLY but we do not the means to make it
1658 so, then do not allow it to bind locally.
1659
1660 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1661
1662 PR lto/69254
1663 * opts.h (parse_sanitizer_options): New prototype.
1664 * opts.c (sanitizer_opts): New array.
1665 (parse_sanitizer_options): New function.
1666 (common_handle_option): Use parse_sanitizer_options.
1667
1668 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
1669
1670 PR target/68986
1671 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
1672 alignment adjustment to ...
1673 (ix86_update_stack_boundary): Here. Don't over-align stack for
1674 __tls_get_addr.
1675 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
1676 if __tls_get_addr is called.
1677
1678 2016-01-26 Christian Bruel <christian.bruel@st.com>
1679
1680 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
1681
1682 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
1683
1684 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
1685
1686 2016-01-26 Richard Biener <rguenther@suse.de>
1687
1688 PR middle-end/69467
1689 * match.pd: Guard X * CST CMP 0 pattern with single_use.
1690
1691 2016-01-26 Richard Biener <rguenther@suse.de>
1692
1693 PR tree-optimization/69452
1694 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
1695 (move_computations_dom_walker::before_dom_children): Rename
1696 to ...
1697 (move_computations_worker): This.
1698 (move_computations): Perform an RPO rather than a DOM walk.
1699
1700 2016-01-26 Jakub Jelinek <jakub@redhat.com>
1701
1702 PR target/69442
1703 * combine.c (combine_instructions): For REG_EQUAL note with
1704 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
1705 to the underlying register.
1706 * doc/rtl.texi (REG_EQUAL): Document the behavior of
1707 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
1708
1709 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
1710
1711 PR target/67896
1712 * config/aarch64/aarch64-builtins.c
1713 (aarch64_init_simd_builtin_types): Do not set structural
1714 equality to __Poly{8,16,64,128}_t types.
1715
1716 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
1717
1718 PR tree-optimization/69400
1719 * wide-int.cc (wi_pack): Take the precision as argument and
1720 perform canonicalization here rather than in the callers.
1721 Use the main loop to handle all full-width HWIs. Add a
1722 zero HWI if in_len isn't a full result.
1723 (wi::divmod_internal): Update accordingly.
1724 (wi::mul_internal): Likewise. Simplify.
1725
1726 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
1727 Sebastian Pop <s.pop@samsung.com>
1728
1729 * graphite-poly.c (apply_poly_transforms): Simplify.
1730 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
1731 (print_isl_map): Same.
1732 (print_isl_union_map): Same.
1733 (print_isl_schedule): New.
1734 (debug_isl_schedule): New.
1735 * graphite-dependences.c (scop_get_reads): Do not call
1736 isl_union_map_add_map that is undocumented isl functionality.
1737 (scop_get_must_writes): Same.
1738 (scop_get_may_writes): Same.
1739 (scop_get_original_schedule): Remove.
1740 (scop_get_dependences): Do not call isl_union_map_compute_flow that
1741 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
1742 (compute_deps): Remove.
1743 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
1744 (debug_schedule_ast): New.
1745 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
1746 set_separate_option.
1747 (graphite_regenerate_ast_isl): Add dump.
1748 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
1749 from scop->transformed_schedule.
1750 (graphite_regenerate_ast_isl): Add more dump.
1751 * graphite-optimize-isl.c (optimize_isl): Set
1752 scop->transformed_schedule. Check whether schedules are equal.
1753 (apply_poly_transforms): Move here.
1754 * graphite-poly.c (apply_poly_transforms): ... from here.
1755 (free_poly_bb): Static.
1756 (free_scop): Static.
1757 (pbb_number_of_iterations_at_time): Remove.
1758 (print_isl_ast): New.
1759 (debug_isl_ast): New.
1760 (debug_scop_pbb): New.
1761 * graphite-scop-detection.c (print_edge): Move.
1762 (print_sese): Move.
1763 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
1764 (build_scop_scattering): Remove.
1765 (create_pw_aff_from_tree): Assert instead of bailing out.
1766 (add_condition_to_pbb): Remove unused code, do not fail.
1767 (add_conditions_to_domain): Same.
1768 (add_conditions_to_constraints): Remove.
1769 (build_scop_context): New.
1770 (add_iter_domain_dimension): New.
1771 (build_iteration_domains): Initialize pbb->iterators.
1772 Call add_conditions_to_domain.
1773 (nested_in): New.
1774 (loop_at): New.
1775 (index_outermost_in_loop): New.
1776 (index_pbb_in_loop): New.
1777 (outermost_pbb_in): New.
1778 (add_in_sequence): New.
1779 (add_outer_projection): New.
1780 (outer_projection_mupa): New.
1781 (add_loop_schedule): New.
1782 (build_schedule_pbb): New.
1783 (build_schedule_loop): New.
1784 (embed_in_surrounding_loops): New.
1785 (build_schedule_loop_nest): New.
1786 (build_original_schedule): New.
1787 (build_poly_scop): Call build_original_schedule.
1788 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
1789 (free_poly_dr): Remove.
1790 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
1791 (free_poly_bb): Remove.
1792 (debug_loop_vec): Remove.
1793 (print_isl_ast): Declare.
1794 (debug_isl_ast): Declare.
1795 (scop_do_interchange): Remove.
1796 (scop_do_strip_mine): Remove.
1797 (scop_do_block): Remove.
1798 (flatten_all_loops): Remove.
1799 (optimize_isl): Remove.
1800 (pbb_number_of_iterations_at_time): Remove.
1801 (debug_scop_pbb): Declare.
1802 (print_schedule_ast): Declare.
1803 (debug_schedule_ast): Declare.
1804 (struct scop): Remove schedule. Add original_schedule,
1805 transformed_schedule.
1806 (free_gimple_poly_bb): Remove.
1807 (print_generated_program): Remove.
1808 (debug_generated_program): Remove.
1809 (unify_scattering_dimensions): Remove.
1810 * sese.c (print_edge): ... here.
1811 (print_sese): ... here.
1812 (debug_edge): ... here.
1813 (debug_sese): ... here.
1814 * sese.h (print_edge): Declare.
1815 (print_sese): Declare.
1816 (dump_edge): Declare.
1817 (dump_sese): Declare.
1818
1819 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
1820 Sebastian Pop <s.pop@samsung.com>
1821
1822 * Makefile.in: Set ISLVER in site.exp.
1823
1824 2016-01-25 Jakub Jelinek <jakub@redhat.com>
1825
1826 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
1827 DECL_VALUE_EXPR of new_var even for the non-array case. Look
1828 through DECL_VALUE_EXPR for expansion.
1829
1830 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
1831
1832 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
1833 the frame info after reload completed.
1834
1835 2016-01-25 Jeff Law <law@redhat.com>
1836
1837 PR tree-optimization/69196
1838 PR tree-optimization/68398
1839 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
1840 tree-ssa-threadupdate.c.
1841 (determine_bb_domination_status): Prototype
1842 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
1843 (determine_bb_domination_status): No longer static.
1844 (valid_jump_thread_path): Remove code to detect characteristics
1845 of the jump thread path not associated with correctness.
1846 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
1847 Correct test for thread path length. Count PHIs for real operands as
1848 statements that need to be copied. Do not count ASSERT_EXPRs.
1849 Look at all the blocks in the thread path. Compute and selectively
1850 filter thread paths based on threading through the latch, threading
1851 a multiway branch or crossing a multiway branch.
1852
1853 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1854
1855 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
1856 decl with __attribute__ ((unused)) annotation.
1857
1858 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
1859
1860 PR target/69421
1861 * tree-vect-stmts.c (vectorizable_condition): Check vectype
1862 of operands is compatible with a statement vectype.
1863
1864 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
1865
1866 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
1867 improve wording for mixed storage order support.
1868
1869 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
1870
1871 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
1872 (vcvt_u64_f64): Likewise.
1873 (vcvta_s64_f64): Likewise.
1874 (vcvta_u64_f64): Likewise.
1875 (vcvtm_s64_f64): Likewise.
1876 (vcvtm_u64_f64): Likewise.
1877 (vcvtn_s64_f64): Likewise.
1878 (vcvtn_u64_f64): Likewise.
1879 (vcvtp_s64_f64): Likewise.
1880 (vcvtp_u64_f64): Likewise.
1881
1882 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
1883
1884 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
1885 (arc_init): Check validity mll64 option.
1886 (arc_save_restore): Use double load/store instruction.
1887 (arc_expand_movmem): Likewise.
1888 (arc_split_move): Don't split if we have double load/store
1889 instructions. Returns a boolean.
1890 (arc_process_double_reg_moves): Change function to return boolean
1891 instead of a sequence of instructions.
1892 (arc_dwarf_register_span): New function.
1893 * config/arc/arc-protos.h (arc_split_move): Change prototype.
1894 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
1895 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
1896 (*movdf_insn): Likewise.
1897 * config/arc/arc.opt (mll64): New option.
1898 * config/arc/predicates.md (even_register_operand): New predicate.
1899 * doc/invoke.texi (ARC Options): Add mll64 documentation.
1900
1901 2016-01-25 Richard Biener <rguenther@suse.de>
1902
1903 PR lto/69393
1904 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
1905 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
1906 DECL_NAMELESS.
1907 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
1908
1909 2016-01-25 Richard Biener <rguenther@suse.de>
1910
1911 PR tree-optimization/69376
1912 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
1913 flag.
1914 (VN_INFO_ANTI_RANGE_P): New inline.
1915 (VN_INFO_RANGE_TYPE): Likewise.
1916 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
1917 SSA_NAME_ANTI_RANGE_P.
1918 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
1919 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
1920 Properly query VN_INFO_RANGE_TYPE.
1921
1922 2016-01-25 Nick Clifton <nickc@redhat.com>
1923
1924 PR target/66655
1925 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
1926
1927 2016-01-23 Tom de Vries <tom@codesourcery.com>
1928
1929 PR tree-optimization/69426
1930 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
1931 removed clobber.
1932
1933 2016-01-23 Jakub Jelinek <jakub@redhat.com>
1934
1935 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
1936 "the the" with "the" in the comments.
1937 * ipa-devirt.c (build_type_inheritance_graph,
1938 update_type_inheritance_graph): Likewise.
1939 * tree.c (build_function_type_list_1): Likewise.
1940 * cfgloopmanip.c (scale_loop_profile): Likewise.
1941 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
1942 * gimple-ssa-split-paths.c
1943 (find_block_to_duplicate_for_splitting_paths): Likewise.
1944 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
1945 * expr.c (convert_move): Likewise.
1946 * var-tracking.c (vt_stack_adjustments): Likewise.
1947 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
1948 * tree-vrp.c (test_for_singularity): Likewise.
1949
1950 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
1951 directly instead of building a temporary tree.
1952
1953 PR bootstrap/69434
1954 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
1955 remove <algorithm> include.
1956
1957 2016-01-22 Jakub Jelinek <jakub@redhat.com>
1958
1959 PR target/69432
1960 * config/i386/i386.c: Include dojump.h.
1961 (expand_small_movmem_or_setmem,
1962 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
1963 fixes.
1964 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
1965 if dynamic_check != -1.
1966
1967 2016-01-21 Jeff Law <law@redhat.com>
1968
1969 PR middle-end/69347
1970 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
1971 record_temporary_equivalences. Rewritten to avoid unnecessary calls
1972 into dominated_by_p.
1973 (cprop_into_successor_phis): Avoid unnecessary tests.
1974
1975 2016-01-22 Richard Henderson <rth@redhat.com>
1976
1977 PR target/69416
1978 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
1979 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
1980
1981 2016-01-22 Michael Matz <matz@suse.de>
1982
1983 * system.h (string, algorithm): Include only conditionally.
1984 (new): Include always under C++.
1985 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
1986 * final.c (toplevel): Ditto.
1987 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
1988 * genconditions.c (write_header): Make gencondmd.c define
1989 INCLUDE_STRING.
1990 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
1991
1992 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
1993 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
1994
1995 2016-01-22 Christian Bruel <christian.bruel@st.com>
1996
1997 PR target/68674
1998 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
1999
2000 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2001
2002 PR target/69403
2003 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
2004 define_insn_and_split. Ensure operands[1] and operands[0] do not
2005 get assigned the same register.
2006
2007 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
2008
2009 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
2010
2011 2016-01-22 Christian Bruel <christian.bruel@st.com>
2012
2013 * config/arm/arm-c.c (arm_pragma_target_parse):
2014 Remove warn_builtin_macro_redefined overwrite.
2015
2016 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
2017
2018 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
2019 flag_non_call_exceptions compatibility.
2020
2021 2016-01-22 Jakub Jelinek <jakub@redhat.com>
2022
2023 PR debug/66668
2024 * dwarf2out.c (add_child_die_after): New function.
2025 (dwarf_qual_info_t): New type.
2026 (dwarf_qual_info): New variable.
2027 (qualified_die_p): New function.
2028 (modified_type_die): For -fdebug-types-section, ensure
2029 canonical order of qualifiers. Put qualified DIEs adjacent
2030 to the corresponding non-qualified type DIE and search there
2031 for existing qualified DIEs.
2032
2033 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
2034
2035 * doc/extend.texi (scalar_storage_order type attribute): Document
2036 restriction on type punning and aliasing, and remove future tense.
2037
2038 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
2039
2040 PR target/69252
2041 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
2042 first stage.
2043
2044 2016-01-21 Jeff Law <law@redhat.com>
2045
2046 PR middle-end/69347
2047 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
2048 useless call to record_temporary_equivalences.
2049 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
2050 allocate 10 slots in the bb_path vector and let it grow as needed.
2051 (fsm_find_control_statement_thread_paths): Similarly for the next_path
2052 vector.
2053
2054 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
2055
2056 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
2057 Detangle.
2058 * configure: Regenerate.
2059
2060 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
2061
2062 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
2063 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
2064
2065 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
2066
2067 PR middle-end/66178
2068 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
2069 drop EXPAND_INITIALIZER.
2070 * rtl.h (contains_symbolic_reference_p): Declare.
2071 * rtlanal.c (contains_symbolic_reference_p): New function.
2072 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
2073 a subtraction into a NOT if symbolic constants are involved.
2074
2075 2016-01-21 Anton Blanchard <anton@samba.org>
2076 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2077
2078 PR target/63354
2079 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
2080 #define.
2081 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
2082 function.
2083
2084 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
2085
2086 * config/microblaze/microblaze.c
2087 (get_branch_target): New.
2088 (insert_wic_for_ilb_runout): New.
2089 (insert_wic): New.
2090 (microblaze_machine_dependent_reorg): New.
2091 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
2092 * config/microblaze/microblaze.md
2093 (UNSPEC_IPREFETCH): Define.
2094 (iprefetch): New pattern
2095 * config/microblaze/microblaze.opt
2096 (mxl-prefetch): New flag.
2097
2098 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
2099
2100 * config/microblaze/microblaze.h
2101 (FIXED_REGISTERS): Update in macro.
2102 (CALL_USED_REGISTERS): Update in macro.
2103
2104 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
2105
2106 PR rtl-optimization/68920
2107 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
2108 moves.
2109
2110 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
2111
2112 PR rtl-optimization/68990
2113 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
2114 pseudo instead of inheritance ones.
2115
2116 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
2117 Nick Clifton <nickc@redhat.com>
2118
2119 PR target/69129
2120 PR target/69012
2121 * config/mips/mips.c (mips_compute_frame_info): Initialise
2122 args_size and hard_frame_pointer_offset fields of the frame
2123 structure before calling mips_global_pointer.
2124
2125 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
2126
2127 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
2128 label reference.
2129 * configure: Regenerate.
2130
2131 2016-01-21 Richard Biener <rguenther@suse.de>
2132
2133 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
2134
2135 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
2136
2137 * config/s390/s390.c (s390_asm_declare_function_size): Add code
2138 to actually emit the .size directive.
2139
2140 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
2141 Jakub Jelinek <jakub@redhat.com>
2142
2143 PR target/69187
2144 PR target/65624
2145 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
2146 args array size by one to avoid buffer overflow.
2147
2148 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
2149
2150 * config/s390/s390.md (pool_section_start): Use switch_to_section
2151 to select proper read-only data section instead of hardcoding
2152 .rodata.
2153 (pool_section_end): Use switch_to_section to match the above.
2154
2155 2016-01-21 Richard Biener <rguenther@suse.de>
2156
2157 PR tree-optimization/69378
2158 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
2159 (set_ssa_val_to): Use it for dominance checks taking into
2160 account not executable edges.
2161
2162 2016-01-21 Jakub Jelinek <jakub@redhat.com>
2163
2164 PR c++/69355
2165 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
2166 for bitsize instead of GET_MODE_PRECISION (mode).
2167
2168 2016-01-20 Martin Sebor <msebor@redhat.com>
2169
2170 PR c/52291
2171 * extend.texi (__sync Builtins): Clarify the semantics of
2172 __sync_fetch_and_OP built-ins on pointers.
2173 (__atomic Builtins): Same.
2174
2175 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2176 Sebastian Pop <s.pop@samsung.com>
2177
2178 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
2179 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
2180 (is_valid_rename): Same.
2181 (translate_isl_ast_to_gimple::get_rename): Same.
2182 (translate_isl_ast_to_gimple::rename_all_uses): Same.
2183 (translate_isl_ast_to_gimple::rename_uses): Same.
2184 (get_new_name): Check for close_phi nodes.
2185 (copy_loop_phi_args): Use phi_node_kind.
2186 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
2187 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
2188
2189 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2190 Sebastian Pop <s.pop@samsung.com>
2191
2192 Revert commit r229783.
2193 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
2194 Remove use of parameter_rename_map.
2195 (copy_def): Remove.
2196 (copy_internal_parameters): Remove.
2197 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
2198 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
2199 (free_sese_info): Do not free parameter_rename_map.
2200 (set_rename): Do not use parameter_rename_map.
2201 (rename_uses): Update call to set_rename.
2202 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
2203 * sese.h (parameter_rename_map_t): Remove.
2204 (struct sese_info_t): Remove field parameter_rename_map.
2205
2206 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2207 Sebastian Pop <s.pop@samsung.com>
2208
2209 * graphite-isl-ast-to-gimple.c: Fix comment.
2210 * graphite-scop-detection.c (defined_in_loop_p): New.
2211 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
2212 names defined in loop.
2213
2214 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2215 Sebastian Pop <s.pop@samsung.com>
2216
2217 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
2218 Discard unstructured if-then-else regions.
2219
2220 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2221 Sebastian Pop <s.pop@samsung.com>
2222
2223 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
2224 (cleanup_loop_iter_dom): Remove.
2225 (build_loop_iteration_domains): Remove.
2226 (build_scop_context): Remove.
2227 (build_scop_iteration_domain): Remove.
2228 (add_loop_constraints): New.
2229 (build_iteration_domains): New.
2230 (build_poly_scop): Call build_iteration_domains.
2231
2232 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2233 Sebastian Pop <s.pop@samsung.com>
2234
2235 * graphite-scop-detection.c
2236 (scop_detection::harmful_loop_in_region): Free dom and loops.
2237 (scop_detection::loop_body_is_valid_scop): Free bbs.
2238
2239 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2240 Sebastian Pop <s.pop@samsung.com>
2241
2242 * graphite-scop-detection.c (record_loop_in_sese): New.
2243 (gather_bbs::before_dom_children): Call record_loop_in_sese.
2244 (build_scops): Remove call to build_sese_loop_nests.
2245 * sese.c (sese_record_loop): Remove.
2246 (build_sese_loop_nests): Remove.
2247 (new_sese_info): Remove region->loops.
2248 (free_sese_info): Same.
2249 * sese.h (sese_contains_loop): Same.
2250 (build_sese_loop_nests): Remove.
2251 (sese_contains_loop): Remove.
2252
2253 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2254 Sebastian Pop <s.pop@samsung.com>
2255
2256 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
2257 loop_is_valid_in_scop.
2258 (scop_detection::harmful_stmt_in_region): Renamed
2259 harmful_loop_in_region.
2260 Call loop_is_valid_in_scop.
2261
2262 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2263 Sebastian Pop <s.pop@samsung.com>
2264
2265 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
2266 isl_ast_node_mark.
2267
2268 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2269 Sebastian Pop <s.pop@samsung.com>
2270
2271 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
2272 * graphite.h (struct poly_bb): Remove field is_reduction.
2273 (PBB_IS_REDUCTION): Remove.
2274
2275 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
2276 Sebastian Pop <s.pop@samsung.com>
2277
2278 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
2279 (add_pdr_constraints): Same.
2280 (scop_get_reads): Same.
2281 (scop_get_must_writes): Same.
2282 (scop_get_may_writes): Same.
2283 (scop_get_original_schedule): Same.
2284 (extend_schedule): Same.
2285 (apply_schedule_on_deps): Same.
2286 (carries_deps): Same.
2287 (compute_deps): Same.
2288 (scop_get_dependences): Same.
2289 * graphite-isl-ast-to-gimple.c
2290 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
2291 * graphite-optimize-isl.c (get_schedule_for_band): Same.
2292 (get_schedule_for_band_list): Same.
2293 (get_schedule_map): Same.
2294 (apply_schedule_map_to_scop): Same.
2295 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
2296 (build_loop_iteration_domains): Same.
2297 (add_condition_to_pbb): Same.
2298 (add_param_constraints): Same.
2299 (pdr_add_memory_accesses): Same.
2300 (pdr_add_data_dimensions): Same.
2301
2302 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
2303
2304 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
2305 requirements.
2306
2307 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
2308
2309 * common.opt (feliminate-dwarf2-dups): Replace references to
2310 "DWARF 2" with just "DWARF".
2311 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
2312 * doc/extend.texi: Likewise.
2313 * doc/cpp.texi: Likewise.
2314 * doc/invoke.texi: Likewise.
2315 (Option Summary): Add -gdwarf to list of Debugging Options.
2316 (Debugging Options): Document -gdwarf.
2317 * doc/contrib.texi: Spell "DWARF" like that.
2318
2319 2016-01-21 Jakub Jelinek <jakub@redhat.com>
2320
2321 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
2322 warning. Fix up formatting.
2323
2324 PR middle-end/67653
2325 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
2326 attempt to mark memory input operand addressable and
2327 call prepare_gimple_addressable in that case. Don't adjust
2328 input_location for diagnostics, use error_at instead.
2329
2330 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
2331
2332 * config/rs6000/ppc-auxv.h: New file.
2333 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
2334 (cpu_is): Likewise.
2335 (cpu_supports): Likewise.
2336 * config/rs6000/rs6000.c: include "ppc-auxv.h".
2337 (cpu_is_info): New variable.
2338 (cpu_supports_info): Likewise.
2339 (tcb_verification_symbol): Likewise.
2340 (cpu_builtin_p): Likewise.
2341 (cpu_expand_builtin): New function.
2342 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
2343 (rs6000_init_builtins): Likewise.
2344 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
2345 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
2346 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
2347 * configure: Regenerate.
2348 * config.in: Likewise.
2349 * doc/extend.texi (PowerPC Built-in Functions): Document
2350 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
2351
2352 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
2353
2354 PR target/68609
2355 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
2356 domain check.
2357 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
2358 for V4SFmode.
2359
2360 2016-01-20 Richard Henderson <rth@redhat.com>
2361
2362 PR bootstrap/69343
2363 PR bootstrap/69339
2364 PR tree-opt/68964
2365 Revert:
2366 * tree.c (tm_define_builtin): New.
2367 (find_tm_vector_type): New.
2368 (build_tm_vector_builtins): New.
2369 (build_common_builtin_nodes): Call it.
2370
2371 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
2372
2373 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
2374 (arm_fp_ok): Likewise.
2375 (arm_fp): Likewise.
2376 (arm_crypto): Likewise.
2377
2378 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
2379 Richard Biener <rguenther@suse.de>
2380
2381 PR tree-optimization/69328
2382 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
2383 vectors have same number of elements.
2384 (vectorizable_condition): Fix masked version recognition.
2385
2386 2016-01-20 Richard Biener <rguenther@suse.de>
2387
2388 PR tree-optimization/69345
2389 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
2390 (VN_INFO_PTR_INFO): Likewise.
2391 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
2392 info when it is equal between non-dominating SSA names.
2393 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
2394 Make sure to look at original SSA infos.
2395
2396 2016-01-20 Jeff Law <law@redhat.com>
2397
2398 PR target/25114
2399 * config/m68k/predicates.md (pow2_m1_operand): New predicate
2400 extracted from ...
2401 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
2402 (pc_or_label_operand): New predicate.
2403 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
2404 tests for small integers that are 2^n - 1.
2405
2406 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
2407
2408 * doc/invoke.texi (Options Summary): Add '.' after @xref.
2409
2410 2016-01-19 Jeff Law <law@redhat.com>
2411
2412 PR middle-end/69347
2413 * tree-ssa-threadbackwards.c
2414 (fsm_find_control_statement_thread_paths): Do not try to lookup
2415 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
2416
2417 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
2418
2419 * doc/lto.texi: Remove text that says only Gold has linker plugin
2420 support.
2421
2422 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
2423
2424 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
2425 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
2426 the DIE accordingly.
2427 (modified_type_die): Add REVERSE parameter and pass it recursively,
2428 as well as to base_type_die. Adjust presence check accordingly.
2429 (base_type_for_mode): Adjust call to modified_type_die.
2430 (add_type_attribute): Add REVERSE parameter and pass it to
2431 modified_type_die.
2432 (generic_parameter_die): Adjust call to add_type_attribute.
2433 (add_scalar_info): Likewise.
2434 (add_subscript_info): Likewise.
2435 (gen_array_type_die): Likewise.
2436 (gen_descr_array_type_die): Likewise.
2437 (gen_entry_point_die): Likewise.
2438 (gen_enumeration_type_die): Likewise.
2439 (gen_formal_parameter_die): Likewise.
2440 (gen_subprogram_die): Likewise.
2441 (gen_variable_die ): Likewise.
2442 (gen_const_die): Likewise.
2443 (gen_field_die): Likewise.
2444 (gen_pointer_type_die): Likewise.
2445 (gen_reference_type_die): Likewise.
2446 (gen_ptr_to_mbr_type_die): Likewise.
2447 (gen_inheritance_die): Likewise.
2448 (gen_subroutine_type_die): Likewise.
2449 (gen_typedef_die): Likewise.
2450 (force_type_die): Adjust call to modified_type_die.
2451
2452 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
2453
2454 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
2455 flow throughout the file. Fix broken link to Objective-C 2.0
2456 documentation.
2457 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
2458 errors.
2459
2460 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2461
2462 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
2463
2464 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2465
2466 PR ipa/66223
2467 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
2468 (maybe_record_node): Record cxa_pure_virtual as the only possible
2469 target if there are not ohter candidates.
2470 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
2471
2472 2016-01-19 Richard Biener <rguenther@suse.de>
2473
2474 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
2475 (get_memory_order): Likewise.
2476
2477 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
2478
2479 * tree-vect-stmts.c (vectorizable_store): Check
2480 rhs vectype.
2481
2482 2016-01-19 David Malcolm <dmalcolm@redhat.com>
2483
2484 PR jit/68446
2485 * gcc.c (driver::decode_argv): Add call to
2486 init_opts_obstack before init_options_struct.
2487 * opts.c (init_opts_obstack): Remove idempotency.
2488 (init_options_struct): Replace call to init_opts_obstack
2489 with a gcc_assert to verify that it has already been called.
2490 * toplev.c (toplev::main): Add call to init_opts_obstack before
2491 calls to init_options_struct.
2492 (toplev::finalize): Move cleanup of opts_obstack next to
2493 cleanup of save_decoded_options, clearing the latter, and
2494 save_decoded_options_count.
2495
2496 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2497
2498 PR target/69135
2499 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
2500 attribute to unconditional. Remove %? from output template.
2501
2502 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2503 Jiong Wang <jiong.wang@arm.com>
2504
2505 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
2506 generated from different expand order.
2507
2508 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2509
2510 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
2511 Add support for CCMP costing.
2512
2513 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2514
2515 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
2516 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
2517 (fccmpe<mode>): Likewise.
2518 (fcmp): Rename to fcmp and globalize pattern.
2519 (fcmpe): Likewise.
2520 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
2521 (aarch64_gen_ccmp_next): Add FP support.
2522
2523 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
2524
2525 * target.def (gen_ccmp_first): Update documentation.
2526 (gen_ccmp_next): Likewise.
2527 * doc/tm.texi (gen_ccmp_first): Update documentation.
2528 (gen_ccmp_next): Likewise.
2529 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
2530 expand_ccmp_expr_1. Improve comments.
2531 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
2532 (ccmp_ior<mode>): Remove pattern.
2533 (cmp<mode>): Remove expand.
2534 (cmp): Globalize pattern.
2535 (cstorecc4): Use cc_register.
2536 (mov<mode>cc): Remove ccmp_cc_register check.
2537 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
2538 Simplify after removal of CC_DNE/* modes.
2539 (aarch64_ccmp_mode_to_code): Remove.
2540 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
2541 In 'k' case use integer as condition.
2542 (aarch64_nzcv_codes): Remove inverted cases.
2543 (aarch64_code_to_ccmode): Remove.
2544 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
2545 comparison with CC register to be used in folowing CCMP/branch/CSEL.
2546 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
2547 pattern. Return the comparison with CC register. Invert conditions
2548 when bitcode is OR.
2549 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
2550 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
2551
2552 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2553
2554 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
2555 instrumented_version.
2556
2557 2016-01-19 Richard Biener <rguenther@suse.de>
2558
2559 PR tree-optimization/69336
2560 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
2561 handled components with get_ref_base_and_extent.
2562 (equal_mem_array_ref_p): Adjust.
2563
2564 2016-01-19 Jakub Jelinek <jakub@redhat.com>
2565
2566 PR debug/65779
2567 * shrink-wrap.c: Include valtrack.h.
2568 (move_insn_for_shrink_wrap): Add DEBUG argument. If
2569 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
2570 in between insn and where it will be moved to. Call
2571 dead_debug_insert_temp.
2572 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
2573 first and dead_debug_local_finish at the end.
2574 For uses and defs bitmap, handle all regs in between REGNO and
2575 END_REGNO, not just the first one.
2576
2577 2016-01-19 Richard Biener <rguenther@suse.de>
2578
2579 PR tree-optimization/69352
2580 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
2581 (equal_mem_array_ref_p): Constrain size and max size properly.
2582 Compare the reverse flag.
2583
2584 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
2585
2586 * ira.c (ira): Update regstat data if we deleted insns.
2587
2588 2016-01-19 Jakub Jelinek <jakub@redhat.com>
2589
2590 PR rtl-optimization/68955
2591 PR rtl-optimization/64557
2592 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
2593 here. Fix up formatting.
2594 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
2595
2596 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2597
2598 PR lto/69133
2599 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
2600 assume that the node has body.
2601 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
2602 check.
2603
2604 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2605
2606 * lto-streamer-out.c (lto_output): Do not stream instrumentation
2607 thunks.
2608
2609 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
2610
2611 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
2612 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
2613
2614 2016-01-19 Martin Jambor <mjambor@suse.cz>
2615 Martin Liska <mliska@suse.cz>
2616 Michael Matz <matz@suse.de>
2617
2618 * Makefile.in (OBJS): Add new source files.
2619 (GTFILES): Add hsa.c.
2620 * common.opt (disable_hsa): New variable.
2621 (-Whsa): New warning.
2622 * config.in (ENABLE_HSA): New.
2623 * configure.ac: Treat hsa differently from other accelerators.
2624 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
2625 $enable_offloading.
2626 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
2627 * doc/install.texi (Configuration): Document --with-hsa-runtime,
2628 --with-hsa-runtime-include, --with-hsa-runtime-lib and
2629 --with-hsa-kmt-lib.
2630 * doc/invoke.texi (-Whsa): Document.
2631 (hsa-gen-debug-stores): Likewise.
2632 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
2633 to invoke offload compiler for hsa acclerator.
2634 * opts.c (common_handle_option): Determine whether HSA offloading
2635 should be performed.
2636 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
2637 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
2638 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
2639 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
2640 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
2641 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
2642 GF_OMP_FOR_KIND_GRID_LOOP.
2643 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
2644 (pp_gimple_stmt_1): Likewise.
2645 * gimple-walk.c (walk_gimple_stmt): Likewise.
2646 * gimple.c (gimple_build_omp_grid_body): New function.
2647 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
2648 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
2649 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
2650 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
2651 GF_OMP_TEAMS_GRID_PHONY.
2652 (gimple_statement_omp_single_layout): Updated comments.
2653 (gimple_build_omp_grid_body): New function.
2654 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
2655 (gimple_omp_for_grid_phony): New function.
2656 (gimple_omp_for_set_grid_phony): Likewise.
2657 (gimple_omp_parallel_grid_phony): Likewise.
2658 (gimple_omp_parallel_set_grid_phony): Likewise.
2659 (gimple_omp_teams_grid_phony): Likewise.
2660 (gimple_omp_teams_set_grid_phony): Likewise.
2661 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
2662 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
2663 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
2664 (BUILT_IN_GOMP_TARGET): Updated type.
2665 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
2666 (adjust_for_condition): New function.
2667 (get_omp_for_step_from_incr): Likewise.
2668 (extract_omp_for_data): Moved parts to adjust_for_condition and
2669 get_omp_for_step_from_incr.
2670 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
2671 (fixup_child_record_type): Bail out if receiver_decl is NULL.
2672 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
2673 (scan_omp_parallel): Do not create child functions for phony
2674 constructs.
2675 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
2676 (scan_omp_1_op): Checking assert we are not remapping to
2677 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
2678 (parallel_needs_hsa_kernel_p): New function.
2679 (expand_parallel_call): Register apprpriate parallel child
2680 functions as HSA kernels.
2681 (grid_launch_attributes_trees): New type.
2682 (grid_attr_trees): New variable.
2683 (grid_create_kernel_launch_attr_types): New function.
2684 (grid_insert_store_range_dim): Likewise.
2685 (grid_get_kernel_launch_attributes): Likewise.
2686 (get_target_argument_identifier_1): Likewise.
2687 (get_target_argument_identifier): Likewise.
2688 (get_target_argument_value): Likewise.
2689 (push_target_argument_according_to_value): Likewise.
2690 (get_target_arguments): Likewise.
2691 (expand_omp_target): Call get_target_arguments instead of looking
2692 up for teams and thread limit.
2693 (grid_expand_omp_for_loop): New function.
2694 (grid_arg_decl_map): New type.
2695 (grid_remap_kernel_arg_accesses): New function.
2696 (grid_expand_target_kernel_body): New function.
2697 (expand_omp): Call it.
2698 (lower_omp_for): Do not emit phony constructs.
2699 (lower_omp_taskreg): Do not emit phony constructs but create for them
2700 a temporary variable receiver_decl.
2701 (lower_omp_taskreg): Do not emit phony constructs.
2702 (lower_omp_teams): Likewise.
2703 (lower_omp_grid_body): New function.
2704 (lower_omp_1): Call it.
2705 (grid_reg_assignment_to_local_var_p): New function.
2706 (grid_seq_only_contains_local_assignments): Likewise.
2707 (grid_find_single_omp_among_assignments_1): Likewise.
2708 (grid_find_single_omp_among_assignments): Likewise.
2709 (grid_find_ungridifiable_statement): Likewise.
2710 (grid_target_follows_gridifiable_pattern): Likewise.
2711 (grid_remap_prebody_decls): Likewise.
2712 (grid_copy_leading_local_assignments): Likewise.
2713 (grid_process_kernel_body_copy): Likewise.
2714 (grid_attempt_target_gridification): Likewise.
2715 (grid_gridify_all_targets_stmt): Likewise.
2716 (grid_gridify_all_targets): Likewise.
2717 (execute_lower_omp): Call grid_gridify_all_targets.
2718 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
2719 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
2720 (tree_omp_clause): Added union field dimension.
2721 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
2722 * tree.c (omp_clause_num_ops): Added number of arguments of
2723 OMP_CLAUSE__GRIDDIM_.
2724 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
2725 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
2726 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
2727 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
2728 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
2729 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
2730 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
2731 * tree-pass.h (make_pass_gen_hsail): Declare.
2732 (make_pass_ipa_hsa): Likewise.
2733 * ipa-hsa.c: New file.
2734 * lto-section-in.c (lto_section_name): Add hsa section name.
2735 * lto-streamer.h (lto_section_type): Add hsa section.
2736 * timevar.def (TV_IPA_HSA): New.
2737 * hsa-brig-format.h: New file.
2738 * hsa-brig.c: New file.
2739 * hsa-dump.c: Likewise.
2740 * hsa-gen.c: Likewise.
2741 * hsa.c: Likewise.
2742 * hsa.h: Likewise.
2743 * toplev.c (compile_file): Call hsa_output_brig.
2744 * hsa-regalloc.c: New file.
2745
2746 2016-01-18 Jeff Law <law@redhat.com>
2747
2748 PR tree-optimization/69320
2749 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
2750 ranged object, do nothing if the RHS constant is not [0..1].
2751 (optimize_stmt): Comparing a boolean ranged object against a
2752 constant outside [0..1] results in a compile-time constant.
2753
2754 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
2755 test.
2756
2757 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
2758
2759 * doc/invoke.texi (Invoking GCC): Add new section to menu.
2760 (Option Summary): Update to reflect new section and moved options.
2761 (C++ Dialect Options): Move -fstats to new section.
2762 (Debugging Options): Move all dump, statistics, and other GCC
2763 developer options to new section. Rewrite section introduction
2764 and re-order remaining options to put the more basic ones first.
2765 (Optimization Options): Move -fira-verbose and -flto-report* to
2766 new section.
2767 (Developer Options): New section incorporating moved options.
2768 * doc/cppopts.texi (-dM): Update cross-reference.
2769
2770 2016-01-18 Richard Henderson <rth@redhat.com>
2771
2772 PR target/69176
2773 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
2774 operands to pseudo only if CSE is expected. Split long immediate
2775 operands only after reload, and for the stack pointer.
2776 (*add<GPI>3_pluslong): Remove.
2777 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
2778 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
2779 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
2780 (*add<GPI>3 peepholes): New.
2781 (*add<GPI>3 splitters): New.
2782 * config/aarch64/constraints.md (Upl): New.
2783 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
2784
2785 2016-01-18 Richard Biener <rguenther@suse.de>
2786
2787 PR tree-optimization/69297
2788 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
2789 stmt at most once.
2790 (vect_bb_vectorization_profitable_p): Clear visited flag again.
2791
2792 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
2793
2794 PR middle-end/68542
2795 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
2796 of mixind vector and scalar types.
2797 (fold_relational_const): Add handling of vector
2798 comparison with boolean result.
2799 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
2800 comparison of vector operands with boolean result for EQ/NE only.
2801 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
2802 (verify_gimple_cond): Likewise.
2803 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
2804 valid type of VAL.
2805
2806 2016-01-18 Joseph Myers <joseph@codesourcery.com>
2807
2808 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
2809 !TARGET_OCTEON.
2810
2811 2016-01-18 Richard Biener <rguenther@suse.de>
2812
2813 PR middle-end/69308
2814 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
2815
2816 2016-01-18 Tom de Vries <tom@codesourcery.com>
2817
2818 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
2819
2820 2016-01-18 Tom de Vries <tom@codesourcery.com>
2821
2822 * omp-low.c (set_oacc_fn_attrib): Make extern.
2823 * omp-low.h (set_oacc_fn_attrib): Declare.
2824 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
2825 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
2826 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
2827 Add and handle function parameter oacc_kernels_p.
2828 (find_reduc_addr, get_omp_data_i_param): New function.
2829 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
2830 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
2831 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
2832 Calculate dominance info. Skip loops that are not in a kernels region
2833 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
2834 (pass_parallelize_loops::execute): Call parallelize_loops with
2835 oacc_kernels_p argument.
2836 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
2837 New member function.
2838 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
2839 * passes.def: Add argument to pass_parallelize_loops instantation.
2840
2841 2016-01-18 Tom de Vries <tom@codesourcery.com>
2842
2843 * tree-parloops.c (pass_parallelize_loops::execute): Allow
2844 pass_parallelize_loops to be run outside the loop pipeline.
2845
2846 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
2847
2848 * tree-scalar-evolution.c (follow_copies_to_constant): New.
2849 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
2850
2851 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
2852
2853 PR target/63679
2854 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
2855 using get_ref_base_and_extent.
2856 (equal_mem_array_ref_p): New.
2857 (hashable_expr_equal_p): Add call to previous.
2858
2859 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
2860
2861 PR target/63679
2862 * tree-sra.c (disqualified_constants, constant_decl_p): New.
2863 (sra_initialize): Allocate disqualified_constants.
2864 (sra_deinitialize): Free disqualified_constants.
2865 (disqualify_candidate): Update disqualified_constants when appropriate.
2866 (create_access): Scan for constant-pool entries as we go along.
2867 (scalarizable_type_p): Add check against type_contains_placeholder_p.
2868 (maybe_add_sra_candidate): Allow constant-pool entries.
2869 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
2870 (initialize_constant_pool_replacements): New.
2871 (sra_modify_assign): Avoid mangling assignments created by previous,
2872 and don't generate writes into constant pool.
2873 (sra_modify_function_body): Call initialize_constant_pool_replacements.
2874
2875 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
2876
2877 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
2878 andnot instruction.
2879 (scalar_chain::convert_op): Likewise.
2880 * config/i386/i386.md (*andndi3_doubleword): New.
2881
2882 2016-01-18 Richard Biener <rguenther@suse.de>
2883
2884 PR tree-optimization/69170
2885 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
2886 building a vector from scalar results of a pattern stmt.
2887
2888 2016-01-18 Jakub Jelinek <jakub@redhat.com>
2889
2890 * haifa-sched.c (autopref_multipass_init): Work around
2891 -Wmaybe-uninitialized warning.
2892
2893 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
2894
2895 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
2896 against the constant 0.
2897
2898 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
2899
2900 PR tree-optimization/68799
2901 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
2902 look up phi candidates in the statement-candidate map.
2903 (phi_add_costs): Likewise.
2904 (record_phi_increments): Likewise.
2905 (phi_incr_cost): Likewise.
2906 (ncd_with_phi): Likewise.
2907 (all_phi_incrs_profitable): Likewise.
2908
2909 2016-01-17 Jakub Jelinek <jakub@redhat.com>
2910
2911 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
2912 -Wmaybe-uninitialized warning.
2913
2914 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
2915
2916 * doc/invoke.texi (Invoking GCC): Add new section to menu.
2917 (Option Summary): Update to reflect new section and moved options.
2918 (C++ Dialect Options): Move -fvtable-verify and related options.
2919 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
2920 and profiling-related options.
2921 (Optimization Options): Move profile generation options and
2922 -fstack-protector and related options.
2923 (Instrumentation Options): New section incorporating moved options.
2924 (Code Generation Options): Move -finstrument-functions and
2925 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
2926
2927 2016-01-16 Tom de Vries <tom@codesourcery.com>
2928
2929 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
2930
2931 2016-01-16 Tom de Vries <tom@codesourcery.com>
2932
2933 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
2934
2935 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
2936
2937 * hash-table.h (hash_table::empty): Turn into an inline wrapper
2938 that checks whether the table is already empty. Rename the
2939 original implementation to...
2940 (hash_table::empty_slot): ...this new private function.
2941
2942 2016-01-15 David Malcolm <dmalcolm@redhat.com>
2943
2944 PR diagnostic/68899
2945 * diagnostic-show-locus.c (layout::print_source_line): Move x
2946 offset of line until after call to
2947 get_line_width_without_trailing_whitespace.
2948
2949 2016-01-15 Jeff Law <law@redhat.com>
2950
2951 PR tree-optimization/69270
2952 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
2953 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
2954 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
2955 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
2956 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
2957 ssa_name_has_boolean_range and constant_boolean_node.
2958
2959 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
2960
2961 PR rtl-optimization/69030
2962 * lra-spills.c (remove_pseudos): Check nrefs and make the function
2963 returning bool.
2964 (spill_pseudos): Delete debug insn for dead pseudo.
2965 (lra_spill): Initiate spill_hard_reg and slots memory separately.
2966
2967 2016-01-15 Jiong Wang <jiong.wang@arm.com>
2968
2969 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
2970 New.
2971 (TYPES_UNOPUS): Likewise.
2972 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
2973 builtin type, from UNOP to UNOPUS.
2974 (lbtruncuv4sf): Likewise.
2975 (lbtruncuv2df): Likewise.
2976 (lrounduv2sf): Likewise.
2977 (lrounduv4sf): Likewise.
2978 (lrounduv2df): Likewise.
2979 (lroundusf): Likewise.
2980 (lroundusf): Likewise.
2981 (lceiluv2sf): Likewise.
2982 (lceiluv4sf): Likewise.
2983 (lceiluv2df): Likewise.
2984 (lceilusf): Likewise.
2985 (lceiludf): Likewise.
2986 (lflooruv2sf): Likewise.
2987 (lflooruv4sf): Likewise.
2988 (lflooruv2df): Likewise.
2989 (lfloorusf): Likewise.
2990 (lfloorudf): Likewise.
2991 (lfrintnuv2sf): Likewise.
2992 (lfrintnuv4sf): Likewise.
2993 (lfrintnuv2df): Likewise.
2994 (lfrintnusf): Likewise.
2995 (lfrintnudf): Likewise.
2996 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
2997 conversion.
2998 (vcvtq_u32_f32): Likewise.
2999 (vcvtq_u64_f64): Likewise.
3000 (vcvta_u32_f32): Likewise.
3001 (vcvtaq_u32_f32): Likewise.
3002 (vcvtaq_u64_f64): Likewise.
3003 (vcvtm_u32_f32): Likewise.
3004 (vcvtmq_u32_f32): Likewise.
3005 (vcvtmq_u64_f64): Likewise.
3006 (vcvtn_u32_f32): Likwise.
3007 (vcvtnq_u32_f32): Likewise.
3008 (vcvtnq_u64_f64): Likewise.
3009 (vcvtp_u32_f32): Likewise.
3010 (vcvtpq_u32_f32): Likewise.
3011 (vcvtpq_u64_f64): Likewise.
3012 (vcvtmd_u64_f64): Likewise.
3013 (vcvtms_u32_f32): Likewise.
3014 (vcvtad_u64_f64): Likewise.
3015 (vcvtas_u32_f32): Likewise.
3016 (vcvtnd_u64_f64): Likewise.
3017 (vcvtns_u32_f32): Likewise.
3018 (vcvtpd_u64_f64): Likewise.
3019 (vcvtps_u32_f32): Likewise.
3020
3021 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3022
3023 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
3024 CSEL of zero_extended registers.
3025
3026 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3027
3028 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
3029 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
3030
3031 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3032
3033 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
3034 false when argument string is not found in the attributes table
3035 at all.
3036
3037 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
3038
3039 PR target/68609
3040 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
3041 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
3042 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
3043 precision estimate.
3044
3045 2016-01-15 Richard Biener <rguenther@suse.de>
3046
3047 PR tree-optimization/66856
3048 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
3049 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
3050 (vect_create_new_slp_node): Increment stmt reference count.
3051 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
3052 an SLP tree before swapping operands.
3053 (vect_build_slp_tree): Likewise.
3054 (destroy_bb_vec_info): Free stmt info after SLP instances.
3055 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
3056 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
3057 (STMT_VINFO_NUM_SLP_USES): New macro.
3058
3059 2016-01-15 Richard Biener <rguenther@suse.de>
3060
3061 PR debug/69137
3062 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
3063 (add_linkage_name): ... here.
3064 (gen_typedef_die): Use add_linkage_name_raw instead of
3065 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
3066 if necessary.
3067
3068 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
3069
3070 * gimplify.c (oacc_default_clause): Decode reference and pointer
3071 types for both kernels and parallel regions.
3072
3073 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
3074
3075 PR middle-end/69246
3076 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
3077
3078 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
3079
3080 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
3081 (convert_scalars_to_vector): Likewise.
3082
3083 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
3084
3085 * doc/extend.texi (Type Traits): Fix grammar.
3086
3087 2016-01-15 Martin Jambor <mjambor@suse.cz>
3088
3089 * tree-inline.c (remap_decl): Use existing dclarations if
3090 remapping a type and prevent_decl_creation_for_types.
3091 (replace_locals_stmt): Do an initial remapping of non-VLA typed
3092 decls first. Do real remapping with
3093 prevent_decl_creation_for_types set.
3094 * tree-inline.h (copy_body_data): New field
3095 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
3096 padding.
3097
3098 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
3099
3100 * config/s390/s390.opt (mmvcle): More verbose help text.
3101
3102 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
3103
3104 * config/s390/s390.opt: Add period to -mzvector option text.
3105
3106 2016-01-15 Richard Biener <rguenther@suse.de>
3107
3108 PR tree-optimization/68961
3109 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
3110 of invariants in stores again.
3111
3112 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
3113
3114 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
3115
3116 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
3117
3118 * config/i386/i386.c (ix86_expand_branch): Don't split
3119 DI mode xor instruction to SI mode.
3120
3121 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
3122
3123 PR ipa/68148
3124 * ipa-icf.c (sem_function::merge): Virtual functions may become
3125 reachable even if they address is not taken and there are no
3126 idrect calls.
3127
3128 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
3129
3130 * lto-streamer-out.c (subtract_estimated_size): New function.
3131 (get_symbol_initial_value): Use it.
3132
3133 2016-01-15 Christian Bruel <christian.bruel@st.com>
3134
3135 PR target/65837
3136 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
3137 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
3138 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
3139 use add_builtin_function_ext_scope instead of add_builtin_function.
3140 (neon_set_p, neon_crypto_set_p): Remove.
3141 (arm_init_builtins): Always call arm_init_neon_builtins and
3142 arm_init_crypto_builtins.
3143 (arm_expand_builtin): Check that builtins are allowed for the arch.
3144 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
3145 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
3146 arm_init_neon_builtins call.
3147
3148 2016-01-15 Richard Biener <rguenther@suse.de>
3149
3150 PR tree-optimization/69117
3151 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
3152 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
3153 of the leader conservatively.
3154 (free_scc_vn): Restore original SSA name infos.
3155
3156 2016-01-14 Jeff Law <law@redhat.com>
3157
3158 PR tree-optimization/69270
3159 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
3160 single bit of precision, verify it's also unsigned.
3161 (record_edge_info): Use constant_boolean_node rather than fold_convert
3162 to convert boolean_true/boolean_false to the right type.
3163
3164 2016-01-14 Richard Henderson <rth@redhat.com>
3165
3166 PR rtl-opt/69014
3167 * loop-doloop.c (record_reg_sets): New.
3168 (doloop_optimize): Reject the transform if the sequence
3169 clobbers registers live at the end of the loop block.
3170 (doloop_optimize_loops): Enable df_live if needed.
3171
3172 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
3173
3174 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
3175 * gcc/config/rs6000/rs6000.c: Likewise.
3176 * gcc/config/rs6000/rs6000.h: Likewise.
3177 * gcc/config/rs6000/rs6000.md: Likewise.
3178 * gcc/doc/extend.texi: Likewsie.
3179
3180 2016-01-14 Jeff Law <law@redhat.com>
3181
3182 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
3183 typo.
3184
3185 2016-01-14 Richard Henderson <rth@redhat.com>
3186
3187 PR c/69272
3188 PR tree-opt/68964
3189 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
3190 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
3191 instead of builtin_decl_declared_p to test for declaration.
3192
3193 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
3194
3195 * doc/loop.texi (Loop Analysis and Representation): Document
3196 loop_depth function.
3197
3198 2016-01-14 Tom de Vries <tom@codesourcery.com>
3199
3200 PR tree-optimization/68773
3201 * omp-low.c (expand_omp_target): Don't set force_output.
3202 * varpool.c (varpool_node::get_create): Same.
3203 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
3204 offload_funcs with force_output.
3205
3206 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3207
3208 PR debug/69244
3209 * lra-eliminations.c (move_plus_up): Don't change anything if either
3210 the outer or inner subreg mode is not MODE_INT.
3211 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
3212 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
3213
3214 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
3215
3216 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
3217 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
3218 reduc_uplus_@var{m}): Remove.
3219 * expr.c (expand_expr_real_2): Remove expansion path for
3220 reduc_[us](min|max|plus) optabs.
3221 * optabs-tree.c (scalar_reduc_to_vector): Remove.
3222 * optabs-tree.h (scalar_reduc_to_vector): Remove.
3223 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
3224 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
3225 * tree-vect-loop.c (vectorizable_reduction): Remove test for
3226 reduc_[us](min|max|plus) optabs.
3227
3228 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
3229
3230 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
3231 (reduc_plus_scal_v2sf): New.
3232 (reduc_smax_v2sf): Rename to...
3233 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
3234 (reduc_smin_v2sf): Rename to...
3235 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
3236
3237 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
3238
3239 * alias.c (compare_base_symbol_refs): New function.
3240 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
3241 it.
3242
3243 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3244
3245 PR middle-end/68146
3246 PR tree-optimization/69155
3247 * tree-complex.c: Include cfganal.h.
3248 (phis_to_revisit): New variable.
3249 (extract_component): Add phiarg_p argument. Assert that returned
3250 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
3251 (update_phi_components): Partly rewrite to use loop over real/imag
3252 components instead of code duplication. If extract_component returns
3253 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
3254 create_tmp_reg into the PHI node instead, and mention the phi triplet
3255 in phis_to_revisit.
3256 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
3257 in phis_to_revisit at the end.
3258
3259 2016-01-14 Richard Biener <rguenther@suse.de>
3260
3261 PR tree-optimization/68060
3262 * tree-vect-loop.c (vect_is_simple_reduction): Check the
3263 outer loop reduction is only used in the inner loop before
3264 detecting a double reduction.
3265
3266 2016-01-14 Jakub Jelinek <jakub@redhat.com>
3267
3268 PR target/68269
3269 * combine.c (expand_field_assignment): Punt if compute_mode is
3270 unsupported scalar mode.
3271
3272 2016-01-14 Richard Biener <rguenther@suse.de>
3273
3274 PR tree-optimization/66856
3275 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
3276 SLP node only if it built successfully.
3277 (vect_analyze_slp_instance): Adjust.
3278
3279 2016-01-14 Jeff Law <law@redhat.com>
3280
3281 PR tree-optimization/69270
3282 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
3283 (record_edge_info): Use it. Convert boolean_{true,false}_node
3284 to the type of op0.
3285
3286 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
3287
3288 PR ipa/66487
3289 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
3290 use block_ultimate_origin
3291 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
3292
3293 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
3294
3295 * doc/invoke.texi (Submodel Options): Rename section to
3296 "Machine-Dependent Options" to better reflect its content.
3297 Rewrite introductory text to remove archaic CPU names.
3298 Update references.
3299
3300 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
3301
3302 * doc/invoke.texi (Code Gen Options): Move section up in file,
3303 before target-specific options. Update menu and option summary
3304 to reflect the new section ordering.
3305
3306 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3307
3308 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
3309 (C++ Dialect Options): Add cross-reference to -std option.
3310 * doc/standards.texi (C++ Language): Document C++14 support.
3311
3312 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
3313
3314 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
3315 for pack/unpack functions for __ibm128.
3316 (PACK_IF): Likewise.
3317 (UNPACK_IF): Likewise.
3318
3319 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
3320 support for __ibm128 pack/unpack functions.
3321 (rs6000_invalid_builtin): Likewise.
3322 (rs6000_init_builtins): Likewise.
3323 (rs6000_opt_masks): Likewise.
3324
3325 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
3326 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
3327 functions
3328 (RS6000_BTM_COMMON): Likewise.
3329
3330 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
3331 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
3332 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
3333 128-bit floating point. Add support for the double values to be
3334 in Altivec registers for TF/IF packing and unpacking, but restrict
3335 TD packing sub-fields to be FPR registers. Don't allow overlapped
3336 register support for packing. Allow pack inputs to be memory
3337 locations. Don't build generator functions for unpack<mode>_dm
3338 and unpack<mode>_nodm.
3339 (unpack<mode>_dm): Likewise.
3340 (unpack<mode>_nodm): Likewise.
3341 (pack<mode>): Likewise.
3342
3343 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
3344 built-in functions to pack/unpack explicit __ibm128 values.
3345 (__builtin_unpack_ibm128): Likewise.
3346
3347 * doc/extend.texi (PowerPC Built-in Functions): Document
3348 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
3349
3350 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
3351
3352 PR c/66208
3353 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
3354 Add new arg loc and pass it down as context.
3355 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
3356 to the location to use for the warning.
3357 (check_function_arguments): New arg loc. All callers changed. Pass
3358 it to check_function_nonnull.
3359 * c-common.h (check_function_arguments): Adjust declaration.
3360
3361 2016-01-13 Jakub Jelinek <jakub@redhat.com>
3362
3363 PR tree-optimization/69156
3364 * gimple.c (validate_type): Removed.
3365 (gimple_builtin_call_types_compatible_p): Use
3366 useless_type_conversion_p instead of validate_type.
3367 * value-prof.c (gimple_stringop_fixed_value): Fold
3368 icall_size to correct type.
3369
3370 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
3371
3372 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
3373 effects.
3374
3375 2016-01-13 Richard Henderson <rth@redhat.com>
3376
3377 PR tree-opt/68964
3378 * target.def (builtin_tm_load, builtin_tm_store): Remove.
3379 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
3380 (ix86_builtin_tm_store): Remove.
3381 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
3382 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
3383 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
3384 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
3385 * doc/tm.texi: Rebuild.
3386
3387 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
3388 (BUILT_IN_TM_MEMCPY_RTWN): New.
3389 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
3390 fallback from vector to integer helpers.
3391 (build_tm_load): Handle vector types directly, instead of
3392 via target hook.
3393 (build_tm_store): Likewise.
3394 (expand_assign_tm): Prepare for register types not handled by
3395 the above. Copy them to memory and use memcpy.
3396 * tree.c (tm_define_builtin): New.
3397 (find_tm_vector_type): New.
3398 (build_tm_vector_builtins): New.
3399 (build_common_builtin_nodes): Call it.
3400
3401 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
3402
3403 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
3404 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
3405
3406 2016-01-13 Tom de Vries <tom@codesourcery.com>
3407
3408 PR tree-optimization/69169
3409 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
3410 handled_struct_type param.
3411 (create_variable_info_for, intra_create_variable_infos): Call
3412 create_variable_info_for_1 with extra arg.
3413
3414 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
3415
3416 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
3417 and "armv8.1-a+crc" entries.
3418
3419 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
3420
3421 PR target/69228
3422 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
3423 Change first operand predicate from register_or_constm1_operand
3424 to register_operand.
3425 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
3426 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
3427 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
3428 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
3429 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
3430 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
3431 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
3432 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
3433 comparison with constm1_rtx from vec_prefetch_gen part.
3434
3435 2016-01-13 Richard Biener <rguenther@suse.de>
3436
3437 PR tree-optimization/69013
3438 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
3439 Exchange assert for a test.
3440
3441 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3442
3443 PR target/69247
3444 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
3445
3446 2016-01-13 Richard Biener <rguenther@suse.de>
3447
3448 PR tree-optimization/69242
3449 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
3450 assert with a check.
3451
3452 2016-01-13 Richard Biener <rguenther@suse.de>
3453
3454 PR tree-optimization/69186
3455 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
3456 Properly guard vect_update_misalignment_for_peel call.
3457
3458 2016-01-12 Jeff Law <law@redhat.com>
3459
3460 PR tree-optimization/pr67755
3461 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
3462 "need_profile_correction".
3463 (thread_block_1): Initialize new field to false by default. If we
3464 have multiple thread paths through a common joiner to different
3465 final targets, then set new field to true.
3466 (compute_path_counts): Only do count adjustment when it's really
3467 needed.
3468
3469 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3470
3471 * doc/invoke.texi (Spec Files): Move section down in file, past
3472 all command-line option descriptions.
3473
3474 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3475
3476 PR middle-end/54809
3477 * doc/gty.texi: Remove documentation of mark_hook.
3478 * gengtype.c (struct write_types_data): Remove code to support
3479 mark_hook attribute.
3480 (walk_type): Likewise.
3481 (write_func_for_structure): Likewise.
3482
3483 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3484
3485 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
3486 Directory Options, and -specs= to Overall Options.
3487 (Overall Options): Adjust similarly. Reorder to group related
3488 options together. Make -specs= cross-reference the spec file details.
3489 (Directory Options): Adjust similarly.
3490
3491 2016-01-12 Jeff Law <law@redhat.com>
3492
3493 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
3494
3495 2016-01-12 Olivier Hainque <hainque@adacore.com>
3496
3497 * gcc.c (spec_undefvar_allowed): New global.
3498 (process_command): Set to true when running for --version or --help,
3499 alone or together.
3500 (getenv_spec_function): When the variable is not defined, use the
3501 variable name as the variable value if we're allowed not to issue
3502 a fatal error.
3503
3504 2016-01-12 Bin Cheng <bin.cheng@arm.com>
3505
3506 PR tree-optimization/68911
3507 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
3508 information computed for expression "init + nit * step".
3509
3510 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
3511
3512 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
3513 about name of GCC executable. Remove deleted node from menu.
3514 (Directory Options) <-B>: Remove cross-reference to deleted node.
3515 (Target Options): Delete section.
3516
3517 2016-01-12 Christian Bruel <christian.bruel@st.com>
3518
3519 PR target/69180
3520 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
3521 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
3522
3523 2016-01-12 Jakub Jelinek <jakub@redhat.com>
3524
3525 PR target/69198
3526 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
3527 aligned_mem is properly set for AVX512-VL floating point masked
3528 stores.
3529
3530 PR target/69175
3531 * ifcvt.c (cond_exec_process_if_block): When removing the last
3532 insn from then_bb, remove also any possible barriers that follow it.
3533
3534 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
3535
3536 PR target/68456
3537 PR target/69226
3538 * config/i386/iamcu.h (SIZE_TYPE): New macro.
3539 (PTRDIFF_TYPE): Likewise.
3540 (WCHAR_TYPE): Likewise.
3541 (WCHAR_TYPE_SIZE): Likewise.
3542 (STDINT_LONG32): Likewise.
3543
3544 2016-01-12 Richard Biener <rguenther@suse.de>
3545
3546 PR tree-optimization/69053
3547 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
3548 convert initial value for cond reductions.
3549
3550 2016-01-12 Richard Biener <rguenther@suse.de>
3551
3552 PR tree-optimization/69007
3553 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
3554 widen_sum after dot_prod and sad.
3555
3556 2016-01-12 Richard Biener <rguenther@suse.de>
3557
3558 PR tree-optimization/69168
3559 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
3560 pattern stmt SLP type.
3561 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
3562 end up unused so cope with that case.
3563
3564 2016-01-12 Richard Biener <rguenther@suse.de>
3565
3566 PR tree-optimization/69157
3567 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
3568 stmts def type only during analyze phase.
3569 (vectorizable_call): Likewise.
3570 (vectorizable_simd_clone_call): Likewise.
3571 (vectorizable_conversion): Likewise.
3572 (vectorizable_assignment): Likewise.
3573 (vectorizable_shift): Likewise.
3574 (vectorizable_operation): Likewise.
3575 (vectorizable_store): Likewise.
3576 (vectorizable_load): Likewise.
3577
3578 2016-01-12 Richard Biener <rguenther@suse.de>
3579
3580 PR tree-optimization/69174
3581 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
3582 space.
3583 (vectorizable_load): Properly compute the number of loads needed
3584 for permuted strided SLP loads and do not spuriously assign
3585 to SLP_TREE_VEC_STMTS.
3586
3587 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
3588
3589 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
3590 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
3591 (MD_EXEC_PREFIX): Remove.
3592 (MD_STARTFILE_PREFIX) Removee.
3593 (FILE_NAME_ABSOLUTE_P): Remove.
3594 (CPP_SPEC): Do not read macros from sys/version.h.
3595 (LINK_COMMAND_SPEC): Remove.
3596 (LOCAL_INCLUDE_DIR): Remove.
3597 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
3598 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
3599 (POST_LINK_SPEC): Define to invoke stubify after linker
3600 (LIBSTDCXX): Remove define
3601 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
3602 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
3603 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
3604 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
3605 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
3606 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
3607 (i386_djgpp_asm_named_section): Add propotype of new procedure
3608
3609 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
3610 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
3611 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
3612 in config/i386/djgpp.h).
3613 (STANDARD_STARTFILE_PREFIX_2): Define identical to
3614 STANDARD_STARTFILE_PREFIX_1.
3615 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
3616 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
3617 installation errors.
3618 (MAX_OFILE_ALIGNMENT): Define to 128.
3619 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
3620
3621 * config/i386/djgpp.c: New file. Add implementation of
3622 i386_djgpp_asm_named_section.
3623
3624 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
3625
3626 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
3627 Add rule for building djgpp.o.
3628
3629 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3630
3631 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
3632 (rtx_is_swappable_p): Reductions are swappable.
3633 (insn_is_swappable_p): V2DF reductions are swappable.
3634
3635 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
3636
3637 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
3638 reloads for other unsupported memory operands.
3639
3640 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
3641 Jim Wilson <jim.wilson@linaro.org>
3642
3643 PR target/69194
3644 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
3645 copy_to_mode_reg instead of force_reg.
3646
3647 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
3648
3649 PR target/69225
3650 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
3651 TARGET_80387 is true.
3652
3653 2016-01-11 Jakub Jelinek <jakub@redhat.com>
3654
3655 PR target/69071
3656 * lra-eliminations.c (move_plus_up): Only move plus up
3657 if subreg of the constant can be simplified into constant
3658 and use the simplified subreg of the constant instead of
3659 the original constant.
3660
3661 * fold-const.c (fold_convertible_p): Don't return true
3662 for conversion of VECTOR_TYPE to same sized integral type.
3663 (fold_convert_loc): Fix up formatting. Fold conversion of
3664 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
3665 instead of NOP_EXPR.
3666
3667 PR tree-optimization/69214
3668 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
3669 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
3670 Formatting fix.
3671
3672 PR tree-optimization/69207
3673 * tree-vect-slp.c (vect_get_constant_vectors): For
3674 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
3675 fold_convertible_p to vector_type's element type, and always
3676 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
3677
3678 2016-01-11 Richard Biener <rguenther@suse.de>
3679
3680 PR tree-optimization/69173
3681 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
3682 fixup the cycle if all stmts are in a pattern.
3683
3684 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
3685
3686 PR middle-end/68999
3687 * alias.c (base_alias_check): Move check for addresses with
3688 alignment ANDs before the call for compare_base_decls.
3689 (memrefs_conflict_p): Return -1 for different decls
3690 that went through alignment adjustments.
3691
3692 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3693
3694 PR rtl-optimization/68796
3695 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
3696 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
3697 and QImode comparisons against zero with CC_NZmode.
3698 * config/aarch64/iterators.md (short_mask): New mode_attr.
3699
3700 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
3701
3702 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
3703 (<avx512>_store<mode>_mask): Likewise.
3704
3705 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
3706 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3707
3708 PR rtl-optimization/68841
3709 * ifcvt.c (struct noce_if_info): Add orig_x field.
3710 (bbs_ok_for_cmove_arith): Add to_rename parameter.
3711 Don't record conflicts on to_rename if it's present.
3712 Allow memory destinations in sets.
3713 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
3714 blocks, passing orig_x to the checks.
3715 (noce_process_if_block): Set if_info->orig_x appropriately.
3716
3717 2016-01-11 Tom de Vries <tom@codesourcery.com>
3718
3719 PR tree-optimization/69069
3720 * tree-parloops.c (create_parallel_loop): Add missing phi args.
3721
3722 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
3723
3724 PR rtl-optimization/68920
3725 * config/i386/i386.c (ix86_option_override_internal): Restrict number
3726 of conditional moves for RTL if-conversion to 1 for
3727 TARGET_ONE_IF_CONV_INSN.
3728 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
3729 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
3730 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
3731 parameter to restirct number of conditional moves for
3732 RTL if-conversion.
3733 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
3734 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
3735 conditionl moves.
3736
3737 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
3738
3739 PR bootstrap/69123
3740 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
3741 onepart vars. Fix typo in comment. Fix reversed condition in
3742 unshare test.
3743 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
3744
3745 PR bootstrap/69123
3746 * var-tracking.c (dump_onepart_variable_differences): New.
3747 (dataflow_set_different): If a detailed dump is requested,
3748 delay early returns and dump differences between onepart
3749 variables present before and after, and added variables.
3750
3751 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
3752
3753 PR target/69010
3754 * expr.c (expand_expr_real_1): For boolean vector constants
3755 with a scalar mode use const_scalar_mask_from_tree.
3756 (const_scalar_mask_from_tree): New.
3757 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
3758 assigned to a mask type to handle constants.
3759
3760 2016-01-11 Martin Jambor <mjambor@suse.cz>
3761
3762 PR ipa/69044
3763 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
3764 useless parameters if we cannot change function signature.
3765
3766 2016-01-11 Martin Jambor <mjambor@suse.cz>
3767
3768 PR ipa/66616
3769 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
3770 flag.
3771
3772 2016-01-11 Tom de Vries <tom@codesourcery.com>
3773
3774 PR tree-optimization/69109
3775 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
3776 latch with phi.
3777
3778 2016-01-11 Tom de Vries <tom@codesourcery.com>
3779
3780 PR tree-optimization/69108
3781 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
3782 res is not used in a phi.
3783
3784 2016-01-11 Yury Gribov <y.gribov@samsung.com>
3785
3786 PR 67425
3787 * common.opt (frandom-seed): Fix parameter name.
3788 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
3789
3790 2016-01-11 Tom de Vries <tom@codesourcery.com>
3791
3792 PR tree-optimization/69058
3793 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
3794 not supported.
3795
3796 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
3797
3798 * config/arc/arc.opt (mdiv-rem): Add period to the end.
3799 (mcode-density): Likewise.
3800
3801 2016-01-10 Tom de Vries <tom@codesourcery.com>
3802
3803 PR tree-optimization/69062
3804 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
3805 (parallelize_loops): Don't paralelize loop that has phi with address
3806 arg.
3807
3808 2016-01-10 Tom de Vries <tom@codesourcery.com>
3809
3810 PR tree-optimization/69039
3811 * tree-parloops.c (try_create_reduction_list): Only allow single exit
3812 phi for reduction.
3813
3814 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
3815
3816 PR middle-end/68743
3817 * match.pd: Require target has function_c99_misc before doing
3818 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
3819
3820 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
3821
3822 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
3823 use GMPINC.
3824 * configure: Regenerate.
3825
3826 2016-01-09 Jakub Jelinek <jakub@redhat.com>
3827
3828 PR middle-end/50865
3829 PR tree-optimization/69097
3830 * fold-const.h (expr_not_equal_to): New prototype.
3831 * fold-const.c: Include stringpool.h and tree-ssanames.h.
3832 (expr_not_equal_to): New function.
3833 * match.pd (X % -Y is the same as X % Y): Don't optimize
3834 unless X is known not to be equal to minimum or Y is known
3835 not to be equal to -1.
3836 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
3837 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
3838 (simplify_stmt_using_ranges): Adjust caller.
3839 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
3840 substitute_and_fold.
3841
3842 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
3843
3844 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
3845 w/o DECL_NAME.
3846
3847 2016-01-08 Jakub Jelinek <jakub@redhat.com>
3848
3849 PR tree-optimization/69167
3850 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
3851 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
3852 ops[0] comparison.
3853 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
3854
3855 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
3856 Richard Biener <rguenther@suse.de>
3857
3858 PR tree-optimization/68707
3859 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
3860 instances that can be handled via vect_load_lanes.
3861
3862 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
3863
3864 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
3865 if we can't determine address equivalence.
3866 * alias.c (compare_base_decl): Update for changed return value of
3867 symtab_node::equal_address_to.
3868
3869 2016-01-08 Jason Merrill <jason@redhat.com>
3870
3871 PR c++/68983
3872 PR c++/67557
3873 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
3874 * expr.c (store_field): Not here.
3875 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
3876 call with TREE_ADDRESSABLE type.
3877 * tree-cfg.c (verify_gimple_call): Adjust.
3878
3879 2016-01-08 Olivier Hainque <hainque@adacore.com>
3880
3881 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
3882 libc_internal.
3883
3884 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
3885
3886 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
3887 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
3888 (reduc_smin_v2sf): Rename to...
3889 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
3890 (reduc_splus_v2sf): Rename to...
3891 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
3892
3893 2016-01-08 Jakub Jelinek <jakub@redhat.com>
3894
3895 PR tree-optimization/69162
3896 * gimplify.c (gimplify_va_arg_expr): Encode original type of
3897 valist argument in another argument.
3898 (gimplify_modify_expr): Adjust for the above change. Cleanup.
3899 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
3900 to determine the va_list type, build a MEM_REF instead of
3901 build_fold_indirect_ref.
3902
3903 PR tree-optimization/69172
3904 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
3905 gimple_build.
3906
3907 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
3908
3909 PR tree-optimization/67781
3910 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
3911 and cmpnop in two steps: first the ones not accessed in original
3912 gimple expression in a endian independent way and then the ones not
3913 accessed in the final result in an endian-specific way.
3914
3915 2016-01-08 Jakub Jelinek <jakub@redhat.com>
3916
3917 PR tree-optimization/69083
3918 * tree-vect-slp.c (vect_get_constant_vectors): For
3919 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
3920 element type. If op is fold_convertible_p to vector_type's element
3921 type, use NOP_EXPR instead of VCE.
3922
3923 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
3924
3925 PR rtl-optimization/67778
3926 PR rtl-optimization/68634
3927 PR rtl-optimization/68909
3928 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
3929 block from the stack until done with it. Remove a superfluous
3930 bitmap set. Remove a superfluous bitmap test.
3931
3932 2016-01-07 Martin Sebor <msebor@redhat.com>
3933
3934 PR c/68966
3935 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
3936 constraint on the type of arguments.
3937
3938 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
3939
3940 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
3941 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
3942 unaligned_access on the gcc_options set.
3943 * config/arm/arm.c (arm_option_override_internal): Use
3944 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
3945
3946 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
3947
3948 PR target/69140
3949 * config/i386/i386.c (ix86_frame_pointer_required): Enable
3950 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
3951
3952 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
3953
3954 Revert
3955 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
3956
3957 PR target/69140
3958 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
3959 depending on frame_pointer_needed before remaining integer and SSE
3960 registers are saved.
3961
3962 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
3963
3964 PR 1078
3965 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
3966
3967 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
3968
3969 PR target/69171
3970 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
3971 Use the "xBm" constraint.
3972 (float<sseintvecmodelower><mode>2<mask_name><round_name):
3973 Likewise.
3974 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
3975 (sse_cvtsi2ssq<round_name>): Likewise.
3976 (sse_cvtss2si<round_name>): Likewise.
3977 (sse_cvtss2siq<round_name>): Likewise.
3978 (sse2_cvtsi2sdq<round_name>): Likewise.
3979 (sse2_cvtsd2si<round_name>): Likewise.
3980 (sse2_cvtsd2siq<round_name>): Likewise.
3981 * config/i386/subst.md (round_nimm_scalar_predicate): New
3982 predicate.
3983
3984 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
3985
3986 PR middle-end/67639
3987 * varasm.c (make_decl_rtl): Mark invalid register vars as
3988 DECL_EXTERNAL.
3989
3990 PR rtl-optimization/66206
3991 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
3992 All callers changed.
3993
3994 2016-01-07 Jakub Jelinek <jakub@redhat.com>
3995
3996 PR tree-optimization/69141
3997 * tree-ssa-pre.c: Include langhooks.h.
3998 (eliminate_dom_walker::before_dom_children): Use
3999 lang_hooks.decl_printable_name instead of
4000 cgraph_node::get ()->name ().
4001
4002 PR middle-end/68960
4003 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
4004 it and DECL_ALIGN too.
4005
4006 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
4007
4008 * config/mips/mips-ftypes.def: Sort to lexicographical order.
4009
4010 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
4011
4012 PR target/69140
4013 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
4014 depending on frame_pointer_needed before remaining integer and SSE
4015 registers are saved.
4016
4017 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4018
4019 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
4020 mode iterator with VSX_M2.
4021 (*p9_vecstore_<mode>): Likewise.
4022 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
4023 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
4024 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
4025 (define_split for VSX_LE128 stores): Likewise.
4026 (define_peephole2 for TImode LE swaps): Likewise.
4027 (define_split for VSX_LE128 post-reload stores): Likewise.
4028
4029 2016-01-06 Marek Polacek <polacek@redhat.com>
4030
4031 PR sanitizer/69099
4032 * convert.c (convert_to_integer_1): Adjust call to
4033 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
4034 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
4035 EXPR instead of ARG.
4036 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
4037
4038 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4039
4040 PR 1078
4041 * doc/extend.texi (RL78 Variable Attributes): New section.
4042
4043 2016-01-05 Marek Polacek <polacek@redhat.com>
4044
4045 PR c/69104
4046 * builtins.c (get_memmodel): Use expansion point location rather than
4047 the input location. Call warning_at rather than warning.
4048 (expand_builtin_atomic_compare_exchange): Likewise.
4049 (expand_builtin_atomic_load): Likewise.
4050 (expand_builtin_atomic_store): Likewise.
4051 (expand_builtin_atomic_clear): Likewise.
4052
4053 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
4054
4055 PR target/68991
4056 * config/i386/i386.c (ix86_expand_vector_logical_operator):
4057 Replace nonimmediate_operand with vector_operand.
4058 * config/i386/predicates.md (vector_operand): New predicate.
4059 (general_vector_operand): Replace nonimmediate_operand with
4060 vector_operand.
4061 * config/i386/sse.md: Replace nonimmediate_operand with
4062 vector_operand and m constraint with Bm constraint on SSE
4063 patterns with 16-byte memory operand.
4064 * config/i386/subst.md (round_nimm_predicate): Replace
4065 nonimmediate_operand with vector_operand.
4066 (round_saeonly_nimm_predicate): Likewise.
4067 (round_saeonly_nimm_scalar_predicate): New.
4068
4069 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
4070
4071 PR target/68991
4072 * config/i386/constraints.md (Bm): New constraint.
4073 * config/i386/predicates.md (vector_memory_operand): New
4074 predicate.
4075 * config/i386/sse.md: Replace xm with xBm in plusminus and
4076 any_logic patterns.
4077
4078 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4079
4080 PR 1078
4081 * doc/extend.texi (V850 Function Attributes): New section.
4082 (V850 Variable Attributes): New section.
4083
4084 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
4085
4086 PR 1078
4087 * doc/extend.texi (MicroBlaze Function Attributes): Document
4088 interrupt_handler and fast_interrupt attributes.
4089
4090 2016-01-05 Sergei Trofimovich <siarheit@google.com>
4091
4092 PR other/60465
4093 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
4094 for local symbolic operands.
4095 * config/ia64/predicates.md (local_symbolic_operand64): New
4096 predicate.
4097
4098 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4099
4100 PR rtl-optimization/68651
4101 * combine.c (combine_simplify_rtx): Canonicalize x + x into
4102 x << 1.
4103
4104 2016-01-05 Nathan Sidwell <nathan@acm.org>
4105
4106 * alias.c (compare_base_decls): Use symtab_node::get.
4107
4108 2016-01-05 Nick Clifton <nickc@redhat.com>
4109
4110 PR target/68770
4111 * ira-costs.c (copy_cost): Initialise the t_icode field of the
4112 secondary_reload_info structure.
4113
4114 PR target/66655
4115 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
4116 decls if weak support is available.
4117
4118 2016-01-04 Martin Sebor <msebor@redhat.com>
4119
4120 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
4121
4122 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
4123
4124 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
4125 OPTION_MASK_P9_DFORM.
4126
4127 * config/rs6000/constraints.md (wo constraint): New constraint for
4128 ISA 3.0 (power9).
4129
4130 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
4131 for wo constraint.
4132 (rs6000_init_hard_regno_mode_ok): Likewise.
4133
4134 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
4135 wo constraint.
4136
4137 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
4138 expanders not to have constraints. Add support for ISA 3.0 xxperm
4139 instruction. Add support for fusing xxlor with xxperm.
4140 (altivec_vperm_<mode>_internal): Likewise.
4141 (altivec_vperm_v8hiv16qi): Likewise.
4142 (altivec_vperm_<mode>v16q): Likewise.
4143 (altivec_vperm_<mode>_uns): Likewise.
4144 (vperm_v8hiv4si): Likewise.
4145 (vperm_v16qiv8hi): Likewise.
4146
4147 * doc/md.texi (RS/6000 constraints): Document wo constraint.
4148
4149 2016-01-04 Jakub Jelinek <jakub@redhat.com>
4150
4151 Update copyright years.
4152
4153 * gcc.c (process_command): Update copyright notice dates.
4154 * gcov-dump.c (print_version): Ditto.
4155 * gcov.c (print_version): Ditto.
4156 * gcov-tool.c (print_version): Ditto.
4157 * gengtype.c (create_file): Ditto.
4158 * doc/cpp.texi: Bump @copying's copyright year.
4159 * doc/cppinternals.texi: Ditto.
4160 * doc/gcc.texi: Ditto.
4161 * doc/gccint.texi: Ditto.
4162 * doc/gcov.texi: Ditto.
4163 * doc/install.texi: Ditto.
4164 * doc/invoke.texi: Ditto.
4165
4166 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4167
4168 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
4169 modes larger than TImode as TImode if NEON is not enabled.
4170
4171 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4172
4173 PR target/69100
4174 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
4175 mode for %f0-%f31 only if TARGET_FPU.
4176
4177 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
4178
4179 PR target/69072
4180 * config/sparc/sparc.c (scan_record_type): Take into account subfields
4181 to compute the PACKED_P predicate.
4182 (function_arg_record_value): Minor tweaks.
4183
4184 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
4185
4186 * doc/install.texi (--with-multilib-list): Describe the meaning of the
4187 option for arm*-*-* targets.
4188
4189 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
4190
4191 * doc/extend.texi (Common Function Attributes): Move docs for
4192 MSP430-specific attributes to....
4193 (MSP430 Function Attributes): ...here. Delete the redundant
4194 entries and copy-edit the remaining text.
4195 (MSP430 Variable Attributes): Use uniform format for index
4196 entries and add a cross-reference to the corresponding function
4197 attribute docs.
4198
4199 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
4200
4201 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
4202 -finite-math typo.
4203 (x86 Options): Likewise.
4204
4205 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
4206
4207 PR 1078
4208
4209 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
4210 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
4211 to corresponding attribute.
4212
4213 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
4214
4215 * doc/extend.texi (Common Function Attributes) <noplt>: Move
4216 to correct alphabetization of table. Copy-edit and correct
4217 markup.
4218 <stack_protect>: Likewise.
4219 <target_clones>: Likewise.
4220 <simd>: Likewise.
4221 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
4222 Correct punctuation.
4223 (Code Gen Options) <-fno-plt>: Copy-edit.
4224
4225 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
4226
4227 PR target/68917
4228 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
4229 SI values. Explicitly convert SI to DI and vice-versa.
4230
4231 2016-01-01 Jakub Jelinek <jakub@redhat.com>
4232
4233 PR tree-optimization/69070
4234 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
4235 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
4236
4237 PR sanitizer/69055
4238 * ubsan.c (ubsan_instrument_float_cast): Call
4239 initialize_sanitizer_builtins.
4240
4241 PR target/69015
4242 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
4243 \f
4244 Copyright (C) 2016 Free Software Foundation, Inc.
4245
4246 Copying and distribution of this file, with or without modification,
4247 are permitted in any medium without royalty provided the copyright
4248 notice and this notice are preserved.