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