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