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