[ARC] Don't use drsub* instructions when selecting fpuda.
[gcc.git] / gcc / ChangeLog
1 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
2
3 * config/arc/arc.md (cpu_facility): Add fpx variant.
4 (subdf3): Prohibit use reverse sub when assist operations option
5 is enabled.
6 * config/arc/fpx.md (subdf3_insn, *dsubh_peep2_insn): Allow drsub
7 instructions only when FPX is enabled.
8 * testsuite/gcc.target/arc/trsub.c: New test.
9
10 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
11
12 * config/i386/i386.md (*fop_<mode>_1_mixed): Do not check for
13 mult_operator when calculating "type" attribute.
14 (*fop_<mode>_1_i387): Ditto.
15 (*fop_xf_1_i387): Ditto.
16 (x87 stack loads peephole2): Add "reg = op (mem, reg)" peephole2.
17 Use std::swap to swap operands. Use RTL expressions to generate
18 converted pattern.
19
20 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
21 Joern Rennecke <joern.rennecke@embecosm.com>
22
23 * config/arc/arc-protos.h (arc_legitimize_pic_address): Remove
24 declaration.
25 (emit_pic_move): Remove.
26 (arc_eh_uses, insn_is_tls_gd_dispatch): Declare.
27 * config/arc/arc.c (emit_pic_move): Removed.
28 (TARGET_HAVE_TLS): Define.
29 (arc_conditional_register_usage): Test for arc_tp_regno.
30 (arc_print_operand, arc_print_operand_address): Handle TLS
31 unspecs.
32 (arc_needs_pcl_p): New function.
33 (arc_legitimate_pc_offset_p): Use arc_needs_pcl_p.
34 (arc_legitimate_pic_addr_p): Handle TLS unspecs.
35 (arc_raw_symbolic_reference_mentioned_p): Likewise.
36 (arc_get_tp, arc_emit_call_tls_get_addr): New function.
37 (arc_legitimize_tls_address): Likewise.
38 (DTPOFF_ZERO_SYM): Define.
39 (arc_legitimize_pic_address): Make it static, handle TLS cases.
40 (arc_output_pic_addr_const): Print TLS unspecs.
41 (prepare_pic_move): New function, replaces emit_pic_move.
42 (arc_legitimate_constant_p): Handle TLS unspecs.
43 (arc_legitimate_address_p): Likewise.
44 (arc_rewrite_small_data_p): Use assert for TLS constants.
45 (prepare_move_operands): Use prepare_pic_move.
46 (arc_legitimize_address): Legitimize tls addresses.
47 (arc_epilogue_uses): Check for arc_tp_regno.
48 (arc_eh_uses, insn_is_tls_gd_dispatch): New function.
49 * config/arc/arc.h [DEFAULT_LIBC != LIBC_UCLIBC] (EXTRA_SPECS):
50 Define.
51 [DEFAULT_LIBC != LIBC_UCLIBC] (ARC_TLS_EXTRA_START_SPEC):
52 Likewise.
53 [DEFAULT_LIBC != LIBC_UCLIBC] (STARTFILE_SPEC): Add
54 %(arc_tls_extra_start_spec).
55 (TARGET_CPU_CPP_BUILTINS): Define __ARC_TLS_REGNO__.
56 (REGNO_OK_FOR_BASE_P): Check for arc_tp_regno.
57 (EH_USES): Define.
58 (INSN_REFERENCES_ARE_DELAYED): Use insn_is_tls_gd_dispatch.
59 * config/arc/arc.md (UNSPEC_TLS_GD, UNSPEC_TLS_LD, UNSPEC_TLS_IE)
60 (UNSPEC_TLS_OFF): Add.
61 (R10_REG): Define.
62 (tls_load_tp_soft, tls_gd_load, tls_gd_get_addr, tls_gd_dispatch)
63 (get_thread_pointersi): New patterns.
64 * config/arc/arc.opt (mtp-regno): New option.
65 * config/arc/predicates.md (move_src_operand): Handle TLS symbols.
66 (move_dest_operand): Likewise.
67 * configure: Regenerate.
68 * configure.ac: Add arc*-*-* case to test for tls.
69 * doc/invoke.texi (ARC options): Document mtp-regno.
70
71 2016-04-28 Claudiu Zissulescu <claziss@synopsys.com>
72
73 * config/arc/arc.c (arc_vector_mode_supported_p): Add support for
74 the new ARC HS SIMD instructions.
75 (arc_preferred_simd_mode): New function.
76 (arc_autovectorize_vector_sizes): Likewise.
77 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
78 (TARGET_VECTORIZE_AUTOVECTORIZE_VECTOR_SIZES): Define.
79 (arc_init_reg_tables): Accept new ARC HS SIMD modes.
80 (arc_init_builtins): Add new SIMD builtin types.
81 (arc_split_move): Handle 64 bit vector moves.
82 * config/arc/arc.h (TARGET_PLUS_DMPY, TARGET_PLUS_MACD)
83 (TARGET_PLUS_QMACW): Define.
84 * config/arc/builtins.def (QMACH, QMACHU, QMPYH, QMPYHU, DMACH)
85 (DMACHU, DMPYH, DMPYHU, DMACWH, DMACWHU, VMAC2H, VMAC2HU, VMPY2H)
86 (VMPY2HU, VADDSUB2H, VSUBADD2H, VADDSUB, VSUBADD, VADDSUB4H)
87 (VSUBADD4H): New builtins.
88 * config/arc/simdext.md: Add new ARC HS SIMD instructions.
89 * testsuite/gcc.target/arc/builtin_simdarc.c: New file.
90
91 2016-04-28 Eduard Sanou <dhole@openmailbox.org>
92 Matthias Klose <doko@debian.org>
93
94 * doc/cppenv.texi: Document SOURCE_DATE_EPOCH environment variable.
95
96 2016-04-28 Richard Biener <rguenther@suse.de>
97
98 PR middle-end/70777
99 * fold-const.c (fold_binary_loc): Remove x*x to pow(x,2.0)
100 canonicalization.
101
102 2016-04-28 Oleg Endo <olegendo@gcc.gnu.org>
103
104 * common/config/sh/sh-common.c: Remove SH5 support.
105 * config/sh/constraints.md: Likewise.
106 * config/sh/config/sh/elf.h: Likewise.
107 * config/sh/linux.h: Likewise.
108 * config/sh/netbsd-elf.h: Likewise.
109 * config/sh/predicates.md: Likewise.
110 * config/sh/sh-c.c: Likewise.
111 * config/sh/sh-protos.h: Likewise.
112 * config/sh/sh.c: Likewise.
113 * config/sh/sh.h: Likewise.
114 * config/sh/sh.md: Likewise.
115 * config/sh/sh.opt: Likewise.
116 * config/sh/sync.md: Likewise.
117 * config/sh/sh64.h: Delete.
118 * config/sh/shmedia.h: Likewise.
119 * config/sh/shmedia.md: Likewise.
120 * config/sh/sshmedia.h: Likewise.
121 * config/sh/t-netbsd-sh5-64: Likewise.
122 * config/sh/t-sh64: Likewise.
123 * config/sh/ushmedia.h: Likewise.
124
125 2016-04-28 Uros Bizjak <ubizjak@gmail.com>
126
127 * config/i386/i386.md (sign_extend to memory peephole2s): Use
128 general_reg_operand instead of register_operand predicate.
129
130 2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
131
132 * params.def (MIN_PARTITION_SIZE): Set default value to 10000.
133
134 2016-04-27 Marc Glisse <marc.glisse@inria.fr>
135
136 * match.pd (A - B > A, A + B < A): New transformations.
137
138 2016-04-27 Patrick Palka <ppalka@gcc.gnu.org>
139
140 * genattrtab.c (write_test_expr): New parameter EMIT_PARENS
141 which defaults to true. Emit an outer pair of parentheses only if
142 EMIT_PARENS. When continuing a chain of && or || (or & or |),
143 don't emit parentheses for the right-hand operand.
144
145 2016-04-27 Jeff Law <law@redhat.com>
146
147 * tree-ssa-dom.c (record_temporary_equivalences): Fix typo in comment.
148
149 2016-04-27 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
150
151 * config/rs6000/altivec.md (altivec_lvx_<mode>): Remove.
152 (altivec_lvx_<mode>_internal): Document.
153 (altivec_lvx_<mode>_2op): New define_insn.
154 (altivec_lvx_<mode>_1op): Likewise.
155 (altivec_lvx_<mode>_2op_si): Likewise.
156 (altivec_lvx_<mode>_1op_si): Likewise.
157 (altivec_stvx_<mode>): Remove.
158 (altivec_stvx_<mode>_internal): Document.
159 (altivec_stvx_<mode>_2op): New define_insn.
160 (altivec_stvx_<mode>_1op): Likewise.
161 (altivec_stvx_<mode>_2op_si): Likewise.
162 (altivec_stvx_<mode>_1op_si): Likewise.
163 * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
164 Expand vec_ld and vec_st during parsing.
165 * config/rs6000/rs6000.c (altivec_expand_lvx_be): Commentary
166 changes.
167 (altivec_expand_stvx_be): Likewise.
168 (altivec_expand_lv_builtin): Expand lvx built-ins to expose the
169 address-masking behavior in RTL.
170 (altivec_expand_stv_builtin): Expand stvx built-ins to expose the
171 address-masking behavior in RTL.
172 (altivec_expand_builtin): Change builtin code arguments for calls
173 to altivec_expand_stv_builtin and altivec_expand_lv_builtin.
174 (insn_is_swappable_p): Avoid incorrect swap optimization in the
175 presence of lvx/stvx patterns.
176 (alignment_with_canonical_addr): New function.
177 (alignment_mask): Likewise.
178 (find_alignment_op): Likewise.
179 (recombine_lvx_pattern): Likewise.
180 (recombine_stvx_pattern): Likewise.
181 (recombine_lvx_stvx_patterns): Likewise.
182 (rs6000_analyze_swaps): Perform a pre-pass to recognize lvx and
183 stvx patterns from expand.
184 * config/rs6000/vector.md (vector_altivec_load_<mode>): Use new
185 expansions.
186 (vector_altivec_store_<mode>): Likewise.
187
188 2016-04-26 Evandro Menezes <e.menezes@samsung.com>
189
190 * config/aarch64/aarch64.md
191 (*movhf_aarch64): Add "movi %0, #0" to zero up register and
192 remove the "fp" attributes.
193 (*movsf_aarch64): Add "movi %0, #0" to zero up register and
194 add the "simd" attributes.
195 (*movdf_aarch64): Likewise.
196 (*movtf_aarch64): Remove the "fp" attributes.
197 * testsuite/gcc.target/aarch64/fmovf-zero-reg.c: Update accordingly.
198 * testsuite/gcc.target/aarch64/fmovd-zero-reg.c: Likewise.
199
200 2016-04-27 David Malcolm <dmalcolm@redhat.com>
201
202 * emit-rtl.c (maybe_set_first_label_num): Strengthen param from
203 rtx to rtx_code_label *.
204 * rtl.h (maybe_set_first_label_num): Likewise.
205
206 2016-04-27 David Malcolm <dmalcolm@redhat.com>
207
208 * df-core.c (df_add_problem): Make the problem param be const.
209 (df_remove_problem): Make local "problem" be const.
210 * df-problems.c (problem_RD): Make const.
211 (problem_LR): Likewise.
212 (problem_LIVE): Likewise.
213 (problem_MIR): Likewise.
214 (problem_CHAIN): Likewise.
215 (problem_WORD_LR): Likewise.
216 (problem_NOTE): Likewise.
217 (problem_MD): Likewise.
218 * df-scan.c (problem_SCAN): Likewise.
219 * df.h (struct df_problem): Make field "dependent_problem" be
220 const.
221 (struct dataflow): Likewise for field "problem".
222 (df_add_problem): Make param const.
223
224 2016-04-27 Uros Bizjak <ubizjak@gmail.com>
225
226 * config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
227 inter-unit moves to/from vector registers are enabled. Do not disable
228 for TARGET_MMX.
229
230 2016-04-27 David Malcolm <dmalcolm@redhat.com>
231
232 * df.h (DF_SCAN, DF_LR, DF_LIVE, DF_RD, DF_CHAIN, DF_WORD_LR,
233 DF_NOTE, DF_MD, DF_MIR, DF_LAST_PROBLEM_PLUS1): Convert from
234 #define to...
235 (enum df_problem_id): ...this new enum.
236 (struct df_problem): Convert field "id" from "int" to
237 enum df_problem_id.
238
239 2016-04-27 David Malcolm <dmalcolm@redhat.com>
240
241 * rtl.def: Update comment for "things in the instruction chain" to
242 reflect the removal of the leading "i" field for INSN_UID in
243 r210360. Fix bogus apostrophe.
244
245 2016-04-27 Uros Bizjak <ubizjak@gmail.com>
246
247 * config/i386/i386.c (ix86_spill_class): Enable for TARGET_SSE2 when
248 inter-unit moves to/from vector registers are enabled. Do not disable
249 for TARGET_MMX.
250
251 2016-04-27 Uros Bizjak <ubizjak@gmail.com>
252
253 * config/i386/i386.md
254 (lea arith with mem operand + setcc peephole2): Set operator mode.
255
256 2016-04-27 H.J. Lu <hongjiu.lu@intel.com>
257
258 PR target/70155
259 * config/i386/i386.c (scalar_to_vector_candidate_p): Renamed to ...
260 (dimode_scalar_to_vector_candidate_p): This.
261 (timode_scalar_to_vector_candidate_p): New function.
262 (scalar_to_vector_candidate_p): Likewise.
263 (timode_check_non_convertible_regs): Likewise.
264 (timode_remove_non_convertible_regs): Likewise.
265 (remove_non_convertible_regs): Likewise.
266 (remove_non_convertible_regs): Renamed to ...
267 (dimode_remove_non_convertible_regs): This.
268 (scalar_chain::~scalar_chain): Make it virtual.
269 (scalar_chain::compute_convert_gain): Make it pure virtual.
270 (scalar_chain::mark_dual_mode_def): Likewise.
271 (scalar_chain::convert_insn): Likewise.
272 (scalar_chain::convert_registers): Likewise.
273 (scalar_chain::add_to_queue): Make it protected.
274 (scalar_chain::emit_conversion_insns): Likewise.
275 (scalar_chain::replace_with_subreg): Likewise.
276 (scalar_chain::replace_with_subreg_in_insn): Likewise.
277 (scalar_chain::convert_op): Likewise.
278 (scalar_chain::convert_reg): Likewise.
279 (scalar_chain::make_vector_copies): Likewise.
280 (scalar_chain::convert_registers): New pure virtual function.
281 (class dimode_scalar_chain): New class.
282 (class timode_scalar_chain): Likewise.
283 (scalar_chain::mark_dual_mode_def): Renamed to ...
284 (dimode_scalar_chain::mark_dual_mode_def): This.
285 (timode_scalar_chain::mark_dual_mode_def): New function.
286 (timode_scalar_chain::convert_insn): Likewise.
287 (dimode_scalar_chain::convert_registers): Likewise.
288 (scalar_chain::compute_convert_gain): Renamed to ...
289 (dimode_scalar_chain::compute_convert_gain): This.
290 (scalar_chain::replace_with_subreg): Renamed to ...
291 (dimode_scalar_chain::replace_with_subreg): This.
292 (scalar_chain::replace_with_subreg_in_insn): Renamed to ...
293 (dimode_scalar_chain::replace_with_subreg_in_insn): This.
294 (scalar_chain::make_vector_copies): Renamed to ...
295 (dimode_scalar_chain::make_vector_copies): This.
296 (scalar_chain::convert_reg): Renamed to ...
297 (dimode_scalar_chain::convert_reg ): This.
298 (scalar_chain::convert_op): Renamed to ...
299 (dimode_scalar_chain::convert_op): This.
300 (scalar_chain::convert_insn): Renamed to ...
301 (dimode_scalar_chain::convert_insn): This.
302 (scalar_chain::convert): Call convert_registers.
303 (convert_scalars_to_vector): Change to scalar_chain pointer to
304 use timode_scalar_chain in 64-bit mode and dimode_scalar_chain
305 in 32-bit mode. Delete scalar_chain pointer. Call
306 free_dominance_info in 64-bit mode.
307 (pass_stv::gate): Remove TARGET_64BIT check.
308 (ix86_option_override): Put the 64-bit STV pass before the CSE
309 pass.
310
311 2016-04-27 Pierre-Marie de Rodat <derodat@adacore.com>
312
313 * dwarf2out.h (struct dw_loc_descr_node): Remove the
314 dw_loc_frame_offset field.
315 * dwarf2out.c (new_loc_descr): Likewise.
316 (resolve_args_picking_1): Turn the VISITED hash set into a
317 FRAME_OFFSET hash map. Use it to associate a frame offset to
318 visited nodes. Remove uses of the CHECKING_P macro.
319 (resolve_args_picking): Update call to resolve_args_picking_1.
320
321 2016-04-27 Martin Liska <mliska@suse.cz>
322
323 * tree-ssa-loop-ivopts.c (iv_ca_dump): Fix level of indentation.
324 (free_loop_data): Release vuses of groups.
325
326 2016-04-27 Bin Cheng <bin.cheng@arm.com>
327
328 * tree-ssa-loop-ivopts.c (struct iv): Use pointer to struct iv_use
329 instead of redundant use_id and boolean have_use_for.
330 (struct iv_use): Change sub_id into group_id. Remove field next.
331 Move fields: related_cands, n_map_members, cost_map and selected
332 to ...
333 (struct iv_group): ... here. New structure.
334 (struct iv_common_cand): Use structure declaration directly.
335 (struct ivopts_data, iv_ca, iv_ca_delta): Rename fields.
336 (MAX_CONSIDERED_USES): Rename macro to ...
337 (MAX_CONSIDERED_GROUPS): ... here.
338 (n_iv_uses, iv_use, n_iv_cands, iv_cand): Delete.
339 (dump_iv, dump_use, dump_cand): Refactor format of dump information.
340 (dump_uses): Rename to ...
341 (dump_groups): ... here. Update all uses.
342 (tree_ssa_iv_optimize_init, alloc_iv): Update all uses.
343 (find_induction_variables): Refactor format of dump information.
344 (record_sub_use): Delete.
345 (record_use): Update all uses.
346 (record_group): New function.
347 (record_group_use, find_interesting_uses_op): Call above functions.
348 Update all uses.
349 (find_interesting_uses_cond): Ditto.
350 (group_compare_offset): New function.
351 (split_all_small_groups): Rename to ...
352 (split_small_address_groups_p): ... here. Update all uses.
353 (split_address_groups): Update all uses.
354 (find_interesting_uses): Refactor format of dump information.
355 (add_candidate_1): Update all uses. Remove redundant check on iv,
356 base and step.
357 (add_candidate, record_common_cand): Remove redundant assert.
358 (add_iv_candidate_for_biv): Update use.
359 (add_iv_candidate_derived_from_uses): Update all uses.
360 (add_iv_candidate_for_groups, record_important_candidates): Ditto.
361 (alloc_use_cost_map): Ditto.
362 (set_use_iv_cost, get_use_iv_cost): Rename to ...
363 (set_group_iv_cost, get_group_iv_cost): ... here. Update all uses.
364 (determine_use_iv_cost_generic): Ditto.
365 (determine_group_iv_cost_generic): Ditto.
366 (determine_use_iv_cost_address): Ditto.
367 (determine_group_iv_cost_address): Ditto.
368 (determine_use_iv_cost_condition): Ditto.
369 (determine_group_iv_cost_cond): Ditto.
370 (determine_use_iv_cost): Ditto.
371 (determine_group_iv_cost): Ditto.
372 (set_autoinc_for_original_candidates): Update all uses.
373 (find_iv_candidates): Update all uses. Refactor dump information.
374 (determine_use_iv_costs): Ditto.
375 (determine_iv_costs): Ditto.
376 (iv_ca_cand_for_use): Rename to ...
377 (iv_ca_cand_for_group): ... here. Update all uses.
378 (iv_ca_add_use, iv_ca_add_group): Ditto.
379 (iv_ca_set_cp, iv_ca_cost, iv_ca_delta_add): Update all uses.
380 (iv_ca_delta_join, iv_ca_delta_reverse, iv_ca_delta_free): Ditto.
381 (iv_ca_new, iv_ca_dump, iv_ca_extend, iv_ca_narrow): Ditto.
382 (iv_ca_prune, cheaper_cost_with_cand, iv_ca_replace): Ditto.
383 (try_add_cand_for, try_improve_iv_set, find_optimal_iv_set): Ditto.
384 (create_new_iv, adjust_iv_update_pos): Ditto.
385 (rewrite_use_address): Delete.
386 (rewrite_use_address_1): Rename to ...
387 (rewrite_use_address): ... here.
388 (rewrite_use_compare): Update all uses.
389 (rewrite_use): Delete.
390 (rewrite_uses): Rename to ...
391 (rewrite_groups): ... here. Update all uses.
392 (remove_unused_ivs, free_loop_data): Update all uses.
393 (tree_ssa_iv_optimize_finalize, tree_ssa_iv_optimize_loop): Ditto.
394
395 2016-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
396
397 * rtlanal.c (nonzero_bits1): Convert preprocessor check
398 for WORD_REGISTER_OPERATIONS to runtime check.
399
400 2016-04-27 Richard Biener <rguenther@suse.de>
401
402 PR ipa/70760
403 * tree-ssa-structalias.c (find_func_aliases_for_call): Use
404 aggregate_value_p to determine if a function result is
405 returned by reference.
406 (ipa_pta_execute): Functions having their address taken are
407 not automatically nonlocal.
408
409 2016-04-27 Jakub Jelinek <jakub@redhat.com>
410
411 PR sanitizer/70683
412 * tree-core.h (enum operand_equal_flag): Add OEP_NO_HASH_CHECK.
413 * fold-const.c (operand_equal_p): If flag_checking and
414 OEP_NO_HASH_CHECK is not set in flag, recurse with OEP_NO_HASH_CHECK
415 and if it returns non-zero, assert iterative_hash_expr on both
416 args is the same.
417
418 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
419
420 * doc/invoke.texi (-frename-registers): Also enabled at -Os.
421
422 2016-04-27 Nick Clifton <nickc@redhat.com>
423
424 PR middle-end/49889
425 * varasm.c (merge_weak): Generate an error if an attempt is made
426 to convert a non-weak static function into a weak, public function.
427
428 2016-04-27 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
429
430 * params.def (MAX_PARTITION_SIZE): New param.
431 * doc/invoke.texi: Document lto-max-partition.
432
433 2016-04-27 Richard Biener <rguenther@suse.de>
434
435 PR ipa/70785
436 * tree-ssa-structalias.c (refered_from_nonlocal_fn): New
437 function cummulating used_from_other_partition, externally_visible
438 and force_output from aliases.
439 (refered_from_nonlocal_var): Likewise.
440 (ipa_pta_execute): Use call_for_symbol_and_aliases to cummulate
441 node flags properly.
442
443 2016-04-27 Bernd Schmidt <bschmidt@redhat.com>
444
445 * doc/invoke.texi (Warning Options): Add -Wmemset-elt-size.
446 (-Wmemset-elt-size): New item.
447
448 2016-04-27 Eric Botcazou <ebotcazou@adacore.com>
449
450 PR ada/70759
451 * stor-layout.h (internal_reference_types): Delete.
452 * stor-layout.c (reference_types_internal): Likewise.
453 (internal_reference_types): Likewise.
454 (layout_type) <REFERENCE_TYPE>: Adjust.
455
456 2016-04-27 Jakub Jelinek <jakub@redhat.com>
457
458 PR sanitizer/70683
459 * tree.h (inchash::add_expr): Add FLAGS argument.
460 * tree.c (inchash::add_expr): Likewise. If not OEP_ADDRESS_OF,
461 use STRIP_NOPS first. For INTEGER_CST assert not OEP_ADDRESS_OF.
462 For REAL_CST and !HONOR_SIGNED_ZEROS (t) hash +/- 0 the same.
463 Formatting fix. Adjust recursive calls. For tcc_comparison,
464 if swap_tree_comparison (code) is smaller than code, hash that
465 and arguments in the other order. Hash CONVERT_EXPR the same
466 as NOP_EXPR. For OEP_ADDRESS_OF hash MEM_REF with 0 offset
467 of ADDR_EXPR of decl as the decl itself. Add or remove
468 OEP_ADDRESS_OF from recursive flags as needed. For
469 FMA_EXPR, WIDEN_MULT_{PLUS,MINUS}_EXPR hash the first two
470 operands commutatively and only the third one normally.
471 For internal CALL_EXPR hash in CALL_EXPR_IFN.
472
473 2016-04-27 Sebastian Huber <sebastian.huber@embedded-brains.de>
474
475 * config/rtems.h (LIB_SPEC): Add -latomic.
476
477 2016-04-27 Joel Sherrill <joel@rtems.org>
478
479 * config/microblaze/rtems.h: Redefine LINK_SPEC to avoid
480 xilink.ld and flags not relevant to RTEMS.
481
482 2016-04-26 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
483
484 * toplev.c (backend_init_target): Avoid calling init_reload when using
485 LRA.
486
487 2016-04-26 Jakub Jelinek <jakub@redhat.com>
488
489 * reorg.c (try_merge_delay_insns): Declare i and j inside the
490 for loops rather than one for the whole function.
491
492 2016-04-26 Marc Glisse <marc.glisse@inria.fr>
493
494 * match.pd (X + CST CMP X): New transformation.
495
496 2016-04-26 Marc Glisse <marc.glisse@inria.fr>
497
498 * genmatch.c (write_predicate): Add ATTRIBUTE_UNUSED.
499 * fold-const.c (fold_binary_loc): Remove 2 transformations
500 superseded by match.pd.
501 * match.pd (x+x -> x*2): Generalize to integers.
502
503 2016-04-26 Bernd Schmidt <bschmidt@redhat.com>
504
505 * config/i386/i386.md (operation on memory peephole): Duplicate an
506 existing peephole and adapt it to match lea rather than an operation
507 that clobbers CC.
508
509 PR rtl-optimization/57193
510 * opts.c (default_options_table): Add OPT_frename_registers at -O2
511 and above.
512 * doc/invoke.texi (-frename-registers, -O2): Update documentation.
513
514 2016-04-26 Bin Cheng <bin.cheng@arm.com>
515
516 * tree-if-conv.c (any_pred_load_store): New static variable.
517 (if_convertible_gimple_assign_stmt_p): Remove parameter. Use
518 any_pred_load_store instead of and_mask_load_store.
519 (if_convertible_stmt_p, if_convertible_loop_p_1): Ditto.
520 (if_convertible_loop_p, insert_gimplified_predicates): Ditto.
521 (combine_blocks, tree_if_conversion): Ditto.
522
523 2016-04-26 Bin Cheng <bin.cheng@arm.com>
524
525 PR tree-optimization/70771
526 PR tree-optimization/70775
527 * tree-if-conv.c (if_convertible_phi_p): Remove check on special
528 virtual PHI nodes. Delete parameter.
529 (if_convertible_loop_p_1): Delete argument to above function.
530 (predicate_all_scalar_phis): Delete code handling single-argument
531 PHIs.
532 (tree_if_conversion): Mark and update virtual SSA.
533
534 2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
535
536 PR target/61821
537 * config/i386/i386.c (LARGECOMM_SECTION_ASM_OP): Define default.
538 (x86_elf_aligned_common): Rename to ...
539 (x86_elf_aligned_decl_common): ... this.
540 Add decl arg. Switch to .lbss for largecomm object. Use
541 LARGECOMM_SECTION_ASM_OP.
542 * config/i386/i386-protos.h (x86_elf_aligned_common): Reflect
543 renaming.
544 * config/i386/x86-64.h (ASM_OUTPUT_ALIGNED_COMMON): Rename to ...
545 (ASM_OUTPUT_ALIGNED_DECL_COMMON): ... this.
546 Pass new decl arg.
547 * config/i386/sol2.h (ASM_OUTPUT_ALIGNED_COMMON): Likewise.
548 [!USE_GAS] (LARGECOMM_SECTION_ASM_OP): Define.
549
550 2016-04-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
551
552 PR target/59407
553 * config/i386/i386.c (SECTION_LARGE): Define.
554 (x86_64_elf_select_section): Set it for large data/bss sections.
555 Only clear SECTION_WRITE for .lrodata.
556 (x86_64_elf_section_type_flags): Set SECTION_LARGE for large
557 data/bss sections.
558 * config/i386/sol2.h (MACH_DEP_SECTION_ASM_FLAG): Define.
559 * varasm.c (default_elf_asm_named_section): Grow flagchars.
560 [MACH_DEP_SECTION_ASM_FLAG] Emit MACH_DEP_SECTION_ASM_FLAG for
561 SECTION_MACH_DEP.
562 * doc/tm.texi.in (Sections, MACH_DEP_SECTION_ASM_FLAG): Describe.
563 * doc/tm.texi: Regenerate.
564
565 2016-04-26 Jakub Jelinek <jakub@redhat.com>
566
567 PR bootstrap/70704
568 * configure.ac (--enable-checking): Document extra flag, for
569 non-release builds default to --enable-checking=yes,extra.
570 If misc checking and extra checking, define CHECKING_P to 2 instead
571 of 1.
572 * common.opt (fchecking=): Add.
573 * doc/invoke.texi (-fchecking=): Document.
574 * doc/install.texi: Document --enable-checking changes.
575 * configure: Regenerated.
576 * config.in: Regenerated.
577
578 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
579
580 * config/i386/i386.md (*movxi_internal_avx512f): Use insn type
581 attribute instead of which_alternative.
582 * config/i386/sse.md (*mov<mode>_internal): Ditto.
583 Use EXT_REX_SSE_REG_P where appropriate.
584
585 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
586
587 * config/i386/predicates.md (const0_operand): Do not match
588 const_wide_int code.
589 (const1_operand): Ditto.
590
591 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
592
593 * config/i386/i386.md (*movoi_internal_avx): Set mode attribute to XI
594 for SSE constm1 operands and TARGET_AVX512VL.
595 (*movti_internal): Ditto.
596 (*mov<mode>_or): Use constm1_operand predicate.
597 * config/i386/sse.md (*mov<mode>_internal): Set mode attribute to XI
598 for SSE vector_all_ones operands and TARGET_AVX512VL.
599 * config/i386/predicates.md (constm1_operand): New predicate.
600 * config/i386/i386.c (standard_sse_constant_opcode): Simplify
601 emission of constant -1 load.
602
603 2016-04-25 Jason Merrill <jason@redhat.com>
604
605 * gdbinit.in: Skip is-a.h.
606
607 * attribs.c (register_scoped_attributes): Fix logic.
608 * attribs.h: Declare register_scoped_attributes.
609
610 2016-04-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
611
612 * config/rs6000/rs6000-builtin.def: Correct pasto error for
613 stxvd2x and stxvw4x built-in functions.
614
615 2016-04-25 DJ Delorie <dj@redhat.com>
616
617 * config/msp430/msp430.md (ashlhi3): Optimize one bit shifts.
618 (ashrhi3): Likewise.
619 (lshrhi3): Likewise.
620
621 2016-04-25 Richard Biener <rguenther@suse.de>
622
623 PR tree-optimization/70780
624 * tree-ssa-pre.c (compute_antic_aux): Also return true if the block
625 wasn't visited yet.
626 (compute_antic): Mark blocks with abnormal preds as visited as
627 they have a final empty antic-in solution already.
628
629 2016-04-25 Michael Collison <michael.collison@linaro.org>
630
631 * ChangeLog(2016-04-25): Fix ChangeLog formatting.
632
633 2016-04-25 Michael Collison <michael.collison@linaro.org>
634
635 * config/arm/neon.md (widen_<us>sum<mode>): New patterns where
636 mode is VQI to improve mixed mode vectorization.
637 * config/arm/neon.md (vec_sel_widen_ssum_lo<VQI:mode><VW:mode>3): New
638 define_insn to match low half of signed vaddw.
639 * config/arm/neon.md (vec_sel_widen_ssum_hi<VQI:mode><VW:mode>3): New
640 define_insn to match high half of signed vaddw.
641 * config/arm/neon.md (vec_sel_widen_usum_lo<VQI:mode><VW:mode>3): New
642 define_insn to match low half of unsigned vaddw.
643 * config/arm/neon.md (vec_sel_widen_usum_hi<VQI:mode><VW:mode>3): New
644 define_insn to match high half of unsigned vaddw.
645 * config/arm/arm.c (arm_simd_vect_par_cnst_half): New function.
646 (arm_simd_check_vect_par_cnst_half_p): Likewise.
647 * config/arm/arm-protos.h (arm_simd_vect_par_cnst_half): Prototype
648 for new function.
649 (arm_simd_check_vect_par_cnst_half_p): Likewise.
650 * config/arm/predicates.md (vect_par_constant_high): Support
651 big endian and simplify by calling
652 arm_simd_check_vect_par_cnst_half
653 (vect_par_constant_low): Likewise.
654
655 2016-04-25 Uros Bizjak <ubizjak@gmail.com>
656
657 * config/i386/i386.md (*lea<mode>_general_4): Use const_0_to_3_operand
658 predicate for operand 2.
659
660 2016-04-24 Uros Bizjak <ubizjak@gmail.com>
661 H.J. Lu <hongjiu.lu@intel.com>
662
663 * config/i386/i386-protos.h (standard_sse_constant_p): Add
664 machine_mode argument.
665 * config/i386/i386.c (standard_sse_constant_p): Return 2 for
666 constm1_rtx operands. For VOIDmode constants, get mode from
667 pred_mode. Check mode size if the mode is supported by ABI.
668 (standard_sse_constant_opcode): Do not use standard_constant_p.
669 Strictly check ABI support for all-ones operands.
670 (ix86_legitimate_constant_p): Handle TImode, OImode and XImode
671 immediates. Update calls to standard_sse_constant_p.
672 (ix86_expand_vector_move): Update calls to standard_sse_constant_p.
673 (ix86_rtx_costs): Ditto.
674 * config/i386/i386.md (*movxi_internal_avx512f): Use
675 nonimmediate_or_sse_const_operand instead of vector_move_operand.
676 Use (v,BC) alternative instead of (v,C). Use register_operand
677 checks instead of MEM_P.
678 (*movoi_internal_avx): Use nonimmediate_or_sse_const_operand instead
679 of vector_move_operand. Add (v,BC) alternative and corresponding avx2
680 isa attribute. Use register_operand checks instead of MEM_P.
681 (*movti_internal): Use nonimmediate_or_sse_const_operand for
682 TARGET_SSE. Improve TARGET_SSE insn constraint. Add (v,BC)
683 alternative and corresponding sse2 isa attribute.
684 (*movtf_internal, *movdf_internal, *movsf_interal): Update calls
685 to standard_sse_constant_p.
686 (FP constant splitters): Ditto.
687 * config/i386/constraints.md (BC): Do not use standard_sse_constant_p.
688 (C): Ditto.
689 * config/i386/predicates.md (constm1_operand): Remove.
690 (nonimmediate_or_sse_const_operand): Rewrite using RTX.
691 * config/i386/sse.md (*<avx512>_cvtmask2<ssemodesuffix><mode>): Use
692 vector_all_ones_operand instead of constm1_operand.
693
694 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
695
696 * print-rtl.c (print_rtx_insn_vec): New function.
697 * print-rtl.h: New prototype.
698 * store-motion.c (struct st_expr): Make avail_stores a vector.
699 (st_expr_entry): Adjust.
700 (free_st_expr_entry): Likewise.
701 (print_store_motion_mems): Likewise.
702 (find_moveable_store): Likewise.
703 (compute_store_table): Likewise.
704 (delete_store): Likewise.
705 (build_store_vectors): Likewise.
706
707 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
708
709 * reorg.c (try_merge_delay_insns): Make merged_insns a vector.
710
711 2016-04-24 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
712
713 * vec.h (vec_safe_contains): New function.
714 (vec::contains): Likewise.
715 (vec::begin): Likewise.
716 (vec::end): Likewise.
717
718 2016-04-23 Jakub Jelinek <jakub@redhat.com>
719
720 PR sanitizer/70712
721 * cfgexpand.c (expand_stack_vars): Fix typo.
722
723 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
724
725 * system.h (list, map, set, vector): Include conditionally.
726 * auto-profile.c (INCLUDE_MAP, INCLUDE_SET): Define.
727 * graphite-isl-ast-to-gimple.c (INCLUDE_MAP): Define.
728 * ipa-icf.c (INCLUDE_LIST): Define.
729 * config/aarch64/cortex-a57-fma-steering.c (INCLUDE_LIST): Define.
730 * config/sh/sh.c (INCLUDE_VECTOR): Define.
731 * config/sh/sh_treg_combine.cc (INCLUDE_ALGORITHM): Define.
732 (INCLUDE_LIST, INCLUDE_VECTOR): Define.
733 * cp/logic.cc (INCLUDE_LIST): Define.
734 * fortran/trans-common.c (INCLUDE_MAP): Define.
735
736 2016-04-22 Szabolcs Nagy <szabolcs.nagy@arm.com>
737
738 * auto-profile.c: Remove <string.h> include.
739 * ipa-icf-gimple.c: Remove <list> include.
740 * diagnostic.c: Remove <new> include.
741 * genmatch.c: Likewise.
742 * pretty-print.c: Likewise.
743 * toplev.c: Likewise
744 * c/c-objc-common.c: Likewise.
745 * cp/error.c: Likewise.
746 * fortran/error.c: Likewise.
747
748 2016-04-22 Richard Biener <rguenther@suse.de>
749
750 * lto-streamer-in.c (input_ssa_names): Do not allocate
751 GIMPLE_NOP for all SSA names.
752 * lto-streamer-out.c (output_ssa_names): Do not output
753 SSA names that should have been released.
754
755 2016-04-22 Richard Biener <rguenther@suse.de>
756
757 PR tree-optimization/70740
758 * tree-ssa-phiprop.c (propagate_with_phi): Handle inserted
759 VDEF.
760
761 2016-04-21 H.J. Lu <hongjiu.lu@intel.com>
762
763 PR target/70750
764 * config/i386/predicates.md (call_insn_operand): Replace
765 sibcall_memory_operand with memory_operand.
766
767 2016-04-21 Patrick Palka <ppalka@gcc.gnu.org>
768
769 * tree-vrp.c (register_edge_assert_for_2): Remove redundant
770 has_single_use() tests.
771 (register_edge_assert_for_1): Likewise.
772 (find_assert_locations_1): Check the liveness bitmap instead of
773 checking has_single_use().
774
775 2016-04-21 Kirill Yukhin <kirill.yukhin@intel.com>
776
777 PR target/70728
778 * gcc/config/i386/sse.md (define_insn "<shift_insn><mode>3<mask_name>"):
779 Extract AVX-512BW constraint from AVX.
780
781 2016-04-21 Richard Biener <rguenther@suse.de>
782
783 PR tree-optimization/70725
784 * tree-if-conv.c (if_convertible_phi_p): Adjust guard
785 for phi_convertible_by_degenerating_args.
786 (predicate_all_scalar_phis): Handle single-argument PHIs.
787
788 2016-04-21 Richard Biener <rguenther@suse.de>
789
790 PR middle-end/70747
791 * fold-const.c (fold_comparison): Return properly typed
792 constant boolean.
793
794 2016-04-21 Bin Cheng <bin.cheng@arm.com>
795
796 PR tree-optimization/70715
797 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Check equality
798 after expanding BASE using expand_simple_operations.
799
800 2016-04-21 Marc Glisse <marc.glisse@inria.fr>
801
802 * match.pd (min(-x, -y), max(-x, -y), min(~x, ~y), max(~x, ~y)):
803 New transformations.
804
805 2016-04-21 Marc Glisse <marc.glisse@inria.fr>
806
807 * match.pd (min(int_max, x), max(int_min, x)): New transformations.
808
809 2016-04-20 Jan Hubicka <jh@suse.cz>
810
811 * ipa-inline.c (can_inline_edge_p): Pass caller info to
812 ultiimate_alias_target.
813 (update_callee_keys): Likewise.
814 (lookup_recursive_calls): Likewise.
815 (speculation_useful_p): Likewise.
816
817 2016-04-20 Jan Hubicka <jh@suse.cz>
818
819 PR ipa/70018
820 * cgraph.c (cgraph_set_nothrow_flag_1): Rename to ...
821 (set_nothrow_flag_1): ... this; handle interposition correctly;
822 recurse on aliases and thunks.
823 (cgraph_node::set_nothrow_flag): New.
824 * ipa-pure-const.c (ignore_edge_for_nothrow): Ignore calls to
825 functions compiled with non-call exceptions that binds to current
826 def.
827 (propagate_nothrow): Be safe WRT interposition.
828 * cgraph.h (set_nothrow_flag): Update prototype.
829
830 2016-04-18 Jan Hubicka <jh@suse.cz>
831
832 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
833 max_loop_iterations_int.
834 (tree_unswitch_outer_loop): Likewise.
835
836 2016-04-20 Bin Cheng <bin.cheng@arm.com>
837
838 PR tree-optimization/69489
839 * tree-if-conv.c (phi_convertible_by_degenerating_args): New.
840 (if_convertible_phi_p): Call phi_convertible_by_degenerating_args.
841 Revise dump message.
842 (if_convertible_bb_p): Remove check on edge count of basic block's
843 predecessors.
844
845 2016-04-20 Bin Cheng <bin.cheng@arm.com>
846
847 PR tree-optimization/56625
848 PR tree-optimization/69489
849 * tree-data-ref.h (DR_INNERMOST): New macro.
850 * tree-if-conv.c (innermost_loop_behavior_hash): New class for
851 hashing struct innermost_loop_behavior.
852 (ref_DR_map): Remove.
853 (innermost_DR_map): New map.
854 (baseref_DR_map): Revise comment.
855 (hash_memrefs_baserefs_and_store_DRs_read_written_info): Store DR
856 to innermost_DR_map accroding to its innermost loop behavior.
857 (ifcvt_memrefs_wont_trap): Get DR from innermost_DR_map according
858 to its innermost loop behavior.
859 (if_convertible_loop_p_1): Remove intialization for ref_DR_map.
860 Add initialization for innermost_DR_map. Record memory reference
861 in DR_BASE_ADDRESS if the reference is compound one or it doesn't
862 have innermost loop behavior.
863 (if_convertible_loop_p): Remove release for ref_DR_map. Release
864 innermost_DR_map.
865
866 2016-04-20 Uros Bizjak <ubizjak@gmail.com>
867
868 * config/i386/i386.md (*lea<mode>_general_1): Rename from
869 *lea_general_1. Use explicit SWI12 mode interator.
870 (*lea<mode>_general_2): Rename from *lea_general_2.
871 Use explicit SWI12 mode interator.
872 (*lea<mode>_general_3): Rename from *lea_general_3.
873 Use explicit SWI12 mode interator.
874 (*lea<SWI12:mode>_general_4): Split from *lea_general_4.
875 Use explicit SWI12 mode interator.
876 (*lea<SWI48:mode>_general_4): Split from *lea_general_4.
877 Use explicit SWI48 mode interator.
878
879 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
880
881 * config/i386/i386.c (ix86_avx256_split_vector_move_misalign):
882 Short-cut unaligned load and store cases. Handle all integer
883 vector modes.
884 (ix86_expand_vector_move_misalign): Short-cut unaligned load
885 and store cases. Call ix86_avx256_split_vector_move_misalign
886 directly without checking mode class.
887
888 2016-04-20 Andrew Pinski <apinski@cavium.com>
889 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
890
891 PR target/64971
892 * config/aarch64/aarch64.md (sibcall): Force call
893 address to be DImode for ILP32.
894 (sibcall_value): Likewise.
895
896 2016-04-20 H.J. Lu <hongjiu.lu@intel.com>
897
898 * doc/invoke.texi: Replace -skip-rax-setup with -mskip-rax-setup.
899
900 2016-04-20 Richard Biener <rguenther@suse.de>
901
902 * gimple-match.h (maybe_build_generic_op): Adjust prototype.
903 * gimple-match-head.c (maybe_build_generic_op): Pass all ops
904 by reference, clear op1 and op2 when GENERICizing BIT_FIELD_REF.
905 (maybe_push_res_to_seq): Adjust.
906 * gimple-fold.c (maybe_build_generic_op): Likewise.
907
908 2016-04-20 Marek Polacek <polacek@redhat.com>
909
910 * tree-if-conv.c (is_false_predicate): For NULL_TREE return false
911 rather than true.
912
913 2016-04-20 Ilya Enkovich <ilya.enkovich@intel.com>
914
915 * config/i386/sse.md (vec_unpacks_lo_hi): Always
916 use kmovw to support AVX512F target.
917
918 2016-04-20 Bin Cheng <bin.cheng@arm.com>
919
920 * tree-scalar-evolution.c (interpret_rhs_expr): Handle BIT_AND_EXPR.
921
922 2016-04-20 Marek Polacek <polacek@redhat.com>
923
924 PR tree-optimization/70725
925 * tree-if-conv.c (is_false_predicate): New function.
926 (predicate_mem_writes): Use it.
927
928 2016-04-20 Richard Biener <rguenther@suse.de>
929
930 PR tree-optimization/70726
931 * tree-vect-stmts.c (vectorizable_shift): Do not use scalar
932 shift amounts from a pattern stmt operand.
933
934 2016-04-20 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
935
936 PR target/70674
937 * config/s390/s390.c (s390_restore_gprs_from_fprs): Pick the new
938 stack_restore_from_fpr pattern when restoring r15.
939 (s390_optimize_prologue): Strip away the memory barrier in the
940 parallel when trying to get rid of restore insns.
941 * config/s390/s390.md ("stack_restore_from_fpr"): New insn
942 definition for loading the stack pointer from an FPR. Compared to
943 the normal move insn this pattern includes a full memory barrier.
944
945 2016-04-19 Jakub Jelinek <jakub@redhat.com>
946
947 PR middle-end/70680
948 * gimplify.c (gimplify_omp_for): Call omp_notice_variable for
949 implicitly linear or lastprivate iterator on the outer context.
950
951 2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
952
953 * config/i386/i386.c (ix86_legitimate_combined_insn): Remove
954 alignment check.
955 * config/i386/i386.md (ssememalign): Removed.
956 * config/i386/sse.md: Remove ssememalign attribute from patterns.
957
958 2016-04-19 H.J. Lu <hongjiu.lu@intel.com>
959
960 PR target/69201
961 * config/i386/avx512bwintrin.h (_mm512_mask_loadu_epi16): Pass
962 const short * to __builtin_ia32_loaddquhi512_mask.
963 (_mm512_maskz_loadu_epi16): Likewise.
964 (_mm512_mask_storeu_epi16): Pass short * to
965 __builtin_ia32_storedquhi512_mask.
966 (_mm512_mask_loadu_epi8): Pass const char * to
967 __builtin_ia32_loaddquqi512_mask.
968 (_mm512_maskz_loadu_epi8): Likewise.
969 (_mm512_mask_storeu_epi8): Pass char * to
970 __builtin_ia32_storedquqi512_mask.
971 * config/i386/avx512fintrin.h (_mm512_loadu_pd): Pass
972 const double * to __builtin_ia32_loadupd512_mask.
973 (_mm512_mask_loadu_pd): Likewise.
974 (_mm512_maskz_loadu_pd): Likewise.
975 (_mm512_storeu_pd): Pass double * to
976 __builtin_ia32_storeupd512_mask.
977 (_mm512_mask_storeu_pd): Likewise.
978 (_mm512_loadu_ps): Pass const float * to
979 __builtin_ia32_loadups512_mask.
980 (_mm512_mask_loadu_ps): Likewise.
981 (_mm512_maskz_loadu_ps): Likewise.
982 (_mm512_storeu_ps): Pass float * to
983 __builtin_ia32_storeups512_mask.
984 (_mm512_mask_storeu_ps): Likewise.
985 (_mm512_mask_loadu_epi64): Pass const long long * to
986 __builtin_ia32_loaddqudi512_mask.
987 (_mm512_maskz_loadu_epi64): Likewise.
988 (_mm512_mask_storeu_epi64): Pass long long *
989 to __builtin_ia32_storedqudi512_mask.
990 (_mm512_loadu_si512): Pass const int * to
991 __builtin_ia32_loaddqusi512_mask.
992 (_mm512_mask_loadu_epi32): Likewise.
993 (_mm512_maskz_loadu_epi32): Likewise.
994 (_mm512_storeu_si512): Pass int * to
995 __builtin_ia32_storedqusi512_mask.
996 (_mm512_mask_storeu_epi32): Likewise.
997 * config/i386/avx512vlbwintrin.h (_mm256_mask_storeu_epi8): Pass
998 char * to __builtin_ia32_storedquqi256_mask.
999 (_mm_mask_storeu_epi8): Likewise.
1000 (_mm256_mask_loadu_epi16): Pass const short * to
1001 __builtin_ia32_loaddquhi256_mask.
1002 (_mm256_maskz_loadu_epi16): Likewise.
1003 (_mm_mask_loadu_epi16): Pass const short * to
1004 __builtin_ia32_loaddquhi128_mask.
1005 (_mm_maskz_loadu_epi16): Likewise.
1006 (_mm256_mask_loadu_epi8): Pass const char * to
1007 __builtin_ia32_loaddquqi256_mask.
1008 (_mm256_maskz_loadu_epi8): Likewise.
1009 (_mm_mask_loadu_epi8): Pass const char * to
1010 __builtin_ia32_loaddquqi128_mask.
1011 (_mm_maskz_loadu_epi8): Likewise.
1012 (_mm256_mask_storeu_epi16): Pass short * to.
1013 __builtin_ia32_storedquhi256_mask.
1014 (_mm_mask_storeu_epi16): Pass short * to.
1015 __builtin_ia32_storedquhi128_mask.
1016 * config/i386/avx512vlintrin.h (_mm256_mask_loadu_pd): Pass
1017 const double * to __builtin_ia32_loadupd256_mask.
1018 (_mm256_maskz_loadu_pd): Likewise.
1019 (_mm_mask_loadu_pd): Pass onst double * to
1020 __builtin_ia32_loadupd128_mask.
1021 (_mm_maskz_loadu_pd): Likewise.
1022 (_mm256_mask_storeu_pd): Pass double * to
1023 __builtin_ia32_storeupd256_mask.
1024 (_mm_mask_storeu_pd): Pass double * to
1025 __builtin_ia32_storeupd128_mask.
1026 (_mm256_mask_loadu_ps): Pass const float * to
1027 __builtin_ia32_loadups256_mask.
1028 (_mm256_maskz_loadu_ps): Likewise.
1029 (_mm_mask_loadu_ps): Pass const float * to
1030 __builtin_ia32_loadups128_mask.
1031 (_mm_maskz_loadu_ps): Likewise.
1032 (_mm256_mask_storeu_ps): Pass float * to
1033 __builtin_ia32_storeups256_mask.
1034 (_mm_mask_storeu_ps): ass float * to
1035 __builtin_ia32_storeups128_mask.
1036 (_mm256_mask_loadu_epi64): Pass const long long * to
1037 __builtin_ia32_loaddqudi256_mask.
1038 (_mm256_maskz_loadu_epi64): Likewise.
1039 (_mm_mask_loadu_epi64): Pass const long long * to
1040 __builtin_ia32_loaddqudi128_mask.
1041 (_mm_maskz_loadu_epi64): Likewise.
1042 (_mm256_mask_storeu_epi64): Pass long long * to
1043 __builtin_ia32_storedqudi256_mask.
1044 (_mm_mask_storeu_epi64): Pass long long * to
1045 __builtin_ia32_storedqudi128_mask.
1046 (_mm256_mask_loadu_epi32): Pass const int * to
1047 __builtin_ia32_loaddqusi256_mask.
1048 (_mm256_maskz_loadu_epi32): Likewise.
1049 (_mm_mask_loadu_epi32): Pass const int * to
1050 __builtin_ia32_loaddqusi128_mask.
1051 (_mm_maskz_loadu_epi32): Likewise.
1052 (_mm256_mask_storeu_epi32): Pass int * to
1053 __builtin_ia32_storedqusi256_mask.
1054 (_mm_mask_storeu_epi32): Pass int * to
1055 __builtin_ia32_storedqusi128_mask.
1056 * config/i386/i386-builtin-types.def (PCSHORT): New.
1057 (PINT64): Likewise.
1058 (V64QI_FTYPE_PCCHAR_V64QI_UDI): Likewise.
1059 (V32HI_FTYPE_PCSHORT_V32HI_USI): Likewise.
1060 (V32QI_FTYPE_PCCHAR_V32QI_USI): Likewise.
1061 (V16SF_FTYPE_PCFLOAT_V16SF_UHI): Likewise.
1062 (V8DF_FTYPE_PCDOUBLE_V8DF_UQI): Likewise.
1063 (V16SI_FTYPE_PCINT_V16SI_UHI): Likewise.
1064 (V16HI_FTYPE_PCSHORT_V16HI_UHI): Likewise.
1065 (V16QI_FTYPE_PCCHAR_V16QI_UHI): Likewise.
1066 (V8SF_FTYPE_PCFLOAT_V8SF_UQI): Likewise.
1067 (V8DI_FTYPE_PCINT64_V8DI_UQI): Likewise.
1068 (V8SI_FTYPE_PCINT_V8SI_UQI): Likewise.
1069 (V8HI_FTYPE_PCSHORT_V8HI_UQI): Likewise.
1070 (V4DF_FTYPE_PCDOUBLE_V4DF_UQI): Likewise.
1071 (V4SF_FTYPE_PCFLOAT_V4SF_UQI): Likewise.
1072 (V4DI_FTYPE_PCINT64_V4DI_UQI): Likewise.
1073 (V4SI_FTYPE_PCINT_V4SI_UQI): Likewise.
1074 (V2DF_FTYPE_PCDOUBLE_V2DF_UQI): Likewise.
1075 (V2DI_FTYPE_PCINT64_V2DI_UQI): Likewise.
1076 (VOID_FTYPE_PDOUBLE_V8DF_UQI): Likewise.
1077 (VOID_FTYPE_PDOUBLE_V4DF_UQI): Likewise.
1078 (VOID_FTYPE_PDOUBLE_V2DF_UQI): Likewise.
1079 (VOID_FTYPE_PFLOAT_V16SF_UHI): Likewise.
1080 (VOID_FTYPE_PFLOAT_V8SF_UQI): Likewise.
1081 (VOID_FTYPE_PFLOAT_V4SF_UQI): Likewise.
1082 (VOID_FTYPE_PINT64_V8DI_UQI): Likewise.
1083 (VOID_FTYPE_PINT64_V4DI_UQI): Likewise.
1084 (VOID_FTYPE_PINT64_V2DI_UQI): Likewise.
1085 (VOID_FTYPE_PINT_V16SI_UHI): Likewise.
1086 (VOID_FTYPE_PINT_V8SI_UHI): Likewise.
1087 (VOID_FTYPE_PINT_V4SI_UHI): Likewise.
1088 (VOID_FTYPE_PSHORT_V32HI_USI): Likewise.
1089 (VOID_FTYPE_PSHORT_V16HI_UHI): Likewise.
1090 (VOID_FTYPE_PSHORT_V8HI_UQI): Likewise.
1091 (VOID_FTYPE_PCHAR_V64QI_UDI): Likewise.
1092 (VOID_FTYPE_PCHAR_V32QI_USI): Likewise.
1093 (VOID_FTYPE_PCHAR_V16QI_UHI): Likewise.
1094 (V64QI_FTYPE_PCV64QI_V64QI_UDI): Removed.
1095 (V32HI_FTYPE_PCV32HI_V32HI_USI): Likewise.
1096 (V32QI_FTYPE_PCV32QI_V32QI_USI): Likewise.
1097 (V16HI_FTYPE_PCV16HI_V16HI_UHI): Likewise.
1098 (V16QI_FTYPE_PCV16QI_V16QI_UHI): Likewise.
1099 (V8HI_FTYPE_PCV8HI_V8HI_UQI): Likewise.
1100 (VOID_FTYPE_PV32HI_V32HI_USI): Likewise.
1101 (VOID_FTYPE_PV16HI_V16HI_UHI): Likewise.
1102 (VOID_FTYPE_PV8HI_V8HI_UQI): Likewise.
1103 (VOID_FTYPE_PV64QI_V64QI_UDI): Likewise.
1104 (VOID_FTYPE_PV32QI_V32QI_USI): Likewise.
1105 (VOID_FTYPE_PV16QI_V16QI_UHI): Likewise.
1106 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Don't
1107 use UNSPEC_STOREU.
1108 (ix86_emit_restore_sse_regs_using_mov): Don't use UNSPEC_LOADU.
1109 (ix86_avx256_split_vector_move_misalign): Don't use unaligned
1110 load nor store.
1111 (ix86_expand_vector_move_misalign): Likewise.
1112 (bdesc_special_args): Use CODE_FOR_movvNXY_internal and pointer
1113 to scalar function prototype for unaligned load/store builtins.
1114 (ix86_expand_special_args_builtin): Updated.
1115 * config/i386/sse.md (UNSPEC_LOADU): Removed.
1116 (UNSPEC_STOREU): Likewise.
1117 (VI_ULOADSTORE_BW_AVX512VL): Likewise.
1118 (VI_ULOADSTORE_F_AVX512VL): Likewise.
1119 (ssescalarsize): Handle V4TI, V2TI and V1TI.
1120 (<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
1121 (*<sse>_loadu<ssemodesuffix><avxsizesuffix><mask_name>): Likewise.
1122 (<sse>_storeu<ssemodesuffix><avxsizesuffix>): Likewise.
1123 (<avx512>_storeu<ssemodesuffix><avxsizesuffix>_mask): Likewise.
1124 (<sse2_avx_avx512f>_loaddqu<mode><mask_name>): Likewise.
1125 (*<sse2_avx_avx512f>_loaddqu<mode><mask_name>"): Likewise.
1126 (sse2_avx_avx512f>_storedqu<mode>): Likewise.
1127 (<avx512>_storedqu<mode>_mask): Likewise.
1128 (*sse4_2_pcmpestr_unaligned): Likewise.
1129 (*sse4_2_pcmpistr_unaligned): Likewise.
1130 (*mov<mode>_internal): Renamed to ...
1131 (mov<mode>_internal): This. Remove check of AVX and IAMCU on
1132 misaligned operand. Replace vmovdqu64 with vmovdqu<ssescalarsize>.
1133 (movsd/movhpd to movupd peephole): Don't use UNSPEC_LOADU.
1134 (movlpd/movhpd to movupd peephole): Don't use UNSPEC_STOREU.
1135
1136 2016-04-19 Richard Biener <rguenther@suse.de>
1137
1138 PR tree-optimization/70171
1139 * tree-ssa-phiprop.c: Include stor-layout.h.
1140 (phiprop_insert_phi): Handle the aggregate copy case.
1141 (propagate_with_phi): Likewise.
1142
1143 2016-04-19 Uros Bizjak <ubizjak@gmail.com>
1144
1145 * config/i386/i386.c (ix86_decompose_address): Use lowpart_subreg
1146 instead of simplify_gen_subreg (... , 0).
1147 (ix86_delegitimize_address): Ditto.
1148 (ix86_split_divmod): Ditto.
1149 (ix86_split_copysign_const): Ditto.
1150 (ix86_split_copysign_var): Ditto.
1151 (ix86_expand_args_builtin): Ditto.
1152 (ix86_expand_round_builtin): Ditto.
1153 (ix86_expand_special_args_builtin): Ditto.
1154 * config/i386/i386.md (TARGET_USE_VECTOR_FP_CONVERTS splitters): Ditto.
1155 (TARGET_SSE_PARTIAL_REG_DEPENDENCY splitters and peephole2s): Ditto.
1156 (udivmodqi4): Ditto.
1157 (absneg splitters): Ditto.
1158 (*jcc_bt<mode>_1): Ditto.
1159
1160 2016-04-19 Richard Biener <rguenther@suse.de>
1161
1162 PR tree-optimization/70724
1163 * tree-ssa-sccvn.c (scc_vn_restore_ssa_info): Split SSA info
1164 restoring out from ...
1165 (free_scc_vn): ... here.
1166 * tree-ssa-sccvn.h (scc_vn_restore_ssa_info): Declare.
1167 * tres-ssa-pre.c (pass_pre::execute): Restore SSA info before
1168 tail merging.
1169 (pass_fre::execute): Restore SSA info.
1170
1171 2016-04-19 Richard Biener <rguenther@suse.de>
1172
1173 * gimple-walk.h (struct walk_stmt_info): Add stmt member.
1174 * gimple-walk.c (walk_gimple_op): Initialize it.
1175 (walk_gimple_asm): Set wi->is_lhs before each callback invocation.
1176 * tree-inline.c (remap_gimple_op_r): Set SSA_NAME_DEF_STMT when
1177 remapping SSA names of defs.
1178 (copy_bb): Remove walk over all SSA defs and SSA_NAME_DEF_STMT
1179 adjustment.
1180
1181 2016-04-18 Vladimir Makarov <vmakarov@redhat.com>
1182
1183 PR middle-end/70689
1184 * lra-constraints.c (equiv_substition_p): New.
1185 (process_alt_operands): Use it.
1186 (swap_operands): Swap it.
1187 (curr_insn_transform): Update it.
1188
1189 2016-04-18 Michael Matz <matz@suse.de>
1190
1191 * tree.h (TYPE_ALIGN, DECL_ALIGN): Return shifted amount.
1192 (SET_TYPE_ALIGN, SET_DECL_ALIGN): New.
1193 * tree-core.h (tree_type_common.align): Use bit-field.
1194 (tree_type_common.spare): New.
1195 (tree_decl_common.off_align): Make smaller.
1196 (tree_decl_common.align): Use bit-field.
1197
1198 * expr.c (expand_expr_addr_expr_1): Use SET_TYPE_ALIGN.
1199 * omp-low.c (install_var_field): Use SET_DECL_ALIGN.
1200 (scan_sharing_clauses): Ditto.
1201 (finish_taskreg_scan): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
1202 (omp_finish_file): Ditto.
1203 * stor-layout.c (do_type_align): Use SET_DECL_ALIGN.
1204 (layout_decl): Ditto.
1205 (relayout_decl): Ditto.
1206 (finalize_record_size): Use SET_TYPE_ALIGN.
1207 (finalize_type_size): Ditto.
1208 (finish_builtin_struct): Ditto.
1209 (layout_type): Ditto.
1210 (initialize_sizetypes): Ditto.
1211 * targhooks.c (std_gimplify_va_arg_expr): Use SET_TYPE_ALIGN.
1212 * tree-nested.c (insert_field_into_struct): Use SET_TYPE_ALIGN.
1213 (lookup_field_for_decl): Use SET_DECL_ALIGN.
1214 (get_chain_field): Ditto.
1215 (get_trampoline_type): Ditto.
1216 (get_nl_goto_field): Ditto.
1217 * tree-streamer-in.c (unpack_ts_decl_common_value_fields): Use
1218 SET_DECL_ALIGN.
1219 (unpack_ts_type_common_value_fields): Use SET_TYPE_ALIGN.
1220 * gimple-expr.c (copy_var_decl): Use SET_DECL_ALIGN.
1221 * tree.c (make_node_stat): Use SET_DECL_ALIGN and SET_TYPE_ALIGN.
1222 (build_qualified_type): Use SET_TYPE_ALIGN.
1223 (build_aligned_type, build_range_type_1): Ditto.
1224 (build_atomic_base): Ditto.
1225 (build_common_tree_nodes): Ditto.
1226 * cfgexpand.c (align_local_variable): Use SET_DECL_ALIGN.
1227 (expand_one_stack_var_at): Ditto.
1228 * coverage.c (build_var): Use SET_DECL_ALIGN.
1229 * except.c (init_eh): Ditto.
1230 * function.c (assign_parm_setup_block): Ditto.
1231 * symtab.c (increase_alignment_1): Ditto.
1232 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Ditto.
1233 * tree-vect-stmts.c (ensure_base_align): Ditto.
1234 * varasm.c (align_variable): Ditto.
1235 (assemble_variable): Ditto.
1236 (build_constant_desc): Ditto.
1237 (output_constant_def_contents): Ditto.
1238
1239 * config/arm/arm.c (arm_relayout_function): Use SET_DECL_ALIGN.
1240 * config/avr/avr.c (avr_adjust_type_node): Use SET_TYPE_ALIGN.
1241 * config/mips/mips.c (mips_std_gimplify_va_arg_expr): Ditto.
1242 * config/msp430/msp430.c (msp430_gimplify_va_arg_expr): Ditto.
1243 * config/spu/spu.c (spu_build_builtin_va_list): Use SET_DECL_ALIGN.
1244
1245 2016-04-18 H.J. Lu <hongjiu.lu@intel.com>
1246
1247 PR target/70708
1248 * config/i386/sse.md (sse2_loadlpd): Accept load from "xm" and
1249 replace %vmovsd with "%vmovq".
1250 (vec_concatv2df): Likewise.
1251
1252 2016-04-18 Uros Bizjak <ubizjak@gmail.com>
1253
1254 * config/i386/mmx.md (*vec_extractv2sf_0): Use gen_lowpart.
1255 (*vec_extractv2si_0): Ditto.
1256 * config/i386/sse.md (*vec_extractv4sf_0): Ditto.
1257 (zero_extended_scalar_load_operand splitters): Ditto.
1258 (vec_extract splitters): Ditto.
1259 (*vec_extractv4si_0_zext): Ditto.
1260 (avx_<castmode><avxsizesuffix>_<castmode>): Use gen_lowpart
1261 and lowpart_subreg.
1262 (avx512f_<castmode><avxsizesuffix>_<castmode>): Ditto.
1263 (avx512f_<castmode><avxsizesuffix>_256<castmode>): Ditto.
1264 (*sse4_1_extractps): Use lowpart_subreg.
1265
1266 2016-04-18 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1267
1268 * doc/install.texi (Specific, i?86-*-solaris2.10): Update gas and
1269 gld requirements.
1270 (Specific, *-*-solaris2*): Update Solaris 11 bundled gcc versions.
1271 Mention Solaris 11 packaging changes.
1272 Update gas and gld requirements.
1273 Remove reference to pre-Solaris 10 bug.
1274 (Specific, sparc-sun-solaris2*): Remove reference to pre-Solaris 10
1275 systems and bugs.
1276 (Specific, sparc64-*-solaris2*): Remove reference to bootstrap
1277 with cc.
1278
1279 2016-04-17 Jan Hubicka <jh@suse.cz>
1280
1281 * tree-ssa-loop-ivopts.c (avg_loop_niter): Use also
1282 max_loop_iterations_int.
1283
1284 2016-04-18 Richard Biener <rguenther@suse.de>
1285
1286 PR tree-optimization/43434
1287 * tree-ssa-structalias.c (struct vls_data): New.
1288 (visit_loadstore): Handle all pointer-based accesses.
1289 (compute_dependence_clique): Compute a bitmap of restrict tags
1290 assigned bases and pass it to visit_loadstore.
1291
1292 2016-04-18 Matthew Wahab <matthew.wahab@arm.com>
1293
1294 PR target/70711
1295 * config/arm/bpabi.h (BE8_LINK_SPEC): Add entries for armv8+crc,
1296 armv8.1-a and armv8.1-a+crc.
1297
1298 2016-04-18 Richard Biener <rguenther@suse.de>
1299
1300 PR tree-optimization/70701
1301 * tree-ssa-sccvn.c (vn_reference_lookup_3): Resolve fully constant
1302 references after translating through a memcpy.
1303
1304 2016-04-18 Richard Biener <rguenther@suse.de>
1305
1306 * tree-ssa-pre.c (postorder, postorder_num): Make locals ...
1307 (compute_antic): ... here. For partial antic use regular
1308 postorder and scrap iteration.
1309 (compute_partial_antic_aux): Remove unused return value.
1310 (init_pre): Do not allocate postorder.
1311 (fini_pre): Do not free postorder.
1312
1313 2016-04-18 Richard Biener <rguenther@suse.de>
1314
1315 PR middle-end/37870
1316 * expmed.c (extract_bit_field_1): Remove broken case
1317 using a wider MODE_INT mode.
1318
1319 2016-04-18 Segher Boessenkool <segher@kernel.crashing.org>
1320
1321 * has-brig.c (lendian16): Don't try to use __builtin_bswap16
1322 unless compiling with at least GCC-4.8.
1323
1324 2016-04-17 Jan Hubicka <jh@suse.cz>
1325
1326 PR bootstrap/70706
1327 * graphite.c (graphite_finalize): Update call to
1328 tree_estimate_probability.
1329 * predict.h (tree_estimate_probability): Update prototype.
1330
1331 2016-04-17 Jan Hubicka <jh@suse.cz>
1332
1333 * predict.c (combine_predictions_for_bb): Add dry_run parmaeter.
1334 (tree_estimate_probability): Likewise.
1335 (pass_profile::execute): Update.
1336 (report_predictor_hitrates): New function.
1337 * profile.c (compute_branch_probabilities): Use it.
1338 * predict.h (report_predictor_hitrates): Declare.
1339
1340 2016-04-17 Jan Hubicka <jh@suse.cz>
1341
1342 PR ipa/70018
1343 * cgraph.h (cgraph_node::set_const_flag,
1344 cgraph_node::set_pure_flag): Update prototype to return bool;
1345 update comment.
1346 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases): Thunks
1347 of interposable symbol are interposable, too.
1348 (cgraph_set_const_flag_1): Rename to ...
1349 (set_const_flag_1): ... this one; change to self recursive function
1350 instead of call_for_symbol_thunks_and_aliases. Handle correctly
1351 clearnig the flag in all variants and also virtual thunks of const
1352 functions are pure; track if any change was done.
1353 (cgraph_node::set_const_flag): Update.
1354 (struct set_pure_flag_info): New struct.
1355 (cgraph_set_pure_flag_1): Rename to ...
1356 (set_pure_flag_1): ... this one; take set_pure_flag_info parameter
1357 rather than pointer encoded flags; track if any changes was done;
1358 handle correctly clearning flag and setting flag of aliases already
1359 declared const.
1360 (cgraph_node::set_pure_flag): Update.
1361 (cgraph_node::set_nothrow_flag): Handle correctly clearning the flag.
1362
1363 2016-04-17 Tom de Vries <tom@codesourcery.com>
1364
1365 PR other/70433
1366 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Escape
1367 backslash in label.
1368
1369 2016-04-17 Tom de Vries <tom@codesourcery.com>
1370
1371 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Classify chars
1372 '{}<> ' as escape-for-record.
1373
1374 2016-04-17 Tom de Vries <tom@codesourcery.com>
1375
1376 * pretty-print.c (pp_write_text_as_dot_label_to_stream): Simplify loop
1377 structure.
1378
1379 2016-04-17 Tom de Vries <tom@codesourcery.com>
1380
1381 PR other/70185
1382 * tree-pass.h (class opt_pass): Remove graph_dump_initialized member.
1383 * dumpfile.h (struct dump_file_info): Add graph_dump_initialized field.
1384 * dumpfile.c (dump_files): Initialize graph_dump_initialized field.
1385 * passes.c (finish_optimization_passes): Only call
1386 finish_graph_dump_file if dfi->graph_dump_initialized.
1387 (execute_function_dump, pass_init_dump_file): Use
1388 dfi->graph_dump_initialized instead of pass->graph_dump_initialized.
1389
1390 2016-04-17 Tom de Vries <tom@codesourcery.com>
1391
1392 PR tree-optimization/70256
1393 * tree-ssa-structalias.c (dump_varinfo, debug_varinfo, dump_varmap)
1394 (debug_varmap): New function.
1395
1396 2016-04-17 Tom de Vries <tom@codesourcery.com>
1397
1398 PR other/70183
1399 * passes.c (pass_manager::register_pass): Propagate pflags.
1400
1401 2016-04-17 Tom de Vries <tom@codesourcery.com>
1402
1403 PR other/68875
1404 * pass_manager.h (TERMINATE_PASS_LIST): Add pass argument.
1405 * passes.c (pass_manager::pass_manager): Declare and init p_start in
1406 INSERT_PASSES_AFTER. Add pass parameter to TERMINATE_PASS_LIST, and
1407 check if it's equal to p_start.
1408 * passes.def: Add arguments to TERMINATE_PASS_LISTs.
1409
1410 2016-04-15 Jan Hubicka <jh@suse.cz>
1411
1412 PR ipa/70018
1413 * cgraph.c (cgraph_set_const_flag_1): Only set as pure if
1414 function does not bind to current def.
1415 * ipa-pure-const.c (worse_state): Add FROM and TO parameters;
1416 handle conservatively calls to functions that does not need to bind
1417 to current def.
1418 (check_call): Update call of worse_state.
1419 (ignore_edge_for_nothrow): Update.
1420 (ignore_edge_for_pure_const): Likewise.
1421 (propagate_pure_const): Update calls to worse_state.
1422 (skip_function_for_local_pure_const): Reformat comments.
1423
1424 2016-04-15 Jan Hubicka <jh@suse.cz>
1425
1426 PR ipa/70018
1427 * cgraph.c (cgraph_node::get_availability): Add REF parameter.
1428 (cgraph_node::function_symbol): Likewise.
1429 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
1430 * cgraph.h (symtab_node::get_availabbility): Add REF parameter.
1431 (symtab_node::ultimate_alias_target): Add REF parameter.
1432 (symtab_node::binds_to_current_def_p): Declare.
1433 (symtab_node;:ultimate_alias_target_1): Add REF parameter.
1434 (cgraph_node::function_symbol): Likewise.
1435 (cgraph_node::function_or_virtual_thunk_symbol): Likewise.
1436 (cgraph_node::get_availability): Likewise.
1437 (cgraph_edge::binds_to_current_def_p): New inline function.
1438 (varpool_node::get_availability): Add REF parameter.
1439 (varpool_node::ultimate_alias_target): Likewise.
1440 * symtab.c (symtab_node::ultimate_alias_target_1): Likewise.
1441 (symtab_node::binds_to_current_def_p): Likewise.
1442 * varpool.c (varpool_node::get_availability): Likewise.
1443
1444 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
1445
1446 PR target/70662
1447 * config/i386/sse.md(define_insn "<avx512>_vec_dup<mode><mask_name>"):
1448 Fix mode size check.
1449
1450 2016-04-15 Jakub Jelinek <jakub@redhat.com>
1451
1452 * BASE-VER: Set to 7.0.0.
1453
1454 2016-04-15 Alexander Monakov <amonakov@ispras.ru>
1455
1456 * config/nvptx/nvptx.opt (moptimize): Add a period at end of help text.
1457
1458 2016-04-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1459
1460 * doc/invoke.texi (ARM Options): Add note on deprecation of pre-ARMv4T
1461 architecture revisions.
1462
1463 2016-04-15 Bernd Schmidt <bschmidt@redhat.com>
1464
1465 * config/i386/i386-protos.h (ix86_using_red_zone): Declare.
1466 * config/i386/i386.c (ix86_using_red_zone): No longer static.
1467 * config/i386/i386.md (stack decrement to push peepholes): Guard
1468 with !x86_using_red_zone ().
1469
1470 2016-04-15 Jakub Jelinek <jakub@redhat.com>
1471
1472 PR c++/70675
1473 * tree-pretty-print.c (do_niy): Add FLAGS argument, pass it down
1474 to dump_generic_node.
1475 (NIY): Pass also flags to do_niy.
1476
1477 2016-04-15 Thomas Schwinge <thomas@codesourcery.com>
1478
1479 * omp-low.c (simd_clone_struct_alloc, simd_clone_struct_copy)
1480 (simd_clone_vector_of_formal_parm_types)
1481 (simd_clone_clauses_extract, simd_clone_compute_base_data_type)
1482 (simd_clone_mangle, simd_clone_create)
1483 (simd_clone_adjust_return_type, create_tmp_simd_array)
1484 (simd_clone_adjust_argument_types, simd_clone_init_simd_arrays)
1485 (struct modify_stmt_info, ipa_simd_modify_stmt_ops)
1486 (ipa_simd_modify_function_body, simd_clone_linear_addend)
1487 (simd_clone_adjust, expand_simd_clones, ipa_omp_simd_clone)
1488 (pass_data_omp_simd_clone, class pass_omp_simd_clone)
1489 (pass_omp_simd_clone::gate, make_pass_omp_simd_clone): Move into...
1490 * omp-simd-clone.c: ... this new file.
1491 (simd_clone_vector_of_formal_parm_types): Make it static.
1492 * Makefile.in (OBJS): Add omp-simd-clone.o.
1493
1494 2016-04-15 Kirill Yukhin <kirill.yukhin@intel.com>
1495
1496 PR target/70662
1497 * config/i386/sse.md: Use proper memory operand modifiers.
1498
1499
1500 2016-04-15 Richard Biener <rguenther@suse.de>
1501 Alan Modra <amodra@gmail.com>
1502
1503 PR tree-optimization/70130
1504 * tree-vect-data-refs.c (vect_supportable_dr_alignment): Detect
1505 when alignment stays not the same and no not use the realign
1506 scheme then.
1507
1508 2016-04-14 Michael Meissner <meissner@linux.vnet.ibm.com>
1509
1510 PR target/70669
1511 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Add
1512 direct move handlers for KFmode. Change TFmode handlers test from
1513 FLOAT128_IEEE_P to FLOAT128_VECTOR_P.
1514
1515 2016-04-14 Jakub Jelinek <jakub@redhat.com>
1516
1517 PR c++/70594
1518 * ipa-utils.h (polymorphic_ctor_dtor_p): New prototype.
1519 * ipa-polymorphic-call.c (polymorphic_ctor_dtor_p): New function.
1520 (inlined_polymorphic_ctor_dtor_block_p): Use it.
1521 * tree-ssa-live.c (remove_unused_scope_block_p): When
1522 in_ctor_dtor_block, avoid discarding not just BLOCKs with
1523 BLOCK_ABSTRACT_ORIGIN being FUNCTION_DECL, but even when
1524 block_ultimate_origin is FUNCTION_DECL.
1525 (remove_unused_locals): If current_function_decl is
1526 polymorphic_ctor_dtor_p, pass initial true to
1527 remove_unused_scope_block_p' is_ctor_dtor_block.
1528
1529 2016-04-14 Martin Sebor <msebor@redhat.com>
1530
1531 PR c++/69517
1532 PR c++/70019
1533 PR c++/70588
1534 * doc/extend.texi (Variable Length): Revert.
1535
1536 2016-04-14 Marek Polacek <polacek@redhat.com>
1537 Jan Hubicka <hubicka@ucw.cz>
1538
1539 PR c++/70029
1540 * tree.c (verify_type): Disable the canonical type of main variant
1541 check.
1542
1543 2016-04-14 Jason Merrill <jason@redhat.com>
1544
1545 * cfgexpand.c, expr.c: Revert previous change.
1546
1547 2016-04-14 Cesar Philippidis <cesar@codesourcery.com>
1548
1549 PR middle-end/70643
1550 * omp-low.c (lower_oacc_reductions): Check for TREE_CONSTANT
1551 when building a mem ref for the incoming reduction variable.
1552
1553 2016-04-14 Richard Biener <rguenther@suse.de>
1554
1555 PR tree-optimization/70614
1556 * tree-scalar-evolution.c (analyze_evolution_in_loop): Terminate
1557 loop if the evolution dropped to chrec_dont_know.
1558 (interpret_condition_phi): Likewise.
1559
1560 2016-04-14 Richard Biener <rguenther@suse.de>
1561
1562 PR tree-optimization/70623
1563 * tree-ssa-pre.c (changed_blocks): Make global ...
1564 (compute_antic): ... local here. Move and fix worklist
1565 handling here. Do not clear EDGE_DFS_BACK or call mark_dfs_back_edges.
1566 (compute_antic_aux): Add dumping for MAX assumed succs. Remove
1567 worklist handling, dump when ANTIC_IN changed.
1568 (compute_partial_antic_aux): Remove worklist handling.
1569 (init_pre): Do not compute post dominators. Add a comment about
1570 the CFG order chosen.
1571 (fini_pre): Do not free post dominators.
1572
1573 2016-04-13 Martin Sebor <msebor@redhat.com>
1574
1575 PR c++/69517
1576 PR c++/70019
1577 PR c++/70588
1578 * doc/extend.texi (Variable Length): Document C++ specifics.
1579
1580 2016-04-13 Jakub Jelinek <jakub@redhat.com>
1581
1582 PR c++/70641
1583 * ipa-pure-const.c (pass_nothrow::execute): Call maybe_clean_eh_stmt
1584 on all recursive call stmts. Return TODO_cleanup_cfg if any dead
1585 eh edges have been purged.
1586
1587 PR c++/70594
1588 * tree-sra.c (create_access_replacement,
1589 get_replaced_param_substitute): Set DECL_NAMELESS on repl if it
1590 gets fancy name.
1591 * tree-pretty-print.c (dump_fancy_name): New function.
1592 (dump_decl_name, dump_generic_node): Use it.
1593
1594 2016-04-13 Jason Merrill <jason@redhat.com>
1595
1596 * cfgexpand.c (pass_expand::execute): Handle attribute "abi warning".
1597 * expr.c (expand_expr_real_1): Likewise.
1598
1599 2016-04-13 Ilya Enkovich <ilya.enkovich@intel.com>
1600
1601 * config/i386/i386.md (kunpckhi): Swap operands.
1602 (kunpcksi): Likewise.
1603 (kunpckdi): Likewise.
1604 * config/i386/sse.md (vec_pack_trunc_qi): Likewise.
1605 (vec_pack_trunc_<mode>): Likewise.
1606
1607 2016-04-13 Jakub Jelinek <jakub@redhat.com>
1608
1609 PR debug/70628
1610 * explow.c (convert_memory_address_addr_space_1): Formatting fix.
1611
1612 PR middle-end/70633
1613 * gimplify.c (gimplify_init_constructor): Clear TREE_STATIC if
1614 gimplification turns some element into non-constant.
1615
1616 PR debug/70628
1617 * rtl.h (convert_memory_address_addr_space_1): New prototype.
1618 * explow.c (convert_memory_address_addr_space_1): No longer static,
1619 add NO_EMIT argument and don't call convert_modes if true, pass
1620 it down recursively, remove break after return.
1621 (convert_memory_address_addr_space): Adjust caller.
1622 * simplify-rtx.c (simplify_unary_operation_1): Call
1623 convert_memory_address_addr_space_1 instead of convert_memory_address,
1624 if it returns NULL, don't simplify.
1625
1626 2016-04-12 Eric Botcazou <ebotcazou@adacore.com>
1627
1628 PR target/70630
1629 * config/sparc/sparc.c (sparc_compute_frame_size): Add parentheses.
1630
1631 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1632
1633 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1634 Bump the upper SIMDLEN limits, so that if the return type or
1635 characteristic type if the return type is void can be passed in
1636 all available SSE2/AVX/AVX2/AVX512-F registers, the SIMDLEN is
1637 allowed.
1638
1639 2016-04-12 Michael Meissner <meissner@linux.vnet.ibm.com>
1640
1641 PR target/70640
1642 * config/rs6000/rs6000.md (ieee_128bit_vsx_neg<mode>2_internal):
1643 Do not use "=" constraint on an input constraint.
1644 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
1645 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
1646 (ieee_128bit_vsx_nabs<mode>2): Correct splitter so that it
1647 generates (neg (abs ...)) instead of (abs ...).
1648
1649 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1650
1651 PR rtl-optimization/70596
1652 * lra-spills.c (spill_pseudos): Don't delete debug insns, instead
1653 just invalidate LRA data and reset them. Adjust dump wording.
1654
1655 2016-04-12 Martin Liska <mliska@suse.cz>
1656
1657 Revert
1658 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
1659
1660 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
1661 estimates here.
1662 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
1663 max_loop_iterations_int.
1664 (tree_unswitch_outer_loop): Likewise.
1665 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
1666 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
1667
1668 2016-04-12 Tom de Vries <tom@codesourcery.com>
1669
1670 PR tree-optimization/68756
1671 * graphite-isl-ast-to-gimple.c (copy_cond_phi_args): Use new_expr
1672 instead of new_name.
1673
1674 2016-04-12 Jakub Jelinek <jakub@redhat.com>
1675
1676 PR tree-optimization/70602
1677 * tree-sra.c (generate_subtree_copies): Don't write anything into
1678 constant pool decls.
1679
1680 * omp-low.c (lower_omp_target): Use GOMP_MAP_FIRSTPRIVATE_INT
1681 regardless whether there are depend clauses or not.
1682
1683 2016-04-11 Michael Meissner <meissner@linux.vnet.ibm.com>
1684
1685 PR target/70381
1686 * config/rs6000/rs6000.c (rs6000_opt_masks): Disable using the
1687 target attribute and pragma from changing the -mfloat128
1688 and -mfloat128-hardware options.
1689
1690 * doc/extend.texi (Additional Floating Types): Document PowerPC
1691 __float128 restrictions.
1692
1693 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
1694
1695 PR target/70133
1696 * config/aarch64/driver-aarch64.c
1697 (aarch64_get_extension_string_for_isa_flags): New.
1698 (arch_extension): Rename to...
1699 (aarch64_arch_extension): ...This.
1700 (ext_to_feat_string): Rename to...
1701 (aarch64_extensions): ...This.
1702 (aarch64_core_data): Keep track of architecture extension flags.
1703 (cpu_data): Rename to...
1704 (aarch64_cpu_data): ...This.
1705 (aarch64_arch_driver_info): Keep track of architecture extension
1706 flags.
1707 (get_arch_name_from_id): Rename to...
1708 (get_arch_from_id): ...This, change return type.
1709 (host_detect_local_cpu): Update and reformat for renames, handle
1710 extensions through common infrastructure.
1711
1712 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
1713
1714 PR target/70133
1715 * config/aarch64/aarch64-common.c (aarch64_option_extension): Keep
1716 track of a canonical flag name.
1717 (all_extensions): Likewise.
1718 (arch_to_arch_name): Also track extension flags enabled by the arch.
1719 (all_architectures): Likewise.
1720 (aarch64_parse_extension): Move to here.
1721 (aarch64_get_extension_string_for_isa_flags): Take a new argument,
1722 rework.
1723 (aarch64_rewrite_selected_cpu): Update for above change.
1724 * config/aarch64/aarch64-option-extensions.def: Rework the way flags
1725 are handled, such that the single explicit value enabled by an
1726 extension is kept seperate from the implicit values it also enables.
1727 * config/aarch64/aarch64-protos.h (aarch64_parse_opt_result): Move
1728 to here.
1729 (aarch64_parse_extension): New.
1730 * config/aarch64/aarch64.c (aarch64_parse_opt_result): Move from
1731 here to config/aarch64/aarch64-protos.h.
1732 (aarch64_parse_extension): Move from here to
1733 common/config/aarch64/aarch64-common.c.
1734 (aarch64_option_print): Update.
1735 (aarch64_declare_function_name): Likewise.
1736 (aarch64_start_file): Likewise.
1737 * config/aarch64/driver-aarch64.c (arch_extension): Keep track of
1738 the canonical flag for extensions.
1739 * config.gcc (aarch64*-*-*): Extend regex for capturing extension
1740 flags.
1741
1742 2016-04-11 James Greenhalgh <james.greenhalgh@arm.com>
1743
1744 * config/aarch64/aarch64.h (AARCH64_FL_FOR_ARCH8_1): Also add
1745 AARCH64_FL_CRC.
1746
1747 2016-04-09 Tom de Vries <tom@codesourcery.com>
1748
1749 PR tree-optimization/68953
1750 * graphite-sese-to-poly.c (pdr_add_memory_accesses): Order accesses from
1751 first to last subscript.
1752
1753 2016-04-09 Jakub Jelinek <jakub@redhat.com>
1754
1755 PR tree-optimization/70586
1756 * tree-ssa-ifcombine.c (bb_no_side_effects_p): Return false
1757 for any calls.
1758
1759 2016-04-08 Cesar Philippidis <cesar@codesourcery.com>
1760
1761 PR lto/70289
1762 PR ipa/70348
1763 PR tree-optimization/70373
1764 PR middle-end/70533
1765 PR middle-end/70534
1766 PR middle-end/70535
1767 * gimplify.c (gimplify_adjust_omp_clauses): Add or adjust data
1768 clauses for acc parallel reductions as necessary. Error on those
1769 that are private.
1770 * omp-low.c (scan_sharing_clauses): Don't install variables which
1771 are used in acc parallel reductions.
1772 (lower_rec_input_clauses): Remove dead code.
1773 (lower_oacc_reductions): Add support for reference reductions.
1774 (lower_reduction_clauses): Remove dead code.
1775 (lower_omp_target): Don't remap variables appearing in acc parallel
1776 reductions.
1777 * tree.h (OMP_CLAUSE_MAP_IN_REDUCTION): New macro.
1778
1779 2016-04-08 Jakub Jelinek <jakub@redhat.com>
1780
1781 PR middle-end/70593
1782 * tree-ssa-coalesce.c (build_ssa_conflict_graph): For stmt
1783 with multiple SSA_NAME defs, force the outputs other than first
1784 to be live before calling live_track_process_def on each output.
1785
1786 PR rtl-optimization/70574
1787 * fwprop.c (forward_propagate_and_simplify): Don't add
1788 REG_EQUAL note if DF_REF_REG (use) is a paradoxical subreg.
1789 (try_fwprop_subst): Don't add REG_EQUAL note if there are any
1790 paradoxical subregs within *loc.
1791
1792 2016-04-08 Thomas Schwinge <thomas@codesourcery.com>
1793
1794 * config/arc/arc.h (LINK_COMMAND_SPEC): Use gt to ignore
1795 -ftree-parallelize-loops={0,1}.
1796 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
1797 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
1798 * config/ia64/hpux.h (LIB_SPEC): Likewise.
1799 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
1800 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
1801
1802 2016-04-08 Maxim Ostapenko <m.ostapenko@samsung.com>
1803
1804 PR sanitizer/70541
1805 * asan.c (instrument_derefs): If we get unknown location, extract it
1806 with EXPR_LOCATION.
1807 (maybe_instrument_call): Instrument gimple_call's arguments if needed.
1808
1809 2016-04-08 Tom de Vries <tom@codesourcery.com>
1810
1811 * omp-low.c (lower_omp_target): Set TREE_NO_WARNING for oacc
1812 implicit firstprivate clause.
1813
1814 2016-04-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1815
1816 PR target/70566
1817 * config/arm/thumb2.md (tst + branch-> lsls + branch
1818 peephole below *orsi_not_shiftsi_si): Require that condition
1819 register is dead after the peephole.
1820 (second peephole after the above): Likewise.
1821
1822 2016-04-08 Alan Modra <amodra@gmail.com>
1823
1824 PR target/70117
1825 * builtins.c (fold_builtin_classify): For IBM extended precision,
1826 look at just the high-order double to test for NaN.
1827 (fold_builtin_interclass_mathfn): Similarly for Inf. For isnormal
1828 test just the high double for Inf but both doubles for subnormal
1829 limit.
1830
1831 2016-04-07 Jakub Jelinek <jakub@redhat.com>
1832
1833 * cgraph.h (struct cgraph_simd_clone): Add mask_mode field.
1834 * omp-low.c (simd_clone_init_simd_arrays, simd_clone_adjust): Handle
1835 node->simdclone->mask_mode != VOIDmode masks.
1836 (simd_clone_adjust_argument_types): Likewise. Move sc var definition
1837 earlier, use it instead of node->simdclone.
1838 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1839 Set clonei->mask_mode.
1840
1841 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
1842
1843 PR c/70436
1844 * parser.c (cp_parser_iteration_statement): New parameter IF_P.
1845 Pass it through to cp_parser_already_scoped_statement.
1846 (cp_parser_already_scoped_statement): New parameter IF_P. Pass
1847 it through to cp_parser_statement.
1848 (cp_parser_statement): Pass IF_P through to
1849 cp_parser_iteration_statement.
1850 (cp_parser_pragma): Adjust call to
1851 cp_parser_iteration_statement.
1852
1853 2016-04-06 Patrick Palka <ppalka@gcc.gnu.org>
1854
1855 PR c/70436
1856 * gimplify.c (gimplify_omp_ordered): Add explicit braces to
1857 resolve a future -Wparentheses warning.
1858 * omp-low.c (scan_sharing_clauses): Likewise.
1859 * tree-parloops.c (eliminate_local_variables): Likewise.
1860
1861 2016-04-06 Vladimir Makarov <vmakarov@redhat.com>
1862
1863 PR rtl-optimization/70398
1864 * lra-constraints.c (process_address_1): Check zero scale and code
1865 for reloading with zero scale.
1866
1867 2016-04-06 Uros Bizjak <ubizjak@gmail.com>
1868
1869 * config/i386/sse.md (shuffletype): Add V32HI and V4TI modes.
1870 (ssescalarsize): Add V8SF, V4SF, V4DF and V2DF modes.
1871
1872 2016-04-06 Jakub Jelinek <jakub@redhat.com>
1873
1874 * config/i386/i386.c (ix86_simd_clone_compute_vecsize_and_simdlen):
1875 Add support for AVX512F clones, include them by default for
1876 exported OpenMP declare simd functions. For AVX2 allow simdlen 32
1877 and use it if charasteric type is 8-bit, for AVX512F allow simdlen
1878 up to 128.
1879
1880 PR middle-end/70550
1881 * tree.h (OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT): Define.
1882 * gimplify.c (gimplify_adjust_omp_clauses_1): Set it for implicit
1883 firstprivate clauses.
1884 * omp-low.c (lower_send_clauses): Set TREE_NO_WARNING for
1885 OMP_CLAUSE_FIRSTPRIVATE_IMPLICIT !by_ref vars in task contexts.
1886 (lower_omp_target): Set TREE_NO_WARNING for
1887 non-addressable possibly uninitialized vars which are copied into
1888 addressable temporaries or copied for GOMP_MAP_FIRSTPRIVATE_INT.
1889
1890 2016-04-05 John David Anglin <danglin@gcc.gnu.org>
1891
1892 * config/pa/predicates.md (integer_store_memory_operand): Accept
1893 REG+D operands with a large offset when reload_in_progress is true.
1894 (floating_point_store_memory_operand): Likewise.
1895
1896 2016-04-05 Jakub Jelinek <jakub@redhat.com>
1897
1898 PR c++/70336
1899 * match.pd (nested int casts): Limit to GIMPLE.
1900
1901 2016-04-05 Jan Hubicka <hubicka@ucw.cz>
1902
1903 PR ipa/66223
1904 * ipa-devirt.c (maybe_record_node): Fix comment; use
1905 SANITIZE_UNREACHABLE instead of SANITIZE_UNDEFINED.
1906
1907 2016-04-05 Jakub Jelinek <jakub@redhat.com>
1908
1909 PR rtl-optimization/70542
1910 * ree.c (add_removable_extension): For VECTOR_MODE_P punt
1911 if there are any uses other than insn or debug insns.
1912
1913 2016-04-05 Marc Glisse <marc.glisse@inria.fr>
1914 Jakub Jelinek <jakub@redhat.com>
1915
1916 PR tree-optimization/70509
1917 * simplify-rtx.c (simplify_binary_operation_1) <case VEC_SELECT>:
1918 Shift HOST_WIDE_INT_1U instead of 1.
1919
1920 2016-04-05 Zdenek Sojka <zsojka@seznam.cz>
1921
1922 PR tree-optimization/70509
1923 * tree-ssa-forwprop.c (simplify_bitfield_ref): Use bitsize_int instead
1924 of the vector base type for index.
1925
1926 2016-04-05 Uros Bizjak <ubizjak@gmail.com>
1927
1928 PR target/70510
1929 * config/i386/sse.md (iptr): Add V64QI, V32HI, V16SI and V8DI modes.
1930
1931 2016-04-05 Richard Biener <rguenther@suse.de>
1932
1933 PR tree-optimization/70526
1934 * tree-sra.c (build_ref_for_offset): Use prev_base to
1935 extract the alias pointer type.
1936
1937 2016-04-05 Richard Biener <rguenther@suse.de>
1938
1939 * dse.c (struct store_info): Remove alias_set member.
1940 (struct read_info_type): Likewise.
1941 (clear_alias_group, clear_alias_mode_table, clear_alias_mode_holder,
1942 spill_deleted, clear_alias_set_lookup): Remove.
1943 (get_group_info): Remove dead base == NULL_RTX case.
1944 (dse_step0): Remove initialization of removed variables.
1945 (delete_dead_store_insn): Reomve alias set dumping.
1946 (free_read_records): Remove alias_set handling.
1947 (canon_address): Remove alias_set_out parameter.
1948 (record_store): Remove spill_alias_set, it's always zero.
1949 (check_mem_read_rtx): Likewise.
1950 (dse_step2): Rename from ...
1951 (dse_step2_nospill): ... this. Adjust.
1952 (scan_stores): Rename from ...
1953 (scan_stores_nospill): ... this.
1954 (scan_reads): Rename from ...
1955 (scan_reads_nospill): ... this.
1956 (scan_stores_spill, scan_reads_spill): Remove.
1957 (dse_step3_scan): Remove for_spills argument which is always false.
1958 (dse_step3): Likewise.
1959 (dse_step5): Rename from ...
1960 (dse_step5_nospill): ... this. Remove alias_set handling.
1961 (rest_of_handle_dse): Adjust.
1962
1963 2016-04-05 Jakub Jelinek <jakub@redhat.com>
1964
1965 PR target/70525
1966 * config/i386/sse.md (*andnot<mode>3): Simplify assertions.
1967 Use vpandn<ssemodesuffix> for V16SI/V8DImode, vpandnq for
1968 V32HI/V64QImode, don't use <mask_operand3_1>, fix up formatting.
1969 (*andnot<mode>3_mask): Remove insn with VI12_AVX512VL iterator.
1970
1971 2016-04-05 Richard Biener <rguenther@suse.de>
1972
1973 PR middle-end/70499
1974 * gimplify-me.c (gimple_regimplify_operands): Do not rewrite
1975 non-register type temporaries into SSA.
1976
1977 2016-04-04 Jan Hubicka <hubicka@ucw.cz>
1978
1979 PR ipa/66223
1980 * ipa-devirt.c (maybe_record_node): Do not optimize cxa_pure_virtual
1981 calls when sanitizing.
1982 (possible_polymorphic_call_target_p): Fix formatting.
1983
1984 2016-04-04 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
1985 Jakub Jelinek <jakub@redhat.com>
1986
1987 PR middle-end/70457
1988 * tree-inline.c (estimate_num_insn): Use gimple_call_builtin_p
1989 to ensure a call statement is compatible with a built-in's
1990 prototype.
1991 * tree-ssa-math-opts.c (pass_optimize_windening_mul::execute):
1992 Likewise.
1993
1994 2016-04-04 Richard Biener <rguenther@suse.de>
1995
1996 PR rtl-optimization/70484
1997 * rtl.h (canon_output_dependence): Declare.
1998 * alias.c (canon_output_dependence): New function.
1999 * dse.c (record_store): Use canon_output_dependence rather
2000 than canon_true_dependence.
2001
2002 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
2003
2004 PR ipa/68881
2005 * cgraph.h (symtab_node::copy_visibility_from): New function.
2006 * symtab.c (symtab_node::copy_visibility_from): New function.
2007 * ipa-visibility.c (optimize_weakref): New function.
2008 (function_and_variable_visibility): Use it.
2009
2010 2016-04-04 Martin Liska <mliska@suse.cz>
2011
2012 PR hsa/70402
2013 * hsa-gen.c (gen_hsa_insns_for_switch_stmt): Guard index
2014 value that is really in range handled by SBR instruction.
2015 * hsa-brig.c (emit_switch_insn): Do not emit unconditional jump.
2016 * hsa-dump.c (dump_hsa_insn_1): Do not dump default BB.
2017 * hsa.h (hsa_insn_sbr::m_default_bb): Remove field.
2018
2019 2016-04-03 Oleg Endo <olegendo@gcc.gnu.org>
2020
2021 PR target/70416
2022 PR target/67391
2023 * config/sh/sh.md (*addsi3): Allow pattern when reload_in_progress is
2024 set, but not for SP_REG operands.
2025
2026 2016-04-02 Martin Sebor <msebor@redhat.com>
2027
2028 PR c++/67376
2029 * fold-const.c (maybe_nonzero_address): New function.
2030 (fold_comparison): Call it. Fold equality and relational
2031 expressions involving null pointers.
2032 (tree_single_nonzero_warnv_p): Call maybe_nonzero_address.
2033
2034 2016-03-31 Evandro Menezes <e.menezes@samsung.com>
2035
2036 Fix the predicate "aarch64_simd_reg_or_zero" to correctly validate
2037 the "Y" constraint (scalar FP 0.0 immediate).
2038
2039 * gcc/config/aarch64/predicates.md (aarch64_simd_reg_or_zero):
2040 Add the "const_double" to the list of operand constraints.
2041
2042 2016-04-01 Jakub Jelinek <jakub@redhat.com>
2043
2044 PR rtl-optimization/70467
2045 * config/i386/i386.md (*add<dwi>3_doubleword, *sub<dwi>3_doubleword):
2046 If low word of the last operand is 0, just emit addition/subtraction
2047 for the high word.
2048
2049 2016-04-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2050
2051 PR target/70404
2052 * config/s390/s390.c (s390_expand_insv): Check for everything
2053 constant instead of just VOIDmode stuff.
2054
2055 2016-04-01 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2056
2057 PR target/70496
2058 * config/arm/arm.h (ASM_APP_OFF): Handle TARGET_ARM and TARGET_THUMB.
2059
2060 2016-04-01 Nathan Sidwell <nathan@acm.org>
2061
2062 * tree.def (TRY_CATCH_EXPR): Correct documentation.
2063
2064 2016-03-31 Vladimir Makarov <vmakarov@redhat.com>
2065
2066 PR rtl-optimization/70461
2067 * ira-color.c (allocno_copy_cost_saving): Use allocno class if it
2068 is necessary.
2069
2070 2016-03-31 Martin Liska <mliska@suse.cz>
2071
2072 PR hsa/70399
2073 * hsa-brig.c (hsa_op_immed::emit_to_buffer): Emit either
2074 a tree value or an immediate integer value to a buffer
2075 that is eventually copied to a BRIG section.
2076 (emit_immediate_operand): Call the function here.
2077 * hsa-dump.c (dump_hsa_immed): Remove checking assert.
2078 * hsa-gen.c (hsa_op_immed::hsa_op_immed): Remove initialization
2079 of class' fields that are removed.
2080 (hsa_op_immed::~hsa_op_immed): Remove deinitialization.
2081 * hsa.h (class hsa_op_immed): Remove m_brig_repr and
2082 m_brig_repr_size fields.
2083
2084 2016-03-31 Martin Liska <mliska@suse.cz>
2085
2086 PR hsa/70391
2087 * hsa-gen.c (hsa_function_representation::update_dominance): New
2088 function.
2089 (convert_addr_to_flat_segment): Likewise.
2090 (gen_hsa_memory_set): New alignment argument.
2091 (gen_hsa_ctor_assignment): Likewise.
2092 (gen_hsa_insns_for_single_assignment): Provide alignment
2093 to gen_hsa_ctor_assignment.
2094 (gen_hsa_insns_for_direct_call): Add new argument.
2095 (expand_lhs_of_string_op): New function.
2096 (expand_string_operation_builtin): Likewise.
2097 (expand_memory_copy): New function.
2098 (expand_memory_set): New function.
2099 (gen_hsa_insns_for_call): Use HOST_WIDE_INT.
2100 (convert_switch_statements): Change signature.
2101 (generate_hsa): Use a return value of the function.
2102 (pass_gen_hsail::execute): Do not call
2103 convert_switch_statements here.
2104 * hsa-regalloc.c (hsa_regalloc): Call update_dominance.
2105 * hsa.h (hsa_function_representation::m_modified_cfg): New flag.
2106 (hsa_function_representation::update_dominance): New function.
2107
2108 2016-03-31 Martin Liska <mliska@suse.cz>
2109
2110 PR hsa/70391
2111 * hsa-brig.c (emit_directive_variable): Emit alignment
2112 according to hsa_symbol::m_align.
2113 * hsa-dump.c (hsa_byte_alignment): Move the function to another file.
2114 (dump_hsa_symbol): Dump alignment of HSA symbols.
2115 * hsa-gen.c (get_symbol_for_decl): Set-up alignment of a symbol.
2116 (gen_hsa_addr_with_align): New function.
2117 (hsa_bitmemref_alignment): Use newly added function.
2118 (gen_hsa_insns_for_load): Likewise.
2119 (gen_hsa_insns_for_store): Likewise.
2120 (gen_hsa_memory_copy): New argument added.
2121 (gen_hsa_insns_for_single_assignment): Respect
2122 alignment for assignments processed via gen_hsa_memory_copy.
2123 (gen_hsa_insns_for_direct_call): Likewise.
2124 (gen_hsa_insns_for_return): Likewise.
2125 (gen_function_def_parameters): Set default alignment.
2126 * hsa.c (hsa_object_alignment): New function.
2127 (hsa_byte_alignment): Pasted function.
2128 * hsa.h (hsa_symbol::m_align): New field.
2129
2130 2016-03-31 Bin Cheng <bin.cheng@arm.com>
2131
2132 * tree-ssa-loop-ivopts.c (get_computation_cost_at): Initialize
2133 scratch field for goto case.
2134
2135 2016-03-31 James Greenhalgh <james.greenhalgh@arm.com>
2136
2137 * config/arm/linux-elf.h (ASM_OUTPUT_DEF): Delete.
2138
2139 2016-03-31 Ilya Enkovich <enkovich.gnu@gmail.com>
2140
2141 PR target/70442
2142 * config/i386/i386.c (scalar_chain::convert_op): Fix description.
2143 (scalar_chain::convert_insn): Call convert_op for reg
2144 moves to handle undefined registers.
2145
2146 2016-03-31 Nathan Sidwell <nathan@acm.org>
2147
2148 PR c++/70393
2149 * varasm.c (output_constructor_regular_field): Flush bitfield earlier.
2150 Assert we don't want to move backwards.
2151
2152 2016-03-31 Kirill Yukhin <kirill.yukhin@intel.com>
2153
2154 PR target/70453
2155 * config/i386/sse.md (define_mode_attr shuffletype): Fix typo.
2156
2157 2016-03-31 Jakub Jelinek <jakub@redhat.com>
2158
2159 PR rtl-optimization/70460
2160 * ira.c (indirect_jump_optimize): Don't substitute LABEL_REF
2161 with operand from REG_LABEL_OPERAND, instead substitute
2162 SET_SRC or REG_EQUAL note content if it is a LABEL_REF.
2163 Don't do anything for REG_NON_LOCAL_GOTO jumps.
2164
2165 2016-03-31 Martin Liska <mliska@suse.cz>
2166
2167 * passes.c (execute_one_pass): Do not call
2168 todo_after for a discarded function.
2169
2170 2016-03-31 Bin Cheng <bin.cheng@arm.com>
2171
2172 * tree-ssa-loop-ivopts.c (struct comp_cost): New scrach field.
2173 (no_cost, infinite_cost): Initialize the new field.
2174 (get_computation_cost_at): Record setup cost.
2175 (determine_use_iv_cost_address): Skip cost computation for sub
2176 uses if we can estimate it without losing accuracy.
2177
2178 2016-03-30 Jan Hubicka <hubicka@ucw.cz>
2179
2180 * tree-ssa-loop-niter.c (idx_infer_loop_bounds): We can't get realistic
2181 estimates here.
2182 * tree-ssa-loop-unswitch.c (tree_unswitch_single_loop): Use also
2183 max_loop_iterations_int.
2184 (tree_unswitch_outer_loop): Likewise.
2185 * tree-ssa-loop-ivopts.c (avg_loop_niter): Likewise.
2186 * tree-vect-loop.c (vect_analyze_loop_2): Likewise.
2187
2188 2016-03-30 Richard Biener <rguenther@suse.de>
2189
2190 PR middle-end/70450
2191 * fold-const.c (extract_muldiv_1): Fix thinko in wide_int::from usage.
2192
2193 2016-03-30 Jakub Jelinek <jakub@redhat.com>
2194
2195 PR target/70421
2196 * config/i386/i386.c (ix86_expand_vector_set): Fix up argument order
2197 in gen_blendm expander.
2198
2199 2016-03-30 Nick Clifton <nickc@redhat.com>
2200
2201 PR target/62254
2202 * config/arm/arm.c (arm_reload_out_hi): Add code to handle the
2203 case where we are already provided with an SImode SUBREG.
2204
2205 2016-03-30 H.J. Lu <hongjiu.lu@intel.com>
2206
2207 PR target/70439
2208 * config/i386/i386.c (ix86_expand_epilogue): Properly check
2209 conflict between DRAP register and __builtin_eh_return.
2210
2211 2016-03-30 Michael Matz <matz@suse.de>
2212 Richard Biener <rguenther@suse.de>
2213
2214 PR ipa/12392
2215 * ipa-polymorphic-call.c (struct type_change_info): Change
2216 speculative to an unsigned allowing to limit the work we do.
2217 (csftc_abort_walking_p): New inline function..
2218 (check_stmt_for_type_change): Limit the number of may-defs
2219 skipped for speculative devirtualization to
2220 max-speculative-devirt-maydefs.
2221 * params.def (max-speculative-devirt-maydefs): New param.
2222 * doc/invoke.texi (--param max-speculative-devirt-maydefs): Document.
2223
2224 2016-03-30 Mike Stump <mrs@gcc.gnu.org>
2225
2226 PR target/63890
2227 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Use when profiling
2228 and TARGET_MACHO.
2229
2230 2016-03-30 Patrick Palka <ppalka@gcc.gnu.org>
2231
2232 PR tree-optimization/59124
2233 * tree-vrp.c (register_edge_assert_for_2): For NAME != CST1
2234 where NAME = A +- CST2 add the assertion A != (CST1 -+ CST2).
2235
2236 2016-03-29 Jeff Law <law@redhat.com>
2237
2238 * tree-ssa-coalesce.c (struct ssa_conflicts): Fix typo in comment.
2239
2240 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
2241
2242 * tree-ssa-loop-ivcanon.c (try_peel_loop): Change type of peel
2243 to HOST_WIDE_INT.
2244
2245 2016-03-29 Thomas Schwinge <thomas@codesourcery.com>
2246
2247 * config/gnu.h (CPP_SPEC, LIB_SPEC): Don't override.
2248 * config/i386/gnu.h (STARTFILE_SPEC): Use gcrt1.o instead of
2249 gcrt0.o if linking dynamically.
2250
2251 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
2252
2253 PR ipa/70283
2254 * ipa-devirt.c (methods_equal_p): New function.
2255 (compare_virtual_tables): Use it.
2256 * cgraph.h (symbol_table::symbol_suffix_separator): Declare.
2257 * cgraphclones.c (clone_function_name_1): Use
2258 symbol_table::symbol_suffix_separator.
2259 * coverage.c (build_var): Likewise.
2260 * symtab.c (symbol_table::symbol_suffix_separator): New.
2261
2262 2016-03-29 Jakub Jelinek <jakub@redhat.com>
2263
2264 PR rtl-optimization/70429
2265 * combine.c (simplify_shift_const_1): For ASHIFTRT don't optimize
2266 (cst1 >> count) >> cst2 into (cst1 >> cst2) >> count if
2267 mode != result_mode.
2268
2269 PR c++/70353
2270 * tree-inline.c (remap_decls): Don't add_local_decl if cfun is null.
2271
2272 PR tree-optimization/70405
2273 * ssa-iterators.h (num_imm_uses): Add missing braces.
2274
2275 2016-03-29 Vladimir Makarov <vmakarov@redhat.com>
2276
2277 PR rtl-optimization/68695
2278 * ira-color.c (allocno_copy_cost_saving): New.
2279 (improve_allocation): Use it.
2280
2281 2016-03-29 Richard Henderson <rth@redhat.com>
2282
2283 PR middle-end/70355
2284 * lower-subreg.c (simplify_subreg_concatn): Reject paradoxical subregs.
2285
2286 2016-03-29 Richard Biener <rguenther@suse.de>
2287
2288 PR middle-end/70424
2289 * ipa-prop.c (ipa_compute_jump_functions_for_edge): Always
2290 use alignment returned by get_pointer_alignment_1 if it is
2291 bigger than BITS_PER_UNIT.
2292 * builtins.c (get_pointer_alignment_1): Do not return true
2293 for alignment extracted from SSA info.
2294
2295 2016-03-28 James Bowman <james.bowman@ftdichip.com>
2296
2297 * config/ft32/ft32.opt (mnodiv): New.
2298 * config/ft32/ft32.md (*divsi3, *modsi3): Qualify with TARGET_NODIV.
2299 * doc/invoke.texi (FT32 Options -mnodiv): New.
2300
2301 2016-03-28 Kirill Yukhin <kirill.yukhin@intel.com>
2302
2303 PR target/70406
2304 * config/i386/i386.md (define_split, andn): Fix modes.
2305
2306 2016-03-26 Richard Biener <rguenther@suse.de>
2307 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
2308
2309 PR ipa/70366
2310 * ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
2311 instead of
2312 TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
2313 as 2nd argument to cl_optimization_restore().
2314
2315 2016-03-25 Richard Henderson <rth@redhat.com>
2316
2317 PR target/70120
2318 * config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
2319 * config/aarch64/aarch64-protos.h: Declare it.
2320 * config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.
2321
2322 2016-03-25 Alan Modra <amodra@gmail.com>
2323
2324 PR target/70052
2325 * config/rs6000/constraints.md (j): Simplify.
2326 * config/rs6000/predicates.md (easy_fp_constant): Exclude
2327 decimal float 0.D.
2328 * config/rs6000/rs6000.md (zero_fp): New mode_attr.
2329 (mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
2330 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
2331 in all constraint alternatives.
2332 (movtd_64bit_nodm): Delete "j" constraint alternative.
2333
2334 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
2335
2336 * tree-ssa-propagate.c: Enhance docs for
2337 SSA_PROP_NOT_INTERESTING.
2338
2339 2016-03-24 Aldy Hernandez <aldyh@redhat.com>
2340
2341 * doc/extend.texi: Fix typo in documentation to pure attribute.
2342
2343 2016-03-24 John David Anglin <danglin@gcc.gnu.org>
2344
2345 PR target/70319
2346 * config/pa/pa.md (bswapdi2): Use a scratch register.
2347
2348 2016-03-24 Richard Henderson <rth@redhat.com>
2349
2350 PR middle-end/69845
2351 * fold-const.c (extract_muldiv_1): Correct test for multiplication
2352 overflow.
2353
2354 2016-03-24 Uros Bizjak <ubizjak@gmail.com>
2355
2356 * config/i386/i386.md (*anddi3_doubleword): Generate AND insn
2357 using ix86_expand_binary_operator instead of gen_andsi3.
2358
2359 2016-03-24 Richard Biener <rguenther@suse.de>
2360
2361 PR tree-optimization/70396
2362 * tree-vect-stmts.c (vectorizable_comparison): Use
2363 get_vectype_for_scalar_type.
2364
2365 2016-03-24 Richard Biener <rguenther@suse.de>
2366
2367 PR middle-end/70370
2368 * gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
2369 with register bases.
2370
2371 2016-03-24 Richard Biener <rguenther@suse.de>
2372
2373 PR tree-optimization/70372
2374 * tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
2375 build_all_ones_cst to also handle vector types correctly.
2376
2377 2016-03-23 Michael Meissner <meissner@linux.vnet.ibm.com>
2378
2379 PR target/70381
2380 * config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
2381 -mfloat128 here.
2382
2383 2016-03-23 Marek Polacek <polacek@redhat.com>
2384
2385 PR c++/69884
2386 * doc/invoke.texi: Document -Wignored-attributes.
2387
2388 2016-03-23 Bin Cheng <bin.cheng@arm.com>
2389
2390 PR tree-optimization/69042
2391 * params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
2392 parameter from 30 to 40.
2393
2394 2016-03-23 Bin Cheng <bin.cheng@arm.com>
2395
2396 PR tree-optimization/69042
2397 * tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
2398 for use with constant offset stripped in base.
2399
2400 2016-03-23 Richard Biener <rguenther@suse.de>
2401
2402 PR middle-end/70251
2403 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
2404 mode compatibility check.
2405 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
2406
2407 2016-03-23 Jeff Law <law@redhat.com>
2408
2409 PR tree-optimization/64058
2410 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field
2411 CONFLICT_COUNT.
2412 (struct ssa_conflicts): Move up earlier in the file.
2413 (conflicts_, var_map_): New static variables.
2414 (initialize_conflict_count): New function to initialize the
2415 CONFLICT_COUNT field for each conflict pair.
2416 (compare_pairs): Lazily initialize the conflict count and use it
2417 as the first tie-breaker.
2418 (sort_coalesce_list): Add new arguments conflicts, map. Initialize
2419 and wipe conflicts_ and map_ around the call to qsort. Remove
2420 special case for 2 coalesce pairs.
2421 * bitmap.c (bitmap_count_unique_bits): New function.
2422 (bitmap_count_bits_in_word): New function, extracted from
2423 bitmap_count_bits.
2424 (bitmap_count_bits): Use bitmap_count_bits_in_word.
2425 * bitmap.h (bitmap_count_unique_bits): Declare it.
2426
2427 2016-03-23 Ilya Enkovich <enkovich.gnu@gmail.com>
2428
2429 PR target/69917
2430 * config/i386/sol2.h (ASM_OUTPUT_DEF_FROM_DECLS): Follow
2431 transparent alias chain for decl assembler name.
2432 * config/sol2.c (solaris_assemble_visibility): Likewise.
2433
2434 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2435
2436 * config/arm/arm1020e.md (1020call_op): Reduce reservation
2437 duration.
2438 (v10_fdivs): Likewise.
2439 (v10_fdivd): Likewise.
2440
2441 2016-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2442
2443 PR driver/70132
2444 * config/arm/driver-arm.c (host_detect_local_cpu): Reorder exit logic
2445 to not call fclose twice on file.
2446
2447 2016-03-23 Jakub Jelinek <jakub@redhat.com>
2448
2449 PR tree-optimization/70354
2450 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
2451 oprnd0 is wider than oprnd1 and there is a cast from the wider
2452 type to oprnd1, mask it with the mask of the narrower type.
2453
2454 PR target/70321
2455 * config/i386/i386.md (*anddi3_doubleword, *<code>di3_doubleword):
2456 Optimize TARGET_STV splitters, if high or low word of last argument
2457 is 0 or -1.
2458
2459 2016-03-22 Jeff Law <law@redhat.com>
2460
2461 PR target/70232
2462 tree-ssa-threadbackward.c
2463 (fsm_find_control_statement_thread_paths): Correctly distinguish
2464 between old style jump threads vs FSM jump threads.
2465
2466 2016-03-22 Ilya Enkovich <enkovich.gnu@gmail.com>
2467
2468 PR target/70302
2469 * config/i386/i386.c (scalar_chain::convert_op): Support
2470 uninitialized register usage case.
2471
2472 2016-03-22 Richard Biener <rguenther@suse.de>
2473
2474 PR middle-end/70251
2475 * genmatch.c (gen_transform): Adjust last parameter to a three-state
2476 int...
2477 (capture::gen_transform): ... to change behavior when substituting
2478 a condition into cond or not-cond expr context.
2479 (dt_simplify::gen_1): Adjust.
2480 * gimple-match-head.c: Include gimplify.h for unshare_expr.
2481 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Revert
2482 last change and instead change to
2483 A + (B vcmp C ? 1 : 0) -> A - (B vcmp C ? -1 : 0).
2484 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
2485
2486 2016-03-22 Anthony Green <green@moxielogic.com>
2487
2488 * config/moxie/moxiebox.h (CC1_SPEC): Define. Fix endianness
2489 issue for moxiebox targets.
2490 (CC1PLUS_SPEC): Ditto.
2491
2492 2016-03-22 Richard Biener <rguenther@suse.de>
2493
2494 PR middle-end/70333
2495 * fold-const.c (extract_muldiv_1): Properly perform multiplication
2496 in the wide type.
2497
2498 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
2499
2500 * config/i386/i386.c (def_builtin): Remove duplicated functionality.
2501
2502 2016-03-22 Kirill Yukhin <kirill.yukhin@intel.com>
2503
2504 PR target/70325
2505 * config/i386/i386.c (def_builtin): Handle
2506 OPTION_MASK_ISA_AVX512VL to be and-ed with other
2507 bits.
2508 (const struct builtin_description bdesc_special_args[]):
2509 Remove duplicate ISA bits.
2510
2511 2016-03-22 Jakub Jelinek <jakub@redhat.com>
2512
2513 PR target/70329
2514 * config/i386/i386.c (ix86_expand_vecop_qihi): Don't bother computing
2515 d.perm[i] for i >= d.nelt. If not full_interleave, compute d.perm[i]
2516 in a way that works also for AVX512BW.
2517
2518 PR target/70300
2519 * config/i386/i386.md (cvtsd2ss splitter): Unpack in destination
2520 instead of source if operands[1] is xmm16 and above and
2521 !TARGET_AVX512VL. Use avx512f_vec_dupv16sf_1 instead of
2522 vec_interleave_lowv4sf if we need to unpack xmm16 and above.
2523
2524 PR c++/70295
2525 * gimplify.c (gimplify_modify_expr): Call gimple_set_no_warning
2526 on assign if (*from_p) is a comparison, set it to
2527 TREE_NO_WARNING (*from_p).
2528
2529 2016-03-21 Jakub Jelinek <jakub@redhat.com>
2530
2531 PR middle-end/70326
2532 * lra.c (restore_scratches): Ignore deleted insns.
2533
2534 2016-03-21 Marc Glisse <marc.glisse@inria.fr>
2535 Jakub Jelinek <jakub@redhat.com>
2536
2537 PR tree-optimization/70317
2538 * match.pd (cmp @0 @0): Pass @0 instead of TYPE_MODE (TREE_TYPE (@0))
2539 to HONOR_NANS.
2540
2541 2016-03-21 Uros Bizjak <ubizjak@gmail.com>
2542
2543 PR target/70327
2544 * config/i386/i386.md (movxi): Use ix86_expand_vector_move instead
2545 of ix86_expand_move.
2546 (movoi): Ditto.
2547 (movti): Use general_operand for operand 1 predicate.
2548
2549 2016-03-21 Martin Liska <mliska@suse.cz>
2550
2551 * hsa-dump.c (dump_hsa_insn_1): dump default branch of SBR
2552 insns.
2553 (dump_hsa_symbol): Dump BRIG offset of hsa_symbols.
2554
2555 2016-03-21 Martin Liska <mliska@suse.cz>
2556
2557 PR ipa/70306
2558 * ipa-icf.c (sem_function::parse): Skip static
2559 constructors and destructors.
2560
2561 2016-03-21 Jakub Jelinek <jakub@redhat.com>
2562
2563 PR target/70296
2564 * config/rs6000/rs6000-c.c (rs6000_macro_to_expand): If IDENT is
2565 function-like macro, peek following token(s) if it is followed
2566 by CPP_OPEN_PAREN token with optional padding in between, and
2567 if not, don't treat it like a macro.
2568
2569 2016-03-21 Thomas Schwinge <thomas@codesourcery.com>
2570 Alexander Monakov <amonakov@ispras.ru>
2571
2572 * config/nvptx/nvptx.c (nvptx_option_override): Don't emit sorry
2573 for the stabs debug format.
2574
2575 2016-03-21 Richard Biener <rguenther@suse.de>
2576
2577 PR tree-optimization/70310
2578 * tree-vect-generic.c (expand_vector_condition): Fold the built
2579 condition.
2580
2581 2016-03-21 Kirill Yukhin <kirill.yukhin@intel.com>
2582
2583 PR target/70293
2584 * config/i386/sse.md: (define_insn "*vec_dup<mode>"/AVX2):
2585 Block third alternative for AVX-512VL target,
2586
2587 2016-03-21 Martin Liska <mliska@suse.cz>
2588
2589 PR hsa/70234
2590 * hsa-brig.c (emit_function_directives): Mark unemitted
2591 global variables for emission.
2592 * hsa-gen.c (hsa_symbol::hsa_symbol): Initialize a new flag.
2593 (get_symbol_for_decl): Likewise.
2594 * hsa.h (struct hsa_symbol): New flag.
2595
2596 2016-03-21 Richard Biener <rguenther@suse.de>
2597
2598 PR tree-optimization/70288
2599 * tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Make sure
2600 we do not estimate unsimplified all-constant conditionals or
2601 switches as optimized away.
2602
2603 2016-03-21 Andrey Belevantsev <abel@ispras.ru>
2604
2605 PR rtl-optimization/69102
2606 * sched-deps.c (sched_analyze_insn): Do not set last_args_size field
2607 when we have a readonly dependency context.
2608
2609 2016-03-18 Jeff Law <law@redhat.com>
2610
2611 PR rtl-optimization/70263
2612 * ira.c (memref_used_between_p): Assert we found END in the insn chain.
2613 (update_equiv_regs): When trying to move a store to after the insn
2614 that sets the source of the store, make sure the store occurs after
2615 the insn that sets the source of the store. When successful note
2616 the REG_EQUIV note created in the dump file.
2617
2618 2016-03-16 David Wohlferd <dw@LimeGreenSocks.com>
2619 Bernd Schmidt <bschmidt@redhat.com>
2620
2621 * doc/extend.texi: Document more potential problems with basic asms.
2622
2623 2016-03-18 Bernd Schmidt <bschmidt@redhat.com>
2624
2625 PR rtl-optimization/70278
2626 * lra-constraints.c (split_reg): Handle the case where biggest_mode is
2627 VOIDmode.
2628
2629 2016-03-18 Jason Merrill <jason@redhat.com>
2630
2631 * calls.c (load_register_parameters): Fix zero size sibcall logic.
2632
2633 2016-03-18 Kirill Yukhin <kirill.yukhin@intel.com>
2634
2635 * config/i386/sse.md: Use vpbroadcastq for broadcasting DF
2636 values to 128b regs.
2637
2638 2016-03-18 Ilya Enkovich <enkovich.gnu@gmail.com>
2639
2640 PR tree-optimization/70252
2641 * tree-vect-stmts.c (supportable_widening_operation): Check resulting
2642 boolean vector has a proper number of elements.
2643 (supportable_narrowing_operation): Likewise.
2644
2645 2016-03-18 Tom de Vries <tom@codesourcery.com>
2646
2647 PR ipa/70269
2648 * cgraph.c (cgraph_node::get_body): Set dump_file to NULL after save.
2649
2650 2016-03-18 Jakub Jelinek <jakub@redhat.com>
2651
2652 * reload1.c (emit_input_reload_insns): Use simplify_replace_rtx
2653 instead of replace_rtx for DEBUG_INSNs.
2654
2655 2016-03-18 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
2656
2657 * config/i386/znver1.md : Fix latencies of FP/SSE/AVX
2658 load type reservations.
2659
2660 2016-03-17 John David Anglin <danglin@gcc.gnu.org>
2661
2662 PR target/70188
2663 * config/pa/constraints.md: Revert 2015-02-13 change. Use
2664 define_constraint for "Q" and "T" constraints.
2665
2666 2016-03-17 Evandro Menezes <e.menezes@samsung.com>
2667
2668 Tweak the pipeline model for Exynos M1
2669
2670 * config/aarch64/aarch64.c (exynosm1_tunings): Enable weak prefetching
2671 model.
2672
2673 2016-03-17 David Malcolm <dmalcolm@redhat.com>
2674
2675 PR c/70264
2676 * diagnostic-show-locus.c (compatible_locations_p): Handle the case
2677 where one or both locations aren't within a line_map.
2678
2679 2016-03-17 H.J. Lu <hongjiu.lu@intel.com>
2680
2681 PR driver/70192
2682 * opts.c (finish_options): Don't set flag_pie to the default if
2683 -fpic, -fPIC, -fno-pic or -fno-PIC is used. Set flag_pic to 0
2684 if it is -1.
2685
2686 2016-03-17 Joern Rennecke <joern.rennecke@embecosm.com>
2687
2688 * config/i386/i386.md (*movv4qicc_insn+1..36): Pass
2689 true as ALL_REGS argument to replace_rtx.
2690
2691 2016-03-17 Richard Biener <rguenther@suse.de>
2692
2693 PR debug/70271
2694 * dwarf2out.c (dwarf2out_early_finish): Process deferred_asm_name
2695 last.
2696
2697 2016-03-17 Jakub Jelinek <jakub@redhat.com>
2698
2699 PR target/70245
2700 * rtl.h (replace_rtx): Add ALL_REGS argument.
2701 * rtlanal.c (replace_rtx): Likewise. If true, use REGNO
2702 equality and assert mode is the same, instead of just rtx pointer
2703 equality.
2704 * config/i386/i386.md (mov + arithmetics with load peephole): Pass
2705 true as ALL_REGS argument to replace_rtx.
2706
2707 2016-03-17 Ilya Enkovich <enkovich.gnu@gmail.com>
2708
2709 * match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Apply
2710 for boolean vector with vector mode only.
2711 (A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.
2712
2713 2016-03-17 Nick Clifton <nickc@redhat.com>
2714
2715 PR target/70162
2716 * config/rx/rx.c (rx_print_integer): Print negative constants in
2717 decimal.
2718
2719 2016-03-17 Jakub Jelinek <jakub@redhat.com>
2720
2721 PR target/70261
2722 * rtlanal.c (replace_rtx): Revert 2016-03-16 change.
2723
2724 2016-03-16 Richard Henderson <rth@redhat.com>
2725 Richard Biener <rguenth@suse.de>
2726
2727 PR middle-end/70240
2728 PR middle-end/68215
2729 PR tree-opt/68714
2730 * gimplify.c (gimplify_expr) [VEC_COND_EXPR]: Gimplify the
2731 first operand as is_gimple_condexpr.
2732
2733 PR middle-end/70240
2734 PR middle-end/68215
2735 Revert r231575
2736 2015-12-11 Eric Botcazou <ebotcazou@adacore.com>
2737 * tree-vect-generic.c (tree_vec_extract): Remove GSI parameter.
2738 Do not gimplify the result.
2739 (do_unop): Adjust call to tree_vec_extract.
2740 (do_binop): Likewise.
2741 (do_compare): Likewise.
2742 (do_plus_minus): Likewise.
2743 (do_negate): Likewise.
2744 (expand_vector_condition): Likewise.
2745 (do_cond): Likewise.
2746
2747 2016-03-16 Richard Henderson <rth@redhat.com>
2748
2749 PR target/70048
2750 * config/aarch64/aarch64.c (virt_or_elim_regno_p): New.
2751 (aarch64_classify_address): Use it.
2752 (aarch64_legitimize_address): Force all subexpressions of PLUS
2753 into registers. Simplify as (sfp+const)+reg or (reg+reg)+const.
2754
2755 2016-03-16 Jakub Jelinek <jakub@redhat.com>
2756 Richard Biener <rguenth@suse.de>
2757
2758 PR target/70245
2759 * rtlanal.c (replace_rtx): For REG, if from is a REG,
2760 return to even if only REGNO is equal, and assert
2761 mode is the same.
2762
2763 2016-03-11 Jeff Law <law@redhat.com>
2764
2765 PR rtl-optimization/70224
2766 * reorg.c (relax_delay_slots): Pass right argument to CROSSING_JUMP_P.
2767
2768 2016-03-16 Richard Henderson <rth@redhat.com>
2769
2770 PR middle-end/70199
2771 * function.h (struct function): Add has_forced_label_in_static.
2772 * gimplify.c (force_labels_r): Set it.
2773 * lto-streamer-in.c (input_struct_function_base): Read it.
2774 * lto-streamer-out.c (output_struct_function_base): Write it.
2775 * tree-inline.c (has_label_address_in_static_1): Remove.
2776 (copy_forbidden): Remove fndecl parameter; test
2777 has_forced_label_in_static.
2778 (inline_forbidden_p): Update call to copy_forbidden.
2779 (tree_versionable_function_p): Likewise.
2780 * ipa-chkp.c (chkp_instrumentable_p): Likewise.
2781 (chkp_versioning): Likewise.
2782 * tree-inline.h (copy_forbidden): Update decl.
2783
2784 2016-03-16 Marek Polacek <polacek@redhat.com>
2785
2786 PR c/70093
2787 * cgraphunit.c (cgraph_node::expand_thunk): Also build call to the
2788 function being thunked if the result type doesn't have fixed size.
2789 * gimplify.c (gimplify_modify_expr): Also set LHS if the result type
2790 doesn't have fixed size.
2791
2792 2016-03-16 Bin Cheng <bin.cheng@arm.com>
2793
2794 * tree-vect-loop.c (vect_analyze_loop_2): Fix wrong dump info by
2795 reporting malformed loop nest.
2796
2797 2016-03-16 Tom de Vries <tom@codesourcery.com>
2798
2799 PR lto/70187
2800 * ipa-devirt.c (possible_polymorphic_call_targets): Move
2801 nodes.length () == 1 test to before first nodes[0] access.
2802
2803 2016-03-16 Tom de Vries <tom@codesourcery.com>
2804
2805 PR tree-optimization/68715
2806 * graphite-scop-detection.c (scop_detection::merge_sese): Add missing
2807 single_pred_p test.
2808
2809 2016-03-16 Tom de Vries <tom@codesourcery.com>
2810
2811 PR tree-optimization/68809
2812 * graphite-scop-detection.c (same_close_phi_node): Test if result types
2813 are the same.
2814
2815 2016-03-16 Carlos O'Donell <carlos@redhat.com>
2816 Sandra Loosemore <sandra@codesourcery.com>
2817
2818 * doc/extend.texi (Common Function Attributes): Describe ifunc impact
2819 on leaf attribute. Mention ELF interposition problems.
2820
2821 2016-03-16 Alan Modra <amodra@gmail.com>
2822
2823 PR rtl-optimization/69195
2824 PR rtl-optimization/47992
2825 * ira.c (indirect_jump_optimize): Ignore artificial defs.
2826 Add comments.
2827
2828 2016-03-15 Eric Botcazou <ebotcazou@adacore.com>
2829
2830 PR bootstrap/69513
2831 * dwarf2out.c (flush_limbo_die_list): Really flush the limbo list.
2832
2833 2016-03-15 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
2834
2835 * config/avr/avr.md (rotl<mode>3): Set mode for operand 2.
2836
2837 2016-03-15 Jakub Jelinek <jakub@redhat.com>
2838
2839 PR rtl-optimization/70222
2840 * combine.c (simplify_shift_const_1): For A >> B >> C LSHIFTRT
2841 optimization if mode is different from result_mode, queue up masking
2842 of the result in outer_op. Formatting fix.
2843
2844 PR middle-end/70239
2845 * tree-ssa-sccvn.c (VN_INFO_GET): Use safe_grow_cleared instead
2846 of safe_grow.
2847
2848 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
2849
2850 PR rtl-optimization/69032
2851 * sel-sched-ir.c (get_seqno_by_preds): Include both insn and head when
2852 looping backwards over basic block insns.
2853
2854 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
2855
2856 PR target/66660
2857 * sel-sched-ir.c (merge_expr): Avoid changing the speculative pattern
2858 to non-speculative when propagating trap bits.
2859
2860 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
2861
2862 PR rtl-optimization/63384
2863 * sel-sched.c (invoke_aftermath_hooks): Do not decrease issue_more on
2864 DEBUG_INSN_P insns.
2865
2866 2016-03-15 Andrey Belevantsev <abel@ispras.ru>
2867
2868 PR target/64411
2869 * sched-deps.c (get_implicit_reg_pending_clobbers): New function,
2870 factored out from ...
2871 (sched_analyze_insn): ... here.
2872 * sched-int.h (get_implicit_reg_pending_clobbers): Declare it.
2873 * sel-sched-ir.c (setup_id_implicit_regs): New function, use
2874 get_implicit_reg_pending_clobbers in it.
2875 (setup_id_reg_sets): Use setup_id_implicit_regs.
2876 (deps_init_id): Ditto.
2877
2878 2016-03-15 Tom de Vries <tom@codesourcery.com>
2879
2880 PR ipa/70161
2881 * cgraph.c (cgraph_node::get_body): Save, reset and restore
2882 dump_file_name.
2883 * passes.c (execute_one_ipa_transform_pass): Add missing argument to
2884 execute_function_dump.
2885 (execute_one_pass): Don't dump function if it will be dumped after ipa
2886 transform.
2887
2888 2016-03-15 Segher Boessenkool <segher@kernel.crashing.org>
2889
2890 * genrecog.c (match_pattern_2): If pred is NULL don't call
2891 safe_predicate_mode on it.
2892
2893 2016-03-14 Jakub Jelinek <jakub@redhat.com>
2894
2895 PR middle-end/70219
2896 * lra-constraints.c (delete_move_and_clobber): Change assertion
2897 to also allow dregno == 0.
2898
2899 2016-03-14 Richard Henderson <rth@redhat.com>
2900
2901 PR tree-opt/68714
2902 * tree-ssa-reassoc.c (ovce_extract_ops, optimize_vec_cond_expr): New.
2903 (can_reassociate_p): Allow ANY_INTEGRAL_TYPE_P.
2904 (reassociate_bb): Use optimize_vec_cond_expr; avoid
2905 optimize_range_tests, attempt_builtin_copysign and attempt_builtin_powi
2906 on vectors.
2907
2908 2016-03-14 Bernd Schmidt <bschmidt@redhat.com>
2909
2910 PR target/70083
2911 * lra-lives.c (process_bb_lives): Also update biggest mode for hard
2912 regs.
2913 (lra_create_live_ranges_1): initialize hard register biggest_mode to
2914 VOIDmode.
2915 * lra-constraints.c (split_reg): For hard regs, try to find the
2916 biggest single-register mode used in the function.
2917
2918 2016-03-14 Richard Biener <rguenther@suse.de>
2919
2920 PR tree-optimization/56365
2921 * tree-ssa-phiopt.c (minmax_replacement): Handle alternate
2922 constants to compare against.
2923
2924 2016-03-14 Segher Boessenkool <segher@kernel.crashing.org>
2925
2926 PR target/70098
2927 * config/rs6000/rs6000.md (*ctr<mode>_internal1, *ctr<mode>_internal2,
2928 *ctr<mode>_internal5, *ctr<mode>_internal6): Also allow "d" as output.
2929 (define_split for the GPR case): Use int_reg_operand instead of
2930 gpc_reg_operand for the output.
2931
2932 2016-03-14 Tom de Vries <tom@codesourcery.com>
2933
2934 PR tree-optimization/70045
2935 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard): Unshare
2936 create_empty_if_region_on_edge argument.
2937
2938 2016-03-13 Eric Botcazou <ebotcazou@adacore.com>
2939
2940 * config/arm/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Define.
2941 (STACK_CHECK_PROTECT): Likewise.
2942 * config/i386/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
2943 (STACK_CHECK_PROTECT): Likewise.
2944 * config/rs6000/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise
2945 (STACK_CHECK_PROTECT): Likewise.
2946 * config/rs6000/vxworksae.h (STACK_CHECK_PROTECT): Likewise.
2947 * config/sparc/vxworks.h (STACK_CHECK_STATIC_BUILTIN): Likewise.
2948 (STACK_CHECK_PROTECT): Likewise.
2949
2950 2016-03-12 Andrey Belevantsev <abel@ispras.ru>
2951
2952 PR rtl-optimization/69307
2953 * sel-sched.c (choose_best_pseudo_reg): Properly check for hard
2954 registers in modes that span more than one register.
2955
2956 2016-03-12 Vladimir Makarov <vmakarov@redhat.com>
2957
2958 PR target/69614
2959 * lra-constraints.c (delete_move_and_clobber): New.
2960 (remove_inheritance_pseudos): Use it.
2961
2962 2016-03-12 Eric Botcazou <ebotcazou@adacore.com>
2963
2964 PR ada/70017
2965 * calls.c (emit_library_call_value_1): Clear the ECF_NOTHROW flag if
2966 the libcall is LCT_THROW.
2967 * explow.c (probe_stack_range): Pass LCT_THROW to emit_library_call
2968 for the checking routine.
2969
2970 2016-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
2971
2972 PR target/70131
2973 * config/rs6000/rs6000.md (round32<mode>2_fprs): Do not do the
2974 optimization if we have direct move.
2975 (roundu32<mode>2_fprs): Likewise.
2976
2977 2016-03-11 Bernd Schmidt <bschmidt@redhat.com>
2978
2979 PR target/70123
2980 * lra-remat.c (operand_to_remat): Disallow hard regs in the value t
2981 be rematerialized.
2982 (reg_overlap_for_remat_p): Renamed from input_regno_present_p.
2983 Arguments swapped. All callers changed. Take reg_renumber into
2984 account, and Calculate and compare register ranges for hard regs.
2985
2986 2016-03-11 Jeff Law <law@redhat.com>
2987
2988 PR tree-optimization/70190
2989 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
2990 Handle cases where we can not extract the taken edge, even though we
2991 found a constant value.
2992
2993 PR tree-optimization/64058
2994 * tree-ssa-coalesce.c (struct coalesce_pair): Add new field INDEX.
2995 (num_coalesce_pairs): Move up earlier in file.
2996 (find_coalesce_pair): Initialize the INDEX field for each pair
2997 discovered.
2998 (compare_pairs): No longer sort on the elements in each pair.
2999 Instead break ties with the index of the coalesce pair.
3000
3001 2016-03-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3002
3003 PR target/70002
3004 * config/aarch64/aarch64-protos.h
3005 (aarch64_save_restore_target_globals): New prototype.
3006 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse):
3007 Call the above when popping pragma.
3008 * config/aarch64/aarch64.c (aarch64_save_restore_target_globals):
3009 New function.
3010 (aarch64_set_current_function): Rewrite using the above.
3011
3012 2016-03-11 Jakub Jelinek <jakub@redhat.com>
3013
3014 PR tree-optimization/70177
3015 * gimple-expr.h (extract_ops_from_tree_1): Renamed to ...
3016 (extract_ops_from_tree): ... this. In the 2 argument
3017 overload remove _1 suffix.
3018 * gimple-expr.c (extract_ops_from_tree_1): Renamed to ...
3019 (extract_ops_from_tree): ... this.
3020 * gimple.c (gimple_build_assign, gimple_assign_set_rhs_from_tree):
3021 Adjust callers.
3022 * tree-ssa-loop-niter.c (derive_constant_upper_bound): Likewise.
3023 * tree-ssa-forwprop.c (defcodefor_name): Call 3 operand
3024 extract_ops_from_tree instead of 2 operand one.
3025
3026 2016-03-11 Alan Lawrence <alan.lawrence@arm.com>
3027
3028 PR tree-optimization/70013
3029 * tree-sra.c (analyze_access_subtree): Also set grp_unscalarized_data
3030 for constant-pool entries.
3031
3032 2016-03-11 Jakub Jelinek <jakub@redhat.com>
3033
3034 PR rtl-optimization/70174
3035 * expmed.c (store_bit_field_using_insv): Use gen_lowpart_if_possible
3036 followed by gen_lowpart on force_reg instead of just gen_lowpart.
3037
3038 PR tree-optimization/70169
3039 * tree-ssa-loop.c (gen_lsm_tmp_name): Handle FUNCTION_DECL and
3040 LABEL_DECL like VAR_DECL. Emit nothing instead of gcc_unreachable
3041 for unknown codes.
3042
3043 2016-03-11 Ilya Enkovich <enkovich.gnu@gmail.com>
3044 Jakub Jelinek <jakub@redhat.com>
3045
3046 PR target/70160
3047 * config/i386/i386.c (scalar_chain::convert_reg): Skip uses
3048 of uninitialized values.
3049
3050 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3051
3052 * config/s390/s390.md ("trunctddd2"): Turn former define_insn into
3053 define_expand.
3054 ("*trunctddd2"): New pattern definition.
3055 ("trunctdsd2"): Set prep_for_short_prec rounding mode for the
3056 TD->DD truncation.
3057
3058 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3059
3060 * config/s390/s390.md (BFP_RND_*, DFP_RND_*): Add new constant
3061 definitions for BFP and DFP rounding modes.
3062 ("fixuns_truncdddi2", "fixuns_trunctddi2")
3063 ("fixuns_trunc<BFP:mode><GPR:mode>2", "fixuns_trunc<mode>si2")
3064 ("fix_trunc<DSF:mode><GPR:mode>2", "fix_trunc<mode>di2")
3065 ("fix_trunctf<mode>2"): Use the new constants instead of magic
3066 numbers.
3067
3068 2016-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3069
3070 * config/s390/constraints.md: Adjust comment.
3071 ("Y"): Adjust comment. Rename s390_decompose_shift_count to
3072 s390_decompose_addrstyle_without_index.
3073 * config/s390/predicates.md (shift_count_or_setmem_operand):
3074 Rename to setmem_operand.
3075 * config/s390/s390-protos.h
3076 (s390_decompose_shift_count): Rename to
3077 s390_decompose_addrstyle_without_index.
3078 * config/s390/s390.c (s390_decompose_shift_count)
3079 (s390_mem_constraint, print_shift_count_operand)
3080 (print_operand_address, print_operand): Rename
3081 s390_decompose_shift_count to
3082 s390_decompose_addrstyle_without_index and rename
3083 print_shift_count_operand to print_addrstyle_operand troughout the
3084 file.
3085 * config/s390/s390.md ("setmem_long_<P:mode>", "*setmem_long")
3086 ("*setmem_long_and", "*setmem_long_31z", "*setmem_long_and_31z"):
3087 Rename shift_count_or_setmem_operand to setmem_operand.
3088 * config/s390/vx-builtins.md ("vec_insert<mode>")
3089 ("vec_promote<mode>"): Replace shift_count_or_setmem_operand with
3090 nonmemory_operand.
3091
3092 2016-03-10 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
3093
3094 PR target/70168
3095 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
3096 Handle overlapping retval and newval.
3097
3098 2016-03-10 Nick Clifton <nickc@redhat.com>
3099
3100 PR target/7044
3101 * config/aarch64/aarch64.c
3102 (aarch64_override_options_after_change_1): When forcing
3103 flag_omit_frame_pointer to be true, use a special value that can
3104 be detected if this function is called again, thus preventing
3105 flag_omit_leaf_frame_pointer from being forced to be false.
3106
3107 2016-03-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3108
3109 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
3110 Set x_flag_omit_leaf_frame_pointer when handling
3111 -momit-leaf-frame-pointer.
3112
3113 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3114
3115 PR lto/69589
3116 * cgraph.c (cgraph_node::dump): Dump split_part and
3117 indirect_call_target.
3118 * cgraph.h (cgraph_node): Add indirect_call_target flag.
3119 * ipa.c (has_addr_references_p): Cleanup.
3120 (is_indirect_call_target_p): New.
3121 (walk_polymorphic_call_targets): Do not mark virtuals that may be
3122 called indirectly as local.
3123 (symbol_table::remove_unreachable_nodes): Compute indirect_call_target.
3124
3125 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3126
3127 PR ipa/69630
3128 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
3129 on cxa_pure_virtual.
3130
3131 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3132
3133 PR lto/69589
3134 * tree.c (free_lang_data_in_decl): Clear visibility of TYPE_DECL.
3135
3136 2016-03-10 Jan Hubicka <hubicka@ucw.cz>
3137
3138 PR lto/69589
3139 * tree.c (need_assembler_name_p): Only record main variant type names.
3140
3141 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
3142
3143 PR target/70113.
3144 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_843419_DEFAULT):
3145 Always define to 0 or 1.
3146 (TARGET_FIX_ERR_A53_843419): New macro.
3147 * config/aarch64/aarch64-elf-raw.h
3148 (TARGET_FIX_ERR_A53_843419_DEFAULT): Update for above changes.
3149 * config/aarch64/aarch64-linux.h: Likewise.
3150 * config/aarch64/aarch64.c
3151 (aarch64_override_options_after_change_1): Do not default
3152 aarch64_nopcrelative_literal_loads to true if Cortex-A53 erratum
3153 843419 is on.
3154 (aarch64_attributes): Handle fix-cortex-a53-843419.
3155 (aarch64_can_inline_p): Likewise.
3156 * config/aarch64/aarch64.opt (aarch64_fix_a53_err843419): Save.
3157
3158 2016-03-10 Alan Lawrence <alan.lawrence@arm.com>
3159 Jakub Jelinek <jakub@redhat.com>
3160
3161 * common.opt (funconstrained-commons, flag_unconstrained_commons): New.
3162 * tree.c (array_at_struct_end_p): Do not limit to size of decl for
3163 DECL_COMMONS if flag_unconstrained_commons is set.
3164 * tree-dfa.c (get_ref_base_and_extent): Likewise.
3165 * doc/invoke.texi (Optimize Options): Add -funconstrained-commons.
3166 (funconstrained-commons): Document.
3167
3168 2016-03-10 Christophe Lyon <christophe.lyon@linaro.org>
3169
3170 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add
3171 aarch64-fusion-pairs.def and aarch64-tuning-flags.def
3172
3173 2016-03-10 Ilya Enkovich <enkovich.gnu@gmail.com>
3174
3175 * tree-vect-stmts.c (vectorizable_mask_load_store): Check mask
3176 has a proper number of elements.
3177
3178 2016-03-10 Alan Modra <amodra@gmail.com>
3179
3180 PR rtl-optimization/69195
3181 PR rtl-optimization/47992
3182 * ira.c (recorded_label_ref): Delete.
3183 (update_equiv_regs): Return void.
3184 (indirect_jump_optimize): New function.
3185 (ira): Call indirect_jump_optimize and delete_trivially_dead_insns
3186 before regstat_compute_ri. Don't rebuild_jump_labels here.
3187 Delete update_regstat.
3188
3189 2016-03-10 Richard Biener <rguenther@suse.de>
3190
3191 PR tree-optimization/70128
3192 * tree-ssa-structalias.c (set_uids_in_ptset): Set
3193 vars_contains_nonlocal for any FUNCTION_DECL or LABEL_DECL.
3194
3195 2016-03-09 Jakub Jelinek <jakub@redhat.com>
3196
3197 PR tree-optimization/70152
3198 * tree-sra.c (replace_removed_params_ssa_names): Copy over
3199 SSA_NAME_OCCURS_IN_ABNORMAL_PHI from old_name to new_name.
3200
3201 PR target/70086
3202 * config/i386/i386.md (truncdfsf2 splitter): Use gen_vec_concatv2df
3203 instead of gen_sse2_loadlpd.
3204 * config/i386/sse.md (*vec_concatv2df): Rename to...
3205 (vec_concatv2df): ... this.
3206
3207 PR tree-optimization/70127
3208 * fold-const.c (operand_equal_p): Revert the 2015-10-28 change.
3209
3210 2016-03-09 David Malcolm <dmalcolm@redhat.com>
3211
3212 PR c/68473
3213 PR c++/70105
3214 * diagnostic-show-locus.c (compatible_locations_p): New function.
3215 (layout::layout): Sanitize ranges using compatible_locations_p.
3216
3217 2016-03-09 David Malcolm <dmalcolm@redhat.com>
3218
3219 PR c/68473
3220 PR c++/70105
3221 * diagnostic-show-locus.c (layout_range::layout_range): Replace
3222 location_range param with three const expanded_locations * and a
3223 bool.
3224 (layout::layout): Replace call to
3225 rich_location::lazily_expand_location with get_expanded_location.
3226 Extract the range and perform location expansion here, passing
3227 the results to the layout_range ctor.
3228 * diagnostic.c (source_range::debug): Delete.
3229 * diagnostic.h (diagnostic_expand_location): Reimplement in terms
3230 of rich_location::get_expanded_location.
3231 * gcc-rich-location.c (get_range_for_expr): Delete.
3232 (gcc_rich_location::add_expr): Reimplement to avoid the
3233 rich_location::add_range overload that took a location_range,
3234 passing a location_t instead.
3235
3236 2016-03-09 Richard Biener <rguenther@suse.de>
3237 Jakub Jelinek <jakub@redhat.com>
3238
3239 PR tree-optimization/70138
3240 * tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer):
3241 Also skip vect_double_reduction_def.
3242
3243 2016-03-09 Jakub Jelinek <jakub@redhat.com>
3244
3245 PR target/70049
3246 * config/i386/sse.md (*vec_extract<mode>): Use %0 instead of %k0
3247 if the operand is "m".
3248
3249 2016-03-09 Nathan Sidwell <nathan@acm.org>
3250
3251 * config/nvptx/nvptx.c (nvptx_option_override): Don't kill debug level.
3252
3253 2016-03-09 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3254
3255 * config/i386/i386.c (processor_target_table): Fix cost table
3256 intialization order for znver1.
3257
3258 2016-03-08 Jakub Jelinek <jakub@redhat.com>
3259
3260 * ipa-polymorphic-call.c (walk_ssa_copies): Fix spelling
3261 - becuase -> because.
3262 * ipa-reference.c (ignore_module_statics): Likewise.
3263 * cgraph.c (cgraph_node::get_body): Likewise.
3264 * ipa-inline.c (early_inliner): Likewise.
3265 * ipa-devirt.c (types_same_for_odr): Likewise.
3266 * tree-streamer-out.c (pack_ts_type_common_value_fields): Likewise.
3267 * config/i386/i386.h (ACCUMULATE_OUTGOING_ARGS): Likewise.
3268
3269 2016-03-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3270
3271 * tree-ssa-math-opts.c: Fix typo in comment.
3272
3273 2016-03-08 Jakub Jelinek <jakub@redhat.com>
3274
3275 PR target/70110
3276 * config/i386/i386.c (scalar_chain::make_vector_copies,
3277 scalar_chain::convert_reg): Call end_sequence in between
3278 get_insns and emit_conversion_insns rather than after both
3279 calls.
3280
3281 2016-03-07 Uros Bizjak <ubizjak@gmail.com>
3282
3283 PR target/70064
3284 * config/i386/i386.h (machine_function): Add
3285 pc_thunk_call_expanded flag.
3286 (ix86_pc_thunk_call_expanded): New define.
3287 * config/i386/i386.md (set_got, set_got_labelled): New expanders.
3288 (*set_got): Rename insn pattern from set_got.
3289 (*set_got_labelled): Rename inst pattern from set_got_labelled.
3290 * config/i386/i386.c (ix86_compute_frame_layout): Use
3291 ix86_pc_thunk_call_expanded to prevent red-zone.
3292
3293 2016-03-07 Martin Jambor <mjambor@suse.cz>
3294
3295 * hsa.h (hsa_get_ctor_statements): Declare.
3296 (hsa_get_dtor_statements): Likewise.
3297 (hsa_get_kernel_dispatch_type): Likewise.
3298 * hsa.c (hsa_get_ctor_statements): New function.
3299 (hsa_get_dtor_statements): Likewise.
3300 (hsa_get_kernel_dispatch_type): Likewise.
3301 * hsa-brig.c (hsa_cdtor_statements): Removed.
3302 (hsa_output_libgomp_mapping): Use hsa_get_ctor_statements and
3303 hsa_get_dtor_statements.
3304 * hsa-gen.c (hsa_kernel_dispatch_type): Removed.
3305 (get_hsa_kernel_dispatch_offset): Use hsa_get_kernel_dispatch_type.
3306
3307 2016-03-07 Andre Vieira <andre.simoesdiasvieira@arm.com>
3308
3309 * config/arm/arm-cores.def (cortex-r8): New.
3310 * config/arm/arm-tables.opt (cortex-r8): Regenerate.
3311 * config/arm/arm-tune.md: Likewise.
3312 * gcc/doc/invoke.texi: Add cortex-r8 to list of cpu values.
3313
3314 2016-03-07 Martin Sebor <msebor@redhat.com>
3315
3316 PR rtl-optimization/19705
3317 * doc/invoke.texi (Options That Control Optimization): Clarify
3318 -fno-branch-count-reg.
3319
3320 2016-02-26 Richard Biener <rguenther@suse.de>
3321 Jeff Law <law@redhat.com>
3322
3323 PR tree-optimization/69740
3324 * cfghooks.c (remove_edge): Request loop fixups if we delete
3325 an edge that might turn an irreducible loop into a natural
3326 loop.
3327 * cfgloop.h (check_verify_loop_structure): Clear LOOPS_NEED_FIXUP.
3328 Move after definition of loops_state_clear.
3329
3330 2016-03-07 Bin Cheng <bin.cheng@arm.com>
3331
3332 PR rtl-optimization/69052
3333 * rtlanal.c (commutative_operand_precedence): Set higher precedence
3334 to CONST_WIDE_INT.
3335
3336 2016-03-07 Tom de Vries <tom@codesourcery.com>
3337
3338 PR tree-optimization/70116
3339 * tree-ssa-tail-merge.c (merge_stmts_p): New function, handling
3340 is_tm_ending stmts and ubsan/asan internal functions.
3341 (find_duplicate): Use it. Don't test is_tm_ending here.
3342
3343 2016-03-07 Richard Biener <rguenther@suse.de>
3344
3345 PR tree-optimization/70115
3346 * tree-ssa-loop-ivcanon.c (propagate_into_all_uses): Remove.
3347 (propagate_constants_for_unrolling): Use replace_uses_by.
3348
3349 2016-03-07 Nathan Sidwell <nathan@codesourcery.com>
3350
3351 PR middle-end/69916
3352 * omp-low.c (struct oacc_loop): Add ifns.
3353 (new_oacc_loop_raw): Initialize it.
3354 (finish_oacc_loop): Clear mask & flags if no ifns.
3355 (oacc_loop_discover_walk): Count IFN_GOACC_LOOP calls.
3356 (oacc_loop_xform_loop): Add ifns arg & adjust.
3357 (oacc_loop_process): Adjust oacc_loop_xform_loop call.
3358
3359 2016-03-07 Richard Henderson <rth@redhat.com>
3360
3361 PR rtl-opt/70061
3362 * tree-outofssa.c (emit_partition_copy): Flush pending stack adjust.
3363 (insert_value_copy_on_edge): Likewise.
3364
3365 2016-03-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3366
3367 * config/arm/arm_neon.h: Show error if using with soft-float ABI.
3368
3369 2016-03-07 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
3370
3371 PR target/62281
3372 * config/i386/sol2.h (STACK_REALIGN_DEFAULT): Define.
3373
3374 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
3375
3376 * config/i386/i386.c (znver1_cost): Fix Multiply cost.
3377
3378 2016-03-05 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
3379
3380 Fix sseimul type attribute.
3381 * config/i386/znver1.md
3382 (znver1_sseimul, znver1_sseimul_avx256, znver1_sseimul_load,
3383 znver1_sseimul_avx256_load) : Fix the type attribute.
3384 (znver1_sseimul_di, znver1_sseimul_load_di): Fix type attribute,
3385 pipe usage and latency.
3386
3387 2016-03-05 Jakub Jelinek <jakub@redhat.com>
3388
3389 PR c++/70084
3390 * tree-inline.c (copy_tree_body_r): When cancelling ADDR_EXPR
3391 of INDIRECT_REF and ADDR_EXPR changed type, fold_convert it
3392 to the right type.
3393
3394 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
3395
3396 PR c/69973
3397 * targhooks.c (default_vector_alignment): Limit to MAX_OFILE_ALIGNMENT.
3398
3399 PR rtl-optimization/69941
3400 * postreload.c (reload_combine_recognize_pattern): Ensure all uses of
3401 the reg share its mode.
3402
3403 2016-03-04 Jeff Law <law@redhat.com>
3404
3405 PR tree-optimization/69196
3406 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3407 If the both SSA_NAMEs are anonymous, then consider them unassociated
3408 and include the PHI in the statement count.
3409
3410 2016-03-05 Tom de Vries <tom@codesourcery.com>
3411
3412 * omp-low.c (check_omp_nesting_restrictions): Check for non-oacc
3413 construct in oacc routine. Check for oacc region in oacc routine.
3414
3415 2016-03-04 Jakub Jelinek <jakub@redhat.com>
3416
3417 PR target/70062
3418 * config/i386/i386.c (decide_alg): Add RECUR argument. Revert
3419 2016-02-22 changes, instead don't recurse if RECUR is already true.
3420 Don't change *dynamic_check if RECUR. Adjust recursive caller
3421 to pass true to the new argument.
3422 (ix86_expand_set_or_movmem): Adjust decide_alg caller.
3423
3424 PR target/70059
3425 * config/i386/sse.md (vec_set_lo_<mode><mask_name>,
3426 <extract_type_2>_vinsert<shuffletype><extract_suf_2>_mask): Formatting
3427 fixes.
3428 (vec_set_hi_<mode><mask_name>): Likewise. Swap VEC_CONCAT operands.
3429
3430 2016-03-04 Bernd Schmidt <bschmidt@redhat.com>
3431
3432 PR rtl-optimization/57676
3433 * lra-assigns.c (lra_assign): Guard test for maximum iterations
3434 with flag_checking.
3435
3436 2016-03-04 Ilya Enkovich <enkovich.gnu@gmail.com>
3437
3438 * tree-vect-patterns.c (search_type_for_mask): Handle
3439 comparison of booleans.
3440
3441 2016-03-04 Jakub Jelinek <jakub@redhat.com>
3442
3443 * doc/extend.texi (__builtin_alloca, __builtin_alloca_with_align):
3444 Fix @xref usage.
3445
3446 PR debug/69947
3447 * dwarf2out.c (prune_unused_types_walk_loc_descr): Handle
3448 all other ops that have dw_val_class_die_ref operands,
3449 and DW_OP_GNU_entry_value.
3450
3451 2016-03-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3452
3453 PR rtl-optimization/69904
3454 * config/arm/arm.c (arm_cannot_copy_insn_p):
3455 Return true for load-exclusive instructions.
3456
3457 2016-03-03 Jakub Jelinek <jakub@redhat.com>
3458
3459 PR target/70021
3460 * tree-vect-stmts.c (vect_mark_relevant): Remove USED_IN_PATTERN
3461 argument, if STMT_VINFO_IN_PATTERN_P (stmt_info), always mark
3462 the pattern no matter if it is used just by non-pattern, pattern
3463 or mix thereof.
3464 (process_use, vect_mark_stmts_to_be_vectorized): Adjust callers.
3465 * tree-vect-patterns.c (vect_recog_vector_vector_shift_pattern): If
3466 oprnd1 def_stmt is in pattern, don't look through it.
3467
3468 2016-03-03 Marek Polacek <polacek@redhat.com>
3469
3470 PR middle-end/70050
3471 * match.pd (X % -Y): Add INTEGRAL_TYPE_P check.
3472
3473 2016-03-03 Martin Liska <mliska@suse.cz>
3474
3475 PR tree-optimization/70043
3476 * tree-vect-loop.c (optimize_mask_stores): Move iterator to
3477 previous statement if we see a debug statement.
3478
3479 2016-03-03 Richard Biener <rguenther@suse.de>
3480
3481 PR tree-optimization/55936
3482 * tree-vrp.c (compare_name_with_value): Add use_equiv_p
3483 parameter and guard unsafe equivalence use.
3484 (vrp_evaluate_conditional_warnv_with_ops): Always use
3485 safe equivalences but not via the quadratic compare_names
3486 helper.
3487
3488 2016-03-03 Michael Collison <michael.collison@linaro.org>
3489
3490 PR target/70014
3491 * config/arm/arm.md (*subsi3_carryin_const): Change predicate
3492 for operand 1 to s_register_operand. Change predicate for operand
3493 2 to arm_not_immediate_operand.
3494
3495 2016-03-02 H.J. Lu <hongjiu.lu@intel.com>
3496
3497 * doc/tm.texi: Regenerated.
3498
3499 2016-03-02 Richard Henderson <rth@redhat.com>
3500
3501 PR rtl-opt/67145
3502 * simplify-rtx.c (simplify_plus_minus): Allow reassoc without
3503 simplification when all args are positive non-fixed registers.
3504
3505 2016-03-02 Manuel Lopez-Ibanez <manu@gcc.gnu.org>
3506
3507 * target.def (lra_p): Specify that new ports should use LRA.
3508
3509 2016-03-02 Jakub Jelinek <jakub@redhat.com>
3510
3511 PR libgomp/69555
3512 * gimplify.c (gimplify_decl_expr): For decls with REFERENCE_TYPE, also
3513 gimplify_type_sizes the type they refer to.
3514 (omp_notice_variable): Handle reference vars to VLAs.
3515 * omp-low.c (lower_omp_target): Emit setup of OMP_CLAUSE_PRIVATE
3516 reference to VLA decls in the second pass instead of first pass.
3517
3518 2016-03-02 Tom de Vries <tom@codesourcery.com>
3519
3520 PR tree-optimization/68659
3521 * graphite-isl-ast-to-gimple.c (collect_all_ssa_names): Handle
3522 new_expr == NULL_TREE.
3523 (get_new_name): Handle ADDR_EXPR.
3524
3525 2016-03-02 Bin Cheng <bin.cheng@arm.com>
3526
3527 PR rtl-optimization/69052
3528 * loop-invariant.c (canonicalize_address): New function.
3529 (inv_can_prop_to_addr_use): Check validity of address expression
3530 which is canonicalized by above function.
3531
3532 2016-03-02 Alan Modra <amodra@gmail.com>
3533
3534 PR ipa/69990
3535 * ipa-icf.c (sem_variable::merge): Do not merge an alias with
3536 larger alignment.
3537
3538 2016-03-02 Jakub Jelinek <jakub@redhat.com>
3539
3540 PR target/70028
3541 * config/i386/i386.md (kmovw): Move m constraint to 2nd alternative.
3542 (*movhi_internal): Put mask moves from and to memory separately
3543 from moves from/to GPRs.
3544
3545 2016-03-02 Richard Biener <rguenther@suse.de>
3546
3547 * genmatch.c (dt_node::gen_kids): Fix match code-gen for embedded
3548 GENERIC expressions in GIMPLE.
3549
3550 2016-03-02 Richard Biener <rguenther@suse.de>
3551
3552 * config/i386/i386.c (type_natural_mode): Fix typo.
3553
3554 2016-03-02 Nick Clifton <nickc@redhat.com>
3555
3556 * config.gcc (mep-*-elf): Add newlib-stdint.h to tm_file.
3557
3558 2016-03-02 Richard Biener <rguenther@suse.de>
3559 Uros Bizjak <ubizjak@gmail.com>
3560
3561 PR target/67278
3562 * config/i386/i386.c (type_natural_mode): Handle XFmode vectors.
3563
3564 2016-03-02 Richard Biener <rguenther@suse.de>
3565
3566 PR middle-end/67278
3567 * tree-cfg.c (verify_expr): Adjust BIT_FIELD_REF case.
3568
3569 2016-03-02 Marek Polacek <polacek@redhat.com>
3570
3571 PR c/67854
3572 * gimplify.c (gimplify_va_arg_expr): Use expanded location for the
3573 "is promoted to" warning.
3574
3575 2016-03-01 DJ Delorie <dj@redhat.com>
3576
3577 * config.gcc: Deprecate mep-*.
3578
3579 2016-03-01 Vladimir Makarov <vmakarov@redhat.com>
3580
3581 PR middle-end/70025
3582 * lra-constraints.c (regno_val_use_in): New.
3583 (match_reload): Use it instead of regno_use_in.
3584
3585 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
3586
3587 PR rtl-optimization/70007
3588 * gcse.c (compute_ld_motion_mems): Tidy up and also invalidate memory
3589 references present in REG_EQUAL notes attached to non-SET patterns.
3590
3591 2016-03-01 Jeff Law <law@redhat.com>
3592
3593 PR tree-optimization/69196
3594 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3595 Appropriately clamp the number of statements to copy when the
3596 thread path does not traverse a loop backedge.
3597
3598 PR tree-optimization/69196
3599 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
3600 Do count some PHIs in the thread path against the insn count. Decrease
3601 final statement count by one as the control statement in the last
3602 block will get removed. Remove special cased code for handling PHIs
3603 in the last block.
3604
3605 2016-03-01 Uros Bizjak <ubizjak@gmail.com>
3606
3607 PR target/70027
3608 * config/i386/i386.c (ix86_output_call_insn): Add -masm=intel
3609 asm dialect alternatives to explicit GOTPCREL calls.
3610
3611 2016-03-01 Eric Botcazou <ebotcazou@adacore.com>
3612
3613 PR ada/70017
3614 * ira.c (do_reload): Issue warning for generic stack checking here...
3615 * reload1.c (reload): ...instead of here and streamline it.
3616
3617 2016-03-01 Nick Clifton <nickc@redhat.com>
3618
3619 * config.gcc (cr16-*-elf): Add newlib-stdint.h to tm_file.
3620
3621 2016-03-01 Richard Biener <rguenther@suse.de>
3622
3623 PR tree-optimization/69983
3624 * tree-chrec.c (eq_evolutions_p): Handle conversions, compare
3625 types and fall back to operand_equal_p.
3626
3627 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3628
3629 Revert
3630 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3631
3632 * config/s390/constraints.md ("jm8"): New constraint.
3633 * config/s390/predicates.md ("const_int_8bitset_operand"): New
3634 predicate.
3635 * config/s390/s390.md ("*setmem_long", "*setmem_long_and"): Merge
3636 into ...
3637 ("*setmem_long<setmem_and>"): New pattern.
3638 ("*setmem_long_31z", "*setmem_long_and_31z"): Merge
3639 into ...
3640 ("*setmem_long_31z<setmem_and>"): New pattern.
3641 * config/s390/subst.md ("setmem_31z_subst", "setmem_and_subst"):
3642 New substitution rules with the required attributes.
3643
3644
3645 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3646
3647 Revert
3648 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3649
3650 * gensupport.c (process_substs_on_one_elem): Split loop to
3651 complete mark_operands_used_in_match_dup on all expressions in the
3652 vector first.
3653 (adjust_operands_numbers): Inline into process_substs_on_one_elem
3654 and remove function.
3655
3656 2016-03-01 Richard Biener <rguenther@suse.de>
3657
3658 PR middle-end/70022
3659 * fold-const.c (fold_indirect_ref_1): Fix range checking for
3660 vector BIT_FIELD_REF extract.
3661
3662 2016-03-01 Richard Biener <rguenther@suse.de>
3663
3664 PR tree-optimization/69994
3665 * tree-ssa-reassoc.c (ops_equal_values_p): Handle missing case.
3666
3667 2016-03-01 Ilya Enkovich <enkovich.gnu@gmail.com>
3668
3669 PR tree-optimization/69956
3670 * tree-vect-stmts.c (supportable_widening_operation): Support
3671 multi-step conversion of boolean vectors.
3672 (supportable_narrowing_operation): Likewise.
3673
3674 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3675
3676 * config/s390/s390.c (s390_decompose_address): Don't accept SImode
3677 anymore.
3678
3679 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3680
3681 * config/s390/subst.md (DSI_VI): New mode iterator.
3682 ("addr_style_op_subst"): Use DSI_VI instead of DSI.
3683 * config/s390/vector.md ("vec_set<mode>"): Move expander before
3684 the insn definition.
3685 ("*vec_set<mode>"): Change predicate and add alternative to
3686 support only either register or const_int operands as element
3687 selector.
3688 ("*vec_set<mode>_plus"): New pattern to support reg + const_int
3689 operands.
3690 ("vec_extract<mode>"): New expander.
3691 ("*vec_extract<mode>"): New insn definition supporting reg and
3692 const_int element selectors.
3693 ("*vec_extract<mode>_plus"): New insn definition supporting
3694 reg+const_int element selectors.
3695 ("rotl<mode>3", "ashl<mode>3", "ashr<mode>3"): Merge into the
3696 following expander+insn definition.
3697 ("<vec_shifts_name><mode>3"): New expander.
3698 ("*<vec_shifts_name><mode>3<addr_style_op>"): New insn definition.
3699
3700 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3701
3702 * config/s390/s390.md ("*tabort_1"): Change predicate to
3703 nonmemory_operand. Add a second alternative to cover
3704 register as well as const int operands.
3705 ("*tabort_1_plus"): New pattern definition.
3706
3707 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3708
3709 * config/s390/s390.md ("*ashrdi3_cc_31")
3710 ("*ashrdi3_cconly_31""*ashrdi3_cc_31_and")
3711 ("*ashrdi3_cconly_31_and", "*ashrdi3_31_and", "*ashrdi3_31"):
3712 Merge insn definitions into ...
3713 ("*ashrdi3_31<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
3714 New pattern definition.
3715 ("*ashr<mode>3_cc", "*ashr<mode>3_cconly", "ashr<mode>3", )
3716 ("*ashr<mode>3_cc_and", "*ashr<mode>3_cconly_and")
3717 ("*ashr<mode>3_and"): Merge insn definitions into ...
3718 ("*ashr<mode>3<addr_style_op_cc><masked_op_cc><setcc><cconly>"):
3719 New pattern definition.
3720 * config/s390/subst.md ("addr_style_op_cc_subst")
3721 ("masked_op_cc_subst", "setcc_subst", "cconly_subst"): New
3722 substitutions patterns plus attributes.
3723 Add ashiftrt to SUBST iterator.
3724
3725 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3726
3727 * config/s390/s390.md ("<shift><mode>3"): Change predicate of
3728 op2 to nonmemory_operand.
3729 ("*<shift>di3_31", "*<shift>di3_31_and"):
3730 Merge into single pattern definition ...
3731 ("*<shift>di3_31<addr_style_op><masked_op>"): New pattern.
3732 ("*<shift><mode>3", "*<shift><mode>3_and"): Merge into single
3733 pattern definition ...
3734 ("*<shift><mode>3<addr_style_op><masked_op>"): New pattern.
3735 * config/s390/subst.md: Add ashift and lshiftrt to SUBST
3736 iterator.
3737
3738 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3739
3740 * config/s390/predicates.md (const_int_6bitset_operand): New
3741 predicate.
3742 * config/s390/s390.md: Include subst.md.
3743 ("rotl<mode>3"): New expander.
3744 ("rotl<mode>3", "*rotl<mode>3_and"): Merge insn definitions into
3745 ...
3746 ("*rotl<mode>3<addr_style_op><masked_op>"): New insn definition.
3747 * config/s390/subst.md: New file.
3748
3749 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3750
3751 * config/s390/s390.md ("op_type", "atype", "length" attributes):
3752 Remove RRR type. It doesn't really exist.
3753 ("RRer", "f0", "v0", "vf", "vd", "op1", "Rf"): Remove mode
3754 attributes.
3755 ("BFP", "DFP", "nDSF", "nDFDI"): Add mode attributes.
3756 ("*cmp<mode>_ccs", "floatdi<mode>2", "add<mode>3")
3757 ("*add<mode>3_cc", "*add<mode>3_cconly", "sub<mode>3")
3758 ("*sub<mode>3_cc", "*sub<mode>3_cconly", "mul<mode>3")
3759 ("fma<mode>4", "fms<mode>4", "div<mode>3", "*neg<mode>2")
3760 ("*abs<mode>2", "*negabs<mode>2", "sqrt<mode>2"): Override
3761 `enabled' attribute.
3762
3763 2016-03-01 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3764
3765 * gensupport.c (process_substs_on_one_elem): Split loop to
3766 complete mark_operands_used_in_match_dup on all expressions in the
3767 vector first.
3768 (adjust_operands_numbers): Inline into process_substs_on_one_elem
3769 and remove function.
3770
3771 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
3772
3773 PR target/69706
3774 * config/sparc/sparc.c (NWORDS_UP): Rename to...
3775 (CEIL_NWORDS): ...this. Use CEIL macro.
3776 (compute_fp_layout): Adjust to above renaming.
3777 (function_arg_union_value): Likewise.
3778 (sparc_arg_partial_bytes): Likewise.
3779 (sparc_function_arg_advance): Likewise.
3780
3781 2016-02-29 Jeff Law <law@redhat.com>
3782
3783 PR tree-optimization/70005
3784 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Handle case
3785 where an object with a boolean range is compared against a value
3786 outside [0..1].
3787
3788 PR tree-optimization/69999
3789 * gimple-ssa-split-paths.c (split_paths): When duplicating a block
3790 with an outgoing edge marked with EDGE_IRREDUCIBLE_LOOP, schedule
3791 loop cleanups.
3792
3793 2016-02-29 Richard Biener <rguenther@suse.de>
3794
3795 PR tree-optimization/69994
3796 * tree-ssa-reassoc.c (gimple_nop_conversion_p): New function.
3797 (get_unary_op): Look through nop conversions.
3798 (ops_equal_values_p): New function, look for equality diregarding
3799 nop conversions.
3800 (eliminate_plus_minus_pair): Use ops_equal_values_p
3801 (repropagate_negates): Do not use get_unary_op here.
3802
3803 2016-02-29 Martin Liska <mliska@suse.cz>
3804
3805 * system.h: Poison ENABLE_CHECKING macro.
3806
3807 2016-02-29 Martin Liska <mliska@suse.cz>
3808
3809 * hsa-gen.c (gen_body_from_gimple): Dump only if TDF_DETAILS
3810 is presented in dump flags.
3811 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
3812 (hsa_regalloc): Likewise.
3813
3814 2016-02-19 Richard Biener <rguenther@suse.de>
3815
3816 PR tree-optimization/69980
3817 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Update
3818 permutation of those we need to keep.
3819
3820 2016-02-29 Eric Botcazou <ebotcazou@adacore.com>
3821
3822 PR target/69706
3823 * config/sparc/sparc.c (ROUND_ADVANCE): Rename to...
3824 (NWORDS_UP): ...this
3825 (init_cumulative_args): Minor tweaks.
3826 (sparc_promote_function_mode): Likewise.
3827 (scan_record_type): Delete.
3828 (traverse_record_type): New function template.
3829 (classify_data_t): New structure type.
3830 (classify_registers): New inline function.
3831 (function_arg_slotno): In 64-bit mode, bail out early if FP slots are
3832 exhausted. Instantiate traverse_record_type on classify_registers and
3833 deal with the case of a structure passed in slot #15 with no FP field
3834 in the first word.
3835 (assign_data_t): New structure type.
3836 (compute_int_layout): New static function.
3837 (compute_fp_layout): Likewise.
3838 (count_registers): New inline function.
3839 (assign_int_registers): New static function.
3840 (assign_fp_registers): Likewise.
3841 (assign_registers): New inline function.
3842 (function_arg_record_value_1): Delete.
3843 (function_arg_record_value_2): Likewise.
3844 (function_arg_record_value_3): Likewise.
3845 (function_arg_record_value): Adjust to above changes. Instantiate
3846 traverse_record_type on count_registers to first count the number of
3847 registers to be used and then on assign_registers to assign them.
3848 (function_arg_union_value): Adjust to above renaming.
3849 (sparc_function_arg_1); Minor tweaks. Remove commented out code.
3850 (sparc_arg_partial_bytes): Adjust to above renaming. Deal with the
3851 case of a structure passed in slot #15
3852 (sparc_function_arg_advance): Likewise.
3853 (function_arg_padding): Minor tweak.
3854
3855 2016-02-29 Richard Biener <rguenther@suse.de>
3856
3857 PR tree-optimization/69720
3858 * tree-vect-loop.c (get_initial_def_for_reduction): Avoid
3859 the adjustment_def path for possibly vectorized defs.
3860 (vect_create_epilog_for_reduction): Handle vectorized initial
3861 defs properly.
3862
3863 2016-02-28 Eric Botcazou <ebotcazou@adacore.com>
3864
3865 * config/i386/cygming.h (STACK_REALIGN_DEFAULT): Define.
3866
3867 2016-02-27 Jeff Law <law@redhat.com>
3868
3869 Revert
3870 2016-02-26 Richard Biener <rguenther@suse.de>
3871 Jeff Law <law@redhat.com>
3872
3873 PR tree-optimization/69740
3874 * cfghooks.c (remove_edge): Request loop fixups if we delete
3875 an edge that might turn an irreducible loop into a natural
3876 loop.
3877
3878 2016-02-27 Jakub Jelinek <jakub@redhat.com>
3879
3880 PR rtl-optimization/69896
3881 * tree-vect-generic.c (get_compute_type): Avoid single element
3882 vector types.
3883
3884 2016-02-26 Evandro Menezes <e.menezes@samsung.com>
3885
3886 Rename the AArch64 tuning option and related functions to enable the
3887 Newton series for the reciprocal square root to reflect its
3888 approximative characteristic.
3889
3890 * config/aarch64/aarch64-protos.h (aarch64_emit_swrsqrt): Rename
3891 function to "aarch64_emit_approx_rsqrt".
3892 * config/aarch64/aarch64-tuning-flags.def: Rename tuning flag to
3893 AARCH64_EXTRA_TUNE_APPROX_RSQRT.
3894 * config/aarch64/aarch64.c (exynosm1_tunigs): Use new flag name.
3895 (xgene1_tunings): Likewise.
3896 (use_rsqrt_p): Likewise.
3897 (aarch64_emit_swrsqrt): Use new function name.
3898 * config/aarch64/aarch64-simd.md (aarch64_rsqrts_*): Likewise.
3899 * config/aarch64/aarch64.opt (mlow-precision-recip-sqrt): Reword the
3900 text explaining this option.
3901 * doc/invoke.texi (-mlow-precision-recip-sqrt): Likewise.
3902
3903 2016-02-26 Jakub Jelinek <jakub@redhat.com>
3904
3905 PR target/69969
3906 * config/rs6000/rs6000.c (rs6000_option_override_internal): Don't
3907 complain about -mallow-movmisalign without -mvsx if
3908 TARGET_ALLOW_MOVMISALIGN was not set explicitly.
3909
3910 2016-02-26 Joel Sherrill <joel@rtems.org>
3911
3912 * config.gcc: Add x86_64-*-rtems*.
3913 * gcc/config/i386/rtems-64.h: New file.
3914
3915 2016-02-26 Joel Sherrill <joel@rtems.org>
3916
3917 * config.gcc: Add aarch64-*-rtems*.
3918 * gcc/config/aarch64/rtems.h: New file.
3919
3920 2016-02-26 Segher Boessenkool <segher@kernel.crashing.org>
3921
3922 PR target/69946
3923 * config/rs6000/rs6000.c (rs6000_insn_for_shift_mask): Print rlwinm
3924 shift amount using %h. Add comment.
3925
3926 2016-02-26 Richard Biener <rguenther@suse.de>
3927 Jeff Law <law@redhat.com>
3928
3929 PR tree-optimization/69740
3930 * cfghooks.c (remove_edge): Request loop fixups if we delete
3931 an edge that might turn an irreducible loop into a natural
3932 loop.
3933
3934 2016-02-26 Martin Jambor <mjambor@suse.cz>
3935
3936 PR middle-end/69920
3937 * tree-sra.c (sra_modify_assign): Do not remove loads of
3938 uninitialized aggregates to SSA_NAMEs.
3939
3940 2016-02-26 Richard Henderson <rth@redhat.com>
3941
3942 PR target/69709
3943 * config/s390/s390.md (risbg and risbgn splitters): Allocate new
3944 pseudo in case the target rtx matches the source of the left
3945 shift.
3946
3947 2016-02-26 Martin Jambor <mjambor@suse.cz>
3948
3949 PR hsa/69568
3950 * hsa.h (hsa_type_packed_p): Declare.
3951 * hsa.c (hsa_type_packed_p): New function.
3952 * hsa-gen.c (mem_type_for_type): Use unsigned type for packed
3953 loads.
3954 (gen_hsa_insns_for_store): Use hsa_type_packed_p.
3955 * hsa-brig.c (emit_basic_insn): Likewise.
3956
3957 2016-02-26 Martin Jambor <mjambor@suse.cz>
3958
3959 pr hsa/69674
3960 * hsa-gen.c (gen_hsa_phi_from_gimple_phi): Use proper hsa type for
3961 pointers.
3962 (gen_hsa_addr): Allow integer constants in TMR_INDEX2.
3963
3964 2016-02-26 Martin Jambor <mjambor@suse.cz>
3965
3966 * hsa.h (is_a_helper): New overload for hsa_op_immed for
3967 hsa_op_with_type operands.
3968 (hsa_unsigned_type_for_type): Declare.
3969 * hsa.c (hsa_unsigned_type_for_type): New function.
3970 * hsa-gen.c (gen_hsa_binary_operation): Use hsa_unsigned_type_for_type.
3971 (gen_hsa_insns_for_operation_assignment): Satisfy constrains of
3972 the finalizer. Do not emit extra move.
3973
3974 2016-02-26 Martin Jambor <mjambor@suse.cz>
3975
3976 * hsa-gen.c (gen_hsa_ternary_atomic_for_builtin): Fail in presence of
3977 atomic operations in private segment.
3978
3979 2016-02-26 Martin Jambor <mjambor@suse.cz>
3980
3981 * omp-low.c (grid_find_ungridifiable_statement): Store problematic
3982 statements to wi->info. Also disallow omp simd constructs.
3983 (grid_target_follows_gridifiable_pattern): Use wi.info to dump reason
3984 for not gridifying. Dump special string for omp_for.
3985
3986 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3987
3988 PR target/69245
3989 * config/aarch64/aarch64.c (aarch64_set_current_function):
3990 Save/restore target globals when switching to
3991 target_option_default_node.
3992
3993 2016-02-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3994
3995 PR target/69613
3996 * config/aarch64/aarch64.c (aarch64_shift_truncation_mask):
3997 Return 0 if !SHIFT_COUNT_TRUNCATED.
3998
3999 2016-02-26 Jakub Jelinek <jakub@redhat.com>
4000 Eric Botcazou <ebotcazou@adacore.com>
4001
4002 PR rtl-optimization/69891
4003 * dse.c (scan_insn): If we can't figure out memset arguments
4004 or they are non-constant, call clear_rhs_from_active_local_stores.
4005
4006 2016-02-26 Martin Liska <mliska@suse.cz>
4007
4008 * doc/extend.texi: Mention clog10, clog10f an clog10l
4009 in Builtins section.
4010
4011 2016-02-26 Martin Liska <mliska@suse.cz>
4012
4013 * dwarf2out.c (new_loc_descr): Replace ENABLE_CHECKING with
4014 CHECKING_P.
4015 (resolve_args_picking_1): Likewise.
4016 * dwarf2out.h (struct GTY): Likewise.
4017
4018 2016-02-26 Martin Liska <mliska@suse.cz>
4019
4020 * hsa-gen.c (generate_hsa): Replace ENABLE_CHECKING macro
4021 with flag_checking.
4022 * hsa-regalloc.c (linear_scan_regalloc): Likewise.
4023
4024 2016-02-26 Markus Trippelsdorf <markus@trippelsdorf.de>
4025 Martin Liska <mliska@suse.cz>
4026
4027 * doc/install.texi: Mention --enable-valgrind-annotations.
4028
4029 2016-02-26 Richard Biener <rguenther@suse.de>
4030
4031 PR tree-optimization/69551
4032 * tree-ssa-structalias.c (get_constraint_for_ssa_var): When
4033 looking through aliases adjust DECL_PT_UID to refer to the
4034 ultimate alias target.
4035
4036 2016-02-25 Martin Liska <mliska@suse.cz>
4037
4038 PR middle-end/69919
4039 * alloc-pool.c (after_memory_report): New variable.
4040 * alloc-pool.h (base_pool_allocator ::release): Do not use
4041 the infrastructure if after_memory_report.
4042 * toplev.c (toplev::main): Mark after memory report.
4043
4044 2016-02-25 Richard Biener <rguenther@suse.de>
4045
4046 PR tree-optimization/48795
4047 * tree-vrp.c (check_array_ref): Use array_at_struct_end_p.
4048
4049 2016-02-25 Ilya Verbin <ilya.verbin@intel.com>
4050
4051 PR driver/68463
4052 * config/gnu-user.h (CRTOFFLOADBEGIN): Define. Add crtoffloadbegin.o if
4053 offloading is enabled and -fopenacc or -fopenmp is specified.
4054 (CRTOFFLOADEND): Likewise.
4055 (GNU_USER_TARGET_STARTFILE_SPEC): Add CRTOFFLOADBEGIN.
4056 (GNU_USER_TARGET_ENDFILE_SPEC): Add CRTOFFLOADEND.
4057 * lto-wrapper.c (offloadbegin, offloadend): Remove static vars.
4058 (offload_objects_file_name): New static var.
4059 (tool_cleanup): Remove offload_objects_file_name file.
4060 (find_offloadbeginend): Replace with ...
4061 (find_crtoffloadtable): ... this.
4062 (run_gcc): Remove offload_argc and offload_argv.
4063 Get offload_objects_file_name from -foffload-objects=... option.
4064 Read names of object files with offload from this file, pass them to
4065 compile_images_for_offload_targets. Don't call find_offloadbeginend and
4066 don't pass offloadbegin and offloadend to the linker. Don't pass
4067 offload non-LTO files to the linker, because now they're not claimed.
4068
4069 2016-02-25 Jan Hubicka <hubicka@ucw.cz>
4070
4071 PR ipa/69630
4072 * ipa-devirt.c (possible_polymorphic_call_targets): Do not ICE
4073 on builtin_unreachable.
4074
4075 2016-02-25 Jakub Jelinek <jakub@redhat.com>
4076
4077 PR rtl-optimization/69896
4078 * regcprop.c: Include cfgrtl.h.
4079 (copyprop_hardreg_forward_1): If noop_p insn uses narrower
4080 than remembered mode, either delete it (if noop_move_p), or
4081 treat like copy_p but not noop_p instruction.
4082
4083 2016-02-24 Jakub Jelinek <jakub@redhat.com>
4084
4085 PR debug/69705
4086 * dwarf2out.c (gen_variable_die): Work around buggy LTO
4087 - allow NULL decl for Fortran DW_TAG_common_block variables.
4088
4089 2016-02-24 Jason Merrill <jason@redhat.com>
4090
4091 * common.opt (flifetime-dse): Add -flifetime-dse=1.
4092
4093 2016-02-24 Richard Biener <rguenther@suse.de>
4094 Jakub Jelinek <jakub@redhat.com>
4095
4096 PR middle-end/69760
4097 * tree-scalar-evolution.c (interpret_rhs_expr): Re-write
4098 conditionally executed ops to well-defined overflow behavior.
4099
4100 2016-02-24 Jakub Jelinek <jakub@redhat.com>
4101
4102 PR middle-end/69915
4103 * tree.c (build_vector_from_ctor): Fix handling of VECTOR_CST
4104 elements.
4105
4106 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4107
4108 PR rtl-optimization/69886
4109 * gcse.c (can_assign_to_reg_without_clobbers_p): Accept mode
4110 argument. Use it when checking validity of set instructions.
4111 (want_to_gcse_p): Pass mode to can_assign_to_reg_without_clobbers_p.
4112 (compute_ld_motion_mems): Update can_assign_to_reg_without_clobbers_p
4113 callsite.
4114 * rtl.h (can_assign_to_reg_without_clobbers_p): Update prototype.
4115 * store-motion.c (find_moveable_store): Update
4116 can_assign_to_reg_without_clobbers_p callsite.
4117
4118 2016-02-24 Richard Biener <rguenther@suse.de>
4119
4120 PR middle-end/68963
4121 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Fix
4122 bogus check.
4123 (record_nonwrapping_iv): Do not fall back to the low/high bound
4124 for non-constant IV bases if the stmt is not always executed.
4125
4126 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4127
4128 * config/arm/arm-cores.def (cortex-a32): New entry.
4129 * config/arm/arm-tables.opt: Regenerate.
4130 * config/arm/arm-tune.md: Regenerate.
4131 * config/arm/bpabi.h (BE8_LINK_SPEC): Add mcpu=cortex-a32.
4132 * config/arm/t-aprofile: Handle mcpu=cortex-a32.
4133 * doc/invoke.texi (ARM Options): Document cortex-a32 as value
4134 for -mcpu and -mtune.
4135
4136 2016-02-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4137
4138 PR target/69875
4139 * config/arm/arm.h (TARGET_HAVE_LPAE): Define.
4140 * config/arm/unspecs.md (VUNSPEC_LDRD_ATOMIC): New value.
4141 * config/arm/sync.md (arm_atomic_loaddi2_ldrd): New pattern.
4142 (atomic_loaddi_1): Delete.
4143 (atomic_loaddi): Rewrite expander using the above changes.
4144
4145 2016-02-24 Jakub Jelinek <jakub@redhat.com>
4146
4147 PR c/69918
4148 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): Bump default from
4149 2 to 3.
4150
4151 2016-02-24 Jakub Jelinek <jakub@redhat.com>
4152 Richard Biener <rguenth@suse.de>
4153
4154 PR middle-end/69909
4155 * expr.c (expand_expr_real_1) <normal_inner_ref>: Avoid
4156 set_mem_attributes if tem is SSA_NAME which got expanded
4157 as a MEM.
4158
4159 2016-02-24 Richard Biener <rguenther@suse.de>
4160
4161 PR tree-optimization/69907
4162 * tree-vect-stmts.c (vectorizable_load): Check for gaps at the
4163 end of permutations for BB vectorization.
4164
4165 2016-02-24 Christian Bruel <christian.bruel@st.com>
4166
4167 * config/arm/arm-c.c (arm_option_override): Initialize
4168 target_option_current_node.
4169 * config/arm/arm.c (arm_pragma_target_parse): Replace
4170 build_target_option_node call by target_option_current_node.
4171 Set target_option_current_node.
4172 Fix comments.
4173
4174 2016-02-23 David Edelsohn <dje.gcc@gmail.com>
4175
4176 PR target/69810
4177 * config/rs6000/rs6000.md (zero_extendqi<mode>2_dot): Convert from
4178 define_insn_and_split to define_insn.
4179 (zero_extendqi<mode>2_dot2): Same.
4180 (extendqi<mode>2_dot): Same.
4181 (extendqi<mode>2_dot2): Same.
4182
4183 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
4184
4185 * config/arm/exynos-m1.md: Change cost of STP, fix bypass for stores
4186 and add bypass for AES{D,E} and AESMC pairs.
4187 * config/aarch64/aarch64.c (exynosm1_tunings): Enable fusion of AES{D,E}
4188 and AESMC pairs.
4189
4190 2016-02-23 Evandro Menezes <e.menezes@samsung.com>
4191
4192 * config/aarch64/aarch64.c (exynosm1_tunings): Enable the Newton
4193 series for reciprocal square root in Exynos M1.
4194
4195 2016-02-23 Martin Sebor <msebor@redhat.com>
4196
4197 PR c/69759
4198 * doc/extend.texi (Other Builtins): Document __builtin_alloca and
4199 __builtin_alloca_with_align.
4200
4201 2016-02-23 Richard Henderson <rth@redhat.com>
4202
4203 * config/i386/i386-c.c (ix86_target_macros): Remove __SEG_TLS.
4204 (ix86_register_pragmas): Remove __seg_tls.
4205 * config/i386/i386-protos.h (ADDR_SPACE_SEG_TLS): Remove.
4206 * config/i386/i386.c (ix86_print_operand_address_as): Don't handle it.
4207 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): Remove.
4208 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): Remove.
4209 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): Remove.
4210 * doc/extend.texi (__seg_tls): Remove item.
4211
4212 2016-02-23 Richard Biener <rguenther@suse.de>
4213
4214 * alloc-pool.h (struct allocation_object): Make id member
4215 conditional on CHECKING_P again.
4216 (get_instance): Adjust.
4217 (base_pool_allocator): Likewise.
4218
4219 2016-02-23 Thomas Schwinge <thomas@codesourcery.com>
4220
4221 * tree-parloops.c (create_parallel_loop, gen_parallel_loop)
4222 (parallelize_loops): In OpenACC kernels mode, set n_threads to
4223 zero.
4224 (pass_parallelize_loops::gate): In OpenACC kernels mode, gate on
4225 flag_openacc.
4226 * tree-ssa-loop.c (gate_oacc_kernels): Likewise.
4227
4228 2016-02-23 Richard Biener <rguenther@suse.de>
4229
4230 * mem-stats.h (struct mem_usage): Use PRIu64 for printing size_t.
4231 * bitmap.h (struct bitmap_usage): Likewise.
4232 (bitmap_move): Declare.
4233 * bitmap.c (register_overhead): Take size_t argument.
4234 (bitmap_move): New function.
4235 * df-problems.c (df_rd_transfer_function): Use bitmap_move
4236 to properly account overhead.
4237 * tree.c (free_node): Use tree_size.
4238
4239 2016-02-23 Jakub Jelinek <jakub@redhat.com>
4240
4241 PR c++/69902
4242 * fold-const.c (fold_truth_not_expr): Propagate TREE_NO_WARNING
4243 when inverting comparison.
4244
4245 PR c/69900
4246 * common.opt (Wunreachable-code): Add Warning flag.
4247
4248 2016-02-23 Mark Wielaard <mjw@redhat.com>
4249 Jakub Jelinek <jakub@redhat.com>
4250
4251 PR c/69911
4252 * cgraphunit.c (check_global_declaration): Check main_input_filename
4253 and DECL_SOURCE_FILE are not NULL.
4254
4255 2016-02-23 Martin Jambor <mjambor@suse.cz>
4256
4257 PR tree-optimization/69666
4258 * tree-sra.c (sra_modify_assign): Do not attempt to create
4259 default_def replacements for unscalarizable regions.
4260
4261 2016-02-20 Mark Wielaard <mjw@redhat.com>
4262
4263 PR c/28901
4264 * cgraphunit.c (check_global_declaration): Check level of
4265 warn_unused_const_variable and main_input_filename.
4266 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable=.
4267 (-Wunused-variable): For C implies -Wunused-const-variable=1.
4268 (-Wunused-const-variable): Explain levels 1 and 2.
4269
4270 2016-02-22 Jakub Jelinek <jakub@redhat.com>
4271
4272 PR target/69888
4273 * config/i386/i386.c (decide_alg): Ensure we don't recurse with
4274 identical arguments. Formatting and spelling fixes.
4275
4276 PR target/69885
4277 * doc/md.texi (ashl@var{m}3): Document that mode of operand 2 must
4278 be specified.
4279
4280 PR target/69894
4281 PR target/69895
4282 * config/m68k/t-opts (OPTIONS_H_EXTRA): Add m68k-microarchs.def
4283 and m68k-devices.def.
4284 * config/c6x/t-c6x (OPTIONS_H_EXTRA): Add c6x-isas.def.
4285 * config/aarch64/t-aarch64 (OPTIONS_H_EXTRA): Add aarch64-arches.def.
4286
4287 2016-02-22 Cesar Philippidis <cesar@codesourcery.com>
4288
4289 * config/nvptx/nvptx.c (nvptx_gen_shuffle): Add support for QImode
4290 and HImode registers.
4291
4292 2016-02-22 Richard Biener <rguenther@suse.de>
4293
4294 PR tree-optimization/69882
4295 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Properly
4296 preserve permutations present because of gaps.
4297 (vect_supported_load_permutation_p): Always continue checking
4298 permutations after vect_attempt_slp_rearrange_stmts.
4299
4300 2016-02-22 Bin Cheng <bin.cheng@arm.com>
4301
4302 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Dump
4303 min_profitable_estimate, rather than min_profitable_iters.
4304
4305 2016-02-22 Jakub Jelinek <jakub@redhat.com>
4306
4307 PR target/69885
4308 * config/m68k/m68k.md (ashldi3, ashrdi3, lshrdi3): Use
4309 SImode for last match_operand.
4310
4311 2016-02-22 Martin Liska <mliska@suse.cz>
4312
4313 * hsa-gen.c (gen_hsa_clrsb): In case of zero value,
4314 return bitsize - 1 as the return value.
4315
4316 2016-02-22 Oleg Endo <olegendo@gcc.gnu.org>
4317
4318 PR target/69806
4319 PR target/54089
4320 * config/sh/sh.c (sh_lshrsi_clobbers_t_reg_p, sh_dynamicalize_shift_p):
4321 Handle negative shift counts.
4322 * config/sh/sh.md (ashlsi3, lshrsi3_n, lshrsi3_n_clobbers_t): Don't use
4323 force_reg on the shift constant.
4324 (lshrsi3): Likewise. Expand into lshrsi3_n* instead of lshrsi3_d.
4325 (lshrsi3_d): Handle negative shift counts.
4326
4327 2016-02-22 Richard Biener <rguenther@suse.de>
4328 Tom de Vries <tom@codesourcery.com>
4329
4330 * graph.c: Include dumpfile.h.
4331 (print_graph_cfg): Split into three overloads.
4332 * gdbhooks.py (class DotFn): Add and instantiate, adding command dot-fn.
4333
4334 2016-02-22 Tom de Vries <tom@codesourcery.com>
4335
4336 * gdbhooks.py (class DumpFn): Add and instantiate, adding command
4337 dump-fn.
4338
4339 2016-02-22 Richard Biener <rguenther@suse.de>
4340
4341 PR ipa/37448
4342 * ipa-inline-transform.c (inline_call): When not updating
4343 overall summaries adjust self size by the growth estimate.
4344 * ipa-inline.c (inline_to_all_callers_1): Add to the callers
4345 hash-set, do not update overall summaries here. Renamed from ...
4346 (inline_to_all_callers): ... this which is now wrapping the
4347 above and performing delayed overall summary update.
4348 (early_inline_small_functions): Delay updating of the overall
4349 summary.
4350
4351 2016-02-21 Markus Trippelsdorf <markus@trippelsdorf.de>
4352
4353 * tree-chkp.c (chkp_mark_invalid_bounds_walker): Initialize
4354 variable.
4355
4356 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4357
4358 PR driver/69805
4359 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use
4360 :%* in %:gt() argument.
4361 (greater_than_spec_func): Adjust for expecting only numbers,
4362 if there are more than two numbers, compare the last two.
4363
4364 2016-02-19 Jonathan Wakely <jwakely@redhat.com>
4365
4366 * doc/invoke.texi (C++ Dialect Options): Clarify interaction of
4367 -Wnarrowing with -std.
4368
4369 2016-02-19 Jakub Jelinek <jakub@redhat.com>
4370
4371 PR c++/69851
4372 * expr.c (store_field): Don't use bit-field path if exp is
4373 COMPONENT_REF with TREE_ADDRESSABLE type, where TYPE_SIZE is
4374 different from bitsize, but DECL_SIZE of FIELD_DECL is bitsize
4375 and the assignment can be performed by bitwise copy. Formatting
4376 fix.
4377
4378 PR middle-end/69838
4379 * lra.c (lra_process_new_insns): If non-call exceptions are enabled,
4380 call copy_reg_eh_region_note_forward on before and/or after sequences
4381 and remove note from insn if it no longer can throw.
4382
4383 PR target/69820
4384 * config/i386/sse.md (VI_512): Only include V64QImode and V32HImode
4385 if TARGET_AVX512BW.
4386
4387 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4388
4389 * config/s390/vector.md: Add missing commutative operand markers
4390 to the patterns which qualify for one.
4391 * config/s390/vx-builtins.md: Likewise.
4392
4393 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4394
4395 * config/s390/vector.md (VI, VI_QHS): Add single element vector
4396 types to mode iterators.
4397 (vec_double): ... and mode attribute.
4398 * config/s390/vx-builtins.md (non_vec_int): Likewise.
4399
4400 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4401
4402 * config/s390/vector.md ("<ti*>add<mode>3", "<ti*>sub<mode>3"):
4403 Change the predicate of op2 from nonimmediate to general and let
4404 reload fix it if necessary.
4405
4406 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4407
4408 * config/s390/vecintrin.h (vec_sub_u128): Define missing macro.
4409
4410 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4411
4412 * config/s390/s390.c (s390_expand_vcond): Use the compare operand
4413 mode.
4414
4415 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4416
4417 * config/s390/s390-protos.h: Add s390_expand_vec_movstr prototype.
4418 * config/s390/s390.c (s390_expand_vec_movstr): New function.
4419 * config/s390/s390.md ("movstr<P:mode>"): Call
4420 s390_expand_vec_movstr.
4421
4422 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4423
4424 * config/s390/s390.md: Add missing output modifier for operand 1
4425 to print it as address properly.
4426
4427 2016-02-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4428
4429 * config/s390/2827.md: Rename ooo_* insn attributes to zEC12_*.
4430 * config/s390/2964.md: New file.
4431 * config/s390/s390.c (s390_get_sched_attrmask): Use the right set
4432 of insn grouping attributes depending on the CPU level.
4433 (s390_get_unit_mask): New function.
4434 (s390_sched_score): Remove the OOO from the scheduling macros.
4435 Add loop to calculate a score for the instruction mix.
4436 (s390_sched_reorder): Likewise plus improve debug output.
4437 (s390_sched_variable_issue): Rename macros as above. Calculate
4438 the unit distances after actually scheduling an insn. Improve
4439 debug output.
4440 (s390_sched_init): Clear last_scheduled_unit_distance array.
4441 * config/s390/s390.md: Include 2964.md.
4442
4443 2016-02-18 Jakub Jelinek <jakub@redhat.com>
4444
4445 PR target/69671
4446 * config/i386/sse.md (*<floatsuffix>floatv2div2sf2_mask_1,
4447 *avx512vl_<code>v2div2qi2_mask_1, *avx512vl_<code><mode>v4qi2_mask_1,
4448 *avx512vl_<code><mode>v8qi2_mask_1, *avx512vl_<code><mode>v4hi2_mask_1,
4449 *avx512vl_<code>v2div2hi2_mask_1, *avx512vl_<code>v2div2si2_mask_1,
4450 *avx512f_<code>v8div16qi2_mask_1): New insns.
4451
4452 2016-02-18 Michael Meissner <meissner@linux.vnet.ibm.com>
4453
4454 PR target/68404
4455 * config/rs6000/predicates.md (fusion_gpr_addis): Revert
4456 2016-02-09 change.
4457
4458 * config/rs6000/rs6000.md (fusion_gpr_load_<mode>): Remove
4459 earlyclobber from target. Use wF constraint for fused memory
4460 address.
4461 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
4462
4463 2016-02-18 Jakub Jelinek <jakub@redhat.com>
4464 Martin Liska <mliska@suse.cz>
4465
4466 PR sanitizer/69863
4467 * cfgexpand.c (asan_sanitize_stack_p): New function.
4468 (partition_stack_vars): Use the function.
4469 (expand_stack_vars): Likewise.
4470 (defer_stack_allocation): Likewise.
4471 (expand_used_vars): Likewise.
4472
4473 2016-02-18 Richard Biener <rguenther@suse.de>
4474
4475 PR middle-end/69553
4476 * fold-const.c (operand_equal_p): Properly compare offsets for
4477 IMAGPART_EXPR and ARRAY_REF.
4478
4479 2016-02-18 Nick Clifton <nickc@redhat.com>
4480
4481 PR target/62254
4482 PR target/69610
4483 * config/arm/arm.c (arm_option_override_internal): Disable
4484 interworking if the target does not support thumb instructions.
4485 (arm_reload_in_hi): Handle the case where a register to register
4486 move needs reloading because there is no simple pattern to handle
4487 it.
4488 (arm_reload_out_hi): Likewise.
4489
4490 2016-02-18 Richard Biener <rguenther@suse.de>
4491
4492 PR middle-end/69854
4493 * match.pd: Don't use fold_binary or fold_unary for folding
4494 constants.
4495
4496 2016-02-17 Jakub Jelinek <jakub@redhat.com>
4497
4498 PR c++/69850
4499 * gimplify.c (gimplify_cond_expr): Call gimple_set_no_warning
4500 on the cond_stmt from TREE_NO_WARNING on COND_EXPR_COND.
4501 * gimple-ssa-nonnull-compare.c (do_warn_nonnull_compare): Don't
4502 warn on gimple_no_warning_p statements.
4503
4504 2016-02-17 Jonathan Wakely <jwakely@redhat.com>
4505
4506 * doc/extend.texi (C++ Attributes): Correct description of
4507 warn_unused type attribute.
4508
4509 2016-02-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4510
4511 * config/rs6000/altivec.md (*altivec_lvxl_<mode>_internal): Output
4512 correct instruction.
4513
4514 2016-02-17 Richard Biener <rguenther@suse.de>
4515
4516 PR rtl-optimization/69609
4517 * bb-reorder.c (struct bbro_basic_block_data): Add priority member.
4518 (find_traces_1_round): When ending a trace update cached priority
4519 of successors.
4520 (bb_to_key): Use cached priority when available.
4521 (copy_bb): Initialize cached priority.
4522 (reorder_basic_blocks_software_trace_cache): Likewise.
4523
4524 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4525
4526 PR target/69161
4527 * config/aarch64/predicates.md (aarch64_comparison_operator_mode):
4528 New predicate.
4529 (aarch64_comparison_operator): Break overly long line into two.
4530 (aarch64_comparison_operation): Likewise.
4531 * config/aarch64/aarch64.md (cstorecc4): Use
4532 aarch64_comparison_operator_mode instead of
4533 aarch64_comparison_operator.
4534 (cstore<mode>4): Likewise.
4535 (aarch64_cstore<mode>): Likewise.
4536 (*cstoresi_insn_uxtw): Likewise.
4537 (cstore<mode>_neg): Likewise.
4538 (*cstoresi_neg_uxtw): Likewise.
4539
4540 2016-02-17 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4541
4542 PR target/69161
4543 * config/arm/predicates.md (arm_comparison_operator_mode):
4544 New predicate.
4545 * config/arm/arm.md (*mov_scc): Use arm_comparison_operator_mode
4546 instead of arm_comparison_operator.
4547 (*mov_negscc): Likewise.
4548 (*mov_notscc): Likewise.
4549 * config/arm/thumb2.md (*thumb2_mov_scc): Likewise.
4550 (*thumb2_mov_negscc): Likewise.
4551 (*thumb2_mov_negscc_strict_it): Likewise.
4552 (*thumb2_mov_notscc): Likewise.
4553 (*thumb2_mov_notscc_strict_it): Likewise.
4554
4555 2016-02-17 Wilco Dijkstra <wdijkstr@arm.com>
4556
4557 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate):
4558 Add missing return.
4559
4560 2016-02-17 Eric Botcazou <ebotcazou@adacore.com>
4561
4562 * config/visium/visium.c (machine_libfunc_index): New enum.
4563 (machine_libfuncs): New structure.
4564 (visium_libfuncs): New static variable.
4565 (TARGET_INIT_LIBFUNCS): Define to...
4566 (visium_init_libfuncs): ...this. New function.
4567 (expand_block_move_4): Use the appropriate libfunc.
4568 (expand_block_move_2): Likewise.
4569 (expand_block_move_1): Likewise.
4570 (expand_block_set_4): Likewise.
4571 (expand_block_set_2): Likewise.
4572 (expand_block_set_1): Likewise.
4573 (visium_trampoline_init): Likewise.
4574
4575 2016-02-17 Nick Clifton <nickc@redhat.com>
4576
4577 * config/msp430/msp430.c (msp430_mcu_data): Sync with data from
4578 TI's devices.csv file as of March 2016.
4579
4580 2016-02-16 Kelvin Nilsen <kelvin@gcc.gnu.org>
4581
4582 PR Target/48344
4583 * opts-global.c (handle_common_deferred_options): Introduce and
4584 initialize two global variables to remember command-line options
4585 specifying a stack-limiting register.
4586 * opts.h: Add extern declarations of the two new global variables.
4587 * emit-rtl.c (init_emit_once): Initialize the stack_limit_rtx
4588 variable based on the values of the two new global variables.
4589
4590 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4591
4592 PR c/69835
4593 * common.opt (Wnonnull-compare): New warning.
4594 * doc/invoke.texi (-Wnonnull): Remove text about comparison
4595 of arguments against NULL.
4596 (-Wnonnull-compare): Document.
4597 * Makefile.in (OBJS): Add gimple-ssa-nonnull-compare.o.
4598 * tree-pass.h (make_pass_warn_nonnull_compare): Declare.
4599 * passes.def (pass_warn_nonnull_compare): Add.
4600 * gimple-ssa-nonnull-compare.c: New file.
4601
4602 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
4603
4604 * config/aarch64/aarch64.c (cortexa57_tunings): Remove
4605 AARCH64_EXTRA_TUNE_RECIP_SQRT.
4606
4607 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
4608
4609 * config/aarch64/aarch64.c (use_rsqrt_p): Always use software
4610 reciprocal sqrt for -mlow-precision-recip-sqrt.
4611
4612 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
4613 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4614
4615 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Refactor,
4616 always use lane loads to construct non-constant vectors.
4617
4618 2016-02-16 James Greenhalgh <james.greenhalgh@arm.com>
4619
4620 * config/aarch64/aarch64.md
4621 (arch64_sqrdml<SQRDMLH_AS:rdma_as>h_lane<mode>): Fix register
4622 constraints for operand 3.
4623 (aarch64_sqrdml<SQRDMLH_AS:rdma_as>h_laneq<mode>): Likewise.
4624
4625 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4626 Richard Biener <rguenther@suse.de>
4627
4628 PR tree-optimization/69820
4629 * tree-vect-patterns.c (type_conversion_p): Return false if
4630 *orig_type is unsigned single precision or boolean.
4631 (vect_recog_dot_prod_pattern, vect_recog_widen_mult_pattern):
4632 Formatting fix.
4633
4634 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4635
4636 PR rtl-optimization/69764
4637 PR rtl-optimization/69771
4638 * optabs.c (expand_binop): Ensure for shift optabs invalid CONST_INT
4639 op1 is valid for GET_MODE_INNER (mode) and force it into a reg.
4640
4641 2016-02-16 Richard Biener <rguenther@suse.de>
4642
4643 PR tree-optimization/69776
4644 * tree-ssa-alias.c (indirect_ref_may_alias_decl_p): Get alias
4645 sets from caller.
4646 (indirect_refs_may_alias_p): Likewise.
4647 (refs_may_alias_p_1): Pass alias sets as from ao_ref.
4648 * tree-ssa-sccvn.c (vn_reference_lookup): Also adjust vr alias-set
4649 according to tbaa_p.
4650 * tree-ssa-dom.c (lookup_avail_expr): Add tbaa_p flag.
4651 (optimize_stmt): For redundant store discovery do not allow tbaa.
4652
4653 2016-02-16 Bernd Schmidt <bschmidt@redhat.com>
4654
4655 PR tree-optimization/69714
4656 * tree-ssa-math-opts.c (find_bswap_or_nop): Revert previous change.
4657 Return NULL if we have irrelevant high bytes on BIG_ENDIAN.
4658
4659 2016-02-16 Claudiu Zissulescu <claziss@synopsys.com>
4660
4661 * config/arc/arc-modes.def (CC_FPU, CC_FPU_UNEQ): New modes.
4662 * config/arc/arc-opts.h (FPU_SP, FPU_SF, FPU_SC, FPU_SD, FPU_DP)
4663 (FPU_DF, FPU_DC, FPU_DD, FXP_DP): Define.
4664 * config/arc/arc.c (arc_init): Check FPU options.
4665 (get_arc_condition_code): Handle new CC_FPU* modes.
4666 (arc_select_cc_mode): Likewise.
4667 (arc_conditional_register_usage): Allow 64 bit datum into even-odd
4668 register pair only. Allow access for ARCv2 accumulator.
4669 (gen_compare_reg): Whenever we have FPU support use FPU compare
4670 instructions.
4671 (arc_reorg): Don't generate brcc insns when FPU compare
4672 instructions are involved.
4673 * config/arc/arc.h (TARGET_DPFP): Add TARGET_FP_DPAX condition.
4674 (TARGET_OPTFPE): Add condition when ARC EM can use optimized
4675 floating point emulation.
4676 (ACC_REG_FIRST, ACC_REG_LAST, ACCL_REGNO, ACCH_REGNO): Define.
4677 (REVERSE_CONDITION): Add new CC_FPU* modes.
4678 (TARGET_FP_SP_BASE): Define.
4679 (TARGET_FP_DP_BASE): Likewise.
4680 (TARGET_FP_SP_FUSED): Likewise.
4681 (TARGET_FP_DP_FUSED): Likewise.
4682 (TARGET_FP_SP_CONV): Likewise.
4683 (TARGET_FP_DP_CONV): Likewise.
4684 (TARGET_FP_SP_SQRT): Likewise.
4685 (TARGET_FP_DP_SQRT): Likewise.
4686 (TARGET_FP_DP_AX): Likewise.
4687 * config/arc/arc.md (ARCV2_ACC): New constant.
4688 (type): New fpu type attribute.
4689 (SDF): Conditional iterator.
4690 (cstore<mode>, cbranch<mode>): Change expand condition.
4691 (addsf3, subsf3, mulsf3, adddf3, subdf3, muldf3): New expands,
4692 handles FPU/FPX cases as well.
4693 * config/arc/arc.opt (mfpu): New option.
4694 * config/arc/fpx.md (addsf3_fpx, subsf3_fpx, mulsf3_fpx):
4695 Renamed.
4696 (adddf3, muldf3, subdf3): Removed.
4697 * config/arc/predicates.md (proper_comparison_operator): Recognize
4698 CC_FPU* modes.
4699 * config/arc/fpu.md: New file.
4700 * doc/invoke.texi (ARC Options): Document mfpu option.
4701
4702 2016-02-16 Richard Biener <rguenther@suse.de>
4703
4704 PR rtl-optimization/69291
4705 * ifcvt.c (noce_try_store_flag_constants): Re-instantiate
4706 noce_operand_ok check.
4707
4708 2016-02-16 Tom de Vries <tom@codesourcery.com>
4709
4710 PR lto/67709
4711 * omp-low.c (simd_clone_create): Remove call to
4712 symtab->call_cgraph_insertion_hooks.
4713
4714 2016-02-16 Jakub Jelinek <jakub@redhat.com>
4715
4716 PR tree-optimization/69802
4717 * tree-ssa-reassoc.c (update_range_test): If op is
4718 SSA_NAME_IS_DEFAULT_DEF, give up unless tem is a positive
4719 op == 1 test of precision 1 integral op, otherwise handle
4720 that case as op itself. Fix up formatting.
4721 (optimize_range_tests_to_bit_test, optimize_range_tests): Fix
4722 up formatting.
4723
4724 2016-02-16 Richard Biener <rguenther@suse.de>
4725
4726 PR tree-optimization/69586
4727 * tree-vrp.c (register_edge_assert_for_2): Handle all integral
4728 types for conversion sources.
4729
4730 2016-02-16 Richard Biener <rguenther@suse.de>
4731
4732 PR middle-end/69801
4733 * fold-const.c (operand_equal_p): For COND_EXPR zero operand
4734 mask OEP_ADDRESS_OF.
4735
4736 2016-02-16 Alan Modra <amodra@gmail.com>
4737
4738 PR target/68973
4739 * config/rs6000/rs6000.md (reload_vsx_from_gprsf): Rewrite splitter.
4740 (p8_mtvsrd_df, p8_mtvsrd_sf): New.
4741 (p8_mtvsrd_1, p8_mtvsrd_2): Delete.
4742 (p8_mtvsrwz): New.
4743 (p8_mtvsrwz_1, p8_mtvsrwz_2): Delete.
4744 (p8_xxpermdi_<mode>): Take two DF inputs rather than one TF.
4745 (p8_fmrgow_<mode>): Likewise.
4746 (reload_vsx_from_gpr<mode>): Make clobber IF. Adjust for above
4747 changes.
4748 (reload_fpr_from_gpr<mode>): Similarly. Use "d" for op0 constraint.
4749 (reload_vsx_from_gprsf): Use p8_mtvsrd_sf rather than attempting
4750 to use movdi_internal64. Remove op0_di.
4751 * config/rs6000/vsx.md (vsx_xscvspdpn_directmove): Make op1 SFmode.
4752
4753 2016-02-15 Evandro Menezes <e.menezes@samsung.com>
4754
4755 Add support for the FCCMP insn types
4756
4757 * config/aarch64/aarch64.md (fccmp): Change insn type.
4758 (fccmpe): Likewise.
4759 * config/aarch64/thunderx.md (thunderx_fcmp): Add "fccmp{s,d}" types.
4760 * config/arm/cortex-a53.md (cortex_a53_fpalu): Likewise.
4761 * config/arm/cortex-a57.md (cortex_a57_fp_cmp): Likewise.
4762 * config/arm/xgene1.md (xgene1_fcmp): Likewise.
4763 * config/arm/exynos-m1.md (exynos_m1_fp_ccmp): New insn reservation.
4764 * config/arm/types.md (fccmps): Add new insn type.
4765 (fccmpd): Likewise.
4766
4767 2016-02-15 Bernd Edlinger <bernd.edlinger@hotmail.de>
4768
4769 * alias.c (get_alias_set): Fix a typo in comment.
4770
4771 2016-02-15 Richard Biener <rguenther@suse.de>
4772
4773 PR tree-optimization/69595
4774 * match.pd: Complete range test simplification to true.
4775
4776 2016-02-15 Bernd Schmidt <bschmidt@redhat.com>
4777
4778 PR rtl-optimization/69648
4779 * lra-constraints.c (update_ebb_live_info): Don't remove sets of
4780 pic_offset_table_rtx.
4781
4782 PR rtl-optimization/69752
4783 * ira.c (update_equiv_regs): When looking for more than a single SET,
4784 also take other side effects into account.
4785
4786 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
4787
4788 * config/s390/s390.c (s390_function_profiler): Add a new sequence
4789 for z900+ CPUs in 31-bit mode.
4790
4791 2016-02-15 Marcin Kościelnicki <koriakin@0x04.net>
4792
4793 * common/config/s390/s390-common.c (s390_supports_split_stack):
4794 New function.
4795 (TARGET_SUPPORTS_SPLIT_STACK): New macro.
4796 * config/s390/s390-protos.h: Add s390_expand_split_stack_prologue.
4797 * config/s390/s390.c (struct machine_function): New field
4798 split_stack_varargs_pointer.
4799 (s390_register_info): Mark r12 as clobbered if it'll be used as temp
4800 in s390_emit_prologue.
4801 (s390_emit_prologue): Use r12 as temp if r1 is taken by split-stack
4802 vararg pointer.
4803 (morestack_ref): New global.
4804 (SPLIT_STACK_AVAILABLE): New macro.
4805 (s390_expand_split_stack_prologue): New function.
4806 (s390_live_on_entry): New function.
4807 (s390_va_start): Use split-stack vararg pointer if appropriate.
4808 (s390_asm_file_end): Emit the split-stack note sections.
4809 (TARGET_EXTRA_LIVE_ON_ENTRY): New macro.
4810 * config/s390/s390.md (UNSPEC_STACK_CHECK): New unspec.
4811 (UNSPECV_SPLIT_STACK_CALL): New unspec.
4812 (UNSPECV_SPLIT_STACK_DATA): New unspec.
4813 (split_stack_prologue): New expand.
4814 (split_stack_space_check): New expand.
4815 (split_stack_data): New insn.
4816 (split_stack_call): New expand.
4817 (split_stack_call_*): New insn.
4818 (split_stack_cond_call): New expand.
4819 (split_stack_cond_call_*): New insn.
4820
4821 2016-02-15 Richard Biener <rguenther@suse.de>
4822
4823 PR tree-optimization/69783
4824 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
4825 Add trivially correct cases.
4826
4827 2016-02-15 Tom de Vries <tom@codesourcery.com>
4828
4829 PR lto/69655
4830 * lto-cgraph.c (input_offload_tables): Add and handle bool parameter
4831 do_force_output.
4832 * lto-streamer.h (input_offload_tables): Add and handle bool parameter.
4833
4834 2016-02-15 Richard Biener <rguenther@suse.de>
4835
4836 PR tree-optimization/69776
4837 * tree-ssa-sccvn.h (vn_reference_lookup): Adjust prototype.
4838 * tree-ssa-sccvn.c (vn_reference_lookup): Add parameter to
4839 indicate whether we can use TBAA to disambiguate against stores.
4840 Use alias-set zero if not.
4841 (visit_reference_op_store): Do not use TBAA when looking up
4842 redundant stores.
4843 * tree-ssa-pre.c (compute_avail): Use TBAA here.
4844 (eliminate_dom_walker::before_dom_children): But not when looking
4845 up redundant stores.
4846
4847 2016-02-14 John David Anglin <danglin@gcc.gnu.org>
4848
4849 * config/pa/pa.md (absqi2, absghi2, bswaphi2, bswapsi2, bswapdi2): New.
4850
4851 2016-02-14 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
4852
4853 * config/i386/znver1.md
4854 (znver1_pop, znver1_pop_mem,
4855 znver1_load_imov_double_store,
4856 znver1_load_imov_direct_store,
4857 znver1_load_imov_direct_load,
4858 znver1_load_imov_double_load): Add new.
4859 (znver1_insn, znver1_insn_load): Add icmov type.
4860 (znver1_sseavx_fma,
4861 znver1_sseavx_fma_load,
4862 znver1_avx256_fma,
4863 znver1_avx256_fma_load): Fix pipe usage.
4864
4865 2016-02-14 Alan Modra <amodra@gmail.com>
4866
4867 PR target/68973
4868 * reloads.c (find_reloads_address_1): For pre/post-inc/dec
4869 with an invalid hard reg, reload just the reg not the entire
4870 pre/post-inc/dec address expression.
4871
4872 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
4873
4874 PR target/67260
4875 * config/sh/sh.md (sibcall_value_pcrel): Replace =&k scratch reg with
4876 fixed R1_REG scratch reg.
4877 (sibcall_value_pcrel_fdpic): Likewise.
4878
4879 2016-02-13 Oleg Endo <olegendo@gcc.gnu.org>
4880
4881 PR target/67636
4882 PR target/64345
4883 * config/sh/sh.md (*zero_extract_3): New insn_and_split pattern.
4884
4885 2016-02-12 Walter Lee <walt@tilera.com>
4886
4887 * config/tilepro/t-tilepro: Replace CC_FOR_BUILD with CXX_FOR_BUILD.
4888 * config/tilegx/t-tilegx: Likewise.
4889
4890 2016-02-12 David Malcolm <dmalcolm@redhat.com>
4891
4892 PR other/69554
4893 * diagnostic-show-locus.c (struct line_span): New struct.
4894 (layout::get_first_line): Delete.
4895 (layout::get_last_line): Delete.
4896 (layout::get_num_line_spans): New member function.
4897 (layout::get_line_span): Likewise.
4898 (layout::print_heading_for_line_span_index_p): Likewise.
4899 (layout::get_expanded_location): Likewise.
4900 (layout::calculate_line_spans): Likewise.
4901 (layout::m_first_line): Delete.
4902 (layout::m_last_line): Delete.
4903 (layout::m_line_spans): New field.
4904 (layout::layout): Update comment. Replace m_first_line and
4905 m_last_line with m_line_spans, replacing their initialization
4906 with a call to calculate_line_spans.
4907 (diagnostic_show_locus): When printing source lines and
4908 annotations, rather than looping over a single span
4909 of lines, instead loop over each line_span within
4910 the layout, with an inner loop over the lines within them.
4911 Call the context's start_span callback when changing line spans.
4912 * diagnostic.c (diagnostic_initialize): Initialize start_span.
4913 (diagnostic_build_prefix): Break out the building of the location
4914 part of the string into...
4915 (diagnostic_get_location_text): ...this new function, rewriting
4916 it from nested ternary expressions to a sequence of "if"
4917 statements.
4918 (default_diagnostic_start_span_fn): New function.
4919 * diagnostic.h (diagnostic_start_span_fn): New typedef.
4920 (diagnostic_context::start_span): New field.
4921 (default_diagnostic_start_span_fn): New prototype.
4922
4923 2016-02-12 David Malcolm <dmalcolm@redhat.com>
4924
4925 PR driver/69779
4926 * gcc.c (driver::finalize): Fix cleanup of "specs".
4927
4928 2016-02-12 David Malcolm <dmalcolm@redhat.com>
4929
4930 PR driver/69265
4931 PR driver/69453
4932 * gcc.c (driver::driver): Initialize m_option_suggestions.
4933 (driver::~driver): Clean up m_option_suggestions.
4934 (suggest_option): Convert to...
4935 (driver::suggest_option): ...this, and split out into
4936 driver::build_option_suggestions and find_closest_string.
4937 (driver::build_option_suggestions): New function, from
4938 first half of suggest_option. Special-case
4939 OPT_fsanitize_ and OPT_fsanitize_recover_, making use of
4940 the sanitizer_opts array. For options of enum types, add the
4941 various enum values to the candidate strings.
4942 (driver::handle_unrecognized_options): Remove "const".
4943 * gcc.h (driver::handle_unrecognized_options): Likewise.
4944 (driver::build_option_suggestions): New decl.
4945 (driver::suggest_option): New decl.
4946 (driver::m_option_suggestions): New field.
4947 * opts-common.c (add_misspelling_candidates): New function.
4948 * opts.c (sanitizer_opts): Remove decl of struct sanitizer_opts_s
4949 and make non-static.
4950 * opts.h (sanitizer_opts): New array decl.
4951 (add_misspelling_candidates): New function decl.
4952 * spellcheck.c (find_closest_string): New function.
4953 * spellcheck.h (find_closest_string): New function decl.
4954
4955 2016-02-12 Jakub Jelinek <jakub@redhat.com>
4956
4957 PR rtl-optimization/69764
4958 PR rtl-optimization/69771
4959 * optabs.c (expand_binop_directly): For shift_optab_p, force
4960 convert_modes with VOIDmode if xop1 has VOIDmode.
4961
4962 2016-02-12 Ilya Enkovich <enkovich.gnu@gmail.com>
4963
4964 PR target/69729
4965 * lto-streamer-out.c (lto_output): Use thunk.add_pointer_bounds_args
4966 to correctly determine instrumentation thunks.
4967
4968 2016-02-12 Jakub Jelinek <jakub@redhat.com>
4969
4970 PR ipa/69241
4971 * ipa-split.c (split_function): If split part returns TREE_ADDRESSABLE
4972 type by reference, force lhs on the call.
4973
4974 PR ipa/68672
4975 * ipa-split.c (split_function): Don't compute/use main_part_return_p.
4976 Compute retval and retbnd early in all cases if split_part_return_p
4977 and return_bb is not EXIT. Remove all clobber stmts and reset
4978 all debug stmts that refer to SSA_NAMEs defined in split part,
4979 except if it is retval, in that case replace the old retval with the
4980 lhs of the call to the split part.
4981
4982 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
4983
4984 revert:
4985 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
4986
4987 PR middle-end/66726
4988 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
4989 whose result is used in PHI.
4990 (maybe_optimize_range_tests): Likewise.
4991 (final_range_test_p): Likweise.
4992
4993 2016-02-12 Kugan Vivekanandarajah <kuganv@linaro.org>
4994
4995 PR middle-end/66726
4996 * tree-ssa-reassoc.c (optimize_range_tests): Handle tcc_compare stmt
4997 whose result is used in PHI.
4998 (maybe_optimize_range_tests): Likewise.
4999 (final_range_test_p): Likweise.
5000
5001 2016-02-12 Jakub Jelinek <jakub@redhat.com>
5002
5003 * cgraph.c: Spelling fixes - behaviour -> behavior and
5004 neighbour -> neighbor.
5005 * target.def: Likewise.
5006 * sel-sched.c: Likewise.
5007 * config/mips/mips.c: Likewise.
5008 * config/arc/arc.md: Likewise.
5009 * config/arm/cortex-a57.md: Likewise.
5010 * config/arm/arm.c: Likewise.
5011 * config/arm/neon.md: Likewise.
5012 * config/arm/arm-c.c: Likewise.
5013 * config/vms/vms-c.c: Likewise.
5014 * config/s390/s390.c: Likewise.
5015 * config/i386/znver1.md: Likewise.
5016 * config/i386/i386.c: Likewise.
5017 * config/ia64/hpux-unix2003.h: Likewise.
5018 * config/msp430/msp430.md: Likewise.
5019 * config/rx/rx.c: Likewise.
5020 * config/rx/rx.md: Likewise.
5021 * config/aarch64/aarch64-simd.md: Likewise.
5022 * config/aarch64/aarch64.c: Likewise.
5023 * config/nvptx/nvptx.c: Likewise.
5024 * config/bfin/bfin.c: Likewise.
5025 * config/cris/cris.opt: Likewise.
5026 * config/rs6000/rs6000.c: Likewise.
5027 * target.h: Likewise.
5028 * spellcheck.c: Likewise.
5029 * ira-build.c: Likewise.
5030 * tree-inline.c: Likewise.
5031 * builtins.c: Likewise.
5032 * lra-constraints.c: Likewise.
5033 * explow.c: Likewise.
5034 * hwint.h: Likewise.
5035 * targhooks.c: Likewise.
5036 * tree-vect-data-refs.c: Likewise.
5037 * expr.c: Likewise.
5038 * doc/tm.texi: Likewise.
5039 * doc/extend.texi: Likewise.
5040 * doc/install.texi: Likewise.
5041 * doc/md.texi: Likewise.
5042 * tree-ssa-tail-merge.c: Likewise.
5043 * sched-int.h: Likewise.
5044 * match.pd: Likewise.
5045 * sched-ebb.c: Likewise.
5046 * target.def (omit_struct_return_reg): Likewise.
5047 * gimple-ssa-isolate-paths.c: Likewise.
5048 (find_implicit_erroneous_behaviour): Renamed to...
5049 (find_implicit_erroneous_behavior): ... this.
5050 (find_explicit_erroneous_behaviour): Renamed to...
5051 (find_explicit_erroneous_behavior): ... this.
5052 (gimple_ssa_isolate_erroneous_paths): Adjust caller.
5053
5054 2016-02-11 Segher Boessenkool <segher@kernel.crashing.org>
5055
5056 PR rtl-optimization/64682
5057 PR rtl-optimization/69567
5058 PR rtl-optimization/69737
5059 * combine.c (distribute_notes) <REG_DEAD>: If the register is set
5060 in I2 as well, just lose it.
5061
5062 2016-02-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5063
5064 * config/aarch64/aarch64.c (aarch64_last_printed_arch_string):
5065 New variable.
5066 (aarch64_last_printed_tune_string): Likewise.
5067 (aarch64_declare_function_name): Only output .arch assembler
5068 directive if it will be different from the previously output
5069 directive. Same for .tune comment but only if -dA is set.
5070 (aarch64_start_file): New function.
5071 (TARGET_ASM_FILE_START): Define.
5072
5073 2016-02-11 David Malcolm <dmalcolm@redhat.com>
5074
5075 PR plugins/69758
5076 * Makefile.in (PLUGIN_HEADERS): Add params.list.
5077
5078 2016-02-11 Jakub Jelinek <jakub@redhat.com>
5079
5080 PR target/65313
5081 * tree-vect-slp.c (vect_schedule_slp_instance): Avoid
5082 -Wmaybe-uninitialized warning.
5083
5084 2016-02-11 Oleg Endo <olegendo@gcc.gnu.org>
5085
5086 PR target/69713
5087 * config/sh/sh.md (casesi_worker_0): Add T_REG use.
5088
5089 2016-02-11 Richard Biener <rguenther@suse.de>
5090
5091 PR rtl-optimization/69291
5092 * ifcvt.c (noce_try_store_flag_constants): Do not allow
5093 subexpressions affected by changing the result.
5094
5095 2016-02-10 Vladimir Makarov <vmakarov@redhat.com>
5096
5097 PR target/69148
5098 * lra-constraints.c (curr_insn_transform): Find in/out operands
5099 for secondary memory moves. Update dups.
5100
5101 2016-02-10 Yuri Rumyantsev <ysrumyan@gmail.com>
5102
5103 PR tree-optimization/69652
5104 * tree-vect-loop.c (optimize_mask_stores): Move declaration of STMT1
5105 to nested loop, did source re-formatting, skip debug statements,
5106 add check on statement with volatile operand, remove dead scalar
5107 statements.
5108
5109 2016-02-10 Jakub Jelinek <jakub@redhat.com>
5110 Patrick Palka <ppalka@gcc.gnu.org>
5111
5112 PR ipa/69241
5113 PR c++/69649
5114 * gimplify.c (gimplify_modify_expr): Set lhs even for noreturn
5115 calls if the return type is TREE_ADDRESSABLE.
5116 * cgraphunit.c (cgraph_node::expand_thunk): Likewise.
5117 * ipa-split.c (split_function): Fix doubled "we" in comment.
5118 Use void return type for the split part even if
5119 !split_point->split_part_set_retval.
5120
5121 2016-02-10 Bin Cheng <bin.cheng@arm.com>
5122
5123 PR tree-optimization/68021
5124 * tree-ssa-loop-ivopts.c (get_computation_aff): Set ratio to 1 if
5125 when computing the value of biv cand by itself.
5126
5127 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
5128
5129 * config/aarch64/aarch64.c (cortexa53_tunings): Enable AES fusion.
5130 (cortexa57_tunings): Likewise.
5131 (cortexa72_tunings): Likewise.
5132 (arch_macro_fusion_pair_p): Add support for AES fusion.
5133 * config/aarch64/aarch64-fusion-pairs.def: Add AES_AESMC entry.
5134 * config/arm/aarch-common.c (aarch_crypto_can_dual_issue):
5135 Allow virtual registers before reload so early scheduling works.
5136 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Use
5137 correct latency and pipeline.
5138 (cortex_a57_crypto_complex): Likewise.
5139 (cortex_a57_crypto_xor): Likewise.
5140 (define_bypass): Add AES bypass.
5141
5142 2016-02-10 Richard Biener <rguenther@suse.de>
5143
5144 PR tree-optimization/69726
5145 * passes.def: Add DCE pass before late uninit.
5146 * match.pd: Add A ? B : (!A ? C : X) -> A ? B : C patterns to
5147 really fixup if-conversions job.
5148
5149 2016-02-10 Wilco Dijkstra <wdijkstr@arm.com>
5150
5151 * config/arm/arm.c (arm_cortex_a53_tune): Enable AES fusion.
5152 (arm_cortex_a57_tune): Likewise.
5153 (aarch_macro_fusion_pair_p): Add support for AES fusion.
5154 * config/arm/arm-protos.h (fuse_ops): Add FUSE_AES_AESMC.
5155
5156 2016-02-10 Eric Botcazou <ebotcazou@adacore.com>
5157
5158 * timevar.def (TV_PHASE_DBGINFO): Delete.
5159 (TV_PHASE_CHECK_DBGINFO): Likewise.
5160 * varpool.c (varpool_node::assemble_decl): Do not change timevar.
5161
5162 2016-02-10 Richard Biener <rguenther@suse.de>
5163
5164 PR tree-optimization/69719
5165 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
5166 Adjust previous fix by ensuring that dr_a1 is left of dr_a2.
5167
5168 2016-02-09 Andrew Pinski <apinski@cavium.com>
5169
5170 PR tree-opt/69282
5171 * optabs-tree.c (expand_vec_cond_expr_p): Don't early return if
5172 get_vcond_mask_icode returns false.
5173
5174 2016-02-09 Michael Meissner <meissner@linux.vnet.ibm.com>
5175
5176 PR target/68404
5177 * config/rs6000/predicates.md (fusion_gpr_addis): Prevent fusing
5178 an ADDIS that adds a pointer to a large constant that sets the
5179 upper16 bits with a load operation.
5180
5181 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
5182
5183 PR target/68532
5184 * config/arm/arm.c (arm_evpc_neon_vzip): Allow for big endian lane
5185 order.
5186 * config/arm/arm_neon.h (vzipq_s8): Adjust shuffle patterns for big
5187 endian.
5188 (vzipq_s16): Likewise.
5189 (vzipq_s32): Likewise.
5190 (vzipq_f32): Likewise.
5191 (vzipq_u8): Likewise.
5192 (vzipq_u16): Likewise.
5193 (vzipq_u32): Likewise.
5194 (vzipq_p8): Likewise.
5195 (vzipq_p16): Likewise.
5196
5197 2016-02-09 Charles Baylis <charles.baylis@linaro.org>
5198
5199 PR target/68532
5200 * config/arm/arm.c (neon_endian_lane_map): New function.
5201 (neon_vector_pair_endian_lane_map): New function.
5202 (arm_evpc_neon_vuzp): Allow for big endian lane order.
5203 * config/arm/arm_neon.h (vuzpq_s8): Adjust shuffle patterns for big
5204 endian.
5205 (vuzpq_s16): Likewise.
5206 (vuzpq_s32): Likewise.
5207 (vuzpq_f32): Likewise.
5208 (vuzpq_u8): Likewise.
5209 (vuzpq_u16): Likewise.
5210 (vuzpq_u32): Likewise.
5211 (vuzpq_p8): Likewise.
5212 (vuzpq_p16): Likewise.
5213
5214 2016-02-11 Alexandre Oliva <aoliva@redhat.com>
5215
5216 PR target/69634
5217 * regstat.c (regstat_bb_compute_calls_crossed): Disregard
5218 debug insns.
5219
5220 2016-02-09 Uros Bizjak <ubizjak@gmail.com>
5221
5222 * config/i386/i386.md (insv<mode>_1): Use gen_int_mode to
5223 truncate const_int operand 1 to QImode.
5224
5225 2016-02-09 Eric Botcazou <ebotcazou@adacore.com>
5226
5227 * gimple-ssa-backprop.c (optimize_phi): Do not replace an argument
5228 corresponding to an abnormal edge.
5229
5230 2016-02-09 Tom de Vries <tom@codesourcery.com>
5231
5232 PR tree-optimization/69599
5233 * tree-ssa-structalias.c (fndecl_maybe_in_other_partition): New
5234 function.
5235 (find_func_aliases_for_builtin_call, find_func_clobbers)
5236 (ipa_pta_execute): Handle case that foo and foo._0 are not in same lto
5237 partition.
5238
5239 2016-02-09 Richard Biener <rguenther@suse.de>
5240
5241 PR tree-optimization/69715
5242 * tree-ssa.c (execute_update_addresses_taken): Mark non-decl
5243 LHS on calls as non-rewritable.
5244
5245 2016-02-09 Tom de Vries <tom@codesourcery.com>
5246
5247 PR lto/69707
5248 * lto-wrapper.c (append_diag_options): New function.
5249 (compile_offload_image): Call append_diag_options.
5250
5251 2016-02-08 Sandra Loosemore <sandra@codesourcery.com>
5252
5253 PR other/69722
5254 * doc/extend.texi (Flag Output Operands): Correct sectioning.
5255 Minor copy-edit to fix verb tenses.
5256
5257 2016-02-08 Jakub Jelinek <jakub@redhat.com>
5258
5259 PR tree-optimization/69209
5260 * ipa-split.c (split_function): If split part is not
5261 returning retval, retval has gimple type but is not
5262 gimple value, force it into a SSA_NAME first.
5263
5264 2016-02-08 Nicklas Bo Jensen <nbjensen@gmail.com>
5265
5266 * doc/tree-ssa.texi (Preserving the virtual SSA form): Remove
5267 outdated section.
5268
5269 2016-02-08 Jason Merrill <jason@redhat.com>
5270
5271 PR c++/69631
5272 * convert.c (convert_to_integer_1): Check dofold on truncation
5273 distribution.
5274 (convert_to_pointer_maybe_fold, convert_to_real_maybe_fold)
5275 (convert_to_integer_maybe_fold, convert_to_complex_maybe_fold):
5276 Rename from *_nofold.
5277 * convert.h (convert_to_pointer_nofold, convert_to_integer_nofold)
5278 (convert_to_real_nofold, convert_to_complex_nofold): New inlines.
5279
5280 2016-02-08 Bernd Schmidt <bschmidt@redhat.com>
5281
5282 PR target/60410
5283 * tree.c (build_common_tree_nodes): Remove short_double argument.
5284 All callers changed.
5285 * tree.h (build_common_tree_nodes): Adjust declaration.
5286 * doc/invoke.texi (-fshort-double): Remove documentation.
5287 * config/mips/t-img-elf (MULTILIB_OPTIONS, MULTILIB_DIRNAMES,
5288 MULTILIB_EXCEPTIONS): Remove -fshort-double variant.
5289 * lto-wrapper.c (merge_and_complain, append_compiler_options)
5290 (append_linker_options): Don't handle OPT_fshort_double.
5291
5292 PR rtl-optimization/68730
5293 * lra-remat.c (insn_to_cand_activation): New static variable.
5294 (lra_remat): Allocate and free it.
5295 (create_cand): New arg activation. Initialize a field in
5296 insn_to_cand_activation if it is nonnull.
5297 (create_cands): Pass the activation insn to create_cand when making
5298 a candidate involving an output reload. Reorganize code a little.
5299 (do_remat): Keep track of active status of candidates in a separate
5300 bitmap.
5301
5302 2016-02-08 Richard Biener <rguenther@suse.de>
5303
5304 PR tree-optimization/69719
5305 * tree-vect-data-refs.c (vect_prune_runtime_alias_test_list):
5306 Properly use absolute of the difference of the two offsets to
5307 compare or adjust the segment length.
5308
5309 2016-02-08 Richard Biener <rguenther@suse.de>
5310 Jeff Law <law@redhat.com>
5311
5312 PR target/68273
5313 * tree-ssanames.c (make_ssa_name_fn): Always use unqualified
5314 types for anonymous SSA names.
5315
5316 2016-02-08 Richard Biener <rguenther@suse.de>
5317
5318 PR rtl-optimization/69274
5319 * ira.c (ira_setup_alts): Do not change recog_data.operand order.
5320
5321 2016-02-08 Jeff Law <law@redhat.com>
5322
5323 PR tree-optimization/65917
5324 * tree-ssa-dom.c (record_temporary_equivalences): Record both
5325 equivalences from if (x == y) style conditionals.
5326 (loop_depth_of_name): Remove.
5327 (record_equality): Remove loop depth check.
5328 * tree-ssa-scopedtables.h (const_and_copies): Refine comments.
5329 (const_and_copies::record_const_or_copy_raw): New member function.
5330 * tree-ssa-scopedtables.c
5331 (const_and_copies::record_const_or_copy_raw): New, factored out of
5332 (const_and_copies::record_const_or_copy): Call new member function.
5333
5334 2016-02-05 Jeff Law <law@redhat.com>
5335
5336 PR tree-optimization/68541
5337 * gimple-ssa-split-paths.c: Include tree-cfg.h and params.h.
5338 (count_stmts_in_block): New function.
5339 (poor_ifcvt_candidate_code): Likewise.
5340 (is_feasible_trace): Add some heuristics to determine when path
5341 splitting is profitable.
5342 (find_block_to_duplicate_for_splitting_paths): Make sure the graph
5343 is a diamond with a single exit.
5344
5345 2016-02-05 Martin Sebor <msebor@redhat.com>
5346
5347 PR c++/69662
5348 * doc/invoke.texi: Update -Wplacement-new to take an optional
5349 argument.
5350
5351 2016-02-06 Richard Henderson <rth@redhat.com>
5352
5353 PR c/69643
5354 * tree.c (tree_nop_conversion_p): Do not strip casts into or
5355 out of non-standard address spaces.
5356
5357 2016-02-05 Jakub Jelinek <jakub@redhat.com>
5358
5359 PR rtl-optimization/69691
5360 * lra-eliminations.c (move_plus_up): Don't add the addend twice.
5361
5362 2016-02-05 Pat Haugen <pthaugen@us.ibm.com>
5363
5364 * config/rs6000/crypto.md (crypto_vpermxor_<mode>): Correct insn type.
5365 * config/rs6000/rs6000.md (mov<mode>_hardfloat): Likewise.
5366 (*ieee128_mfvsrd_64bit): Likewise.
5367 (*ieee128_mfvsrd_32bit): Likewise.
5368
5369 2016-02-05 Ilya Enkovich <enkovich.gnu@gmail.com>
5370
5371 PR target/69369
5372 Revert r232560:
5373 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
5374
5375 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
5376 instrumented_version.
5377
5378 2016-01-05 Jeremy Bennett <jeremy.bennett@embecosm.com>
5379
5380 * doc/invoke.texi (Optimize Options): In table of --param options
5381 rename second occurrence of tracer-min-branch-ratio to
5382 tracer-min-branch-probability, rename
5383 tracer-min-branch-ratio-feedback to
5384 tracer-min-branch-probability-feedback and clarify description,
5385 rename sched-spec-state-edge-prob-cutoff to
5386 sched-state-edge-prob-cutoff, rename selsched-max-insns-to-rename
5387 to selsched-insns-to-rename, rename lto-minpartition to
5388 lto-min-partition, delete reorder-blocks-duplicate and
5389 reorder-blocks-duplicate-feedback.
5390
5391 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5392
5393 * config/s390/s390.c (s390_register_info_set_ranges): Remove
5394 superfluous loops.
5395
5396 2016-02-05 Dominik Vogt <vogt@linux.vnet.ibm.com>
5397
5398 * doc/extend.texi: S/390: Correct some typos.
5399
5400 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5401
5402 * config/s390/s390.c (s390_emit_call): Add missing 64 bit check.
5403
5404 2016-02-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
5405
5406 PR target/69625
5407 * config/s390/s390.c (SAVE_SLOT_NONE, SAVE_SLOT_STACK): New defines.
5408 (s390_register_info_gprtofpr): Use new macros above.
5409 (s390_register_info_stdarg_fpr): Adjust max_fpr to better match
5410 its name.
5411 (s390_register_info_stdarg_gpr): Adjust max_gpr to better match
5412 its name. Adjust restore and save gpr ranges.
5413 (s390_register_info_set_ranges): New function.
5414 (s390_register_info): Use new macros above. Call
5415 s390_register_info_set_ranges.
5416 (s390_optimize_register_info): Likewise.
5417 (s390_hard_regno_rename_ok): Use new macros.
5418 (s390_hard_regno_scratch_ok): Likewise.
5419 (s390_emit_epilogue): Likewise.
5420 (s390_can_use_return_insn): Likewise.
5421 (s390_optimize_prologue): Likewise.
5422 * config/s390/s390.md (GPR2_REGNUM, GPR6_REGNUM): New constants.
5423
5424 2016-02-05 Jakub Jelinek <jakub@redhat.com>
5425
5426 PR bootstrap/69677
5427 * config/i386/i386.c (convert_scalars_to_vector): Readd stack
5428 alignment fixes.
5429 (ix86_option_override_internal): Disable TARGET_STV even for
5430 -m{incoming,preferred}-stack-boundary=3.
5431
5432 2016-02-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5433
5434 * config.gcc: Mark deprecated rtems targets as obsolete.
5435
5436 2016-02-04 Segher Boessenkool <segher@kernel.crashing.org>
5437
5438 PR rtl-optimization/64682
5439 PR rtl-optimization/69567
5440 * combine.c (distribute_notes) <REG_DEAD>: Place the death note
5441 before I2 only if the register is both used and set in I2.
5442
5443 2016-02-04 DJ Delorie <dj@redhat.com>
5444
5445 * config/msp430/msp430.c (msp430_start_function): Add function type.
5446
5447 2016-02-04 Jakub Jelinek <jakub@redhat.com>
5448
5449 PR fortran/69368
5450 * tree-dfa.c (get_ref_base_and_extent): Remove unreachable code.
5451
5452 2016-02-04 Uros Bizjak <ubizjak@gmail.com>
5453
5454 PR rtl-optimization/69577
5455 Revert:
5456 2015-10-29 Richard Henderson <rth@redhat.com>
5457
5458 PR target/68124
5459 PR rtl-opt/67609
5460 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
5461 sse check to the exact conditions of PR 67609.
5462
5463 2016-02-04 Michael Meissner <meissner@linux.vnet.ibm.com>
5464
5465 PR target/69667
5466 * config/rs6000/rs6000.md (mov<mode>_64bit_dm): Use 'd' constraint
5467 instead of 'ws', and 'wh' instead of 'wm' since TFmode/IFmode are
5468 not allowed into the traditional Altivec registers.
5469 (movtd_64bit_nodm): Likewise.
5470 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
5471
5472 2016-02-04 David Malcolm <dmalcolm@redhat.com>
5473
5474 * config/aarch64/cortex-a57-fma-steering.c
5475 (aarch64_register_fma_steering): Remove "static" from arguments
5476 to register_pass.
5477
5478 2016-02-04 Wilco Dijkstra <wdijkstr@arm.com>
5479
5480 PR target/69619
5481 * ccmp.c (expand_ccmp_expr_1): Avoid evaluating gs0/gs1
5482 twice when complex.
5483
5484 2016-02-04 Mike Frysinger <vapier@gentoo.org>
5485
5486 * doc/invoke.texi: Delete -mno-fma4.
5487
5488 2016-02-04 Richard Sandiford <richard.sandiford@arm.com>
5489
5490 PR rtl-optimization/69577
5491 * reginfo.c (record_subregs_of_mode): Add a partial_def parameter.
5492 (find_subregs_of_mode): Update accordingly. Iterate over partial
5493 definitions.
5494
5495 2016-02-04 Alan Lawrence <alan.lawrence@arm.com>
5496
5497 * config/arm/arm-protos.h (neon_reinterpret): Remove.
5498 * config/arm/arm.c (neon_reinterpret): Remove.
5499 * config/arm/arm_neon_builtins.def (vreinterpretv8qi, vreinterpretv4hi,
5500 vreinterpretv2si, vreinterpretv2sf, vreinterpretdi, vreinterpretv16qi,
5501 vreinterpretv8hi, vreinterpretv4si, vreinterpretv4sf, vreinterpretv2di,
5502 vreinterpretti): Remove.
5503 * config/arm/neon.md (neon_vreinterpretv8qi<mode>,
5504 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
5505 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>,
5506 neon_vreinterpretti<mode>, neon_vreinterpretv16qi<mode>,
5507 neon_vreinterpretv8hi<mode>, neon_vreinterpretv4si<mode>,
5508 neon_vreinterpretv4sf<mode>, neon_vreinterpretv2di<mode>): Remove.
5509 * config/arm/arm_neon.h (vreinterpret_p8_p16, vreinterpret_p8_f32,
5510 vreinterpret_p8_p64, vreinterpret_p8_s64, vreinterpret_p8_u64,
5511 vreinterpret_p8_s8, vreinterpret_p8_s16, vreinterpret_p8_s32,
5512 vreinterpret_p8_u8, vreinterpret_p8_u16, vreinterpret_p8_u32,
5513 vreinterpret_p16_p8, vreinterpret_p16_f32, vreinterpret_p16_p64,
5514 vreinterpret_p16_s64, vreinterpret_p16_u64, vreinterpret_p16_s8,
5515 vreinterpret_p16_s16, vreinterpret_p16_s32, vreinterpret_p16_u8,
5516 vreinterpret_p16_u16, vreinterpret_p16_u32, vreinterpret_f32_p8,
5517 vreinterpret_f32_p16, vreinterpret_f32_p64, vreinterpret_f32_s64,
5518 vreinterpret_f32_u64, vreinterpret_f32_s8, vreinterpret_f32_s16,
5519 vreinterpret_f32_s32, vreinterpret_f32_u8, vreinterpret_f32_u16,
5520 vreinterpret_f32_u32, vreinterpret_p64_p8, vreinterpret_p64_p16,
5521 vreinterpret_p64_f32, vreinterpret_p64_s64, vreinterpret_p64_u64,
5522 vreinterpret_p64_s8, vreinterpret_p64_s16, vreinterpret_p64_s32,
5523 vreinterpret_p64_u8, vreinterpret_p64_u16, vreinterpret_p64_u32,
5524 vreinterpret_s64_p8, vreinterpret_s64_p16, vreinterpret_s64_f32,
5525 vreinterpret_s64_p64, vreinterpret_s64_u64, vreinterpret_s64_s8,
5526 vreinterpret_s64_s16, vreinterpret_s64_s32, vreinterpret_s64_u8,
5527 vreinterpret_s64_u16, vreinterpret_s64_u32, vreinterpret_u64_p8,
5528 vreinterpret_u64_p16, vreinterpret_u64_f32, vreinterpret_u64_p64,
5529 vreinterpret_u64_s64, vreinterpret_u64_s8, vreinterpret_u64_s16,
5530 vreinterpret_u64_s32, vreinterpret_u64_u8, vreinterpret_u64_u16,
5531 vreinterpret_u64_u32, vreinterpret_s8_p8, vreinterpret_s8_p16,
5532 vreinterpret_s8_f32, vreinterpret_s8_p64, vreinterpret_s8_s64,
5533 vreinterpret_s8_u64, vreinterpret_s8_s16, vreinterpret_s8_s32,
5534 vreinterpret_s8_u8, vreinterpret_s8_u16, vreinterpret_s8_u32,
5535 vreinterpret_s16_p8, vreinterpret_s16_p16, vreinterpret_s16_f32,
5536 vreinterpret_s16_p64, vreinterpret_s16_s64, vreinterpret_s16_u64,
5537 vreinterpret_s16_s8, vreinterpret_s16_s32, vreinterpret_s16_u8,
5538 vreinterpret_s16_u16, vreinterpret_s16_u32, vreinterpret_s32_p8,
5539 vreinterpret_s32_p16, vreinterpret_s32_f32, vreinterpret_s32_p64,
5540 vreinterpret_s32_s64, vreinterpret_s32_u64, vreinterpret_s32_s8,
5541 vreinterpret_s32_s16, vreinterpret_s32_u8, vreinterpret_s32_u16,
5542 vreinterpret_s32_u32, vreinterpret_u8_p8, vreinterpret_u8_p16,
5543 vreinterpret_u8_f32, vreinterpret_u8_p64, vreinterpret_u8_s64,
5544 vreinterpret_u8_u64, vreinterpret_u8_s8, vreinterpret_u8_s16,
5545 vreinterpret_u8_s32, vreinterpret_u8_u16, vreinterpret_u8_u32,
5546 vreinterpret_u16_p8, vreinterpret_u16_p16, vreinterpret_u16_f32,
5547 vreinterpret_u16_p64, vreinterpret_u16_s64, vreinterpret_u16_u64,
5548 vreinterpret_u16_s8, vreinterpret_u16_s16, vreinterpret_u16_s32,
5549 vreinterpret_u16_u8, vreinterpret_u16_u32, vreinterpret_u32_p8,
5550 vreinterpret_u32_p16, vreinterpret_u32_f32, vreinterpret_u32_p64,
5551 vreinterpret_u32_s64, vreinterpret_u32_u64, vreinterpret_u32_s8,
5552 vreinterpret_u32_s16, vreinterpret_u32_s32, vreinterpret_u32_u8,
5553 vreinterpret_u32_u16, vreinterpretq_p8_p16, vreinterpretq_p8_f32,
5554 vreinterpretq_p8_p64, vreinterpretq_p8_p128, vreinterpretq_p8_s64,
5555 vreinterpretq_p8_u64, vreinterpretq_p8_s8, vreinterpretq_p8_s16,
5556 vreinterpretq_p8_s32, vreinterpretq_p8_u8, vreinterpretq_p8_u16,
5557 vreinterpretq_p8_u32, vreinterpretq_p16_p8, vreinterpretq_p16_f32,
5558 vreinterpretq_p16_p64, vreinterpretq_p16_p128, vreinterpretq_p16_s64,
5559 vreinterpretq_p16_u64, vreinterpretq_p16_s8, vreinterpretq_p16_s16,
5560 vreinterpretq_p16_s32, vreinterpretq_p16_u8, vreinterpretq_p16_u16,
5561 vreinterpretq_p16_u32, vreinterpretq_f32_p8, vreinterpretq_f32_p16,
5562 vreinterpretq_f32_p64, vreinterpretq_f32_p128, vreinterpretq_f32_s64,
5563 vreinterpretq_f32_u64, vreinterpretq_f32_s8, vreinterpretq_f32_s16,
5564 vreinterpretq_f32_s32, vreinterpretq_f32_u8, vreinterpretq_f32_u16,
5565 vreinterpretq_f32_u32, vreinterpretq_p64_p8, vreinterpretq_p64_p16,
5566 vreinterpretq_p64_f32, vreinterpretq_p64_p128, vreinterpretq_p64_s64,
5567 vreinterpretq_p64_u64, vreinterpretq_p64_s8, vreinterpretq_p64_s16,
5568 vreinterpretq_p64_s32, vreinterpretq_p64_u8, vreinterpretq_p64_u16,
5569 vreinterpretq_p64_u32, vreinterpretq_p128_p8, vreinterpretq_p128_p16,
5570 vreinterpretq_p128_f32, vreinterpretq_p128_p64, vreinterpretq_p128_s64,
5571 vreinterpretq_p128_u64, vreinterpretq_p128_s8, vreinterpretq_p128_s16,
5572 vreinterpretq_p128_s32, vreinterpretq_p128_u8, vreinterpretq_p128_u16,
5573 vreinterpretq_p128_u32, vreinterpretq_s64_p8, vreinterpretq_s64_p16,
5574 vreinterpretq_s64_f32, vreinterpretq_s64_p64, vreinterpretq_s64_p128,
5575 vreinterpretq_s64_u64, vreinterpretq_s64_s8, vreinterpretq_s64_s16,
5576 vreinterpretq_s64_s32, vreinterpretq_s64_u8, vreinterpretq_s64_u16,
5577 vreinterpretq_s64_u32, vreinterpretq_u64_p8, vreinterpretq_u64_p16,
5578 vreinterpretq_u64_f32, vreinterpretq_u64_p64, vreinterpretq_u64_p128,
5579 vreinterpretq_u64_s64, vreinterpretq_u64_s8, vreinterpretq_u64_s16,
5580 vreinterpretq_u64_s32, vreinterpretq_u64_u8, vreinterpretq_u64_u16,
5581 vreinterpretq_u64_u32, vreinterpretq_s8_p8, vreinterpretq_s8_p16,
5582 vreinterpretq_s8_f32, vreinterpretq_s8_p64, vreinterpretq_s8_p128,
5583 vreinterpretq_s8_s64, vreinterpretq_s8_u64, vreinterpretq_s8_s16,
5584 vreinterpretq_s8_s32, vreinterpretq_s8_u8, vreinterpretq_s8_u16,
5585 vreinterpretq_s8_u32, vreinterpretq_s16_p8, vreinterpretq_s16_p16,
5586 vreinterpretq_s16_f32, vreinterpretq_s16_p64, vreinterpretq_s16_p128,
5587 vreinterpretq_s16_s64, vreinterpretq_s16_u64, vreinterpretq_s16_s8,
5588 vreinterpretq_s16_s32, vreinterpretq_s16_u8, vreinterpretq_s16_u16,
5589 vreinterpretq_s16_u32, vreinterpretq_s32_p8, vreinterpretq_s32_p16,
5590 vreinterpretq_s32_f16, vreinterpretq_s32_f32, vreinterpretq_s32_p64,
5591 vreinterpretq_s32_p128, vreinterpretq_s32_s64, vreinterpretq_s32_u64,
5592 vreinterpretq_s32_s8, vreinterpretq_s32_s16, vreinterpretq_s32_u8,
5593 vreinterpretq_s32_u16, vreinterpretq_s32_u32, vreinterpretq_u8_p8,
5594 vreinterpretq_u8_p16, vreinterpretq_u8_f32, vreinterpretq_u8_p64,
5595 vreinterpretq_u8_p128, vreinterpretq_u8_s64, vreinterpretq_u8_u64,
5596 vreinterpretq_u8_s8, vreinterpretq_u8_s16, vreinterpretq_u8_s32,
5597 vreinterpretq_u8_u16, vreinterpretq_u8_u32, vreinterpretq_u16_p8,
5598 vreinterpretq_u16_p16, vreinterpretq_u16_f32, vreinterpretq_u16_p64,
5599 vreinterpretq_u16_p128, vreinterpretq_u16_s64, vreinterpretq_u16_u64,
5600 vreinterpretq_u16_s8, vreinterpretq_u16_s16, vreinterpretq_u16_s32,
5601 vreinterpretq_u16_u8, vreinterpretq_u16_u32, vreinterpretq_u32_p8,
5602 vreinterpretq_u32_p16, vreinterpretq_u32_f32, vreinterpretq_u32_p64,
5603 vreinterpretq_u32_p128, vreinterpretq_u32_s64, vreinterpretq_u32_u64,
5604 vreinterpretq_u32_s8, vreinterpretq_u32_s16, vreinterpretq_u32_s32,
5605 vreinterpretq_u32_u8, vreinterpretq_u32_u16): Rewrite using casts.
5606
5607 2016-02-04 Martin Liska <mliska@suse.cz>
5608
5609 PR sanitizer/69276
5610 * asan.c (has_stmt_been_instrumented_p): Instrument gimple calls
5611 that are gimple_store_p.
5612 (maybe_instrument_call): Likewise.
5613
5614 2016-02-04 Bin Cheng <bin.cheng@arm.com>
5615
5616 * config/aarch64/aarch64.c (aarch64_legitimize_address): Force
5617 register scaling out of memory reference and comment why.
5618
5619 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5620
5621 PR target/65932
5622 PR target/67714
5623 * cse.c (cse_insn): Pass NULL to fold_rtx when initially
5624 folding the source of a SET.
5625
5626 2016-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5627
5628 PR target/65932
5629 PR target/67714
5630 * config/arm/arm.c (arm_new_rtx_costs, MULT case): Properly extract
5631 the operands of the SIGN_EXTENDs from a SMUL[TB][TB] rtx.
5632
5633 2016-02-04 Jim Wilson <jim.wilson@linaro.org>
5634
5635 PR target/65932
5636 PR target/67714
5637 * config/arm/arm.h (PROMOTE_MODE): Don't set UNSIGNEDP for QImode and
5638 HImode.
5639
5640 2016-02-04 Christian Bruel <christian.bruel@st.com>
5641
5642 * config/arm/arm-c.c (arm_reset_previous_fndecl): Style fix and typo.
5643 * config/arm/arm.c (arm_set_current_function): Likewise.
5644
5645 2016-02-04 Jakub Jelinek <jakub@redhat.com>
5646 Ilya Enkovich <enkovich.gnu@gmail.com>
5647 H.J. Lu <hongjiu.lu@intel.com>
5648
5649 PR target/69454
5650 * config/i386/i386.c (convert_scalars_to_vector): Remove
5651 stack alignment fixes.
5652 (ix86_option_override_internal): Disable TARGET_STV if stack
5653 might not be aligned enough.
5654 (ix86_minimum_alignment): Assert that TARGET_STV is false.
5655
5656 2016-02-04 Victoria Stepanyan <victoria.stepanyan@amd.com>
5657
5658 * gcc/config/i386/x86-tune.def: Disable default prefetching
5659 for -march=znver1.
5660
5661 2016-02-03 Michael Meissner <meissner@linux.vnet.ibm.com>
5662 Vladimir Makarov <vmakarov@redhat.com>
5663
5664 PR target/69461
5665 * config/rs6000/rs6000.c (rs6000_legitimate_address_p): Fix thinko
5666 in validating fused toc addresses.
5667
5668 2016-02-03 Jakub Jelinek <jakub@redhat.com>
5669
5670 PR c/69627
5671 * diagnostic-show-locus.c (layout::get_state_at_point): Don't read
5672 range->m_caret fields if range->m_show_caret_p is false.
5673
5674 PR target/69644
5675 * config/rs6000/rs6000.c (rs6000_expand_atomic_compare_and_swap):
5676 Force oldval into register if it does not satisfy reg_or_short_operand
5677 predicate. Fix up formatting.
5678
5679 2016-02-03 Vladimir Makarov <vmakarov@redhat.com>
5680 Alexandre Oliva <aoliva@redhat.com>
5681
5682 PR target/69461
5683 * lra-constraints.c (simplify_operand_subreg): Check additionally
5684 address validity after potential reloading.
5685 (process_address_1): Check insns validity. In case of failure do
5686 nothing.
5687
5688 2016-02-03 Kirill Yukhin <kirill.yukhin@intel.com>
5689
5690 PR target/69118
5691 * config/i386/sse.md (define_insn "avx512f_maskcmp<mode>3"):
5692 Fix target.
5693
5694 2016-02-02 Jakub Jelinek <jakub@redhat.com>
5695
5696 * wide-int.cc (canonize_uhwi): New function.
5697 (wi::divmod_internal): Use it.
5698
5699 2016-02-02 James Norris <jnorris@codesourcery.com
5700
5701 * gimplify.c (omp_notice_variable): Add usage check.
5702
5703 2016-02-02 Alexander Monakov <amonakov@ispras.ru>
5704
5705 * config/nvptx/nvptx.c (nvptx_print_operand): Treat LEU, GEU, LTU, GTU
5706 like LE, GE, LT, GT when emitting relational operator.
5707
5708 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
5709
5710 * ira-costs.c (find_costs_and_classes): Add extra argument.
5711 * target.def (ira_change_pseudo_allocno_class): Add parameter.
5712 * targhooks.h (ira_change_pseudo_allocno_class): Likewise.
5713 * targhooks.c (ira_change_pseudo_allocno_class): Likewise.
5714 * config/aarch64/aarch64.c (aarch64_ira_change_pseudo_allocno_class)
5715 Add best_class parameter, and return it if not ALL_REGS.
5716 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class):
5717 Add parameter.
5718 * doc/tm.texi (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS):
5719 Update target hook.
5720
5721 2016-02-02 Wilco Dijkstra <wdijkstr@arm.com>
5722
5723 * config/aarch64/aarch64.c
5724 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): New define.
5725 (aarch64_ira_change_pseudo_allocno_class): New function.
5726
5727 2016-02-02 Uros Bizjak <ubizjak@gmail.com>
5728
5729 PR target/67032
5730 * config/i386/i386.c (geode_cost): Increase cost of MMX and SSE moves.
5731
5732 2016-02-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
5733
5734 * config/avr/avr.c (avr_option_override): Set
5735 PARAM_ALLOW_STORE_DATA_RACES to 1.
5736
5737 2016-02-02 Richard Biener <rguenther@suse.de>
5738
5739 PR tree-optimization/69595
5740 * match.pd: Add range test simplifications to true/false.
5741
5742 2016-02-02 Thomas Schwinge <thomas@codesourcery.com>
5743
5744 * omp-builtins.def (BUILT_IN_GOACC_HOST_DATA): Remove.
5745 * omp-low.c (expand_omp_target): Use BUILT_IN_GOACC_DATA_START
5746 instead.
5747
5748 2016-02-02 Richard Biener <rguenther@suse.de>
5749
5750 PR tree-optimization/69606
5751 * tree-ssa-math-opts.c (bswap_replace): Clear flow sensitive
5752 info on the result before moving a stmt.
5753
5754 2016-02-02 Yuri Rumyantsev <ysrumyan@gmail.com>
5755
5756 PR middle-end/68542
5757 * config/i386/i386.c (ix86_expand_branch): Add support for conditional
5758 branch with vector comparison.
5759 * config/i386/sse.md (VI48_AVX): New mode iterator.
5760 (define_expand "cbranch<mode>4): Add support for conditional branch
5761 with vector comparison.
5762 * tree-vect-loop.c (optimize_mask_stores): New function.
5763 * tree-vect-stmts.c (vectorizable_mask_load_store): Initialize
5764 has_mask_store field of vect_info.
5765 * tree-vectorizer.c (vectorize_loops): Invoke optimaze_mask_stores for
5766 vectorized loops having masked stores after vec_info destroy.
5767 * tree-vectorizer.h (loop_vec_info): Add new has_mask_store field and
5768 correspondent macros.
5769 (optimize_mask_stores): Add prototype.
5770
5771 2016-02-02 Alan Modra <amodra@gmail.com>
5772
5773 PR target/69548
5774 * config/rs6000/predicates.md (quad_int_reg_operand): Don't
5775 allow subregs.
5776
5777 2016-02-02 Alan Modra <amodra@gmail.com>
5778
5779 PR target/68662
5780 * config/rs6000/rs6000.c (need_toc_init): New var, set it
5781 whenever toc_label_name used.
5782 (rs6000_file_start): Don't set up toc section here,
5783 (rs6000_output_function_epilogue): do so here instead,
5784 (rs6000_xcoff_file_start): and here.
5785 * config/rs6000/rs6000.md (load_toc_aix_si): Set need_toc_init.
5786 (load_toc_aix_di): Likewise.
5787
5788 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5789
5790 PR rtl-optimization/69592
5791 * rtlanal.c (nonzero_bits_binary_arith_p): New inline function.
5792 (cached_nonzero_bits): Use it instead of ARITHMETIC_P.
5793 (num_sign_bit_copies_binary_arith_p): New inline function.
5794 (cached_num_sign_bit_copies): Use it instead of ARITHMETIC_P.
5795
5796 2016-02-01 Jeff Law <law@redhat.com>
5797
5798 PR tree-optimization/69580
5799 * params.def (FSM_MAXIMUM_PHI_ARGUMENTS): New param.
5800 * tree-ssa-threadbackward.c
5801 (fsm_find_control_statement_thread_paths): Do not try to walk
5802 through large PHI nodes.
5803
5804 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5805
5806 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return false
5807 when count is incremented above limit, don't analyze further
5808 insns afterwards.
5809
5810 * omp-low.c (oacc_parse_default_dims): Avoid
5811 -Wsign-compare warning, make sure value fits into int
5812 rather than just unsigned int.
5813
5814 2016-02-01 Bin Cheng <bin.cheng@arm.com>
5815
5816 PR tree-optimization/67921
5817 * fold-const.c (split_tree): New parameters. Convert pointer
5818 type variable part to proper type before negating.
5819 (fold_binary_loc): Pass new arguments to split_tree.
5820
5821 2016-02-01 Nathan Sidwell <nathan@codesourcery.com>
5822
5823 * config/nvptx/nvptx.c (PTX_GANG_DEFAULT): New.
5824 (nvptx_goacc_validate_dims): Extend to handle global defaults.
5825 * target.def (OACC_VALIDATE_DIMS): Extend documentation.
5826 * doc/tm.texti: Rebuilt.
5827 * doc/invoke.texi (fopenacc-dim): Document.
5828 * lto-wrapper.c (merge_and_complain): Add OPT_fopenacc_dim_ case.
5829 (append_compiler_options): Likewise.
5830 * omp-low.c (oacc_default_dims, oacc_min_dims): New.
5831 (oacc_parse_default_dims): New.
5832 (oacc_validate_dims): Add USED arg. Select non-unity default when
5833 possible.
5834 (oacc_loop_fixed_partitions): Return mask of used partitions.
5835 (oacc_loop_auto_partitions): Emit dump info.
5836 (oacc_loop_partition): Return mask of used partitions.
5837 (execute_oacc_device_lower): Parse default dimension arg. Adjust
5838 loop partitioning and validation calls.
5839
5840 2016-02-01 Richard Biener <rguenther@suse.de>
5841
5842 PR middle-end/69556
5843 * match.pd: Guard (C1/X)*C2 -> (C1*C2)/X with single_use.
5844
5845 2016-02-01 Richard Biener <rguenther@suse.de>
5846
5847 PR tree-optimization/69574
5848 * tree-chrec.c (hide_evolution_in_other_loops_than_loop): Instead
5849 of asserting return chrec_dont_know.
5850
5851 2016-02-01 Martin Liska <mliska@suse.cz>
5852
5853 * mem-stats-traits.h: Add copyright header.
5854 * mem-stats.h: Likewise.
5855
5856 2016-02-01 Richard Biener <rguenther@suse.de>
5857
5858 PR tree-optimization/69579
5859 * tree-ssa-loop-ivcanon.c (propagate_constants_for_unrolling):
5860 Do not propagate through abnormal PHI results.
5861
5862 2016-02-01 Eric Botcazou <ebotcazou@adacore.com>
5863
5864 * postreload.c (reload_cse_simplify): Remove dead code.
5865
5866 2016-02-01 Jakub Jelinek <jakub@redhat.com>
5867
5868 PR rtl-optimization/69570
5869 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Return true only
5870 if there is more than one set, not if there is a single set.
5871
5872 2016-02-01 Richard Henderson <rth@redhat.com>
5873
5874 PR rtl-opt/69535
5875 * combine.c (make_compound_operation): When looking through a
5876 subreg, make sure to re-extend to the width of the outer mode.
5877
5878 2016-01-30 Jakub Jelinek <jakub@redhat.com>
5879
5880 PR tree-optimization/69546
5881 * wide-int.cc (wi::divmod_internal): For unsigned division
5882 where both operands fit into uhwi, if o1 is 1 and o0 has
5883 msb set, if divident_prec is larger than bits per hwi,
5884 clear another quotient word and return 2 instead of 1.
5885 Similarly for remainder with msb in HWI set, if dividend_prec
5886 is larger than bits per hwi.
5887
5888 2016-01-29 Martin Jambor <mjambor@suse.cz>
5889
5890 * hsa-gen.c (get_memory_order_name): Mask with MEMMODEL_BASE_MASK.
5891 Use short lowercase names.
5892 (get_memory_order): Mask with MEMMODEL_BASE_MASK. Support
5893 MEMMODEL_CONSUME with acquire semantics and MEMMODEL_SEQ_CST with
5894 acq_rel one. Protect warning agains segfaults if
5895 get_memory_order_name returns NULL.
5896 (gen_hsa_ternary_atomic_for_builtin): Support with MEMMODEL_SEQ_CST
5897 with release semantics. Do not warn if get_memory_order already did.
5898 (gen_hsa_insns_for_call): Support with MEMMODEL_SEQ_CST with acquire
5899 semantics. Fix check for relaxed or acquire semantics. Do not warn
5900 if get_memory_order already did.
5901
5902 2016-01-29 Sebastian Pop <s.pop@samsung.com>
5903
5904 * doc/install.texi: Document that isl-0.16 is supported.
5905
5906 2016-01-29 Vladimir Makarov <vmakarov@redhat.com>
5907
5908 PR target/69299
5909 * config/i386/constraints.md (Bm): Describe as special memory
5910 constraint.
5911 * doc/md.texi (DEFINE_SPECIAL_MEMORY_CONSTRAINT): Describe it.
5912 * genoutput.c (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5913 * genpreds.c (struct constraint_data): Add is_special_memory.
5914 (have_special_memory_constraints, special_memory_start): New
5915 static vars.
5916 (special_memory_end): Ditto.
5917 (add_constraint): Add new arg is_special_memory. Add code to
5918 process its true value. Update have_special_memory_constraints.
5919 (process_define_constraint): Pass the new arg.
5920 (process_define_register_constraint): Ditto.
5921 (choose_enum_order): Process special memory.
5922 (write_tm_preds_h): Generate enum const CT_SPECIAL_MEMORY and
5923 function insn_extra_special_memory_constraint.
5924 (main): Process DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5925 * gensupport.c (process_rtx): Process
5926 DEFINE_SPECIAL_MEMORY_CONSTRAINT.
5927 * ira-costs.c (record_reg_classes): Process CT_SPECIAL_MEMORY.
5928 * ira-lives.c (single_reg_class): Use
5929 insn_extra_special_memory_constraint.
5930 * ira.c (ira_setup_alts): Process CT_SPECIAL_MEMORY.
5931 * lra-constraints.c (process_alt_operands): Ditto.
5932 (curr_insn_transform): Use insn_extra_special_memory_constraint.
5933 * recog.c (asm_operand_ok, preprocess_constraints): Process
5934 CT_SPECIAL_MEMORY.
5935 * reload.c (find_reloads): Ditto.
5936 * rtl.def (DEFINE_SPECIFAL_MEMORY_CONSTRAINT): New.
5937 * stmt.c (parse_input_constraint): Use
5938 insn_extra_special_memory_constraint.
5939
5940 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
5941
5942 PR target/69530
5943 * lra-splill.c (lra_final_code_change): Revert r229087 by
5944 removing all sub-registers.
5945
5946 2016-01-29 Steve Ellcey <sellcey@imgtec.com>
5947
5948 PR target/65604
5949 * config/mips/mips.c (mips_output_division): Check flag_delayed_branch.
5950
5951 2016-01-29 Jakub Jelinek <jakub@redhat.com>
5952
5953 PR target/69551
5954 * config/i386/i386.c (ix86_expand_vector_set) <case V4SImode>: For
5955 SSE1, copy target into the temporary reg first before recursing
5956 on it.
5957
5958 2016-01-29 H.J. Lu <hongjiu.lu@intel.com>
5959
5960 * config/i386/sse.md (sse2_cvtps2pd<mask_name>): Replace vBm
5961 with vm.
5962
5963 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5964
5965 * ginclude/stdarg.h: Test __cplusplus instead of
5966 __GXX_EXPERIMENTAL_CXX0X__.
5967
5968 2016-01-29 Richard Biener <rguenther@suse.de>
5969
5970 PR tree-optimization/69547
5971 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1):
5972 Do not mark clobbers necessary.
5973 (mark_all_reaching_defs_necessary_1): Likewise.
5974
5975 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
5976
5977 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Format
5978 declaration name with %qs and print it in both error messages.
5979 Also fix indentation.
5980
5981 2016-01-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
5982
5983 PR other/69006
5984 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Remove
5985 trailing blank line from error message.
5986
5987 2016-01-29 Jonathan Wakely <jwakely@redhat.com>
5988
5989 PR c++/69462
5990 * ginclude/float.h: Also provide FLT_EVAL_METHOD and DECIMAL_DIG
5991 for C++-11.
5992
5993 2016-01-29 Richard Biener <rguenther@suse.de>
5994
5995 PR middle-end/69537
5996 * match.pd: Allow all integral types when simplifying a
5997 widening or sign-changing conversion.
5998
5999 2016-01-28 Sebastian Pop <s.pop@samsung.com>
6000
6001 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Revert assert
6002 back to setting codegen_error to fail codegen.
6003
6004 2016-01-28 Uros Bizjak <ubizjak@gmail.com>
6005
6006 PR target/69459
6007 * config/i386/constraints.md (C): Only accept constant zero operand.
6008 (BC): New constraint.
6009 * config/i386/sse.md (*mov<mode>_internal): Use BC constraint
6010 instead of C constraint.
6011 * doc/md.texi (Machine Constraints): Update description
6012 of C constraint.
6013
6014 2016-01-28 Steve Ellcey <sellcey@imgtec.com>
6015
6016 PR target/68400
6017 * config/mips/mips.c (and_operands_ok): Add MIPS16 check.
6018
6019 2016-01-28 Jakub Jelinek <jakub@redhat.com>
6020
6021 PR middle-end/69542
6022 * lra-remat.c (calculate_local_reg_remat_bb_data): Only consider
6023 non-debug insns.
6024
6025 2016-01-28 Pat Haugen <pthaugen@us.ibm.com>
6026
6027 * config/rs6000/rs6000.c (output_cbranch): Don't statically predict
6028 branches if using guessed profile.
6029
6030 2016-01-28 H.J. Lu <hongjiu.lu@intel.com>
6031
6032 * graphite-optimize-isl.c (optimize_isl): Fix dump.
6033
6034 2016-01-28 Richard Henderson <rth@redhat.com>
6035
6036 PR target/69305
6037 * config/aarch64/aarch64-modes.def (CC_Cmode): New
6038 * config/aarch64/aarch64-protos.h: Update.
6039 * config/aarch64/aarch64.c (aarch64_zero_extend_const_eq): New.
6040 (aarch64_select_cc_mode): Add check for use of CC_Cmode.
6041 (aarch64_get_condition_code_1): Handle CC_Cmode.
6042 * config/aarch64/aarch64.md (addti3): Use adddi3_compareC.
6043 (*add<mode>3_compareC_cconly_imm): New.
6044 (*add<mode>3_compareC_cconly): New.
6045 (*add<mode>3_compareC_imm): New.
6046 (add<mode>3_compareC): New.
6047 (add<mode>3_carryin, *addsi3_carryin_uxtw): Sort compare operand
6048 to be first. Use aarch64_carry_operation.
6049 (*add<mode>3_carryin_alt1, *addsi3_carryin_alt1_uxtw): Remove.
6050 (*add<mode>3_carryin_alt2, *addsi3_carryin_alt2_uxtw): Remove.
6051 (*add<mode>3_carryin_alt3, *addsi3_carryin_alt3_uxtw): Remove.
6052 (subti3): Use subdi3_compare1.
6053 (*sub<mode>3_compare0): Rename from sub<mode>3_compare0.
6054 (sub<mode>3_compare1): New.
6055 (*sub<mode>3_carryin0, *subsi3_carryin_uxtw): New.
6056 (*sub<mode>3_carryin): Use aarch64_borrow_operation.
6057 (*subsi3_carryin_uxtw): Likewise.
6058 (*ngc<mode>, *ngcsi_uxtw): Likewise.
6059 (*sub<mode>3_carryin_alt, *subsi3_carryin_alt_uxtw): New.
6060 * config/aarch64/iterators.md (DWI): New.
6061 * config/aarch64/predicates.md (aarch64_carry_operation): New.
6062 (aarch64_borrow_operation): New.
6063
6064 2016-01-28 Abderrazek Zaafrani <a.zaafrani@samsung.com>
6065
6066 * graphite-optimize-isl.c (optimize_isl): Print a different debug
6067 message when isl does not return a valid schedule.
6068
6069 2016-01-28 Sebastian Pop <s.pop@samsung.com>
6070
6071 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
6072 Remove comments from class declarations: they are already in the code
6073 close by the defs.
6074
6075 2016-01-28 Sebastian Pop <s.pop@samsung.com>
6076
6077 * graphite-isl-ast-to-gimple.c (binary_op_to_tree): Call
6078 codegen_error_p.
6079 (ternary_op_to_tree): Same.
6080 (unary_op_to_tree): Same.
6081 (nary_op_to_tree): Same.
6082 (gcc_expression_from_isl_expr_op): Same.
6083 (gcc_expression_from_isl_expression): Same.
6084 (graphite_create_new_loop): Same.
6085 (graphite_create_new_loop_guard): Same.
6086 (build_iv_mapping): Same.
6087 (graphite_create_new_guard): Same.
6088 (translate_isl_ast_to_gimple::copy_loop_phi_nodes): Same.
6089 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): Same.
6090
6091 2016-01-28 Sebastian Pop <s.pop@samsung.com>
6092
6093 * graphite-isl-ast-to-gimple.c (get_rename_from_scev): Assert
6094 instead of setting codegen_error to fail codegen.
6095
6096 2016-01-28 Jason Merrill <jason@redhat.com>
6097
6098 * tree.h (BINFO_FLAG_0): Rename from BINFO_MARKED.
6099
6100 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
6101
6102 * config/aarch64/aarch64.c (aarch64_if_then_else_costs):
6103 Remove CONST_INT_P check in CCMP cost calculation.
6104
6105 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
6106
6107 * config/aarch64/aarch64.c (generic_vector_cost):
6108 Set vec_permute_cost.
6109 (cortexa57_vector_cost): Likewise.
6110 (exynosm1_vector_cost): Likewise.
6111 (xgene1_vector_cost): Likewise.
6112 (aarch64_builtin_vectorization_cost): Use vec_permute_cost.
6113 * config/aarch64/aarch64-protos.h (cpu_vector_cost):
6114 Add vec_permute_cost entry.
6115
6116 2016-01-28 Wilco Dijkstra <wdijkstr@arm.com>
6117
6118 * config/aarch64/aarch64.md (ccmp<mode>): Disassemble
6119 immediate as %1.
6120 (add<mode>3_compare0): Likewise.
6121 (addsi3_compare0_uxtw): Likewise.
6122 (add<mode>3nr_compare0): Likewise.
6123 (compare_neg<mode>): Likewise.
6124 (<optab><mode>3): Likewise.
6125
6126 2016-01-28 Ilya Enkovich <enkovich.gnu@gmail.com>
6127
6128 * tree-vect-stmts.c (vectorizable_comparison): Add
6129 NULL check for vectype.
6130
6131 2016-01-28 Richard Biener <rguenther@suse.de>
6132
6133 PR tree-optimization/69466
6134 * tree-vect-loop-manip.c (slpeel_duplicate_current_defs_from_edges):
6135 Account for PHIs we couldn't duplicate.
6136
6137 2016-01-28 Martin Liska <mliska@suse.cz>
6138
6139 PR pch/68758
6140 * ggc-common.c (gt_pch_save): Use ENABLE_VALGRIND_ANNOTATIONS macro
6141 instead of ENABLE_VALGRIND_CHECKING.
6142
6143 2016-01-27 Richard Henderson <rth@redhat.com>
6144
6145 PR rtl-opt/69447
6146 * lra-remat.c (subreg_regs): New.
6147 (dump_candidates_and_remat_bb_data): Dump it.
6148 (operand_to_remat): Reject if operand in subreg_regs.
6149 (set_bb_regs): Collect subreg_regs.
6150 (lra_remat): Init and free subreg_regs. Compute
6151 calculate_local_reg_remat_bb_data before create_cands.
6152
6153 2016-01-27 H.J. Lu <hongjiu.lu@intel.com>
6154
6155 PR target/68986
6156 * config/i386/i386.c (ix86_update_stack_boundary): Don't
6157 change stack_alignment_needed for __tls_get_addr call.
6158
6159 2016-01-27 Segher Boessenkool <segher@kernel.crashing.org>
6160
6161 * config/rs6000/rs6000.c (print_operand): Rollback 's' removal.
6162
6163 2016-01-27 Jeff Law <law@redhat.com>
6164
6165 PR tree-optimization/68398
6166 PR tree-optimization/69196
6167 * params.def (PARAM_FSM_SCALE_PATH_STMTS): New parameter.
6168 (PARAM_FSM_SCALE_PATH_BLOCKS): Likewise.
6169 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6170 Only count PHIs in the last block in the path. The others will
6171 const/copy propagate away. Add heuristic to allow more irreducible
6172 subloops to be created when it is likely profitable to do so.
6173
6174 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6175 Fix typo in comment. Use gsi_after_labels and remove the GIMPLE_LABEL
6176 check from within the loop. Use gsi_next_nondebug rather than gsi_next.
6177
6178 2016-01-27 Jakub Jelinek <jakub@redhat.com>
6179
6180 PR lto/69254
6181 * sanitizer.def: Add BEGIN_SANITIZER_BUILTINS and
6182 END_SANITIZER_BUILTINS markers using DEF_BUILTIN_STUB.
6183 * asan.c (DEF_BUILTIN_STUB): Temporarily define.
6184 * tree-streamer-in.c: Include asan.h.
6185 (streamer_get_builtin_tree): For builtins in sanitizer
6186 range call initialize_sanitizer_builtins and retry.
6187
6188 2016-01-27 Ian Lance Taylor <iant@google.com>
6189
6190 * common.opt (fkeep-gc-roots-live): New undocumented option.
6191 * tree-ssa-loop-ivopts.c (add_candidate_1): If
6192 -fkeep-gc-roots-live, skip pointers.
6193 (add_iv_candidate_for_biv): Handle add_candidate_1 returning
6194 NULL.
6195
6196 2016-01-27 Uros Bizjak <ubizjak@gmail.com>
6197
6198 PR target/69512
6199 * config/i386/i386.md (*zext<mode>_doubleword_and): New pattern.
6200 (*zext<mode>_doubleword): Disable for TARGET_ZERO_EXTEND_WITH_AND.
6201
6202 2016-01-27 Thomas Klausner <wiz@NetBSD.org>
6203
6204 PR target/68380
6205 * configure.ac: NetBSD provides SSP in its C library.
6206 * configure: Updated.
6207
6208 2016-01-27 Richard Biener <rguenther@suse.de>
6209
6210 PR tree-optimization/69166
6211 * tree-vect-loop.c (vect_is_simple_reduction): Always check
6212 reduction code for commutativity / associativity.
6213
6214 2016-01-27 Martin Jambor <mjambor@suse.cz>
6215
6216 PR tree-optimization/69355
6217 * tree-sra.c (analyze_access_subtree): Correct hole detection when
6218 total_scalarization fails.
6219
6220 2016-01-27 David Edelsohn <dje.gcc@gmail.com>
6221
6222 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add
6223 power9.
6224
6225 2016-01-27 Christian Bruel <christian.bruel@st.com>
6226
6227 PR target/69245
6228 * config/arm/arm-c.c (arm_pragma_target_parse): Add comments.
6229 Move arm_reset_previous_fndecl and set_target_option_current_node in
6230 the conditional part. Call save_restore_target_globals.
6231 * config/arm/arm.c (arm_set_current_function):
6232 Refactor to better support #pragma target and attribute mix.
6233 Call save_restore_target_globals.
6234 * config/arm/arm-protos.h (save_restore_target_globals): New function.
6235
6236 2016-01-27 Martin Liska <mliska@suse.cz>
6237
6238 * hsa.c (hsa_summary_t::link_functions): Create IPA_REF_ADDR
6239 reference for an HSA kernel and its host function.
6240
6241 2016-01-27 Jakub Jelinek <jakub@redhat.com>
6242
6243 PR tree-optimization/69399
6244 * wide-int.h (wi::lrshift): For larger precisions, only
6245 use fast path if shift is known to be < HOST_BITS_PER_WIDE_INT.
6246
6247 2016-01-27 Claudiu Zissulescu <claziss@synopsys.com>
6248
6249 * config/arc/predicates.md (proper_comparison_operator): Reject
6250 constant-constant comparison.
6251
6252 2016-01-26 Tom de Vries <tom@codesourcery.com>
6253
6254 PR tree-optimization/69110
6255 * tree-data-ref.c (initialize_data_dependence_relation): Handle
6256 DR_NUM_DIMENSIONS == 0.
6257
6258 2016-01-26 Abderrazek Zaafrani <a.zaafrani@samsung.com>
6259 Sebastian Pop <s.pop@samsung.com>
6260
6261 * graphite-isl-ast-to-gimple.c (ternary_op_to_tree): Handle
6262 isl_ast_op_cond and isl_ast_op_select.
6263 (gcc_expression_from_isl_expr_op): Same.
6264
6265 2016-01-26 Jason Merrill <jason@redhat.com>
6266
6267 PR c++/68782
6268 * tree.c (recompute_constructor_flags): Split out from
6269 build_constructor.
6270 (verify_constructor_flags): New.
6271 * tree.h: Declare them.
6272
6273 2016-01-26 Iain Buclaw <ibuclaw@gdcproject.org>
6274
6275 PR rtl-optimization/69217
6276 * var-tracking.c (tracked_record_parameter_p): Don't segfault if there
6277 are no TYPE_FIELDS set for the record type.
6278
6279 2016-01-26 Jakub Jelinek <jakub@redhat.com>
6280
6281 PR target/68662
6282 * config/rs6000/rs6000.c (rs6000_option_override_internal): Initialize
6283 toc_label_name unconditionally.
6284 (rs6000_emit_load_toc_table): Call ggc_strdup on toc_label_name for
6285 SYMBOL_REF string. Use toc_label_name instead of constructing
6286 LCTOC1.
6287 (rs6000_elf_declare_function_name): Use toc_label_name instead of
6288 constructing LCTOC1.
6289
6290 2016-01-26 Martin Sebor <msebor@redhat.com>
6291
6292 PR other/69477
6293 * doc/extend.texi (Common Type Attributes): Move text that talks about
6294 attribute packed from attribute aligned to the section discussing
6295 the former attribute for clarity.
6296
6297 2016-01-26 Richard Henderson <rth@redhat.com>
6298
6299 PR middle-end/60908
6300 * trans-mem.c (tm_region_init): Mark entry block as visited.
6301
6302 2016-01-26 David Malcolm <dmalcolm@redhat.com>
6303
6304 PR other/69006
6305 * diagnostic-show-locus.c (layout::print_source_line): Replace
6306 call to pp_newline with call to layout::print_newline.
6307 (layout::print_annotation_line): Likewise.
6308 (layout::move_to_column): Likewise.
6309 (layout::print_any_fixits): After printing any fixits, print a
6310 trailing newline, if necessary.
6311 (layout::print_newline): New method, resetting any colorization
6312 before a newline.
6313 (diagnostic_show_locus): Move the pp_newline to before the
6314 early bailout. Remove dummy block enclosing the layout instance.
6315 * diagnostic.c (default_diagnostic_finalizer): Replace invocation
6316 of pp_newline_and_flush with pp_flush.
6317 (diagnostic_append_note): Delete use of pp_newline.
6318 (diagnostic_append_note_at_rich_loc): Delete.
6319 * diagnostic.h (diagnostic_append_note_at_rich_loc): Delete.
6320 * pretty-print.h (output_buffer_append_r): Reset buff->line_length
6321 when newline characters are added to the buffer.
6322
6323 2016-01-26 Michael Matz <matz@suse.de>
6324
6325 * configure.ac (ac_cv_std_swap_in_utility): New test.
6326 * system.h (<algorithm>): Check HAVE_SWAP_IN_UTILITY as well.
6327 * configure: Regenerate.
6328 * config.in: Regenerate.
6329
6330 2016-01-26 Claudiu Zissulescu <claziss@synopsys.com>
6331
6332 * config/arc/arc.md (cstoresi4): Force operand into register.
6333 (arcset<code>): Fix predicate.
6334 (arcsetltu): Likewise.
6335 (arcsetgeu): Likewise.
6336 (arcsethi): Likewise.
6337 (arcsetls): Likewise.
6338
6339 2016-01-26 Jakub Jelinek <jakub@redhat.com>
6340
6341 PR tree-optimization/69483
6342 * gimple-fold.c (canonicalize_constructor_val): Return NULL
6343 if base has error_mark_node type.
6344
6345 2016-01-26 Christophe Lyon <christophe.lyon@linaro.org>
6346
6347 PR target/68620
6348 * config/arm/arm.c (neon_valid_immediate): Handle FP16 vectors.
6349 * config/arm/arm_neon.h (__ARM_NUM_LANES, __arm_lane, arm_lanq):
6350 New helper macros.
6351 (vget_lane_f16): Handle big-endian.
6352 (vgetq_lane_f16): Likewise.
6353 (vset_lane_f16): Likewise.
6354 (vsetq_lane_f16): Likewise.
6355 * config/arm/iterators.md (VQXMOV): Add V8HF.
6356 (VDQ): Add V4HF and V8HF.
6357 (V_reg): Handle V4HF and V8HF.
6358 (Is_float_mode): Likewise.
6359 * config/arm/neon.md (movv4hf, movv8hf, neon_vdup_nv4hf,
6360 neon_vdup_nv8hf): New patterns.
6361 (vec_set<mode>_internal, vec_extract<mode>, neon_vld1_dup<mode>):
6362 Use VD_LANE iterator.
6363 (neon_vld1_dup<mode>): Use VQ2 iterator.
6364
6365 2016-01-26 Nathan Sidwell <nathan@acm.org>
6366
6367 * omp-low.h (oacc_fn_attrib_kernels_p): Declare.
6368 (set_oacc_fn_attrib): Add IS_KERNEL arg.
6369 * omp-low.c (set_oacc_fn_attrib): Add IS_KERNEL arg.
6370 (oacc_fn_attrib_kernels_p, oacc_fn_attrib_level): New.
6371 (expand_omp_target): Pass is_kernel to set_oacc_fn_attrib.
6372 (oacc_validate_dims): Add LEVEL arg, don't return level.
6373 (new_oacc_loop_routine): Use oacc_fn_attrib_level, not
6374 oacc_validate_dims.
6375 (execute_oacc_device_lower): Adjust, add more dump output.
6376 * tree-ssa-loop.c (gate_oacc_kernels): Use
6377 oacc_fn_attrib_kernels_p.
6378 * tree-parloops.c (create_parallel_loop): Adjust
6379 set_oacc_fn_attrib call.
6380
6381 2016-01-26 Jakub Jelinek <jakub@redhat.com>
6382
6383 PR lto/69254
6384 * lto-wrapper.c (merge_and_complain): Handle -fcilkplus.
6385 (append_compiler_options): Handle -fcilkplus.
6386 (append_linker_options): Ignore -fno-{openmp,openacc,cilkplus}.
6387
6388 2016-01-26 Nick Clifton <nickc@redhat.com>
6389
6390 PR target/66655
6391 * config/i386/winnt.c (i386_pe_binds_local_p): If a function has
6392 been marked as DECL_ONE_ONLY but we do not the means to make it
6393 so, then do not allow it to bind locally.
6394
6395 2016-01-26 Jakub Jelinek <jakub@redhat.com>
6396
6397 PR lto/69254
6398 * opts.h (parse_sanitizer_options): New prototype.
6399 * opts.c (sanitizer_opts): New array.
6400 (parse_sanitizer_options): New function.
6401 (common_handle_option): Use parse_sanitizer_options.
6402
6403 2016-01-26 H.J. Lu <hongjiu.lu@intel.com>
6404
6405 PR target/68986
6406 * config/i386/i386.c (ix86_compute_frame_layout): Move stack
6407 alignment adjustment to ...
6408 (ix86_update_stack_boundary): Here. Don't over-align stack for
6409 __tls_get_addr.
6410 (ix86_finalize_stack_realign_flags): Use stack_alignment_needed
6411 if __tls_get_addr is called.
6412
6413 2016-01-26 Christian Bruel <christian.bruel@st.com>
6414
6415 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Remove.
6416
6417 2016-01-26 Eric Botcazou <ebotcazou@adacore.com>
6418
6419 * config/ia64/ia64.c (ia64_expand_vecint_compare): Use gen_int_mode.
6420
6421 2016-01-26 Richard Biener <rguenther@suse.de>
6422
6423 PR middle-end/69467
6424 * match.pd: Guard X * CST CMP 0 pattern with single_use.
6425
6426 2016-01-26 Richard Biener <rguenther@suse.de>
6427
6428 PR tree-optimization/69452
6429 * tree-ssa-loop-im.c (move_computations_dom_walker): Remove.
6430 (move_computations_dom_walker::before_dom_children): Rename
6431 to ...
6432 (move_computations_worker): This.
6433 (move_computations): Perform an RPO rather than a DOM walk.
6434
6435 2016-01-26 Jakub Jelinek <jakub@redhat.com>
6436
6437 PR target/69442
6438 * combine.c (combine_instructions): For REG_EQUAL note with
6439 SET_DEST being ZERO_EXTRACT, also temporarily set SET_DEST
6440 to the underlying register.
6441 * doc/rtl.texi (REG_EQUAL): Document the behavior of
6442 REG_EQUAL/REG_EQUIV notes if SET_DEST is ZERO_EXTRACT.
6443
6444 2016-01-26 Roger Ferrer Ibáñez <rofirrim@gmail.com>
6445
6446 PR target/67896
6447 * config/aarch64/aarch64-builtins.c
6448 (aarch64_init_simd_builtin_types): Do not set structural
6449 equality to __Poly{8,16,64,128}_t types.
6450
6451 2016-01-26 Richard Sandiford <richard.sandiford@arm.com>
6452
6453 PR tree-optimization/69400
6454 * wide-int.cc (wi_pack): Take the precision as argument and
6455 perform canonicalization here rather than in the callers.
6456 Use the main loop to handle all full-width HWIs. Add a
6457 zero HWI if in_len isn't a full result.
6458 (wi::divmod_internal): Update accordingly.
6459 (wi::mul_internal): Likewise. Simplify.
6460
6461 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
6462 Sebastian Pop <s.pop@samsung.com>
6463
6464 * graphite-poly.c (apply_poly_transforms): Simplify.
6465 (print_isl_set): Use more readable format: ISL_YAML_STYLE_BLOCK.
6466 (print_isl_map): Same.
6467 (print_isl_union_map): Same.
6468 (print_isl_schedule): New.
6469 (debug_isl_schedule): New.
6470 * graphite-dependences.c (scop_get_reads): Do not call
6471 isl_union_map_add_map that is undocumented isl functionality.
6472 (scop_get_must_writes): Same.
6473 (scop_get_may_writes): Same.
6474 (scop_get_original_schedule): Remove.
6475 (scop_get_dependences): Do not call isl_union_map_compute_flow that
6476 is deprecated in isl 0.15. Instead, use isl_union_access_* interface.
6477 (compute_deps): Remove.
6478 * graphite-isl-ast-to-gimple.c (print_schedule_ast): New.
6479 (debug_schedule_ast): New.
6480 (translate_isl_ast_to_gimple::scop_to_isl_ast): Call
6481 set_separate_option.
6482 (graphite_regenerate_ast_isl): Add dump.
6483 (translate_isl_ast_to_gimple::scop_to_isl_ast): Generate code
6484 from scop->transformed_schedule.
6485 (graphite_regenerate_ast_isl): Add more dump.
6486 * graphite-optimize-isl.c (optimize_isl): Set
6487 scop->transformed_schedule. Check whether schedules are equal.
6488 (apply_poly_transforms): Move here.
6489 * graphite-poly.c (apply_poly_transforms): ... from here.
6490 (free_poly_bb): Static.
6491 (free_scop): Static.
6492 (pbb_number_of_iterations_at_time): Remove.
6493 (print_isl_ast): New.
6494 (debug_isl_ast): New.
6495 (debug_scop_pbb): New.
6496 * graphite-scop-detection.c (print_edge): Move.
6497 (print_sese): Move.
6498 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
6499 (build_scop_scattering): Remove.
6500 (create_pw_aff_from_tree): Assert instead of bailing out.
6501 (add_condition_to_pbb): Remove unused code, do not fail.
6502 (add_conditions_to_domain): Same.
6503 (add_conditions_to_constraints): Remove.
6504 (build_scop_context): New.
6505 (add_iter_domain_dimension): New.
6506 (build_iteration_domains): Initialize pbb->iterators.
6507 Call add_conditions_to_domain.
6508 (nested_in): New.
6509 (loop_at): New.
6510 (index_outermost_in_loop): New.
6511 (index_pbb_in_loop): New.
6512 (outermost_pbb_in): New.
6513 (add_in_sequence): New.
6514 (add_outer_projection): New.
6515 (outer_projection_mupa): New.
6516 (add_loop_schedule): New.
6517 (build_schedule_pbb): New.
6518 (build_schedule_loop): New.
6519 (embed_in_surrounding_loops): New.
6520 (build_schedule_loop_nest): New.
6521 (build_original_schedule): New.
6522 (build_poly_scop): Call build_original_schedule.
6523 * graphite.h: Declare print_isl_schedule and debug_isl_schedule.
6524 (free_poly_dr): Remove.
6525 (struct poly_bb): Add iterators. Remove schedule, transformed, saved.
6526 (free_poly_bb): Remove.
6527 (debug_loop_vec): Remove.
6528 (print_isl_ast): Declare.
6529 (debug_isl_ast): Declare.
6530 (scop_do_interchange): Remove.
6531 (scop_do_strip_mine): Remove.
6532 (scop_do_block): Remove.
6533 (flatten_all_loops): Remove.
6534 (optimize_isl): Remove.
6535 (pbb_number_of_iterations_at_time): Remove.
6536 (debug_scop_pbb): Declare.
6537 (print_schedule_ast): Declare.
6538 (debug_schedule_ast): Declare.
6539 (struct scop): Remove schedule. Add original_schedule,
6540 transformed_schedule.
6541 (free_gimple_poly_bb): Remove.
6542 (print_generated_program): Remove.
6543 (debug_generated_program): Remove.
6544 (unify_scattering_dimensions): Remove.
6545 * sese.c (print_edge): ... here.
6546 (print_sese): ... here.
6547 (debug_edge): ... here.
6548 (debug_sese): ... here.
6549 * sese.h (print_edge): Declare.
6550 (print_sese): Declare.
6551 (dump_edge): Declare.
6552 (dump_sese): Declare.
6553
6554 2016-01-25 Aditya Kumar <aditya.k7@samsung.com>
6555 Sebastian Pop <s.pop@samsung.com>
6556
6557 * Makefile.in: Set ISLVER in site.exp.
6558
6559 2016-01-25 Jakub Jelinek <jakub@redhat.com>
6560
6561 * omp-low.c (lower_omp_target) <case USE_DEVICE_PTR>: Set
6562 DECL_VALUE_EXPR of new_var even for the non-array case. Look
6563 through DECL_VALUE_EXPR for expansion.
6564
6565 2016-01-25 Bernd Edlinger <bernd.edlinger@hotmail.de>
6566
6567 * config/mips/mips.c (mips_compute_frame_info): Skip re-computing
6568 the frame info after reload completed.
6569
6570 2016-01-25 Jeff Law <law@redhat.com>
6571
6572 PR tree-optimization/69196
6573 PR tree-optimization/68398
6574 * tree-ssa-threadupdate.h (enum bb_dom_status): Moved here from
6575 tree-ssa-threadupdate.c.
6576 (determine_bb_domination_status): Prototype
6577 * tree-ssa-threadupdate.c (enum bb_dom_status): Remove
6578 (determine_bb_domination_status): No longer static.
6579 (valid_jump_thread_path): Remove code to detect characteristics
6580 of the jump thread path not associated with correctness.
6581 * tree-ssa-threadbackward.c (fsm_find_control_statment_thread_paths):
6582 Correct test for thread path length. Count PHIs for real operands as
6583 statements that need to be copied. Do not count ASSERT_EXPRs.
6584 Look at all the blocks in the thread path. Compute and selectively
6585 filter thread paths based on threading through the latch, threading
6586 a multiway branch or crossing a multiway branch.
6587
6588 2016-01-25 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6589
6590 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): Add
6591 decl with __attribute__ ((unused)) annotation.
6592
6593 2016-01-25 Ilya Enkovich <enkovich.gnu@gmail.com>
6594
6595 PR target/69421
6596 * tree-vect-stmts.c (vectorizable_condition): Check vectype
6597 of operands is compatible with a statement vectype.
6598
6599 2016-01-25 Eric Botcazou <ebotcazou@adacore.com>
6600
6601 * doc/extend.texi (scalar_storage_order type attribute): Fix typo and
6602 improve wording for mixed storage order support.
6603
6604 2016-01-25 Bilyan Borisov <bilyan.borisov@arm.com>
6605
6606 * config/aarch64/arm_neon.h (vcvt_s64_f64): New intrinsic.
6607 (vcvt_u64_f64): Likewise.
6608 (vcvta_s64_f64): Likewise.
6609 (vcvta_u64_f64): Likewise.
6610 (vcvtm_s64_f64): Likewise.
6611 (vcvtm_u64_f64): Likewise.
6612 (vcvtn_s64_f64): Likewise.
6613 (vcvtn_u64_f64): Likewise.
6614 (vcvtp_s64_f64): Likewise.
6615 (vcvtp_u64_f64): Likewise.
6616
6617 2016-01-25 Claudiu Zissulescu <claziss@synopsys.com>
6618
6619 * config/arc/arc.c (TARGET_DWARF_REGISTER_SPAN): Define.
6620 (arc_init): Check validity mll64 option.
6621 (arc_save_restore): Use double load/store instruction.
6622 (arc_expand_movmem): Likewise.
6623 (arc_split_move): Don't split if we have double load/store
6624 instructions. Returns a boolean.
6625 (arc_process_double_reg_moves): Change function to return boolean
6626 instead of a sequence of instructions.
6627 (arc_dwarf_register_span): New function.
6628 * config/arc/arc-protos.h (arc_split_move): Change prototype.
6629 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __ARC_LL64__.
6630 * config/arc/arc.md (*movdi_insn): Emit ldd/std instructions.
6631 (*movdf_insn): Likewise.
6632 * config/arc/arc.opt (mll64): New option.
6633 * config/arc/predicates.md (even_register_operand): New predicate.
6634 * doc/invoke.texi (ARC Options): Add mll64 documentation.
6635
6636 2016-01-25 Richard Biener <rguenther@suse.de>
6637
6638 PR lto/69393
6639 * dwarf2out.c (is_naming_typedef_decl): Not when DECL_NAMELESS.
6640 * tree-streamer-out.c (pack_ts_base_value_fields): Stream
6641 DECL_NAMELESS.
6642 * tree-streamer-in.c (unpack_ts_base_value_fields): Likewise.
6643
6644 2016-01-25 Richard Biener <rguenther@suse.de>
6645
6646 PR tree-optimization/69376
6647 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add range_info_anti_range_p
6648 flag.
6649 (VN_INFO_ANTI_RANGE_P): New inline.
6650 (VN_INFO_RANGE_TYPE): Likewise.
6651 * tree-ssa-sccvn.c (set_ssa_val_to): Also record and copy
6652 SSA_NAME_ANTI_RANGE_P.
6653 (free_scc_vn): Restore SSA_NAME_ANTI_RANGE_P.
6654 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6655 Properly query VN_INFO_RANGE_TYPE.
6656
6657 2016-01-25 Nick Clifton <nickc@redhat.com>
6658
6659 PR target/66655
6660 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Remove definition.
6661
6662 2016-01-23 Tom de Vries <tom@codesourcery.com>
6663
6664 PR tree-optimization/69426
6665 * tree-parloops.c (eliminate_local_variables_stmt): Handle vdef of
6666 removed clobber.
6667
6668 2016-01-23 Jakub Jelinek <jakub@redhat.com>
6669
6670 * tree-ssanames.c (release_free_names_and_compact_live_names): Replace
6671 "the the" with "the" in the comments.
6672 * ipa-devirt.c (build_type_inheritance_graph,
6673 update_type_inheritance_graph): Likewise.
6674 * tree.c (build_function_type_list_1): Likewise.
6675 * cfgloopmanip.c (scale_loop_profile): Likewise.
6676 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Likewise.
6677 * gimple-ssa-split-paths.c
6678 (find_block_to_duplicate_for_splitting_paths): Likewise.
6679 * tree-sra.c (init_subtree_with_zero, clobber_subtree): Likewise.
6680 * expr.c (convert_move): Likewise.
6681 * var-tracking.c (vt_stack_adjustments): Likewise.
6682 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Likewise.
6683 * tree-vrp.c (test_for_singularity): Likewise.
6684
6685 * tree-vect-stmts.c (vectorizable_condition): Build a VEC_COND_EXPR
6686 directly instead of building a temporary tree.
6687
6688 PR bootstrap/69434
6689 * genrecog.c: Define INCLUDE_ALGORITHM before including system.h,
6690 remove <algorithm> include.
6691
6692 2016-01-22 Jakub Jelinek <jakub@redhat.com>
6693
6694 PR target/69432
6695 * config/i386/i386.c: Include dojump.h.
6696 (expand_small_movmem_or_setmem,
6697 expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Spelling
6698 fixes.
6699 (ix86_expand_set_or_movmem): Call do_pending_stack_adjust () early
6700 if dynamic_check != -1.
6701
6702 2016-01-21 Jeff Law <law@redhat.com>
6703
6704 PR middle-end/69347
6705 * tree-ssa-dom.c (back_propagate_equivalences): Factored out of
6706 record_temporary_equivalences. Rewritten to avoid unnecessary calls
6707 into dominated_by_p.
6708 (cprop_into_successor_phis): Avoid unnecessary tests.
6709
6710 2016-01-22 Richard Henderson <rth@redhat.com>
6711
6712 PR target/69416
6713 * config/aarch64/aarch64.md (UNSPEC_NZCV): New.
6714 (ccmp<mode>, fccmp<mode>, fccmpe<mode>): Use it.
6715
6716 2016-01-22 Michael Matz <matz@suse.de>
6717
6718 * system.h (string, algorithm): Include only conditionally.
6719 (new): Include always under C++.
6720 * bb-reorder.c (toplevel): Define INCLUDE_ALGORITHM.
6721 * final.c (toplevel): Ditto.
6722 * ipa-chkp.c (toplevel): Define INCLUDE_STRING.
6723 * genconditions.c (write_header): Make gencondmd.c define
6724 INCLUDE_STRING.
6725 * mem-stats.h (mem_usage::print_dash_line): Don't use std::string.
6726
6727 * config/aarch64/aarch64.c (toplevel): Define INCLUDE_STRING.
6728 * common/config/aarch64/aarch64-common.c (toplevel): Ditto.
6729
6730 2016-01-22 Christian Bruel <christian.bruel@st.com>
6731
6732 PR target/68674
6733 * expr.c (expand_expr_real_1): Reset DECL_MODE if VECTOR_TYPE_P changed.
6734
6735 2016-01-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6736
6737 PR target/69403
6738 * config/arm/thumb2.md (*thumb2_ior_scc_strict_it): Convert to
6739 define_insn_and_split. Ensure operands[1] and operands[0] do not
6740 get assigned the same register.
6741
6742 2016-01-22 Kugan Vivekanandarajah <kuganv@linaro.org>
6743
6744 * ipa-prop.c (ipa_set_jf_constant): Remove redundant unshare_expr.
6745
6746 2016-01-22 Christian Bruel <christian.bruel@st.com>
6747
6748 * config/arm/arm-c.c (arm_pragma_target_parse):
6749 Remove warn_builtin_macro_redefined overwrite.
6750
6751 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
6752
6753 * ipa-inline.c (can_inline_edge_p): Back out overzealous check on
6754 flag_non_call_exceptions compatibility.
6755
6756 2016-01-22 Jakub Jelinek <jakub@redhat.com>
6757
6758 PR debug/66668
6759 * dwarf2out.c (add_child_die_after): New function.
6760 (dwarf_qual_info_t): New type.
6761 (dwarf_qual_info): New variable.
6762 (qualified_die_p): New function.
6763 (modified_type_die): For -fdebug-types-section, ensure
6764 canonical order of qualifiers. Put qualified DIEs adjacent
6765 to the corresponding non-qualified type DIE and search there
6766 for existing qualified DIEs.
6767
6768 2016-01-22 Eric Botcazou <ebotcazou@adacore.com>
6769
6770 * doc/extend.texi (scalar_storage_order type attribute): Document
6771 restriction on type punning and aliasing, and remove future tense.
6772
6773 2016-01-21 Roman Zhuykov <zhroma@ispras.ru>
6774
6775 PR target/69252
6776 * modulo-sched.c (optimize_sc): Allow branch-scheduling to add a new
6777 first stage.
6778
6779 2016-01-21 Jeff Law <law@redhat.com>
6780
6781 PR middle-end/69347
6782 * tree-ssa-dom.c (dom_opt_dom_walker::thread_across_edge): Avoid
6783 useless call to record_temporary_equivalences.
6784 * tree-ssa-threadbackward.c (find_jump_threads_backwards): Just
6785 allocate 10 slots in the bb_path vector and let it grow as needed.
6786 (fsm_find_control_statement_thread_paths): Similarly for the next_path
6787 vector.
6788
6789 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
6790
6791 * configure.ac (gcc_cv_as_powerpc_mfcrf, gcc_cv_as_machine_directive):
6792 Detangle.
6793 * configure: Regenerate.
6794
6795 2016-01-21 Pat Haugen <pthaugen@us.ibm.com>
6796
6797 * config/rs6000/aix71.h (ASM_CPU_SPEC): Add entry for Power9.
6798 * config/rs6000/driver-rs6000.c (struct asm_names): Likewise.
6799
6800 2016-01-21 Bernd Schmidt <bschmidt@redhat.com>
6801
6802 PR middle-end/66178
6803 * expr.c (expand_expr_real_2) [PLUS_EXPR, MINUS_EXPR]: Don't
6804 drop EXPAND_INITIALIZER.
6805 * rtl.h (contains_symbolic_reference_p): Declare.
6806 * rtlanal.c (contains_symbolic_reference_p): New function.
6807 * simplify-rtx.c (simplify_binary_operation_1): Don't turn
6808 a subtraction into a NOT if symbolic constants are involved.
6809
6810 2016-01-21 Anton Blanchard <anton@samba.org>
6811 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
6812
6813 PR target/63354
6814 * config/rs6000/linux64.h (TARGET_KEEP_LEAF_WHEN_PROFILED): New
6815 #define.
6816 * config/rs6000/rs6000.c (rs6000_keep_leaf_when_profiled): New
6817 function.
6818
6819 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
6820
6821 * config/microblaze/microblaze.c
6822 (get_branch_target): New.
6823 (insert_wic_for_ilb_runout): New.
6824 (insert_wic): New.
6825 (microblaze_machine_dependent_reorg): New.
6826 (TARGET_MACHINE_DEPENDENT_REORG): Define macro.
6827 * config/microblaze/microblaze.md
6828 (UNSPEC_IPREFETCH): Define.
6829 (iprefetch): New pattern
6830 * config/microblaze/microblaze.opt
6831 (mxl-prefetch): New flag.
6832
6833 2016-01-21 Ajit Agarwal <ajitkum@xilinx.com>
6834
6835 * config/microblaze/microblaze.h
6836 (FIXED_REGISTERS): Update in macro.
6837 (CALL_USED_REGISTERS): Update in macro.
6838
6839 2016-01-21 Yuri Rumyantsev <ysrumyan@gmail.com>
6840
6841 PR rtl-optimization/68920
6842 * ifcvt.c (cond_move_process_if_block): Limit number of conditional
6843 moves.
6844
6845 2016-01-21 Vladimir Makarov <vmakarov@redhat.com>
6846
6847 PR rtl-optimization/68990
6848 * lra-coalesce.c (lra_coalesce): Invalidate value for the result
6849 pseudo instead of inheritance ones.
6850
6851 2016-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
6852 Nick Clifton <nickc@redhat.com>
6853
6854 PR target/69129
6855 PR target/69012
6856 * config/mips/mips.c (mips_compute_frame_info): Initialise
6857 args_size and hard_frame_pointer_offset fields of the frame
6858 structure before calling mips_global_pointer.
6859
6860 2016-01-21 David Edelsohn <dje.gcc@gmail.com>
6861
6862 * configure.ac (gcc_cv_as_dwloc): Test support for debug frame section
6863 label reference.
6864 * configure: Regenerate.
6865
6866 2016-01-21 Richard Biener <rguenther@suse.de>
6867
6868 * graphite-optimize-isl.c (get_schedule_map): Fix typo.
6869
6870 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
6871
6872 * config/s390/s390.c (s390_asm_declare_function_size): Add code
6873 to actually emit the .size directive.
6874
6875 2016-01-21 Stefan Sørensen <stefan.sorensen@spectralink.com>
6876 Jakub Jelinek <jakub@redhat.com>
6877
6878 PR target/69187
6879 PR target/65624
6880 * config/arm/arm-builtins.c (arm_expand_neon_builtin): Increase
6881 args array size by one to avoid buffer overflow.
6882
6883 2016-01-21 Marcin Kościelnicki <koriakin@0x04.net>
6884
6885 * config/s390/s390.md (pool_section_start): Use switch_to_section
6886 to select proper read-only data section instead of hardcoding
6887 .rodata.
6888 (pool_section_end): Use switch_to_section to match the above.
6889
6890 2016-01-21 Richard Biener <rguenther@suse.de>
6891
6892 PR tree-optimization/69378
6893 * tree-ssa-sccvn.c (dominated_by_p_w_unex): New function.
6894 (set_ssa_val_to): Use it for dominance checks taking into
6895 account not executable edges.
6896
6897 2016-01-21 Jakub Jelinek <jakub@redhat.com>
6898
6899 PR c++/69355
6900 * tree-dfa.c (get_ref_base_and_extent): Use GET_MODE_BITSIZE (mode)
6901 for bitsize instead of GET_MODE_PRECISION (mode).
6902
6903 2016-01-20 Martin Sebor <msebor@redhat.com>
6904
6905 PR c/52291
6906 * extend.texi (__sync Builtins): Clarify the semantics of
6907 __sync_fetch_and_OP built-ins on pointers.
6908 (__atomic Builtins): Same.
6909
6910 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6911 Sebastian Pop <s.pop@samsung.com>
6912
6913 * graphite-isl-ast-to-gimple.c (enum phi_node_kind): New.
6914 (class translate_isl_ast_to_gimple): Use phi_node_kind instead of bool.
6915 (is_valid_rename): Same.
6916 (translate_isl_ast_to_gimple::get_rename): Same.
6917 (translate_isl_ast_to_gimple::rename_all_uses): Same.
6918 (translate_isl_ast_to_gimple::rename_uses): Same.
6919 (get_new_name): Check for close_phi nodes.
6920 (copy_loop_phi_args): Use phi_node_kind.
6921 (translate_isl_ast_to_gimple::copy_loop_close_phi_args): Same.
6922 (translate_isl_ast_to_gimple::copy_cond_phi_args): Same.
6923
6924 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6925 Sebastian Pop <s.pop@samsung.com>
6926
6927 Revert commit r229783.
6928 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
6929 Remove use of parameter_rename_map.
6930 (copy_def): Remove.
6931 (copy_internal_parameters): Remove.
6932 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
6933 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
6934 (free_sese_info): Do not free parameter_rename_map.
6935 (set_rename): Do not use parameter_rename_map.
6936 (rename_uses): Update call to set_rename.
6937 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
6938 * sese.h (parameter_rename_map_t): Remove.
6939 (struct sese_info_t): Remove field parameter_rename_map.
6940
6941 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6942 Sebastian Pop <s.pop@samsung.com>
6943
6944 * graphite-isl-ast-to-gimple.c: Fix comment.
6945 * graphite-scop-detection.c (defined_in_loop_p): New.
6946 (canonicalize_loop_closed_ssa): Do not add close phi nodes for SSA
6947 names defined in loop.
6948
6949 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6950 Sebastian Pop <s.pop@samsung.com>
6951
6952 * graphite-scop-detection.c (scop_detection::harmful_loop_in_region):
6953 Discard unstructured if-then-else regions.
6954
6955 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6956 Sebastian Pop <s.pop@samsung.com>
6957
6958 * graphite-sese-to-poly.c (set_scop_parameter_dim): Remove.
6959 (cleanup_loop_iter_dom): Remove.
6960 (build_loop_iteration_domains): Remove.
6961 (build_scop_context): Remove.
6962 (build_scop_iteration_domain): Remove.
6963 (add_loop_constraints): New.
6964 (build_iteration_domains): New.
6965 (build_poly_scop): Call build_iteration_domains.
6966
6967 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6968 Sebastian Pop <s.pop@samsung.com>
6969
6970 * graphite-scop-detection.c
6971 (scop_detection::harmful_loop_in_region): Free dom and loops.
6972 (scop_detection::loop_body_is_valid_scop): Free bbs.
6973
6974 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6975 Sebastian Pop <s.pop@samsung.com>
6976
6977 * graphite-scop-detection.c (record_loop_in_sese): New.
6978 (gather_bbs::before_dom_children): Call record_loop_in_sese.
6979 (build_scops): Remove call to build_sese_loop_nests.
6980 * sese.c (sese_record_loop): Remove.
6981 (build_sese_loop_nests): Remove.
6982 (new_sese_info): Remove region->loops.
6983 (free_sese_info): Same.
6984 * sese.h (sese_contains_loop): Same.
6985 (build_sese_loop_nests): Remove.
6986 (sese_contains_loop): Remove.
6987
6988 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6989 Sebastian Pop <s.pop@samsung.com>
6990
6991 * graphite-scop-detection.c (loop_is_valid_scop): Renamed
6992 loop_is_valid_in_scop.
6993 (scop_detection::harmful_stmt_in_region): Renamed
6994 harmful_loop_in_region.
6995 Call loop_is_valid_in_scop.
6996
6997 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
6998 Sebastian Pop <s.pop@samsung.com>
6999
7000 * graphite-isl-ast-to-gimple.c (translate_isl_ast): Also handle
7001 isl_ast_node_mark.
7002
7003 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
7004 Sebastian Pop <s.pop@samsung.com>
7005
7006 * graphite-poly.c (new_poly_bb): Remove use of PBB_IS_REDUCTION.
7007 * graphite.h (struct poly_bb): Remove field is_reduction.
7008 (PBB_IS_REDUCTION): Remove.
7009
7010 2016-01-21 Aditya Kumar <aditya.k7@samsung.com>
7011 Sebastian Pop <s.pop@samsung.com>
7012
7013 * graphite-dependences.c (constrain_domain): Add call to isl_*_coalesce.
7014 (add_pdr_constraints): Same.
7015 (scop_get_reads): Same.
7016 (scop_get_must_writes): Same.
7017 (scop_get_may_writes): Same.
7018 (scop_get_original_schedule): Same.
7019 (extend_schedule): Same.
7020 (apply_schedule_on_deps): Same.
7021 (carries_deps): Same.
7022 (compute_deps): Same.
7023 (scop_get_dependences): Same.
7024 * graphite-isl-ast-to-gimple.c
7025 (translate_isl_ast_to_gimple::generate_isl_schedule): Same.
7026 * graphite-optimize-isl.c (get_schedule_for_band): Same.
7027 (get_schedule_for_band_list): Same.
7028 (get_schedule_map): Same.
7029 (apply_schedule_map_to_scop): Same.
7030 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Same.
7031 (build_loop_iteration_domains): Same.
7032 (add_condition_to_pbb): Same.
7033 (add_param_constraints): Same.
7034 (pdr_add_memory_accesses): Same.
7035 (pdr_add_data_dimensions): Same.
7036
7037 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
7038
7039 * doc/invoke.texi (Instrumentation Options): Clarify -mmpx linking
7040 requirements.
7041
7042 2016-01-20 Sandra Loosemore <sandra@codesourcery.com>
7043
7044 * common.opt (feliminate-dwarf2-dups): Replace references to
7045 "DWARF 2" with just "DWARF".
7046 * config/ia64/ia64.opt (mdwarf2-asm): Likewise.
7047 * doc/extend.texi: Likewise.
7048 * doc/cpp.texi: Likewise.
7049 * doc/invoke.texi: Likewise.
7050 (Option Summary): Add -gdwarf to list of Debugging Options.
7051 (Debugging Options): Document -gdwarf.
7052 * doc/contrib.texi: Spell "DWARF" like that.
7053
7054 2016-01-21 Jakub Jelinek <jakub@redhat.com>
7055
7056 * omp-low.c (expand_omp_target): Avoid -Wmaybe-uninitialized
7057 warning. Fix up formatting.
7058
7059 PR middle-end/67653
7060 * gimplify.c (gimplify_asm_expr): Warn if it is too late to
7061 attempt to mark memory input operand addressable and
7062 call prepare_gimple_addressable in that case. Don't adjust
7063 input_location for diagnostics, use error_at instead.
7064
7065 2016-01-20 Peter Bergner <bergner@vnet.ibm.com>
7066
7067 * config/rs6000/ppc-auxv.h: New file.
7068 * config/rs6000/rs6000-builtin.def (cpu_init): Add new builtin.
7069 (cpu_is): Likewise.
7070 (cpu_supports): Likewise.
7071 * config/rs6000/rs6000.c: include "ppc-auxv.h".
7072 (cpu_is_info): New variable.
7073 (cpu_supports_info): Likewise.
7074 (tcb_verification_symbol): Likewise.
7075 (cpu_builtin_p): Likewise.
7076 (cpu_expand_builtin): New function.
7077 (rs6000_expand_ternop_builtin): Add support for CPU builtin functions.
7078 (rs6000_init_builtins): Likewise.
7079 (rs6000_elf_file_end): Emit HWCAP in TCB verification symbol.
7080 * config/rs6000/rs6000.h (TLS_REGNUM): New define.
7081 * configure.ac (gcc_cv_libc_provides_hwcap_in_tcb): New test.
7082 * configure: Regenerate.
7083 * config.in: Likewise.
7084 * doc/extend.texi (PowerPC Built-in Functions): Document
7085 __builtin_cpu_init, __builtin_cpu_is and __builtin_cpu_supports.
7086
7087 2016-01-20 David Edelsohn <dje.gcc@gmail.com>
7088
7089 PR target/68609
7090 * config/rs6000/rs6000.c (rs6000_emit_swsqrt): Add vector sqrt
7091 domain check.
7092 * config/rs6000/vector.md (sqrt<mode>2): Call rs6000_emit_swsqrt
7093 for V4SFmode.
7094
7095 2016-01-20 Richard Henderson <rth@redhat.com>
7096
7097 PR bootstrap/69343
7098 PR bootstrap/69339
7099 PR tree-opt/68964
7100 Revert:
7101 * tree.c (tm_define_builtin): New.
7102 (find_tm_vector_type): New.
7103 (build_tm_vector_builtins): New.
7104 (build_common_builtin_nodes): Call it.
7105
7106 2016-01-20 Christophe Lyon <christophe.lyon@linaro.org>
7107
7108 * doc/sourcebuild.texi (arm_crypto_pragma_ok): Document new entry.
7109 (arm_fp_ok): Likewise.
7110 (arm_fp): Likewise.
7111 (arm_crypto): Likewise.
7112
7113 2016-01-20 Ilya Enkovich <enkovich.gnu@gmail.com>
7114 Richard Biener <rguenther@suse.de>
7115
7116 PR tree-optimization/69328
7117 * tree-vect-stmts.c (vect_is_simple_cond): Check compared
7118 vectors have same number of elements.
7119 (vectorizable_condition): Fix masked version recognition.
7120
7121 2016-01-20 Richard Biener <rguenther@suse.de>
7122
7123 PR tree-optimization/69345
7124 * tree-ssa-sccvn.h (VN_INFO_RANGE_INFO): New inline function.
7125 (VN_INFO_PTR_INFO): Likewise.
7126 * tree-ssa-sccvn.c (set_ssa_val_to): Avoid clearing points-to
7127 info when it is equal between non-dominating SSA names.
7128 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
7129 Make sure to look at original SSA infos.
7130
7131 2016-01-20 Jeff Law <law@redhat.com>
7132
7133 PR target/25114
7134 * config/m68k/predicates.md (pow2_m1_operand): New predicate
7135 extracted from ...
7136 (reg_or_pow2_m1_operand): Call pow2_m1_operand.
7137 (pc_or_label_operand): New predicate.
7138 * config/m68k/m68k.md: Add new peephole2 patterns for GTU/LEU
7139 tests for small integers that are 2^n - 1.
7140
7141 2016-01-20 Jonathan Wakely <jwakely@redhat.com>
7142
7143 * doc/invoke.texi (Options Summary): Add '.' after @xref.
7144
7145 2016-01-19 Jeff Law <law@redhat.com>
7146
7147 PR middle-end/69347
7148 * tree-ssa-threadbackwards.c
7149 (fsm_find_control_statement_thread_paths): Do not try to lookup
7150 FSM paths for SSA_NAMEs appearing in abnormal PHIs.
7151
7152 2016-01-20 Kugan Vivekanandarajah <kuganv@linaro.org>
7153
7154 * doc/lto.texi: Remove text that says only Gold has linker plugin
7155 support.
7156
7157 2016-01-19 Eric Botcazou <ebotcazou@adacore.com>
7158
7159 * dwarf2out.c (need_endianity_attribute_p): New inline predicate.
7160 (base_type_die): Add REVERSE parameter and attach DW_AT_endianity to
7161 the DIE accordingly.
7162 (modified_type_die): Add REVERSE parameter and pass it recursively,
7163 as well as to base_type_die. Adjust presence check accordingly.
7164 (base_type_for_mode): Adjust call to modified_type_die.
7165 (add_type_attribute): Add REVERSE parameter and pass it to
7166 modified_type_die.
7167 (generic_parameter_die): Adjust call to add_type_attribute.
7168 (add_scalar_info): Likewise.
7169 (add_subscript_info): Likewise.
7170 (gen_array_type_die): Likewise.
7171 (gen_descr_array_type_die): Likewise.
7172 (gen_entry_point_die): Likewise.
7173 (gen_enumeration_type_die): Likewise.
7174 (gen_formal_parameter_die): Likewise.
7175 (gen_subprogram_die): Likewise.
7176 (gen_variable_die ): Likewise.
7177 (gen_const_die): Likewise.
7178 (gen_field_die): Likewise.
7179 (gen_pointer_type_die): Likewise.
7180 (gen_reference_type_die): Likewise.
7181 (gen_ptr_to_mbr_type_die): Likewise.
7182 (gen_inheritance_die): Likewise.
7183 (gen_subroutine_type_die): Likewise.
7184 (gen_typedef_die): Likewise.
7185 (force_type_die): Adjust call to modified_type_die.
7186
7187 2016-01-19 Sandra Loosemore <sandra@codesourcery.com>
7188
7189 * doc/standards.texi: Copy-editing for grammar, markup, and sentence
7190 flow throughout the file. Fix broken link to Objective-C 2.0
7191 documentation.
7192 * doc/invoke.texi: More copy-editing; fix numerous typos and spelling
7193 errors.
7194
7195 2016-01-19 Wilco Dijkstra <wdijkstr@arm.com>
7196
7197 * ccmp.c (expand_ccmp_expr_1): Avoid spurious unused warnings.
7198
7199 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7200
7201 PR ipa/66223
7202 * ipa-devirt.c (is_cxa_pure_virtual_p): New function.
7203 (maybe_record_node): Record cxa_pure_virtual as the only possible
7204 target if there are not ohter candidates.
7205 (possible_polymorphic_call_target_p): Accept cxa_pure_virtual.
7206
7207 2016-01-19 Richard Biener <rguenther@suse.de>
7208
7209 * hsa-gen.c (get_memory_order_name): Use MEMMODEL_ constants.
7210 (get_memory_order): Likewise.
7211
7212 2016-01-19 Kirill Yukhin <kirill.yukhin@intel.com>
7213
7214 * tree-vect-stmts.c (vectorizable_store): Check
7215 rhs vectype.
7216
7217 2016-01-19 David Malcolm <dmalcolm@redhat.com>
7218
7219 PR jit/68446
7220 * gcc.c (driver::decode_argv): Add call to
7221 init_opts_obstack before init_options_struct.
7222 * opts.c (init_opts_obstack): Remove idempotency.
7223 (init_options_struct): Replace call to init_opts_obstack
7224 with a gcc_assert to verify that it has already been called.
7225 * toplev.c (toplev::main): Add call to init_opts_obstack before
7226 calls to init_options_struct.
7227 (toplev::finalize): Move cleanup of opts_obstack next to
7228 cleanup of save_decoded_options, clearing the latter, and
7229 save_decoded_options_count.
7230
7231 2016-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7232
7233 PR target/69135
7234 * config/arm/vfp.md (l<vrint_pattern><su_optab><mode>si2): Set "conds"
7235 attribute to unconditional. Remove %? from output template.
7236
7237 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
7238 Jiong Wang <jiong.wang@arm.com>
7239
7240 * ccmp.c (expand_ccmp_expr_1): Cost the instruction sequences
7241 generated from different expand order.
7242
7243 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
7244
7245 * /config/aarch64/aarch64.c (aarch64_if_then_else_costs):
7246 Add support for CCMP costing.
7247
7248 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
7249
7250 * ccmp.c (ccmp_candidate_p): Remove integer-only restriction.
7251 * config/aarch64/aarch64.md (fccmp<mode>): New pattern.
7252 (fccmpe<mode>): Likewise.
7253 (fcmp): Rename to fcmp and globalize pattern.
7254 (fcmpe): Likewise.
7255 * config/aarch64/aarch64.c (aarch64_gen_ccmp_first): Add FP support.
7256 (aarch64_gen_ccmp_next): Add FP support.
7257
7258 2015-01-19 Wilco Dijkstra <wdijkstr@arm.com>
7259
7260 * target.def (gen_ccmp_first): Update documentation.
7261 (gen_ccmp_next): Likewise.
7262 * doc/tm.texi (gen_ccmp_first): Update documentation.
7263 (gen_ccmp_next): Likewise.
7264 * ccmp.c (expand_ccmp_expr): Extract cmp_code from return value of
7265 expand_ccmp_expr_1. Improve comments.
7266 * config/aarch64/aarch64.md (ccmp_and): Use if_then_else for ccmp.
7267 (ccmp_ior<mode>): Remove pattern.
7268 (cmp<mode>): Remove expand.
7269 (cmp): Globalize pattern.
7270 (cstorecc4): Use cc_register.
7271 (mov<mode>cc): Remove ccmp_cc_register check.
7272 * config/aarch64/aarch64.c (aarch64_get_condition_code_1):
7273 Simplify after removal of CC_DNE/* modes.
7274 (aarch64_ccmp_mode_to_code): Remove.
7275 (aarch64_print_operand): Remove 'K' case. Merge 'm' and 'M' cases.
7276 In 'k' case use integer as condition.
7277 (aarch64_nzcv_codes): Remove inverted cases.
7278 (aarch64_code_to_ccmode): Remove.
7279 (aarch64_gen_ccmp_first): Use cmp pattern directly. Return the correct
7280 comparison with CC register to be used in folowing CCMP/branch/CSEL.
7281 (aarch64_gen_ccmp_next): Use previous comparison and mode in CCMP
7282 pattern. Return the comparison with CC register. Invert conditions
7283 when bitcode is OR.
7284 * config/aarch64/aarch64-modes.def: Remove CC_DNE/* modes.
7285 * config/aarch64/predicates.md (ccmp_cc_register): Remove.
7286
7287 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7288
7289 * cgraphunit.c (cgraph_node::reset): Clear thunk info and
7290 instrumented_version.
7291
7292 2016-01-19 Richard Biener <rguenther@suse.de>
7293
7294 PR tree-optimization/69336
7295 * tree-ssa-scopedtables.c (avail_expr_hash): Handle all
7296 handled components with get_ref_base_and_extent.
7297 (equal_mem_array_ref_p): Adjust.
7298
7299 2016-01-19 Jakub Jelinek <jakub@redhat.com>
7300
7301 PR debug/65779
7302 * shrink-wrap.c: Include valtrack.h.
7303 (move_insn_for_shrink_wrap): Add DEBUG argument. If
7304 MAY_HAVE_DEBUG_INSNS, call dead_debug_add on DEBUG_INSNs
7305 in between insn and where it will be moved to. Call
7306 dead_debug_insert_temp.
7307 (prepare_shrink_wrap): Adjust caller. Call dead_debug_local_init
7308 first and dead_debug_local_finish at the end.
7309 For uses and defs bitmap, handle all regs in between REGNO and
7310 END_REGNO, not just the first one.
7311
7312 2016-01-19 Richard Biener <rguenther@suse.de>
7313
7314 PR tree-optimization/69352
7315 * tree-ssa-scopedtables.c (avail_expr_hash): Check for size == -1.
7316 (equal_mem_array_ref_p): Constrain size and max size properly.
7317 Compare the reverse flag.
7318
7319 2016-01-19 Bernd Schmidt <bschmidt@redhat.com>
7320
7321 * ira.c (ira): Update regstat data if we deleted insns.
7322
7323 2016-01-19 Jakub Jelinek <jakub@redhat.com>
7324
7325 PR rtl-optimization/68955
7326 PR rtl-optimization/64557
7327 * dse.c (record_store, check_mem_read_rtx): Don't call get_addr
7328 here. Fix up formatting.
7329 * alias.c (get_addr): Handle VALUE +/- CONST_SCALAR_INT_P.
7330
7331 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7332
7333 PR lto/69133
7334 * cgraphunit.c (cgraph_node::expand_thunk): When forcing gimple
7335 assume that the node has body.
7336 * cgraph.c (cgraph_node::get_untransformed_body): Use gimple_body_p
7337 check.
7338
7339 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7340
7341 * lto-streamer-out.c (lto_output): Do not stream instrumentation
7342 thunks.
7343
7344 2016-01-19 Jan Hubicka <hubicka@ucw.cz>
7345
7346 * symtab.c (symtab_node::asm_name): Do not call printable name directly.
7347 (symtab_node::name): Report name as unnamed if DECL_NAME is not set.
7348
7349 2016-01-19 Martin Jambor <mjambor@suse.cz>
7350 Martin Liska <mliska@suse.cz>
7351 Michael Matz <matz@suse.de>
7352
7353 * Makefile.in (OBJS): Add new source files.
7354 (GTFILES): Add hsa.c.
7355 * common.opt (disable_hsa): New variable.
7356 (-Whsa): New warning.
7357 * config.in (ENABLE_HSA): New.
7358 * configure.ac: Treat hsa differently from other accelerators.
7359 (OFFLOAD_TARGETS): Define ENABLE_OFFLOADING according to
7360 $enable_offloading.
7361 (ENABLE_HSA): Define ENABLE_HSA according to $enable_hsa.
7362 * doc/install.texi (Configuration): Document --with-hsa-runtime,
7363 --with-hsa-runtime-include, --with-hsa-runtime-lib and
7364 --with-hsa-kmt-lib.
7365 * doc/invoke.texi (-Whsa): Document.
7366 (hsa-gen-debug-stores): Likewise.
7367 * lto-wrapper.c (compile_images_for_offload_targets): Do not attempt
7368 to invoke offload compiler for hsa acclerator.
7369 * opts.c (common_handle_option): Determine whether HSA offloading
7370 should be performed.
7371 * params.def (PARAM_HSA_GEN_DEBUG_STORES): New parameter.
7372 * builtin-types.def (BT_FN_VOID_UINT_PTR_INT_PTR): New.
7373 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): Removed.
7374 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_PTR): New.
7375 * gimple-low.c (lower_stmt): Also handle GIMPLE_OMP_GRID_BODY.
7376 * gimple-pretty-print.c (dump_gimple_omp_for): Also handle
7377 GF_OMP_FOR_KIND_GRID_LOOP.
7378 (dump_gimple_omp_block): Also handle GIMPLE_OMP_GRID_BODY.
7379 (pp_gimple_stmt_1): Likewise.
7380 * gimple-walk.c (walk_gimple_stmt): Likewise.
7381 * gimple.c (gimple_build_omp_grid_body): New function.
7382 (gimple_copy): Also handle GIMPLE_OMP_GRID_BODY.
7383 * gimple.def (GIMPLE_OMP_GRID_BODY): New.
7384 * gimple.h (enum gf_mask): Added GF_OMP_PARALLEL_GRID_PHONY,
7385 GF_OMP_FOR_KIND_GRID_LOOP, GF_OMP_FOR_GRID_PHONY and
7386 GF_OMP_TEAMS_GRID_PHONY.
7387 (gimple_statement_omp_single_layout): Updated comments.
7388 (gimple_build_omp_grid_body): New function.
7389 (gimple_has_substatements): Also handle GIMPLE_OMP_GRID_BODY.
7390 (gimple_omp_for_grid_phony): New function.
7391 (gimple_omp_for_set_grid_phony): Likewise.
7392 (gimple_omp_parallel_grid_phony): Likewise.
7393 (gimple_omp_parallel_set_grid_phony): Likewise.
7394 (gimple_omp_teams_grid_phony): Likewise.
7395 (gimple_omp_teams_set_grid_phony): Likewise.
7396 (gimple_return_set_retbnd): Also handle GIMPLE_OMP_GRID_BODY.
7397 * omp-builtins.def (BUILT_IN_GOMP_OFFLOAD_REGISTER): New.
7398 (BUILT_IN_GOMP_OFFLOAD_UNREGISTER): Likewise.
7399 (BUILT_IN_GOMP_TARGET): Updated type.
7400 * omp-low.c: Include symbol-summary.h, hsa.h and params.h.
7401 (adjust_for_condition): New function.
7402 (get_omp_for_step_from_incr): Likewise.
7403 (extract_omp_for_data): Moved parts to adjust_for_condition and
7404 get_omp_for_step_from_incr.
7405 (build_outer_var_ref): Handle GIMPLE_OMP_GRID_BODY.
7406 (fixup_child_record_type): Bail out if receiver_decl is NULL.
7407 (scan_sharing_clauses): Handle OMP_CLAUSE__GRIDDIM_.
7408 (scan_omp_parallel): Do not create child functions for phony
7409 constructs.
7410 (check_omp_nesting_restrictions): Handle GIMPLE_OMP_GRID_BODY.
7411 (scan_omp_1_op): Checking assert we are not remapping to
7412 ERROR_MARK. Also also handle GIMPLE_OMP_GRID_BODY.
7413 (parallel_needs_hsa_kernel_p): New function.
7414 (expand_parallel_call): Register apprpriate parallel child
7415 functions as HSA kernels.
7416 (grid_launch_attributes_trees): New type.
7417 (grid_attr_trees): New variable.
7418 (grid_create_kernel_launch_attr_types): New function.
7419 (grid_insert_store_range_dim): Likewise.
7420 (grid_get_kernel_launch_attributes): Likewise.
7421 (get_target_argument_identifier_1): Likewise.
7422 (get_target_argument_identifier): Likewise.
7423 (get_target_argument_value): Likewise.
7424 (push_target_argument_according_to_value): Likewise.
7425 (get_target_arguments): Likewise.
7426 (expand_omp_target): Call get_target_arguments instead of looking
7427 up for teams and thread limit.
7428 (grid_expand_omp_for_loop): New function.
7429 (grid_arg_decl_map): New type.
7430 (grid_remap_kernel_arg_accesses): New function.
7431 (grid_expand_target_kernel_body): New function.
7432 (expand_omp): Call it.
7433 (lower_omp_for): Do not emit phony constructs.
7434 (lower_omp_taskreg): Do not emit phony constructs but create for them
7435 a temporary variable receiver_decl.
7436 (lower_omp_taskreg): Do not emit phony constructs.
7437 (lower_omp_teams): Likewise.
7438 (lower_omp_grid_body): New function.
7439 (lower_omp_1): Call it.
7440 (grid_reg_assignment_to_local_var_p): New function.
7441 (grid_seq_only_contains_local_assignments): Likewise.
7442 (grid_find_single_omp_among_assignments_1): Likewise.
7443 (grid_find_single_omp_among_assignments): Likewise.
7444 (grid_find_ungridifiable_statement): Likewise.
7445 (grid_target_follows_gridifiable_pattern): Likewise.
7446 (grid_remap_prebody_decls): Likewise.
7447 (grid_copy_leading_local_assignments): Likewise.
7448 (grid_process_kernel_body_copy): Likewise.
7449 (grid_attempt_target_gridification): Likewise.
7450 (grid_gridify_all_targets_stmt): Likewise.
7451 (grid_gridify_all_targets): Likewise.
7452 (execute_lower_omp): Call grid_gridify_all_targets.
7453 (make_gimple_omp_edges): Handle GIMPLE_OMP_GRID_BODY.
7454 * tree-core.h (omp_clause_code): Added OMP_CLAUSE__GRIDDIM_.
7455 (tree_omp_clause): Added union field dimension.
7456 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE__GRIDDIM_.
7457 * tree.c (omp_clause_num_ops): Added number of arguments of
7458 OMP_CLAUSE__GRIDDIM_.
7459 (omp_clause_code_name): Added name of OMP_CLAUSE__GRIDDIM_.
7460 (walk_tree_1): Handle OMP_CLAUSE__GRIDDIM_.
7461 * tree.h (OMP_CLAUSE_GRIDDIM_DIMENSION): New.
7462 (OMP_CLAUSE_SET_GRIDDIM_DIMENSION): Likewise.
7463 (OMP_CLAUSE_GRIDDIM_SIZE): Likewise.
7464 (OMP_CLAUSE_GRIDDIM_GROUP): Likewise.
7465 * passes.def: Schedule pass_ipa_hsa and pass_gen_hsail.
7466 * tree-pass.h (make_pass_gen_hsail): Declare.
7467 (make_pass_ipa_hsa): Likewise.
7468 * ipa-hsa.c: New file.
7469 * lto-section-in.c (lto_section_name): Add hsa section name.
7470 * lto-streamer.h (lto_section_type): Add hsa section.
7471 * timevar.def (TV_IPA_HSA): New.
7472 * hsa-brig-format.h: New file.
7473 * hsa-brig.c: New file.
7474 * hsa-dump.c: Likewise.
7475 * hsa-gen.c: Likewise.
7476 * hsa.c: Likewise.
7477 * hsa.h: Likewise.
7478 * toplev.c (compile_file): Call hsa_output_brig.
7479 * hsa-regalloc.c: New file.
7480
7481 2016-01-18 Jeff Law <law@redhat.com>
7482
7483 PR tree-optimization/69320
7484 * tree-ssa-dom.c (record_edge_info): For comparisons against a boolean
7485 ranged object, do nothing if the RHS constant is not [0..1].
7486 (optimize_stmt): Comparing a boolean ranged object against a
7487 constant outside [0..1] results in a compile-time constant.
7488
7489 * tree-ssanames.c (ssa_name_has_boolean_range): Remove unnecessary
7490 test.
7491
7492 2016-01-18 Sandra Loosemore <sandra@codesourcery.com>
7493
7494 * doc/invoke.texi (Invoking GCC): Add new section to menu.
7495 (Option Summary): Update to reflect new section and moved options.
7496 (C++ Dialect Options): Move -fstats to new section.
7497 (Debugging Options): Move all dump, statistics, and other GCC
7498 developer options to new section. Rewrite section introduction
7499 and re-order remaining options to put the more basic ones first.
7500 (Optimization Options): Move -fira-verbose and -flto-report* to
7501 new section.
7502 (Developer Options): New section incorporating moved options.
7503 * doc/cppopts.texi (-dM): Update cross-reference.
7504
7505 2016-01-18 Richard Henderson <rth@redhat.com>
7506
7507 PR target/69176
7508 * config/aarch64/aarch64.md (add<GPI>3): Move long immediate
7509 operands to pseudo only if CSE is expected. Split long immediate
7510 operands only after reload, and for the stack pointer.
7511 (*add<GPI>3_pluslong): Remove.
7512 (*addsi3_aarch64, *adddi3_aarch64): Merge into...
7513 (*add<GPI>3_aarch64): ... here. Add r/rk/Upl alternative.
7514 (*addsi3_aarch64_uxtw): Add r/rk/Upl alternative.
7515 (*add<GPI>3 peepholes): New.
7516 (*add<GPI>3 splitters): New.
7517 * config/aarch64/constraints.md (Upl): New.
7518 * config/aarch64/predicates.md (aarch64_pluslong_strict_immedate): New.
7519
7520 2016-01-18 Richard Biener <rguenther@suse.de>
7521
7522 PR tree-optimization/69297
7523 * tree-vect-slp.c (vect_bb_slp_scalar_cost): Count each scalar
7524 stmt at most once.
7525 (vect_bb_vectorization_profitable_p): Clear visited flag again.
7526
7527 2016-01-18 Yuri Rumyantsev <ysrumyan@gmail.com>
7528
7529 PR middle-end/68542
7530 * fold-const.c (fold_binary_op_with_conditional_arg): Bail out for case
7531 of mixind vector and scalar types.
7532 (fold_relational_const): Add handling of vector
7533 comparison with boolean result.
7534 * tree-cfg.c (verify_gimple_comparison): Add argument CODE, allow
7535 comparison of vector operands with boolean result for EQ/NE only.
7536 (verify_gimple_assign_binary): Adjust call for verify_gimple_comparison.
7537 (verify_gimple_cond): Likewise.
7538 * tree-vrp.c (extract_code_and_val_from_cond_with_ops): Modify check on
7539 valid type of VAL.
7540
7541 2016-01-18 Joseph Myers <joseph@codesourcery.com>
7542
7543 * config/mips/mips.h (ISA_HAS_PAIRED_SINGLE): Require
7544 !TARGET_OCTEON.
7545
7546 2016-01-18 Richard Biener <rguenther@suse.de>
7547
7548 PR middle-end/69308
7549 * gimple.c (gimple_could_trap_p_1): Handle GIMPLE_COND.
7550
7551 2016-01-18 Tom de Vries <tom@codesourcery.com>
7552
7553 * passes.def: Add pass_parallelize_loops to pass_oacc_kernels.
7554
7555 2016-01-18 Tom de Vries <tom@codesourcery.com>
7556
7557 * omp-low.c (set_oacc_fn_attrib): Make extern.
7558 * omp-low.h (set_oacc_fn_attrib): Declare.
7559 * tree-parloops.c (struct reduction_info): Add reduc_addr field.
7560 (create_call_for_reduction_1): Handle case that reduc_addr is non-NULL.
7561 (create_parallel_loop, gen_parallel_loop, try_create_reduction_list):
7562 Add and handle function parameter oacc_kernels_p.
7563 (find_reduc_addr, get_omp_data_i_param): New function.
7564 (ref_conflicts_with_region, oacc_entry_exit_ok_1)
7565 (oacc_entry_exit_single_gang, oacc_entry_exit_ok): New function.
7566 (parallelize_loops): Add and handle function parameter oacc_kernels_p.
7567 Calculate dominance info. Skip loops that are not in a kernels region
7568 in oacc_kernels_p mode. Skip inner loops of parallelized loops.
7569 (pass_parallelize_loops::execute): Call parallelize_loops with
7570 oacc_kernels_p argument.
7571 (pass_parallelize_loops::clone, pass_parallelize_loops::set_pass_param):
7572 New member function.
7573 (pass_parallelize_loops::bool oacc_kernels_p): New member var.
7574 * passes.def: Add argument to pass_parallelize_loops instantation.
7575
7576 2016-01-18 Tom de Vries <tom@codesourcery.com>
7577
7578 * tree-parloops.c (pass_parallelize_loops::execute): Allow
7579 pass_parallelize_loops to be run outside the loop pipeline.
7580
7581 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
7582
7583 * tree-scalar-evolution.c (follow_copies_to_constant): New.
7584 (analyze_initial_condition, analyze_scalar_evolution_1): Call previous.
7585
7586 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
7587
7588 PR target/63679
7589 * tree-ssa-scopedtables.c (avail_expr_hash): Hash MEM_REF and ARRAY_REF
7590 using get_ref_base_and_extent.
7591 (equal_mem_array_ref_p): New.
7592 (hashable_expr_equal_p): Add call to previous.
7593
7594 2016-01-18 Alan Lawrence <alan.lawrence@arm.com>
7595
7596 PR target/63679
7597 * tree-sra.c (disqualified_constants, constant_decl_p): New.
7598 (sra_initialize): Allocate disqualified_constants.
7599 (sra_deinitialize): Free disqualified_constants.
7600 (disqualify_candidate): Update disqualified_constants when appropriate.
7601 (create_access): Scan for constant-pool entries as we go along.
7602 (scalarizable_type_p): Add check against type_contains_placeholder_p.
7603 (maybe_add_sra_candidate): Allow constant-pool entries.
7604 (load_assign_lhs_subreplacements): Bind debug for constant pool vars.
7605 (initialize_constant_pool_replacements): New.
7606 (sra_modify_assign): Avoid mangling assignments created by previous,
7607 and don't generate writes into constant pool.
7608 (sra_modify_function_body): Call initialize_constant_pool_replacements.
7609
7610 2016-01-18 Ilya Enkovich <enkovich.gnu@gmail.com>
7611
7612 * config/i386/i386.c (scalar_to_vector_candidate_p): Support
7613 andnot instruction.
7614 (scalar_chain::convert_op): Likewise.
7615 * config/i386/i386.md (*andndi3_doubleword): New.
7616
7617 2016-01-18 Richard Biener <rguenther@suse.de>
7618
7619 PR tree-optimization/69170
7620 * tree-vect-slp.c (vect_build_slp_tree): Verify we are not
7621 building a vector from scalar results of a pattern stmt.
7622
7623 2016-01-18 Jakub Jelinek <jakub@redhat.com>
7624
7625 * haifa-sched.c (autopref_multipass_init): Work around
7626 -Wmaybe-uninitialized warning.
7627
7628 2016-01-18 Thomas Preud'homme <thomas.preudhomme@arm.com>
7629
7630 * config/arm/arm.c (thumb1_reorg): Check that the comparison is
7631 against the constant 0.
7632
7633 2016-01-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
7634
7635 PR tree-optimization/68799
7636 * gimple-ssa-strength-reduction.c (create_phi_basis): Directly
7637 look up phi candidates in the statement-candidate map.
7638 (phi_add_costs): Likewise.
7639 (record_phi_increments): Likewise.
7640 (phi_incr_cost): Likewise.
7641 (ncd_with_phi): Likewise.
7642 (all_phi_incrs_profitable): Likewise.
7643
7644 2016-01-17 Jakub Jelinek <jakub@redhat.com>
7645
7646 * omp-low.c (mark_loops_in_oacc_kernels_region): Work around
7647 -Wmaybe-uninitialized warning.
7648
7649 2016-01-16 Sandra Loosemore <sandra@codesourcery.com>
7650
7651 * doc/invoke.texi (Invoking GCC): Add new section to menu.
7652 (Option Summary): Update to reflect new section and moved options.
7653 (C++ Dialect Options): Move -fvtable-verify and related options.
7654 (Debugging Options): Move Sanitizer, Pointer Bounds Checker,
7655 and profiling-related options.
7656 (Optimization Options): Move profile generation options and
7657 -fstack-protector and related options.
7658 (Instrumentation Options): New section incorporating moved options.
7659 (Code Generation Options): Move -finstrument-functions and
7660 related options, -fstack-check, -fstack-limit*, and -fbounds-check.
7661
7662 2016-01-16 Tom de Vries <tom@codesourcery.com>
7663
7664 * passes.def: Move pass_expand_omp_ssa out of pass_parallelize_loops.
7665
7666 2016-01-16 Tom de Vries <tom@codesourcery.com>
7667
7668 * omp-low.c (expand_omp_atomic_fetch_op): Release defs of update stmt.
7669
7670 2016-01-16 Richard Sandiford <richard.sandiford@arm.com>
7671
7672 * hash-table.h (hash_table::empty): Turn into an inline wrapper
7673 that checks whether the table is already empty. Rename the
7674 original implementation to...
7675 (hash_table::empty_slot): ...this new private function.
7676
7677 2016-01-15 David Malcolm <dmalcolm@redhat.com>
7678
7679 PR diagnostic/68899
7680 * diagnostic-show-locus.c (layout::print_source_line): Move x
7681 offset of line until after call to
7682 get_line_width_without_trailing_whitespace.
7683
7684 2016-01-15 Jeff Law <law@redhat.com>
7685
7686 PR tree-optimization/69270
7687 * tree-ssanames.c (ssa_name_has_boolean_range): Moved here from
7688 tree-ssa-dom.c. Improve test for [0..1] ranve from VRP.
7689 * tree-ssa-dom.c (ssa_name_has_boolean_range): Remove.
7690 * tree-ssanames.h (ssa_name_has_boolean_range): Prototype.
7691 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Use
7692 ssa_name_has_boolean_range and constant_boolean_node.
7693
7694 2016-01-15 Vladimir Makarov <vmakarov@redhat.com>
7695
7696 PR rtl-optimization/69030
7697 * lra-spills.c (remove_pseudos): Check nrefs and make the function
7698 returning bool.
7699 (spill_pseudos): Delete debug insn for dead pseudo.
7700 (lra_spill): Initiate spill_hard_reg and slots memory separately.
7701
7702 2016-01-15 Jiong Wang <jiong.wang@arm.com>
7703
7704 * config/aarch64/aarch64-builtins.c (aarch64_types_unopus_qualifiers):
7705 New.
7706 (TYPES_UNOPUS): Likewise.
7707 * config/aarch64/aarch64-simd-builtins.def (lbtruncuv2sf): Correct
7708 builtin type, from UNOP to UNOPUS.
7709 (lbtruncuv4sf): Likewise.
7710 (lbtruncuv2df): Likewise.
7711 (lrounduv2sf): Likewise.
7712 (lrounduv4sf): Likewise.
7713 (lrounduv2df): Likewise.
7714 (lroundusf): Likewise.
7715 (lroundusf): Likewise.
7716 (lceiluv2sf): Likewise.
7717 (lceiluv4sf): Likewise.
7718 (lceiluv2df): Likewise.
7719 (lceilusf): Likewise.
7720 (lceiludf): Likewise.
7721 (lflooruv2sf): Likewise.
7722 (lflooruv4sf): Likewise.
7723 (lflooruv2df): Likewise.
7724 (lfloorusf): Likewise.
7725 (lfloorudf): Likewise.
7726 (lfrintnuv2sf): Likewise.
7727 (lfrintnuv4sf): Likewise.
7728 (lfrintnuv2df): Likewise.
7729 (lfrintnusf): Likewise.
7730 (lfrintnudf): Likewise.
7731 * config/aarch64/arm_neon.h (vcvt_u32_f32): Remove unncessary type
7732 conversion.
7733 (vcvtq_u32_f32): Likewise.
7734 (vcvtq_u64_f64): Likewise.
7735 (vcvta_u32_f32): Likewise.
7736 (vcvtaq_u32_f32): Likewise.
7737 (vcvtaq_u64_f64): Likewise.
7738 (vcvtm_u32_f32): Likewise.
7739 (vcvtmq_u32_f32): Likewise.
7740 (vcvtmq_u64_f64): Likewise.
7741 (vcvtn_u32_f32): Likwise.
7742 (vcvtnq_u32_f32): Likewise.
7743 (vcvtnq_u64_f64): Likewise.
7744 (vcvtp_u32_f32): Likewise.
7745 (vcvtpq_u32_f32): Likewise.
7746 (vcvtpq_u64_f64): Likewise.
7747 (vcvtmd_u64_f64): Likewise.
7748 (vcvtms_u32_f32): Likewise.
7749 (vcvtad_u64_f64): Likewise.
7750 (vcvtas_u32_f32): Likewise.
7751 (vcvtnd_u64_f64): Likewise.
7752 (vcvtns_u32_f32): Likewise.
7753 (vcvtpd_u64_f64): Likewise.
7754 (vcvtps_u32_f32): Likewise.
7755
7756 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7757
7758 * config/aarch64/aarch64.c (aarch64_if_then_else_costs): Handle
7759 CSEL of zero_extended registers.
7760
7761 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7762
7763 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
7764 Handle COMPARE of ZERO_EXTRACT against zero form of TST-immediate.
7765
7766 2016-01-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7767
7768 * config/aarch64/aarch64.c (aarch64_process_one_target_attr): Return
7769 false when argument string is not found in the attributes table
7770 at all.
7771
7772 2016-01-15 David Edelsohn <dje.gcc@gmail.com>
7773
7774 PR target/68609
7775 * config/rs6000/rs6000.c (rs6000_emit_msub): Delete.
7776 (rs6000_emit_swsqrt): Convert to Goldschmidt's Algorithm
7777 * config/rs6000/rs6000.md (sqrt<mode>2): Limit swsqrt to high
7778 precision estimate.
7779
7780 2016-01-15 Richard Biener <rguenther@suse.de>
7781
7782 PR tree-optimization/66856
7783 * tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
7784 * tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
7785 (vect_create_new_slp_node): Increment stmt reference count.
7786 (vect_get_and_check_slp_defs): Make sure stmts are nor already in
7787 an SLP tree before swapping operands.
7788 (vect_build_slp_tree): Likewise.
7789 (destroy_bb_vec_info): Free stmt info after SLP instances.
7790 * tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
7791 * tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
7792 (STMT_VINFO_NUM_SLP_USES): New macro.
7793
7794 2016-01-15 Richard Biener <rguenther@suse.de>
7795
7796 PR debug/69137
7797 * dwarf2out.c (add_linkage_name_raw): New function split out from ...
7798 (add_linkage_name): ... here.
7799 (gen_typedef_die): Use add_linkage_name_raw instead of
7800 add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
7801 if necessary.
7802
7803 2016-01-15 Cesar Philippidis <cesar@codesourcery.com>
7804
7805 * gimplify.c (oacc_default_clause): Decode reference and pointer
7806 types for both kernels and parallel regions.
7807
7808 2016-01-15 Richard Sandiford <richard.sandiford@arm.com>
7809
7810 PR middle-end/69246
7811 * calls.c (emit_call_1): Force n_popped to zero for sibcalls.
7812
7813 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
7814
7815 * config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
7816 (convert_scalars_to_vector): Likewise.
7817
7818 2016-01-15 Jonathan Wakely <jwakely@redhat.com>
7819
7820 * doc/extend.texi (Type Traits): Fix grammar.
7821
7822 2016-01-15 Martin Jambor <mjambor@suse.cz>
7823
7824 * tree-inline.c (remap_decl): Use existing dclarations if
7825 remapping a type and prevent_decl_creation_for_types.
7826 (replace_locals_stmt): Do an initial remapping of non-VLA typed
7827 decls first. Do real remapping with
7828 prevent_decl_creation_for_types set.
7829 * tree-inline.h (copy_body_data): New field
7830 prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
7831 padding.
7832
7833 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
7834
7835 * config/s390/s390.opt (mmvcle): More verbose help text.
7836
7837 2016-01-15 Dominik Vogt <vogt@linux.vnet.ibm.com>
7838
7839 * config/s390/s390.opt: Add period to -mzvector option text.
7840
7841 2016-01-15 Richard Biener <rguenther@suse.de>
7842
7843 PR tree-optimization/68961
7844 * tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
7845 of invariants in stores again.
7846
7847 2016-01-15 Sebastian Huber <sebastian.huber@embedded-brains.de>
7848
7849 * config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.
7850
7851 2016-01-15 Ilya Enkovich <enkovich.gnu@gmail.com>
7852
7853 * config/i386/i386.c (ix86_expand_branch): Don't split
7854 DI mode xor instruction to SI mode.
7855
7856 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
7857
7858 PR ipa/68148
7859 * ipa-icf.c (sem_function::merge): Virtual functions may become
7860 reachable even if they address is not taken and there are no
7861 idrect calls.
7862
7863 2016-01-15 Jan Hubicka <hubicka@ucw.cz>
7864
7865 * lto-streamer-out.c (subtract_estimated_size): New function.
7866 (get_symbol_initial_value): Use it.
7867
7868 2016-01-15 Christian Bruel <christian.bruel@st.com>
7869
7870 PR target/65837
7871 * config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
7872 (arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
7873 (arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
7874 use add_builtin_function_ext_scope instead of add_builtin_function.
7875 (neon_set_p, neon_crypto_set_p): Remove.
7876 (arm_init_builtins): Always call arm_init_neon_builtins and
7877 arm_init_crypto_builtins.
7878 (arm_expand_builtin): Check that builtins are allowed for the arch.
7879 * config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
7880 * config/arm/arm.c (arm_valid_target_attribute_tree): Remove
7881 arm_init_neon_builtins call.
7882
7883 2016-01-15 Richard Biener <rguenther@suse.de>
7884
7885 PR tree-optimization/69117
7886 * tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
7887 * tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
7888 of the leader conservatively.
7889 (free_scc_vn): Restore original SSA name infos.
7890
7891 2016-01-14 Jeff Law <law@redhat.com>
7892
7893 PR tree-optimization/69270
7894 * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
7895 single bit of precision, verify it's also unsigned.
7896 (record_edge_info): Use constant_boolean_node rather than fold_convert
7897 to convert boolean_true/boolean_false to the right type.
7898
7899 2016-01-14 Richard Henderson <rth@redhat.com>
7900
7901 PR rtl-opt/69014
7902 * loop-doloop.c (record_reg_sets): New.
7903 (doloop_optimize): Reject the transform if the sequence
7904 clobbers registers live at the end of the loop block.
7905 (doloop_optimize_loops): Enable df_live if needed.
7906
7907 2016-01-14 Michael Meissner <meissner@linux.vnet.ibm.com>
7908
7909 * config/rs6000/rs6000-builtin.def: Revert 2016-01-13 change.
7910 * gcc/config/rs6000/rs6000.c: Likewise.
7911 * gcc/config/rs6000/rs6000.h: Likewise.
7912 * gcc/config/rs6000/rs6000.md: Likewise.
7913 * gcc/doc/extend.texi: Likewsie.
7914
7915 2016-01-14 Jeff Law <law@redhat.com>
7916
7917 * tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
7918 typo.
7919
7920 2016-01-14 Richard Henderson <rth@redhat.com>
7921
7922 PR c/69272
7923 PR tree-opt/68964
7924 * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
7925 * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
7926 instead of builtin_decl_declared_p to test for declaration.
7927
7928 2016-01-14 Nicklas Bo Jensen <nbjensen@gmail.com>
7929
7930 * doc/loop.texi (Loop Analysis and Representation): Document
7931 loop_depth function.
7932
7933 2016-01-14 Tom de Vries <tom@codesourcery.com>
7934
7935 PR tree-optimization/68773
7936 * omp-low.c (expand_omp_target): Don't set force_output.
7937 * varpool.c (varpool_node::get_create): Same.
7938 * lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
7939 offload_funcs with force_output.
7940
7941 2016-01-14 Jakub Jelinek <jakub@redhat.com>
7942
7943 PR debug/69244
7944 * lra-eliminations.c (move_plus_up): Don't change anything if either
7945 the outer or inner subreg mode is not MODE_INT.
7946 * dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
7947 integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.
7948
7949 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
7950
7951 * doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
7952 reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
7953 reduc_uplus_@var{m}): Remove.
7954 * expr.c (expand_expr_real_2): Remove expansion path for
7955 reduc_[us](min|max|plus) optabs.
7956 * optabs-tree.c (scalar_reduc_to_vector): Remove.
7957 * optabs-tree.h (scalar_reduc_to_vector): Remove.
7958 * optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
7959 reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
7960 * tree-vect-loop.c (vectorizable_reduction): Remove test for
7961 reduc_[us](min|max|plus) optabs.
7962
7963 2016-01-14 Alan Lawrence <alan.lawrence@arm.com>
7964
7965 * config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
7966 (reduc_plus_scal_v2sf): New.
7967 (reduc_smax_v2sf): Rename to...
7968 (reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
7969 (reduc_smin_v2sf): Rename to...
7970 (reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.
7971
7972 2016-01-14 Jan Hubicka <hubicka@ucw.cz>
7973
7974 * alias.c (compare_base_symbol_refs): New function.
7975 (rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
7976 it.
7977
7978 2016-01-14 Jakub Jelinek <jakub@redhat.com>
7979
7980 PR middle-end/68146
7981 PR tree-optimization/69155
7982 * tree-complex.c: Include cfganal.h.
7983 (phis_to_revisit): New variable.
7984 (extract_component): Add phiarg_p argument. Assert that returned
7985 SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
7986 (update_phi_components): Partly rewrite to use loop over real/imag
7987 components instead of code duplication. If extract_component returns
7988 SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
7989 create_tmp_reg into the PHI node instead, and mention the phi triplet
7990 in phis_to_revisit.
7991 (tree_lower_complex): Walk bbs in rpo order. Adjust phis recorded
7992 in phis_to_revisit at the end.
7993
7994 2016-01-14 Richard Biener <rguenther@suse.de>
7995
7996 PR tree-optimization/68060
7997 * tree-vect-loop.c (vect_is_simple_reduction): Check the
7998 outer loop reduction is only used in the inner loop before
7999 detecting a double reduction.
8000
8001 2016-01-14 Jakub Jelinek <jakub@redhat.com>
8002
8003 PR target/68269
8004 * combine.c (expand_field_assignment): Punt if compute_mode is
8005 unsupported scalar mode.
8006
8007 2016-01-14 Richard Biener <rguenther@suse.de>
8008
8009 PR tree-optimization/66856
8010 * tree-vect-slp.c (vect_build_slp_tree): Refactor to build
8011 SLP node only if it built successfully.
8012 (vect_analyze_slp_instance): Adjust.
8013
8014 2016-01-14 Jeff Law <law@redhat.com>
8015
8016 PR tree-optimization/69270
8017 * tree-ssa-dom.c (ssa_name_has_boolean_range): New function.
8018 (record_edge_info): Use it. Convert boolean_{true,false}_node
8019 to the type of op0.
8020
8021 2016-01-13 Jan Hubicka <hubicka@ucw.cz>
8022
8023 PR ipa/66487
8024 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p):
8025 use block_ultimate_origin
8026 (noncall-stmt_may_be_vtbl_ptr_store): Likewise.
8027
8028 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
8029
8030 * doc/invoke.texi (Submodel Options): Rename section to
8031 "Machine-Dependent Options" to better reflect its content.
8032 Rewrite introductory text to remove archaic CPU names.
8033 Update references.
8034
8035 2016-01-13 Sandra Loosemore <sandra@codesourcery.com>
8036
8037 * doc/invoke.texi (Code Gen Options): Move section up in file,
8038 before target-specific options. Update menu and option summary
8039 to reflect the new section ordering.
8040
8041 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
8042
8043 * doc/invoke.texi (C Dialect Options): Adjust -std default for C++.
8044 (C++ Dialect Options): Add cross-reference to -std option.
8045 * doc/standards.texi (C++ Language): Document C++14 support.
8046
8047 2016-01-13 Michael Meissner <meissner@linux.vnet.ibm.com>
8048
8049 * config/rs6000/rs6000-builtin.def (BU_FLOAT128_2): Add support
8050 for pack/unpack functions for __ibm128.
8051 (PACK_IF): Likewise.
8052 (UNPACK_IF): Likewise.
8053
8054 * config/rs6000/rs6000.c (rs6000_builtin_mask_calculate): Add
8055 support for __ibm128 pack/unpack functions.
8056 (rs6000_invalid_builtin): Likewise.
8057 (rs6000_init_builtins): Likewise.
8058 (rs6000_opt_masks): Likewise.
8059
8060 * config/rs6000/rs6000.h (MASK_FLOAT128): Add short name.
8061 (RS6000_BTM_FLOAT128): Add support for __ibm128 pack/unpack
8062 functions
8063 (RS6000_BTM_COMMON): Likewise.
8064
8065 * config/rs6000/rs6000.md (f128_vsx): New mode attribute.
8066 (unpack<mode>): Use FMOVE128_FPR iterator instead of FMOVE128, to
8067 disallow __builtin_{pack,unpack}_longdouble if long double is IEEE
8068 128-bit floating point. Add support for the double values to be
8069 in Altivec registers for TF/IF packing and unpacking, but restrict
8070 TD packing sub-fields to be FPR registers. Don't allow overlapped
8071 register support for packing. Allow pack inputs to be memory
8072 locations. Don't build generator functions for unpack<mode>_dm
8073 and unpack<mode>_nodm.
8074 (unpack<mode>_dm): Likewise.
8075 (unpack<mode>_nodm): Likewise.
8076 (pack<mode>): Likewise.
8077
8078 * config/rs6000/rs6000-builtin.def (__builtin_pack_ibm128): Add
8079 built-in functions to pack/unpack explicit __ibm128 values.
8080 (__builtin_unpack_ibm128): Likewise.
8081
8082 * doc/extend.texi (PowerPC Built-in Functions): Document
8083 __builtin_pack_ibm128 and __builtin_unpack_ibm128.
8084
8085 2016-01-13 Bernd Schmidt <bschmidt@redhat.com>
8086
8087 PR c/66208
8088 * c-common.c (check_function_nonnull): Remove unnecessary declaration.
8089 Add new arg loc and pass it down as context.
8090 (check_nonnull_arg): Don't mark ctx arg as unused. Use it as a pointer
8091 to the location to use for the warning.
8092 (check_function_arguments): New arg loc. All callers changed. Pass
8093 it to check_function_nonnull.
8094 * c-common.h (check_function_arguments): Adjust declaration.
8095
8096 2016-01-13 Jakub Jelinek <jakub@redhat.com>
8097
8098 PR tree-optimization/69156
8099 * gimple.c (validate_type): Removed.
8100 (gimple_builtin_call_types_compatible_p): Use
8101 useless_type_conversion_p instead of validate_type.
8102 * value-prof.c (gimple_stringop_fixed_value): Fold
8103 icall_size to correct type.
8104
8105 2016-01-13 Jonathan Wakely <jwakely@redhat.com>
8106
8107 * doc/extend.texi (__atomic Builtins): Clarify compare_exchange
8108 effects.
8109
8110 2016-01-13 Richard Henderson <rth@redhat.com>
8111
8112 PR tree-opt/68964
8113 * target.def (builtin_tm_load, builtin_tm_store): Remove.
8114 * config/i386/i386.c (ix86_builtin_tm_load): Remove.
8115 (ix86_builtin_tm_store): Remove.
8116 (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
8117 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
8118 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_TM_LOAD): Remove.
8119 (TARGET_VECTORIZE_BUILTIN_TM_STORE): Remove.
8120 * doc/tm.texi: Rebuild.
8121
8122 * gtm-builtins.def (BUILT_IN_TM_MEMCPY_RNWT): New.
8123 (BUILT_IN_TM_MEMCPY_RTWN): New.
8124 * trans-mem.c (tm_log_emit_stmt): Rearrange code for better
8125 fallback from vector to integer helpers.
8126 (build_tm_load): Handle vector types directly, instead of
8127 via target hook.
8128 (build_tm_store): Likewise.
8129 (expand_assign_tm): Prepare for register types not handled by
8130 the above. Copy them to memory and use memcpy.
8131 * tree.c (tm_define_builtin): New.
8132 (find_tm_vector_type): New.
8133 (build_tm_vector_builtins): New.
8134 (build_common_builtin_nodes): Call it.
8135
8136 2016-01-13 Uros Bizjak <ubizjak@gmail.com>
8137
8138 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Return -1 for
8139 TARGET_SSE_MATH without TARGET_SSE2. Rewrite.
8140
8141 2016-01-13 Tom de Vries <tom@codesourcery.com>
8142
8143 PR tree-optimization/69169
8144 * tree-ssa-structalias.c (create_variable_info_for_1): Add and handle
8145 handled_struct_type param.
8146 (create_variable_info_for, intra_create_variable_infos): Call
8147 create_variable_info_for_1 with extra arg.
8148
8149 2016-01-13 Yvan Roux <yvan.roux@linaro.org>
8150
8151 * config/arm/arm-arches.def: Remove spurious whitespace in "armv8.1-a"
8152 and "armv8.1-a+crc" entries.
8153
8154 2016-01-13 Alexander Fomin <alexander.fomin@intel.com>
8155
8156 PR target/69228
8157 * config/i386/sse.md (define_expand "avx512pf_gatherpf<mode>sf"):
8158 Change first operand predicate from register_or_constm1_operand
8159 to register_operand.
8160 (define_expand "avx512pf_gatherpf<mode>df"): Likewise.
8161 (define_expand "avx512pf_scatterpf<mode>sf"): Likewise.
8162 (define_expand "avx512pf_scatterpf<mode>df"): Likewise.
8163 (define_insn "*avx512pf_gatherpf<mode>sf"): Remove.
8164 (define_insn "*avx512pf_gatherpf<mode>df"): Likewise.
8165 (define_insn "*avx512pf_scatterpf<mode>sf"): Likewise.
8166 (define_insn "*avx512pf_scatterpf<mode>df"): Likewise.
8167 * config/i386/i386.c (ix86_expand_builtin): Remove first operand
8168 comparison with constm1_rtx from vec_prefetch_gen part.
8169
8170 2016-01-13 Richard Biener <rguenther@suse.de>
8171
8172 PR tree-optimization/69013
8173 * tree-ssa-uninit.c (prune_uninit_phi_opnds_in_unrealizable_paths):
8174 Exchange assert for a test.
8175
8176 2016-01-13 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8177
8178 PR target/69247
8179 * config/s390/s390.md (bswaphi splitter): Use simplify_gen_subreg.
8180
8181 2016-01-13 Richard Biener <rguenther@suse.de>
8182
8183 PR tree-optimization/69242
8184 * tree-ssa-sccvn.c (visit_reference_op_load): Replace bogus
8185 assert with a check.
8186
8187 2016-01-13 Richard Biener <rguenther@suse.de>
8188
8189 PR tree-optimization/69186
8190 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
8191 Properly guard vect_update_misalignment_for_peel call.
8192
8193 2016-01-12 Jeff Law <law@redhat.com>
8194
8195 PR tree-optimization/pr67755
8196 * tree-ssa-threadupdate.c (struct ssa_local_info_t): Add new field
8197 "need_profile_correction".
8198 (thread_block_1): Initialize new field to false by default. If we
8199 have multiple thread paths through a common joiner to different
8200 final targets, then set new field to true.
8201 (compute_path_counts): Only do count adjustment when it's really
8202 needed.
8203
8204 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
8205
8206 * doc/invoke.texi (Spec Files): Move section down in file, past
8207 all command-line option descriptions.
8208
8209 2016-01-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8210
8211 PR middle-end/54809
8212 * doc/gty.texi: Remove documentation of mark_hook.
8213 * gengtype.c (struct write_types_data): Remove code to support
8214 mark_hook attribute.
8215 (walk_type): Likewise.
8216 (write_func_for_structure): Likewise.
8217
8218 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
8219
8220 * doc/invoke.texi (Option Summary) Move -no-canonical-prefixes to
8221 Directory Options, and -specs= to Overall Options.
8222 (Overall Options): Adjust similarly. Reorder to group related
8223 options together. Make -specs= cross-reference the spec file details.
8224 (Directory Options): Adjust similarly.
8225
8226 2016-01-12 Jeff Law <law@redhat.com>
8227
8228 * tree-ssa-threadupdate.c: Various whitespace and typo fixes.
8229
8230 2016-01-12 Olivier Hainque <hainque@adacore.com>
8231
8232 * gcc.c (spec_undefvar_allowed): New global.
8233 (process_command): Set to true when running for --version or --help,
8234 alone or together.
8235 (getenv_spec_function): When the variable is not defined, use the
8236 variable name as the variable value if we're allowed not to issue
8237 a fatal error.
8238
8239 2016-01-12 Bin Cheng <bin.cheng@arm.com>
8240
8241 PR tree-optimization/68911
8242 * tree-vrp.c (adjust_range_with_scev): Check overflow in range
8243 information computed for expression "init + nit * step".
8244
8245 2016-01-12 Sandra Loosemore <sandra@codesourcery.com>
8246
8247 * doc/invoke.texi (Invoking GCC): Copy-edit. Incorporate information
8248 about name of GCC executable. Remove deleted node from menu.
8249 (Directory Options) <-B>: Remove cross-reference to deleted node.
8250 (Target Options): Delete section.
8251
8252 2016-01-12 Christian Bruel <christian.bruel@st.com>
8253
8254 PR target/69180
8255 * config/arm/arm-c.c (arm_pragma_target_parse): Set NODE_CONDITIONAL
8256 for __ARM_NEON_FP, __ARM_FP, _ARM_FEATURE_LDREX.
8257
8258 2016-01-12 Jakub Jelinek <jakub@redhat.com>
8259
8260 PR target/69198
8261 * config/i386/i386.c (ix86_expand_special_args_builtin): Ensure
8262 aligned_mem is properly set for AVX512-VL floating point masked
8263 stores.
8264
8265 PR target/69175
8266 * ifcvt.c (cond_exec_process_if_block): When removing the last
8267 insn from then_bb, remove also any possible barriers that follow it.
8268
8269 2016-01-12 H.J. Lu <hongjiu.lu@intel.com>
8270
8271 PR target/68456
8272 PR target/69226
8273 * config/i386/iamcu.h (SIZE_TYPE): New macro.
8274 (PTRDIFF_TYPE): Likewise.
8275 (WCHAR_TYPE): Likewise.
8276 (WCHAR_TYPE_SIZE): Likewise.
8277 (STDINT_LONG32): Likewise.
8278
8279 2016-01-12 Richard Biener <rguenther@suse.de>
8280
8281 PR tree-optimization/69053
8282 * tree-vect-loop.c (get_initial_def_for_reduction): Properly
8283 convert initial value for cond reductions.
8284
8285 2016-01-12 Richard Biener <rguenther@suse.de>
8286
8287 PR tree-optimization/69007
8288 * tree-vect-patterns.c (vect_vect_recog_func_ptrs): Move
8289 widen_sum after dot_prod and sad.
8290
8291 2016-01-12 Richard Biener <rguenther@suse.de>
8292
8293 PR tree-optimization/69168
8294 * tree-vect-loop.c (vect_analyze_loop_2): Reset both main and
8295 pattern stmt SLP type.
8296 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Patterns may
8297 end up unused so cope with that case.
8298
8299 2016-01-12 Richard Biener <rguenther@suse.de>
8300
8301 PR tree-optimization/69157
8302 * tree-vect-stmts.c (vectorizable_mask_load_store): Check
8303 stmts def type only during analyze phase.
8304 (vectorizable_call): Likewise.
8305 (vectorizable_simd_clone_call): Likewise.
8306 (vectorizable_conversion): Likewise.
8307 (vectorizable_assignment): Likewise.
8308 (vectorizable_shift): Likewise.
8309 (vectorizable_operation): Likewise.
8310 (vectorizable_store): Likewise.
8311 (vectorizable_load): Likewise.
8312
8313 2016-01-12 Richard Biener <rguenther@suse.de>
8314
8315 PR tree-optimization/69174
8316 * tree-vect-stmts.c (vect_mark_relevant): Remove excessive vertical
8317 space.
8318 (vectorizable_load): Properly compute the number of loads needed
8319 for permuted strided SLP loads and do not spuriously assign
8320 to SLP_TREE_VEC_STMTS.
8321
8322 2016-01-12 Andris Pavenis <andris.pavenis@iki.fi>
8323
8324 * config/i386/djgpp.h (PREFERRED_DEBUGGING_TYPE): Define to DWARF2
8325 (TARGET_ASM_OUTPUT_IDENT): Define to default_asm_output_ident_directive
8326 (MD_EXEC_PREFIX): Remove.
8327 (MD_STARTFILE_PREFIX) Removee.
8328 (FILE_NAME_ABSOLUTE_P): Remove.
8329 (CPP_SPEC): Do not read macros from sys/version.h.
8330 (LINK_COMMAND_SPEC): Remove.
8331 (LOCAL_INCLUDE_DIR): Remove.
8332 (TARGET_ASM_NAMED_SECTION): Define to i386_djgpp_asm_named_section
8333 (TARGET_OS_CPP_BUILTINS): Add DJGPP (non ISO only), __DJGPP, __DJGPP__, unix.
8334 (POST_LINK_SPEC): Define to invoke stubify after linker
8335 (LIBSTDCXX): Remove define
8336 (DBX_REGISTER_NUMBER): Define to svr4_dbx_register_map.
8337 (DEFAULT_PCC_STRUCT_RETURN): Define to 1.
8338 (SUBTARGET_OVERRIDE_OPTIONS): Remove warning about -mbnu2210.
8339 (SUBTARGET_OVERRIDE_OPTIONS): Ignore -fPIC and generate message.
8340 (SUBTARGET_OVERRIDE_OPTIONS): Default to DWARF2 debugging info.
8341 (IX86_MAYBE_NO_LIBGCC_TFMODE): Remove.
8342 (i386_djgpp_asm_named_section): Add propotype of new procedure
8343
8344 * config/i386/xm-djgpp.h (NATIVE_SYSTEM_HEADER_DIR): Define.
8345 (MD_EXEC_PREFIX): Define (moved from config/i386/djgpp.h).
8346 (STANDARD_STARTFILE_PREFIX_1): Define (moved from MD_STARTFILE_PREFIX
8347 in config/i386/djgpp.h).
8348 (STANDARD_STARTFILE_PREFIX_2): Define identical to
8349 STANDARD_STARTFILE_PREFIX_1.
8350 (LOCAL_INCLUDE_DIR): Define (moved from config/i386/djgpp.h).
8351 (GCC_DRIVER_HOST_INITIALIZATION): Fix reporting fatal
8352 installation errors.
8353 (MAX_OFILE_ALIGNMENT): Define to 128.
8354 (HAVE_FTW_H): Undefine as DJGPP do not have nftw, but have ftw.h.
8355
8356 * config/i386/djgpp.c: New file. Add implementation of
8357 i386_djgpp_asm_named_section.
8358
8359 * config/i386/djgpp.opt: Remove obsolete option -mbnu210.
8360
8361 * config/i386/t-djgpp: New file. Add djgpp.o to EXTRA_OBJS.
8362 Add rule for building djgpp.o.
8363
8364 2016-01-11 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8365
8366 * config/rs6000/rs6000.c (v2df_reduction_p): New function.
8367 (rtx_is_swappable_p): Reductions are swappable.
8368 (insn_is_swappable_p): V2DF reductions are swappable.
8369
8370 2016-01-11 John David Anglin <danglin@gcc.gnu.org>
8371
8372 * config/pa/pa.c (pa_emit_move_sequence): Handle floating point
8373 reloads for other unsupported memory operands.
8374
8375 2016-01-12 Kugan Vivekanandarajah <kuganv@linaro.org>
8376 Jim Wilson <jim.wilson@linaro.org>
8377
8378 PR target/69194
8379 * config/arm/arm-builtins.c (arm_expand_neon_args): Call
8380 copy_to_mode_reg instead of force_reg.
8381
8382 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
8383
8384 PR target/69225
8385 * config/i386/i386.h (TARGET_FLT_EVAL_METHOD): Set to 2 only if
8386 TARGET_80387 is true.
8387
8388 2016-01-11 Jakub Jelinek <jakub@redhat.com>
8389
8390 PR target/69071
8391 * lra-eliminations.c (move_plus_up): Only move plus up
8392 if subreg of the constant can be simplified into constant
8393 and use the simplified subreg of the constant instead of
8394 the original constant.
8395
8396 * fold-const.c (fold_convertible_p): Don't return true
8397 for conversion of VECTOR_TYPE to same sized integral type.
8398 (fold_convert_loc): Fix up formatting. Fold conversion of
8399 VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
8400 instead of NOP_EXPR.
8401
8402 PR tree-optimization/69214
8403 * tree-vrp.c (simplify_cond_using_ranges): Don't propagate
8404 innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
8405 Formatting fix.
8406
8407 PR tree-optimization/69207
8408 * tree-vect-slp.c (vect_get_constant_vectors): For
8409 VECTOR_BOOLEAN_TYPE_P, assert op has integral type instead of
8410 fold_convertible_p to vector_type's element type, and always
8411 use VCE for non-VECTOR_BOOLEAN_TYPE_P.
8412
8413 2016-01-11 Richard Biener <rguenther@suse.de>
8414
8415 PR tree-optimization/69173
8416 * tree-vect-loop.c (vect_fixup_scalar_cycles_with_patterns): Only
8417 fixup the cycle if all stmts are in a pattern.
8418
8419 2016-01-11 Uros Bizjak <ubizjak@gmail.com>
8420
8421 PR middle-end/68999
8422 * alias.c (base_alias_check): Move check for addresses with
8423 alignment ANDs before the call for compare_base_decls.
8424 (memrefs_conflict_p): Return -1 for different decls
8425 that went through alignment adjustments.
8426
8427 2016-01-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8428
8429 PR rtl-optimization/68796
8430 * config/aarch64/aarch64.md (*and<mode>_compare0): New pattern.
8431 * config/aarch64/aarch64.c (aarch64_select_cc_mode): Handle HImode
8432 and QImode comparisons against zero with CC_NZmode.
8433 * config/aarch64/iterators.md (short_mask): New mode_attr.
8434
8435 2016-01-11 H.J. Lu <hongjiu.lu@intel.com>
8436
8437 * config/i386/sse.md (<avx512>_load<mode>_mask): Remove snprintf.
8438 (<avx512>_store<mode>_mask): Likewise.
8439
8440 2016-01-11 Bernd Schmidt <bschmidt@redhat.com>
8441 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8442
8443 PR rtl-optimization/68841
8444 * ifcvt.c (struct noce_if_info): Add orig_x field.
8445 (bbs_ok_for_cmove_arith): Add to_rename parameter.
8446 Don't record conflicts on to_rename if it's present.
8447 Allow memory destinations in sets.
8448 (noce_try_cmove_arith): Call bbs_ok_for_cmove_arith even on simple
8449 blocks, passing orig_x to the checks.
8450 (noce_process_if_block): Set if_info->orig_x appropriately.
8451
8452 2016-01-11 Tom de Vries <tom@codesourcery.com>
8453
8454 PR tree-optimization/69069
8455 * tree-parloops.c (create_parallel_loop): Add missing phi args.
8456
8457 2016-01-11 Yuri Rumyantsev <ysrumyan@gmail.com>
8458
8459 PR rtl-optimization/68920
8460 * config/i386/i386.c (ix86_option_override_internal): Restrict number
8461 of conditional moves for RTL if-conversion to 1 for
8462 TARGET_ONE_IF_CONV_INSN.
8463 * config/i386/i386.h (TARGET_ONE_IF_CONV_INSN): New macros.
8464 * config/i386/x86-tune.def (X86_TUNE_ONE_IF_CONV_INSN): New macros.
8465 * params.def (PARAM_MAX_RTL_IF_CONVERSION_INSNS) : Introduce new
8466 parameter to restirct number of conditional moves for
8467 RTL if-conversion.
8468 * doc/invoke.texi (max-rtl-if-conversion-insns): Document it.
8469 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): Limit number of
8470 conditionl moves.
8471
8472 2016-01-11 Alexandre Oliva <aoliva@redhat.com>
8473
8474 PR bootstrap/69123
8475 * var-tracking.c (drop_overlapping_mem_locs): Operate on all
8476 onepart vars. Fix typo in comment. Fix reversed condition in
8477 unshare test.
8478 (dataflow_set_remove_mem_locs): Operate on all onepart vars.
8479
8480 PR bootstrap/69123
8481 * var-tracking.c (dump_onepart_variable_differences): New.
8482 (dataflow_set_different): If a detailed dump is requested,
8483 delay early returns and dump differences between onepart
8484 variables present before and after, and added variables.
8485
8486 2016-01-11 Ilya Enkovich <enkovich.gnu@gmail.com>
8487
8488 PR target/69010
8489 * expr.c (expand_expr_real_1): For boolean vector constants
8490 with a scalar mode use const_scalar_mask_from_tree.
8491 (const_scalar_mask_from_tree): New.
8492 * optabs.c (expand_vec_cond_mask_expr): Use mask mode
8493 assigned to a mask type to handle constants.
8494
8495 2016-01-11 Martin Jambor <mjambor@suse.cz>
8496
8497 PR ipa/69044
8498 * ipa-cp.c (estimate_local_effects): Do not clone for removal of
8499 useless parameters if we cannot change function signature.
8500
8501 2016-01-11 Martin Jambor <mjambor@suse.cz>
8502
8503 PR ipa/66616
8504 * cgraphclones.c (duplicate_thunk_for_node): Copy can_change_signature
8505 flag.
8506
8507 2016-01-11 Tom de Vries <tom@codesourcery.com>
8508
8509 PR tree-optimization/69109
8510 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Don't allow
8511 latch with phi.
8512
8513 2016-01-11 Tom de Vries <tom@codesourcery.com>
8514
8515 PR tree-optimization/69108
8516 * tree-parloops.c (gather_scalar_reductions): Handle case that outer phi
8517 res is not used in a phi.
8518
8519 2016-01-11 Yury Gribov <y.gribov@samsung.com>
8520
8521 PR 67425
8522 * common.opt (frandom-seed): Fix parameter name.
8523 * doc/invoke.texi (frandom-seed): Ditto and describe parameter.
8524
8525 2016-01-11 Tom de Vries <tom@codesourcery.com>
8526
8527 PR tree-optimization/69058
8528 * tree-parloops.c (pass_parallelize_loops::execute): Return 0 if libgomp
8529 not supported.
8530
8531 2016-01-11 Andrew Burgess <andrew.burgess@embecosm.com>
8532
8533 * config/arc/arc.opt (mdiv-rem): Add period to the end.
8534 (mcode-density): Likewise.
8535
8536 2016-01-10 Tom de Vries <tom@codesourcery.com>
8537
8538 PR tree-optimization/69062
8539 * tree-parloops.c (loop_has_phi_with_address_arg): New function.
8540 (parallelize_loops): Don't paralelize loop that has phi with address
8541 arg.
8542
8543 2016-01-10 Tom de Vries <tom@codesourcery.com>
8544
8545 PR tree-optimization/69039
8546 * tree-parloops.c (try_create_reduction_list): Only allow single exit
8547 phi for reduction.
8548
8549 2016-01-09 John David Anglin <danglin@gcc.gnu.org>
8550
8551 PR middle-end/68743
8552 * match.pd: Require target has function_c99_misc before doing
8553 truncl(extend(x)) and trunc(extend(x)) -> extend(truncf(x)), etc.
8554
8555 2016-01-09 Gerald Pfeifer <gerald@pfeifer.com>
8556
8557 * configure.ac (isl_options_set_schedule_serialize_sccs): Also
8558 use GMPINC.
8559 * configure: Regenerate.
8560
8561 2016-01-09 Jakub Jelinek <jakub@redhat.com>
8562
8563 PR middle-end/50865
8564 PR tree-optimization/69097
8565 * fold-const.h (expr_not_equal_to): New prototype.
8566 * fold-const.c: Include stringpool.h and tree-ssanames.h.
8567 (expr_not_equal_to): New function.
8568 * match.pd (X % -Y is the same as X % Y): Don't optimize
8569 unless X is known not to be equal to minimum or Y is known
8570 not to be equal to -1.
8571 * tree-vrp.c (simplify_div_or_mod_using_ranges): Add GSI argument.
8572 fold TRUNC_MOD_EXPR if the second argument is not a power of two.
8573 (simplify_stmt_using_ranges): Adjust caller.
8574 (vrp_finalize): Call set_value_range on SSA_NAMEs before calling
8575 substitute_and_fold.
8576
8577 2016-01-09 Jan Hubicka <hubicka@ucw.cz>
8578
8579 * ipa-icf.c (sem_item_optimizer::merge_classes): Do not ICE on VAR_DECL
8580 w/o DECL_NAME.
8581
8582 2016-01-08 Jakub Jelinek <jakub@redhat.com>
8583
8584 PR tree-optimization/69167
8585 * gimple-fold.c (replace_stmt_with_simplification): Also punt if
8586 new SSA_NAME_OCCURS_IN_ABNORMAL_PHI SSA_NAMEs appear in operands of
8587 ops[0] comparison.
8588 * gimple-match-head.c (maybe_push_res_to_seq): Likewise.
8589
8590 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
8591 Richard Biener <rguenther@suse.de>
8592
8593 PR tree-optimization/68707
8594 * tree-vect-slp.c (vect_analyze_slp_instance): Cancel permuted SLP
8595 instances that can be handled via vect_load_lanes.
8596
8597 2016-01-08 Uros Bizjak <ubizjak@gmail.com>
8598
8599 * symtab.c (symtab_node::equal_address_to): Return -1 instead of 2
8600 if we can't determine address equivalence.
8601 * alias.c (compare_base_decl): Update for changed return value of
8602 symtab_node::equal_address_to.
8603
8604 2016-01-08 Jason Merrill <jason@redhat.com>
8605
8606 PR c++/68983
8607 PR c++/67557
8608 * function.c (assign_temp): Guard against TREE_ADDRESSABLE types here.
8609 * expr.c (store_field): Not here.
8610 * tree-cfgcleanup.c (fixup_noreturn_call): Don't clear LHS of a
8611 call with TREE_ADDRESSABLE type.
8612 * tree-cfg.c (verify_gimple_call): Adjust.
8613
8614 2016-01-08 Olivier Hainque <hainque@adacore.com>
8615
8616 * config/vxworks.h (VXWORKS_LIBGCC_SPEC): Don't link shared RTPs with
8617 libc_internal.
8618
8619 2016-01-08 Alan Lawrence <alan.lawrence@arm.com>
8620
8621 * gcc.target/rs6000/paired.md (reduc_smax_v2sf): Rename to...
8622 (reduc_smax_scal_v2sf): ...here, make result SFmode, extract element.
8623 (reduc_smin_v2sf): Rename to...
8624 (reduc_smin_scal_v2sf): ...here, make result SFmode, extract element.
8625 (reduc_splus_v2sf): Rename to...
8626 (reduc_plus_scal_v2sf): ...here, make result SFmode, extract element.
8627
8628 2016-01-08 Jakub Jelinek <jakub@redhat.com>
8629
8630 PR tree-optimization/69162
8631 * gimplify.c (gimplify_va_arg_expr): Encode original type of
8632 valist argument in another argument.
8633 (gimplify_modify_expr): Adjust for the above change. Cleanup.
8634 * tree-stdarg.c (expand_ifn_va_arg_1): Use new 3rd argument
8635 to determine the va_list type, build a MEM_REF instead of
8636 build_fold_indirect_ref.
8637
8638 PR tree-optimization/69172
8639 * gimple-fold.c (gimple_fold_builtin_memory_chk): Pass type to
8640 gimple_build.
8641
8642 2016-01-08 Thomas Preud'homme <thomas.preudhomme@arm.com>
8643
8644 PR tree-optimization/67781
8645 * tree-ssa-math-opts.c (find_bswap_or_nop): Zero out bytes in cmpxchg
8646 and cmpnop in two steps: first the ones not accessed in original
8647 gimple expression in a endian independent way and then the ones not
8648 accessed in the final result in an endian-specific way.
8649
8650 2016-01-08 Jakub Jelinek <jakub@redhat.com>
8651
8652 PR tree-optimization/69083
8653 * tree-vect-slp.c (vect_get_constant_vectors): For
8654 VECTOR_BOOLEAN_TYPE_P assert op is fold_convertible_p to vector_type's
8655 element type. If op is fold_convertible_p to vector_type's element
8656 type, use NOP_EXPR instead of VCE.
8657
8658 2016-01-08 Segher Boessenkool <segher@kernel.crashing.org>
8659
8660 PR rtl-optimization/67778
8661 PR rtl-optimization/68634
8662 PR rtl-optimization/68909
8663 * shrink-wrap.c (try_shrink_wrapping): Add comment. Don't pop
8664 block from the stack until done with it. Remove a superfluous
8665 bitmap set. Remove a superfluous bitmap test.
8666
8667 2016-01-07 Martin Sebor <msebor@redhat.com>
8668
8669 PR c/68966
8670 * doc/extend.texi (__atomic Builtins, __sync Builtins): Document
8671 constraint on the type of arguments.
8672
8673 2016-01-07 Andreas Tobler <andreast@gcc.gnu.org>
8674
8675 * config/arm/freebsd.h: Rename SUBTARGET_OVERRIDE_OPTIONS to
8676 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS. Adjust to check
8677 unaligned_access on the gcc_options set.
8678 * config/arm/arm.c (arm_option_override_internal): Use
8679 SUBTARGET_OVERRIDE_INTERNAL_OPTIONS.
8680
8681 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
8682
8683 PR target/69140
8684 * config/i386/i386.c (ix86_frame_pointer_required): Enable
8685 frame pointer for TARGET_64BIT_MS_ABI when stack is misaligned.
8686
8687 2016-01-07 Uros Bizjak <ubizjak@gmail.com>
8688
8689 Revert
8690 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
8691
8692 PR target/69140
8693 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
8694 depending on frame_pointer_needed before remaining integer and SSE
8695 registers are saved.
8696
8697 2016-01-07 Sandra Loosemore <sandra@codesourcery.com>
8698
8699 PR 1078
8700 * doc/extend.texi (Nvidia PDX Function Attributes): New section.
8701
8702 2016-01-07 H.J. Lu <hongjiu.lu@intel.com>
8703
8704 PR target/69171
8705 * config/i386/sse.md (<sse>_sqrt<mode>2<mask_name><round_name>):
8706 Use the "xBm" constraint.
8707 (float<sseintvecmodelower><mode>2<mask_name><round_name):
8708 Likewise.
8709 (sse_cvtsi2ss<round_name>): Use round_nimm_scalar_predicate.
8710 (sse_cvtsi2ssq<round_name>): Likewise.
8711 (sse_cvtss2si<round_name>): Likewise.
8712 (sse_cvtss2siq<round_name>): Likewise.
8713 (sse2_cvtsi2sdq<round_name>): Likewise.
8714 (sse2_cvtsd2si<round_name>): Likewise.
8715 (sse2_cvtsd2siq<round_name>): Likewise.
8716 * config/i386/subst.md (round_nimm_scalar_predicate): New
8717 predicate.
8718
8719 2015-12-15 Bernd Schmidt <bschmidt@redhat.com>
8720
8721 PR middle-end/67639
8722 * varasm.c (make_decl_rtl): Mark invalid register vars as
8723 DECL_EXTERNAL.
8724
8725 PR rtl-optimization/66206
8726 * bt-load.c (find_btr_use): Change first arg to be a pointer to an rtx.
8727 All callers changed.
8728
8729 2016-01-07 Jakub Jelinek <jakub@redhat.com>
8730
8731 PR tree-optimization/69141
8732 * tree-ssa-pre.c: Include langhooks.h.
8733 (eliminate_dom_walker::before_dom_children): Use
8734 lang_hooks.decl_printable_name instead of
8735 cgraph_node::get ()->name ().
8736
8737 PR middle-end/68960
8738 * gimple-expr.c (copy_var_decl): If var has DECL_USER_ALIGN set, copy
8739 it and DECL_ALIGN too.
8740
8741 2016-01-06 Robert Suchanek <robert.suchanek@imgtec.com>
8742
8743 * config/mips/mips-ftypes.def: Sort to lexicographical order.
8744
8745 2016-01-06 Uros Bizjak <ubizjak@gmail.com>
8746
8747 PR target/69140
8748 * config/i386/i386.c (ix86_expand_prologue): Declare fs.sp_valid
8749 depending on frame_pointer_needed before remaining integer and SSE
8750 registers are saved.
8751
8752 2015-01-06 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
8753
8754 * config/rs6000/vsx.md (*p9_vecload_<mode>): Replace VSX_M
8755 mode iterator with VSX_M2.
8756 (*p9_vecstore_<mode>): Likewise.
8757 (*vsx_le_permute_<mode>): Restrict to !TARGET_P9_VECTOR.
8758 (*vsx_le_perm_load_<mode> for VSX_LE_128): Likewise.
8759 (*vsx_le_perm_store_<mode> for VSX_LE_128): Likewise.
8760 (define_split for VSX_LE128 stores): Likewise.
8761 (define_peephole2 for TImode LE swaps): Likewise.
8762 (define_split for VSX_LE128 post-reload stores): Likewise.
8763
8764 2016-01-06 Marek Polacek <polacek@redhat.com>
8765
8766 PR sanitizer/69099
8767 * convert.c (convert_to_integer_1): Adjust call to
8768 ubsan_instrument_float_cast. Use NULL_TREE instead of NULL.
8769 * ubsan.c (ubsan_instrument_float_cast): Drop the ARG parameter. Use
8770 EXPR instead of ARG.
8771 * ubsan.h (ubsan_instrument_float_cast): Adjust declaration.
8772
8773 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
8774
8775 PR 1078
8776 * doc/extend.texi (RL78 Variable Attributes): New section.
8777
8778 2016-01-05 Marek Polacek <polacek@redhat.com>
8779
8780 PR c/69104
8781 * builtins.c (get_memmodel): Use expansion point location rather than
8782 the input location. Call warning_at rather than warning.
8783 (expand_builtin_atomic_compare_exchange): Likewise.
8784 (expand_builtin_atomic_load): Likewise.
8785 (expand_builtin_atomic_store): Likewise.
8786 (expand_builtin_atomic_clear): Likewise.
8787
8788 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
8789
8790 PR target/68991
8791 * config/i386/i386.c (ix86_expand_vector_logical_operator):
8792 Replace nonimmediate_operand with vector_operand.
8793 * config/i386/predicates.md (vector_operand): New predicate.
8794 (general_vector_operand): Replace nonimmediate_operand with
8795 vector_operand.
8796 * config/i386/sse.md: Replace nonimmediate_operand with
8797 vector_operand and m constraint with Bm constraint on SSE
8798 patterns with 16-byte memory operand.
8799 * config/i386/subst.md (round_nimm_predicate): Replace
8800 nonimmediate_operand with vector_operand.
8801 (round_saeonly_nimm_predicate): Likewise.
8802 (round_saeonly_nimm_scalar_predicate): New.
8803
8804 2016-01-05 H.J. Lu <hongjiu.lu@intel.com>
8805
8806 PR target/68991
8807 * config/i386/constraints.md (Bm): New constraint.
8808 * config/i386/predicates.md (vector_memory_operand): New
8809 predicate.
8810 * config/i386/sse.md: Replace xm with xBm in plusminus and
8811 any_logic patterns.
8812
8813 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
8814
8815 PR 1078
8816 * doc/extend.texi (V850 Function Attributes): New section.
8817 (V850 Variable Attributes): New section.
8818
8819 2016-01-05 Sandra Loosemore <sandra@codesourcery.com>
8820
8821 PR 1078
8822 * doc/extend.texi (MicroBlaze Function Attributes): Document
8823 interrupt_handler and fast_interrupt attributes.
8824
8825 2016-01-05 Sergei Trofimovich <siarheit@google.com>
8826
8827 PR other/60465
8828 * config/ia64/ia64.c (ia64_expand_load_address): Use gprel64
8829 for local symbolic operands.
8830 * config/ia64/predicates.md (local_symbolic_operand64): New
8831 predicate.
8832
8833 2016-01-05 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8834
8835 PR rtl-optimization/68651
8836 * combine.c (combine_simplify_rtx): Canonicalize x + x into
8837 x << 1.
8838
8839 2016-01-05 Nathan Sidwell <nathan@acm.org>
8840
8841 * alias.c (compare_base_decls): Use symtab_node::get.
8842
8843 2016-01-05 Nick Clifton <nickc@redhat.com>
8844
8845 PR target/68770
8846 * ira-costs.c (copy_cost): Initialise the t_icode field of the
8847 secondary_reload_info structure.
8848
8849 PR target/66655
8850 * config/i386/cygming.h (MAKE_DECL_ONE_ONLY): Define to use weak
8851 decls if weak support is available.
8852
8853 2016-01-04 Martin Sebor <msebor@redhat.com>
8854
8855 * doc/invoke.texi (Warning Options): Document -Winvalid-memory-model.
8856
8857 2016-01-04 Michael Meissner <meissner@linux.vnet.ibm.com>
8858
8859 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add
8860 OPTION_MASK_P9_DFORM.
8861
8862 * config/rs6000/constraints.md (wo constraint): New constraint for
8863 ISA 3.0 (power9).
8864
8865 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add support
8866 for wo constraint.
8867 (rs6000_init_hard_regno_mode_ok): Likewise.
8868
8869 * config/rs6000/rs6000.h (r6000_reg_class_enum): Add support for
8870 wo constraint.
8871
8872 * config/rs6000/altivec.md (altivec_vperm_<mode>): Clean up vperm
8873 expanders not to have constraints. Add support for ISA 3.0 xxperm
8874 instruction. Add support for fusing xxlor with xxperm.
8875 (altivec_vperm_<mode>_internal): Likewise.
8876 (altivec_vperm_v8hiv16qi): Likewise.
8877 (altivec_vperm_<mode>v16q): Likewise.
8878 (altivec_vperm_<mode>_uns): Likewise.
8879 (vperm_v8hiv4si): Likewise.
8880 (vperm_v16qiv8hi): Likewise.
8881
8882 * doc/md.texi (RS/6000 constraints): Document wo constraint.
8883
8884 2016-01-04 Jakub Jelinek <jakub@redhat.com>
8885
8886 Update copyright years.
8887
8888 * gcc.c (process_command): Update copyright notice dates.
8889 * gcov-dump.c (print_version): Ditto.
8890 * gcov.c (print_version): Ditto.
8891 * gcov-tool.c (print_version): Ditto.
8892 * gengtype.c (create_file): Ditto.
8893 * doc/cpp.texi: Bump @copying's copyright year.
8894 * doc/cppinternals.texi: Ditto.
8895 * doc/gcc.texi: Ditto.
8896 * doc/gccint.texi: Ditto.
8897 * doc/gcov.texi: Ditto.
8898 * doc/install.texi: Ditto.
8899 * doc/invoke.texi: Ditto.
8900
8901 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
8902
8903 * config/arm/arm.c (aapcs_vfp_allocate_return_reg): Treat all integer
8904 modes larger than TImode as TImode if NEON is not enabled.
8905
8906 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
8907
8908 PR target/69100
8909 * config/sparc/sparc.h (FUNCTION_ARG_REGNO_P): Return true in 64-bit
8910 mode for %f0-%f31 only if TARGET_FPU.
8911
8912 2016-01-04 Eric Botcazou <ebotcazou@adacore.com>
8913
8914 PR target/69072
8915 * config/sparc/sparc.c (scan_record_type): Take into account subfields
8916 to compute the PACKED_P predicate.
8917 (function_arg_record_value): Minor tweaks.
8918
8919 2016-01-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
8920
8921 * doc/install.texi (--with-multilib-list): Describe the meaning of the
8922 option for arm*-*-* targets.
8923
8924 2016-01-03 Sandra Loosemore <sandra@codesourcery.com>
8925
8926 * doc/extend.texi (Common Function Attributes): Move docs for
8927 MSP430-specific attributes to....
8928 (MSP430 Function Attributes): ...here. Delete the redundant
8929 entries and copy-edit the remaining text.
8930 (MSP430 Variable Attributes): Use uniform format for index
8931 entries and add a cross-reference to the corresponding function
8932 attribute docs.
8933
8934 2016-01-03 Vladimír Čunát <vcunat@gmail.com>
8935
8936 * doc/invoke.texi (RS/6000 and PowerPC Options): Fix
8937 -finite-math typo.
8938 (x86 Options): Likewise.
8939
8940 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
8941
8942 PR 1078
8943
8944 * extend.texi (Common Function Attributes) <no_stack_limit>: New.
8945 * invoke.texi (Code Gen Options) <-fno-stack-limit>: Add pointer
8946 to corresponding attribute.
8947
8948 2016-01-01 Sandra Loosemore <sandra@codesourcery.com>
8949
8950 * doc/extend.texi (Common Function Attributes) <noplt>: Move
8951 to correct alphabetization of table. Copy-edit and correct
8952 markup.
8953 <stack_protect>: Likewise.
8954 <target_clones>: Likewise.
8955 <simd>: Likewise.
8956 * doc/invoke.texi (Optimize Options) <-fstack-protector-explicit>:
8957 Correct punctuation.
8958 (Code Gen Options) <-fno-plt>: Copy-edit.
8959
8960 2016-01-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
8961
8962 PR target/68917
8963 * config/tilegx/tilegx.md (clzsi2): Don't create DI subregs of
8964 SI values. Explicitly convert SI to DI and vice-versa.
8965
8966 2016-01-01 Jakub Jelinek <jakub@redhat.com>
8967
8968 PR tree-optimization/69070
8969 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Only test
8970 REAL_VALUE_ISSIGNALING_NAN on arg0 if arg0 is a REAL_CST.
8971
8972 PR sanitizer/69055
8973 * ubsan.c (ubsan_instrument_float_cast): Call
8974 initialize_sanitizer_builtins.
8975
8976 PR target/69015
8977 * ifcvt.c (find_cond_trap): Give up if returnjump_p (jump).
8978 \f
8979 Copyright (C) 2016 Free Software Foundation, Inc.
8980
8981 Copying and distribution of this file, with or without modification,
8982 are permitted in any medium without royalty provided the copyright
8983 notice and this notice are preserved.