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