]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
08efe78faabc304476b09eb30f1c075fe04ad2f2
[thirdparty/gcc.git] / gcc / ChangeLog
1 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
2
3 * graphite-dependences.c (scop_get_reads): Renamed scop->context
4 to scop->param_context.
5 (scop_get_must_writes): Same.
6 (scop_get_may_writes): Same.
7 (scop_get_original_schedule): Same.
8 (scop_get_transformed_schedule): Same.
9 (subtract_commutative_associative_deps): Same.
10 * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
11 (generate_isl_context): Same.
12 (generate_isl_schedule): Same.
13 (scop_to_isl_ast): Same.
14 (graphite_regenerate_ast_isl): Same.
15 * graphite-optimize-isl.c (scop_get_domains): Same.
16 (optimize_isl): Renamed scop->context to scop->param_context.
17 * graphite-poly.c (new_poly_bb): Change the type of argument to
18 gimple_poly_bb_p.
19 (new_scop): Renamed scop->context to scop->param_context.
20 (free_scop): Same.
21 (print_scop_context): Same.
22 * graphite-poly.h (new_poly_dr): Change the type of argument from
23 void* to data_reference_p.
24 (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
25 (new_poly_bb): Change the type of argument from void* to
26 gimple_poly_bb_p.
27 (pbb_set_black_box): Same.
28 (struct scop): Rename context to param_context, ctx to isl_context.
29 * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
30 Move declarations closer to assignment.
31 (find_params_in_bb): Same.
32 (find_scop_parameters): Same.
33 * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
34 Global to be used for statement IDs.
35 (isl_id_for_pbb): Use ssa_name_version_typesize.
36 (simple_copy_phi_p): Move declarations closer to assignment.
37 (build_pbb_scattering_polyhedrons): Same.
38 (build_scop_scattering): Same.
39 (isl_id_for_ssa_name): Same.
40 (extract_affine_name): Same.
41 (extract_affine_int): Same.
42 (extract_affine): Same.
43 (set_scop_parameter_dim): Use renamed member.
44 (build_loop_iteration_domains): Same.
45 (add_param_constraints): Same.
46 (build_scop_iteration_domain): Same.
47 (pdr_add_data_dimensions): Same.
48 (build_poly_dr): Same.
49 (build_scop_drs): Move declarations closer to assignment.
50 (analyze_drs_in_stmts): Same.
51 (insert_out_of_ssa_copy): Same.
52 (insert_out_of_ssa_copy_on_edge): Same.
53 (propagate_expr_outside_region): Same.
54 (rewrite_phi_out_of_ssa): Same.
55 (rewrite_degenerate_phi): Same.
56 (rewrite_reductions_out_of_ssa): Same.
57 (rewrite_cross_bb_scalar_dependence): Same.
58 (handle_scalar_deps_crossing_scop_limits): Same.
59 (rewrite_cross_bb_scalar_deps): Same.
60 * graphite.c (graphite_transform_loops): Use renamed member.
61
62 2015-10-06 Uros Bizjak <ubizjak@gmail.com>
63
64 PR c/65345
65 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
66 create_tmp_var_raw instead of create_tmp_var.
67
68 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
69
70 PR c/65345
71 * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
72 Use create_tmp_var_raw instead of create_tmp_var.
73
74 2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
75
76 PR target/67849
77 * config/i386/sse.md (define_split vec_select/V8FI): Restrict
78 split for upper-bank registers when target does not support
79 AVX512VL.
80 (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
81 split when target does not support AVX512VL.
82
83 2015-10-06 David Edelsohn <dje.gcc@gmail.com>
84
85 PR c/65345
86 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
87 Adjust to use create_tmp_var_raw instead of create_tmp_var.
88
89 2015-10-06 Nick Clifton <nickc@redhat.com>
90
91 * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
92 multiplication.
93
94 2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
95
96 * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
97 (case ${target}): Add znver1.
98 * config/i386/cpuid.h(bit_CLZERO): Define.
99 * config/i386/driver-i386.c: (host_detect_local_cpu): Let
100 -march=native recognize znver1 processors.
101 * config/i386/i386-c.c (ix86_target_macros_internal): Add
102 znver1, clzero def_and_undef.
103 * config/i386/i386.c (struct processor_costs znver1_cost): New.
104 (m_znver1): New definition.
105 (m_AMD_MULTIPLE): Includes m_znver1.
106 (processor_target_table): Add znver1 entry.
107 (ix86_target_string) : Add clzero entry.
108 (static const char *const cpu_names): Add znver1 entry.
109 (ix86_option_override_internal): Add znver1 instruction sets.
110 (PTA_CLZERO) : New definition.
111 (ix86_option_override_internal): Handle new clzerooption.
112 (ix86_issue_rate): Add znver1.
113 (ix86_adjust_cost): Add znver1.
114 (ia32_multipass_dfa_lookahead): Add znver1.
115 (has_dispatch): Add znver1.
116 * config/i386/i386.h (TARGET_znver1): New definition.
117 (TARGET_CLZERO): Define.
118 (TARGET_CLZERO_P): Define.
119 (struct ix86_size_cost): Add TARGET_ZNVER1.
120 (enum processor_type): Add PROCESSOR_znver1.
121 * config/i386/i386.md (define_attr "cpu"): Add znver1.
122 (set_attr znver1_decode): New definitions for znver1.
123 * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
124 (mclzero): New.
125 * config/i386/mmx.md (set_attr znver1_decode): New definitions
126 for znver1.
127 * config/i386/sse.md (set_attr znver1_decode): Likewise.
128 * config/i386/x86-tune.def: Add znver1 tunings.
129 * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
130 * gcc/doc/invoke.texi: Add details about znver1
131
132 2015-10-06 Richard Biener <rguenther@suse.de>
133
134 PR tree-optimization/67859
135 * tree-ssa-pre.c (create_expression_by_pieces): Properly
136 discard not inserted stmts.
137
138 2015-10-06 Jonathan Wakely <jwakely@redhat.com>
139
140 * doc/extend.texi (Template Instantiation): Reorder options and
141 de-emphasize -frepo.
142 * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
143 example instead of -frepo.
144
145 2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
146
147 PR c/65345
148 * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
149 use create_tmp_var_raw rather than create_tmp_var.
150
151 2015-10-06 Richard Biener <rguenther@suse.de>
152
153 * tree-vectorizer.h (vec_info): New base class for...
154 (_loop_vec_info): ... this and ...
155 (_bb_vec_info): ... this.
156 (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
157 vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
158 vect_analyze_data_ref_accesses, vect_analyze_data_refs,
159 vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
160 vect_destroy_datarefs): Adjust interface to take a vec_info *
161 rather than both a loop_vec_info and a bb_vec_info argument.
162 * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
163 vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
164 vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
165 vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
166 accordingly.
167 * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
168 (destroy_loop_vec_info, vect_analyze_loop_2,
169 vect_is_simple_reduction_1, get_initial_def_for_induction,
170 vect_create_epilog_for_reduction, vectorizable_reduction,
171 vectorizable_live_operation, vect_transform_loop): Adjust.
172 * tree-vect-patterns.c (type_conversion_p,
173 vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
174 vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
175 vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
176 check_bool_pattern, vect_recog_bool_pattern,
177 vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
178 * tree-vect-slp.c (vect_get_and_check_slp_defs,
179 vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
180 vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
181 vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
182 (new_bb_vec_info): Initialize base classs.
183 * tree-vect-stmts.c (record_stmt_cost, process_use,
184 vect_get_vec_def_for_operand, vect_finish_stmt_generation,
185 vectorizable_mask_load_store, vectorizable_call,
186 vectorizable_simd_clone_call, vectorizable_conversion,
187 vectorizable_assignment, vectorizable_shift,
188 vectorizable_operation, vectorizable_store,
189 vectorizable_load, vect_is_simple_cond, vectorizable_condition,
190 new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
191 * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
192
193 2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
194
195 PR c/65345
196 * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
197 create_tmp_var_raw rather than create_tmp_var.
198
199 2015-10-05 Marek Polacek <polacek@redhat.com>
200
201 * tree-ssa-loop-im.c
202 (move_computations_dom_walker::before_dom_children): Don't set
203 SSA_NAME_ANTI_RANGE_P.
204 * tree-ssa-phiopt.c (value_replacement): Likewise.
205
206 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
207 Sebastian Pop <s.pop@samsung.com>
208
209 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
210
211 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
212 Sebastian Pop <s.pop@samsung.com>
213
214 * graphite-poly.c (new_gimple_poly_bb): ... here.
215 (free_data_refs_aux): ... here.
216 (free_gimple_poly_bb): ... here.
217 (remove_gbbs_in_scop): ... here.
218 (new_scop): Call new_sese.
219 (free_scop): Call remove_gbbs_in_scop and free_sese.
220 * graphite-poly.h (base_alias_pair): ... here.
221 (new_gimple_poly_bb): Declare.
222 (free_gimple_poly_bb): Declare.
223 * graphite-scop-detection.c (parameter_index_in_region_1):
224 (parameter_index_in_region): ... here.
225 (scan_tree_for_params): ... here.
226 (find_params_in_bb): ... here.
227 (find_scop_parameters): ... here.
228 (build_scops): Call find_scop_parameters.
229 * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
230 (free_scops): Move...
231 (single_pred_cond_non_loop_exit): Move...
232 (sese_dom_walker::before_dom_children): Move...
233 (sese_dom_walker::after_dom_children): Move...
234 (build_poly_scop): Move...
235 * graphite-sese-to-poly.h (base_alias_pair): Move...
236 * graphite.c (free_scops): ... here.
237
238 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
239 Sebastian Pop <s.pop@samsung.com>
240
241 * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
242 (trivially_empty_bb_p): Move...
243 (same_close_phi_node): Move...
244 (new_gimple_poly_bb): Move...
245 (compare_bb_depths): Move...
246 (graphite_sort_dominated_info): Move...
247 (remove_duplicate_close_phi): Move...
248 (make_close_phi_nodes_unique): Move...
249 (canonicalize_loop_closed_ssa): Move...
250 (canonicalize_loop_closed_ssa_form): Move...
251 (loop_ivs_can_be_represented): Move...
252 (single_pred_cond_non_loop_exit): Move...
253 (graphite_can_represent_init): Move...
254 (graphite_can_represent_scev): Move...
255 (stmt_has_simple_data_refs_p): Move...
256 (stmt_has_side_effects): Move...
257 (graphite_can_represent_stmt): Move...
258 (scop_detection): ... here.
259 (sese_dom_walker): ... and here.
260 (build_scops): Call all moved functions.
261 * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
262 (all_non_dominated_preds_marked_p): Move...
263 (build_scop_bbs_1): Move...
264 (build_scop_bbs): Move...
265 (set_scop_parameter_dim): Move...
266 (nb_pbbs_in_loops): Move...
267 (build_poly_scop): Do not call all the moved functions.
268
269 2015-10-05 Martin Jambor <mjambor@suse.cz>
270 Jan Hubicka <hubicka@ucw.cz>
271
272 * ipa-cp.c (ipcp_alignment_lattice): New type.
273 (ipcp_param_lattices): Use the above to represent alignment.
274 (ipcp_alignment_lattice::print): New function.
275 (print_all_lattices): Use it to print alignment information.
276 (ipcp_alignment_lattice::top_p): New function.
277 (ipcp_alignment_lattice::bottom_p): Likewise.
278 (ipcp_alignment_lattice::set_to_bottom): Likewise.
279 (ipcp_alignment_lattice::meet_with_1): Likewise.
280 (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
281 (set_all_contains_variable): Use set_to_bottom of alignment lattice.
282 (initialize_node_lattices): Likewise.
283 (propagate_alignment_accross_jump_function): Work with the new class
284 for alignment lattices.
285 (propagate_constants_accross_call): Pass only the alignment lattice to
286 propagate_alignment_accross_jump_function.
287 (ipcp_store_alignment_results): Work with the new class for alignment
288 lattices.
289
290 2015-10-05 Marek Polacek <polacek@redhat.com>
291
292 PR tree-optimization/67821
293 * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
294
295 2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
296
297 PR other/65021
298 * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
299 function to...
300 (mkoffload_cleanup): ... this. Adjust all users.
301 (maybe_unlink): Look at save_temps and verbose flags instead of
302 debug flag.
303 (main): Parse "-save-temps" flag.
304 (generate_target_descr_file, generate_target_offloadend_file)
305 (generate_host_descr_file, prepare_target_image): Pass it on.
306 * config/nvptx/mkoffload.c (tool_cleanup): Implement.
307 (mkoffload_cleanup): New function.
308 (maybe_unlink): Look at save_temps and verbose flags instead of
309 debug flag.
310 (main): Instead of calling utils_cleanup, register atexit handler
311 for mkoffload_cleanup.
312 (main): Parse "-save-temps" flag.
313 (compile_native, main): Pass it on.
314 * lto-wrapper.c (compile_offload_image): Likewise.
315
316 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
317
318 * gimple.h (gimple_op_ptr): Require a non const gimple *.
319 (gimple_assign_lhs_ptr): Likewise.
320 (gimple_assign_rhs1_ptr): Likewise.
321 (gimple_assign_rhs2_ptr): Likewise.
322 (gimple_assign_rhs3_ptr): Likewise.
323 (gimple_call_lhs_ptr): Likewise.
324 (gimple_call_fn_ptr): Likewise.
325 (gimple_call_chain_ptr): Likewise.
326 (gimple_call_arg_ptr): Likewise.
327 (gimple_cond_lhs_ptr): Likewise.
328 (gimple_cond_rhs_ptr): Likewise.
329 (gimple_switch_index_ptr): Likewise.
330 (gimple_return_retval_ptr): Likewise.
331
332 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
333
334 * gimple.h (gimple_asm_input_op_ptr): Remove.
335 (gimple_asm_output_op_ptr): Likewise.
336
337 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
338
339 * gimple.h (gimple_location_ptr): Remove.
340 * tree-vrp.c (check_all_array_refs): Adjust.
341
342 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
343
344 * tree-ssa-operands.c (build_uses): store tree * instead of
345 tree.
346 (finalize_ssa_uses): Adjust.
347 (append_use): Likewise.
348 (verify_ssa_operands): Likewise.
349
350 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
351
352 * real.h (build_real_truncate): Declare.
353 * tree.c (build_real_truncate): New function.
354 (strip_float_extensions): Use it.
355 * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
356 (fold_builtin_hypot, fold_builtin_pow): Likewise.
357 * match.pd: Likewise.
358
359 2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
360 Jiong Wang <jiong.wang@arm.com>
361
362 * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
363
364 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
365
366 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
367 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
368 (aarch64_print_operand, aarch64_float_const_representable_p)
369 (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
370 instead of REAL_VALUE_FROM_CONST_DOUBLE.
371 * config/arc/arc.c (arc_print_operand): Likewise.
372 * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
373 (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
374 (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
375 Likewise.
376 * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
377 (consttable_16): Likewise.
378 * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
379 * config/avr/avr.c (avr_print_operand): Likewise.
380 * config/bfin/bfin.md: Likewise (in a define_split).
381 * config/c6x/c6x.md: Likewise (in a define_split).
382 * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
383 (cr16_print_operand): Likewise.
384 * config/cris/cris.c (cris_print_operand): Likewise.
385 * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
386 * config/fr30/fr30.c (fr30_print_operand): Likewise.
387 (fr30_const_double_is_zero): Likewise.
388 * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
389 * config/frv/frv.md: Likewise (in a define_split).
390 * config/frv/predicates.md (int_2word_operand): Likewise.
391 * config/h8300/h8300.c (h8300_print_operand): Likewise.
392 * config/i386/i386.c (standard_80387_constant_p): Likewise.
393 (ix86_print_operand, ix86_split_to_parts): Likewise.
394 * config/i386/i386.md: Likewise (in a define_split).
395 * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
396 * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
397 * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
398 * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
399 (print_operand): Likewise.
400 * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
401 * config/mep/mep.md: Likewise (in define_split).
402 * config/microblaze/microblaze.c (microblaze_const_double_ok)
403 (print_operand): Likewise.
404 * config/mips/mips.md (consttable_float): Likewise.
405 * config/mmix/mmix.c (mmix_intval): Likewise.
406 * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
407 * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
408 * config/pa/pa.c (pa_singlemove_string): Likewise.
409 * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
410 (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
411 * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
412 (output_toc): Likewise.
413 * config/rs6000/rs6000.md: Likewise (in define_splits).
414 * config/rx/rx.c (rx_print_operand): Likewise.
415 * config/s390/s390.c (s390_output_pool_entry): Likewise.
416 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
417 * config/sh/sh.md (consttable_sf, consttable_df): Likewise
418 (and also in define_splits).
419 * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
420 (fp_high_losum_p): Likewise.
421 * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
422 (*movsf_high): Likewise.
423 * config/spu/spu.c (const_double_to_hwint): Likewise.
424 * config/v850/v850.c (const_double_split): Likewise.
425 * config/vax/vax.c (vax_float_literal): Likewise.
426 * config/visium/visium.c (visium_expand_copysign): Likewise.
427 * config/visium/visium.md: Likewise (in define_split).
428 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
429 * config/xtensa/xtensa.c (print_operand): Likewise.
430 (xtensa_output_literal): Likewise.
431 * cprop.c (implicit_set_cond_p): Likewise.
432 * dwarf2out.c (insert_float): Likewise.
433 * expmed.c (expand_mult, make_tree): Likewise.
434 * expr.c (compress_float_constant): Likewise.
435 * rtlanal.c (split_double): Likewise.
436 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
437 (simplify_const_unary_operation, simplify_binary_operation_1)
438 (simplify_const_binary_operation): Likewise.
439 (simplify_const_relational_operation): Likewise.
440 * varasm.c (output_constant_pool_2): Likewise.
441
442 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
443
444 * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
445 instead of CONST_DOUBLE_FROM_REAL_VALUE.
446 (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
447 * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
448 instead of CONST_DOUBLE_FROM_REAL_VALUE.
449 * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
450 * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
451 (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
452 (ix86_emit_swsqrtsf): Likewise.
453 * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
454 * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
455 (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
456 * config/pa/pa.c (pa_expand_builtin): Likewise.
457 * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
458 (rs6000_scale_v2df): Likewise.
459 * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
460 * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
461 (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
462 * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
463 (vec_ctul): Likewise.
464 * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
465 * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
466 * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
467 * cse.c (fold_rtx): Likewise.
468 * emit-rtl.c (immed_double_const): Likewise (in comments).
469 (init_emit_once): Likewise.
470 * expr.c (compress_float_constant, expand_expr_real_1)
471 (const_vector_from_tree): Likewise.
472 * optabs.c (expand_float, expand_fix): Likewise.
473 * reg-stack.c (reg_to_stack): Likewise.
474 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
475 (simplify_const_unary_operation, simplify_binary_operation_1)
476 (simplify_const_binary_operation, simplify_relational_operation)
477 (simplify_immed_subreg): Likewise.
478
479 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
480
481 * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
482 * doc/tm.texi: Regenerate.
483 * real.h (REAL_ARITHMETIC): Delete.
484 * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
485 (ix86_expand_round_sse4): Use real_arithmetic instead of
486 REAL_ARITHMETIC.
487 * config/i386/sse.md (round<mode>2): Likewise.
488 * rtl.h (rtx_to_tree_code): Likewise (in comment).
489 * explow.c (rtx_to_tree_code): Likewise (in comment).
490 * match.pd: Likewise.
491 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
492 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
493 (expand_pow_as_sqrts): Likewise.
494 * tree-pretty-print.c (dump_generic_node): Remove code that
495 was conditional on REAL_ARITHMETIC being undefined.
496
497 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
498
499 * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
500 * doc/tm.texi: Regenerate.
501 * real.h (real_less): Declare.
502 (REAL_VALUES_LESS): Delete.
503 * real.c (real_less): New function.
504 (real_compare): Use it.
505 * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
506 of REAL_VALUES_LESS.
507 * config/microblaze/microblaze.c (microblaze_const_double_ok):
508 Likewise.
509 * fold-const.c (fold_convert_const_int_from_real): Likewise.
510 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
511 (simplify_const_relational_operation): Likewise.
512 * tree-call-cdce.c (check_pow): Likewise.
513 (gen_conditions_for_pow_cst_base): Likewise.
514
515 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
516
517 * real.h (REAL_VALUES_IDENTICAL): Delete.
518 * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
519 instead of REAL_VALUES_IDENTICAL.
520 * fold-const.c (operand_equal_p): Likewise.
521 * ipa-icf.c (sem_variable::equals): Likewise.
522 * tree-complex.c (some_nonzerop): Likewise.
523 (expand_complex_multiplication): Likewise.
524 * tree.c (simple_cst_equal): Likewise.
525 * varasm.c (compare_constant): Likewise.
526
527 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
528
529 * real.h (real_equal): Declare.
530 (REAL_VALUES_EQUAL): Delete.
531 * real.c (real_equal): New function.
532 (real_compare): Use it.
533 * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
534 * doc/tm.texi: Regenerate.
535 * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
536 real_equal instead of REAL_VALUES_EQUAL.
537 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
538 * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
539 (fp_const_from_val): Likewise.
540 * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
541 * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
542 (floating_exact_log2): Likewise.
543 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
544 * config/vax/vax.c (vax_float_literal): Likewise.
545 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
546 * cprop.c (implicit_set_cond_p): Likewise.
547 * expmed.c (expand_mult): Likewise.
548 * fold-const.c (const_binop): Likewise.
549 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
550 (simplify_const_binary_operation): Likewise.
551 (simplify_const_relational_operation): Likewise.
552 * tree-call-cdce.c (check_pow): Likewise.
553 (gen_conditions_for_pow_cst_base): Likewise.
554 * tree-inline.c (estimate_num_insns): Likewise.
555 * tree-ssa-dom.c (record_equality): Likewise.
556 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
557 (gimple_expand_builtin_pow): Likewise.
558 (pass_optimize_widening_mul::execute): Likewise.
559 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
560 * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
561 * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
562
563 2015-10-05 Richard Biener <rguenther@suse.de>
564
565 PR ipa/67783
566 * ipa-inline-analysis.c (estimate_function_body_sizes): Only
567 consider loop header PHI defs as IVs.
568
569 2015-10-05 Richard Biener <rguenther@suse.de>
570
571 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
572 call handling ...
573 (create_expression_by_pieces): ... here and build GIMPLE
574 calls directly. Use gimple_build API and avoid force_gimple_operand.
575 (insert_into_preds_of_block): Simplify.
576 (do_regular_insertion): Add comment.
577
578 2015-10-04 Jason Merrill <jason@redhat.com>
579
580 * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
581
582 2015-10-04 Uros Bizjak <ubizjak@gmail.com>
583
584 * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
585 check for general register.
586 (ix86_emit_save_regs): Ditto.
587 (ix86_emit_save_regs_using_mov): Ditto.
588 (ix86_emit_restore_regs_using_pop): Ditto.
589 (ix86_emit_restore_regs_using_mov): Ditto.
590
591 2015-10-03 Marek Polacek <polacek@redhat.com>
592
593 * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
594 (insn-dfatab.o): Likewise.
595
596 2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
597
598 * config.gcc (xtensa*-*-uclinux*): New configuration.
599 * config/xtensa/uclinux.h: New file.
600 * config/xtensa/uclinux.opt: New file.
601
602 2015-10-03 Jonathan Wakely <jwakely@redhat.com>
603
604 * doc/cpp.texi (Standard Predefined Macros): Document value of
605 __cplusplus for C++14.
606
607 2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
608
609 * gcc.c (process_command): Use spec_machine rather than
610 spec_host_machine to build tooldir_prefix2.
611
612 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
613 Bernd Schmidt <bernds@codesourcery.com>
614
615 * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
616 (Token, Stmt): Remove structs.
617 (decls, vars, fns): Remove variables.
618 (alloc_comment, append_stmt, is_keyword): Remove macros.
619 (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
620 (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
621 (parse_init, parse_file): Remove functions.
622 (read_file): Accept a pointer to a length and store into it.
623 (process): Don't try to parse the input file, just write it out as
624 a string, but looking for maps. Also write out the length.
625 (main): Don't use "-S" to compile PTX code.
626
627 2015-10-02 Jeff Law <law@redhat.com>
628
629 * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
630 fixups.
631
632 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
633
634 PR target/67822
635 * config/nvptx/mkoffload.c (main): Scan the argument vector for
636 -fopenmp, and skip generating an offloading image if specified.
637
638 2015-10-02 Uros Bizjak <ubizjak@gmail.com>
639
640 * system.h (ROUND_UP): New macro definition.
641 (ROUND_DOWN): Ditto.
642 * ggc-page.c (ROUND_UP): Remove local macro definition.
643 (PAGE_ALIGN): Implement using ROUND_UP macro.
644
645 * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
646 * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
647 to align values.
648 (ix86_compute_frame_layout): Ditto.
649 (ix86_expand_prologue): Ditto.
650 (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
651 to round down values.
652 (expand_set_or_movmem_via_rep): Ditto.
653
654 2015-10-02 Marek Polacek <polacek@redhat.com>
655
656 * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
657
658 2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
659
660 * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
661 (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
662 * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
663 (free_gimple_bb): Renamed free_gimple_poly_bb.
664 (try_generate_gimple_bb): Hoist loop invariant code.
665 (analyze_drs_in_stmts): Same.
666 (build_scop_drs): Call renamed functions.
667 (new_pbb_from_pbb): Same.
668 (scop_ivs_can_be_represented): Delete as functionality now moved to
669 graphite-scop-detection.c
670 (build_poly_scop): Remove call to scop_ivs_can_be_represented.
671
672 2015-10-02 Aditya Kumar <hiraditya@msn.com>
673
674 * graphite-scop-detection.c (stmt_has_side_effects): New function
675 outlined from stmt_simple_for_scop_p.
676 (graphite_can_represent_stmt): Same.
677 (stmt_simple_for_scop_p): Moved code out of this function for better
678 readability.
679
680 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
681
682 * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
683 F_AVX512IFMA.
684 (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
685
686 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
687
688 * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
689
690 2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
691
692 PR rtl-optimization/67756
693 * lra-constraints.c (match_reload): Add a new parameter. Use it
694 for creating a pseudo with the same value.
695 (curr_insn_transform): Pass a new argument to match_reload.
696
697 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
698
699 * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
700 (expand_vec_perm_even_odd_1): Handle V64QImode.
701 (ix86_expand_vec_perm_const_1): Try expansion with
702 expand_vec_perm_even_odd_trunc as well.
703 * config/i386/sse.md (VI124_AVX512F): Rename to ...
704 (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
705 to V54QI.
706 (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
707 (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
708 to V32HI and V16SI.
709 (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
710 (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
711 (define_expand "vec_unpacks_lo_<mode>"): Ditto.
712 (define_expand "vec_unpacks_hi_<mode>"): Ditto.
713 (define_expand "vec_unpacku_lo_<mode>"): Ditto.
714 (define_expand "vec_unpacku_hi_<mode>"): Ditto.
715
716 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
717
718 * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
719 -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
720
721 2015-10-02 Jason Merrill <jason@redhat.com>
722
723 PR c/59218
724 * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
725 (diagnose_tm_1_op): Also diagnose volatile accesses in
726 transaction_safe function.
727
728 2015-10-02 Jonathan Wakely <jwakely@redhat.com>
729
730 * system.h (malloc.h): Don't include obsolete header.
731
732 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
733
734 * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
735 (TLS_SECTION_ASM_FLAG): Delete.
736
737 2015-10-02 Marek Polacek <polacek@redhat.com>
738
739 PR c/64249
740 * doc/invoke.texi: Document -Wduplicated-cond.
741 * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
742 (insn-dfatab.o): Likewise.
743 * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
744 warning.
745
746 2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
747
748 * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
749 sequences.
750
751 2015-10-02 Renlin Li <renlin.li@arm.com>
752
753 * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
754
755 2015-10-02 Renlin Li <renlin.li@arm.com>
756
757 PR target/66776
758 * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
759
760 2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
761
762 PR rtl-optimization/67786
763 PR rtl-optimization/67787
764 * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
765 it modifies a reg used in the condition calculation.
766
767 2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
768
769 * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
770 alternatives for reads from memory and moves from general-purpose
771 registers.
772 (*aarch64_combinez_be<mode>): Likewise.
773
774 2015-10-02 Kai Tietz <ktietz70@googlemail.com>
775
776 PR target/51726
777 * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
778 selectany within this function without need to keep attribute.
779 (i386_pe_encode_section_info): Remove selectany-code.
780
781 2015-10-02 Richard Biener <rguenther@suse.de>
782
783 * tree-ssa-sccvn.c (has_VN_INFO): New function.
784 (free_scc_vn): Use it.
785 (visit_use): Remove dead code and refactor to use gassign
786 and use less indentation.
787
788 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
789
790 PR target/67788
791 PR target/67789
792 * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
793 (rs6000_cannot_copy_insn_p): New function.
794 * config/rs6000/rs6000.md (cannot_copy): New attribute.
795 (load_toc_v4_PIC_1_normal): Set cannot_copy.
796 (load_toc_v4_PIC_1_476): Ditto.
797
798 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
799
800 * graphite-scop-detection.c (struct sese_l): New conversion constructor
801 so that this type can be pushed into a vec.
802 (class scop_builder): use sese_l to collect scops.
803 (get_scops): New getter function.
804 (remove_intersecting_scops): Use sese_l instead of scops_p.
805 (intersects): Same.
806 (add_scop): Same.
807 (subsumes): Same.
808 (remove_subscops): Same.
809 (build_scops): Add scops to vec<scops_p> once all the scops have been
810 detected.
811
812 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
813
814 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
815 Renamed type from gimple_bb_p to gimple_poly_bb_p.
816 (translate_isl_ast_node_user): Same.
817 * graphite-poly.c (new_poly_bb): Same.
818 * graphite-poly.h (gbb_from_bb): Same.
819 * sese.h: Same.
820 * graphite-sese-to-poly.c (new_gimple_bb): gimple_bb_p -> gimple_poly_bb_p
821 (build_scop_scattering): Same.
822 (find_params_in_bb): Same.
823 (add_conditions_to_domain): Same.
824 (sese_dom_walker::before_dom_children): Same.
825 (analyze_drs_in_stmts): Same.
826 (new_pbb_from_pbb): Same.
827 (free_data_refs_aux): New pointer to type base_alias_pair.
828 * graphite-sese-to-poly.h: Same.
829 * sese.c (if_region_set_false_region): Fixed Indentation.
830 (move_sese_in_condition): Same.
831
832 2015-10-01 Sebastian Pop <s.pop@samsung.com>
833 Aditya Kumar <aditya.k7@samsung.com>
834
835 PR tree-optimization/66980
836 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
837 when data reference analysis has failed.
838
839 2015-10-01 Sebastian Pop <s.pop@samsung.com>
840 Aditya Kumar <aditya.k7@samsung.com>
841
842 PR tree-optimization/67754
843 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
844 scev analysis on the same loop nest as analyze_drs_in_stmts.
845 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
846 renamed...
847 (try_generate_gimple_bb): Call outermost_loop_in_sese.
848 (analyze_drs_in_stmts): Same.
849 * sese.c (outermost_loop_in_sese): ...here.
850
851 2015-10-01 Sebastian Pop <s.pop@samsung.com>
852 Aditya Kumar <aditya.k7@samsung.com>
853
854 PR tree-optimization/67754
855 * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
856 recursion on the inner loops.
857
858 2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
859
860 * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
861 function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
862 tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
863 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
864 tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
865
866 2015-10-01 Marek Polacek <polacek@redhat.com>
867
868 PR c/65345
869 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
870 create_tmp_var_raw rather than create_tmp_var.
871
872 2015-10-01 Marek Polacek <polacek@redhat.com>
873
874 PR tree-optimization/67769
875 * tree-ssa-phiopt.c (conditional_replacement): Call
876 reset_flow_sensitive_info_in_bb.
877 (minmax_replacement): Likewise.
878 (abs_replacement): Likewise.
879
880 2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
881
882 * builtins.c: Don't include gomp-constants.h.
883 (fold_builtin_1): Don't fold acc_on_device here.
884 * gimple-fold.c: Include gomp-constants.h.
885 (gimple_fold_builtin_acc_on_device): New.
886 (gimple_fold_builtin): Call it.
887
888 2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
889
890 * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
891 (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
892
893 2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
894
895 * config/arm/aarch-common-protos.h
896 (aarch_accumulator_forwarding): New.
897 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
898 * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
899 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
900 * config/arm/cortex-a53.md: Rewrite.
901
902 2015-10-01 Richard Biener <rguenther@suse.de>
903
904 * gimple-match.h (mprts_hook): Declare.
905 * gimple-match.head.c (mprts_hook): Define.
906 (maybe_push_res_to_seq): Use new hook.
907 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
908 * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
909 (vn_ssa_aux::has_constants): Remove.
910 * tree-ssa-sccvn.c: Include gimple-match.h.
911 (VN_INFO_GET): Assert we don't re-use SSA names.
912 (vn_get_expr_for): Remove.
913 (expr_has_constants): Likewise.
914 (stmt_has_constants): Likewise.
915 (simplify_binary_expression): Likewise.
916 (simplify_unary_expression): Likewise.
917 (vn_lookup_simplify_result): New hook.
918 (visit_copy): Adjust.
919 (visit_reference_op_call): Likewise.
920 (visit_phi): Likewise.
921 (visit_use): Likewise.
922 (process_scc): Likewise.
923 (init_scc_vn): Likewise.
924 (visit_reference_op_load): Likewise. Use match-and-simplify and
925 a gimple seq for inserted expressions.
926 (try_to_simplify): Remove GENERIC stmt combining code.
927 (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
928 * tree-ssa-pre.c (eliminate_insert): Adjust.
929 (eliminate_dom_walker::before_dom_children): Likewise.
930
931 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
932
933 * doc/invoke.texi (Optimization Options): Add
934 -freorder-blocks-algorithm=.
935 (Optimize Options) <-O>: Add -freorder-blocks.
936 <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
937 <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
938 <-freorder-blocks>: Also enabled at levels -O and -Os.
939 <-freorder-blocks-algorithm=>: Document new option.
940
941 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
942
943 * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
944 with flag_reorder_blocks_algorithm.
945 * common.opt (freorder-blocks-algorithm=): New flag.
946 (reorder_blocks_algorithm): New enum.
947 * flag-types.h (reorder_blocks_algorithm): New enum.
948 * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
949 and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
950
951 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
952
953 * bb-reorder.c: Add intro comment.
954 (reorder_basic_blocks_software_trace_cache): Print a header to
955 the dump file.
956 (edge_order): New function.
957 (reorder_basic_blocks_simple): New function.
958 (reorder_basic_blocks): Choose between the STC and the simple
959 algorithms (always choose the former).
960
961 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
962
963 * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
964 function, factored out from ...
965 (reorder_basic_blocks): ... here.
966
967 2015-10-01 Tom de Vries <tom@codesourcery.com>
968
969 * tree-cfg.c (dump_function_to_file): Dump function attributes using
970 __attribute__(()) string. Move dumping of function attributes to before
971 function name.
972
973 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
974
975 PR target/66870
976 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
977 * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
978 based on gold linker version.
979 * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
980 HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
981 * configure, config.in: Regenerate.
982
983 2015-10-01 Alan Modra <amodra@gmail.com>
984
985 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
986 r2_setup_needed when TARGET_SINGLE_PIC_BASE.
987 (rs6000_output_mi_thunk): Likewise.
988
989 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
990
991 * config/nvptx/mkoffload.c (process): Change offload data format.
992
993 2015-09-30 Jeff Law <law@redhat.com>
994
995 * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
996 with constant conditions.
997 * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
998 (remove_ctrl_stmt_and_useless_edges): No longer static.
999 * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
1000 (remove_ctrl_stmt_and_useless_edges): Likewise.
1001
1002 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
1003 Cesar Philippidis <cesar@codesourcery.com>
1004
1005 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
1006 (TARGET_GOACC_VALIDATE_DIMS): Override.
1007 * target.def (TARGET_GOACC): New target hook prefix.
1008 (validate_dims): New hook.
1009 * targhooks.h (default_goacc_validate_dims): New.
1010 * omp-low.c (oacc_validate_dims): New.
1011 (execute_oacc_device_lower): New.
1012 (default_goacc_validate_dims): New.
1013 (pass_data_oacc_device_lower): New.
1014 (pass_oacc_device_lower): New pass.
1015 (make_pass_oacc_device_lower): New.
1016 * tree-pass.h (make_pass_oacc_device_lower): Declare.
1017 * passes.def (pass_oacc_device_lower): Add it.
1018 * doc/tm.texi: Rebuilt.
1019 * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
1020 * doc/invoke.texi (oaccdevlow): Document tree dump flag.
1021
1022 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
1023
1024 PR rtl-optimization/67037
1025 * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
1026
1027 2015-09-30 Bernd Schmidt <bernds@redhat.com>
1028
1029 * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
1030 * passes.c: Include tree-ssanames.h.
1031 (execute_function_todo): Flush the pending free SSA_NAMEs after
1032 eliminating unreachable basic blocks.
1033 * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
1034 (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
1035 (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
1036 (flush_ssanames_freelist): New function.
1037 (release_ssaname_fn): Put released names on the queue.
1038 (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
1039 * tree-ssanames.h (flush_ssanames_freelist): Declare.
1040
1041 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
1042
1043 * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
1044 (generate_target_descr_file, generate_target_offloadend_file)
1045 (generate_host_descr_file, prepare_target_image): Pass it on.
1046 * config/nvptx/mkoffload.c (main): Parse "-v" flag.
1047 (compile_native, main): Pass it on.
1048 * lto-wrapper.c (compile_offload_image): Likewise.
1049
1050 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
1051 Ilya Verbin <ilya.verbin@intel.com>
1052 Andrey Turetskiy <andrey.turetskiy@intel.com>
1053
1054 * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
1055 (prepare_target_image, main): Refactor argv building to use
1056 obstacks.
1057
1058 2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
1059
1060 * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
1061 * config/spu/spu.c (spu_expand_atomic_op): New function.
1062 * config/spu/spu.md (AINT): New mode iterator.
1063 (ATOMIC): New code iterator.
1064 (atomic_name, atomic_pred): New code predicates.
1065 ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
1066 ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
1067 (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
1068 "atomic_<atomic_name>_fetch<mode>"): Likewise.
1069
1070 2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
1071
1072 * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
1073 debug insns.
1074 (scalar_chain::convert_reg): Likewise.
1075
1076 2015-09-30 Richard Biener <rguenther@suse.de>
1077
1078 * builtins.c: Add comment that no new simplifications should
1079 be added here.
1080
1081 2015-09-30 Marek Polacek <polacek@redhat.com>
1082
1083 PR tree-optimization/67690
1084 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
1085 reset_flow_sensitive_info_in_bb.
1086 * tree-ssa-tail-merge.c (replace_block_by): Likewise.
1087 * tree-ssanames.c: Include "gimple-iterator.h".
1088 (reset_flow_sensitive_info_in_bb): New function.
1089 * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
1090
1091 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
1092
1093 * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
1094 variable, replacing it with...
1095 (offload_abi): ... this new variable. Adjust all users.
1096 * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
1097
1098 2015-09-30 Matthias Klose <doko@ubuntu.com>
1099
1100 * configure.ac: Remove extraneous ;;.
1101 * configure: Regenerate.
1102
1103 2015-09-29 James Bowman <james.bowman@ftdichip.com>
1104
1105 * config/ft32/predicates.md (ft32_imm_operand): New predicate.
1106 * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
1107 predicate, disallow register for operand 2.
1108
1109 2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
1110
1111 * graphite-dependences.c (scop_get_dependences): Moved in down
1112 in order to be visible to its caller.
1113 * graphite-poly.h: Removed compute_deps, and extend_schedule.
1114
1115 2015-09-29 Sebastian Pop <s.pop@samsung.com>
1116 Aditya Kumar <aditya.k7@samsung.com>
1117
1118 PR tree-optimization/67754
1119 * graphite-optimize-isl.c (optimize_isl): Call
1120 isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
1121
1122 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
1123
1124 * builtins.c (expand_builtin_acc_on_device): Delete.
1125 (expand_builtin): Don't call it.
1126 (fold_builtin_1): Fold acc_on_device.
1127
1128 2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
1129
1130 * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
1131 (ix86_nsaved_sseregs): Likewise.
1132
1133 2015-09-29 Jeff Law <law@redhat.com>
1134
1135 * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
1136 computation of unused value.
1137
1138 * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
1139 * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
1140 inline macro expansion.
1141
1142 * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
1143
1144 * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
1145 (gen_shl_sext): Likewise.
1146 * config/sh/sh.md (divsi3): Likewise.
1147 (imm->ext_dest_operand splitter): Likewise.
1148
1149 2015-09-29 Sebastian Pop <s.pop@samsung.com>
1150 Aditya Kumar <aditya.k7@samsung.com>
1151
1152 * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
1153 (nb_data_writes_in_bb): Remove.
1154 (split_pbb): Remove.
1155 (split_reduction_stmt): Remove.
1156 (is_reduction_operation_p): Remove.
1157 (phi_contains_arg): Remove.
1158 (follow_ssa_with_commutative_ops): Remove.
1159 (detect_commutative_reduction_arg): Remove.
1160 (detect_commutative_reduction_assign): Remove.
1161 (follow_inital_value_to_phi): Remove.
1162 (edge_initial_value_for_loop_phi): Remove.
1163 (initial_value_for_loop_phi): Remove.
1164 (used_outside_reduction): Remove.
1165 (detect_commutative_reduction): Remove.
1166 (translate_scalar_reduction_to_array_for_stmt): Remove.
1167 (remove_phi): Remove.
1168 (dr_indices_valid_in_loop): Remove.
1169 (close_phi_written_to_memory): Remove.
1170 (translate_scalar_reduction_to_array): Remove.
1171 (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
1172 (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
1173 (rewrite_commutative_reductions_out_of_ssa): Remove.
1174 (build_poly_scop): Remove call to
1175 rewrite_commutative_reductions_out_of_ssa.
1176
1177 2015-09-29 Evandro Menezes <e.menezes@samsung.com>
1178
1179 * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
1180 Add new insn types for vector load and store pairs.
1181 * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
1182 types "neon_ldp{,_q}".
1183 * config/arm/cortex-a57.md (neon_load_c): Add insn types
1184 "neon_ldp{,_q}".
1185 (neon_store_complex): Add insn types "neon_stp{,_q}".
1186 * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
1187 "neon_{ldp,stp}_q".
1188
1189 2015-09-29 Jeff Law <law@redhat.com>
1190
1191 * config/rx/constraints.md (Int08): Fix undefined left shift
1192 behaviour.
1193 (Sint08, Sint16, Sint24): Likewise.
1194 * config/rx/rx.c (rx_get_stack_layout): Likewise.
1195
1196 * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
1197 behaviour.
1198
1199 * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
1200 left shift behaviour.
1201 * config/msp430/constraints.md ('L' constraint): Similarly.
1202 ('Ys' constraint): Similarly.
1203
1204 2015-09-29 Richard Biener <rguenther@suse.de>
1205
1206 PR tree-optimization/67170
1207 * tree-ssa-alias.h (get_continuation_for_phi): Adjust
1208 the translate function pointer parameter to get the
1209 bool whether to disambiguate only by reference.
1210 (walk_non_aliased_vuses): Likewise.
1211 * tree-ssa-alias.c (maybe_skip_until): Adjust.
1212 (get_continuation_for_phi_1): Likewise.
1213 (get_continuation_for_phi): Likewise.
1214 (walk_non_aliased_vuses): Likewise.
1215 * tree-ssa-sccvn.c (const_parms): New bitmap.
1216 (vn_reference_lookup_3): Adjust for interface change.
1217 Disambiguate parameters pointing to readonly memory.
1218 (free_scc_vn): Free const_parms.
1219 (run_scc_vn): Initialize const_parms from a fn spec attribute.
1220
1221 2015-09-29 Richard Biener <rguenther@suse.de>
1222
1223 PR tree-optimization/67741
1224 * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
1225 builtin calls with correct signature.
1226
1227 2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
1228
1229 PR target/65105
1230 * config/i386/i386.c: Include dbgcnt.h.
1231 (has_non_address_hard_reg): New.
1232 (convertible_comparison_p): New.
1233 (scalar_to_vector_candidate_p): New.
1234 (remove_non_convertible_regs): New.
1235 (scalar_chain): New.
1236 (scalar_chain::scalar_chain): New.
1237 (scalar_chain::~scalar_chain): New.
1238 (scalar_chain::add_to_queue): New.
1239 (scalar_chain::mark_dual_mode_def): New.
1240 (scalar_chain::analyze_register_chain): New.
1241 (scalar_chain::add_insn): New.
1242 (scalar_chain::build): New.
1243 (scalar_chain::compute_convert_gain): New.
1244 (scalar_chain::replace_with_subreg): New.
1245 (scalar_chain::replace_with_subreg_in_insn): New.
1246 (scalar_chain::emit_conversion_insns): New.
1247 (scalar_chain::make_vector_copies): New.
1248 (scalar_chain::convert_reg): New.
1249 (scalar_chain::convert_op): New.
1250 (scalar_chain::convert_insn): New.
1251 (scalar_chain::convert): New.
1252 (convert_scalars_to_vector): New.
1253 (pass_data_stv): New.
1254 (pass_stv): New.
1255 (make_pass_stv): New.
1256 (ix86_option_override): Created and register stv pass.
1257 (flag_opts): Add -mstv.
1258 (ix86_option_override_internal): Likewise.
1259 * config/i386/i386.md (SWIM1248x): New.
1260 (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
1261 (and<mode>3): Use SWIM1248x iterator instead of SWIM.
1262 (*anddi3_doubleword): New.
1263 (*zext<mode>_doubleword): New.
1264 (*zextsi_doubleword): New.
1265 (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
1266 (*<code>di3_doubleword): New.
1267 * config/i386/i386.opt (mstv): New.
1268 * dbgcnt.def (stv_conversion): New.
1269
1270 2015-09-29 Tom de Vries <tom@codesourcery.com>
1271
1272 * tree-cfg.c (dump_function_to_file): Dump function attributes.
1273
1274 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
1275
1276 PR target/67716
1277 * config/sh/sh.c (sh_override_options_after_change): New.
1278 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
1279 (sh_option_override): Move align_loops, align_jumps and
1280 align_functions handling into sh_override_options_after_change.
1281
1282 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
1283
1284 * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
1285 (nvptx_record_offload_symbol): Record function execution geometry.
1286 * config/nvptx/mkoffload.c (process): Include launch geometry in
1287 function data.
1288 * omp-low.c (oacc_launch_pack): New.
1289 (replace_oacc_fn_attrib): New.
1290 (set_oacc_fn_attrib): New.
1291 (get_oacc_fn_attrib): New.
1292 (expand_omp_target): Create keyed varargs for GOACC_parallel call
1293 generation.
1294 * omp-low.h (get_oacc_fn_attrib): Declare.
1295 * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
1296 (DEF_FUNCTION_TYPE_VAR_11): Delete.
1297 * tree.h (OMP_CLAUSE_EXPR): New.
1298 * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
1299
1300 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
1301 Sebastian Pop <s.pop@samsung.com>
1302
1303 * sese.c (invariant_in_sese_p_rec): Remove unused variable.
1304
1305 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
1306 Sebastian Pop <s.pop@samsung.com>
1307
1308 * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
1309 * graphite-scop-detection.c (struct sese_l): New type.
1310 (get_entry_bb): API for getting entry bb of SESE.
1311 (get_exit_bb): API for getting exit bb of SESE.
1312 (class debug_printer): New type. Simple printer in debug mode.
1313 (trivially_empty_bb_p): New. Return true when BB is empty or
1314 contains only debug instructions.
1315 (graphite_can_represent_expr): Call scalar_evoution_in_region
1316 instead of analyze_scalar_evolution. Pass in scop instead of only
1317 the scop entry.
1318 (stmt_has_simple_data_refs_p): Pass in scop instead of only the
1319 scop entry.
1320 (stmt_simple_for_scop_p): Same.
1321 (harmful_stmt_in_bb): Same.
1322 (graphite_can_represent_loop): Deleted.
1323 (struct scopdet_info): Deleted.
1324 (scopdet_basic_block_info): Deleted.
1325 (build_scops_1): Deleted.
1326 (bb_in_sd_region): Deleted.
1327 (find_single_entry_edge): Deleted.
1328 (find_single_exit_edge): Deleted.
1329 (create_single_entry_edge): Deleted.
1330 (sd_region_without_exit): Deleted.
1331 (create_single_exit_edge): Deleted.
1332 (unmark_exit_edges): Deleted.
1333 (mark_exit_edges): Deleted.
1334 (create_sese_edges): Deleted.
1335 (build_graphite_scops): Deleted.
1336 (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
1337 (build_scops): Use the new scop_builder to build scops.
1338 (dot_all_scops_1): Use the new pretty printer. Print loop father
1339 as well.
1340 (loop_body_is_valid_scop): New. Return true if loop body is a
1341 valid scop.
1342 (class scop_builder): New. Builds SCoPs for polyhedral
1343 optimizations.
1344 (scop_builder): New constructor.
1345 (static sese_l invalid_sese): sese_l with invalid edges.
1346 (get_sese): Get an sese (from a loop) if possible, invalid_sese
1347 otherwise.
1348 (get_nearest_dom_with_single_entry): Get nearest dominator of a
1349 basic_block with single entry. Return NULL if we get to the
1350 beginning of a function.
1351 (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
1352 a basic_block with single exit. Return NULL if we get to the
1353 beginning of a function.
1354 (print_sese): Pretty-print SESE.
1355 (merge_sese): Merge two SESEs if possible and return the new SESE.
1356 (build_scop_depth): Start building the SCoP within a loop nest.
1357 (build_scop_breadth): Start building the SCoP at a single loop
1358 depth. Merge adjacent SESEs if valid.
1359 (can_represent_loop_1): Returns true if Graphite can represent
1360 loop inside SCoP. Helper for can_represent_loop.
1361 (can_represent_loop): Returns true if Graphite can represent LOOP
1362 and all its nested loops in SCoP.
1363 (loop_is_valid_scop): Returns true if LOOP and all its nests
1364 constitute a valid SCoP.
1365 (region_has_one_loop): Returns true of a region has only one loop.
1366 (add_scop): Add SCoP to the list of valid scops. Removes an
1367 already existing scop if it intersects with or subsumed by this one.
1368 (harmful_stmt_in_region): Returns true if SCoP has any statment
1369 which cannot be represented by Graphite.
1370 (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
1371 (remove_subscops): Remove any SCoP from the list of already found
1372 SCoPs, if subsumed by S1.
1373 (intersects): Return true if region bounded by SCoPs S1 and S2
1374 intersect.
1375 (remove_intersecting_scops): Remove any SCoP which intersects with S1.
1376 * graphite.c (print_graphite_scop_statistics):
1377 (print_graphite_statistics): Print SCoP info while debugging.
1378 (graphite_initialize): Early exit in case number of loops in a
1379 function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
1380 basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
1381 (graphite_finalize):
1382 * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
1383 * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
1384 (recompute_all_dominators): Recalculate POST_DOMINATORS.
1385 * tree-cfg.c (print_loops): Print the function name while printing
1386 loops.
1387
1388 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
1389 Sebastian Pop <s.pop@samsung.com>
1390
1391 PR tree-optimization/67700
1392 * graphite-sese-to-poly.c (parameter_index_in_region): Call
1393 invariant_in_sese_p_rec.
1394 (extract_affine): Same.
1395 (rewrite_cross_bb_scalar_deps): Call update_ssa.
1396 * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
1397 * sese.h (invariant_in_sese_p_rec): Declare.
1398
1399 2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
1400
1401 * doc/extend.texi (Asm Labels): Break out text for data vs functions.
1402
1403 2015-09-28 Jiong Wang <jiong.wang@arm.com>
1404
1405 Revert:
1406 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
1407 Jiong Wang <jiong.wang@arm.com>
1408
1409 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
1410 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
1411 (REG_CLASS_NAMES): Likewise.
1412 (REG_CLASS_CONTENTS): Likewise.
1413 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
1414 (aarch64_register_move_cost): Likewise.
1415 (aarch64_load_symref_appropriately): Invoke the new added pattern if
1416 possible.
1417 * config/aarch64/constraints.md (Uc0): New constraint.
1418
1419 2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
1420
1421 * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
1422
1423 2015-09-28 David Edelsohn <dje.gcc@gmail.com>
1424
1425 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
1426 SECTION_EXCLUDE in XO mapping class.
1427
1428 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
1429
1430 PR target/54236
1431 * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
1432 and handle ne and eq codes.
1433 * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
1434 (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
1435 CONST_INT_P. Use reverse_condition.
1436 (sh_split_treg_set_expr): Likewise.
1437
1438 2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
1439
1440 * config/arm/types.md (type): Add rotate_imm.
1441 * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
1442 ROR immediate case.
1443 (*rorsi3_insn_uxtw): Likewise.
1444 * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
1445 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
1446 * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
1447
1448 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1449
1450 PR rtl-optimization/67481
1451 * ifcvt.c (contains_ccmode_rtx_p): New function.
1452 (insn_valid_noce_process_p): Use it.
1453
1454 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1455
1456 PR rtl-optimization/67456
1457 PR rtl-optimization/67464
1458 PR rtl-optimization/67465
1459 * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
1460 move in the mode of x. Handle combination of complex and simple
1461 block pairs as well as the case when one is empty.
1462
1463 2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
1464
1465 * doc/gimple.texi: Update references to gimple_statement_base.
1466 * gdbhooks.py: Likewise.
1467 * gimple.h: Likewise.
1468
1469 2015-09-28 Daniel Cederman <cederman@gaisler.com>
1470
1471 * config/sparc/driver-sparc.c: map LEON to leon3
1472
1473 2015-09-28 Daniel Cederman <cederman@gaisler.com>
1474
1475 * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
1476 and make it inverse to change default
1477 * config/sparc/sync.md: Only use supervisor ASI for CASA when in
1478 supervisor mode
1479 * doc/invoke.texi: Document change of default
1480
1481 2015-09-28 Daniel Cederman <cederman@gaisler.com>
1482
1483 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
1484 true on %f0 for a target without FPU.
1485 * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
1486 without FPU.
1487 (untyped_return): Do not load %f0 for a target without FPU.
1488
1489 2015-09-28 Andrew Pinski <apinski@cavium.com>
1490
1491 * config/aarch64/aarch64.md (prefetch):
1492 Change the predicate of operand 0 to register_operand.
1493
1494 2015-09-27 Uros Bizjak <ubizjak@gmail.com>
1495
1496 * config/i386/predicates.md (register_sse4nonimm_operand): New
1497 predicate.
1498 * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
1499 (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
1500 Use register_sse4nonimm_operand as operand 0 predicate.
1501 (*vec_extractv8hi_sse2): Remove insn pattern.
1502 (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
1503 *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
1504
1505 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
1506 Kaz Kojima <kkojima@gcc.gnu.org>
1507
1508 PR target/67391
1509 * config/sh/sh-protos.h (sh_lra_p): Declare.
1510 * config/sh/sh.c (sh_lra_p): Make non-static.
1511 * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
1512 arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
1513 Expand into addsi3_scr if operands[2] if needed.
1514 (*addsi3_compact): Rename to *addsi3_compact_lra. Use
1515 arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
1516 (addsi3_scr, *addsi3): New insn_and_split patterns.
1517
1518 2015-09-27 Alexandre Oliva <aoliva@redhat.com>
1519
1520 PR rtl-optimization/64164
1521 PR tree-optimization/67312
1522 PR middle-end/67340
1523 PR middle-end/67490
1524 PR bootstrap/67597
1525 * cfgexpand.c (parm_in_stack_slot_p): Remove.
1526 (ssa_default_def_partition): Remove.
1527 (get_rtl_for_parm_ssa_default_def): Remove.
1528 (set_rtl): Check that RTL assignments match expectations.
1529 Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
1530 default def location for params and results. Record SSA names
1531 or types in REG and MEM attrs, respectively.
1532 (set_parm_rtl): New.
1533 (expand_one_ssa_partition): Drop logic that assigned MEMs with
1534 unassigned addresses.
1535 (adjust_one_expanded_partition_var): Don't accept NULL RTL on
1536 deferred stack alloc vars.
1537 (expand_used_vars): Skip partitions holding parm default defs.
1538 Move adjust_one_expanded_partition_var loop...
1539 (pass_expand::execute): ... here. Drop redundant assert.
1540 Adjust comments before the final loop over all ssa names.
1541 Require assigned rtl of parms and results to match exactly.
1542 Reset its attributes to match them, not any other variables in
1543 the same partition.
1544 (expand_debug_expr): Use entry value for PARM's default defs
1545 only iff they have zero nondebug uses.
1546 * cfgexpand.h (parm_in_stack_slot_p): Remove.
1547 (get_rtl_for_parm_ssa_default_def): Remove.
1548 (set_parm_rtl): Declare.
1549 * doc/invoke.texi: Improve wording.
1550 * explow.c (promote_decl_mode): Fix promote_function_mode for
1551 result decls not by reference.
1552 (promote_ssa_mode): Disregard BLKmode from promote_decl, and
1553 bypass TYPE_MODE to get the actual vector mode.
1554 * function.c: Include tree-dfa.h. Revert 2015-08-14's and
1555 2015-08-19's changes as follows. Drop include of
1556 basic-block.h and df.h.
1557 (rtl_for_parm): Remove.
1558 (maybe_reset_rtl_for_parm): Remove.
1559 (parm_in_unassigned_mem_p): Remove.
1560 (use_register_for_decl): Add logic for RESULT_DECLs matching
1561 assign_parms' behavior.
1562 (split_complex_args): Revert.
1563 (assign_parms_augmented_arg_list): Revert. Add comment
1564 referencing the logic above.
1565 (assign_parm_adjust_stack_rtl): Revert.
1566 (assign_parm_setup_block): Revert. Use set_parm_rtl instead
1567 of SET_DECL_RTL. Set up a REG if the parm demands so.
1568 (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
1569 calls into a single set_parm_rtl. Set up a temporary RTL
1570 temporarily for expand_assignment.
1571 (assign_parm_setup_stack): Revert. Use set_parm_rtl.
1572 (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
1573 (assign_bounds): Revert.
1574 (assign_parms): Revert. Use set_parm_rtl.
1575 (allocate_struct_function): Relayout result and parms of
1576 non-abstruct functions.
1577 (expand_function_start): Revert. Use set_parm_rtl. If the
1578 result is not a hard reg, create a pseudo from the promoted
1579 mode of the default def. Promote static chain mode.
1580 * tree-outof-ssa.c (remove_ssa_form): Drop unused
1581 partition_has_default_def. Set up
1582 partitions_for_parm_default_defs.
1583 (finish_out_of_ssa): Remove partition_has_default_def.
1584 Release partitions_for_parm_default_defs.
1585 * tree-outof-ssa.h (struct ssaexpand): Remove
1586 partition_has_default_def. Add
1587 partitions_for_parm_default_defs.
1588 * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
1589 stor-layout.h.
1590 (build_ssa_conflict_graph): Fix conflict-detection of default
1591 defs of even unused default defs of params and results.
1592 (for_all_parms): New.
1593 (create_default_def): New.
1594 (register_default_def): New.
1595 (coalesce_with_default): New.
1596 (create_outofssa_var_map): Create default defs for all parms
1597 and results, and register their partitions. Add GIMPLE_RETURN
1598 operands as coalesce candidates with results. Add default
1599 defs of each parm or result as coalesce candidates with its
1600 other defs. Mark each result def, and each default def of
1601 parms, as used_in_copy.
1602 (gimple_can_coalesce_p): Call it. Call use_register_for_decl
1603 with the ssa names, even anonymous ones. Drop
1604 parm_in_stack_slot_p calls. Require same signedness and
1605 alignment.
1606 (coalesce_ssa_name): Add coalesce candidates for all defs of
1607 each parm and result, even unused ones.
1608 (parm_default_def_partition_arg): New type.
1609 (set_parm_default_def_partition): New.
1610 (get_parm_default_def_partitions): New.
1611 * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
1612 * tree-ssa-live.c (partition_view_init): Regard unused defs of
1613 parms and results as used.
1614 (verify_live_on_entry): Don't error out just because they're
1615 not live.
1616
1617 2015-09-26 David Edelsohn <dje.gcc@gmail.com>
1618
1619 * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
1620 (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
1621 (output_fde): Don't output length for debug_frame on AIX.
1622 (output_call_frame_info): Don't output length for debug_frame on AIX.
1623 (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
1624 HAVE_XCOFF_DWARF_EXTRAS.
1625 (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
1626 HAVE_XCOFF_DWARF_EXTRAS.
1627 (output_compilation_unit_header): Don't output length on AIX.
1628 (output_pubnames): Don't output length on AIX.
1629 (output_aranges): Delete argument. Compute length locally. Don't
1630 output length on AIX.
1631 (output_line_info): Don't output length on AIX.
1632 (dwarf2out_finish): Don't compute aranges_length.
1633 * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
1634 (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
1635 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
1636 symbol decoration for AIX.
1637 (rs6000_xcoff_debug_unwind_info): New.
1638 (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
1639 for SECTION_DEBUG.
1640 (rs6000_xcoff_declare_function_name): Emit different
1641 .function pseudo-op when DWARF2_DEBUG. Don't call
1642 xcoffout_declare_function for DWARF2_DEBUG.
1643 * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
1644 Redefine.
1645 * config/rs6000/aix71.h: New.
1646 * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
1647 locations support.
1648 * configure: Regenerate.
1649 * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
1650 DWARF support.
1651
1652 2015-09-26 Jeff Law <law@redhat.com>
1653
1654 * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
1655 behaviour.
1656 * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
1657 behaviour.
1658
1659 * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
1660 behaviour
1661
1662 * config/mips/mips.c (mips_compute_frame_info): Fix left shift
1663 undefined behaviour.
1664
1665 * config/cris/cris.md (asrandb): Fix left shift undefined
1666 behaviour.
1667 (asrandw): Likewise.
1668
1669 2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
1670
1671 PR target/61578
1672 * lra-constarints.c (match_reload): Check presence of the input pseudo
1673 in the output operand.
1674
1675 2015-09-25 Tobias Burnus <burnus@net-b.de>
1676
1677 * doc/invoke.texi (-fsanitize): Minor wording tweak.
1678
1679 2015-09-25 Tobias Burnus <burnus@net-b.de>
1680
1681 * doc/invoke.texi (-fsanitize): Update URLs.
1682
1683 2015-09-25 Teresa Johnson <tejohnson@google.com>
1684
1685 * opts.c (finish_options): Unset -freorder-blocks-and-partition
1686 if not using profile.
1687
1688 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
1689
1690 PR pretty-print/67567
1691 * pretty-print.c (pp_string): Add gcc_checking_assert.
1692 * pretty-print.h (output_buffer_append_r): Likewise.
1693
1694 2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
1695
1696 PR target/67675
1697 * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
1698 addr2 individually. Don't emit logical or insn if one is known to
1699 be aligned approriately.
1700 (sh_expand_cmpnstr): Likewise.
1701
1702 2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
1703
1704 * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
1705 __builtin_aarch64_fp[sc]r arguments into a register.
1706
1707 2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
1708
1709 * config.gcc (x86_archs): Replace lakemount with lakemont.
1710 (with_cpu): Likewise.
1711 (with_arch): Likewise.
1712 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
1713 PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
1714 __tune_lakemount__ with __tune_lakemont__.
1715 * config/i386/i386.c (lakemount_cost): Renamed to ...
1716 (lakemont_cost): This.
1717 (m_LAKEMOUNT): Renamed to ...
1718 (m_LAKEMONT): This.
1719 (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
1720 (processor_target_table): Replace "lakemount" with "lakemont".
1721 (processor_alias_table): Likewise.
1722 (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
1723 PROCESSOR_LAKEMONT.
1724 (ix86_adjust_cost): Likewise.
1725 (ia32_multipass_dfa_lookahead): Likewise.
1726 * config/i386/i386.h (processor_type): Likewise.
1727 * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
1728 * doc/invoke.texi: Replace lakemount with lakemont. Replace
1729 Lakemount with Lakemont.
1730
1731 2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
1732
1733 * config.gcc (x86_archs): Replace iamcu with lakemount.
1734 (with_cpu): Likewise.
1735 (with_arch): Likewise.
1736 * doc/invoke.texi: Likewise.
1737 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
1738 PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
1739 __tune_iamcu__ with __tune_lakemount__.
1740 * config/i386/i386.c (iamcu_cost): Renamed to ...
1741 (lakemount_cost): This.
1742 (m_IAMCU): Renamed to ...
1743 (m_LAKEMOUNT): This.
1744 (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
1745 (processor_target_table): Replace "iamcu" with "lakemount".
1746 (processor_alias_table): Likewise.
1747 (ix86_issue_rate): Replace PROCESSOR_IAMCU with
1748 PROCESSOR_LAKEMOUNT.
1749 (ix86_adjust_cost): Likewise.
1750 (ia32_multipass_dfa_lookahead): Likewise.
1751 * config/i386/i386.h (processor_type): Likewise.
1752 * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
1753
1754 2015-09-24 John David Anglin <danglin@gcc.gnu.org>
1755
1756 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
1757 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
1758 Declare.
1759 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
1760 (pa_expand_compare_and_swap_loop): New.
1761 (pa_maybe_emit_compare_and_swap_exchange_loop): New.
1762 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
1763 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
1764 (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
1765 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
1766 Revise.
1767
1768 2015-09-24 Michael Collison <michael.collison@linaro.org>
1769
1770 PR other/57195
1771 * read-md.c (read_name): Allow mode iterators inside angle
1772 brackets in rtl expressions.
1773
1774 2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
1775
1776 PR target/61578
1777 * ira-color.c (update_allocno_cost): Add parameter.
1778 (update_costs_from_allocno): Decrease conflict cost. Pass the new
1779 parameter.
1780
1781 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
1782
1783 PR driver/67640
1784 * opts-common.c (prune_options): Discard all -fdiagnostics-color
1785 but the last one, which is moved to the front to be processed
1786 first.
1787 * opts.c (enable_warning_as_error): Reject options that do not
1788 control warnings.
1789
1790 2015-09-24 Jiong Wang <jiong.wang@arm.com>
1791
1792 * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
1793
1794 2015-09-24 Jiong Wang <jiong.wang@arm.com>
1795
1796 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
1797 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
1798 (aarch64_cannot_force_const_mem): Likewise.
1799 (aarch64_classify_address): Likewise.
1800 (aarch64_classify_symbolic_expression): Likewise.
1801 (aarch64_print_operand): Likewise.
1802 (aarch64_classify_symbol): Likewise.
1803 (aarch64_mov_operand_p): Likewise.
1804 * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
1805 (aarch64_mov_operand): Likewise.
1806
1807 2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
1808
1809 * config/rs6000/rs6000.c (debug_stack_info): Invert the test
1810 for info->spe_gp_size.
1811
1812 2015-09-24 Richard Biener <rguenther@suse.de>
1813
1814 PR lto/67699
1815 * lto-cgraph.c (compute_ltrans_boundary): Do not stream
1816 abstract origins.
1817
1818 2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
1819
1820 * tree-object-size.c (plus_stmt_object_size)
1821 (cond_expr_object_size): Change the formal parameters from gimple
1822 to gimple *.
1823 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
1824 * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
1825 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
1826
1827 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1828
1829 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
1830 Check for ld -type pie on Solaris 11.x and 12.
1831 * configure: Regenerate.
1832 * config.in: Regenerate.
1833
1834 * gcc.c (LD_PIE_SPEC): Allow redefinition.
1835
1836 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
1837 (STARTFILE_SPEC): Use it.
1838 (ENDFILE_CRTEND_SPEC): Define.
1839 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
1840 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
1841 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
1842 [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
1843 (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
1844 * config/i386/sol2.h (ENDFILE_SPEC): Remove.
1845 (ENDFILE_ARCH_SPEC): Define.
1846 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
1847
1848 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1849
1850 * configure.ac (gcc_cv_solaris_crts): New test.
1851 * configure. Regenerate.
1852 * config.in: Regenerate.
1853 * config/sol2.h (STARTFILE_SPEC): Simplify, provide
1854 HAVE_SOLARIS_CRTS variant.
1855
1856 2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1857
1858 * tree-inline.h (count_insns_seq): Delete prototype.
1859 (estimate_num_insns_seq): Define prototype.
1860 * tree-inline.c (count_insns_seq): Delete.
1861 (estimate_num_insns_seq): Remove static qualifier.
1862 * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
1863 with estimate_num_insns_seq.
1864
1865 2015-09-24 Richard Biener <rguenther@suse.de>
1866
1867 * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
1868 members.
1869 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
1870 and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
1871 offset.
1872 (ao_ref_init_from_vn_reference): Record clique and base in the
1873 built base.
1874 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
1875
1876 2015-09-24 Richard Biener <rguenther@suse.de>
1877
1878 PR tree-optimization/48885
1879 * tree-ssa-structalias.c (visit_loadstore): Handle default defs
1880 as not including any restrict tags from other pointers.
1881
1882 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
1883
1884 * gcc.c (handle_foffload_option): Don't lose the trailing NUL
1885 character when appending to offload_targets.
1886
1887 * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
1888 offload targets by commas, not colons.
1889 * config.in: Regenerate.
1890 * configure: Likewise.
1891 * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
1892 instead of setting up the default offload targets here...
1893 (process_command): ..., do it here.
1894 libgomp/
1895 * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
1896 targets are separated by commas.
1897 * config.h.in: Regenerate.
1898
1899 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
1900 Nathan Sidwell <nathan@codesourcery.com>
1901
1902 * omp-low.h (omp_reduction_init_op): Declare.
1903 * omp-low.c (omp_reduction_init_op): New, broken out of ...
1904 (omp_reduction_init): ... here. Call it.
1905 * tree-parloops.c (initialize_reductions): Use
1906 omp_reduction_init_op.
1907
1908 2015-09-23 Richard Biener <rguenther@suse.de>
1909
1910 PR middle-end/67662
1911 * fold-const.c (fold_binary_loc): Do not reassociate two vars with
1912 undefined overflow unless they will cancel out.
1913
1914 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
1915
1916 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
1917 insn emit.
1918
1919 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
1920
1921 PR c/49655
1922 * opts.h (write_langs): Declare.
1923 * opts-global.c (write_langs): Make it extern.
1924
1925 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
1926
1927 PR target/67391
1928 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
1929 overlapping regs when matching the pattern.
1930
1931 2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
1932
1933 * config/aarch64/aarch64-simd.md
1934 (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
1935 (aarch64_float_truncate_hi_v4sf_le): New.
1936 (aarch64_float_truncate_hi_v4sf_be): Likewise.
1937
1938 2015-09-23 Richard Biener <rguenther@suse.de>
1939
1940 * tree-ssa-structalias.c (intra_create_variable_infos): Build
1941 representatives for all restrict qualified pointer destinations.
1942
1943 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
1944
1945 * config/i386/i386.md (define_code_attr mshift): New.
1946 (define_mode_iterator SWI1248_AVX512BW): Rename ...
1947 (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
1948 only.
1949 (define_insn "*k<logic><mode>"): Use new iterator name.
1950 (define_insn "*<mshift><mode>3"): New.
1951
1952 2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
1953
1954 PR middle-end/67649
1955 * memory-block.h (memory_block_pool::allocate): Use valgrind API to
1956 mark the block as accessible.
1957
1958 2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
1959
1960 * function.c (thread_prologue_and_epilogue_insns): Delete
1961 orig_entry_edge argument to try_shrink_wrapping.
1962 * shrink-wrap.c (can_get_prologue): New function.
1963 (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
1964 (try_shrink_wrapping): Delete orig_entry_edge argument. Use
1965 can_get_prologue where needed. Remove code that finds a single
1966 edge for the prologue. Remove code that tests if any reg clobbered
1967 by the prologue is live on the prologue edge. Remove code that finds
1968 the new prologue edge after duplicating blocks. Make a new prologue
1969 block and edge.
1970 * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
1971
1972 2015-09-22 Jeff Law <law@redhat.com>
1973
1974 * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
1975 behavior.
1976
1977 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
1978
1979 * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
1980 -Wtemplates, -Wnamespaces): Document.
1981
1982 2015-09-22 Tom de Vries <tom@codesourcery.com>
1983
1984 PR tree-optimization/67671
1985 * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
1986 pointer references as restrict.
1987
1988 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
1989
1990 * config/nios2/nios2.c (nios2_legitimize_address): When handling
1991 'reg + reloc' cases, allow first operand to be non-REG, and use
1992 force_reg() to enforce address pattern.
1993
1994 2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
1995
1996 PR target/67480
1997 * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
1998 (define_mode_iterator VI12_AVX_AVX512F): New.
1999 (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
2000 all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
2001 (define_insn "*<code><mode>3"): ... Into new pattern using
2002 VI12_AVX_AVX512F iterators without masking.
2003
2004 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
2005
2006 * config.gcc: Support "skylake-avx512".
2007 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
2008 PROCESSOR_SKYLAKE_AVX512.
2009 * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
2010 (processor_target_table): Add "skylake-avx512".
2011 (PTA_SKYLAKE_AVX512): Define.
2012 (ix86_option_override_internal): Add "skylake_avx512".
2013 (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
2014 F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
2015 * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
2016 (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
2017 * doc/invoke.texi (skylake-avx512): New.
2018
2019 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
2020
2021 * gcc/config/i386/i386.md (define_insn "kunpckhi"): Fix
2022 operand in pattern.
2023 (define_insn "kunpcksi"): Ditto.
2024 (define_insn "kunpckdi"): Ditto.
2025
2026 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
2027
2028 * gcc/config/i386/i386.md (define_split not/xor SWI1248x): Use
2029 iterator instead of fixed modes.
2030
2031 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
2032
2033 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
2034 Adjust declaration.
2035 * config/aarch64/aarch64.c (aarch64_emit_bic): New.
2036 (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
2037 out_result. Update to support update-fetch operations.
2038 * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
2039 Adjust for change to aarch64_gen_atomic_ldop.
2040 (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
2041 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
2042 (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
2043 (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
2044 (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
2045
2046 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
2047
2048 * config/aarch64/aarch64-protos.h
2049 (aarch64_atomic_ldop_supported_p): Declare.
2050 * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
2051 (enum aarch64_atomic_load_op_code): New.
2052 (aarch64_emit_atomic_load_op): New.
2053 (aarch64_gen_atomic_ldop): Update to support load-operate
2054 patterns.
2055 * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
2056 to an expander.
2057 (aarch64_atomic_<atomic_optab><mode>): New.
2058 (aarch64_atomic_<atomic_optab><mode>_lse): New.
2059 (atomic_fetch_<atomic_optab><mode>): Change to an expander.
2060 (aarch64_atomic_fetch_<atomic_optab><mode>): New.
2061 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
2062
2063 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
2064
2065 * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
2066 (UNSPECV_ATOMIC_LDOP_OR): New.
2067 (UNSPECV_ATOMIC_LDOP_BIC): New.
2068 (UNSPECV_ATOMIC_LDOP_XOR): New.
2069 (UNSPECV_ATOMIC_LDOP_PLUS): New.
2070 (ATOMIC_LDOP): New.
2071 (atomic_ldop): New.
2072 (aarch64_atomic_load<atomic_ldop><mode>): New.
2073
2074 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
2075
2076 * config/aarch64/aarch64.md
2077 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
2078 pattern.
2079
2080 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
2081
2082 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
2083 Declare.
2084 * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
2085 (aarch64_gen_atomic_ldop): New.
2086 (aarch64_split_atomic_op): Fix whitespace and add a comment.
2087 * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
2088 (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
2089 (atomic_exchange<mode>): Replace with an expander.
2090 (aarch64_atomic_exchange<mode>): New.
2091 (aarch64_atomic_exchange<mode>_lse): New.
2092 (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
2093 (aarch64_atomic_swp<mode>): New.
2094
2095 2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
2096
2097 * tree-inline.c (expand_call_inline): Use inform for extra note.
2098 Do not give a note with UNKNOWN_LOCATION.
2099 Replace input_location with gimple_location (stmt).
2100 Use true/false instead of TRUE/FALSE.
2101
2102 2015-09-22 Tom de Vries <tom@codesourcery.com>
2103
2104 PR tree-optimization/67666
2105 * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
2106 with single field non-conservative.
2107
2108 2015-09-21 David S. Miller <davem@davemloft.net>
2109
2110 PR/67622
2111 Revert:
2112 2015-09-11 David S. Miller <davem@davemloft.net>
2113
2114 * config/sparc/constraints.md: Make "U" constraint a real register
2115 constraint.
2116 * config/sparc/sparc.c (TARGET_LRA_P): Define.
2117 (D_MODES, DF_MODES): Add missing cast.
2118 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
2119 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
2120 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
2121 cost to 8.
2122 * config/sparc/sparc.h (PROMOTE_MODE): Define.
2123 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
2124 provide these insn when flag_pic.
2125
2126 2015-09-17 David S. Miller <davem@davemloft.net>
2127
2128 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
2129 Declare.
2130 * config/sparc/sparc.c (sparc_secondary_memory_needed): New
2131 function.
2132 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
2133 (HARD_REGNO_CALLER_SAVE_MODE): Define.
2134 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
2135 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
2136 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
2137 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
2138 provide when flag_pic.
2139
2140 2015-09-21 Jeff Law <law@redhat.com>
2141
2142 * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
2143 behavior.
2144
2145 2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
2146
2147 * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
2148
2149 2015-09-21 Richard Biener <rguenther@suse.de>
2150
2151 * passes.c (rest_of_decl_compilation): Do not call
2152 dwarf2out_early_global_decl for aliases.
2153
2154 2015-09-21 Richard Biener <rguenther@suse.de>
2155
2156 PR debug/67664
2157 * dwarf2out.c (add_location_or_const_value_attribute): Remove
2158 attribute parameter. Early exit if either DW_AT_const_value
2159 or DW_AT_location are present already.
2160 (gen_variable_die): Adjust caller.
2161 (dwarf2out_late_global_decl): Likewise.
2162
2163 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
2164
2165 PR target/67657
2166 * config/sh/sh.c (sh_remove_overlapping_post_inc,
2167 sh_peephole_emit_move_insn): Add new functions.
2168 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
2169 sh_peephole_emit_move_insn): Declere them.
2170 * config/sh/sh.md: Use them in various peephole2 patterns.
2171
2172 2015-09-21 Richard Biener <rguenther@suse.de>
2173
2174 PR middle-end/67651
2175 * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
2176 address with -fno-delete-null-pointer-checks.
2177
2178 2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
2179
2180 * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
2181 (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
2182 (reduc_uplus_v16qi): Remove.
2183
2184 * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
2185 (reduc_<VEC_reduc_name>_v2df): Remove.
2186 (reduc_<VEC_reduc_name>_v4sf): Remove.
2187 (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
2188
2189 * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
2190 gen_ function by removing * prefix.
2191 (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
2192
2193 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
2194
2195 PR middle-end/60832
2196 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
2197 Print i_bound without converting it to a tree.
2198
2199 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
2200
2201 * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
2202 operands[4] operands[5] swap with std::swap, removed tmp variable.
2203 (arm_evpc_neon_vzip): Replaced in0/in1 and
2204 out0/out1 swaps with std::swap, removed x variable.
2205 (arm_evpc_neon_vtrn): Replaced in0/int1 and
2206 out0/out1 swaos with std::swap, removed x variable.
2207 (arm_expand_vec_perm_const_1): Replaced
2208 d->op0/d->op1 swap with std::swap, removed x variable.
2209 (arm_evpc_neon_vuzp): Replaced in0/in1 and
2210 out0/out1 swaps with std::swap, removed x variable.
2211
2212 2015-09-21 Jonathan Yong <10walls@gmail.com>
2213
2214 * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
2215 sysroot/usr/lib/32api for additional win32 libraries,
2216 fixes failing Cygwin bootstrapping.
2217
2218 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
2219
2220 * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
2221
2222 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
2223
2224 PR target/67126
2225 * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
2226 (*mov_t_msb_neg): Rewrite negc pattern.
2227
2228 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
2229
2230 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
2231 immediate generation code.
2232
2233 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
2234
2235 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
2236 redundant immediate generation code.
2237
2238 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
2239
2240 * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
2241 (AARCH64_NUM_BITMASKS): Remove.
2242 (aarch64_bitmasks_cmp): Remove.
2243 (aarch64_build_bitmask_table): Remove.
2244
2245 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
2246
2247 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
2248 slow immediate matching loops with a faster algorithm.
2249
2250 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
2251
2252 * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
2253 faster algorithm.
2254
2255 2015-09-20 Jeff Law <law@redhat.com>
2256
2257 PR tree-optimization/47679
2258 * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
2259 * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
2260 * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
2261 (thread_through_normal_block): Use record_temporary_equivalences.
2262
2263 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
2264
2265 * coretypes.h (gimple): Change typedef to be a forward declaration.
2266 * gimple.h (gimple_statement_base): rename to gimple.
2267 * (all functions and types using gimple): Adjust.
2268 * *.[ch]: Likewise.
2269
2270 2015-09-19 Andrew Dixie <andrewd@gentrack.com>
2271 David Edelsohn <dje.gcc@gmail.com>
2272
2273 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
2274 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2275 (EH_FRAME_THROUGH_COLLECT2): Define.
2276 (EH_TABLES_CAN_BE_READ_ONLY): Define.
2277 (ASM_OUTPUT_DWARF_PCREL): Define.
2278 (ASM_OUTPUT_DWARF_DATAREL): Define.
2279
2280 2015-09-19 John David Anglin <danglin@gcc.gnu.org>
2281
2282 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
2283 of TARGET_ELF32.
2284
2285 2015-09-18 Jeff Law <law@redhat.com>
2286
2287 PR tree-optimization/47679
2288 * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
2289 it here ...
2290 (dom_opt_dom_walker): New private member holding the avail_exprs_stack
2291 object. Update constructor.
2292 (pass_dominator::execute): Corresponding chagnes to declaration
2293 and initialization of avail_exprs_stack. Update constructor call
2294 for dom_opt_dom_walker object.
2295 (lookup_avail_expr, record_cond): Accept additional argument. Pass
2296 it down to children as needed.
2297 (record_equivalences_from_incoming_edge): Likewise.
2298 (eliminate_redundant_computations): Likewise.
2299 (record_equivalences_from_stmt): Likewise.
2300 (simplify_stmt_for_jump_threading): Likewise.
2301 (record_temporary_equivalences): Likewise.
2302 (optimize_stmt): Likewise.
2303 (dom_opt_dom_walker::thread_across_edge): Update access to
2304 avail_exprs_stack object and pass it to children as needed.
2305 (dom_opt_dom_walker::before_dom_children): Similarly.
2306 (dom_opt_dom_walker::after_dom_children): Similarly.
2307 * tree-ssa-threadedge.c (pfn_simplify): New typedef.
2308 (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
2309 Add avail_expr_stack argument. Pass it to children as needed.
2310 (dummy_simplify): Likewise.
2311 (simplify_control_stmt_condition): Likewise.
2312 (thread_around_empty_blocks): Likewise.
2313 (thread_through_normal_block): Likewise.
2314 (thread_across_edge): Likewise.
2315 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
2316 * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
2317
2318 PR tree-optimization/47679
2319 * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
2320 it here ...
2321 (dom_opt_dom_walker): New private member holding the const_and_copies
2322 object. Update constructor.
2323 (pass_dominator::execute): Corresponding changes to declaration
2324 and initialization of const_and_copies. Update constructor call
2325 for the dom_opt_dom_walker object.
2326 (record_temporary_equivalences): Accept const_and_copies argument
2327 pass it down to children as needed.
2328 (record_equality): Likewise.
2329 (record_equivalences_from_incoming_edge): Likewise.
2330 (cprop_into_successor_phis, optimize_stmt): Likewise.
2331 (eliminate_redundant_computations): Likewise.
2332 (dom_opt_dom_walker::thread_across_edge): Update access to
2333 const_and_copies object and pass it to children as needed.
2334 (dom_opt_dom_walker::before_dom_children): Similarly.
2335 (dom_opt_dom_walker::after_dom_children): Similarly.
2336
2337 PR tree-optimization/47679
2338 * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
2339 it into the avail_exprs_stack class.
2340 (pass_dominator::execute): Corresponding changes to declaration
2341 and initialization of avail_exprs. Pass avail_exprs to
2342 dump_dominator_optimization_stats.
2343 (record_cond): Extract avail_exprs from avail_exprs_stack.
2344 (lookup_avail_expr): Similarly.
2345 (htab_staticstics): Remove unnecessary prototype. Move to earlier
2346 position in file.
2347 (dump_dominator_optimization_stats): Make static and prototype.
2348 Add argument for the hash table to dump.
2349 (debug_dominator_optimization_stats): Remove.
2350 * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
2351 prototype.
2352 (debug_dominator_optimization_stats): Similarly.
2353 * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
2354 "void" in prototype for pop_to_marker method. Add accessor method
2355 for the underlying avail_exprs table.
2356
2357 * tree-ssa-threadedge.c: Remove trailing whitespace.
2358
2359 2014-09-18 John David Anglin <danglin@gcc.gnu.org>
2360
2361 * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
2362 unsigned.
2363 (pa_ldil_cint_p): Likewise.
2364 * config/pa/pa.c (pa_cint_ok_for_move): likewise.
2365 (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
2366 Update callers.
2367 * config/pa/pa.md: Likewise.
2368
2369 2015-09-18 David Malcolm <dmalcolm@redhat.com>
2370
2371 * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
2372 * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
2373 (diagnostic_show_locus): Likewise.
2374 (diagnostic_print_caret_line): Likewise.
2375 * diagnostic-show-locus.c: New file.
2376
2377 2015-09-18 David Edelsohn <dje.gcc@gmail.com>
2378
2379 * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
2380 "back" parameter. Declare label in #if block.
2381
2382 2015-09-18 Uros Bizjak <ubizjak@gmail.com>
2383
2384 PR middle-end/67619
2385 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
2386 the address to a register.
2387
2388 2015-09-18 Jeff Law <law@redhat.com>
2389
2390 PR tree-optimization/47679
2391 * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
2392 * tree-ssa-dom.c: Remove unnecessary header includes.
2393 (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
2394 (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
2395 (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
2396 (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
2397 (pass_phi_only_cprop::execute): Likewise.
2398 (make_pass_phi_only_cprop): Likewise.
2399 * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
2400 uses of file scoped statics by passing the required objects
2401 as parameters wherever needed.
2402
2403 2015-09-18 Andrew Dixie <andrewd@gentrack.com>
2404 David Edelsohn <dje.gcc@gmail.com>
2405
2406 * defaults.h (EH_FRAME_SECTION_NAME): Depend on
2407 EH_FRAME_THROUGH_COLLECT2.
2408 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
2409 DW_EH_PE_datarel.
2410 * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
2411 even if EH_FRAME_SECTION_NAME is undefined. Restrict special
2412 collect2 labels to EH_FRAME_THROUGH_COLLECT2.
2413 * except.c (switch_to_exception_section): Use a read-only section
2414 even if EH_FRAME_SECTION_NAME is undefined.
2415 * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
2416 * collect2.c (write_c_file_stat): Provide dbase on AIX.
2417 (scan_prog_file): Don't export __dso_handle nor
2418 __gcc_unwind_dbase.
2419 * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
2420 (EH_TABLES_CAN_BE_READ_ONLY): Define.
2421 (ASM_OUTPUT_DWARF_PCREL): Define.
2422 (ASM_OUTPUT_DWARF_DATAREL): Define.
2423 (EH_FRAME_THROUGH_COLLECT2): Define.
2424 (EH_FRAME_IN_DATA_SECTION): Delete.
2425 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
2426 * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
2427 Declare.
2428 (rs6000_asm_output_dwarf_datarel): Declare.
2429 * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
2430 (rs6000_aix_asm_output_dwarf_datarel): New.
2431 (rs6000_xcoff_asm_init_sections): Don't set exception_section.
2432 * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
2433 (EH_FRAME_THROUGH_COLLECT2): Define.
2434 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
2435 (EH_FRAME_THROUGH_COLLECT2): Define.
2436 (EH_TABLES_CAN_BE_READ_ONLY): Define.
2437 * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
2438 (EH_FRAME_THROUGH_COLLECT2): New.
2439 (ASM_OUTPUT_DWARF_DATAREL): New.
2440 * doc/tm.texi: Regenerate.
2441
2442 2015-09-18 Richard Biener <rguenther@suse.de>
2443
2444 * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
2445 we're in early phase.
2446 (schedule_generic_params_dies_gen): Likewise.
2447 (gen_remaining_tmpl_value_param_die_attribute): Do only as much
2448 work as possible, retaining unhandled cases.
2449 (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
2450 clear out generic_type_instances at the end.
2451 (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
2452 (dwarf2out_early_finish): ... here. Do most of
2453 gen_remaining_tmpl_value_param_die_attribute here.
2454
2455 2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
2456
2457 PR tree-optimization/67283
2458 * tree-sra.c (type_consists_of_records_p): Rename to...
2459 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
2460 (completely_scalarize_record): Rename to...
2461 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
2462 (scalarize_elem): New.
2463 (analyze_all_variable_accesses): Follow renamings.
2464
2465 2015-09-18 Richard Biener <rguenther@suse.de>
2466
2467 * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
2468 in early-dwarf.
2469
2470 2015-09-18 Richard Biener <rguenther@suse.de>
2471
2472 PR tree-optimization/66142
2473 * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
2474 treat MEM[&x] and x the same.
2475 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
2476 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
2477 when we simplified sth.
2478 (vn_reference_maybe_forwprop_address): Likewise.
2479 (valueize_refs_1): When we simplified through
2480 vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
2481 set valueized_anything to true.
2482 (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
2483 one ref kills the other instead of just a offset-based test.
2484 * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
2485 for the operand_equal_p test to compare bases and also compare
2486 sizes.
2487
2488 2015-09-17 Christian Bruel <christian.bruel@st.com>
2489
2490 * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
2491
2492 2015-09-17 Richard Henderson <rth@redhat.com>
2493
2494 PR libstdc++/65913
2495 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
2496 pointers that encode the alignment of the object.
2497
2498 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
2499
2500 PR rtl-optimization/66790
2501 * df-problems.c (LIVE): Amend documentation.
2502
2503 2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
2504
2505 * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
2506 and optabs-tree.o.
2507 (GTFILES): Replace optabs.c with optabs-libfunc.c.
2508 * genopinit.c (main): Add an include guard to insn-opinit.h.
2509 Protect the rtx_code parts with NUM_RTX_CODE.
2510 * optabs.h: Split parts out to...
2511 * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
2512 * optabs.c: Split parts out to...
2513 * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
2514 * cilk-common.c: Include optabs-query.h rather than optabs.h.
2515 * fold-const.c: Likewise.
2516 * target-globals.c: Likewise.
2517 * tree-if-conv.c: Likewise.
2518 * tree-ssa-forwprop.c: Likewise.
2519 * tree-ssa-loop-prefetch.c: Likewise.
2520 * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
2521 Remove unncessary include files.
2522 * tree-ssa-phiopt.c: Likewise.
2523 * tree-ssa-reassoc.c: Likewise.
2524 * tree-switch-conversion.c: Likewise.
2525 * tree-vect-data-refs.c: Likewise.
2526 * tree-vect-generic.c: Likewise.
2527 * tree-vect-loop.c: Likewise.
2528 * tree-vect-patterns.c: Likewise.
2529 * tree-vect-slp.c: Likewise.
2530 * tree-vect-stmts.c: Likewise.
2531 * tree-vrp.c: Likewise.
2532 * toplev.c: Include optabs-query.h and optabs-libfuncs.h
2533 rather than optabs.h.
2534 * expr.c: Include optabs-tree.h.
2535 * function.c: Likewise.
2536
2537 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
2538
2539 PR middle-end/65958
2540 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
2541 * config/arm/arm-protos.h (output_probe_stack_range): Declare.
2542 * config/arm/arm.c: Include common/common-target.h.
2543 (use_return_insn): Return 0 if the static chain register was saved
2544 above a non-APCS frame.
2545 (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
2546 (struct scratch_reg): New.
2547 (get_scratch_register_on_entry): New function.
2548 (release_scratch_register_on_entry): Likewise.
2549 (arm_emit_probe_stack_range): Likewise.
2550 (output_probe_stack_range): Likewise.
2551 (arm_expand_prologue): Factor out code dealing with the IP register
2552 for nested function and adjust it for stack checking.
2553 Invoke arm_emit_probe_stack_range if static builtin stack checking
2554 is enabled.
2555 (thumb1_expand_prologue): Sorry out if static builtin stack checking
2556 is enabled.
2557 (arm_expand_epilogue): Add the saved static chain register, if any, to
2558 the amount of pre-pushed registers to pop.
2559 (arm_frame_pointer_required): Return true if static stack checking is
2560 enabled and we want to catch the exception with the EABI unwinder.
2561 * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
2562 (UNSPEC_PROBE_STACK_RANGE): Likewise.
2563 * config/arm/arm.md (probe_stack): New insn.
2564 (probe_stack_range): Likewise.
2565
2566 2015-09-17 Richard Biener <rguenther@suse.de>
2567
2568 * genmatch.c (parser::parse_expr): Improve error message
2569 for mis-placed flags.
2570
2571 2015-09-17 Richard Biener <rguenther@suse.de>
2572
2573 * passes.c (rest_of_decl_compilation): Always call early_global_decl
2574 debug hook when we created a varpool node.
2575 * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
2576 dwarf2out_early_global_decl, when not just add location or
2577 value attributes to existing DIEs.
2578
2579 2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
2580
2581 * config/aarch64/aarch64.md (copysigndf3): New.
2582 (copysignsf3): Likewise.
2583
2584 2015-09-17 David S. Miller <davem@davemloft.net>
2585
2586 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
2587 * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
2588 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
2589 (HARD_REGNO_CALLER_SAVE_MODE): Define.
2590 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
2591 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
2592 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
2593 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
2594 provide when flag_pic.
2595
2596 2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
2597
2598 * config/sh/sh.c (label_ref_list_d_pool): Adjust to
2599 object_allocator change.
2600
2601 2015-09-17 Bin Cheng <bin.cheng@arm.com>
2602
2603 PR tree-optimization/66388
2604 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
2605 (dump_iv): Dump no_overflow information.
2606 (alloc_iv): Initialize new field for struct iv.
2607 (mark_bivs): Count number of no_overflow bivs.
2608 (find_deriving_biv_for_expr, record_biv_for_address_use): New
2609 functions.
2610 (idx_find_step): Call new functions above.
2611 (add_candidate_1, add_candidate): New paramter.
2612 (add_iv_candidate_for_biv): Add sizetype cand for BIV.
2613 (get_computation_aff): Simplify convertion of cand for BIV.
2614 (get_computation_cost_at): Step cand's base if necessary.
2615
2616 2015-09-17 Bin Cheng <bin.cheng@arm.com>
2617
2618 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
2619 parameter.
2620 (tree_simplify_using_condition): Ditto.
2621 (simplify_using_initial_conditions): Ditto.
2622 (loop_exits_before_overflow): Pass new argument to function
2623 simplify_using_initial_conditions. Remove case for type conversions
2624 simplification.
2625 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
2626 parameter.
2627 * tree-scalar-evolution.c (simple_iv): Simplify type conversions
2628 in iv base using loop initial conditions.
2629
2630 2015-09-16 Jeff Law <law@redhat.com>
2631
2632 PR tree-optimization/47679
2633 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
2634 (free_all_edge_infos): Use it.
2635 (allocate_edge_info): Free preexisting edge info data.
2636 (pass_dominator::execute): Set up initial edge info structures.
2637 (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
2638 thread_across_edge.
2639 * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
2640 If non-null, then push/pop markers appropriately.
2641 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
2642 * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
2643 thread-across_edge.
2644
2645 2015-09-16 James Bowman <james.bowman@ftdichip.com>
2646
2647 * config/ft32/ft32.c: Fix the memory address space predicate.
2648
2649 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
2650
2651 PR target/67573
2652 * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
2653 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
2654
2655 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
2656
2657 * toplev.h (check_global_declaration): Remove declaration.
2658 * toplev.c (check_global_declaration): Move to ...
2659 * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
2660 (analyze_functions): Update call.
2661
2662 2015-09-16 David S. Miller <davem@davemloft.net>
2663
2664 * lra-constraints.c (simplify_operand_subreg): Do not assume that
2665 lowpart of a SUBREG has offset zero.
2666
2667 2015-09-16 Jeff Law <law@redhat.com>
2668
2669 PR tree-optimization/47679
2670 * tree-ssa-dom.c (enum expr_kind): Moved from here to
2671 tree-ssa-scopedtables.h.
2672 (struct hashable_expr, class expr_hash_elt): Likewise.
2673 (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
2674 Move associated methods into tree-ssa-scopedtables.c.
2675 (avail_expr_hash, initialize_expr_from_cond): Similarly.
2676 (hashable_expr_equal_p, add_expr_commutative): Likewise.
2677 (add_hashable_expr): Likewise.
2678 (record_cond): Delete element directly.
2679 * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
2680 private copy ctor and assignment operator methods.
2681 (expr_elt_hasher): Inline trivial methods.
2682 (initialize_expr_from_cond): Prototype.
2683 * tree-ssa-scopedtables.c: Add necessary includes, functions and
2684 methods that were previously in tree-ssa-dom.c. Improve various
2685 comments.
2686
2687 2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
2688
2689 * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
2690
2691 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
2692
2693 PR bootstrap/67587
2694 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
2695 fixup_partitions.
2696
2697 2015-09-16 Richard Biener <rguenther@suse.de>
2698
2699 PR middle-end/67253
2700 * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
2701 location of possibly shared trees.
2702
2703 2015-09-16 Richard Biener <rguenther@suse.de>
2704
2705 PR middle-end/67271
2706 * fold-const.c (native_encode_expr): Bail out on bogus offsets.
2707
2708 2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
2709
2710 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
2711 offset and size computations instead of HOST_WIDE_INT.
2712
2713 2015-09-16 Richard Biener <rguenther@suse.de>
2714
2715 PR middle-end/67442
2716 * fold-const.c (extract_muldiv_1): Properly extend multiplication
2717 result before builting a tree via wide_int_to_tree.
2718
2719 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
2720
2721 * Makefile.in: Add memory-block.cc
2722 (pool_allocator::initialize): Use fixed block size.
2723 (pool_allocator::release): Use memory_block_pool.
2724 (pool_allocator::allocate): Likewise.
2725 * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
2726 object pools.
2727 * cfg.c (initialize_original_copy_tables): Likewise.
2728 * cselib.c (elt_list_pool, elt_loc_list_pool,
2729 cselib_val_pool): Likewise.
2730 * df-problems.c (df_chain_alloc): Likewise.
2731 * df-scan.c (df_scan_alloc): Likewise.
2732 * dse.c (cse_store_info_pool, rtx_store_info_pool,
2733 read_info_type_pool, insn_info_type_pool, bb_info_pool,
2734 group_info_pool, deferred_change_pool): Likewise.
2735 * et-forest.c (et_nodes, et_occurrences): Likewise.
2736 * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
2737 ipcp_agg_lattice_pool): Likewise.
2738 * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
2739 * ipa-profile.c (histogram_pool): Likewise.
2740 * ipa-prop.c (ipa_refdesc_pool): Likewise.
2741 * ira-build.c (live_range_pool, allocno_pool, object_pool,
2742 initiate_cost_vectors, pref_pool, copy_pool): Likewise.
2743 * ira-color.c (update_cost_record_pool): Likewise.
2744 * lra-lives.c (lra_live_range_pool): Likewise.
2745 * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
2746 * memory-block.cc: New file.
2747 * memory-block.h: New file.
2748 * regcprop.c (queued_debug_insn_change_pool): Use common block size.
2749 * sched-deps.c (sched_deps_init): Likewise.
2750 * sel-sched-ir.c (sched_lists_pool): Likewise.
2751 * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
2752 * tree-sra.c (access_pool): Likewise.
2753 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
2754 * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
2755 * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
2756 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
2757 * tree-ssa-strlen.c (strinfo_pool): Likewise.
2758 * tree-ssa-structalias.c (variable_info_pool): Likewise.
2759 * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
2760 location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
2761
2762 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
2763
2764 * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
2765 definition.
2766 (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
2767 call0 ABI.
2768
2769 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
2770
2771 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
2772 to pass TLS call argument, according to current ABI.
2773 * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
2774 callx0 for TLS call, according to current ABI.
2775
2776 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
2777
2778 * tree-eh.c (lower_try_finally_dup_block): Clear location information
2779 on stack restore statements.
2780 (decide_copy_try_finally): Do not consider a stack restore statement as
2781 coming from sources.
2782
2783 2015-09-15 Uros Bizjak <ubizjak@gmail.com>
2784
2785 * config/alpha/alpha.c (alpha_expand_block_clear): Use
2786 HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
2787
2788 2015-09-15 Jeff Law <law@redhat.com>
2789
2790 PR tree-optimization/47679
2791 * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
2792 methods and private members.
2793 (avail_exprs_stack): Similarly. Change type of global
2794 from a pair of expr_hash_elt_t to the new class.
2795 (expr_elt_hasher::hash): Corresponding changes.
2796 (expr_elt_hasher::equal): Similarly.
2797 (avail_expr_hash): Similarly.
2798 (pass_dominator::execute): Similarly.
2799 (dom_opt_dom_walker::thread_across_edge): Similarly.
2800 (record_cond): Similarly.
2801 (dom_opt_dom_walker::before_dom_children): Similarly.
2802 (dom_opt_dom_walker::after_dom_children): Similarly.
2803 (lookup_avail_expr): Likewise.
2804 (initialize_hash_element): Now a expr_hash_elt constructor.
2805 (initialize_hash_element_from_expr): Similarly.
2806 (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
2807 (free_expr_hash_elt): Call dtor for the element.
2808 (remove_local_expressions_from_table): Now the "pop_to_marker"
2809 method in the available_exprs_stack class.
2810 (avail_expr_stack::record_expr): Method factored out.
2811 (print_expr_hash_elt): Now a method in the expr_hash_elt class.
2812 Fix formatting.
2813 (hashable_expr_equal_p): Fix formatting.
2814
2815 2015-09-15 David Malcolm <dmalcolm@redhat.com>
2816
2817 * input.h (location_get_source_line): Drop "expanded_location"
2818 param in favor of a file and line number.
2819 * input.c (location_get_source_line): Likewise.
2820 (dump_location_info): Update for change in signature of
2821 location_get_source_line.
2822 * diagnostic.c (diagnostic_print_caret_line): Likewise.
2823
2824 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
2825
2826 * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
2827 Bump to 4KB for SJLJ exceptions.
2828 (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
2829 * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
2830 * doc/tm.texi: Regenerate.
2831
2832 2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2833
2834 * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
2835 of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
2836 Update prototype.
2837
2838 2015-09-15 Richard Biener <rguenther@suse.de>
2839
2840 PR tree-optimization/67470
2841 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
2842 structure for PHI hoisting by inserting a forwarder block
2843 if appropriate.
2844
2845 2015-09-15 Christian Bruel <christian.bruel@st.com>
2846
2847 * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
2848 (arm_option_print): New function.
2849
2850 2015-09-15 Christian Bruel <christian.bruel@st.com>
2851
2852 PR target/52144
2853 * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
2854 * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
2855 Remove flags parameter.
2856 * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
2857 (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
2858 (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
2859 (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
2860 (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
2861 (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
2862 (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
2863 * gcc/config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
2864
2865 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2866
2867 * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
2868
2869 * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
2870 AARCH64_VALID_SIMD_DREG_MODE.
2871
2872 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2873
2874 * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
2875 aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
2876 (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
2877 (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
2878 aarch64_ld4_lane<mode>): Combine together, making...
2879 (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
2880 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
2881 aarch64_st4_lane<mode>): Combine together, making...
2882 (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
2883 * config/aarch64/iterators.md (nregs): Add comment.
2884
2885 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2886
2887 * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
2888 Change operand mode from <V_TWO_ELEM> to BLK.
2889 (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
2890 (aarch64_vec_store_lanesoi_lane<mode): Likewise
2891 (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
2892 (aarch64_ld2_lane<mode>): Likewise.
2893 (aarch64_st2_lane<VQ:mode>): Likewise.
2894 * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
2895
2896 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2897
2898 * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
2899 Change operand mode from <V_FOUR_ELEM> to BLK.
2900 (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
2901 (aarch64_vec_store_lanesxi_lane<mode): Likewise.
2902 (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
2903 (aarch64_ld4_lane<mode>): Likewise.
2904 (aarch64_st4_lane<mode>): Likewise.
2905 * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
2906
2907 2015-09-15 Richard Biener <rguenther@suse.de>
2908
2909 PR middle-end/67563
2910 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
2911 transfer EH info from old to new stmt.
2912 (replace_call_with_value): Likewise.
2913 (replace_call_with_call_and_fold): Likewise.
2914 (gimple_fold_builtin_memory_op): Likewise.
2915 (gimple_fold_builtin_memset): Likewise.
2916 (gimple_fold_builtin_stpcpy): Likewise.
2917 (gimple_fold_call): Likewise.
2918
2919 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2920
2921 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
2922 comment.
2923 * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
2924 (aarch64_simd_intEI_type_node): Likewise.
2925 (aarch64_simd_builtin_std_type): Remove EImode case.
2926 (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
2927 * config/aarch64/aarch64-modes.def: Remove EImode.
2928
2929 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2930
2931 * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
2932 Change operand mode from <V_THREE_ELEM> to BLK.
2933 (aarch64_vec_load_lanesci_lane<mode>): Likewise.
2934 (aarch64_vec_store_lanesci_lane<mode>): Likewise.
2935 (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
2936 (aarch64_ld3_lane<mode>): Likewise.
2937 (aarch64_st3_lane<mode>): Likewise.
2938 * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
2939
2940 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2941
2942 * config/aarch64/aarch64-simd.md
2943 (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
2944 Change all TImode operands to BLKmode.
2945 (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
2946 Change all EImode operands to BLKmode.
2947 (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
2948 Change all OImode operands to BLKmode.
2949
2950 (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
2951 and call set_mem_size.
2952 (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
2953
2954 * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
2955
2956 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
2957
2958 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
2959 to...
2960 (aarch64_vec_store_lanesoi_lane<mode>): ...this.
2961
2962 (vec_store_lanesci_lane<mode>): Rename to...
2963 (aarch64_vec_store_lanesci_lane<mode>): ...this.
2964
2965 (vec_store_lanesxi_lane<mode>): Rename to...
2966 (aarch64_vec_store_lanesxi_lane<mode>): ...this.
2967
2968 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
2969 aarch64_st4_lane<mode>): Follow renaming.
2970
2971 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
2972
2973 * config/s390/s390.c (s390_const_operand_ok): Add missing
2974 brackets.
2975
2976 2015-09-15 Richard Biener <rguenther@suse.de>
2977
2978 PR lto/67568
2979 * lto-streamer.h (lto_location_cache::current_sysp): Properly
2980 initialize.
2981 * lto-streamer-out.c (clear_line_info): Likewise.
2982
2983 2015-09-15 Richard Biener <rguenther@suse.de>
2984
2985 * doc/match-and-simplify.texi: Fix wording.
2986
2987 2015-09-15 Bin Cheng <bin.cheng@arm.com>
2988
2989 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
2990 unnecessary type conversion in op1.
2991
2992 2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
2993
2994 * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
2995 (dup_block_and_redirect): Delete function.
2996 (can_dup_for_shrink_wrapping): New function.
2997 (fix_fake_fallthrough_edge): New function.
2998 (try_shrink_wrapping): Rewrite function.
2999 (convert_to_simple_return): Call fix_fake_fallthrough_edge.
3000
3001 2015-09-14 Rich Felker <dalias@libc.org>
3002
3003 * configure.ac: Change target pattern for sh TLS support
3004 test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
3005 * configure: Regenerate.
3006
3007 2015-09-14 Jeff Law <law@redhat.com>
3008
3009 PR tree-optimization/47679
3010 * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
3011 type rather than void *.
3012
3013 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
3014
3015 PR fortran/67460
3016 * diagnostic.c (diagnostic_initialize): Do not set
3017 some_warnings_are_errors.
3018 (diagnostic_finish): Use DK_WERROR count instead.
3019 (diagnostic_report_diagnostic): Do not set
3020 some_warnings_are_errors.
3021 * diagnostic.h (struct diagnostic_context): Remove
3022 some_warnings_are_errors.
3023
3024 2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
3025
3026 * config/sparc/predicates.md (const_all_ones_operand): Use
3027 CONSTM1_RTX to simplify definition.
3028
3029 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
3030
3031 PR target/67061
3032 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
3033 Handle call insns.
3034
3035 2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
3036
3037 * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
3038 OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
3039 OPT_fshow_column to handled saved option cases.
3040 (append_compiler_options): Do not skip the above added options.
3041
3042 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3043
3044 PR target/63304
3045 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
3046 nopcrelative_literal_loads.
3047 (aarch64_classify_address): Likewise.
3048 (aarch64_constant_pool_reload_icode): Define.
3049 (aarch64_secondary_reload): Handle secondary reloads for
3050 literal pools.
3051 (aarch64_override_options): Handle nopcrelative_literal_loads.
3052 (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
3053 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
3054 Define.
3055 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
3056 * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
3057 * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
3058 predicate.
3059 * doc/invoke.texi (mpc-relative-literal-loads): Document.
3060
3061 2015-09-14 John David Anglin <danglin@gcc.gnu.org>
3062
3063 PR middle-end/67401
3064 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
3065 sync_compare_and_swap_optab libcall to target_oval.
3066
3067 2015-09-14 Marek Polacek <polacek@redhat.com>
3068
3069 * rtlanal.c (split_double): Cast to unsigned when shifting a negative
3070 value.
3071 * sched-int.h (UNKNOWN_DEP_COST): Likewise.
3072
3073 2015-09-11 Mark Wielaard <mjw@redhat.com>
3074
3075 PR c/28901
3076 * toplev.c (check_global_declaration): Check and use
3077 warn_unused_const_variable.
3078 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
3079 (-Wunused-variable): Remove non-constant. For C implies
3080 -Wunused-const-variable.
3081 (-Wunused-const-variable): New.
3082
3083 2015-09-14 Richard Biener <rguenther@suse.de>
3084
3085 * doc/match-and-simplify.texi: Update for changed syntax
3086 of inner ifs and the new switch expression.
3087
3088 2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
3089
3090 * config/i386/haswell.md: New file describing Haswell pipeline.
3091 * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
3092 haswell-like processors.
3093 (ix86_reassociation_width): Increase reassociation width for 64-bit
3094 Haswell processor family.
3095 * config/i386/i386.md: Introduce haswell cpu and include new md file.
3096
3097 2015-09-14 Richard Biener <rguenther@suse.de>
3098
3099 * doc/match-and-simplify.texi: Fixup some formatting issues
3100 and document the 's' flag.
3101
3102 2015-09-13 Olivier Hainque <hainque@adacore.com>
3103 Eric Botcazou <ebotcazou@adacore.com>
3104
3105 * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
3106 gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
3107 * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
3108 (TARGET_CPU_gr5): Likewise.
3109 (TARGET_CPU_gr6): Likewise.
3110 (MULTILIB_DEFAULTS): Likewise.
3111 * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
3112 for mcpu=gr5 and mcpu=gr6.
3113 (MULTILIB_DIRNAMES): Adjust accordingly.
3114
3115 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3116
3117 * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
3118 (mem_ref_p): Likewise.
3119 (outermost_indep_loop): Adjust.
3120 (mem_ref_in_stmt): Likewise.
3121 (determine_max_movement): Likewise.
3122 (mem_ref_alloc): Likewise.
3123 (record_mem_ref_loc): Likewise.
3124 (set_ref_stored_in_loop): Likewise.
3125 (mark_ref_stored): Likewise.
3126 (gather_mem_refs_stmt): Likewise.
3127 (mem_refs_may_alias_p): Likewise.
3128 (for_all_locs_in_loop): Likewise.
3129 (struct rewrite_mem_ref_loc): Likewise.
3130 (rewrite_mem_refs): Likewise.
3131 (struct first_mem_ref_loc_1): Likewise.
3132 (first_mem_ref_loc): Likewise.
3133 (struct sm_set_flag_if_changed): Likewise.
3134 (execute_sm_if_changed_flag_set): Likewise.
3135 (execute_sm): Likewise.
3136 (hoist_memory_references):
3137 (struct ref_always_accessed): Likewise.
3138 (ref_always_accessed_p): Likewise.
3139 (refs_independent_p): Likewise.
3140 (record_dep_loop): Likewise.
3141 (ref_indep_loop_p_1): Likewise.
3142 (ref_indep_loop_p_2): Likewise.
3143 (ref_indep_loop_p): Likewise.
3144 (can_sm_ref_p): Likewise.
3145 (find_refs_for_sm): Likewise.
3146 (tree_ssa_lim_finalize): Likewise.
3147
3148 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3149
3150 * dwarf2out.c (dw_attr_ref): Remove typedef.
3151 (dw_line_info_ref): Likewise.
3152 (pubname_ref): Likewise.
3153 (dw_ranges_ref): Likewise.
3154 (dw_ranges_by_label_ref): Likewise.
3155 (comdat_type_node_ref): Likewise.
3156 (get_AT): Adjust.
3157 (get_AT_low_pc): Likewise.
3158 (get_AT_hi_pc): Likewise.
3159 (get_AT_string): Likewise.
3160 (get_AT_flag): Likewise.
3161 (get_AT_unsigned): Likewise.
3162 (get_AT_ref): Likewise.
3163 (get_AT_file): Likewise.
3164 (remove_AT): Likewise.
3165 (print_die): Likewise.
3166 (check_die): Likewise.
3167 (die_checksum): Likewise.
3168 (attr_checksum_ordered): Likewise.
3169 (struct checksum_attributes): Likewise.
3170 (collect_checksum_attributes): Likewise.
3171 (die_checksum_ordered): Likewise.
3172 (same_die_p): Likewise.
3173 (is_declaration_die): Likewise.
3174 (clone_die): Likewise.
3175 (clone_as_declaration): Likewise.
3176 (copy_declaration_context): Likewise.
3177 (break_out_comdat_types): Likewise.
3178 (copy_decls_walk): Likewise.
3179 (output_location_lists): Likewise.
3180 (external_ref_hasher::hash): Likewise.
3181 (optimize_external_refs_1): Likewise.
3182 (build_abbrev_table): Likewise.
3183 (size_of_die): Likewise.
3184 (unmark_all_dies): Likewise.
3185 (size_of_pubnames): Likewise.
3186 (output_die_abbrevs): Likewise.
3187 (output_die): Likewise.
3188 (output_pubnames): Likewise.
3189 (add_ranges_num): Likewise.
3190 (add_ranges_by_labels): Likewise.
3191 (add_high_low_attributes): Likewise.
3192 (gen_producer_string): Likewise.
3193 (dwarf2out_set_name): Likewise.
3194 (new_line_info_table): Likewise.
3195 (prune_unused_types_walk_attribs): Likewise.
3196 (prune_unused_types_update_strings): Likewise.
3197 (prune_unused_types): Likewise.
3198 (resolve_addr): Likewise.
3199 (optimize_location_lists_1): Likewise.
3200 (index_location_lists): Likewise.
3201 (dwarf2out_finish): Likewise.
3202
3203 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3204
3205 * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
3206
3207 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3208
3209 * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
3210 (dump_asserts_for): Adjust.
3211 (register_new_assert_for): Likewise.
3212 (process_assert_insertions): Likewise.
3213 (insert_range_assertions): Likewise.
3214
3215 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3216
3217 * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
3218 and remove typedef.
3219 (new_temp_expr_table): Adjust.
3220 (free_temp_expr_table): Likewise.
3221 (version_to_be_replaced_p): Likewise.
3222 (make_dependent_on_partition): Likewise.
3223 (add_to_partition_kill_list): Likewise.
3224 (remove_from_partition_kill_list): Likewise.
3225 (add_dependence): Likewise.
3226 (finished_with_expr): Likewise.
3227 (process_replaceable): Likewise.
3228 (kill_expr): Likewise.
3229 (kill_virtual_exprs): Likewise.
3230 (mark_replaceable): Likewise.
3231 (find_replaceable_in_bb): Likewise.
3232 (find_replaceable_exprs): Likewise.
3233 (debug_ter): Likewise.
3234
3235 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3236
3237 * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
3238 (struct btr_user): Rename from btr_user_s.
3239 (struct btr_def): Rename from btr_def_s.
3240 (find_btr_def_group): Adjust.
3241 (add_btr_def): Likewise.
3242 (new_btr_user): Likewise.
3243 (note_other_use_this_block): Likewise.
3244 (compute_defs_uses_and_gen): Likewise.
3245 (link_btr_uses): Likewise.
3246 (build_btr_def_use_webs): Likewise.
3247 (block_at_edge_of_live_range_p): Likewise.
3248 (btr_def_live_range): Likewise.
3249 (combine_btr_defs): Likewise.
3250 (move_btr_def): Likewise.
3251 (migrate_btr_def): Likewise.
3252 (migrate_btr_defs): Likewise.
3253
3254 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3255
3256 * var-tracking.c (shared_hash_def): Rename to shared_hash.
3257 (shared_hash): Remove typedef.
3258 (struct dataflow_set): Adjust.
3259 (shared_hash_unshare): Likewise.
3260 (dataflow_set_merge): Likewise.
3261 (vt_initialize): Likewise.
3262 (vt_finalize): Likewise.
3263
3264 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3265
3266 * var-tracking.c (struct location_chain): Rename from
3267 location_chain_def.
3268 (struct variable_part): Adjust.
3269 (variable_htab_free): Likewise.
3270 (unshare_variable): Likewise.
3271 (get_init_value): Likewise.
3272 (get_addr_from_local_cache): Likewise.
3273 (drop_overlapping_mem_locs): Likewise.
3274 (val_reset): Likewise.
3275 (struct variable_union_info): Likewise.
3276 (variable_union): Likewise.
3277 (find_loc_in_1pdv): Likewise.
3278 (insert_into_intersection): Likewise.
3279 (intersect_loc_chains): Likewise.
3280 (canonicalize_loc_order_check): Likewise.
3281 (canonicalize_values_mark): Likewise.
3282 (canonicalize_values_star): Likewise.
3283 (canonicalize_vars_star): Likewise.
3284 (variable_merge_over_cur): Likewise.
3285 (remove_duplicate_values): Likewise.
3286 (variable_post_merge_new_vals): Likewise.
3287 (variable_post_merge_perm_vals): Likewise.
3288 (find_mem_expr_in_1pdv): Likewise.
3289 (dataflow_set_preserve_mem_locs): Likewise.
3290 (dataflow_set_remove_mem_locs): Likewise.
3291 (variable_part_different_p): Likewise.
3292 (onepart_variable_different_p): Likewise.
3293 (find_src_set_src): Likewise.
3294 (dump_var): Likewise.
3295 (set_slot_part): Likewise.
3296 (clobber_slot_part): Likewise.
3297 (delete_slot_part): Likewise.
3298 (vt_expand_var_loc_chain): Likewise.
3299 (emit_note_insn_var_location): Likewise.
3300 (vt_finalize): Likewise.
3301
3302 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3303
3304 * dse.c (store_info_t): Remove typedef.
3305 (group_info_t): Likewise.
3306 (const_group_info_t): Likewise.
3307 (deferred_change_t): Likewise.
3308 (get_group_info): Adjust.
3309 (free_store_info): Likewise.
3310 (canon_address): Likewise.
3311 (clear_rhs_from_active_local_stores): Likewise.
3312 (record_store): Likewise.
3313 (replace_read): Likewise.
3314 (check_mem_read_rtx): Likewise.
3315 (scan_insn): Likewise.
3316 (remove_useless_values): Likewise.
3317 (dse_step1): Likewise.
3318 (dse_step2_init): Likewise.
3319 (dse_step2_nospill): Likewise.
3320 (scan_stores_nospill): Likewise.
3321 (scan_reads_nospill): Likewise.
3322 (dse_step3_exit_block_scan): Likewise.
3323 (dse_step3): Likewise.
3324 (dse_step5_nospill): Likewise.
3325 (dse_step6): Likewise.
3326
3327 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3328
3329 * alias.c (alias_set_entry_d): Rename to alias_set_entry.
3330 (alias_set_entry): Remove typedef.
3331 (alias_set_subset_of): Adjust.
3332 (alias_sets_conflict_p): Likewise.
3333 (init_alias_set_entry): Likewise.
3334 (get_alias_set): Likewise.
3335 (new_alias_set): Likewise.
3336 (record_alias_subset): Likewise.
3337
3338 2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
3339
3340 * doc/install.texi (Downloading the source): Mark up
3341 contrib/download_prerequisites properly and drop leading "./".
3342
3343 2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
3344
3345 * config/arc/arc.h: Remove define of STRUCT_VALUE.
3346 * config/lm32/lm32.h: Likewise.
3347 * config/mep/mep.h: Likewise.
3348 * config/visium/visium.h: Likewise.
3349 * system.h: Poison STRUCT_VALUE macro.
3350
3351 2015-09-12 John David Anglin <danglin@gcc.gnu.org>
3352
3353 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
3354 CONSTANT_P operands.
3355
3356 2015-09-11 David S. Miller <davem@davemloft.net>
3357
3358 * config/sparc/constraints.md: Make "U" constraint a real register
3359 constraint.
3360 * config/sparc/sparc.c (TARGET_LRA_P): Define.
3361 (D_MODES, DF_MODES): Add missing cast.
3362 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
3363 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
3364 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
3365 cost to 8.
3366 * config/sparc/sparc.h (PROMOTE_MODE): Define.
3367 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
3368 provide these insn when flag_pic.
3369
3370 2015-09-11 Jeff Law <law@redhat.com>
3371
3372 PR tree-optimization/47679
3373 * tree-ssa-dom.c (struct cond_equivalence): Update comment.
3374 * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
3375 member with m_. Update inline member functions as necessary. Add
3376 toplevel comment.
3377 * tree-ssa-scopedtables.c: Update const_and_copies's member
3378 functions to use m_ prefix to access the stack.
3379
3380 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
3381
3382 * graphite-optimize-isl.c (disable_tiling): Remove.
3383 (get_schedule_for_band): Do not use disable_tiling.
3384 (get_prevector_map): Delete function.
3385 (enable_polly_vector): Remove.
3386 (get_schedule_for_band_list): Remove dead code.
3387
3388 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
3389
3390 * graphite-optimize-isl.c (get_tile_map): Refactor.
3391 (get_schedule_for_band): Same.
3392 (getScheduleForBand): Same.
3393 (get_prevector_map): Same.
3394 (get_schedule_for_band_list): Same.
3395 (get_schedule_map): Same.
3396 (get_single_map): Same.
3397 (apply_schedule_map_to_scop): Same.
3398 (optimize_isl): Same.
3399
3400 2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3401
3402 PR target/63304
3403 * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
3404 (movtf): Delete.
3405 * config/aarch64/iterators.md (GPF_TF_F16): New.
3406 (GPF_F16): Delete.
3407
3408 2015-09-10 Nathan Sidwell <nathan@acm.org>
3409
3410 * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
3411 (nvptx_reorg): Adjust comments.
3412
3413 2015-09-15 John David Anglin <danglin@gcc.gnu.org>
3414
3415 PR bootstrap/67363
3416 * configure.ac: Check if setenv and unsetenv are declared.
3417 * configure: Rebuild.
3418 * config.in: Rebuild.
3419 * system.h: Declare setenv and unsetenv if not declared.
3420
3421 2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3422
3423 * config/rs6000/rs6000.c (swap_web_entry): Update preceding
3424 commentary to simplify permute mask adjustment equation.
3425 (special_handling_values): Add SH_VPERM.
3426 (const_load_sequence_p): New function.
3427 (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
3428 the mask loaded from the constant pool.
3429 (adjust_vperm): New function.
3430 (handle_special_swappables): Call adjust_vperm.
3431 (dump_swap_insn_table): Handle SH_VPERM.
3432
3433 2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
3434
3435 * shrink-wrap.c (requires_stack_frame_p): Remove static.
3436 * shrink-wrap.h (requires_stack_frame_p): Put back.
3437
3438 2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
3439
3440 * reload1.c (elimination_costs_in_insn): Locally turn
3441 -Wmaybe-uninitialized into a warning.
3442
3443 2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
3444
3445 * shrink-wrap.c (requires_stack_frame_p): Make static.
3446 (prepare_shrink_wrap): Likewise.
3447 (dup_block_and_redirect): Likewise.
3448 * shrink-wrap.h: Remove declarations of those functions.
3449
3450 2015-09-10 Mark Wielaard <mjw@redhat.com>
3451
3452 * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
3453
3454 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
3455
3456 PR target/67506
3457 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
3458 missing simplify_gen_subreg.
3459
3460 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3461
3462 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
3463 the vector element is bigger than 64 bit.
3464
3465 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3466
3467 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
3468 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
3469
3470 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
3471
3472 * config/s390/s390.c: Add V1TImode to constant pool modes.
3473
3474 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3475
3476 PR target/67439
3477 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
3478 predicate. Set predicable_short_it attr to "no".
3479
3480 2015-09-10 Jiong Wang <jiong.wang@arm.com>
3481
3482 PR rtl-optimization/67421
3483 * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
3484 left wide shift tranformation.
3485
3486 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
3487
3488 * common/config/arc/arc-common.c: Remove references to A5.
3489 * config/arc/arc-opts.h: Likewise.
3490 * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
3491 * config/arc/arc.opt, config/arc/constraints.md: Likewise.
3492 * config/arc/t-arc-newlib: Likewise.
3493
3494 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
3495
3496 * config/arc/arc.md (length): Fix attribute length for conditional
3497 executed instructions with long immediate.
3498
3499 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3500
3501 * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
3502 type for second alternative.
3503
3504 2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
3505
3506 * doc/invoke.texi (Downloading GCC): Mention
3507 contrib/download_prerequisites script.
3508
3509 2015-09-10 Jakub Jelinek <jakub@redhat.com>
3510
3511 PR c++/67523
3512 * gimplify.c (gimplify_omp_for): If inner stmt is not found
3513 for combined loop, assert seen_error () and return GS_ERROR.
3514
3515 PR middle-end/67521
3516 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
3517 if decl is already in outer->variables.
3518
3519 PR middle-end/67517
3520 * gimplify.c (gimplify_scan_omp_clauses): Instead of
3521 asserting that decl is not specified in octx->variables,
3522 break out of the loop if it is.
3523
3524 PR c++/67514
3525 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
3526 iterator is not explicitly determined, but is defined inside
3527 of the combined workshare region, handle it like if it has
3528 DECL_EXPR in OMP_FOR_PRE_BODY.
3529
3530 2015-09-09 Nathan Sidwell <nathan@acm.org>
3531
3532 * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
3533 (*cmp<mode>): Add assembler spacing.
3534 (setcc_int<mode>, set_cc_float<mode>): Likewise.
3535 * config/nvptx/nvptx.c (nvptx_option_override): Override debug
3536 level.
3537 (write_func_decl_from_insn): Refactor argument loops & comma emission.
3538 (nvptx_expand_call): Likewise.
3539 (nvptx_output_call_insn): Likewise.
3540 (nvptx_reorg_subreg): Add spacing.
3541
3542 2015-09-09 Marek Polacek <polacek@redhat.com>
3543
3544 PR middle-end/67512
3545 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
3546 for comparisons.
3547
3548 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
3549
3550 PR c++/53184
3551 * doc/invoke.texi ([Wsubobject-linkage]): Document.
3552
3553 2015-09-09 Tom de Vries <tom@codesourcery.com>
3554
3555 * params-list.h: Add missing copyright notice.
3556
3557 2015-09-09 Nathan Sidwell <nathan@acm.org>
3558
3559 * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
3560 sel_truesi, not andsi.
3561
3562 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3563
3564 * config/arm/arm.md (*subsi3_compare0): Rename to...
3565 (subsi3_compare0): ... This.
3566 (modsi3): New define_expand.
3567 * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
3568 when operand is power of 2.
3569
3570 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3571
3572 * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
3573 (*neg<mode>2_compare0): Rename to...
3574 (neg<mode>2_compare0): ... This.
3575 * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
3576 Move check for speed inside the if-then-elses. Reflect
3577 CSNEG sequence in MOD by power of 2 case.
3578
3579 2015-09-09 Alan Modra <amodra@gmail.com>
3580
3581 PR target/67378
3582 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
3583 reload replacement for PRE_MODIFY address reg.
3584
3585 2015-09-09 Sebastian Pop <s.pop@samsung.com>
3586
3587 PR tree-optimization/53852
3588 * config.in: Regenerate.
3589 * configure: Regenerate.
3590 * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
3591 * graphite-optimize-isl.c (optimize_isl): Stop computation when
3592 PARAM_MAX_ISL_OPERATIONS is reached.
3593 * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
3594 * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
3595 result equal to isl_stat_ok as the status now can be isl_error_quota.
3596 (subtract_commutative_associative_deps): Same.
3597 (compute_deps): Same.
3598
3599 2015-09-08 Aditya Kumar <hiraditya@msn.com>
3600 Sebastian Pop <s.pop@samsung.com>
3601
3602 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
3603 Return the parameter if it was saved in corresponding
3604 parameter_rename_map of the region.
3605 (copy_def): Copy def from sese region to the newly created region.
3606 (copy_internal_parameters): Copy all the internal parameters defined
3607 within a region to the newly created region.
3608 (graphite_regenerate_ast_isl): Copy parameters to the new region before
3609 translating isl to gimple.
3610 * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
3611 the loop-nest does not have any data-references.
3612 (build_graphite_scops): Create a scop only when there is at least one
3613 loop inside it.
3614 (contains_only_close_phi_nodes): Deleted.
3615 (print_graphite_scop_statistics): Deleted
3616 (print_graphite_statistics): Deleted
3617 (limit_scops): Deleted.
3618 (build_scops): Removed call to limit_scops.
3619 * sese.c (new_sese): Construct.
3620 (free_sese): Destruct.
3621 (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
3622 added.
3623 (set_rename): Pass sese region so that parameters inside the region can
3624 be added to its parameter_rename_map.
3625 (rename_uses): Pass sese region.
3626 (graphite_copy_stmts_from_block): Do not copy parameters that have been
3627 generated in the header of the scop. For each SSA_NAME in the
3628 parameter_rename_map rename its usage.
3629 (invariant_in_sese_p_rec): Return false if tree t is defined outside
3630 sese region.
3631 (scalar_evolution_in_region): If the tree t is invariant just return t.
3632 * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
3633 struct sese to keep track of all the parameters which need renaming.
3634 * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
3635 any data-refs.
3636 * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
3637
3638 2015-09-08 Tom de Vries <tom@codesourcery.com>
3639
3640 * Makefile.in (generated_files): Add params.list.
3641 (params.list, s-params.list): Add rule.
3642 * params.h (enum compiler_param): Include params-list.h. Move define
3643 DEFPARAM, include params.def and undef DEFPARAM ...
3644 * params-list.h: ... here. New file.
3645
3646 2015-09-08 David Malcolm <dmalcolm@redhat.com>
3647
3648 * pretty-print.h (printer_fn): Fix typo in comment.
3649
3650 2015-09-07 Jeff Law <law@redhat.com>
3651
3652 * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
3653
3654 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3655
3656 * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
3657 (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
3658 (arm_neon_fp16_hw): New.
3659
3660 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3661
3662 * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
3663 UNITS_PER_WORD >= 4.
3664
3665 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3666
3667 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
3668 aarch64_simd_vec_unpacks_hi_<mode>): New insn.
3669 (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
3670 (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
3671 (aarch64_float_extend_lo_v2df): Rename to...
3672 (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
3673
3674 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
3675 (float_extend_lo): Add v4sf.
3676
3677 * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
3678 * config/aarch64/iterators.md (VQ_HSF): New iterator.
3679 (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
3680 (Vwide): New mode_attr.
3681
3682 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3683
3684 * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
3685 aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
3686 aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
3687 vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
3688 V4HF and V8HF variants to iterator.
3689
3690 * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
3691
3692 * config/aarch64/iterators.md (VDQF_F16): New.
3693 (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
3694
3695 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3696
3697 * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
3698 vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
3699 vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
3700 vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
3701 vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
3702 vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
3703 vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
3704 vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
3705 vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
3706 vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
3707 vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
3708 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
3709 vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
3710 vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
3711 vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
3712 vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
3713 vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
3714 vld1q_dup_f16): New.
3715
3716 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3717
3718 * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
3719 Reparameterize to...
3720 (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
3721 (aarch64_float_truncate_hi_v4sf): Reparameterize to...
3722 (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
3723
3724 * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
3725 v8hf variant.
3726 (float_truncate_lo_): Use BUILTIN_VDF iterator.
3727
3728 * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
3729
3730 * config/aarch64/iterators.md (VDF, Vdtype): New.
3731 (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
3732
3733 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3734
3735 * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
3736 * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
3737 (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
3738 Add __builtin_aarch64_simd_hf.
3739 * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
3740 float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
3741 vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
3742 vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
3743 vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
3744 vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
3745 vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
3746 vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
3747 vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
3748
3749 * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
3750 V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
3751 (VDC, Vdbl): Add V4HF.
3752
3753 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3754
3755 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
3756 V4HFmode and V8HFmode.
3757 (aarch64_split_simd_move): Add case for V8HFmode.
3758 * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
3759 (aarch64_simd_builtin_std_type): Handle HFmode.
3760 (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
3761
3762 * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
3763 aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
3764 (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
3765
3766 * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
3767 Float16x8_t.
3768
3769 * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
3770 * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
3771 New typedefs.
3772 (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
3773 vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
3774 vst1q_lane_f16): New.
3775 * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
3776 (VALLDI_F16, VALL_F16): New.
3777 (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
3778 Add cases for V4HF and V8HF.
3779 (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
3780
3781 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3782
3783 * config/arm/arm-builtins.c (VAR11, VAR12): New.
3784 * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
3785 vld4_dup): Add v4hf variant.
3786 (vget_high, vget_low): Add v8hf variant.
3787 (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
3788 vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
3789 v4hf and v8hf variants.
3790
3791 * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
3792 (VDX): Add V4HF.
3793 (V_DOUBLE): Add case for V4HF.
3794 (VQX): Add V8HF.
3795 (V_HALF): Add case for V8HF.
3796 (VDQX): Add V4HF, V8HF.
3797 (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
3798 V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
3799
3800 * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
3801 neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
3802 vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
3803 neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
3804 neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
3805 neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
3806 vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
3807 neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
3808 neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
3809
3810 (neon_vcreate, neon_vreinterpretv8qi<mode>,
3811 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
3812 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
3813 Change VDX to VD_RE.
3814
3815 (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
3816 neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
3817 Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
3818
3819 * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
3820 float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
3821 vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
3822 vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
3823 vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
3824 vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
3825 vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
3826 vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
3827 vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
3828
3829 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3830
3831 * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
3832 vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
3833 vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
3834 vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
3835 vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
3836 vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
3837 vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
3838 vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
3839 vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
3840 vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
3841 New.
3842
3843 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3844
3845 * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
3846
3847 * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
3848
3849 * config/arm/arm-builtins.c (v8hf_UP): New.
3850 (arm_init_simd_builtin_types): Initialise Float16x8_t.
3851
3852 * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
3853
3854 * config/arm/arm_neon.h (float16x8_t): New typedef.
3855
3856 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
3857
3858 * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
3859 vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
3860 vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
3861 vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
3862 vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
3863 vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
3864 vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
3865 vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
3866 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
3867 vreinterpret_u16_f16, vreinterpret_u32_f16): New.
3868
3869 2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
3870
3871 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
3872 non-alphanumeric characters in the symbol name.
3873
3874 2015-09-07 Marek Polacek <polacek@redhat.com>
3875
3876 PR inline-asm/67448
3877 * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
3878 a memory input.
3879
3880 2015-09-07 Marek Polacek <polacek@redhat.com>
3881
3882 * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
3883
3884 2015-09-04 Paolo Bonzini <bonzini@gnu.org>
3885
3886 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
3887 not warn.
3888
3889 2015-09-04 Jakub Jelinek <jakub@redhat.com>
3890
3891 PR middle-end/67452
3892 * tree-ssa-live.c: Include cfgloop.h.
3893 (remove_unused_locals): Clear loop->simduid if simduid is about
3894 to be removed from cfun->local_decls.
3895
3896 2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3897
3898 PR target/65210
3899 * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
3900 attribute as well.
3901
3902 2015-09-04 Tom de Vries <tom@codesourcery.com>
3903
3904 * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
3905
3906 2015-09-04 Jeff Law <law@redhat.com>
3907
3908 * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
3909 unnecessary constructor. It's now trivial and implemented inside...
3910 * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
3911 constructor. Add comments to various methods. Remove unused
3912 private fields.
3913 * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
3914 * tree-vrp.c (identify_jump_threads): Likewise.
3915 * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
3916 indentation issues.
3917 (thread_across_edge): Similarly.
3918 (record_temporary_equivalences_from_stmts_at_dest): Remove unused
3919 arguments in constructor call.
3920
3921 2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
3922
3923 * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
3924 temp path contains a '-'.
3925
3926 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
3927 Petr Murzin <petr.murzin@intel.com>
3928 Kirill Yukhin <kirill.yukhin@intel.com>
3929
3930 * config/i386/i386-builtin-types.def
3931 (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
3932 (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
3933 (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
3934 (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
3935 * config/i386/i386.c
3936 (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
3937 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
3938 IX86_BUILTIN_SCATTERALTDIV16SI.
3939 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
3940 __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
3941 __builtin_ia32_scatteraltdiv8si.
3942 (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
3943 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
3944 IX86_BUILTIN_SCATTERALTDIV16SI.
3945 (ix86_vectorize_builtin_scatter): New.
3946 (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
3947 ix86_vectorize_builtin_scatter.
3948
3949 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
3950 Petr Murzin <petr.murzin@intel.com>
3951 Kirill Yukhin <kirill.yukhin@intel.com>
3952
3953 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
3954 * doc/tm.texi: Regenerate.
3955 * target.def: Add scatter builtin.
3956 * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
3957 for loads/stores in case of gather/scatter accordingly.
3958 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
3959 STMT_VINFO_GATHER_P(S).
3960 (vect_check_gather): Rename to ...
3961 (vect_check_gather_scatter): this.
3962 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
3963 STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
3964 (vect_check_gather_scatter): Use it instead of vect_check_gather.
3965 (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
3966 variable and new checkings for it accordingly.
3967 * tree-vect-stmts.c
3968 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
3969 STMT_VINFO_GATHER_P(S).
3970 (vect_check_gather_scatter): Use it instead of vect_check_gather.
3971 (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
3972
3973 2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
3974
3975 * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
3976 define_insn.
3977 (mulv16qi3): New define_expand.
3978
3979 2015-09-03 Martin Sebor <msebor@redhat.com>
3980
3981 PR c/66516
3982 * doc/extend.texi (Other Builtins): Document when the address
3983 of a built-in function can be taken.
3984
3985 2015-09-03 Richard Biener <rguenther@suse.de>
3986
3987 * dwarf2out.c (flush_limbo_die_list): Split out from ...
3988 (dwarf2out_early_finish): ... here.
3989 (dwarf2out_finish): Do not call dwarf2out_early_finish but
3990 flush_limbo_die_list. Assert we have no deferred asm names.
3991
3992 2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
3993
3994 * optabs.c (expand_binop): Don't create a broadcast vector with a
3995 source element wider than the inner mode.
3996
3997 2015-09-03 Richard Biener <rguenther@suse.de>
3998
3999 * varasm.c (output_constant): Use fold_convert instead of
4000 wide_int_to_tree.
4001
4002 2015-09-03 Tom de Vries <tom@codesourcery.com>
4003
4004 PR tree-optimization/65637
4005 * omp-low.c (expand_omp_for_static_chunk): Handle case that
4006 fin_bb has 2 predecessors.
4007
4008 2015-09-03 Tom de Vries <tom@codesourcery.com>
4009
4010 PR tree-optimization/65637
4011 * omp-low.c (find_phi_with_arg_on_edge): New function.
4012 (expand_omp_for_static_chunk): Fix inner loop phi.
4013
4014 2015-09-03 Tom de Vries <tom@codesourcery.com>
4015
4016 PR tree-optimization/65637
4017 * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
4018 that head is NULL.
4019
4020 2015-09-03 Tom de Vries <tom@codesourcery.com>
4021
4022 * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
4023
4024 2015-09-03 Tom de Vries <tom@codesourcery.com>
4025
4026 * doc/invoke.texi (parloops-chunk-size): Add item.
4027 * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
4028 * tree-parloops.c: Include params.h.
4029 (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
4030 param parloops-chunk-size is used.
4031
4032 2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4033
4034 PR middle-end/67351
4035 * fold-const.c (fold_binary_loc) : Move
4036 Transform (x >> c) << c into x & (-1<<c) or
4037 transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
4038 types using simplify and match.
4039 * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
4040 (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
4041
4042 2015-09-03 Richard Biener <rguenther@suse.de>
4043
4044 PR ipa/66705
4045 * tree-ssa-structalias.c (ctor_for_analysis): New function.
4046 (create_variable_info_for_1): Use ctor_for_analysis instead
4047 of get_constructor.
4048 (create_variable_info_for): Likewise.
4049
4050 2015-09-02 Charles Baylis <charles.baylis@linaro.org>
4051
4052 PR ipa/67280
4053 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
4054 in new callgraph edge.
4055
4056 2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
4057
4058 PR target/59810
4059 PR target/63652
4060 PR target/63653
4061 * config/aarch64/aarch64-simd.md
4062 (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
4063 gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
4064 (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
4065 gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
4066
4067 2015-09-02 Alan Modra <amodra@gmail.com>
4068
4069 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
4070 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
4071 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
4072
4073 2015-09-02 Alan Modra <amodra@gmail.com>
4074
4075 PR target/67417
4076 * config/rs6000/predicates.md (current_file_function_operand): Don't
4077 return true for weak symbols.
4078 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
4079
4080 2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
4081 Andrew Bennett <andrew.bennett@imgtec.com>
4082
4083 * config/mips/mips-opts.h (mips_cb_setting): New enum.
4084 * config/mips/mips-protos.h: Add definitions for
4085 mips_output_jump and mips_output_equal_conditional_branch
4086 * gcc/config/mips/mips.c (MIPS_JR): Change to support the
4087 JIC instruction.
4088 (mips_emit_compare): Add support for the MIPS R6 conditional
4089 compact branches.
4090 (mips_process_sync_loop): Likewise.
4091 (mips_output_order_conditional_branch): Likewise.
4092 (mips16_build_call_stub): Change MIPS_CALL to
4093 mips_output_jump.
4094 (mips_print_operand_punctuation): Update 's' case to only
4095 apply to micromips r2.
4096 (mips_adjust_insn_length): Add support for forbidden slot
4097 hazards.
4098 (mips_avoid_hazard): Likewise.
4099 (mips_reorg_process_insns): Likewise.
4100 (mips_output_jump): New function.
4101 (mips_output_equal_conditional_branch): Likewise.
4102 (mips_output_conditional_branch): Use jrc/bc if compact
4103 branch support is enabled. Ensure the forbidden slots
4104 between the two branch instructions is filled with a nop.
4105 (mips_option_override): Add support to process the compact
4106 branch option and set the correct defaults. Prevent
4107 non-explict relocs being using for MIPS R6.
4108 (mips_trampoline_init): Add compact branch support.
4109 (mips_mult_zero_zero_cost): Allow zero initialisation of
4110 accumulators with TARGET_DSP.
4111 * gcc/config/mips/mips.h (TARGET_CB_NEVER): New define.
4112 (TARGET_CB_MAYBE): New define.
4113 (TARGET_CB_ALWAYS): New define.
4114 (ISA_HAS_DELAY_SLOTS): New define.
4115 (ISA_HAS_COMPACT_BRANCHES): New define.
4116 (ISA_HAS_JRC): New define.
4117 (MIPS_BRANCH_C): New define.
4118 (MIPS_CALL): Removed.
4119 (MICROMIPS_J): Removed.
4120 * config/mips/mips.md (compact_form): New attr.
4121 (hazard): Add support for forbidden slots.
4122 (define_delay): Add support for compact branches.
4123 (*branch_order<mode>): Likewise.
4124 (*branch_order<mode>_inverted): Likewise.
4125 (*branch_equality<mode>): Likewise.
4126 (*branch_equality<mode>_inverted): Likewise.
4127 (*jump_absolute): Likewise.
4128 (*jump_pic): Likewise.
4129 (indirect_jump): Use mips_output_jump to produce assembly output.
4130 (tablejump_<mode>"): Likewise.
4131 (*<optab>"): Likewise.
4132 (<optab>_internal): Likewise.
4133 (sibcall_internal): Likewise.
4134 (sibcall_value_internal): Likewise.
4135 (sibcall_value_multiple_internal): Likewise.
4136 (call_internal): Likewise.
4137 (call_split): Likewise.
4138 (call_internal_direct): Likewise.
4139 (call_direct_split): Likewise.
4140 (call_value_internal): Likewise.
4141 (call_value_split): Likewise.
4142 (call_value_internal_direct): Likewise.
4143 (call_value_direct_split): Likewise.
4144 (call_value_multiple_internal): Likewise.
4145 (call_value_multiple_split): Likewise.
4146 (mips_get_fcsr_mips16_<mode>): Likewise.
4147 (mips_set_fcsr_mips16_<mode>): Likewise.
4148 (tls_get_tp_mips16_<mode>): Likewise.
4149 * config/mips/mips.opt: Add -mcompact-branches option.
4150 * config/mips/predicates.md (order_operator): Ensure the
4151 conditional compact branches are only used if the ISA them.
4152 * doc/invoke.texi: Document -mcompact-branches option.
4153
4154 2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
4155
4156 PR target/61578
4157 * lra-lives.c (process_bb_lives): Process move pseudos with the
4158 same value for copies and preferences
4159 * lra-constraints.c (match_reload): Create match reload pseudo
4160 with the same value from single dying input pseudo.
4161
4162 2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
4163
4164 PR target/67405
4165 * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
4166
4167 2015-09-01 Aldy Hernandez <aldyh@redhat.com>
4168
4169 * trans-mem.c: Add contributed-by.
4170 * trans-mem.h: Same.
4171
4172 2015-09-01 Richard Biener <rguenther@suse.de>
4173
4174 * expr.c (expand_expr_real_1): For expanding TERed defs
4175 set the current location to that of the def if not UNKNOWN.
4176
4177 2015-09-01 David Sherwood <david.sherwood@arm.com>
4178
4179 * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
4180
4181 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4182
4183 * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
4184 then_cost, else_cost fields. Change branch_cost field to unsigned int.
4185 (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
4186 Include rtl-iter.h.
4187 (noce_simple_bbs): New function.
4188 (noce_try_move): Bail if basic blocks are not simple.
4189 (noce_try_store_flag): Likewise.
4190 (noce_try_store_flag_constants): Likewise.
4191 (noce_try_addcc): Likewise.
4192 (noce_try_store_flag_mask): Likewise.
4193 (noce_try_cmove): Likewise.
4194 (noce_try_minmax): Likewise.
4195 (noce_try_abs): Likewise.
4196 (noce_try_sign_mask): Likewise.
4197 (noce_try_bitop): Likewise.
4198 (bbs_ok_for_cmove_arith): New function.
4199 (noce_emit_all_but_last): Likewise.
4200 (noce_emit_insn): Likewise.
4201 (noce_emit_bb): Likewise.
4202 (noce_try_cmove_arith): Handle non-simple basic blocks.
4203 (insn_valid_noce_process_p): New function.
4204 (contains_mem_rtx_p): Likewise.
4205 (bb_valid_for_noce_process_p): Likewise.
4206 (noce_process_if_block): Allow non-simple basic blocks
4207 where appropriate.
4208
4209 2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
4210
4211 * tree-ssa-dom.c (record_equivalences_from_phis,
4212 record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
4213 (lookup_avail_expr): Likewise, and remove comment and unused temp.
4214
4215 2015-09-01 Nick Clifton <nickc@redhat.com>
4216
4217 * config/msp430/msp430.opt (mcpu): Fix typo.
4218
4219 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4220
4221 * config/aarch64/aarch64.c (aarch64_set_current_function):
4222 Re-layout any vector parameters have non-simd layout.
4223 * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
4224 Delete.
4225 (aarch64_simd_expand_args): Delete call to the above.
4226
4227 2015-08-31 Mike Frysinger <vapier@gentoo.org>
4228
4229 * doc/invoke.texi (asan-stack): Add space before option.
4230
4231 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
4232
4233 * tree.h (zerop): New function.
4234 * tree.c (zerop): Likewise.
4235 (element_precision): Handle expressions.
4236 * match.pd (define_predicates): Add zerop.
4237 (x <= +Inf): Fix comment.
4238 (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
4239 * fold-const.c (fold_binary_loc): ... here. Remove.
4240
4241 2015-08-31 Richard Biener <rguenther@suse.de>
4242
4243 PR middle-end/67381
4244 * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
4245
4246 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
4247
4248 * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
4249 (CEXPI): New operator list.
4250 (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
4251 imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
4252 Converted from ...
4253 * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
4254
4255 2015-08-31 Tom de Vries <tom@codesourcery.com>
4256
4257 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
4258 (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
4259 parameter.
4260 (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
4261 (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
4262 (rewrite_into_loop_closed_ssa): ... here.
4263 (replace_uses_in_dominated_bbs): Remove function.
4264 (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
4265 rewrite_into_loop_closed_ssa_1.
4266
4267 2015-08-31 Michael Matz <matz@suse.de>
4268
4269 * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
4270 enter entry and exit blocks for reverse post order.
4271
4272 2015-08-31 Richard Biener <rguenther@suse.de>
4273
4274 * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
4275 (lto_location_cache::current_sysp): Likewise.
4276 (output_block::current_sysp): Likewise.
4277 * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
4278 (lto_location_cache::apply_location_cache): Properly record
4279 system header locations.
4280 (lto_location_cache::input_location): Input whether a file
4281 is a system header.
4282 * lto-streamer-out.c (lto_output_location): Stream whether a file
4283 is a system header.
4284
4285 2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4286
4287 PR bootstrap/67363
4288 * gcc.c (env_manager::xput): Replace strndup by xstrndup.
4289
4290 2015-08-31 Tom de Vries <tom@codesourcery.com>
4291
4292 * tree-ssa-loop-manip.c (find_uses_to_rename_use)
4293 (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
4294 Improve function header comments.
4295
4296 2015-08-30 Michael Collison <michael.collison@linaro.org>
4297
4298 PR other/67320
4299 * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
4300 standard names
4301
4302 2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
4303
4304 * config/rs6000/rs6000.c (swap_web_entry): Enlarge
4305 special_handling bitfield.
4306 (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
4307 (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
4308 that represents a general xxpermdi.
4309 (insn_is_swappable_p): Add handling for vec_concat of two
4310 doublewords, which maps to a specific xxpermdi.
4311 (adjust_xxpermdi): New function.
4312 (adjust_concat): Likewise.
4313 (handle_special_swappables): Call adjust_xxpermdi and
4314 adjust_concat.
4315 (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
4316
4317 2015-08-30 Rich Felker <dalias@libc.org>
4318
4319 * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
4320 case instead of sh[123456ble]-*-*.
4321
4322 2015-08-29 Anatoly Sokolov <aesok@post.ru>
4323
4324 * ira.c (print_unform_and_important_classes,
4325 print_translated_classes): Remove reg_class_names static array.
4326 (print_unform_and_important_classes): Rename to ...
4327 (print_uniform_and_important_classes): ... this.
4328 (ira_debug_allocno_classes): Update accordingly.
4329
4330 2015-08-29 Tom de Vries <tom@codesourcery.com>
4331
4332 PR tree-optimization/46193
4333 * omp-low.c (omp_reduction_init): Handle pointer type for min or max
4334 clause.
4335
4336 2015-08-28 Jeff Law <law@redhat.com>
4337
4338 PR lto/66752
4339 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
4340 unable to find X NE 0 in the tables, return X as the simplified
4341 condition.
4342 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
4343 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
4344 to VISISTED_BBS.
4345 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
4346 after removing the control flow statement and unnecessary edges.
4347
4348 2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
4349
4350 Revert:
4351 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
4352
4353 PR tree-optimization/67283
4354 * tree-sra.c (type_consists_of_records_p): Rename to...
4355 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
4356
4357 (completely_scalarize_record): Rename to...
4358 (completely_scalarize): ...this, add ARRAY_TYPE case, move some
4359 code to:
4360 (scalarize_elem): New.
4361
4362 2015-08-28 Jiong Wang <jiong.wang@arm.com>
4363
4364 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
4365 SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
4366 (aarch64_symbol_type): Likewise.
4367 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
4368 Likewise.
4369 (aarch64_expand_mov_immediate): Likewise.
4370 (aarch64_print_operand): Likewise.
4371 (aarch64_classify_tls_symbol): Likewise.
4372
4373 2015-08-28 Richard Biener <rguenther@suse.de>
4374
4375 * cgraphunit.c (symbol_table::compile): Move early debug generation
4376 and finish...
4377 (symbol_table::finalize_compilation_unit): ... back here and
4378 add a !seen_error () guard.
4379
4380 2015-08-27 Sebastian Pop <s.pop@samsung.com>
4381
4382 * toplev.c (process_options): Do not use flag_loop_block,
4383 flag_loop_interchange, and flag_loop_strip_mine. Add check for
4384 flag_loop_optimize_isl.
4385
4386 2015-08-27 Sebastian Pop <s.pop@samsung.com>
4387
4388 * Makefile.in (OBJS): Remove graphite-blocking.o and
4389 graphite-interchange.o.
4390 * common.opt (floop-strip-mine, floop-interchange, floop-block):
4391 Alias of floop-nest-optimize.
4392 * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
4393 Document as alias of -floop-nest-optimize.
4394 * graphite-blocking.c: Remove.
4395 * graphite-interchange.c: Remove.
4396 * graphite-optimize-isl.c: Include dumpfile.h.
4397 (getScheduleForBand): Add dump for tiled loops. Use
4398 PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
4399 * graphite-poly.c (scop_max_loop_depth): Remove.
4400 (print_scattering_function_1): Remove.
4401 (print_scattering_function): Remove.
4402 (print_scattering_functions): Remove.
4403 (debug_scattering_function): Remove.
4404 (debug_scattering_functions): Remove.
4405 (apply_poly_transforms): Remove use of flag_loop_block,
4406 flag_loop_strip_mine, and flag_loop_interchange.
4407 (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
4408 PBB_ORIGINAL.
4409 (print_pdr_access_layout): Remove.
4410 (print_pdr): Print ISL representation.
4411 (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
4412 SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
4413 (free_scop): Same.
4414 (openscop_print_pbb_domain): Remove.
4415 (print_pbb): Remove call to print_scattering_function.
4416 (openscop_print_scop_context): Remove.
4417 (print_scop_context): Do not print matrices anymore.
4418 (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
4419 SCOP_TRANSFORMED_SCHEDULE.
4420 (print_isl_set): Add printing of a new line.
4421 (print_isl_map): Same.
4422 (print_isl_aff): Same.
4423 (print_isl_constraint): Same.
4424 (loop_to_lst): Remove.
4425 (scop_to_lst): Remove.
4426 (lst_indent_to): Remove.
4427 (print_lst): Remove.
4428 (debug_lst): Remove.
4429 (dot_lst_1): Remove.
4430 (dot_lst): Remove.
4431 (reverse_loop_at_level): Remove.
4432 (reverse_loop_for_pbbs): Remove.
4433 * graphite-poly.h (pdr_dim_iter_domain): Remove.
4434 (pdr_nb_params): Remove.
4435 (pdr_alias_set_dim): Remove.
4436 (pdr_subscript_dim): Remove.
4437 (pdr_iterator_dim): Remove.
4438 (pdr_parameter_dim): Remove.
4439 (same_pdr_p): Remove.
4440 (struct poly_scattering): Remove.
4441 (struct poly_bb): Remove _original, _transformed, _saved.
4442 (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
4443 (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
4444 (PBB_NB_LOCAL_VARIABLES): Remove.
4445 (PBB_NB_SCATTERING_TRANSFORM): Remove.
4446 (schedule_to_scattering): Remove.
4447 (number_of_write_pdrs): Remove.
4448 (pbb_dim_iter_domain): Remove.
4449 (pbb_nb_params): Remove.
4450 (pbb_nb_scattering_orig): Remove.
4451 (pbb_nb_scattering_transform): Remove.
4452 (pbb_nb_dynamic_scattering_transform): Remove.
4453 (pbb_nb_local_vars): Remove.
4454 (pbb_iterator_dim): Remove.
4455 (pbb_parameter_dim): Remove.
4456 (psco_scattering_dim): Remove.
4457 (psct_scattering_dim): Remove.
4458 (psct_local_var_dim): Remove.
4459 (psco_iterator_dim): Remove.
4460 (psct_iterator_dim): Remove.
4461 (psco_parameter_dim): Remove.
4462 (psct_parameter_dim): Remove.
4463 (psct_dynamic_dim): Remove.
4464 (psct_static_dim): Remove.
4465 (psct_add_local_variable): Remove.
4466 (new_lst_loop): Remove.
4467 (new_lst_stmt): Remove.
4468 (free_lst): Remove.
4469 (copy_lst): Remove.
4470 (lst_add_loop_under_loop): Remove.
4471 (lst_depth): Remove.
4472 (lst_dewey_number): Remove.
4473 (lst_dewey_number_at_depth): Remove.
4474 (lst_pred): Remove.
4475 (lst_succ): Remove.
4476 (lst_find_pbb): Remove.
4477 (find_lst_loop): Remove.
4478 (lst_find_first_pbb): Remove.
4479 (lst_empty_p): Remove.
4480 (lst_find_last_pbb): Remove.
4481 (lst_contains_p): Remove.
4482 (lst_contains_pbb): Remove.
4483 (lst_create_nest): Remove.
4484 (lst_remove_from_sequence): Remove.
4485 (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
4486 (lst_niter_for_loop): Remove.
4487 (pbb_update_scattering): Remove.
4488 (lst_update_scattering_under): Remove.
4489 (lst_update_scattering): Remove.
4490 (lst_insert_in_sequence): Remove.
4491 (lst_replace): Remove.
4492 (lst_substitute_3): Remove.
4493 (lst_distribute_lst): Remove.
4494 (lst_remove_all_before_including_pbb): Remove.
4495 (lst_remove_all_before_excluding_pbb): Remove.
4496 (struct scop): Remove original_schedule, transformed_schedule, and
4497 saved_schedule.
4498 (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
4499 (SCOP_SAVED_SCHEDULE): Remove.
4500 (poly_scattering_new): Remove.
4501 (poly_scattering_free): Remove.
4502 (poly_scattering_copy): Remove.
4503 (store_scattering_pbb): Remove.
4504 (store_lst_schedule): Remove.
4505 (restore_lst_schedule): Remove.
4506 (store_scattering): Remove.
4507 (restore_scattering_pbb): Remove.
4508 (restore_scattering): Remove.
4509 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
4510 Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
4511 compute the scattering polyhedron dimension from the dimension of
4512 pbb->domain.
4513 (build_scop_scattering): Update call to
4514 build_pbb_scattering_polyhedrons.
4515 (build_poly_scop): Remove call to scop_to_lst.
4516 * graphite.c (graphite_transform_loops): Add call to print_scop.
4517 (gate_graphite_transforms): Remove use of flag_loop_block,
4518 flag_loop_interchange, and flag_loop_strip_mine.
4519
4520 2015-08-27 Sebastian Pop <s.pop@samsung.com>
4521
4522 * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
4523 * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
4524 -floop-nest-optimize.
4525 * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
4526 (generate_luj_sepclass): Remove.
4527 (generate_luj_options): Remove.
4528 (set_options): Remove opt_luj.
4529 (scop_to_isl_ast): Remove opt_luj.
4530 * graphite-optimize-isl.c (getScheduleForBand): Remove check for
4531 flag_loop_unroll_jam.
4532 (getPrevectorMap_full): Remove.
4533 (getScheduleForBandList): Remove map_sepcl.
4534 (getScheduleMap): Same.
4535 (apply_schedule_map_to_scop): Remove sepcl.
4536 (optimize_isl): Same.
4537 * graphite-poly.c (apply_poly_transforms): Remove check for
4538 flag_loop_unroll_jam.
4539 (new_poly_bb): Remove map_sepclass.
4540 * graphite-poly.h (struct poly_bb): Same.
4541 * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
4542 * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
4543 (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
4544 * toplev.c (process_options): Remove flag_loop_unroll_jam.
4545
4546 2015-08-27 Uros Bizjak <ubizjak@gmail.com>
4547
4548 PR target/67317
4549 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
4550 (addqi3_cc): Ditto.
4551 (UNSPEC_ADD_CARRY): Remove.
4552 (addqi3_cconly_overflow): New expander.
4553 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
4554 Adjust for changed add<mode>3_carry.
4555 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
4556 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
4557 (<plusminus_insn><mode>3_carry): Remove expander.
4558 (*<plusminus_insn><mode>3_carry): Split insn pattern to
4559 add<mode>3_carry and sub<mode>3_carry.
4560 (plusminus_carry_mnemonic): Remove code attribute.
4561 (add<mode>3_carry): Canonicalize insn pattern.
4562 (*addsi3_carry_zext): Ditto.
4563 (sub<mode>3_carry): Ditto.
4564 (*subsi3_carry_zext): Ditto.
4565 (adcx<mode>3): Remove insn pattern.
4566 (addcarry<mode>): New insn pattern.
4567 (subborrow<mode>): Ditto.
4568 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
4569 gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
4570 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
4571 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
4572 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
4573 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
4574 Rewrite expander to not clobber carry flag chains.
4575
4576 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
4577
4578 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
4579 instead of a rotate.
4580
4581 2015-08-27 Marek Polacek <polacek@redhat.com>
4582
4583 PR middle-end/67005
4584 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
4585 an entry into an irreducible region.
4586
4587 2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
4588
4589 * configure: Regenerate.
4590
4591 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
4592
4593 PR tree-optimization/67283
4594 * tree-sra.c (type_consists_of_records_p): Rename to...
4595 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
4596
4597 (completely_scalarize_record): Rename to...
4598 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
4599 (scalarize_elem): New.
4600
4601 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
4602
4603 * tree-sra.c (completely_scalarize_var): Rename to...
4604 (create_total_scalarization_access): ... Here. Drop call to
4605 completely_scalarize_record.
4606
4607 (analyze_all_variable_accesses): Replace completely_scalarize_var
4608 with create_total_scalarization_access and completely_scalarize_record.
4609
4610 2015-08-27 Alan Modra <amodra@gmail.com>
4611
4612 PR target/67356
4613 * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
4614 for operand 1.
4615
4616 2015-08-27 Richard Biener <rguenther@suse.de>
4617
4618 * passes.c (rest_of_decl_compilation): Guard early_global_decl
4619 call with !seen_error ().
4620 * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
4621 early debug generation and finish...
4622 (symbol_table::compile): ... here to put it after a !seen_error ()
4623 guard.
4624
4625 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
4626
4627 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
4628 Solaris 12+.
4629
4630 2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4631 Andre Vieira <andre.simoesdiasvieira@arm.com>
4632
4633 * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
4634 (*cb<optab><mode>1): Likewise.
4635 (*tb<optab><mode>1): Likewise.
4636 (*cb<optab><mode>1): Likewise.
4637 * config/aarch64/iterators.md (inv_cb): New code attribute.
4638 (inv_tb): Likewise.
4639 * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
4640 * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
4641
4642 2015-08-27 Richard Biener <rguenther@suse.de>
4643
4644 * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
4645
4646 2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
4647
4648 * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
4649 trap to fix ICE.
4650
4651 2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
4652
4653 * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
4654 Add declaration.
4655
4656 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
4657 comment.
4658 (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
4659 floating point in VSX registers.
4660 (rs6000_output_move_128bit): Always print out the set insn if we
4661 can't generate an appropriate 128-bit move.
4662 (rs6000_generate_compare): Add support for IEEE 128-bit floating
4663 point in VSX registers comparisons.
4664 (rs6000_expand_float128_convert): Likewise.
4665
4666 * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
4667 predicate for only GPR hard registers.
4668
4669 * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
4670 modes to iterators. Add new iterators for moving 128-bit values in
4671 scalar FPR registers and VSX registers.
4672 (FMOVE128): Likewise.
4673 (FMOVE128_FPR): Likewise.
4674 (FMOVE128_GPR): Likewise.
4675 (FMOVE128_VSX): Likewise.
4676 (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
4677 in VSX registers.
4678 (IFKF): Likewise.
4679 (IBM128): Likewise.
4680 (TFIFKF): Likewise.
4681 (RELOAD): Add IEEE 128-bit floating point modes.
4682 (signbittf2): Convert TF insns to add support for new IEEE 128-bit
4683 floating point in VSX registers modes.
4684 (signbit<mode>2, IBM128 iterator): Likewise.
4685 (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
4686 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
4687 (negtf2): Likewise.
4688 (neg<mode>2, TFIFKF iterator): Likewise.
4689 (negtf2_internal): Likewise.
4690 (abstf2): Likewise.
4691 (abs<mode>2, TFIFKF iterator): Likewise.
4692 (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
4693 VSX insn support for negate, absolute value, and negative absolute
4694 value.
4695 (ieee_128bit_vsx_neg<mode>2): Likewise.
4696 (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
4697 (ieee_128bit_vsx_abs<mode>2): Likewise.
4698 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
4699 (ieee_128bit_vsx_nabs<mode>2): Likewise.
4700 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
4701 (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
4702 floating point in VSX registers.
4703 (unpack<mode>_dm): Likewise.
4704 (unpack<mode>_nodm): Likewise.
4705 (pack<mode>): Likewise.
4706 (unpackv1ti): Likewise.
4707 (unpack<mode>, FMOVE128_VSX iterator): Likewise.
4708 (packv1ti): Likewise.
4709 (pack<mode>, FMOVE128_VSX iterator): Likewise.
4710 (extenddftf2): Add support for IEEE 128-bit floating point in VSX
4711 registers.
4712 (extenddftf2_internal): Likewise.
4713 (trunctfdf2): Likewise.
4714 (trunctfdf2_internal2): Likewise.
4715 (fix_trunc_helper): Likewise.
4716 (fix_trunctfdi2"): Likewise.
4717 (floatditf2): Likewise.
4718 (floatuns<mode>tf2): Likewise.
4719 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
4720 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
4721 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
4722 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
4723 (float<SDI:mode><IFKF:mode>2): Likewise.
4724 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
4725
4726 2015-08-26 Renlin Li <renlin.li@arm.com>
4727
4728 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
4729
4730 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
4731 Jiong Wang <jiong.wang@arm.com>
4732
4733 * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
4734 (tlsie_tiny_<mode>): New define_insn.
4735 (tlsie_tiny_sidi): Likewise.
4736 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
4737 SYMBOL_TINY_TLSIE.
4738 (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
4739 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
4740 SYMBOL_TINY_TLSIE.
4741 (aarch64_expand_mov_immediate): Likewise.
4742 (aarch64_print_operand): Likewise.
4743 (arch64_classify_tls_symbol): Likewise.
4744
4745 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
4746
4747 * config/arm/arm-arches.def: Replace single value flags with
4748 an initializer built from ARM_FSET_MAKE_CPU1.
4749 * config/arm/arm-cores.def: Likewise.
4750 * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
4751 derivation from the ARM_CORE macro definition, use the given value
4752 instead.
4753 (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
4754 ARM_ARCH macro definition, use the given value instead.
4755
4756 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
4757
4758 * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
4759 feature set.
4760 (struct builtin_description): Replace field mask with field
4761 features.
4762 (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
4763 (IWMMXT2_BUILTIN): Likewise.
4764 (IWMMXT2_BUILTIN2): Likewise.
4765 (FP_BUILTIN): Likewise.
4766 (CRC32_BUILTIN): Likewise.
4767 (CRYPTO_BUILTIN): Likewise.
4768 (iwmmx_mbuiltin): Likewise.
4769 (iwmmx2_mbuiltin): Likewise.
4770 (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
4771 struct builtin_description.
4772
4773 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
4774
4775 * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
4776 (struct builtin_description): Change type of mask to unsigned
4777 long.
4778 * config/arm/arm-protos.h (insn_flags): Declare as type
4779 arm_feature_set.
4780 (tune_flags): Likewise.
4781 * config/arm/arm.c (feature_count): New.
4782 (insn_flags): Define as type arm_feature_set.
4783 (tune_flags): Likewise.
4784 (struct processors): Define field flags as type arm_feature_set.
4785 (all_cores): Update for change to struct processors.
4786 (all_architectures): Likewise.
4787 (arm_option_check_internal): Use arm_feature_set and ARM_FSET
4788 macros.
4789 (arm_option_override_internal): Likewise.
4790 (arm_option_override): Likewise.
4791
4792 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
4793 Jiong Wang <jiong.wang@arm.com>
4794
4795 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
4796 tls size for tiny, small, large memory model.
4797 (aarch64_load_symref_appropriately): Support new symbol types.
4798 (aarch64_expand_mov_immediate): Likewise.
4799 (aarch64_print_operand): Likewise.
4800 (aarch64_classify_tls_symbol): Likewise.
4801 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
4802 (aarch64_symbol_type): Likewise.
4803 * config/aarch64/aarch64.md (tlsle): Deleted.
4804 (tlsle12_<mode>): New define_insn.
4805 (tlsle24_<mode>): Likewise.
4806 (tlsle32_<mode>): Likewise.
4807 (tlsle48_<mode>): Likewise.
4808 * doc/sourcebuild.texi (AArch64-specific attributes): Document
4809 "aarch64_tlsle32".
4810
4811 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
4812
4813 * config/arm/arm-protos.h (FL_NONE): New.
4814 (FL_ANY): New.
4815 (arm_feature_set): New.
4816 (ARM_FSET_MAKE): New.
4817 (ARM_FSET_MAKE_CPU1): New.
4818 (ARM_FSET_MAKE_CPU2): New.
4819 (ARM_FSET_CPU1): New.
4820 (ARM_FSET_CPU2): New.
4821 (ARM_FSET_EMPTY): New.
4822 (ARM_FSET_ANY): New.
4823 (ARM_FSET_HAS_CPU1): New.
4824 (ARM_FSET_HAS_CPU2): New.
4825 (ARM_FSET_HAS_CPU): New.
4826 (ARM_FSET_ADD_CPU1): New.
4827 (ARM_FSET_ADD_CPU2): New.
4828 (ARM_FSET_DEL_CPU1): New.
4829 (ARM_FSET_DEL_CPU2): New.
4830 (ARM_FSET_UNION): New.
4831 (ARM_FSET_INTER): New.
4832 (ARM_FSET_XOR): New.
4833 (ARM_FSET_EXCLUDE): New.
4834 (AFM_FSET_IS_EMPTY): New.
4835 (ARM_FSET_CPU_SUBSET): New.
4836
4837 2015-08-26 Jiong Wang <jiong.wang@arm.com>
4838
4839 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
4840 SYMBOL_TLSLE to SYMBOL_TLSLE24.
4841 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
4842 Likewise.
4843 (aarch64_expand_mov_immediate): Likewise.
4844 (aarch64_print_operand): Likewise.
4845 (aarch64_classify_symbol): Likewise.
4846
4847 2015-08-26 Jiong Wang <jiong.wang@arm.com>
4848
4849 * config/aarch64/aarch64.opt (mtls-size): New entry.
4850 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
4851 (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
4852 * doc/invoke.texi (AArch64 Options): Document -mtls-size.
4853
4854 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
4855
4856 * gcc/config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
4857 ARM_CORE entry. Fix some white-space.
4858 * gcc/config/arm/arm.c: Remove FL_FOR_ARCH derivation from
4859 ARM_CORE definition.
4860
4861 2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4862
4863 * fold-const.c (fold_binary_loc) : Move Optimize
4864 root(x)*root(y) as root(x*y) to match.pd.
4865 Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
4866 Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
4867 Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
4868 Move Optimize x/expN(y) into x*expN(-y) to match.pd.
4869 * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
4870 (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
4871 (mult (exps:s @0) (exps:s @1)) : New simplifier.
4872 (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
4873 (rdiv @0 (exps:s @1)) : New simplifier.
4874
4875 2015-08-25 Joseph Myers <joseph@codesourcery.com>
4876
4877 * gcc.c (driver::finalize): Only assign to extra_specs if
4878 [EXTRA_SPECS].
4879
4880 2015-08-25 Marek Polacek <polacek@redhat.com>
4881
4882 PR middle-end/67330
4883 * varasm.c (declare_weak): Return after giving an error.
4884
4885 2015-08-25 David Malcolm <dmalcolm@redhat.com>
4886
4887 * gcc-main.c (main): Add params to driver ctor.
4888 * gcc.c (class env_manager): New.
4889 (env): New global.
4890 (env_manager::init): New.
4891 (env_manager::get): New.
4892 (env_manager::xput): New.
4893 (env_manager::restore): New.
4894 Poison getenv and putenv.
4895 (DEFAULT_TARGET_SYSTEM_ROOT): New.
4896 (target_system_root): Update initialization to use
4897 DEFAULT_TARGET_SYSTEM_ROOT.
4898 (struct spec_list): Add field "default_ptr".
4899 (INIT_STATIC_SPEC): Initialize new field "default_ptr".
4900 (init_spec): Likewise.
4901 (set_spec): Clear field "default_ptr".
4902 (read_specs): Free "spec" and "buffer".
4903 (xputenv): Reimplement in terms of env_manager.
4904 (process_command): Replace ::getenv calls with calls to the
4905 env_manager singleton.
4906 (process_brace_body): Free string in three places.
4907 (driver::driver): New.
4908 (driver::~driver): New.
4909 (used_arg): Convert from a function to...
4910 (class used_arg_t): ...this class, and...
4911 (used_arg): ...this new global instance.
4912 (used_arg_t::finalize): New function.
4913 (getenv_spec_function): Add "const" to local "value". Replace
4914 ::getenv call with call to the env_manager singleton.
4915 (path_prefix_reset): New function.
4916 (driver::finalize): New function.
4917 * gcc.h (driver::driver): New.
4918 (driver::~driver): New.
4919 (driver::finalize): New.
4920
4921 2015-08-25 Nathan Sidwell <nathan@acm.org>
4922
4923 * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
4924 target doesn't have one.
4925
4926 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
4927
4928 PR target/67346
4929 * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
4930
4931 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
4932
4933 PR target/67344
4934 * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
4935 a define_insn, remove second alternative.
4936
4937 2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
4938 Joseph Myers <joseph@codesourcery.com>
4939
4940 * gcc.c (struct switchstr): Expand comment.
4941
4942 2015-08-25 Nathan Sidwell <nathan@acm.org>
4943
4944 * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
4945 (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
4946
4947 2015-08-25 Richard Biener <rguenther@suse.de>
4948
4949 PR middle-end/67306
4950 * genmatch.c (expr::gen_transform): Verify the result of
4951 builtin_decl_implicit.
4952 (dt_simplify::gen_1): Likewise.
4953
4954 2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
4955
4956 * config/arm/constraints.md: Also list Cs and US ARM-specific
4957 constraints as used.
4958
4959 2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
4960
4961 PR target/66609
4962 * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
4963 UNSPEC_PCREL.
4964 (nonpic_symbol_mentioned_p): Likewise.
4965 (sh_delegitimize_address): Likewise.
4966 (sh_function_ok_for_sibcall): Take into account weak symbols.
4967 (sh_expand_sym_label2reg): New.
4968 * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
4969 * config/sh/sh.md (UNSPEC_PCREL): New enum.
4970 (call_pcrel): Use sh_expand_sym_label2reg.
4971 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
4972 (symPCREL_label2reg) New expand.
4973
4974 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
4975
4976 * graphite-poly.c: Change type of region from void* to sese.
4977 * graphite-poly.h (struct scop): Changing the type of scop::region
4978 from void* to sese. Change accessor macro accordingly.
4979 * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
4980
4981 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
4982
4983 * graphite-scop-detection.c (stmt_simple_for_scop_p):
4984 Constrain only on INTEGER_TYPE.
4985
4986 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
4987
4988 PR target/67211
4989 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
4990 -mefficient-unaligned-vsx on ISA 2.7.
4991
4992 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
4993 option to a masked option.
4994
4995 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
4996 logic for -mefficient-unaligned-vsx so that it is set via an arch
4997 ISA option, instead of being set if -mtune=power8 is set. Move
4998 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
4999 near other default option handling.
5000
5001 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5002
5003 * genflags.c (gen_macro): Delete.
5004 (gen_proto): Don't create GEN.*CALL.* macros.
5005 * gensupport.h (get_file_location): Declare.
5006 * gensupport.c (rtx_locs): New variable.
5007 (read_md_rtx): Record rtx locations.
5008 (get_file_location): New function.
5009 * target-insns.def (call, call_pop, call_value, call_value_pop)
5010 (sibcall, sibcall_value): New patterns.
5011 * gentarget-def.c (parse_argument): New function.
5012 (def_target_insn): Use it. Handle optional operands. Raise an
5013 error if an .md pattern has the wrong number of operands for the
5014 pattern name. Remove the names of unused operands from the prototype.
5015 * builtins.c (expand_builtin_apply): Use targetm functions
5016 instead of HAVE_call_value and GEN_CALL_VALUE.
5017 * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
5018 and sibcall_value_pop.
5019 * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
5020 of GEN_CALL.
5021 * config/alpha/alpha.md (untyped_call): Likewise.
5022 * config/iq2000/iq2000.md (untyped_call): Likewise.
5023 * config/m68k/m68k.md (untyped_call): Likewise.
5024 * config/mips/mips.md (untyped_call): Likewise.
5025 * config/pa/pa.md (untyped_call): Likewise.
5026 * config/rs6000/rs6000.md (untyped_call): Likewise.
5027 * config/sparc/sparc.md (untyped_call): Likewise.
5028 * config/tilegx/tilegx.md (untyped_call): Likewise.
5029 * config/tilepro/tilepro.md (untyped_call): Likewise.
5030 * config/visium/visium.md (untyped_call): Likewise.
5031 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
5032 gen_call_value instead of GEN_CALL_VALUE.
5033 * config/arm/arm.md (untyped_call): Likewise.
5034 * config/cr16/cr16.c (cr16_function_arg): Remove reference to
5035 GEN_CALL.
5036
5037 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5038
5039 * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
5040 (have_cbranchcc4): New variable.
5041 (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
5042 (noce_get_condition): Use it instead of HAVE_cbranchcc4.
5043 (if_convert): Initialize have_cbranchcc4.
5044
5045 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5046
5047 * builtins.c (expand_cmpstrn): Rename to...
5048 (expand_cmpstrn_or_cmpmem): ...this.
5049 (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
5050 (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
5051 Remove mode argument.
5052 (expand_builtin): Update accordingly.
5053
5054 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5055
5056 * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
5057 (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
5058 references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
5059 * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
5060 Add predicates for operands 0 and 3.
5061 * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
5062 operand.
5063 * config/sh/sh.md (cmpstrnsi): Change the length predicate from
5064 immediate_operand to nonmemory_operand.
5065
5066 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5067
5068 * df-scan.c (df_insn_info_init_fields): New function, split out
5069 from...
5070 (df_insn_create_insn_record): ...here.
5071 (df_insn_info_free_fields): New function, split out from...
5072 (df_insn_info_delete): ...here.
5073 (df_insn_rescan): Use the new functions instead of freeing and
5074 reallocating the df_insn_info.
5075
5076 2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5077
5078 * doc/install.texi (Binaries): Remove links no longer valid.
5079
5080 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
5081
5082 * config/nvptx/mkoffload.c (process): Replace
5083 GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
5084
5085 2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
5086
5087 PR target/67329
5088 * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
5089
5090 2015-08-24 Renlin Li <renlin.li@arm.com>
5091
5092 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
5093 * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
5094 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
5095 * config/arm/constraints.md ("j"): Add check for high code.
5096
5097 2015-08-24 Tom de Vries <tom@codesourcery.com>
5098
5099 PR tree-optimization/65468
5100 * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
5101 chunk_size is one.
5102
5103 2015-08-24 Nathan Sidwell <nathan@acm.org>
5104
5105 * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
5106 change to nvptx_type_from_mode call. Use arg_promotion for both
5107 split and non-split args.
5108
5109 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5110
5111 * target-insns.def (movstr): New pattern.
5112 * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
5113 (expand_movstr): Use targetm rather than HAVE_movstr/
5114 CODE_FOR_movstr.
5115
5116 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
5117
5118 * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
5119 cast syntax.
5120
5121 2015-08-24 Andrew Pinski <apinski@cavium.com>
5122
5123 * config/aarch64/aarch64-tuning-flags.def: Remove all index to
5124 AARCH64_EXTRA_TUNING_OPTION.
5125 * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
5126 New enum.
5127 (aarch64_extra_tuning_flags): Base the shifted value on the index
5128 instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
5129 * config/aarch64/aarch64.c: Remove the last argument to
5130 AARCH64_EXTRA_TUNING_OPTION.
5131
5132 2015-08-23 Nathan Sidwell <nathan@acm.org>
5133
5134 * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
5135 decls.
5136 (nvptx_declare_function_name): Insert formatting tabs for
5137 consistency.
5138
5139 2015-08-23 Tom de Vries <tom@codesourcery.com>
5140
5141 * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
5142 parm_decl, rather than generating a dummy default def in cfun.
5143 * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
5144 ssa_name from cfun and child_fn do not share a stmt as def stmt.
5145 (move_stmt_op): Handle PARM_DECl.
5146 (gather_ssa_name_hash_map_from): New function.
5147 (move_sese_region_to_fn): Add default defs for function params, and add
5148 them to vars_map. Release copied ssa names.
5149 * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
5150
5151 2015-08-23 Tom de Vries <tom@codesourcery.com>
5152
5153 * doc/sourcebuild.texi: Rename vect_no_int_max with
5154 vect_no_int_min_max. Update description.
5155
5156 2015-08-22 Andrew Pinski <apinski@cavium.com>
5157
5158 * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
5159 * config/aarch64/aarch64-protos.h
5160 (aarch64_fusion_pairs_index): New enum.
5161 (aarch64_fusion_pairs): Base the shifted value on the index instead
5162 Rewrite AARCH64_FUSE_ALL to be based on the end index.
5163 of the argument to AARCH64_FUSION_PAIR.
5164 * config/aarch64/aarch64.c: Remove the last argument to
5165 AARCH64_FUSION_PAIR.
5166
5167 2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
5168
5169 * dominance.c (new_zero_array): Define.
5170 (dom_info): Redefine as class with proper encapsulation.
5171 (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
5172 Add new members.
5173 (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
5174 allocations/deallocations. Pass function as parameter (instead of
5175 using cfun).
5176 (dom_info::get_idom): Define accessor method.
5177 (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
5178 link_roots, calc_idoms): Redefine as class members. Do not use cfun.
5179 (calculate_dominance_info): Adjust to use dom_info class.
5180 (verify_dominators): Likewise.
5181
5182 2015-08-21 Alexandre Oliva <aoliva@redhat.com>
5183
5184 * print-rtl.c (print_rtx): Check the correct range for
5185 flag_dump_unnumbered_links to behave as documented.
5186
5187 PR rtl-optimization/67227
5188 PR rtl-optimization/64164
5189 * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
5190 (nonoverlapping_memrefs_p): Test offsets and sizes when given
5191 identical gimple_reg exprs.
5192
5193 2015-08-21 Nathan Sidwell <nathan@acm.org>
5194
5195 * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
5196 expansion.
5197 * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
5198 crtl->stack_alignment_needed to determine alignment.
5199 (nvptx_get_drap_rtx): New.
5200 (TARGET_GET_DRAP_RTX): Override.
5201 * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
5202
5203 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5204
5205 * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
5206
5207 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5208
5209 * configure.ac: Remove uwin* cases.
5210 * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
5211 i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
5212 i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
5213 i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
5214 * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
5215 i[34567]86-*-uwin*, powerpc-*-beos*.
5216
5217 2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
5218
5219 * gencodes.c (gencodes): Print the comma for the preceding
5220 enum value rather than the current one. Use aliased enum values
5221 rather than #defines for compiled-out patterns.
5222 (main): Update accordingly. Replace LAST_INSN_CODE with
5223 NUM_INSN_CODES.
5224 * lra.c (insn_code_data): Update accordingly.
5225 (finish_insn_code_data_once, get_static_insn_data): Likewise.
5226 * recog.h (target_recog): Likewise.
5227 (preprocess_insn_constraints): Change parameter to unsigned int.
5228 * recog.c (preprocess_insn_constraints): Likewise.
5229 (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
5230 * tree-vect-stmts.c (vectorizable_operation): Simplify.
5231
5232 2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
5233
5234 PR rtl-optimization/61657
5235 * loop-iv.c (iv_number_of_iterations): Declare up and down as
5236 unsigned. Remove superflous uint64_t cast.
5237
5238 2014-08-21 Felix Yang <felix.yang@huawei.com>
5239 Jiji Jiang <jiangjiji@huawei.com>
5240
5241 * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
5242 argument and get builtin function code directly from CALL.
5243 (gimple_stringop_fixed_value): Modified accordingly.
5244 (gimple_stringops_transform, gimple_stringops_values_to_profile):
5245 Modified accordingly and only accept BUILT_IN_NORMAL string operations.
5246
5247 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
5248
5249 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
5250
5251 2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
5252
5253 * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
5254 to match.pd.
5255 Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
5256 Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
5257 Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
5258 Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
5259 Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
5260 Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
5261 Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
5262 Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
5263 Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
5264 Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
5265
5266 * match.pd (SIN ) : New Operator.
5267 (TAN) : New Operator.
5268 (mult (SQRT@1 @0) @1) : New simplifier.
5269 (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
5270 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
5271 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
5272 (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
5273 (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
5274 (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
5275 (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
5276 (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
5277 (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
5278 (rdiv @0 (POW:s @1 @2)) : New simplifier.
5279
5280 2015-08-21 Bin Cheng <bin.cheng@arm.com>
5281
5282 * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
5283 loop if EXPR is simplified to const value.
5284
5285 2015-08-21 Yury Gribov <y.gribov@samsung.com>
5286
5287 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
5288 BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
5289
5290 2015-08-21 Richard Biener <rguenther@suse.de>
5291
5292 PR middle-end/67285
5293 * gimple-fold.c (replace_stmt_with_simplification): Assert
5294 seq is empty when replacing a call with itself but different
5295 arguments.
5296 * gimple-match-head.c (maybe_push_res_to_seq): When pushing
5297 a call require that it is const.
5298
5299 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5300
5301 * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
5302 * builtins.c (get_object_alignment_2): Adjust.
5303 * varasm.c (align_variable): Likewise.
5304 (get_variable_align): Likewise.
5305 (build_constant_desc): Likewise.
5306 (force_const_mem): Likewise.
5307 * doc/tm.texi.in: Likewise.
5308 * doc/tm.texi: Regenerate.
5309
5310 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5311
5312 * genconfig.c (main): Always define HAVE_cc0.
5313 * recog.c (rest_of_handle_peephole2): Adjust.
5314
5315 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5316
5317 * reorg.c (relax_delay_slots): Don't use #if to check value of
5318 HAVE_cc0.
5319
5320 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5321
5322 * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
5323 * targhooks.c (default_have_conditional_execution): Adjust.
5324
5325 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
5326
5327 * rtl.h (rtvec_all_equal_p): Declare.
5328 (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
5329 * rtl.c (rtvec_all_equal_p): New function.
5330 * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
5331 * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
5332 (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
5333 * config/arm/arm.c (neon_vdup_constant): Likewise.
5334 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
5335 * config/tilegx/constraints.md (W, Y): Likewise.
5336 * config/tilepro/constraints.md (W, Y): Likewise.
5337 * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
5338 (classify_immediate): Use unwrap_const_vec_duplicate.
5339 * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
5340 (reg_or_v2s8bit_operand): Likewise.
5341 * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
5342 (reg_or_v4s8bit_operand): Likewise.
5343
5344 2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
5345
5346 * config/rs6000/altivec.h (vec_pmsum_be): New #define.
5347 (vec_shasigma_be): New #define.
5348 * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
5349 (VPMSUMH): Likewise.
5350 (VPMSUMW): Likewise.
5351 (VPMSUMD): Likewise.
5352 (VPMSUM): New BU_P8V_OVERLOAD_2.
5353 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
5354 entries for VEC_MADD and VEC_VPMSUM.
5355
5356 2015-08-20 Georg-Johann Lay <avr@gjlay.de>
5357
5358 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
5359 Multiply argument avr_n_flash by 64 to match unit of "KiB".
5360 (avr_pgm_check_var_decl): Same.
5361
5362 2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
5363
5364 * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
5365 initialization of HFmode scalar type (float16_t) to...
5366 (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
5367 code.
5368
5369 (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
5370
5371 * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
5372 having an -mfp16-format.
5373
5374 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
5375
5376 * config/i386/predicates.md (vector_all_ones_operand): Use
5377 CONSTM1_RTX to simplify definition.
5378
5379 2015-08-20 Richard Biener <rguenther@suse.de>
5380
5381 * toplev.c (compile_file): Remove loop calling late_global_decl
5382 on all symbols.
5383 * varpool.c (varpool_node::assemble_decl): Call late_global_decl
5384 on decls we assembled.
5385
5386 2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
5387
5388 * common/config/aarch64/aarch64-common.c
5389 (AARCH64_CPU_NAME_LENGTH): Delete.
5390 (aarch64_option_extension): New.
5391 (all_extensions): Likewise.
5392 (processor_name_to_arch): Likewise.
5393 (arch_to_arch_name): Likewise.
5394 (all_cores): New.
5395 (all_architectures): Likewise.
5396 (aarch64_get_extension_string_for_isa_flags): Likewise.
5397 (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
5398 architecture names.
5399 * config/aarch64/aarch64-protos.h
5400 (aarch64_get_extension_string_for_isa_flags): New.
5401 * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
5402 (aarch64_option_print): Get the string to print from
5403 aarch64_get_extension_string_for_isa_flags.
5404 (aarch64_declare_function_name): Likewise.
5405 * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
5406 (MCPU_TO_MARCH_SPEC): This.
5407 (ASM_CPU_SPEC): Use it.
5408 (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
5409 (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
5410 (EXTRA_SPEC_FUNCTIONS): Use it.
5411
5412 2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
5413
5414 * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
5415 expansion when !ISA_HAS_LWL_LWR.
5416 (mips_block_move_straight): Update the size of elements copied to
5417 account for alignment when !ISA_HAS_LWL_LWR.
5418 * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
5419
5420 2015-08-19 Jiong Wang <jiong.wang@arm.com>
5421
5422 * expr.c (expand_expr_real_2): Check gimple statement during
5423 LSHIFT_EXPR expand.
5424
5425 2015-08-19 Magnus Granberg <zorry@gentoo.org>
5426
5427 * common.opt (fstack-protector): Initialize to -1.
5428 (fstack-protector-all): Likewise.
5429 (fstack-protector-strong): Likewise.
5430 (fstack-protector-explicit): Likewise.
5431 * configure.ac: Add --enable-default-ssp.
5432 * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
5433 * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
5434 -1.
5435 * doc/install.texi: Document --enable-default-ssp.
5436 * config.in: Regenerated.
5437 * configure: Likewise.
5438
5439 2015-08-19 Alexandre Oliva <aoliva@redhat.com>
5440
5441 PR rtl-optimization/64164
5442 * cfgexpand.c (parm_maybe_byref_p): Renamed to...
5443 (parm_in_stack_slot_p): ... this. Disregard mode, what
5444 matters is whether the parm will live in a pseudo or a stack
5445 slot.
5446 (expand_one_ssa_partition): Deal with params without a default
5447 def. Disregard mode.
5448 * cfgexpand.h: Renamed function declaration.
5449 * tree-ssa-coalesce.c: Adjust.
5450 * function.c (split_complex_args): Allocate stack slot for
5451 unassigned parms before splitting.
5452 (parm_in_unassigned_mem_p): New. Use it instead of
5453 parm_maybe_byref_p throughout this file.
5454 (assign_parm_setup_block): Use it. Accept pseudos in the
5455 expand-assigned rtl.
5456 (assign_parm_setup_reg): Drop BLKmode requirement.
5457 (assign_parm_setup_stack): Allocate and fill in the address of
5458 unassigned MEM parms.
5459
5460 2015-08-19 David Sherwood <david.sherwood@arm.com>
5461
5462 * genmodes.c (emit_mode_unit_size_inline): New function.
5463 (emit_mode_unit_precision_inline): New function.
5464 (emit_insn_modes_h): Emit new #define. Emit new functions.
5465 (emit_mode_unit_size): New function.
5466 (emit_mode_unit_precision): New function.
5467 (emit_mode_adjustments): Add mode_unit_size adjustments.
5468 (emit_insn_modes_c): Emit new arrays.
5469 * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
5470 use new inline methods.
5471
5472 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5473
5474 * config/aarch64/aarch64.c (bit_count): Delete prototype
5475 and definition.
5476 (aarch64_print_operand): Use popcount_hwi instead of the above.
5477
5478 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5479
5480 * config/aarch64/aarch64-option-extensions.def: Delete obsolete
5481 comment.
5482
5483 2015-08-19 Marek Polacek <polacek@redhat.com>
5484
5485 PR middle-end/67133
5486 * gimple-ssa-isolate-paths.c
5487 (insert_trap_and_remove_trailing_statements): Rename to ...
5488 (insert_trap): ... this. Don't remove trailing statements; split
5489 block instead.
5490 (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
5491
5492 2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
5493
5494 PR other/67042
5495 * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
5496 conditionalize the whole on __GNUC__. Add fallback code
5497 depending neither on undefined nor implementation-defined behaviour.
5498
5499 2015-08-19 Jiong Wang <jiong.wang@arm.com>
5500
5501 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
5502 whitespaces with tab.
5503
5504 2015-08-19 Florian Weimer <fweimer@redhat.com>
5505
5506 * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
5507 Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
5508 * prj-proc.adb (Process.Process_Expression_Variable_Decl):
5509 Move Name_Ids instantiation to the Prj.Proc package, to avoid
5510 trampolines.
5511
5512 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5513
5514 * config/arm/arm.c (bounds_check): Use %wd print format
5515 for HOST_WIDE_INT arguments.
5516
5517 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
5518
5519 * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
5520 dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
5521 mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
5522 signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
5523 tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
5524 tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
5525 tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
5526 tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
5527 tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
5528 typedefs.
5529
5530 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
5531
5532 * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
5533 function.c, graphite-scop-detection.c, haifa-sched.c,
5534 ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
5535 tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
5536 varasm.c: Remove typedefs of structs.
5537
5538 2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
5539
5540 * config/rs6000/altivec.h (vec_adde): New define.
5541 (vec_addec): Likewise.
5542 (vec_double): Likewise.
5543 (vec_bperm): Likewise.
5544 (vec_gb): Likewise.
5545 * config/rs6000/rs6000-builtin.def (ADDE): New
5546 BU_ALTIVEC_OVERLOAD_3.
5547 (ADDEC): Likewise.
5548 (DOUBLE): New BU_VSX_OVERLOAD_1.
5549 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
5550 entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
5551 ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
5552 VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
5553 ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
5554 ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
5555 ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
5556 P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
5557 and P8V_BUILTIN_VEC_VBPERMQ.
5558
5559 2015-08-18 Jason Merrill <jason@redhat.com>
5560
5561 * print-tree.c (print_node): Handle TREE_BINFO.
5562
5563 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
5564
5565 PR middle-end/36757
5566 * builtins.c (expand_builtin_signbit): Add asserts to make sure
5567 we can expand BUILT_IN_SIGNBIT inline.
5568 * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
5569 * doc/extend.texi: Document the type-generic __builtin_signbit.
5570
5571 2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
5572
5573 PR rtl-optimization/67218
5574 * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
5575 (simplify_unary_operation_1): Use it.
5576
5577 2015-08-18 Marek Polacek <polacek@redhat.com>
5578
5579 PR middle-end/67222
5580 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
5581 if the call isn't valid.
5582 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
5583 gimple_call_builtin_p.
5584 (call_may_clobber_ref_p_1): Likewise.
5585 (stmt_kills_ref_p): Likewise.
5586
5587 2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
5588
5589 * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
5590 * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
5591 (mips_hard_regno_scratch_ok): Likewise.
5592 (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
5593 * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
5594
5595 2015-08-18 Bin Cheng <bin.cheng@arm.com>
5596
5597 * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
5598 (determine_value_range): Call refine_value_range_using_guard for
5599 each loop initial condition to improve value range.
5600
5601 2015-08-17 Aldy Hernandez <aldyh@redhat.com>
5602
5603 * config/i386/i386.c: Remove include of fibheap.h.
5604
5605 2015-08-17 Richard Biener <rguenther@suse.de>
5606
5607 PR tree-optimization/67221
5608 * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
5609 (sccvn_dom_walker::before_dom_children): Mark backedges of
5610 non-executable blocks as not executable.
5611
5612 2015-08-17 David Sherwood <david.sherwood@arm.com>
5613
5614 * config/arm/arm.c (neon_element_bits): Replace call to
5615 GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
5616 * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
5617 (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
5618 (neon_vdup_lane<mode>): Likewise.
5619 * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
5620 (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
5621 (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
5622 * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
5623 * config/spu/spu.c (arith_immediate_p): Likewise.
5624 * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
5625 * expr.c (expand_expr_real_2): Likewise.
5626 * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
5627 * simplify-rtx.c (simplify_immed_subreg): Likewise.
5628 * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
5629 * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
5630 New variable.
5631 * fold-const.c (fold_binary_loc): Replace call to
5632 GET_MODE_PRECISION (GET_MODE_INNER (m)) with
5633 GET_MODE_UNIT_PRECISION (m).
5634
5635 2015-08-17 Mike Stump <mikestump@comcast.net>
5636
5637 * config/arm/arm.c (arm_block_move_unaligned_straight):
5638 Emit normal move instead of unaligned load when source or destination
5639 are appropriately aligned.
5640
5641 2015-08-17 Richard Biener <rguenther@suse.de>
5642 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
5643
5644 PR middle-end/16107
5645 * match.pd (div (coss (op @0) : New simplifier.
5646
5647 2015-08-14 Alexandre Oliva <aoliva@redhat.com>
5648
5649 PR rtl-optimization/64164
5650 PR bootstrap/66978
5651 PR middle-end/66983
5652 PR rtl-optimization/67000
5653 PR middle-end/67034
5654 PR middle-end/67035
5655 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
5656 * tree-ssa-copyrename.c: Removed.
5657 * opts.c (default_options_table): Drop -ftree-copyrename. Add
5658 -ftree-coalesce-vars.
5659 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
5660 * common.opt (ftree-copyrename): Ignore.
5661 (ftree-coalesce-inlined-vars): Likewise.
5662 * doc/invoke.texi: Remove the ignored options above.
5663 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
5664 * tree-ssa-coalesce.h: ... here.
5665 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
5666 headers required by it.
5667 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
5668 across variables when flag_tree_coalesce_vars. Check register
5669 use and promoted modes to allow coalescing. Do not coalesce
5670 maybe-byref parms with SSA_NAMEs of other variables, or
5671 anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
5672 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
5673 with its member functions to tree-ssa-coalesce.c.
5674 (var_map_base_init): Likewise. Renamed to
5675 compute_samebase_partition_bases.
5676 (partition_view_normal): Drop want_bases parameter.
5677 (partition_view_bitmap): Likewise.
5678 * tree-ssa-live.h: Adjust declarations.
5679 * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
5680 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
5681 default defs at the entry point.
5682 (dump_part_var_map): New.
5683 (compute_optimized_partition_bases): New, called by...
5684 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
5685 of compute_samebase_partition_bases. Adjust.
5686 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
5687 * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
5688 (ssa_default_def_partition): New.
5689 (get_rtl_for_parm_ssa_default_def): New.
5690 (align_local_variable, add_stack_var): Support anonymous SSA
5691 names.
5692 (defer_stack_allocation): Likewise. Declare earlier.
5693 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
5694 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
5695 Do no record deferred-allocation marker in
5696 SA.partition_to_pseudo.
5697 (expand_stack_vars): Adjust check for the marker in it.
5698 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
5699 redundant MEM attr setting.
5700 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
5701 from...
5702 (expand_one_stack_var): ... this. New wrapper to check and
5703 skip already expanded SSA partitions.
5704 (record_alignment_for_reg_var): New, factored out of...
5705 (expand_one_var): ... this.
5706 (expand_one_ssa_partition): New.
5707 (adjust_one_expanded_partition_var): New.
5708 (expand_one_register_var): Check and skip already expanded SSA
5709 partitions.
5710 (expand_used_vars): Don't create DECLs for anonymous SSA
5711 names. Expand all SSA partitions, then adjust all SSA names.
5712 (pass::execute): Replace the loops that set
5713 SA.partition_to_pseudo from partition leaders and cleared
5714 DECL_RTL for multi-location variables, and that which used to
5715 rename vars and set attrs, with one that clears DECL_RTL and
5716 checks that PARMs and RESULTs default_defs match DECL_RTL.
5717 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
5718 * emit-rtl.c: Include stor-layout.h.
5719 (set_reg_attrs_for_parm): Handle NULL decl.
5720 (set_reg_attrs_for_decl_rtl): Take mode from expression if
5721 it's not a DECL.
5722 * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
5723 rather than its possibly-NULL DECL.
5724 * explow.c (promote_ssa_mode): New.
5725 * explow.h (promote_ssa_mode): Declare.
5726 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
5727 (read_complex_part): Export.
5728 * expr.h (read_complex_part): Declare.
5729 * cfgexpand.h (parm_maybe_byref_p): Declare.
5730 * function.c: Include cfgexpand.h.
5731 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
5732 (use_register_for_parm_decl): Wrapper for the above to
5733 special-case the result_ptr.
5734 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
5735 (split_complex_args): Take assign_parm_data_all argument.
5736 Pass it to rtl_for_parm. Set up rtl and context for split
5737 args. Reset complex parm before fetching its default decl
5738 rtl.
5739 (assign_parms_unsplit_complex): Use the default-def complex
5740 parm rtl if it matches the components.
5741 (assign_parms_augmented_arg_list): Adjust.
5742 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
5743 multiple locations. Recognize split complex args.
5744 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
5745 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
5746 (assign_parm_setup_block): Prefer SSA-assigned location, and
5747 fill in its address if the memory location of a maybe-byref
5748 parm was not assigned by cfgexpand.
5749 (assign_parm_setup_reg): Likewise. Adjust its mode as
5750 needed. Use entry_parm for equiv if stack_parm is NULL. Make
5751 sure passed_pointer parms don't need conversion. Copy address
5752 or value as needed.
5753 (assign_parm_setup_stack): Prefer SSA-assigned location.
5754 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
5755 rtl before testing for pointer bounds. Special-case result_ptr.
5756 (expand_function_start): Maybe reset DECL_RTL of result.
5757 Prefer SSA-assigned location for result and static chain.
5758 Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
5759 to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
5760 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
5761 anonymous SSA names. Use promote_ssa_mode.
5762 (get_temp_reg): Likewise.
5763 (remove_ssa_form): Adjust.
5764 * stor-layout.c (layout_decl): Don't set mem attributes of
5765 non-MEMs.
5766 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
5767 and get its reg_usage for reg invalidation.
5768 (compute_bb_dataflow): Pass it insn.
5769 (emit_notes_in_bb): Likewise.
5770
5771 2015-08-14 Marek Polacek <polacek@redhat.com>
5772
5773 * tree-core.h (tree_base): Fix typo.
5774
5775 2015-08-14 Marek Polacek <polacek@redhat.com>
5776
5777 PR middle-end/67133
5778 * gimple.c (infer_nonnull_range_by_attribute): Check that the
5779 nonnull argument position is not outside function arguments.
5780
5781 2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
5782
5783 PR target/67143
5784 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
5785 'lconst_atomic' with 'const_atomic'.
5786 (atomic_fetch_<optab><mode>): Likewise.
5787 (atomic_<optab>_fetch<mode>): Likewise.
5788 * config/aarch64/iterators.md (lconst-atomic): Move below
5789 'const_atomic'.
5790 (const_atomic): New.
5791
5792 2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
5793 Bernd Schmidt <bernds@codesourcery.com>
5794
5795 * config/nvptx/nvptx.c (nvptx_option_override): Don't override
5796 debug options.
5797 * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
5798 (DWARF2_DEBUGGING_INFO): Don't define.
5799 * debug.h (dwarf2_lineno_debug_hooks): Declare.
5800 * toplev.c (process_options): Add a case for it.
5801 * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
5802 (dwarf2out_init): Skip most initializations if
5803 DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
5804 case.
5805 * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
5806 DWARF2_LINENO_DEBUGGING_INFO.
5807 * opts.c (set_debug_level): Likewise.
5808
5809 2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
5810
5811 * config/arm/types.md (is_neon_type): Add missing types.
5812
5813 2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
5814
5815 * config/i386/driver-i386.c (host_detect_local_cpu): Add support
5816 for skylake.
5817 * config/i386/i386.c (PTA_SKYLAKE): New macros.
5818 (processor_alias_table): Add skylake description.
5819 (enum processor_model): Add skylake processor.
5820 (arch_names_table): Add skylake record.
5821 * doc/invoke.texi: Add skylake item.
5822
5823 2015-08-13 Andrew MacLeod <amacleod@redhat.com>
5824
5825 * ira-int.h: Include recog.h.
5826 * ira-build.c: Don't include recog.h.
5827 * ira-color.c: Likewise.
5828 * ira-conflicts.c: Likewise.
5829 * ira-costs.c: Likewise.
5830 * ira-emit.c: Likewise.
5831 * ira-lives.c: Likewise.
5832 * ira.c: Likewise.
5833 * sched-deps.c: Likewise.
5834 * sel-sched.c: Likewise.
5835 * target-globals.c: Likewise.
5836
5837 2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
5838
5839 PR bootstrap/55035
5840 * reload1.c (elimination_costs_in_insn): Make it obvious to the
5841 compiler that the n_dups and n_operands loop bounds are invariant.
5842
5843 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5844
5845 * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
5846 expressions in A and B.
5847
5848 2015-08-13 Richard Biener <rguenther@suse.de>
5849
5850 * tree.c (nonnull_arg_p): Move from ...
5851 * tree-vrp.c (nonnull_arg_p): ... here.
5852 * tree.h (nonnull_arg_p): Declare.
5853 * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
5854 here, register ptr != 0 for nonnull_arg_p pointer arguments.
5855 Properly initialize static chain and by-reference result pointer.
5856 (run_scc_vn): Adjust.
5857
5858 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
5859
5860 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
5861 TUNE_I6400.
5862
5863 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
5864
5865 * config/aarch64/aarch64-protos.h
5866 (aarch64_gen_atomic_cas): Declare.
5867 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
5868 Choose appropriate instruction pattern for the target.
5869 (aarch64_gen_atomic_cas): New.
5870 * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
5871 (atomic_compare_and_swap<mode>_1): Rename to
5872 aarch64_compare_and_swap<mode>. Fix some indentation.
5873 (aarch64_compare_and_swap<mode>_lse): New.
5874 (aarch64_atomic_cas<mode>): New.
5875
5876 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
5877
5878 * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
5879 (TARGET_LSE): New.
5880
5881 2015-08-13 Richard Biener <rguenther@suse.de>
5882
5883 PR tree-optimization/67191
5884 * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
5885 assert we value-numbered last stmts operand because it can validly
5886 trigger for unreachable code.
5887
5888 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5889
5890 PR rtl-optimization/67103
5891 * ifcvt.c (noce_try_store_flag_constants): Move
5892 x = (-(test != 0) & (b - a)) + a transformation to...
5893 (noce_try_cmove): ... Here. Try it if normal conditional
5894 move fails.
5895
5896 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
5897
5898 * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
5899 pseudo-processors.
5900 * config/mips/mips.md (processor): Remove w32 and w64.
5901
5902 2015-08-13 Richard Biener <rguenther@suse.de>
5903
5904 PR tree-optimization/66502
5905 PR tree-optimization/67167
5906 * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
5907 backedge arguments.
5908 (vn_phi_lookup): Adjust.
5909 (vn_phi_insert): Likewise.
5910 (visit_phi): Prefer to value-number to another PHI node
5911 over value-numbering to a PHI argument.
5912 (init_scc_vn): Mark DFS back edges.
5913
5914 2015-08-13 Richard Biener <rguenther@suse.de>
5915
5916 * gimple.h (gcall::code_): New constant static member.
5917 (gcond::code_): Likewise.
5918 * gimple.c (gcall::code_): Define.
5919 (gcond::code_): Likewise.
5920 (is_a_helper <const gcond *>): Add.
5921 (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
5922 and forward to a new gcall overload with less checking and a
5923 cheaper way to access the operand.
5924 (gimple_call_lhs_ptr): Likewise.
5925 (gimple_call_set_lhs): Likewise.
5926 (gimple_call_internal_p): Likewise.
5927 (gimple_call_with_bounds_p): Likewise.
5928 (gimple_call_set_with_bounds): Likewise.
5929 (gimple_call_internal_fn): Likewise.
5930 (gimple_call_set_ctrl_altering): Likewise.
5931 (gimple_call_ctrl_altering_p): Likewise.
5932 (gimple_call_fntype): Likewise.
5933 (gimple_call_fn): Likewise.
5934 (gimple_call_fn_ptr): Likewise.
5935 (gimple_call_set_fndecl): Likewise.
5936 (gimple_call_fndecl): Likewise.
5937 (gimple_call_chain): Likewise.
5938 (gimple_call_num_args): Likewise.
5939 (gimple_call_arg): Likewise.
5940 (gimple_call_arg_ptr): Likewise.
5941 (gimple_call_set_arg): Likewise.
5942 (gimple_call_noreturn_p): Likewise.
5943 (gimple_cond_code): Likewise.
5944 (gimple_cond_lhs): Likewise.
5945 (gimple_cond_rhs): Likewise.
5946 (gimple_has_lhs): Reduce checking.
5947
5948 2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
5949
5950 PR middle-end/25529
5951 * match.pd (div (mult @0 @1) @1) : New simplifier.
5952
5953 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
5954
5955 PR target/67071
5956 * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
5957 predicate to allow construction of vector constants using the
5958 VSLDOI vector shift instruction.
5959
5960 * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
5961 declaration.
5962
5963 * config/rs6000/rs6000.c (vspltis_shifted): New function to return
5964 the number of bytes to be shifted left and filled in with either
5965 all zero or all one bits.
5966 (gen_easy_altivec_constant): Call vsplitis_shifted if no other
5967 methods exist.
5968 (output_vec_const_move): On power8, generate XXLORC to generate
5969 a vector constant with all 1's. Do a split if we need to use a
5970 VSLDOI instruction.
5971
5972 * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
5973 properly test for the MSB.
5974
5975 * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
5976 vector constants that can be created with VSLDOI.
5977
5978 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
5979
5980 revert:
5981 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
5982 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
5983 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
5984 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
5985 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
5986 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
5987 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
5988 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
5989 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
5990
5991 2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
5992
5993 * config/xtensa/constraints.md (define_constraint "Y"): New
5994 constraint.
5995 * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
5996 * config/xtensa/linux.h (ASM_SPEC): Likewise.
5997 * config/xtensa/predicates.md (move_operand): Match constants
5998 and symbols in the presence of TARGET_AUTO_LITPOOLS.
5999 * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
6000 immediate references to TLS data.
6001 (xtensa_emit_move_sequence): Don't force constants to memory in
6002 the presence of TARGET_AUTO_LITPOOLS.
6003 (print_operand): Add 'y' format, same as default, but capable of
6004 printing SF mode constants as well.
6005 * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
6006 (movsf_internal): Add movi pattern that loads literal.
6007 (movsf, movdf): Don't force constants to memory in the presence
6008 of TARGET_AUTO_LITPOOLS.
6009 (movdf_internal): Add 'Y' constraint.
6010 * config/xtensa/xtensa.opt (mauto-litpools): New option.
6011 * doc/invoke.text (Xtensa options): Document -mauto-litpools.
6012
6013 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
6014
6015 * config/arm/arm-fpus.def: Replace booleans with feature flags.
6016 Update comment.
6017 * config/arm/arm.c (ARM_FPU): Update macro.
6018 * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
6019 (TARGET_FP16): Likewise.
6020 (TARGET_CRYPTO): Likewise.
6021 (TARGET_NEON): Likewise.
6022 (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
6023 field features.
6024
6025 2015-08-12 Tom de Vries <tom@codesourcery.com>
6026
6027 PR other/67092
6028 PR other/67098
6029 * doc/install.texi: Remove --with_host_libstdcxx item. Update
6030 --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
6031 accordingly. Mention default for --with-stage1-ldflags.
6032
6033 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
6034
6035 * config/arm/arm.h (arm_fpu_feature_set): New.
6036 (ARM_FPU_FSET_HAS): New.
6037 (FPU_FL_NONE): New.
6038 (FPU_FL_NEON): New.
6039 (FPU_FL_FP16): New.
6040 (FPU_FL_CRYPTO): New.
6041
6042 2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6043
6044 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
6045 after -mcmodel=large -fPIC sorry.
6046
6047 2015-08-12 Richard Biener <rguenther@suse.de>
6048
6049 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
6050 comparison operand order and commutative ternary op operand order.
6051 (sccvn_dom_walker::cond_stack): New state to track temporary
6052 expressions.
6053 (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
6054 no longer valid.
6055 (sccvn_dom_walker::record_cond): Add a single temporary conditional
6056 expression.
6057 (sccvn_dom_walker::record_conds): Add a temporary conditional
6058 expressions and all related expressions also true/false.
6059 (sccvn_dom_walker::before_dom_children): Record temporary
6060 expressions based on the controlling condition of a single
6061 predecessor. When trying to simplify a conditional statement
6062 lookup expressions we might have inserted earlier.
6063
6064 2015-08-12 Yvan Roux <yvan.roux@linaro.org>
6065
6066 PR target/67127
6067 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
6068 to ARM core registers.
6069
6070 2015-08-12 Nathan Sidwell <nathan@acm.org>
6071
6072 * tree-vrp.c (simplify_min_or_max_using_ranges): New.
6073 (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
6074
6075 2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
6076
6077 * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
6078 line with comments.
6079 * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
6080
6081 2015-08-12 Richard Biener <rguenther@suse.de>
6082
6083 * gimple.h (remove_pointer): New trait.
6084 (GIMPLE_CHECK2): New inline template function.
6085 (gassign::code_): New constant static member.
6086 (is_a_helper<const gassign *>): Add.
6087 (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
6088 and forward to a new gassign overload with less checking and a
6089 cheaper way to access the operand.
6090 (gimple_assign_lhs_ptr): Likewise.
6091 (gimple_assign_set_lhs): Likewise.
6092 (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
6093 Likewise.
6094 (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
6095 Likewise.
6096 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
6097 Likewise.
6098 (gimple_assign_rhs_code): Likewise.
6099 * gimple.c (gassign::code_): Define.
6100
6101 2015-08-12 Richard Biener <rguenther@suse.de>
6102
6103 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
6104 Eliminate edges marked as not executable by SCCVN.
6105 * tree-ssa-sccvn.c: Include gimple-iterator.h.
6106 (cond_dom_walker): Rename to sccvn_dom_walker.
6107 (sccvn_dom_walker::before_dom_children): Value-number defs
6108 of all stmts.
6109 (run_scc_vn): Remove loop value-numbering all SSA names.
6110 Drop not visited SSA names to varying.
6111
6112 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
6113
6114 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
6115 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
6116 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
6117 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
6118 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
6119 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
6120 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
6121 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
6122 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
6123
6124 2015-08-11 Uros Bizjak <ubizjak@gmail.com>
6125
6126 PR target/66954
6127 * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
6128 to enum feature_priority and feature_list.
6129 (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
6130 and isa_names_table.
6131
6132 2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
6133
6134 * tree-vect-stmts.c (vectorizable_shift): Add missed test on
6135 vect_induction_def.
6136
6137 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
6138
6139 PR c/66098
6140 PR c/66711
6141 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
6142 account when deciding what was the command-line status.
6143
6144 2015-08-11 Nathan Sidwell <nathan@acm.org>
6145
6146 * tree-vrp.c (simplify_abs_using_ranges): Simplify.
6147
6148 * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
6149 we're not the only contributor to target phi.
6150
6151 2015-08-11 Jiong Wang <jiong.wang@arm.com>
6152
6153 * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
6154 FIXED_REG0.
6155
6156 2015-08-11 Tom de Vries <tom@codesourcery.com>
6157
6158 * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
6159
6160 2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
6161
6162 * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
6163 with CPU_SLM.
6164 * config/i386/i386.md (cpu): Remove knl.
6165
6166 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6167
6168 PR libgomp/65742
6169 PR middle-end/66332
6170 * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
6171 open-coded sequence.
6172 * omp-low.c (oacc_process_reduction_data): Remove handline of
6173 GOMP_DEVICE_HOST_NONSHM.
6174
6175 * lto-streamer-in.c (lto_input_mode_table): Adjust to
6176 GET_MODE_INNER changes.
6177
6178 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
6179 Ilya Verbin <ilya.verbin@intel.com>
6180
6181 * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
6182
6183 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
6184
6185 * doc/options.texi (EnabledBy): Document that the argument must be
6186 a Common option.
6187 * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
6188 Not enabled by -Wall.
6189 * optc-gen.awk: Give nicer error messages. Detect if the argument
6190 of EnabledBy is not a Common option.
6191 * common.opt (Wnull-dereference): Not enabled by -Wall.
6192 * opt-functions.awk (lang_enabled_by): Nicer error messages.
6193
6194 2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
6195
6196 * config/i386/driver-i386.c (host_detect_local_cpu): Treat
6197 model == 0x4f as Broadwell.
6198
6199 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
6200
6201 PR rtl-optimization/67028
6202 * combine.c (simplify_comparison): Fix comment. Rearrange code.
6203 Add test to see if a const_int fits in the new mode.
6204
6205 2015-08-07 DJ Delorie <dj@redhat.com>
6206
6207 * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
6208
6209 2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
6210
6211 PR rtl-optimization/67029
6212 * ira-color.c: Include "recog.h" before including "ira-int.h".
6213 * target-globals.c: Likewise.
6214 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
6215 adds an alternative_mask argument and use it instead of
6216 preferred_alternatives.
6217 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
6218 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
6219 * sched-deps.c: Include "ira-int.h" after including "ira.h".
6220 (sched_analyze_insn): Update call to
6221 ira_implicitly_set_insn_hard_regs.
6222 * sel-sched.c: Include "ira-int.h" after including "ira.h".
6223 (implicit_clobber_conflict_p): Update call to
6224 ira_implicitly_set_insn_hard_regs.
6225
6226 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
6227
6228 * Makefile.in (.INTERMEDIATE): Add gpl.pod.
6229
6230 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
6231
6232 PR target/67002
6233 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
6234 currently_expanding_to_rtl is set.
6235
6236 2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
6237
6238 * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
6239 * configure: Regenerate.
6240
6241 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6242 Jiong Wang <jiong.wang@arm.com>
6243
6244 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
6245 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
6246 (REG_CLASS_NAMES): Likewise.
6247 (REG_CLASS_CONTENTS): Likewise.
6248 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
6249 (aarch64_register_move_cost): Likewise.
6250 (aarch64_load_symref_appropriately): Invoke the new added pattern if
6251 possible.
6252 * config/aarch64/constraints.md (Uc0): New constraint.
6253
6254 2015-08-06 Jiong Wang <jiong.wang@arm.com>
6255
6256 * config/aarch64/constraints.md (Usf): Add the test of
6257 aarch64_is_noplt_call_p.
6258
6259 2015-08-06 Jiong Wang <jiong.wang@arm.com>
6260
6261 * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
6262 declaration.
6263 * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
6264 * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
6265 (call_symbol): Likewise.
6266
6267 2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
6268
6269 * tree-vect-patterns.c (vect_recog_mult_pattern): New function
6270 for vectorizing multiplication patterns.
6271 * tree-vectorizer.h: Adjust the number of patterns.
6272
6273 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
6274
6275 * config/i386/sse.md (*vec_concatv2df): Declare added
6276 alternatives as sselog type.
6277
6278 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6279
6280 * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
6281 all GPRs.
6282
6283 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6284
6285 * config/s390/s390.c (s390_expand_tbegin): Expand either
6286 tbegin_1_z13 or tbegin_1 depending on VX flag.
6287 * config/s390/s390.md ("tbegin_1_z13"): New expander.
6288
6289 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6290
6291 * config/s390/s390.opt: Clarify description for -mzvector
6292 * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
6293 -mzvector.
6294
6295 2015-08-06 Richard Biener <rguenther@suse.de>
6296
6297 * gimple.h (gimple_call_set_fn): Access op member directly.
6298 (gimple_call_chain_ptr): Likewise.
6299 (gimple_call_set_chain): Likewise.
6300 (gimple_cond_lhs_ptr): Likewise.
6301 (gimple_cond_set_lhs): Likewise.
6302 (gimple_cond_rhs_ptr): Likewise.
6303 (gimple_cond_set_rhs): Likewise.
6304 (gimple_cond_true_label): Likewise.
6305 (gimple_cond_set_true_label): Likewise.
6306 (gimple_cond_set_false_label): Likewise.
6307 (gimple_cond_false_label): Likewise.
6308 (gimple_label_label): Likewise.
6309 (gimple_label_set_label): Likewise.
6310 (gimple_goto_set_dest): Likewise.
6311 (gimple_asm_input_op): Likewise.
6312 (gimple_asm_input_op_ptr): Likewise.
6313 (gimple_asm_set_input_op): Likewise.
6314 (gimple_asm_output_op): Likewise.
6315 (gimple_asm_output_op_ptr): Likewise.
6316 (gimple_asm_set_output_op): Likewise.
6317 (gimple_asm_clobber_op): Likewise.
6318 (gimple_asm_set_clobber_op): Likewise.
6319 (gimple_asm_label_op): Likewise.
6320 (gimple_asm_set_label_op): Likewise.
6321 (gimple_switch_index): Likewise.
6322 (gimple_switch_index_ptr): Likewise.
6323 (gimple_return_retval_ptr): Likewise.
6324 (gimple_return_retval): Likewise.
6325 (gimple_return_set_retval): Likewise.
6326 (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
6327 (gimple_switch_label): Likewise.
6328 (gimple_switch_set_label): Likewise.
6329
6330 2015-08-06 Richard Biener <rguenther@suse.de>
6331
6332 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
6333 bool comparison canonicalization and restrict to integers.
6334
6335 2015-08-05 Andrew MacLeod <amacleod@redhat.com>
6336
6337 * coretypes.h (enum symbol_visibility): Relocate here.
6338 * flag-types.h (enum symbol_visibility): Remove.
6339 * tree-core.h (enum symbol_visibility): Remove.
6340
6341 2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
6342
6343 PR target/66870
6344 * gcc/config/rs6000/rs6000.c (rs6000_emit_prologue): Check
6345 for no_split_stack function attribute along with
6346 flag_split_stack.
6347 (rs6000_expand_split_stack_prologue): Likewise.
6348
6349 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
6350 Jeff Law <law@redhat.com>
6351
6352 PR c/16351
6353 * doc/invoke.texi (Wnull-dereference): New.
6354 * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
6355 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
6356 Warn for potential NULL dereferences.
6357 (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
6358 * ubsan.c (instrument_nonnull_arg): Call
6359 infer_nonnull_range_by_attribute.
6360 (instrument_nonnull_return): Likewise.
6361 * common.opt (Wnull-dereference); New.
6362 * gimple.c (infer_nonnull_range): Remove bool arguments.
6363 (infer_nonnull_range_by_dereference): New.
6364 (infer_nonnull_range_by_attribute): New.
6365 * gimple.h: Update declarations.
6366
6367 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
6368
6369 * gensupport.c (sequence_num): Replace with...
6370 (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
6371 ...these new variables.
6372 (init_rtx_reader_args_cb): Update accordingly.
6373 (get_num_code_insns): Likewise.
6374 (read_md_rtx): Rework to use a while loop and get_c_test.
6375 Use the new counters. Remove redundant DEFINE_SUBST case.
6376 * genoutput.c (gen_split): Delete.
6377 (main): Don't call it.
6378
6379 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
6380
6381 * gensupport.h (get_c_test): Declare.
6382 * gensupport.c (get_c_test): New function.
6383 * genconditions.c (main): Use it.
6384 * genrecog.c (validate_pattern): Likewise.
6385 (match_pattern_1): Likewise. Remove c_test argument.
6386 (match_pattern): Update accordingly and remove c_test argument.
6387 (main): Update accordingly.
6388
6389 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
6390
6391 * gensupport.h (get_num_insn_codes): Declare.
6392 * gensupport.c (get_num_insn_codes): New function.
6393 * genattrtab.c (optimize_attrs): Rename max_insn_code to
6394 num_insn_codes.
6395 (main): Likewise. Use get_num_insn_codes.
6396 * gencodes.c (main): Remove "last" and use get_num_insn_codes.
6397
6398 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
6399
6400 PR middle-end/66311
6401 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
6402 is zero- rather than sign-extended.
6403
6404 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
6405
6406 * target-insns.def (can_extend): Delete.
6407
6408 2015-08-05 Richard Biener <rguenther@suse.de>
6409
6410 PR tree-optimization/67121
6411 * tree-if-conv.c (combine_blocks): Clear range-info produced
6412 by stmts no longer executed conditionally.
6413
6414 2015-08-05 Nick Clifton <nickc@redhat.com>
6415
6416 * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
6417 to allow identical far pointers to remain.
6418
6419 2015-08-05 Richard Biener <rguenther@suse.de>
6420
6421 PR middle-end/67120
6422 * match.pd: Compare address bases with == if they are decls
6423 or SSA names, not operand_equal_p. Otherwise fail.
6424
6425 2015-08-05 Richard Biener <rguenther@suse.de>
6426
6427 PR tree-optimization/67055
6428 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
6429 NULL gimple_block.
6430
6431 * g++.dg/torture/pr67055.C: New testcase.
6432
6433 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
6434
6435 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
6436 noavx512vl.
6437 (define_attr "enabled"): Handle avx521vl and noavx512vl.
6438 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
6439 AVX-512 alternative out of SSE.
6440 (define_insn "*vec_concatv2df"): Ditto.
6441
6442 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
6443
6444 * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
6445 CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
6446 CODE_FOR_avx_ptestv4di.
6447 * config/i386/sse.md (define_mode_iterator V_AVX): New.
6448 (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
6449 (define_insn "avx_ptest256"): Merge this ...
6450 (define_insn "sse4_1_ptest"): And this ...
6451 (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
6452
6453 2015-08-05 Richard Biener <rguenther@suse.de>
6454
6455 PR tree-optimization/67109
6456 * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
6457 against too big groups. Print whether this is a load or store
6458 group. Rename from ...
6459 (vect_analyze_group_access): ... this which is now a wrapper
6460 dissolving an invalid group.
6461 (vect_analyze_data_ref_accesses): Print whether this is a load
6462 or store group.
6463
6464 2015-08-05 Richard Biener <rguenther@suse.de>
6465
6466 PR middle-end/67107
6467 * match.pd: Guard const_binop result checking against NULL_TREE
6468 result.
6469
6470 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
6471
6472 * cse.c (cse_insn): Restoring old behaviour for src_eqv
6473 when dest and value in the REG_EQUAL are same and dest
6474 is STRICT_LOW_PART.
6475
6476 2015-08-04 Anatoly Sokolov <aesok@post.ru>
6477
6478 * config/moxie/moxie.h (PRINT_OPERAND,
6479 PRINT_OPERAND_ADDRESS): Remove macros.
6480 * config/moxie/moxie-protos.h (moxie_print_operand,
6481 moxie_print_operand_address): Remove declaration.
6482 * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
6483 TARGET_PRINT_OPERAND_ADDRESS): Define.
6484 (moxie_print_operand, moxie_print_operand_address): Make static.
6485
6486 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
6487
6488 PR target/66731
6489 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
6490 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
6491
6492 2015-08-04 Richard Biener <rguenther@suse.de>
6493
6494 * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
6495 generated code.
6496 (dt_operand::gen_gimple_expr): Adjust.
6497
6498 2015-08-04 Richard Biener <rguenther@suse.de>
6499
6500 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
6501 bool compares on RHS.
6502 * match.pd: Add X ==/!= !X is false/true pattern.
6503
6504 2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
6505
6506 * config/aarch64/aarch64.c: Change inner loop statement cost
6507 to be consistent with other targets.
6508
6509 2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
6510
6511 * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
6512 targets.
6513
6514 2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
6515
6516 * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
6517 (machine_function): Remove pseudos field.
6518
6519 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6520
6521 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
6522 Exit early and use target_option_current_node if processing current
6523 pragma.
6524
6525 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6526
6527 * doc/extend.texi (AArch64 Function Attributes): New node.
6528 (AArch64 Pragmas): Likewise.
6529
6530 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6531
6532 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
6533 Initialize simd builtins if TARGET_SIMD.
6534 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
6535 Make sure that the builtins are initialized only once no matter how
6536 many times the function is called.
6537 (aarch64_init_builtins): Unconditionally initialize crc builtins.
6538 (aarch64_relayout_simd_param): New function.
6539 (aarch64_simd_expand_args): Use above during argument expansion.
6540 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
6541 simd builtins if TARGET_SIMD.
6542 * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
6543 prototype.
6544 (aarch64_relayout_simd_types): Likewise.
6545
6546 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6547
6548 * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
6549 * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
6550 (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
6551 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
6552 static keyword.
6553 (aarch64_reset_previous_fndecl): New function.
6554 (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
6555 the string.
6556 * config/aarch64/aarch64-c.c: New file.
6557 * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
6558 Push and pop options at beginning and end. Remove ifdef
6559 __ARM_FEATURE_CRC32.
6560 * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
6561 Add pragma +nothing+simd and +nothing+crypto where appropriate.
6562 * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
6563 * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
6564 Define prototype.
6565 (aarch64_register_pragmas): Likewise.
6566 (aarch64_reset_previous_fndecl): Likewise.
6567 (aarch64_process_target_attr): Likewise.
6568 (aarch64_override_options_internal): Likewise.
6569
6570 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6571
6572 * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
6573 New function.
6574 (aarch64_can_inline_p): Likewise.
6575 (TARGET_CAN_INLINE_P): Define.
6576
6577 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6578
6579 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
6580 Remove static. Handle OPT_mgeneral_regs_only,
6581 OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
6582 OPT_momit_leaf_frame_pointer.
6583 * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
6584 (aarch64_attr_opt_type): New enum.
6585 (aarch64_attribute_info): New struct.
6586 (aarch64_handle_attr_arch): New function.
6587 (aarch64_handle_attr_cpu): Likewise.
6588 (aarch64_handle_attr_tune): Likewise.
6589 (aarch64_handle_attr_isa_flags): Likewise.
6590 (aarch64_attributes): New table.
6591 (aarch64_process_one_target_attr): New function.
6592 (num_occurences_in_str): Likewise.
6593 (aarch64_process_target_attr): Likewise.
6594 (aarch64_option_valid_attribute_p): Likewise.
6595 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
6596 * config/aarch64/aarch64-protos.h: Include input.h
6597 (aarch64_handle_option): Declare prototype.
6598
6599 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6600
6601 * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
6602 * config/aarch64/aarch64.c: Include target-globals.h
6603 (aarch64_previous_fndecl): New variable.
6604 (aarch64_set_current_function): New function.
6605 (TARGET_SET_CURRENT_FUNCTION): Define.
6606
6607 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6608
6609 * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
6610 (explicit_arch): Likewise.
6611 (x_aarch64_isa_flags): Likewise.
6612 (mgeneral-regs-only): Mark as Save.
6613 (mfix-cortex-a53-835769): Likewise.
6614 (mcmodel=): Likewise.
6615 (mstrict-align): Likewise.
6616 (momit-leaf-frame-pointer): Likewise.
6617 (mtls-dialect): Likewise.
6618 (master=): Likewise.
6619 * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
6620 (aarch64_isa_flags): Remove extern declaration.
6621 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
6622 to indicate success or failure.
6623 (aarch64_validate_march): Likewise.
6624 (aarch64_validate_mtune): Likewise.
6625 (aarch64_isa_flags): Delete.
6626 (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
6627 instead of aarch64_isa_flags.
6628 (aarch64_get_tune_cpu): New function.
6629 (aarch64_get_arch): Likewise.
6630 (aarch64_override_options): Use above and set up explicit_tune_core
6631 and explicit_arch.
6632 (aarch64_print_extension): Move earlier in file. Add isa_flags
6633 argument and use that instead of the global aarch64_isa_flags.
6634 (aarch64_option_save): New function.
6635 (aarch64_option_restore): Likewise.
6636 (aarch64_option_print): Likewise.
6637 (aarch64_declare_function_name): Likewise.
6638 (aarch64_start_file): Delete.
6639 (TARGET_ASM_FILE_START): Do not define.
6640 (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
6641 * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
6642 Declare prototype.
6643
6644 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6645
6646 * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
6647 flag_omit_leaf_frame_pointer to 2.
6648
6649 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6650
6651 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
6652 define to 0 or 1.
6653 (TARGET_FIX_ERR_A53_835769): New macro.
6654 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
6655 handling of opts->x_aarch64_fix_a53_err835769.
6656 (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
6657 than aarch64_fix_a53_err835769.
6658 * config/aarch64/aarch64-elf-raw.h: Update for above changes.
6659 * config/aarch64/aarch64-linux.h: Likewise.
6660
6661 2015-08-04 Uros Bizjak <ubizjak@gmail.com>
6662
6663 * config/i386/i386.c (ix86_expand_int_movcc): Check result of
6664 ix86_expand_int_movcc as boolean.
6665
6666 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6667
6668 * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
6669 (aarch64_cpu_string): Likewise.
6670 (aarch64_tune_string): Likewise.
6671 * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
6672 (aarch64_parse_extension): Return aarch64_parse_opt_result.
6673 Add extra argument to put result into.
6674 (aarch64_parse_arch): Likewise. Do not set selected_cpu.
6675 (aarch64_parse_cpu): Add arguments to put results into. Return
6676 aarch64_parse_opt_result.
6677 (aarch64_parse_tune): Likewise.
6678 (aarch64_override_options_after_change_1): New function.
6679 (aarch64_override_options_internal): New function.
6680 (aarch64_validate_mcpu): Likewise.
6681 (aarch64_validate_march): Likewise.
6682 (aarch64_validate_mtune): Likewise.
6683 (aarch64_override_options): Update to reflect above changes.
6684 Move some logic into aarch64_override_options_internal.
6685 Initialize target_option_default_node and target_option_current_node.
6686 (aarch64_override_options_after_change): Move logic into
6687 aarch64_override_options_after_change_1 and call it with global_options.
6688 (initialize_aarch64_code_model): Take a gcc_options pointer and use the
6689 flag values from that.
6690
6691 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6692
6693 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
6694 __ARM_ARCH_8A directly rather than with cpp_define_formatted.
6695 * config/aarch64/aarch64.c (struct processor): Add arch field.
6696 (all_architectures): Handle above, move above all_cores.
6697 (all_cores): Handle above.
6698 (aarch64_parse_arch): Handle above changes.
6699 * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
6700 above. Update comments.
6701 (armv8.1-a): Likewise.
6702 * config/aarch64/aarch64-cores.def: Update according to above.
6703 * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
6704 * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
6705 aarch64_arch_driver_info.
6706
6707 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6708
6709 * config/aarch64/aarch64.c (struct processor): Add ident field.
6710 Rename core sched_core.
6711 (all_cores): Handle above changes.
6712 (all_architectures): Likewise.
6713 (aarch64_parse_arch): Likewise.
6714 (aarch64_override_options): Likewise.
6715
6716 2015-08-04 Richard Biener <rguenther@suse.de>
6717
6718 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
6719 dispatching to fold_binary for GIMPLE_BINARY_RHS and for
6720 comparisons embedded in [VEC_]COND_EXPRs.
6721
6722 2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
6723
6724 * tree-if-conv.c: Fix various typos in comments.
6725 * tree-vect-stmts.c: Likewise.
6726
6727 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
6728
6729 PR tree-optimization/67043
6730 * loop-invariant.c (move_invariant_reg): Recompute luids in loop
6731 preheader after hoisting invariant in it.
6732 (find_defs): Force recomputation of all luids.
6733
6734 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
6735
6736 * config/rs6000/htm.md (tabort.): Restrict the source operand to
6737 using a base register.
6738
6739 2015-08-03 David Malcolm <dmalcolm@redhat.com>
6740
6741 * main.c (main): Pass in NULL for toplev's external_timer.
6742 * timevar.c: Include coretypes.h.
6743 (class timer::named_items): New.
6744 (timer::named_items::named_items): New.
6745 (timer::named_items::~named_items): New.
6746 (timer::named_items::push): New.
6747 (timer::named_items::pop): New.
6748 (timer::named_items::print): New.
6749 (timer::timer): Initialize field "m_jit_client_items".
6750 (timer::~timer): New.
6751 (timer::push): Move bulk of implementation to...
6752 (timer::push_internal): ...here. New function.
6753 (timer::pop): Move bulk of implementation to...
6754 (timer::pop_internal): ...here. New function.
6755 (timer::push_client_item): New.
6756 (timer::pop_client_item): New.
6757 (timer::print_row): New function, taken from timer::print.
6758 (timer::print): Print "GCC items" header if we also have client
6759 items. Move row-printing to timer::print_row. Print any client
6760 items.
6761 (timer::get_topmost_item_name): New method.
6762 * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
6763 (TV_JIT_CLIENT_CODE): New.
6764 * timevar.h (timer::push_client_item): New declaration.
6765 (timer::pop_client_item): New declaration.
6766 (timer::get_topmost_item_name): New method.
6767 (timer::push_internal): New declaration.
6768 (timer::pop_internal): New declaration.
6769 (timer::print_row): New declaration.
6770 (timer::named_items): New declaration.
6771 (timer::m_jit_client_items): New field.
6772 (timer): Add friend class named_items.
6773 (auto_timevar::auto_timevar): Add timer param.
6774 (auto_timevar::~auto_timevar): Use field "m_timer".
6775 (auto_timevar::m_timer): New field.
6776 * toplev.c (initialize_rtl): Add g_timer as param when
6777 constructing auto_timevar instance.
6778 (toplev::toplev): Add "external_timer" param, and use it to
6779 initialize the "g_timer" global if non-NULL.
6780 (toplev::~toplev): If this created "g_timer", delete it.
6781 * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
6782 with "external_timer" timer *.
6783
6784 2015-08-03 Alexander Basov <coohpt@gmail.com>
6785
6786 PR middle-end/64744
6787 PR middle-end/48470
6788 PR middle-end/43404
6789 * cfgexpand.c (expand_one_var): Add check if stack is going to
6790 be used in naked function.
6791 * expr.c (expand_expr_addr_expr_1): Remove excess checking
6792 whether expression should not reside in MEM.
6793 * function.c (use_register_for_decl): Do not use registers for
6794 non-register things (volatile, float, BLKMode) in naked functions.
6795
6796 2015-08-03 John David Anglin <danglin@gcc.gnu.org>
6797
6798 PR target/67060
6799 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
6800 Adjust splits to match new pattern.
6801
6802 2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
6803
6804 * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
6805 (VEC_M): Likewise.
6806 (VEC_N): Likewise.
6807 (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
6808 point in VSX registers.
6809
6810 * config/rs6000/constraints.md (wb constraint): Document unused
6811 w<x> constraint.
6812 (we constraint): Likewise.
6813 (wo constraint): Likewise.
6814 (wp constraint): New constraint for IEEE 128-bit floating point in
6815 VSX registers.
6816 (wq constraint): Likewise.
6817
6818 * config/rs6000/predicates.md (easy_fp_constant): Add support for
6819 IEEE 128-bit floating point in VSX registers.
6820 (easy_scalar_constant): Likewise.
6821
6822 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
6823 constraints (wp, wq) for IEEE 128-bit floating point in VSX
6824 registers.
6825 (rs6000_init_hard_regno_mode_ok): Likewise.
6826
6827 * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
6828 floating point in VSX registers.
6829 (VSX_L): Likewise.
6830 (VSX_M): Likewise.
6831 (VSX_M2): Likewise.
6832 (VSm): Likewise.
6833 (VSs): Likewise.
6834 (VSr): Likewise.
6835 (VSa): Likewise.
6836 (VSv): Likewise.
6837 (vsx_le_permute_<mode>): Add support to properly swap bytes for
6838 IEEE 128-bit floating point in VSX registers on little endian.
6839 (vsx_le_undo_permute_<mode>): Likewise.
6840 (vsx_le_perm_load_<mode>): Likewise.
6841 (vsx_le_perm_store_<mode>): Likewise.
6842 (splitters for IEEE 128-bit fp moves): Likewise.
6843
6844 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
6845 wq constraints.
6846
6847 * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
6848 floating point in VSX registers.
6849 (VM2): Likewise.
6850
6851 * doc/md.text (Machine Constraints): Document wp and wq
6852 constraints on PowerPC.
6853
6854 2015-08-03 Jeff Law <law@redhat.com>
6855
6856 PR middle-end/66314
6857 PR gcov-profile/66899
6858 * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
6859 iterate over the jump threading paths when an element in the
6860 jump threading paths array is eliminated.
6861
6862 2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
6863
6864 * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
6865
6866 2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
6867
6868 * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
6869 is_use_properly_guarded the variable def_preds. Free its
6870 contents before returning.
6871 (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
6872 (is_use_properly_guarded): Replace local variable def_preds with
6873 a parameter. Adjust accordingly. Only update *def_preds if it's
6874 the empty vector.
6875
6876 2015-08-03 Richard Biener <rguenther@suse.de>
6877
6878 * genmatch.c (simplify::for_subst_vec): New member.
6879 (binary_ok): New helper for for lowering.
6880 (lower_for): Delay substituting operators into result expressions
6881 if we can merge the results eventually again.
6882 (capture_info::walk_result): Adjust for user_id appearing as
6883 result expression operator.
6884 (expr::gen_transform): Likewise.
6885 (dt_simplify::gen_1): Likewise.
6886 (dt_simplify::gen): Pass not substituted operators to tail
6887 functions or initialize local variable with it.
6888 (decision_tree::gen): Adjust function signature.
6889 * match.pd: Fix tests against global code and add default
6890 cases to switch stmts.
6891
6892 2015-08-03 Richard Biener <rguenther@suse.de>
6893
6894 * genmatch.c (dt_simplify::gen): Create captures array
6895 with an initializer.
6896
6897 2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
6898
6899 * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
6900 the host compiler is affected by placement new aliasing bug.
6901 * configure: Regenerate.
6902 * Makefile.in (ALIASING_FLAGS): New variable.
6903 (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
6904
6905 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
6906
6907 PR target/66731
6908 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
6909 (negmulsf3_vfp): Likewise.
6910 (muldf3negdf_vfp): Disable for -frounding-math.
6911 (mulsf3negsf_vfp): Likewise.
6912 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
6913 fix MULT cost with -frounding-math.
6914
6915 2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
6916
6917 * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
6918 when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
6919 explicit. Prefer to add the flag whenever possible.
6920 (noce_process_if_block): Try noce_try_store_flag_constants before
6921 noce_try_cmove.
6922
6923 2015-08-03 Richard Biener <rguenther@suse.de>
6924
6925 * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
6926 New hash-map to record equivalent transforms.
6927 (dt_node::analyze): Populate the equivalent transforms hash-map.
6928 (dt_simplify::info): Add reference to hash-map entry.
6929 (dt_simplify::gen): If we have split out a function for the
6930 transform, generate a call to it.
6931 (sinfo_hashmap_traits::hash): New function.
6932 (compare_op): New helper function for ...
6933 (sinfo_hashmap_traits::equal_keys): ... this new function.
6934 (decision_tree::gen): Split out common equivalent transforms
6935 into functions.
6936
6937 2015-08-03 Richard Biener <rguenther@suse.de>
6938
6939 * gimple-fold.c (fold_gimple_assign): Remove folding of
6940 the comparison in COND_EXPRs.
6941
6942 2015-08-03 Richard Biener <rguenther@suse.de>
6943
6944 * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
6945 on the rhs of assignments first simplify the embedded
6946 GENERIC condition.
6947
6948 2015-08-03 Richard Biener <rguenther@suse.de>
6949
6950 PR tree-optimization/66917
6951 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
6952 field.
6953 (DR_VECT_AUX): New macro.
6954 (set_dr_misalignment): Adjust.
6955 (dr_misalignment): Likewise.
6956 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
6957 Compute whether the base is at least element aligned.
6958 * tree-vect-stmts.c (ensure_base_align): Adjust.
6959 (vectorizable_store): If the base is not element aligned
6960 preserve alignment of the original access if misalignment is unknown.
6961 (vectorizable_load): Likewise.
6962
6963 2015-08-02 Martin Sebor <msebor@redhat.com>
6964
6965 * c-family/c.opt (-Wframe-address): New warning option.
6966 * doc/invoke.texi (Wframe-address): Document it.
6967 * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
6968 Clarify possible effects of calling the functions with non-zero
6969 arguments and mention -Wframe-address.
6970 * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
6971
6972 2015-08-01 Michael Collison <michael.collison@linaro.org
6973 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
6974
6975 * gcc/config/arm/arm.md (*arm_smin_cmp): New pattern.
6976 (*arm_umin_cmp): Likewise.
6977
6978 2015-08-01 Caroline Tice <cmtice@google.com>
6979
6980 PR 66521
6981 * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
6982 global variables.
6983 (vtbl_find_mangled_name): New function.
6984 (vtbl_register_mangled_name): New function.
6985 (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
6986 mangled name in mangled name vectors.
6987 (find_or_create_vtbl_map_node): Ditto.
6988 (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
6989 update recursion_depth on function entry; pass it to every recursive
6990 call; automatically exit if depth > 25 (give up looking at that point).
6991 (verify_bb_vtables): Initialize recursion_depth and pass it to
6992 var_is_used_for_virtual_call_p.
6993 * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
6994 global variable decls.
6995 (vtbl_register_mangled_name): New extern function decl.
6996
6997 2015-08-01 Tom de Vries <tom@codesourcery.com>
6998
6999 * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
7000 function.
7001 * tree.h (operation_can_overflow, operation_no_trapping_overflow):
7002 Declare.
7003 * tree-vect-loop.c (vect_is_simple_reduction_1): Use
7004 operation_no_trapping_overflow. Allow non-overflow operations.
7005 * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
7006 operations.
7007
7008 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
7009
7010 PR target/67049
7011 * config/sh/sh.md (GOTaddr2picreg): Fix typo.
7012
7013 2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7014
7015 * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
7016 Enable for TARGET_32BIT.
7017 (*if_move_neg): Likewise.
7018
7019 2015-07-31 Nick Clifton <nickc@redhat.com>
7020
7021 * config/m32r/m32r.c (m32r_attribute_identifier): New function.
7022 Returns true for __model__.
7023 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
7024
7025 2015-07-31 Alan Modra <amodra@gmail.com>
7026
7027 PR target/66870
7028 * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
7029 (rs6000_emit_prologue): Set it.
7030 (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
7031
7032 2015-07-31 Richard Biener <rguenther@suse.de>
7033
7034 * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
7035 -> X == (C1 ^ C2) which is already implemented in match.pd.
7036 Remove redundant dispatching to fold_relational_const.
7037 Move unordered self and NaN compares ...
7038 * match.pd: ... as patterns here. Remove some stray captures
7039 and add a comment.
7040
7041 2015-07-31 Petr Murzin <petr.murzin@intel.com>
7042
7043 * config/i386/i386.c
7044 (bdesc_special_args): Convert mask type from signed to unsigned for
7045 masked builtins.
7046 (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
7047 UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
7048 V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
7049 V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
7050 V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
7051 V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
7052 V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
7053 V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
7054 V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
7055 HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
7056 V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
7057 V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
7058 V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
7059 V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
7060 V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
7061 V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
7062 V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
7063 V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
7064 V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
7065 V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
7066 V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
7067 HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
7068 VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
7069 V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
7070 * config/i386/i386-builtin-types.def
7071 (V16QI_FTYPE_V16SI): Remove.
7072 (V8DF_FTYPE_V8SI): Ditto.
7073 (V8HI_FTYPE_V8DI): Ditto.
7074 (V8SI_FTYPE_V8DI): Ditto.
7075 (V8SF_FTYPE_V8DF): Ditto.
7076 (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
7077 (V16HI_FTYPE_V16SI): Ditto.
7078 (V16SF_FTYPE_V16HI): Ditto.
7079 (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
7080 (V16SF_FTYPE_V16SI): Ditto.
7081 (V4DI_FTYPE_V4DI): Ditto.
7082 (V16SI_FTYPE_V16SF): Ditto.
7083 (V16SF_FTYPE_FLOAT): Ditto.
7084 (V8DF_FTYPE_DOUBLE): Ditto.
7085 (V8DI_FTYPE_INT64): Ditto.
7086 (V8DI_FTYPE_V4DI): Ditto.
7087 (V16QI_FTYPE_V8DI): Ditto.
7088 (UINT_FTYPE_V4SF): Ditto.
7089 (UINT64_FTYPE_V4SF): Ditto.
7090 (UINT_FTYPE_V2DF): Ditto.
7091 (UINT64_FTYPE_V2DF): Ditto.
7092 (V16SI_FTYPE_V16SI): Ditto.
7093 (V8DI_FTYPE_V8DI): Ditto.
7094 (V16SI_FTYPE_PV4SI): Ditto.
7095 (V16SF_FTYPE_PV4SF): Ditto.
7096 (V8DI_FTYPE_PV2DI): Ditto.
7097 (V8DF_FTYPE_PV2DF): Ditto.
7098 (V4DI_FTYPE_PV2DI): Ditto.
7099 (V4DF_FTYPE_PV2DF): Ditto.
7100 (V16SI_FTYPE_PV2SI): Ditto.
7101 (V16SF_FTYPE_PV2SF): Ditto.
7102 (V8DI_FTYPE_PV4DI): Ditto.
7103 (V8DF_FTYPE_PV4DF): Ditto.
7104 (V8SF_FTYPE_FLOAT): Ditto.
7105 (V4SF_FTYPE_FLOAT): Ditto.
7106 (V4DF_FTYPE_DOUBLE): Ditto.
7107 (V8SF_FTYPE_PV4SF): Ditto.
7108 (V8SI_FTYPE_PV4SI): Ditto.
7109 (V4SI_FTYPE_PV2SI): Ditto.
7110 (V8SF_FTYPE_PV2SF): Ditto.
7111 (V8SI_FTYPE_PV2SI): Ditto.
7112 (V16SF_FTYPE_PV8SF): Ditto.
7113 (V16SI_FTYPE_PV8SI): Ditto.
7114 (V8DI_FTYPE_V8SF): Ditto.
7115 (V4DI_FTYPE_V4SF): Ditto.
7116 (V2DI_FTYPE_V4SF): Ditto.
7117 (V64QI_FTYPE_QI): Ditto.
7118 (V32HI_FTYPE_HI): Ditto.
7119 (V8UHI_FTYPE_V8UHI): Ditto.
7120 (V16UHI_FTYPE_V16UHI): Ditto.
7121 (V32UHI_FTYPE_V32UHI): Ditto.
7122 (V2UDI_FTYPE_V2UDI): Ditto.
7123 (V4UDI_FTYPE_V4UDI): Ditto.
7124 (V8UDI_FTYPE_V8UDI): Ditto.
7125 (V4USI_FTYPE_V4USI): Ditto.
7126 (V8USI_FTYPE_V8USI): Ditto.
7127 (V16USI_FTYPE_V16USI): Ditto.
7128 (V2DF_FTYPE_V2DF_UINT64): Ditto.
7129 (V2DI_FTYPE_V2DF_V2DF): Ditto.
7130 (V2UDI_FTYPE_V4USI_V4USI): Ditto.
7131 (V8DF_FTYPE_V8DF_V8DI): Ditto.
7132 (V4SF_FTYPE_V4SF_UINT64): Ditto.
7133 (V4SI_FTYPE_V4SF_V4SF): Ditto.
7134 (V16SF_FTYPE_V16SF_V16SI): Ditto.
7135 (V64QI_FTYPE_V32HI_V32HI): Ditto.
7136 (V32HI_FTYPE_V16SI_V16SI): Ditto.
7137 (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
7138 (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
7139 (V32HI_FTYPE_V64QI_V64QI): Ditto.
7140 (V32HI_FTYPE_V32HI_V32HI): Ditto.
7141 (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
7142 (V16SI_FTYPE_V16SI_V4SI): Ditto.
7143 (V16SI_FTYPE_V16SI_V16SI): Ditto.
7144 (V16SI_FTYPE_V32HI_V32HI): Ditto.
7145 (V16SI_FTYPE_V16SI_SI): Ditto.
7146 (V8DI_FTYPE_V8DI_V8DI): Ditto.
7147 (V4UDI_FTYPE_V8USI_V8USI): Ditto.
7148 (V8DI_FTYPE_V16SI_V16SI): Ditto.
7149 (V8DI_FTYPE_V8DI_V2DI): Ditto.
7150 (QI_FTYPE_QI): Ditto.
7151 (SI_FTYPE_SI): Ditto.
7152 (DI_FTYPE_DI): Ditto.
7153 (QI_FTYPE_QI_QI): Ditto.
7154 (QI_FTYPE_QI_INT): Ditto.
7155 (HI_FTYPE_HI_INT): Ditto.
7156 (SI_FTYPE_SI_INT): Ditto.
7157 (DI_FTYPE_DI_INT): Ditto.
7158 (HI_FTYPE_V16QI_V16QI): Ditto.
7159 (SI_FTYPE_V32QI_V32QI): Ditto.
7160 (DI_FTYPE_V64QI_V64QI): Ditto.
7161 (QI_FTYPE_V8HI_V8HI): Ditto.
7162 (HI_FTYPE_V16HI_V16HI): Ditto.
7163 (SI_FTYPE_V32HI_V32HI): Ditto.
7164 (QI_FTYPE_V4SI_V4SI): Ditto.
7165 (QI_FTYPE_V8SI_V8SI): Ditto.
7166 (QI_FTYPE_V2DI_V2DI): Ditto.
7167 (QI_FTYPE_V4DI_V4DI): Ditto.
7168 (QI_FTYPE_V8DI_V8DI): Ditto.
7169 (HI_FTYPE_V16SI_V16SI): Ditto.
7170 (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
7171 (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
7172 (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
7173 (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
7174 (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
7175 (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
7176 (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
7177 (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
7178 (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
7179 (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
7180 (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
7181 (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
7182 (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
7183 (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
7184 (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
7185 (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
7186 (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
7187 (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
7188 (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
7189 (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
7190 (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
7191 (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
7192 (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
7193 (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
7194 (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
7195 (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
7196 (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
7197 (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
7198 (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
7199 (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
7200 (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
7201 (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
7202 (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
7203 (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
7204 (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
7205 (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
7206 (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
7207 (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
7208 (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
7209 (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
7210 (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
7211 (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
7212 (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
7213 (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
7214 (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
7215 (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
7216 (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
7217 (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
7218 (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
7219 (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
7220 (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
7221 (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
7222 (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
7223 (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
7224 (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
7225 (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
7226 (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
7227 (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
7228 (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
7229 (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
7230 (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
7231 (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
7232 (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
7233 (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
7234 (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
7235 (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
7236 (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
7237 (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
7238 (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
7239 (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
7240 (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
7241 (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
7242 (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
7243 (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
7244 (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
7245 (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
7246 (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
7247 (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
7248 (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
7249 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
7250 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
7251 (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
7252 (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
7253 (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
7254 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
7255 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
7256 (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
7257 (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
7258 (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
7259 (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
7260 (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
7261 (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
7262 (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
7263 (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
7264 (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
7265 (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
7266 (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
7267 (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
7268 (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
7269 (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
7270 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
7271 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
7272 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
7273 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
7274 (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
7275 (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
7276 (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
7277 (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
7278 (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
7279 (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
7280 (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
7281 (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
7282 (HI_FTYPE_HI): Ditto.
7283 (HI_FTYPE_V16QI): Ditto.
7284 (SI_FTYPE_V32QI): Ditto.
7285 (DI_FTYPE_V64QI): Ditto.
7286 (QI_FTYPE_V8HI): Ditto.
7287 (HI_FTYPE_V16HI): Ditto.
7288 (SI_FTYPE_V32HI): Ditto.
7289 (QI_FTYPE_V4SI): Ditto.
7290 (QI_FTYPE_V8SI): Ditto.
7291 (HI_FTYPE_V16SI): Ditto.
7292 (QI_FTYPE_V2DI): Ditto.
7293 (QI_FTYPE_V4DI): Ditto.
7294 (QI_FTYPE_V8DI): Ditto.
7295 (V16QI_FTYPE_HI): Ditto.
7296 (V32QI_FTYPE_SI): Ditto.
7297 (V64QI_FTYPE_DI): Ditto.
7298 (V8HI_FTYPE_QI): Ditto.
7299 (V16HI_FTYPE_HI): Ditto.
7300 (V32HI_FTYPE_SI): Ditto.
7301 (V4SI_FTYPE_QI): Ditto.
7302 (V4SI_FTYPE_HI): Ditto.
7303 (V8SI_FTYPE_QI): Ditto.
7304 (V8SI_FTYPE_HI): Ditto.
7305 (V2DI_FTYPE_QI): Ditto.
7306 (V4DI_FTYPE_QI): Ditto.
7307 (HI_FTYPE_HI_HI): Ditto.
7308 (SI_FTYPE_SI_SI): Ditto.
7309 (DI_FTYPE_DI_DI): Ditto.
7310 (HI_FTYPE_V16QI_V16QI_HI): Ditto.
7311 (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
7312 (SI_FTYPE_V32QI_V32QI_SI): Ditto.
7313 (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
7314 (DI_FTYPE_V64QI_V64QI_DI): Ditto.
7315 (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
7316 (QI_FTYPE_V8HI_V8HI_QI): Ditto.
7317 (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
7318 (HI_FTYPE_V16HI_V16HI_HI): Ditto.
7319 (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
7320 (SI_FTYPE_V32HI_V32HI_SI): Ditto.
7321 (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
7322 (QI_FTYPE_V4SI_V4SI_QI): Ditto.
7323 (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
7324 (QI_FTYPE_V8SI_V8SI_QI): Ditto.
7325 (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
7326 (QI_FTYPE_V2DI_V2DI_QI): Ditto.
7327 (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
7328 (QI_FTYPE_V4DI_V4DI_QI): Ditto.
7329 (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
7330 (QI_FTYPE_V8DI_V8DI_QI): Ditto.
7331 (HI_FTYPE_V16SI_V16SI_HI): Ditto.
7332 (QI_FTYPE_V8DI_V8DI_INT): Ditto.
7333 (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
7334 (HI_FTYPE_V16SI_V16SI_INT): Ditto.
7335 (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
7336 (QI_FTYPE_V8DF_V8DF_INT): Ditto.
7337 (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
7338 (HI_FTYPE_V16SF_V16SF_INT): Ditto.
7339 (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
7340 (QI_FTYPE_V2DF_V2DF_INT): Ditto.
7341 (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
7342 (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
7343 (QI_FTYPE_V4SF_V4SF_INT): Ditto.
7344 (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
7345 (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
7346 (V16SI_FTYPE_HI): Ditto.
7347 (V8DI_FTYPE_QI): Ditto.
7348 (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
7349 (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
7350 (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
7351 (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
7352 (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
7353 (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
7354 (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
7355 (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
7356 (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
7357 (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
7358 (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
7359 (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
7360 (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
7361 (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
7362 (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
7363 (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
7364 (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
7365 (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
7366 (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
7367 (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
7368 (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
7369 (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
7370 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
7371 (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
7372 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
7373 (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
7374 (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
7375 (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
7376 (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
7377 (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
7378 (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
7379 (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
7380 (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
7381 (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
7382 (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
7383 (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
7384 (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
7385 (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
7386 (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
7387 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
7388 (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
7389 (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
7390 (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
7391 (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
7392 (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
7393 (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
7394 (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
7395 (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
7396 (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
7397 (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
7398 (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
7399 (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
7400 (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
7401 (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
7402 (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
7403 (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
7404 (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
7405 (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
7406 (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
7407 (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
7408 (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
7409 (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
7410 (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
7411 (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
7412 (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
7413 (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
7414 (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
7415 (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
7416 (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
7417 (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
7418 (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
7419 (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
7420 (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
7421 (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
7422 (V16SI_FTYPE_SI_V16SI_HI): Ditto.
7423 (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
7424 (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
7425 (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
7426 (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
7427 (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
7428 (V8DI_FTYPE_DI_V8DI_QI): Ditto.
7429 (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
7430 (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
7431 (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
7432 (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
7433 (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
7434 (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
7435 (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
7436 (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
7437 (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
7438 (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
7439 (V8SI_FTYPE_SI_V8SI_QI): Ditto.
7440 (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
7441 (V4SI_FTYPE_SI_V4SI_QI): Ditto.
7442 (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
7443 (V4DI_FTYPE_DI_V4DI_QI): Ditto.
7444 (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
7445 (V2DI_FTYPE_DI_V2DI_QI): Ditto.
7446 (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
7447 (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
7448 (V64QI_FTYPE_QI_V64QI_DI): Ditto.
7449 (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
7450 (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
7451 (V32QI_FTYPE_QI_V32QI_SI): Ditto.
7452 (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
7453 (V16QI_FTYPE_QI_V16QI_HI): Ditto.
7454 (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
7455 (V32HI_FTYPE_HI_V32HI_SI): Ditto.
7456 (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
7457 (V16HI_FTYPE_HI_V16HI_HI): Ditto.
7458 (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
7459 (V8HI_FTYPE_HI_V8HI_QI): Ditto.
7460 (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
7461 (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
7462 (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
7463 (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
7464 (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
7465 (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
7466 (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
7467 (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
7468 (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
7469 (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
7470 (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
7471 (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
7472 (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
7473 (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
7474 (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
7475 (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
7476 (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
7477 (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
7478 (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
7479 (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
7480 (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
7481 (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
7482 (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
7483 (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
7484 (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
7485 (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
7486 (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
7487 (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
7488 (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
7489 (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
7490 (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
7491 (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
7492 (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
7493 (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
7494 (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
7495 (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
7496 (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
7497 (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
7498 (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
7499 (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
7500 (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
7501 (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
7502 (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
7503 (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
7504 (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
7505 (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
7506 (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
7507 (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
7508 (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
7509 (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
7510 (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
7511 (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
7512 (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
7513 (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
7514 (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
7515 (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
7516 (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
7517 (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
7518 (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
7519 (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
7520 (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
7521 (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
7522 (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
7523 (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
7524 (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
7525 (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
7526 (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
7527 (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
7528 (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
7529 (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
7530 (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
7531 (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
7532 (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
7533 (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
7534 (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
7535 (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
7536 (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
7537 (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
7538 (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
7539 (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
7540 (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
7541 (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
7542 (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
7543 (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
7544 (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
7545 (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
7546 (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
7547 (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
7548 (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
7549 (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
7550 (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
7551 (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
7552 (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
7553 (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
7554 (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
7555 (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
7556 (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
7557 (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
7558 (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
7559 (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
7560 (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
7561 (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
7562 (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
7563 (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
7564 (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
7565 (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
7566 (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
7567 (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
7568 (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
7569 (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
7570 (QI_FTYPE_V8DF_INT_QI): Ditto.
7571 (QI_FTYPE_V4DF_INT_QI): Ditto.
7572 (QI_FTYPE_V2DF_INT_QI): Ditto.
7573 (HI_FTYPE_V16SF_INT_HI): Ditto.
7574 (QI_FTYPE_V8SF_INT_QI): Ditto.
7575 (QI_FTYPE_V4SF_INT_QI): Ditto.
7576 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
7577
7578 2015-07-31 Richard Biener <rguenther@suse.de>
7579
7580 * gimple-fold.c (fold_gimple_assign): Remove folding of
7581 GIMPLE_BINARY_RHS.
7582
7583 2015-07-31 Tom de Vries <tom@codesourcery.com>
7584
7585 PR tree-optimization/66846
7586 * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
7587 verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
7588 (expand_omp_target) [ENABLE_CHECKING]: Same.
7589 (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
7590 cfun if !LOOPS_NEED_FIXUP.
7591 (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
7592 that omp_for already has its own loop struct.
7593 * tree-parloops.c (create_phi_for_local_result)
7594 (create_call_for_reduction): Handle simple latch bb.
7595 (create_parallel_loop): Add simple latch bb to preserve
7596 LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
7597 (gen_parallel_loop): Remove call to cancel_loop_tree.
7598 (parallelize_loops): Skip loops that are inner loops of parallelized
7599 loops.
7600 (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
7601 verify_loop_structure.
7602
7603 2015-07-30 Anatoly Sokolov <aesok@post.ru>
7604
7605 * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
7606 * config/v850/v850.md (RV_REGNUM): New constants.
7607 * config/v850/v850.c (v850_libcall_value): New functions.
7608 (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
7609 (TARGET_LIBCALL_VALUE): Define.
7610
7611 2015-07-30 Anatoly Sokolov <aesok@post.ru>
7612
7613 * rtl.h (lowpart_subreg): Move in file.
7614 * loop-iv.c (lowpart_subreg): Move to...
7615 * simplify-rtx.c (lowpart_subreg): ...here.
7616 (simplify_binary_operation_1): Use lowpart_subreg instead of
7617 simplify_gen_subreg.
7618 * expr.c (expand_expr_real_2): Ditto.
7619 * emit-rtl.c (gen_lowpart_common): Ditto.
7620 * combine.c (gen_lowpart_for_combine): Ditto.
7621 * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
7622 expand_debug_source_expr): Ditto.
7623
7624 2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
7625
7626 * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
7627 (expand_builtin_atomic_clear): Remove support for atomic_clear
7628 pattern.
7629
7630 2015-07-30 Richard Biener <rguenther@suse.de>
7631
7632 * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
7633 binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
7634 (fold_stmt_1): ... here and work on GIMPLE directly. Remove
7635 redundant operand canonicalization.
7636
7637 2015-07-30 David Sherwood <david.sherwood@arm.com>
7638
7639 * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
7640 GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
7641 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
7642 * config/arm/arm.c (neon_valid_immediate): Likewise.
7643 * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
7644 (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
7645 (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
7646 (expand_vec_perm_vpshufb2_vpermq): Likewise.
7647 (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
7648 (expand_vec_perm_vpshufb4_vpermq2): Likewise.
7649 * config/i386/sse.md
7650 (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
7651 (*ssse3_palignr<mode>_perm): Likewise.
7652 * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
7653 * config/spu/spu.c (arith_immediate_p): Likewise.
7654 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
7655 (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
7656
7657 2015-07-30 Richard Biener <rguenther@suse.de>
7658
7659 * genmatch.c (decision_tree::gen_gimple): Merge with ...
7660 (decision_tree::gen_generic): ... this into ...
7661 (decision_tree::gen): ... this.
7662 (main): Adjust callers.
7663
7664 2015-07-30 Richard Biener <rguenther@suse.de>
7665
7666 * genmatch.c (verbose): New global.
7667 (warning_at): Add overload with source_location.
7668 (capture_info::capture_info): Add bool whether generating gimple
7669 or generic. Add gimple member.
7670 (capture_info::cinfo): Add capture member.
7671 (capture_info::walk_match): Record capture. Warn on
7672 non-captured leafs.
7673 (capture_info::walk_c_expr): Add more fragments captures cannot
7674 escape through. Warn on escaped captures.
7675 (dt_simplify::gen_1): Warn on operands we force to have no
7676 side-effects.
7677 (main): Initialize verbose.
7678 * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
7679
7680 2015-07-30 Richard Biener <rguenther@suse.de>
7681
7682 PR middle-end/67053
7683 * match.pd: Allow both operands to independently have conversion
7684 when simplifying compares of addresses.
7685
7686 2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
7687
7688 PR target/66217
7689 PR target/67045
7690 * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
7691 around those cases that need one.
7692
7693 2015-07-29 Aditya Kumar <hiraditya@msn.com>
7694
7695 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
7696
7697 2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
7698
7699 * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
7700 New. Copied from config/i386/gnu-user.h.
7701 (ASM_COMMENT_START): Likewise.
7702 (DBX_REGISTER_NUMBER): Likewise.
7703
7704 2015-07-29 Richard Biener <rguenther@suse.de>
7705
7706 * gimple-fold.c (fold_gimple_cond): Remove.
7707 (fold_stmt_1): Do not call it.
7708
7709 2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
7710
7711 * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
7712 (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
7713
7714 * config/aarch64/aarch64-modes.def: Add HFmode.
7715
7716 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
7717 __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
7718
7719 * config/aarch64/aarch64.c (aarch64_init_libfuncs,
7720 aarch64_promoted_type): New.
7721
7722 (aarch64_float_const_representable_p): Disable HFmode.
7723 (aarch64_mangle_type): Mangle half-precision floats to "Dh".
7724 (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
7725 (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
7726
7727 * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
7728 (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
7729
7730 * config/aarch64/iterators.md (GPF_F16): New.
7731
7732 2015-07-29 Richard Biener <rguenther@suse.de>
7733
7734 * match.pd: Merge address comparison patterns and make them
7735 handle some more cases.
7736
7737 2015-07-29 Richard Biener <rguenther@suse.de>
7738
7739 * genmatch.c (c_expr::gen_transform): Error on unknown captures.
7740 (parser::parse_capture): Add bool argument on whether to reject
7741 unknown captures.
7742 (parser::parse_expr): Adjust.
7743 (parser::parse_op): Likewise.
7744 (parser::parse_pattern): Likewise.
7745
7746 2015-07-29 Richard Biener <rguenther@suse.de>
7747
7748 * gimple-fold.c (has_use_on_stmt): New function.
7749 (replace_stmt_with_simplification): Use it to allow
7750 abnormals originally referenced in the stmt.
7751 (fold_stmt_1): Canonicalize operand order.
7752
7753 2015-07-28 David Sherwood <david.sherwood@arm.com>
7754
7755 * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
7756 GET_MODE_INNER unconditionally.
7757 * config/spu/spu.c (arith_immediate_p): Likewise.
7758 * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
7759 * expmed.c (synth_mult): Remove check for VOIDmode result from
7760 GET_MODE_INNER.
7761 (expand_mult_const): Likewise.
7762 * fold-const.c (fold_binary_loc): Replace call to element_precision
7763 with call to GET_MODE_PRECISION.
7764 * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
7765 m->name.
7766 (emit_mode_inner): Likewise.
7767 * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
7768 result check.
7769 * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
7770 (GET_MODE_UNIT_PRECISION): Likewise.
7771 * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
7772 * simplify-rtx.c (simplify_immed_subreg): Likewise.
7773 * stor-layout.c (bitwise_type_for_mode): Update assert.
7774 (element_precision): Remove.
7775
7776 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7777
7778 * target-insns.def (reload_load_address): New targetm instruction
7779 pattern.
7780 * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
7781
7782 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7783
7784 * target-insns.def (atomic_test_and_set): New targetm instruction
7785 pattern.
7786 * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
7787 HAVE_*/gen_* interface.
7788
7789 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7790
7791 * target-insns.def (can_extend, ptr_extend): New targetm instruction
7792 patterns.
7793 * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
7794 * simplify-rtx.c (simplify_unary_operation_1): Likewise.
7795 * emit-rtl.c (set_reg_attrs_from_value): Likewise.
7796 * rtlanal.c (nonzero_bits1): Likewise.
7797 (num_sign_bit_copies1): Likewise.
7798
7799 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7800
7801 * target-insns.def (eh_return): New targetm instruction pattern.
7802 * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
7803 interface.
7804 * function.c (thread_prologue_and_epilogue_insns): Remove
7805 preprocessor condition.
7806
7807 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7808
7809 * target-insns.def (indirect_jump): New targetm instruction pattern.
7810 * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
7811 interface.
7812
7813 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
7814
7815 * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
7816 instead of nonimmediate_operand. Remove C condiition.
7817
7818 2015-07-28 Richard Biener <rguenther@suse.de>
7819
7820 * match.pd: Add more simplification of address comparisons.
7821
7822 2015-07-28 Richard Biener <rguenther@suse.de>
7823
7824 * match.pd: Re-order two cases in comparison with max/min
7825 value simplification to make it apply for bools.
7826
7827 2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
7828
7829 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
7830 Handle simple SIGN_EXTEND or ZERO_EXTEND.
7831 (aarch64_rtx_costs): Properly strip extend or extract before
7832 passing down to rtx costs again.
7833
7834 2015-07-28 Nick Clifton <nickc@redhat.com>
7835
7836 * config/rl78/rl78.c (rl78_addsi3_internal): New function.
7837 Optimizes the case where -mes0 is active and a constant symbolic
7838 address is used.
7839 * config/rl78/rl78-protos.h: Prototype the new function.
7840 * config/rl78/rl78.md (addsi3_internal_real): Call new function.
7841
7842 2015-07-28 Tom de Vries <tom@codesourcery.com>
7843
7844 * tree-parloops.c (reduc_stmt_res): New function.
7845 (initialize_reductions, add_field_for_reduction)
7846 (create_phi_for_local_result, create_loads_for_reductions)
7847 (create_stores_for_reduction, build_new_reduction): Handle case that
7848 reduc_stmt is a phi.
7849 (gather_scalar_reductions): Allow double_reduc reductions.
7850
7851 2015-07-28 Richard Biener <rguenther@suse.de>
7852
7853 * fold-const.c (fold_comparison): Remove equality folding
7854 of decl addresses ...
7855 * match.pd: ... here and merge with existing pattern.
7856
7857 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
7858
7859 PR tree-optimization/66828
7860 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
7861 from int64_t to uint64_t.
7862
7863 2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
7864
7865 * opts-common.c (read_cmdline_option): List DriverOnly enum values
7866 as valid only in the error message of the driver, not in the
7867 messages of the language compilers.
7868
7869 2015-07-27 Tom de Vries <tom@codesourcery.com>
7870
7871 * tree-parloops.c (gather_scalar_reductions): Simplify function
7872 structure.
7873
7874 2015-07-27 Marek Polacek <polacek@redhat.com>
7875
7876 * ipa-devirt.c (types_same_for_odr): Fix typo.
7877
7878 2015-07-27 Jason Merrill <jason@redhat.com>
7879
7880 PR debug/66468
7881 * dwarf2out.c (gen_inlined_subroutine_die): Check
7882 cgraph_function_possibly_inlined_p.
7883
7884 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
7885
7886 * gcc/config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
7887 Place integer variant first.
7888 (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
7889
7890 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
7891
7892 PR/63870
7893 * config/arm/arm-builtins.c (enum arm_builtins):
7894 Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
7895 (ARM_BUILTIN_NEON_BASE): Rename macro to....
7896 (ARM_BUILTIN_NEON_PATTERN_START): ...this.
7897 (arm_init_neon_builtins): Register __builtin_arm_lane_check.
7898 (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
7899
7900 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
7901
7902 PR/63870
7903 * config/arm/arm-builtins.c (enum arm_type_qualifiers):
7904 Add qualifier_lane_index.
7905 (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
7906 (arm_getlane_qualifiers): Use qualifier_lane_index.
7907 (arm_lanemac_qualifiers): Rename to...
7908 (arm_mac_n_qualifiers): ...this.
7909 (LANEMAC_QUALIFIERS): Rename to...
7910 (MAC_N_QUALIFIERS): ...this.
7911 (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
7912 (arm_setlane_qualifiers): Use qualifier_lane_index.
7913 (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
7914 (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
7915 (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
7916 (arm_expand_neon_builtin): Handle qualifier_lane_index.
7917
7918 * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
7919 * config/arm/arm.c (bounds_check): Likewise, improve error message.
7920 (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
7921 * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
7922 vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
7923 vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
7924 vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
7925 (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
7926 qualifiers to TERNOP_IMM.
7927 (vdup_lane): Change qualifiers to GETLANE.
7928 (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
7929 vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
7930 (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
7931 vqdmlsl_n): Change qualifiers to MAC_N.
7932
7933 * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
7934 neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
7935 neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
7936 neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
7937 neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
7938 neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
7939 neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
7940 neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
7941 neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
7942 Remove call to neon_lane_bounds.
7943
7944 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
7945
7946 * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
7947 Place integer variant first.
7948
7949 2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
7950
7951 * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
7952 and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
7953 * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
7954 for armv6kz targets.
7955 * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
7956 * config/arm/arm-protos.h (FL_ARCH6KZ): New.
7957 (FL_FOR_ARCH6ZK): Remove.
7958 (FL_FOR_ARCH6KZ): New.
7959 (arm_arch6zk): New declaration.
7960 * config/arm/arm-tables.opt: Regenerate.
7961 * config/arm/arm.c (arm_arch6kz): New.
7962 (arm_option_override): Set arm_arch6kz.
7963 * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
7964 * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
7965 * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
7966
7967 2015-07-27 Marek Polacek <polacek@redhat.com>
7968
7969 PR c++/66555
7970 PR c/54979
7971 * doc/invoke.texi: Document -Wtautological-compare.
7972
7973 2015-07-27 Richard Biener <rguenther@suse.de>
7974
7975 * genmatch.c (decision_tree::gen_gimple): Split out large
7976 subtrees into separate functions.
7977 (decision_tree::gen_generic): Likewise.
7978
7979 2015-07-26 Uros Bizjak <ubizjak@gmail.com>
7980
7981 * config/alpha/alpha.c: Use SUBREG_P predicate.
7982 * config/alpha/predicates.md: Ditto.
7983
7984 2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
7985
7986 * config.host (s390*-*-*): Include driver-native.c only when
7987 building with s390* as host *and* target.
7988
7989 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
7990
7991 PR target/66930
7992 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
7993 T bit register modified_between_p check.
7994
7995 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
7996
7997 * config/i386/i386.c: Use SUBREG_P predicate.
7998 * config/i386/i386.md: Ditto.
7999 * config/i386/sse.md: Ditto.
8000 * config/i386/predicates.md: Ditto.
8001
8002 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
8003
8004 PR target/67004
8005 * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
8006 predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
8007
8008 2015-07-25 Sebastian Pop <s.pop@samsung.com>
8009
8010 * Makefile.in: Remove use of TREEBROWSER.
8011 * config.in: Regenerated.
8012 * configure: Regenerated.
8013 * configure.ac: Remove definition of TREEBROWSER.
8014 * tree-browser.c: Removed.
8015 * tree-browser.def: Removed.
8016
8017 2015-07-25 Sebastian Pop <s.pop@samsung.com>
8018
8019 * graphite-scop-detection.c: Include gimple-pretty-print.h.
8020 (stmt_simple_for_scop_p): Print when a stmt is not handled in
8021 Graphite.
8022 (scopdet_basic_block_info): Print when a loop or bb cannot be
8023 represented in Graphite.
8024
8025 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
8026
8027 PR target/66648
8028 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
8029 execution guard when min_size is less than size_needed.
8030
8031 2015-07-25 Sebastian Pop <s.pop@samsung.com>
8032
8033 * doc/install.texi: Document supported versions of ISL.
8034
8035 2015-07-25 Jeff Law <law@redhat.com>
8036
8037 Revert:
8038 PR lto/66752
8039 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
8040 unable to find X NE 0 in the tables, return X as the simplified
8041 condition.
8042 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
8043 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
8044 to VISISTED_BBS. */
8045 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
8046 after removing the control flow statement and unnecessary edges.
8047
8048 2015-07-25 David Edelsohn <dje.gcc@gmail.com>
8049
8050 Revert:
8051 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
8052
8053 PR rtl-optimization/64164
8054 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
8055 * tree-ssa-copyrename.c: Removed.
8056 * opts.c (default_options_table): Drop -ftree-copyrename. Add
8057 -ftree-coalesce-vars.
8058 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
8059 * common.opt (ftree-copyrename): Ignore.
8060 (ftree-coalesce-inlined-vars): Likewise.
8061 * doc/invoke.texi: Remove the ignored options above.
8062 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
8063 * tree-ssa-coalesce.h: ... here.
8064 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
8065 headers required by it.
8066 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
8067 across variables when flag_tree_coalesce_vars. Check register
8068 use and promoted modes to allow coalescing. Moved to
8069 tree-ssa-coalesce.c.
8070 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
8071 with its member functions to tree-ssa-coalesce.c.
8072 (var_map_base_init): Likewise. Renamed to
8073 compute_samebase_partition_bases.
8074 (partition_view_normal): Drop want_bases parameter.
8075 (partition_view_bitmap): Likewise.
8076 * tree-ssa-live.h: Adjust declarations.
8077 * tree-ssa-coalesce.c: Include explow.h.
8078 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
8079 default defs at the entry point.
8080 (dump_part_var_map): New.
8081 (compute_optimized_partition_bases): New, called by...
8082 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
8083 of compute_samebase_partition_bases. Adjust.
8084 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
8085 * cfgexpand.c (leader_merge): New.
8086 (get_rtl_for_parm_ssa_default_def): New.
8087 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
8088 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
8089 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
8090 redundant MEM attr setting.
8091 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
8092 from...
8093 (expand_one_stack_var): ... this. New wrapper to check and
8094 skip already expanded SSA partitions.
8095 (record_alignment_for_reg_var): New, factored out of...
8096 (expand_one_var): ... this.
8097 (expand_one_ssa_partition): New.
8098 (adjust_one_expanded_partition_var): New.
8099 (expand_one_register_var): Check and skip already expanded SSA
8100 partitions.
8101 (expand_used_vars): Don't create DECLs for anonymous SSA
8102 names. Expand all SSA partitions, then adjust all SSA names.
8103 (pass::execute): Replace the loops that set
8104 SA.partition_to_pseudo from partition leaders and cleared
8105 DECL_RTL for multi-location variables, and that which used to
8106 rename vars and set attrs, with one that clears DECL_RTL and
8107 checks that PARMs and RESULTs default_defs match DECL_RTL.
8108 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
8109 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
8110 * explow.c (promote_ssa_mode): New.
8111 * explow.h (promote_ssa_mode): Declare.
8112 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
8113 * function.c: Include cfgexpand.h.
8114 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
8115 (use_register_for_parm_decl): Wrapper for the above to
8116 special-case the result_ptr.
8117 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
8118 (split_complex_args): Take assign_parm_data_all argument.
8119 Pass it to rtl_for_parm. Set up rtl and context for split
8120 args.
8121 (assign_parms_augmented_arg_list): Adjust.
8122 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
8123 multiple locations. Recognize split complex args.
8124 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
8125 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
8126 (assign_parm_setup_block): Prefer SSA-assigned location.
8127 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
8128 if stack_parm is NULL.
8129 (assign_parm_setup_stack): Prefer SSA-assigned location.
8130 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
8131 rtl before testing for pointer bounds. Special-case result_ptr.
8132 (expand_function_start): Maybe reset DECL_RTL of result.
8133 Prefer SSA-assigned location for result and static chain.
8134 Factor out DECL_RESULT and SET_DECL_RTL.
8135 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
8136 anonymous SSA names. Use promote_ssa_mode.
8137 (get_temp_reg): Likewise.
8138 (remove_ssa_form): Adjust.
8139 * stor-layout.c (layout_decl): Don't set mem attributes of
8140 non-MEMs.
8141 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
8142 and get its reg_usage for reg invalidation.
8143 (compute_bb_dataflow): Pass it insn.
8144 (emit_notes_in_bb): Likewise.
8145
8146 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
8147
8148 * config/i386/i386.c (ix86_va_start): Remove
8149 unneeded !TARGET_64BIT check.
8150 (ix86_gimplify_va_arg): Ditto.
8151
8152 2015-07-24 Tom de Vries <tom@codesourcery.com>
8153
8154 * graphite-sese-to-poly.c (build_poly_scop): Always call
8155 rewrite_commutative_reductions_out_of_ssa.
8156
8157 2015-07-24 Tom de Vries <tom@codesourcery.com>
8158
8159 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
8160 flag_associative_math to FLOAT_TYPE_P. Honour
8161 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
8162
8163 2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
8164
8165 PR c++/64079
8166 * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
8167 and "%qD" in warning_at instead of "%q+D" in warning.
8168
8169 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
8170
8171 * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
8172 (ix86_function_abi): Cleanup.
8173
8174 2015-07-24 Michael Darling <darlingm@gmail.com>
8175
8176 PR other/66259
8177 * acinclude.m4: Reflects renaming of configure.in to configure.ac
8178 * configure: Likewise
8179 * configure.ac: Likewise
8180 * doc/install.texi: Likewise
8181 * doc/tm.texi: Likewise
8182 * doc/tm.texi.in: Likewise
8183
8184 2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8185
8186 * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
8187 manually swapping values.
8188 * cse.c (fold_rtx): Likewise.
8189 * lra-eliminations.c (form_sum): Likewise.
8190
8191 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
8192
8193 PR target/64003
8194 * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
8195 * config/i386/i386.md (maybe_prefix_bnd): New attribute.
8196 (*jcc_1, *jcc_2, jump, simple_return_internal)
8197 (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
8198 Set length_nobnd attribute instead of length attribute.
8199 (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
8200 (length_nobnd): Remove attribute.
8201 (length): Remove length_nobnd processing.
8202
8203 2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
8204
8205 * gimplify.c (omp_default_clause): New function. Reorganize flow
8206 for clarity. Broken out of ...
8207 (omp_notice_variable): ... here.
8208
8209 2015-07-24 Gary Funck <gary@intrepid.com>
8210
8211 PR middle-end/66984
8212 * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
8213 fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
8214
8215 2015-07-24 Tom de Vries <tom@codesourcery.com>
8216
8217 * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
8218 exit-first loop transform.
8219
8220 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
8221
8222 PR 66714
8223 * tree-cfg.c (struct replace_decls_d): New struct.
8224 (replace_block_vars_by_duplicates_1): New function.
8225 (replace_block_vars_by_duplicates): Use it to replace the decls
8226 in the value exprs by duplicates.
8227
8228 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
8229
8230 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
8231 -shared, -symbolic, -rdynamic.
8232
8233 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
8234
8235 PR target/65711
8236 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
8237 -dynamic-linker within %{!static %{!shared, and -rdynamic within
8238 %{!static.
8239
8240 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
8241
8242 PR ipa/66566
8243 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
8244 edge summary is available.
8245
8246 2015-07-24 Richard Biener <rguenther@suse.de>
8247
8248 * genmatch.c (struct dt_node): Add statistic fields.
8249 (dt_node::analyze): New method.
8250 (decision_tree::gen_gimple): Call analyze on the root node
8251 and print statistics to stderr.
8252 (decision_tree::gen_generic): Likewise.
8253
8254 2015-07-24 Richard Biener <rguenther@suse.de>
8255
8256 * fold-const.c (fold_binary_loc): Move simplifying of comparisons
8257 against the highest or lowest possible integer ...
8258 * match.pd: ... as patterns here.
8259
8260 2015-07-24 Richard Biener <rguenther@suse.de>
8261
8262 * genmatch.c (struct capture_info): Add same_as field.
8263 (capture_info::capture_info): Initialize same_as.
8264 (capture_info::walk_match): Compute same_as.
8265 (capture_info::walk_result): Compute stuff for the leader.
8266 (capture_info::walk_c_expr): Likewise.
8267 (dt_simplify::gen_1): Only look at leaders when deciding
8268 to force no side-effects or emit side-effects of omitted operands.
8269
8270 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8271
8272 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
8273 reg note to the GPR -> FPR save instructions.
8274
8275 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
8276
8277 * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
8278 cheaper.
8279 (s390_expand_insv): Don't generate risbg pattern for constant zero
8280 sources.
8281 * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
8282 ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
8283 splitters.
8284
8285 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
8286
8287 * config/s390/s390.c (s390_reorg): Clean up handling of processors
8288 with
8289 -mtune=
8290 (s390_issue_rate): Likewise.
8291 (s390_sched_reorder): Likewise.
8292 (s390_sched_variable_issue): Likewise.
8293 (s390_loop_unroll_adjust): Likewise.
8294 (s390_option_override): Likewise.
8295
8296 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
8297
8298 * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
8299 processor capabilities with -march=native.
8300 * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
8301 (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
8302 (S390_TARGET_BITS_STRING): Macro to simplify specs.
8303
8304 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
8305
8306 * config/s390/s390.c (s390_issue_rate): Handle
8307 PROCESSOR_2094_Z9_EC.
8308 (s390_option_override): Likewise.
8309 (s390_adjust_priority): Likewise.
8310
8311 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
8312
8313 * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
8314 when cross compiling.
8315
8316 2015-07-24 Richard Biener <rguenther@suse.de>
8317
8318 * fold-const.c (maybe_canonicalize_comparison_1): Move
8319 A code CST canonicalization ...
8320 * match.pd: ... to a pattern here.
8321
8322 2015-07-24 Jiong Wang <jiong.wang@arm.com>
8323
8324 Revert:
8325 2015-07-22 Jiong Wang <jiong.wang@arm.com>
8326 PR target/63521
8327 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
8328 (HONOR_REG_ALLOC_ORDER): Define.
8329
8330 2015-07-24 Richard Biener <rguenther@suse.de>
8331
8332 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
8333 * fold-const.c (fold_comparison): Move parameter does not
8334 alias &local simplification ...
8335 * match.pd: ... as a pattern here.
8336
8337 2015-07-24 Richard Biener <rguenther@suse.de>
8338
8339 * gimple-fold.c (replace_stmt_with_simplification): Special-case
8340 valueizing call operands.
8341 * gimple-match-head.c (maybe_push_res_to_seq): Take
8342 number of call arguments from ops array.
8343 (do_valueize): New function.
8344 (gimple_simplify): Return true if valueization changed
8345 any operand even if the result didn't simplify further.
8346
8347 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
8348
8349 PR middle-end/25530
8350 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
8351
8352 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
8353
8354 PR middle-end/25529
8355 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
8356
8357 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
8358
8359 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
8360 instruction.
8361
8362 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
8363
8364 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
8365 clean up.
8366
8367 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
8368
8369 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
8370 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
8371 targets here.
8372 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
8373 ms_va_list_type_node initialization.
8374
8375 2015-07-23 Jeff Law <law@redhat.com>
8376
8377 PR lto/66752
8378 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
8379 unable to find X NE 0 in the tables, return X as the simplified
8380 condition.
8381 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
8382 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
8383 to VISISTED_BBS. */
8384 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
8385 after removing the control flow statement and unnecessary edges.
8386
8387 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
8388
8389 * tree-pass.h (get_current_pass_name): Removed.
8390
8391 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
8392
8393 PR rtl-optimization/64164
8394 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
8395 * tree-ssa-copyrename.c: Removed.
8396 * opts.c (default_options_table): Drop -ftree-copyrename. Add
8397 -ftree-coalesce-vars.
8398 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
8399 * common.opt (ftree-copyrename): Ignore.
8400 (ftree-coalesce-inlined-vars): Likewise.
8401 * doc/invoke.texi: Remove the ignored options above.
8402 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
8403 * tree-ssa-coalesce.h: ... here.
8404 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
8405 headers required by it.
8406 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
8407 across variables when flag_tree_coalesce_vars. Check register
8408 use and promoted modes to allow coalescing. Moved to
8409 tree-ssa-coalesce.c.
8410 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
8411 with its member functions to tree-ssa-coalesce.c.
8412 (var_map_base_init): Likewise. Renamed to
8413 compute_samebase_partition_bases.
8414 (partition_view_normal): Drop want_bases parameter.
8415 (partition_view_bitmap): Likewise.
8416 * tree-ssa-live.h: Adjust declarations.
8417 * tree-ssa-coalesce.c: Include explow.h.
8418 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
8419 default defs at the entry point.
8420 (dump_part_var_map): New.
8421 (compute_optimized_partition_bases): New, called by...
8422 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
8423 of compute_samebase_partition_bases. Adjust.
8424 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
8425 * cfgexpand.c (leader_merge): New.
8426 (get_rtl_for_parm_ssa_default_def): New.
8427 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
8428 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
8429 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
8430 redundant MEM attr setting.
8431 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
8432 from...
8433 (expand_one_stack_var): ... this. New wrapper to check and
8434 skip already expanded SSA partitions.
8435 (record_alignment_for_reg_var): New, factored out of...
8436 (expand_one_var): ... this.
8437 (expand_one_ssa_partition): New.
8438 (adjust_one_expanded_partition_var): New.
8439 (expand_one_register_var): Check and skip already expanded SSA
8440 partitions.
8441 (expand_used_vars): Don't create DECLs for anonymous SSA
8442 names. Expand all SSA partitions, then adjust all SSA names.
8443 (pass::execute): Replace the loops that set
8444 SA.partition_to_pseudo from partition leaders and cleared
8445 DECL_RTL for multi-location variables, and that which used to
8446 rename vars and set attrs, with one that clears DECL_RTL and
8447 checks that PARMs and RESULTs default_defs match DECL_RTL.
8448 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
8449 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
8450 * explow.c (promote_ssa_mode): New.
8451 * explow.h (promote_ssa_mode): Declare.
8452 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
8453 * function.c: Include cfgexpand.h.
8454 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
8455 (use_register_for_parm_decl): Wrapper for the above to
8456 special-case the result_ptr.
8457 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
8458 (split_complex_args): Take assign_parm_data_all argument.
8459 Pass it to rtl_for_parm. Set up rtl and context for split
8460 args.
8461 (assign_parms_augmented_arg_list): Adjust.
8462 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
8463 multiple locations. Recognize split complex args.
8464 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
8465 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
8466 (assign_parm_setup_block): Prefer SSA-assigned location.
8467 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
8468 if stack_parm is NULL.
8469 (assign_parm_setup_stack): Prefer SSA-assigned location.
8470 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
8471 rtl before testing for pointer bounds. Special-case result_ptr.
8472 (expand_function_start): Maybe reset DECL_RTL of result.
8473 Prefer SSA-assigned location for result and static chain.
8474 Factor out DECL_RESULT and SET_DECL_RTL.
8475 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
8476 anonymous SSA names. Use promote_ssa_mode.
8477 (get_temp_reg): Likewise.
8478 (remove_ssa_form): Adjust.
8479 * stor-layout.c (layout_decl): Don't set mem attributes of
8480 non-MEMs.
8481 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
8482 and get its reg_usage for reg invalidation.
8483 (compute_bb_dataflow): Pass it insn.
8484 (emit_notes_in_bb): Likewise.
8485
8486 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
8487
8488 PR target/66217
8489 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
8490 prototype.
8491 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
8492 (rs6000_emit_2insn_and): Handle dot forms.
8493 * config/rs6000/rs6000.md (and<mode>3): Adjust.
8494 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
8495 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
8496
8497 2015-07-23 Richard Biener <rguenther@suse.de>
8498
8499 * generic-match-head.c: Include cgraph.h.
8500 * gimple-match-head.c: Likewise.
8501 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
8502 SSA names.
8503 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
8504 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
8505 pattern.
8506
8507 2015-07-23 Richard Biener <rguenther@suse.de>
8508
8509 * gimple-fold.c (fold_gimple_cond): Do not require folding
8510 results to pass valid_gimple_rhs_p.
8511 * tree-cfg.h (fold_cond_expr_cond): Remove.
8512 * tree-cfg.c (fold_cond_expr_cond): Likewise.
8513 (make_edges): Do not call it.
8514 * tree-inline.c (tree_function_versioning): Likewise.
8515
8516 2015-07-23 Tom de Vries <tom@codesourcery.com>
8517
8518 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
8519 vect_force_simple_reduction.
8520 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
8521 (vect_is_simple_reduction_1): Add and handle
8522 need_wrapping_integral_overflow parameter.
8523 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
8524 need_wrapping_integral_overflow parameter.
8525 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
8526 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
8527 decl.
8528
8529 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
8530
8531 PR tree-optimization/66926,66951
8532 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
8533 INNER_LOOP and fix up condition for renaming virtual operands.
8534
8535 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8536
8537 * combine.c (try_combine): Use std::swap instead of manually
8538 swapping.
8539
8540 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
8541
8542 * config/mips/i6400.md: New file.
8543 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
8544 (mips64r6): Likewise.
8545 (i6400): Define.
8546 * config/mips/mips-tables.opt: Regenerate.
8547 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
8548 (mips_issue_rate): Add support for i6400.
8549 (mips_multipass_dfa_lookahead): Likewise.
8550 * config/mips/mips.h (TUNE_I6400): Define.
8551 * config/mips/mips.md: Include i6400.md.
8552 (processor): Add i6400.
8553 * doc/invoke.texi (-march=@var{arch}): Add i6400.
8554
8555 2015-07-23 Richard Biener <rguenther@suse.de>
8556
8557 PR middle-end/66916
8558 * match.pd: Guard widen and sign-change comparison simplification
8559 with single_use.
8560
8561 2015-07-23 Richard Biener <rguenther@suse.de>
8562
8563 PR tree-optimization/66945
8564 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
8565 ::before_dom_children): Force the propagators idea of
8566 non-executable edges to materialize, not what the folder
8567 chooses.
8568
8569 2015-07-23 Richard Biener <rguenther@suse.de>
8570
8571 * gimple.h (gimple_cond_make_false): Use 0 != 0.
8572 (gimple_cond_make_true): Use 1 != 0.
8573
8574 2015-07-22 DJ Delorie <dj@redhat.com>
8575
8576 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
8577 slashes.
8578
8579 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
8580 (ashrhi3): Likewise.
8581 (lshrhi3): Likewise.
8582 (movhi): Take advantage of zero-extend to load small constants.
8583 (movpsi): Likewise.
8584 (and<mode>3): Likewise.
8585 (zero_extendqihi2): Likewise.
8586 (zero_extendqisi2): New.
8587 * config/msp430/constraints.md (N,O): New.
8588 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
8589
8590 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
8591
8592 PR target/66954
8593 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
8594 to enum feature_priority and feature_list.
8595 (fold_builtin_cpu): Add F_AES to enum processor_features
8596 and isa_names_table.
8597
8598 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
8599
8600 PR driver/66737
8601 * config/i386/linux-common.h (MPX_SPEC): Use linker option
8602 for 64bit target only.
8603
8604 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
8605
8606 * config/nvptx/nvptx.c: Expand some comments.
8607
8608 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
8609
8610 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
8611 (cortex_a53_advsimd): ...This.
8612
8613 2015-07-22 Richard Biener <rguenther@suse.de>
8614
8615 * genmatch.c (expr::gen_transform): Clarify error message
8616 and display location.
8617
8618 2015-07-22 Richard Biener <rguenther@suse.de>
8619
8620 * genmatch.c (struct operand): Add location member.
8621 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
8622 constructors.
8623 (struct simplify): Remove match_location and result_location
8624 members.
8625 (elsehwere): Adjust.
8626
8627 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
8628
8629 * config/mips/m5100.md: New file.
8630 * config/mips/mips-cpus.def (m5100, m5101): Define.
8631 * config/mips/mips-tables.opt: Regenerate.
8632 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
8633 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
8634 -march=m5101 to -mips32r5.
8635 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
8636 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
8637 !-msoft-float.
8638 * config/mips/mips.md: Include m5100.md.
8639 (processor): Add m5100.
8640 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
8641
8642 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
8643
8644 * config/mips/mips-cpus.def (interaptiv): Define.
8645 * config/mips/mips-tables.opt: Regenerate.
8646 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
8647 -mips32r2.
8648 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
8649 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
8650
8651 2015-07-22 Jiong Wang <jiong.wang@arm.com>
8652
8653 PR target/63521
8654 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
8655 (HONOR_REG_ALLOC_ORDER): Define.
8656
8657 2015-07-22 Richard Biener <rguenther@suse.de>
8658
8659 PR tree-optimization/66952
8660 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
8661 blocks we end up executing unconditionally reset all SSA
8662 info such as range and alignment.
8663 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
8664 * tree-ssanames.c (reset_flow_sensitive_info): New function.
8665
8666 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
8667
8668 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
8669 typo in attribute.
8670
8671 2015-07-22 Richard Biener <rguenther@suse.de>
8672
8673 * genmatch.c (parser::parse_result): Properly handle
8674 match with result operands and conditions.
8675
8676 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
8677
8678 PR target/63870
8679 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
8680 Add qualifier_struct_load_store_lane_index.
8681 (aarch64_types_loadstruct_lane_qualifiers): Use
8682 qualifier_struct_load_store_lane_index for lane index argument for
8683 last argument.
8684 (aarch64_types_storestruct_lane_qualifiers): Ditto.
8685 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
8686 (aarch64_simd_expand_args): Add new argument describing mode of
8687 builtin. Check lane bounds for arguments with
8688 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
8689 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
8690 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
8691 (aarch64_simd_expand_builtin): Handle arguments with
8692 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
8693 aarch64_simd_expand_args.
8694 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
8695 vst[234]_lane with BUILTIN_VALLDIF.
8696 * config/aarch64/aarch64-simd.md:
8697 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
8698 endianness reversal on lane index.
8699 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
8700 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
8701 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
8702 (vec_store_lanesci_lane<mode>): Ditto.
8703 (vec_store_lanesxi_lane<mode>): Ditto.
8704 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
8705 reversal of lane index.
8706 (aarch64_ld3_lane<mode>): Ditto.
8707 (aarch64_ld4_lane<mode>): Ditto.
8708 (aarch64_st2_lane<mode>): Ditto.
8709 (aarch64_st3_lane<mode>): Ditto.
8710 (aarch64_st4_lane<mode>): Ditto.
8711 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
8712 to qmode. Add new mode parameter. Update uses.
8713 (__LD3_LANE_FUNC): Ditto.
8714 (__LD4_LANE_FUNC): Ditto.
8715 (__ST2_LANE_FUNC): Ditto.
8716 (__ST3_LANE_FUNC): Ditto.
8717 (__ST4_LANE_FUNC): Ditto.
8718
8719 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
8720
8721 * doc/invoke.texi (Language Independent Options): Rename node to
8722 Diagnostic Message Formatting Options.
8723
8724 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
8725
8726 PR ipa/66424.
8727 * lra-remat.c (operand_to_remat): Prevent using insns with input
8728 subregs processed separately by IRA.
8729
8730 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
8731
8732 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
8733 straight loops.
8734 (single_imm_use): Check for iterator node.
8735 (num_imm_uses): Likewise.
8736 * tree-ssa-operands.c (has_zero_uses_1): Delete.
8737 (single_imm_use_1): Check for iterator node.
8738
8739 2015-07-21 Mike Frysinger <vapier@gentoo.org>
8740 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
8741
8742 * configure.ac: Add check for new options in isl-0.15.
8743 * config.in, configure: Rebuilt.
8744 * graphite-blocking.c: Include <isl/constraint.h>
8745 * graphite-interchange.c, graphite-poly.c: Likewise.
8746 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
8747 * graphite.c: Likewise.
8748 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
8749 <isl/union_set.h>.
8750 * graphite-dependences.c: Include <isl/constraint.h>.
8751 (max_number_of_out_dimensions): Returns isl_stat.
8752 (extend_schedule_1): Likewise
8753 (extend_schedule): Corresponding changes.
8754 * graphite-optimize-isl.c: Include <isl/constraint.h> and
8755 <isl/union_set.h>.
8756 (getSingleMap): Change return type of isl_stat.
8757 (optimize_isl): Conditionally use
8758 isl_options_set_schedule_serialize_sccs.
8759 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
8760 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
8761
8762 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
8763
8764 PR target/66956
8765 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
8766 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
8767
8768 2015-07-21 Richard Biener <rguenther@suse.de>
8769
8770 PR tree-optimization/66948
8771 * genmatch.c (capture_info::walk_match): Also recurse to
8772 captures. Properly compute expr state from captures of
8773 captures.
8774 * match.pd: Add single-use guards to
8775 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
8776
8777 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
8778
8779 * config/nvptx/mkoffload.c (process): Add static destructor call.
8780
8781 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8782
8783 PR middle-end/66915
8784 * match.pd (A - B -> A + (-B)): Don't allow folding
8785 when type if a fixed-point type.
8786
8787 2015-07-20 DJ Delorie <dj@redhat.com>
8788
8789 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
8790 (iorqi3_real): Likewise for set1.
8791
8792 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
8793
8794 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
8795 for !TARGET_64BIT.
8796
8797 2015-07-20 Aditya Kumar <hiraditya@msn.com>
8798
8799 * graphite-isl-ast-to-gimple.c:
8800 Refactor so that each function can access 'region'. This will help
8801 maintain a parameter rename_map within a region.
8802
8803 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
8804
8805 * config/rs6000/rs6000.md (*lt0_disi): New.
8806
8807 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
8808
8809 PR target/66217
8810 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
8811 "available letters" comment.
8812 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
8813 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
8814 and_2rld_operand): Delete.
8815 (and_operand): Adjust.
8816 (rotate_mask_operator): New.
8817 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
8818 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
8819 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
8820 extract_ME): Delete.
8821 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
8822 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
8823 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
8824 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
8825 rs6000_emit_2insn_and): New.
8826 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
8827 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
8828 includes_rldic_lshift_p, includes_rldicr_lshift_p,
8829 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
8830 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
8831 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
8832 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
8833 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
8834 rs6000_emit_2insn_and): New.
8835 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
8836 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
8837 handling.
8838 <NOT>: Don't fall through to next case.
8839 <AND>: Handle the various rotate-and-mask cases directly.
8840 <IOR>: Always cost as one insn.
8841 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
8842 (and<mode>3): Adjust expander for the new patterns.
8843 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
8844 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
8845 (*and<mode>3_imm_dot_shifted): New.
8846 (*and<mode>3_mask): Delete, rewrite as ...
8847 (and<mode>3_mask): ... New.
8848 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
8849 (andsi3_internal0_nomc): Delete.
8850 (*andsi3_internal6): Delete.
8851 (*and<mode>3_2insn): New.
8852 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
8853 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
8854 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
8855 *insvdi_internal3): Delete.
8856 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
8857 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
8858 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
8859 *ior<mode>_mask): New.
8860 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
8861 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
8862 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
8863 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
8864 Delete.
8865 (ashr<mode>3): Delete expander.
8866 (*ashr<mode>3): Rename to ...
8867 (ashr<mode>3): ... This.
8868 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
8869 (*rotldi3_internal4, *rotldi3_internal5 and split,
8870 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
8871 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
8872 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
8873 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
8874 (splitter for loading a mask): Adjust.
8875 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
8876
8877 2015-07-20 Marek Polacek <polacek@redhat.com>
8878
8879 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
8880 output_add_clobbers, output_added_clobbers_hard_reg_p,
8881 gen_rtx_scratch): Remove declarations.
8882
8883 2015-07-20 Marek Polacek <polacek@redhat.com>
8884
8885 PR c++/55095
8886 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
8887
8888 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8889
8890 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
8891 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
8892
8893 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8894
8895 * combine.c (combine_simplify_rtx): Move simplification step
8896 before various transformations/substitutions.
8897
8898 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
8899
8900 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
8901 (struct int_traits): Likewise.
8902
8903 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8904
8905 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
8906 function to vmsdbgout_function_decl.
8907
8908 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
8909
8910 PR target/66922
8911 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
8912 from misaligned positions.
8913 (ix86_expand_pinsr): Reject insertions to misaligned positions.
8914
8915 2015-07-18 Sebastian Pop <s.pop@samsung.com>
8916
8917 PR middle-end/46851
8918 PR middle-end/60340
8919 * Makefile.in: Removed omega.o.
8920 * common.opt: Document flag fcheck-data-deps as deprecated.
8921 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
8922 its associated params: omega-max-vars, omega-max-geqs,
8923 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
8924 omega-max-keys, omega-eliminate-redundant-constraints.
8925 * doc/loop.texi: Remove all the section on Omega.
8926 * graphite-blocking.c: Include missing params.h: it used to be
8927 included through tree-data-ref.h and omega.h.
8928 * graphite-isl-ast-to-gimple.c: Same.
8929 * graphite-optimize-isl.c: Same.
8930 * graphite-sese-to-poly.c: Same.
8931 * graphite.c: Same.
8932 * omega.c: Remove.
8933 * omega.h: Remove.
8934 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
8935 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
8936 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
8937 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
8938 * passes.def: Remove pass_check_data_deps.
8939 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
8940 (dump_conflict_function): Same.
8941 (dump_subscript): Same.
8942 (print_direction_vector): Same.
8943 (print_dir_vectors): Same.
8944 (print_lambda_vector): Same.
8945 (print_dist_vectors): Same.
8946 (dump_data_dependence_relation): Same.
8947 (dump_data_dependence_relations): Same.
8948 (dump_dist_dir_vectors): Same.
8949 (dump_ddrs): Same.
8950 (init_omega_eq_with_af): Removed.
8951 (omega_extract_distance_vectors): Removed.
8952 (omega_setup_subscript): Removed.
8953 (init_omega_for_ddr_1): Removed.
8954 (init_omega_for_ddr): Removed.
8955 (ddr_consistent_p): Removed.
8956 (compute_affine_dependence): Do not use omega to check data
8957 dependences.
8958 (compute_data_dependences_for_bb): Removed.
8959 (analyze_all_data_dependences): Removed.
8960 (tree_check_data_deps): Removed.
8961 * tree-data-ref.h: Do not include omega.h.
8962 (compute_data_dependences_for_bb): Removed.
8963 (tree_check_data_deps): Removed.
8964 * tree-ssa-loop.c (pass_check_data_deps): Removed.
8965 (make_pass_check_data_deps): Removed.
8966 * tree-ssa-phiopt.c: Include params.h.
8967 * tree-vect-data-refs.c: Same.
8968 * tree-vect-slp.c: Same.
8969
8970 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
8971
8972 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
8973 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
8974 (mem->fpreg splitters): Ditto.
8975 (general_operand->nonimmediate_operand splitter): Use explicit modes.
8976 Disable DFmode for TARGET_64BIT.
8977
8978 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
8979
8980 PR target/66906
8981 * config/i386/i386.c (ix86_expand_prologue): Replicate static
8982 chain on the stack.
8983
8984 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
8985
8986 * config/nvptx/mkoffload.c (process): Constify host data.
8987 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
8988 Constify host data.
8989 (generate_host_descr_file): Likewise.
8990
8991 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
8992 Sebastian Pop <s.pop@samsung.com>
8993
8994 PR middle-end/61929
8995 * graphite-dependences.c (add_pdr_constraints): Renamed
8996 pdr->extent to pdr->subscript_sizes.
8997 * graphite-interchange.c (build_linearized_memory_access): Add
8998 back all gcc_assert's that the "isl_int to isl_val conversion"
8999 patch has removed. Refactored.
9000 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
9001 * graphite-poly.c (new_poly_dr): Same.
9002 (free_poly_dr): Same.
9003 * graphite-poly.h (struct poly_dr): Same.
9004 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
9005 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
9006 * graphite-scop-detection.h: Fix space.
9007 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
9008 back all gcc_assert's removed by a previous patch.
9009 (wrap): Remove the_isl_ctx global variable that the same patch has
9010 added.
9011 (build_loop_iteration_domains): Same.
9012 (add_param_constraints): Same.
9013 (pdr_add_data_dimensions): Same. Refactored.
9014 (build_poly_dr): Renamed extent to subscript_sizes.
9015
9016 2015-07-17 Marek Polacek <polacek@redhat.com>
9017
9018 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
9019 * match.pd: ... here.
9020
9021 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
9022
9023 * config/nvptx/mkoffload.c (process): Constify target data.
9024 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
9025 Constify target data.
9026 (generate_target_offloadend_file): Likewise.
9027
9028 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
9029
9030 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
9031 to allow renaming of PHI arguments on edges incoming from outer
9032 loop header, add corresponding check before start PHI iterator.
9033 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
9034 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
9035 with true force_vectorize. Set-up dominator for outer loop too.
9036 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
9037 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
9038 was marked with force_vectorize and has restricted cfg.
9039 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
9040 inner loop.
9041 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
9042 do peeling for outer loops.
9043
9044 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
9045 Matthias Klose <doko@ubuntu.com>
9046
9047 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
9048 build-sysroot, sysroot from the `Miscenalleous configure options' to
9049 the `Directories' section and strip trailing `/' from with_sysroot.
9050 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
9051 * configure: Regenerated.
9052
9053 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
9054
9055 PR target/66824
9056 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
9057 (TARGET_HARD_DF_REGS): Ditto.
9058 (TARGET_HARD_XF_REGS): Ditto.
9059 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
9060 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
9061 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
9062 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
9063 (*movsf_internal): Add alternatives 16 and 17. Enable
9064 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
9065
9066 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
9067
9068 PR rtl-optimization/66891
9069 * calls.c (expand_call): Wrap precompute_register_parameters with
9070 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
9071
9072 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
9073
9074 * config/nvptx/mkoffload.c (process): Constify mapping variables.
9075 Define target data struct and initialize it.
9076
9077 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
9078
9079 PR rtl-optimization/66626
9080 * ira.h (emit-rtl.h): Include.
9081 (non_spilled_static_chain_regno_p): New.
9082 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
9083 unless it is non spilled static chain pseudo.
9084 (assign_hard_rego): Spill memory profitable allocno unless it is
9085 non spilled static chain pseudo.
9086 (allocno_spill_priority_compare): Put non spilled static chain
9087 pseudo at the end of sorted array.
9088 (improve_allocation): Do nothing if we have static chain and
9089 non-local goto.
9090 (allocno__priority_compare_func): Put non spilled static chain
9091 pseudo at the beginning of sorted array.
9092 (move_spill_restore): Ignore non spilled static chain pseudo.
9093 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
9094 to non spilled static chain pseudo.
9095 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
9096 pseudo at the beginning of sorted array.
9097 (spill_for): Spill non spilled static chain pseudo last.
9098 * lra-constraints.c (lra_constraints): Remove static chain pseudo
9099 check for equivalence.
9100
9101 2015-07-16 Martin Liska <mliska@suse.cz>
9102
9103 PR ipa/66896.
9104 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
9105 dst_ctx if it does not exist.
9106
9107 2015-07-16 Martin Liska <mliska@suse.cz>
9108
9109 * hash-set.h (remove): New function.
9110 (iterator): New iteration class for hash_set.
9111
9112 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9113
9114 * genattrtab.c (make_canonical): Add a file_location parameter.
9115 Use fatal_at rather than fatal.
9116 (get_attr_value): Likewise. Update call to make_canonical.
9117 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
9118 (make_internal_attr): Update calls accordingly.
9119
9120 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9121
9122 * read-md.h (message_with_line, error_with_line): Delete.
9123 * read-md.c (message_with_line, error_with_line): Delete.
9124 * gensupport.h: Include read-md.h.
9125 (md_rtx_info): New structure.
9126 (read_md_rtx): Use it. Return a bool success value.
9127 * gensupport.c (read_md_rtx): Likewise.
9128 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
9129 (main): Update after interface changes.
9130 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
9131 (main): Update after interface changes.
9132 * genattrtab.c (insn_code_number): Delete.
9133 (optimize_attrs): Add a max_insn_code parameter and use it instead
9134 of insn_code_number.
9135 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
9136 Use *_at rather than *_with_line functions.
9137 (gen_insn): Likewise.
9138 (gen_delay): Likewise.
9139 (gen_insn_reserv): Likewise.
9140 (gen_bypass): Take an md_rtx_info rather than an rtx.
9141 (main): Update after interface changes. Use a local max_insn_code
9142 variable instead of insn_code_number.
9143 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
9144 an rtx. Use fatal_at rather than fatal.
9145 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
9146 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
9147 (gen_absence_set, gen_final_absence_set, gen_automaton)
9148 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
9149 (main): Update after interface changes.
9150 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
9151 and code number.
9152 (main): Update after interface changes.
9153 * genconditions.c (main): Use new read_md_rtx interface.
9154 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
9155 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
9156 (main): Update after interface changes.
9157 * genemit.c (insn_code_number, insn_index_number): Delete.
9158 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
9159 Use fatal_at rather than fatal.
9160 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
9161 rather than fatal.
9162 (gen_split): Likewise.
9163 (main): Update after interface changes.
9164 * genextract.c (line_no): Delete.
9165 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
9166 Update call to walk_rtx.
9167 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
9168 rather than message_with_line.
9169 (walk_rtx): Add an md_rtx_info argument. Update call to
9170 VEC_safe_set_locstr.
9171 (main): Update after interface changes.
9172 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
9173 and lineno. Use error_at rather than separate message_with_line
9174 calls and have_error assignments.
9175 (main): Update after interface changes.
9176 * genmddump.c (main): Use new read_md_rtx interface.
9177 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
9178 (main): Update after interface changes.
9179 * genoutput.c (next_code_number): Delete.
9180 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
9181 (gen_peephole, gen_expand, gen_split): Likewise.
9182 (note_constraint): Likewise. Use *_at rather than *_with_line
9183 functions.
9184 (main): Update after interface changes.
9185 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
9186 rtx and lineno.
9187 (main): Update after interface changes.
9188 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
9189 than an rtx and lineno.
9190 (process_define_constraint): Likewise.
9191 (process_define_register_constraint): Likewise.
9192 (main): Update after interface changes.
9193 * genrecog.c (next_insn_code, pattern_lineno): Delete.
9194 (validate_pattern): Replace top-level rtx with an md_rtx_info.
9195 Use *_at rather than *_with_line functions.
9196 (match_pattern_2): Likewise.
9197 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
9198 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
9199 Use *_at rather than *_with_line functions.
9200 * gentarget-def.c (add_insn): New function.
9201 (main): Use it. Use new read_md_rtx interface.
9202
9203 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9204
9205 * gensupport.h (compute_test_codes): Take a file_location rather
9206 than a line number.
9207 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
9208 rather than *_with_line functions.
9209 (process_define_predicate): Update call to compute_test_codes.
9210 * genpreds.c (validate_exp): Take a file_location rather than a
9211 line number. Use *_at functions rather than *_with_line functions.
9212 (process_define_predicate): Update call to validate_exp.
9213 (constraint_data): Replace lineno field with a file_location.
9214 (add_constraint): Take a file_location rather than a line number.
9215 Use *_at functions rather than *_with_line functions. Fix error
9216 message for address constraints. Update after changes to
9217 validate_exp, constraint_data and compute_test_codes.
9218 (process_define_constraint): Update accordingly.
9219 (process_define_register_constraint): Likewise.
9220
9221 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9222
9223 * genoutput.c (data): Use a file_location to record the source
9224 position.
9225 (nothing): Delete.
9226 (idata, idata_end): Remove initialization.
9227 (constraint_data): Replace lineno with a file_location.
9228 (output_insn_data): Update after changes to data.
9229 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
9230 (scan_operands): Likewise, using *_at rather than *_with_line
9231 functions.
9232 (process_template): Likewise.
9233 (validate_insn_alternatives): Likewise.
9234 (validate_insn_operands): Likewise.
9235 (validate_optab_operands): Likewise.
9236 (init_insn_for_nothing): Initialize idata and idata_end.
9237 (note_constraint): Update after changes to constraint_data,
9238 using at rather than with_line functions.
9239 (mdep_constraint_len): Take a file_location rather than a
9240 line number. Use at rather than with_line functions.
9241
9242 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9243
9244 * read-md.h (fatal_at): Declare.
9245 * read-md.c (fatal_at): New function.
9246 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
9247 to record the source position.
9248 (check_attr_test): Take a file_location instead of a line number.
9249 Use fatal_at instead of fatal.
9250 (check_attr_value): Update after above changes, using "at"
9251 rather than "with_line" reporting functions.
9252 (convert_set_attr_alternative): Likewise.
9253 (gen_attr): Likewise.
9254 (check_defs): Likewise. Don't assign to read_md_filename.
9255 (gen_insn): Update initialization after above changes.
9256 (gen_delay): Likewise.
9257 (write_insn_cases): Print the filename for a define_peephole.
9258 (gen_insn_reserv): Take a line number as argument and update
9259 the call to check_attr_test.
9260 (main): Pass a line number to gen_insn_reserv.
9261
9262 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9263
9264 * read-md.h (file_location): New structure.
9265 (directive_handler_t): Take a file_location rather than a line number.
9266 (message_at, error_at): Declare.
9267 (read_skip_construct): Delete.
9268 * read-md.c (message_with_line_1): Replace with...
9269 (message_at_1): ...this new function.
9270 (message_at, error_at): New functions.
9271 (message_with_line, error_with_line): Update to use message_at_1.
9272 (handle_enum): Take a file_location rather than a line number
9273 and use error_at for error reporting.
9274 (handle_include): Likewise.
9275 (read_skip_construct): Likewise. Make static.
9276 (handle_file): Update after above changes. Pass a file_location
9277 rather than a line number to handle_directive.
9278 * gensupport.c (queue_elem): Replace separate filename and lineno
9279 with a file_location.
9280 (queue_pattern): Replace filename and lineno arguments with a
9281 file_location. Update after change to queue_elem.
9282 (process_define_predicate): Replace lineno argument with a
9283 file_location and use error_at for error reporting. Update
9284 after above changes.
9285 (process_rtx): Likewise.
9286 (subst_pattern_match): Likewise.
9287 (get_alternatives_number): Likewise.
9288 (alter_predicate_for_insn): Likewise.
9289 (rtx_handle_directive): Likewise.
9290 (is_predicable): Update after above changes, using error_at rather
9291 than error_with_line.
9292 (has_subst_attribute): Likewise.
9293 (identify_predicable_attribute): Likewise.
9294 (alter_attrs_for_subst_insn): Likewise.
9295 (process_one_cond_exec): Likewise.
9296 (process_substs_on_one_elem): Likewise.
9297 (process_define_subst): Likewise.
9298 (check_define_attr_duplicates): Likewise.
9299 (read_md_rtx): Update after change to queue_elem.
9300
9301 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9302
9303 * genoutput.c (next_index_number): Delete.
9304 (data): Remove index_number.
9305 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
9306 (main): Remove manipulation of next_index_number.
9307
9308 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
9309
9310 * genattrtab.c (check_attr_value): Remove handling of null attrs.
9311 (make_canonical): Likewise.
9312
9313 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
9314
9315 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
9316 instead of adjust_address_nv.
9317 (restore_stack_nonlocal): Likewise.
9318 (nonlocal_goto): Likewise.
9319
9320 2015-07-16 Tom de Vries <tom@codesourcery.com>
9321
9322 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
9323 not have a corresponding loop header phi.
9324
9325 2015-07-16 Tom de Vries <tom@codesourcery.com>
9326
9327 * tree-parloops.c (create_loads_for_reductions): Handle case that
9328 reduction is unused.
9329
9330 2015-07-16 Richard Biener <rguenther@suse.de>
9331
9332 PR tree-optimization/66894
9333 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
9334 about deriving NE_EXPR from truncated values.
9335
9336 2015-07-16 Martin Liska <mliska@suse.cz>
9337
9338 * alloc-pool.h
9339 (object_allocator): Add new class.
9340 (pool_allocator::initialize): Use the underlying class.
9341 (pool_allocator::allocate): Likewise.
9342 (pool_allocator::remove): Likewise.
9343 (operator new): A new generic allocator.
9344 * asan.c (struct asan_mem_ref): Remove unused members.
9345 (asan_mem_ref_new): Replace new operator with
9346 object_allocator::allocate.
9347 (free_mem_ref_resources): Change deallocation.
9348 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
9349 with object_allocator.
9350 * config/sh/sh.c (add_constant): Replace new operator with
9351 object_allocator::allocate.
9352 (sh_reorg): Change call to a release method.
9353 * cselib.c (struct elt_list): Remove unused members.
9354 (new_elt_list): Replace new operator with
9355 object_allocator::allocate.
9356 (new_elt_loc_list): Likewise.
9357 (new_cselib_val): Likewise.
9358 (unchain_one_elt_list): Change delete operator with remove method.
9359 (unchain_one_elt_loc_list): Likewise.
9360 (unchain_one_value): Likewise.
9361 (cselib_finish): Release newly added static allocators.
9362 * cselib.h (struct cselib_val): Remove unused members.
9363 (struct elt_loc_list): Likewise.
9364 * df-problems.c (df_chain_alloc): Replace pool_allocator with
9365 object_allocator.
9366 * df-scan.c (struct df_scan_problem_data): Likewise.
9367 (df_scan_alloc): Likewise.
9368 * df.h (struct dataflow): Likewise.
9369 * dse.c (struct read_info_type): Likewise.
9370 (struct insn_info_type): Likewise.
9371 (struct dse_bb_info_type): Likewise.
9372 (struct group_info): Likewise.
9373 (struct deferred_change): Likewise.
9374 (get_group_info): Likewise.
9375 (delete_dead_store_insn): Likewise.
9376 (free_read_records): Likewise.
9377 (replace_read): Likewise.
9378 (check_mem_read_rtx): Likewise.
9379 (scan_insn): Likewise.
9380 (dse_step1): Likewise.
9381 (dse_step7): Likewise.
9382 * et-forest.c (struct et_occ): Remove unused members.
9383 (et_new_occ): Use allocate instead of new operator.
9384 (et_new_tree): Likewise.
9385 (et_free_tree): Call release method explicitly.
9386 (et_free_tree_force): Likewise.
9387 (et_free_pools): Likewise.
9388 (et_split): Use remove instead of delete operator.
9389 * et-forest.h (struct et_node): Remove unused members.
9390 * ipa-cp.c: Change pool_allocator to object_allocator.
9391 * ipa-inline-analysis.c: Likewise.
9392 * ipa-profile.c: Likewise.
9393 * ipa-prop.c: Likewise.
9394 * ipa-prop.h: Likewise.
9395 * ira-build.c (initiate_cost_vectors): Cast return value.
9396 (ira_allocate_cost_vector): Likewise.
9397 * ira-color.c (struct update_cost_record): Remove unused members.
9398 * lra-int.h (struct lra_live_range): Likewise.
9399 (struct lra_copy): Likewise.
9400 (struct lra_insn_reg): Likewise.
9401 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
9402 * lra.c (new_insn_reg): Replace new operator with allocate method.
9403 (free_insn_regs): Same for operator delete.
9404 (finish_insn_regs): Release new static allocator.
9405 (finish_insn_recog_data): Likewise.
9406 (lra_free_copies): Replace delete operator with remove method.
9407 (lra_create_copy): Replace operator new with allocate method.
9408 (invalidate_insn_data_regno_info): Same for remove method.
9409 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
9410 (free_debug_insn_changes): Replace delete operator with remove method.
9411 (replace_oldest_value_reg): Replace operator new with allocate method.
9412 (pass_cprop_hardreg::execute): Release new static variable.
9413 * sched-deps.c (sched_deps_init): Change pool_allocator to
9414 object_allocator.
9415 * sel-sched-ir.c: Likewise.
9416 * sel-sched-ir.h: Likewise.
9417 * stmt.c (expand_case): Likewise.
9418 (expand_sjlj_dispatch_table): Likewise.
9419 * tree-sra.c (struct access): Remove unused members.
9420 (struct assign_link): Likewise.
9421 (sra_deinitialize): Release newly added static pools.
9422 (create_access_1):Replace operator new with allocate method.
9423 (build_accesses_from_assign): Likewise.
9424 (create_artificial_child_access): Likewise.
9425 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
9426 pool_allocator to object_allocator.
9427 * tree-ssa-pre.c: Likewise.
9428 * tree-ssa-reassoc.c: Likewise.
9429 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
9430 * tree-ssa-strlen.c: Likewise.
9431 * tree-ssa-structalias.c: Likewise.
9432 * var-tracking.c (onepart_pool_allocate): New function.
9433 (unshare_variable): Use the newly added function.
9434 (variable_merge_over_cur): Likewise.
9435 (variable_from_dropped): Likewise.
9436 (variable_was_changed): Likewise.
9437 (set_slot_part): Likewise.
9438 (emit_notes_for_differences_1): Likewise.
9439 (vt_finalize): Release newly added static pools.
9440
9441 2015-07-16 Martin Jambor <mjambor@suse.cz>
9442
9443 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
9444 all uses. Fix two typos in its general comment.
9445 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
9446
9447 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
9448
9449 * config/i386/linux-common.h (LINK_MPX): New.
9450 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
9451 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
9452 indicating '-z bndplt' support by linker.
9453 * configure: Regenerate.
9454 * config.in: Regenerate.
9455
9456 2015-07-16 Richard Biener <rguenther@suse.de>
9457
9458 * fold-const.c (fold_widened_comparison): Remove.
9459 (fold_sign_changed_comparison): Likewise.
9460 (fold_comparison): Move widened and sign-changed comparison
9461 simplification ...
9462 * match.pd: ... to patterns here.
9463 * generic-match-head.c: Include target.h.
9464 * gimple-match-head.c: Likewise.
9465
9466 2015-07-16 Richard Biener <rguenther@suse.de>
9467
9468 * tree-ssa-dom.c (dom_valueize): New function.
9469 (record_temporary_equivalences): Also record equivalences
9470 for dominating stmts that have uses of equivalences we are
9471 about to record.
9472
9473 2015-07-16 Bin Cheng <bin.cheng@arm.com>
9474
9475 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
9476 add_autoinc_candidates.
9477 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
9478 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
9479 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
9480 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
9481 Call new function.
9482 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
9483 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
9484 Remove parameter struct iv*. Call add_autoinc_candidates here.
9485 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
9486 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
9487 Call new function.
9488 (find_iv_candidates): Call new functions.
9489
9490 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
9491
9492 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
9493 uninitialized-variable warning.
9494
9495 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
9496
9497 PR target/65249
9498 * config/sh/sh.md (movdi): Split simple reg move to two movsi
9499 when the destination is R0.
9500
9501 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
9502
9503 PR target/66866
9504 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
9505 * config/i386/i386.c (ix86_expand_pextr): New function.
9506 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
9507 for non-lowpart subregs.
9508 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
9509 (insv<mode>): Use SWI248 mode iterator.
9510 (insv<mode>_1): Ditto.
9511
9512 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
9513 Sebastian Pop <s.pop@samsung.com>
9514
9515 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
9516 iterator to use_stmt.
9517
9518 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
9519 Sebastian Pop <s.pop@samsung.com>
9520
9521 * graphite-scop-detection.c (build_scops_1): Discard scops for
9522 which entry==exit.
9523
9524 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
9525 Sebastian Pop <s.pop@samsung.com>
9526
9527 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
9528 case of a return statement in scop.
9529
9530 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
9531 Sebastian Pop <s.pop@samsung.com>
9532
9533 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
9534 INTEGER_TYPE parameters.
9535 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
9536 VECTOR_CST in scan_tree_for_params.
9537 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
9538
9539 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
9540
9541 * gimple-pretty-print.h: Don't include pretty-print.h.
9542 * tree-streamer.h: Don't include lto-streamer.h.
9543 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
9544 * gimple-streamer-in.c: Remove redundant includes.
9545 * gimple-streamer-out.c: Likewise.
9546 * ipa-devirt.c: Likewise.
9547 * ipa-icf.c: Likewise.
9548 * ipa-inline-analysis.c: Likewise.
9549 * ipa-polymorphic-call.c: Likewise.
9550 * ipa-profile.c: Likewise.
9551 * ipa-prop.c: Likewise.
9552 * ipa-pure-const.c: Likewise.
9553 * lto-cgraph.c: Likewise.
9554 * lto-streamer-in.c: Likewise.
9555 * lto-streamer-out.c: Likewise.
9556 * lto-streamer.c: Likewise.
9557 * tree-streamer-in.c: Likewise.
9558 * tree-streamer-out.c: Likewise.
9559 * tree-streamer.c: Likewise.
9560
9561 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
9562
9563 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
9564 include input.h.
9565 * opts.c: Remove multiline #include comment.
9566
9567 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
9568
9569 * config/nvptx/mkoffload.c (process): Add C++ protection to
9570 emitted code.
9571
9572 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
9573
9574 PR target/66854
9575 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
9576 null before IEEE 128-bit floating point support patch.
9577
9578 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
9579
9580 * simplify-rtx.c (simplify_ternary_operation): Add simplification
9581 for (!c) != {0,...,0} ? a : b for vector modes.
9582
9583 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
9584 Martin Jambor <mjambor@suse.cz>
9585
9586 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
9587 struct func_body_info* instead of struct ipa_node_params*, expecting
9588 fbi->info to be filled in. Replace throughout. Adjust call to
9589 ipa_load_from_parm_agg.
9590 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
9591 instead of struct ipa_node_params*. Adjust calls to other functions
9592 so that they pass either fbi or fbi->info.
9593 (set_switch_stmt_execution_predicate): Likewise.
9594 (will_be_nonconstant_predicate): Likewise.
9595 (compute_bb_predicates): Likewise.
9596 (estimate_function_body_sizes): Move asserts earlier. Fill in
9597 struct func_body_info, replace parms_info with fbi.info. Adjust
9598 calls to functions that now accept struct func_body_info.
9599 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
9600 (struct func_body_info): Likewise.
9601 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
9602 remove static. Adjust callers.
9603 (ipa_load_from_parm_agg): Remove.
9604 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
9605 (func_body_info): Likewise.
9606 (ipa_load_from_parm_agg): Adjust prototype.
9607
9608 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
9609
9610 * gensupport.c (rtx_handle_directive): Adjust.
9611 * read-rtl.c (apply_iterators): Take vector to add rtxs to
9612 instead of expr list rtx.
9613 (add_define_attr_for_define_subst): Likewise.
9614 (add_define_subst_attr): Likewise.
9615 (read_subst_mapping): Likewise.
9616 (read_rtx): Likewise.
9617 * rtl.h (read_rtx): Adjust.
9618
9619 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9620
9621 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
9622
9623 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
9624
9625 PR target/58066
9626 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
9627 (*tls_local_dynamic_base_64_<mode>): Ditto.
9628 (*tls_local_dynamic_base_64_largepic): Ditto.
9629 (tls_global_dynamic_64_<mode>): Update expander pattern.
9630 (tls_local_dynamic_base_64_<mode>): Ditto.
9631
9632 2015-07-15 Richard Biener <rguenther@suse.de>
9633
9634 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
9635 and bool_var == 1 -> bool_var simplifications ...
9636 * match.pd: ... to patterns here. Factor out negate_expr_p
9637 cases from the A - B -> A + (-B) patterns as negate_expr_p
9638 predicate and add a -(A + B) -> (-B) - A pattern.
9639
9640 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
9641
9642 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
9643
9644 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
9645 Robert Suchanek <robert.suchanek@imgtec.com>
9646
9647 * config/mips/mips.c (mips_int_mask): New enum.
9648 (mips_shadow_set): Likewise.
9649 (int_mask): New variable.
9650 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
9651 (machine_function): Add int_mask and use_shadow_register_set.
9652 (mips_attribute_table): Add attribute handlers for interrupt and
9653 use_shadow_register_set.
9654 (mips_interrupt_mask): New static function.
9655 (mips_handle_interrupt_attr): Likewise.
9656 (mips_handle_use_shadow_register_set_attr): Likewise.
9657 (mips_use_shadow_register_set): Change return type to enum
9658 mips_shadow_set. Add argument handling for use_shadow_register_set
9659 attribute.
9660 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
9661 compare with mips_shadow_set enum.
9662 (mips_compute_frame_info): Add interrupt mask and
9663 use_shadow_register_set to per-function information structure.
9664 Add a stack slot for EPC unconditionally.
9665 (mips_expand_prologue): Compare use_shadow_register_set value
9666 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
9667 masked interrupt register but in EIC mode use K0 and save Cause in K0.
9668 EPC saved and restored unconditionally. Use PMODE_INSN macro when
9669 copying the stack pointer from the shadow register set.
9670 * config/mips/mips.h (SR_IM0): New define.
9671 * config/mips/mips.md (mips_rdpgpr): Rename to...
9672 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
9673 * doc/extend.texi (Declaring Attributes of Functions): Document
9674 optional arguments for interrupt and use_shadow_register_set
9675 attributes.
9676
9677 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
9678
9679 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
9680 interrupt attribute.
9681 (mips_expand_prologue): Disable the floating point unit in an ISR.
9682 * config/mips/mips.h (SR_COP1): New define.
9683
9684 2015-07-15 Richard Biener <rguenther@suse.de>
9685
9686 * genmatch.c (parser::peek, parser::peek_ident): Add argument
9687 to tell how many tokens to peek ahead (default 1).
9688 (parser::eat_token, parser::eat_ident): Return token consumed.
9689 (parser::parse_result): Parse new switch statement.
9690 * match.pd: Use case statements where appropriate.
9691
9692 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
9693
9694 PR rtl-optimization/58066
9695 * calls.c (expand_call): Precompute register parameters before stack
9696 alignment is performed.
9697
9698 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
9699
9700 PR rtl-optimization/66838
9701 * postreload.c (reload_cse_move2add): Also process
9702 CALL_INSN_FUNCTION_USAGE when resetting information of
9703 call-clobbered registers.
9704
9705 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9706 Cesar Philippidis <cesar@codesourcery.com>
9707 Chung-Lin Tang <cltang@codesourcery.com>
9708
9709 * config/nios2/constraints.md (U, v): New constraints.
9710 * config/nios2/predicates.md (rdprs_dcache_operand): New.
9711 (ldstex_memory_operand): New.
9712 * config/nios2/sync.md: New file.
9713 * config/nios2/nios2.md (unspecv): Add new builtin function
9714 UNSPECV codes.
9715 (rdprs, flushd, flushda, wrpie, eni): New patterns.
9716 (top-level): Include sync.md.
9717 * config/nios2/nios2.c (N2_FTYPES): Add function types for
9718 new builtins.
9719 (N2_BUILTINS): Add arch field setting, add new builtins.
9720 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
9721 for arch field.
9722 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
9723 Also handle ldex/stex/ldsex/stsex builtins.
9724 (nios2_expand_rdprs_builtin): New function.
9725 (nios2_expand_cache_builtin): New function.
9726 (nios2_expand_wrpie_builtin): New function.
9727 (nios2_expand_eni_builtin): New function.
9728 (nios2_expand_builtin): Add arch field handling and new builtin
9729 cases.
9730 * doc/extend.texi (Altera Nios II Built-in Functions): Document
9731 new builtins.
9732 * doc/md.texi (Machine Constraints): Document U and v constraints.
9733
9734 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9735 Cesar Philippidis <cesar@codesourcery.com>
9736 Chung-Lin Tang <cltang@codesourcery.com>
9737
9738 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
9739 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
9740 callee_save_reg_size and uses_anonymous_args fields.
9741 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
9742 (nios2_create_cfa_notes): New function.
9743 (nios2_adjust_stack): New function for adjusting stack.
9744 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
9745 Use nios2_adjust_stack.
9746 (nios2_expand_epilogue): Likewise.
9747 (nios2_expand_return): New function.
9748 (nios2_can_use_return_insn): Update for CDX pop.n usage.
9749 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
9750 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
9751 * config/nios2/nios2.md (return): Use nios2_expand_return.
9752
9753 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9754 Cesar Philippidis <cesar@codesourcery.com>
9755 Chung-Lin Tang <cltang@codesourcery.com>
9756
9757 * config/nios2/predicates.md (pop_operation): New.
9758 (ldwm_operation, stwm_operation): New.
9759 (nios2_hard_register_operand): New.
9760 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
9761 (ldstwm_operation_p): Declare.
9762 (gen_ldstwm_peep): Declare.
9763 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
9764 (base_reg_adjustment_p): New.
9765 (pop_operation_p): New.
9766 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
9767 (nios2_ldstwm_regset_p): New.
9768 (ldstwm_operation_p): New.
9769 (gen_ldst): New.
9770 (nios2_ldst_parallel): New.
9771 (struct ldswm_operand): Declare.
9772 (compare_ldstwm_operands): New.
9773 (can_use_cdx_ldstw): New.
9774 (gen_ldstwm_peep): New.
9775 * config/nios2/nios2-ldstwm.sml: New.
9776 * config/nios2/nios2.md: Include ldstwm.md.
9777 * config/nios2/ldstwm.md: Generated.
9778
9779 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9780 Cesar Philippidis <cesar@codesourcery.com>
9781 Chung-Lin Tang <cltang@codesourcery.com>
9782
9783 * config/nios2/nios2.h (LABEL_ALIGN): Define.
9784 (REG_ALLOC_ORDER): Define.
9785 (ADJUST_REG_ALLOC_ORDER): Define.
9786 (HONOR_REG_ALLOC_ORDER): Define.
9787 (CDX_REG_P): Define.
9788 (ANDCLEAR_INT): Define.
9789 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
9790 (nios2_label_align): Declare.
9791 (nios2_cdx_narrow_form_p): Declare.
9792 (nios2_adjust_reg_alloc_order): Declare.
9793 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
9794 operation.
9795 (nios2_large_unspec_reloc_p): New function, split from...
9796 (nios2_legitimate_pic_operand_p): ...here.
9797 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
9798 (nios2_print_operand_punct_valid_p): New.
9799 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
9800 (split_mem_address): New.
9801 (split_alu_insn): New.
9802 (cdxreg): New.
9803 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
9804 (enum nios2_add_insn_kind): New.
9805 (nios2_add_insn_names, nios2_add_insn_narrow): New.
9806 (nios2_add_insn_classify): New.
9807 (nios2_add_insn_asm): New.
9808 (nios2_cdx_narrow_form_p): New.
9809 (label_align, min_labelno, max_labelno): New.
9810 (nios2_reorg): New.
9811 (nios2_label_align): New.
9812 (nios2_adjust_reg_alloc_order): New.
9813 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
9814 (TARGET_MACHINE_DEPENDENT_REORG): Define.
9815 * config/nios2/constraints.md (P): New constraint.
9816 * config/nios2/predicates.md (const_and_operand): New.
9817 (and_operand): New.
9818 (stack_memory_operand): New.
9819 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
9820 (length): Update to use nios2_cdx_narrow_form_p().
9821 (type): Add new insn type values.
9822 (control, alu, st, ld, shift): Update insn reservations with
9823 new insn type values.
9824 (*high, *lo_sum): Define new insn patterns for constant generation.
9825 (movqi_internal, movhi_internal, movsi_internal): Reduce
9826 alternatives, update asm template to handle CDX variants, update
9827 type attributes.
9828 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
9829 template, update type attributes.
9830 (extendhisi2, extendqi<mode>2): Likewise.
9831 (addsi3): Change to use function for asm string.
9832 (subsi3): Add CDX notation to asm template, update type attributes.
9833 (negsi3, one_cmplsi3): Likewise.
9834 (andsi3): New pattern, specialized from logical patterns.
9835 (<code>si3): Remove and case, combine alternatives, update asm
9836 template.
9837 (<shift_op>si3): Add CDX notation, update type attributes.
9838 (rotrsi3): Update type attribute.
9839 (*merge, extzv, insv): New insn patterns.
9840 (return): Change to define_expand.
9841 (simple_return): Add CDX notation, update type attributes.
9842 (indirect_jump): Add CDX notation.
9843 (jump): Update asm cases, update length attribute expression.
9844 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
9845 (nios2_cbranch): Update asm cases and length attribute expression
9846 to handle CDX variants.
9847 (nios2_cmp<code>): Update asm template.
9848 (nop): Add CDX notation, update type attributes.
9849 (trap): Add CDX notation.
9850 (ctrapsi4): Update asm cases and length attribute expression to
9851 handle CDX variant.
9852 * doc/md.texi (Machine Constraints): Document P constraint.
9853
9854 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9855 Cesar Philippidis <cesar@codesourcery.com>
9856 Chung-Lin Tang <cltang@codesourcery.com>
9857
9858 * config/nios2/nios2.h (SMALL_INT12): New macro.
9859 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
9860 (nios2_valid_addr_expr_p): Use it.
9861 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
9862 with implicit "io" instructions on R2.
9863 * config/nios2/constraints.md (w): New constraint.
9864 * config/nios2/predicates.md (ldstio_memory_operand): New.
9865 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
9866 operand predicate and constraint.
9867 (ld<bh>io_signed, st<bhw>io>): Likewise.
9868 * doc/md.texi (Machine Constraints): Document w constraint.
9869
9870 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9871 Cesar Philippidis <cesar@codesourcery.com>
9872 Chung-Lin Tang <cltang@codesourcery.com>
9873
9874 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
9875 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
9876 Nios II architecture level.
9877 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
9878 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
9879 (OPTION_DEFAULT_SPECS): Define.
9880 (ASM_SPEC): Add -march= spec strings.
9881 * config/nios2/nios2.c (nios2_option_override): Check for
9882 conflicts involving new options.
9883 * config.gcc (nios2*-*-*): Support --with-arch=.
9884 * doc/invoke.texi (Option Summary, Nios II Options): Document
9885 -march=, -mbmx, and -mcdx.
9886
9887 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
9888
9889 PR rtl-optimization/66626
9890 * lra-constraints.c (lra_constraints): Prevent equivalence
9891 substitution for static chain pseudo in functions with nonlocal
9892 goto.
9893
9894 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
9895
9896 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
9897 (nios2_emit_stack_limit_check): Add size parameter. Handle
9898 -fstack-limit-symbol as well as -fstack-limit-register.
9899 (nios2_expand_prologue): Emit only a single stack limit check,
9900 even if multiple stack adjustments are required.
9901 (nios2_option_override): Diagnose unsupported combination of -fpic
9902 and -stack-limit-symbol.
9903
9904 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
9905
9906 * Makefile.in (top_srcdir): New.
9907 * configure.ac: Use AM_ZLIB.
9908 * configure: Regeneated.
9909
9910 2015-07-14 Matthias Klose <doko@ubuntu.com>
9911
9912 PR target/66840
9913 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
9914
9915 2015-07-14 Richard Biener <rguenther@suse.de>
9916
9917 PR tree-optimization/66863
9918 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
9919 what we record for conversion use stmt lhs inequalities.
9920
9921 2015-07-14 Richard Biener <rguenther@suse.de>
9922
9923 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
9924 (decision_tree::gen_gimple): Likewise.
9925
9926 2015-07-14 Tom de Vries <tom@codesourcery.com>
9927
9928 * gcc.c (greater_than_spec_func): Declare forward.
9929 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
9930 -ftree-parallelize-loops={0,1}.
9931 (static_spec_functions): Add greater_than_spec_func function with name
9932 "gt".
9933 (greater_than_spec_func): New function.
9934
9935 2015-07-14 Richard Biener <rguenther@suse.de>
9936
9937 * tree-ssa-dom.c (record_temporary_equivalences): Merge
9938 wideing type conversion case from record_equivalences_from_incoming_edge
9939 and use record_equality to record equivalences.
9940 (record_equivalences_from_incoming_edge): Call
9941 record_temporary_equivalences.
9942
9943 2015-07-14 Richard Biener <rguenther@suse.de>
9944
9945 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
9946 (struct if_expr): New.
9947 (struct with_expr): Likewise.
9948 (is_a_helper): Add helpers for if_expr and with_expr.
9949 (struct simplify): Add simplify_kind enum and member. Remove
9950 ifexpr_vec member.
9951 (simplify::simplify): Adjust.
9952 (lower_commutative): Adjust.
9953 (lower_opt_convert): Likewise.
9954 (lower_cond): Likewise.
9955 (replace_id): Handle with_expr and if_expr.
9956 (lower_for): Adjust.
9957 (dt_simplify::gen_1): New recursive worker, split out from ...
9958 (dt_simplify::gen): ... here. Deal with if and with expansion
9959 recursively.
9960 (capture_info::capture_info): Take context argument
9961 (capture_info::walk_result): Only analyze specific result.
9962 (parser::parse_result): New function.
9963 (parser::parse_simplify): Adjust to parse ifs with then end
9964 else case.
9965 (parser::parse_if): Simplify.
9966 (parser::parse_pattern): Pass down simplify kind.
9967 * match.pd: Convert if structure to new syntax.
9968
9969 2015-07-13 Marek Polacek <polacek@redhat.com>
9970
9971 * rtl.c (rtx_equal_p_cb): Fix typo.
9972
9973 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
9974
9975 * omega.h: Don't include config.h, don't include params.h again if
9976 omega.h has already been included.
9977 * graphite-poly.h: Include sese.h.
9978 * graphite.c: Don't include sese.h, remove needless includes and
9979 minimize includes outside #ifdef HAVE_isl block.
9980 * graphite-blocking.c: Don't include sese.h, remove needless includes,
9981 and wrap entire file in #ifdef HAVE_isl
9982 * graphite-dependences.c: Likewise.
9983 * graphite-interchange.c: Likewise.
9984 * graphite-isl-ast-to-gimple.c: Likewise.
9985 * graphite-optimize-isl.c: Likewise.
9986 * graphite-poly.c: Likewise.
9987 * graphite-scop-detection.c: Likewise.
9988 * graphite-sese-to-poly.c: Likewise.
9989
9990 2015-07-13 Tom de Vries <tom@codesourcery.com>
9991
9992 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
9993
9994 2015-07-13 Renlin Li <renlin.li@arm.com>
9995
9996 PR rtl/66556
9997 * simplify-rtx.c (simplify_const_relational_operation): Add
9998 side_effects_p checks.
9999
10000 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
10001
10002 * bitmap.h: Fix double word typos.
10003 * builtins.c: Same.
10004 * calls.c: Same.
10005 * cfgloopmanip.c: Same.
10006 * cgraph.c: Same.
10007 * cgraph.h: Same.
10008 * cgraphclones.c: Same.
10009 * combine.c: Same.
10010 * config/aarch64/aarch64-protos.h: Same.
10011 * config/aarch64/aarch64.c: Same.
10012 * config/aarch64/aarch64.md: Same.
10013 * config/arm/arm.md: Same.
10014 * config/arm/arm1020e.md: Same.
10015 * config/arm/arm1026ejs.md: Same.
10016 * config/arm/arm926ejs.md: Same.
10017 * config/arm/fa526.md: Same.
10018 * config/arm/fa606te.md: Same.
10019 * config/arm/fa626te.md: Same.
10020 * config/arm/fa726te.md: Same.
10021 * config/arm/fmp626.md: Same.
10022 * config/darwin.c: Same.
10023 * config/epiphany/epiphany.c: Same.
10024 * config/frv/frv.c: Same.
10025 * config/ft32/ft32.c: Same.
10026 * config/gnu-user.h: Same.
10027 * config/h8300/constraints.md: Same.
10028 * config/i386/i386.c: Same.
10029 * config/i386/i386.md: Same.
10030 * config/iq2000/iq2000.md: Same.
10031 * config/mips/mips.c: Same.
10032 * config/mmix/mmix.md: Same.
10033 * config/moxie/moxie.c: Same.
10034 * config/nds32/nds32.md: Same.
10035 * config/pa/pa.h: Same.
10036 * config/rs6000/aix.h: Same.
10037 * config/rs6000/rs6000.h: Same.
10038 * config/sh/sh.c: Same.
10039 * config/tilegx/tilegx.md: Same.
10040 * config/tilepro/gen-mul-tables.cc: Same.
10041 * cse.c: Same.
10042 * dbxout.c: Same.
10043 * doc/invoke.texi: Same.
10044 * dse.c: Same.
10045 * dwarf2out.c: Same.
10046 * final.c: Same.
10047 * gcc.c: Same.
10048 * genmatch.c: Same.
10049 * gimplify.c: Same.
10050 * hash-table.h: Same.
10051 * internal-fn.c: Same.
10052 * ipa-cp.c: Same.
10053 * ipa-devirt.c: Same.
10054 * ipa-icf.c: Same.
10055 * ipa-icf.h: Same.
10056 * ipa-profile.c: Same.
10057 * ipa-prop.c: Same.
10058 * ipa-prop.h: Same.
10059 * ira.c: Same.
10060 * omp-low.c: Same.
10061 * reg-stack.c: Same.
10062 * regcprop.c: Same.
10063 * reorg.c: Same.
10064 * rtl.h: Same.
10065 * sbitmap.h: Same.
10066 * tree-eh.c: Same.
10067 * tree-inline.c: Same.
10068 * tree-sra.c: Same.
10069 * tree-ssa-dom.c: Same.
10070 * tree-ssa-loop-ivopts.c: Same.
10071 * tree-ssa-structalias.c: Same.
10072 * tree-ssa-tail-merge.c: Same.
10073 * tree-ssa-ter.c: Same.
10074 * tree-ssa-threadupdate.c: Same.
10075 * tree-ssa-uninit.c: Same.
10076 * tree-ssanames.c: Same.
10077 * tree-vect-loop-manip.c: Same.
10078 * tree-vrp.c: Same.
10079 * tree.c: Same.
10080 * valtrack.c: Same.
10081 * vec.h: Same.
10082
10083 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
10084
10085 PR middle-end/66726
10086 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
10087 tree_ssa_phiopt_worker): Call it.
10088
10089 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
10090
10091 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
10092 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
10093 REG_EQUAL note.
10094
10095 2015-07-11 Marek Polacek <polacek@redhat.com>
10096
10097 PR middle-end/66353
10098 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
10099 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
10100 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
10101 rather than bb_has_abnormal_call_pred.
10102 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
10103 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
10104 rather than bb_has_abnormal_call_pred.
10105
10106 2015-07-10 Anatoly Sokolov <aesok@post.ru>
10107
10108 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
10109 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
10110 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
10111 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
10112 v850_legitimate_address_p): New functions.
10113 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
10114
10115 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
10116
10117 PR target/66819
10118 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
10119 indirect sibcall with register arguments if register available
10120 for argument passing.
10121 (init_cumulative_args): Set cfun->machine->arg_reg_available
10122 to (cum->nregs > 0) or to true if function has a variable
10123 argument list.
10124 (function_arg_advance_32): Set cfun->machine->arg_reg_available
10125 to false if cum->nregs <= 0.
10126 * config/i386/i386.h (machine_function): Add arg_reg_available.
10127
10128 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
10129
10130 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
10131 and gen_higpart instead of gen_rtx_SUBREG.
10132 * config/i386/i386.md
10133 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
10134 (read-modify peephole2): Use gen_lowpart instead of
10135 gen_rtx_SUBREG for operand 5.
10136
10137 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
10138
10139 * config/tilepro/gen-mul-tables.cc (main): Change include list for
10140 generated files.
10141 * config/tilepro/mul-tables.c: Regenerate.
10142 * config/tilegx/mul-tables.c: Regenerate.
10143
10144 2015-07-10 Richard Biener <rguenther@suse.de>
10145
10146 * fold-const.c (distribute_bit_expr): Remove.
10147 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
10148 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
10149 to A & (B | C) and simplifying A << C1 << C2 to ...
10150 * match.pd: ... patterns here.
10151
10152 2015-07-10 Jiong Wang <jiong.wang@arm.com>
10153
10154 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
10155 Mark mem as READONLY and NOTRAP for PIC symbol.
10156
10157 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
10158
10159 * gimple-predict.h: New file.
10160 (gimple_predict_predictor, gimple_predict_set_predictor,
10161 gimple_predict_outcome, gimple_predict_set_outcome,
10162 gimple_build_predict): Relocate here.
10163 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
10164 gimple_predict_outcome, gimple_predict_set_outcome): Move to
10165 gimple-predict.h.
10166 * gimple.c (gimple_build_predict): Move to gimple-predict.h
10167 * basic-block.h: Don't include cfghooks.h.
10168 * backend.h: Don't include predict.h.
10169 * cfghooks.h: Include predict.h.
10170 * gimple-pretty-print.c: Include gimple-predict.h.
10171 * gimplify.c: Likwise.
10172 * predict.c: Adjust includes.
10173 * tree-inline.c: Likewise.
10174 * asan.c: Likewise.
10175 * auto-inc-dec.c: Likewise.
10176 * auto-profile.c: Likewise.
10177 * bb-reorder.c: Likewise.
10178 * builtins.c: Likewise.
10179 * caller-save.c: Likewise.
10180 * calls.c: Likewise.
10181 * cfganal.c: Likewise.
10182 * cfgbuild.c: Likewise.
10183 * cfg.c: Likewise.
10184 * cfgcleanup.c: Likewise.
10185 * cfgexpand.c: Likewise.
10186 * cfghooks.c: Likewise.
10187 * cfgloopanal.c: Likewise.
10188 * cfgloop.c: Likewise.
10189 * cfgloopmanip.c: Likewise.
10190 * cfgrtl.c: Likewise.
10191 * cgraph.c: Likewise.
10192 * cgraphunit.c: Likewise.
10193 * combine.c: Likewise.
10194 * cprop.c: Likewise.
10195 * cse.c: Likewise.
10196 * dce.c: Likewise.
10197 * dojump.c: Likewise.
10198 * dse.c: Likewise.
10199 * except.c: Likewise.
10200 * expmed.c: Likewise.
10201 * expr.c: Likewise.
10202 * final.c: Likewise.
10203 * fold-const.c: Likewise.
10204 * function.c: Likewise.
10205 * fwprop.c: Likewise.
10206 * gcc-plugin.h: Likewise.
10207 * gcse.c: Likewise.
10208 * genattrtab.c: Likewise.
10209 * genemit.c: Likewise.
10210 * gengtype.c: Likewise.
10211 * genopinit.c: Likewise.
10212 * genoutput.c: Likewise.
10213 * genpreds.c: Likewise.
10214 * genrecog.c: Likewise.
10215 * gimple-fold.c: Likewise.
10216 * gimple-iterator.c: Likewise.
10217 * gimple-ssa-isolate-paths.c: Likewise.
10218 * gimple-ssa-strength-reduction.c: Likewise.
10219 * graph.c: Likewise.
10220 * graphite-blocking.c: Likewise.
10221 * graphite.c: Likewise.
10222 * graphite-dependences.c: Likewise.
10223 * graphite-interchange.c: Likewise.
10224 * graphite-isl-ast-to-gimple.c: Likewise.
10225 * graphite-optimize-isl.c: Likewise.
10226 * graphite-poly.c: Likewise.
10227 * graphite-scop-detection.c: Likewise.
10228 * graphite-sese-to-poly.c: Likewise.
10229 * haifa-sched.c: Likewise.
10230 * ifcvt.c: Likewise.
10231 * internal-fn.c: Likewise.
10232 * ipa-cp.c: Likewise.
10233 * ipa-profile.c: Likewise.
10234 * ipa-split.c: Likewise.
10235 * ipa-utils.c: Likewise.
10236 * ira-build.c: Likewise.
10237 * ira-color.c: Likewise.
10238 * ira-conflicts.c: Likewise.
10239 * ira-costs.c: Likewise.
10240 * ira-emit.c: Likewise.
10241 * ira-lives.c: Likewise.
10242 * jump.c: Likewise.
10243 * loop-doloop.c: Likewise.
10244 * loop-init.c: Likewise.
10245 * loop-invariant.c: Likewise.
10246 * loop-unroll.c: Likewise.
10247 * lower-subreg.c: Likewise.
10248 * lra-assigns.c: Likewise.
10249 * lra.c: Likewise.
10250 * lra-coalesce.c: Likewise.
10251 * lra-constraints.c: Likewise.
10252 * lra-lives.c: Likewise.
10253 * lto-cgraph.c: Likewise.
10254 * lto-streamer-in.c: Likewise.
10255 * mode-switching.c: Likewise.
10256 * modulo-sched.c: Likewise.
10257 * omp-low.c: Likewise.
10258 * optabs.c: Likewise.
10259 * passes.c: Likewise.
10260 * postreload.c: Likewise.
10261 * postreload-gcse.c: Likewise.
10262 * profile.c: Likewise.
10263 * recog.c: Likewise.
10264 * regstat.c: Likewise.
10265 * reload1.c: Likewise.
10266 * reorg.c: Likewise.
10267 * rtlanal.c: Likewise.
10268 * sched-ebb.c: Likewise.
10269 * sel-sched-ir.c: Likewise.
10270 * sese.c: Likewise.
10271 * shrink-wrap.c: Likewise.
10272 * simplify-rtx.c: Likewise.
10273 * stmt.c: Likewise.
10274 * store-motion.c: Likewise.
10275 * tracer.c: Likewise.
10276 * trans-mem.c: Likewise.
10277 * tree-call-cdce.c: Likewise.
10278 * tree-cfg.c: Likewise.
10279 * tree-cfgcleanup.c: Likewise.
10280 * tree-chkp.c: Likewise.
10281 * tree-complex.c: Likewise.
10282 * tree-eh.c: Likewise.
10283 * tree-if-conv.c: Likewise.
10284 * tree-loop-distribution.c: Likewise.
10285 * tree-outof-ssa.c: Likewise.
10286 * tree-parloops.c: Likewise.
10287 * tree-predcom.c: Likewise.
10288 * tree-pretty-print.c: Likewise.
10289 * tree-profile.c: Likewise.
10290 * tree-sra.c: Likewise.
10291 * tree-ssa.c: Likewise.
10292 * tree-ssa-coalesce.c: Likewise.
10293 * tree-ssa-dce.c: Likewise.
10294 * tree-ssa-dom.c: Likewise.
10295 * tree-ssa-forwprop.c: Likewise.
10296 * tree-ssa-ifcombine.c: Likewise.
10297 * tree-ssa-loop-ch.c: Likewise.
10298 * tree-ssa-loop-im.c: Likewise.
10299 * tree-ssa-loop-ivcanon.c: Likewise.
10300 * tree-ssa-loop-ivopts.c: Likewise.
10301 * tree-ssa-loop-manip.c: Likewise.
10302 * tree-ssa-loop-prefetch.c: Likewise.
10303 * tree-ssa-loop-unswitch.c: Likewise.
10304 * tree-ssa-math-opts.c: Likewise.
10305 * tree-ssa-phiopt.c: Likewise.
10306 * tree-ssa-pre.c: Likewise.
10307 * tree-ssa-reassoc.c: Likewise.
10308 * tree-ssa-sink.c: Likewise.
10309 * tree-ssa-tail-merge.c: Likewise.
10310 * tree-ssa-threadedge.c: Likewise.
10311 * tree-ssa-threadupdate.c: Likewise.
10312 * tree-switch-conversion.c: Likewise.
10313 * tree-tailcall.c: Likewise.
10314 * tree-vect-data-refs.c: Likewise.
10315 * tree-vect-loop.c: Likewise.
10316 * tree-vect-loop-manip.c: Likewise.
10317 * tree-vectorizer.c: Likewise.
10318 * tree-vrp.c: Likewise.
10319 * ubsan.c: Likewise.
10320 * value-prof.c: Likewise.
10321 * varasm.c: Likewise.
10322 * var-tracking.c: Likewise.
10323 * config/aarch64/aarch64-builtins.c: Likewise.
10324 * config/aarch64/aarch64.c: Likewise.
10325 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
10326 * config/alpha/alpha.c: Likewise.
10327 * config/arc/arc.c: Likewise.
10328 * config/arm/arm.c: Likewise.
10329 * config/avr/avr.c: Likewise.
10330 * config/bfin/bfin.c: Likewise.
10331 * config/c6x/c6x.c: Likewise.
10332 * config/cr16/cr16.c: Likewise.
10333 * config/cris/cris.c: Likewise.
10334 * config/darwin.c: Likewise.
10335 * config/darwin-c.c: Likewise.
10336 * config/epiphany/epiphany.c: Likewise.
10337 * config/epiphany/mode-switch-use.c: Likewise.
10338 * config/epiphany/resolve-sw-modes.c: Likewise.
10339 * config/fr30/fr30.c: Likewise.
10340 * config/frv/frv.c: Likewise.
10341 * config/ft32/ft32.c: Likewise.
10342 * config/h8300/h8300.c: Likewise.
10343 * config/i386/i386.c: Likewise.
10344 * config/i386/winnt.c: Likewise.
10345 * config/ia64/ia64.c: Likewise.
10346 * config/iq2000/iq2000.c: Likewise.
10347 * config/lm32/lm32.c: Likewise.
10348 * config/m32c/m32c.c: Likewise.
10349 * config/m32r/m32r.c: Likewise.
10350 * config/m68k/m68k.c: Likewise.
10351 * config/mcore/mcore.c: Likewise.
10352 * config/mep/mep.c: Likewise.
10353 * config/microblaze/microblaze.c: Likewise.
10354 * config/mips/mips.c: Likewise.
10355 * config/mmix/mmix.c: Likewise.
10356 * config/mn10300/mn10300.c: Likewise.
10357 * config/moxie/moxie.c: Likewise.
10358 * config/msp430/msp430.c: Likewise.
10359 * config/nds32/nds32.c: Likewise.
10360 * config/nds32/nds32-cost.c: Likewise.
10361 * config/nds32/nds32-fp-as-gp.c: Likewise.
10362 * config/nds32/nds32-intrinsic.c: Likewise.
10363 * config/nds32/nds32-isr.c: Likewise.
10364 * config/nds32/nds32-md-auxiliary.c: Likewise.
10365 * config/nds32/nds32-memory-manipulation.c: Likewise.
10366 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
10367 * config/nds32/nds32-predicates.c: Likewise.
10368 * config/nios2/nios2.c: Likewise.
10369 * config/nvptx/nvptx.c: Likewise.
10370 * config/pa/pa.c: Likewise.
10371 * config/pdp11/pdp11.c: Likewise.
10372 * config/rl78/rl78.c: Likewise.
10373 * config/rs6000/rs6000.c: Likewise.
10374 * config/rx/rx.c: Likewise.
10375 * config/s390/s390.c: Likewise.
10376 * config/sh/sh.c: Likewise.
10377 * config/sh/sh-mem.cc: Likewise.
10378 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
10379 * config/sh/sh_treg_combine.cc: Likewise.
10380 * config/sparc/sparc.c: Likewise.
10381 * config/spu/spu.c: Likewise.
10382 * config/stormy16/stormy16.c: Likewise.
10383 * config/tilegx/tilegx.c: Likewise.
10384 * config/tilepro/tilepro.c: Likewise.
10385 * config/v850/v850.c: Likewise.
10386 * config/vax/vax.c: Likewise.
10387 * config/visium/visium.c: Likewise.
10388 * config/xtensa/xtensa.c: Likewise.
10389
10390 2015-07-10 Richard Biener <rguenther@suse.de>
10391
10392 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
10393 (decision_tree::gen_gimple): Likewise.
10394 (decision_tree::gen_generic): Likewise.
10395
10396 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
10397
10398 PR target/66813
10399 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
10400 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
10401
10402 2015-07-10 Jakub Jelinek <jakub@redhat.com>
10403
10404 PR middle-end/66820
10405 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
10406 or ORT_TASK contexts.
10407 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
10408 is non-zero.
10409
10410 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10411
10412 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
10413 above function.
10414
10415 2015-07-10 Tom de Vries <tom@codesourcery.com>
10416
10417 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
10418 insert nit + 1 bound.
10419
10420 2015-07-10 Richard Biener <rguenther@suse.de>
10421
10422 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
10423 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
10424 (if_convertible_loop_p_1): For this always compute bb predicates.
10425 (if_convertible_loop_p): And free them.
10426
10427 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
10428
10429 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
10430 in dump message.
10431
10432 2015-07-10 Richard Biener <rguenther@suse.de>
10433
10434 PR tree-optimization/66823
10435 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
10436 inverted predicate.
10437
10438 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
10439
10440 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
10441 to handle mips[32|64]r3 and mips[32|64]r5.
10442
10443 2015-07-09 Jakub Jelinek <jakub@redhat.com>
10444
10445 PR middle-end/66633
10446 * tree-nested.c (get_static_chain): Or in a flag into
10447 info->static_chain_added.
10448 (get_frame_field, get_nonlocal_debug_decl): Likewise.
10449 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
10450 2015-07-01 changes.
10451 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
10452 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
10453 add it to clauses.
10454
10455 PR tree-optimization/66718
10456 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
10457 field.
10458 (vect_simd_lane_linear): New function.
10459 (vectorizable_simd_clone_call): Support using linear arguments for
10460 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
10461
10462 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
10463
10464 PR target/66821
10465 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
10466
10467 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
10468
10469 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
10470 Use machine mode, not enum machine_mode in the prototype.
10471
10472 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
10473 classify 128-bit floating point support.
10474 (FLOAT128_IBM_P): Likewise.
10475 (FLOAT128_VECTOR_P): Likewise.
10476 (FLOAT128_2REG_P): Likewise.
10477 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
10478 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
10479 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
10480 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
10481
10482 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
10483 tests against TFmode/TDmode, since those modes do not use VSX
10484 addresses.
10485 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
10486 support.
10487 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
10488 tests against TFmode, etc.
10489 (invalid_e500_subreg): Add tests against IFmode/KFmode.
10490 (reg_offset_addressing_ok_p): Likewise.
10491 (rs6000_legitimate_offset_address_p): Likewise.
10492 (rs6000_legitimize_address): Likewise.
10493 (rs6000_legitimize_reload_address): Likewise.
10494 (rs6000_legitimate_address_p): Clean up tests against TFmode and
10495 TDmode to use the new helper macros, which will include IFmode and
10496 KFmode.
10497 (rs6000_emit_move): Likewise.
10498 (rs6000_darwin64_record_arg_recurse): Likewise.
10499 (print_operand): Likewise.
10500 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
10501 that uses a single vector register as a vector and not as a
10502 floating point register in terms of the calling sequence.
10503 (rs6000_discover_homogeneous_aggregate): Likewise.
10504 (rs6000_return_in_memory): Likewise.
10505 (init_cumulative_args): Likewise.
10506 (rs6000_function_arg_boundary): Likewise.
10507 (rs6000_function_arg_advance_1): Likewise.
10508 (rs6000_function_arg): Likewise.
10509 (rs6000_pass_by_reference): Likewise.
10510 (rs6000_gimplify_va_arg): Likewise.
10511 (rs6000_secondary_reload_memory): Use machine_mode not enum
10512 machine mode.
10513 (rs6000_split_multireg_move): Use new helper macros.
10514 (spe_func_has_64bit_regs_p): Likewise.
10515 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
10516 (output_toc): Use new helper macros.
10517 (rs6000_register_move_cost): Likewise.
10518 (rs6000_function_value): Add IEEE 128-bit floating point calling
10519 sequence support.
10520 (rs6000_libcall_value): Likewise.
10521 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
10522 floating point support.
10523 (rs6000_vector_mode_supported_p): Likewise.
10524
10525 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
10526
10527 PR rtl-optimization/66782
10528 * lra-int.h (struct lra_insn_recog_data): Add comment about
10529 clobbered hard regs for arg_hard_regs.
10530 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
10531 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
10532 Add condition for processing used hard regs.
10533 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
10534 Process clobbered hard regs.
10535
10536 2015-07-09 Michael Matz <matz@suse.de>
10537
10538 * genmatch.c (fprintf_indent): New function.
10539 (operand::gen_transform): Add indent parameter.
10540 (expr::gen_transform, c_expr::gen_transform,
10541 capture::gen_transform): Ditto and use fprintf_indent.
10542 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
10543 (dt_operand::gen, dt_operand::gen_predicate,
10544 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
10545 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
10546 (decision_tree::gen_gimple): Adjust calls and indent generated
10547 code.
10548 (decision_tree::gen_generic): Ditto.
10549 (write_predicate): Ditto.
10550
10551 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
10552
10553 PR target/66814
10554 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
10555 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
10556 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
10557 {GENERAL,SSE,MMX}_REG_P where appropriate.
10558
10559 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
10560
10561 * lto-streamer.h: Don't include target.h and alloc-pool.h.
10562 * builtins.c: Adjust includes.
10563 * gimple.c: Likewise.
10564 * ipa-icf.c: Likewise.
10565 * lto-opts.c: Likewise.
10566 * ipa-reference.c: Likewise.
10567 * lto-section-out.c: Likewise.
10568 * lto-streamer-in.c: Likewise.
10569 * lto-streamer-out.c: Likewise.
10570 * opts-global.c: Likewise.
10571 * symtab.c: Likewise.
10572 * tree-chkp.c: Likewise.
10573 * tree-ssa-live.c: Likewise.
10574 * tree-streamer-in.c: Likewise.
10575 * tree-streamer-out.c: Likewise.
10576 * config/darwin.c: Likewise.
10577 * config/i386/winnt.c: Likewise.
10578
10579 2015-07-09 Richard Biener <rguenther@suse.de>
10580
10581 * genmatch.c (struct expr): Add force_single_use flag.
10582 (expr::expr): Add copy constructor.
10583 (capture_info::walk_match): Gather force_single_use captures.
10584 (expr::gen_transform): Use possibly NULLified sequence.
10585 (dt_simplify::gen): Apply single-use restrictions by NULLifying
10586 seq if any constrained expr is not single-use.
10587 (parser::parse_expr): Refactor to allow multiple flags. Handle
10588 's' flag to force an expression have a single-use if the pattern
10589 simplifies to more than one statement.
10590 * match.pd: Convert most single_use conditionals to :s flags.
10591
10592 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
10593
10594 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
10595 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
10596 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
10597
10598 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
10599
10600 * flags.h: Don't include flag-types.h or options.h.
10601 * opts-common.c: Adjust includes.
10602 * opts-global.c: Likewise.
10603 * common/config/epiphany/epiphany-common.c: Likewise.
10604
10605 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
10606
10607 PR target/66818
10608 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
10609 for IA MCU.
10610
10611 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
10612
10613 PR target/66817
10614 * config/i386/i386.c (ix86_return_in_memory): Return true
10615 if int_size_in_bytes returns negative for IA MCU.
10616
10617 2015-07-09 Marek Polacek <polacek@redhat.com>
10618
10619 PR tree-optimization/66718
10620 * Makefile.in (OBJS): Add gimple-laddress.o.
10621 * passes.def: Schedule pass_laddress.
10622 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
10623 * tree-pass.h (make_pass_laddress): Declare.
10624 * gimple-laddress.c: New file.
10625
10626 2015-07-09 Richard Biener <rguenther@suse.de>
10627
10628 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
10629
10630 2015-07-09 Richard Biener <rguenther@suse.de>
10631
10632 PR tree-optimization/66807
10633 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
10634
10635 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
10636
10637 * function.c (stack_protect_epilogue): Use if rather than switch for
10638 check targetm.have_stack_protect_test.
10639
10640 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10641
10642 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
10643 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
10644 * config/arc/arc.h: Likewise.
10645 * config/arm/arm.h: Likewise.
10646 * config/bfin/bfin.h: Likewise.
10647 * config/epiphany/epiphany.h: Likewise.
10648 * config/frv/frv.h: Likewise.
10649 * config/ia64/ia64.h: Likewise.
10650 * config/iq2000/iq2000.h: Likewise.
10651 * config/lm32/lm32.h: Likewise.
10652 * config/m32r/m32r.h: Likewise.
10653 * config/mcore/mcore.h: Likewise.
10654 * config/mep/mep.h: Likewise.
10655 * config/microblaze/microblaze.h: Likewise.
10656 * config/mips/mips.h: Likewise.
10657 * config/mmix/mmix.h: Likewise.
10658 * config/mn10300/mn10300.h: Likewise.
10659 * config/nds32/nds32.h: Likewise.
10660 * config/nios2/nios2.h: Likewise.
10661 * config/pa/pa.h: Likewise.
10662 * config/rl78/rl78.h: Likewise.
10663 * config/sh/sh.h: Likewise.
10664 * config/sparc/sparc.h: Likewise.
10665 * config/stormy16/stormy16.h: Likewise.
10666 * config/tilegx/tilegx.h: Likewise.
10667 * config/tilepro/tilepro.h: Likewise.
10668 * config/v850/v850.h: Likewise.
10669 * config/xtensa/xtensa.h: Likewise.
10670 * doc/tm.texi: Regenerate.
10671 * doc/tm.texi.in: Adjust.
10672 * combine.c (simplify_set): Likewise.
10673 (simplify_comparison): Likewise.
10674 * expr.c (store_constructor): Likewise.
10675 * internal-fn.c (expand_arith_overflow): Likewise.
10676 * reload.c (push_reload): Likewise.
10677 (find_reloads): Likewise.
10678 (find_reloads_subreg_address): Likewise.
10679 * reload1.c (eliminate_regs_1): Likewise.
10680 * rtlanal.c (nonzero_bits1): Likewise.
10681 (num_sign_bit_copies1): Likewise.
10682 * simplify-rtx.c (simplify_truncation): Likewise.
10683
10684 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10685
10686 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
10687 of AUTO_INC_DEC with the preprocessor.
10688 * combine.c (combine_instructions): Likewise.
10689 (can_combine_p): Likewise.
10690 (try_combine): Likewise.
10691 * emit-rtl.c (try_split): Likewise.
10692 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
10693 * lower-subreg.c (resolve_simple_move): Likewise.
10694 * lra.c (update_inc_notes): Likewise.
10695 * recog.c (asm_operand_ok): Likewise.
10696 (constrain_operands): Likewise.
10697 * regrename.c (scan_rtx_address): Likewise.
10698 * reload.c (update_auto_inc_notes): Likewise.
10699 (reg_inc_found_and_valid_p): Likewise.
10700 * reload1.c (reload): Likewise.
10701 (emit_input_reload_insns): Likewise.
10702 (delete_output_reload): Likewise.
10703 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
10704 * valtrack.c (cleanup_auto_inc_dec): Likewise.
10705
10706 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10707
10708 * rtl.h: Always define AUTO_INC_DEC.
10709 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
10710 * combine.c (combine_instructions): Likewise.
10711 (can_combine_p): Likewise.
10712 (try_combine): Likewise.
10713 * emit-rtl.c (try_split): Likewise.
10714 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
10715 * lower-subreg.c (resolve_simple_move): Likewise.
10716 * lra.c (update_inc_notes): Likewise.
10717 * recog.c (asm_operand_ok): Likewise.
10718 (constrain_operands): Likewise.
10719 * regrename.c (scan_rtx_address): Likewise.
10720 * reload.c (update_auto_inc_notes): Likewise.
10721 (find_equiv_reg): Likewise.
10722 * reload1.c (reload): Likewise.
10723 (reload_as_needed): Likewise.
10724 (choose_reload_regs): Likewise.
10725 (emit_input_reload_insns): Likewise.
10726 (delete_output_reload): Likewise.
10727 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
10728 * valtrack.c (cleanup_auto_inc_dec): Likewise.
10729
10730 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10731
10732 * combine.c (can_combine_def_p): Don't check the value of
10733 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
10734 (combinable_i3pat): Likewise.
10735 (mark_used_regs_combine): Likewise.
10736 * regrename.c (rename_chains): Likewise.
10737 * reload.c (find_reloads_address): Likewise.
10738 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
10739
10740 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10741
10742 * combine.c (update_rsp_from_reg_equal): Don't check if
10743 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
10744 (reg_nonzero_bits_for_combine): Likewise.
10745 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
10746 1.
10747 * config/frv/frv.h: Likewise.
10748 * config/lm32/lm32.h: Likewise.
10749 * config/mep/mep.h: Likewise.
10750 * config/mips/mips.h: Likewise.
10751 * config/rs6000/rs6000.h: Likewise.
10752 * config/sh/sh.h: Likewise.
10753 * config/tilegx/tilegx.h (enum reg_class): Likewise.
10754 * config/tilepro/tilepro.h: Likewise.
10755 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
10756 * doc/tm.texi: Regenerate.
10757 * doc/tm.texi.in: Adjust.
10758 * rtlanal.c (nonzero_bits1): Likewise.
10759
10760 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10761
10762 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
10763 with the preprocessor.
10764 (combine_instructions): Likewise.
10765 (try_combine): Likewise.
10766 (subst): Likewise.
10767 (distribute_notes): Likewise.
10768
10769 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10770
10771 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
10772 defined.
10773 (simplify_set): Likewise.
10774 * cse.c (cse_insn): Likewise.
10775 * fold-const.c (fold_single_bit_test): Likewise.
10776 (fold_unary_loc): Likewise.
10777 * postreload.c (reload_cse_simplify_set): Likewise.
10778 (reload_cse_simplify_operands): Likewise.
10779
10780 2015-07-08 Jiong Wang <jiong.wang@arm.com>
10781
10782 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
10783 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
10784
10785 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
10786
10787 PR target/66746
10788 * config/i386/x86intrin.h: Include <adxintrin.h> even if
10789 __iamcu__ is defined.
10790
10791 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
10792
10793 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
10794
10795 2015-07-08 Iain Sandoe <iain@codesourcery.com>
10796
10797 PR target/66523
10798 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
10799 names from preservation.
10800
10801 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
10802
10803 PR target/66806
10804 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
10805 change for IAMCU.
10806 (function_arg_advance_32): Don't pass vectors in registers for
10807 IAMCU.
10808 (function_arg_32): Likewise.
10809 (ix86_return_in_memory): Don't return vectors in registers for
10810 IAMCU.
10811
10812 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
10813
10814 PR middle-end/66334
10815 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
10816 hard regno live at the start of BB with incoming abnormal edges.
10817 * lra-lives.c (process_bb_lives): Ditto.
10818
10819 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
10820
10821 PR libgomp/65099
10822 * config/nvptx/mkoffload.c (main): Create an offload image only in
10823 64-bit configurations.
10824
10825 2015-07-08 Martin Liska <mliska@suse.cz>
10826
10827 PR bootstrap/66744
10828 * tree-sra.c (create_access_1): Call ctor without brackets.
10829 (create_artificial_child_access): Likewise.
10830
10831 2015-07-08 Richard Biener <rguenther@suse.de>
10832
10833 PR tree-optimization/66793
10834 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
10835 Properly split the block after stmts ending it.
10836
10837 2015-07-08 Richard Biener <rguenther@suse.de>
10838
10839 PR tree-optimization/66794
10840 * passes.c (execute_function_todo): Assert that post-dominators
10841 are not computed.
10842 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
10843 Free post-dominators.
10844
10845 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10846
10847 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
10848 with early exit.
10849
10850 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
10851
10852 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
10853 more than or equal 8 and less than 32 when optimizing for size.
10854
10855 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10856
10857 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
10858 COSTS_N_INSNS (1) and increment it appropriately throughout the
10859 function.
10860
10861 2015-07-08 Richard Biener <rguenther@suse.de>
10862
10863 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
10864
10865 2015-07-08 Alan Modra <amodra@gmail.com>
10866
10867 * target.def (rtx_costs): Remove "code" param, add "mode".
10868 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
10869 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
10870 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
10871 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
10872 call. Track mode when given in rtx.
10873 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
10874 (default_address_cost): Pass Pmode to rtx_cost.
10875 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
10876 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
10877 with NULL set.
10878 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
10879 (notreg_cost): Add mode param. Use it.
10880 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
10881 mode param and pass to set_src_cost. Update all calls.
10882 (hash_scan_set): Formatting.
10883 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
10884 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
10885 * hooks.h: Ditto.
10886 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
10887 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
10888 emit_store_flag): Update set_src_cost and rtx_cost calls.
10889 * auto-inc-dec.c (attempt_change): Likewise.
10890 * calls.c (precompute_register_parameters): Likewise.
10891 * combine.c (expand_compound_operation, make_extraction,
10892 force_to_mode, distribute_and_simplify_rtx): Likewise.
10893 * dojump.c (prefer_and_bit_test): Likewise.
10894 * dse.c (find_shift_sequence): Likewise.
10895 * expr.c (compress_float_constant): Likewise.
10896 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
10897 * ifcvt.c (noce_try_sign_mask): Likewise.
10898 * loop-doloop.c (doloop_optimize): Likewise.
10899 * loop-invariant.c (create_new_invariant): Likewise.
10900 * lower-subreg.c (shift_cost, compute_costs): Likewise.
10901 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
10902 lshift_cheap_p): Likewise.
10903 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
10904 try_replace_in_use, reload_cse_move2add): Likewise.
10905 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
10906 Likewise.
10907 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
10908 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
10909 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
10910 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
10911 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
10912 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
10913 to rtx_cost calls.
10914 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
10915 * config/arc/arc.c (arc_rtx_costs): Likewise.
10916 * config/arm/arm.c (arm_rtx_costs): Likewise.
10917 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
10918 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
10919 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
10920 * config/cris/cris.c (cris_rtx_costs): Likewise.
10921 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
10922 * config/frv/frv.c (frv_rtx_costs): Likewise.
10923 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
10924 * config/i386/i386.c (ix86_rtx_costs): Likewise.
10925 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
10926 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
10927 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
10928 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
10929 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
10930 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
10931 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
10932 * config/mep/mep.c (mep_rtx_cost): Likewise.
10933 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
10934 * config/mips/mips.c (mips_rtx_costs): Likewise.
10935 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
10936 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
10937 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
10938 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
10939 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
10940 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
10941 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
10942 * config/pa/pa.c (hppa_rtx_costs): Likewise.
10943 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
10944 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
10945 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
10946 * config/s390/s390.c (s390_rtx_costs): Likewise.
10947 * config/sh/sh.c (sh_rtx_costs): Likewise.
10948 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
10949 * config/spu/spu.c (spu_rtx_costs): Likewise.
10950 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
10951 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
10952 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
10953 * config/v850/v850.c (v850_rtx_costs): Likewise.
10954 * config/vax/vax.c (vax_rtx_costs): Likewise.
10955 * config/visium/visium.c (visium_rtx_costs): Likewise.
10956 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
10957 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
10958 "code" param, and pass as outer_code to first rtx_cost call. Pass
10959 mode to rtx_cost calls.
10960 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
10961 calls.
10962 (aarch64_rtx_costs_wrapper): Update.
10963 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
10964 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
10965 rtx_cost calls.
10966 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
10967 and rtx_cost calls.
10968 (avr_operand_rtx_cost): Similarly.
10969 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
10970 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
10971 * config/mips/mips.c (mips_stack_address_p): Comment typo.
10972 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
10973 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
10974 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
10975 rtx_cost.
10976 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
10977 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
10978 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
10979 * doc/tm.texi: Regenerate.
10980
10981 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
10982
10983 * tree-core.h: Include symtab.h.
10984 * rtl.h: Include hard-reg-set.h but not flags.h.
10985 (HARD_CONST): Remove condition compilation involving HARD_CONST since
10986 hard-reg-set.h is always included.
10987 * regs.h: Don't include hard-reg-set.h or rtl.h.
10988 * cfg.h: Include dominance.h.
10989 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
10990 * backend.h: New. Aggregate commonly used backend header files.
10991 * gimple-ssa.h: Don't include tree-hasher.h.
10992 * ssa.h: New. Aggregate commonly used SSA header files.
10993 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
10994 * sel-sched-ir.h: Flatten includes.
10995 * lra-int.h: Flatten completely.
10996 * sel-sched-dump.h: Flatten includes.
10997 * ira-int.h: Flatten includes.
10998 * gimple-streamer.h: Remove all includes.
10999 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
11000 * resource.h: Flatten hard-reg-set.h and df.h.
11001 * sched-int.h: Flatten insn-arrt.h and df.h.
11002 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
11003 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
11004 * genattrtab.c (write_header): Adjust generated includes.
11005 * genautomata.c (main): Likewise.
11006 * genconditions.c (write-header): Likewise.
11007 * genemit.c (main): Likewise.
11008 * gengtype.c (open_base_files): Likewise.
11009 * genopinit.c (main): Likewise.
11010 * genoutput.c (output_prologue): Likewise.
11011 * genpeep.c (main): Likewise.
11012 * genpreds.c (write_insn_preds_c): Likewise.
11013 * genrecog.c (write_header): Likewise.
11014 * alias.c: Adjust includes.
11015 * asan.c: Likewise.
11016 * attribs.c: Likewise.
11017 * auto-inc-dec.c: Likewise.
11018 * auto-profile.c: Likewise.
11019 * bb-reorder.c: Likewise.
11020 * bt-load.c: Likewise.
11021 * builtins.c: Likewise.
11022 * caller-save.c: Likewise.
11023 * calls.c: Likewise.
11024 * ccmp.c: Likewise.
11025 * cfg.c: Likewise.
11026 * cfganal.c: Likewise.
11027 * cfgbuild.c: Likewise.
11028 * cfgcleanup.c: Likewise.
11029 * cfgexpand.c: Likewise.
11030 * cfghooks.c: Likewise.
11031 * cfgloop.c: Likewise.
11032 * cfgloopanal.c: Likewise.
11033 * cfgloopmanip.c: Likewise.
11034 * cfgrtl.c: Likewise.
11035 * cgraph.c: Likewise.
11036 * cgraphbuild.c: Likewise.
11037 * cgraphclones.c: Likewise.
11038 * cgraphunit.c: Likewise.
11039 * cilk-common.c: Likewise.
11040 * combine-stack-adj.c: Likewise.
11041 * combine.c: Likewise.
11042 * compare-elim.c: Likewise.
11043 * convert.c: Likewise.
11044 * coverage.c: Likewise.
11045 * cppbuiltin.c: Likewise.
11046 * cprop.c: Likewise.
11047 * cse.c: Likewise.
11048 * cselib.c: Likewise.
11049 * data-streamer-in.c: Likewise.
11050 * data-streamer-out.c: Likewise.
11051 * data-streamer.c: Likewise.
11052 * dbxout.c: Likewise.
11053 * dce.c: Likewise.
11054 * ddg.c: Likewise.
11055 * debug.c: Likewise.
11056 * df-core.c: Likewise.
11057 * df-problems.c: Likewise.
11058 * df-scan.c: Likewise.
11059 * dfp.c: Likewise.
11060 * dojump.c: Likewise.
11061 * dominance.c: Likewise.
11062 * domwalk.c: Likewise.
11063 * double-int.c: Likewise.
11064 * dse.c: Likewise.
11065 * dumpfile.c: Likewise.
11066 * dwarf2asm.c: Likewise.
11067 * dwarf2cfi.c: Likewise.
11068 * dwarf2out.c: Likewise.
11069 * emit-rtl.c: Likewise.
11070 * et-forest.c: Likewise.
11071 * except.c: Likewise.
11072 * explow.c: Likewise.
11073 * expmed.c: Likewise.
11074 * expr.c: Likewise.
11075 * final.c: Likewise.
11076 * fixed-value.c: Likewise.
11077 * fold-const.c: Likewise.
11078 * function.c: Likewise.
11079 * fwprop.c: Likewise.
11080 * gcc-plugin.h: Likewise.
11081 * gcse-common.c: Likewise.
11082 * gcse.c: Likewise.
11083 * generic-match-head.c: Likewise.
11084 * ggc-page.c: Likewise.
11085 * gimple-builder.c: Likewise.
11086 * gimple-expr.c: Likewise.
11087 * gimple-fold.c: Likewise.
11088 * gimple-iterator.c: Likewise.
11089 * gimple-low.c: Likewise.
11090 * gimple-match-head.c: Likewise.
11091 * gimple-pretty-print.c: Likewise.
11092 * gimple-ssa-isolate-paths.c: Likewise.
11093 * gimple-ssa-strength-reduction.c: Likewise.
11094 * gimple-streamer-in.c: Likewise.
11095 * gimple-streamer-out.c: Likewise.
11096 * gimple-walk.c: Likewise.
11097 * gimple.c: Likewise.
11098 * gimplify-me.c: Likewise.
11099 * gimplify.c: Likewise.
11100 * godump.c: Likewise.
11101 * graph.c: Likewise.
11102 * graphite-blocking.c: Likewise.
11103 * graphite-dependences.c: Likewise.
11104 * graphite-interchange.c: Likewise.
11105 * graphite-isl-ast-to-gimple.c: Likewise.
11106 * graphite-optimize-isl.c: Likewise.
11107 * graphite-poly.c: Likewise.
11108 * graphite-scop-detection.c: Likewise.
11109 * graphite-sese-to-poly.c: Likewise.
11110 * graphite.c: Likewise.
11111 * haifa-sched.c: Likewise.
11112 * hw-doloop.c: Likewise.
11113 * ifcvt.c: Likewise.
11114 * init-regs.c: Likewise.
11115 * internal-fn.c: Likewise.
11116 * ipa-chkp.c: Likewise.
11117 * ipa-comdats.c: Likewise.
11118 * ipa-cp.c: Likewise.
11119 * ipa-devirt.c: Likewise.
11120 * ipa-icf-gimple.c: Likewise.
11121 * ipa-icf.c: Likewise.
11122 * ipa-inline-analysis.c: Likewise.
11123 * ipa-inline-transform.c: Likewise.
11124 * ipa-inline.c: Likewise.
11125 * ipa-polymorphic-call.c: Likewise.
11126 * ipa-profile.c: Likewise.
11127 * ipa-prop.c: Likewise.
11128 * ipa-pure-const.c: Likewise.
11129 * ipa-ref.c: Likewise.
11130 * ipa-reference.c: Likewise.
11131 * ipa-split.c: Likewise.
11132 * ipa-utils.c: Likewise.
11133 * ipa-visibility.c: Likewise.
11134 * ipa.c: Likewise.
11135 * ira-build.c: Likewise.
11136 * ira-color.c: Likewise.
11137 * ira-conflicts.c: Likewise.
11138 * ira-costs.c: Likewise.
11139 * ira-emit.c: Likewise.
11140 * ira-lives.c: Likewise.
11141 * ira.c: Likewise.
11142 * jump.c: Likewise.
11143 * langhooks.c: Likewise.
11144 * lcm.c: Likewise.
11145 * loop-doloop.c: Likewise.
11146 * loop-init.c: Likewise.
11147 * loop-invariant.c: Likewise.
11148 * loop-iv.c: Likewise.
11149 * loop-unroll.c: Likewise.
11150 * lower-subreg.c: Likewise.
11151 * lra-assigns.c: Likewise.
11152 * lra-coalesce.c: Likewise.
11153 * lra-constraints.c: Likewise.
11154 * lra-eliminations.c: Likewise.
11155 * lra-lives.c: Likewise.
11156 * lra-remat.c: Likewise.
11157 * lra-spills.c: Likewise.
11158 * lra.c: Likewise.
11159 * lto-cgraph.c: Likewise.
11160 * lto-compress.c: Likewise.
11161 * lto-opts.c: Likewise.
11162 * lto-section-in.c: Likewise.
11163 * lto-section-out.c: Likewise.
11164 * lto-streamer-in.c: Likewise.
11165 * lto-streamer-out.c: Likewise.
11166 * lto-streamer.c: Likewise.
11167 * mcf.c: Likewise.
11168 * mode-switching.c: Likewise.
11169 * modulo-sched.c: Likewise.
11170 * omega.c: Likewise.
11171 * omp-low.c: Likewise.
11172 * optabs.c: Likewise.
11173 * opts-global.c: Likewise.
11174 * passes.c: Likewise.
11175 * plugin.c: Likewise.
11176 * postreload-gcse.c: Likewise.
11177 * postreload.c: Likewise.
11178 * predict.c: Likewise.
11179 * print-rtl.c: Likewise.
11180 * print-tree.c: Likewise.
11181 * profile.c: Likewise.
11182 * real.c: Likewise.
11183 * realmpfr.c: Likewise.
11184 * recog.c: Likewise.
11185 * ree.c: Likewise.
11186 * reg-stack.c: Likewise.
11187 * regcprop.c: Likewise.
11188 * reginfo.c: Likewise.
11189 * regrename.c: Likewise.
11190 * regstat.c: Likewise.
11191 * reload.c: Likewise.
11192 * reload1.c: Likewise.
11193 * reorg.c: Likewise.
11194 * resource.c: Likewise.
11195 * rtl-chkp.c: Likewise.
11196 * rtlanal.c: Likewise.
11197 * rtlhooks.c: Likewise.
11198 * sanopt.c: Likewise.
11199 * sched-deps.c: Likewise.
11200 * sched-ebb.c: Likewise.
11201 * sched-rgn.c: Likewise.
11202 * sched-vis.c: Likewise.
11203 * sdbout.c: Likewise.
11204 * sel-sched-dump.c: Likewise.
11205 * sel-sched-ir.c: Likewise.
11206 * sel-sched.c: Likewise.
11207 * sese.c: Likewise.
11208 * shrink-wrap.c: Likewise.
11209 * simplify-rtx.c: Likewise.
11210 * stack-ptr-mod.c: Likewise.
11211 * stmt.c: Likewise.
11212 * stor-layout.c: Likewise.
11213 * store-motion.c: Likewise.
11214 * stringpool.c: Likewise.
11215 * symtab.c: Likewise.
11216 * target-globals.c: Likewise.
11217 * targhooks.c: Likewise.
11218 * toplev.c: Likewise.
11219 * tracer.c: Likewise.
11220 * trans-mem.c: Likewise.
11221 * tree-affine.c: Likewise.
11222 * tree-browser.c: Likewise.
11223 * tree-call-cdce.c: Likewise.
11224 * tree-cfg.c: Likewise.
11225 * tree-cfgcleanup.c: Likewise.
11226 * tree-chkp-opt.c: Likewise.
11227 * tree-chkp.c: Likewise.
11228 * tree-chrec.c: Likewise.
11229 * tree-complex.c: Likewise.
11230 * tree-data-ref.c: Likewise.
11231 * tree-dfa.c: Likewise.
11232 * tree-diagnostic.c: Likewise.
11233 * tree-dump.c: Likewise.
11234 * tree-eh.c: Likewise.
11235 * tree-emutls.c: Likewise.
11236 * tree-if-conv.c: Likewise.
11237 * tree-inline.c: Likewise.
11238 * tree-into-ssa.c: Likewise.
11239 * tree-iterator.c: Likewise.
11240 * tree-loop-distribution.c: Likewise.
11241 * tree-nested.c: Likewise.
11242 * tree-nrv.c: Likewise.
11243 * tree-object-size.c: Likewise.
11244 * tree-outof-ssa.c: Likewise.
11245 * tree-parloops.c: Likewise.
11246 * tree-phinodes.c: Likewise.
11247 * tree-predcom.c: Likewise.
11248 * tree-pretty-print.c: Likewise.
11249 * tree-profile.c: Likewise.
11250 * tree-scalar-evolution.c: Likewise.
11251 * tree-sra.c: Likewise.
11252 * tree-ssa-address.c: Likewise.
11253 * tree-ssa-alias.c: Likewise.
11254 * tree-ssa-ccp.c: Likewise.
11255 * tree-ssa-coalesce.c: Likewise.
11256 * tree-ssa-copy.c: Likewise.
11257 * tree-ssa-copyrename.c: Likewise.
11258 * tree-ssa-dce.c: Likewise.
11259 * tree-ssa-dom.c: Likewise.
11260 * tree-ssa-dse.c: Likewise.
11261 * tree-ssa-forwprop.c: Likewise.
11262 * tree-ssa-ifcombine.c: Likewise.
11263 * tree-ssa-live.c: Likewise.
11264 * tree-ssa-loop-ch.c: Likewise.
11265 * tree-ssa-loop-im.c: Likewise.
11266 * tree-ssa-loop-ivcanon.c: Likewise.
11267 * tree-ssa-loop-ivopts.c: Likewise.
11268 * tree-ssa-loop-manip.c: Likewise.
11269 * tree-ssa-loop-niter.c: Likewise.
11270 * tree-ssa-loop-prefetch.c: Likewise.
11271 * tree-ssa-loop-unswitch.c: Likewise.
11272 * tree-ssa-loop.c: Likewise.
11273 * tree-ssa-math-opts.c: Likewise.
11274 * tree-ssa-operands.c: Likewise.
11275 * tree-ssa-phiopt.c: Likewise.
11276 * tree-ssa-phiprop.c: Likewise.
11277 * tree-ssa-pre.c: Likewise.
11278 * tree-ssa-propagate.c: Likewise.
11279 * tree-ssa-reassoc.c: Likewise.
11280 * tree-ssa-sccvn.c: Likewise.
11281 * tree-ssa-scopedtables.c: Likewise.
11282 * tree-ssa-sink.c: Likewise.
11283 * tree-ssa-strlen.c: Likewise.
11284 * tree-ssa-structalias.c: Likewise.
11285 * tree-ssa-tail-merge.c: Likewise.
11286 * tree-ssa-ter.c: Likewise.
11287 * tree-ssa-threadedge.c: Likewise.
11288 * tree-ssa-threadupdate.c: Likewise.
11289 * tree-ssa-uncprop.c: Likewise.
11290 * tree-ssa-uninit.c: Likewise.
11291 * tree-ssa.c: Likewise.
11292 * tree-ssanames.c: Likewise.
11293 * tree-stdarg.c: Likewise.
11294 * tree-streamer-in.c: Likewise.
11295 * tree-streamer-out.c: Likewise.
11296 * tree-streamer.c: Likewise.
11297 * tree-switch-conversion.c: Likewise.
11298 * tree-tailcall.c: Likewise.
11299 * tree-vect-data-refs.c: Likewise.
11300 * tree-vect-generic.c: Likewise.
11301 * tree-vect-loop-manip.c: Likewise.
11302 * tree-vect-loop.c: Likewise.
11303 * tree-vect-patterns.c: Likewise.
11304 * tree-vect-slp.c: Likewise.
11305 * tree-vect-stmts.c: Likewise.
11306 * tree-vectorizer.c: Likewise.
11307 * tree-vrp.c: Likewise.
11308 * tree.c: Likewise.
11309 * tsan.c: Likewise.
11310 * ubsan.c: Likewise.
11311 * valtrack.c: Likewise.
11312 * value-prof.c: Likewise.
11313 * var-tracking.c: Likewise.
11314 * varasm.c: Likewise.
11315 * varpool.c: Likewise.
11316 * vmsdbgout.c: Likewise.
11317 * vtable-verify.c: Likewise.
11318 * web.c: Likewise.
11319 * wide-int.cc: Likewise.
11320 * xcoffout.c: Likewise.
11321 * config/aarch64/aarch64-builtins.c: Likewise.
11322 * config/aarch64/aarch64.c: Likewise.
11323 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
11324 * config/alpha/alpha.c: Likewise.
11325 * config/arc/arc.c: Likewise.
11326 * config/arm/aarch-common.c: Likewise.
11327 * config/arm/arm-builtins.c: Likewise.
11328 * config/arm/arm-c.c: Likewise.
11329 * config/arm/arm.c: Likewise.
11330 * config/avr/avr-c.c: Likewise.
11331 * config/avr/avr-log.c: Likewise.
11332 * config/avr/avr.c: Likewise.
11333 * config/bfin/bfin.c: Likewise.
11334 * config/c6x/c6x.c: Likewise.
11335 * config/cr16/cr16.c: Likewise.
11336 * config/cris/cris.c: Likewise.
11337 * config/darwin-c.c: Likewise.
11338 * config/darwin.c: Likewise.
11339 * config/epiphany/epiphany.c: Likewise.
11340 * config/epiphany/mode-switch-use.c: Likewise.
11341 * config/epiphany/resolve-sw-modes.c: Likewise.
11342 * config/fr30/fr30.c: Likewise.
11343 * config/frv/frv.c: Likewise.
11344 * config/ft32/ft32.c: Likewise.
11345 * config/h8300/h8300.c: Likewise.
11346 * config/i386/i386-c.c: Likewise.
11347 * config/i386/i386.c: Likewise.
11348 * config/i386/msformat-c.c: Likewise.
11349 * config/i386/winnt-cxx.c: Likewise.
11350 * config/i386/winnt-stubs.c: Likewise.
11351 * config/i386/winnt.c: Likewise.
11352 * config/ia64/ia64-c.c: Likewise.
11353 * config/ia64/ia64.c: Likewise.
11354 * config/iq2000/iq2000.c: Likewise.
11355 * config/lm32/lm32.c: Likewise.
11356 * config/m32c/m32c-pragma.c: Likewise.
11357 * config/m32c/m32c.c: Likewise.
11358 * config/m32r/m32r.c: Likewise.
11359 * config/m68k/m68k.c: Likewise.
11360 * config/mcore/mcore.c: Likewise.
11361 * config/mep/mep-pragma.c: Likewise.
11362 * config/mep/mep.c: Likewise.
11363 * config/microblaze/microblaze-c.c: Likewise.
11364 * config/microblaze/microblaze.c: Likewise.
11365 * config/mips/mips.c: Likewise.
11366 * config/mmix/mmix.c: Likewise.
11367 * config/mn10300/mn10300.c: Likewise.
11368 * config/moxie/moxie.c: Likewise.
11369 * config/msp430/msp430-c.c: Likewise.
11370 * config/msp430/msp430.c: Likewise.
11371 * config/nds32/nds32-cost.c: Likewise.
11372 * config/nds32/nds32-fp-as-gp.c: Likewise.
11373 * config/nds32/nds32-intrinsic.c: Likewise.
11374 * config/nds32/nds32-isr.c: Likewise.
11375 * config/nds32/nds32-md-auxiliary.c: Likewise.
11376 * config/nds32/nds32-memory-manipulation.c: Likewise.
11377 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
11378 * config/nds32/nds32-predicates.c: Likewise.
11379 * config/nds32/nds32.c: Likewise.
11380 * config/nios2/nios2.c: Likewise.
11381 * config/nvptx/nvptx.c: Likewise.
11382 * config/pa/pa.c: Likewise.
11383 * config/pdp11/pdp11.c: Likewise.
11384 * config/rl78/rl78-c.c: Likewise.
11385 * config/rl78/rl78.c: Likewise.
11386 * config/rs6000/rs6000-c.c: Likewise.
11387 * config/rs6000/rs6000.c: Likewise.
11388 * config/rx/rx.c: Likewise.
11389 * config/s390/s390-c.c: Likewise.
11390 * config/s390/s390.c: Likewise.
11391 * config/sh/sh-c.c: Likewise.
11392 * config/sh/sh-mem.cc: Likewise.
11393 * config/sh/sh.c: Likewise.
11394 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
11395 * config/sh/sh_treg_combine.cc: Likewise.
11396 * config/sol2-c.c: Likewise.
11397 * config/sol2-cxx.c: Likewise.
11398 * config/sol2-stubs.c: Likewise.
11399 * config/sol2.c: Likewise.
11400 * config/sparc/sparc-c.c: Likewise.
11401 * config/sparc/sparc.c: Likewise.
11402 * config/spu/spu-c.c: Likewise.
11403 * config/spu/spu.c: Likewise.
11404 * config/stormy16/stormy16.c: Likewise.
11405 * config/tilegx/mul-tables.c: Likewise.
11406 * config/tilegx/tilegx-c.c: Likewise.
11407 * config/tilegx/tilegx.c: Likewise.
11408 * config/tilepro/mul-tables.c: Likewise.
11409 * config/tilepro/tilepro-c.c: Likewise.
11410 * config/tilepro/tilepro.c: Likewise.
11411 * config/v850/v850-c.c: Likewise.
11412 * config/v850/v850.c: Likewise.
11413 * config/vax/vax.c: Likewise.
11414 * config/visium/visium.c: Likewise.
11415 * config/vms/vms-c.c: Likewise.
11416 * config/vms/vms.c: Likewise.
11417 * config/vxworks.c: Likewise.
11418 * config/xtensa/xtensa.c: Likewise.
11419
11420 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
11421
11422 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
11423 Remove operand constraints. Change operand 2 predicate to
11424 nonmemory operand. Limit const_int values to mode bitsize. Only
11425 allow const_int values less than 32 when optimizing for size.
11426 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
11427 Remove operand constraints.
11428 (*bt<mode>): Use SImode for const_int values less than 32.
11429 (regmode): Remove mode attribute.
11430
11431 2015-07-07 Anatoly Sokolov <aesok@post.ru>
11432
11433 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
11434 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
11435 moxie_legitimate_address_p): New functions.
11436 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
11437
11438 2015-07-07 Tom de Vries <tom@codesourcery.com>
11439
11440 PR tree-optimization/66642
11441 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
11442 header comment. Rename split_edge variable to edge_at_split. Split
11443 exit edge to create new loop exit bb. Insert loop exit phis in new
11444 loop exit bb.
11445
11446 2015-07-07 Tom de Vries <tom@codesourcery.com>
11447
11448 * tree-cfg.c (get_virtual_phi): New function.
11449 * tree-cfg.h (get_virtual_phi): Declare.
11450 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
11451 (rewrite_virtuals_into_loop_closed_ssa): New function.
11452 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
11453 Declare.
11454 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
11455 (transform_to_exit_first_loop_alt): Use
11456 rewrite_virtuals_into_loop_closed_ssa.
11457
11458 2015-07-07 Richard Biener <rguenther@suse.de>
11459
11460 * fold-const.c (fold_binary_loc): Move
11461 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
11462 * match.pd: ... here.
11463 Add (X * C1) % C2 -> 0 simplification pattern derived from
11464 extract_muldiv_1.
11465
11466 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
11467
11468 PR target/66780
11469 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
11470 change for target/65249.
11471
11472 2015-07-07 Paulo Matos <pmatos@broadcom.com>
11473
11474 * symtab.c (address_matters_1): Fix typo in comment above.
11475 (can_increase_alignment_p): Likewise.
11476
11477 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
11478
11479 * function.c (free_after_compilation): Clear PROP_cfg in
11480 f->curr_properties.
11481
11482 2015-07-07 Richard Biener <rguenther@suse.de>
11483
11484 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
11485 add which use to.
11486 (add_control_edge): Remove excessive vertical space in dumping.
11487 (process_ssa_edge_worklist): Simulate at most one statement and
11488 return whether we did. Do not simulate PHIs if they are in a
11489 BB not yet simulated.
11490 (ssa_propagate): Adjust to always drain the BB worklist whenever
11491 a BB is available there, likewise the VARYING edges list before
11492 the interesting edge list.
11493
11494 2015-07-07 Christian Bruel <christian.bruel@st.com>
11495
11496 PR target/52144
11497 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
11498
11499 2015-07-07 Richard Biener <rguenther@suse.de>
11500
11501 PR middle-end/66739
11502 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
11503 A - B.
11504
11505 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
11506
11507 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
11508 modes for operands 0 and 3. Use SImode for operands 2 and 3.
11509 Copy operand 0 to a temporary if !ext_register_operand. Remove
11510 ancient extract_bit_field workaround.
11511 (insv<mode>_1): Rename from mov<mode>_insv_1.
11512 (*insvqi): Rename from *movqi_insv_2.
11513 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
11514 for renamed insvsi_1.
11515 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
11516
11517 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
11518
11519 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
11520 call to nvptx_reorg_subreg.
11521
11522 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
11523
11524 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
11525 * graphite-dependencies.c, graphite-interchange.c,
11526 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
11527 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
11528 Likewise.
11529
11530 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
11531
11532 * match.pd: Remove element_mode inside HONOR_*.
11533 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
11534 (~X | X -> -1, ~X ^ X -> -1): Merge.
11535 * tree.c (build_each_one_cst): New function.
11536 * tree.h (build_each_one_cst): Likewise.
11537
11538 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
11539
11540 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
11541 PROCESSOR_IAMCU.
11542
11543 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
11544
11545 * config.gcc <mips*-*-*>: Add fused-madd.opt.
11546 * config/mips/mips.opt (mfused-madd): Remove.
11547 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
11548 * config/mips/mips.h (TARGET_MIPS8000): New.
11549 (ISA_HAS_FP_MADD4_MSUB4): Remove.
11550 (ISA_HAS_FP_MADDF_MSUBF): Remove.
11551 (ISA_HAS_FP_MADD3_MSUB3): Remove.
11552 (ISA_HAS_NMADD4_NMSUB4): Remove.
11553 (ISA_HAS_NMADD3_NMSUB3): Remove.
11554 (ISA_HAS_FUSED_MADD4): New.
11555 (ISA_HAS_UNFUSED_MADD4): New.
11556 (ISA_HAS_FUSED_MADDF): New.
11557 (ISA_HAS_FUSED_MADD3): New.
11558 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
11559 (*fma<mode>4_madd3) New.
11560 (*fma<mode>4_madd4) New.
11561 (*fma<mode>4_maddf) New.
11562 (fms<mode>4) New.
11563 (*fms<mode>4_msub3) New.
11564 (*fms<mode>4_msub4) New.
11565 (fnma<mode>4) New.
11566 (*fnma<mode>4_nmadd3) New.
11567 (*fnma<mode>4_nmadd4) New.
11568 (fnms<mode>4) New.
11569 (*fnms<mode>4_nmsub3) New.
11570 (*fnms<mode>4_nmsub4) New.
11571 (*madd4<mode>) Modify to be unfused only.
11572 (*msub4<mode>) Modify to be unfused only.
11573 (*nmadd4<mode>) Modify to be unfused only.
11574 (*nmsub4<mode>) Modify to be unfused only.
11575 (*madd3<mode>) Remove.
11576 (*msub3<mode>) Remove.
11577 (*nmadd3<mode>) Remove.
11578 (*nmsub3<mode>) Remove.
11579 (*nmadd3<mode>_fastmath) Remove.
11580 (*nmsub3<mode>_fastmath) Remove.
11581 (*nmadd4<mode>_fastmath) Update condition.
11582 (*nmsub4<mode>_fastmath) Update condition.
11583
11584 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
11585
11586 PR target/65956
11587 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
11588 alignment attribute, exploring one level down for records and arrays.
11589
11590 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
11591
11592 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
11593 modes for operands 0 and 1. Use SImode for operands 2 and 3.
11594 Copy operand 1 to a temporary if !ext_register_operand. Remove
11595 ancient extract_bit_field workaround.
11596 (*extv<mode>): Rename from *mov<mode>_extv_1.
11597 (*extvqi): Rename from *movqi_extv_1.
11598 (extzv<mode>): Rename from extzv. Use SWI248 modes for
11599 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
11600 to a temporary if !ext_register_operand. Remove ancient
11601 extract_bit_field workaround.
11602 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
11603 (*extzvqi): Rename from *movqi_extzv_2.
11604 (*testqi_ext_3): Remove modes from const_int_operand predicated
11605 operands. Add "n" constraint.
11606 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
11607 operand. Add "J" constraint.
11608 (*btsq, *btrq, *btcq peephole2s): Remove mode from
11609 const_0_to_63 predicated operand.
11610 (regmode): New insn attribute.
11611 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
11612 to nonmemory_operand. Use regmode insn attribute.
11613 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
11614 (*jcc_bt<mode>_mask): Remove mode from operand 3.
11615 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
11616 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
11617 operands. Use "N" constraint instead of "n".
11618
11619 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
11620
11621 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
11622
11623 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
11624
11625 PR target/66749
11626 * config/i386/i386.c (iamcu_cost): New.
11627 (m_IAMCU): Likewise.
11628 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
11629 (processor_target_table): Add an entry for "iamcu".
11630 (processor_alias_table): Likewise.
11631 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
11632 (ix86_adjust_cost): Likewise.
11633 (ia32_multipass_dfa_lookahead): Likewise.
11634 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
11635 * config/i386/x86-tune.def: Updated for m_IAMCU.
11636
11637 2015-07-06 Richard Biener <rguenther@suse.de>
11638
11639 PR tree-optimization/66772
11640 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
11641 values are available in the PHI node BB when there are
11642 still unexecutable edges.
11643
11644 2015-07-06 Richard Biener <rguenther@suse.de>
11645
11646 PR tree-optimization/66767
11647 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
11648 Make sure to build the alignment test on a SSA name without
11649 final alignment info valid only if the alignment test
11650 evaluates to true.
11651
11652 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
11653
11654 PR target/66620
11655 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
11656 loop start when inserting LSETUP.
11657
11658 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
11659
11660 PR target/53383
11661 * config/i386/i386.c (ix86_option_override_internal): Allow
11662 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
11663
11664 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11665
11666 * read-md.c (decimal_string): Rename to ...
11667 (md_decimal_string): ... this.
11668 (handle_enum): Reflect this.
11669
11670 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
11671
11672 PR target/66731
11673 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
11674
11675 2015-07-06 Richard Biener <rguenther@suse.de>
11676
11677 PR middle-end/66759
11678 * match.pd: Add missing constraint of y to REAL_CST in
11679 REAL_CST - x CMP y to y - CST CMP x simplification.
11680
11681 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
11682
11683 PR tree-optimization/66757
11684 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
11685
11686 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
11687 Sandra Loosemore <sandra@codesourcery.com>
11688
11689 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
11690 Delete extern declaration.
11691 (gprel_constant_p): Add extern declaration.
11692 * config/nios2/constraints.md ("S"): Use gprel_constant_p
11693 instead of nios2_symbol_ref_in_small_data_p.
11694 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
11695 (nios2_symbol_ref_in_small_data_p): Make static.
11696 (gprel_constant_p): Make non-static.
11697
11698 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
11699
11700 * doc/fragments.texi (Target Fragment): Convert debian.org
11701 link to use https.
11702 * doc/install.texi (Configuration): Ditto.
11703
11704 2015-07-05 Jakub Jelinek <jakub@redhat.com>
11705
11706 PR tree-optimization/66718
11707 * tree-vect-stmts.c (vectorizable_call): Replace uses of
11708 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
11709
11710 PR tree-optimization/66718
11711 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
11712 vectorizable_load, vectorizable_condition): Move vectype,
11713 nunits, ncopies computation after checking what kind of statement
11714 stmt is.
11715
11716 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11717
11718 * target-insns.def (extv, extzv, insv): New targetm instruction
11719 patterns.
11720 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
11721 interface.
11722 * recog.c (simplify_while_replacing): Likewise.
11723
11724 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11725
11726 * target-insns.def (doloop_begin, doloop_end): New targetm
11727 instruction patterns.
11728 * loop-init.c: Include target.h.
11729 (pass_loop2::gate): Use the new targetm patterns instead of
11730 HAVE_*/gen_* interface.
11731 (pass_rtl_doloop::gate): Likewise.
11732 (pass_rtl_doloop::execute): Remove preprocessor condition.
11733 * hw-doloop.c: Build unconditionally.
11734 * loop-doloop.c: Likewise.
11735 (doloop_optimize): Use the new targetm patterns instead of
11736 HAVE_*/gen_* interface.
11737 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
11738 * modulo-sched.c (doloop_register_get): Likewise.
11739
11740 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11741
11742 * target-insns.def (clear_cache): New targetm instruction pattern.
11743 * builtins.c (expand_builtin___clear_cache): Use it instead of
11744 HAVE_*/gen_* interface.
11745
11746 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11747
11748 * target-insns.def (allocate_stack, check_stack, probe_stack)
11749 (probe_stack_address, split_stack_prologue, split_stack_space_check):
11750 New targetm instruction patterns.
11751 * explow.c (allocate_dynamic_stack_space): Use them instead of
11752 HAVE_*/gen_* interface.
11753 (emit_stack_probe): Likewise.
11754 (probe_stack_range): Likewise.
11755 * function.c (thread_prologue_and_epilogue_insns): Likewise.
11756
11757 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11758
11759 * target-insns.def (stack_protect_set, stack_protect_test): New
11760 targetm instruction patterns.
11761 * cfgexpand.c (stack_protect_prologue): Use them instead of
11762 HAVE_*/gen_* interface.
11763 * function.c (stack_protect_epilogue): Likewise.
11764
11765 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11766
11767 * expr.h (gen_move_insn_uncast): Delete.
11768 * expr.c (gen_move_insn_uncast): Delete.
11769
11770 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11771
11772 * target-insns.def (restore_stack_block, restore_stack_function)
11773 (restore_stack_nonlocal, save_stack_block, save_stack_function)
11774 (save_stack_nonlocal): New targetm instruction patterns.
11775 * builtins.c (expand_builtin_apply): Use them instead of
11776 HAVE_*/gen_* interface.
11777 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
11778
11779 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11780
11781 * target-insns.def (trap): New targetm instruction pattern.
11782 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
11783 interface.
11784 * explow.c (allocate_dynamic_stack_space): Likewise.
11785 * ifcvt.c (find_if_header): Likewise.
11786
11787 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11788
11789 * target-insns.def (prefetch): New targetm instruction pattern.
11790 * tree-ssa-loop-prefetch.c: Include targeth.
11791 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
11792 of HAVE_*/gen_* interface.
11793 * builtins.c (expand_builtin_prefetch): Likewise.
11794 * toplev.c (process_options): Likewise.
11795
11796 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11797
11798 * target-insns.def (untyped_call, untyped_return): New targetm
11799 instruction patterns.
11800 * builtins.c (expand_builtin_apply): Use them instead of
11801 HAVE_*/gen_* interface.
11802 (result_vector): Define unconditionally.
11803
11804 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11805
11806 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
11807 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
11808 (nonlocal_goto_receiver): New targetm instruction patterns.
11809 * builtins.c (expand_builtin_setjmp_setup): Use them instead
11810 of HAVE_*/gen_* interface.
11811 (expand_builtin_setjmp_receiver): Likewise.
11812 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
11813 * except.c (expand_dw2_landing_pad_for_region): Likewise.
11814
11815 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
11816
11817 * target.def: Add code_for_* hooks.
11818 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
11819 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
11820 * target-insns.def (casesi, tablejump): New targetm instruction
11821 patterns.
11822 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
11823 (do_tablejump): Likewise.
11824 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
11825 (expand_sjlj_dispatch_table): Likewise.
11826 * targhooks.c (default_case_values_threshold): Likewise.
11827
11828 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
11829
11830 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
11831 Use rtx_insn * instead of rtx.
11832 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
11833 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
11834 (nios2_call_tls_get_addr): Likewise.
11835 (nios2_emit_expensive_div): Likewise.
11836 (nios2_emit_move_sequence): Change return type to bool.
11837 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
11838 Change return type to bool.
11839
11840 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
11841
11842 PR target/66747
11843 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
11844
11845 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
11846
11847 PR target/66114
11848 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
11849 of register_operand. Remove constraint.
11850
11851 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
11852
11853 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
11854 the first argument.
11855
11856 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
11857
11858 * attribs.c (decl_attributes): Guard inform with the return value
11859 of the preceding warning.
11860
11861 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
11862
11863 * doc/invoke.texi (moverride): Move to correct section.
11864
11865 2015-07-03 Richard Biener <rguenther@suse.de>
11866
11867 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
11868 Copy from tree.c
11869 (dt_operand::gen_gimple_expr): After valueizing operands
11870 re-canonicalize operand order for commutative tree codes.
11871
11872 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
11873
11874 PR target/66746.
11875 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
11876 is defined.
11877 (__crc32w): Likewise.
11878 (__crc32d): Likewise.
11879 (__rdpmc): Likewise.
11880 (__rdtscp): Likewise.
11881 (_rdpmc): Likewise.
11882 (_rdtscp): Likewise.
11883 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
11884 is defined.
11885
11886 2015-07-03 Richard Biener <rguenther@suse.de>
11887
11888 * fold-const.c (fold_mathfn_compare): Remove.
11889 (fold_inf_compare): Likewise.
11890 (fold_comparison): Move floating point comparison simplifications...
11891 * match.pd: ... to patterns here. Introduce simple_comparisons
11892 operator list and use it for patterns formerly in fold_comparison.
11893
11894 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
11895
11896 PR tree-optimization/66119
11897 * toplev.c (process_options): Don't set up default values for
11898 the sra_max_scalarization_size_{speed,size} parameters.
11899 * tree-sra (analyze_all_variable_accesses): If no values
11900 have been set for the sra_max_scalarization_size_{speed,size}
11901 parameters, call get_move_ratio to get target defaults.
11902
11903 2015-07-03 Richard Biener <rguenther@suse.de>
11904
11905 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
11906 * match.pd: ... here.
11907
11908 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
11909
11910 PR target/37072
11911 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
11912 is not actually the default on FreeBSD.
11913
11914 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11915
11916 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
11917 definition.
11918 (CMPGE_8HI): Likewise.
11919 (CMPGE_4SI): Likewise.
11920 (CMPGE_2DI): Likewise.
11921 (CMPGE_U16QI): Likewise.
11922 (CMPGE_U8HI): Likewise.
11923 (CMPGE_U4SI): Likewise.
11924 (CMPGE_U2DI): Likewise.
11925 (CMPLE_16QI): Likewise.
11926 (CMPLE_8HI): Likewise.
11927 (CMPLE_4SI): Likewise.
11928 (CMPLE_2DI): Likewise.
11929 (CMPLE_U16QI): Likewise.
11930 (CMPLE_U8HI): Likewise.
11931 (CMPLE_U4SI): Likewise.
11932 (CMPLE_U2DI): Likewise.
11933 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
11934 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
11935 ALTIVEC_BUILTIN_VEC_CMPLE.
11936 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
11937 floating-point vector modes.
11938 (vector_nlt<mode>): New define_expand.
11939 (vector_nltu<mode>): Likewise.
11940 (vector_ngt<mode>): Likewise.
11941 (vector_ngtu<mode>): Likewise.
11942
11943 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
11944
11945 PR rtl-optimization/66706
11946 * combine.c (make_compound_operation): If an AND of SUBREG of
11947 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
11948
11949 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
11950
11951 * tree-pass.h (make_pass_ch_vect): New.
11952 * passes.def: Add pass_ch_vect just before pass_if_conversion.
11953
11954 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
11955 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
11956 make_pass_ch_vect): New.
11957 (pass_ch): Extend ch_base.
11958
11959 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
11960 (ch_base::copy_headers): ...here.
11961
11962 2015-07-02 Richard Biener <rguenther@suse.de>
11963
11964 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
11965 * fold-const.c (get_pointer_modulus_and_residue): Remove.
11966 (fold_binary_loc): Implement (T)ptr & CST in terms of
11967 get_pointer_alignment_1.
11968 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
11969 Make sure to build the alignment test on a SSA name without
11970 final alignment info valid only after the prologue.
11971
11972 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
11973
11974 * config/cris/cris.md ("epilogue"): Remove condition.
11975 ("prologue"): Ditto.
11976
11977 2015-07-02 Richard Biener <rguenther@suse.de>
11978
11979 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
11980 parameter to record a condition that is false.
11981 (record_conditions): When recording an extra NE_EXPR that is
11982 true also record a EQ_EXPR that is false.
11983
11984 2015-07-02 Bin Cheng <bin.cheng@arm.com>
11985
11986 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
11987 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
11988 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
11989 (set_iv, find_interesting_uses_address, add_candidate_1): New
11990 argument to alloc_iv.
11991 (find_interesting_uses_op, find_interesting_uses_cond): Don't
11992 duplicate struct iv.
11993 (free_loop_data): Don't free struct iv explicitly.
11994 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
11995
11996 2015-07-01 DJ Delorie <dj@redhat.com>
11997
11998 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
11999 (LIB_SPEC): Add.
12000 (SUPPORTS_DISCRIMINATOR): Define.
12001
12002 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
12003
12004 PR bootstrap/66685
12005 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
12006 there are no CALLs in the same pattern.
12007
12008 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
12009
12010 PR rtl-optimization/61047
12011 * rtlanal.c (get_initial_register_offset): New function.
12012 (rtx_addr_can_trap_p_1): Check offsets of stack references.
12013
12014 2015-07-01 Richard Biener <rguenther@suse.de>
12015
12016 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
12017 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
12018 ~X CMP C -> X CMP' ~C to ...
12019 * match.pd: ... patterns here.
12020
12021 2015-07-01 Nick Clifton <nickc@redhat.com>
12022
12023 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
12024 a 16-bit value into a 20-bit memory slot.
12025
12026 2015-07-01 Jiong Wang <jiong.wang@arm.com>
12027
12028 * doc/sourcebuild.texi (AArch64-specific attributes): Document
12029 "aarch64_tiny", "aarch64_small", "aarch64_large",
12030 "aarch64_little_endian", "aarch64_big_endian".
12031
12032 2015-07-01 Jiong Wang <jiong.wang@arm.com>
12033
12034 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
12035 Document "aarch64_small_fpic".
12036
12037 2015-07-01 Jiong Wang <jiong.wang@arm.com>
12038
12039 * configure.ac: Add check for aarch64 assembler -fpic relocation
12040 modifier support.
12041 * configure: Regenerate.
12042 * config.in: Regenerate.
12043 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
12044 to -fPIC if not support of -fpic relocation modifier in assembler.
12045
12046 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
12047
12048 PR bootstrap/66685
12049 * rtl.c (classify_insn): Handle returns in PARALLELs.
12050
12051 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
12052
12053 PR middle-end/66633
12054 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
12055 to true if the function is nested and if not optimizing.
12056 (convert_local_omp_clauses): Initialize need_frame to true if the
12057 function contains nested functions and if not optimizing.
12058
12059 2015-07-01 Richard Biener <rguenther@suse.de>
12060
12061 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
12062 (X & Y) ^ Y -> ~X & Y transforms to ...
12063 * match.pd: ... here.
12064
12065 2015-07-01 Richard Biener <rguenther@suse.de>
12066
12067 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
12068 of converts to avoid uninteresting noise from the conversion
12069 simplifying patterns.
12070
12071 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
12072
12073 * config/c6x/c6x.c (try_rename_operands): Do not depend on
12074 gcc_assert evaluating its argument for side-effect.
12075
12076 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
12077
12078 PR target/64833
12079 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
12080 flag_pic is set.
12081
12082 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
12083
12084 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
12085 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
12086 (hash_scc): Add this_ref_p and ref_p parameters and pass them
12087 to the inner DFS walk.
12088
12089 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
12090
12091 * target-insns.def (jump): New targetm instruction pattern.
12092 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
12093 instead of gen_jump.
12094 (fix_up_crossing_landing_pad): Likewise.
12095 (add_labels_and_missing_jumps): Likewise.
12096 (fix_crossing_conditional_branches): Likewise.
12097 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
12098 (force_nonfallthru_and_redirect): Likewise.
12099 * cse.c (cse_insn): Likewise.
12100 * expmed.c (expand_divmod): Likewise.
12101 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
12102 * haifa-sched.c (init_before_recovery): Likewise.
12103 (sched_create_recovery_edges): Likewise.
12104 * ifcvt.c (find_cond_trap): Likewise.
12105 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
12106 (expand_float, expand_fix): Likewise.
12107 * stmt.c (emit_jump): Likewise.
12108
12109 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
12110
12111 * defaults.h (HAVE_load_multiple, gen_load_multiple)
12112 (HAVE_store_multiple, gen_store_multiple): Delete.
12113 * target-insns.def (load_multiple, store_multiple): New targetm
12114 instruction patterns.
12115 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
12116 of HAVE_*/gen_* interface.
12117
12118 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
12119
12120 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
12121 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
12122 (gen_mem_signal_fence): Delete.
12123 * target-insns.def (mem_signal_fence, mem_thread_fence)
12124 (memory_barrier): New targetm instruction patterns.
12125 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
12126 interface.
12127 (expand_mem_signal_fence): Likewise.
12128
12129 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
12130
12131 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
12132 * target-insns.def (epilogue, prologue, sibcall_prologue): New
12133 targetm instruction patterns.
12134 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
12135 interface.
12136 * calls.c (expand_call): Likewise.
12137 * cfgrtl.c (cfg_layout_finalize): Likewise.
12138 * df-scan.c (df_get_entry_block_def_set): Likewise.
12139 (df_get_exit_block_use_set): Likewise.
12140 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
12141 * final.c (final_start_function): Likewise.
12142 * function.c (thread_prologue_and_epilogue_insns): Likewise.
12143 (reposition_prologue_and_epilogue_notes): Likewise.
12144 * reorg.c (find_end_label): Likewise.
12145 * toplev.c (process_options): Likewise.
12146
12147 2015-06-30 David Malcolm <dmalcolm@redhat.com>
12148
12149 * typed-splay-tree.h: New file.
12150
12151 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
12152
12153 PR debug/66691
12154 * lra-int.h (lra_substitute_pseudo): Add a parameter.
12155 (lra_substitute_pseudo_within_insn): Ditto.
12156 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
12157 of constant.
12158 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
12159 to lra_substitute_pseudo.
12160 * lra-lives.c (process_bb_lives): Add an argument to
12161 lra_substitute_pseudo_within_insn call.
12162 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
12163 argument to lra_substitute_pseudo and
12164 lra_substitute_pseudo_within_insn calls.
12165 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
12166
12167 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
12168
12169 * configure: Regenerated.
12170
12171 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
12172
12173 * config.gcc: Support i[34567]86-*-elfiamcu target.
12174 * config/i386/iamcu.h: New.
12175 * config/i386/i386.opt: Add -miamcu.
12176 * doc/invoke.texi: Document -miamcu.
12177 * common/config/i386/i386-common.c (ix86_handle_option): Turn
12178 off x87/MMX/SSE/AVX codegen for -miamcu.
12179 * config/i386/i386-c.c (ix86_target_macros_internal): Define
12180 __iamcu/__iamcu__ for -miamcu.
12181 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
12182 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
12183 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
12184 * config/i386/i386.c (ix86_option_override_internal): Ignore and
12185 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
12186 MCU by default. Default long double to 64-bit for Intel MCU.
12187 Turn on -freg-struct-return for Intel MCU. Issue an error when
12188 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
12189 AVX is turned on.
12190 (function_arg_advance_32): Pass value whose size is no larger
12191 than 8 bytes in registers for Intel MCU.
12192 (function_arg_32): Likewise.
12193 (ix86_return_in_memory): Return value whose size is no larger
12194 than 8 bytes in registers for Intel MCU.
12195 (iamcu_alignment): New function.
12196 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
12197 true.
12198 (ix86_local_alignment): Don't increase alignment for Intel MCU.
12199 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
12200 true.
12201
12202 2015-06-30 Marek Polacek <polacek@redhat.com>
12203
12204 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
12205 both operands of the resulting expression.
12206
12207 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
12208 the final expression with the operand's type and then convert
12209 it to the type of the expression.
12210
12211 2015-06-30 Richard Biener <rguenther@suse.de>
12212
12213 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
12214 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
12215 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
12216 * match.pd: ... to patterns here.
12217
12218 2015-06-30 Richard Biener <rguenther@suse.de>
12219
12220 PR tree-optimization/66704
12221 * tree-vect-data-refs.c (vect_setup_realignment): Use
12222 make_ssa_name for non-SSA name source.
12223
12224 2015-06-30 Jakub Jelinek <jakub@redhat.com>
12225
12226 PR middle-end/66702
12227 * omp-low.c (simd_clone_adjust): Handle addressable linear
12228 or uniform parameters or non-gimple type uniform parameters.
12229
12230 2015-06-30 Richard Biener <rguenther@suse.de>
12231
12232 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
12233 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
12234 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
12235 * match.pd: ... here.
12236 Add a few cases of A - B -> A + (-B) when B "easily" negates.
12237 Move (x & y) | x -> x and friends before
12238 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
12239
12240 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
12241
12242 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
12243 -mfix-ut699 is not specified.
12244 (leon3_load): Rename into...
12245 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
12246 is specified.
12247
12248 2015-06-30 Marek Polacek <polacek@redhat.com>
12249
12250 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
12251 * match.pd: ... here.
12252
12253 2015-06-30 Richard Biener <rguenther@suse.de>
12254
12255 * target-insns.def (canonicalize_funcptr_for_compare): Add.
12256 * fold-const.c (build_range_check): Replace uses of
12257 HAVE_canonicalize_funcptr_for_compare.
12258 (fold_widened_comparison): Likewise.
12259 (fold_sign_changed_comparison): Likewise.
12260 * dojump.c: Include "target.h".
12261 (do_compare_and_jump): Replace uses of
12262 HAVE_canonicalize_funcptr_for_compare and
12263 gen_canonicalize_funcptr_for_compare.
12264 * expr.c (do_store_flag): Likewise.
12265
12266 2015-06-30 Tom de Vries <tom@codesourcery.com>
12267
12268 PR tree-optimization/66652
12269 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
12270 max_loop_iterations to determine if nit + 1 overflows.
12271
12272 2015-06-30 Richard Biener <rguenther@suse.de>
12273
12274 * tree-vrp.c (register_edge_assert_for_2): Also register
12275 asserts for dominating conversion results.
12276
12277 2015-06-30 Bin Cheng <bin.cheng@arm.com>
12278
12279 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
12280 field in struct iv.
12281
12282 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
12283
12284 PR target/66509
12285 * configure.ac: Fix filds and fildq test for 64-bit.
12286 * configure: Regenerated.
12287
12288 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
12289
12290 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
12291 (nvptx_reorg): Here. Keep the non-subreg pieces.
12292
12293 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
12294
12295 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
12296 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
12297
12298 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
12299
12300 * config/i386/i386.md (*jcc_1): Use %! in asm template.
12301 Set attribute "length_nobnd" instead of "length".
12302 (*jcc_2): Ditto.
12303 (jump): Ditto.
12304 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
12305
12306 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
12307
12308 * config/nios2/nios2.c (nios2_delegitimize_address): Make
12309 assert less restrictive.
12310
12311 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
12312
12313 PR fortran/66605
12314 * cgraphunit.c (cgraph_node::finalize_function): Do not call
12315 do_warn_unused_parameter.
12316 * function.c (do_warn_unused_parameter): Move from here.
12317 * function.h (do_warn_unused_parameter): Do not declare.
12318
12319 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
12320
12321 PR target/65697
12322 * gcc.target/arm/armv-sync-comp-swap.c: New.
12323 * gcc.target/arm/armv-sync-op-acquire.c: New.
12324 * gcc.target/arm/armv-sync-op-full.c: New.
12325 * gcc.target/arm/armv-sync-op-release.c: New.
12326
12327 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
12328
12329 PR target/65697
12330 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
12331 initial acquire barrier with final barrier.
12332
12333 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
12334
12335 PR target/65697
12336 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
12337 initial acquire barrier with final barrier.
12338
12339 2015-06-29 Richard Henderson <rth@redhat.com>
12340
12341 * config/i386/constraints.md (Bf): New constraint.
12342 * config/i386/i386-c.c (ix86_target_macros): Define
12343 __GCC_ASM_FLAG_OUTPUTS__.
12344 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
12345 as flags outputs.
12346 * doc/extend.texi (FlagOutputOperands): Document them.
12347
12348 2015-06-29 Jiong Wang <jiong.wang@arm.com>
12349
12350 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
12351 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
12352 unspec name.
12353 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
12354 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
12355 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
12356 (aarch64_symbol_context): Ditto.
12357 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
12358 and use new pattern name.
12359 (aarch64_expand_mov_immediate): Ditto.
12360 (aarch64_print_operand): Ditto.
12361 (aarch64_classify_tls_symbol): Ditto.
12362
12363 2015-06-29 Marek Polacek <polacek@redhat.com>
12364 Marc Glisse <marc.glisse@inria.fr>
12365
12366 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
12367 * match.pd: ... pattern here.
12368
12369 2015-06-29 Tom de Vries <tom@codesourcery.com>
12370
12371 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
12372 function structure.
12373
12374 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
12375
12376 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
12377 feature description, split out the native option, add a link to
12378 the feature documentation, rearrange and slightly rewrite text.
12379 (Aarch64 options, -mcpu): Likewise.
12380 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
12381 +rdma implies Adv. SIMD.
12382
12383 2015-06-29 Marek Polacek <polacek@redhat.com>
12384
12385 PR c/66322
12386 * function.c (stack_protect_epilogue): Remove a cast to int.
12387 * doc/invoke.texi: Update -Wswitch-bool description.
12388
12389 2015-06-29 Richard Biener <rguenther@suse.de>
12390
12391 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
12392 * fold-const.c (fold_binary_loc): Move &A - &B simplification
12393 via ptr_difference_const ...
12394 * match.pd: ... here.
12395 When matching (X ^ Y) == Y also match with swapped operands.
12396
12397 2015-06-29 Richard Biener <rguenther@suse.de>
12398
12399 * lto-streamer.h (LTO_major_version): Bump to 5.
12400
12401 2015-06-29 Richard Biener <rguenther@suse.de>
12402
12403 PR tree-optimization/66677
12404 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
12405 STMT_VINFO_VEC_STMT clobbering less strict.
12406
12407 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
12408
12409 PR middle-end/64130
12410 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
12411 division, compute max and min when value ranges for dividend and
12412 divisor are available.
12413
12414 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
12415 Sandra Loosemore <sandra@codesourcery.com>
12416
12417 * regrename.h (regrename_do_replace): Change to return bool.
12418 * regrename.c (rename_chains): Check return value of
12419 regname_do_replace.
12420 (regrename_do_replace): Re-validate the modified insns and
12421 return bool status.
12422 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
12423 Update to match rename_chains changes.
12424 * config/c6x/c6x.c (try_rename_operands): Assert that
12425 regrename_do_replace returns true.
12426
12427 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
12428
12429 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
12430 operand 2 here. Use copy_addr_to_reg to copy non-index
12431 register operand 2 to a temporary.
12432 (<mode>_stx): Ditto for operand 1.
12433 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
12434 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
12435 (ix86_store_bounds): Ditto.
12436
12437 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
12438
12439 * print-tree.c (print_node) [TREE_VEC]: Print its length.
12440
12441 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
12442
12443 * gimple.c (gimple_call_set_fndecl): Remove.
12444 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
12445 build1_loc directly instead of build_fold_addr_expr_loc.
12446
12447 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
12448
12449 * hash-map.h (hash_map::traverse): Use the definition of the
12450 Key typedef rather than the typedef itself.
12451
12452 2015-06-26 Martin Jambor <mjambor@suse.cz>
12453
12454 PR debug/66301
12455 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
12456 NULL instead of calling dump_enabled_p.
12457
12458 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
12459
12460 * config/aarch64/aarch64.opt: (override): New.
12461 * doc/invoke.texi (override): Document.
12462 * config/aarch64/aarch64.c (aarch64_flag_desc): New
12463 (aarch64_fusible_pairs): Likewise.
12464 (aarch64_tuning_flags): Likewise.
12465 (aarch64_tuning_override_function): Likewise.
12466 (aarch64_tuning_override_functions): Likewise.
12467 (aarch64_parse_one_option_token): Likewise.
12468 (aarch64_parse_boolean_options): Likewise.
12469 (aarch64_parse_fuse_string): Likewise.
12470 (aarch64_parse_tune_string): Likewise.
12471 (aarch64_parse_one_override_token): Likewise.
12472 (aarch64_parse_override_string): Likewise.
12473 (aarch64_override_options): Parse the -override string if it
12474 is present.
12475
12476 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
12477
12478 * config/aarch64/aarch64-protos.h (tune_params): Remove
12479 const from members.
12480 (aarch64_tune_params): Remove const, change to no longer be
12481 a pointer.
12482 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
12483 change to no longer be a pointer, initialize to generic_tunings.
12484 (aarch64_min_divisions_for_recip_mul): Change dereference of
12485 aarch64_tune_params to member access.
12486 (aarch64_reassociation_width): Likewise.
12487 (aarch64_rtx_mult_cost): Likewise.
12488 (aarch64_address_cost): Likewise.
12489 (aarch64_branch_cost): Likewise.
12490 (aarch64_rtx_costs): Likewise.
12491 (aarch64_register_move_cost): Likewise.
12492 (aarch64_memory_move_cost): Likewise.
12493 (aarch64_sched_issue_rate): Likewise.
12494 (aarch64_builtin_vectorization_cost): Likewise.
12495 (aarch64_override_options): Take a copy of the selected tuning
12496 struct in to aarch64_tune_params, rather than just setting
12497 a pointer, change dereferences of aarch64_tune_params to member
12498 accesses.
12499 (aarch64_override_options_after_change): Change dereferences of
12500 aarch64_tune_params to member access.
12501 (aarch64_macro_fusion_p): Likewise.
12502 (aarch_macro_fusion_pair_p): Likewise.
12503 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
12504
12505 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
12506
12507 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
12508 (aarch64_tune_flags): Likewise.
12509 (AARCH64_TUNE_FMA_STEERING): Likewise.
12510 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
12511 to AARCH64_FL_USE_FMA_STEERING_PASS.
12512 (cortex-a57.cortex-a53): Likewise.
12513 (cortex-a72): Use cortexa72_tunings.
12514 (cortex-a72.cortex-a53): Likewise.
12515 (exynos-m1): Likewise.
12516 * config/aarch64/aarch64-protos.h (tune_params): Add
12517 a field: extra_tuning_flags.
12518 * config/aarch64/aarch64-tuning-flags.def: New.
12519 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
12520 (aarch64_extra_tuning_flags): Likewise.
12521 (aarch64_tune_params): Declare here.
12522 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
12523 (cortexa53_tunings): Likewise.
12524 (cortexa57_tunings): Likewise.
12525 (thunderx_tunings): Likewise.
12526 (xgene1_tunings): Likewise.
12527 (cortexa72_tunings): New.
12528 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
12529 (gate): Check against aarch64_tune_params.
12530 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
12531 aarch64-protos.h.
12532
12533 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
12534
12535 * config/aarch64/aarch64-fusion-pairs.def: New.
12536 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
12537 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
12538 aarch64_fusion_pairs.
12539 (AARCH64_FUSE_MOV_MOVK): Likewise.
12540 (AARCH64_FUSE_ADRP_ADD): Likewise.
12541 (AARCH64_FUSE_MOVK_MOVK): Likewise.
12542 (AARCH64_FUSE_ADRP_LDR): Likewise.
12543 (AARCH64_FUSE_CMP_BRANCH): Likewise.
12544
12545 2015-06-26 Jiong Wang <jiong.wang@arm.com>
12546
12547 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
12548 SYMBOL_SMALL_GOT_28K.
12549 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
12550 relocation modifiers.
12551 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
12552 (ldr_got_small_28k_<mode>): New.
12553 (ldr_got_small_28k_sidi): New.
12554 * config/aarch64/iterators.md (got_modifier): New mode iterator.
12555 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
12556 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
12557 SYMBOL_SMALL_GOT_28K.
12558 (aarch64_rtx_costs): Add costs for new instruction sequences.
12559 (initialize_aarch64_code_model): Initialize new model.
12560 (aarch64_classify_symbol): Recognize new model and new symbol classification.
12561 (aarch64_asm_preferred_eh_data_format): Support new model.
12562 (aarch64_load_symref_appropriately): Generate new instruction
12563 sequences for -fpic.
12564 (TARGET_USE_PSEUDO_PIC_REG): New definition.
12565 (aarch64_use_pseudo_pic_reg): New function.
12566
12567 2015-06-26 Jiong Wang <jiong.wang@arm.com>
12568
12569 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
12570 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
12571 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
12572 (aarch64_expand_mov_immediate): Ditto.
12573 (aarch64_print_operand): Ditto.
12574 (aarch64_classify_symbol): Ditto.
12575
12576 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
12577
12578 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
12579
12580 2015-06-26 Bin Cheng <bin.cheng@arm.com>
12581
12582 PR bootstrap/66638
12583 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
12584 assertion failed. Remove assertion itself.
12585
12586 2015-06-26 Richard Biener <rguenther@suse.de>
12587
12588 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
12589 and -A CMP CST -> A CMP -CST which is redundant with a pattern
12590 in match.pd.
12591 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
12592 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
12593 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
12594 * match.pd: ... patterns here.
12595
12596 2015-06-26 Marek Polacek <polacek@redhat.com>
12597
12598 * match.pd ((x | y) & ~(x & y) -> x ^ y,
12599 (x | y) & (~x ^ y) -> x & y): New patterns.
12600
12601 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
12602
12603 * rtl.h (emit): Add an optional boolean parameter to control
12604 whether barriers are emitted.
12605 * emit-rtl.c (emit): Likewise.
12606 * gensupport.c (get_emit_function): Return null rather than "emit".
12607 * genemit.c (gen_emit_seq): Handle the null return value.
12608 Don't emit barriers after the final instruction in the sequence.
12609 * gentarget-def.c (main): Don't emit barriers after the instruction.
12610
12611 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
12612
12613 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
12614 TARGET_UNIFIED_ASM.
12615
12616 2015-06-26 Richard Biener <rguenther@suse.de>
12617
12618 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
12619
12620 2015-06-26 Richard Biener <rguenther@suse.de>
12621
12622 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
12623 irrespective on whether the inner operation has a single use
12624 of both off are constant.
12625
12626 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
12627 Segher Boessenkool <segher@kernel.crashing.org>
12628
12629 PR target/66412
12630 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
12631 before doing PUT_MODE or PUT_CODE on operands to avoid
12632 in-place RTX modification.
12633
12634 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
12635
12636 * gentarget-def.c (def_target_insn): Cast return of strtol to
12637 unsigned int.
12638
12639 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
12640
12641 * gimple.h (gimple_call_set_fn): Move inline function.
12642 * gimple.c (gimple_call_set_fn): Relocate here.
12643
12644 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
12645
12646 PR target/65979
12647 PR target/66611
12648 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
12649 the replacement insn will work.
12650
12651 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
12652
12653 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
12654 by default.
12655
12656 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
12657
12658 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
12659 * cgraph.h: Include ipa-ref.h and plugin-api.h.
12660 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
12661 (symtab_node::address_can_be_compared_p): Move function.
12662 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
12663 definition here.
12664 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
12665 * auto-profile.c: Likewise.
12666 * bb-reorder.c: Likewise.
12667 * builtins.c: Likewise.
12668 * calls.c: Likewise.
12669 * cfgexpand.c: Likewise.
12670 * cgraphbuild.c: Likewise.
12671 * cgraphclones.c: Likewise.
12672 * cgraphunit.c: Likewise.
12673 * combine.c: Likewise.
12674 * coverage.c: Likewise.
12675 * data-streamer-in.c: Likewise.
12676 * data-streamer-out.c: Likewise.
12677 * data-streamer.c: Likewise.
12678 * dbxout.c: Likewise.
12679 * dwarf2out.c: Likewise.
12680 * except.c: Likewise.
12681 * expr.c: Likewise.
12682 * final.c: Likewise.
12683 * fold-const.c: Likewise.
12684 * ggc-page.c: Likewise.
12685 * gimple-fold.c: Likewise.
12686 * gimple-iterator.c: Likewise.
12687 * gimple-pretty-print.c: Likewise.
12688 * gimple-streamer-in.c: Likewise.
12689 * gimple-streamer-out.c: Likewise.
12690 * gimple.c: Likewise.
12691 * gimplify.c: Likewise.
12692 * ipa-chkp.c: Likewise.
12693 * ipa-comdats.c: Likewise.
12694 * ipa-cp.c: Likewise.
12695 * ipa-devirt.c: Likewise.
12696 * ipa-icf-gimple.c: Likewise.
12697 * ipa-icf.c: Likewise.
12698 * ipa-inline-analysis.c: Likewise.
12699 * ipa-inline-transform.c: Likewise.
12700 * ipa-inline.c: Likewise.
12701 * ipa-polymorphic-call.c: Likewise.
12702 * ipa-profile.c: Likewise.
12703 * ipa-prop.c: Likewise.
12704 * ipa-pure-const.c: Likewise.
12705 * ipa-ref.c: Likewise.
12706 * ipa-reference.c: Likewise.
12707 * ipa-split.c: Likewise.
12708 * ipa-utils.c: Likewise.
12709 * ipa-visibility.c: Likewise.
12710 * ipa.c: Likewise.
12711 * langhooks.c: Likewise.
12712 * lto-cgraph.c: Likewise.
12713 * lto-compress.c: Likewise.
12714 * lto-opts.c: Likewise.
12715 * lto-section-in.c: Likewise.
12716 * lto-section-out.c: Likewise.
12717 * lto-streamer-in.c: Likewise.
12718 * lto-streamer-out.c: Likewise.
12719 * lto-streamer.c: Likewise.
12720 * omp-low.c: Likewise.
12721 * opts-global.c: Likewise.
12722 * passes.c: Likewise.
12723 * predict.c: Likewise.
12724 * print-tree.c: Likewise.
12725 * profile.c: Likewise.
12726 * ree.c: Likewise.
12727 * sanopt.c: Likewise.
12728 * stor-layout.c: Likewise.
12729 * symtab.c: Likewise.
12730 * toplev.c: Likewise.
12731 * trans-mem.c: Likewise.
12732 * tree-cfg.c: Likewise.
12733 * tree-chkp.c: Likewise.
12734 * tree-eh.c: Likewise.
12735 * tree-emutls.c: Likewise.
12736 * tree-inline.c: Likewise.
12737 * tree-nested.c: Likewise.
12738 * tree-parloops.c: Likewise.
12739 * tree-pretty-print.c: Likewise.
12740 * tree-profile.c: Likewise.
12741 * tree-sra.c: Likewise.
12742 * tree-ssa-alias.c: Likewise.
12743 * tree-ssa-live.c: Likewise.
12744 * tree-ssa-loop-ivcanon.c: Likewise.
12745 * tree-ssa-loop-ivopts.c: Likewise.
12746 * tree-ssa-pre.c: Likewise.
12747 * tree-ssa-sccvn.c: Likewise.
12748 * tree-ssa-strlen.c: Likewise.
12749 * tree-ssa-structalias.c: Likewise.
12750 * tree-streamer-in.c: Likewise.
12751 * tree-streamer-out.c: Likewise.
12752 * tree-streamer.c: Likewise.
12753 * tree-switch-conversion.c: Likewise.
12754 * tree-tailcall.c: Likewise.
12755 * tree-vect-data-refs.c: Likewise.
12756 * tree-vect-stmts.c: Likewise.
12757 * tree-vectorizer.c: Likewise.
12758 * tree.c: Likewise.
12759 * tsan.c: Likewise.
12760 * ubsan.c: Likewise.
12761 * value-prof.c: Likewise.
12762 * varasm.c: Likewise.
12763 * varpool.c: Likewise.
12764 * config/arm/arm.c: Likewise.
12765 * config/bfin/bfin.c: Likewise.
12766 * config/c6x/c6x.c: Likewise.
12767 * config/cris/cris.c: Likewise.
12768 * config/darwin-c.c: Likewise.
12769 * config/darwin.c: Likewise.
12770 * config/i386/i386.c: Likewise.
12771 * config/i386/winnt.c: Likewise.
12772 * config/microblaze/microblaze.c: Likewise.
12773 * config/mips/mips.c: Likewise.
12774 * config/rs6000/rs6000.c: Likewise.
12775 * config/rx/rx.c: Likewise.
12776 * config/s390/s390.c: Likewise.
12777 * config/tilegx/mul-tables.c: Likewise.
12778
12779 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12780
12781 * config/aarch64/aarch64.c, config/alpha/alpha.c,
12782 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
12783 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
12784 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
12785 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
12786 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
12787 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
12788 config/microblaze/microblaze.c, config/mips/mips.c,
12789 config/mmix/mmix.c, config/mn10300/mn10300.c,
12790 config/moxie/moxie.c, config/msp430/msp430.c,
12791 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
12792 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
12793 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
12794 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
12795 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
12796 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
12797 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
12798 target-def.h include.
12799 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
12800
12801 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12802
12803 * Makefile.in (TARGET_DEF): Add target-insns.def.
12804 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
12805 (build/gentarget-def.o): New rule.
12806 (genprogrtl): Add target-def.
12807 * target-insns.def, gentarget-def.c: New files.
12808 * target.def: Add targetm.have_* and targetm.gen_* hooks,
12809 based on the contents of target-insns.def.
12810 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
12811 (HAVE_return, gen_return): Delete.
12812 * target-def.h: Include insn-target-def.h.
12813 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
12814 instead of direct calls. Rely on them to do the appropriate assertions.
12815 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
12816 (convert_jumps_to_returns): Use targetm interface instead of
12817 direct calls.
12818 (thread_prologue_and_epilogue_insns): Likewise.
12819 * reorg.c (find_end_label, dbr_schedule): Likewise.
12820 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
12821 * shrink-wrap.c (convert_to_simple_return): Likewise.
12822 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
12823
12824 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12825
12826 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
12827 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
12828 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
12829 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
12830 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
12831 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
12832 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
12833 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
12834 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
12835 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
12836 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
12837 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
12838 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
12839 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
12840 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
12841 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
12842 includes to end.
12843
12844 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12845
12846 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
12847 (unbounded_int_hashmap_traits::key_type): Likewise.
12848 * hash-map.h (hash_map): Get the key type from the traits.
12849 * hash-traits.h (default_hash_traits): By default, inherit from the
12850 template parameter.
12851 * alias.c (alias_set_traits): Delete.
12852 (alias_set_entry_d::children): Use alias_set_hash as the first
12853 template parameter.
12854 (record_alias_subset): Update accordingly.
12855 * except.c (tree_hash_traits): Delete.
12856 (type_to_runtime_map): Use tree_hash as the first template parameter.
12857 (init_eh): Update accordingly.
12858 * genmatch.c (capture_id_map_hasher): Delete.
12859 (cid_map_t): Use nofree_string_hash as first template parameter.
12860 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
12861 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
12862 Use symbol_compare_hash as the first template parameter in
12863 subdivide_hash_map.
12864 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
12865 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
12866 template parameter.
12867 * passes.c (pass_registry_hasher): Delete.
12868 (name_to_pass_map): Use nofree_string_hash as the first template
12869 parameter.
12870 (register_pass_name): Update accordingly.
12871 * sanopt.c (sanopt_tree_map_traits): Delete.
12872 (sanopt_tree_triplet_map_traits): Delete.
12873 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
12874 template parameter.
12875 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
12876 the first template parameter.
12877 * sese.c (rename_map_hasher): Delete.
12878 (rename_map_type): Use tree_ssa_name_hash as the first template
12879 parameter.
12880 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
12881 (function_summary::m_map): Use map_hash as the first template
12882 parameter.
12883 (function_summary::release): Update accordingly.
12884 * tree-if-conv.c (phi_args_hash_traits): Delete.
12885 (predicate_scalar_phi): Use tree_operand_hash as the first template
12886 parameter to phi_arg_map.
12887 * tree-inline.h (dependence_hasher): Delete.
12888 (copy_body_data::dependence_map): Use dependence_hash as the first
12889 template parameter.
12890 * tree-inline.c (remap_dependence_clique): Update accordingly.
12891 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
12892 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
12893 parameter.
12894 (addr_stridxptr): Update accordingly.
12895 * value-prof.c (profile_id_traits): Delete.
12896 (cgraph_node_map): Use profile_id_hash as the first template
12897 parameter.
12898 (init_node_map): Update accordingly.
12899 * config/alpha/alpha.c (string_traits): Delete.
12900 (machine_function::links): Use nofree_string_hash as the first
12901 template parameter.
12902 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
12903 * config/m32c/m32c.c (pragma_traits): Delete.
12904 (pragma_htab): Use nofree_string_hash as the first template parameter.
12905 (m32c_note_pragma_address): Update accordingly.
12906 * config/mep/mep.c (pragma_traits): Delete.
12907 (pragma_htab): Use nofree_string_hash as the first template parameter.
12908 (mep_note_pragma_flag): Update accordingly.
12909 * config/mips/mips.c (mips16_flip_traits): Delete.
12910 (mflip_mips16_htab): Use nofree_string_hash as the first template
12911 parameter.
12912 (mflip_mips16_use_mips16_p): Update accordingly.
12913 (local_alias_traits): Delete.
12914 (mips16_local_aliases): Use nofree_string_hash as the first template
12915 parameter.
12916 (mips16_local_alias): Update accordingly.
12917
12918 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12919
12920 * hash-map-traits.h (default_hashmap_traits): Delete.
12921
12922 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12923
12924 * hash-map-traits.h (unbounded_hashmap_traits): New class.
12925 (unbounded_int_hashmap_traits): Likewise.
12926 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
12927
12928 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12929
12930 * ipa-icf.h (symbol_compare_hash): New class.
12931 (symbol_compare_hashmap_traits): Use it.
12932 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
12933 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
12934 (mem_alloc_description::reverse_mem_map_t): Remove redundant
12935 default_hashmap_traits.
12936 * sanopt.c (sanopt_tree_triplet_hash): New class.
12937 (sanopt_tree_triplet_map_traits): Use it.
12938
12939 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12940
12941 * gengtype-parse.c (require_template_declaration): Allow '+' in
12942 template parameters. Consolidate cases.
12943 * hash-traits.h (int_hash): New class.
12944 * alias.c (alias_set_hash): New structure.
12945 (alias_set_traits): Use it.
12946 * symbol-summary.h (function_summary::map_hash): New class.
12947 (function_summary::summary_hashmap_traits): Use it.
12948 * tree-inline.h (dependence_hash): New class.
12949 (dependence_hasher): Use it.
12950 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
12951 * value-prof.c (profile_id_hash): New class.
12952 (profile_id_traits): Use it.
12953
12954 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12955
12956 * config/mips/mips.c (mips16_flip_traits): Use it.
12957 (local_alias_traits, mips16_local_aliases): Convert from a map of
12958 rtxes to a map of symbol names.
12959 (mips16_local_alias): Update accordingly.
12960
12961 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12962
12963 * hash-traits.h (string_hash, nofree_string_hash): New classes.
12964 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
12965 * passes.c (pass_registry_hasher): Likewise.
12966 * config/alpha/alpha.c (string_traits): Likewise.
12967 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
12968 * config/m32c/m32c.c (pragma_traits): Likewise.
12969 * config/mep/mep.c (pragma_traits): Likewise.
12970
12971 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12972
12973 * tree-hash-traits.h (tree_hash): New class.
12974 * except.c: Include tree-hash-traits.h.
12975 (tree_hash_traits): Use tree_hash.
12976
12977 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12978
12979 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
12980 * sese.c: Include tree-hash-traits.h.
12981 (rename_map_hasher): Use tree_ssa_name_hasher.
12982
12983 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12984
12985 * tree-hash-traits.h (tree_decl_hash): New class.
12986 * tree-ssa-strlen.c: Include tree-hash-traits.h.
12987 (stridxlist_hash_traits): Use tree_decl_hash.
12988
12989 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
12990
12991 * tree-hash-traits.h: New file.
12992 (tree_operand_hash): New class.
12993 * sanopt.c: Include tree-hash-traits.h.
12994 (sanopt_tree_map_traits): Use tree_operand_hash.
12995 * tree-if-conv.c: Include tree-hash-traits.h.
12996 (phi_args_hash_traits): Use tree_operand_hash.
12997 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
12998 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
12999
13000 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13001
13002 * hash-map-traits.h: Include hash-traits.h.
13003 (simple_hashmap_traits): New class.
13004 * mem-stats.h (hash_map): Change the default traits to
13005 simple_hashmap_traits<default_hash_traits<Key> >.
13006
13007 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13008
13009 * hash-table.h: Update comments.
13010
13011 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13012
13013 * hash-traits.h (default_hash_traits): New structure.
13014 * hash-set.h (default_hashset_traits): Delete.
13015 (hash_set): Use default_hash_traits<Key> instead of
13016 default_hashset_traits. Delete hash_entry type and use Key directly.
13017 * ipa-devirt.c (pair_traits): Delete.
13018 (default_hash_traits <type_pair>): Override.
13019 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
13020 (odr_types_equivalent_p, add_type_duplicate): Likewise.
13021
13022 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13023
13024 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
13025
13026 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13027
13028 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
13029 (has_is_empty, is_empty_helper): Delete.
13030 (has_mark_deleted, mark_deleted_helper): Delete.
13031 (has_mark_empty, mark_empty_helper): Delete.
13032 (hash_table::is_deleted): Call the Descriptor unconditionally.
13033 (hash_table::is_empty): Likewise.
13034 (hash_table::mark_deleted): Likewise.
13035 (hash_table::mark_empty): Likewise.
13036
13037 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13038
13039 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
13040 redundant typedefs and members.
13041 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
13042 redundant typedefs.
13043 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
13044 * ipa-devirt.c (odr_name_hasher): Likewise.
13045 (polymorphic_call_target_hasher): Likewise.
13046 * ira-costs.c (cost_classes_hasher): Likewise.
13047 * statistics.c (stats_counter_hasher): Likewise.
13048 * trans-mem.c (log_entry_hasher): Likewise.
13049 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
13050 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
13051 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
13052 * var-tracking.c (variable_hasher): Likewise.
13053 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
13054 Remove redundant typedefs and members.
13055
13056 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13057
13058 * hash-traits.h (ggc_cache_hasher): Rename to...
13059 (ggc_cache_remove): ...this and remove typedefs.
13060 (ggc_cache_ptr_hash): New class.
13061 * hash-table.h: Update commentary.
13062 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
13063 rather than ggc_cache_hasher.
13064 (const_wide_int_hasher, reg_attr_hasher): Likewise.
13065 (const_double_hasher, const_fixed_hasher): Likewise.
13066 * function.c (insn_cache_hasher): Likewise.
13067 * trans-mem.c (tm_wrapper_hasher): Likewise.
13068 * tree.h (tree_decl_map_cache_hasher): Likewise.
13069 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
13070 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
13071 * ubsan.c (tree_type_map_cache_hasher): Likewise.
13072 * varasm.c (tm_clone_hasher): Likewise.
13073 * config/i386/i386.c (dllimport_hasher): Likewise.
13074 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
13075 (tree_hasher): Likewise.
13076
13077 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13078
13079 * hash-traits.h (ggc_hasher): Rename to...
13080 (ggc_remover): ...this and remove typedefs.
13081 (ggc_cache_hasher): Update accordingly. Add typedefs.
13082 (ggc_ptr_hash): New class.
13083 * hash-table.h: Update comment.
13084 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
13085 ggc_hasher.
13086 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
13087 (tree_descriptor_hasher): Likewise.
13088 * cgraph.c (function_version_hasher): Likewise.
13089 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
13090 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
13091 (dw_loc_list_hasher, addr_hasher): Likewise.
13092 * function.h (used_type_hasher): Likewise.
13093 * function.c (temp_address_hasher): Likewise.
13094 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
13095 * libfuncs.h (libfunc_hasher): Likewise.
13096 * lto-streamer.h (decl_state_hasher): Likewise.
13097 * optabs.c (libfunc_decl_hasher): Likewise.
13098 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
13099 * varasm.c (section_hasher, object_block_hasher): Likewise.
13100 (const_rtx_desc_hasher): Likewise.
13101 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
13102 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
13103
13104 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13105
13106 * hash-traits.h (free_ptr_hash): New class.
13107 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
13108 rather than typed_free_remove. Remove redudant typedefs.
13109 (external_ref_hasher): Likewise.
13110 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
13111 (ehspec_hasher): Likewise.
13112 * ggc-common.c (saving_hasher): Likewise.
13113 * gimplify.c (gimplify_hasher): Likewise.
13114 * haifa-sched.c (delay_i2_hasher): Likewise.
13115 * loop-invariant.c (invariant_expr_hasher): Likewise.
13116 * loop-iv.c (biv_entry_hasher): Likewise.
13117 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
13118 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
13119 * tree-cfg.c (locus_discrim_hasher): Likewise.
13120 * tree-eh.c (finally_tree_hasher): Likewise.
13121 * tree-into-ssa.c (var_info_hasher): Likewise.
13122 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
13123 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
13124 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
13125 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
13126 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
13127 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
13128 (shared_bitmap_hasher): Likewise.
13129 * tree-ssa-threadupdate.c (redirection_data): Likewise.
13130 * tree-vectorizer.h (peel_info_hasher): Likewise.
13131 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
13132 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
13133
13134 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13135
13136 * hash-table.h: Update comments.
13137 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
13138 (nofree_ptr_hash): New class.
13139 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
13140 than typed_noop_remove. Remove redudant typedefs.
13141 * attribs.c (attribute_hasher): Likewise.
13142 * cfg.c (bb_copy_hasher): Likewise.
13143 * cselib.c (cselib_hasher): Likewise.
13144 * dse.c (invariant_group_base_hasher): Likewise.
13145 * dwarf2cfi.c (trace_info_hasher): Likewise.
13146 * dwarf2out.c (macinfo_entry_hasher): Likewise.
13147 (comdat_type_hasher, loc_list_hasher): Likewise.
13148 * gcse.c (pre_ldst_expr_hasher): Likewise.
13149 * genmatch.c (id_base): Likewise.
13150 * genrecog.c (test_pattern_hasher): Likewise.
13151 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
13152 * haifa-sched.c (delay_i1_hasher): Likewise.
13153 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
13154 * ipa-icf.h (congruence_class_group_hash): Likewise.
13155 * ipa-profile.c (histogram_hash): Likewise.
13156 * ira-color.c (allocno_hard_regs_hasher): Likewise.
13157 * lto-streamer.h (string_slot_hasher): Likewise.
13158 * lto-streamer.c (tree_entry_hasher): Likewise.
13159 * plugin.c (event_hasher): Likewise.
13160 * postreload-gcse.c (expr_hasher): Likewise.
13161 * store-motion.c (st_expr_hasher): Likewise.
13162 * tree-sra.c (uid_decl_hasher): Likewise.
13163 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
13164 (ssa_name_var_hash): Likewise.
13165 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
13166 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
13167 * tree-ssa-pre.c (pre_expr_d): Likewise.
13168 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
13169 * vtable-verify.h (registration_hasher): Likewise.
13170 * vtable-verify.c (vtbl_map_hasher): Likewise.
13171 * config/arm/arm.c (libcall_hasher): Likewise.
13172 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
13173 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
13174 * config/sol2.c (comdat_entry_hasher): Likewise.
13175 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
13176 (print_fold_checksum, fold_checksum_tree): Likewise.
13177 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
13178 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
13179 (fold_build_call_array_loc): Likewise.
13180 * tree-ssa-ccp.c (gimple_htab): Likewise.
13181 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
13182 rather than pointer_type.
13183
13184 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13185
13186 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
13187 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
13188
13189 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13190
13191 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
13192 (ggc_hasher::ggc_mx): Likewise.
13193 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
13194 that duplicate ggc_hasher ones.
13195
13196 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13197
13198 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
13199 (gt_cleare_cache): Check here for deleted and empty entries.
13200 Replace handle_cache_entry with a call to keep_cache_entry.
13201 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
13202 (ggc_cache_hasher::keep_cache_entry): New function.
13203 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
13204 (tm_wrapper_hasher::keep_cache_entry): New function.
13205 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
13206 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
13207 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
13208 (type_cache_hasher::keep_cache_entry): New function.
13209 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
13210 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
13211 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
13212 (tree_type_map_cache_hasher::keep_cache_entry): New function.
13213 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
13214 (tm_clone_hasher::keep_cache_entry): New function.
13215 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
13216 (dllimport_hasher::keep_cache_entry): New function.
13217
13218 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13219
13220 * hash-table.h: Include hash-traits.h.
13221 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
13222 (ggc_cache_hasher): Move to...
13223 * hash-traits.h: ...this new file.
13224
13225 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
13226
13227 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
13228 struct cl_optimization.
13229 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
13230 * tree.c (make_node_stat): Allocate cl_optimization struct.
13231 (copy_node_stat): Allocate and copy cl_optimization struct.
13232
13233 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
13234
13235 * function.h (struct incoming_args): Move struct.
13236 (pass_by_reference, reference_callee_copied): Remove prototypes.
13237 * emit-rtl.h (struct incoming_args): Relocate struct here.
13238 * calls.h (pass_by_reference, reference_callee_copied): Relocate
13239 prototypes here.
13240 * function.c (pass_by_reference, reference_callee_copied): Move.
13241 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
13242 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
13243 * ipa-chkp.c: Include calls.h.
13244
13245 2015-06-25 Andrew Macleod <amacleod@redhat.com>
13246
13247 * alias.h (alias_set_type): Move typedef.
13248 * coretypes.h (alias_set_type): Relocate typedef here.
13249 * rtl.h: Don't include alias.h.
13250
13251 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
13252
13253 * cgraph.h (cgraph_rtl_info): Move to rtl.h
13254 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
13255 and instance.
13256 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
13257 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
13258 doesn't exist.
13259 * calls.c: Include hard-reg-set.h before rtl.h.
13260 * ira.c: Likewise.
13261
13262 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
13263 Vladimir Makarov <vmakarov@redhat.com>
13264
13265 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
13266 Add assert.
13267
13268 2015-06-25 Richard Biener <rguenther@suse.de>
13269
13270 * fold-const.c (fold_binary_loc): Move simplification of
13271 (X <<>> C1) & C2 ...
13272 * match.pd: ... here.
13273
13274 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
13275
13276 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
13277
13278 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
13279
13280 * match.pd: Add patterns for vec_conds between 1 and 0.
13281
13282 2015-06-25 Richard Biener <rguenther@suse.de>
13283
13284 * tree-vect-stmts.c (vectorizable_conversion): Do not set
13285 STMT_VINFO_VEC_STMT for SLP.
13286 (vectorizable_store): Likewise.
13287 (vectorizable_load): Likewise.
13288 (vect_transform_stmt): Catch SLP vectorization clobbering
13289 STMT_VINFO_VEC_STMT.
13290
13291 2015-06-25 Richard Biener <rguenther@suse.de>
13292
13293 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
13294 dumping.
13295 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
13296 cleanup resulting dead code and parameters.
13297 (vect_transform_slp_perm_load): Adjust.
13298
13299 2015-06-25 Nick Clifton <nickc@redhat.com>
13300
13301 * config/bfin/bfin.c (bfin_expand_prologue): Set
13302 current_function_static_stack_size if flag_stack_usage_info is set.
13303 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
13304 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
13305 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
13306 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
13307
13308 2015-06-25 Tom de Vries <tom@codesourcery.com>
13309
13310 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
13311 comment that the generated IV is unsigned.
13312
13313 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13314
13315 PR target/29693
13316 * config/arm/arm.c (arm_dbx_register_number): Return
13317 DWARF_FRAME_REGISTERS by default.
13318
13319 2015-06-25 Tom de Vries <tom@codesourcery.com>
13320
13321 * dominance.c (calculate_dominance_info): Fix verify_dominators call
13322 argument. Call verify_dominator when reusing dominator info.
13323
13324 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
13325
13326 PR target/66563
13327 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
13328 an additional element of the unspec vector. Modify indices
13329 of operands.
13330 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
13331 * config/sh/sh.c (prepare_move_operands): Pass incremented
13332 const_int to gen_GOTaddr2picreg.
13333 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
13334
13335 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
13336
13337 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
13338 Condition on TARGET_FLOAT.
13339
13340 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
13341
13342 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
13343 and (no)crypto.
13344
13345 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
13346
13347 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
13348
13349 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
13350 aarch64_err_no_fpadvsimd.
13351
13352 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
13353 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
13354 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
13355 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
13356 Turn error into assert, test TARGET_FLOAT.
13357 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
13358 TARGET_FLOAT.
13359
13360 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
13361
13362 PR debug/66482
13363 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
13364
13365 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
13366
13367 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
13368
13369 2015-06-24 Renlin Li <renlin.li@arm.com>
13370
13371 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
13372 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
13373
13374 2015-06-24 Richard Biener <rguenther@suse.de>
13375
13376 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
13377 (main): Likewise.
13378 (lower_opt_convert): Support lowering of conditional view_convert.
13379 (parser::parse_operation): Likewise.
13380 (parser::parse_for): Likewise.
13381
13382 2015-06-24 Renlin Li <renlin.li@arm.com>
13383
13384 * varasm.c (emit_local): Use unsigned int for align variable.
13385
13386 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13387
13388 PR target/63408
13389 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
13390 for negative numbers.
13391
13392 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13393
13394 PR rtl-optimization/66306
13395 * reload.c (find_reloads): Swap the match_dup info for
13396 commutative operands.
13397
13398 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13399
13400 * config/s390/vx-builtins.md
13401 ("vec_scatter_element<mode>_<non_vec_int>")
13402 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
13403 attribute with bhfgq.
13404
13405 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13406
13407 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
13408
13409 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13410
13411 * config/s390/s390-builtin-types.def: Add flag to indicate the
13412 options under which the function type is needed.
13413 * config/s390/s390-builtins.def: Add flag to indicate the options
13414 under which the builtin is enabled.
13415 * config/s390/s390-builtins.h: Add flags parameter to macro
13416 definitions.
13417 (bflags_for_builtin): New function.
13418 (flags_for_builtin): Renamed to ...
13419 (opflags_for_builtin): ... this.
13420 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
13421 flags_for_builtin to bflags_for_builtin and
13422 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
13423 * config/s390/s390.c: Add initialization of bflags_builtin and
13424 opflags_builtin arrays.
13425 Remove code for flags_builtin.
13426 (s390_init_builtins): Only create builtin function types if one of
13427 their flags is active.
13428 Only create builtins if all of their flags are active.
13429 (s390_expand_builtin): Rename flags_for_builtin to
13430 opflags_for_builtin.
13431
13432 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13433
13434 * config/s390/vecintrin.h: Remove internal builtins.
13435
13436 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13437
13438 * config/s390/s390.c (s390_secondary_reload): Fix check for
13439 GENERAL_REGS register class.
13440
13441 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13442
13443 * config/s390/s390.c (s390_support_vector_misalignment): Call
13444 default implementation for !TARGET_VX.
13445
13446 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13447
13448 * config/s390/s390.c (s390_legitimate_constant_p): Add
13449 TARGET_VX check.
13450
13451 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13452
13453 * config/s390/s390.c (s390_vector_abi): New variable definition.
13454 (s390_check_type_for_vector_abi): New function.
13455 (TARGET_ASM_FILE_END): New macro definition.
13456 (s390_asm_file_end): New function.
13457 (s390_function_arg): Call s390_check_type_for_vector_abi.
13458 (s390_gimplify_va_arg): Likewise.
13459 * configure: Regenerate.
13460 * configure.ac: Check for .gnu_attribute Binutils feature.
13461
13462 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
13463
13464 PR target/65803
13465 * config/bfin/bfin.c (hwloop_optimize): Initialize
13466 JUMP_LABEL for newly created jump.
13467
13468 2015-06-23 Tristan Gingold <gingold@adacore.com>
13469
13470 * collect-utils.c (collect_wait): Unlink the response file here
13471 instead of...
13472 (do_wait): ...here.
13473 (utils_cleanup): ...and here.
13474
13475 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
13476
13477 * df-scan.c: Don't include target-def.h.
13478 * targhooks.c: Likewise.
13479 * config/arm/arm-c.c: Likewise.
13480 * config/i386/i386-c.c: Likewise.
13481 * config/nds32/nds32-cost.c: Likewise.
13482 * config/nds32/nds32-fp-as-gp.c: Likewise.
13483 * config/nds32/nds32-intrinsic.c: Likewise.
13484 * config/nds32/nds32-isr.c: Likewise.
13485 * config/nds32/nds32-md-auxiliary.c: Likewise.
13486 * config/nds32/nds32-memory-manipulation.c: Likewise.
13487 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
13488 * config/nds32/nds32-predicates.c: Likewise.
13489
13490 2015-06-23 Richard Biener <rguenther@suse.de>
13491
13492 PR tree-optimization/66636
13493 * tree-vect-stmts.c (vectorizable_store): Properly compute the
13494 def type for further defs for strided stores.
13495
13496 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
13497
13498 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
13499 conditional selects.
13500 (setcc_int<mode>, setcc_float<mode>): Reformat.
13501
13502 2015-06-23 Marek Polacek <polacek@redhat.com>
13503
13504 * match.pd ((x + y) - (x | y) -> x & y,
13505 (x + y) - (x & y) -> x | y): New patterns.
13506
13507 2015-06-23 Ludovic Courtès <ludo@gnu.org>
13508
13509 PR 65711
13510 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
13511 '-dynamic-linker' within %{!shared: ...}.
13512
13513 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
13514
13515 PR target/66560
13516 * config/i386/predicates.md (addsub_vm_operator): New predicate.
13517 (addsub_vs_operator): Ditto.
13518 (addsub_vs_parallel): Ditto.
13519 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
13520 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
13521 Put minus RTX before plus and adjust vec_merge selector.
13522 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
13523 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
13524 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
13525 (addsub vec_merge splitters): New combiner splitters.
13526 (addsub vec_select/vec_concat splitters): Ditto.
13527
13528 2015-06-23 Bin Cheng <bin.cheng@arm.com>
13529
13530 PR tree-optimization/66449
13531 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
13532 POINTER_PLUS_EXPR for pointers.
13533
13534 2015-06-23 Alan Modra <amodra@gmail.com>
13535
13536 * rtlanal.c (commutative_operand_precedence): Correct comments.
13537 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
13538 declaration. Return an int. Distinguish REG,REG return from
13539 others.
13540 (struct simplify_plus_minus_op_data): Make local to function.
13541 (simplify_plus_minus): Don't set canonicalized if merely sorting
13542 registers. Avoid packing ops if nothing changes. White space fixes.
13543
13544 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
13545
13546 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
13547 -fdump-ada-spec is passed but not if -fsyntax-only is.
13548
13549 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
13550
13551 PR bootstrap/63740
13552 * lra-lives.c (process_bb_lives): Check insn copying the same
13553 reload pseudo and don't create a copy for it.
13554
13555 2015-06-22 Tom de Vries <tom@codesourcery.com>
13556
13557 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
13558 for cond_stmt.
13559
13560 2015-06-22 Tom de Vries <tom@codesourcery.com>
13561
13562 * builtins.def (DEF_GOMP_BUILTIN): Test
13563 'flag_tree_parallelize_loops > 1' instead of
13564 'flag_tree_parallelize_loops'. Test flag_cilkplus.
13565
13566 2015-06-22 Tom de Vries <tom@codesourcery.com>
13567
13568 * dominance.c (calculate_dominance_info): Verify dominators if
13569 early-out.
13570
13571 2015-06-22 Marek Polacek <polacek@redhat.com>
13572
13573 * match.pd ((x ^ y) ^ (x | y) -> x & y,
13574 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
13575 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
13576 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
13577
13578 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
13579
13580 PR target/65871
13581 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
13582 cost of embedded comparison.
13583
13584 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
13585
13586 PR target/65914
13587 * config/rs6000/predicates.md (altivec_register_operand): Permit
13588 virtual stack registers.
13589 (vsx_register_operand): Likewise.
13590 (vfloat_operand): Likewise.
13591 (vint_operand): Likewise.
13592 (vlogical_operand): Likewise.
13593
13594 2015-06-22 Richard Biener <rguenther@suse.de>
13595
13596 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
13597 and single_scalar_iteration_cost members.
13598 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
13599 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
13600 (vect_get_single_scalar_iteration_cost): Remove.
13601 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
13602 Use LOOP_VINFO_SCALAR_ITERATION_COST.
13603 * tree-vect-loop.c (destroy_loop_vec_info): Free
13604 scalar_cost_vec.
13605 (vect_get_single_scalar_iteration_cost): Compute result into
13606 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
13607 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
13608 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
13609 (vect_estimate_min_profitable_iters): Use them.
13610
13611 2015-06-22 Christian Bruel <christian.bruel@st.com>
13612
13613 PR target/52144
13614 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
13615 (TARGET_INSERT_ATTRIBUTES): Define.
13616 (thumb_flipper): New var.
13617 * config/arm/arm.opt (-mflip-thumb): New switch.
13618
13619 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
13620 Martin Liska <mliska@suse.cz>
13621
13622 PR ipa/65908
13623 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
13624 construction of arg_types.
13625 (sem_function::sem_function): Likewise.
13626 (sem_function::~sem_function): Remove destruction of arg_types.
13627 (sem_function::compatible_parm_types_p): New function.
13628 (sem_function::equals_wpa): Reorg matching of return values
13629 and parameter types.
13630 (sem_function::equals_private): Reorg mathcing of argument types.
13631 (sem_function::parse_tree_args): Remove.
13632 * ipa-icf.h (init_wpa): Do not call it.
13633 (parse_tree_args): Remove.
13634 (compatible_parm_types_p): Declare.
13635 (result_type): Remove.
13636 (arg_types): Remove.
13637
13638 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
13639
13640 PR ipa/66351
13641 * ipa-polymorphic-call.c
13642 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
13643 initializing alias oracle; fix formating; set base_alias_set if it
13644 is known.
13645
13646 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
13647
13648 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
13649 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
13650 (find_inc): Likewise.
13651 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
13652 swapping.
13653 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
13654 * df-scan.c (df_swap_refs): Remove.
13655 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
13656 * dominance.c (link_roots): Use std::swap instead of manually swapping.
13657 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
13658 * fold-const.c (fold_relational_const): Likewise.
13659 * genattrtab.c (simplify_test_exp): Likewise.
13660 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
13661 gimple_simplify): Likewise.
13662 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
13663 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
13664 * ipa-devirt.c (add_type_duplicate): Likewise.
13665 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
13666 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
13667 * lra.c (lra_create_copy): Likewise.
13668 * lto-streamer-out.c (DFS::DFS): Likewise.
13669 * modulo-sched.c (get_sched_window): Likewise.
13670 * omega.c (omega_pretty_print_problem): Likewise.
13671 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
13672 * reload1.c (reloads_unique_chain_p): Likewise.
13673 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
13674 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
13675 use std::swap.
13676 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
13677 manually swapping.
13678 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
13679 predicate_mem_writes): Likewise.
13680 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
13681 * tree-predcom.c (combine_chains): Likewise.
13682 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
13683 refs_may_alias_p_1): Likewise.
13684 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
13685 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
13686 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
13687 number_of_iterations_cond): Likewise.
13688 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
13689 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
13690 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
13691 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
13692 * tree-vrp.c (extract_range_from_binary_expr_1,
13693 extract_range_from_unary_expr_1): Likewise.
13694
13695 2015-06-20 Marek Polacek <polacek@redhat.com>
13696
13697 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
13698
13699 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
13700
13701 PR target/66591
13702 * config/sh/sh.c (prepare_move_operands): Replace subreg
13703 index term with R0 for base and index addressing.
13704
13705 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
13706
13707 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
13708 op1 is an fp zero.
13709 (movsf_aarch64): Change condition from register_operand to
13710 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
13711 load1. Change type for alternative 7 to store1.
13712 (movdf_aarch64): Likewise.
13713
13714 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
13715
13716 * config/vax/vax.md: Adjust sign/zero extend patterns to
13717 handle SUBREGs in operands[1].
13718
13719 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13720
13721 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
13722 of manually swapping.
13723 (expand_vec_perm_interleave2): Likewise.
13724
13725 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
13726
13727 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
13728 reuse bounds created for abnormal ssa names.
13729
13730 2015-06-19 Jakub Jelinek <jakub@redhat.com>
13731
13732 * config/nvptx/nvptx.md (allocate_stack): Rename to...
13733 (allocate_stack_<mode>): ... this, and add :P on both
13734 match_operand and unspec.
13735 (allocate_stack): New expander.
13736
13737 2015-06-19 Christian Bruel <christian.bruel@st.com>
13738
13739 PR target/66541
13740 PR target/52144
13741 * config/arm/arm.c (arm_set_current_function): Handle
13742 explicit default options.
13743
13744 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
13745
13746 * config/i386/i386.md (*movsicc_noc_zext): New insn.
13747 (zero-extended cmove with mem peephole2): New pattern.
13748 (cmove with mem peephole2): Merge patterns.
13749
13750 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
13751
13752 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
13753
13754 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
13755
13756 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
13757 * config/mips/mips.md (*madd4<mode>): Ditto.
13758 (*nmadd3<mode>) Ditto.
13759 (*nmadd4<mode>_fastmath): Ditto.
13760 (*nmadd3<mode>_fastmath): Ditto.
13761 (*nmsub4<mode>): Ditto.
13762 (*nmsub3<mode>): Ditto.
13763 (*nmsub4<mode>_fastmath): Ditto.
13764 (*nmsub3<mode>_fastmath): Ditto.
13765
13766 2015-06-18 Michael Matz <matz@suse.de>
13767
13768 PR middle-end/66253
13769 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
13770 grouped strided stores.
13771 (vectorizable_load): Don't use the DR from first_stmt in
13772 the non-SLP grouped strided case.
13773
13774 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
13775
13776 PR target/66569
13777 * function.c (assign_bounds): Add arguments assign_regs,
13778 assign_special, assign_bt.
13779 (assign_parms): For vararg functions handle bounds in BT
13780 and special slots after incoming vararg bounds.
13781
13782 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
13783
13784 PR middle-end/66568
13785 * cfgexpand.c (expand_return): Handle missing bounds.
13786 (expand_gimple_stmt_1): Likewise.
13787 * tree-chkp.c (chkp_expand_zero_bounds): New.
13788 * tree-chkp.h (chkp_expand_zero_bounds): New.
13789
13790 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
13791
13792 PR middle-end/66567
13793 * ipa-chkp.c (chkp_maybe_create_clone): Require
13794 functions to be instrumentable.
13795 * tree-chkp.c (chkp_replace_function_pointer): Use
13796 chkp_instrumentable_p instead of attribute check.
13797
13798 2015-06-18 Richard Biener <rguenther@suse.de>
13799
13800 PR tree-optimization/66510
13801 * tree-vect-stmts.c (vectorizable_load): Properly compute the
13802 number of vector loads for SLP permuted loads.
13803 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
13804 check the stride for loop vectorization.
13805 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
13806 vectorization factor.
13807 (vect_analyze_group_access): If the group size is not a power
13808 of two require a epilogue loop.
13809 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
13810 compute and optimizing and alias test pruning after final
13811 vectorization factor computation.
13812 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
13813 vector alignment.
13814 (vect_transform_slp_perm_load): Properly compute the original
13815 number of vector load stmts.
13816
13817 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
13818
13819 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
13820 "unlikely character , in @var" warning.
13821
13822 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
13823
13824 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
13825 (ix86_function_arg_advance): Ditto.
13826 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
13827
13828 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
13829
13830 * function.h (struct rtl_data): Remove struct and accessor macros.
13831 * emit-rtl.h (struct rtl_data): Relocate to here.
13832 * Makefile.in (GTFILES): Add emit-rtl.h.
13833 * df-core.c: Include emit-rtl.h.
13834 * genattrtab.c: Likewise.
13835 * genconditions.c: Likewise.
13836 * genpreds.c: Likewise.
13837 * genrecog.c: Likewise.
13838 * regcprop.c: Likewise.
13839 * resource.c: Likewise.
13840 * sched-rgn.c: Likewise.
13841 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
13842 * config/i386/winnt.c: Likewise.
13843
13844 2015-06-17 Jakub Jelinek <jakub@redhat.com>
13845
13846 PR middle-end/66429
13847 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
13848 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
13849 and has_force_vectorize_loops flags from cfun into
13850 child_cfun.
13851 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
13852 if simduid is non-NULL.
13853 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
13854 * passes.def (pass_simduid_cleanup): Add new pass after loop
13855 passes.
13856 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
13857 indirection from htab argument's type.
13858 (shrink_simd_arrays): New function.
13859 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
13860 Don't call adjust_simduid_builtins if there are no loops.
13861 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
13862 (pass_simduid_cleanup::execute): New method.
13863 (make_pass_simduid_cleanup): New function.
13864
13865 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
13866
13867 * tree-core.h (tree_target_option): Make opts field a pointer to a
13868 cl_target_option instead of an instance of the struct.
13869 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
13870 the structure.
13871 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
13872 TARGET_OPTION_NODE.
13873 (copy_node_stat): Allocate and copy struct cl_target_option.
13874
13875 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
13876
13877 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
13878 Remove conditional exposure of prototypes.
13879 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
13880 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
13881 definitions in tree.h with functions.
13882 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
13883 anon_aggrname_p.
13884 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
13885
13886 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
13887
13888 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
13889 (*cmp<mode>_signed): ... this.
13890 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
13891 (*cmp<mode>_unsigned): ... this. Remove %b.
13892
13893 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
13894
13895 * coretypes.h: Include input.h and as-a.h.
13896 * rtl.h: Include input.h and as-a.h for generator files.
13897 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
13898 * vec.c: Don't include diagnostic-core.h.
13899 * alias.c: Do not include input.h, line-map.h or is-a.h.
13900 * asan.c: Likewise.
13901 * attribs.c: Likewise.
13902 * auto-inc-dec.c: Likewise.
13903 * auto-profile.c: Likewise.
13904 * bb-reorder.c: Likewise.
13905 * bt-load.c: Likewise.
13906 * builtins.c: Likewise.
13907 * caller-save.c: Likewise.
13908 * calls.c: Likewise.
13909 * ccmp.c: Likewise.
13910 * cfg.c: Likewise.
13911 * cfganal.c: Likewise.
13912 * cfgbuild.c: Likewise.
13913 * cfgcleanup.c: Likewise.
13914 * cfgexpand.c: Likewise.
13915 * cfghooks.c: Likewise.
13916 * cfgloop.c: Likewise.
13917 * cfgloop.h: Likewise.
13918 * cfgloopanal.c: Likewise.
13919 * cfgloopmanip.c: Likewise.
13920 * cfgrtl.c: Likewise.
13921 * cgraph.c: Likewise.
13922 * cgraphbuild.c: Likewise.
13923 * cgraphclones.c: Likewise.
13924 * cgraphunit.c: Likewise.
13925 * cilk-common.c: Likewise.
13926 * combine-stack-adj.c: Likewise.
13927 * combine.c: Likewise.
13928 * compare-elim.c: Likewise.
13929 * convert.c: Likewise.
13930 * coverage.c: Likewise.
13931 * cppbuiltin.c: Likewise.
13932 * cprop.c: Likewise.
13933 * cse.c: Likewise.
13934 * cselib.c: Likewise.
13935 * data-streamer-in.c: Likewise.
13936 * data-streamer-out.c: Likewise.
13937 * data-streamer.c: Likewise.
13938 * dbxout.c: Likewise.
13939 * dce.c: Likewise.
13940 * ddg.c: Likewise.
13941 * debug.c: Likewise.
13942 * df-core.c: Likewise.
13943 * df-problems.c: Likewise.
13944 * df-scan.c: Likewise.
13945 * df.h: Likewise.
13946 * dfp.c: Likewise.
13947 * diagnostic-core.h: Likewise.
13948 * diagnostic.c: Likewise.
13949 * dojump.c: Likewise.
13950 * dominance.c: Likewise.
13951 * domwalk.c: Likewise.
13952 * double-int.c: Likewise.
13953 * dse.c: Likewise.
13954 * dumpfile.c: Likewise.
13955 * dumpfile.h: Likewise.
13956 * dwarf2asm.c: Likewise.
13957 * dwarf2cfi.c: Likewise.
13958 * dwarf2out.c: Likewise.
13959 * emit-rtl.c: Likewise.
13960 * et-forest.c: Likewise.
13961 * except.c: Likewise.
13962 * explow.c: Likewise.
13963 * expmed.c: Likewise.
13964 * expr.c: Likewise.
13965 * final.c: Likewise.
13966 * fixed-value.c: Likewise.
13967 * fold-const.c: Likewise.
13968 * function.c: Likewise.
13969 * fwprop.c: Likewise.
13970 * gcc-plugin.h: Likewise.
13971 * gcse.c: Likewise.
13972 * generic-match-head.c: Likewise.
13973 * ggc-page.c: Likewise.
13974 * gimple-builder.c: Likewise.
13975 * gimple-expr.c: Likewise.
13976 * gimple-fold.c: Likewise.
13977 * gimple-iterator.c: Likewise.
13978 * gimple-low.c: Likewise.
13979 * gimple-match-head.c: Likewise.
13980 * gimple-pretty-print.c: Likewise.
13981 * gimple-ssa-isolate-paths.c: Likewise.
13982 * gimple-ssa-strength-reduction.c: Likewise.
13983 * gimple-streamer-in.c: Likewise.
13984 * gimple-streamer-out.c: Likewise.
13985 * gimple-streamer.h: Likewise.
13986 * gimple-walk.c: Likewise.
13987 * gimple.c: Likewise.
13988 * gimplify-me.c: Likewise.
13989 * gimplify.c: Likewise.
13990 * godump.c: Likewise.
13991 * graph.c: Likewise.
13992 * graphite-blocking.c: Likewise.
13993 * graphite-dependences.c: Likewise.
13994 * graphite-interchange.c: Likewise.
13995 * graphite-isl-ast-to-gimple.c: Likewise.
13996 * graphite-optimize-isl.c: Likewise.
13997 * graphite-poly.c: Likewise.
13998 * graphite-scop-detection.c: Likewise.
13999 * graphite-sese-to-poly.c: Likewise.
14000 * graphite.c: Likewise.
14001 * haifa-sched.c: Likewise.
14002 * hw-doloop.c: Likewise.
14003 * ifcvt.c: Likewise.
14004 * init-regs.c: Likewise.
14005 * input.c: Likewise.
14006 * internal-fn.c: Likewise.
14007 * ipa-chkp.c: Likewise.
14008 * ipa-comdats.c: Likewise.
14009 * ipa-cp.c: Likewise.
14010 * ipa-devirt.c: Likewise.
14011 * ipa-icf-gimple.c: Likewise.
14012 * ipa-icf.c: Likewise.
14013 * ipa-inline-analysis.c: Likewise.
14014 * ipa-inline-transform.c: Likewise.
14015 * ipa-inline.c: Likewise.
14016 * ipa-polymorphic-call.c: Likewise.
14017 * ipa-profile.c: Likewise.
14018 * ipa-prop.c: Likewise.
14019 * ipa-pure-const.c: Likewise.
14020 * ipa-ref.c: Likewise.
14021 * ipa-reference.c: Likewise.
14022 * ipa-split.c: Likewise.
14023 * ipa-utils.c: Likewise.
14024 * ipa-visibility.c: Likewise.
14025 * ipa.c: Likewise.
14026 * ira-build.c: Likewise.
14027 * ira-color.c: Likewise.
14028 * ira-conflicts.c: Likewise.
14029 * ira-costs.c: Likewise.
14030 * ira-emit.c: Likewise.
14031 * ira-lives.c: Likewise.
14032 * ira.c: Likewise.
14033 * jump.c: Likewise.
14034 * langhooks.c: Likewise.
14035 * lcm.c: Likewise.
14036 * loop-doloop.c: Likewise.
14037 * loop-init.c: Likewise.
14038 * loop-invariant.c: Likewise.
14039 * loop-iv.c: Likewise.
14040 * loop-unroll.c: Likewise.
14041 * lower-subreg.c: Likewise.
14042 * lra-assigns.c: Likewise.
14043 * lra-coalesce.c: Likewise.
14044 * lra-constraints.c: Likewise.
14045 * lra-eliminations.c: Likewise.
14046 * lra-lives.c: Likewise.
14047 * lra-remat.c: Likewise.
14048 * lra-spills.c: Likewise.
14049 * lra.c: Likewise.
14050 * lto-cgraph.c: Likewise.
14051 * lto-compress.c: Likewise.
14052 * lto-opts.c: Likewise.
14053 * lto-section-in.c: Likewise.
14054 * lto-section-out.c: Likewise.
14055 * lto-streamer-in.c: Likewise.
14056 * lto-streamer-out.c: Likewise.
14057 * lto-streamer.c: Likewise.
14058 * mcf.c: Likewise.
14059 * mode-switching.c: Likewise.
14060 * modulo-sched.c: Likewise.
14061 * omega.c: Likewise.
14062 * omp-low.c: Likewise.
14063 * optabs.c: Likewise.
14064 * opts-global.c: Likewise.
14065 * opts.h: Likewise.
14066 * passes.c: Likewise.
14067 * plugin.c: Likewise.
14068 * postreload-gcse.c: Likewise.
14069 * postreload.c: Likewise.
14070 * predict.c: Likewise.
14071 * pretty-print.h: Likewise.
14072 * print-rtl.c: Likewise.
14073 * print-tree.c: Likewise.
14074 * profile.c: Likewise.
14075 * real.c: Likewise.
14076 * realmpfr.c: Likewise.
14077 * recog.c: Likewise.
14078 * ree.c: Likewise.
14079 * reg-stack.c: Likewise.
14080 * regcprop.c: Likewise.
14081 * reginfo.c: Likewise.
14082 * regrename.c: Likewise.
14083 * regstat.c: Likewise.
14084 * reload.c: Likewise.
14085 * reload1.c: Likewise.
14086 * reorg.c: Likewise.
14087 * resource.c: Likewise.
14088 * rtl-chkp.c: Likewise.
14089 * rtl-error.c: Likewise.
14090 * rtlanal.c: Likewise.
14091 * rtlhooks.c: Likewise.
14092 * sanopt.c: Likewise.
14093 * sched-deps.c: Likewise.
14094 * sched-ebb.c: Likewise.
14095 * sched-rgn.c: Likewise.
14096 * sched-vis.c: Likewise.
14097 * sdbout.c: Likewise.
14098 * sel-sched-dump.c: Likewise.
14099 * sel-sched-ir.c: Likewise.
14100 * sel-sched.c: Likewise.
14101 * sese.c: Likewise.
14102 * shrink-wrap.c: Likewise.
14103 * simplify-rtx.c: Likewise.
14104 * stack-ptr-mod.c: Likewise.
14105 * statistics.c: Likewise.
14106 * stmt.c: Likewise.
14107 * stor-layout.c: Likewise.
14108 * store-motion.c: Likewise.
14109 * streamer-hooks.c: Likewise.
14110 * stringpool.c: Likewise.
14111 * symtab.c: Likewise.
14112 * target-globals.c: Likewise.
14113 * targhooks.c: Likewise.
14114 * toplev.c: Likewise.
14115 * tracer.c: Likewise.
14116 * trans-mem.c: Likewise.
14117 * tree-affine.c: Likewise.
14118 * tree-browser.c: Likewise.
14119 * tree-call-cdce.c: Likewise.
14120 * tree-cfg.c: Likewise.
14121 * tree-cfgcleanup.c: Likewise.
14122 * tree-chkp-opt.c: Likewise.
14123 * tree-chkp.c: Likewise.
14124 * tree-chrec.c: Likewise.
14125 * tree-complex.c: Likewise.
14126 * tree-data-ref.c: Likewise.
14127 * tree-dfa.c: Likewise.
14128 * tree-diagnostic.c: Likewise.
14129 * tree-dump.c: Likewise.
14130 * tree-eh.c: Likewise.
14131 * tree-emutls.c: Likewise.
14132 * tree-if-conv.c: Likewise.
14133 * tree-inline.c: Likewise.
14134 * tree-into-ssa.c: Likewise.
14135 * tree-iterator.c: Likewise.
14136 * tree-loop-distribution.c: Likewise.
14137 * tree-nested.c: Likewise.
14138 * tree-nrv.c: Likewise.
14139 * tree-object-size.c: Likewise.
14140 * tree-outof-ssa.c: Likewise.
14141 * tree-parloops.c: Likewise.
14142 * tree-phinodes.c: Likewise.
14143 * tree-predcom.c: Likewise.
14144 * tree-pretty-print.c: Likewise.
14145 * tree-profile.c: Likewise.
14146 * tree-scalar-evolution.c: Likewise.
14147 * tree-sra.c: Likewise.
14148 * tree-ssa-address.c: Likewise.
14149 * tree-ssa-alias.c: Likewise.
14150 * tree-ssa-ccp.c: Likewise.
14151 * tree-ssa-coalesce.c: Likewise.
14152 * tree-ssa-copy.c: Likewise.
14153 * tree-ssa-copyrename.c: Likewise.
14154 * tree-ssa-dce.c: Likewise.
14155 * tree-ssa-dom.c: Likewise.
14156 * tree-ssa-dse.c: Likewise.
14157 * tree-ssa-forwprop.c: Likewise.
14158 * tree-ssa-ifcombine.c: Likewise.
14159 * tree-ssa-live.c: Likewise.
14160 * tree-ssa-loop-ch.c: Likewise.
14161 * tree-ssa-loop-im.c: Likewise.
14162 * tree-ssa-loop-ivcanon.c: Likewise.
14163 * tree-ssa-loop-ivopts.c: Likewise.
14164 * tree-ssa-loop-manip.c: Likewise.
14165 * tree-ssa-loop-niter.c: Likewise.
14166 * tree-ssa-loop-prefetch.c: Likewise.
14167 * tree-ssa-loop-unswitch.c: Likewise.
14168 * tree-ssa-loop.c: Likewise.
14169 * tree-ssa-math-opts.c: Likewise.
14170 * tree-ssa-operands.c: Likewise.
14171 * tree-ssa-phiopt.c: Likewise.
14172 * tree-ssa-phiprop.c: Likewise.
14173 * tree-ssa-pre.c: Likewise.
14174 * tree-ssa-propagate.c: Likewise.
14175 * tree-ssa-reassoc.c: Likewise.
14176 * tree-ssa-sccvn.c: Likewise.
14177 * tree-ssa-scopedtables.c: Likewise.
14178 * tree-ssa-sink.c: Likewise.
14179 * tree-ssa-strlen.c: Likewise.
14180 * tree-ssa-structalias.c: Likewise.
14181 * tree-ssa-tail-merge.c: Likewise.
14182 * tree-ssa-ter.c: Likewise.
14183 * tree-ssa-threadedge.c: Likewise.
14184 * tree-ssa-threadupdate.c: Likewise.
14185 * tree-ssa-uncprop.c: Likewise.
14186 * tree-ssa-uninit.c: Likewise.
14187 * tree-ssa.c: Likewise.
14188 * tree-ssanames.c: Likewise.
14189 * tree-stdarg.c: Likewise.
14190 * tree-streamer-in.c: Likewise.
14191 * tree-streamer-out.c: Likewise.
14192 * tree-streamer.c: Likewise.
14193 * tree-switch-conversion.c: Likewise.
14194 * tree-tailcall.c: Likewise.
14195 * tree-vect-data-refs.c: Likewise.
14196 * tree-vect-generic.c: Likewise.
14197 * tree-vect-loop-manip.c: Likewise.
14198 * tree-vect-loop.c: Likewise.
14199 * tree-vect-patterns.c: Likewise.
14200 * tree-vect-slp.c: Likewise.
14201 * tree-vect-stmts.c: Likewise.
14202 * tree-vectorizer.c: Likewise.
14203 * tree-vrp.c: Likewise.
14204 * tree.c: Likewise.
14205 * tsan.c: Likewise.
14206 * ubsan.c: Likewise.
14207 * valtrack.c: Likewise.
14208 * value-prof.c: Likewise.
14209 * var-tracking.c: Likewise.
14210 * varasm.c: Likewise.
14211 * varpool.c: Likewise.
14212 * vmsdbgout.c: Likewise.
14213 * vtable-verify.c: Likewise.
14214 * web.c: Likewise.
14215 * wide-int.cc: Likewise.
14216 * xcoffout.c: Likewise.
14217 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
14218 * common/common-targhooks.c: Likewise.
14219 * config/aarch64/aarch64-builtins.c: Likewise.
14220 * config/aarch64/aarch64.c: Likewise.
14221 * config/alpha/alpha.c: Likewise.
14222 * config/arc/arc.c: Likewise.
14223 * config/arm/aarch-common.c: Likewise.
14224 * config/arm/arm-builtins.c: Likewise.
14225 * config/arm/arm-c.c: Likewise.
14226 * config/arm/arm.c: Likewise.
14227 * config/avr/avr-c.c: Likewise.
14228 * config/avr/avr-log.c: Likewise.
14229 * config/avr/avr.c: Likewise.
14230 * config/bfin/bfin.c: Likewise.
14231 * config/c6x/c6x.c: Likewise.
14232 * config/cr16/cr16.c: Likewise.
14233 * config/cris/cris.c: Likewise.
14234 * config/darwin-c.c: Likewise.
14235 * config/darwin.c: Likewise.
14236 * config/default-c.c: Likewise.
14237 * config/epiphany/epiphany.c: Likewise.
14238 * config/epiphany/mode-switch-use.c: Likewise.
14239 * config/epiphany/resolve-sw-modes.c: Likewise.
14240 * config/fr30/fr30.c: Likewise.
14241 * config/frv/frv.c: Likewise.
14242 * config/ft32/ft32.c: Likewise.
14243 * config/glibc-c.c: Likewise.
14244 * config/h8300/h8300.c: Likewise.
14245 * config/i386/i386-c.c: Likewise.
14246 * config/i386/i386.c: Likewise.
14247 * config/i386/msformat-c.c: Likewise.
14248 * config/i386/winnt-cxx.c: Likewise.
14249 * config/i386/winnt-stubs.c: Likewise.
14250 * config/i386/winnt.c: Likewise.
14251 * config/ia64/ia64-c.c: Likewise.
14252 * config/ia64/ia64.c: Likewise.
14253 * config/iq2000/iq2000.c: Likewise.
14254 * config/lm32/lm32.c: Likewise.
14255 * config/m32c/m32c-pragma.c: Likewise.
14256 * config/m32c/m32c.c: Likewise.
14257 * config/m32r/m32r.c: Likewise.
14258 * config/m68k/m68k.c: Likewise.
14259 * config/mcore/mcore.c: Likewise.
14260 * config/mep/mep-pragma.c: Likewise.
14261 * config/mep/mep.c: Likewise.
14262 * config/microblaze/microblaze-c.c: Likewise.
14263 * config/microblaze/microblaze.c: Likewise.
14264 * config/mips/mips.c: Likewise.
14265 * config/mmix/mmix.c: Likewise.
14266 * config/mn10300/mn10300.c: Likewise.
14267 * config/moxie/moxie.c: Likewise.
14268 * config/msp430/msp430-c.c: Likewise.
14269 * config/msp430/msp430.c: Likewise.
14270 * config/nds32/nds32-cost.c: Likewise.
14271 * config/nds32/nds32-fp-as-gp.c: Likewise.
14272 * config/nds32/nds32-intrinsic.c: Likewise.
14273 * config/nds32/nds32-isr.c: Likewise.
14274 * config/nds32/nds32-md-auxiliary.c: Likewise.
14275 * config/nds32/nds32-memory-manipulation.c: Likewise.
14276 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
14277 * config/nds32/nds32-predicates.c: Likewise.
14278 * config/nds32/nds32.c: Likewise.
14279 * config/nios2/nios2.c: Likewise.
14280 * config/nvptx/nvptx.c: Likewise.
14281 * config/pa/pa.c: Likewise.
14282 * config/pdp11/pdp11.c: Likewise.
14283 * config/rl78/rl78-c.c: Likewise.
14284 * config/rl78/rl78.c: Likewise.
14285 * config/rs6000/rs6000-c.c: Likewise.
14286 * config/rs6000/rs6000.c: Likewise.
14287 * config/rx/rx.c: Likewise.
14288 * config/s390/s390-c.c: Likewise.
14289 * config/s390/s390.c: Likewise.
14290 * config/sh/sh-c.c: Likewise.
14291 * config/sh/sh-mem.cc: Likewise.
14292 * config/sh/sh.c: Likewise.
14293 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
14294 * config/sh/sh_treg_combine.cc: Likewise.
14295 * config/sol2-c.c: Likewise.
14296 * config/sol2-cxx.c: Likewise.
14297 * config/sol2-stubs.c: Likewise.
14298 * config/sol2.c: Likewise.
14299 * config/sparc/sparc-c.c: Likewise.
14300 * config/sparc/sparc.c: Likewise.
14301 * config/spu/spu-c.c: Likewise.
14302 * config/spu/spu.c: Likewise.
14303 * config/stormy16/stormy16.c: Likewise.
14304 * config/tilegx/mul-tables.c: Likewise.
14305 * config/tilegx/tilegx-c.c: Likewise.
14306 * config/tilegx/tilegx.c: Likewise.
14307 * config/tilepro/mul-tables.c: Likewise.
14308 * config/tilepro/tilepro-c.c: Likewise.
14309 * config/tilepro/tilepro.c: Likewise.
14310 * config/v850/v850-c.c: Likewise.
14311 * config/v850/v850.c: Likewise.
14312 * config/vax/vax.c: Likewise.
14313 * config/visium/visium.c: Likewise.
14314 * config/vms/vms-c.c: Likewise.
14315 * config/vms/vms.c: Likewise.
14316 * config/vxworks.c: Likewise.
14317 * config/winnt-c.c: Likewise.
14318 * config/xtensa/xtensa.c: Likewise.
14319
14320 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
14321
14322 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
14323 function.
14324 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
14325
14326 2015-06-17 Richard Biener <rguenther@suse.de>
14327
14328 PR tree-optimization/66251
14329 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
14330 stmts for SLP strided stores.
14331
14332 Revert
14333 2015-05-22 Richard Biener <rguenther@suse.de>
14334
14335 PR tree-optimization/66251
14336 * tree-vect-stmts.c (vectorizable_conversion): Properly
14337 set STMT_VINFO_VEC_STMT even for the SLP case.
14338
14339 2015-05-26 Michael Matz <matz@suse.de>
14340
14341 PR middle-end/66251
14342 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
14343 STMT_VINFO_VEC_STMT, also with SLP.
14344
14345 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
14346
14347 PR target/56766
14348 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
14349 (*avx_addsubv4df3_1s): Ditto.
14350 (*sse3_addsubv2df3_1): Ditto.
14351 (*sse3_addsubv2df3_1s): Ditto.
14352 (*avx_addsubv8sf3_1): Ditto.
14353 (*avx_addsubv8sf3_1s): Ditto.
14354 (*sse3_addsubv4sf3_1): Ditto.
14355 (*sse3_addsubv4sf3_1s): Ditto.
14356
14357 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
14358
14359 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
14360 (SYSROOT_SUFFIX_SPEC): Update.
14361 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
14362 (STARTFILE_PREFIX_SPEC): Update.
14363 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
14364 (MULTILIB_REQUIRED): New.
14365 (MULTILIB_OSDIRNAMES): New.
14366 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
14367 (MULTILIB_REQUIRED): New.
14368 (MULTILIB_OSDIRNAMES): New.
14369
14370 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
14371
14372 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
14373 * config/aarch64/aarch64-options-extensions.def: Update "fP",
14374 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
14375 * gcc/config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
14376 (AARCH64_FL_PAN): New.
14377 (AARCH64_FL_LOR): New.
14378 (AARCH64_FL_RDMA): New.
14379 (AARCH64_FL_FOR_ARCH8_1): New.
14380 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
14381 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
14382
14383 2015-06-16 Martin Liska <mliska@suse.cz>
14384
14385 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
14386 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
14387 guard.
14388
14389 2015-06-16 Richard Biener <rguenther@suse.de>
14390
14391 * tree-vect-stmts.c (vectorizable_store): Adjust.
14392 (vectorizable_load): Likewise.
14393 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
14394 Simplify.
14395 (vect_create_data_ref_ptr): Likewise.
14396 (bump_vector_ptr): Adjust.
14397
14398 2015-06-16 Richard Biener <rguenther@suse.de>
14399
14400 * tree-vect-stmts.c (vectorizable_load): Properly start loads
14401 with the first element if this is grouped loads.
14402
14403 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
14404
14405 * config/arm/arm-protos.h (struct tune_params): Rename
14406 log_op_non_sc to log_op_non_short_circuit, and rename enum
14407 values to expand SC to SHORT_CIRCUIT.
14408 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
14409 to LOG_OP_NON_SHORT_CIRCUIT.
14410 (arm_fastmul_tune):Likewise
14411 (arm_strongarm_tune): Likewise.
14412 (arm_xscale_tune): Likewise.
14413 (arm_9e_tune): Likewise.
14414 (arm_marvell_pj4_tune): Likewise.
14415 (arm_v6t2_tune): Likewise.
14416 (arm_cortex_tune): Likewise.
14417 (arm_cortex_a8_tune): Likewise.
14418 (arm_cortex_a7_tune): Likewise.
14419 (arm_cortex_a15_tune): Likewise.
14420 (arm_cortex_a53_tune): Likewise.
14421 (arm_cortex_a57_tune): Likewise.
14422 (arm_xgene1_tune): Likewise.
14423 (arm_cortex_a5_tune): Likewise.
14424 (arm_cortex_a9_tune): Likewise.
14425 (arm_cortex_a12_tune): Likewise.
14426 (arm_v7m_tune): Likewise.
14427 (arm_cortex_m7_tune): Likewise.
14428 (arm_v6m_tune): Likewise.
14429 (arm_fa726te_tune): Likewise.
14430
14431 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
14432
14433 * altivec.md: Delete UNSPEC_VMLADDUHM.
14434 (mulv4si3_p8): New pattern.
14435 (mulv4si3): Use it for POWER8.
14436 (mulv8hi3): Use vmladduhm with zero addend.
14437 (altivec_vmladduhm): Descriptive RTL.
14438
14439 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
14440
14441 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
14442 to use neon_move instead of mov_imm.
14443 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
14444 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
14445
14446 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
14447 aarch64_float_const_zero_rtx_p check before TFmode check.
14448 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
14449 an fp zero.
14450 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
14451 code and attributes to match. Change condition from register_operand
14452 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
14453 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
14454 to store2.
14455
14456 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
14457
14458 PR debug/66535
14459 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
14460 there is no parent.
14461
14462 2015-06-14 Shiva Chen <shiva0217@gmail.com>
14463
14464 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
14465 HOST_WIDE_INT parameter.
14466
14467 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
14468
14469 PR ipa/66181
14470 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
14471 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
14472 TYPE_NO_FORCE_BLK.
14473 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
14474
14475 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
14476
14477 * rtl.h (classify_insn): Declare.
14478 * emit-rtl.c (classify_insn): Move to...
14479 * rtl.c: ...here and add generator support.
14480 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
14481 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
14482 * genemit.c (gen_emit_seq): New function.
14483 (gen_expand, gen_split): Use it.
14484
14485 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
14486
14487 * tree.c (make_vector_stat): Fix comment to state that the
14488 function returns a VECTOR_CST.
14489
14490 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
14491
14492 * gensupport.h (add_implicit_parallel): Declare.
14493 * genrecog.c (add_implicit_parallel): Move to...
14494 * gensupport.c (add_implicit_parallel): ...here.
14495 (process_one_cond_exec): Use it.
14496 * genemit.c (gen_insn): Likewise.
14497
14498 2015-06-13 Iain Sandoe <iain@codesourcery.com>
14499
14500 PR bootstrap/66448
14501 * passes.c (rest_of_decl_compilation): Do not register globals for
14502 early debug if they are declared in built-ins.
14503
14504 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
14505
14506 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
14507
14508 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14509
14510 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
14511 manually swapping.
14512 (noce_try_cmove_arith): Likewise.
14513 (noce_get_alt_condition): Likewise.
14514
14515 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
14516
14517 * common/config/i386/i386-common.c
14518 (OPTION_MASK_ISA_MWAITX_SET): New.
14519 (ix86_handle_option): Handle mwaitx.
14520 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
14521 (x86_64-*-*): Likewise.
14522 * config/i386/mwaitxintrin.h: New header.
14523 * config/i386/cpuid.h (bit_MWAITX): Define.
14524 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
14525 MWAITX support.
14526 * config/i386/i386.opt (mwaitx): New.
14527 * config/i386/i386-builtin-types.def
14528 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
14529 * config/i386/i386-c.c: Define __MWAITX__ if needed.
14530 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
14531 (PTA_MWAITX): New.
14532 (ix86_option_override_internal): Handle new option.
14533 (processor_alias_table): Added PTA_MWAITX.
14534 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
14535 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
14536 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
14537 IX86_BUILTIN_MONITORX built-ins.
14538 * config/i386/i386.h (TARGET_MWAITX): New.
14539 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
14540 UNSPEC_MONITORX.
14541 (mwaitx): New pattern.
14542 (monitorx_<mode>): New pattern.
14543 * config/i386/x86intrin.h: Include mwaitxintrin.h.
14544 * doc/extend.texi: Document monitorx and mwaitx builtins.
14545 * doc/invoke.texi: Document -mmwaitx option.
14546
14547 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
14548
14549 * emit-rtl.c (need_atomic_barrier_p): Mask model with
14550 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
14551
14552 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
14553
14554 * dbxout.c (xcoff_debug_hooks): Provide a function for
14555 register_main_translation_unit hook.
14556
14557 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
14558
14559 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
14560 variants cases from switch.
14561 (rs6000_post_atomic_barrier): Same.
14562 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
14563 (rs6000_expand_atomic_exchange): Same.
14564 (rs6000_expand_atomic_op): Same.
14565 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
14566 SYNC variants cases from switch.
14567 (atomic_load): Same.
14568 (atomic_store): Same.
14569
14570 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
14571
14572 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
14573 CONST_INT for goto.
14574
14575 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
14576
14577 PR bootstrap/66448
14578 * dwarf2out.c (check_die): Check for common duplicate attributes.
14579 (add_location_or_const_value_attribute): Do not add duplicate
14580 attributes.
14581 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
14582 time around.
14583 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
14584 (gen_type_die_with_usage): Call check_die.
14585 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
14586
14587 2015-06-11 Jason Merrill <jason@redhat.com>
14588
14589 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
14590 dies.
14591
14592 2015-06-11 Marek Polacek <polacek@redhat.com>
14593
14594 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
14595
14596 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
14597
14598 PR bootstrap/66252
14599 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
14600 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
14601 (*addx_extend_sp32): Fix pasto.
14602 (*subx_extend): Rename into...
14603 (*subx_extend_sp32): ...this.
14604 (*adddi3_extend_sp32): Add earlyclobber.
14605 (*subdi3_insn_sp32): Likewise.
14606 (*subdi3_extend_sp32): Likewise.
14607 (*and_not_di_sp32): Likewise.
14608 (*or_not_di_sp32): Likewise.
14609 (*xor_not_di_sp32): Likewise.
14610 (*negdi2_sp32): Likewise.
14611 (*one_cmpldi2_sp32): Likewise.
14612
14613 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
14614
14615 * debug.h (struct gcc_debug_hooks): Add a
14616 register_main_translation_unit hook.
14617 * debug.c (do_nothing_debug_hooks): Provide a function for this
14618 new hook.
14619 * dbxout.c (dbx_debug_hooks): Likewise.
14620 * sdbout.c (sdb_debug_hooks): Likewise.
14621 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
14622 * dwarf2out.c (main_translation_unit): New global variable.
14623 (dwarf2out_register_main_translation_unit): New function
14624 implementing the new hook.
14625 (dwarf2_debug_hooks): Assign
14626 dwarf2out_register_main_translation_unit to this new hook.
14627 (dwarf2out_init): Associate any main translation unit to
14628 comp_unit_die ().
14629
14630 2015-06-11 Marek Polacek <polacek@redhat.com>
14631
14632 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
14633
14634 2015-06-11 Marek Polacek <polacek@redhat.com>
14635
14636 * match.pd: Use single_use throughout.
14637
14638 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14639
14640 * config/arm/arm.c (arm_option_params_internal): When optimising
14641 for speed set max_insns_skipped when arm_restrict_it.
14642
14643 2015-06-11 Christian Bruel <christian.bruel@st.com>
14644
14645 PR target/52144
14646 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
14647 macros in ...
14648 (arm_cpu_builtins): New function.
14649 (arm_pragma_target_parse): Call arm_cpu_builtins.
14650 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
14651 (arm_register_target_pragmas): Likewise.
14652 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
14653 Call arm_register_target_pragmas.
14654 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
14655 (arm_pragma_target_parse): Likewise.
14656
14657 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
14658
14659 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
14660 of the second operand.
14661
14662 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
14663
14664 PR target/66473
14665 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
14666 to prepare mask operand for AVX512 modes.
14667
14668 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
14669
14670 PR target/66474
14671 * doc/md.texi (Machine Constraints): Document that on the PowerPC
14672 if you use a constraint that targets a VSX register, you must use
14673 %x<n> in the template.
14674
14675 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
14676
14677 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
14678 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
14679 (define_insn "trap"): New definition.
14680
14681 2015-06-10 Richard Biener <rguenther@suse.de>
14682
14683 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
14684 out from ...
14685 (vect_supported_load_permutation_p): ... here. Handle
14686 supportable permutations in reductions.
14687 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
14688 for vectorizing strided group loads.
14689
14690 2015-06-10 Jakub Jelinek <jakub@redhat.com>
14691
14692 PR target/66470
14693 * config/i386/i386.c (ix86_split_long_move): For collisions
14694 involving direct tls segment refs, move the UNSPEC_TP possibly
14695 wrapped in ZERO_EXTEND out of the address for lea, to each of
14696 the memory loads.
14697
14698 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
14699
14700 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
14701 dmb sy. Adjust tabs.
14702
14703 2015-06-10 Tom de Vries <tom@codesourcery.com>
14704
14705 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
14706
14707 2015-06-10 Martin Liska <mliska@suse.cz>
14708
14709 PR bootstrap/66471
14710 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
14711 all enum values in mem_alloc_origin.
14712 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
14713 name.
14714 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
14715 * bitmap.c (bitmap_register): Likewise.
14716 (dump_bitmap_statistics): Likewise.
14717 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
14718 (ggc_record_overhead): Likewise.
14719 * hash-map.h: Likewise.
14720 * hash-set.h: Likewise.
14721 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
14722 * hash-table.h: Likewise.
14723 * vec.c (vec_prefix::register_overhead): Likewise.
14724 (vec_prefix::release_overhead): Likewise.
14725 (dump_vec_loc_statistics): Likewise.
14726
14727 2015-06-09 Christian Bruel <christian.bruel@st.com>
14728
14729 PR target/52144
14730 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
14731 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
14732 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
14733 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
14734 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
14735 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
14736 (arm_valid_target_attribute_p): Likewise.
14737 (arm_set_current_function, arm_can_inline_p): Likewise.
14738 (arm_valid_target_attribute_rec): Likewise.
14739 (arm_previous_fndecl): New variable.
14740 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
14741 (TARGET_CAN_INLINE_P): Define.
14742 (arm_asm_trampoline_template): Emit mode.
14743 (arm_file_start): Don't set unified syntax.
14744 (arm_declare_function_name): Set unified syntax and mode.
14745 (arm_option_override): Init target_option_default_node.
14746 and target_option_current_node.
14747 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
14748 (*call_symbol): Likewise.
14749 * doc/extend.texi: Document ARM/Thumb target attribute.
14750 * doc/invoke.texi: Likewise.
14751
14752 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
14753
14754 Revert:
14755 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
14756 PR rtl-optimization/64164
14757 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
14758 * tree-ssa-copyrename.c: Removed.
14759 * opts.c (default_options_table): Drop -ftree-copyrename. Add
14760 -ftree-coalesce-vars.
14761 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
14762 * common.opt (ftree-copyrename): Ignore.
14763 (ftree-coalesce-inlined-vars): Likewise.
14764 * doc/invoke.texi: Remove the ignored options above.
14765 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
14766 * tree-ssa-coalesce.h: ... here.
14767 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
14768 headers required by it.
14769 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
14770 across variables when flag_tree_coalesce_vars. Check register
14771 use and promoted modes to allow coalescing. Moved to
14772 tree-ssa-coalesce.c.
14773 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
14774 with its member functions to tree-ssa-coalesce.c.
14775 (var_map_base_init): Likewise. Renamed to
14776 compute_samebase_partition_bases.
14777 (partition_view_normal): Drop want_bases parameter.
14778 (partition_view_bitmap): Likewise.
14779 * tree-ssa-live.h: Adjust declarations.
14780 * tree-ssa-coalesce.c: Include explow.h.
14781 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
14782 default defs at the entry point.
14783 (dump_part_var_map): New.
14784 (compute_optimized_partition_bases): New, called by...
14785 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
14786 of compute_samebase_partition_bases. Adjust.
14787 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
14788 * cfgexpand.c (leader_merge): New.
14789 (get_rtl_for_parm_ssa_default_def): New.
14790 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
14791 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
14792 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
14793 redundant MEM attr setting.
14794 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
14795 from...
14796 (expand_one_stack_var): ... this. New wrapper to check and
14797 skip already expanded SSA partitions.
14798 (record_alignment_for_reg_var): New, factored out of...
14799 (expand_one_var): ... this.
14800 (expand_one_ssa_partition): New.
14801 (adjust_one_expanded_partition_var): New.
14802 (expand_one_register_var): Check and skip already expanded SSA
14803 partitions.
14804 (expand_used_vars): Don't create DECLs for anonymous SSA
14805 names. Expand all SSA partitions, then adjust all SSA names.
14806 (pass::execute): Replace the loops that set
14807 SA.partition_to_pseudo from partition leaders and cleared
14808 DECL_RTL for multi-location variables, and that which used to
14809 rename vars and set attrs, with one that clears DECL_RTL and
14810 checks that PARMs and RESULTs default_defs match DECL_RTL.
14811 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
14812 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
14813 * explow.c (promote_ssa_mode): New.
14814 * explow.h (promote_ssa_mode): Declare.
14815 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
14816 * function.c: Include cfgexpand.h.
14817 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
14818 (use_register_for_parm_decl): Wrapper for the above to
14819 special-case the result_ptr.
14820 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
14821 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
14822 multiple locations.
14823 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
14824 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
14825 (assign_parm_setup_block): Prefer SSA-assigned location.
14826 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
14827 if stack_parm is NULL.
14828 (assign_parm_setup_stack): Prefer SSA-assigned location.
14829 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
14830 rtl before testing for pointer bounds. Special-case result_ptr.
14831 (expand_function_start): Maybe reset DECL_RTL of result.
14832 Prefer SSA-assigned location for result and static chain.
14833 Factor out DECL_RESULT and SET_DECL_RTL.
14834 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
14835 anonymous SSA names. Use promote_ssa_mode.
14836 (get_temp_reg): Likewise.
14837 (remove_ssa_form): Adjust.
14838 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
14839 and get its reg_usage for reg invalidation.
14840 (compute_bb_dataflow): Pass it insn.
14841 (emit_notes_in_bb): Likewise.
14842 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
14843 fail assert on conversion between unsigned types.
14844
14845 2015-06-09 Tom de Vries <tom@codesourcery.com>
14846
14847 PR tree-optimization/65460
14848 * omp-low.c (expand_omp_target): Set parallelized_function on
14849 cgraph_node for child_fn.
14850
14851 2015-06-09 Tom de Vries <tom@codesourcery.com>
14852
14853 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
14854 parallelized_function before add_new_function.
14855
14856 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
14857
14858 * gcc-plugin.h: Move decls to plugin.h and include it.
14859 * plugin.h: Relocate decls from gcc-plugin.h
14860 * ggc-page.c: Include required header files.
14861 * passes.c: Likewise.
14862 * cgraphunit.c: Likewise.
14863
14864 2015-06-09 Tom de Vries <tom@codesourcery.com>
14865
14866 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
14867
14868 2015-06-09 Jason Merrill <jason@redhat.com>
14869
14870 PR bootstrap/66448
14871 * toplev.c (check_global_declaration): Don't warn about a clone.
14872
14873 2015-06-09 Marek Polacek <polacek@redhat.com>
14874
14875 PR tree-optimization/66299
14876 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
14877 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
14878 patterns.
14879
14880 2015-06-09 Richard Biener <rguenther@suse.de>
14881
14882 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
14883 (vect_analyze_slp_instance): Instead do not falsely drop
14884 load permutations.
14885
14886 2015-06-09 Richard Biener <rguenther@suse.de>
14887
14888 PR middle-end/66423
14889 * match.pd: Handle A % (unsigned)(1 << B).
14890
14891 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
14892
14893 * varasm.c (output_object_block_htab): Remove.
14894 (output_object_block_compare): New.
14895 (output_object_blocks): Sort named object_blocks before outputting
14896 them.
14897
14898 2015-06-09 Richard Biener <rguenther@suse.de>
14899
14900 PR tree-optimization/66419
14901 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
14902 consider GROUP_GAP when detecting a perfect subchain.
14903
14904 2015-06-09 Nick Clifton <nickc@redhat.com>
14905
14906 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
14907 place read only data in the .frodata section.
14908
14909 2015-06-09 Shiva Chen <shiva0217@gmail.com>
14910
14911 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
14912 (atomic_store<mode>): Likewise.
14913
14914 2015-06-09 Richard Biener <rguenther@suse.de>
14915
14916 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
14917
14918 2015-06-09 Richard Biener <rguenther@suse.de>
14919
14920 PR middle-end/66413
14921 * tree-inline.c (insert_init_debug_bind): Unshare value.
14922
14923 2015-06-09 Richard Biener <rguenther@suse.de>
14924
14925 PR tree-optimization/66396
14926 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
14927 Rename virtual operands.
14928
14929 2015-06-09 Tom de Vries <tom@codesourcery.com>
14930
14931 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
14932 always return false.
14933
14934 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
14935
14936 PR rtl-optimization/64164
14937 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
14938 * tree-ssa-copyrename.c: Removed.
14939 * opts.c (default_options_table): Drop -ftree-copyrename. Add
14940 -ftree-coalesce-vars.
14941 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
14942 * common.opt (ftree-copyrename): Ignore.
14943 (ftree-coalesce-inlined-vars): Likewise.
14944 * doc/invoke.texi: Remove the ignored options above.
14945 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
14946 * tree-ssa-coalesce.h: ... here.
14947 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
14948 headers required by it.
14949 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
14950 across variables when flag_tree_coalesce_vars. Check register
14951 use and promoted modes to allow coalescing. Moved to
14952 tree-ssa-coalesce.c.
14953 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
14954 with its member functions to tree-ssa-coalesce.c.
14955 (var_map_base_init): Likewise. Renamed to
14956 compute_samebase_partition_bases.
14957 (partition_view_normal): Drop want_bases parameter.
14958 (partition_view_bitmap): Likewise.
14959 * tree-ssa-live.h: Adjust declarations.
14960 * tree-ssa-coalesce.c: Include explow.h.
14961 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
14962 default defs at the entry point.
14963 (dump_part_var_map): New.
14964 (compute_optimized_partition_bases): New, called by...
14965 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
14966 of compute_samebase_partition_bases. Adjust.
14967 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
14968 * cfgexpand.c (leader_merge): New.
14969 (get_rtl_for_parm_ssa_default_def): New.
14970 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
14971 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
14972 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
14973 redundant MEM attr setting.
14974 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
14975 from...
14976 (expand_one_stack_var): ... this. New wrapper to check and
14977 skip already expanded SSA partitions.
14978 (record_alignment_for_reg_var): New, factored out of...
14979 (expand_one_var): ... this.
14980 (expand_one_ssa_partition): New.
14981 (adjust_one_expanded_partition_var): New.
14982 (expand_one_register_var): Check and skip already expanded SSA
14983 partitions.
14984 (expand_used_vars): Don't create DECLs for anonymous SSA
14985 names. Expand all SSA partitions, then adjust all SSA names.
14986 (pass::execute): Replace the loops that set
14987 SA.partition_to_pseudo from partition leaders and cleared
14988 DECL_RTL for multi-location variables, and that which used to
14989 rename vars and set attrs, with one that clears DECL_RTL and
14990 checks that PARMs and RESULTs default_defs match DECL_RTL.
14991 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
14992 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
14993 * explow.c (promote_ssa_mode): New.
14994 * explow.h (promote_ssa_mode): Declare.
14995 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
14996 * function.c: Include cfgexpand.h.
14997 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
14998 (use_register_for_parm_decl): Wrapper for the above to
14999 special-case the result_ptr.
15000 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
15001 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
15002 multiple locations.
15003 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
15004 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
15005 (assign_parm_setup_block): Prefer SSA-assigned location.
15006 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
15007 if stack_parm is NULL.
15008 (assign_parm_setup_stack): Prefer SSA-assigned location.
15009 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
15010 rtl before testing for pointer bounds. Special-case result_ptr.
15011 (expand_function_start): Maybe reset DECL_RTL of result.
15012 Prefer SSA-assigned location for result and static chain.
15013 Factor out DECL_RESULT and SET_DECL_RTL.
15014 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
15015 anonymous SSA names. Use promote_ssa_mode.
15016 (get_temp_reg): Likewise.
15017 (remove_ssa_form): Adjust.
15018 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
15019 and get its reg_usage for reg invalidation.
15020 (compute_bb_dataflow): Pass it insn.
15021 (emit_notes_in_bb): Likewise.
15022 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
15023 fail assert on conversion between unsigned types.
15024
15025 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
15026
15027 PR debug/58315
15028 * tree-inline.c (reset_debug_binding): New.
15029 (reset_debug_bindings): Likewise.
15030 (expand_call_inline): Call it.
15031
15032 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
15033
15034 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
15035 TYPE_STRING_FLAG.
15036
15037 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
15038
15039 * lto-streamer-out.c (lto_output_location): Stream
15040 reserved locations correctly.
15041 * lto-streamer-in.c (lto_output_location): Likewise.
15042
15043 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
15044
15045 * coretypes.h: Include hash-table.h and hash-set.h for host files.
15046 * ggc.h: Don't include statistics.h>
15047 * hash-map.h: Remove all includes.
15048 * hash-set.h: Likewise.
15049 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
15050 the include list. Remove <new>.
15051 * inchash.h: Remove all includes.
15052 * mem-stats.h: Likewise.
15053 * vec.h: No special processing for generators or ggc.
15054 * alias.c : Adjust include files.
15055 * alloc-pool.c : Likewise.
15056 * alloc-pool.h : Likewise.
15057 * asan.c : Likewise.
15058 * attribs.c : Likewise.
15059 * auto-inc-dec.c : Likewise.
15060 * auto-profile.c : Likewise.
15061 * bb-reorder.c : Likewise.
15062 * bitmap.c : Likewise.
15063 * bitmap.h : Likewise.
15064 * bt-load.c : Likewise.
15065 * builtins.c : Likewise.
15066 * caller-save.c : Likewise.
15067 * calls.c : Likewise.
15068 * ccmp.c : Likewise.
15069 * cfg.c : Likewise.
15070 * cfganal.c : Likewise.
15071 * cfgbuild.c : Likewise.
15072 * cfgcleanup.c : Likewise.
15073 * cfgexpand.c : Likewise.
15074 * cfghooks.c : Likewise.
15075 * cfgloop.c : Likewise.
15076 * cfgloop.h : Likewise.
15077 * cfgloopanal.c : Likewise.
15078 * cfgloopmanip.c : Likewise.
15079 * cfgrtl.c : Likewise.
15080 * cgraph.c : Likewise.
15081 * cgraphbuild.c : Likewise.
15082 * cgraphclones.c : Likewise.
15083 * cgraphunit.c : Likewise.
15084 * cilk-common.c : Likewise.
15085 * combine-stack-adj.c : Likewise.
15086 * combine.c : Likewise.
15087 * compare-elim.c : Likewise.
15088 * context.c : Likewise.
15089 * convert.c : Likewise.
15090 * coverage.c : Likewise.
15091 * cppbuiltin.c : Likewise.
15092 * cprop.c : Likewise.
15093 * cse.c : Likewise.
15094 * cselib.c : Likewise.
15095 * data-streamer-in.c : Likewise.
15096 * data-streamer-out.c : Likewise.
15097 * data-streamer.c : Likewise.
15098 * data-streamer.h : Likewise.
15099 * dbxout.c : Likewise.
15100 * dce.c : Likewise.
15101 * ddg.c : Likewise.
15102 * debug.c : Likewise.
15103 * df-core.c : Likewise.
15104 * df-problems.c : Likewise.
15105 * df-scan.c : Likewise.
15106 * df.h : Likewise.
15107 * dfp.c : Likewise.
15108 * dojump.c : Likewise.
15109 * dominance.c : Likewise.
15110 * domwalk.c : Likewise.
15111 * double-int.c : Likewise.
15112 * dse.c : Likewise.
15113 * dumpfile.c : Likewise.
15114 * dwarf2asm.c : Likewise.
15115 * dwarf2cfi.c : Likewise.
15116 * dwarf2out.c : Likewise.
15117 * emit-rtl.c : Likewise.
15118 * et-forest.c : Likewise.
15119 * except.c : Likewise.
15120 * except.h : Likewise.
15121 * explow.c : Likewise.
15122 * expmed.c : Likewise.
15123 * expr.c : Likewise.
15124 * final.c : Likewise.
15125 * fixed-value.c : Likewise.
15126 * fold-const.c : Likewise.
15127 * function.c : Likewise.
15128 * fwprop.c : Likewise.
15129 * gcc-plugin.h : Likewise.
15130 * gcc.c : Likewise.
15131 * gcse-common.c : Likewise.
15132 * gcse.c : Likewise.
15133 * genattrtab.c : Likewise.
15134 * genautomata.c : Likewise.
15135 * genconditions.c : Likewise.
15136 * genemit.c : Likewise.
15137 * generic-match-head.c : Likewise.
15138 * genextract.c : Likewise.
15139 * gengtype-state.c : Likewise.
15140 * gengtype.c : Likewise.
15141 * genhooks.c : Likewise.
15142 * genmatch.c : Likewise.
15143 * genmodes.c : Likewise.
15144 * genrecog.c : Likewise.
15145 * gensupport.c : Likewise.
15146 * ggc-common.c : Likewise.
15147 * ggc-internal.h : Likewise.
15148 * ggc-none.c : Likewise.
15149 * ggc-page.c : Likewise.
15150 * gimple-builder.c : Likewise.
15151 * gimple-expr.c : Likewise.
15152 * gimple-fold.c : Likewise.
15153 * gimple-iterator.c : Likewise.
15154 * gimple-low.c : Likewise.
15155 * gimple-match-head.c : Likewise.
15156 * gimple-pretty-print.c : Likewise.
15157 * gimple-ssa-isolate-paths.c : Likewise.
15158 * gimple-ssa-strength-reduction.c : Likewise.
15159 * gimple-ssa.h : Likewise.
15160 * gimple-streamer-in.c : Likewise.
15161 * gimple-streamer-out.c : Likewise.
15162 * gimple-streamer.h : Likewise.
15163 * gimple-walk.c : Likewise.
15164 * gimple.c : Likewise.
15165 * gimplify-me.c : Likewise.
15166 * gimplify.c : Likewise.
15167 * godump.c : Likewise.
15168 * graph.c : Likewise.
15169 * graphds.c : Likewise.
15170 * graphite-blocking.c : Likewise.
15171 * graphite-dependences.c : Likewise.
15172 * graphite-interchange.c : Likewise.
15173 * graphite-isl-ast-to-gimple.c : Likewise.
15174 * graphite-optimize-isl.c : Likewise.
15175 * graphite-poly.c : Likewise.
15176 * graphite-scop-detection.c : Likewise.
15177 * graphite-sese-to-poly.c : Likewise.
15178 * graphite.c : Likewise.
15179 * haifa-sched.c : Likewise.
15180 * hard-reg-set.h : Likewise.
15181 * hw-doloop.c : Likewise.
15182 * ifcvt.c : Likewise.
15183 * inchash.c : Likewise.
15184 * incpath.c : Likewise.
15185 * init-regs.c : Likewise.
15186 * input.c : Likewise.
15187 * internal-fn.c : Likewise.
15188 * ipa-chkp.c : Likewise.
15189 * ipa-comdats.c : Likewise.
15190 * ipa-cp.c : Likewise.
15191 * ipa-devirt.c : Likewise.
15192 * ipa-icf-gimple.c : Likewise.
15193 * ipa-icf.c : Likewise.
15194 * ipa-inline-analysis.c : Likewise.
15195 * ipa-inline-transform.c : Likewise.
15196 * ipa-inline.c : Likewise.
15197 * ipa-polymorphic-call.c : Likewise.
15198 * ipa-profile.c : Likewise.
15199 * ipa-prop.c : Likewise.
15200 * ipa-pure-const.c : Likewise.
15201 * ipa-ref.c : Likewise.
15202 * ipa-reference.c : Likewise.
15203 * ipa-split.c : Likewise.
15204 * ipa-utils.c : Likewise.
15205 * ipa-visibility.c : Likewise.
15206 * ipa.c : Likewise.
15207 * ira-build.c : Likewise.
15208 * ira-color.c : Likewise.
15209 * ira-conflicts.c : Likewise.
15210 * ira-costs.c : Likewise.
15211 * ira-emit.c : Likewise.
15212 * ira-lives.c : Likewise.
15213 * ira.c : Likewise.
15214 * jump.c : Likewise.
15215 * langhooks.c : Likewise.
15216 * lcm.c : Likewise.
15217 * libfuncs.h : Likewise.
15218 * lists.c : Likewise.
15219 * loop-doloop.c : Likewise.
15220 * loop-init.c : Likewise.
15221 * loop-invariant.c : Likewise.
15222 * loop-iv.c : Likewise.
15223 * loop-unroll.c : Likewise.
15224 * lower-subreg.c : Likewise.
15225 * lra-assigns.c : Likewise.
15226 * lra-coalesce.c : Likewise.
15227 * lra-constraints.c : Likewise.
15228 * lra-eliminations.c : Likewise.
15229 * lra-lives.c : Likewise.
15230 * lra-remat.c : Likewise.
15231 * lra-spills.c : Likewise.
15232 * lra.c : Likewise.
15233 * lto-cgraph.c : Likewise.
15234 * lto-compress.c : Likewise.
15235 * lto-opts.c : Likewise.
15236 * lto-section-in.c : Likewise.
15237 * lto-section-out.c : Likewise.
15238 * lto-streamer-in.c : Likewise.
15239 * lto-streamer-out.c : Likewise.
15240 * lto-streamer.c : Likewise.
15241 * lto-streamer.h : Likewise.
15242 * mcf.c : Likewise.
15243 * mode-switching.c : Likewise.
15244 * modulo-sched.c : Likewise.
15245 * omega.c : Likewise.
15246 * omp-low.c : Likewise.
15247 * optabs.c : Likewise.
15248 * opts-global.c : Likewise.
15249 * opts.h : Likewise.
15250 * passes.c : Likewise.
15251 * plugin.c : Likewise.
15252 * postreload-gcse.c : Likewise.
15253 * postreload.c : Likewise.
15254 * predict.c : Likewise.
15255 * print-rtl.c : Likewise.
15256 * print-tree.c : Likewise.
15257 * profile.c : Likewise.
15258 * read-md.c : Likewise.
15259 * read-md.h : Likewise.
15260 * read-rtl.c : Likewise.
15261 * real.c : Likewise.
15262 * realmpfr.c : Likewise.
15263 * recog.c : Likewise.
15264 * ree.c : Likewise.
15265 * reg-stack.c : Likewise.
15266 * regcprop.c : Likewise.
15267 * reginfo.c : Likewise.
15268 * regrename.c : Likewise.
15269 * regstat.c : Likewise.
15270 * reload.c : Likewise.
15271 * reload1.c : Likewise.
15272 * reorg.c : Likewise.
15273 * resource.c : Likewise.
15274 * rtl-chkp.c : Likewise.
15275 * rtl.c : Likewise.
15276 * rtl.h : Likewise.
15277 * rtlanal.c : Likewise.
15278 * rtlhash.c : Likewise.
15279 * rtlhash.h : Likewise.
15280 * rtlhooks.c : Likewise.
15281 * sanopt.c : Likewise.
15282 * sched-deps.c : Likewise.
15283 * sched-ebb.c : Likewise.
15284 * sched-rgn.c : Likewise.
15285 * sched-vis.c : Likewise.
15286 * sdbout.c : Likewise.
15287 * sel-sched-dump.c : Likewise.
15288 * sel-sched-ir.c : Likewise.
15289 * sel-sched-ir.h : Likewise.
15290 * sel-sched.c : Likewise.
15291 * sese.c : Likewise.
15292 * shrink-wrap.c : Likewise.
15293 * shrink-wrap.h : Likewise.
15294 * simplify-rtx.c : Likewise.
15295 * stack-ptr-mod.c : Likewise.
15296 * statistics.c : Likewise.
15297 * stmt.c : Likewise.
15298 * stor-layout.c : Likewise.
15299 * store-motion.c : Likewise.
15300 * stringpool.c : Likewise.
15301 * symtab.c : Likewise.
15302 * target-globals.c : Likewise.
15303 * targhooks.c : Likewise.
15304 * tlink.c : Likewise.
15305 * toplev.c : Likewise.
15306 * tracer.c : Likewise.
15307 * trans-mem.c : Likewise.
15308 * tree-affine.c : Likewise.
15309 * tree-affine.h : Likewise.
15310 * tree-browser.c : Likewise.
15311 * tree-call-cdce.c : Likewise.
15312 * tree-cfg.c : Likewise.
15313 * tree-cfgcleanup.c : Likewise.
15314 * tree-chkp-opt.c : Likewise.
15315 * tree-chkp.c : Likewise.
15316 * tree-chrec.c : Likewise.
15317 * tree-complex.c : Likewise.
15318 * tree-data-ref.c : Likewise.
15319 * tree-dfa.c : Likewise.
15320 * tree-diagnostic.c : Likewise.
15321 * tree-dump.c : Likewise.
15322 * tree-eh.c : Likewise.
15323 * tree-eh.h : Likewise.
15324 * tree-emutls.c : Likewise.
15325 * tree-hasher.h : Likewise.
15326 * tree-if-conv.c : Likewise.
15327 * tree-inline.c : Likewise.
15328 * tree-inline.h : Likewise.
15329 * tree-into-ssa.c : Likewise.
15330 * tree-iterator.c : Likewise.
15331 * tree-loop-distribution.c : Likewise.
15332 * tree-nested.c : Likewise.
15333 * tree-nrv.c : Likewise.
15334 * tree-object-size.c : Likewise.
15335 * tree-outof-ssa.c : Likewise.
15336 * tree-parloops.c : Likewise.
15337 * tree-phinodes.c : Likewise.
15338 * tree-predcom.c : Likewise.
15339 * tree-pretty-print.c : Likewise.
15340 * tree-profile.c : Likewise.
15341 * tree-scalar-evolution.c : Likewise.
15342 * tree-sra.c : Likewise.
15343 * tree-ssa-address.c : Likewise.
15344 * tree-ssa-alias.c : Likewise.
15345 * tree-ssa-ccp.c : Likewise.
15346 * tree-ssa-coalesce.c : Likewise.
15347 * tree-ssa-copy.c : Likewise.
15348 * tree-ssa-copyrename.c : Likewise.
15349 * tree-ssa-dce.c : Likewise.
15350 * tree-ssa-dom.c : Likewise.
15351 * tree-ssa-dse.c : Likewise.
15352 * tree-ssa-forwprop.c : Likewise.
15353 * tree-ssa-ifcombine.c : Likewise.
15354 * tree-ssa-live.c : Likewise.
15355 * tree-ssa-loop-ch.c : Likewise.
15356 * tree-ssa-loop-im.c : Likewise.
15357 * tree-ssa-loop-ivcanon.c : Likewise.
15358 * tree-ssa-loop-ivopts.c : Likewise.
15359 * tree-ssa-loop-manip.c : Likewise.
15360 * tree-ssa-loop-niter.c : Likewise.
15361 * tree-ssa-loop-prefetch.c : Likewise.
15362 * tree-ssa-loop-unswitch.c : Likewise.
15363 * tree-ssa-loop.c : Likewise.
15364 * tree-ssa-math-opts.c : Likewise.
15365 * tree-ssa-operands.c : Likewise.
15366 * tree-ssa-phiopt.c : Likewise.
15367 * tree-ssa-phiprop.c : Likewise.
15368 * tree-ssa-pre.c : Likewise.
15369 * tree-ssa-propagate.c : Likewise.
15370 * tree-ssa-reassoc.c : Likewise.
15371 * tree-ssa-sccvn.c : Likewise.
15372 * tree-ssa-scopedtables.c : Likewise.
15373 * tree-ssa-sink.c : Likewise.
15374 * tree-ssa-strlen.c : Likewise.
15375 * tree-ssa-structalias.c : Likewise.
15376 * tree-ssa-tail-merge.c : Likewise.
15377 * tree-ssa-ter.c : Likewise.
15378 * tree-ssa-threadedge.c : Likewise.
15379 * tree-ssa-threadupdate.c : Likewise.
15380 * tree-ssa-uncprop.c : Likewise.
15381 * tree-ssa-uninit.c : Likewise.
15382 * tree-ssa.c : Likewise.
15383 * tree-ssanames.c : Likewise.
15384 * tree-stdarg.c : Likewise.
15385 * tree-streamer-in.c : Likewise.
15386 * tree-streamer-out.c : Likewise.
15387 * tree-streamer.c : Likewise.
15388 * tree-streamer.h : Likewise.
15389 * tree-switch-conversion.c : Likewise.
15390 * tree-tailcall.c : Likewise.
15391 * tree-vect-data-refs.c : Likewise.
15392 * tree-vect-generic.c : Likewise.
15393 * tree-vect-loop-manip.c : Likewise.
15394 * tree-vect-loop.c : Likewise.
15395 * tree-vect-patterns.c : Likewise.
15396 * tree-vect-slp.c : Likewise.
15397 * tree-vect-stmts.c : Likewise.
15398 * tree-vectorizer.c : Likewise.
15399 * tree-vectorizer.h : Likewise.
15400 * tree-vrp.c : Likewise.
15401 * tree.c : Likewise.
15402 * tsan.c : Likewise.
15403 * ubsan.c : Likewise.
15404 * valtrack.c : Likewise.
15405 * valtrack.h : Likewise.
15406 * value-prof.c : Likewise.
15407 * var-tracking.c : Likewise.
15408 * varasm.c : Likewise.
15409 * varpool.c : Likewise.
15410 * vec.c: Likewise.
15411 * vmsdbgout.c : Likewise.
15412 * vtable-verify.c : Likewise.
15413 * vtable-verify.h : Likewise.
15414 * web.c : Likewise.
15415 * wide-int.cc : Likewise.
15416 * xcoffout.c : Likewise.
15417 * config/aarch64/aarch64-builtins.c : Likewise.
15418 * config/aarch64/aarch64.c : Likewise.
15419 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
15420 * config/alpha/alpha.c : Likewise.
15421 * config/arc/arc.c : Likewise.
15422 * config/arm/aarch-common.c : Likewise.
15423 * config/arm/arm-builtins.c : Likewise.
15424 * config/arm/arm-c.c : Likewise.
15425 * config/arm/arm.c : Likewise.
15426 * config/avr/avr-c.c : Likewise.
15427 * config/avr/avr-log.c : Likewise.
15428 * config/avr/avr.c : Likewise.
15429 * config/bfin/bfin.c : Likewise.
15430 * config/c6x/c6x.c : Likewise.
15431 * config/cr16/cr16.c : Likewise.
15432 * config/cris/cris.c : Likewise.
15433 * config/darwin-c.c : Likewise.
15434 * config/darwin.c : Likewise.
15435 * config/default-c.c : Likewise.
15436 * config/epiphany/epiphany.c : Likewise.
15437 * config/epiphany/mode-switch-use.c : Likewise.
15438 * config/epiphany/resolve-sw-modes.c : Likewise.
15439 * config/fr30/fr30.c : Likewise.
15440 * config/frv/frv.c : Likewise.
15441 * config/ft32/ft32.c : Likewise.
15442 * config/glibc-c.c : Likewise.
15443 * config/h8300/h8300.c : Likewise.
15444 * config/i386/i386-c.c : Likewise.
15445 * config/i386/i386.c : Likewise.
15446 * config/i386/msformat-c.c : Likewise.
15447 * config/i386/winnt-cxx.c : Likewise.
15448 * config/i386/winnt-stubs.c : Likewise.
15449 * config/i386/winnt.c : Likewise.
15450 * config/ia64/ia64-c.c : Likewise.
15451 * config/ia64/ia64.c : Likewise.
15452 * config/iq2000/iq2000.c : Likewise.
15453 * config/lm32/lm32.c : Likewise.
15454 * config/m32c/m32c-pragma.c : Likewise.
15455 * config/m32c/m32c.c : Likewise.
15456 * config/m32r/m32r.c : Likewise.
15457 * config/m68k/m68k.c : Likewise.
15458 * config/mcore/mcore.c : Likewise.
15459 * config/mep/mep-pragma.c : Likewise.
15460 * config/mep/mep.c : Likewise.
15461 * config/microblaze/microblaze-c.c : Likewise.
15462 * config/microblaze/microblaze.c : Likewise.
15463 * config/mips/mips.c : Likewise.
15464 * config/mmix/mmix.c : Likewise.
15465 * config/mn10300/mn10300.c : Likewise.
15466 * config/moxie/moxie.c : Likewise.
15467 * config/msp430/msp430-c.c : Likewise.
15468 * config/msp430/msp430.c : Likewise.
15469 * config/nds32/nds32-cost.c : Likewise.
15470 * config/nds32/nds32-fp-as-gp.c : Likewise.
15471 * config/nds32/nds32-intrinsic.c : Likewise.
15472 * config/nds32/nds32-isr.c : Likewise.
15473 * config/nds32/nds32-md-auxiliary.c : Likewise.
15474 * config/nds32/nds32-memory-manipulation.c : Likewise.
15475 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
15476 * config/nds32/nds32-predicates.c : Likewise.
15477 * config/nds32/nds32.c : Likewise.
15478 * config/nios2/nios2.c : Likewise.
15479 * config/nvptx/nvptx.c : Likewise.
15480 * config/pa/pa.c : Likewise.
15481 * config/pdp11/pdp11.c : Likewise.
15482 * config/rl78/rl78-c.c : Likewise.
15483 * config/rl78/rl78.c : Likewise.
15484 * config/rs6000/rs6000-c.c : Likewise.
15485 * config/rs6000/rs6000.c : Likewise.
15486 * config/rx/rx.c : Likewise.
15487 * config/s390/s390-c.c : Likewise.
15488 * config/s390/s390.c : Likewise.
15489 * config/sh/sh-c.c : Likewise.
15490 * config/sh/sh-mem.cc : Likewise.
15491 * config/sh/sh.c : Likewise.
15492 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
15493 * config/sh/sh_treg_combine.cc : Likewise.
15494 * config/sol2-c.c : Likewise.
15495 * config/sol2-cxx.c : Likewise.
15496 * config/sol2-stubs.c : Likewise.
15497 * config/sol2.c : Likewise.
15498 * config/sparc/sparc-c.c : Likewise.
15499 * config/sparc/sparc.c : Likewise.
15500 * config/spu/spu-c.c : Likewise.
15501 * config/spu/spu.c : Likewise.
15502 * config/stormy16/stormy16.c : Likewise.
15503 * config/tilegx/mul-tables.c : Likewise.
15504 * config/tilegx/tilegx-c.c : Likewise.
15505 * config/tilegx/tilegx.c : Likewise.
15506 * config/tilepro/mul-tables.c : Likewise.
15507 * config/tilepro/tilepro-c.c : Likewise.
15508 * config/tilepro/tilepro.c : Likewise.
15509 * config/v850/v850-c.c : Likewise.
15510 * config/v850/v850.c : Likewise.
15511 * config/vax/vax.c : Likewise.
15512 * config/visium/visium.c : Likewise.
15513 * config/vms/vms-c.c : Likewise.
15514 * config/vms/vms.c : Likewise.
15515 * config/vxworks.c : Likewise.
15516 * config/winnt-c.c : Likewise.
15517 * config/xtensa/xtensa.c : Likewise.
15518
15519 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
15520
15521 PR lto/65378
15522 * ipa-utils.h (warn_types_mismatch): Update prototype.
15523 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
15524 parameters.
15525 (type_mismatch_p): New function.
15526 (warn_types_mismatch): Reorg to work better on non-C++ types.
15527 (odr_types_equivalent_p): Add loc1/loc2 parameters.
15528 (add_type_duplicate): Update.
15529
15530 2015-06-08 Tom de Vries <tom@codesourcery.com>
15531
15532 PR rtl-optimization/66444
15533 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
15534 call_used_regs.
15535
15536 2015-06-08 Richard Biener <rguenther@suse.de>
15537
15538 PR tree-optimization/66422
15539 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
15540 block after inserted gcc_unreachable.
15541
15542 2015-06-08 Nick Clifton <nickc@redhat.com>
15543
15544 * config/rx/rx.c (rx_function_value): Do not promote vector types.
15545 (rx_promote_function_mode): Likewise.
15546 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
15547
15548 2015-06-08 Jakub Jelinek <jakub@redhat.com>
15549
15550 * genattrtab.c (insn_alternatives): Change type from int *
15551 to uint64_t *.
15552 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
15553 (get_attr_value): Change type of num_alt to uint64_t.
15554 (compute_alternative_mask): Change return type from
15555 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
15556 (make_alternative_compare, mk_attr_alt): Change argument type
15557 from int to uint64_t.
15558 (simplify_test_exp): Change type of i from int to uint64_t.
15559 Shift ((uint64_t) 1) instead of 1 up.
15560 (main): Adjust oballocvec first argument from int to uint64_t.
15561 Shift ((uint64_t) 1) instead of 1 up.
15562
15563 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
15564
15565 PR other/65366
15566 * gdbhooks.py: Import sys.
15567 (intptr): New function. Replace int(...) by intptr(...).
15568
15569 2015-06-08 Richard Biener <rguenther@suse.de>
15570
15571 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
15572 adjustment for gaps at the end of a SLP load group properly.
15573 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
15574 all permutations we can generate.
15575 (vect_transform_slp_perm_load): Use the correct group-size.
15576
15577 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
15578
15579 * genmatch.c (expr::gen_transform): For conditions, guess the type
15580 from the second operand.
15581
15582 2015-06-08 Tom de Vries <tom@codesourcery.com>
15583
15584 PR tree-optimization/66442
15585 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
15586 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
15587 if the loop latch is not a singleton. Use
15588 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
15589
15590 2015-06-08 Marek Polacek <polacek@redhat.com>
15591
15592 PR sanitizer/66452
15593 * toplev.c (check_global_declaration): Don't warn about artificial
15594 decls.
15595
15596 2015-06-08 Tom de Vries <tom@codesourcery.com>
15597
15598 PR tree-optimization/66436
15599 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
15600 dump file.
15601 * gimplify.c: Add tree-dump.h include.
15602 (gimplify_function_tree): Dump function to gimple dump file.
15603 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
15604 dump file.
15605
15606 2015-06-08 Tom de Vries <tom@codesourcery.com>
15607
15608 PR tree-optimization/66435
15609 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
15610 function.
15611
15612 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
15613
15614 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
15615 of ptr_type_node to not be ptr_to_node.
15616 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
15617 TREE_TYPE of pointers.
15618 * gimple-expr.c (useless_type_conversion): Reorder the check for
15619 function pointers and TYPE_CANONICAL.
15620
15621 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
15622
15623 PR bootstrap/66319
15624 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
15625 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
15626 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
15627 later.
15628 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
15629 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
15630 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
15631 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
15632 and non iso if unix2003.
15633
15634 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
15635
15636 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
15637
15638 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
15639
15640 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
15641 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
15642 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
15643 except.c, final.c, function.c, gcse-common.c, genemit.c,
15644 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
15645 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
15646 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
15647 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
15648 more derived ones.
15649
15650 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
15651
15652 * combine.c (combine_split_insns): Remove cast.
15653 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
15654 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
15655 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
15656 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
15657 * genemit.c (gen_split): Change return type of generated functions to
15658 rtx_insn.
15659 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
15660 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
15661 gen_peephole2_* functions.
15662 (print_subroutine, main): Likewise.
15663 * recog.c (peephole2_optimize): Remove cast.
15664 (peep2_next_insn): Promote return type to rtx_insn.
15665 * recog.h (peep2_next_insn): Fix prototype.
15666 * rtl.h (try_split, split_insns): Likewise.
15667
15668 2015-06-06 DJ Delorie <dj@redhat.com>
15669
15670 * config/msp430/msp430.c (msp430_asm_integer): Support addition
15671 and subtraction too.
15672
15673 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
15674
15675 PR target/66410
15676 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
15677 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
15678 instead of Snd. Disparage Sid/z alternative with '^'.
15679
15680 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
15681
15682 * dwarf2out.c: Remove deferred_locations*.
15683 (dwarf2_debug_hooks): Add early_finish hook.
15684 Remove global_decl hook.
15685 Add early_global_decl and late_global_decl hook.
15686 New global early_dwarf.
15687 New structure set_early_dwarf.
15688 (output_die): Indicate whether a DIE was generated early
15689 when generating assembly with -dA.
15690 (struct limbo_die_struct): Document created_for field.
15691 Remove file_table_last_lookup.
15692 (remove_AT): Return TRUE if successful.
15693 (remove_child_TAG): Clear die_parent.
15694 (reparent_child): New function abstracted from...
15695 (splice_child_die): ...here.
15696 (new_die): ICE if a DIE ends up in limbo too late.
15697 (check_die): New.
15698 (defer_location): Remove.
15699 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
15700 (fill_variable_array_bounds): New.
15701 (decl_start_label): Call fill_variable_array_bounds.
15702 (gen_formal_parameter_die): Rewrite to reuse previously generated
15703 DIEs.
15704 (gen_subprogram_die): Same.
15705 (gen_variable_die): Same.
15706 (gen_const_die): Same.
15707 (gen_label_die): Same.
15708 (gen_lexical_block_die): Same.
15709 (decl_will_get_specification_p): New.
15710 (local_function_static): New.
15711 (gen_struct_or_union_type_die): Fill in variable-length fields.
15712 (gen_typedef_die): Fill in variable-length typedefs.
15713 (gen_tagged_type_die): Gracefully return on error_mark_node.
15714 Handle re-entrancy.
15715 (gen_type_die_with_usage): Handle variable-length types.
15716 Remove duplicate code for ARRAY_TYPE case.
15717 (process_scope_var): Only process imported modules during early
15718 dwarf.
15719 (dwarf2out_early_global_decl): New.
15720 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
15721 (dwarf2out_type_decl): Set early_dwarf while calling
15722 dwarf2out_decl.
15723 (dwarf2out_decl): Verify that we did not recreate a previously
15724 generated DIE.
15725 Do not return on DECL_EXTERNALs in VAR_DECLs.
15726 Abstract some code to local_function_static.
15727 (lookup_filename): Remove use of file_table_last_lookup.
15728 Gracefully exit on missing file_name.
15729 (dwarf2out_finish): Verify limbo list.
15730 Remove deferred_locations_list use.
15731 Move deferred_asm_name and limbo flushing to...
15732 (dwarf2out_early_finish): ...here. New.
15733 (dwarf2out_c_finalize): Remove set of deferred_location_list,
15734 deferred_asm_name, and file_table_last_lookup.
15735 * cgraph.h (referred_to_p): Add default argument.
15736 * cgraphunit.c (referred_to_p): Add and handle include_self
15737 argument.
15738 (analyze_functions): Add first_time argument.
15739 Call check_global_declaration for all symbols.
15740 Call late_global_decl for nodes for moribund nodes.
15741 (finalize_compilation_unit): Add new argument to
15742 analyze_functions.
15743 Call early_global_decl for functions.
15744 Call early_finish debug hook.
15745 * dbxout.c (dbxout_early_global_decl): New.
15746 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
15747 (dbx_debug_hooks): Add new hooks.
15748 (xcoff_debug_hooks): Same.
15749 * debug.c (do_nothing_debug_hooks): Add early_finish field.
15750 Add early and late debug hooks.
15751 Remove global_decl hook.
15752 * debug.h (struct gcc_debug_hooks): Add early_finish,
15753 early_global_decl, and late_global_decl fields.
15754 Remove global_decl field.
15755 Document gcc_debug_hooks.
15756 * gengtype.c (output_typename): Remove.
15757 * godump.c (go_early_global_decl): New.
15758 (go_late_global_decl): New.
15759 (go_global_decl): Remove.
15760 (dump_go_spec_init): Remove global_decl. Add
15761 {early,late}_global_decl.
15762 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
15763 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
15764 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
15765 (write_global_declarations): Remove.
15766 (global_decl_processing): New.
15767 * langhooks.h (struct lang_hooks_for_decls): Remove
15768 final_write_globals field.
15769 Add post_compilation_parsing_cleanups field.
15770 * passes.c (rest_of_decl_compilation): Call early_global_decl.
15771 * sdbout.c: Add early and late_global_decl hooks. Remove
15772 sdbout_global_decl hook.
15773 Add early_finish field for sdb_debug_hooks.
15774 (sdbout_global_decl): Remove.
15775 (sdbout_early_global_decl): New.
15776 (sdbout_late_global_decl): New.
15777 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
15778 * toplev.c (check_global_declaration): Rename from
15779 check_global_declaration_1.
15780 Adapt to use symtab infrastructure.
15781 (check_global_declarations): Remove.
15782 (emit_debug_global_declarations): Remove.
15783 (compile_file): Remove call to final_write_globals langhook.
15784 Run the actual compilation process.
15785 Perform any post compilation parser cleanups.
15786 Generate late debug info.
15787 * toplev.h (check_global_declaration): New.
15788 (check_global_declaration_1): Remove.
15789 (check_global_declarations): Remove.
15790 (write_global_declarations): Remove.
15791 (emit_debug_global_declarations): Remove.
15792 (global_decl_processing): New.
15793 * tree-core.h (struct tree_block): Add DIE field.
15794 * tree.h (BLOCK_DIE): New.
15795 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
15796 throughout.
15797 (vmsdbgout_early_global_decl): New.
15798 (vmsdbgout_late_global_decl): New.
15799 Add early_finish debug hook field to vmsdbg_debug_hooks.
15800 Remove vmsdbgout_decl to vmsdbgout_function_decl.
15801 Add early and late_global_decl debug hooks.
15802
15803 2015-06-05 Julian Brown <julian@codesourcery.com>
15804 Sandra Loosemore <sandra@codesourcery.com>
15805
15806 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
15807 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
15808 to print-sysroot-suffix.sh script.
15809
15810 2015-06-05 Tom de Vries <tom@codesourcery.com>
15811
15812 merge from gomp4 branch:
15813 2015-05-28 Tom de Vries <tom@codesourcery.com>
15814
15815 PR tree-optimization/65443
15816 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
15817 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
15818 (try_transform_to_exit_first_loop_alt): New function.
15819 (transform_to_exit_first_loop): Use
15820 try_transform_to_exit_first_loop_alt.
15821
15822 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
15823
15824 * builtins.c (expand_builtin_atomic_compare_exchange): Call
15825 emit_cmp_and_jump_insns with the mode of target.
15826
15827 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
15828
15829 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
15830
15831 2015-06-04 DJ Delorie <dj@redhat.com>
15832
15833 * config/msp430/msp430.md (movsi_s): New. Special case for
15834 storing a 20-bit symbol into a 32-bit register.
15835 * config/msp430/msp430.c (msp430_subreg): Add support for it.
15836 * config/msp430/predicates.md (msp430_symbol_operand): New.
15837
15838 2015-06-04 Sriraman Tallam <tmsriram@google.com>
15839
15840 * c-family/c-common.c (noplt): New attribute.
15841 (handle_noplt_attribute): New handler.
15842 * calls.c (prepare_call_address): Check for noplt
15843 attribute.
15844 * config/i386/i386.c (ix86_expand_call): Check
15845 for noplt attribute.
15846 (ix86_nopic_noplt_attribute_p): New function.
15847 (ix86_output_call_insn): Output indirect call for non-pic
15848 no plt calls.
15849 * doc/extend.texi (noplt): Document new attribute.
15850 * doc/invoke.texi: Document new attribute.
15851
15852 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
15853
15854 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
15855 real.h, and fixed-value.h when included in host source files.
15856 * double-int.h: Remove redundant #includes listed above.
15857 * fixed-value.h: Likewise.
15858 * real.h: Likewise.
15859 * wide-int.h: Likewise.
15860 * inchash.h: Likewise.
15861 * rtl.h: Add some include files When included from a generator file.
15862 * target.h: Remove wide-int.h and insn-modes.h from the include list.
15863 * internal-fn.h: Don't include coretypes.h.
15864 * alias.c: Adjust includes for restructured coretypes.h.
15865 * asan.c: Likewise.
15866 * attribs.c: Likewise.
15867 * auto-inc-dec.c: Likewise.
15868 * auto-profile.c: Likewise.
15869 * bb-reorder.c: Likewise.
15870 * bt-load.c: Likewise.
15871 * builtins.c: Likewise.
15872 * caller-save.c: Likewise.
15873 * calls.c: Likewise.
15874 * ccmp.c: Likewise.
15875 * cfg.c: Likewise.
15876 * cfganal.c: Likewise.
15877 * cfgbuild.c: Likewise.
15878 * cfgcleanup.c: Likewise.
15879 * cfgexpand.c: Likewise.
15880 * cfghooks.c: Likewise.
15881 * cfgloop.c: Likewise.
15882 * cfgloop.h: Likewise.
15883 * cfgloopanal.c: Likewise.
15884 * cfgloopmanip.c: Likewise.
15885 * cfgrtl.c: Likewise.
15886 * cgraph.c: Likewise.
15887 * cgraphbuild.c: Likewise.
15888 * cgraphclones.c: Likewise.
15889 * cgraphunit.c: Likewise.
15890 * cilk-common.c: Likewise.
15891 * combine-stack-adj.c: Likewise.
15892 * combine.c: Likewise.
15893 * compare-elim.c: Likewise.
15894 * convert.c: Likewise.
15895 * coverage.c: Likewise.
15896 * cppbuiltin.c: Likewise.
15897 * cprop.c: Likewise.
15898 * cse.c: Likewise.
15899 * cselib.c: Likewise.
15900 * data-streamer-in.c: Likewise.
15901 * data-streamer-out.c: Likewise.
15902 * data-streamer.c: Likewise.
15903 * dbxout.c: Likewise.
15904 * dce.c: Likewise.
15905 * ddg.c: Likewise.
15906 * debug.c: Likewise.
15907 * df-core.c: Likewise.
15908 * df-problems.c: Likewise.
15909 * df-scan.c: Likewise.
15910 * df.h: Likewise.
15911 * dfp.c: Likewise.
15912 * dojump.c: Likewise.
15913 * dominance.c: Likewise.
15914 * domwalk.c: Likewise.
15915 * double-int.c: Likewise.
15916 * dse.c: Likewise.
15917 * dumpfile.c: Likewise.
15918 * dwarf2asm.c: Likewise.
15919 * dwarf2cfi.c: Likewise.
15920 * dwarf2out.c: Likewise.
15921 * dwarf2out.h: Likewise.
15922 * emit-rtl.c: Likewise.
15923 * et-forest.c: Likewise.
15924 * except.c: Likewise.
15925 * explow.c: Likewise.
15926 * expmed.c: Likewise.
15927 * expr.c: Likewise.
15928 * final.c: Likewise.
15929 * fixed-value.c: Likewise.
15930 * fold-const.c: Likewise.
15931 * function.c: Likewise.
15932 * fwprop.c: Likewise.
15933 * gcc-plugin.h: Likewise.
15934 * gcse.c: Likewise.
15935 * generic-match-head.c: Likewise.
15936 * ggc-page.c: Likewise.
15937 * gimple-builder.c: Likewise.
15938 * gimple-expr.c: Likewise.
15939 * gimple-fold.c: Likewise.
15940 * gimple-iterator.c: Likewise.
15941 * gimple-low.c: Likewise.
15942 * gimple-match-head.c: Likewise.
15943 * gimple-pretty-print.c: Likewise.
15944 * gimple-ssa-isolate-paths.c: Likewise.
15945 * gimple-ssa-strength-reduction.c: Likewise.
15946 * gimple-streamer-in.c: Likewise.
15947 * gimple-streamer-out.c: Likewise.
15948 * gimple-streamer.h: Likewise.
15949 * gimple-walk.c: Likewise.
15950 * gimple.c: Likewise.
15951 * gimplify-me.c: Likewise.
15952 * gimplify.c: Likewise.
15953 * godump.c: Likewise.
15954 * graph.c: Likewise.
15955 * graphite-blocking.c: Likewise.
15956 * graphite-dependences.c: Likewise.
15957 * graphite-interchange.c: Likewise.
15958 * graphite-isl-ast-to-gimple.c: Likewise.
15959 * graphite-optimize-isl.c: Likewise.
15960 * graphite-poly.c: Likewise.
15961 * graphite-scop-detection.c: Likewise.
15962 * graphite-sese-to-poly.c: Likewise.
15963 * graphite.c: Likewise.
15964 * haifa-sched.c: Likewise.
15965 * hooks.h: Likewise.
15966 * hw-doloop.c: Likewise.
15967 * ifcvt.c: Likewise.
15968 * incpath.c: Likewise.
15969 * init-regs.c: Likewise.
15970 * internal-fn.c: Likewise.
15971 * ipa-chkp.c: Likewise.
15972 * ipa-comdats.c: Likewise.
15973 * ipa-cp.c: Likewise.
15974 * ipa-devirt.c: Likewise.
15975 * ipa-icf-gimple.c: Likewise.
15976 * ipa-icf.c: Likewise.
15977 * ipa-inline-analysis.c: Likewise.
15978 * ipa-inline-transform.c: Likewise.
15979 * ipa-inline.c: Likewise.
15980 * ipa-polymorphic-call.c: Likewise.
15981 * ipa-profile.c: Likewise.
15982 * ipa-prop.c: Likewise.
15983 * ipa-pure-const.c: Likewise.
15984 * ipa-ref.c: Likewise.
15985 * ipa-reference.c: Likewise.
15986 * ipa-split.c: Likewise.
15987 * ipa-utils.c: Likewise.
15988 * ipa-visibility.c: Likewise.
15989 * ipa.c: Likewise.
15990 * ira-build.c: Likewise.
15991 * ira-color.c: Likewise.
15992 * ira-conflicts.c: Likewise.
15993 * ira-costs.c: Likewise.
15994 * ira-emit.c: Likewise.
15995 * ira-lives.c: Likewise.
15996 * ira.c: Likewise.
15997 * jump.c: Likewise.
15998 * langhooks.c: Likewise.
15999 * lcm.c: Likewise.
16000 * loop-doloop.c: Likewise.
16001 * loop-init.c: Likewise.
16002 * loop-invariant.c: Likewise.
16003 * loop-iv.c: Likewise.
16004 * loop-unroll.c: Likewise.
16005 * lower-subreg.c: Likewise.
16006 * lra-assigns.c: Likewise.
16007 * lra-coalesce.c: Likewise.
16008 * lra-constraints.c: Likewise.
16009 * lra-eliminations.c: Likewise.
16010 * lra-lives.c: Likewise.
16011 * lra-remat.c: Likewise.
16012 * lra-spills.c: Likewise.
16013 * lra.c: Likewise.
16014 * lto-cgraph.c: Likewise.
16015 * lto-compress.c: Likewise.
16016 * lto-opts.c: Likewise.
16017 * lto-section-in.c: Likewise.
16018 * lto-section-out.c: Likewise.
16019 * lto-streamer-in.c: Likewise.
16020 * lto-streamer-out.c: Likewise.
16021 * lto-streamer.c: Likewise.
16022 * mcf.c: Likewise.
16023 * mode-switching.c: Likewise.
16024 * modulo-sched.c: Likewise.
16025 * omega.c: Likewise.
16026 * omp-low.c: Likewise.
16027 * optabs.c: Likewise.
16028 * opts-global.c: Likewise.
16029 * passes.c: Likewise.
16030 * plugin.c: Likewise.
16031 * postreload-gcse.c: Likewise.
16032 * postreload.c: Likewise.
16033 * predict.c: Likewise.
16034 * print-rtl.c: Likewise.
16035 * print-tree.c: Likewise.
16036 * profile.c: Likewise.
16037 * real.c: Likewise.
16038 * realmpfr.c: Likewise.
16039 * realmpfr.h: Likewise.
16040 * recog.c: Likewise.
16041 * ree.c: Likewise.
16042 * reg-stack.c: Likewise.
16043 * regcprop.c: Likewise.
16044 * reginfo.c: Likewise.
16045 * regrename.c: Likewise.
16046 * regs.h: Likewise.
16047 * regstat.c: Likewise.
16048 * reload.c: Likewise.
16049 * reload1.c: Likewise.
16050 * reorg.c: Likewise.
16051 * resource.c: Likewise.
16052 * rtl-chkp.c: Likewise.
16053 * rtlanal.c: Likewise.
16054 * rtlhooks.c: Likewise.
16055 * sanopt.c: Likewise.
16056 * sched-deps.c: Likewise.
16057 * sched-ebb.c: Likewise.
16058 * sched-rgn.c: Likewise.
16059 * sched-vis.c: Likewise.
16060 * sdbout.c: Likewise.
16061 * sel-sched-dump.c: Likewise.
16062 * sel-sched-ir.c: Likewise.
16063 * sel-sched.c: Likewise.
16064 * sese.c: Likewise.
16065 * shrink-wrap.c: Likewise.
16066 * shrink-wrap.h: Likewise.
16067 * simplify-rtx.c: Likewise.
16068 * stack-ptr-mod.c: Likewise.
16069 * statistics.c: Likewise.
16070 * stmt.c: Likewise.
16071 * stor-layout.c: Likewise.
16072 * store-motion.c: Likewise.
16073 * stringpool.c: Likewise.
16074 * symtab.c: Likewise.
16075 * target-globals.c: Likewise.
16076 * targhooks.c: Likewise.
16077 * toplev.c: Likewise.
16078 * tracer.c: Likewise.
16079 * trans-mem.c: Likewise.
16080 * tree-affine.c: Likewise.
16081 * tree-affine.h: Likewise.
16082 * tree-browser.c: Likewise.
16083 * tree-call-cdce.c: Likewise.
16084 * tree-cfg.c: Likewise.
16085 * tree-cfgcleanup.c: Likewise.
16086 * tree-chkp-opt.c: Likewise.
16087 * tree-chkp.c: Likewise.
16088 * tree-chrec.c: Likewise.
16089 * tree-complex.c: Likewise.
16090 * tree-data-ref.c: Likewise.
16091 * tree-dfa.c: Likewise.
16092 * tree-diagnostic.c: Likewise.
16093 * tree-dump.c: Likewise.
16094 * tree-eh.c: Likewise.
16095 * tree-emutls.c: Likewise.
16096 * tree-if-conv.c: Likewise.
16097 * tree-inline.c: Likewise.
16098 * tree-into-ssa.c: Likewise.
16099 * tree-iterator.c: Likewise.
16100 * tree-loop-distribution.c: Likewise.
16101 * tree-nested.c: Likewise.
16102 * tree-nrv.c: Likewise.
16103 * tree-object-size.c: Likewise.
16104 * tree-outof-ssa.c: Likewise.
16105 * tree-parloops.c: Likewise.
16106 * tree-phinodes.c: Likewise.
16107 * tree-predcom.c: Likewise.
16108 * tree-pretty-print.c: Likewise.
16109 * tree-pretty-print.h: Likewise.
16110 * tree-profile.c: Likewise.
16111 * tree-scalar-evolution.c: Likewise.
16112 * tree-sra.c: Likewise.
16113 * tree-ssa-address.c: Likewise.
16114 * tree-ssa-alias.c: Likewise.
16115 * tree-ssa-ccp.c: Likewise.
16116 * tree-ssa-coalesce.c: Likewise.
16117 * tree-ssa-copy.c: Likewise.
16118 * tree-ssa-copyrename.c: Likewise.
16119 * tree-ssa-dce.c: Likewise.
16120 * tree-ssa-dom.c: Likewise.
16121 * tree-ssa-dse.c: Likewise.
16122 * tree-ssa-forwprop.c: Likewise.
16123 * tree-ssa-ifcombine.c: Likewise.
16124 * tree-ssa-live.c: Likewise.
16125 * tree-ssa-loop-ch.c: Likewise.
16126 * tree-ssa-loop-im.c: Likewise.
16127 * tree-ssa-loop-ivcanon.c: Likewise.
16128 * tree-ssa-loop-ivopts.c: Likewise.
16129 * tree-ssa-loop-manip.c: Likewise.
16130 * tree-ssa-loop-niter.c: Likewise.
16131 * tree-ssa-loop-prefetch.c: Likewise.
16132 * tree-ssa-loop-unswitch.c: Likewise.
16133 * tree-ssa-loop.c: Likewise.
16134 * tree-ssa-loop.h: Likewise.
16135 * tree-ssa-math-opts.c: Likewise.
16136 * tree-ssa-operands.c: Likewise.
16137 * tree-ssa-phiopt.c: Likewise.
16138 * tree-ssa-phiprop.c: Likewise.
16139 * tree-ssa-pre.c: Likewise.
16140 * tree-ssa-propagate.c: Likewise.
16141 * tree-ssa-reassoc.c: Likewise.
16142 * tree-ssa-sccvn.c: Likewise.
16143 * tree-ssa-scopedtables.c: Likewise.
16144 * tree-ssa-sink.c: Likewise.
16145 * tree-ssa-strlen.c: Likewise.
16146 * tree-ssa-structalias.c: Likewise.
16147 * tree-ssa-tail-merge.c: Likewise.
16148 * tree-ssa-ter.c: Likewise.
16149 * tree-ssa-threadedge.c: Likewise.
16150 * tree-ssa-threadupdate.c: Likewise.
16151 * tree-ssa-uncprop.c: Likewise.
16152 * tree-ssa-uninit.c: Likewise.
16153 * tree-ssa.c: Likewise.
16154 * tree-ssanames.c: Likewise.
16155 * tree-stdarg.c: Likewise.
16156 * tree-streamer-in.c: Likewise.
16157 * tree-streamer-out.c: Likewise.
16158 * tree-streamer.c: Likewise.
16159 * tree-switch-conversion.c: Likewise.
16160 * tree-tailcall.c: Likewise.
16161 * tree-vect-data-refs.c: Likewise.
16162 * tree-vect-generic.c: Likewise.
16163 * tree-vect-loop-manip.c: Likewise.
16164 * tree-vect-loop.c: Likewise.
16165 * tree-vect-patterns.c: Likewise.
16166 * tree-vect-slp.c: Likewise.
16167 * tree-vect-stmts.c: Likewise.
16168 * tree-vectorizer.c: Likewise.
16169 * tree-vrp.c: Likewise.
16170 * tree.c: Likewise.
16171 * tsan.c: Likewise.
16172 * ubsan.c: Likewise.
16173 * valtrack.c: Likewise.
16174 * value-prof.c: Likewise.
16175 * var-tracking.c: Likewise.
16176 * varasm.c: Likewise.
16177 * varpool.c: Likewise.
16178 * vmsdbgout.c: Likewise.
16179 * vtable-verify.c: Likewise.
16180 * web.c: Likewise.
16181 * wide-int-print.cc: Likewise.
16182 * wide-int-print.h: Likewise.
16183 * wide-int.cc: Likewise.
16184 * xcoffout.c: Likewise.
16185 * config/aarch64/aarch64-builtins.c: Likewise.
16186 * config/aarch64/aarch64.c: Likewise.
16187 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
16188 * config/alpha/alpha.c: Likewise.
16189 * config/arc/arc.c: Likewise.
16190 * config/arm/aarch-common.c: Likewise.
16191 * config/arm/arm-builtins.c: Likewise.
16192 * config/arm/arm-c.c: Likewise.
16193 * config/arm/arm.c: Likewise.
16194 * config/avr/avr-c.c: Likewise.
16195 * config/avr/avr-log.c: Likewise.
16196 * config/avr/avr.c: Likewise.
16197 * config/bfin/bfin.c: Likewise.
16198 * config/c6x/c6x.c: Likewise.
16199 * config/cr16/cr16.c: Likewise.
16200 * config/cris/cris.c: Likewise.
16201 * config/darwin-c.c: Likewise.
16202 * config/darwin.c: Likewise.
16203 * config/default-c.c: Likewise.
16204 * config/epiphany/epiphany.c: Likewise.
16205 * config/epiphany/mode-switch-use.c: Likewise.
16206 * config/epiphany/resolve-sw-modes.c: Likewise.
16207 * config/fr30/fr30.c: Likewise.
16208 * config/frv/frv.c: Likewise.
16209 * config/ft32/ft32.c: Likewise.
16210 * config/glibc-c.c: Likewise.
16211 * config/h8300/h8300.c: Likewise.
16212 * config/i386/i386-c.c: Likewise.
16213 * config/i386/i386.c: Likewise.
16214 * config/i386/msformat-c.c: Likewise.
16215 * config/i386/winnt-cxx.c: Likewise.
16216 * config/i386/winnt-stubs.c: Likewise.
16217 * config/i386/winnt.c: Likewise.
16218 * config/ia64/ia64-c.c: Likewise.
16219 * config/ia64/ia64.c: Likewise.
16220 * config/iq2000/iq2000.c: Likewise.
16221 * config/lm32/lm32.c: Likewise.
16222 * config/m32c/m32c-pragma.c: Likewise.
16223 * config/m32c/m32c.c: Likewise.
16224 * config/m32r/m32r.c: Likewise.
16225 * config/m68k/m68k.c: Likewise.
16226 * config/mcore/mcore.c: Likewise.
16227 * config/mep/mep-pragma.c: Likewise.
16228 * config/mep/mep.c: Likewise.
16229 * config/microblaze/microblaze-c.c: Likewise.
16230 * config/microblaze/microblaze.c: Likewise.
16231 * config/mips/mips.c: Likewise.
16232 * config/mmix/mmix.c: Likewise.
16233 * config/mn10300/mn10300.c: Likewise.
16234 * config/moxie/moxie.c: Likewise.
16235 * config/msp430/msp430-c.c: Likewise.
16236 * config/msp430/msp430.c: Likewise.
16237 * config/nds32/nds32-cost.c: Likewise.
16238 * config/nds32/nds32-fp-as-gp.c: Likewise.
16239 * config/nds32/nds32-intrinsic.c: Likewise.
16240 * config/nds32/nds32-isr.c: Likewise.
16241 * config/nds32/nds32-md-auxiliary.c: Likewise.
16242 * config/nds32/nds32-memory-manipulation.c: Likewise.
16243 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
16244 * config/nds32/nds32-predicates.c: Likewise.
16245 * config/nds32/nds32.c: Likewise.
16246 * config/nios2/nios2.c: Likewise.
16247 * config/nvptx/nvptx.c: Likewise.
16248 * config/pa/pa.c: Likewise.
16249 * config/pdp11/pdp11.c: Likewise.
16250 * config/rl78/rl78-c.c: Likewise.
16251 * config/rl78/rl78.c: Likewise.
16252 * config/rs6000/rs6000-c.c: Likewise.
16253 * config/rs6000/rs6000.c: Likewise.
16254 * config/rx/rx.c: Likewise.
16255 * config/s390/s390-c.c: Likewise.
16256 * config/s390/s390.c: Likewise.
16257 * config/sh/sh-c.c: Likewise.
16258 * config/sh/sh-mem.cc: Likewise.
16259 * config/sh/sh.c: Likewise.
16260 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
16261 * config/sh/sh_treg_combine.cc: Likewise.
16262 * config/sol2-c.c: Likewise.
16263 * config/sol2-cxx.c: Likewise.
16264 * config/sol2-stubs.c: Likewise.
16265 * config/sol2.c: Likewise.
16266 * config/sparc/sparc-c.c: Likewise.
16267 * config/sparc/sparc.c: Likewise.
16268 * config/spu/spu-c.c: Likewise.
16269 * config/spu/spu.c: Likewise.
16270 * config/stormy16/stormy16.c: Likewise.
16271 * config/tilegx/mul-tables.c: Likewise.
16272 * config/tilegx/tilegx-c.c: Likewise.
16273 * config/tilegx/tilegx.c: Likewise.
16274 * config/tilepro/mul-tables.c: Likewise.
16275 * config/tilepro/tilepro-c.c: Likewise.
16276 * config/tilepro/tilepro.c: Likewise.
16277 * config/v850/v850-c.c: Likewise.
16278 * config/v850/v850.c: Likewise.
16279 * config/vax/vax.c: Likewise.
16280 * config/visium/visium.c: Likewise.
16281 * config/vms/vms-c.c: Likewise.
16282 * config/vms/vms.c: Likewise.
16283 * config/vxworks.c: Likewise.
16284 * config/winnt-c.c: Likewise.
16285 * config/xtensa/xtensa.c: Likewise.
16286 * common/config/bfin/bfin-common.c: Likewise.
16287
16288 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
16289
16290 * tree.h (tree_code_for_canonical_type_merging): New function.
16291 * tree.c (gimple_canonical_types_compatible_p): Use
16292 tree_code_for_canonical_type_merging..
16293
16294 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
16295
16296 PR c++/66192
16297 PR target/66200
16298 * doc/tm.texi: Regenerate.
16299 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
16300 * target.def (TARGET_RELAXED_ORDERING): Likewise.
16301 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
16302 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
16303 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
16304 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
16305 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
16306 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
16307 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
16308
16309 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16310
16311 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
16312 register fma steering pass.
16313 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
16314 AARCH64_TUNE_FMA_STEERING.
16315
16316 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
16317
16318 * tree.c (verify_type_variant): Verify that type and variant is
16319 compatible.
16320 (gimple_canonical_types_compatible_p): Look for main variants.
16321
16322 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
16323
16324 * config.gcc (powerpc*-*-*): Add support for a new configure
16325 option --with-advance-toolchain=<xxx> which overrides using the
16326 default header files, libraries and dynamic linker.
16327
16328 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
16329 specs to support the configure --with-advance-toolchain=<xxx>
16330 option.
16331 (INCLUDE_EXTRA_SPEC): Likewise.
16332 (LINK_OS_EXTRA_SPEC32): Likewise.
16333 (LINK_OK_EXTRA_SPEC64): Likewise.
16334 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
16335 (DYNAMIC_LINKER_PREFIX): Likewise.
16336 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
16337 toolchain support.
16338 (GLIBC_DYNAMIC_LINKER32): Likewise.
16339 (GLIBC_DYNAMIC_LINKER64): Likewise.
16340 (LINK_OS_LINUX_SPEC32): Likewise.
16341 (LINK_OS_LINUX_SPEC64): Likewise.
16342
16343 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
16344 configuration option.
16345
16346 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
16347
16348 PR target/66275
16349 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
16350 to determine current function ABI.
16351 (ix86_function_value_regno_p): Ditto.
16352
16353 2015-06-03 Martin Liska <mliska@suse.cz>
16354
16355 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
16356 * bitmap.h (struct bitmap_usage): Likewise.
16357 * ggc-common.c (struct ggc_usage): Likewise.
16358 * mem-stats.h (struct mem_location): Likewise.
16359 (struct mem_usage): Likewise.
16360 * vec.c (struct vec_usage): Likewise.
16361
16362 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
16363
16364 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
16365 -Bsymbolic.
16366
16367 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
16368
16369 * doc/plugins.texi (enum plugin_event): New event.
16370 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
16371 and PLUGIN_FINISH_FUNCTION.
16372 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
16373 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
16374
16375 2015-06-03 Richard Biener <rguenther@suse.de>
16376
16377 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
16378 compute GROUP_GAP for the first element.
16379 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
16380 on in-group gaps.
16381
16382 2015-06-03 Nick Clifton <nickc@redhat.com>
16383
16384 * config/rl78/rl78-real.md: Add peepholes to avoid a register
16385 copy when calling a function.
16386 * config/rl78/rl78.c (need_to_save): Do not push the frame
16387 pointer in an interrupt handler prologue if it is never used.
16388
16389 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16390
16391 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
16392
16393 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
16394
16395 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
16396 reference when cloning alias node.
16397
16398 2015-06-03 Martin Liska <mliska@suse.cz>
16399
16400 * alloc-pool.h (struct pool_usage): Correct space padding.
16401 * ggc-page.c (ggc_print_statistics): Align columns in a report.
16402 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
16403 * tree.c (dump_tree_statistics): Align columns in a report.
16404
16405 2015-06-03 Martin Liska <mliska@suse.cz>
16406
16407 * alloc-pool.c (allocate_pool_descriptor): Remove.
16408 (struct pool_output_info): Likewise.
16409 (print_alloc_pool_statistics): Likewise.
16410 (dump_alloc_pool_statistics): Likewise.
16411 * alloc-pool.h (struct pool_usage): New struct.
16412 (pool_allocator::initialize): Change usage of memory statistics
16413 to a new interface.
16414 (pool_allocator::release): Likewise.
16415 (pool_allocator::allocate): Likewise.
16416 (pool_allocator::remove): Likewise.
16417 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
16418 for a pool allocator.
16419 * mem-stats.h (struct mem_location): Add new ctor.
16420 (struct mem_usage): Add counter for number of
16421 instances.
16422 (mem_alloc_description::register_descriptor): New overload of
16423 * mem-stats.h (mem_location::to_string): New function.
16424 * bitmap.h (struct bitmap_usage): Use this new function.
16425 * ggc-common.c (struct ggc_usage): Likewise.
16426 the function.
16427
16428 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
16429
16430 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
16431 of GCC_INSN_FLAGS_H block.
16432
16433 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
16434
16435 * explow.c (plus_constant): Update check after force_const_mem call
16436 to see if the value returned is not a NULL_RTX.
16437
16438 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
16439
16440 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
16441 remove instumentation thunks calling reachable functions.
16442 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
16443 * lto/lto-partition.c (privatize_symbol_name_1): New.
16444 (privatize_symbol_name): Privatize both decl and orig_decl
16445 names for instrumented functions.
16446 * cgraph.c (cgraph_node::verify_node): Add transparent
16447 alias chain check for instrumented node.
16448
16449 2015-06-03 Marek Polacek <polacek@redhat.com>
16450
16451 PR c/64223
16452 PR c/29358
16453 * tree.c (attribute_value_equal): Handle attribute format.
16454 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
16455
16456 2015-06-03 Richard Biener <rguenther@suse.de>
16457
16458 PR tree-optimization/63916
16459 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
16460 Forward-propagate non-invariant addresses by splicing their
16461 reference ops if the result isn't going to be used by PRE.
16462 (vn_reference_lookup_3): Remove pointless assert.
16463
16464 2015-06-03 Richard Biener <rguenther@suse.de>
16465
16466 PR tree-optimization/66375
16467 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
16468 add to the evolution before following SSA edges.
16469
16470 2015-06-03 Bin Cheng <bin.cheng@arm.com>
16471
16472 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
16473 (dump_use, dump_cand, find_induction_variables): Pass new argument
16474 to dump_iv.
16475 (record_use): Preserve the ssa name information in IV.
16476
16477 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
16478
16479 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
16480 NO_MODE_TEST.
16481 (add_mode_tests): Don't add mode tests if the predicate only
16482 accepts scalar constant integers. Otherwise, allow the mode
16483 of "op" to be VOIDmode if the predicate does accept such integers.
16484
16485 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
16486
16487 PR target/66258
16488 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
16489 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
16490 (aarch64_secondary_reload): Likewise
16491 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
16492 to !TARGET_FLOAT.
16493 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
16494 Likewise.
16495
16496 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
16497 Zhenqiang Chen <zhenqiang.chen@linaro.org>
16498
16499 PR target/65768
16500 * cprop.c (try_replace_reg): Check cost of constants before propagating.
16501
16502 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
16503
16504 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
16505 provide access to the IBM extended double floating point mode if
16506 long double is IEEE 128-bit floating point.
16507 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
16508 point if long double is the IBM extended double type.
16509
16510 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
16511 enable adding IEEE 128-bit floating point support.
16512 (-mfloat128-software): Likewise.
16513 (-mfloat128-sw): Likewise.
16514
16515 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
16516 128-bit floating point types to occupy any register if
16517 -mlong-double-64. Do not allow use of IFmode/KFmode unless
16518 -mfloat128-software is enabled.
16519 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
16520 support.
16521 (rs6000_option_override_internal): Add -mfloat128-* support.
16522 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
16523
16524 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
16525 and float128 type nodes.
16526 (ieee128_float_type_node): Likewise.
16527 (ibm128_float_type_node): Likewise.
16528
16529 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
16530
16531 PR target/66136
16532 * config/aarch64/geniterators.sh: Rewrite in awk.
16533
16534 2015-06-02 Martin Liska <mliska@suse.cz>
16535
16536 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
16537 values to avoid -Wmaybe-uninitialized errors.
16538
16539 2015-06-02 Richard Biener <rguenther@suse.de>
16540
16541 PR debug/65549
16542 * dwarf2out.c (lookup_context_die): New function.
16543 (resolve_addr): Avoid forcing a full DIE for the
16544 target of a DW_TAG_GNU_call_site during late compilation.
16545 Instead create a stub DIE without a type if we have a
16546 context DIE present.
16547
16548 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
16549
16550 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
16551
16552 2015-06-02 Bin Cheng <bin.cheng@arm.com>
16553
16554 PR tree-optimization/48052
16555 * cfgloop.h (struct control_iv): New.
16556 (struct loop): New field control_ivs.
16557 * tree-ssa-loop-niter.c : Include "stor-layout.h".
16558 (number_of_iterations_lt): Set no_overflow information.
16559 (number_of_iterations_exit): Init control iv in niter struct.
16560 (record_control_iv): New.
16561 (estimate_numbers_of_iterations_loop): Call record_control_iv.
16562 (loop_exits_before_overflow): New. Interface factored out of
16563 scev_probably_wraps_p.
16564 (scev_probably_wraps_p): Factor loop niter related code into
16565 loop_exits_before_overflow.
16566 (free_numbers_of_iterations_estimates_loop): Free control ivs.
16567 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
16568
16569 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
16570
16571 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
16572 the target doesn't belong to the current function.
16573
16574 2015-06-02 Marek Polacek <polacek@redhat.com>
16575
16576 PR middle-end/66345
16577 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
16578 get_maxval_strlen does not produce an INTEGER_CST.
16579
16580 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
16581
16582 * config/arc/constraints.md: Use lower-case names in match_code.
16583 * config/mmix/constraints.md: Likewise.
16584
16585 2015-06-02 Richard Biener <rguenther@suse.de>
16586
16587 PR tree-optimization/65961
16588 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
16589 check and clarify dump message.
16590 (vect_build_slp_tree): If all children are built up from scalars
16591 build up the parent from scalars instead.
16592 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
16593
16594 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
16595
16596 PR other/65366
16597 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
16598 instead of print ... .
16599
16600 2015-06-02 Alan Modra <amodra@gmail.com>
16601
16602 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
16603 2014-08-11 change.
16604
16605 2015-06-02 Bin Cheng <bin.cheng@arm.com>
16606
16607 PR tree-optimization/52563
16608 PR tree-optimization/62173
16609 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
16610 (alloc_iv, set_iv): New parameter.
16611 (determine_biv_step): Delete.
16612 (find_bivs): Inline original determine_biv_step. Pass new
16613 argument to set_iv.
16614 (idx_find_step): Use no_overflow information for conversion.
16615 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
16616 resolve_mixers handle folded_casts.
16617 (instantiate_scev_name): Change bool parameter to bool pointer.
16618 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
16619 (instantiate_array_ref, instantiate_scev_not): Ditto.
16620 (instantiate_scev_3, instantiate_scev_2): Ditto.
16621 (instantiate_scev_1, instantiate_scev_r): Ditto.
16622 (instantiate_scev_convert, ): Change parameter. Pass argument
16623 to chrec_convert_aggressive.
16624 (instantiate_scev): Change argument.
16625 (resolve_mixers): New parameter and set it.
16626 (scev_const_prop): New argument.
16627 * tree-scalar-evolution.h (resolve_mixers): New parameter.
16628 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
16629 of chrec_conert_1.
16630 (chrec_convert): New parameter. Move definition below.
16631 (chrec_convert_aggressive): New parameter and set it. Call
16632 convert_affine_scev.
16633 * tree-chrec.h (chrec_convert): New parameter.
16634 (chrec_convert_aggressive): Ditto.
16635
16636 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
16637
16638 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
16639 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
16640 the LHS of a no-return call if its type has variable size.
16641 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
16642 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
16643
16644 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
16645
16646 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
16647 * config.in: Regenerate.
16648
16649 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
16650
16651 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
16652 consecutive accesses within outer-loop with force_vectorize
16653 for references with zero step in inner-loop.
16654
16655 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
16656
16657 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
16658 rather than from gcc/build directory.
16659
16660 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
16661
16662 PR target/65697
16663 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
16664 for __sync memory models, emit initial loads and final barriers as
16665 appropriate.
16666
16667 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
16668
16669 PR target/65697
16670 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
16671 (aarch64_split_atomic_op): Check for __sync memory models, emit
16672 appropriate initial loads and final barriers.
16673
16674 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
16675
16676 * Makefile.in: Fix gcov dependencies that should
16677 not point to a build folder.
16678
16679 2015-06-01 Richard Biener <rguenther@suse.de>
16680
16681 Revert
16682 2015-05-29 Richard Biener <rguenther@suse.de>
16683
16684 PR tree-optimization/66314
16685 * tree-ssa-threadupdate.c (create_block_for_threading): Add
16686 parameter that says which loop the new block belongs to.
16687 (ssa_create_duplicates): Blocks duplicated for the threaded
16688 path belong to the loop of the thread destination.
16689
16690 2015-06-01 Martin Liska <mliska@suse.cz>
16691
16692 * sched-deps.c: Include pool-alloc.h before
16693 cselib.h header file is included.
16694
16695 2015-06-01 Richard Biener <rguenther@suse.de>
16696
16697 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
16698 functions.
16699
16700 2015-06-01 Martin Liska <mliska@suse.cz>
16701
16702 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
16703 a function local variable.
16704
16705 2015-06-01 Martin Liska <mliska@suse.cz>
16706
16707 * alloc-pool.c (create_alloc_pool): Remove.
16708 (empty_alloc_pool): Likewise.
16709 (free_alloc_pool): Likewise.
16710 (free_alloc_pool_if_empty): Likewise.
16711 (pool_alloc): Likewise.
16712 (pool_free): Likewise.
16713 * alloc-pool.h: Remove old declarations.
16714
16715 2015-06-01 Martin Liska <mliska@suse.cz>
16716
16717 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
16718 (ira_create_object): Likewise.
16719 (ira_create_allocno): Likewise.
16720 (ira_create_live_range): Likewise.
16721 (copy_live_range): Likewise.
16722 (ira_finish_live_range): Likewise.
16723 (ira_free_allocno_costs): Likewise.
16724 (finish_allocno): Likewise.
16725 (finish_allocnos): Likewise.
16726 (initiate_prefs): Likewise.
16727 (ira_create_pref): Likewise.
16728 (finish_pref): Likewise.
16729 (finish_prefs): Likewise.
16730 (initiate_copies): Likewise.
16731 (ira_create_copy): Likewise.
16732 (finish_copy): Likewise.
16733 (finish_copies): Likewise.
16734 (finish_prefs): Likewise.
16735
16736 2015-06-01 Martin Liska <mliska@suse.cz>
16737
16738 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
16739 (allocate_and_init_ipcp_value): Likewise.
16740 (ipcp_lattice::add_value): Likewise.
16741 (merge_agg_lats_step): Likewise.
16742 (ipcp_driver): Likewise.
16743 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
16744 (ipa_free_all_structures_after_iinln): Likewise.
16745 * ipa-prop.h: Likewise.
16746
16747 2015-06-01 Martin Liska <mliska@suse.cz>
16748
16749 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
16750 pool allocator.
16751 (set_hint_predicate): Likewise.
16752 (inline_summary_alloc): Likewise.
16753 (reset_inline_edge_summary): Likewise.
16754 (reset_inline_summary): Likewise.
16755 (set_cond_stmt_execution_predicate): Likewise.
16756 (set_switch_stmt_execution_predicate): Likewise.
16757 (compute_bb_predicates): Likewise.
16758 (estimate_function_body_sizes): Likewise.
16759 (inline_free_summary): Likewise.
16760
16761 2015-06-01 Martin Liska <mliska@suse.cz>
16762
16763 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
16764 (ipa_edge_duplication_hook): Likewise.
16765 (ipa_free_all_structures_after_ipa_cp): Likewise.
16766 (ipa_free_all_structures_after_iinln): Likewise.
16767
16768 2015-06-01 Martin Liska <mliska@suse.cz>
16769
16770 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
16771 (ipa_profile_generate_summary): Likewise.
16772 (ipa_profile_read_summary): Likewise.
16773 (ipa_profile): Likewise.
16774
16775 2015-06-01 Martin Liska <mliska@suse.cz>
16776
16777 * tree-ssa-structalias.c (new_var_info): Use new type-based
16778 pool allocator.
16779 (new_constraint): Likewise.
16780 (init_alias_vars): Likewise.
16781 (delete_points_to_sets): Likewise.
16782
16783 2015-06-01 Martin Liska <mliska@suse.cz>
16784
16785 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
16786 (free_strinfo): Likewise.
16787 (pass_strlen::execute): Likewise.
16788
16789 2015-06-01 Martin Liska <mliska@suse.cz>
16790
16791 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
16792 pool allocator.
16793 (vn_reference_insert_pieces): Likewise.
16794 (vn_phi_insert): Likewise.
16795 (visit_reference_op_call): Likewise.
16796 (copy_phi): Likewise.
16797 (copy_reference): Likewise.
16798 (process_scc): Likewise.
16799 (allocate_vn_table): Likewise.
16800 (free_vn_table): Likewise.
16801
16802 2015-06-01 Martin Liska <mliska@suse.cz>
16803
16804 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
16805 pool allocator.
16806 (add_repeat_to_ops_vec): Likewise.
16807 (get_ops): Likewise.
16808 (maybe_optimize_range_tests): Likewise.
16809 (init_reassoc): Likewise.
16810 (fini_reassoc): Likewise.
16811
16812 2015-06-01 Martin Liska <mliska@suse.cz>
16813
16814 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
16815 pool allocator.
16816 (bitmap_set_new): Likewise.
16817 (get_or_alloc_expr_for_constant): Likewise.
16818 (get_or_alloc_expr_for): Likewise.
16819 (phi_translate_1): Likewise.
16820 (compute_avail): Likewise.
16821 (init_pre): Likewise.
16822 (fini_pre): Likewise.
16823
16824 2015-06-01 Martin Liska <mliska@suse.cz>
16825
16826 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
16827 (delete_dep_node): Likewise.
16828 (create_deps_list): Likewise.
16829 (free_deps_list): Likewise.
16830 (sched_deps_init): Likewise.
16831 (sched_deps_finish): Likewise.
16832
16833 2015-06-01 Martin Liska <mliska@suse.cz>
16834
16835 * regcprop.c (free_debug_insn_changes): Use new type-based
16836 pool allocator.
16837 (replace_oldest_value_reg): Likewise.
16838 (pass_cprop_hardreg::execute): Likewise.
16839
16840 2015-06-01 Martin Liska <mliska@suse.cz>
16841
16842 * ira-build.c (initiate_cost_vectors): Use new type-based
16843 pool allocator.
16844 (ira_allocate_cost_vector): Likewise.
16845 (ira_free_cost_vector): Likewise.
16846 (finish_cost_vectors): Likewise.
16847
16848 2015-06-01 Martin Liska <mliska@suse.cz>
16849
16850 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
16851 pool allocator.
16852 (free_sched_pools): Likewise.
16853 * sel-sched-ir.h (_list_alloc): Likewise.
16854 (_list_remove): Likewise.
16855
16856 2015-06-01 Martin Liska <mliska@suse.cz>
16857
16858 * stmt.c (add_case_node): Use new type-based pool allocator.
16859 (expand_case): Likewise.
16860 (expand_sjlj_dispatch_table): Likewise.
16861
16862 2015-06-01 Martin Liska <mliska@suse.cz>
16863
16864 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
16865 (free_bb): Likewise.
16866 (pass_cse_reciprocals::execute): Likewise.
16867
16868 2015-06-01 Martin Liska <mliska@suse.cz>
16869
16870 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
16871 (sra_deinitialize) Likewise.
16872 (create_access_1) Likewise.
16873 (build_accesses_from_assign) Likewise.
16874 (create_artificial_child_access) Likewise.
16875
16876 2015-06-01 Martin Liska <mliska@suse.cz>
16877
16878 * dse.c (get_group_info):Use new type-based pool allocator.
16879 (dse_step0) Likewise.
16880 (free_store_info) Likewise.
16881 (delete_dead_store_insn) Likewise.
16882 (free_read_records) Likewise.
16883 (record_store) Likewise.
16884 (replace_read) Likewise.
16885 (check_mem_read_rtx) Likewise.
16886 (scan_insn) Likewise.
16887 (dse_step1) Likewise.
16888 (dse_step7) Likewise.
16889
16890 2015-06-01 Martin Liska <mliska@suse.cz>
16891
16892 * df-scan.c (struct df_scan_problem_data):Use new type-based
16893 pool allocator.
16894 (df_scan_free_internal) Likewise.
16895 (df_scan_alloc) Likewise.
16896 (df_grow_reg_info) Likewise.
16897 (df_free_ref) Likewise.
16898 (df_insn_create_insn_record) Likewise.
16899 (df_mw_hardreg_chain_delete) Likewise.
16900 (df_insn_info_delete) Likewise.
16901 (df_free_collection_rec) Likewise.
16902 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
16903 (df_sort_and_compress_mws) Likewise.
16904 (df_ref_create_structure) Likewise.
16905 (df_ref_record) Likewise.
16906
16907 2015-06-01 Martin Liska <mliska@suse.cz>
16908
16909 * df-problems.c (df_chain_create):Use new type-based pool allocator.
16910 (df_chain_unlink_1) Likewise.
16911 (df_chain_unlink) Likewise.
16912 (df_chain_remove_problem) Likewise.
16913 (df_chain_alloc) Likewise.
16914 (df_chain_free) Likewise.
16915 * df.h (struct dataflow) Likewise.
16916
16917 2015-06-01 Martin Liska <mliska@suse.cz>
16918
16919 * cselib.c (new_elt_list):Use new type-based pool allocator.
16920 (new_elt_loc_list) Likewise.
16921 (unchain_one_elt_list) Likewise.
16922 (unchain_one_elt_loc_list) Likewise.
16923 (unchain_one_value) Likewise.
16924 (new_cselib_val) Likewise.
16925 (cselib_init) Likewise.
16926 (cselib_finish) Likewise.
16927
16928 2015-06-01 Martin Liska <mliska@suse.cz>
16929
16930 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
16931 (sh_reorg) Likewise.
16932
16933 2015-06-01 Martin Liska <mliska@suse.cz>
16934
16935 * cfg.c (initialize_original_copy_tables):Use new type-based
16936 pool allocator.
16937 (free_original_copy_tables) Likewise.
16938 (copy_original_table_clear) Likewise.
16939 (copy_original_table_set) Likewise.
16940
16941 2015-06-01 Martin Liska <mliska@suse.cz>
16942
16943 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
16944 pool allocator.
16945 (asan_mem_ref_new) Likewise.
16946 (free_mem_ref_resources) Likewise.
16947
16948 2015-06-01 Martin Liska <mliska@suse.cz>
16949
16950 * var-tracking.c (variable_htab_free):Use new type-based
16951 pool allocator.
16952 (attrs_list_clear) Likewise.
16953 (attrs_list_insert) Likewise.
16954 (attrs_list_copy) Likewise.
16955 (shared_hash_unshare) Likewise.
16956 (shared_hash_destroy) Likewise.
16957 (unshare_variable) Likewise.
16958 (var_reg_delete_and_set) Likewise.
16959 (var_reg_delete) Likewise.
16960 (var_regno_delete) Likewise.
16961 (drop_overlapping_mem_locs) Likewise.
16962 (variable_union) Likewise.
16963 (insert_into_intersection) Likewise.
16964 (canonicalize_values_star) Likewise.
16965 (variable_merge_over_cur) Likewise.
16966 (dataflow_set_merge) Likewise.
16967 (remove_duplicate_values) Likewise.
16968 (variable_post_merge_new_vals) Likewise.
16969 (dataflow_set_preserve_mem_locs) Likewise.
16970 (dataflow_set_remove_mem_locs) Likewise.
16971 (variable_from_dropped) Likewise.
16972 (variable_was_changed) Likewise.
16973 (set_slot_part) Likewise.
16974 (clobber_slot_part) Likewise.
16975 (delete_slot_part) Likewise.
16976 (loc_exp_insert_dep) Likewise.
16977 (notify_dependents_of_changed_value) Likewise.
16978 (emit_notes_for_differences_1) Likewise.
16979 (vt_emit_notes) Likewise.
16980 (vt_initialize) Likewise.
16981 (vt_finalize) Likewise.
16982
16983 2015-06-01 Martin Liska <mliska@suse.cz>
16984
16985 * ira-color.c (init_update_cost_records):Use new type-based
16986 pool allocator.
16987 (get_update_cost_record) Likewise.
16988 (free_update_cost_record_list) Likewise.
16989 (finish_update_cost_records) Likewise.
16990 (initiate_cost_update) Likewise.
16991
16992 2015-06-01 Martin Liska <mliska@suse.cz>
16993
16994 * lra.c (init_insn_regs): Use new type-based pool allocator.
16995 (new_insn_reg) Likewise.
16996 (free_insn_reg) Likewise.
16997 (free_insn_regs) Likewise.
16998 (finish_insn_regs) Likewise.
16999 (init_insn_recog_data) Likewise.
17000 (init_reg_info) Likewise.
17001 (finish_reg_info) Likewise.
17002 (lra_free_copies) Likewise.
17003 (lra_create_copy) Likewise.
17004 (invalidate_insn_data_regno_info) Likewise.
17005
17006 2015-06-01 Martin Liska <mliska@suse.cz>
17007
17008 * lra-lives.c (free_live_range): Use new type-based pool allocator.
17009 (free_live_range_list) Likewise.
17010 (create_live_range) Likewise.
17011 (copy_live_range) Likewise.
17012 (lra_merge_live_ranges) Likewise.
17013 (remove_some_program_points_and_update_live_ranges) Likewise.
17014 (lra_live_ranges_init) Likewise.
17015 (lra_live_ranges_finish) Likewise.
17016
17017 2015-06-01 Martin Liska <mliska@suse.cz>
17018
17019 * et-forest.c (et_new_occ): Use new type-based pool allocator.
17020 (et_new_tree): Likewise.
17021 (et_free_tree): Likewise.
17022 (et_free_tree_force): Likewise.
17023 (et_free_pools): Likewise.
17024 (et_split): Likewise.
17025
17026 2015-06-01 Martin Liska <mliska@suse.cz>
17027
17028 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
17029 to header file.
17030 * alloc-pool.h (pool_allocator::pool_allocator): New function.
17031 (pool_allocator::release): Likewise.
17032 (inline pool_allocator::release_if_empty): Likewise.
17033 (inline pool_allocator::~pool_allocator): Likewise.
17034 (pool_allocator::allocate): Likewise.
17035 (pool_allocator::remove): Likewise.
17036
17037 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
17038
17039 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
17040 in comment.
17041
17042 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
17043
17044 * gcc/config/arm/arm-protos.h (tune_params): Rename fuseable_ops
17045 to fusible_ops.
17046 * gcc/config/arm/arm.c (arm_print_tune_info): Likewise.
17047 (arm_macro_fusion_p): Likewise.
17048 (arm_macro_fusion_pair_p): Likewise.
17049
17050 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
17051
17052 * config/aarch64/aarch64-protos.h (tune_params): Rename
17053 fuseable_ops to fusible_ops.
17054 * config/aarch64/aarch64.c (generic_tunings): Rename
17055 fuseable_ops to fusible_ops.
17056 (cortexa53_tunings): Likewise.
17057 (cortexa57_tunings): Likewise.
17058 (thunderx_tunings): Likewise.
17059 (xgene1_tunings): Likewise.
17060 (aarch64_macro_fusion_p): Likewise.
17061 (aarch64_macro_fusion_pair_p): Likewise.
17062
17063 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
17064
17065 * config/s390/driver-native.c: New file.
17066 * config/s390/x-native: New file.
17067 * config.host: Add new files for s390.
17068 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
17069 and -march=native
17070 * config.gcc: Likewise.
17071 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
17072 * config/s390/s390-opts.h (enum processor_type): Ditto.
17073 * config/s390/s390.c (s390_option_override): Catch unhandled
17074 PROCESSOR_NATIVE
17075
17076 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
17077
17078 PR target/65527
17079 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
17080 redirection for instrumented calls.
17081 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
17082 (append_compiler_options): Append -fcheck-pointer-bounds.
17083 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
17084 (chkp_redirect_edge): New.
17085 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
17086 (chkp_redirect_edge): New.
17087
17088 2015-06-01 Richard Biener <rguenther@suse.de>
17089
17090 PR tree-optimization/66280
17091 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
17092 def-use walking.
17093
17094 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17095
17096 * config/aarch64/aarch64.md
17097 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
17098 logic_shift_imm.
17099
17100 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
17101
17102 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
17103 Remove obsolete kludge.
17104
17105 2015-06-01 Richard Biener <rguenther@suse.de>
17106
17107 * tree-ssa-reassoc.c (get_rank): Simplify.
17108
17109 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
17110
17111 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
17112 * configure: Regenerated.
17113
17114 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
17115
17116 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
17117 issue (add space between string literal and macro).
17118 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
17119
17120 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
17121
17122 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
17123 implict or explicit -fPIE or -fpie.
17124
17125 2015-05-30 Mike Frysinger <vapier@gentoo.org>
17126
17127 * gcc/config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
17128
17129 2015-05-28 DJ Delorie <dj@redhat.com>
17130
17131 * expmed.c (extract_bit_field_1): Avoid clobbering a
17132 yet-to-be-used base/index register.
17133
17134 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
17135
17136 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
17137 (alias_stats): Add num_universal.
17138 (alias_set_subset_of): Special case pointers; be ready for NULL
17139 children.
17140 (alias_sets_conflict_p): Special case pointers; be ready for NULL
17141 children.
17142 (init_alias_set_entry): Break out from ...
17143 (record_alias_subset): ... here; propagate new fields;
17144 allocate children only when really needed.
17145 (get_alias_set): Do less generous pointer globbing.
17146 (dump_alias_stats_in_alias_c): Update statistics.
17147
17148 2015-05-30 Alan Modra <amodra@gmail.com>
17149
17150 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
17151 correct block for use of r12.
17152 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
17153
17154 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
17155
17156 PR target/66215
17157 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
17158 with -mhotpatch=.
17159
17160 2015-05-29 Jakub Jelinek <jakub@redhat.com>
17161
17162 PR tree-optimization/66142
17163 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
17164 virtual phis that feed themselves.
17165
17166 2015-05-29 Richard Biener <rguenther@suse.de>
17167
17168 PR tree-optimization/66314
17169 * tree-ssa-threadupdate.c (create_block_for_threading): Add
17170 parameter that says which loop the new block belongs to.
17171 (ssa_create_duplicates): Blocks duplicated for the threaded
17172 path belong to the loop of the thread destination.
17173
17174 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17175
17176 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
17177 to cleanup-saved-temps.
17178 * doc/sourcebuild.texi (Clean up generated test files): Expand
17179 introduction.
17180 (dg-keep-saved-temps): Document new proc.
17181 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
17182 cleanup-saved-temps): Remove.
17183
17184 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
17185
17186 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
17187 gcc_AC_CHECK_DECLS.
17188 * configure: Regenerate.
17189
17190 2015-05-28 Mike Frysinger <vapier@gentoo.org>
17191
17192 * config/nios2/linux.h (CPP_SPEC): Define.
17193
17194 2015-05-28 Mike Frysinger <vapier@gentoo.org>
17195
17196 * config/microblaze/linux.h (CPP_SPEC): Define.
17197
17198 2015-05-28 Mike Frysinger <vapier@gentoo.org>
17199
17200 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
17201 -pthread is specified.
17202
17203 2015-05-28 Richard Biener <rguenther@suse.de>
17204
17205 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
17206 (vect_fixup_scalar_cycles_with_patterns): Likewise.
17207 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
17208 after pattern recog.
17209 (vect_create_epilog_for_reduction): Properly handle reductions
17210 with patterns.
17211 (vectorizable_reduction): Likewise.
17212 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
17213 reduction chains.
17214 (vect_get_constant_vectors): Create the correct number of
17215 initial values for reductions.
17216 (vect_schedule_slp_instance): Handle reduction chains that are
17217 type changing properly.
17218 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
17219
17220 2015-05-28 Richard Biener <rguenther@suse.de>
17221
17222 PR tree-optimization/66142
17223 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
17224 values better in memcpy destination handling. Handle non-aliasing
17225 we discover here.
17226
17227 2015-05-28 Lawrence Velázquez <vq@larryv.me>
17228
17229 PR target/63810
17230 * config/darwin-c.c (version_components): New global enum.
17231 (parse_version, version_as_legacy_macro)
17232 (version_as_modern_macro, macosx_version_as_macro): New functions.
17233 (version_as_macro): Remove.
17234 (darwin_cpp_builtins): Use new function.
17235
17236 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
17237
17238 * builtins.c (expand_builtin_acc_on_device): Mark parameters
17239 with ATTRIBUTE_UNUSED.
17240
17241 2015-05-28 Julian Brown <julian@codesourcery.com>
17242
17243 PR libgomp/65742
17244
17245 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
17246 sequence for !ACCEL_COMPILER.
17247
17248 2015-05-28 Nick Clifton <nickc@redhat.com>
17249
17250 * config/rx/rx.c (push_regs): New function. Extracts code from...
17251 (rx_expand_prologue): ... here. Use push_regs to push even small
17252 spans of registers.
17253 (pop_regs): New function.
17254 (rx_expand_epilogue): Use pop_regs to pop even small spans of
17255 registers.
17256
17257 2015-05-28 Richard Biener <rguenther@suse.de>
17258
17259 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
17260 member.
17261 (SLP_INSTANCE_BODY_COST_VEC): Remove.
17262 (vect_update_slp_costs_according_to_vf): Likewise.
17263 (vect_slp_analyze_operations): Update prototype.
17264 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
17265 vect_update_slp_costs_according_to_vf, adjust.
17266 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
17267 (vect_analyze_slp_cost_1): Likewise.
17268 (vect_analyze_slp_cost): Likewise. Properly deal with
17269 widening reduction ops. Commit body costs.
17270 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
17271 cost for loops from here.
17272 (vect_slp_analyze_operations): But do it from here when
17273 the vectorization factor is known and stmts are analyzed.
17274 (vect_bb_vectorization_profitable_p): Simplify.
17275 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
17276 (vect_update_slp_costs_according_to_vf): Remove.
17277
17278 2015-05-27 Magnus Granberg <zorry@gentoo.org>
17279 H.J. Lu <hongjiu.lu@intel.com>
17280
17281 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
17282 (BUILD_CFLAGS): Likewise.
17283 (BUILD_CXXFLAGS): Likewise.
17284 (LINKER): Add @NO_PIE_FLAG@.
17285 (BUILD_LDFLAGS): Likewise.
17286 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
17287 --enable-default-pie.
17288 * common.opt (fPIE): Initialize to -1.
17289 (fpie): Likewise.
17290 (no-pie): New option.
17291 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
17292 * configure.ac: Add --enable-default-pie.
17293 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
17294 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
17295 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
17296 * gcc.c (NO_PIE_SPEC): New.
17297 (PIE_SPEC): Likewise.
17298 (NO_FPIE1_SPEC): Likewise.
17299 (FPIE1_SPEC): Likewise.
17300 (NO_FPIE2_SPEC): Likewise.
17301 (FPIE2_SPEC): Likewise.
17302 (NO_FPIE2_SPEC): Likewise.
17303 (FPIE_SPEC): Likewise.
17304 (NO_FPIE_SPEC): Likewise.
17305 (NO_FPIC1_SPEC): Likewise.
17306 (FPIC1_SPEC): Likewise.
17307 (NO_FPIC2_SPEC): Likewise.
17308 (FPIC2_SPEC): Likewise.
17309 (NO_FPIC2_SPEC): Likewise.
17310 (FPIC_SPEC): Likewise.
17311 (NO_FPIC_SPEC): Likewise.
17312 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
17313 (FPIE1_OR_FPIC1_SPEC): Likewise.
17314 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
17315 (FPIE2_OR_FPIC2_SPEC): Likewise.
17316 (NO_FPIE_AND_FPIC_SPEC): Likewise.
17317 (FPIE_OR_FPIC_SPEC): Likewise.
17318 (LD_PIE_SPEC): Likewise.
17319 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
17320 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
17321 * config/darwin.h (PIE_SPEC): Renamed to ...
17322 (DARWIN_PIE_SPEC): This.
17323 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
17324 * config/darwin9.h (PIE_SPEC): Renamed to ...
17325 (DARWIN_PIE_SPEC): This.
17326 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
17327 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
17328 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
17329 FPIE2_OR_FPIC2_SPEC.
17330 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
17331 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
17332 * gcc/config/sol2.h (ASM_PIC_SPEC): Likewise.
17333 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
17334 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
17335 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
17336 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
17337 * config/m32r/m32r.h (ASM_SPEC): Likewise.
17338 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
17339 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
17340 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
17341 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
17342 * config/sparc/linux.h (ASM_SPEC): Likewise.
17343 * config/sparc/linux64.h (ASM_SPEC): Likewise.
17344 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
17345 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
17346 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
17347 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
17348 * config/sparc/sparc.h (ASM_SPEC): Likewise.
17349 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
17350 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
17351 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
17352 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
17353 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
17354 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
17355 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
17356 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
17357 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
17358 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
17359 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
17360 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
17361 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
17362 * config/vax/linux.h (ASM_SPEC): Likewise.
17363 * doc/install.texi: Document --enable-default-pie.
17364 * doc/invoke.texi: Document -no-pie.
17365 * config.in: Regenerated.
17366 * configure: Likewise.
17367
17368 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
17369
17370 PR rtl-optimization/66168
17371 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
17372 can_move_invariant_reg.
17373
17374 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
17375
17376 PR target/66148
17377 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
17378 REG_EQUAL note when doing insert.
17379
17380 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
17381 instead of "%d" for 'o' operand.
17382
17383 2015-05-27 Nathan Sidwell <nathan@acm.org>
17384
17385 PR c++/66270
17386 * tree.c (build_pointer_type_for_mode): Canonical type does not
17387 inherit can_alias_all.
17388 (build_reference_type_for_mode): Likewise.
17389
17390 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
17391
17392 * expr.h (array_at_struct_end_p): Move to...
17393 (array_ref_element_size): Likewise.
17394 (component_ref_field_offset): Likewise.
17395 * tree.h (array_ref_element_size): ...here.
17396 (array_at_struct_end_p): Likewise.
17397 (component_ref_field_offset): Likewise.
17398 * expr.c (array_ref_element_size): Move to...
17399 (array_ref_low_bound): Likewise.
17400 (array_at_struct_end_p): Likewise.
17401 (array_ref_up_bound): Likewise.
17402 (component_ref_field_offset): Likewise.
17403 * tree.c (array_ref_element_size): ...here.
17404 (array_ref_low_bound): Likewise.
17405 (array_ref_up_bound): Likewise.
17406 (array_at_struct_end_p): Likewise.
17407 (component_ref_field_offset): Likewise.
17408
17409 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
17410 Szabolcs Nagy <szabolcs.nagy@arm.com>
17411
17412 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
17413
17414 2015-05-27 Jason Merrill <jason@redhat.com>
17415
17416 PR bootstrap/66304
17417 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
17418 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
17419 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
17420
17421 2015-05-22 Aditya Kumar <hiraditya@msn.com>
17422
17423 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
17424 is true.
17425
17426 * statistics.c (statistics_fini_pass): Print pass name.
17427
17428 2015-05-27 Richard Biener <rguenther@suse.de>
17429
17430 PR tree-optimization/66272
17431 Revert parts of
17432 2014-08-15 Richard Biener <rguenther@suse.de>
17433
17434 PR tree-optimization/62031
17435 * tree-data-ref.c (dr_analyze_indices): Do not set
17436 DR_UNCONSTRAINED_BASE.
17437 (dr_may_alias_p): All indirect accesses have to go the
17438 formerly DR_UNCONSTRAINED_BASE path.
17439 * tree-data-ref.h (struct indices): Remove
17440 unconstrained_base member.
17441 (DR_UNCONSTRAINED_BASE): Remove.
17442
17443 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
17444
17445 * dwarf2out.c: Remove block_map.
17446 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
17447 (gen_lexical_block_die): Same.
17448 (dwarf2out_function_decl): Remove block_map use.
17449 (dwarf2out_c_finalize): Same.
17450 * tree-core.h (struct tree_block): Add die field.
17451 * tree.h (BLOCK_DIE): New.
17452
17453 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17454
17455 PR target/65358
17456 * expr.c (memory_load_overlap): New function.
17457 (emit_push_insn): When pushing partial args to the stack would
17458 clobber the register part load the overlapping part into a pseudo
17459 and put it into the hard reg after pushing. Change return type
17460 to bool. Add bool argument.
17461 * expr.h (emit_push_insn): Change return type to bool.
17462 Add bool argument.
17463 * calls.c (expand_call): Cancel sibcall optimization when encountering
17464 partial argument on targets with ARGS_GROW_DOWNWARD and
17465 !STACK_GROWS_DOWNWARD.
17466 (emit_library_call_value_1): Update callsite of emit_push_insn.
17467 (store_one_arg): Likewise.
17468
17469 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
17470
17471 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
17472
17473 2015-05-27 Martin Liska <mliska@suse.cz>
17474
17475 * Makefile.in: Add additional dependencies related to memory report
17476 enhancement.
17477 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
17478 * bitmap.c (struct bitmap_descriptor_d): Remove.
17479 (struct loc): Likewise.
17480 (struct bitmap_desc_hasher): Likewise.
17481 (bitmap_desc_hasher::hash): Likewise.
17482 (bitmap_desc_hasher::equal): Likewise.
17483 (get_bitmap_descriptor): Likewise.
17484 (bitmap_register): User new memory descriptor API.
17485 (register_overhead): Likewise.
17486 (bitmap_find_bit): Register nsearches and search_iter statistics.
17487 (struct bitmap_output_info): Remove.
17488 (print_statistics): Likewise.
17489 (dump_bitmap_statistics): Use new memory descriptor.
17490 * bitmap.h (struct bitmap_usage): New class.
17491 * genmatch.c: Extend header file inclusion.
17492 * genpreds.c: Likewise.
17493 * ggc-common.c (struct ggc_usage): New class.
17494 (struct ggc_loc_desc_hasher): Remove.
17495 (ggc_loc_desc_hasher::hash): Likewise.
17496 (ggc_loc_desc_hasher::equal): Likewise.
17497 (struct ggc_ptr_hash_entry): Likewise.
17498 (struct ptr_hash_hasher): Likewise.
17499 (ptr_hash_hasher::hash): Likewise.
17500 (ptr_hash_hasher::equal): Likewise.
17501 (make_loc_descriptor): Likewise.
17502 (ggc_prune_ptr): Likewise.
17503 (dump_ggc_loc_statistics): Use new memory descriptor.
17504 (ggc_record_overhead): Likewise.
17505 (ggc_free_overhead): Likewise.
17506 (final_cmp_statistic): Remove.
17507 (cmp_statistic): Likewise.
17508 (ggc_add_statistics): Liekwise.
17509 (ggc_prune_overhead_list): Likewise.
17510 * hash-map-traits.h: New file.
17511 * hash-map.h (struct default_hashmap_traits): Move the traits to a
17512 separate header file.
17513 * hash-set.h: Pass memory statistics info to ctor.
17514 * hash-table.c (void dump_hash_table_loc_statistics): New function.
17515 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
17516 (hash_table::~hash_table): Register memory release operation.
17517 (hash_table::alloc_entries): Handle memory allocation operation.
17518 (hash_table::expand): Likewise.
17519 * inchash.c (iterative_hash_hashval_t): Move implementation to header
17520 file.
17521 (iterative_hash_host_wide_int): Likewise.
17522 * inchash.h (class hash): Likewise.
17523 * mem-stats-traits.h: New file.
17524 * mem-stats.h: New file.
17525 (mem_location): Add new class.
17526 (mem_usage): Likewise.
17527 (mem_alloc_description): Likewise.
17528 * sese.c: Add new header file inclusision.
17529 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
17530 and hash_set.
17531 * tree-sra.c: Add new header file inclusision.
17532 * vec.c (struct vec_descriptor): Remove.
17533 (hash_descriptor): Likewise.
17534 (struct vec_usage): Likewise.
17535 (struct ptr_hash_entry): Likewise.
17536 (hash_ptr): Likewise.
17537 (eq_ptr): Likewise.
17538 (vec_prefix::register_overhead): Use new memory descriptor API.
17539 (vec_prefix::release_overhead): Likewise.
17540 (add_statistics): Remove.
17541 (dump_vec_loc_statistics): Use new memory descriptor API.
17542 * vec.h (struct vec_prefix): Likewise.
17543 (va_heap::reserve): Likewise.
17544 (va_heap::release): Likewise.
17545 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
17546
17547 2015-05-27 Richard Biener <rguenther@suse.de>
17548
17549 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
17550 earlier and remove ??? comment.
17551 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
17552 and got called from loop analysis bail out. Always pass the SLP
17553 node to the vectorizable_* functions.
17554 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
17555 the premature SLP check here.
17556 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
17557 detected SLP stmts.
17558 (vect_detect_hybrid_slp_1): Likewise.
17559
17560 2015-05-26 Jeff Law <law@redhat.com>
17561
17562 * combine.c (find_split_point): Verify that the shift count is a
17563 constant when choosing (plus (ashift ...)) as a split point.
17564
17565 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
17566 No functional changes.
17567
17568 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
17569
17570 * ipa-polymorphic-call.c
17571 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
17572 case when call target is already known.
17573
17574 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
17575
17576 PR target/65979
17577 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
17578 take into account the case that operands[1] and operands[2]
17579 are the same register.
17580
17581 2015-05-26 Michael Matz <matz@suse.de>
17582
17583 PR middle-end/66251
17584
17585 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
17586 stores.
17587 (vect_create_vectorized_demotion_stmts): Always set
17588 STMT_VINFO_VEC_STMT, also with SLP.
17589 (vectorizable_store): Handle strided group stores.
17590
17591 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
17592
17593 PR target/66049
17594 * config/aarch64/aarch64.md
17595 (*adds_shift_imm_<mode>): New pattern.
17596 (*subs_shift_imm_<mode>): Likewise.
17597 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
17598 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
17599 (*add_uxt<mode>_shift2): Likewise.
17600 (*add_uxtsi_shift2_uxtw): Likewise.
17601 (*sub_uxt<mode>_shift2): Likewise.
17602 (*sub_uxtsi_shift2_uxtw): Likewise.
17603
17604 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
17605
17606 * config/rs6000/constraints.md (Y, U): Use match_test.
17607
17608 2015-05-26 Christian Bruel <christian.bruel@st.com>
17609
17610 PR target/52144
17611 * config/arm/arm.c (arm_option_check_internal)
17612 (arm_option_params_internal): Check opts->target_flags to set macros.
17613 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
17614 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
17615 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
17616 (builtin_define): Replaced with def_or_undef_macro.
17617 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
17618 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
17619 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
17620 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
17621 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
17622 (TARGET_ARM_FEATURE_LDREX_P)
17623 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
17624 * config/arm/arm-c.c (def_or_undef_macro): New function.
17625 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
17626
17627 2015-05-26 Christian Bruel <christian.bruel@st.com>
17628
17629 * c-common.h (builtin_define_with_int_value)
17630 (builtin_define_type_sizeof): Declare.
17631 * c-cppbuiltin.c (builtin_define_with_int_value)
17632 (builtin_define_type_sizeof): Externalize.
17633 (builtin_define_std): Cleanup declaration.
17634 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
17635 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
17636 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
17637 (builtin_define, builtin_assert): New macros.
17638
17639 2015-05-26 Richard Biener <rguenther@suse.de>
17640
17641 PR tree-optimization/66142
17642 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
17643 MEM_REFs for the same base address.
17644
17645 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
17646
17647 PR ipa/66181
17648 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
17649
17650 2015-05-26 Jason Merrill <jason@redhat.com>
17651
17652 * configure.ac: Set CXXFLAGS for ISL test.
17653 * configure: Regenerate.
17654
17655 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
17656 strstr and basename.
17657 * configure: Regenerate.
17658
17659 2015-05-26 Richard Biener <rguenther@suse.de>
17660
17661 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
17662 X % C -> X & (C - 1) for C being a power-of two to ...
17663 * match.pd: ... patterns.
17664
17665 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
17666
17667 * match.pd (swapped_tcc_comparison): New operator list.
17668 (-A CMP -B): New simplification.
17669 * fold-const.c (fold_comparison): Remove corresponding code.
17670
17671 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
17672
17673 * caller-save.c (init_caller_save): Base temporary register numbers
17674 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
17675 * cfgloopanal.c (init_set_costs): Likewise.
17676 * dojump.c (prefer_and_bit_test): Likewise.
17677 * expr.c (init_expr_target): Likewise.
17678 * ira.c (setup_prohibited_mode_move_regs): Likewise.
17679 * lower-subreg.c (init_lower_subreg): Likewise.
17680 * postreload.c (reload_cse_regs_1): Likewise.
17681
17682 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
17683
17684 * gensupport.h (compute_test_codes): Declare.
17685 * gensupport.c (compute_predicate_codes): Rename to...
17686 (compute_test_codes): ...this. Generalize error message.
17687 (process_define_predicate): Update accordingly.
17688 * genpreds.c (compute_maybe_allows): Delete.
17689 (add_constraint): Use compute_test_codes to determine whether
17690 something can accept a SUBREG, REG or MEM.
17691
17692 2015-05-26 Torvald Riegel <triegel@redhat.com>
17693
17694 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
17695 'memory model' to align with C++11; fix description of memory orders;
17696 fix a few typos.
17697
17698 2015-05-26 Richard Biener <rguenther@suse.de>
17699
17700 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
17701 (vect_analyze_loop_operations): ... here. Remove slp parameter,
17702 detect whether we apply SLP. Remove call to
17703 vect_update_slp_costs_according_to_vf.
17704 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
17705 vect_update_slp_costs_according_to_vf from here. Dispatch
17706 to vect_slp_analyze_operations to analyze SLP stmts.
17707 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
17708 unused bb_vec_info parameter, adjust assert.
17709 (vect_slp_analyze_operations): Pass in the slp instance tree
17710 instead of bb_vec_info.
17711 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
17712 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
17713
17714 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
17715
17716 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
17717 Q_REGS. Expand comment.
17718 (REG_CLASS_NAMES): Ditto.
17719 (REG_CLASS_CONTENTS): Ditto.
17720
17721 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
17722
17723 PR target/66274
17724 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
17725 when LEGACY_INT_REGNO_P is processed.
17726
17727 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
17728
17729 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
17730
17731 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
17732
17733 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
17734 register if not marked dead/unused, before return.
17735
17736 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
17737
17738 PR lto/66180
17739 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
17740 is set; check for assembler name at LTO time.
17741 (type_in_anonymous_namespace): Remove hacks, check that all
17742 anonymous types are called "<anon>"
17743 (odr_type_p): Simplify; add check for "<anon>"
17744 (odr_subtypes_equivalent): Add odr_type_p check.
17745 * tree.c (need_assembler_name_p): Even anonymous namespace needs
17746 assembler name.
17747
17748 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
17749
17750 * ipa-utils.h (method_class_type): Remove.
17751 * cgraphunit.c (walk_polymorphic_call_targets): Use
17752 TYPE_METHOD_BASETYPE.
17753 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
17754 on main variants only.
17755 (method_class_type): Remove.
17756 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
17757 (build_type_inheritance_graph): Likewise.
17758 * ipa-icf.c (sem_function::equals_wpa): Likewise.
17759 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
17760 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
17761
17762 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
17763
17764 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
17765 is_typedef_decl, typedef_variant_p): Constify.
17766 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
17767 is_typedef_decl, typedef_variant_p): Constify.
17768
17769 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17770
17771 * defaults.h (gen_tablejump): New function.
17772 (HAVE_tablejump): Add default value.
17773 * expr.c: Adjust.
17774 * stmt.c: Likewise.
17775
17776 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17777
17778 * defaults.h (gen_store_multiple): New function.
17779 (HAVE_store_multiple): Add default value.
17780 * expr.c (move_block_from_reg): Adjust.
17781
17782 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17783
17784 * defaults.h (gen_load_multiple): New function.
17785 (HAVE_load_multiple): Add default value.
17786 * expr.c (move_block_to_reg): Adjust.
17787
17788 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17789
17790 * defaults.h (gen_mem_signal_fence): New function.
17791 (HAVE_mem_signal_fence): Add default value.
17792 * optabs.c: Adjust.
17793
17794 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17795
17796 * defaults.h (gen_memory_barrier): New function.
17797 (HAVE_memory_barrier): Add default value.
17798 * optabs.c: Adjust.
17799
17800 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17801
17802 * defaults.h (gen_mem_thread_fence): New function.
17803 (HAVE_mem_thread_fence): Add default definition.
17804 * optabs.c: Adjust.
17805
17806 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17807
17808 * combine.c (find_split_point): Check the value of HAVE_lo_sum
17809 instead of if it is defined.
17810 (combine_simplify_rtx): Likewise.
17811 * lra-constraints.c (process_address_1): Likewise.
17812 * config/darwin.c: Adjust.
17813 * genconfig.c (main): Always define HAVE_lo_sum.
17814
17815 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17816
17817 * genmatch.c (parser::parse_operation): Reject expanding
17818 operator-list inside 'for'.
17819
17820 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17821
17822 * genmatch.c (parser::parse_for): Reject iterator if used as
17823 operator-list.
17824
17825 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
17826
17827 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
17828 after end of id-list.
17829
17830 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
17831
17832 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
17833 we do not try to compute canonical type for type that does not need
17834 alias set.
17835 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
17836 FUNCITON_TYPE.
17837 * tree.h (type_with_alias_set_p): New.
17838
17839 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
17840
17841 * tree.c (gimple_canonical_types_compatible_p): Do not compare
17842 function attributes.
17843 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
17844
17845 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
17846
17847 * Makefile.in (check_gcc_parallelize): Delete.
17848 (lang_checks_parallelized): Update comment.
17849
17850 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
17851
17852 PR rtl-optimization/66237
17853 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
17854 location of an "as_a" cast.
17855
17856 2015-05-22 Jeff Law <law@redhat.com>
17857
17858 * config/pa/pa.md (non-canonical shift-add insns): Remove.
17859 (peepholes with non-canonical RTL sources): Remove.
17860 (peepholes for indexed stores of FP regs in integer modes): Match and
17861 generate canonical RTL.
17862
17863 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
17864
17865 PR tree-optimization/63387
17866 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
17867 ((x ord x) & (y ord y) -> (x ord y),
17868 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
17869 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
17870 vectors like scalars.
17871
17872 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
17873
17874 * convert.c (convert_to_integer, convert_to_vector): Include the
17875 types in the error message.
17876
17877 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
17878
17879 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
17880 simplifications.
17881
17882 2015-05-22 Jeff Law <law@redhat.com>
17883
17884 * config/pa/pa.md (integer_indexed_store splitters): Use
17885 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
17886 insns -- adjusting the constant 2nd operand accordingly.
17887
17888 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
17889 (plus (ashift X log2) Y) if it is a split point.
17890
17891 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
17892 out of hppa_legitimize_address to handle both forms of a multiply
17893 by 2, 4 or 8.
17894 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
17895 Always generate the ASHIFT variant as the result is not directly
17896 used in a MEM. Update comments and refactor slightly to improve
17897 readability.
17898
17899 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17900
17901 PR target/65491
17902 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
17903 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
17904 (aarch64_composite_type_p): Return false if given type and mode are
17905 for a short vector.
17906
17907 2015-05-22 Richard Biener <rguenther@suse.de>
17908
17909 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
17910 member.
17911 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
17912 patterns when determining whether SLP is pure.
17913 (vect_is_slp_reduction): Remove check for pattern stmts.
17914 (vect_is_simple_reduction_1): Remove dead code.
17915 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
17916 (vect_get_and_check_slp_defs): Pass in the stmt number.
17917 Allow the first def in a reduction to be not a pattern stmt when
17918 the rest of the stmts def are patterns.
17919 (vect_build_slp_tree_1): Allow tcc_expression codes like
17920 SAD_EXPR and DOT_PROD_EXPR.
17921 (vect_build_slp_tree): Adjust.
17922 (vect_analyze_slp): Refactor and move BB vect error message ...
17923 (vect_slp_analyze_bb_1): ... here.
17924
17925 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
17926
17927 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
17928 for CSWTCH temporary.
17929
17930 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17931
17932 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
17933 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
17934 unknown unspecs.
17935
17936 2015-05-22 Richard Biener <rguenther@suse.de>
17937
17938 PR tree-optimization/66251
17939 * tree-vect-stmts.c (vectorizable_conversion): Properly
17940 set STMT_VINFO_VEC_STMT even for the SLP case.
17941
17942 2015-05-22 Marek Polacek <polacek@redhat.com>
17943
17944 * doc/extend.texi: Use @pxref instead of @xref.
17945
17946 2015-05-22 hiraditya <hiraditya@msn.com>
17947
17948 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
17949 redundant if.
17950
17951 2015-05-22 Richard Biener <rguenther@suse.de>
17952
17953 PR tree-optimization/65701
17954 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
17955 Move peeling cost models into one place. Peel for alignment
17956 for single loads only if an aligned load is cheaper than
17957 an unaligned load.
17958
17959 2015-05-22 Marek Polacek <polacek@redhat.com>
17960
17961 PR c/47043
17962 * doc/extend.texi (Enumerator Attributes): New section.
17963 Document syntax of enumerator attributes.
17964
17965 2015-05-22 Richard Biener <rguenther@suse.de>
17966
17967 * tree-vect-loop.c (get_reduction_op): New function.
17968 (vect_model_reduction_cost): Use it, add reduc_index parameter.
17969 Make ready for BB reductions.
17970 (vect_create_epilog_for_reduction): Use get_reduction_op.
17971 (vectorizable_reduction): Init reduc_index to a valid value.
17972 Adjust vect_model_reduction_cost call.
17973 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
17974 operand for reduction defaults. Add SAD_EXPR support.
17975 Assert we have a neutral op for SLP reductions.
17976 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
17977 walking pattern stmt ops only recurse to SSA names.
17978
17979 2015-05-22 Richard Biener <rguenther@suse.de>
17980
17981 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
17982 assert with guard, remove check on detected reduction.
17983 (vect_recog_sad_pattern): Likewise.
17984 (vect_recog_widen_sum_pattern): Likewise.
17985
17986 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17987
17988 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
17989 __always_inline__ attribute.
17990 (vaesdq_u8): Likewise.
17991 (vaesmcq_u8): Likewise.
17992 (vaesimcq_u8): Likewise.
17993 (vsha1cq_u32): Likewise.
17994 (vsha1mq_u32): Likewise.
17995 (vsha1pq_u32): Likewise.
17996 (vsha1h_u32): Likewise.
17997 (vsha1su0q_u32): Likewise.
17998 (vsha1su1q_u32): Likewise.
17999 (vsha256hq_u32): Likewise.
18000 (vsha256h2q_u32): Likewise.
18001 (vsha256su0q_u32): Likewise.
18002 (vsha256su1q_u32): Likewise.
18003 (vmull_p64): Likewise.
18004 (vmull_high_p64): Likewise.
18005
18006 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18007
18008 * final.c (final_scan_insn): Don't check HAVE_peephole with the
18009 preprocessor.
18010 * output.h: Likewise.
18011 * genconfig.c (main): Alwways define HAVE_peephole.
18012 * genpeep.c: Don't emit checks of HAVE_peephole.
18013
18014 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18015
18016 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
18017 check HAVE_conditional_move with the preprocessor.
18018
18019 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18020
18021 * genconfig.c (main): Always define HAVE_conditional_move.
18022 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
18023 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
18024 is defined.
18025
18026 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18027
18028 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
18029 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
18030 and FRAME_POINTER_REGNUM with the preprocessor.
18031
18032 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18033
18034 * defaults.h: Add default for STACK_PUSH_CODE.
18035 * expr.c: Don't redefine STACK_PUSH_CODE.
18036 * recog.c: Likewise.
18037
18038 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18039
18040 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
18041 sched-deps.c: Use if instead of preprocessor checks with
18042 STACK_GROWS_DOWNWARD.
18043
18044 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18045
18046 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
18047 is defined.
18048 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
18049 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
18050 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
18051 * doc/tm.texi: Regenerate.
18052
18053 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
18054
18055 PR target/66232
18056 * config/i386/constraints.md (Bg): New constraint for GOT memory
18057 operand.
18058 * config/i386/i386.md (*call_got_x32): New pattern.
18059 (*call_value_got_x32): Likewise.
18060 * config/i386/predicates.md (GOT_memory_operand): New predicate.
18061
18062 2015-05-21 Jakub Jelinek <jakub@redhat.com>
18063
18064 PR tree-optimization/66233
18065 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
18066 Simplify.
18067
18068 2015-05-21 Jeff Law <law@redhat.com>
18069
18070 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
18071 than MULT for shadd sequences.
18072
18073 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
18074
18075 * alias.c (alias_stats): New static var.
18076 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
18077 (dump_alias_stats_in_alias_c): New function.
18078 * alias.h (dump_alias_stats_in_alias_c): Declare.
18079 * tree-ssa-alias.c (dump_alias_stats): Call it.
18080
18081 2015-05-08 Michael Matz <matz@suse.de>
18082
18083 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
18084 to strided_p.
18085 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
18086 (STMT_VINFO_STRIDED_P): ... this.
18087 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
18088 (vect_verify_datarefs_alignment): Likewise.
18089 (vect_enhance_data_refs_alignment): Likewise.
18090 (vect_analyze_data_ref_access): Likewise.
18091 (vect_analyze_data_refs): Accept strided stores.
18092 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
18093 (vect_model_load_cost): Adjust for macro rename.
18094 (vectorizable_mask_load_store): Likewise.
18095 (vectorizable_load): Likewise.
18096 (vectorizable_store): Open code strided stores.
18097
18098 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18099
18100 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
18101 Document sqrt_insn.
18102
18103 2015-05-21 Richard Biener <rguenther@suse.de>
18104
18105 PR c++/66211
18106 * match.pd: Guard pattern optimzing (int)(float)int
18107 conversions to apply only on GIMPLE.
18108
18109 2015-05-21 Jeff Law <law@redhat.com>
18110
18111 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
18112 multiply-accumulate/shift-add insn generation.
18113
18114 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
18115
18116 PR target/54236
18117 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
18118 operands[1] are the same.
18119
18120 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
18121
18122 PR middle-end/66221
18123 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
18124 build_distinct_type_copy to copy bounds.
18125
18126 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
18127
18128 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
18129 Change to unsigned int.
18130
18131 2015-05-20 Jeff Law <law@redhat.com>
18132
18133 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
18134 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
18135 (pa_shadd_constant_p): Allow constants for shadd insns rather
18136 than valid scaling constants for memory addresses.
18137 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
18138 * config/pa/predicates.md (mem_shadd_operand): New predicate.
18139 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
18140 (shift-add insns using ASHIFT): New patterns.
18141
18142 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
18143
18144 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
18145 feasible.
18146 (fix_up_fall_thru_edges): Likewise.
18147 (fix_crossing_conditional_branches): Likewise. Promote jump targets
18148 from to rtx_insn to rtx_code_label where feasible.
18149 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
18150 gen_move_insn (returned type changed to rtx_insn).
18151 * builtins.c (expand_errno_check): Fix arguments of
18152 do_compare_rtx_and_jump (now expects rtx_code_label).
18153 (expand_builtin_acc_on_device): Likewise.
18154 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
18155 invert_jump (now exprects rtx_jump_insn).
18156 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
18157 (construct_init_block): Use rtx_code_label.
18158 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
18159 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
18160 calling redirect_jump.
18161 (patch_jump_insn): Likewise.
18162 (redirect_branch_edge): Likewise.
18163 (force_nonfallthru_and_redirect): Likewise.
18164 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
18165 when suitable.
18166 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
18167 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
18168 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
18169 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
18170 to store the value retured by gen_label_rtx.
18171 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
18172 rtx_jump_insn.
18173 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
18174 (split_branches): Fix calls of redirect_jump.
18175 * dojump.c (jumpifnot): Promote argument type from rtx to
18176 rtx_code_label.
18177 (jumpifnot_1): Likewise.
18178 (jumpif): Likewise.
18179 (jumpif_1): Likewise.
18180 (do_jump_1): Likewise.
18181 (do_jump): Likewise. Use rtx_code_label when feasible.
18182 (do_jump_by_parts_greater_rtx): Likewise.
18183 (do_jump_by_parts_zero_rtx): Likewise.
18184 (do_jump_by_parts_equality_rtx): Likewise.
18185 (do_compare_rtx_and_jump): Likewise.
18186 * dojump.h: Update function prototypes.
18187 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
18188 returns rtx_insn).
18189 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
18190 rtx_jump_insn.
18191 (emit_label_before): Likewise.
18192 (emit_jump_insn_after_noloc): Likewise.
18193 (emit_jump_insn_after_setloc): Likewise.
18194 (emit_jump_insn_after): Likewise
18195 (emit_jump_insn_before_setloc): Likewise.
18196 (emit_jump_insn_before): Likewise.
18197 (emit_label_before): Promote return type to rtx_code_label.
18198 (emit_label): Likewise.
18199 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
18200 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
18201 gen_move_insn.
18202 (emit_stack_restore): Likewise.
18203 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
18204 (do_cmp_and_jump): Likewise.
18205 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
18206 from rtx to rtx_code_label.
18207 (gen_move_insn_uncast): New function.
18208 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
18209 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
18210 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
18211 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
18212 invert_jump_1 and redirect_jump_1.
18213 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
18214 do_compare_rtx_and_jump.
18215 (expand_addsub_overflow): Likewise.
18216 (expand_neg_overflow): Likewise.
18217 (expand_mul_overflow): Likewise.
18218 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
18219 return value of gen_move_insn.
18220 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
18221 * loop-doloop.c (add_test): Use rtx_code_label.
18222 (doloop_modify): Likewise.
18223 (doloop_optimize): Likewise.
18224 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
18225 * lra-constraints.c (emit_spill_move): Remove cast of value returned
18226 by gen_move_insn.
18227 (inherit_reload_reg): Add cast when calling dump_insn_slim.
18228 (split_reg): Likewise.
18229 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
18230 gen_move_insn.
18231 * optabs.c (expand_binop_directly): Remove casts of values returned by
18232 maybe_gen_insn.
18233 (expand_unop_direct): Likewise.
18234 (expand_abs): Likewise.
18235 (maybe_emit_unop_insn): Likewise.
18236 (maybe_gen_insn): Promote return type to rtx_insn.
18237 * optabs.h: Update prototype of maybe_gen_insn.
18238 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
18239 redundant cast.
18240 * recog.c (struct peep2_insn_data): Promote type of insn field to
18241 rtx_insn.
18242 (peep2_reinit_state): Use NULL instead of NULL_RTX.
18243 (peep2_attempt): Remove casts of insn in peep2_insn_data.
18244 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
18245 * recog.h (struct insn_gen_fn): Promote return types of function
18246 pointers and operator ().from rtx to rtx_insn.
18247 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
18248 (fill_eager_delay_slots): Likewise.
18249 (relax_delay_slots): Likewise.
18250 (make_return_insns): Likewise.
18251 (dbr_schedule): Likewise.
18252 (optimize_skips): Likewise.
18253 (reorg_redirect_jump): Likewise.
18254 (fill_slots_from_thread): Likewise.
18255 * reorg.h: Update prototypes.
18256 * resource.c (find_dead_or_set_registers): Use dyn_cast to
18257 rtx_jump_insn instead of check. Use it's jump_target method.
18258 * rtl.h (rtx_jump_insn::jump_label): Define new method.
18259 (rtx_jump_insn::jump_target): Define new method.
18260 (rtx_jump_insn::set_jump_target): Define new method.
18261 * rtlanal.c (tablejump_p): Promote type of one local variable.
18262 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
18263 (sched_analyze_insn): Likewise.
18264 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
18265 (print_insn): Likewise.
18266 * stmt.c (label_rtx): Promote return type to rtx_insn.
18267 (force_label_rtx): Likewise.
18268 (jump_target_rtx): Define new function.
18269 (expand_label): Use it, get rid of one cast.
18270 (expand_naked_return): Promote rtx to rtx_code_label.
18271 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
18272 (expand_case): Use rtx_code_label instread of rtx where feasible.
18273 (expand_sjlj_dispatch_table): Likewise.
18274 (emit_case_nodes): Likewise.
18275 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
18276 * store-motion.c (insert_store): Make use of new return type of
18277 gen_move_insn and remove a cast.
18278 (replace_store_insn): Likewise.
18279
18280 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
18281
18282 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
18283 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
18284
18285 2015-05-20 Jeff Law <law@redhat.com>
18286
18287 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
18288 dispose of the jump thread path when the jump threading
18289 opportunity is cancelled.
18290
18291 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
18292
18293 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
18294 when printing the caret character.
18295
18296 2015-05-20 Marek Polacek <polacek@redhat.com>
18297
18298 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
18299
18300 2015-05-20 Marek Polacek <polacek@redhat.com>
18301
18302 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
18303 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
18304 * gimple-fold.c (canonicalize_bool): Likewise.
18305 (same_bool_result_p): Likewise.
18306 * tree-if-conv.c (parse_predicate): Likewise.
18307
18308 2015-05-20 Marek Polacek <polacek@redhat.com>
18309
18310 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
18311 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
18312
18313 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18314
18315 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
18316 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
18317 values.
18318
18319 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
18320
18321 * config/mips/mips.h (micromips_globals): Declare.
18322
18323 2015-05-20 David Malcolm <dmalcolm@redhat.com>
18324
18325 * timevar.def (TV_INITIALIZE_RTL): New.
18326 * toplev.c (initialize_rtl): Use an auto_timevar to account this
18327 function's time to TV_INITIALIZE_RTL.
18328
18329 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
18330
18331 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
18332 gimple_build_nop calls.
18333 (chkp_find_bounds_for_elem): Likewise.
18334 (chkp_get_zero_bounds): Likewise.
18335 (chkp_get_none_bounds): Likewise.
18336 (chkp_get_bounds_by_definition): Likewise.
18337 (chkp_generate_extern_var_bounds): Likewise.
18338 (chkp_get_bounds_for_decl_addr): Likewise.
18339 (chkp_get_bounds_for_string_cst): Likewise.
18340
18341 2015-05-20 Bin Cheng <bin.cheng@arm.com>
18342
18343 PR tree-optimization/65447
18344 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
18345 (dump_use, dump_uses): Support to dump sub use.
18346 (record_use): New parameters to support sub use. Remove call to
18347 dump_use.
18348 (record_sub_use, record_group_use): New functions.
18349 (compute_max_addr_offset, split_all_small_groups): New functions.
18350 (group_address_uses, rewrite_use_address): New functions.
18351 (strip_offset): New declaration.
18352 (find_interesting_uses_address): Call record_group_use.
18353 (add_candidate): New assertion.
18354 (infinite_cost_p): Move definition forward.
18355 (add_costs): Check INFTY cost and return immediately.
18356 (get_computation_cost_at): Clear setup cost and dependent bitmap
18357 for sub uses.
18358 (determine_use_iv_cost_address): Compute cost for sub uses.
18359 (rewrite_use_address_1): Rename from old rewrite_use_address.
18360 (free_loop_data): Free sub uses.
18361 (tree_ssa_iv_optimize_loop): Call group_address_uses.
18362
18363 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
18364 Jim Wilson <jim.wilson@linaro.org>
18365
18366 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
18367 new fields loadv and storev.
18368 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
18369 Initialize loadv and storev.
18370 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
18371 (cortexa53_extra_costs): Likewise.
18372 (cortexa57_extra_costs): Likewise.
18373 (xgene1_extra_costs): Likewise.
18374 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
18375 rtx_costs.
18376
18377 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
18378
18379 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
18380 storev.
18381 (cortexa8_extra_costs): Likewise.
18382 (cortexa5_extra_costs): Likewise.
18383 (cortexa7_extra_costs): Likewise.
18384 (cortexa12_extra_costs): Likewise.
18385 (cortexa15_extra_costs): Likewise.
18386 (v7m_extra_costs): Likewise.
18387
18388 2015-05-20 Jeff Law <law@redhat.com>
18389
18390 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
18391 instead of open-coded version. Also delete the jump thread created
18392 within this function.
18393
18394 2015-05-20 Alan Modra <amodra@gmail.com>
18395
18396 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
18397 stack adjusting insn. Formatting.
18398 (rs6000_emit_prologue): Track stack adjusting insn, and use of
18399 r12. If possible, emit first -fsplit-stack arg pointer insn
18400 before stack adjust. Don't use r12 to save cr if split-stack.
18401
18402 2015-05-20 Alan Modra <amodra@gmail.com>
18403
18404 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
18405 Define.
18406 (rs6000_supports_split_stack): New function.
18407 * gcc/config/rs6000/rs6000.c (machine_function): Add
18408 split_stack_arg_pointer.
18409 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
18410 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
18411 rather than virtual_incoming_args_rtx.
18412 (rs6000_va_start): Likewise.
18413 (split_stack_arg_pointer_used_p): New function.
18414 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
18415 (morestack_ref): New var.
18416 (gen_add3_const, rs6000_expand_split_stack_prologue,
18417 rs6000_internal_arg_pointer, rs6000_live_on_entry,
18418 rs6000_split_stack_space_check): New functions.
18419 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
18420 * gcc/config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
18421 (UNSPECV_SPLIT_STACK_RETURN): Define.
18422 (split_stack_prologue, load_split_stack_limit,
18423 load_split_stack_limit_di, load_split_stack_limit_si,
18424 split_stack_return, split_stack_space_check): New expands and insns.
18425 * gcc/config/rs6000/rs6000-protos.h
18426 (rs6000_expand_split_stack_prologue): Declare.
18427 (rs6000_split_stack_space_check): Declare.
18428
18429 2015-05-20 Alan Modra <amodra@gmail.com>
18430
18431 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
18432 (direct_return): Test vrsave_size rather than vrsave_mask.
18433 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
18434 (rs6000_emit_epilogue): Likewise.
18435
18436 2015-05-20 Alan Modra <amodra@gmail.com>
18437
18438 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
18439 when not saving registers.
18440 (debug_stack_info): Adjust to omit printing unused offsets,
18441 as before.
18442 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
18443 expression.
18444
18445 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18446
18447 PR c++/65835
18448 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
18449 value_type to const char *.
18450
18451 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
18452
18453 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
18454 to build a biarch toolchain again.
18455
18456 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
18457
18458 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
18459 or implicit declarations.
18460 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
18461 into it.
18462 (get_odr_type): Check type has linkage before adding bases.
18463 (register_odr_type): Check that type has linkage before adding it.
18464 (type_known_to_have_no_deriavations_p): Rename to ..
18465 (type_known_to_have_no_derivations_p): This one.
18466 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
18467 (type_known_to_have_no_derivations_p): This one.
18468 * ipa-polymorphic-call.c
18469 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
18470 type has linkage.
18471
18472 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
18473
18474 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
18475 (layout_type): Use RECORD_OR_UNION_TYPE_P.
18476
18477 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18478
18479 * config/s390/s390.c (s390_vector_bool_type_p): New function.
18480 (s390_invalid_binary_op): New function.
18481 (TARGET_INVALID_BINARY_OP): Define macro.
18482
18483 2015-05-19 David Sherwood <david.sherwood@arm.com>
18484
18485 * loop-invariant.c (create_new_invariant): Don't calculate address cost
18486 if mode is not a scalar integer.
18487 (get_inv_cost): Increase computational cost for unused invariants.
18488
18489 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18490
18491 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
18492 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
18493 * config/s390/s390-builtin-types.def: New file.
18494 * config/s390/s390-builtins.def: New file.
18495 * config/s390/s390-builtins.h: New file.
18496 * config/s390/s390-c.c: New file.
18497 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
18498 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
18499 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
18500 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
18501 prototypes.
18502 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
18503 Include.
18504 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
18505 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
18506 variable definitions.
18507 (s390_const_operand_ok): New function.
18508 (s390_expand_builtin): Rewrite.
18509 (s390_init_builtins): New function.
18510 (s390_handle_vectorbool_attribute): New function.
18511 (s390_attribute_table): Add s390_vector_bool attribute.
18512 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
18513 (s390_branch_condition_mask): Generate masks for new modes.
18514 (s390_expand_vec_compare_cc): New function.
18515 (s390_mangle_type): Add mangling for vector bool types.
18516 (enum s390_builtin): Remove.
18517 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
18518 efpc builtins.
18519 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
18520 s390_cpu_cpp_builtins.
18521 (REGISTER_TARGET_PRAGMAS): New macro.
18522 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
18523 (insn_cmp mode attribute): Add new CC modes.
18524 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
18525 (lcbb): New pattern definition.
18526 * config/s390/s390intrin.h: Include vecintrin.h.
18527 * config/s390/t-s390: New file.
18528 * config/s390/vecintrin.h: New file.
18529 * config/s390/vector.md: Include vx-builtins.md.
18530 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
18531 support.
18532
18533 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18534
18535 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
18536 CCVFHE.
18537 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
18538 (s390_select_ccmode): Likewise.
18539 (s390_canonicalize_comparison): Swap operands if necessary.
18540 (s390_expand_vec_compare_scalar): Expand DFmode compare using
18541 single element vector instructions.
18542 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
18543 (s390_branch_condition_mask): Generate CC masks for the new modes.
18544 * config/s390/s390.md (v0, vf, vd): New mode attributes.
18545 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
18546 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
18547 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
18548 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
18549 (*extend<DSF:mode><BFP:mode>2): New insn definition.
18550 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
18551 (extend<DSF:mode><BFP:mode>2): Turn into expander.
18552 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
18553 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
18554 (sqrt<mode>2): Add vector instruction.
18555
18556 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18557
18558 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
18559 constraints.
18560 * config/s390/predicates.md (const0_operand, constm1_operand)
18561 (constable_operand): Accept vector operands.
18562 * config/s390/s390-modes.def: Add supported vector modes.
18563 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
18564 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
18565 (s390_bytemask_vector_p, s390_expand_vec_strlen)
18566 (s390_expand_vec_compare, s390_expand_vcond)
18567 (s390_expand_vec_init): Add prototypes.
18568 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
18569 (s390_vector_mode_supported_p): New function.
18570 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
18571 (s390_contiguous_bitmask_vector_p): New function.
18572 (s390_bytemask_vector_p): New function.
18573 (s390_split_ok_p): Vector regs don't work either.
18574 (regclass_map): Add VEC_REGS.
18575 (s390_legitimate_constant_p): Handle vector constants.
18576 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
18577 (legitimate_reload_vector_constant_p): New function.
18578 (s390_preferred_reload_class): Handle CONST_VECTOR.
18579 (s390_reload_symref_address): Likewise.
18580 (s390_secondary_reload): Vector memory instructions only support
18581 short displacements. Rename reload*_nonoffmem* to reload*_la*.
18582 (s390_emit_ccraw_jump): New function.
18583 (s390_expand_vec_strlen): New function.
18584 (s390_expand_vec_compare): New function.
18585 (s390_expand_vcond): New function.
18586 (s390_expand_vec_init): New function.
18587 (s390_dwarf_frame_reg_mode): New function.
18588 (print_operand): Handle addresses with 'O' and 'R' constraints.
18589 (NR_C_MODES, constant_modes): Add vector modes.
18590 (s390_output_pool_entry): Handle vector constants.
18591 (s390_hard_regno_mode_ok): Handle vector registers.
18592 (s390_class_max_nregs): Likewise.
18593 (s390_cannot_change_mode_class): New function.
18594 (s390_invalid_arg_for_unprototyped_fn): New function.
18595 (s390_function_arg_vector): New function.
18596 (s390_function_arg_float): Remove size variable.
18597 (s390_pass_by_reference): Handle vector arguments.
18598 (s390_function_arg_advance): Likewise.
18599 (s390_function_arg): Likewise.
18600 (s390_return_in_memory): Vector values are returned in a VR if
18601 possible.
18602 (s390_function_and_libcall_value): Handle vector arguments.
18603 (s390_gimplify_va_arg): Likewise.
18604 (s390_call_saved_register_used): Consider the arguments named.
18605 (s390_conditional_register_usage): Disable v16-v31 for non-vec
18606 targets.
18607 (s390_preferred_simd_mode): New function.
18608 (s390_support_vector_misalignment): New function.
18609 (s390_vector_alignment): New function.
18610 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
18611 (TARGET_VECTOR_MODE_SUPPORTED_P)
18612 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
18613 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
18614 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
18615 (TARGET_VECTOR_ALIGNMENT): Define target macro.
18616 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
18617 (FIRST_PSEUDO_REGISTER): Increase value.
18618 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
18619 (VECTOR_REG_P): Define macros.
18620 (FIXED_REGISTERS, CALL_USED_REGISTERS)
18621 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
18622 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
18623 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
18624 Add vector registers.
18625 (CANNOT_CHANGE_MODE_CLASS): Call C function.
18626 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
18627 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
18628 memory.
18629 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
18630 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
18631 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
18632 (VR*_REGNUM): New constants.
18633 (ALL): New mode iterator.
18634 (INTALL): Remove mode iterator.
18635 Include vector.md.
18636 (movti): Implement TImode moves for VRs.
18637 Disable TImode splitter for VR targets.
18638 Implement splitting TImode GPR<->VR moves.
18639 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
18640 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
18641 reload<mode>_la_in, reload<mode>_la_out.
18642 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
18643 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
18644 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
18645 (mov<mode> SF SD): Prefer lder, lde for loading.
18646 Add lrl and strl instructions.
18647 Add vector instructions.
18648 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
18649 Call s390_expand_vec_strlen on z13.
18650 (*cc_to_int): Change predicate to nonimmediate_operand.
18651 (addti3): Rename to *addti3. New expander.
18652 (subti3): Rename to *subti3. New expander.
18653 * config/s390/vector.md: New file.
18654
18655 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18656
18657 * common/config/s390/s390-common.c (processor_flags_table): Add
18658 z13.
18659 * config.gcc: Add z13.
18660 * config/s390/s390-opts.h (enum processor_type): Add
18661 PROCESSOR_2964_Z13.
18662 * config/s390/s390.c (s390_adjust_priority): Check for
18663 PROCESSOR_2964_Z13.
18664 (s390_reorg): Likewise.
18665 (s390_sched_reorder): Likewise.
18666 (s390_sched_variable_issue): Likewise.
18667 (s390_loop_unroll_adjust): Likewise.
18668 (s390_option_override): Likewise. Default to -mvx when available.
18669 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
18670 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
18671 (TARGET_VX_ABI): Define macros.
18672 macros.
18673 (TARGET_DEFAULT): Add MASK_OPT_VX.
18674 * config/s390/s390.md ("cpu" attribute): Add z13.
18675 ("cpu_facility" attribute): Add vec.
18676 * config/s390/s390.opt (processor_type): Add z13.
18677 (mvx): New options.
18678 * doc/invoke.texi: Add z13 option for -march.
18679
18680 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18681
18682 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
18683 mode check to make sure that only scalar integer values are
18684 accepted.
18685
18686 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
18687
18688 * tree.c (verify_type_variant): Fix #undef.
18689 (gimple_canonical_types_compatible_p): Move here from lto.c
18690 (verify_type): Verify TYPE_CANONICAL compatibility.
18691 * tree.h (gimple_canonical_types_compatible_p): Declare.
18692
18693 2015-05-19 Jakub Jelinek <jakub@redhat.com>
18694
18695 PR middle-end/66199
18696 * tree.h (OMP_TEAMS_COMBINED): Define.
18697 * gimplify.c (enum gimplify_omp_var_data): Add
18698 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
18699 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
18700 (omp_notice_variable): Accept both ORT_TEAMS
18701 and ORT_COMBINED_TEAMS. Don't recurse if
18702 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
18703 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
18704 GOVD_FIRSTPRIVATE.
18705 (omp_no_lastprivate): New function.
18706 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
18707 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
18708 notice_outer and set appropriate bits, otherwise make
18709 sure default(none) combined constructs won't complain.
18710 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
18711 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
18712 omp_no_lastprivate either remove the clause or turn it
18713 into OMP_CLAUSE_PRIVATE.
18714 (gimplify_omp_for): Fix up handling of implicit
18715 lastprivate or linear iterators.
18716 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
18717 ORT_COMBINED_TEAMS.
18718 * omp-low.c (lower_omp_for_lastprivate): For combined
18719 for simd use fd.loop.n2 from the for rather than simd.
18720
18721 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18722
18723 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
18724 instead of gen_rtx_raw_REG.
18725 (cris_expand_epilogue): Likewise.
18726 * config/microblaze/microblaze.c (microblaze_classify_address):
18727 Likewise.
18728 * config/sparc/sparc.md: Likewise.
18729
18730 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
18731
18732 * config/alpha/alpha.c (alpha_legitimize_reload_address)
18733 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
18734 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
18735 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
18736 Use CASE_CONST_SCALAR_INT.
18737 (print_operand) <case 'M'>: Use mode_width_operand to check the
18738 value of the constant.
18739 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
18740 * config/alpha/predicates.md (input_operand): Use general_operand
18741 instead of match_code as operand check.
18742 (symbolic_operand): Use match_code with subexpression digits.
18743 * config/alpha/constraints.md (Q): Ditto.
18744
18745 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18746
18747 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
18748
18749 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18750
18751 * config/s390/s390.c (s390_secondary_reload): Fix check for
18752 load/store relative.
18753
18754 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18755
18756 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
18757 alternative_mask to uint64_t.
18758
18759 2015-05-19 Jakub Jelinek <jakub@redhat.com>
18760
18761 PR tree-optimization/66187
18762 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
18763 Pass TYPE_SIGN to tree_int_cst_min_precision. If
18764 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
18765
18766 2015-05-19 David Malcolm <dmalcolm@redhat.com>
18767
18768 * diagnostic.c (diagnostic_report_current_module): Strengthen
18769 local "new_map" from const line_map * to
18770 const line_map_ordinary *.
18771 * genmatch.c (error_cb): Likewise for local "map".
18772 (output_line_directive): Likewise for local "map".
18773 * input.c (expand_location_1): Likewise for local "map".
18774 Pass NULL rather than &map to
18775 linemap_unwind_to_first_non_reserved_loc, since the value is never
18776 read from there, and the value written back not read from here.
18777 (is_location_from_builtin_token): Strengthen local "map" from
18778 const line_map * to const line_map_ordinary *.
18779 (dump_location_info): Strengthen locals "map" from
18780 line_map *, one to const line_map_ordinary *, the other
18781 to const line_map_macro *.
18782 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
18783 const line_map * to const line_map_macro *.
18784 (maybe_unwind_expanded_macro_loc): Add a call to
18785 linemap_check_macro when writing to the "map" field of the
18786 loc_map_pair.
18787 Introduce local const line_map_ordinary * "ord_map", using it in
18788 place of "map" in the part of the function where we know we have
18789 an ordinary map. Strengthen local "m" from const line_map * to
18790 const line_map_ordinary *.
18791
18792 2015-05-19 Nick Clifton <nickc@redhat.com>
18793
18794 PR target/66156
18795 * config/msp430/msp430.md (zero_extendhisi2): Add support for
18796 separate source and destination registers.
18797
18798 2015-05-19 Richard Biener <rguenther@suse.de>
18799
18800 PR tree-optimization/66165
18801 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
18802 for no load permutation.
18803
18804 PR tree-optimization/66185
18805 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
18806 when building the SLP node from scalars.
18807
18808 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
18809 Tristan Gingold <gingold@adacore.com>
18810
18811 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
18812 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
18813 (expand_stack_restore): Call record_new_stack_level.
18814 (expand_stack_save): Do not call do_pending_stack_adjust.
18815 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
18816 * calls.c (expand_call): Call record_new_stack_level for alloca.
18817 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
18818 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
18819 (update_sjlj_context): New global function.
18820 * except.h (update_sjlj_context): Declare.
18821 * explow.c (record_new_stack_level): New global function.
18822 (allocate_dynamic_stack_space): Call record_new_stack_level.
18823 * explow.h (record_new_stack_level): Declare.
18824 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
18825 * cfgrtl.c (duplicate_insn_chain): Likewise.
18826
18827 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18828
18829 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
18830 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
18831 STACK_GROWS_DOWNWARD as normal if.
18832 (expand_call): Likewise.
18833
18834 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
18835
18836 PR target/54236
18837 * config/sh/sh.md (*round_int_even): New insn_and_split and
18838 accompanying new unnamed split.
18839
18840 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18841
18842 * bitmap.c (bitmap_set_range): Handle count==1 specially.
18843 (bitmap_clear_range): Likewise.
18844 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
18845 bitmap_set_range unconditionally.
18846 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
18847 * df-scan.c (df_mark_reg): Likewise.
18848 * haifa-sched.c (setup_ref_regs): Likewise.
18849 * sched-rgn.c (update_live_1): Likewise.
18850
18851 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18852
18853 * regs.h (END_HARD_REGNO): Delete.
18854 (END_REGNO): Move to...
18855 * rtl.h: ...here.
18856 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
18857 * caller-save.c (mark_set_regs): Likewise.
18858 * combine.c (move_deaths, distribute_notes): Likewise.
18859 * cse.c (invalidate, invalidate_for_call): Likewise.
18860 * df-scan.c (df_ref_record): Likewise.
18861 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
18862 (record_last_reg_set_info): Likewise.
18863 * reg-stack.c (convert_regs_exit): Likewise.
18864 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
18865 * resource.c (update_live_status): Likewise.
18866 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
18867
18868 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18869
18870 * rtl.h (reg_info): Add an nregs field.
18871 (REG_NREGS): Use it.
18872 (SET_REGNO_RAW): Delete.
18873 (set_regno_raw): New function.
18874 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
18875 (END_REGNO): Redefine in terms of REG_NREGS.
18876 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
18877 SET_REGNO_RAW.
18878 * emit-rtl.c (set_mode_and_regno): Likewise.
18879 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
18880 instead of SET_REGNO_RAW.
18881
18882 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18883
18884 * rtl.h (PUT_MODE_RAW): New macro.
18885 (PUT_REG_NOTE_KIND): Use it.
18886 (set_mode_and_regno): Declare.
18887 (gen_raw_REG): Change regno to "unsigned int".
18888 (gen_rtx_REG): Change "unsigned" to "unsigned int".
18889 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
18890 use set_mode_and_regno to change the mode of registers.
18891 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
18892 * emit-rtl.c (set_mode_and_regno): New function.
18893 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
18894 * caller-save.c (reg_save_code): Use set_mode_and_regno.
18895 * expr.c (init_expr_target): Likewise.
18896 * ira.c (setup_prohibited_mode_move_regs): Likewise.
18897 * postreload.c (reload_cse_simplify_operands): Likewise.
18898
18899 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18900
18901 * caller-save.c (init_caller_save): Use word_mode and
18902 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
18903 * expr.c (init_expr_target): Likewise.
18904 * ira.c (setup_prohibited_mode_move_regs): Likewise.
18905 * postreload.c (reload_cse_regs_1): Likewise.
18906
18907 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18908
18909 * rtl.def (REG): Change format to "r".
18910 * rtl.h (rtunion): Remove rt_reg.
18911 (reg_info): New structure.
18912 (rtx_def): Add reg field to main union.
18913 (X0REGATTR): Delete.
18914 (REG_CHECK): New macro.
18915 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
18916 * rtl.c (rtx_format): Document "r".
18917 (rtx_code_size): Handle REG specially.
18918 * gengenrtl.c (special_format): Return true for formats
18919 that include 'r'.
18920 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
18921 Deal with REG_ATTRS after the field loop.
18922 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
18923 * expmed.c (init_expmed): Call gen_raw_REG instead of
18924 gen_rtx_raw_REG.
18925 * expr.c (init_expr_target): Likewise.
18926 * regcprop.c (maybe_mode_change): Likewise.
18927 * varasm.c (make_decl_rtl): Likewise.
18928 * final.c (leaf_renumber_regs_insn): Return early after
18929 handling REGs.
18930 * genemit.c (gen_exp): Handle 'r' fields.
18931 * genpeep.c (match_rtx): Likewise.
18932 * gensupport.c (subst_pattern_match): Likewise.
18933 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
18934 (alter_constraints, subst_dup): Likewise.
18935 * read-rtl.c (read_rtx_code): Likewise.
18936 * print-rtl.c (print_rtx): Likewise.
18937 * genrecog.c (find_operand, find_matching_operand): Likewise.
18938 (validate_pattern, match_pattern_2): Likewise.
18939 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
18940 (rtx_test::regno_field): New function.
18941 (operator ==, safe_to_hoist_p, transition_parameter_type)
18942 (parameter_type_string, print_parameter_value)
18943 (print_nonbool_test, print_test): Handle new enum values.
18944 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
18945 * lra-constraints.c (operands_match_p): Likewise.
18946
18947 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18948
18949 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
18950 Change type of new_regno to unsigned int.
18951 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
18952 new_regno to unsigned int.
18953 (df_ref_change_reg_with_loc): Remove old_regno parameter.
18954 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
18955 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
18956 (SET_REGNO_RAW): Add space after ",".
18957
18958 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18959
18960 * rtl.h (REG_NREGS): New macro
18961 * alias.c (record_set): Use it.
18962 * cfgcleanup.c (mark_effect): Likewise.
18963 * combine.c (likely_spilled_retval_1): Likewise.
18964 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
18965 (move_deaths, distribute_notes): Likewise.
18966 * cselib.c (cselib_record_set): Likewise.
18967 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
18968 * df-scan.c (df_mark_reg): Likewise.
18969 * dse.c (look_for_hardregs): Likewise.
18970 * dwarf2out.c (reg_loc_descriptor): Likewise.
18971 (multiple_reg_loc_descriptor): Likewise.
18972 * expr.c (write_complex_part, read_complex_part): Likewise.
18973 (emit_move_complex): Likewise.
18974 * haifa-sched.c (setup_ref_regs): Likewise.
18975 * ira-lives.c (mark_hard_reg_live): Likewise.
18976 * lra.c (lra_set_insn_recog_data): Likewise.
18977 * mode-switching.c (create_pre_exit): Likewise.
18978 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
18979 (reload_combine_recognize_pattern): Likewise.
18980 (reload_combine_note_use, move2add_record_mode): Likewise.
18981 (reload_cse_move2add): Likewise.
18982 * reg-stack.c (subst_stack_regs_pat): Likewise.
18983 * regcprop.c (kill_value, copy_value): Likewise.
18984 (copyprop_hardreg_forward_1): Likewise.
18985 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
18986 (build_def_use): Likewise.
18987 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
18988 (deps_analyze_insn): Likewise.
18989 * sched-rgn.c (check_live_1, update_live_1): Likewise.
18990 * sel-sched.c (count_occurrences_equiv): Likewise.
18991 * valtrack.c (dead_debug_insert_temp): Likewise.
18992
18993 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
18994
18995 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
18996 * dse.c (note_add_store): Likewise.
18997 * ira-lives.c (mark_hard_reg_dead): Likewise.
18998 * loop-invariant.c (mark_reg_store): Likewise.
18999 (mark_reg_death): Likewise.
19000 * postreload.c (reload_combine): Likewise.
19001 (reload_combine_note_store): Likewise.
19002 (reload_combine_note_use): Likewise.
19003 * recog.c (peep2_reg_dead_p): Likewise.
19004
19005 2015-05-19 Alan Modra <amodra@gmail.com>
19006
19007 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
19008 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
19009 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
19010 unused predicates.
19011 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
19012 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
19013 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
19014 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
19015
19016 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
19017
19018 * config/mips/mips.md (JOIN_MODE): New mode iterator.
19019 (join2_load_Store<JOIN_MODE:mode>): New pattern.
19020 (join2_loadhi): Likewise.
19021 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
19022 load-load and store-stores.
19023 * config/mips/mips.opt (mload-store-pairs): New option.
19024 (TARGET_LOAD_STORE_PAIRS): New macro.
19025 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
19026 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
19027 * config/mips/mips.c (mips_load_store_bonding_p): New function.
19028
19029 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
19030
19031 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
19032 explicit swaps.
19033 * dojump.c (do_compare_rtx_and_jump): Likewise.
19034 * expmed.c (emit_store_flag_1): Likewise.
19035 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
19036 * final.c (sprint_ul): Use std::reverse for reversing a string.
19037 * fold-const.c (extract_muldiv_1): Use std::swap.
19038 * genmodes.c (emit_mode_int_n): Likewise.
19039 * ifcvt.c (dead_or_predicable): Likewise.
19040 * ira-build.c (ira_merge_live_ranges): Likewise.
19041 (swap_allocno_copy_ends_if_necessary): Likewise.
19042 * ira.c (ira_setup_alts): Likewise.
19043 * loop-iv.c (iv_analyze_expr): Likewise.
19044 (implies_p): Likewise.
19045 (canon_condition): Likewise.
19046 * lra-constraints.c (swap_operands): Likewise.
19047 * lra-lives.c (lra_merge_live_ranges): Likewise.
19048 * omega.c (swap): Remove.
19049 (bswap): Remove.
19050 (omega_unprotect_1): Use std::swap.
19051 (omega_solve_geq): Likewise.
19052 * optabs.c (expand_binop_directly): Likewise.
19053 (expand_binop): Likewise.
19054 (emit_conditional_move): Likewise.
19055 (emit_conditional_add): Likewise.
19056 * postreload.c (reload_cse_simplify_operands): Likewise.
19057 * reg-stack.c (emit_swap_insn): Likewise.
19058 (swap_to_top): Likewise.
19059 (compare_for_stack_reg): Likewise.
19060 (subst_asm_stack_regs): Likewise.
19061 * reload.c (find_reloads): Likewise.
19062 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
19063 * sel-sched.c (invoke_reorder_hooks): Likewise.
19064 (create_block_for_bookkeeping): Likewise.
19065 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
19066 (lambda_matrix_right_hermite): Use std::swap.
19067 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
19068 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
19069 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
19070 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
19071 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
19072 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
19073 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
19074 * tree-vrp.c (compare_ranges): Likewise.
19075 * var-tracking.c (add_with_sets): Likewise.
19076 (vt_find_locations): Likewise.
19077
19078 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
19079
19080 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
19081 pie executables.
19082 (FBSD_ENDFILE_SPEC): Likewise.
19083 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
19084 config/freebsd-spec.h.
19085 (ENDFILE_SPEC): Likewise.
19086
19087 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
19088 Richard Henderson <rth@redhat.com>
19089
19090 PR target/57032
19091 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
19092 Check for a memory location that is not a reference (using an AND)
19093 to an unaligned location here.
19094 * config/alpha/predicates.md (normal_memory_operand): Remove.
19095
19096 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
19097
19098 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
19099 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
19100
19101 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
19102
19103 * config/mips/mips.c (micromips_globals): New variable.
19104 (mips_set_compression_mode): Save and reinitialize target-dependent
19105 state for microMIPS.
19106
19107 2015-05-18 Martin Liska <mliska@suse.cz>
19108
19109 * dbgcnt.def: Add new counter.
19110 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
19111
19112 2015-05-18 Martin Liska <mliska@suse.cz>
19113
19114 * dbgcnt.def: Sort counters.
19115 * opts.c (common_handle_option): Do not compile if
19116 -fdbg-cnt-list is enabled.
19117
19118 2015-05-18 Tom de Vries <tom@codesourcery.com>
19119
19120 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
19121 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
19122 address operator to va_list operand.
19123 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
19124 unconditionally.
19125 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
19126 operand.
19127 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
19128 * config/s390/s390.c (s390_gimplify_va_arg): Same.
19129 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
19130
19131 2015-05-18 Tom de Vries <tom@codesourcery.com>
19132
19133 * tree-ssa-tail-merge.c: Fix whitespace.
19134
19135 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
19136
19137 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
19138 cortex-a17, and cortex-a17.cortex-a7.
19139
19140 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
19141
19142 PR target/54236
19143 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
19144
19145 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
19146
19147 PR target/66174
19148 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
19149 QImode inner modes for TARGET_AVX512BW. Force mask operand
19150 to a register for AVX512F modes.
19151
19152 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
19153
19154 * toplev.c (emit_debug_global_declarations): Do not output debug info
19155 when doing slim LTO objects.
19156
19157 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
19158
19159 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
19160 odr_types_equivalent_p): Declare.
19161 (odr_type_p): Use gcc_checking_assert.
19162 (type_in_anonymous_namespace_p) Declare.
19163 (type_with_linkage_p): Declare.
19164 * common.opt (Wlto-type-mismatch): New warning.
19165 * ipa-devirt.c (compound_type_base): New function.
19166 (odr_or_derived_type_p): New function.
19167 (odr_types_equivalent_p): New function.
19168 (add_type_duplicate): Simplify.
19169 (type_with_linkage_p): Add hack to prevent false positives on C types
19170 (type_in_anonymous_namespace_p): Likewise.
19171 * tree.c (need_assembler_name_p): Use type_with_linkage.
19172 * tree.h (type_in_anonymous_namespace_p): Remove.
19173 * doc/invoke.texi (-Wlto-type-mismatch): Document
19174
19175 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
19176
19177 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
19178 (verify_type): Verify STRING_FLAG.
19179
19180 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
19181
19182 PR fortran/44054
19183 * tree-pretty-print.c (percent_K_format): Replace locus pointer
19184 with accessor function.
19185 * tree-diagnostic.c (diagnostic_report_current_function): Use
19186 diagnostic_location function.
19187 (maybe_unwind_expanded_macro_loc): Likewise.
19188 (virt_loc_aware_diagnostic_finalizer): Likewise.
19189 (default_tree_printer): Replace locus pointer with accessor function.
19190 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
19191 (diagnostic_set_info_translated): Initialize second location.
19192 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
19193 (diagnostic_show_locus): Handle two locations. Call
19194 diagnostic_print_caret_line.
19195 (diagnostic_print_caret_line): New.
19196 (default_diagnostic_starter): Use diagnostic_location function.
19197 (diagnostic_report_diagnostic): Use diagnostic_location function.
19198 (verbatim): Do not set text.locus.
19199 * diagnostic.h (struct diagnostic_info): Remove location field.
19200 (struct diagnostic_context): Make caret_chars an array of two.
19201 (diagnostic_location): New inline.
19202 (diagnostic_expand_location): Handle two locations.
19203 (diagnostic_same_line): New inline.
19204 (diagnostic_print_caret_line): Declare.
19205 (CARET_LINE_MARGIN): New constant.
19206 * pretty-print.c (pp_printf): Do not set text.locus.
19207 (pp_verbatim): Do not set text.locus.
19208 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
19209 (struct text_info): Replace locus pointer with locations
19210 array. Add accessor functions.
19211
19212 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
19213 Zhenqiang Chen <zhenqiang.chen@linaro.org>
19214
19215 PR target/65768
19216 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
19217 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
19218 large constants in register instead of splitting them.
19219
19220 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
19221
19222 PR target/66140
19223 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
19224 replacements in memory addresses.
19225 (get_unaligned_address): Ditto.
19226
19227 2015-05-16 James Bowman <james.bowman@ftdichip.com>
19228
19229 * config/ft32/*: New files for FT32 port.
19230 * doc/install.texi: Add FT32 information.
19231 * doc/invoke.texi: Add FT32 information.
19232 * doc/md.texi: Add FT32 information.
19233 * doc/contrib.texi: Self added.
19234
19235 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
19236
19237 PR tree-optimization/64454
19238 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
19239 (-1 - A -> ~A): Remove unnecessary condition.
19240
19241 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
19242
19243 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
19244 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
19245 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
19246
19247 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
19248
19249 * ipa-chkp.h (chkp_wrap_function): New.
19250 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
19251 (chkp_wrap_function_name): New.
19252 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
19253 to get wrapper name.
19254 * lto-cgraph.c: Include ipa-chkp.h.
19255 (input_cgraph_1): Avoid alias chain for wrappers.
19256
19257 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
19258
19259 PR middle-end/66134
19260 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
19261 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
19262
19263 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19264
19265 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
19266 (AARCH64_FL_SLOWMUL): Delete.
19267 (AARCH64_FL_CRC): Redefine to 1<<3.
19268 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
19269
19270 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19271
19272 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
19273 casting.
19274
19275 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
19276
19277 * config/alpha/alpha.md (extendqidi2): Use general_operand
19278 instead of some_operand for operand[1] predicate.
19279 (extendhidi2): Ditto.
19280 (cbranchdi4): Use general_operand instead of some_operand
19281 for operand[1] and operands[2] predicates.
19282 (cstoredi4): Ditto.
19283 * config/alpha/predicates.md (some_operand): Remove unused predicate.
19284 (some_ni_operand): Ditto.
19285
19286 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
19287
19288 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
19289 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
19290 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
19291 low part of the constant using alpha_emit_set_const_1.
19292 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
19293
19294 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
19295
19296 * varasm.c (output_constant_pool_1): Pass down alignment from
19297 constant pool entry's descriptor to output_constant_pool_2.
19298 (output_object_block): Add comment prior to call to
19299 output_constant_pool_1.
19300
19301 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
19302
19303 PR rtl-optimization/65862
19304 * target.def (ira_change_pseudo_allocno_class): New hook.
19305 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
19306 value of the hook.
19307 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
19308 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
19309 hook.
19310 * ira-costs.c (find_costs_and_classes): Call the hook and change
19311 classes when it is necessary.
19312 * doc/tm.texi: Update.
19313
19314 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
19315
19316 * config/i386/i386.md (sibcall_memory): Check that register with
19317 callee address is not also used as one of the arguments, instead
19318 of checking that it is not live after the sibcall.
19319 (sibcall_pop_memory): Ditto.
19320 (sibcall_value_memory): Ditto.
19321 (sibcall_value_pop_memory): Ditto.
19322
19323 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
19324
19325 * generic-match-head.c (types_match): Handle non-types.
19326 * gimple-match-head.c (types_match): Likewise.
19327 * match.pd: Remove unnecessary TREE_TYPE for types_match.
19328
19329 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
19330
19331 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
19332 (csneg3<mode>_insn): Enable expansion of pattern.
19333
19334 2015-05-14 Nick Clifton <nickc@redhat.com>
19335
19336 * config/rl78/rl78.c (rl78_select_section): Select the correct
19337 default section based upon the category of the decl.
19338
19339 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
19340
19341 PR rtl-optimization/30967
19342 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
19343 destination mode for the cost of scc patterns.
19344
19345 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
19346
19347 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
19348 using SWIM248 mode iterator.
19349 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
19350 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
19351 for operand[2] constraint.
19352 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
19353
19354 2015-05-13 Jakub Jelinek <jakub@redhat.com>
19355
19356 PR middle-end/66133
19357 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
19358 make sure it is never noreturn, even when the task body does not
19359 return.
19360 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
19361 right before GIMPLE_OMP_RETURN.
19362 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
19363 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
19364 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
19365
19366 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19367
19368 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
19369 * tree-ssa-math-opts.c: Include params.h
19370 (pow_synth_sqrt_info): New struct.
19371 (representable_as_half_series_p): New function.
19372 (get_fn_chain): Likewise.
19373 (print_nested_fn): Likewise.
19374 (dump_fractional_sqrt_sequence): Likewise.
19375 (dump_integer_part): Likewise.
19376 (expand_pow_as_sqrts): Likewise.
19377 (gimple_expand_builtin_pow): Use above to attempt to expand
19378 pow as series of square roots. Removed now unused variables.
19379
19380 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
19381
19382 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
19383 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
19384 Remove *p0 and *p1 arguments. Rewrite function.
19385 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
19386 (alpha_split_const_mov): Update calls to alpha_extract_integer and
19387 alpha_emit_set_long_const.
19388 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
19389 (alpha_output_mi_thunk_osf): Ditto.
19390 * config/alpha/alpha.md (movti): Do not check operands[1]
19391 for CONST_DOUBLE.
19392
19393 2015-05-13 Richard Biener <rguenther@suse.de>
19394
19395 PR tree-optimization/66129
19396 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
19397 commutative.
19398 (vect_schedule_slp_instance): Fix typo.
19399
19400 2015-05-13 David Malcolm <dmalcolm@redhat.com>
19401
19402 * common.opt (fdump-internal-locations): New option.
19403 * input.c: Include diagnostic-core.h.
19404 (get_end_location): New function.
19405 (write_digit): New function.
19406 (write_digit_row): New function.
19407 (dump_location_range): New function.
19408 (dump_labelled_location_range): New function.
19409 (dump_location_info): New function.
19410 * input.h (dump_location_info): New prototype.
19411 * toplev.c (compile_file): Handle flag_dump_locations.
19412
19413 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
19414
19415 * gimple-expr.h (is_gimple_constant): Reorder.
19416 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
19417
19418 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
19419
19420 * combine.c (simplify_set): When generating a CC set, if the
19421 source already is in the correct mode, do not wrap it in a
19422 compare. Simplify the rest of that code.
19423
19424 2015-05-13 Richard Biener <rguenther@suse.de>
19425
19426 PR tree-optimization/66123
19427 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
19428 a taken edge.
19429
19430 2015-05-13 Richard Biener <rguenther@suse.de>
19431
19432 PR middle-end/66110
19433 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
19434 specially.
19435 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
19436
19437 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
19438
19439 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
19440 * aclocal.m4: Regenerated with automake-1.11.6.
19441
19442 2015-05-13 Tom de Vries <tom@codesourcery.com>
19443
19444 PR tree-optimization/66010
19445 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
19446 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
19447 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
19448 and rval based on do_deref.
19449
19450 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
19451
19452 PR target/65103
19453 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
19454 link time constants into adress expressions and therefore set
19455 their cost to 0.
19456
19457 2015-05-13 Jakub Jelinek <jakub@redhat.com>
19458
19459 PR target/66112
19460 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
19461 Use SWI248 iterator instead of SWI.
19462 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
19463 Use eq_attr "alternative" "0" instead of match_test in
19464 length_immediate attribute computation.
19465 (*mulvhi4, *mulvhi4_1): New define_insns.
19466
19467 PR target/66112
19468 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
19469 SIGNED to get precision of non-negative value.
19470
19471 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
19472
19473 PR target/66048
19474 * function.c (diddle_return_value_1): Process bounds first.
19475 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
19476 register.
19477
19478 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
19479
19480 PR rtl-optimization/64616
19481 * loop-invariant.c (can_move_invariant_reg): New.
19482 (move_invariant_reg): Call above new function to decide whether
19483 instruction can just be moved, skipping creation of temporary
19484 register.
19485
19486 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
19487
19488 PR target/pr66047.c
19489 * i386.c (ix86_function_sseregparm): Only return -1 if local function
19490 with implied regparm is called from -mno-sse function.
19491 (init_cumulative_args): Output error if ix86_function_sseregparm
19492 return -1 and SSE register would be needed.
19493 (function_arg_advance_32): Likewise.
19494 (function_arg_32): Likewise.
19495 * i386.h (ix86_args): Add decl field.
19496
19497 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
19498
19499 PR ipa/65873
19500 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
19501 inlines across optimization boundary.
19502
19503 2015-05-12 Jason Merrill <jason@redhat.com>
19504
19505 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
19506 string literal and macro name.
19507
19508 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
19509
19510 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
19511 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
19512 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
19513
19514 2015-05-12 David Malcolm <dmalcolm@redhat.com>
19515
19516 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
19517 (-Wmisleading-indentation): New option.
19518 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
19519
19520 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
19521
19522 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
19523 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
19524 (alpha_extract_integer): Ditto.
19525 (alpha_legitimate_constant_p): Ditto.
19526 (alpha_split_tmode_pair): Ditto.
19527 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
19528 (alpha_expand_mov): Ditto.
19529 (print_operand): Remove handling of 'H' modifier.
19530 <case 'm'>: Remove CONST_DOUBLE handling.
19531 (summarize_insn): Handle CONST_WIDE_INT.
19532 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
19533 (anddi3): Ditto.
19534 (movti): Handle CONST_WIDE_INT.
19535 * config/alpha/constraints.md ('H'): Remove constraint definition.
19536 ('G'): Do not match MODE_FLOAT class.
19537 * config/alpha/predicates.md (const0_operand): Also match
19538 const_wide_int.
19539 (non_add_const_operand): Ditto.
19540 (non_zero_const_operand): Ditto.
19541 (some_operand): Ditto.
19542 (input_operand): Ditto. Handle CONST_WIDE_INT.
19543 (and_operand): Do not match const_double.
19544 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
19545
19546 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
19547
19548 PR target/65697
19549 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
19550 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
19551 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
19552 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
19553 is_mm_seq_cst, is_mm_sync): New accessor functions.
19554 * builtins.c (expand_builtin_sync_operation,
19555 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
19556 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
19557 (get_memmodel, expand_builtin_atomic_compare_exchange,
19558 expand_builtin_atomic_load, expand_builtin_atomic_store,
19559 expand_builtin_atomic_clear): Use new accessor routines.
19560 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
19561 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
19562 (maybe_emit_sync_lock_test_and_set): Use new accessors and
19563 MEMMODEL_SYNC_ACQUIRE.
19564 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
19565 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
19566 expand_atomic_store): Use new accessors.
19567 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
19568 * tsan.c (instrument_builtin_call): Update check for memory model beyond
19569 final enum to use MEMMODEL_LAST.
19570 * c-family/c-common.c: Use new accessor for memmodel_base.
19571 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
19572 accessors.
19573 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
19574 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
19575 mem_thread_fence, *dmb): Likewise.
19576 * config/alpha/alpha.c (alpha_split_compare_and_swap,
19577 alpha_split_compare_and_swap_12): Likewise.
19578 * config/arm/arm.c (arm_expand_compare_and_swap,
19579 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
19580 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
19581 atomic_loaddi): Likewise.
19582 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
19583 Likewise.
19584 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
19585 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
19586 use new accessors.
19587 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
19588 atomic_store<mode>, atomic_compare_and_swap<mode>,
19589 atomic_exchange<mode>): Use new accessors.
19590 * config/mips/mips.c (mips_process_sync_loop): Likewise.
19591 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
19592 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
19593 rs6000_post_atomic_barrier): Add new cases.
19594 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
19595 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
19596 (atomic_load<mode>): Add new cases and use new accessors.
19597 (store_quadpti): Add new cases.
19598 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
19599 accessors.
19600 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
19601 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
19602 model, not 8.
19603
19604 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
19605
19606 * ipa-devirt.c (type_with_linkage_p): New function.
19607 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
19608 type has linkage.
19609 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
19610 (can_be_name_hashed_p): Simplify.
19611 (hash_odr_name): Check that type has linkage before checking if it is
19612 anonymous.
19613 (types_same_for_odr): Likewise.
19614 (odr_name_hasher::equal): Likewise.
19615 (odr_subtypes_equivalent_p): Likewise.
19616 (warn_types_mismatch): Likewise.
19617 (get_odr_type): Likewise.
19618 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
19619 * ipa-utils.h (odr_type_p): Move offline.
19620 * tree.c (need_assembler_name_p): Fix handling of types
19621 without linkages.
19622 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
19623
19624 2015-05-12 David Malcolm <dmalcolm@redhat.com>
19625
19626 * timevar.c (timevar_enable): Delete in favor of...
19627 (g_timer): New global.
19628 (struct timevar_def): Move to timevar.h inside class timer.
19629 (struct timevar_stack_def): Likewise.
19630 (timevars): Delete global in favor of field "m_timevars" within
19631 class timer in timevar.h
19632 (stack): Likewise, in favor of field "m_stack".
19633 (unused_stack_instances): Likewise, in favor of field
19634 "m_unused_stack_instances".
19635 (start_time): Likewise, in favor of field "m_start_time".
19636 (get_time): Eliminate check for timevar_enable.
19637 (timer::timer): New function, built from part of timevar_init.
19638 (timevar_init): Rewrite idempotency test from using
19639 "timevar_enable" bool to using dynamic allocation of "g_timer".
19640 Move rest of implementation into timer's constructor.
19641 (timevar_push_1): Rename to...
19642 (timer::push): ...this, adding "m_" prefixes to variables that
19643 are now fields of timer.
19644 (timevar_pop_1): Likewise, rename to...
19645 (timer::pop): ...this, and add "m_" prefixes.
19646 (timevar_start): Replace test for "timevar_enable" with one for
19647 "g_timer", and move bulk of implementation to...
19648 (timer::start): ...here, adding "m_" prefixes.
19649 (timevar_stop): Likewise, from here...
19650 (timer::stop): ...to here.
19651 (timevar_cond_start): Likewise, from here...
19652 (timer::cond_start): ...to here.
19653 (timevar_cond_stop): Likewise, from here...
19654 (timer::cond_stop): ...to here.
19655 (validate_phases): Rename to...
19656 (timer::validate_phases): ...this, and add "m_" prefixes. Make
19657 locals "total" and "tv" const.
19658 (timevar_print): Rename to...
19659 (timer::print): ...this, and add "m_" prefixes. Make locals
19660 "total" and "tv" const. Eliminate test for timevar_enable.
19661 * timevar.h (timevar_enable): Eliminate.
19662 (g_timer): New declaration.
19663 (timevar_push_1): Eliminate.
19664 (timevar_pop_1): Eliminate.
19665 (timevar_print): Eliminate.
19666 (class timer): New class.
19667 (timevar_push): Rewrite to use g_timer.
19668 (timevar_pop): Likewise.
19669 * toplev.c (toplev::~toplev): Likewise.
19670
19671 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
19672
19673 * arm-protos.h (arm_sched_autopref): Delete.
19674 (tune_params): Re-organize, use enums for flag values.
19675 (FUSE_OPS): New macro.
19676 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
19677 (ARM_PREFETCH_BENEFICIAL): Likewise.
19678 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
19679 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
19680 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
19681 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
19682 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
19683 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
19684 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
19685 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
19686 format.
19687 (arm_option_override, thumb2_reorg, arm_print_tune_info)
19688 (aarch_macro_fusion_pair_p): Update uses of current_tune.
19689 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
19690
19691 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
19692
19693 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
19694 "break".
19695
19696 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
19697 Sandra Loosemore <sandra@codesourcery.com>
19698
19699 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
19700 value.
19701 (REG_CLASS_NAMES): Add "IJMP_REGS".
19702 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
19703 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
19704 use new "c" register constraint.
19705 * config/nios2/constraint.md (c): New register constraint
19706 corresponding to IJMP_REGS.
19707
19708 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19709
19710 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
19711 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
19712 define_splits): Delete, revamp, transmogrify into ...
19713 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
19714 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
19715 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
19716 New.
19717
19718 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19719
19720 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
19721 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
19722
19723 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19724
19725 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
19726 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
19727 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
19728 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
19729 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
19730 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
19731 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
19732 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
19733 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
19734 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
19735 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
19736 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
19737 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
19738 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
19739 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
19740 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
19741 and 30 corresponding splitters): Delete.
19742
19743 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19744
19745 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
19746 zero_extract.
19747
19748 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19749
19750 * combine.c (recog_for_combine_1): New function, factored out
19751 from recog_for_combine.
19752 (change_zero_ext): New function.
19753 (recog_for_combine): If recog fails, try again with the pattern
19754 modified by change_zero_ext; if that still fails, restore the
19755 pattern.
19756
19757 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
19758
19759 * combine.c (get_undo_marker): New function.
19760 (undo_to_marker): New function, largely factored out from ...
19761 (undo_all): ... this. Adjust.
19762
19763 2015-05-12 Richard Biener <rguenther@suse.de>
19764
19765 PR tree-optimization/66101
19766 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
19767 fixup if we turn a loop exit edge to a fallthru edge.
19768
19769 2015-05-12 Richard Biener <rguenther@suse.de>
19770
19771 PR tree-optimization/37021
19772 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
19773 (SLP_TREE_TWO_OPERATORS): New define.
19774 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
19775 SLP_TREE_TWO_OPERATORS.
19776 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
19777 SLP node.
19778 (vect_build_slp_tree): Adjust.
19779 (vect_analyze_slp_cost_1): Likewise.
19780 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
19781 emitting two vector stmts and mixing the results.
19782
19783 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
19784
19785 * call.c (print_z_candidates): Remove dead code.
19786
19787 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
19788
19789 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
19790 and zEC12_simple_fp.
19791 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
19792 to 1.
19793
19794 2015-05-12 Tom de Vries <tom@codesourcery.com>
19795
19796 PR tree-optimization/66010
19797 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
19798 ifn_va_arg.
19799 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
19800 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
19801 va_lists are passed, and remove corresponding handling.
19802 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
19803 do_deref argument to ifn_va_arg.
19804 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
19805 ifn_va_arg.
19806
19807 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
19808
19809 PR target/65955
19810 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
19811 REG before taking its REGNO.
19812
19813 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
19814
19815 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
19816 rsp->sign_bit_copies and rsp->nonzero_bits into ...
19817 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
19818 present to get more accurate information about the number of sign bit
19819 copies and non zero bits.
19820
19821 2015-05-12 Richard Biener <rguenther@suse.de>
19822
19823 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
19824 do not allow unrolling.
19825
19826 2015-05-11 Richard Henderson <rth@redhat.com>
19827
19828 * config/i386/i386-modes.def (CCP): New.
19829 * config/i386/i386.c (put_condition_code): Handle it.
19830 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
19831
19832 2015-05-11 Richard Henderson <rth@redhat.com>
19833
19834 * target.def (md_asm_clobbers): Replace with...
19835 (md_asm_adjust): this.
19836 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
19837 (TARGET_MD_ASM_ADJUST): New.
19838 * tm.texi: Rebuild.
19839 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
19840 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
19841 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
19842
19843 * cfgexpand.c (check_operand_nalternatives): Accept vector of
19844 constraints instead of lists of outputs and inputs.
19845 (expand_asm_stmt): Save and restore input_location around the
19846 body of the function. Move asm data into vectors instead of
19847 building tree lists. Generate cleanup sequences as needed,
19848 rather than waiting til the end. Use new md_asm_adjust hook.
19849
19850 * config/vxworks.c: Include vec.h before target.h.
19851 * gimple.c: Likewise.
19852 * incpath.c: Likewise.
19853 * mode-switching.c: Likewise.
19854
19855 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
19856 (cris_md_asm_adjust): this.
19857 (TARGET_MD_ASM_CLOBBERS): Remove.
19858 (TARGET_MD_ASM_ADJUST): New.
19859 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
19860 (ix86_md_asm_adjust): this.
19861 (TARGET_MD_ASM_CLOBBERS): Remove.
19862 (TARGET_MD_ASM_ADJUST): New.
19863 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
19864 (mn10300_md_asm_adjust): this.
19865 (TARGET_MD_ASM_CLOBBERS): Remove.
19866 (TARGET_MD_ASM_ADJUST): New.
19867 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
19868 (rs6000_md_asm_adjust): this.
19869 (TARGET_MD_ASM_CLOBBERS): Remove.
19870 (TARGET_MD_ASM_ADJUST): New.
19871 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
19872 (visium_md_asm_adjust): this.
19873 (TARGET_MD_ASM_CLOBBERS): Remove.
19874 (TARGET_MD_ASM_ADJUST): New.
19875
19876 2015-05-11 Richard Henderson <rth@redhat.com>
19877
19878 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
19879 if noutputs is zero.
19880 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
19881
19882 * cfgexpand.c (expand_asm_operands): Merge into...
19883 (expand_asm_stmt): ... here.
19884
19885 * cfgexpand.c (expand_asm_operands): Don't call
19886 resolve_asm_operand_names.
19887 * stmt.c (resolve_asm_operand_names): Clarify block comment.
19888
19889 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
19890
19891 * dwarf2out.c (gen_member_die): Sanity check that we access
19892 TYPE_MAIN_VARIANT for TYPE_METHODS.
19893 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
19894 checking TYPE_METHODS.
19895 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
19896 if non-null.
19897 (build_distinct_type_copy): Clear TYPE_METHODS.
19898 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
19899 (verify_type): Allow TYPE_METHODS to be error_mark_node.
19900 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
19901
19902 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
19903
19904 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
19905 (emit_pattern_before_setloc): Likewise.
19906
19907 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
19908
19909 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
19910 for define_peephole2s.
19911 (get_peephole2_pattern): New function.
19912 (main): Use it. Call validate_pattern.
19913
19914 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
19915
19916 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
19917 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
19918 (Last callee saved reg is different for AVR_TINY architecture)
19919
19920 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
19921
19922 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
19923 when looking for memory references.
19924
19925 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
19926
19927 PR target/65753
19928 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
19929 via function pointers.
19930
19931 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
19932
19933 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
19934 indirect call by forcing address into a pseudo with -fno-plt.
19935 * common.opt (flag_plt): New option.
19936 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
19937 ([-fno-plt]): Document.
19938
19939 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
19940
19941 PR bootstrap/66105
19942 * config/rs6000/option-defaults.h: Add space between string literal
19943 and macro name.
19944
19945 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
19946
19947 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
19948 accross ARM targets.
19949
19950 2015-05-11 Christian Bruel <christian.bruel@st.com>
19951
19952 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
19953 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
19954
19955 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
19956
19957 PR rtl-optimization/66076
19958 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
19959 Don't grow the heap array if it is already big enough from a
19960 previous iteration.
19961
19962 2015-05-11 Christian Bruel <christian.bruel@st.com>
19963
19964 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
19965 (is_called_in_ARM_mode): Remove.
19966 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
19967 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
19968 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
19969 arm_declare_function_name.
19970
19971 2015-05-11 Christian Bruel <christian.bruel@st.com>
19972
19973 * config/arm/arm.c (arm_option_override): Reoganized and split into :
19974 (arm_option_params_internal); New function.
19975 (arm_option_check_internal): New function.
19976 (arm_option_override_internal): New function.
19977 (thumb_code, thumb1_code): Remove.
19978 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
19979 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
19980 (thumb_code, thumb1_code): Remove.
19981 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
19982
19983 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
19984
19985 * config/alpha/alpha.c (alpha_emit_set_const_1)
19986 (alpha_emit_set_long_const, alpha_extract_integer)
19987 (alpha_legitimate_constant_p, alpha_split_const_mov)
19988 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
19989 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
19990 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
19991 HOST_WIDE_INT_1U.
19992 * config/alpha/predicates.md (mode_mask_operand): Do not match
19993 const_double RTX.
19994 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
19995 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
19996 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
19997 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
19998 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
19999
20000 2015-05-11 Jakub Jelinek <jakub@redhat.com>
20001
20002 PR target/65780
20003 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
20004 default_binds_local_p_2.
20005 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
20006 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
20007
20008 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
20009
20010 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
20011
20012 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
20013
20014 Patch by Richard Biener
20015 * coverage.c (coverage_obj_init): Delay building of type variant
20016 until the type is finished.
20017
20018 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
20019
20020 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
20021 mismatch between C and C++ type; compoare correctly ARG_TYPES
20022 for non-prototypes and output correctly parameter index for METHOD_TYPE.
20023 (odr_types_equivalent_p): Fix wording of warning about attributes;
20024 it is OK to match prototype and non-prototype.
20025
20026 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
20027
20028 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
20029 TYPE_ARG_TYPES list.
20030 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
20031 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
20032
20033 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
20034
20035 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
20036 * tree.h (is_lang_specific): Constify.
20037
20038 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
20039
20040 PR tree-optimization/64454
20041 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
20042 Rewrite.
20043
20044 2015-05-08 Jason Merrill <jason@redhat.com>
20045
20046 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
20047 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
20048 config/darwin.h, config/darwin9.h, config/elfos.h,
20049 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
20050 config/microblaze/microblaze.h, config/mips/mips.h,
20051 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
20052 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
20053 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
20054 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
20055 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
20056 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
20057 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
20058 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
20059 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
20060 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
20061 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
20062 between string literal and macro name.
20063
20064 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20065
20066 * jump.c: Change argument types to rtx_insn *.
20067 * rtl.h: Adjust.
20068
20069 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20070
20071 * lra-constraints.c: Change argument type to rtx_insn *.
20072
20073 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20074
20075 * df-problems.c: Change argument type to rtx_insn *.
20076
20077 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20078
20079 * combine.c: Change argument type to rtx_insn *.
20080
20081 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20082
20083 * rtl.h: Adjust.
20084 * rtlanal.c: Change argument type to rtx_insn *.
20085
20086 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20087
20088 * sched-deps.c: Change argument types to rtx_insn *.
20089 * sched-int.h: Adjust.
20090
20091 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20092
20093 * dwarf2cfi.c: Change argument type to rtx_insn *.
20094
20095 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20096
20097 * ira.c (decrease_live_ranges_number): Changetype of local
20098 variable to rtx_insn *.
20099 * recog.c: Change argument types to rtx_insn *.
20100 * recog.h: Adjust.
20101
20102 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20103
20104 * reorg.c: Change argument types to rtx_insn *.
20105
20106 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20107
20108 * ira-color.c: Change argument types to rtx_insn *.
20109 * lra-eliminations.c: Likewise.
20110 * ira.h: Adjust.
20111
20112 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20113
20114 * gcse.c: Change argument types to rtx_insn *.
20115
20116 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20117
20118 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
20119
20120 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20121
20122 * emit-rtl.c (emit_debug_insn_before): Change argument type to
20123 rtx_insn *.
20124 * rtl.h: Adjust.
20125
20126 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20127
20128 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
20129 * rtl.h: Adjust.
20130
20131 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20132
20133 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
20134 * rtl.h: Adjust.
20135
20136 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20137
20138 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
20139 * rtl.h: Adjust.
20140
20141 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20142
20143 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
20144 * rtl.h: Adjust.
20145
20146 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20147
20148 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
20149 to rtx_insn *.
20150 * rtl.h: Adjust.
20151
20152 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20153
20154 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
20155 to rtx_insn *.
20156 * rtl.h: Likewise.
20157
20158 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20159
20160 * except.c (can_nonlocal_goto): Change type of argument to
20161 rtx_insn *.
20162 * rtl.h: Adjust.
20163
20164 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20165
20166 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
20167 * rtl.h: Adjust.
20168
20169 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20170
20171 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
20172 * cfgrtl.c (can_delete_label_p): Adjust.
20173 * rtl.h: likewise.
20174
20175 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20176
20177 * reorg.c (stop_search_p): Change argument to rtx_insn *.
20178
20179 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20180
20181 * except.c (make_reg_eh_region_note): Change argument to
20182 rtx_insn *.
20183 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
20184 * except.h: Adjust.
20185
20186 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20187
20188 * mode-switching.c (commit_mode_sets): Change type of local
20189 variable from rtx to rtx_insn *.
20190
20191 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
20192
20193 * doc/install.texi (--enable-languages): Add missing jit and lto info.
20194 Add ^ to grep command.
20195 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
20196 arg to last gimple_simplify declaration. Add missing gimple_build
20197 declaration for built-in function case with four tree args.
20198
20199 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
20200 Szabolcs Nagy <szabolcs.nagy@arm.com>
20201
20202 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
20203 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
20204 (GNU_USER_DYNAMIC_LINKERN32): Update.
20205
20206 2015-05-08 Richard Biener <rguenther@suse.de>
20207
20208 PR tree-optimization/66036
20209 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
20210 Handle strided group loads.
20211 (vect_verify_datarefs_alignment): Likewise.
20212 (vect_enhance_data_refs_alignment): Likewise.
20213 (vect_analyze_group_access): Likewise.
20214 (vect_analyze_data_ref_access): Likewise.
20215 (vect_analyze_data_ref_accesses): Likewise.
20216 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
20217 (vectorizable_load): Likewise.
20218
20219 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
20220
20221 * config/rs6000/rs6000.md: Require operand inequality in one
20222 of the peepholes.
20223
20224 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
20225 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
20226
20227 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
20228 from (set ...).
20229 * config/rx/rx.md (movdi, movdf): Likewise.
20230 Likewise for define_peephole2s.
20231
20232 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
20233
20234 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
20235 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
20236 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
20237 vtst_u64): Rewrite using gcc vector extensions.
20238
20239 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
20240
20241 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
20242 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
20243
20244 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
20245
20246 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
20247
20248 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
20249
20250 * config/glibc-stdint.h (OPTION_MUSL): Define.
20251 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
20252 Change the definition based on OPTION_MUSL for 64 bit targets.
20253 * config/linux.h (OPTION_MUSL): Redefine.
20254 * config/alpha/linux.h (OPTION_MUSL): Redefine.
20255 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
20256 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
20257
20258 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
20259 Szabolcs Nagy <szabolcs.nagy@arm.com>
20260
20261 * config.gcc (LIBC_MUSL): New tm_defines macro.
20262 * config/linux.h (OPTION_MUSL): Define.
20263 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
20264 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
20265 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
20266 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
20267 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
20268 * config/linux.opt (mmusl): New option.
20269 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
20270 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
20271 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
20272 * configure: Regenerate.
20273
20274 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
20275 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
20276
20277 PR target/48904
20278 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
20279 * config/i386/knetbsd-gnu64.h: New file.
20280
20281 2015-05-08 Marek Polacek <polacek@redhat.com>
20282
20283 PR c/64918
20284 * doc/invoke.texi: Document -Woverride-init-side-effects.
20285
20286 2015-05-07 Marek Polacek <polacek@redhat.com>
20287
20288 PR c/65179
20289 * doc/invoke.texi: Document -Wshift-negative-value.
20290
20291 2015-05-06 Aditya Kumar <hiraditya@msn.com>
20292
20293 * gcov-tool.c (do_merge): Refactore to remove int ret.
20294 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
20295 !type == FUNC to type != FUNC.
20296 * reload.h (struct target_reload): Changee to type of
20297 x_spill_indirect_levels from bool to unsigned char.
20298
20299 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
20300
20301 * rtl.h (always_void_p): New function.
20302 * gengenrtl.c (always_void_p): Likewise.
20303 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
20304 with code foo are always VOIDmode.
20305 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
20306 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
20307 compare-elim.c, config/aarch64/aarch64.c,
20308 config/aarch64/aarch64.md, config/alpha/alpha.c,
20309 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
20310 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
20311 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
20312 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
20313 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
20314 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
20315 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
20316 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
20317 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
20318 config/ia64/vect.md, config/iq2000/iq2000.c,
20319 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
20320 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
20321 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
20322 config/mep/mep.c, config/microblaze/microblaze.c,
20323 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
20324 config/mn10300/mn10300.c, config/msp430/msp430.c,
20325 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
20326 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
20327 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
20328 config/rs6000/altivec.md, config/rs6000/rs6000.c,
20329 config/rs6000/rs6000.md, config/rs6000/vector.md,
20330 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
20331 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
20332 config/sh/sh.md, config/sh/sh_treg_combine.cc,
20333 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
20334 config/spu/spu.md, config/stormy16/stormy16.c,
20335 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
20336 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
20337 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
20338 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
20339 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
20340 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
20341 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
20342 var-tracking.c: Update calls accordingly.
20343
20344 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
20345
20346 PR middle-end/192
20347 PR middle-end/54303
20348 * varasm.c (function_mergeable_rodata_prefix): New function.
20349 (mergeable_string_section): Use it.
20350 (mergeable_constant_section): Use it.
20351
20352 2015-05-07 Jeff Law <law@redhat.com>
20353
20354 PR target/39726
20355 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
20356 simplifier to narrow arithmetic.
20357 * generic-match-head.c: (types_match, single_use): New functions.
20358 * gimple-match-head.c: (types_match, single_use): New functions.
20359
20360 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
20361
20362 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
20363 rtx type.
20364
20365 2015-05-07 Richard Biener <rguenther@suse.de>
20366
20367 PR tree-optimization/66002
20368 * passes.def: Schedule another pass_merge_phi after ifcombine, right
20369 before phiopt.
20370
20371 2015-05-07 Marek Polacek <polacek@redhat.com>
20372 Martin Uecker <uecker@eecs.berkeley.edu>
20373
20374 * doc/invoke.texi: Document -fsanitize=bounds-strict.
20375 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
20376 into SANITIZE_NONDEFAULT.
20377 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
20378
20379 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
20380
20381 PR target/66015
20382 * config/alpha/alpha.c (alpha_override_options_after_change): New.
20383 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
20384 (alpha_override_options): Move align_loops, align_jumps and
20385 align_functions handling into alpha_override_options_after_change.
20386
20387 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
20388 Chris Jones <chrisj@nvidia.com>
20389 Joshua Conner <jconner@nvidia.com>
20390
20391 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
20392 linking of crtfastmath.o.
20393 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
20394
20395 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
20396
20397 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
20398 (cstore<mode>4_unsigned_imm): New expander.
20399 (cstore<mode>4): Remove empty constraint strings. Use the new
20400 expanders.
20401
20402 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
20403
20404 PR target/64208
20405 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
20406 alternatives.
20407
20408 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
20409
20410 * config/aarch64/geniterators.sh: Use standard BRE in sed.
20411
20412 2015-05-06 Alan Modra <amodra@gmail.com>
20413
20414 PR target/66033
20415 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
20416 (UNSPEC_NOP): Define.
20417 (reload_vsx_from_gpr<mode>): Add missing DONE.
20418 (reload_gpr_from_vsx<mode>): Likewise.
20419 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
20420 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
20421
20422 2015-05-06 Christian Bruel <christian.bruel@st.com>
20423
20424 PR target/66015
20425 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
20426 align_jumps, align_functions into aarch64_override_options_after_change.
20427
20428 2015-05-06 Richard Biener <rguenther@suse.de>
20429
20430 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
20431 vect_transform_slp_perm_load to check if we support a permutation
20432 for basic-block vectorization.
20433
20434 2015-05-06 Nick Clifton <nickc@redhat.com>
20435
20436 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
20437 used, even if it is not being used as a frame pointer.
20438
20439 2015-05-05 Jason Merrill <jason@redhat.com>
20440
20441 * dwarf2out.c (gen_member_die): Don't emit anything for an
20442 anonymous class constructor.
20443
20444 2015-05-05 David Malcolm <dmalcolm@redhat.com>
20445
20446 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
20447 that it reflects the block structure.
20448 (afdo_propagate_edge): Likewise.
20449 (afdo_calculate_branch_prob): Likewise.
20450 (afdo_annotate_cfg): Likewise.
20451 * cfgcleanup.c (equal_different_set_p): Likewise.
20452 (try_crossjump_to_edge): Likewise.
20453 * cgraph.c (cgraph_node::verify_node): Likewise.
20454 * cgraphunit.c (expand_all_functions): Likewise.
20455 * config/i386/i386.c (ix86_expand_copysign): Likewise.
20456 (exact_dependency_1): Likewise.
20457 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
20458 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
20459 * gensupport.c (process_define_subst): Likewise.
20460 * lto-wrapper.c (merge_and_complain): Likewise.
20461 * tree-if-conv.c (if_convertible_bb_p): Likewise.
20462 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
20463 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
20464 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
20465 * tree-vect-loop.c (vectorizable_reduction): Likewise.
20466 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
20467 * tree-vect-stmts.c (vectorizable_shift): Likewise.
20468 * tree-vrp.c (vrp_finalize): Likewise.
20469 * tree.c (variably_modified_type_p): Likewise.
20470
20471 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
20472
20473 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
20474 on darwin12 and later.
20475 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
20476 file to pass -rdynamic on darwin12 and later.
20477 * config/darwin.opt (rdynamic): Add.
20478
20479 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
20480
20481 * doc/extend.texi (C Extensions): Update menu for moved Variable
20482 Attributes and Type Attributes sections.
20483
20484 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
20485
20486 PR target/65990
20487 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
20488 if rep_8byte stringop strategy was specified for 32-bit target.
20489
20490 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
20491
20492 PR target/65915
20493 * config/i386/i386.md (vector convert to float spltiter): Check for
20494 xmm16+, when splitting scalar float conversion.
20495 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
20496
20497 2015-05-05 Nick Clifton <nickc@redhat.com>
20498
20499 * config/msp430/msp430-opts.h (enum msp430_regions): New.
20500 * config/msp430/msp430.c (msp430_override_options): Complain if
20501 -mcode-region or -mdata-region is used on a non MSP430X.
20502 (msp430_section_attr): New function. Checks lower, upper and
20503 either attributes.
20504 (msp430_attribute_table): Add lower, upper and either.
20505 (gen_prefix): New function. Generates a prefix for a section
20506 name.
20507 (msp430_select_section): New function - handles the choice of
20508 section for an object. Takes into account memory region
20509 attributes and options.
20510 (msp430_function_section): Use gen_prefix.
20511 (TARGET_SECTION_TYPE_FLAGS): Define.
20512 (msp430_section_type_flags): New function.
20513 (TARGET_ASM_UNIQUE_SECTION): Define.
20514 (msp430_unique_section): New function.
20515 (msp430_output_aligned_decl_common): New function.
20516 (msp430_do_not_relax_short_jumps): New function.
20517 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
20518 Define.
20519 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
20520 * config/msp430/msp430-protos.h
20521 (msp430_do_not_relax_short_jumps): New prototype.
20522 (msp430_output_aligned_decl_common): New prototype.
20523 * config/msp430/msp430.md (length): New attribute.
20524 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
20525 then use a long code sequence for short jumps.
20526 * config/msp430/msp430.opt (mcode-region): New.
20527 (mdata-region): New.
20528 * doc/invoke.texi: Document new options.
20529 * doc/extend.texi: Document new attributes.
20530
20531 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
20532
20533 * gcc/config/aarch64-protos.h (struct cpu_branch_cost): New.
20534 (tune_params): Add field branch_costs.
20535 (aarch64_branch_cost): Declare.
20536 * gcc/config/aarch64.c (generic_branch_cost): New.
20537 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
20538 (cortexa53_tunings): Likewise.
20539 (cortexa57_tunings): Likewise.
20540 (thunderx_tunings): Likewise.
20541 (xgene1_tunings): Likewise.
20542 (aarch64_branch_cost): Define.
20543 * gcc/config/aarch64/aarch64.h (BRANCH_COST): Redefine.
20544
20545 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
20546
20547 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
20548 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
20549 * config/i386/i386.md: Ditto.
20550 * config/i386/winnt.c: Ditto.
20551
20552 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
20553
20554 * doc/extend.texi (__atomic Builtins): Move implementation details
20555 to the end of the description, rewrite opening paragraphs, state
20556 difference with __sync builtins, state C11/C++11 assumptions,
20557 weaken itemized descriptions, add explanation of memory model
20558 behaviour, expand description of compare-exchange, simplify text.
20559
20560 2015-05-05 Renlin Li <renlin.li@arm.com>
20561
20562 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
20563
20564 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
20565
20566 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
20567 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
20568 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
20569 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
20570 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
20571 * configure: Regenerate.
20572 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
20573 * doc/install.texi (aarch64*-*-*): Document new
20574 --enable-fix-cortex-a53-843419 option.
20575 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
20576 and -mno-fix-cortex-a53-843419 options.
20577
20578 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
20579
20580 PR target/65871
20581 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
20582
20583 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
20584
20585 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
20586 fix overactive TYPE_MIN_VALUE check and add FIXME for type
20587 compatibility problems.
20588
20589 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
20590
20591 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
20592 constraints.
20593 (cbranchsi4_reg): New.
20594 * config/microblaze/microblaze.c
20595 (microblaze_expand_conditional_branch_reg): New.
20596 * config/microblaze/microblaze-protos.h
20597 (microblaze_expand_conditional_branch_reg): New prototype.
20598
20599 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
20600
20601 * config/microblaze/microblaze.md (peephole2): New.
20602
20603 2015-05-04 Jeff Law <law@redhat.com>
20604
20605 Revert:
20606 2015-05-04 Jeff Law <law@redhat.com>
20607
20608 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
20609 simplifier to narrow arithmetic.
20610 * generic-match-head.c: (types_match, single_use): New functions.
20611 * gimple-match-head.c: (types_match, single_use): New functions.
20612
20613 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
20614
20615 PR target/65987
20616 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
20617 (split_branches): Likewise.
20618
20619 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
20620
20621 * common.opt (fdelete-null-pointer-checks): Init to -1.
20622 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
20623 override flag_delete_null_pointer_checks default.
20624 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
20625 behavior re address zero. Better document target-specific behavior.
20626 (-fisolate-errneous-paths-dereference): Mention relationship to
20627 -fdelete-null-pointer-checks.
20628
20629 2015-05-04 Jakub Jelinek <jakub@redhat.com>
20630
20631 PR tree-optimization/65984
20632 * ubsan.c: Include tree-cfg.h.
20633 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
20634 stmt_could_throw_p test, rename can_throw variable to ends_bb.
20635
20636 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
20637
20638 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
20639 to CONST_DOUBLE_P predicate.
20640 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
20641 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
20642 allow only operands that satisfy standard_sse_constant_p predicate.
20643 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
20644 to CONST_DOUBLE_P predicate.
20645
20646 2015-05-04 Jeff Law <law@redhat.com>
20647
20648 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
20649 simplifier to narrow arithmetic.
20650 * generic-match-head.c: (types_match, single_use): New functions.
20651 * gimple-match-head.c: (types_match, single_use): New functions.
20652
20653 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
20654
20655 * config/arm/arm.c: Restore bootstrap.
20656
20657 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
20658
20659 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
20660 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
20661 as CONST_WIDE_INT, not CONST_DOUBLE.
20662 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
20663 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
20664 (ix86_find_base_term): Do not check for CONST_DOUBLE.
20665 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
20666 (ix86_build_signbit_mask): Rewrite using wide ints.
20667 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
20668 (ix86_rtx_costs): Handle CONST_WIDE_INT.
20669 (find_constant): Ditto.
20670 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
20671 using gen_int_mode.
20672 * config/i386/predicates.md (x86_64_immediate_operand)
20673 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
20674 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
20675 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
20676 (const0_operand): Also match const_wide_int.
20677 (constm1_operand): Ditto.
20678 (const1_operand): Ditto.
20679
20680 2015-05-04 Richard Biener <rguenther@suse.de>
20681
20682 PR tree-optimization/65965
20683 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
20684 store groups at gaps.
20685
20686 2015-05-04 Richard Biener <rguenther@suse.de>
20687
20688 PR tree-optimization/65935
20689 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
20690 then make sure to apply that swapping to the IL.
20691
20692 2015-05-04 Jakub Jelinek <jakub@redhat.com>
20693
20694 * Makefile.in (PATCHLEVEL_c): New variable.
20695 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
20696 expand the same way as if DEVPHASE_c was non-empty.
20697
20698 2015-05-04 Kai Tietz <ktietz@redhat.com>
20699
20700 PR target/65559
20701 * lto-wrapper.c (run_gcc): Open filename
20702 in binary-mode.
20703
20704 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
20705
20706 * doc/extend.texi (Variable Attributes, Type Attributes): Move
20707 sections up in file, to immediately after the Function Attributes
20708 section.
20709
20710 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
20711
20712 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
20713
20714 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20715
20716 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
20717 (insert_partition_copy_on_edge): Adjust.
20718 (insert_rtx_to_part_on_edge): Likewise.
20719 (insert_part_to_rtx_on_edge): Likewise.
20720
20721 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20722
20723 * function.c (set_return_jump_label): Change type of argument to
20724 rtx_insn *.
20725 * function.h (set_return_jump_label): Adjust.
20726
20727 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20728
20729 * reload.h (struct reg_equivs_t): Change type of init to
20730 rtx_insn *.
20731 * ira.c (fix_reg_equiv_init): Adjust.
20732 * reload1.c (eliminate_regs_1): Likewise.
20733 (init_eliminable_invariants): Likewise.
20734
20735 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20736
20737 * cselib.c (fp_setter_insn): Take a rtx_insn *.
20738 * cselib.h (fp_setter_insn): Adjust.
20739
20740 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20741
20742 * recog.c (struct validate_replace_src_data): Change type of
20743 insn field to rtx_insn *.
20744 (validate_replace_src_group): Change type of argument to rtx_insn *.
20745 * recog.h (validate_replace_src_group): Adjust.
20746
20747 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20748
20749 * haifa-sched.c: Change the type of some variables to rtx_insn *.
20750 * sched-deps.c: Likewise.
20751 * sched-int.h: Likewise.
20752 * sched-rgn.c: Likewise.
20753 * sel-sched.c: Likewise.
20754
20755 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20756
20757 to rtx_insn *.
20758 * config/i386/i386.c: Change the type of some arguments to
20759 rtx_insn *.
20760 * config/arm/arm.c: Likewise.
20761
20762 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20763
20764 * lra-constraints.c: Change type of some arguments to rtx_insn *.
20765
20766 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20767
20768 * regcprop.c (kill_autoinc_value): Change type of argument to
20769 rtx_insn *.
20770
20771 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20772
20773 * genrecog.c (print_subroutine): Adjust.
20774 * recog.c (get_bool_attr_mask_uncached): Likewise.
20775 * recog.h (struct recog_data_d): Change the type of insn to
20776 rtx_insn *.
20777
20778 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20779
20780 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
20781
20782 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20783
20784 * df-problems.c (df_set_note): Change type of argument to
20785 rtx_insn *.
20786
20787 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
20788
20789 * builtins.c (expand_builtin_trap): Change type of local
20790 variable to rtx_insn *.
20791 (add_sched_insns_for_speculation): Likewise.
20792 (ix86_emit_save_regs): Likewise.
20793 (get_scratch_register_on_entry): Likewise.
20794 (ix86_emit_restore_reg_using_pop): Likewise.
20795 (ix86_emit_leave): Likewise.
20796 (ix86_emit_restore_regs_using_mov): Likewise.
20797 (ix86_expand_epilogue): Likewise.
20798 Likewise.
20799 (rl78_alloc_physical_registers_umul): Likewise.
20800 * cselib.c (discard_useless_locs): Likewise.
20801 (cselib_invalidate_regno): Likewise.
20802 (cselib_invalidate_mem): Likewise.
20803 * function.c (expand_function_start): Likewise.
20804 (emit_use_return_register_into_block): Likewise.
20805 * gcse.c: Likewise.
20806 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
20807 * ifcvt.c (noce_get_alt_condition): Likewise.
20808 * loop-doloop.c (doloop_condition_get): Likewise.
20809 * lra-constraints.c (inherit_in_ebb): Likewise.
20810 * modulo-sched.c (sms_schedule_by_order): Likewise.
20811 * recog.c (next_insn_tests_no_inequality): Likewise.
20812 * reorg.c (emit_delay_sequence): Likewise.
20813 (update_reg_dead_notes): Likewise.
20814 (fix_reg_dead_note): Likewise.
20815 (fill_slots_from_thread): Likewise.
20816 (delete_computation): Likewise.
20817
20818 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
20819
20820 * doc/extend.texi (Variable Attributes): Add menu and proper
20821 @nodes to subsections. Move Microsoft Windows attributes to
20822 their own subsection.
20823 (Type Attributes): Reorganize introduction to remove duplicate
20824 list of attributes. Add menu and proper @nodes to subsections.
20825 Alphabetize the main table of common attributes.
20826
20827 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
20828
20829 * match.pd: New simplification patterns.
20830 (x + (x & 1)) -> ((x + 1) & ~1)
20831 (x & ~(x & y)) -> ((x & ~y))
20832 (x | ~(x | y)) -> ((x | ~y))
20833
20834 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20835
20836 * target.def (attribute_table): Mention that struct attribute_spec
20837 is defined in tree-core.h rather than tree.h
20838 * doc/tm.texi: Regenerate.
20839
20840 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
20841
20842 * genrecog.c (test): Rename to rtx_test. Update rest of file
20843 accordingly.
20844
20845 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
20846
20847 PR translation/65959
20848 * params.h (DEFPARAM): Rename msgid to nocmsgid.
20849
20850 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
20851
20852 * gcc/config/aarch64/aarch64-protos.h (tune_params):
20853 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
20854 * gcc/config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
20855 Return value depending on target.
20856 (generic_tunings): Initialize new target settings.
20857 (cortexa53_tunings): Likewise.
20858 (cortexa57_tunings): Likewise.
20859 (thunderx_tunings): Likewise.
20860 (xgene1_tunings): Likewise.
20861
20862 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
20863
20864 * gcc/config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
20865 Make Cortex-A53 shift costs more accurate.
20866
20867 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20868
20869 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
20870 UNSIGNED_FLOAT.
20871
20872 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
20873
20874 * gcc/config/aarch64/aarch64.c (aarch64_rtx_costs):
20875 Calculate cost of op0 and op1 in PLUS and MINUS cases.
20876
20877 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20878
20879 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
20880 Add cost of op0 in the compare-with-fpzero case.
20881
20882 2015-04-30 David Malcolm <dmalcolm@redhat.com>
20883
20884 * builtins.c (fold_builtin_1): Remove spurious second
20885 semicolon.
20886 * cgraph.h (symtab_node::get_availability): Likewise.
20887 * opts.c (common_handle_option): Remove spurious second semicolon.
20888 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
20889 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
20890
20891 2015-04-30 Caroline Tice <cmtice@google.com>
20892
20893 PR gcov-profile/65929
20894 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
20895 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
20896 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
20897 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
20898 * doc/tm.texi: Regenerate.
20899 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
20900 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
20901 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
20902 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
20903
20904 2015-04-30 Marek Polacek <polacek@redhat.com>
20905
20906 * varasm.c (handle_cache_entry): Fix logic.
20907
20908 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20909
20910 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
20911 (*extrsi5_insn_uxtw_alt): Likewise.
20912 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
20913 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
20914 operations.
20915
20916 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20917
20918 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
20919 fabd in ABS case.
20920
20921 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20922
20923 * config/aarch64/aarch64.md
20924 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
20925 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
20926 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
20927 appropriately. Handle alternative EON form.
20928
20929 2015-04-30 Renlin Li <renlin.li@arm.com>
20930
20931 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
20932 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
20933
20934 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
20935
20936 PR ipa/65873
20937 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
20938 -fstrict-aliasing boundaries.
20939
20940 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20941
20942 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
20943 and [SU]MNEGL patterns.
20944
20945 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20946
20947 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
20948 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
20949 combined arithmetic-shift ops. Properly handle all shift and extend
20950 operations that can occur in combination with PLUS/MINUS.
20951 Rename maybe_fma to compound_p.
20952 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
20953 arithmetic and shift operations.
20954
20955 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
20956
20957 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
20958 rather than arith_shift cost when costing ADD/MINUS of an
20959 extended value.
20960
20961 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
20962
20963 PR lto/65948
20964 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
20965 to itself.
20966
20967 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
20968
20969 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
20970 are for the same position.
20971
20972 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
20973
20974 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
20975 vectorize_loops.
20976 (vectorize_loops): Use it.
20977
20978 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
20979
20980 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
20981 for aggregate types.
20982 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
20983 type to be non_ODR.
20984 * tree.c (need_assembler_name_p): Compute mangled name for
20985 non-fundamental types and integer types.
20986
20987 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
20988
20989 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
20990 manual swaps.
20991 * expr.c (expand_expr_real_2): Likewise.
20992
20993 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
20994
20995 * tree.c (build_common_builtin_nodes): Do not build
20996 __builtin_alloca_with_align as equivalent of library alloca.
20997
20998 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
20999
21000 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
21001 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
21002 bugus variants.
21003 * tree.c: Include print-tree.h and ipa-utils.h
21004 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
21005 (free_lang_data_in_cgraph): Call verify_type.
21006 (verify_type_variant): New function.
21007 (verify_type): New function.
21008 * tree.h (verify_type): Declare.
21009
21010 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
21011
21012 * config/mips/mips-cpus.def: (mips4): Change default processor
21013 from PROCESSOR_R8000 to PROCESSOR_R10000.
21014
21015 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
21016
21017 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
21018 la/jalr instead of jal.
21019
21020 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
21021
21022 PR target/65871
21023 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
21024 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
21025 (setcc+movzbl peephole2): Check also clobbered reg.
21026 (setcc+andl peephole2): Ditto.
21027
21028 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
21029
21030 PR libgomp/65099
21031 * config/nvptx/mkoffload.c (target_ilp32): New variable.
21032 (main): Set it depending on "-foffload-abi=[...]".
21033 (compile_native, main): Use it to pass "-m32" or "-m64" to the
21034 compiler.
21035
21036 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
21037
21038 PR target/65770
21039 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
21040 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
21041 Flip lane index back at assembly time for bigendian.
21042
21043 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
21044
21045 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
21046 * gimplify.c (gimplify_omp_workshare): Use it.
21047
21048 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
21049
21050 * Makefile.in (build/genrecog.o): Depend on inchash.h.
21051 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
21052 build/inchash.o
21053 * genrecog.c: Rewrite most of the code except for the third page.
21054
21055 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
21056
21057 * inchash.h, inchash.c: Include bconfig.h for build objects.
21058 * Makefile.in (build/inchash.o): New rule.
21059
21060 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
21061
21062 PR target/65924
21063 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
21064 number in type attribute expression.
21065
21066 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
21067
21068 * loop-iv.c (canon_condition): Generalize to all types of integer
21069 constant.
21070
21071 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
21072
21073 * gimple-walk.c: Prune duplicate or unneeded includes.
21074 (walk_gimple_asm): Only call parse_input_constraint or
21075 parse_output_constraint if their findings are used.
21076 Honour parse_input_constraint and parse_output_constraint
21077 result.
21078
21079 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
21080
21081 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
21082
21083 2015-04-29 Tom de Vries <tom@codesourcery.com>
21084
21085 PR tree-optimization/65893
21086 * passes.def (pass_all_optimizations): Move pass_stdarg to after
21087 pass_dce.
21088
21089 2015-04-29 Richard Biener <rguenther@suse.de>
21090
21091 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
21092 compute GROUP_SIZE for basic-block SLP.
21093 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
21094 take into account gaps.
21095 (vect_get_mask_element): Properly reject references to previous
21096 vectors.
21097 (vect_transform_slp_perm_load): Likewise.
21098
21099 2015-04-29 Christian Bruel <christian.bruel@st.com>
21100
21101 PR target/64835
21102 * config/i386/i386.c (ix86_default_align): New function.
21103 (ix86_override_options_after_change): Call ix86_default_align.
21104 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
21105 (ix86_override_options_after_change): New function.
21106
21107 2015-04-28 Jeff Law <law@redhat.com>
21108
21109 * tree-ssa-dom.c (record_equality); Fix comment typos.
21110
21111 2015-04-28 Tom de Vries <tom@codesourcery.com>
21112
21113 PR tree-optimization/65887
21114 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
21115
21116 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
21117
21118 * doc/extend.texi (Declaring Attributes of Functions): Split into
21119 subsections by target. Alphabetize the table of common attributes.
21120 Rewrite some of the introductory text to reflect the new structure.
21121 Update some cross-references to point to the new subsections.
21122 (Attribute Syntax): Put paragraph about "__" naming here. Remove
21123 duplicate copies in the discussion of function, label, and type
21124 attributes.
21125
21126 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
21127
21128 PR bootstrap/65910
21129 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
21130
21131 2015-04-28 Jason Merrill <jason@redhat.com>
21132
21133 PR c++/65734
21134 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
21135 (finalize_type_size): Respect TYPE_USER_ALIGN.
21136 (layout_type) [ARRAY_TYPE]: Likewise.
21137
21138 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
21139
21140 * config/arm/arm.md (*arm_movt): Fix type attribute.
21141 (*cmpsi_shiftsi): Likewise.
21142 (*cmpsi_shiftsi_swp): Likewise.
21143 (*movsicc_insn): Likewise.
21144 (*cond_move): Likewise.
21145 (*if_plus_move): Likewise.
21146 (*if_move_plus): Likewise.
21147 (*if_arith_move): Likewise.
21148 (*if_move_arith): Likewise.
21149 (*if_shift_move): Likewise.
21150 (*if_move_shift): Likewise.
21151 (*arm_movtas_ze): Likewise.
21152 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
21153 redundancy and type attribute.
21154 (*thumb2_movsi_insn): Fix type attribute.
21155 (*thumb2_addsi_short): Likewise.
21156 (thumb2_addsi3_compare0): Likewise.
21157 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
21158 attributes accordingly.
21159
21160 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
21161
21162 PR other/65911
21163 * function.c (pad_to_arg_alignment): Add parentheses.
21164
21165 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
21166
21167 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
21168 libgcc/config/frv/elf-lib.h.
21169
21170 2015-04-28 Tom de Vries <tom@codesourcery.com>
21171
21172 * tree-call-cdce.c: Fix example in header comment.
21173
21174 2015-04-28 Richard Biener <rguenther@suse.de>
21175
21176 PR tree-optimization/62283
21177 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
21178 fails fatally and we are vectorizing a basic-block simply
21179 cause the child to be constructed piecewise.
21180 (vect_analyze_slp_cost_1): Adjust.
21181 (vect_detect_hybrid_slp_stmts): Likewise.
21182 (vect_bb_slp_scalar_cost): Likewise.
21183 (vect_get_constant_vectors): For piecewise constructed
21184 constants place them after the last def.
21185 (vect_get_slp_defs): Adjust.
21186 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
21187 externals for basic-block vectorization.
21188
21189 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
21190
21191 PR target/63503
21192 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
21193 aarch64-*-*.
21194 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
21195 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
21196 (AARCH64_TUNE_FMA_STEERING): Likewise.
21197 * config/aarch64/aarch64-cores.def: Set
21198 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
21199 FMUL/FMADD instructions.
21200 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
21201 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
21202 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
21203 * config/aarch64/cortex-a57-fma-steering.h: New file.
21204 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
21205
21206 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
21207
21208 * gensupport.c (std_preds): Add missing codes to address_operand entry.
21209
21210 2015-04-28 Richard Biener <rguenther@suse.de>
21211
21212 PR tree-optimization/65851
21213 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
21214 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
21215 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
21216 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
21217 (ccp_visit_phi_node): Adjust.
21218 (evaluate_stmt): For simplifications to SSA names return its
21219 lattice value if that isn't VARYING. Return immediately when
21220 simplified to a constant.
21221 (visit_assignment): Adjust.
21222 (ccp_visit_stmt): Likewise.
21223
21224 2015-04-28 Tom de Vries <tom@codesourcery.com>
21225
21226 PR tree-optimization/65818
21227 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
21228 evaluated.
21229
21230 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21231
21232 * calls.c (save_fixed_argument_area): Don't check
21233 ARGS_GROW_DOWNWARD with the preprocessor.
21234 (restore_fixed_argument_area): Likewise.
21235 (mem_overlaps_already_clobbered_arg_p): Likewise.
21236 (check_sibcall_argument_overlap): Likewise.
21237 (expand_call): Likewise.
21238 (emit_library_call_value_1): Likewise.
21239 (store_one_arg): Likewise.
21240 * function.c (assign_parms): Likewise.
21241 (locate_and_pad_parm): Likewise.
21242 (pad_to_arg_alignment): Likewise.
21243 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
21244
21245 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21246
21247 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
21248 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
21249 * calls.c (save_fixed_argument_area): Don't chekc if
21250 ARGS_GROW_DOWNWARD is defined.
21251 (restore_fixed_argument_area): Likewise.
21252 (mem_overlaps_already_clobbered_arg_p): Likewise.
21253 (check_sibcall_argument_overlap): Likewise.
21254 (expand_call): Likewise.
21255 (emit_library_call_value_1): Likewise.
21256 (store_one_arg): Likewise.
21257 * function.c (assign_parms): Likewise.
21258 (locate_and_pad_parm): Likewise.
21259 (pad_to_arg_alignment): Likewise.
21260 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
21261
21262 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21263
21264 * defaults.h (gen_epilogue): New function.
21265 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
21266 defined.
21267 * cfgrtl.c (cfg_layout_finalize): Likewise.
21268 * df-scan.c: Likewise.
21269 * function.c (thread_prologue_and_epilogue_insns): Likewise.
21270 (reposition_prologue_and_epilogue_notes): Likewise.
21271 * reorg.c (find_end_label): Likewise.
21272 * toplev.c: Likewise.
21273
21274 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21275
21276 * bb-reorder.c (HAVE_return): Don't check if its undefined.
21277 * defaults.h (gen_simple_return): New function.
21278 (gen_simple_return): Likewise.
21279 (HAVE_return): Add default definition to false.
21280 (HAVE_simple_return): Likewise.
21281 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
21282 HAVE_return and HAVE_simple_return are defined.
21283 * function.c (gen_return_pattern): Likewise.
21284 (convert_jumps_to_returns): Likewise.
21285 (thread_prologue_and_epilogue_insns): Likewise.
21286 * reorg.c (find_end_label): Likewise.
21287 (dbr_schedule): Likewise.
21288 * shrink-wrap.c: Likewise.
21289 * shrink-wrap.h: Likewise.
21290
21291 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21292
21293 * defaults.h (EPILOGUE_USES): Add default definition of false.
21294 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
21295 * resource.c (init_resource_info): Likewise.
21296
21297 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21298
21299 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
21300 to false.
21301 * dwarf2out.c (field_byte_offset): REmove check if
21302 PCC_BITFIELD_TYPE_MATTERS is defined.
21303 * stor-layout.c (layout_decl): Likewise.
21304 (update_alignment_for_field): Likewise.
21305 (place_field): Likewise.
21306
21307 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21308
21309 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
21310 true.
21311 * regrename.c (check_new_reg_p): Remove check if
21312 HARD_REGNO_RENAME_OK is defined.
21313 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
21314
21315 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
21316
21317 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
21318 * cse.c (fold_rtx): Likewise.
21319 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
21320 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
21321 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
21322 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
21323 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
21324 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
21325 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
21326 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
21327 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
21328 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
21329 * Likewise.
21330 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
21331 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
21332 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
21333 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
21334 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
21335 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
21336 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
21337 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
21338 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
21339 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
21340 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
21341 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
21342 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
21343 * doc/tm.texi: Regenerate.
21344 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
21345 either true or false.
21346
21347 2015-04-27 Jeff Law <law@redhat.com>
21348
21349 PR tree-optimization/65217
21350 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
21351 of them has a single use, make sure it is the LHS of the implied
21352 copy.
21353
21354 2015-04-28 Alan Modra <amodra@gmail.com>
21355
21356 PR target/65810
21357 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
21358 (offsettable_ok_by_alignment): Use minimum of decl and toc
21359 pointer alignment. Replace dead code with assertion.
21360 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
21361 case if size exceeds toc pointer alignment.
21362 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
21363 (rs6000_emit_move): Likewise.
21364 * configure.ac: Add linker toc pointer alignment check.
21365 * configure: Regenerate.
21366 * config.in: Regenerate.
21367
21368 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
21369
21370 * config.gcc: Add h8300-*-linux.
21371 * config/h8300/linux.h: New.
21372 * config/h8300/t-linux: New.
21373 * config/h8300/h8300.c (h8300_option_override): Normal mode
21374 is not supported for h8300-*-linux.
21375 (h8300_file_start): Target priority change.
21376 (get_shift_alg): Likewise.
21377 (h8300_shift_need_scratch_p): Likewise.
21378 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
21379 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
21380
21381 2015-04-27 Caroline Tice <cmtice@google.com>
21382
21383 * final.c (final_scan_insn): Output cold_function_name as function
21384 type.
21385 * varasm.c (cold_function_name): Make global.
21386 (assemble_start_function): Re-set cold_function_name.
21387 (assemble_end_function): Output cold partition size.
21388 * varasm.h (cold_function_name): Declare global.
21389
21390 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
21391
21392 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
21393 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
21394 constraint.
21395 (*movxi_internal_avx512f): Ditto.
21396 (define_split): Check for xmm16+, when splitting scalar float_extend.
21397 (*extendsfdf2_mixed): Use "v" constraint.
21398 (define_split): Check for xmm16+, when splitting scalar float_truncate.
21399 (*truncdfsf_fast_sse): Use "v" constraint.
21400 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
21401 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
21402 (define_peephole2): Check for xmm16+, when converting scalar
21403 float_truncate.
21404 (define_peephole2): Check for xmm16+, when converting scalar
21405 float_extend.
21406 (*fop_<mode>_comm_mixed): Use "v" constraint.
21407 (*fop_<mode>_comm_sse): Ditto.
21408 (*fop_<mode>_1_mixed): Ditto.
21409 (*sqrt<mode>2_sse): Ditto.
21410 (*ieee_s<ieee_maxmin><mode>3): Ditto.
21411
21412 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21413
21414 * combine.c (simplify_if_then_else): Use std::swap instead
21415 of manually swapping.
21416 (known_cond): Likewise.
21417 (simplify_comparison): Likewise.
21418
21419 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
21420
21421 PR target/64579
21422 * config/rs6000/htm.md: Remove all define_expands.
21423 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
21424 UNSPECV_HTM_TABORTWCI): Remove.
21425 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
21426 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
21427 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
21428 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
21429 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
21430 tabortwci_internal): Remove define_insns.
21431 (tabort<wd>c, tabort<wd>ci): New define_insns.
21432 (tabort): Use gpc_reg_operand.
21433 (tcheck): Remove operand.
21434 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
21435 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
21436 expected value.
21437 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
21438 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
21439 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
21440 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
21441 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
21442 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
21443 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
21444 (tcheck): Remove builtin argument.
21445 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
21446 not TARGET_64BIT.
21447 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
21448 tabortdc and tabortdci builtins when not in 64-bit mode.
21449 Modify code to handle the loss of the HTM define_expands.
21450 Emit code to copy the CR register to TARGET.
21451 (htm_init_builtins): Modify code to handle the loss of the HTM
21452 define_expands.
21453 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
21454 (RS6000_BTC_64BIT): Likewise.
21455 (RS6000_BTC_CR): New macro.
21456 * doc/extend.texi: Update documentation for htm builtins.
21457
21458 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21459
21460 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
21461 of manually swapping.
21462 (simplify_associative_operation): Likewise.
21463 (simplify_binary_operation): Likewise.
21464 (simplify_plus_minus): Likewise.
21465 (simplify_relational_operation): Likewise.
21466 (simplify_ternary_operation): Likewise.
21467
21468 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
21469
21470 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
21471 (xs_hi_nonmemory_operand): Remove error.
21472 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
21473 general_operand rather than xs_hi_general_operand.
21474
21475 2015-04-27 Richard Biener <rguenther@suse.de>
21476
21477 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
21478 (record_equivalences_from_stmt): Valueize rhs.
21479 (record_equality): Canonicalize x and y order via
21480 tree_swap_operands_p. Do not swap operands for same loop depth.
21481
21482 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
21483
21484 PR target/65296
21485 PR target/65895
21486 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
21487 Add hint how to use own spec file.
21488
21489 2015-04-27 Jakub Jelinek <jakub@redhat.com>
21490
21491 PR tree-optimization/65875
21492 * tree-vrp.c (update_value_range): If in is_new case setting
21493 old_vr to VR_VARYING, also set new_vr to it. Remove
21494 old_vr->type == VR_VARYING test.
21495 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
21496 SSA_PROP_INTERESTING if update_value_range returned true,
21497 but new range is VR_VARYING.
21498
21499 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
21500
21501 * combine.c (sign_extend_short_imm): New.
21502 (set_nonzero_bits_and_sign_copies): Use above new function for sign
21503 extension of src short immediate.
21504 (reg_nonzero_bits_for_combine): Likewise for tem.
21505
21506 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
21507
21508 * stor-layout.c (self_referential_component_ref_p): New predicate.
21509 (copy_self_referential_tree_r): Use it.
21510 (self_referential_size): Punt for simple operations directly involving
21511 self-referential component references.
21512 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
21513
21514 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
21515
21516 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
21517
21518 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
21519
21520 * vec.h (vec): Make splice arguments const. Update definitions
21521 accordingly.
21522
21523 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
21524
21525 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
21526 alternatives.
21527
21528 2015-04-26 Tom de Vries <tom@codesourcery.com>
21529
21530 PR tree-optimization/65826
21531 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
21532
21533 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
21534
21535 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
21536 (*madd3<mode>): Ditto.
21537 (*msub4<mode>): Ditto.
21538 (*msub3<mode>): Ditto.
21539 (*nmadd4<mode>): Ditto.
21540 (*nmadd3<mode>): Ditto.
21541 (*nmadd4<mode>_fastmath): Ditto.
21542 (*nmadd3<mode>_fastmath): Ditto.
21543 (*nmsub4<mode>): Ditto.
21544 (*nmsub3<mode>): Ditto.
21545 (*nmsub4<mode>_fastmath): Ditto.
21546 (*nmsub3<mode>_fastmath): Ditto.
21547
21548 2015-04-24 Jason Merrill <jason@redhat.com>
21549
21550 PR c++/50800
21551 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
21552 down when building TYPE_CANONICAL.
21553 (build_pointer_type_for_mode): Likewise.
21554
21555 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
21556
21557 * genrecog.c (validate_pattern): Check matching constraint refers
21558 to a lower numbered operand.
21559
21560 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
21561
21562 PR target/65849
21563 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
21564 save to independent variables use the Save attribute. This will
21565 allow these options to be modified with the #pragma/attribute
21566 target support.
21567 (-mallow-movmisalign): Likewise.
21568 (-mallow-df-permute): Likewise.
21569 (-msched-groups): Likewise.
21570 (-malways-hint): Likewise.
21571 (-malign-branch-targets): Likewise.
21572 (-mvectorize-builtins): Likewise.
21573 (-msave-toc-indirect): Likewise.
21574
21575 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
21576 can be set via the #pragma/attribute target support.
21577 (rs6000_opt_vars): Likewise.
21578 (rs6000_inner_target_options): If VSX was set, also set
21579 -mno-avoid-indexed-addresses.
21580
21581 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21582
21583 * config/arm/iterators.md (shiftable_ops): Rename to...
21584 (SHIFTABLE_OPS): ... This. Update use in comments.
21585 (ior_xor): Rename to...
21586 (IOR_XOR): ... This.
21587 (vqh_ops): Rename to...
21588 (VQH_OPS): ... This.
21589 (vqhs_ops): Rename to...
21590 (VQHS_OPS): ... This.
21591 (rshifts): Rename to...
21592 (RSHIFTS): ... This.
21593 (returns): Rename to...
21594 (RETURNS): ... This.
21595 * config/arm/arm.md: Update uses of the above.
21596 * config/arm/neon.md: Likewise.
21597
21598 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21599
21600 * config.host (case ${host}): Add aarch64*-*-linux case.
21601 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
21602 fields to all the cores.
21603 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
21604 Add MCPU_MTUNE_NATIVE_SPECS.
21605 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
21606 field to all extensions.
21607 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
21608 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
21609 Adjust definition of AARCH64_OPT_EXTENSION.
21610 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
21611 (MCPU_MTUNE_NATIVE_SPECS): Define.
21612 * config/aarch64/driver-aarch64.c: New file.
21613 * config/aarch64/x-arch64: New file.
21614 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
21615 -mtune and -march.
21616
21617 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
21618 Wei Mi <wmi@google.com>
21619
21620 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
21621 * config/i386/i386.c (extract_base_offset_in_addr): New function.
21622 (ix86_operands_ok_for_move_multiple): Ditto.
21623 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
21624 (movlpd/movhpd to movupd peephole2): Ditto.
21625
21626 2015-04-24 Marek Polacek <polacek@redhat.com>
21627
21628 PR c/61534
21629 * input.h (from_macro_expansion_at): Define.
21630
21631 PR c/63357
21632 * doc/invoke.texi: Update description of -Wlogical-op.
21633
21634 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
21635
21636 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
21637 ternary operator in fprintf and harmonize spacing.
21638
21639 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
21640
21641 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
21642 Mark operand1 commutative.
21643
21644 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
21645
21646 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
21647 input operands in memory.
21648 (*vec_concatv2si_sse4_1): Ditto.
21649 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
21650 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
21651 register_operand.
21652 (vec_extract_hi_v32hi): Ditto.
21653 (vec_extract_hi_v64hi): Ditto.
21654 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
21655
21656 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
21657 Steven Bosscher <steven@gcc.gnu.org>
21658
21659 PR rtl-optimization/34503
21660 * cprop.c (cprop_reg_p): New.
21661 (hash_scan_set): Use above function to check if register can be
21662 propagated.
21663 (find_avail_set): Return up to two sets, one whose source is a
21664 register and one whose source is a constant. Sets are returned in an
21665 array passed as parameter rather than as a return value.
21666 (cprop_insn): Use a do while loop rather than a goto. Try each of the
21667 sets returned by find_avail_set, starting with the one whose source is
21668 a constant. Use cprop_reg_p to check if register can be propagated.
21669 (do_local_cprop): Use cprop_reg_p to check if register can be
21670 propagated.
21671 (implicit_set_cond_p): Likewise.
21672
21673 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
21674
21675 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
21676 (sem_function::equals): IGNORED_NODES parameter is now unused;
21677 update call of equals_private.
21678 (sem_function::equals_private): Do not call equals_wpa; skip
21679 gimple body matching if there is no body.
21680 (sem_function::init): Add logic to hash tthunk info.
21681 (sem_function::parse): Also parse thunks.
21682 * ipa-icf.h (equals_private): Update declaration.
21683
21684 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21685
21686 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
21687 asterisk from name so this can be generated directly.
21688 (*altivec_stvx_<mode>_internal): Likewise.
21689 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
21690 that this is never called during or after reload/lra.
21691 (rs6000_frame_related): Remove split_reg
21692 argument and logic that references it.
21693 (emit_frame_save): Remove last parameter from call to
21694 rs6000_frame_related.
21695 (rs6000_emit_prologue): Remove last parameter from eight calls to
21696 rs6000_frame_related. Force generation of stvx instruction for
21697 Altivec register saves. Remove split_reg handling, which is no
21698 longer needed.
21699 (rs6000_emit_epilogue): Force generation of lvx instruction for
21700 Altivec register restores.
21701
21702 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21703
21704 * config/rs6000/rs6000.opt (mcrypto): Change option description to
21705 match category changes in ISA 2.07B.
21706
21707 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21708
21709 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
21710 iterators.
21711 (cmp_op, cmp_type): New code attributes.
21712 (NEON_VCMP, NEON_VACMP): New int iterators.
21713 (cmp_op_unsp): New int attribute.
21714 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
21715 (neon_vceq<mode>): Delete.
21716 (neon_vc<cmp_op><mode>_insn): New pattern.
21717 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
21718 (neon_vcgeu<mode>): Delete.
21719 (neon_vcle<mode>): Likewise.
21720 (neon_vclt<mode>: Likewise.
21721 (neon_vcage<mode>): Likewise.
21722 (neon_vcagt<mode>): Likewise.
21723 (neon_vca<cmp_op><mode>): New define_expand.
21724 (neon_vca<cmp_op><mode>_insn): New pattern.
21725 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
21726
21727 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
21728
21729 * tree.h (attribute_value_equal): Declare.
21730 * tree.c (attribute_value_equal): Export.
21731
21732 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
21733
21734 * ipa-icf.c (sem_item::compare_attributes): New function.
21735 (sem_item::compare_referenced_symbol_properties): Compare variable
21736 attributes.
21737 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
21738 (sem_function::param_used_p): New function.
21739 (sem_function::equals_wpa): Fix attribute comparsion; match
21740 parameter type codes; do not compare paremter flags when
21741 they are not used; compare edge flags; compare indirect calls.
21742 (sem_item::update_hash_by_addr_refs): Hash reference type.
21743 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
21744 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
21745 reference use type.
21746 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
21747 * ipa-icf.h (compare_attributes, param_used_p): Declare.
21748
21749 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
21750
21751 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
21752 cleanup.
21753 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
21754 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
21755 (sem_item::compare_referenced_symbol_properties): New.
21756 (sem_item::hash_referenced_symbol_properties): New.
21757 (sem_item::compare_cgraph_references): Rename to ...
21758 (sem_item::compare_symbol_references): ... this one; use
21759 compare_referenced_symbol_properties.
21760 (sem_function::equals_wpa): Do not compare
21761 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
21762 DECL_IS_OPERATOR_NEW; compare pointer sizes.
21763 (sem_item::update_hash_by_addr_refs): Call
21764 hash_referenced_symbol_properties.
21765 (sem_item::update_hash_by_local_refs): Cleanup.
21766 (sem_function::merge): Do not mix up symbol properties.
21767 (sem_variable::equals_wpa): Use compare_symbol_references.
21768 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
21769 (sem_item::hash_referenced_symbol_properties): New.
21770 (sem_item::compare_symbol_references): New.
21771 (sem_item::compare_cgraph_references): Remove.
21772
21773 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
21774
21775 PR target/26702
21776 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
21777 Emit size of local.
21778
21779 2015-04-23 Nick Clifton <nickc@redhat.com>
21780
21781 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
21782 ATTRIBUTE_UNUSED to x parameter.
21783 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
21784
21785 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21786
21787 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
21788 TARGET_CRYPTO to TARGET_P8_VECTOR>
21789 (crypto_vpermxor_<mode>): Likewise.
21790 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
21791 (BU_CRYPTO_3A): Likewise.
21792 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
21793 (BU_CRYPTO_OVERLOAD_3A): New #define.
21794 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
21795 (VPMSUMH): Likewise.
21796 (VPMSUMW): Likewise.
21797 (VPMSUMD): Likewise.
21798 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
21799 (VPERMXOR_V4SI): Likewise.
21800 (VPERMXOR_V8HI): Likewise.
21801 (VPERMXOR_V16QI): Likewise.
21802 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
21803 BU_CRYPTO_OVERLOAD_2A.
21804 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
21805 BU_CRYPTO_OVERLOAD_3A.
21806 * config/rs6000/rs6000.opt (mcrypto): Change description of
21807 option.
21808
21809 2015-04-23 Richard Biener <rguenther@suse.de>
21810
21811 * passes.def: Remove copy propagation passes run directly after CCP.
21812 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
21813 SSA names.
21814 (ccp_visit_phi_node): Rework to handle first executable edge
21815 specially.
21816
21817 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
21818
21819 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
21820 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
21821 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
21822 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
21823 (thumb_legimitimize_reload_address): Remove.
21824 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
21825 Remove.
21826 (thumb_legimitimize_reload_address): Remove.
21827
21828 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21829
21830 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
21831
21832 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21833
21834 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
21835 MAX_LDM_STM_OPS.
21836 (store_multiple): Likewise.
21837
21838 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21839
21840 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
21841 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
21842 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
21843 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
21844 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
21845 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
21846 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
21847 Specify issue_rate value.
21848 (arm_issue_rate): Look up issue rate from tuning structs. Remove
21849 large switch statement.
21850 (arm_marvell_pj4_tune): New struct.
21851 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
21852 struct.
21853
21854 2015-04-23 Richard Biener <rguenther@suse.de>
21855
21856 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
21857 (vect_find_last_store_in_slp_instance): Rename to ...
21858 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
21859 (vect_analyze_slp_cost_1): Use vector_load for constant defs
21860 and vec_construct for external defs when estimating prologue cost.
21861 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
21862 Compute costs here only when vectorizing loops.
21863 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
21864 have been determined.
21865 (vect_schedule_slp_instance): Simplify vectorized code placement
21866 and prepare for in-BB external defs.
21867 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
21868 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
21869 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
21870 guard.
21871 (vect_model_load_cost): Likewise.
21872 (vectorizable_store): Instead add it here.
21873 (vectorizable_load): Likewise.
21874 (vect_is_simple_use): Dump def type textually.
21875
21876 2015-04-23 Richard Biener <rguenther@suse.de>
21877
21878 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
21879 * cfgloop.c (verify_loop_structure): Verify the root loop node.
21880 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
21881 instead of get_eh_region_from_lp_number.
21882 * loop-init.c (fix_loop_structure): If we removed a loop, reset
21883 the SCEV cache.
21884
21885 2015-04-23 Anton Blanchard <anton@samba.org>
21886
21887 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
21888 need for -mprofile-kernel to save LR to stack.
21889
21890 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21891
21892 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
21893 adjustments.
21894 (insn_is_swappable_p): Return 1 for a convert from double to
21895 single precision when all of its uses are splats of BE element
21896 zero.
21897
21898 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
21899
21900 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
21901
21902 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
21903
21904 PR target/65456
21905 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
21906 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
21907 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
21908 option.
21909 (rs6000_builtin_mask_for_load): Return 0 for targets with
21910 efficient unaligned VSX accesses so that the vectorizer will use
21911 direct unaligned loads.
21912 (rs6000_builtin_support_vector_misalignment): Always return true
21913 for targets with efficient unaligned VSX accesses.
21914 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
21915 stores on targets with efficient unaligned VSX accesses is almost
21916 always the same as the cost of an aligned load or store, so model
21917 it that way.
21918 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
21919 unaligned vectors if we have efficient unaligned VSX accesses.
21920 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
21921 undocumented option.
21922
21923 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21924
21925 Revert:
21926 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
21927
21928 * config.gcc (LIBC_MUSL): New tm_defines macro.
21929 * config/linux.h (OPTION_MUSL): Define.
21930 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
21931 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
21932 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
21933
21934 * config/linux.opt (mmusl): New option.
21935 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
21936 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
21937
21938 * configure: Regenerate.
21939
21940 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
21941
21942 * config.gcc (LIBC_MUSL): New tm_defines macro.
21943 * config/linux.h (OPTION_MUSL): Define.
21944 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
21945 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
21946 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
21947
21948 * config/linux.opt (mmusl): New option.
21949 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
21950 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
21951
21952 * configure: Regenerate.
21953
21954 2015-04-22 Yury Gribov <y.gribov@samsung.com>
21955
21956 * doc/invoke.texi (-fsanitize-sections): Update description.
21957 * asan.c (set_sanitized_sections): Parse incoming arg.
21958 (section_sanitized_p): Support wildcards.
21959
21960 2015-04-22 Tom de Vries <tom@codesourcery.com>
21961
21962 PR tree-optimization/65823
21963 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
21964 equality between ap_copy and ap.
21965
21966 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21967
21968 PR target/47098
21969 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
21970
21971 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21972
21973 PR target/47122
21974 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
21975
21976 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21977
21978 PR target/55144
21979 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
21980 remove already contained t-files.
21981
21982 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21983
21984 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
21985 Remove unneeded forward declarations.
21986 (suitable_for_tail_call_opt_p): Commentary typo fix.
21987
21988 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21989
21990 * varasm.c (emit_bss): Remove redundant guard.
21991
21992 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21993
21994 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
21995
21996 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
21997
21998 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
21999
22000 2015-04-22 Hale Wang <hale.wang@arm.com>
22001 Terry Guo <terry.guo@arm.com>
22002
22003 PR rtl-optimization/64818
22004 * combine.c (can_combine_p): Don't combine user-specified
22005 register if it is in an asm input.
22006
22007 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
22008
22009 PR ipa/65076
22010 * passes.def (early_optimizations): Add pass_dse.
22011
22012 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22013
22014 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
22015 * reorg.c (redundant_insn): Remove ifdef
22016 INSN_REFERENCES_ARE_DELAYED.
22017 * resource.c (mark_referenced_resources): Likewise.
22018
22019 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22020
22021 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
22022 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
22023 * resource.c (mark_set_resources): Likewise.
22024
22025 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22026
22027 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
22028 * cfgcleanup.c (flow_find_cross_jump): Likewise.
22029 (flow_find_head_matching_sequence): Likewise.
22030 (try_head_merge_bb): Likewise.
22031 * combine.c (can_combine_p): Likewise.
22032 (try_combine): Likewise.
22033 (distribute_notes): Likewise.
22034 * df-problems.c (can_move_insns_across): Likewise.
22035 * final.c (final): Likewise.
22036 * gcse.c (insert_insn_end_basic_block): Likewise.
22037 * ira.c (find_moveable_pseudos): Likewise.
22038 * reorg.c (try_merge_delay_insns): Likewise.
22039 (fill_simple_delay_slots): Likewise.
22040 (fill_slots_from_thread): Likewise.
22041 * sched-deps.c (sched_analyze_2): Likewise.
22042
22043 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22044
22045 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
22046 PIC_OFFSET_TABLE_REGNUM.
22047
22048 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22049
22050 * alias.c (init_alias_target): Remove ifdef
22051 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
22052 * df-scan.c (df_insn_refs_collect): Likewise.
22053 (df_get_regular_block_artificial_uses): Likewise.
22054 (df_get_eh_block_artificial_uses): Likewise.
22055 (df_get_entry_block_def_set): Likewise.
22056 (df_get_exit_block_use_set): Likewise.
22057 * emit-rtl.c (gen_rtx_REG): Likewise.
22058 * ira.c (ira_setup_eliminable_regset): Likewise.
22059 * reginfo.c (init_reg_sets_1): Likewise.
22060 * regrename.c (rename_chains): Likewise.
22061 * reload1.c (reload): Likewise.
22062 (eliminate_regs_in_insn): Likewise.
22063 * resource.c (mark_referenced_resources): Likewise.
22064 (init_resource_info): Likewise.
22065
22066 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22067
22068 * defaults.h (MASK_RETURN_ADDR): New definition.
22069 * except.c (expand_builtin_extract_return_addr): Remove ifdef
22070 MASK_RETURN_ADDR.
22071
22072 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22073
22074 * defaults.h (RETURN_ADDR_OFFSET): New definition.
22075 * except.c (expand_builtin_extract_return_addr): Remove ifdef
22076 RETURN_ADDR_OFFSET.
22077 (expand_builtin_frob_return_addr): Likewise.
22078
22079 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22080
22081 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
22082 (try_redirect_by_replacing_jump): Likewise.
22083 (rtl_tidy_fallthru_edge): Likewise.
22084 * combine.c (insn_a_feeds_b): Likewise.
22085 (find_split_point): Likewise.
22086 (simplify_set): Likewise.
22087 * cprop.c (cprop_jump): Likewise.
22088 * cse.c (cse_extended_basic_block): Likewise.
22089 * df-problems.c (can_move_insns_across): Likewise.
22090 * function.c (emit_use_return_register_into_block): Likewise.
22091 * haifa-sched.c (sched_init): Likewise.
22092 * ira.c (find_moveable_pseudos): Likewise.
22093 * loop-invariant.c (find_invariant_insn): Likewise.
22094 * lra-constraints.c (curr_insn_transform): Likewise.
22095 * postreload.c (reload_combine_recognize_const_pattern):
22096 * Likewise.
22097 * reload.c (find_reloads): Likewise.
22098 * reorg.c (delete_scheduled_jump): Likewise.
22099 (steal_delay_list_from_target): Likewise.
22100 (steal_delay_list_from_fallthrough): Likewise.
22101 (redundant_insn): Likewise.
22102 (fill_simple_delay_slots): Likewise.
22103 (fill_slots_from_thread): Likewise.
22104 (delete_computation): Likewise.
22105 * sched-rgn.c (add_branch_dependences): Likewise.
22106
22107 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22108
22109 * genconfig.c (main): Always define HAVE_cc0.
22110 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
22111 HAVE_cc0.
22112 * cfgcleanup.c (flow_find_cross_jump): Likewise.
22113 (flow_find_head_matching_sequence): Likewise.
22114 (try_head_merge_bb): Likewise.
22115 * cfgrtl.c (rtl_merge_blocks): Likewise.
22116 (try_redirect_by_replacing_jump): Likewise.
22117 (rtl_tidy_fallthru_edge): Likewise.
22118 * combine.c (do_SUBST_MODE): Likewise.
22119 (insn_a_feeds_b): Likewise.
22120 (combine_instructions): Likewise.
22121 (can_combine_p): Likewise.
22122 (try_combine): Likewise.
22123 (find_split_point): Likewise.
22124 (subst): Likewise.
22125 (simplify_set): Likewise.
22126 (distribute_notes): Likewise.
22127 * cprop.c (cprop_jump): Likewise.
22128 * cse.c (cse_extended_basic_block): Likewise.
22129 * df-problems.c (can_move_insns_across): Likewise.
22130 * final.c (final): Likewise.
22131 (final_scan_insn): Likewise.
22132 * function.c (emit_use_return_register_into_block): Likewise.
22133 * gcse.c (insert_insn_end_basic_block): Likewise.
22134 * haifa-sched.c (sched_init): Likewise.
22135 * ira.c (find_moveable_pseudos): Likewise.
22136 * loop-invariant.c (find_invariant_insn): Likewise.
22137 * lra-constraints.c (curr_insn_transform): Likewise.
22138 * optabs.c (prepare_cmp_insn): Likewise.
22139 * postreload.c (reload_combine_recognize_const_pattern):
22140 * Likewise.
22141 * reload.c (find_reloads): Likewise.
22142 (find_reloads_address_1): Likewise.
22143 * reorg.c (delete_scheduled_jump): Likewise.
22144 (steal_delay_list_from_target): Likewise.
22145 (steal_delay_list_from_fallthrough): Likewise.
22146 (try_merge_delay_insns): Likewise.
22147 (redundant_insn): Likewise.
22148 (fill_simple_delay_slots): Likewise.
22149 (fill_slots_from_thread): Likewise.
22150 (delete_computation): Likewise.
22151 (relax_delay_slots): Likewise.
22152 * sched-deps.c (sched_analyze_2): Likewise.
22153 * sched-rgn.c (add_branch_dependences): Likewise.
22154
22155 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22156
22157 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
22158 that is trivially ded on non cc0 targets.
22159 (simplify_set): Likewise.
22160 (mark_used_regs_combine): Likewise.
22161 * cse.c (new_basic_block): Likewise.
22162 (fold_rtx): Likewise.
22163 (cse_insn): Likewise.
22164 (cse_extended_basic_block): Likewise.
22165 (set_live_p): Likewise.
22166 * rtlanal.c (canonicalize_condition): Likewise.
22167 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
22168
22169 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22170
22171 * conditions.h: Define macros even if HAVE_cc0 is undefined.
22172 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
22173 * final.c: Likewise.
22174 * jump.c: Likewise.
22175 * recog.c: Likewise.
22176 * recog.h: Declare functions even when HAVE_cc0 is undefined.
22177 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
22178
22179 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
22180
22181 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
22182 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
22183 * builtins.c (expand_builtin): Remove check if
22184 EH_RETURN_DATA_REGNO is defined.
22185 * df-scan.c (df_bb_refs_collect): Likewise.
22186 (df_get_exit_block_use_set): Likewise.
22187 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
22188 * ira-lives.c (process_bb_node_lives): Likewise.
22189 * lra-lives.c (process_bb_lives): Likewise.
22190
22191 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
22192
22193 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
22194 FIRST_PSEUDO_REG): New.
22195 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
22196 (ARG_POINTER_REGNUM): Define to ARGP_REG.
22197 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
22198 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
22199 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
22200 (FIRST_INT_REG): New.
22201 (LAST_INT_REG): New.
22202 (FIRST_*_REG): Define using *_REG.
22203 (LAST_*_REG): Ditto.
22204 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
22205 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
22206 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
22207
22208 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22209
22210 * expmed.c: (synth_mult): Only assume overlapping
22211 shift with previous steps in alg_sub_t_m2 case.
22212
22213 2015-04-21 Richard Biener <rguenther@suse.de>
22214
22215 PR tree-optimization/65650
22216 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
22217 transitions involving copies.
22218 (set_lattice_value): Adjust for copy lattice state.
22219 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
22220 if that doesn't dominate the merge point.
22221 (bit_value_unop): Adjust what we treat as varying mask.
22222 (bit_value_binop): Likewise.
22223 (bit_value_assume_aligned): Likewise.
22224 (evaluate_stmt): When we simplified to a SSA name record a copy
22225 instead of dropping to varying.
22226 (visit_assignment): Simplify.
22227
22228 * gimple-match.h (gimple_simplify): Add another callback.
22229 * gimple-fold.c (fold_stmt_1): Adjust caller.
22230 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
22231 for the 2nd callback.
22232 * gimple-match-head.c (gimple_simplify): Add a callback that is
22233 used to valueize the stmt operands and use it that way.
22234
22235 2015-04-21 Richard Biener <rguenther@suse.de>
22236
22237 PR tree-optimization/65788
22238 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
22239
22240 2015-04-21 Richard Biener <rguenther@suse.de>
22241
22242 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
22243 vec_construct cost by vec_stmt_cost.
22244
22245 2015-04-21 Richard Biener <rguenther@suse.de>
22246
22247 * cfghooks.h (create_basic_block): Replace with two overloads
22248 for RTL and GIMPLE.
22249 (split_block): Likewise.
22250 * cfghooks.c (split_block): Rename to ...
22251 (split_block_1): ... this.
22252 (split_block): Add two type-safe overloads for RTL and GIMPLE.
22253 (split_block_after_labels): Call split_block_1.
22254 (create_basic_block): Rename to ...
22255 (create_basic_block_1): ... this.
22256 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
22257 (create_empty_bb): Call create_basic_block_1.
22258 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
22259 split_block_after_labels.
22260 * omp-low.c (expand_parallel_call): Likewise.
22261 (expand_omp_target): Likewise.
22262 (simd_clone_adjust): Likewise.
22263 * tree-chkp.c (chkp_get_entry_block): Likewise.
22264 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
22265 create_basic_block overload.
22266 (cgraph_node::expand_thunk): Likewise.
22267 * tree-cfg.c (make_blocks): Likewise.
22268 (handle_abnormal_edges): Likewise.
22269 * tree-inline.c (copy_bb): Likewise.
22270
22271 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22272
22273 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
22274 New pattern.
22275 (*xor_one_cmplsidi3_ze): Likewise.
22276
22277 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
22278
22279 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
22280 use df_remove_problem rather than manually removing problems, leaving
22281 holes in df->problems_in_order[].
22282
22283 2015-04-21 Tom de Vries <tom@codesourcery.com>
22284
22285 PR tree-optimization/65802
22286 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
22287
22288 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
22289
22290 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
22291 Increase to 128.
22292 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
22293 at '.'. Assert that there's enough space for everything.
22294
22295 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
22296
22297 PR tree-optimization/64950
22298 Revert:
22299 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
22300
22301 PR target/41089
22302 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
22303 as volatile.
22304
22305 2015-04-20 Shiva Chen <shiva0217@gmail.com>
22306
22307 PR rtl-optimization/64916
22308 * cfgcleanup.c (values_equal_p): New function.
22309 (can_replace_by): Use it.
22310
22311 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
22312
22313 PR c++/65801
22314 * doc/invoke.texi ([-Wnarrowing]): Update.
22315
22316 2015-04-20 Jeff Law <law@redhat.com>
22317
22318 PR tree-optimization/65658
22319 * tree-ssa-threadupdate.c (redirection_block_p): Remove
22320 redundant test for GIMPLE_ASSIGN in last change.
22321
22322 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
22323
22324 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
22325 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
22326 (legitimize_tls_address): Ditto.
22327 (ix86_expand_move): Ditto.
22328 (ix86_expand_binary_operator): Remove reload_in_progress checks.
22329 (ix86_expand_unary_operator): Ditto.
22330 * config/i386/predicates.md (index_register_operand): Ditto.
22331
22332 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
22333
22334 * reorg.c (try_merge_delay_insns): Improve correctness checking
22335 for targets with multiple delay slots.
22336
22337 2015-04-20 Jeff Law <law@redhat.com>
22338
22339 PR tree-optimization/65658
22340 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
22341 statements too.
22342
22343 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
22344
22345 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
22346 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
22347 Delete.
22348
22349 2015-04-20 Jakub Jelinek <jakub@redhat.com>
22350
22351 PR debug/65807
22352 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
22353
22354 2015-04-20 Richard Biener <rguenther@suse.de>
22355
22356 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
22357 * gimple-fold.c (gimple_build_valueize): New function.
22358 (gimple_build): Always use gimple_build_valueize as valueize hook.
22359
22360 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
22361
22362 PR target/64134
22363 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
22364 and overwrite variable parts if <= 1/2 the elements are variable.
22365
22366 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
22367
22368 PR rtl-optimization/65805
22369 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
22370 Don't use difference of offset and previous offset if
22371 update_sp_offset is non-zero.
22372 (eliminate_regs_in_insn): Ditto.
22373 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
22374 lra_eliminate_regs_1 call.
22375 * lra-constraints.c (get_equiv_with_elimination): Ditto.
22376
22377 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
22378
22379 * hash-table.h: Remove version of hash_table that stored value_type *.
22380 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
22381 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
22382 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
22383 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
22384 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
22385 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
22386 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
22387 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
22388 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
22389 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
22390 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
22391 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
22392 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
22393 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
22394 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
22395 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
22396
22397 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
22398 Jakub Jelinek <jakub@redhat.com>
22399
22400 PR target/65787
22401 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
22402 subsequent SH_NONE operand does not overwrite an existing *special
22403 value.
22404 (adjust_extract): Handle case where a vec_extract operation is
22405 wrapped in a PARALLEL.
22406
22407 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
22408
22409 PR target/65780
22410 * config/i386/i386.c (ix86_binds_local_p): Define only if
22411 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
22412
22413 2015-04-17 Jeff Law <law@redhat.com>
22414
22415 PR tree-optimization/47679
22416 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
22417 * tree-ssa-scopedtables.c: New file.
22418 * tree-ssa-scopedtables.h: New file.
22419 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
22420 (const_and_copies): Change name/type.
22421 (record_const_or_copy): Move into tree-ssa-scopedtables.c
22422 (record_const_or_copy_1): Similarly.
22423 (restore_vars_to_original_value): Similarly.
22424 (pass_dominator::execute): Create and destroy const_and_copies table.
22425 (thread_across_edge): Update passing of const_and_copies.
22426 (record_temporary_equivalence): Use method calls rather than
22427 manipulating const_and_copies directly.
22428 (record_equality, cprop_into_successor_phis): Similarly.
22429 (dom_opt_dom_walker::before_dom_children): Similarly.
22430 (dom_opt_dom_walker::after_dom_children): Similarly.
22431 (eliminate_redundant_computations): Similarly.
22432 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
22433 (record_temporary_equivalence): Likewise.
22434 (invalidate_equivalences): Likewise.
22435 (record_temporary_equivalences_from_phis): Update due to type
22436 change of const_and_copies. Use method calls rather than
22437 manipulating the stack directly.
22438 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
22439 (thread_through_normal_block, thread_across_edge): Likewise.
22440 (thread_across_edge): Likewise.
22441 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
22442 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
22443 of equiv_stack.
22444 (identify_jump_threads): Update due to type change of equiv_stack.
22445 (finalize_jump_threads): Delete the equiv_stack when complete.
22446
22447 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
22448
22449 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
22450 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
22451 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
22452
22453 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
22454
22455 PR target/65535
22456 * config.gcc: Exit with a comment when we do not have a major version
22457 number for the FreeBSD target.
22458
22459 2015-04-17 Jakub Jelinek <jakub@redhat.com>
22460
22461 PR target/65689
22462 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
22463 maybe_allows_mem bitfields.
22464 (maybe_allows_none_start, maybe_allows_none_end,
22465 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
22466 maybe_allows_mem_end): New variables.
22467 (compute_maybe_allows): New function.
22468 (add_constraint): Use it to initialize maybe_allows_reg and
22469 maybe_allows_mem fields.
22470 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
22471 is_address constraints such that those that allow neither mem nor
22472 reg come first, then those that only allow reg but not mem, then
22473 those that only allow mem but not reg, then the rest.
22474 (write_allows_reg_mem_function): New function.
22475 (write_tm_preds_h): Call it.
22476 * stmt.c (parse_output_constraint, parse_input_constraint): Use
22477 the generated insn_extra_constraint_allows_reg_mem function
22478 instead of always setting *allows_reg = true; *allows_mem = true;
22479 for unknown extra constraints.
22480
22481 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
22482
22483 PR target/65780
22484 * output.h (default_binds_local_p_3): New.
22485 * varasm.c (default_binds_local_p_3): Make it public. Take an
22486 argument to indicate if common symbol may be local. If common
22487 symbol may be local, treat non-external variable as defined
22488 locally.
22489 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
22490 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
22491 * config/i386/i386.c (ix86_binds_local_p): New.
22492 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
22493 ix86_binds_local_p.
22494
22495 2015-04-17 Jakub Jelinek <jakub@redhat.com>
22496
22497 PR debug/65771
22498 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
22499 trying mem_loc_descriptor on XEXP (rtl, 0).
22500
22501 2015-04-17 Martin Liska <mliska@suse.cz>
22502
22503 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
22504 Release symbol_compare_collection.
22505 * ipa-reference.c: Add TODO that a vector should be released.
22506
22507 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
22508
22509 PR target/65296
22510 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
22511 to new AVR-LibC file layout (bug #44574).
22512 (*avrlibc_devicelib): Same.
22513 * config/avr/avr-mcus.def: Adjust comments.
22514 * config/avr/avr.opt (nodevicelib): Adjust help.
22515
22516 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
22517
22518 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
22519
22520 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
22521
22522 PR c++/64527
22523 * gimplify.c (gimplify_init_constructor): Always emit a
22524 side-effecting constructor.
22525
22526 2015-04-17 Tom de Vries <tom@codesourcery.com>
22527
22528 PR tree-optimization/64950
22529 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
22530 in cfun->curr_properties.
22531 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
22532 if we generate an IFN_VA_ARG.
22533 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
22534 function if PROP_gimple_lva is not set in src function.
22535
22536 2015-04-17 Tom de Vries <tom@codesourcery.com>
22537 Michael Matz <matz@suse.de>
22538
22539 PR tree-optimization/64950
22540 * gimple-iterator.c (update_modified_stmts): Remove static.
22541 * gimple-iterator.h (update_modified_stmts): Declare.
22542 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
22543 (gimplify_va_arg_internal): New function.
22544 (gimplify_va_arg_expr): Use IFN_VA_ARG.
22545 * gimplify.h (gimplify_va_arg_internal): Declare.
22546 * internal-fn.c (expand_VA_ARG): New unreachable function.
22547 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
22548 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
22549 (expand_ifn_va_arg): New function.
22550 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
22551 (pass_stdarg::execute): Call expand_ifn_va_arg.
22552 (pass_data_lower_vaarg): New pass_data.
22553 (pass_lower_vaarg): New gimple_opt_pass.
22554 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
22555 (make_pass_lower_vaarg): New function.
22556 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
22557 properties_required field.
22558 * passes.def (all_passes): Add pass_lower_vaarg.
22559 * tree-pass.h (PROP_gimple_lva): Add define.
22560 (make_pass_lower_vaarg): Declare.
22561
22562 2015-04-17 Tom de Vries <tom@codesourcery.com>
22563
22564 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
22565 * calls.c (call_expr_flags): Same.
22566
22567 2015-04-17 Tom de Vries <tom@codesourcery.com>
22568
22569 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
22570 (pass_stdarg::execute): ... here.
22571
22572 2015-04-17 Tom de Vries <tom@codesourcery.com>
22573 Michael Matz <matz@suse.de>
22574
22575 * tree-cfg.c (make_blocks_1): Factor out of ...
22576 (make_blocks): ... here.
22577 (make_edges_bb): Factor out of ...
22578 (make_edges): ... here.
22579 (gimple_find_sub_bbs): New function.
22580 * tree-cfg.h (gimple_find_sub_bbs): Declare.
22581
22582 2015-04-17 Tom de Vries <tom@codesourcery.com>
22583
22584 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
22585
22586 2015-04-17 Yury Gribov <y.gribov@samsung.com>
22587
22588 * asan.c (set_sanitized_sections): New function.
22589 (section_sanitized_p): Ditto.
22590 (asan_protect_global): Optionally sanitize user-defined
22591 sections.
22592 * asan.h (set_sanitized_sections): Declare new function.
22593 * common.opt (fsanitize-sections): New option.
22594 * doc/invoke.texi (-fsanitize-sections): Document new option.
22595 * opts-global.c (handle_common_deferred_options): Handle new
22596 option.
22597
22598 2015-04-17 Jakub Jelinek <jakub@redhat.com>
22599
22600 PR debug/65771
22601 * dwarf2out.c (loc_list_from_tree): Return NULL
22602 for DEBUG_EXPR_DECL.
22603
22604 2015-04-17 Christian Bruel <christian.bruel@st.com>
22605
22606 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
22607 same attributes.
22608
22609 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
22610
22611 * ira-color.c (setup_left_conflict_sizes_p): Do not process
22612 node itself when computing left conflict subnode size.
22613
22614 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
22615
22616 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
22617 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
22618 *fop_<mode>_1_sse using enabled attribute. Use
22619 register_mixssei387nonimm_operand operand 1 predicate. Change
22620 alternative 3 constraints from "x" to "v".
22621
22622 2015-04-16 Richard Biener <rguenther@suse.de>
22623
22624 PR tree-optimization/65774
22625 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
22626 bit-value tracking on.
22627
22628 2015-04-16 Richard Biener <rguenther@suse.de>
22629
22630 PR tree-optimization/64277
22631 * tree-vrp.c (check_array_ref): Fix anti-range handling,
22632 simplify upper bound handling.
22633 (search_for_addr_array): Simplify.
22634 (check_array_bounds): Handle ADDR_EXPRs here.
22635 (check_all_array_refs): Simplify.
22636
22637 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
22638
22639 * config/i386/i386.c (print_reg): Rewrite function.
22640
22641 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
22642
22643 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
22644 Invert the condition.
22645
22646 2015-04-16 Renlin Li <renlin.li@arm.com>
22647
22648 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
22649 simplifications for UNSIGNED_FLOAT.
22650
22651 2015-04-16 Nick Clifton <nickc@redhat.com>
22652
22653 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
22654 MUL_UNINIT.
22655 (enum rl78_cpu_type): New.
22656 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
22657 (umulhi3_shift_virt): Remove m constraint from operand 1.
22658 (umulqihi3_virt): Likewise.
22659 * config/rl78/rl78.c (rl78_option_override): Add code to process
22660 -mcpu and -mmul options.
22661 (rl78_alloc_physical_registers): Add code to handle divhi and
22662 divsi valloc attributes.
22663 (set_origin): Likewise.
22664 * config/rl78/rl78.h (RL78_MUL_G14): Define.
22665 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
22666 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
22667 __RL78_Gxx__.
22668 (ASM_SPEC): Pass -mcpu on to assembler.
22669 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
22670 (mulqi3_rl78): Likewise.
22671 (mulhi3_g13): Likewise.
22672 (mulhi3): Generate the G13 or G14 versions of the insn directly.
22673 (mulsi3): Likewise.
22674 (mulhi3_g14): Add clobbers of AX and BC.
22675 (mulsi3_g14): Likewise.
22676 (mulsi3_g13): Likewise.
22677 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
22678 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
22679 * config/rl78/rl78.opt (mmul): Initialise value to
22680 RL78_MUL_UNINIT.
22681 (mcpu): New option.
22682 (m13, m14, mrl78): New option aliases.
22683 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
22684 (MULTILIB_DIRNAMES): Add g13 and g14.
22685 * doc/invoke.texi: Document -mcpu and -mmul options.
22686
22687 2015-04-16 Richard Biener <rguenther@suse.de>
22688
22689 * tree-ssa-ccp.c (likely_value): See if we have operands that
22690 are marked as never simulate again and return CONSTANT in this
22691 case.
22692 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
22693 not have any operands that will be simulated again as
22694 not being simulated again.
22695
22696 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
22697
22698 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
22699 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
22700 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
22701 attribute.
22702 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
22703 enabled attribute.
22704 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
22705 *float<SWI48:mode><MODEF:mode>2_sse.
22706 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
22707 enabled attribute.
22708 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
22709 enabled attribute.
22710
22711 2015-04-15 Tom de Vries <tom@codesourcery.com>
22712
22713 PR other/65487
22714 * function.c (push_dummy_function): New function.
22715 (init_dummy_function_start): Use push_dummy_function.
22716 (pop_dummy_function): New function. Factored out of ...
22717 (expand_dummy_function_end): ... here.
22718 * function.h (push_dummy_function, pop_dummy_function): Declare.
22719 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
22720 pop_dummy_function.
22721 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
22722
22723 2015-04-15 Jeff Law <law@redhat.com>
22724
22725 PR tree-optimization/47679
22726 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
22727 need for forward declaration in upcoming changes.
22728 (record_conditions, record_edge_info): Likewise.
22729
22730 PR rtl-optimization/42522
22731 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
22732 SIGN_EXTRACT as a whole object rather than simplifying
22733 its operand.
22734
22735 2015-04-15 Jakub Jelinek <jakub@redhat.com>
22736
22737 PR ipa/65765
22738 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
22739 and GIMPLE_PREDICT use break instead of return true. For
22740 GIMPLE_EH_DISPATCH, compare dispatch region.
22741
22742 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
22743
22744 * doc/extend.texi (__sync Builtins): Simplify some text. Update
22745 details about the implementation. Make clear preference for
22746 __atomic builtins. Reduce possibility of future change.
22747
22748 2015-04-15 Nick Clifton <nickc@redhat.com>
22749
22750 * config/rx/rx.opt (mallow-string-insns): New option.
22751 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
22752 builtin if string instructions are denied.
22753 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
22754 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
22755 appropriate.
22756 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
22757 * config/rx/rx.md (movstr): Enable pattern only if string
22758 instructions are allowed.
22759 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
22760 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
22761 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
22762 (MULTILIB_DIRNAMES): Add no-strings.
22763 * doc/invoke.texi: Document -mno-allow-string-insns.
22764
22765 2015-04-15 Alan Modra <amodra@gmail.com>
22766
22767 PR target/65408
22768 PR target/58744
22769 PR middle-end/36043
22770 * calls.c (load_register_parameters): Don't load past end of
22771 mem unless suitably aligned.
22772
22773 2015-04-15 Nick Clifton <nickc@redhat.com>
22774
22775 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
22776 decrement instruction as being frame related.
22777 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
22778 based addresses.
22779 If zero extending a function address enclose the operation in
22780 %code(...).
22781 (rl78_preferred_reload_class): New function.
22782 (TARGET_PREFERRED_RELOAD_CLASS): Define.
22783 * config/rl78/rl78.md: Remove useless constraints in expanders.
22784 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
22785 (mulhi3_rl78): Likewise.
22786 (mulhi3_g13): Likewise.
22787 (mulsi3_rl78): Likewise.
22788 (es_addr): Move to before the multiply patterns.
22789
22790 2015-04-15 Alan Modra <amodra@gmail.com>
22791
22792 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
22793 and sequence_stack. Add seq.
22794 (seq_stack): Delete.
22795 * function.c (prepare_function_start): Don't access x_last_insn.
22796 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
22797 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
22798 * emit_rtl.c (start_sequence, push_topmost_sequence,
22799 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
22800 sequence accessors.
22801 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
22802 remove_insn): Likewise. Simplify.
22803 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
22804 and pop_topmost_sequence.
22805 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
22806 debug insns.
22807 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
22808
22809 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
22810
22811 PR target/65729
22812 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
22813 the assertiion.
22814
22815 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
22816
22817 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
22818 (LEGACY_INT_REGNO_P): Ditto.
22819 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
22820 (ANY_MASK_REG_P): Remove.
22821 (BND_REG_P): Rename from ANY_BND_REG_P.
22822 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
22823 legacy integer registers. Do not handle MMX_REG_P in a special way.
22824 Merge 64byte and 32byte SSE handling.
22825
22826 2015-04-14 Nick Clifton <nickc@redhat.com>
22827
22828 * expr.c (expand_assignment): Force an address offset computation
22829 into a register before changing its mode.
22830 (expand_expr_real_1): Likewise.
22831
22832 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
22833
22834 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
22835 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
22836 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
22837 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
22838 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
22839 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
22840 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
22841 and __aarch64_vget_lane_any.
22842
22843 2015-04-14 Jakub Jelinek <jakub@redhat.com>
22844
22845 PR rtl-optimization/65761
22846 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
22847 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
22848
22849 2015-04-14 Richard Biener <rguenther@suse.de>
22850
22851 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
22852 (graphite_can_represent_scev): Use POINTER_TYPE_P.
22853
22854 2015-04-14 Richard Biener <rguenther@suse.de>
22855
22856 PR tree-optimization/65758
22857 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
22858 against -1.
22859 (ccp_lattice_meet): Likewise.
22860 (bit_value_unop): Likewise.
22861 (bit_value_binop): Likewise.
22862 (bit_value_assume_aligned): Likewise.
22863
22864 2015-04-14 Christian Bruel <christian.bruel@st.com>
22865
22866 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
22867 function.
22868
22869 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
22870
22871 PR tree-optimization/63387
22872 * match.pd ((x unord x) | (y unord y) -> (x unord y),
22873 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
22874
22875 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
22876
22877 * config/i386/predicates.md (any_QIreg_operand): Rename from
22878 q_regs_operand. Do not process subregs.
22879 (QIreg_operand): Use QI_REGNO_P predicate.
22880 (ext_QIreg_operand): Ditto.
22881 (ext_register_operand): Ditto.
22882 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
22883 (AND splitters): Ditto.
22884 (AND with -65536 splitter): Add SWI48 mode for operand 0.
22885 (AND with -256 splitter): Use any_QIreg_operand predicate and
22886 SWI248 mode for operand 0.
22887 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
22888 mode for operand 0.
22889 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
22890
22891 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
22892
22893 * doc/plugins.texi: Rewrite first introductory paragraph.
22894
22895 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
22896
22897 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
22898 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
22899
22900 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
22901
22902 * ipa-profie.c (ipa_profile): Check number of parameters
22903 and possible polymorphic call targets before
22904 devirtualizing.
22905
22906 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
22907
22908 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
22909 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
22910
22911 2015-04-13 Richard Biener <rguenther@suse.de>
22912
22913 PR tree-optimization/65204
22914 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
22915 takens for bit-CCP.
22916
22917 2015-04-13 Richard Biener <rguenther@suse.de>
22918
22919 PR target/65660
22920 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
22921 and cond_not_taken_branch_cost to 4 and 2.
22922 (bdver2_cost): Likewise.
22923 (bdver3_cost): Likewise.
22924 (bdver4_cost): Likewise.
22925
22926 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
22927
22928 * hash-table.h (hash_table constructor): Add mem stats.
22929 (alloc_entries): Likewise.
22930
22931 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
22932
22933 * ipa-cp.c (ipcp_driver): Relase prev_edge.
22934 * passes.c (execute_one_pass): Only add transform if pass has one.
22935
22936 2015-04-12 Joseph Myers <joseph@codesourcery.com>
22937
22938 * config/i386/i386.c (ix86_option_override_internal): Don't set
22939 -fprefetch-loop-arrays if optimizing for size.
22940
22941 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
22942 Gerald Pfeifer <gerald@pfeifer.com>
22943
22944 * doc/contrib.texi (Contributors): Add Martin Jambor and
22945 Michael Matz.
22946
22947 2015-04-12 Jakub Jelinek <jakub@redhat.com>
22948
22949 * BASE-VER: Set to 6.0.0.
22950
22951 PR tree-optimization/65747
22952 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
22953 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
22954
22955 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
22956
22957 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
22958 sentence. Improve grammar.
22959
22960 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
22961
22962 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
22963
22964 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
22965
22966 PR ipa/65743
22967 * ipa-inline-transform.c (speculation_removed): Remove static var.
22968 (check_speculations): New function.
22969 (clone_inlined_nodes): Do not check spculations.
22970 (inline_call): Call check_speculations.
22971 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
22972 consider non-invariants.
22973
22974 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
22975 Martin Liska <mliska@suse.cz>
22976
22977 PR ipa/65722
22978 * ipa-icf.c (sem_item::compare_cgraph_references): function and
22979 variable can not match.
22980 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
22981 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
22982
22983 2015-04-11 Jakub Jelinek <jakub@redhat.com>
22984
22985 PR tree-optimization/65735
22986 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
22987 Remove visited_phis argument, add visited_bbs, avoid recursing into the
22988 same bb rather than just into the same phi node.
22989 (thread_through_normal_block): Adjust caller.
22990
22991 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
22992
22993 * doc/contrib.texi (Contributors): Add Ira Rosen.
22994
22995 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
22996
22997 * gcov.c (find_source): Fix miswording in error message.
22998 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
22999 (ix86_expand_sse_comi_round): Fix typo in error message.
23000
23001 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
23002
23003 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
23004
23005 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
23006
23007 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
23008
23009 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
23010
23011 PR target/65710
23012 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
23013 Print bad_spills_num and insn_pseudos_num.
23014
23015 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23016
23017 PR target/65694
23018 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
23019 when creating +1 values for SImode.
23020
23021 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
23022
23023 PR target/65729
23024 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
23025 assert.
23026
23027 2015-04-10 Jakub Jelinek <jakub@redhat.com>
23028 Iain Sandoe <iain@codesourcery.com>
23029
23030 PR target/65351
23031 * configure: Regenerate.
23032
23033 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
23034
23035 PR target/65671
23036 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
23037
23038 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
23039
23040 * doc/contrib.texi (Contributors): Add John Marino.
23041
23042 2015-04-09 Jakub Jelinek <jakub@redhat.com>
23043
23044 PR tree-optimization/65709
23045 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
23046 TREE_TYPE (TREE_TYPE (t)).
23047
23048 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
23049
23050 PR target/65710
23051 * lra-int.h (lra_bad_spill_regno_start): New.
23052 * lra.c (lra_bad_spill_regno_start): New.
23053 (lra): Set up lra_bad_spill_regno_start. Set up
23054 lra_constraint_new_regno_start unconditionally.
23055 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
23056 spill preferences.
23057
23058 2015-04-09 Marek Polacek <polacek@redhat.com>
23059 Jakub Jelinek <jakub@redhat.com>
23060
23061 PR middle-end/65554
23062 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
23063 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
23064 of STRIP_NOPS.
23065
23066 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
23067
23068 PR rtl-optimization/65693
23069 * combine.c (is_parallel_of_n_reg_sets): Move outside of
23070 #ifndef HAVE_cc0.
23071
23072 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
23073
23074 PR target/65296
23075 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
23076 device specs file if "device-specs%s" didn't resolve to a path.
23077
23078 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
23079
23080 PR target/65676
23081 * config/i386/i386.c (fixup_modeless_constant): New.
23082 (ix86_expand_args_builtin): Fixup modeless constant operand.
23083 (ix86_expand_round_builtin): Ditto.
23084 (ix86_expand_special_args_builtin): Ditto.
23085 (ix86_expand_builtin): Ditto.
23086
23087 2015-04-09 Jakub Jelinek <jakub@redhat.com>
23088
23089 PR target/65693
23090 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
23091 any pow2 integer in between 2 and 0x80000000U inclusive.
23092
23093 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
23094
23095 PR rtl-optimization/65693
23096 * combine.c (is_parallel_of_n_reg_sets): Change first argument
23097 from an rtx_insn * to an rtx.
23098 (try_combine): Adjust both callers. Use it once more.
23099
23100 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
23101
23102 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
23103 (chkp_make_static_const_bounds): Search existing
23104 symbol by assembler name. Use make_decl_one_only.
23105 (chkp_get_zero_bounds_var): Remove node search which
23106 is now performed in chkp_make_static_const_bounds.
23107 (chkp_get_none_bounds_var): Likewise.
23108
23109 2015-04-08 Michael Witten <mfwitten@gmail.com>
23110
23111 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
23112 to an example.
23113
23114 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
23115
23116 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
23117
23118 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
23119
23120 * doc/extend.texi (__sync Builtins): Fix grammar.
23121
23122 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
23123
23124 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
23125
23126 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
23127
23128 * varasm.c (emit_local): Move definition of align.
23129
23130 2015-04-08 Julian Brown <julian@codesourcery.com>
23131
23132 * config/nvptx/mkoffload.c (process): Support variable mapping.
23133
23134 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
23135
23136 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
23137 alpha_links **.
23138 (alpha_write_one_linkage): Correct typo.
23139
23140 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
23141
23142 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
23143
23144 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
23145
23146 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
23147
23148 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
23149
23150 * tree-chkp.h (chkp_insert_retbnd_call): New.
23151 * tree-chkp.c (chkp_insert_retbnd_call): New.
23152 * ipa-split.c (insert_bndret_call_after): Remove.
23153 (split_function): Use chkp_insert_retbnd_call.
23154 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
23155 bounds for instrumented functions.
23156
23157 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
23158
23159 PR ipa/65540
23160 * calls.c (initialize_argument_information): When producing tail
23161 call also turn SSA_NAMES passed by references to original PARM_DECLs
23162
23163 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
23164
23165 PR target/65648
23166 * lra-remat.c (do_remat): Process input and non-input insn
23167 registers separately.
23168
23169 2015-04-07 Jakub Jelinek <jakub@redhat.com>
23170
23171 PR debug/65678
23172 * valtrack.c (debug_lowpart_subreg): New function.
23173 (dead_debug_insert_temp): Use it.
23174
23175 PR middle-end/65680
23176 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
23177 into signed HOST_WIDE_INT the same as negative bit_offset.
23178
23179 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
23180
23181 * ipa-comdats.c (ipa_comdats): Visit all thunks
23182 to set proper comdat group.
23183
23184 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23185
23186 PR target/65489
23187 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
23188 on constants for NEON VSTRUCT modes.
23189
23190 2015-04-07 Jakub Jelinek <jakub@redhat.com>
23191 Iain Sandoe <iain@codesourcery.com>
23192
23193 PR target/65351
23194 * configure: Regenerate.
23195
23196 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
23197
23198 PR target/65614
23199 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
23200 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
23201 that LFD is used to load double constants instead of LFS. Add
23202 defaults for all costs structures. Add comments for missing
23203 initialization fields.
23204 (size32_cost): Likewise.
23205 (size64_cost): Likewise.
23206 (rs64a_cost): Likewise.
23207 (mpccore_cost): Likewise.
23208 (ppc403_cost): Likewise.
23209 (ppc405_cost): Likewise.
23210 (ppc440_cost): Likewise.
23211 (ppc476_cost): Likewise.
23212 (ppc601_cost): Likewise.
23213 (ppc603_cost): Likewise.
23214 (ppc604_cost): Likewise.
23215 (ppc604e_cost): Likewise.
23216 (ppc620_cost): Likewise.
23217 (ppc630_cost): Likewise.
23218 (ppccell_cost): Likewise.
23219 (ppc750_cost): Likewise.
23220 (ppc7450_cost): Likewise.
23221 (ppc8540_cost): Likewise.
23222 (ppce300c2c3_cost): Likewise.
23223 (ppce500mc_cost): Likewise.
23224 (ppce500mc64_cost): Likewise.
23225 (ppce5500_cost): Likewise.
23226 (ppce6500_cost): Likewise.
23227 (titan_cost): Likewise.
23228 (power4_cost): Likewise.
23229 (power6_cost): Likewise.
23230 (power7_cost): Likewise.
23231 (power8_cost): Likewise.
23232 (ppca2_cost): Likewise.
23233 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
23234
23235 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
23236 instead of XXLOR to copy SFmode to clear out dirty bits created
23237 when SFmode denormals are generated.
23238 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
23239 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
23240
23241 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
23242
23243 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
23244 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
23245 * config/aarch64/aarch64-tune.md: Regenerate.
23246
23247 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
23248
23249 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
23250 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
23251 * config/arm/arm-cores.def (exynos-m1): New core.
23252 * config/arm/arm-tune.md: Regenerate.
23253 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
23254 * config/arm/bpabi.h: Likewise.
23255
23256 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
23257
23258 * ipa-cp (set_single_call_flag): Remove too
23259 restrictive assert.
23260
23261 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
23262
23263 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
23264 GOMP_offload_unregister from the destructor.
23265
23266 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
23267
23268 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
23269 flags for instrumentation thunk.
23270 (chkp_produce_thunks): Likewise.
23271
23272 2015-04-05 Martin Liska <mliska@suse.cz>
23273
23274 PR ipa/65665
23275 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
23276 has computed data structure.
23277 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
23278
23279 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
23280
23281 * invoke.texi (inline-unit-growth): Increase growth to 20%
23282 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
23283
23284 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
23285
23286 PR target/65647
23287 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
23288 value checking.
23289 (lra_rematerialization_iter): New.
23290 * lra.c (lra): Initialize lra_rematerialization_iter.
23291 Stop updating lra_constraint_new_regno_start after switching of
23292 inheritance and rematerialization.
23293 * lra-remat.c (lra_rematerialization_iter): New.
23294 (lra_remat): Add printing pass iteration. Do rematerialization
23295 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
23296
23297 2015-04-04 Richard Biener <rguenther@suse.de>
23298
23299 PR tree-optimization/64909
23300 PR tree-optimization/65660
23301 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
23302 to take a cost vector for scalar iteration cost.
23303 (vect_get_single_scalar_iteration_cost): Likewise.
23304 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
23305 Compute the scalar iteration cost into a cost vector.
23306 (vect_get_known_peeling_cost): Use the scalar cost vector to
23307 account for the cost of the peeled iterations.
23308 (vect_estimate_min_profitable_iters): Likewise.
23309 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
23310 Likewise.
23311
23312 2015-04-04 Alan Modra <amodra@gmail.com>
23313
23314 PR target/65576
23315 PR target/65240
23316 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
23317 0.0 constant unless TARGET_VSX.
23318 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
23319 alternative.
23320
23321 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
23322
23323 PR ipa/65654
23324 * ipa-inline-transform.c (inline_call): Skip sanity check to work
23325 around the ICE
23326
23327 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
23328
23329 PR ipa/65655
23330 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
23331 speculative indirect edges to avoid ordering issue.
23332
23333 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
23334
23335 PR ipa/65076
23336 * ipa-inline.c (edge_badness): Add combined size to the denominator.
23337
23338 2015-04-03 Jakub Jelinek <jakub@redhat.com>
23339
23340 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
23341 TYPE_ARTIFICIAL on the .omp_data* types.
23342
23343 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
23344
23345 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
23346 instrumentation thunks.
23347
23348 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
23349
23350 * config/i386/i386.c (ix86_expand_call): Avoid nested
23351 PARALLEL in returned call value.
23352
23353 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
23354
23355 * lto-cgraph.c (input_cgraph_1): Always link instrumented
23356 assembler name with original one.
23357
23358 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
23359
23360 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
23361
23362 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
23363
23364 Revert parts of r216820.
23365 * config/i386/i386.md (movqi_internal): Correct type calculation
23366 for alternatives 3 and 5.
23367
23368 2015-04-02 Jakub Jelinek <jakub@redhat.com>
23369
23370 PR preprocessor/61977
23371 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
23372 predefine __vector/__bool/__pixel macros nor context sensitive
23373 macros for CLK_ASM.
23374 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
23375
23376 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
23377
23378 * config/pa/pa.c (pa_output_move_double): Directly handle register
23379 indexed memory operand. Simplify handling of scaled register indexed
23380 memory operands.
23381
23382 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
23383
23384 PR driver/65444
23385 * config/i386/linux-common.h (MPX_SPEC): New.
23386 (CHKP_SPEC): Add MPX_SPEC.
23387 * doc/invoke.texi (-fcheck-pointer-boudns): Document
23388 possible issues with '-z bndplt' support in linker.
23389
23390 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
23391
23392 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
23393 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
23394 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
23395 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
23396 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
23397
23398 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
23399
23400 * config/i386/sync.md (UNSPEC_MOVA): Remove.
23401 (atomic_load<mode>): Change operand 0 predicate to
23402 nonimmediate_operand and fix up the destination when needed.
23403 Use UNSPEC_LDA.
23404 (atomic_loaddi_fpu): Use UNSPEC_LDA.
23405 (atomic_store<mode>): Change operand 1 predicate to
23406 nonimmendate_operand and move the source to register when needed.
23407 Use UNSPEC_STA.
23408 (atomic_store<mode>_1): Use UNSPEC_STA.
23409 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
23410 Fix moves from memory operand. Use UNSPEC_STA.
23411
23412 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
23413
23414 * expmed.c (strict_volatile_bitfield_p): Check that the access will
23415 not cross a MODESIZE boundary.
23416 (store_bit_field, extract_bit_field): Added assertions in the
23417 strict volatile bitfields code path.
23418
23419 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
23420
23421 PR target/65624
23422 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
23423 Increase args array size by one to avoid buffer overflow.
23424
23425 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
23426
23427 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
23428 split_part.
23429 * ipa-inline.c (edge_badness): Add wrapper penalty.
23430 (sum_callers): Move up.
23431 (inline_small_functions): Set single_caller.
23432 * ipa-inline.h (inline_summary): Add single_caller.
23433 * ipa-split.c (split_function): Set split_part.
23434 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
23435 * cgraph.h (cgraph_node): Add split_part.
23436
23437 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
23438
23439 PR target/58945
23440 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
23441 Do not split operands 0 and operands 2 to halfmode.
23442 (atomic_compare_and_swap<mode>): Update for
23443 atomic_compare_and_swap<dwi>_doubleword changes.
23444
23445 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
23446
23447 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
23448 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
23449 no caching is done.
23450
23451 2015-03-31 Martin Liska <mliska@suse.cz>
23452
23453 PR ipa/65557
23454 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
23455 has already filled up function summary.
23456 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
23457
23458 2015-03-31 Richard Biener <rguenther@suse.de>
23459
23460 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
23461 of types.
23462
23463 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
23464
23465 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
23466 nested functions.
23467 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
23468 (s390_asm_output_function_label): Adapt to new signature of
23469 s390_function_num_hotpatch_hw
23470 Optimise the code generating assembler output.
23471 Add comments to assembler file.
23472
23473 2015-03-31 Richard Biener <rguenther@suse.de>
23474
23475 PR middle-end/65626
23476 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
23477 of the noreturn call so it is last and cleanup_control_flow_bb
23478 can do the CFG part.
23479
23480 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
23481
23482 PR target/65531
23483 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
23484 same_comdat_group for external symbols.
23485 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
23486 infinite same_comdat_group traversal loop.
23487
23488 2015-03-31 Jakub Jelinek <jakub@redhat.com>
23489
23490 PR plugins/61176
23491 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
23492 automatically to $headers.
23493
23494 2015-03-30 Jakub Jelinek <jakub@redhat.com>
23495
23496 PR ipa/65610
23497 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
23498 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
23499 function.
23500 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
23501 Use it.
23502 * ipa-prop.c (param_type_may_change_p): Likewise.
23503 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
23504 (remove_unused_scope_block_p): Add in_ctor_dtor_block
23505 argument. Before inlining, preserve
23506 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
23507 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
23508 recursive calls.
23509 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
23510
23511 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
23512
23513 PR ipa/65076
23514 * ipa-inline.c (edge_badness): Base denominator on callee's
23515 grwoth squared.
23516
23517 2015-03-27 Martin Jambor <mjambor@suse.cz>
23518
23519 PR ipa/65478
23520 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
23521 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
23522 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
23523 node_calling_single_call.
23524 * ipa-cp.c (count_callers): New function.
23525 (set_single_call_flag): Likewise.
23526 (initialize_node_lattices): Count callers and set single_flag_call if
23527 necessary.
23528 (incorporate_penalties): New function.
23529 (good_cloning_opportunity_p): Use it, dump new flags.
23530 (propagate_constants_topo): Set node_within_scc flag if appropriate.
23531 * doc/invoke.texi (ipa-cp-recursion-penalty,
23532 ipa-cp-single-call-pentalty): Document.
23533
23534 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
23535
23536 PR ipa/65588
23537 * symtab.c (symtab_node::get_partitioning_class): Register vars
23538 are duplicated.
23539 * varpool.c (symbol_table::output_variables) Do not assemble unefined
23540 decls for non-symbols.
23541
23542 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
23543
23544 PR target/65248
23545 * output.h (default_binds_local_p_2): New.
23546 * varasm.c (default_binds_local_p_2): Renamed to ...
23547 (default_binds_local_p_3): This. Don't return true on protected
23548 data symbol if protected data may be external.
23549 (default_binds_local_p): Use default_binds_local_p_3.
23550 (default_binds_local_p_1): Likewise.
23551 (default_binds_local_p_2): New.
23552 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
23553 default_binds_local_p_2 if TARGET_MACHO is undefined.
23554
23555 2015-03-27 Jakub Jelinek <jakub@redhat.com>
23556
23557 PR target/65593
23558 * config/i386/i386.c (legitimize_pic_address): If base
23559 is SYMBOL_REF or LABEL_REF using %rip addressing, force
23560 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
23561
23562 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
23563
23564 PR target/65531
23565 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
23566 comdat groups.
23567
23568 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
23569
23570 PR ipa/65600
23571 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
23572 of optimized out indirect call.
23573 (redirect_to_unreachable): Always build symbol table node for
23574 BUILT_IN_UNREACHABLE
23575
23576 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
23577
23578 PR target/65407
23579 * ira-costs.c (record_reg_classes): Process all constraint string
23580 containing 0-9.
23581
23582 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
23583
23584 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
23585 memory_operand.
23586
23587 PR target/65052
23588 * config/c6x/constraints.md (S3): New constraint.
23589 * config/c6x/c6x.md (real_jump): Use it.
23590
23591 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23592
23593 PR middle-end/65595
23594 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
23595 do redirection if the call is not optimized out.
23596
23597 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
23598
23599 PR target/65495
23600 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
23601 (fchkp-check-incomplete-type): Add LTO.
23602 (fchkp-zero-input-bounds-for-main): Likewise.
23603 (fchkp-first-field-has-own-bounds): Likewise.
23604 (fchkp-narrow-bounds): Likewise.
23605 (fchkp-narrow-to-innermost-array): Likewise.
23606 (fchkp-use-static-bounds): Likewise.
23607 (fchkp-use-static-const-bounds): Likewise.
23608 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
23609
23610 2015-03-27 Marek Polacek <polacek@redhat.com>
23611
23612 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
23613
23614 2015-03-27 Marek Polacek <polacek@redhat.com>
23615
23616 PR sanitizer/65583
23617 * ubsan.c (ubsan_create_edge): New function.
23618 (instrument_bool_enum_load): Call it.
23619 (instrument_nonnull_arg): Likewise.
23620 (instrument_nonnull_return): Likewise.
23621 (instrument_object_size): Likewise.
23622
23623 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23624
23625 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
23626 auto_vec.
23627
23628 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23629
23630 PR lto/65536
23631 * lto-streamer.h (class lto_location_cache): New.
23632 (struct data_in): Add location_cache.
23633 (lto_input_location): Update prototype.
23634 (stream_input_location_now): New.
23635 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
23636 pointer to location.
23637 (stream_input_location): Update.
23638 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
23639 (warn_odr): Apply location cache before warning.
23640 (lto_input_location): Update prototype.
23641 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
23642 Use stream_input_location_now.
23643 * lto-streamer-in.c (lto_location_cache::current_cache): New static
23644 variable.
23645 (lto_location_cache::cmp_loc): New function.
23646 (lto_location_cache::apply_location_cache): New function.
23647 (lto_location_cache::accept_location_cache): New function.
23648 (lto_location_cache::revert_location_cache): New function.
23649 (lto_location_cache::input_location): New function.
23650 (lto_input_location): Do location caching.
23651 (stream_input_location_now): New function.
23652 (input_eh_region, input_struct_function_base): Use
23653 stream_input_location_now.
23654 (lto_data_in_create): use new.
23655 (lto_data_in_delete): Use delete.
23656 * tree-streamer-in.c (unpack_ts_block_value_fields,
23657 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
23658 lto_input_ts_exp_tree_pointers): Update for cached location api.
23659
23660 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23661
23662 PR ipa/65076
23663 * passes.def: Add pass_nothrow.
23664 * ipa-pure-const.c: (pass_data_nothrow): New.
23665 (pass_nothrow): New.
23666 (pass_nothrow::execute): New.
23667 (make_pass_nothrow): New.
23668 * tree-pass.h (make_pass_nothrow): Declare.
23669
23670 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23671
23672 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
23673 edge to change by speculation resolution or redirection.
23674 (edge_set_predicate): Likewise.
23675 (inline_summary_t::duplicate): Likewise.
23676 (remap_edge_summaries): Likewise.
23677
23678 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23679
23680 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
23681 New macros.
23682 (can_inline_edge_p): Relax option matching for always inline functions.
23683
23684 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
23685
23686 PR target/65561
23687 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
23688 Check operand 4 and operand 0 for equality.
23689 (avx512f_vextract<shuffletype>32x4_1_maskm):
23690 Check operand 6 and operand 0 for equality.
23691 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
23692 for equality.
23693 (vec_extract_hi_<mode>_maskm): Ditto.
23694
23695 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23696
23697 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
23698 dead calls back to live.
23699 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
23700 cross check to ...
23701 (cgraph_node::verify_node): ... here; verify only callee edges,
23702 not caller.
23703 * cif-code.def (CILK_SPAWN): New code.
23704
23705 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
23706
23707 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
23708 (edge_set_predicate): Use it to mark unreachable edges.
23709 (inline_summary_t::duplicate): Remove unnecesary code.
23710 (remap_edge_summaries): Likewise.
23711 (dump_inline_summary): Report contains_cilk_spawn.
23712 (compute_inline_parameters): Compute contains_cilk_spawn.
23713 (inline_read_section, inline_write_summary): Stream
23714 contains_cilk_spawn.
23715 * ipa-inline.c (can_inline_edge_p): Do not touch
23716 DECL_STRUCT_FUNCTION that may not be available;
23717 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
23718 remove check for callee_fun->can_throw_non_call_exceptions and
23719 replace it by optimization attribute check; check for flag_exceptions.
23720 * ipa-inline-transform.c (inline_call): Maintain
23721 DECL_FUNCTION_PERSONALITY
23722 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
23723
23724 2015-03-26 Jakub Jelinek <jakub@redhat.com>
23725
23726 PR tree-optimization/65551
23727 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
23728 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
23729
23730 2015-03-26 Richard Biener <rguenther@suse.de>
23731
23732 PR middle-end/65555
23733 * tree-cfg.c (verify_gimple_call): Do not require a call to
23734 have no LHS if it wasn't recognized as control altering yet.
23735
23736 2015-03-26 Jakub Jelinek <jakub@redhat.com>
23737
23738 PR tree-optimization/64715
23739 * passes.def: Add another instance of pass_object_sizes before ccp1.
23740 * tree-object-size.c (pass_object_sizes::execute): In
23741 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
23742 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
23743 __bos result and the computed constant. Remove redundant
23744 checks, obsoleted by gimple_call_builtin_p test.
23745
23746 * var-tracking.c (variable_tracking_main_1): Don't track
23747 variables for targetm.no_register_allocation targets.
23748
23749 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
23750
23751 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
23752 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
23753
23754 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
23755
23756 PR target/65569
23757 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
23758 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
23759 0.0 is correctly setup.
23760 (extenddftf2_internal): Likewise.
23761
23762 2015-03-25 Sebastian Pop <s.pop@samsung.com>
23763
23764 PR tree-optimization/65177
23765 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
23766 (bb_in_bbs): New.
23767 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
23768 edges not adjacent on the path to the original code.
23769
23770 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
23771
23772 PR bootstrap/65537
23773 * doc/install.texi (Building a native compiler): Document new
23774 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
23775 configuration assumes that the host supports the linker plugin.
23776
23777 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
23778
23779 PR target/65508
23780 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
23781 chain for generated call.
23782
23783 2015-03-25 Richard Biener <rguenther@suse.de>
23784
23785 * passes.c (pass_manager::execute_early_local_passes): Guard
23786 execution of pass_chkp_instrumentation_passes with
23787 flag_check_pointer_bounds.
23788 (pass_chkp_instrumentation_passes::gate): Likewise.
23789
23790 2015-03-25 Martin Liska <mliska@suse.cz>
23791
23792 PR tree-optimization/65538
23793 * symbol-summary.h (function_summary::~function_summary):
23794 Relese memory for allocated summaries.
23795 (function_summary::release): New function.
23796
23797 2015-03-25 Jakub Jelinek <jakub@redhat.com>
23798
23799 PR lto/65515
23800 * lto-streamer-out.c (DFS::worklist): New struct.
23801 (DFS::worklist_vec): New data member.
23802 (DFS::next_dfs_num): Remove.
23803 (DFS::DFS): Rewritten using worklist instead of recursion,
23804 using most of code from DFS::DFS_write_tree.
23805 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
23806 pass it to DFS_write_tree calls.
23807 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
23808 quick initial checks push it into worklist_vec and return.
23809
23810 2015-03-25 Richard Biener <rguenther@suse.de>
23811
23812 PR middle-end/65519
23813 * genmatch.c (expr::gen_transform): Re-write to avoid
23814 using gimple_build.
23815
23816 2015-03-25 Bin Cheng <bin.cheng@arm.com>
23817
23818 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
23819
23820 2015-03-25 Bin Cheng <bin.cheng@arm.com>
23821
23822 * config/arm/arm.opt (print_tune_info): New option.
23823 * config/arm/arm.c (arm_print_tune_info): New function.
23824 (arm_file_start): Call arm_print_tune_info.
23825 * config/arm/arm-protos.h (struct tune_params): Add comment.
23826 * doc/invoke.texi (@item -mprint-tune-info): New item.
23827 (-mtune): mention it in ARM Option Summary.
23828
23829 2015-03-25 DJ Delorie <dj@redhat.com>
23830
23831 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
23832 correct clause.
23833
23834 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
23835 Martin Liska <mliska@suse.cz>
23836
23837 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
23838 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
23839 (sem_item::add_type): New function.
23840 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
23841 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
23842 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
23843 (sem_function::equals_wpa): Fix typo.
23844 * ipa-icf.h (sem_item::add_type): New function.
23845 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
23846 order.
23847
23848 2015-03-24 Jakub Jelinek <jakub@redhat.com>
23849
23850 PR tree-optimization/65533
23851 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
23852 with swapped operands, call vect_free_slp_tree on
23853 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
23854 vector.
23855
23856 2015-03-24 Richard Biener <rguenther@suse.de>
23857
23858 PR middle-end/65517
23859 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
23860 for fixup if necessary.
23861
23862 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
23863
23864 * doc/extend.texi (Function Attributes): Add @cindex entries
23865 for all attributes and regularize their format. Delete text
23866 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
23867 information about "eightbit_data", "tiny_data", and "model"
23868 variable attributes to the Variable Attributes section. Fix
23869 some obvious typos and copy-editing issues.
23870 (Variable Attributes, Type Attributes): Likewise add/fix
23871 @cindex entries for all attributes.
23872
23873 2015-03-23 Jakub Jelinek <jakub@redhat.com>
23874
23875 PR target/65523
23876 * tree-chkp.c (chkp_build_returned_bound): Ignore
23877 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
23878
23879 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
23880
23881 PR target/65505
23882 * config/sh/predicates.md (simple_mem_operand,
23883 displacement_mem_operand): Add test for reg.
23884 (short_displacement_mem_operand): Test for displacement_mem_operand
23885 before invoking sh_disp_addr_displacement.
23886 * config/sh/constraints.md (Sdd, Sra): Simplify.
23887 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
23888 Remove redundant displacement_mem_operand tests.
23889
23890 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
23891
23892 PR target/65296
23893 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
23894 the same -mmcu=MCU more than once.
23895
23896 2015-03-23 Jakub Jelinek <jakub@redhat.com>
23897
23898 PR bootstrap/65522
23899 * ipa-devirt.c: Remove duplicate demangle.h include.
23900
23901 PR target/65504
23902 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
23903 on the pseudo.
23904 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
23905 REG_POINTER on *destptr after adjusting it for prologue size.
23906
23907 PR ipa/65521
23908 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
23909 ultimate_alias_target ()->order ints instead of
23910 ultimate_alias_target () pointers.
23911
23912 2015-03-23 Richard Biener <rguenther@suse.de>
23913
23914 PR tree-optimization/65518
23915 * tree-vect-stmts.c (vectorizable_load): Reject single-element
23916 interleaving cases we generate absymal code for.
23917
23918 2015-03-23 Richard Biener <rguenther@suse.de>
23919
23920 PR tree-optimization/65494
23921 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
23922 matches here.
23923 (vect_analyze_slp_instance): But do that here, always and once.
23924
23925 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23926
23927 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
23928 adding T or multiplying by T+1 and subracting T.
23929
23930 2015-03-22 Jeff Law <law@redhat.com>
23931
23932 PR rtl-optimization/64317
23933 * Makefile.in (OBJS): Add gcse-common.c
23934 * gcse.c: Include gcse-common.h
23935 (struct modify_pair_s): Move structure definition to gcse-common.h
23936 (compute_transp): Move function to gcse-common.c.
23937 (canon_list_insert): Similarly.
23938 (record_last_mem_set_info): Break out some code and put it into
23939 gcse-common.c. Call into the new common code.
23940 (compute_local_properties): Pass additional arguments to compute_transp.
23941 * postreload-gcse.c: Include gcse-common.h and df.h
23942 (modify_mem_list_set, blocks_with_calls): New variables.
23943 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
23944 (get_bb_avail_insn): Pass in the expression index too.
23945 (alloc_mem): Allocate memory for the new bitmaps and lists.
23946 (free_mem): Free memory for the new bitmaps and lists.
23947 (insert_expr_in_table): Record a bitmap index for each entry we
23948 add to the table.
23949 (record_last_mem_set_info): Call into common code in gcse-common.c.
23950 (get_bb_avail_insn): If no available insn was found in the requested
23951 BB. If BB has a single predecessor, see if the expression is
23952 transparent in BB and available in that single predecessor.
23953 (compute_expr_transp): New wrapper for compute_transp.
23954 (eliminate_partially_redundant_load): Pass expression's bitmap_index
23955 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
23956 (gcse_after_reload_main): If there are elements in the hash table,
23957 then compute transparency for all the elements in the hash table.
23958 * gcse-common.h: New file.
23959 * gcse-common.c: New file.
23960
23961 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
23962
23963 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
23964 as an adjective.
23965 (System Headers): Likewise.
23966 (Ifdef): Likewise.
23967 (Traditional macros): Likewise.
23968 (Invocation): Likewise.
23969 (Option Index): Likewise.
23970 * doc/cppopts.texi (-M): Likewise.
23971 (-finput-charset): Likewise.
23972 (--help): Likewise.
23973 * doc.invoke.texi (AVR Options): Likewise.
23974 (V850 Options): Likewise.
23975
23976 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
23977
23978 PR ipa/65475
23979 * ipa-devirt.c: Include demangle.h
23980 (odr_type_d): Add field rtti_broken.
23981 (odr_subtypes_equivalent_p): Do not require name to match.
23982 (compare_virtual_tables): Fix typo; if type already has ODR violation,
23983 bypass the tests; be ready for function referneces in vtables that are
23984 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
23985 (warn_odr): Give up for nameless types.
23986 (warn_types_mismatch): Report mismatch in mangled names;
23987 report mismatch in anonymous namespaces; look into component types to
23988 give useful error; report when mismatch is dragged in from other ODR
23989 type.
23990 (odr_types_equivalent_p): Match types for being polymorphic; avoid
23991 duplicated diagnostics.
23992 (add_type_duplicate): Reorder checks so more informative ones come
23993 first; fix typo; do not output "the extra base is defined here" when
23994 we did not warn.
23995 (BINFO_N_BASE_BINFOS): Relax sanity check.
23996
23997 2015-03-22 Martin Liska <mliska@suse.cz>
23998 Jakub Jelinek <jakub@redhat.com>
23999
24000 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
24001 masks that can potentially include a builtin.
24002 (ix86_add_new_builtins): Introduce fast filter for isa values
24003 that cannot trigger builtin inclusion.
24004
24005 2015-03-22 Martin Liska <mliska@suse.cz>
24006
24007 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
24008 (sem_item::update_hash_by_local_refs): Likewise.
24009 (sem_variable::get_hash): Empty line is fixed.
24010 (sem_item_optimizer::execute): Include adding of hash references.
24011 (sem_item_optimizer::update_hash_by_addr_refs): New function.
24012 (sem_item_optimizer::build_hash_based_classes): Use local hash.
24013 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
24014 (sem_item::update_hash_by_local_refs): Likewise.
24015
24016 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
24017
24018 PR ipa/65502
24019 * ipa-comdats.c (enqueue_references): Walk through thunks.
24020 (ipa_comdats): Likewise.
24021 (set_comdat_group_1): New function.
24022
24023 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
24024
24025 PR ipa/65475
24026 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
24027 non-polymorphic
24028
24029 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
24030 Gerald Pfeifer <gerald@pfeifer.com>
24031
24032 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
24033
24034 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
24035 Sandra Loosemore <sandra@codesourcery.com>
24036
24037 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
24038 function parameter declaration.
24039 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
24040 Update arguments to nios2_adjust_call_address().
24041 (sibcall_internal): Rename from *sibcall.
24042 (sibcall_value_internal): Rename from *sibcall_value.
24043 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
24044 (nios2_large_got_address): Add target temp reg parameter.
24045 (nios2_got_address): Adjust call to nios2_large_got_address, add
24046 force_reg around it.
24047 (nios2_load_pic_address): Add target temp reg parameter, replace call
24048 to nios2_got_address with corresponding code.
24049 (nios2_legitimize_constant_address): Update call to
24050 nios2_load_pic_address.
24051 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
24052 to use temp reg for PIC loading purposes.
24053 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
24054 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
24055 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
24056
24057 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
24058
24059 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
24060 usage of "the @option{...}".
24061 (-Wopenmp-simd): Likewise.
24062 (-fsanitize-recover): Likewise.
24063 (-fsanitize-undefined-trap-on-error): Likewise.
24064 (-flto): Likewise.
24065 (tracer-dynamic-coverage-feedback): Likewise.
24066 (reorder-block-duplicate-feedback): Likewise.
24067 (loop-unroll-jam-size): Likewise.
24068 (-B): Likewise.
24069 (-I-): Likewise.
24070 (-mabs=legacy): Likewise.
24071 (-mupper-regs-df): Likewise.
24072 (-mupper-regs-sf): Likewise.
24073 (-mpointers-to-nested-functions): Likewise.
24074
24075 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
24076
24077 * doc/extend.texi (Cilk Plus Builtins): Add markup.
24078
24079 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
24080
24081 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
24082 additional index entries and cross-references.
24083 (-fchkp-check-incomplete-type): Likewise.
24084 (-fchkp-first-field-has-own-bounds): Likewise.
24085 (-fchkp-narrow-to-innermost-array): Likewise.
24086 (-fchkp-use-fast-string-functions): Likewise.
24087 (-fchkp-use-nochk-string-functions): Likewise.
24088 (-fchkp-use-static-const-bounds): Likewise.
24089 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
24090 (-fchkp-instrument-marked-only): Likewise.
24091 (-fchkp-use-wrappers): Likewise.
24092 (-static-libmpx): Likewise.
24093 (-static-libmpxwrappers): Likewise.
24094 * doc/extend.texi (bnd_legacy): Likewise.
24095 (bnd_instrument): Likewise.
24096 (bnd_variable_size): Likewise.
24097 (Pointer Bounds Checker builtins): Likewise.
24098
24099 2015-03-21 Tom de Vries <tom@codesourcery.com>
24100
24101 PR tree-optimization/65458
24102 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
24103 * cgraph.h (cgraph_node): Add parallelized_function field.
24104 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
24105 (input_overwrite_node): Read parallelized_function field.
24106 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
24107 parallelized_function on cgraph_node for child_fn.
24108 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
24109 Remove include of gt-tree-parloops.h.
24110 (parallelized_functions): Remove static variable.
24111 (parallelized_function_p): Rewrite using parallelized_function field of
24112 cgraph_node.
24113 (create_loop_fn): Remove adding to parallelized_functions.
24114 * Makefile.in (GTFILES): Remove tree-parloops.c
24115
24116 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
24117
24118 PR rtl-optimization/64366
24119 * lra.c (lra_update_insn_regno_info): Consider regs in
24120 CALL_INSN_FUNCTION_USAGE memory.
24121
24122 2015-03-20 Richard Biener <rguenther@suse.de>
24123
24124 PR middle-end/64715
24125 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
24126 for type comparison and gcc_checking_assert.
24127 (chrec_fold_plus_poly_poly): Likewise.
24128 (chrec_fold_multiply_poly_poly): Likewise.
24129 (chrec_convert_1): Likewise.
24130 * gimplify.c (gimplify_expr): Remove premature folding of
24131 &X + CST to &MEM[&X, CST].
24132
24133 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
24134
24135 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
24136 already is final.
24137 (ipa_inline): Recompute inline_failed codes.
24138 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
24139 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
24140 CIF_FINAL_ERROR.
24141
24142 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
24143
24144 PR rtl-optimization/60851
24145 * recog.c (constrain_operands): Accept a pseudo register before reload
24146 for LRA enabled targets.
24147
24148 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
24149
24150 PR target/65240
24151 * config/rs6000/predicates.md (easy_fp_constant): Remove special
24152 -ffast-math handling that kept non-0 constants live in the RTL
24153 until reload. Remove logic testing the number of instructions it
24154 took to create a constant in a GPR that was never used, due to a
24155 test for soft-float earlier.
24156 (memory_fp_constant): Delete, no longer used.
24157
24158 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
24159 alternatives for loading non-0 constants into GPRs for hard
24160 floating point that is no longer needed due to changes in
24161 easy_fp_constant. Add support for loading 0.0 into GPRs.
24162 (mov<mode>_hardfloat32): Likewise.
24163 (mov<mode>_hardfloat64): Likewise.
24164 (mov<mode>_64bit_dm): Likewise.
24165 (movtd_64bit_nodm): Likewise.
24166 (pre-reload move FP constant define_split): Delete define_split,
24167 since it is no longer used.
24168 (extenddftf2_internal): Remove GHF constraints that are not valid
24169 for extenddftf2.
24170
24171 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
24172
24173 PR rtl-optimization/63491
24174 * lra-constraints.c (check_and_process_move): Use src instead of
24175 sreg. Remove some dead code.
24176
24177 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
24178
24179 PR ipa/65380
24180 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
24181 (sem_variable::merge): Likewise.
24182
24183 2015-03-19 Martin Liska <mliska@suse.cz>
24184
24185 PR ipa/65465
24186 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
24187 all fields of cgraph_thunk_info.
24188
24189 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
24190
24191 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
24192 clone instrumented thunks.
24193
24194 2015-03-19 Richard Biener <rguenther@suse.de>
24195
24196 Revert
24197 2015-03-10 Richard Biener <rguenther@suse.de>
24198
24199 PR middle-end/63155
24200 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
24201 * tree-ssa-coalesce.c: Include timevar.h.
24202 (attempt_coalesce): Handle graph being NULL.
24203 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
24204 Split out abnormal coalescing to ...
24205 (perform_abnormal_coalescing): ... this function.
24206 (coalesce_ssa_name): Perform abnormal coalescing without computing
24207 live/conflict.
24208 (verify_ssa_coalescing_worker): New function.
24209 (verify_ssa_coalescing): Likewise.
24210
24211 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
24212 Jakub Jelinek <jakub@redhat.com>
24213
24214 PR sanitizer/65400
24215 * tsan.c (instrument_gimple): Clear tail call flag on
24216 calls.
24217
24218 2015-03-19 Jakub Jelinek <jakub@redhat.com>
24219
24220 PR sanitizer/65400
24221 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
24222 call in the return bb.
24223 (find_split_points): Add RETURN_BB argument, don't call
24224 find_return_bb.
24225 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
24226 if true append TSAN_FUNC_EXIT internal call after the call to
24227 the split off function.
24228 (execute_split_functions): Call find_return_bb here.
24229 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
24230 Adjust find_split_points and split_function calls.
24231
24232 2015-03-18 DJ Delorie <dj@redhat.com>
24233
24234 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
24235 (iorqi3_virt): Likewise.
24236
24237 2015-03-18 Tom de Vries <tom@codesourcery.com>
24238
24239 * tree-parloops.c (parallelize_loops): Make static.
24240 * tree-parloops.h (parallelize_loops): Remove extern declaration.
24241
24242 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
24243
24244 PR middle-end/64491
24245 Revert:
24246 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
24247
24248 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
24249 condition would be removed due to undefined behaviour.
24250
24251 2015-03-18 Martin Liska <mliska@suse.cz>
24252
24253 PR ipa/65432
24254 * cgraph.c (cgraph_node::get_create): Remove unnecessary
24255 xstrdup_for_dump wrapper.
24256 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
24257 sem_item::name.
24258 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
24259 with xstrdup_for_dump.
24260 (sem_variable::equals): Likewise.
24261 (sem_item_optimizer::read_section): Use symtab_node::name instead of
24262 sem_item::name.
24263 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
24264 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
24265 symtab_node::asm_name with xstrdup_for_dump.
24266 (congruence_class::dump): Use symtab_node::name instead of
24267 sem_item::name.
24268 * ipa-icf.h (symtab_node::name): Remove.
24269 (symtab_node::asm_name): Likewise.
24270
24271 2015-03-18 Jakub Jelinek <jakub@redhat.com>
24272
24273 PR tree-optimization/65450
24274 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
24275 function.
24276 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
24277 it instead of duplicate_ssa_name_ptr_info.
24278
24279 PR target/65222
24280 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
24281
24282 2015-03-18 Richard Biener <rguenther@suse.de>
24283
24284 * tree-data-ref.h (struct access_matrix): Remove.
24285 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
24286 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
24287 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
24288 (am_vector_index_for_loop): Likewise.
24289 (struct data_reference): Remove access_matrix member.
24290 (DR_ACCESS_MATRIX): Remove.
24291 (lambda_vector_new): Add comment.
24292 (lambda_matrix_new): Use XOBNEWVEC.
24293
24294 2015-03-18 Richard Biener <rguenther@suse.de>
24295
24296 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
24297 (pass_ch::execute): Cleanup the CFG only if we did sth.
24298 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
24299
24300 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24301
24302 * expmed.c (synth_mult): Use std::swap instead of manually
24303 swapping algorithms.
24304
24305 2015-03-18 Jakub Jelinek <jakub@redhat.com>
24306
24307 PR target/65078
24308 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
24309
24310 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
24311
24312 PR target/65296
24313 * config/avr/avr.opt (-nodevicelib): New option.
24314 * doc/invoke.texi (AVR Options): Document it.
24315 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
24316 libgcc.a, libc.a, libm.a.
24317 * config/avr/specs.h: Same.
24318 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
24319 which don't (directly) depend on the device. Print more help.
24320 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
24321 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
24322 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
24323 case of an error.
24324 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
24325 for specs file name.
24326 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
24327 * config/avr/avr-mcus.def: Adjust initializers and comments.
24328
24329 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
24330
24331 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
24332 DECL_ONE_ONLY to check if decl is one only.
24333 * ipa-split.c (consider_split): Limit splitt of one only functions.
24334
24335 2015-03-16 Jakub Jelinek <jakub@redhat.com>
24336
24337 PR tree-optimization/65427
24338 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
24339 functions.
24340 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
24341
24342 2015-03-16 Marek Polacek <polacek@redhat.com>
24343
24344 * cgraph.h (add_new_static_var): Remove declaration.
24345 * varpool.c (add_new_static_var): Remove function.
24346
24347 2015-03-16 Jakub Jelinek <jakub@redhat.com>
24348
24349 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
24350 instead of vec<tree> * with vec_alloc and release for args.
24351 Adjust all users.
24352
24353 PR middle-end/65431
24354 * omp-low.c (delete_omp_context): Only splay_tree_delete
24355 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
24356 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
24357
24358 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
24359
24360 PR sanitizer/64820
24361 * cfgexpand.c (align_base): New function.
24362 (alloc_stack_frame_space): Call it.
24363 (expand_stack_vars): Align prev_frame to be sure
24364 data->asan_vec elements aligned properly.
24365
24366 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
24367
24368 PR middle-end/65409
24369 * expr.c (store_field): Do not do a direct block copy if the source is
24370 a PARALLEL with BLKmode.
24371
24372 2015-03-16 Tom de Vries <tom@codesourcery.com>
24373
24374 PR middle-end/65414
24375 Revert:
24376 2015-03-12 Tom de Vries <tom@codesourcery.com>
24377
24378 PR rtl-optimization/64895
24379 * lra-lives.c (check_pseudos_live_through_calls): Use
24380 actual_call_used_reg_set instead of call_used_reg_set, if available.
24381
24382 2015-03-16 Alan Modra <amodra@gmail.com>
24383
24384 PR target/63150
24385 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
24386 Modify Z->r bswapdi splitter to use dest in place of scratch.
24387 In r->Z and Z->r bswapdi splitter rename word_high, word_low
24388 to word1, word2 and rearrange logic to suit.
24389 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
24390 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
24391 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
24392 Add one '?' on r->r. Modify Z->r splitter to avoid need for
24393 early clobber.
24394
24395 2015-03-14 Jakub Jelinek <jakub@redhat.com>
24396
24397 PR tree-optimization/65369
24398 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
24399 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
24400 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
24401
24402 PR tree-optimization/65418
24403 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
24404 are casts in the first PLUS_EXPR operand, ensure tbias and
24405 *totallowp are in the inner type.
24406
24407 PR rtl-optimization/65401
24408 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
24409 argument. If true, adjust_address_nv of x with big-endian
24410 correction for the mode widening to GET_MODE (y).
24411 (make_field_assignment): Don't do MEM mode widening here.
24412 Use MEM_P instead of GET_CODE == MEM.
24413
24414 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
24415
24416 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
24417 the external decls.
24418
24419 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24420
24421 PR target/64600
24422 * config/arm/arm.c (arm_gen_constant, AND case): Use
24423 ARM_SIGN_EXTEND when constructing AND mask.
24424
24425 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
24426
24427 * graph.c (print_graph_cfg): Make function names visible and append
24428 parenthesis to it. Also make groups of basic blocks belonging to the
24429 same function visible.
24430
24431 2015-03-12 Richard Biener <rguenther@suse.de>
24432
24433 PR middle-end/44563
24434 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
24435 to avoid quadratic behavior with inline expansion splitting blocks.
24436 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
24437 with the successor if the predecessor will be merged with it.
24438 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
24439 entry block with its successor.
24440
24441 2015-03-13 Richard Biener <rguenther@suse.de>
24442
24443 PR middle-end/44563
24444 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
24445 (cleanup_tree_cfg_1): Do not call it.
24446 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
24447 (fixup_noreturn_call): Mark the stmt as control altering.
24448 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
24449 here.
24450 (pass_data_fixup_cfg): Produce a dump file.
24451 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
24452 (need_noreturn_fixup): New global.
24453 (pass_dominator::execute): Fixup queued noreturn calls.
24454 (optimize_stmt): Queue calls that became noreturn for fixup.
24455 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
24456 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
24457 (el_to_fixup): New global.
24458 (eliminate_dom_walker::before_dom_childre): Queue calls that
24459 became noreturn for fixup.
24460 (eliminate): Fixup queued noreturn calls.
24461 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
24462 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
24463 (substitute_and_fold_dom_walker::before_dom_children): Queue
24464 alls that became noreturn for fixup.
24465 (substitute_and_fold): Fixup queued noreturn calls.
24466
24467 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
24468
24469 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
24470 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
24471 are building; for methods check ODR type of class they belong to if
24472 they may lead to a polymorphic call.
24473 (sem_function::compare_polymorphic_p): Be bit smarter about testing
24474 when function may lead to a polymorphic call.
24475 (sem_function::compare_type_list): Remove.
24476 (sem_variable::equals): Update use of compatible_types_p.
24477 (sem_variable::parse_tree_refs): Remove.
24478 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
24479 cdtor.
24480 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
24481 matching here.
24482 (func_checker::compatible_polymorphic_types_p): Break out from ...
24483 (unc_checker::compatible_types_p): ... here.
24484 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
24485 Declare.
24486 (unc_checker::compatible_types_p): Update.
24487 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
24488 Remove.
24489
24490 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24491
24492 PR rtl-optimization/65235
24493 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
24494 When first element of vec_concat is const_int, calculate its size
24495 using second element.
24496
24497 2015-03-12 Richard Biener <rguenther@suse.de>
24498
24499 PR middle-end/65270
24500 * fold-const.c (operand_equal_p): Fix ordering of resetting
24501 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
24502
24503 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
24504
24505 * config/s390/s390.c (s390_reorg): Move code to output nops after label
24506 to s390_reorg ().
24507 (s390_asm_output_function_label): Likewise.
24508 * config/s390/s390.c (s390_asm_output_function_label):
24509 Fix function label alignment with -mhtopatch.
24510 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
24511 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
24512 ("nop_2_byte"): New define_insn.
24513 ("nop_4_byte"): Likewise.
24514 ("nop_6_byte"): Likewise.
24515 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
24516 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
24517
24518 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
24519
24520 PR target/65103
24521 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
24522 register.
24523
24524 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
24525
24526 PR target/65044
24527 * toplev.c (process_options): Restrict Pointer Bounds Checker
24528 usage with Address Sanitizer.
24529
24530 2015-03-12 Richard Biener <rguenther@suse.de>
24531
24532 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
24533 to split on.
24534 * omp-low.c (expand_omp_taskreg): Split block before removing
24535 the stmt.
24536 (expand_omp_target): Likewise.
24537 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
24538 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
24539 stmt to split_block.
24540
24541 2015-03-12 Tom de Vries <tom@codesourcery.com>
24542
24543 PR rtl-optimization/64895
24544 * lra-lives.c (check_pseudos_live_through_calls): Use
24545 actual_call_used_reg_set instead of call_used_reg_set, if available.
24546
24547 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
24548
24549 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
24550 (cgraph_node::remove): Likewise.
24551 (cgraph_node::get_untransformed_body): Likewise.
24552 * varpool.c (varpool_node::remove): Likewise.
24553 (varpool_node::get_constructor): Add sanity check.
24554
24555 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
24556
24557 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
24558 old GCC versions.
24559 (-fabi-compat-version): Likewise.
24560 (-ffriend-injection): Likewise.
24561 (-Wdeclaration-after-statement): Likewise.
24562 (-fomit-frame-pointer): Likewise.
24563 (-ftree-coalesce-inlined-vars): Likewise.
24564 (-fvisibility=): Likewise.
24565 * doc/extend.texi (Typeof): Likewise.
24566 (Zero Length): Likewise.
24567 (Escaped Newlines): Likewise.
24568 (Compound Literals): Likewise.
24569 (Function Attributes): Likewise.
24570 (Label Attributes): Likewise.
24571 (Type Attributes): Likewise.
24572 (Function Names): Likewise.
24573 (Other Builtins): Likewise.
24574 (Function Specific Option Pragmas): Likewise.
24575 (C++ Interface): Likewise.
24576
24577 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
24578
24579 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
24580
24581 2015-03-11 Marek Polacek <polacek@redhat.com>
24582
24583 PR tree-optimization/65388
24584 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
24585
24586 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
24587
24588 PR target/65296
24589 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
24590 * configure: Regenerate.
24591 * config.in: Regenerate.
24592 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
24593 [-mn-flash]: Document it.
24594 [__AVR_ARCH__]: Document avrtiny.
24595
24596 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
24597 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
24598 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
24599
24600 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
24601
24602 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
24603
24604 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
24605
24606 PR target/65242
24607 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
24608 allow reloads of PLUS in floating point/VSX registers.
24609
24610 2015-03-11 Junmo Park <junmoz.park@samsung.com>
24611
24612 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
24613 crypto_sha256_fast.
24614 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
24615
24616 2015-03-11 Richard Biener <rguenther@suse.de>
24617
24618 PR tree-optimization/65310
24619 * tree-sra.c (build_ref_for_offset): Also preserve larger
24620 alignment.
24621
24622 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
24623
24624 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
24625
24626 2015-03-10 Jakub Jelinek <jakub@redhat.com>
24627
24628 PR target/65368
24629 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
24630 new define_expand.
24631 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
24632
24633 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
24634
24635 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
24636 (sem_function::equals_wpa): ... here.
24637
24638 2015-03-10 Marek Polacek <polacek@redhat.com>
24639 Jakub Jelinek <jakub@redhat.com>
24640
24641 PR sanitizer/65367
24642 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
24643 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
24644 separately.
24645
24646 2015-03-10 Jakub Jelinek <jakub@redhat.com>
24647
24648 PR target/65286
24649 * config/rs6000/t-linux: For powerpc64* target set
24650 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
24651
24652 2015-03-10 Richard Biener <rguenther@suse.de>
24653
24654 PR middle-end/44563
24655 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
24656 for redirect_all_calls.
24657
24658 2015-03-10 Marek Polacek <polacek@redhat.com>
24659
24660 * gdbinit.in (pcfun): Define and document.
24661
24662 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
24663
24664 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
24665 of libgomp-plugin.h.
24666 (find_target_compiler): Support a case when the path to gcc is
24667 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
24668 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
24669 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
24670 libgomp-plugin.h.
24671 (main): Use GCC_INSTALL_NAME as target_driver_name.
24672 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
24673 define.
24674 (mkoffload.o): Remove obsolete include path and defines.
24675 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
24676
24677 2015-03-10 Richard Biener <rguenther@suse.de>
24678
24679 PR middle-end/63155
24680 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
24681 * tree-ssa-coalesce.c: Include timevar.h.
24682 (attempt_coalesce): Handle graph being NULL.
24683 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
24684 Split out abnormal coalescing to ...
24685 (perform_abnormal_coalescing): ... this function.
24686 (coalesce_ssa_name): Perform abnormal coalescing without computing
24687 live/conflict.
24688 (verify_ssa_coalescing_worker): New function.
24689 (verify_ssa_coalescing): Likewise.
24690
24691 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
24692
24693 PR target/65296
24694 * config.gcc (extra_options) [avr]: Remove.
24695 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
24696 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
24697 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
24698
24699 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
24700 (-mmcu=): Add Var and MissingArgError properties.
24701 (-march=): Remove.
24702 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
24703 * config/avr/t-multilib: Regenerate.
24704 * config/avr/specs.h: New file.
24705 * config/avr/driver-avr.c: New file.
24706 * config/avr/genopt.sh: Remove file.
24707 * config/avr/avr-tables.opt: Remove file.
24708 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
24709 * config/avr/avr-c.c: Same.
24710 * avr-arch.h: Same.
24711 (avr_current_device): Remove proto.
24712 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
24713 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
24714 (EXTRA_SPEC_FUNCTIONS): Define.
24715 (avr_devicespecs_file): New specs function proto.
24716 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
24717 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
24718 (avr_current_device): Remove definition and usage.
24719 (avr_set_core_architecture): New static function.
24720 (avr_option_override): Use it.
24721 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
24722 (mcu_name): New static array.
24723 (comparator, avr_archs_str, avr_mcus_str): New static functions.
24724 (avr_inform_devices, avr_inform_core_architectures): New functions.
24725 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
24726 (avrlibc.h) [WITH_AVRLIBC]: Include.
24727 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
24728 (print_mcu): Rewrite from scratch.
24729 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
24730 Forward to avr-specific specs defined in device-specs file.
24731 * config/avr/t-avr (driver-avr.o): New rule.
24732 (avr-devices.o): Depend on avr-arch.h.
24733 (avr-mcus): No more depend on avr-tables.opt.
24734 (avr-tables.opt): Remove rule.
24735 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
24736
24737 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
24738
24739 * c-family/c.opt (fchkp-use-wrappers): New.
24740 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
24741 (chkp_wrap_function): New.
24742 (chkp_build_instrumented_fndecl): Support wrapped
24743 functions.
24744 * doc/invoke.texi (-fcheck-pointer-bounds): New.
24745 (-fchkp-check-incomplete-type): New.
24746 (-fchkp-first-field-has-own-bounds): New.
24747 (-fchkp-narrow-bounds): New.
24748 (-fchkp-narrow-to-innermost-array): New.
24749 (-fchkp-optimize): New.
24750 (-fchkp-use-fast-string-functions): New.
24751 (-fchkp-use-nochk-string-functions): New.
24752 (-fchkp-use-static-bounds): New.
24753 (-fchkp-use-static-const-bounds): New.
24754 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
24755 (-fchkp-check-read): New.
24756 (-fchkp-check-write): New.
24757 (-fchkp-store-bounds): New.
24758 (-fchkp-instrument-calls): New.
24759 (-fchkp-instrument-marked-only): New.
24760 (-fchkp-use-wrappers): New.
24761 (-static-libmpx): New.
24762 (-static-libmpxwrappers): New.
24763
24764 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
24765
24766 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
24767 (CHKP_SPEC): Add wrappers library.
24768 * c-family/c.opt (static-libmpxwrappers): New.
24769
24770 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
24771
24772 * config/i386/linux-common.h (LIBMPX_LIBS): New.
24773 (LIBMPX_SPEC): New.
24774 (CHKP_SPEC): New.
24775 * gcc.c (CHKP_SPEC): New.
24776 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
24777 * c-family/c.opt (static-libmpx): New.
24778
24779 2015-03-10 Richard Biener <rguenther@suse.de>
24780
24781 PR middle-end/44563
24782 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
24783 for compare_type.
24784 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
24785 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
24786 (cgraph_add_edge_to_call_site_hash): Likewise.
24787 (cgraph_node::get_edge): Likewise.
24788 (cgraph_edge::set_call_stmt): Likewise.
24789 (cgraph_edge::remove_caller): Likewise.
24790
24791 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
24792
24793 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
24794 (callee_saved_gpr_regs_size): ... this.
24795 (callee_saved_regs_first_regno): Rename to ...
24796 (callee_saved_first_gpr_regno): ... this.
24797 (callee_saved_regs_last_regno) Rename to ...
24798 (callee_saved_last_gpr_regno): ... this.
24799 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
24800 variables.
24801 (nds32_initial_elimination_offset): Likewise.
24802 (nds32_expand_prologue): Likewise.
24803 (nds32_expand_epilogue): Likewise.
24804 (nds32_expand_prologue_v3push): Likewise.
24805 (nds32_expand_epilogue_v3pop): Likewise.
24806 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
24807 Adjust renamed variables.
24808 (nds32_output_stack_pop): Likewise.
24809
24810 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
24811
24812 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
24813 code in comment.
24814
24815 2015-03-10 Jakub Jelinek <jakub@redhat.com>
24816
24817 PR rtl-optimization/65321
24818 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
24819 than shift mode.
24820 * var-tracking.c (use_narrower_mode): Likewise.
24821
24822 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
24823
24824 PR tree-optimization/65355
24825 * varasm.c (notice_global_symbol): Do not produce RTL.
24826 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
24827 anchor.
24828 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
24829 check for section anchors.
24830
24831 2015-03-10 Alan Modra <amodra@gmail.com>
24832
24833 PR target/65286
24834 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
24835 to be single-arch by default. Set cpu_is_64bit for powerpc64
24836 given --with-cpu=native.
24837 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
24838 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
24839 and powerpc64le.
24840 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
24841 rs6000_isa_flags rather than TARGET_64BIT.
24842
24843 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
24844 Kaz Kojima <kkojima@gcc.gnu.org>
24845
24846 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
24847
24848 2015-03-09 Jakub Jelinek <jakub@redhat.com>
24849
24850 PR lto/65361
24851 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
24852 on a TREE_BINFO, instead use BINFO_TYPE.
24853
24854 2015-03-09 Richard Biener <rguenther@suse.de>
24855
24856 PR middle-end/65270
24857 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
24858 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
24859 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
24860 of that. When comparing dereferences compare alignment.
24861 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
24862
24863 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
24864
24865 * ipa-inline-analysis.c (check_callers): Check
24866 node->can_remove_if_no_direct_calls_and_refs_p.
24867 (growth_likely_positive): Reorganize to call
24868 can_remove_if_no_direct_calls_p later.
24869 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
24870 will_be_removed_from_program_if_no_direct_calls_p): Add
24871 will_inline parameter.
24872 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
24873 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
24874 Handle inliner case correctly.
24875
24876 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
24877
24878 PR tree-optimization/63743
24879 * cfgexpand.c (reorder_operands): Also reorder if only second operand
24880 had its definition forwarded by TER.
24881
24882 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
24883
24884 PR lto/65316
24885 * ipa-utils.h (types_odr_comparable): Add strict argument.
24886 * ipa-devirt.c: Fix whitespace;
24887 (odr_hasher): Remove.
24888 (odr_name_hasher, odr_vtable_hasher): New hashers.
24889 (can_be_name_hashed_p): New predicate.
24890 (hash_type_name): remove.
24891 (hash_odr_name): New.
24892 (odr_name_hasher::hash): new.
24893 (can_be_vtable_hashed_p): New.
24894 (hash_odr_vtable): New.
24895 (odr_vtable_hasher::hash): New.
24896 (types_same_for_odr): Add strict parameter.
24897 (types_odr_comparable): Likewise.
24898 (odr_name_hasher::equal): New.
24899 (odr_vtable_hasher::equal): New.
24900 (odr_name_hasher::remove): New.
24901 (odr_hash_type): Change to hash_table<odr_name_hasher>.
24902 (odr_vtable_hash_type): New.
24903 (odr_vtable_hash): New.
24904 (odr_subtypes_equivalent_p): Do strict comparsion.
24905 (add_type_duplicate): Merge type names; cleanup; avoid type
24906 duplicates.
24907 (register_odr_type): Initialize vtable hash.
24908 (build_type_inheritance_graph): Likewise
24909 (get_odr_type): Reorg to use two hashes.
24910 (dump_possible_polymorphic_call_targets): Move sanity check after debug
24911 output.
24912 (ipa_devirt): Dump type_inheritance_graph.
24913 (types_same_for_odr): Add strict mode.
24914
24915 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
24916
24917 PR ipa/65334
24918 * cgraph.h (symtab_node): Add definition_alignment,
24919 can_increase_alignment_p and increase_alignment.
24920 * symtab.c (symtab_node::can_increase_alignment_p,
24921 increase_alignment_1, symtab_node::increase_alignment,
24922 symtab_node::definition_alignment): New.
24923 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
24924 can_increase_alignment_p.
24925 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
24926 * tree-vect-stmts.c (ensure_base_align): Likewise.
24927 * varasm.c (function_section_1): Use definition_alignment.
24928 (assemble_start_function): Likewise.
24929 (emit_local): likewise.
24930 (build_constant_desc): Likewsie.
24931 (output_constant_def_contents): Likewise.
24932 (place_block_symbol): Likewise.
24933 (output_object_block): Likewise.
24934
24935 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
24936
24937 PR ipa/65316
24938 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
24939 when outputting debug.
24940
24941 2015-03-07 Marek Polacek <polacek@redhat.com>
24942 Martin Uecker <uecker@eecs.berkeley.edu>
24943
24944 PR sanitizer/65280
24945 * doc/invoke.texi: Update description of -fsanitize=bounds.
24946
24947 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
24948
24949 * tree-ssa-phiopt.c (neg_replacement): Remove.
24950 (tree_ssa_phiopt_worker): Remove negate optimization.
24951
24952 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
24953
24954 PR ipa/65302
24955 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
24956
24957 2015-03-06 Richard Biener <rguenther@suse.de>
24958
24959 PR middle-end/64928
24960 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
24961 and liveout_obstack members.
24962 (calculate_live_on_exit): Remove.
24963 (calculate_live_ranges): Change declaration.
24964 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
24965 (new_tree_live_info): Adjust.
24966 (calculate_live_ranges): Delete livein when not wanted.
24967 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
24968 Deal with partly deleted live info.
24969 (loe_visit_block): Remove temporary bitmap by using
24970 bitmap_ior_and_compl_into.
24971 (live_worklist): Adjust accordingly.
24972 (calculate_live_on_exit): Make static.
24973 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
24974 we do not need livein.
24975
24976 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
24977
24978 * real.c (real_from_string): Fix typo in assertion.
24979
24980 2015-03-06 Alex Velenko <alex.velenko@arm.com>
24981
24982 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
24983 the patch.
24984
24985 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
24986
24987 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
24988
24989 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
24990
24991 PR target/64342
24992 * lra-assigns.c (find_hard_regno_for): Rename to
24993 find_hard_regno_for_1. Add a new parameter.
24994 (find_hard_regno_for): New function using find_hard_regno_for_1.
24995
24996 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
24997
24998 PR rtl-optimization/65067
24999 * expmed.c (store_bit_field, extract_bit_field): Reworked the
25000 strict volatile bitfield handling.
25001
25002 2015-03-05 Martin Liska <mliska@suse.cz>
25003
25004 PR ipa/65318
25005 * ipa-icf.c (sem_variable::equals): Compare variables types.
25006
25007 2015-03-05 Richard Henderson <rth@redhat.com>
25008
25009 PR target/65121
25010 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
25011 correctly check weak symbol binding.
25012
25013 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
25014
25015 PR middle-end/65315
25016 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
25017 needed alignment.
25018
25019 2015-03-05 Martin Liska <mliska@suse.cz>
25020
25021 * ipa-inline.c (inline_small_functions): Set default value to
25022 prevent warning during bootstrap.
25023 * tree.h: Add pragma guard that ignores false positives during
25024 bootstrap.
25025
25026 2015-03-05 Richard Biener <rguenther@suse.de>
25027
25028 PR tree-optimization/65310
25029 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
25030 Properly preserve alignment of the base of the access.
25031
25032 2015-03-05 Richard Biener <rguenther@suse.de>
25033
25034 PR ipa/65270
25035 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
25036 Compare dependence info.
25037
25038 2015-03-05 Richard Biener <rguenther@suse.de>
25039
25040 PR middle-end/65233
25041 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
25042 tree-into-ssa.h.
25043 (walk_ssa_copies): Revert last chage. Instead do not walk
25044 SSA names registered for SSA update.
25045
25046 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
25047
25048 PR ipa/65270
25049 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
25050 vtable references for their containing type.
25051 (sem_function::equals_wpa): Compare TYPE_RESTRICT
25052 and type attributes.
25053
25054 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
25055
25056 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
25057 before negating it.
25058 * stor-layout.c (finalize_record_size): Revert latest change.
25059
25060 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
25061
25062 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
25063
25064 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
25065
25066 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
25067 for correct comdat handling.
25068 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
25069 Likewise.
25070 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
25071 (used_from_object_file_p_worker): Remove.
25072 (cgraph_node::only_called_directly_or_alised): Add
25073 used_from_object_file_p.
25074 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
25075 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
25076 can_remove_if_no_direct_calls_and_refs_p.
25077
25078 2015-03-04 Nick Clifton <nickc@redhat.com>
25079
25080 * config/rl78/rl78.h (enum reg_class): Remove real registers from
25081 General register class.
25082 * config/rl78/rl78-real.md: Replace general register constraints
25083 with real+virtual register constraints.
25084
25085 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25086
25087 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
25088 from checking for -mhtm option.
25089
25090 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
25091
25092 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
25093 (struct ipa_sra_check_caller_data): Add has_thunk field.
25094 (ipa_sra_check_caller): Check for thunk.
25095 (ipa_sra_preliminary_function_checks): Give up on function with
25096 thunks.
25097 (ipa_early_sra): Use call_for_symbol_and_aliases.
25098
25099 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
25100
25101 PR target/65249
25102 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
25103 called for __stack_chk_guard symbol.
25104
25105 2015-03-03 DJ Delorie <dj@redhat.com>
25106
25107 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
25108 inc/dec.
25109 (*addhi3_real): Likewise.
25110 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
25111 pattern to match incrementing memory.
25112 * config/rl78/predicates.md (rl78_1_2_operand): New.
25113 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
25114 it's the same and only mem.
25115 (rl78_alloc_physical_registers_op2): If there's effectively only
25116 one MEM, transcode it into HL.
25117 (rl78_far_p): Reject addresses that aren't legitimate.
25118
25119 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
25120
25121 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
25122 negating it.
25123
25124 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
25125
25126 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
25127
25128 Implement call0 ABI for xtensa
25129 * config/xtensa/constraints.md ("a" constraint): Include stack
25130 pointer in case of call0 ABI.
25131 ("q" constraint): Make empty in case of call0 ABI.
25132 ("D" constraint): Include stack pointer in case of call0 ABI.
25133 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
25134 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
25135 prototypes.
25136 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
25137 variable.
25138 (xtensa_regno_to_class): Make it a local variable in the
25139 function xtensa_regno_to_class.
25140 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
25141 macro, function prototype and implementation.
25142 (reg_nonleaf_alloc_order): Make it a local variable in the
25143 function order_regs_for_local_alloc.
25144 (xtensa_conditional_register_usage): New function.
25145 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
25146 (xtensa_valid_move): Allow direct moves to stack pointer
25147 register in call0 ABI.
25148 (xtensa_setup_frame_addresses): Only spill register windows in
25149 windowed ABI.
25150 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
25151 call0 ABI respectively.
25152 (xtensa_function_arg_1): Only mark a7 register for copying in
25153 windowed ABI.
25154 (xtensa_call_save_reg): New function.
25155 (compute_frame_size): Add space for callee saved register
25156 storage to the frame size in call0 ABI.
25157 (xtensa_expand_prologue): Generate code to set up stack frame
25158 and save callee-saved registers in call0 ABI.
25159 (xtensa_expand_epilogue): New function.
25160 (xtensa_set_return_address): New function.
25161 (xtensa_return_addr): Calculate return address in call0 ABI.
25162 (xtensa_builtin_saveregs): Only mark a7 register for copying and
25163 emit copying code in windowed ABI.
25164 (order_regs_for_local_alloc): Add preferred register allocation
25165 order for non-leaf function in call0 ABI.
25166 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
25167 (xtensa_asm_trampoline_template): Add trampoline generation for
25168 call0 ABI.
25169 (xtensa_trampoline_init): Add trampoline initialization for
25170 call0 ABI.
25171 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
25172 functions.
25173 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
25174 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
25175 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
25176 ABI call-used registers.
25177 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
25178 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
25179 call0 ABI.
25180 (REG_CLASS_CONTENTS): Include all registers into the preferred
25181 reload registers set, adjust the set in the
25182 xtensa_conditional_register_usage.
25183 (xtensa_regno_to_class): Drop variable declaration.
25184 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
25185 function.
25186 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
25187 respectively.
25188 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
25189 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
25190 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
25191 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
25192 location in call0 ABI.
25193 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
25194 stack adjustment size when handling exception.
25195 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
25196 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
25197 definitions.
25198 ("return" pattern): Generate ret.n/ret in call0 ABI.
25199 ("epilogue" pattern): Expand epilogue.
25200 ("nonlocal_goto" pattern): Use default in call0 ABI.
25201 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
25202 emit eh_set_a0_* depending on ABI.
25203 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
25204 ("eh_set_a0_call0", "blockage"): New patterns.
25205
25206 2015-03-03 Martin Liska <mliska@suse.cz>
25207
25208 PR ipa/65287
25209 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
25210
25211 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
25212
25213 PR 65138/target
25214 * config/rs6000/rs6000-tables.opt: Regenerate table.
25215
25216 2015-03-03 Renlin Li <renlin.li@arm.com>
25217
25218 * doc/md.texi (@item ^): Change ? into ^.
25219
25220 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
25221
25222 * doc/tm.texi: Regenerated.
25223
25224 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
25225
25226 * builtins.c (expand_builtin_return_addr): Add
25227 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
25228 surrounding #ifdef.
25229 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
25230 definition to 1.
25231 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
25232 Likewise.
25233 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
25234 undefined.
25235 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
25236 paragraph.
25237
25238 2015-03-03 Martin Jambor <mjambor@suse.cz>
25239 Eric Botcazou <ebotcazou@adacore.com>
25240
25241 * tree-sra.c (ipa_sra_check_caller_data): New type.
25242 (has_caller_p): Removed.
25243 (ipa_sra_check_caller): New function.
25244 (ipa_sra_preliminary_function_checks): Use it.
25245
25246 2015-03-03 Martin Liska <mliska@suse.cz>
25247
25248 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
25249 instead of if branch.
25250
25251 2015-03-03 Martin Liska <mliska@suse.cz>
25252
25253 PR ipa/65282
25254 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
25255
25256 2015-03-23 Jeff Law <law@redhat.com>
25257
25258 PR tree-optimization/65241
25259 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
25260 hash table if INSERT is true.
25261
25262 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
25263
25264 PR target/65296
25265 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
25266
25267 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
25268
25269 PR target/64331
25270 * config/avr/avr.c (context.h, tree-pass.h): Include them.
25271 (avr_pass_data_recompute_notes): New static variable.
25272 (avr_pass_recompute_notes): New class.
25273 (avr_register_passes): New static function.
25274 (avr_option_override): Call it.
25275
25276 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
25277
25278 Fix various problems with specs file generation.
25279
25280 PR target/65296
25281 * config.gcc (extra_gcc_objs) [avr]: Remove.
25282 * config/avr/driver-avr.c: Remove file.
25283 * config/avr/t-avr (driver-avr.o): Remove rule.
25284 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
25285 INCLUDES to build. Depend on TM_H.
25286 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
25287 build warnings. Fix non-matching types and non-existing %-codes.
25288 (tm.h): Include.
25289 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
25290 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
25291 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
25292 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
25293 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
25294 (LIBGCC_SPEC): Remove definitions.
25295
25296 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
25297
25298 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
25299 to create a register in testing mode.
25300
25301 2015-03-03 Martin Liska <mliska@suse.cz>
25302 Jan Hubicka <hubicka@ucw.cz>
25303
25304 PR ipa/65263
25305 * cgraph.c (cgraph_node::has_thunk_p): New function.
25306 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
25307 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
25308 (sem_function::merge): Assert is changed.
25309
25310 2015-03-03 Martin Liska <mliska@suse.cz>
25311 Martin Jambor <mjambor@suse.cz>
25312
25313 PR ipa/65087
25314 * ipa-icf.c (sem_item_optimizer::execute): Change function
25315 return value to boolean.
25316 (sem_item_optimizer::merge_classes): Likewise.
25317 (ipa_icf_driver): Return TODO_remove_functions in case there's
25318 a merge operation processed.
25319 * ipa-icf.h: Change function return value to boolean.
25320
25321 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
25322
25323 PR 65138/target
25324 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
25325 processor type for 64-bit little endian PowerPC.
25326
25327 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
25328 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
25329 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
25330 printing built-in mask so it does not pass NULL pointers.
25331
25332 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
25333 -mcpu=powerpc64le.
25334
25335 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
25336
25337 PR target/58158
25338 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
25339 !ISA_HAS_FP_CONDMOVE.
25340
25341 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
25342
25343 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
25344 reload_completed.
25345
25346 2015-03-02 Ulrich Drepper <drepper@gmail.com>
25347
25348 * doc/invoke.texi (Options for Code Generation Conventions):
25349 Fix URL of DSO paper.
25350
25351 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
25352
25353 PR ipa/65130
25354 * ipa-inline.c (check_callers): Looks for recursion.
25355 (inline_to_all_callers): Give up on uninlinable or recursive edges.
25356 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
25357 summary of inline clones.
25358 (do_estimate_growth_1): Fix recursion check.
25359
25360 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
25361
25362 PR ipa/64988
25363 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
25364 comdat groups.
25365
25366 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
25367 Aldy Hernandez <aldyh@redhat.com>
25368
25369 PR lto/65276
25370 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
25371 when checking TYPE_BINFO.
25372
25373 2015-03-02 Richard Biener <rguenther@suse.de>
25374
25375 PR ipa/65270
25376 * ipa-icf-gimple.c: Include builtins.h.
25377 (func_checker::compare_memory_operand): Compare base alignment.
25378
25379 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
25380
25381 PR target/65184
25382 * gcc/config/i386/i386.c (ix86_pass_by_reference) Bounds
25383 are never passed by reference.
25384
25385 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
25386
25387 PR target/65183
25388 * tree-chkp.c (chkp_check_lower): Don't check against
25389 zero bounds for already instrumented functions.
25390 (chkp_check_upper): Likewise.
25391 (chkp_fini): Clean pass local data to avoid wrong reusage.
25392
25393 2015-02-28 Martin Liska <mliska@suse.cz>
25394 Jan Hubicka <hubicka@ucw.cz>
25395
25396 * ipa-icf.c (sem_variable::equals): Improve debug output;
25397 get variable constructor.
25398 (sem_variable::parse): Do not filter out too early; give up on
25399 volatile and register vars.
25400 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
25401 variables.
25402 * ipa-icf.h (sem_variable::init): Do not set ctor.
25403 (sem_variable::ctor): Remove.
25404
25405 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
25406
25407 PR middle-end/65233
25408 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
25409
25410 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25411
25412 * ipa-icf.c: Include stor-layout.h
25413 (sem_function::compare_cgraph_references): Rename to ...
25414 (sem_item::compare_cgraph_references): ... this one.
25415 (sem_variable::equals_wpa): New function
25416 (sem_variable::equals): Do not check stuff already verified by
25417 equals_wpa.
25418 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
25419 * ipa-icf.h (sem_item): Add compare_cgraph_references.
25420 (sem_function): Remove compare_cgraph_references.
25421 (sem_variable): Turns equals_wpa into non-inline.
25422
25423 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25424
25425 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
25426 (sem_item::add_expr): New function.
25427 (sem_function::hash_stmt): Handle operands of most statements.
25428 (sem_variable::get_hash): Hash the actual constructor.
25429 * ipa-icf.h (sem_item): Add add_expr.
25430 (sem_function): Update prototype of hash_stmt
25431
25432 2015-02-28 Martin Liska <mliska@suse.cz>
25433 Jan Hubicka <hubicka@ucw.cz>
25434
25435 PR ipa/65245
25436 * ipa-icf-gimple.c (func_checker::compare_function_decl):
25437 Remove.
25438 (func_checker::compare_variable_decl): Skip symtab vars.
25439 (func_checker::compare_cst_or_decl): Update.
25440 * ipa-icf.c (sem_function::parse): Do not consider aliases.
25441 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
25442 use correct symtab predicates.
25443 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
25444 (sem_variable::parse): Update comment.
25445 (sem_item_optimizer::build_graph): Consider ultimate aliases
25446 for references.
25447
25448 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25449
25450 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
25451 of OBJ_TYPE_REF.
25452
25453 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25454
25455 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
25456 (sem_variable::merge) Likewise.
25457
25458 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25459
25460 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
25461 target; also match flag_ipa_devirt.
25462
25463 2015-03-01 Martin Liska <mliska@suse.cz>
25464 Jan Hubicka <hubicka@ucw.cz>
25465
25466 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
25467 Validate variable alignment.
25468 * ipa-icf.c (sem_function::equals_private): Be more precise
25469 about non-common function attributes.
25470 (sem_variable::equals): Likewise.
25471
25472 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25473
25474 PR ipa/65237
25475 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
25476 across COMDAT group boundary.
25477
25478 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25479
25480 PR ipa/65232
25481 * ipa-icf.c (clear_decl_rtl): New function.
25482 (sem_function::merge): Clear RTL before forming alias.
25483 (sem_variable::merge): Clear RTL before forming alias.
25484
25485 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
25486
25487 PR ipa/65236
25488 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
25489
25490 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
25491
25492 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
25493 to neon_to_gp<q>.
25494
25495 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
25496
25497 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
25498 a typo in the description.
25499
25500 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
25501
25502 PR target/64317
25503 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
25504 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
25505 * lra-constraints.c: Include "params.h".
25506 (EBB_PROBABILITY_CUTOFF): Use
25507 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
25508 (lra_inheritance): Use '<' instead of '<=' for
25509 EBB_PROBABILITY_CUTOFF.
25510 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
25511 Document change.
25512
25513 2015-02-27 Martin Liska <mliska@suse.cz>
25514
25515 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
25516 vector length condition.
25517
25518 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
25519
25520 * doc/extend.texi (x86 transactional memory intrinsics):
25521 Reorganize discussion of _xbegin. Clarify that the return
25522 value is a bit mask. Expand example and move to end of section.
25523
25524 2015-02-26 Jakub Jelinek <jakub@redhat.com>
25525 Aldy Hernandez <aldyh@redhat.com>
25526
25527 PR rtl-optimization/65220
25528 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
25529
25530 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
25531
25532 PR target/65032
25533 * lra-remat.c (update_scratch_ops): New.
25534 (do_remat): Call it.
25535 * lra.c (lra_register_new_scratch_op): New. Take code from ...
25536 (remove_scratches): ... here.
25537 * lra-int.h (lra_register_new_scratch_op): New prototype.
25538
25539 2015-02-27 Marek Polacek <polacek@redhat.com>
25540
25541 PR c/65040
25542 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
25543 -Wformat-signedness anymore.
25544
25545 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
25546
25547 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
25548 function.
25549 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
25550
25551 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
25552
25553 * config/s390/s390.c (enum s390_builtin):
25554 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
25555 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
25556 (s390_init_builtins): Generate new builtin functions.
25557 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
25558 (s390_sfpc, s390_efpc): New pattern definitions.
25559
25560 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
25561
25562 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
25563 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
25564 (s390_builtin_decls): New array.
25565 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
25566 (s390_builtin_decl): New function.
25567 (TARGET_BUILTIN_DECL): Define macro.
25568
25569 2015-02-27 Richard Biener <rguenther@suse.de>
25570
25571 PR middle-end/63175
25572 * builtins.c (get_object_alignment_2): Make sure to re-apply
25573 the ANDed mask after recursing to its operand gets us a new
25574 misalignment bit position.
25575
25576 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
25577 Martin Liska <mliska@suse.cz>
25578
25579 PR bootstrap/65150
25580 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
25581 Use address_matters_p.
25582 (redirect_all_callers, set_addressable): New functions.
25583 (sem_function::merge): Reorganize and fix merging issues.
25584 (sem_variable::merge): Likewise.
25585 (sem_variable::compare_sections): Remove.
25586 * common.opt (fmerge-all-constants, fmerge-constants): Remove
25587 Optimization flag.
25588 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
25589 redirect them.
25590 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
25591 decl is used.
25592 (address_matters_1): New function.
25593 (symtab_node::address_matters_p): New function.
25594 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
25595 check for merged flag.
25596 * cgraph.h (address_matters_p): Declare.
25597 (symtab_node::address_taken_from_non_vtable_p): Remove.
25598 (symtab_node::address_can_be_compared_p): New method.
25599 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
25600 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
25601 Remove.
25602 (comdat_can_be_unshared_p_1) Use address_matters_p.
25603 (update_vtable_references): Fix formating.
25604 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
25605 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
25606 * cgraphclones.c: Preserve merged and icf_merged flags.
25607
25608 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
25609
25610 * doc/extend.texi (Function Attributes): Fix spelling and typos.
25611 (Label Attributes): Likewise.
25612 (Cilk Plus Builtins): Likewise.
25613 (ARC SIMD Built-in Functions): Likewise.
25614 (ARM C Language Extensions (ACLE)): Likewise.
25615 (PowerPC Built-in Functions): Likewise.
25616 (PowerPC Hardware Transactional Memory Built-in Functions):
25617 Likewise.
25618
25619 2015-02-26 Jakub Jelinek <jakub@redhat.com>
25620
25621 PR tree-optimization/65216
25622 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
25623 new stmt and new SSA_NAME for lhs whenever the arguments have
25624 changed and weren't just swapped. Fix comment typo.
25625
25626 PR tree-optimization/65215
25627 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
25628 for PDP endian targets.
25629 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
25630 Fix up formatting issues.
25631 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
25632 size is smaller than the original, adjust MEM_REF offset by the
25633 difference of sizes. Use is_gimple_mem_ref_addr instead of
25634 is_gimple_min_invariant test to avoid adding address temporaries.
25635
25636 2015-02-26 Martin Liska <mliska@suse.cz>
25637 Jan Hubicka <hubicka@ucw.cz>
25638
25639 PR ipa/64693
25640 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
25641 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
25642 (sem_item_optimizer::process_cong_reduction): Include division by
25643 sensitive references.
25644 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
25645 * ipa-ref.c (ipa_ref::address_matters_p): New function.
25646 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
25647
25648 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
25649
25650 PR target/65192
25651 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
25652 Remove.
25653 * config/avr/avr.c: Same.
25654 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
25655 Refuse any constant address not in 0..0xbf.
25656 * config/avr/avr.md (*mov<mode>, *movsf): Remove
25657 tiny_valid_direct_memory_access_range from insn conditions.
25658 (mov<mode>): Don't special-case expansion of avrtiny addresses.
25659
25660 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
25661
25662 PR target/61142
25663 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
25664 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
25665 * config/sh/predicates.md (const_logical_operand): New predicate.
25666 * config/sh/sh.md: Add new peephole2 patterns.
25667
25668 2015-02-26 Marek Polacek <polacek@redhat.com>
25669
25670 PR ipa/65008
25671 * ipa-inline.c (early_inliner): Recompute inline parameters.
25672
25673 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
25674
25675 PR target/65171
25676 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
25677 instructions with TImode operands are included in the analysis.
25678
25679 2015-02-26 Sebastian Pop <s.pop@samsung.com>
25680
25681 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
25682 of an EDGE_FSM_THREAD.
25683
25684 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
25685
25686 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
25687
25688 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
25689
25690 PR debug/46102
25691 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
25692
25693 2015-02-26 Sebastian Pop <s.pop@samsung.com>
25694
25695 PR tree-optimization/65048
25696 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
25697 (thread_through_all_blocks): Call valid_jump_thread_path.
25698 Remove invalid FSM jump-thread paths.
25699
25700 2015-02-26 Jakub Jelinek <jakub@redhat.com>
25701
25702 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
25703 (ipa_write_optimization_summaries): Likewise.
25704 * tree-streamer.h: Include data-streamer.h.
25705 (streamer_mode_table): Declare extern variable.
25706 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
25707 * lto-streamer-out.c (lto_output_init_mode_table,
25708 lto_write_mode_table): New functions.
25709 (produce_asm_for_decls): Call lto_write_mode_table when streaming
25710 offloading LTO.
25711 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
25712 (lto_create_simple_input_block): Add mode_table argument to the
25713 lto_input_block constructors.
25714 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
25715 Likewise.
25716 * data-streamer-in.c (string_for_index): Likewise.
25717 * ipa-inline-analysis.c (inline_read_section): Likewise.
25718 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
25719 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
25720 * lto-streamer-in.c (lto_read_body_or_constructor,
25721 lto_input_toplevel_asms): Likewise.
25722 (lto_input_mode_table): New function.
25723 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
25724 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
25725 Use bp_pack_machine_mode.
25726 * real.h (struct real_format): Add name field.
25727 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
25728 (class lto_input_block): Add mode_table member.
25729 (lto_input_block::lto_input_block): Add mode_table_ argument,
25730 initialize mode_table.
25731 (struct lto_file_decl_data): Add mode_table field.
25732 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
25733 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
25734 unpack_ts_decl_common_value_fields,
25735 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
25736 * tree-streamer.c (streamer_mode_table): New variable.
25737 * real.c (ieee_single_format, mips_single_format,
25738 motorola_single_format, spu_single_format, ieee_double_format,
25739 mips_double_format, motorola_double_format,
25740 ieee_extended_motorola_format, ieee_extended_intel_96_format,
25741 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
25742 ibm_extended_format, mips_extended_format, ieee_quad_format,
25743 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
25744 decimal_single_format, decimal_double_format, decimal_quad_format,
25745 ieee_half_format, arm_half_format, real_internal_format): Add name
25746 field.
25747 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
25748
25749 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
25750
25751 PR target/65161
25752 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
25753 reordering for selective scheduling.
25754
25755 2015-02-26 Terry Guo <terry.guo@arm.com>
25756
25757 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
25758 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
25759 (arm_arch_no_volatile_ce): Declare new global variable.
25760 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
25761 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
25762 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
25763 (TARGET_NO_VOLATILE_CE): New macro.
25764 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
25765 volatile memory access in IT block
25766
25767 2015-02-25 Kai Tietz <ktietz@redhat.com>
25768
25769 PR tree-optimization/61917
25770 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
25771 that reduc_def_stmt is null.
25772
25773 2015-02-25 Martin Liska <mliska@suse.cz>
25774
25775 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
25776 hard register variables.
25777
25778 2015-02-25 Kai Tietz <ktietz@redhat.com>
25779
25780 PR target/64212
25781 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
25782 (symtab::noninterposable_alias): Likewise.
25783
25784 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
25785
25786 PR target/65167
25787 * gcc/config/i386/i386.c (ix86_function_arg_regno_p): Support
25788 bounds registers.
25789 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
25790
25791 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
25792
25793 PR target/64997
25794 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
25795 as split condition; force split via '#' in output pattern.
25796
25797 2015-02-25 Richard Biener <rguenther@suse.de>
25798 Kai Tietz <ktietz@redhat.com>
25799
25800 PR tree-optimization/61917
25801 * tree-vect-loop.c (vectorizable_reduction): Allow
25802 vect_internal_def without reduction to exit graceful.
25803
25804 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
25805
25806 PR target/65196
25807 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
25808 only with NONDEBUG_INSN_P.
25809
25810 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
25811
25812 Use variadic macros with avr-log.c.
25813
25814 * config/avr/avr-protos.h (avr_vdump): New prototype.
25815 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
25816 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
25817 * config/avr/avr-log.c: Adjust comments.
25818 (avr_vdump): New function.
25819 (avr_vadump): Pass caller as 2nd argument instead of format string.
25820 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
25821 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
25822
25823 2015-02-25 Jakub Jelinek <jakub@redhat.com>
25824
25825 PR lto/64374
25826 * target.def (target_option_stream_in): New target hook.
25827 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
25828 targetm.target_option.post_stream_in if non-NULL.
25829 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
25830 * doc/tm.texi: Updated.
25831 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
25832 function.
25833 (TARGET_OPTION_POST_STREAM_IN): Redefine.
25834
25835 2015-02-24 Jeff Law <law@redhat.com>
25836
25837 PR target/65117
25838 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
25839 of operand 0 and operand 2.
25840 (zero_cost_loop_end, loop_end): Similarly.
25841
25842 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
25843
25844 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
25845 CXX_MEM_STAT_INFO.
25846
25847 2015-02-24 DJ Delorie <dj@redhat.com>
25848
25849 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
25850 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
25851 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
25852 instead of hardcoding SImode.
25853
25854 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
25855
25856 * omp-low.c (create_omp_child_function): Tag entrypoint
25857 functions with a special attribute.
25858
25859 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
25860
25861 PR target/65058
25862 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
25863
25864 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
25865
25866 PR rtl-optimization/65123
25867 * lra-remat.c (operand_to_remat): Check hard regs in insn
25868 definition too.
25869
25870 2015-02-24 Nick Clifton <nickc@redhat.com>
25871
25872 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
25873 to the assembler.
25874
25875 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
25876
25877 PR libgomp/64625
25878 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
25879 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
25880 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
25881 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
25882 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
25883 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
25884 (BUILT_IN_GOACC_PARALLEL): Specify as
25885 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
25886 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
25887 * builtin-types.def
25888 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
25889 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
25890 Remove function types.
25891 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
25892 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
25893 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
25894 New function types.
25895
25896 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
25897
25898 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
25899
25900 2015-02-24 Jakub Jelinek <jakub@redhat.com>
25901
25902 PR tree-optimization/65170
25903 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
25904 if val[1] < 0, clear also val[2] and return 3.
25905
25906 2015-02-24 Alan Modra <amodra@gmail.com>
25907
25908 PR target/65172
25909 * config/rs6000/rs6000.c (get_memref_parts): Only return true
25910 when *base is a reg. Handle nested plus addresses. Simplify
25911 pre_modify test.
25912
25913 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
25914
25915 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
25916 use natural alignment when optimizing for size.
25917
25918 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
25919
25920 PR target/65153
25921 * config/sh/sh.md (movsicc_true+3): Remove peephole.
25922 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
25923 * config/sh/sh.c (replace_n_hard_rtx): Remove.
25924
25925 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
25926
25927 PR fortran/63427
25928 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
25929 too big for a wide_int. Implement missing wrapping operation.
25930
25931 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
25932
25933 PR target/65163
25934 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
25935 instead of const_int 4294901760.
25936
25937 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
25938
25939 * config/avr/t-avr: Fix typo in comment.
25940
25941 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
25942
25943 * doc/rtl.texi (fma): Clarify documentation.
25944
25945 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
25946
25947 PR debug/58123
25948 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
25949 over input_location.
25950
25951 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
25952
25953 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
25954 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
25955 restrict alignments to absolute_biggest_alignment.
25956 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
25957 Define.
25958 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
25959 * doc/tm.texi: Regenerate.
25960 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
25961
25962 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
25963
25964 PR target/64172
25965 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
25966
25967 2015-02-20 Richard Biener <rguenther@suse.de>
25968
25969 PR tree-optimization/65136
25970 * tree-ssa-propagate.c: Include cfgloop.h.
25971 (replace_phi_args_in): Avoid replacing loop latch edge PHI
25972 arguments with constants.
25973
25974 2015-02-20 Jakub Jelinek <jakub@redhat.com>
25975 Martin Liska <mliska@suse.cz>
25976
25977 PR target/63892
25978 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
25979 don't try to create_thunk if stdarg_p. If
25980 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
25981 redirect_callers if possible.
25982 (sem_item_optimizer::execute): Call unregister_hooks here...
25983 (ipa_icf_driver): ... instead of here.
25984
25985 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25986
25987 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
25988 Mark operand 0 as earlyclobber in 2nd alternative.
25989 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
25990 Write negated shift amount into QI lowpart operand 0 and use it
25991 in the shift step.
25992 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
25993
25994 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
25995
25996 * cgraph.h (clone_function_name_1): Declare.
25997 * cgraphclones.c (clone_function_name_1): New function.
25998 (clone_function_name): Use it.
25999 * lto-partition.c: Include "stringpool.h".
26000 (must_not_rename, maybe_rewrite_identifier)
26001 (validize_symbol_for_target): New static functions.
26002 (privatize_symbol_name): Use must_not_rename.
26003 (promote_symbol): Call validize_symbol_for_target.
26004 (lto_promote_cross_file_statics): Likewise.
26005 (lto_promote_statics_nonwpa): Likewise.
26006
26007 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
26008
26009 PR target/64452
26010 * config/avr/avr.md (pushhi_insn): New insn.
26011 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
26012
26013 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
26014 Jakub Jelinek <jakub@redhat.com>
26015
26016 * tree-streamer.c (preload_common_nodes): Don't preload
26017 TI_VA_LIST* for offloading.
26018 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
26019 in_lto_p.
26020
26021 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
26022
26023 * config/pa/pa.c (pa_emit_move_sequence): Always force
26024 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
26025 note on insn.
26026
26027 * config/pa/pa.c (pa_reloc_rw_mask): New function.
26028 (TARGET_ASM_RELOC_RW_MASK): Define.
26029 (pa_cannot_force_const_mem): Revert previous change.
26030
26031 2015-02-19 Martin Jambor <mjmabor@suse.cz>
26032 Jan Hubicka <hubicka@ucw.cz>
26033
26034 PR ipa/65028
26035 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
26036 across jump functions.
26037
26038 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
26039
26040 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
26041
26042 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
26043
26044 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
26045
26046 2015-02-19 Richard Henderson <rth@redhat.com>
26047
26048 PR middle-end/65074
26049 * varasm.c (default_binds_local_p_2): Don't test node->definition;
26050 test DECL_EXTERNAL independent of symtab_node.
26051
26052 2015-02-19 Jakub Jelinek <jakub@redhat.com>
26053
26054 PR lto/65012
26055 * varpool.c (varpool_node::get_constructor): Return early
26056 if this->lto_file_data is NULL.
26057
26058 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
26059
26060 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
26061 (rank_for_schedule_debug): Update.
26062 (ready_sort): Make static. Move sorting logic to ...
26063 (ready_sort_debug, ready_sort_real): New static functions.
26064 (schedule_block): Sort both debug insns and real insns in preparation
26065 for ready list trimming. Improve debug output.
26066 * sched-int.h (ready_sort): Remove global declaration.
26067
26068 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
26069
26070 * ipa-icf.c (sem_function::equals_private): Adjust.
26071 (sem_function::bb_dict_test): Take a vec<int> * instead of
26072 auto_vec<int>.
26073 * ipa-icf.h (bb_dict_test): Likewise.
26074
26075 2015-02-18 Jakub Jelinek <jakub@redhat.com>
26076
26077 PR gcov-profile/64634
26078 * tree-eh.c (frob_into_branch_around): Fix up typos
26079 in function comment.
26080 (lower_catch): Put eh_seq resulting from EH lowering of
26081 the cleanup sequence after the cleanup rather than before it.
26082
26083 2015-02-18 Tom de Vries <tom@codesourcery.com>
26084
26085 * common.opt (fstdarg-opt): New option.
26086 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
26087 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
26088 (@item -fstdarg-opt): New item.
26089
26090 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
26091
26092 PR target/65064
26093 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
26094 for common symbols.
26095
26096 2015-02-18 Jakub Jelinek <jakub@redhat.com>
26097
26098 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
26099 insn-modes.h.
26100 (ALL_HOST_OBJS): Add mkoffload.o.
26101 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
26102
26103 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
26104
26105 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
26106 (compare_virtual_tables): Be smarter about skipping typeinfos;
26107 do sane output on virtual table table mismatch.
26108 (warn_odr): Be ready for forward declarations of enums;
26109 output sane info on base mismatch and virtual table mismatch.
26110 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
26111 when only one type is polymorphic.
26112 (get_odr_type): Fix hashtable corruption.
26113 (dump_odr_type): Dump mangled names.
26114
26115 2015-02-18 Richard Biener <rguenther@suse.de>
26116
26117 PR tree-optimization/65063
26118 * tree-predcom.c (determine_unroll_factor): Return 1 if we
26119 have replaced looparound PHIs.
26120
26121 2015-02-18 Martin Liska <mliska@suse.cz>
26122
26123 * lto-streamer.c (lto_streamer_init): Encapsulate
26124 streamer_check_handled_ts_structures with checking macro.
26125
26126 2015-02-18 Jakub Jelinek <jakub@redhat.com>
26127
26128 PR ipa/65087
26129 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
26130 section if !implicit_section.
26131 (cgraph_node::create_version_clone_with_body): Likewise.
26132 * trans-mem.c (ipa_tm_create_version): Likewise.
26133
26134 2015-02-18 Richard Biener <rguenther@suse.de>
26135
26136 PR tree-optimization/62217
26137 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
26138 into BIVs.
26139
26140 2015-02-18 Marek Polacek <polacek@redhat.com>
26141
26142 PR sanitizer/65081
26143 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
26144 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
26145 is in range [-16K, -1]. Don't issue run-time error if
26146 (ptr > ptr + offset).
26147
26148 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
26149
26150 * doc/install.texi (nvptx-*-none): New section.
26151 * doc/invoke.texi (Nvidia PTX Options): Likewise.
26152 * config/nvptx/nvptx.opt: Update.
26153
26154 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
26155 (access_check): New functions, copied from
26156 config/i386/intelmic-mkoffload.c.
26157 (main): For non-installed testing, look in all COMPILER_PATHs for
26158 GCC_INSTALL_NAME.
26159
26160 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
26161
26162 2015-02-18 Andrew Pinski <apinski@cavium.com>
26163 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
26164
26165 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
26166 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
26167
26168 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
26169
26170 * ipa-visibility.c (function_and_variable_visibility): Only
26171 check locality if node is not already local.
26172 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
26173 call_for_symbol_and_aliases instead of
26174 call_for_symbol_thunks_and_aliases.
26175 (ipa_inline): Likewise.
26176 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
26177 first walk aliases.
26178 * ipa.c (symbol_table::remove_unreachable_nodes): Use
26179 call_for_symbol_and_aliases.
26180 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
26181 (ipa_propagate_frequency_1): Use it; use opt_for_fn
26182 (ipa_propagate_frequency): Update.
26183 (ipa_profile): Add opt_for_fn gueards.
26184
26185 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
26186
26187 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
26188 * doc/invoke.texi (SH options): Document it.
26189 * config/sh/sh.c (sh_insn_length_adjustment): Check
26190 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
26191
26192 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
26193
26194 * common.opt (fipa-cp-alignment): New.
26195 * ipa-cp.c (ipcp_store_alignment_results): Check
26196 flag_ipa_cp_alignment.
26197 * opts.c (default_options_table): Enable -fipa-cp-alignment for
26198 -O2.
26199 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
26200 * doc/invoke.texi: Document -fipa-cp-alignment.
26201
26202 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
26203
26204 PR target/64793
26205 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
26206 to nil. Adjust comments.
26207
26208 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
26209
26210 * ipa-visibility.c (function_and_variable_visibility): Only
26211 check locality if node is not already local.
26212 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
26213 call_for_symbol_and_aliases instead of
26214 call_for_symbol_thunks_and_aliases.
26215 (ipa_inline): Likewise.
26216 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
26217 first walk aliases.
26218 * ipa.c (symbol_table::remove_unreachable_nodes): Use
26219 call_for_symbol_and_aliases.
26220 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
26221 (ipa_propagate_frequency_1): Use it; use opt_for_fn
26222 (ipa_propagate_frequency): Update.
26223 (ipa_profile): Add opt_for_fn guards.
26224
26225 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
26226
26227 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
26228 skipping of "strange" tokens.
26229
26230 2015-02-17 Jeff Law <law@redhat.com>
26231
26232 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
26233 obsolete comment.
26234
26235 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
26236
26237 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
26238 as forcing a HARD_DEP between instructions, thereby
26239 disallowing rewriting to break dependencies.
26240
26241 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
26242
26243 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
26244 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
26245 variables in boundary that have no inlitalizer encoded and are
26246 not aliases.
26247 * varasm.c (default_binds_local_p_2): External definitions do not
26248 count as definitions here.
26249
26250 2015-02-16 Jeff Law <law@redhat.com>
26251
26252 PR tree-optimization/64823
26253 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
26254 statements.
26255 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
26256 threading through blocks with PHIs, but no statements.
26257 (thread_through_normal_block): Distinguish between blocks where
26258 we did not process all the statements and blocks with no statements.
26259
26260 2015-02-16 Jakub Jelinek <jakub@redhat.com>
26261 James Greenhalgh <james.greenhalgh@arm.com>
26262
26263 PR ipa/64963
26264 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
26265 section if not linkonce. Fix up formatting.
26266 (cgraph_node::create_version_clone_with_body): Copy section.
26267 * trans-mem.c (ipa_tm_create_version): Likewise.
26268
26269 2015-02-16 Richard Biener <rguenther@suse.de>
26270
26271 PR tree-optimization/65077
26272 * tree-ssa-structalias.c (get_constraint_for_1): Handle
26273 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
26274 (find_func_aliases): Allow float values to carry pointers again.
26275
26276 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
26277
26278 * doc/install.texi (Specific): Reorder targets list to put
26279 aarch64 in alphabetical order. Add a link to aarch64*-*-*
26280 from the top menu.
26281
26282 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
26283 David Edelsohn <dje.gcc@gmail.com>
26284
26285 PR target/65058
26286 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
26287 mapping class to external variable or function reference.
26288 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
26289 mapping class.
26290
26291 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
26292
26293 PR target/53348
26294 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
26295 ASM_WEAKEN_DECL if defined.
26296
26297 2015-02-16 Richard Biener <rguenther@suse.de>
26298
26299 PR lto/65015
26300 * varasm.c (default_file_start): For LTO produced units
26301 emit <artificial> as file directive.
26302
26303 2015-02-16 Richard Biener <rguenther@suse.de>
26304
26305 PR tree-optimization/63593
26306 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
26307 stmts and releasing SSA names until...
26308 (execute_pred_commoning): ... after processing all chains.
26309
26310 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
26311
26312 PR ipa/65059
26313 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
26314 external functions.
26315
26316 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
26317
26318 * doc/bugreport.texi: Adjust section titles throughout the file
26319 to use "Title Case".
26320 * doc/extend.texi: Likewise.
26321 * doc/gcov.texi: Likewise.
26322 * doc/implement-c.texi: Likewise.
26323 * doc/implement-cxx.texi: Likewise.
26324 * doc/invoke.texi: Likewise.
26325 * doc/objc.texi: Likewise.
26326 * doc/standards.texi: Likewise.
26327 * doc/trouble.texi: Likewise.
26328
26329 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
26330
26331 * cgraph.h (symtab_node::has_aliases_p): Simplify.
26332 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
26333 * tree.c (lookup_binfo_at_offset): Make static.
26334 (get_binfo_at_offset): Do not shadow offset; add explanatory
26335 comment.
26336
26337 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
26338
26339 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
26340 for all floading point loads and stores except those using a register
26341 index address.
26342 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
26343 to a register.
26344
26345 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
26346
26347 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
26348 (do_estimate_growth_1): Record if any uninlinable edge was seen.
26349 (estimate_growth): Handle uninlinable edges correctly.
26350 (check_callers): New.
26351 (growth_likely_positive): Handle aliases correctly.
26352
26353 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
26354
26355 * ipa-chkp.c: Use iterate_direct_aliases.
26356 * symtab.c (resolution_used_from_other_file_p): Move inline.
26357 (symtab_node::create_reference): Fix formating.
26358 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
26359 (symtab_node::iterate_reference): Move inline.
26360 (symtab_node::iterate_referring): Move inline.
26361 (symtab_node::iterate_direct_aliases): Move inline.
26362 (symtab_node::used_from_object_file_p_worker): Inline into ...
26363 (symtab_node::used_from_object_file_p): ... this one; move inline.
26364 (symtab_node::call_for_symbol_and_aliases): Move inline;
26365 use iterate_direct_aliases.
26366 (symtab_node::call_for_symbol_and_aliases_1): New method.
26367 (cgraph_node::call_for_symbol_and_aliases): Move inline;
26368 use iterate_direct_aliases.
26369 (cgraph_node::call_for_symbol_and_aliases_1): New method.
26370 (varpool_node::call_for_node_and_aliases): Rename to ...
26371 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
26372 use iterate_direct_aliases.
26373 (varpool_node::call_for_symbol_and_aliases_1): New method.
26374 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
26375 (ipa_discover_readonly_nonaddressable_var): Update.
26376 * ipa-devirt.c: Fix formating.
26377 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
26378 Move inline.
26379 (cgraph_node::call_for_symbol_and_aliases): Move inline.
26380 (cgraph_node::call_for_symbol_and_aliases_1): New function..
26381 * cgraph.h (used_from_object_file_p_worker): Remove.
26382 (resolution_used_from_other_file_p): Move inline.
26383 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
26384 (symtab_node::iterate_reference): Move inline.
26385 (symtab_node::iterate_referring): Move inline.
26386 (symtab_node::iterate_direct_aliases): Move inline.
26387 (symtab_node::used_from_object_file_p_worker): Inline into ...
26388 (symtab_node::used_from_object_file_p): Move inline.
26389 * tree-emutls.c (ipa_lower_emutls): Update.
26390 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
26391 (varpool_node::call_for_node_and_aliases): Remove.
26392
26393 2015-02-14 Jakub Jelinek <jakub@redhat.com>
26394
26395 PR tree-optimization/62209
26396 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
26397 op == range->exp, insert seq and gimplified code after labels
26398 instead of after the phi.
26399
26400 2015-02-13 Jeff Law <law@redhat.com>
26401
26402 PR bootstrap/65060
26403 Revert my change for tree-optimization/64823.
26404
26405 2015-02-13 Jakub Jelinek <jakub@redhat.com>
26406
26407 PR tree-optimization/65053
26408 * tree-ssa-phiopt.c (value_replacement): When moving assign before
26409 cond, either reset VR on lhs or set it to phi result VR.
26410
26411 2015-02-13 Jeff Law <law@redhat.com>
26412
26413 PR tree-optimization/64823
26414 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
26415 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
26416 threading through blocks with PHIs, but no statements.
26417 (thread_through_normal_block): Distinguish between blocks where
26418 we did not process all the statements and blocks with no statements.
26419
26420 PR rtl-optimization/47477
26421 * match.pd (convert (plus/minus (convert @0) (convert @1): New
26422 simplifier to narrow arithmetic.
26423
26424 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
26425
26426 PR ipa/65028
26427 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
26428 polymorphic call info when type is not known to be preserved.
26429
26430 2015-02-13 Maritn Jambor <mjambor@suse.cz>
26431
26432 PR ipa/65028
26433 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
26434 (inline_call): Use it.
26435
26436 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
26437
26438 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
26439 GOMP_DEVICE_NVIDIA_PTX.
26440
26441 2015-02-13 Jakub Jelinek <jakub@redhat.com>
26442
26443 PR ipa/65034
26444 * stmt.c (emit_case_nodes): Use void_type_node instead of
26445 NULL_TREE as LABEL_DECL type.
26446
26447 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
26448
26449 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
26450 constraints.
26451 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
26452 symbolic references to data to be forced to constant memory on the
26453 SOM target.
26454
26455 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
26456
26457 PR tree-optimization/65002
26458 * tree-cfg.c (pass_data_fixup_cfg): Don't update
26459 SSA on start.
26460 * tree-sra.c (some_callers_have_no_vuse_p): New.
26461 (ipa_early_sra): Reject functions whose callers
26462 assume function is read only.
26463
26464 2015-02-13 Richard Biener <rguenther@suse.de>
26465
26466 PR lto/65015
26467 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
26468 for LTO produced CUs.
26469
26470 2015-02-13 Bin Cheng <bin.cheng@arm.com>
26471
26472 PR tree-optimization/64705
26473 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
26474 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
26475 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
26476 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
26477 expand_simple_operations.
26478
26479 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
26480 Richard Henderson <rth@redhat.com>
26481
26482 PR rtl/32219
26483 * cgraphunit.c (cgraph_node::finalize_function): Set definition
26484 before notice_global_symbol.
26485 (varpool_node::finalize_decl): Likewise.
26486 * varasm.c (default_binds_local_p_2): Rename from
26487 default_binds_local_p_1, add weak_dominate argument. Use direct
26488 returns instead of assigning to local variable. Unify varpool and
26489 cgraph paths via symtab_node. Reject undef weak variables before
26490 testing visibility. Reorder tests for simplicity.
26491 (default_binds_local_p): Use default_binds_local_p_2.
26492 (default_binds_local_p_1): Likewise.
26493 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
26494 via symtab_node.
26495 (default_elf_asm_output_external): Emit visibility when specified.
26496
26497 2015-02-13 Alan Modra <amodra@gmail.com>
26498
26499 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
26500 code setting up r11 for out-of-line fp restore.
26501
26502 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
26503
26504 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
26505 (muser-mode): Likewise.
26506
26507 2015-02-13 Alan Modra <amodra@gmail.com>
26508
26509 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
26510 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
26511
26512 2015-02-12 David Howells <dhowells@redhat.com>
26513
26514 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
26515 warning.
26516 * tree-ssa-uninit.c (dump_predicates): Likewise.
26517 * opts.c (print_filtered_help): Likewise.
26518
26519 2015-02-12 Jakub Jelinek <jakub@redhat.com>
26520
26521 * dwarf2out.c (output_die): Use "%s", name instead of name to
26522 avoid -Wformat-security warning.
26523
26524 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
26525 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
26526 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
26527 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
26528
26529 2015-02-12 Jason Merrill <jason@redhat.com>
26530
26531 * common.opt (-flifetime-dse): New.
26532
26533 2015-02-12 Jakub Jelinek <jakub@redhat.com>
26534
26535 PR sanitizer/65019
26536 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
26537
26538 PR tree-optimization/65014
26539 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
26540 use original second operand of arg0 or arg1 instead of
26541 that adjusted by STRIP_NOPS.
26542
26543 2015-02-11 Jeff Law <law@redhat.com>
26544
26545 PR target/63347
26546 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
26547 that needs to be queued, just queue it for a single cycle.
26548
26549 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
26550
26551 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
26552 bodies of thunks; comment on why.
26553 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
26554 symbols are extern.
26555
26556 2015-02-11 Richard Henderson <rth@redhat.com>
26557
26558 PR sanitize/65000
26559 * tree-eh.c (mark_reachable_handlers): Mark source and destination
26560 regions of __builtin_eh_copy_values.
26561
26562 2015-02-11 Jakub Jelinek <jakub@redhat.com>
26563
26564 PR middle-end/65003
26565 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
26566 ultimate alias is MEM with SYMBOL_REF satisfying
26567 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
26568 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
26569
26570 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
26571
26572 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
26573 "diagnostic-core.h".
26574 (main): Initialize progname, and call diagnostic_initialize.
26575
26576 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
26577 instead of __OPENMP_TARGET__.
26578
26579 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
26580 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
26581 hard-coding PTX_ID.
26582
26583 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
26584
26585 * doc/sourcebuild.texi (pie_enabled): Document.
26586
26587 2015-02-11 Martin Liska <mliska@suse.cz>
26588
26589 PR ipa/64813
26590 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
26591 a return value for call to a function that is noreturn.
26592
26593 2015-02-11 Richard Biener <rguenther@suse.de>
26594
26595 PR lto/65015
26596 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
26597 and -fresolution.
26598
26599 2015-02-11 Andrew Pinski <apinski@cavium.com>
26600
26601 PR target/64893
26602 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
26603 Change the first argument type to size_type_node and add another
26604 size_type_node.
26605 (aarch64_simd_expand_builtin): Handle the new argument to
26606 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
26607 print an out when the first two arguments are not
26608 nonzero integer constants.
26609 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
26610 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
26611
26612 2015-02-11 Jakub Jelinek <jakub@redhat.com>
26613
26614 PR target/61925
26615 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
26616 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
26617 (ix86_set_current_function): Rewritten.
26618 (ix86_add_new_builtins): Temporarily clear current_target_pragma
26619 when creating builtin fndecls.
26620
26621 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
26622
26623 PR ipa/65005
26624 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
26625 function.
26626 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
26627 have no comdat group.
26628 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
26629 (lto_output_varpool_node): Always output alias info.
26630 (output_refs): Output refs of boundary aliases, too.
26631 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
26632 (output_symtab): Output call eges in thunks in boundary.
26633 (get_alias_symbol): Remove.
26634 (input_node, input_varpool_node): Do not special case weakrefs.
26635 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
26636 alias and thunks targets in the boundary; do not take removed symbols
26637 from their comdat groups.
26638 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
26639 (cgraph_node::global_info): Remove.
26640 (cgraph_node::rtl_info): Look through aliases and thunks.
26641 * cgrpah.h (global_info): Remove.
26642 (non_local_p): Remove.
26643
26644 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
26645 Sandra Loosemore <sandra@codesourcery.com>
26646
26647 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
26648 to inline asm. List dialects in proper order.
26649
26650 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
26651 Sandra Loosemore <sandra@codesourcery.com>
26652
26653 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
26654
26655 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
26656
26657 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
26658 modified) reference to Solaris.
26659
26660 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
26661
26662 * doc/extend.texi (Extended Asm): Fix typos.
26663
26664 2015-02-10 Jakub Jelinek <jakub@redhat.com>
26665
26666 PR sanitizer/65004
26667 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
26668
26669 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
26670
26671 PR target/64661
26672 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
26673 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
26674 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
26675 * config/sh/constraints.md (Ara, Add): New constraints.
26676 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
26677 predicates.
26678 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
26679 atomic_mem_operand_0. Don't use force_reg on the memory address.
26680 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
26681 Sra constraint. Convert to insn_and_split. Add workaround for
26682 PR 64974.
26683 (atomic_compare_and_swap<mode>_hard): Copy to
26684 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
26685 Use atomic_mem_operand_0 predicate.
26686 (atomic_compare_and_swap<mode>_soft_gusa,
26687 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
26688 AraAdd constraints.
26689 (atomic_compare_and_swap<mode>_soft_tcb,
26690 atomic_compare_and_swap<mode>_soft_imask,
26691 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
26692 atomic_mem_operand_0 predicate and SraSdd constraints.
26693 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
26694 constraint.
26695 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
26696 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
26697 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
26698 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
26699 force_reg on the memory address.
26700 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
26701 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
26702 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
26703 atomic_mem_operand_1 predicate and Sra constraint.
26704 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
26705 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
26706 Use atomic_mem_operand_1 predicate.
26707 (atomic_<fetchop_name><mode>_hard): Copy to
26708 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
26709 Use atomic_mem_operand_1 predicate.
26710 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
26711 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
26712 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
26713 insn_and_split. Use atomic_mem_operand_1 predicate.
26714 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
26715 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
26716 Use atomic_mem_operand_1 predicate.
26717 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
26718 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
26719 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
26720 in generated insn with original mem operand before emitting the insn.
26721 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
26722 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
26723 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
26724 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
26725 Use atomic_mem_operand_1 predicate and AraAdd constraints.
26726 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
26727 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
26728 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
26729 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
26730 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
26731 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
26732 atomic_not_fetch<mode>_soft_tcb,
26733 atomic_<fetchop_name>_fetch<mode>_soft_imask,
26734 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
26735 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
26736 Use atomic_mem_operand_1 predicate and SraSdd constraints.
26737
26738 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
26739
26740 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
26741 and 3 earlyclobber operands.
26742
26743 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
26744
26745 * common.opt (fstack-reuse): Mark as optimization.
26746
26747 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
26748
26749 PR ipa/64982
26750 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
26751
26752 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
26753
26754 PR tree-optimization/64326
26755 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
26756
26757 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
26758
26759 PR gcov-profile/61889
26760 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
26761
26762 2015-02-10 Richard Biener <rguenther@suse.de>
26763
26764 PR tree-optimization/64995
26765 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
26766 value we use is final.
26767 (visit_reference_op_store): Always valueize op.
26768 (visit_use): Properly valueize vuses.
26769
26770 2015-02-10 Richard Biener <rguenther@suse.de>
26771
26772 PR tree-optimization/64909
26773 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
26774 pass a scalar-stmt count estimate to the cost model.
26775 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
26776
26777 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
26778
26779 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
26780 enabled by default together with var-tracking.
26781
26782 2015-02-10 Nick Clifton <nickc@redhat.com>
26783
26784 * config/rl78/rl78.c: Remove DIV attribute code accidentally
26785 included in previous rl78 commit.
26786
26787 2015-02-10 Richard Biener <rguenther@suse.de>
26788
26789 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
26790 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
26791 return the bitpack.
26792
26793 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
26794
26795 PR gcov-profile/61889
26796 * config.in: regenerate.
26797 * configure.in: Likewise.
26798 * configure.ac: Check for ftw.h.
26799 * gcov-tool.c: Check for ftw.h before using nftw.
26800
26801 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
26802
26803 PR lto/64076
26804 * ipa-visibility.c (update_visibility_by_resolution_info): Only
26805 assert when not in lto mode.
26806
26807 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
26808
26809 * ira-color.c (setup_left_conflict_sizes_p): Simplify
26810 initialization/assignment of conflict_size.
26811
26812 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
26813
26814 PR ipa/64978
26815 * ipa-cp.c (gather_caller_stats): Skip thunks.
26816 (propagate_constants_topo): Skip aliases.
26817
26818 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
26819
26820 PR target/64761
26821 * config/sh/sh.c (sh_option_override): Don't change
26822 -freorder-blocks-and-partition to -freorder-blocks even when
26823 unwinding is enabled.
26824 (sh_can_follow_jump): Return false if the followee jump is
26825 a crossing jump when -freorder-blocks-and-partition is specified.
26826 * config/sh/sh.md (*jump_compact_crossing): New insn.
26827
26828 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
26829 Kaz Kojima <kkojima@gcc.gnu.org>
26830
26831 PR target/64761
26832 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
26833 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
26834 (sh_can_redirect_branch): Rename to ...
26835 (sh_can_follow_jump): ... this. Constify argument types.
26836 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
26837 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
26838 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
26839 * doc/tm.texi: Regenerate.
26840
26841 2015-02-09 Jakub Jelinek <jakub@redhat.com>
26842
26843 PR sanitizer/64981
26844 * builtins.c (expand_builtin): Call targetm.expand_builtin
26845 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
26846
26847 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26848
26849 PR ipa/61548
26850 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
26851
26852 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26853
26854 PR ipa/63566
26855 * ipa-icf.c (set_local): New function.
26856 (sem_function::merge): Use it.
26857
26858 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26859
26860 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
26861 (add_type_duplicate): Fix comparison of BINFOs.
26862
26863 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26864
26865 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
26866 on getting VOID pointer.
26867
26868 2015-02-09 Jakub Jelinek <jakub@redhat.com>
26869
26870 PR target/64979
26871 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
26872 va_list escapes.
26873
26874 2015-02-09 Richard Biener <rguenther@suse.de>
26875
26876 * genmatch.c (replace_id): Copy expr_type.
26877
26878 2015-02-09 Richard Biener <rguenther@suse.de>
26879
26880 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
26881 (streamer_write_tree_bitfields): Declare.
26882 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
26883 properly unpack padding.
26884 (unpack_value_fields): Inline ...
26885 (streamer_read_tree_bitfields): ... here.
26886 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
26887 and properly add padding bits.
26888 (streamer_pack_tree_bitfields): Fold into ...
26889 (streamer_write_tree_bitfields): ... this new function,
26890 exposing the bitpack object.
26891 * lto-streamer-out.c (lto_write_tree_1): Call
26892 streamer_write_tree_bitfields.
26893
26894 2015-02-09 Richard Biener <rguenther@suse.de>
26895
26896 PR tree-optimization/54000
26897 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
26898 (struct ivopts_data): Add loop_loc member.
26899 (tree_ssa_iv_optimize_loop): Dump loop location.
26900 (create_new_ivs): Likewise, also dump number of IVs generated.
26901
26902 2015-02-09 Martin Liska <mliska@suse.cz>
26903
26904 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
26905 just if not yet registered.
26906 (ipa_icf_generate_summary): Register callgraph hooks.
26907
26908 2015-02-08 Andrew Pinski <apinski@cavium.com>
26909
26910 * config/aarch64/aarch64.c (gty_dummy): Delete.
26911
26912 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26913
26914 PR ipa/63566
26915 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
26916 (cgraph_node::local_p): Remove thunk related FIXME.
26917
26918 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26919
26920 PR ipa/63566
26921 * i386.c (ix86_function_regparm): Look through aliases to see if callee
26922 is local and optimized.
26923 (ix86_function_sseregparm): Likewise; also use target's SSE math
26924 settings; error out instead of silently generating wrong code
26925 on mismatches.
26926 (init_cumulative_args): Look through aliases.
26927
26928 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26929
26930 PR ipa/63566
26931 * ipa-split.c (execute_split_functions): Split if function has aliases.
26932
26933 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
26934
26935 PR ipa/63566
26936 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
26937 aliases before trying to expand it.
26938 (cgraph_node::expand_thunk): Fix formating.
26939
26940 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
26941
26942 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
26943 (Using Assembly Language with C): Expand introduction.
26944 (Basic Asm): Copy-edit. Add more information about uses of
26945 basic asm.
26946 (Extended Asm): Copy-edit. Document new escape syntax and
26947 %l[label] syntax.
26948 (Global Reg Vars): Copy-edit.
26949 (Local Reg Vars): Likewise.
26950
26951 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
26952
26953 PR debug/2714
26954 PR bootstrap/64256
26955 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
26956 (DBX_CONTIN_CHAR): Define.
26957
26958 2015-02-06 Sebastian Pop <s.pop@samsung.com>
26959 Brian Rzycki <b.rzycki@samsung.com>
26960
26961 PR tree-optimization/64878
26962 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
26963 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
26964 Stop recursion at loop phi nodes after having visited a loop phi node.
26965
26966 2015-02-06 Jakub Jelinek <jakub@redhat.com>
26967
26968 * toplev.c (process_options): Change flag_ipa_ra before creating
26969 optimization_{default,current}_node.
26970
26971 PR ipa/64896
26972 * cgraphunit.c (cgraph_node::expand_thunk): If
26973 restype is not is_gimple_reg_type nor the thunk_fndecl
26974 returns aggregate_value_p, set restmp to a temporary variable
26975 instead of resdecl.
26976
26977 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
26978
26979 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
26980
26981 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
26982
26983 PR target/64205
26984 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
26985 add a general secondary reload handler for SDmode, unless we have
26986 both read/write support for SDmode.
26987
26988 2015-02-06 Jakub Jelinek <jakub@redhat.com>
26989
26990 PR middle-end/64937
26991 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
26992 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
26993 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
26994 1 before, push it to abstract_vec.
26995 (dwarf2out_abstract_function): Adjust caller. Don't call
26996 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
26997 DECL_ABSTRACT_P flags for all abstract_vec elts.
26998
26999 2015-02-06 Renlin Li <renlin.li@arm.com>
27000
27001 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
27002 complex gimple.
27003 * tree-ssa.c (execute_update_addresses_taken): Likewise.
27004
27005 2015-02-06 Jeff Law <law@redhat.com>
27006
27007 PR target/64889
27008 * config/h8300/h8300.c (push): New argument "in_prologue".
27009 Pass "in_prologue" along to "F".
27010 (h8300_push_pop): Corresponding changes.
27011 (h8300_expand_prologue): Likewise.
27012 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
27013
27014 2015-02-06 Jakub Jelinek <jakub@redhat.com>
27015
27016 PR rtl-optimization/64957
27017 PR debug/64817
27018 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
27019 IOR rather than for AND.
27020
27021 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
27022
27023 PR target/62631
27024 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
27025 of shift-add and (add + shift) operations. Rename local variable.
27026
27027 2015-02-05 Jeff Law <law@redhat.com>
27028
27029 PR target/17306
27030 * config/h8300/constraints.md (U): Correctly dectect
27031 "eightbit_data" memory addresses.
27032 * config/h8300/h8300.c (eightbit_constant_address_p): Also
27033 handle (const (plus (symbol_ref (x)))) where x is declared
27034 as an 8-bit data memory address.
27035 * config/h8300/h8300.md (call, call_value): Correctly detect
27036 "funcvec" functions.
27037
27038 PR target/43264
27039 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
27040 24 to 28 bits for the H8/300.
27041
27042 2015-02-06 Alan Modra <amodra@gmail.com>
27043
27044 PR target/64876
27045 * config/rs6000/rs6000.c (chain_already_loaded): New function.
27046 (rs6000_call_aix): Use it.
27047
27048 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
27049
27050 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
27051 check.
27052
27053 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
27054
27055 * config/h8300/constraints.md ("U" constraint): Use strict
27056 variant of REG_OK_FOR_BASE_P after reload has started.
27057
27058 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
27059
27060 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
27061 define to zero if !TARGET_NEON.
27062 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
27063
27064 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27065 Trevor Saunders <tsaunders@mozilla.com>
27066
27067 PR ipa/61548
27068 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
27069
27070 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27071
27072 PR ipa/61548
27073 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
27074 when removing varpool nodes.
27075
27076 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27077
27078 PR ipa/61548
27079 * varpool.c (varpool_node::remove): Fix order of variables.
27080
27081 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27082
27083 PR ipa/64686
27084 * ipa-inline.c (inline_small_functions): Fix ordering issue between
27085 speculation resolution and key updates.
27086
27087 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27088
27089 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
27090 about not letting any speculative edges unupdated.
27091
27092 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27093
27094 PR gcov/64123
27095 * gcov-io.c (gcov_var): Export.
27096
27097 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27098
27099 PR middle-end/64922
27100 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
27101 edges that become speculative.
27102
27103 2015-02-04 Jakub Jelinek <jakub@redhat.com>
27104
27105 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
27106 or DW_LANG_Fortran08.
27107 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
27108 DW_LANG_Fortran08.
27109 (gen_compile_unit_die): Handle "GNU Fortran2003" and
27110 "GNU Fortran2008" language strings.
27111 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
27112 * langhooks.h (lang_GNU_Fortran): New prototype.
27113 * langhooks.c (lang_GNU_Fortran): New function.
27114 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
27115 lang_GNU_Fortran.
27116
27117 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
27118
27119 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
27120 (RTX_OK_FOR_OLO10_P): Likewise.
27121
27122 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
27123
27124 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
27125
27126 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
27127
27128 PR middle-end/64922
27129 * gimple.c: Include gimple-ssa.h.
27130 (maybe_remove_unused_call_args): New function.
27131 * gimple.h (maybe_remove_unused_call_args): Declare.
27132 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
27133 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
27134 * gimple-fold.c (gimple_fold_call): Likewise.
27135
27136 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
27137
27138 PR rtl-optimization/64905
27139 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
27140 pointer alignment if it isn't needed.
27141
27142 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
27143
27144 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
27145 cortex-a72.cortex-a53.
27146 * config/aarch64/aarch64-tune.md: Regenerate.
27147 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
27148
27149 2015-02-04 Nick Clifton <nickc@redhat.com>
27150
27151 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
27152 inside a MEM.
27153
27154 2015-02-04 Jakub Jelinek <jakub@redhat.com>
27155
27156 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
27157 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
27158 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
27159 of DEF_BUILTIN.
27160 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
27161 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
27162 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
27163 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
27164 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
27165 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
27166 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
27167 * tree-core.h (enum built_in_function): In between
27168 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
27169 for builtins that use DEF_BUILTIN_CHKP macro.
27170
27171 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
27172
27173 PR debug/64817
27174 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
27175 operands for tcc_comparison exprs. Fix typos.
27176
27177 PR debug/64817
27178 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
27179 of two XORs that have an intervening AND or IOR.
27180
27181 PR debug/64817
27182 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
27183 simplification of XOR of AND to not allocate new rtx before
27184 committing to a simplification.
27185
27186 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27187
27188 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
27189 manual swaps in all peepholes.
27190
27191 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27192
27193 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
27194 of manual swapping implementation.
27195 (aarch64_expand_vec_perm_const_1): Likewise.
27196
27197 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
27198
27199 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
27200 (generic_addrcost_table): Remove NAMED_PARAM.
27201 (cortexa57_addrcost_table): Likewise.
27202 (xgene1_addrcost_table): Likewise.
27203 (generic_regmove_table): Likewise.
27204 (cortexa53_regmove_table): Likewise.
27205 (xgene1_regmove_table): Likewise.
27206 (generic_vector_table): Likewise.
27207 (cortexa57_vector_table): Likewise.
27208 (xgene1_vector_table): Likewise.
27209 (generic_tunings): Likewise.
27210 (cortexa53_tunings): Likewise.
27211 (cortexa57_tunings): Likewise.
27212 (xgene1_tunings): Likewise.
27213
27214 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
27215
27216 * config/arm/arm-cores.def: Add cortex-a72 and
27217 cortex-a72.cortex-a53.
27218 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
27219 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
27220 * config/arm/arm-tune.md: Regenerate.
27221 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
27222 "cortex-a72.cortex-a53".
27223 * doc/invoke.texi (ARM Options/-mtune): Likewise.
27224
27225 2015-02-04 Nick Clifton <nickc@redhat.com>
27226
27227 PR target/64408
27228 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
27229 of accepted codes.
27230 (nonimmediate_di_operand): Likewise.
27231
27232 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
27233 prefixes of known F5 using MSP430 MCUs.
27234
27235 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27236
27237 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
27238 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
27239 instead of __builtin_sqrt.
27240
27241 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
27242
27243 * varasm.c (do_assemble_alias): Follow transparent alias
27244 chain for target.
27245 (default_assemble_visibility): Follow transparent alias
27246 chain for decl name.
27247
27248 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
27249
27250 PR middle-end/62103
27251 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
27252 to compute size of referenced value in the constant case.
27253
27254 2015-02-03 Jakub Jelinek <jakub@redhat.com>
27255
27256 PR rtl-optimization/64756
27257 * cse.c (invalidate_dest): New function.
27258 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
27259 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
27260 invalidate and do not record it.
27261
27262 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
27263
27264 PR target/64660
27265 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
27266 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
27267 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
27268 atomic_nand<mode>_soft_tcb): New insns.
27269 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
27270 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
27271 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
27272 Split into atomic_not_fetchsi_hard if operands[0] is unused.
27273 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
27274 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
27275 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
27276 atomic_not<mode>_hard if operands[0] is unused.
27277 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
27278 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
27279 if operands[0] is unused.
27280 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
27281 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
27282 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
27283 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
27284 unused.
27285 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
27286 into atomic_not<mode>_soft_tcb if operands[0] is unused.
27287 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
27288 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
27289 if operands[0] is unused.
27290 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
27291 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
27292 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
27293 atomic_nand_fetchsi_hard if operands[0] is unused.
27294 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
27295 atomic_nand<mode>_hard if operands[0] is unused.
27296 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
27297 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
27298 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
27299 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
27300 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
27301 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
27302 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
27303 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
27304 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
27305 atomic_not<mode>_hard if operands[0] is unused.
27306 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
27307 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
27308 unused.
27309 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
27310 into atomic_not<mode>_soft_tcb if operands[0] is unused.
27311 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
27312 atomic_nand<mode>_hard if operands[0] is unused.
27313 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
27314 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
27315
27316 2015-02-03 David Malcolm <dmalcolm@redhat.com>
27317
27318 PR jit/64810
27319 * Makefile.in (GCC_OBJS): Add gcc-main.o.
27320 * gcc-main.c: New file, containing "main" taken from gcc.c.
27321 * gcc.c (do_self_spec): Free decoded_options.
27322 (class driver): Move declaration to gcc.h.
27323 (main): Move declaration and implementation to new file
27324 gcc-main.c.
27325 (driver_get_configure_time_options): New function.
27326 * gcc.h (class driver): Move this declaration here, from
27327 gcc.c.
27328 (driver_get_configure_time_options): New declaration.
27329
27330 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
27331
27332 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
27333 cross-module inlining.
27334 * cgraph.h (cgraph_node): Add flag merged.
27335 * ipa-icf.c (sem_function::merge): Maintain it.
27336
27337 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
27338
27339 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
27340 instead of OBJECT_P.
27341
27342 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
27343
27344 PR target/62631
27345 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
27346 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
27347 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
27348 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
27349
27350 2015-02-03 Jakub Jelinek <jakub@redhat.com>
27351
27352 PR other/63504
27353 * combine.c (reg_n_sets_max): New variable.
27354 (can_change_dest_mode, reg_nonzero_bits_for_combine,
27355 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
27356 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
27357 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
27358 (rest_of_handle_combine): Initialize reg_n_sets_max.
27359
27360 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
27361
27362 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
27363 if some always_inline was inlined, apply changes before inlining
27364 heuristically.
27365
27366 2015-02-02 David Malcolm <dmalcolm@redhat.com>
27367
27368 PR jit/64810
27369 * config/arm/arm.c (arm_option_override): Set
27370 arm_selected_arch/cpu/tune to NULL on entry.
27371
27372 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
27373 Andrew Pinski <pinskia@gcc.gnu.org>
27374 Jakub Jelinek <jakub@gcc.gnu.org>
27375
27376 PR target/64231
27377 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
27378 integer typing for small model. Use IN_RANGE.
27379
27380 2015-02-02 Richard Biener <rguenther@suse.de>
27381
27382 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
27383 * tree-vrp.c (vrp_valueize_1): Likewise.
27384
27385 2015-02-02 Alan Modra <amodra@gmail.com>
27386
27387 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
27388 than mem for toc_restore.
27389 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
27390 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
27391 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
27392
27393 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
27394
27395 PR target/64047
27396 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
27397 explicit default options.
27398
27399 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
27400
27401 PR ipa/64872
27402 * ipa-utils.c (ipa_merge_profiles): Add release argument.
27403 * ipa-icf.c (sem_function::merge): Do not release body when merging.
27404 * ipa-utils.h (ipa_merge_profiles): Update prototype.
27405
27406 2015-02-01 Jakub Jelinek <jakub@redhat.com>
27407
27408 PR debug/64817
27409 * cfgexpand.c (deep_ter_debug_map): New variable.
27410 (avoid_deep_ter_for_debug): New function.
27411 (expand_debug_expr): If TERed SSA_NAME is in
27412 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
27413 instead of trying to expand SSA_NAME's def stmt.
27414 (expand_debug_locations): When expanding debug bind
27415 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
27416 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
27417 value.
27418 (pass_expand::execute): Call avoid_deep_ter_for_debug on
27419 all debug bind stmts. Delete deep_ter_debug_map after
27420 expand_debug_location if non-NULL and clear it.
27421
27422 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
27423
27424 PR target/64851
27425 * config/sh/sync.md (atomic_fetch_notsi_hard,
27426 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
27427 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
27428 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
27429 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
27430 atomic_not_fetch<mode>_soft_imask): New insns.
27431
27432 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
27433
27434 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
27435 (rank_for_schedule_debug): Split from ...
27436 (rank_for_schedule): ... this.
27437 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
27438 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
27439
27440 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
27441
27442 * doc/md.texi (Machine Constraints): Alphabetize table by target.
27443 * doc/extend.texi (x86 Variable Attributes): Move section to
27444 correct alphabetization after renaming.
27445 (x86 Type Attributes): Likewise.
27446 (Target Builtins): Re-alphabetize menu.
27447 (x86 Built-in Functions): Move section to correct alphabetization
27448 after renaming.
27449 (x86 transactional memory intrinsics): Likewise.
27450 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
27451 and x86 Windows Options in table and menu.
27452 (x86 Options): Move section to correct alphabetization after
27453 renaming.
27454 (x86 Windows Options): Likewise.
27455
27456 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
27457
27458 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
27459 preferred names of the architecture and its 32- and 64-bit
27460 variants.
27461 * doc/invoke.texi: Likewise.
27462 * doc/md.texi: Likewise.
27463
27464 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
27465
27466 PR target/64882
27467 * config/i386/predicates.md (address_no_seg_operand): Reject
27468 non-CONST_INT_P operands in invalid mode.
27469
27470 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
27471
27472 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
27473 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
27474 * config/i386/predicates.md (address_no_seg_operand): Call
27475 address_operand with VOIDmode.
27476 (vsib_address_operand): Ditto.
27477 (address_mpx_no_base_operand): Ditto.
27478 (address_mpx_no_index_operand): Ditto.
27479
27480 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
27481
27482 PR target/64688
27483 * lra-constraints.c (original_subreg_reg_mode): New.
27484 (simplify_operand_subreg): Try to simplify subreg of const. Use
27485 original_subreg_reg_mode for it.
27486 (swap_operands): Update original_subreg_reg_mode.
27487 (curr_insn_transform): Set up original_subreg_reg_mode.
27488
27489 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
27490
27491 PR target/64617
27492 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
27493 function.
27494 (process_alt_operands): Use it.
27495 (curr_insn_transform): Check the optional reload pseudo class is
27496 ok for the mode.
27497
27498 2015-01-30 Joseph Myers <joseph@codesourcery.com>
27499
27500 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
27501 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
27502 prototype.
27503 * toplev.h (init_asm_output): Update comment on use of
27504 UNKNOWN_LOCATION with fatal_error.
27505 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
27506 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
27507 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
27508 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
27509 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
27510 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
27511 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
27512 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
27513 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
27514 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
27515 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
27516 fatal_error changed to pass input_location as first argument.
27517
27518 2015-01-30 Martin Liska <mliska@suse.cz>
27519
27520 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
27521 in #pragma GCC diagnostic guards.
27522
27523 2015-01-30 Richard Biener <rguenther@suse.de>
27524
27525 PR tree-optimization/64829
27526 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
27527 not add a widening conversion pattern but hand off extra
27528 widenings to callers.
27529 (vect_recog_widen_mult_pattern): Handle extra widening produced
27530 by vect_handle_widen_op_by_const.
27531 (vect_recog_widen_shift_pattern): Likewise.
27532 (vect_pattern_recog_1): Remove excess vertical space in dumping.
27533 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
27534 (vect_init_vector_1): Likewise.
27535 (vect_get_vec_def_for_operand): Likewise.
27536 (vect_finish_stmt_generation): Likewise.
27537 (vectorizable_load): Likewise.
27538 (vect_analyze_stmt): Likewise.
27539 (vect_is_simple_use): Likewise.
27540
27541 2015-01-29 Jeff Law <law@redhat.com>
27542
27543 * combine.c (try_combine): Fix typo in comment.
27544
27545 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
27546
27547 PR target/64580
27548 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
27549 (rs6000_stack_info): Add assert.
27550 (rs6000_output_savres_externs): New function, split off from...
27551 (rs6000_output_function_prologue): ... here. Do not call it for
27552 thunks.
27553
27554 2015-01-29 Jeff Law <law@redhat.com>
27555
27556 PR target/15184
27557 * combine.c (try_combine): If I0 is a memory load and I3 a store
27558 to a related address, increase the "goodness" of doing a 4-insn
27559 combination with I0-I3.
27560 (make_field_assignment): Handle SUBREGs in the ior+and case.
27561
27562 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
27563
27564 PR tree-optimization/64746
27565 * tree-if-conv.c (mask_exists): New function.
27566 (predicate_mem_writes): Save created mask with given size for further
27567 use.
27568 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
27569 (ifcvt_repair_bool_pattern): Collect all statements that are root
27570 of bool pattern and use iterative algorithm to remove multiple uses
27571 of predicates, display number of required iterations.
27572
27573 2015-01-29 Richard Biener <rguenther@suse.de>
27574
27575 PR tree-optimization/64853
27576 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
27577 stmt will get simulated again.
27578 * tree-ssa-ccp.c (valueize_op_1): Likewise.
27579
27580 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27581
27582 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
27583 return_in_pc. Remove redundant assignments.
27584 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
27585 (arm_expand_epilogue): Don't compare boolean with true in if condition.
27586
27587 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
27588
27589 * config/i386/i386.c (ix86_mode_after): Make static.
27590
27591 2015-01-29 Richard Biener <rguenther@suse.de>
27592
27593 PR tree-optimization/64844
27594 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
27595 dump cost model analysis.
27596 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
27597 Do not register adjusted load/store costs here.
27598
27599 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
27600 Uros Bizjak <ubizjak@gmail.com>
27601
27602 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
27603 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
27604 using x86_use_pseudo_pic_reg.
27605 * config/i386/i386.c (ix86_conditional_register_usage): Remove
27606 support for fixed PIC register.
27607 (ix86_use_pseudo_pic_reg): Not static any more.
27608
27609 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
27610
27611 PR middle-end/64805
27612 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
27613 to avoid error in cgraph node verification.
27614
27615 2015-01-29 Marek Polacek <polacek@redhat.com>
27616
27617 * doc/standards.texi: Reflect that the default for C is gnu11.
27618
27619 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
27620
27621 PR target/64761
27622 * reorg.c (switch_text_sections_between_p): New function.
27623 (relax_delay_slots): Call it when testing if the jump insn
27624 is removable. Use targetm.can_follow_jump when testing if
27625 the conditional branch can follow an unconditional jump.
27626
27627 2015-01-27 Caroline Tice <cmtice@google.com>
27628
27629 Committing VTV Cywin/Ming patch for Patrick Wollgast
27630 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
27631 if -fvtable-verify=preinit/std is used.
27632 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
27633 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
27634 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
27635 if -fvtable-verify=preinit/std is used.
27636 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
27637 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
27638 if -fvtable-verify=preinit/std is used.
27639 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
27640 * config/i386/mingw32.h (LIB_SPEC): Likewise.
27641 * varasm.c (assemble_variable): Add code to properly set the comdat
27642 section and name for the .vtable_map_vars section in case the
27643 target is PE or COFF.
27644
27645 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
27646
27647 PR ipa/64801
27648 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
27649 make sane BB profile.
27650 (cgraph_node::expand_thunk): Make sane BB profile.
27651 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
27652 * cgraph.h (init_lowered_empty_function): Update prototype.
27653 * config/i386/i386.c (make_resolver_func): Update call.
27654 * predict.c (gate): Disable branch prediction pass if
27655 profile is already there.
27656
27657 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
27658
27659 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
27660 * opth-gen.awk: Likewise.
27661 * common.opt: Mark flag_fp_contract_mode as Optimization.
27662
27663 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
27664
27665 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
27666 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
27667
27668 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
27669
27670 PR target/64659
27671 * config/sh/predicates.md (atomic_arith_operand,
27672 atomic_logical_operand): Remove.
27673 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
27674 (atomic_arith_operand_0): New predicate.
27675 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
27676 Use atomic_arith_operand_0 for input values.
27677 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
27678 atomic_compare_and_swap<mode>_soft_gusa,
27679 atomic_compare_and_swap<mode>_soft_tcb,
27680 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
27681 arith_reg_operand instead of register_operand.
27682 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
27683 atomic_arith_operand_0 for newval input.
27684 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
27685 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
27686 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
27687 arith_reg_operand instead of register_operand.
27688 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
27689 fetchop_predicate_1, fetchop_constraint_1_llcs,
27690 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
27691 fetchop_constraint_1_imask): New code iterator attributes.
27692 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
27693 register_operand. Use fetchop_predicate_1.
27694 (atomic_fetch_<fetchop_name>si_hard,
27695 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
27696 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
27697 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
27698 and arith_reg_operand instead of register_operand. Use
27699 fetchop_predicate_1, fetchop_constraint_1_gusa.
27700 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
27701 and arith_reg_operand instead of register_operand. Use
27702 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
27703 to allow R0 usage.
27704 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
27705 and arith_reg_operand instead of register_operand. Use
27706 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
27707 to allow R0 usage.
27708 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
27709 register_operand. Use atomic_logical_operand_1.
27710 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
27711 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
27712 arith_reg_operand instead of register_operand.
27713 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
27714 Use arith_reg_dest and arith_reg_operand instead of register_operand.
27715 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
27716 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
27717 register_operand. Use fetchop_predicate_1.
27718 (atomic_<fetchop_name>_fetchsi_hard,
27719 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
27720 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
27721 fetchop_constraint_1_llcs.
27722 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
27723 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
27724 fetchop_constraint_1_gusa.
27725 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
27726 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
27727 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
27728 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
27729 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
27730 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
27731 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
27732 register_operand. Use atomic_logical_operand_1.
27733 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
27734 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
27735 arith_reg_operand instead of register_operand.
27736 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
27737 arith_reg_operand instead of register_operand. Use logical_operand
27738 and K08. Adjust asm sequence to allow R0 usage.
27739 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
27740 arith_reg_operand instead of register_operand. Use logical_operand
27741 and K08.
27742
27743 2015-01-28 Jakub Jelinek <jakub@redhat.com>
27744
27745 PR other/63504
27746 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
27747 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
27748 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
27749 only get_full_len HOST_WIDE_INTs from get_val () array rather than
27750 all bits in *val_wide.
27751
27752 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
27753
27754 * varpool.c (tls_model_names): Fix names.
27755 (varpool_node::dump): Dump tls- prefix for tls models.
27756
27757 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
27758 Bernd Schmidt <bernds@codesourcery.com>
27759 Nathan Sidwell <nathan@codesourcery.com>
27760
27761 * config/nvptx/mkoffload.c: New file.
27762 * config/nvptx/t-nvptx: Add build rules for it.
27763 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
27764 (extra_programs): Add mkoffload.
27765 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
27766 function.
27767 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
27768
27769 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
27770
27771 PR middle-end/64809
27772 * cfgexpand.c (reorder_operands): Skip debug gimples.
27773
27774 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
27775
27776 PR tree-optimization/64277
27777 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
27778 range info when possible to refine estimation.
27779
27780 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
27781
27782 PR tree-optimization/64718
27783 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
27784 be a 16bit unsigned integer when n->range is 16.
27785 (bswap_replace): Convert src to that type if necessary for all bswap
27786 sizes. Fix rotation right notation in nearby comment. Use bswap_type
27787 set in pass_optimize_bswap::execute ().
27788
27789 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
27790
27791 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
27792 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
27793 integer and floating point variants.
27794 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
27795
27796 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
27797
27798 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
27799 for all vector modes.
27800
27801 2015-01-28 Jakub Jelinek <jakub@redhat.com>
27802
27803 PR bootstrap/64612
27804 * doc/sourcebuild.texi (comdat_group): Document.
27805
27806 2015-01-28 Terry Guo <terry.guo@arm.com>
27807
27808 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
27809
27810 2015-01-27 David Malcolm <dmalcolm@redhat.com>
27811
27812 * toplev.c (print_version): Add param "show_global_state", and
27813 only print GGC and plugin information if it is true.
27814 (init_asm_output): Pass in "true" for the new param when calling
27815 print_version.
27816 (process_options): Likewise.
27817 (toplev::main): Likewise.
27818 * toplev.h (print_version): Add new param to decl.
27819
27820 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
27821
27822 PR ipa/60871
27823 PR ipa/64139
27824 * tree.c (lookup_binfo_at_offset): New function.
27825 (get_binfo_at_offset): Use it.
27826
27827 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
27828
27829 PR ipa/64282
27830 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
27831 on vtable being vtable.
27832
27833 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
27834
27835 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
27836 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
27837 -mhotpatch= option.
27838 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
27839 -mno-hotpatch options. Change syntax of -mhotpatch= option.
27840 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
27841 Renamed.
27842 (s390_hotpatch_trampoline_halfwords_max): Renamed.
27843 (s390_hotpatch_hw_max): New name.
27844 (s390_hotpatch_trampoline_halfwords): Renamed.
27845 (s390_hotpatch_hw_before_label): New name.
27846 (get_hotpatch_attribute): Removed.
27847 (s390_hotpatch_hw_after_label): New name.
27848 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
27849 attribute.
27850 (s390_attribute_table): Ditto.
27851 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
27852 (s390_function_num_hotpatch_hw): New name.
27853 Remove special handling of inline functions and hotpatching.
27854 Return number of nops before and after the function label.
27855 (s390_can_inline_p): Removed.
27856 (s390_asm_output_function_label): Emit a configurable number of nops
27857 after the function label.
27858 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
27859 (TARGET_CAN_INLINE_P) Removed.
27860 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
27861
27862 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
27863 Jiong Wang <jiong.wang@arm.com>
27864
27865 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
27866 of scratch reg.
27867 (cb<optab><mode>1): Likewise.
27868 * config/aarch64/iterators.md (bcond): New define_code_attr.
27869
27870 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
27871
27872 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
27873 memory accesses.
27874
27875 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
27876
27877 * config/s390/s390.c (s390_register_move_cost): Increase costs for
27878 FPR->GPR moves.
27879
27880 2015-01-27 Richard Biener <rguenther@suse.de>
27881
27882 * tree-vrp.c (update_value_range): Intersect the range with
27883 old recorded SSA name range information.
27884
27885 2015-01-27 Nick Clifton <nickc@redhat.com>
27886
27887 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
27888 BC, DE and HL registers directly, not via AX.
27889 When decrementing the stack pointer by a large amount, transfer SP
27890 into AX and perform the subtraction there.
27891 (rl78_expand_epilogue): Perform the inverse of the above
27892 enhancements.
27893
27894 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
27895
27896 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
27897
27898 2015-01-27 Jakub Jelinek <jakub@redhat.com>
27899 Yury Gribov <y.gribov@samsung.com>
27900
27901 PR ubsan/64741
27902 * ubsan.c (ubsan_source_location): Refactor code.
27903 (ubsan_type_descriptor): Update type size. Refactor code.
27904
27905 2015-01-27 Richard Biener <rguenther@suse.de>
27906
27907 PR tree-optimization/56273
27908 PR tree-optimization/59124
27909 PR tree-optimization/64277
27910 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
27911 from the first VRP pass.
27912
27913 2015-01-27 Jakub Jelinek <jakub@redhat.com>
27914
27915 PR ipa/64776
27916 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
27917 handle the first argument in the same loop as all the other arguments.
27918
27919 PR rtl-optimization/61058
27920 * jump.c (cleanup_barriers): Update basic block boundaries
27921 if BLOCK_FOR_INSN is non-NULL on PREV.
27922
27923 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
27924
27925 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
27926 bounds narrowing, already instrumented calls and calls to
27927 not instrumentable functions.
27928
27929 2015-01-27 Jakub Jelinek <jakub@redhat.com>
27930
27931 PR tree-optimization/64807
27932 * wide-int.cc (wi::divmod_internal): Clear
27933 b_dividend[dividend_blocks_needed].
27934
27935 2015-01-26 DJ Delorie <dj@redhat.com>
27936
27937 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
27938 volatile memory references.
27939
27940 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
27941
27942 PR target/49263
27943 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
27944 remove_insn.
27945 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
27946 shifts if it already fits into K08.
27947
27948 2015-01-26 Jakub Jelinek <jakub@redhat.com>
27949
27950 PR ipa/64730
27951 * ipa-inline.c (inline_small_functions): Print "unknown" even
27952 if edge->call_stmt is non-NULL, but has builtins or unknown
27953 location.
27954
27955 PR middle-end/64421
27956 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
27957 with asterisk, skip the first character.
27958
27959 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
27960
27961 PR target/64806
27962 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
27963 order change.
27964
27965 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
27966
27967 PR target/64795
27968 * config/i386/i386.md (*movdi_internal): Also check operand 0
27969 to determine TYPE_LEA operand.
27970 (*movsi_internal): Ditto.
27971
27972 2015-01-26 Jakub Jelinek <jakub@redhat.com>
27973
27974 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
27975 OPTION_MASK_QUAD_MEMORY_ATOMIC.
27976
27977 2015-01-26 Renlin Li <renlin.li@arm.com>
27978
27979 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
27980 the comment.
27981 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
27982 for higher part.
27983
27984 2015-01-26 Richard Biener <rguenther@suse.de>
27985
27986 PR middle-end/64764
27987 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
27988 combining two BIT_AND_EXPR predicates.
27989
27990 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
27991
27992 PR bootstrap/64754
27993 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
27994
27995 2015-01-26 Terry Guo <terry.guo@arm.com>
27996
27997 * config/arm/arm.c (arm_file_start): Update the assignment of
27998 Tag_ABI_HardFP_use.
27999
28000 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
28001
28002 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
28003 pipeline model.
28004 config/arm/arm.md: Include the new Cortex-A57 model.
28005 (generic_sched): Don't use generic_sched when tuning for
28006 Cortex-A57.
28007
28008 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
28009 Uros Bizjak <ubizjak@gmail.com>
28010
28011 * config/i386/i386.c (get_builtin_code_for_version): Add
28012 support for BMI and BMI2 multiversion functions.
28013
28014 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
28015
28016 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
28017 (extract_bit_field): Likewise.
28018 (extract_low_bits): Likewise.
28019 (expand_mult): Likewise.
28020 (expand_mult_highpart_adjust): Likewise.
28021
28022 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
28023
28024 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
28025 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
28026 * config/i386/i386.c (processor_model): Add
28027 M_INTEL_COREI7_BROADWELL.
28028 (arch_names_table): Add "broadwell".
28029
28030 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
28031
28032 PR target/49263
28033 PR target/53987
28034 PR target/64345
28035 PR target/59533
28036 PR target/52933
28037 PR target/54236
28038 PR target/51244
28039 * config/sh/sh-protos.h
28040 (sh_extending_set_of_reg::can_use_as_unextended_reg,
28041 sh_extending_set_of_reg::use_as_unextended_reg,
28042 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
28043 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
28044 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
28045 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
28046 (sh_treg_insns): New class.
28047 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
28048 (scope_counter): New class.
28049 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
28050 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
28051 sh_extending_set_of_reg::can_use_as_unextended_reg,
28052 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
28053 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
28054 sh_split_treg_set_expr): New functions.
28055 (addsubcosts): Handle treg_set_expr.
28056 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
28057 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
28058 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
28059 (sh_insn_operands_modified_between_p): Make non-static.
28060 * config/sh/predicates.md (zero_extend_movu_operand): Allow
28061 simple_mem_operand in addition to displacement_mem_operand.
28062 (zero_extend_operand): Don't allow zero_extend_movu_operand.
28063 (treg_set_expr, treg_set_expr_not_const01,
28064 arith_reg_or_treg_set_expr): New predicates.
28065 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
28066 arith_or_int_operand instead of logical_operand. Convert to
28067 insn_and_split. Try to optimize constant operand in splitter.
28068 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
28069 (*tstqi_t_zero): Delete.
28070 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
28071 (tstsi_t_and_not): Delete.
28072 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
28073 Convert to insn_and_split.
28074 (unnamed split, tstsi_t_zero_extract_xor,
28075 tstsi_t_zero_extract_subreg_xor_little,
28076 tstsi_t_zero_extract_subreg_xor_big): Delete.
28077 (*tstsi_t_shift_mask): New insn_and_split.
28078 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
28079 to recombine with surrounding insns when splitting.
28080 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
28081 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
28082 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
28083 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
28084 (*cbranch_div0s: Delete.
28085 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
28086 Try to recombine with surrounding insns when splitting. Add operand
28087 order variants.
28088 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
28089 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
28090 *addc_r_r_msb, *addc_2r_msb): Delete.
28091 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
28092 order variant.
28093 (*addc_negreg_t): New insn_and_split.
28094 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
28095 Try to recombine with surrounding insns when splitting.
28096 Add operand order variants.
28097 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
28098 insn_and_split patterns.
28099 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
28100 surrounding insns when splitting.
28101 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
28102 (*rotcl): Likewise. Add zero_extract variant.
28103 (*ashrsi2_31): New insn_and_split.
28104 (*negc): Convert to insn_and_split. Use treg_set_expr.
28105 (*zero_extend<mode>si2_disp_mem): Update comment.
28106 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
28107 condition.
28108 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
28109 with surrounding insns when splitting.
28110 (any_treg_expr_to_reg): New insn_and_split.
28111 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
28112 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
28113 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
28114 *zero_extract_2): New single bit zero extract patterns.
28115 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
28116 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
28117 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
28118 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
28119 set destination.
28120 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
28121 register_operand for set source.
28122
28123 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
28124
28125 * i386.opt (prefetch_sse): New targetsave.
28126 * i386.c (ix86_function_specific_save): Save prefetch_sse.
28127 (ix86_function_specific_restore): Restore prefetch_sse and initialize
28128 ix86_cost/ix86_tune_cost.
28129
28130 2015-01-23 David Malcolm <dmalcolm@redhat.com>
28131
28132 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
28133 Support the JIT by using 0 as the language type.
28134
28135 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
28136
28137 PR target/64317
28138 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
28139 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
28140 (mark_regno_live, process_bb_lives): Pass new parameter value to
28141 make_hard_regno_born.
28142
28143 2015-01-23 Jakub Jelinek <jakub@redhat.com>
28144
28145 PR rtl-optimization/63637
28146 PR rtl-optimization/60663
28147 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
28148 if elt->cost is MAX_COST for ASM_OPERANDS.
28149 (find_sets_in_insn): Fix up comment typo.
28150 (cse_insn): Don't set src_volatile for all non-volatile
28151 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
28152 or with "memory" clobber. Set elt->cost to MAX_COST
28153 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
28154 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
28155
28156 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
28157
28158 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
28159 alternative 1.
28160
28161 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
28162
28163 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
28164 libgcc/config/i386/elf-lib.h.
28165
28166 2015-01-23 Jakub Jelinek <jakub@redhat.com>
28167
28168 PR driver/64737
28169 * gcc.c (print_configuration): Don't print a blank line at the end
28170 here...
28171 (run_attempt): ... but here unstead.
28172
28173 PR middle-end/64734
28174 * omp-low.c (scan_sharing_clauses): Don't ignore
28175 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
28176 on target data/update constructs.
28177
28178 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
28179
28180 PR target/50928
28181 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
28182 (DEBUG_RELOAD): Removed define.
28183 (m32c_limit_reload_class): Enable traces with if DEBUG0.
28184 (m32c_function_arg): Added a type cast.
28185 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
28186 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
28187 * config/m32c/bitops.md (andqi3_16): Likewise.
28188 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
28189 (push_a01_l): Likewise.
28190
28191 2015-01-23 David Malcolm <dmalcolm@redhat.com>
28192
28193 PR jit/64721
28194 * main.c (main): Construct toplev instances with init_signals=true.
28195 * toplev.c (general_init): Add param "init_signals", and use it to
28196 conditionalize the calls to signal and host_hooks.extra_signals.
28197 (toplev::toplev): Add param "init_signals".
28198 (toplev::main): When invoking general_init, pass m_init_signals
28199 to control whether signal-handlers are installed.
28200 * toplev.h (toplev::toplev): Add param "init_signals".
28201 (toplev::m_init_signals): New field.
28202
28203 2015-01-23 David Malcolm <dmalcolm@redhat.com>
28204
28205 PR jit/64722
28206 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
28207 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
28208 latter may be affected by the former (e.g. on i686).
28209
28210 2015-01-23 Martin Liska <mliska@suse.cz>
28211
28212 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
28213 false positive during profiledbootstrap.
28214
28215 2015-01-23 Tom de Vries <tom@codesourcery.com>
28216
28217 PR libgomp/64672
28218 * lto-opts.c (lto_write_options): Output non-explicit conservative
28219 -fno-openacc.
28220 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
28221 (append_compiler_options): Pass -fopenacc through.
28222
28223 2015-01-23 Tom de Vries <tom@codesourcery.com>
28224
28225 PR libgomp/64707
28226 * lto-opts.c (lto_write_options): Output non-explicit conservative
28227 -fno-openmp.
28228 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
28229 (append_compiler_options): Pass -fopenmp through.
28230
28231 2015-01-23 Jakub Jelinek <jakub@redhat.com>
28232
28233 PR debug/64511
28234 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
28235 GTY markup.
28236
28237 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
28238 * diagnostic.def (DK_ICE_NOBT): New kind.
28239 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
28240 like DK_ICE, but never print backtrace.
28241 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
28242 (internal_error_no_backtrace): New function.
28243 * gcc.c (execute): Use internal_error_no_backtrace instead of
28244 internal_error.
28245
28246 2015-01-22 Jeff Law <law@redhat.com>
28247
28248 PR target/52076
28249 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
28250 improve code density for small immediate to memory case.
28251 (insv): Better handle bitfield assignments when the field is
28252 being set to all ones.
28253 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
28254 operand predicate.
28255
28256 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
28257 Jakub Jelinek <jakub@redhat.com>
28258
28259 PR middle-end/64729
28260 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
28261 for !TARGET_LIBC_PROVIDES_SSP version and
28262 -fstack-protector-{all,strong,explicit} otherwise.
28263 * config/freebsd.h (LINK_SSP_SPEC): Handle
28264 -fstack-protector-{strong,explicit}.
28265
28266 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
28267 H.J. Lu <hongjiu.lu@intel.com>
28268
28269 PR ipa/64694
28270 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
28271 heap.
28272
28273 2015-01-22 Wei Mi <wmi@google.com>
28274
28275 PR rtl-optimization/64557
28276 * dse.c (record_store): Call get_addr for mem_addr.
28277 (check_mem_read_rtx): Likewise.
28278
28279 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
28280
28281 * fold-const.c (const_binop): Add early return for non-tcc_binary.
28282
28283 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
28284
28285 * toplev.c (init_local_tick): Process the failure when read
28286 fails for random_seed.
28287
28288 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
28289 'pretty_name' to avoid memory overflow.
28290
28291 2015-01-22 Richard Biener <rguenther@suse.de>
28292
28293 PR middle-end/64728
28294 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
28295 abnormal coalescing on undefined SSA names.
28296
28297 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
28298
28299 PR target/64688
28300 PR target/64477
28301 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
28302 for alternative 3.
28303 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
28304
28305 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
28306
28307 PR middle-end/63325
28308 * fold-const.c (fold_checksum_tree): Don't include value of
28309 expr->decl_with_vis.symtab_node in the checksum.
28310
28311 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
28312
28313 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
28314
28315 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
28316
28317 PR driver/64690
28318 * gcc.c (insert_comments): New function.
28319 (try_generate_repro): Call it.
28320 (append_text): Removed.
28321
28322 2015-01-22 Richard Biener <rguenther@suse.de>
28323
28324 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
28325 with IL incompatible options. Properly honor user optimize
28326 attributes.
28327
28328 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
28329
28330 PR rtl-optimization/64682
28331 * combine.c (distribute_notes): When moving a death note for
28332 a register that is set in the new I2, make sure to put it
28333 before that new I2.
28334
28335 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
28336
28337 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
28338 not TARGET_DEFAULT.
28339
28340 2015-01-21 Jakub Jelinek <jakub@redhat.com>
28341
28342 PR debug/64511
28343 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
28344 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
28345 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
28346
28347 PR sanitizer/64706
28348 * doc/invoke.texi (-fsanitize=vptr): Document.
28349
28350 PR rtl-optimization/62078
28351 * dse.c: Include cfgcleanup.h.
28352 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
28353 anything call purge_all_dead_edges and cleanup_cfg at the end
28354 of the pass.
28355
28356 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
28357
28358 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
28359 edges.
28360
28361 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
28362
28363 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
28364 decl attribute.
28365
28366 2015-01-21 David Sherwood <david.sherwood@arm.com>
28367 Tejas Belagod <Tejas.Belagod@arm.com>
28368
28369 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
28370 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
28371 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
28372 Removed.
28373
28374 2015-01-21 David Sherwood <david.sherwood@arm.com>
28375 Tejas Belagod <Tejas.Belagod@arm.com>
28376
28377 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
28378 (aarch64_reverse_mask): New decls.
28379 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
28380 (insn_count): New mode_attr.
28381 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
28382 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
28383 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
28384 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
28385 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
28386 (aarch64_simd_st4): New patterns.
28387 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
28388 (aarch64_reverse_mask): New functions.
28389
28390 2015-01-21 Richard Sandiford <richard.sandiford@arm.com>
28391
28392 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
28393 Declare.
28394 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
28395 addressing modes for BE.
28396 (aarch64_print_operand): Add 'R' specifier.
28397 (aarch64_simd_disambiguate_copy): Delete.
28398 (aarch64_simd_emit_reg_reg_move): New function.
28399 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
28400 in define_splits for structural moves.
28401 (mov<mode>): Use less restrictive predicates.
28402 (*aarch64_mov<mode>): Simplify and only allow for LE.
28403 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
28404
28405 2015-01-21 Alan Hayward <alan.hayward@arm.com>
28406
28407 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
28408
28409 2015-01-21 Richard Henderson <rth@redhat.com>
28410
28411 PR target/64669
28412 * ccmp.c (used_in_cond_stmt_p): Remove.
28413 (expand_ccmp_expr): Don't use it.
28414
28415 2015-01-21 Nick Clifton <nickc@redhat.com>
28416
28417 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
28418 PARALLELs.
28419
28420 2015-01-21 Richard Biener <rguenther@suse.de>
28421
28422 PR middle-end/64313
28423 * tree-core.h (builtin_info, builtin_info_type): Turn from
28424 an object with two arrays into an array of an object with
28425 decl and two flags, implicit_p and declared_p.
28426 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
28427 set_builtin_decl, set_builtin_decl_implicit_p,
28428 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
28429 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
28430 * builtins.c (builtin_info): Adjust.
28431 * gimplify.c (gimplify_addr_expr): References to builtins
28432 that have been declared by the user makes them eligible for
28433 use by the compiler. Call set_builtin_decl_implicit_p on them.
28434
28435 2015-01-20 Jeff Law <law@redhat.com>
28436
28437 PR target/59946
28438 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
28439 allow pc-relative addresses in operand predicates or constraints.
28440
28441 2015-01-21 Bin Cheng <bin.cheng@arm.com>
28442
28443 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
28444 neon on aarch32 processors for stringops.
28445
28446 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28447
28448 PR ipa/63576
28449 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
28450
28451 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28452
28453 PR lto/45375
28454 * ipa-inline.c: Include lto-streamer.h
28455 (report_inline_failed_reason): Output source file differences and
28456 flags on optimization/target node mismatch.
28457 (can_inline_edge_p): Consider caller to be the outer inline function;
28458 be less restrictive about matching opimize and optimize_size attributes.
28459 (inline_account_function_p): Break out from ...
28460 (inline_small_functions): ... here.
28461 * ipa-inline-transform.c (clone_inlined_nodes): Use
28462 inline_account_function_p.
28463 (inline_call): Use optimize attribution; use inline_account_function_p.
28464 (inline_transform): Use opt_for_fn.
28465 * ipa-inline.h (inline_account_function_p): Declare.
28466
28467 2015-01-20 Jakub Jelinek <jakub@redhat.com>
28468
28469 PR debug/64663
28470 * dwarf2out.c (decl_piece_node): Don't put bitsize into
28471 mode if bitsize <= 0.
28472 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
28473 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
28474 sizes and positions.
28475
28476 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
28477
28478 * config/nios2/nios2.c (nios2_asm_file_end): Implement
28479 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
28480 needed.
28481 (TARGET_ASM_FILE_END): Define.
28482
28483 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
28484
28485 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
28486 (struct tune_params): Use the enum.
28487 * arm.c (arm_*_tune): Update.
28488 (arm_option_override): Update.
28489
28490 2015-01-20 Richard Biener <rguenther@suse.de>
28491
28492 PR ipa/64684
28493 * ipa-reference.c (add_static_var): Inline ...
28494 (analyze_function): ... here after splitting out from ...
28495 (is_proper_for_analysis): ... this.
28496
28497 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
28498
28499 PR target/64149
28500 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
28501 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
28502 replace the conditional with it's true branch.
28503 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
28504 (arm_lra_p): Remove.
28505
28506 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
28507
28508 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
28509
28510 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
28511
28512 * config/tilegx/mul-tables.c: Move symtab.h include after
28513 coretypes.h include.
28514 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
28515 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
28516 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
28517 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
28518 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
28519
28520 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
28521
28522 PR bootstrap/64676
28523 Revert:
28524 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
28525
28526 PR rtl-optimization/64081
28527 * loop-iv.c (def_pred_latch_p): New function.
28528 (latch_dominating_def): Allow specific cases with non-single
28529 definitions.
28530 (iv_get_reaching_def): Likewise.
28531 (check_complex_exit_p): New function.
28532 (check_simple_exit): Use check_complex_exit_p to allow certain cases
28533 with exits not executing on any iteration.
28534
28535 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28536
28537 PR lto/45375
28538 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
28539 to set branch cost.
28540
28541 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28542
28543 PR lto/45375
28544 * i386.c (gate): Check flag_expensive_optimizations and
28545 optimize_size.
28546 (ix86_option_override_internal): Drop optimize_size condition
28547 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
28548 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
28549 MASK_PREFER_AVX128.
28550 (ix86_avx256_split_vector_move_misalign,
28551 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
28552 * sse.md (all uses of TARGET_PREFER_AVX128): Add
28553 optimize_insn_for_speed_p check.
28554
28555 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
28556
28557 * config/mips/mips.h (FP_ASM_SPEC): New define.
28558 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
28559 instead.
28560
28561 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
28562
28563 PR target/53988
28564 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
28565 nullptr for insn when reaching the first insn.
28566 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
28567 (sh_insn_operands_modified_between_p): Add nullptr check.
28568 (sh_find_extending_set_of_reg): Fix log message. Don't accept
28569 sign extending mem load if the insn contains any UNSPEC or
28570 UNSPEC_VOLATILE.
28571
28572 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28573
28574 * params.def (inline-unit-growth): Drop to 15%.
28575 * invoke.texi (inline-unit-growth): Document change.
28576
28577 2015-01-19 Martin Liska <mliska@suse.cz>
28578
28579 PR ipa/64668
28580 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
28581 function for second argument of OBJ_TYPE_REF.
28582
28583 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28584
28585 PR ipa/64218
28586 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
28587 whether function is an alias.
28588
28589 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
28590
28591 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
28592 cases.
28593
28594 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
28595
28596 PR rtl-optimization/64671
28597 * lra-remat.c (operand_to_remat): Don't consider jump and call
28598 insns.
28599
28600 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
28601
28602 PR target/59828
28603 * config/rs6000/default64.h: Include rs6000-cpus.def.
28604 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
28605 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
28606 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
28607 and POWER8.
28608 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
28609 POWER8.
28610 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
28611 pseudo-op to specify assembler dialect.
28612
28613 2015-01-19 Martin Liska <mliska@suse.cz>
28614
28615 PR ipa/64664
28616 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
28617 Handle safe potentially removed nodes during filtering.
28618
28619 2015-01-19 Martin Liska <mliska@suse.cz>
28620
28621 * doc/extend.texi (no_icf): Add new attribute description.
28622 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
28623 where the pass attempts to merge a function with no_icf attribute.
28624
28625 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
28626
28627 PR target/64532
28628 * doc/md.texi (ARM Options): Document register constraints.
28629
28630 2015-01-19 Jiong Wang <jiong.wang@arm.com>
28631 Andrew Pinski <apinski@cavium.com>
28632
28633 PR target/64304
28634 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
28635 (ashl<mode>3): Don't expand if operands[2] is not constant.
28636
28637 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28638
28639 PR target/64448
28640 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
28641 Match xor-and-xor RTL pattern.
28642
28643 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
28644
28645 PR rtl-optimization/64081
28646 * loop-iv.c (def_pred_latch_p): New function.
28647 (latch_dominating_def): Allow specific cases with non-single
28648 definitions.
28649 (iv_get_reaching_def): Likewise.
28650 (check_complex_exit_p): New function.
28651 (check_simple_exit): Use check_complex_exit_p to allow certain cases
28652 with exits not executing on any iteration.
28653
28654 2015-01-19 Jakub Jelinek <jakub@redhat.com>
28655
28656 * common.opt (fgraphite): Fix a typo.
28657
28658 2015-01-19 Felix Yang <felix.yang@huawei.com>
28659
28660 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
28661 pattern.
28662 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
28663 uminp, smax_nanp, smin_nanp): New builtins.
28664 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
28665 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
28666 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
28667 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
28668 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
28669 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
28670 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
28671 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
28672 vpminnms_f32): Rewrite using builtin functions.
28673
28674 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
28675
28676 PR libgomp/64625
28677 * omp-low.c (offload_symbol_decl): Remove variable.
28678 (get_offload_symbol_decl): Remove function.
28679 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
28680 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
28681 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
28682 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
28683 BUILT_IN_GOACC_UPDATE don't pass it at all.
28684
28685 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
28686
28687 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
28688 callers.
28689
28690 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
28691
28692 * ipa-chkp.c (chkp_produce_thunks): Add early param
28693 to split thunks production into two passes. Keep
28694 'always_inline' function bodies after the first pass.
28695 (pass_data_ipa_chkp_early_produce_thunks): New.
28696 (pass_ipa_chkp_early_produce_thunks): New.
28697 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
28698 chkp_produce_thunks signature.
28699 (make_pass_ipa_chkp_early_produce_thunks): New.
28700 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
28701 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
28702 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
28703
28704 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
28705
28706 * cgraph.c (cgraph_node::dump): Dump profile flags.
28707
28708 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
28709
28710 PR target/64652
28711 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
28712 reg appear first in the parallel.
28713
28714 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
28715
28716 * ipa-reference.c (set_reference_optimization_summary,
28717 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
28718 disabled.
28719 (ignore_module_statics): New static var.
28720 (propagate_bits): If ipa-reference is disabled, do not look into local
28721 properties.
28722 (analyze_function): Disable analysis when ipa_reference is disabled.
28723 (generate_summary): Do not dump when reference is disabled;
28724 collect vars accessed from functions with ipa-reference disabled.
28725 (get_read_write_all_from_node): When ipa-reference is disabled, use the
28726 node flags.
28727 (gate): Enable for LTO.
28728 (ignore_edge_p): New function.
28729 (propagate): Skip functions w/o ipa-reference analysis.
28730 * optc-save-gen.awk: Handle optimize_debug correctly.
28731 * opth-gen.awk: Likewise.
28732 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
28733 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
28734 fira-share-save-slots, fira-share-spill-slots,
28735 fmodulo-sched-allow-regmoves, fpartial-inlining,
28736 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
28737 ftracer, ftree-parallelize-loops, fassociative-math,
28738 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
28739 Optimization
28740 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
28741 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
28742 Optimization.
28743 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
28744 Fix for IPA.
28745
28746 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
28747
28748 PR ipa/64378
28749 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
28750 flag correctly.
28751 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
28752
28753 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
28754
28755 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
28756 Remove duplicate option listings.
28757
28758 2015-01-18 Felix Yang <felix.yang@huawei.com>
28759
28760 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
28761 (autofdo_source_profile::get_callsite_total_count,
28762 function_instance::get_function_instance_by_decl,
28763 string_table::get_index, string_table::get_index_by_decl,
28764 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
28765 Fix comment typos. Reformatting and minor code rearrangement.
28766
28767 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
28768
28769 * config/rs6000/rs6000.md (probe_stack): Delete.
28770 (probe_stack_address): New.
28771
28772 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
28773
28774 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
28775 to test for 32-bit ABIs, not !TARGET_POWERPC64.
28776
28777 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
28778
28779 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
28780 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
28781 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
28782 snafu.
28783 (rs6000_libcall_value): Use the new function.
28784
28785 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
28786
28787 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
28788
28789 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
28790
28791 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
28792 implement a more precise life analysis for it during backward scan.
28793
28794 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
28795
28796 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
28797
28798 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
28799
28800 PR rtl-optimization/52773
28801 * calls.c (emit_library_call_value): When pushing arguments use
28802 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
28803 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
28804 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
28805
28806 2015-01-17 Jeff Law <law@redhat.com>
28807
28808 PR rtl-optimization/32790
28809 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
28810 not ZERO_EXTEND in SET_DESTs.
28811
28812 2015-01-17 Alan Modra <amodra@gmail.com>
28813
28814 * cprop.c (do_local_cprop): Revert last change.
28815
28816 2015-01-16 DJ Delorie <dj@redhat.com>
28817 Nick Clifton <nickc@redhat.com>
28818
28819 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
28820 (addhi3_real): Likewise. Fix [HL+0] syntax.
28821 (subqi3_real): Likewise.
28822 (subhi3_real): Likewise.
28823 (cbranchqi4_real): Likewise. Allow saddr,#imm.
28824 (cbranchhi4_real): Likewise.
28825 (cbranchhi4_real_inverted): Likewise.
28826 (cbranchsi4_real_lt): Likewise.
28827 (cbranchsi4_real_ge): Likewise.
28828 (cbranchsi4_real_ge): Likewise.
28829 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
28830 (sub<mode>3_virt): Likewise.
28831 (cbranchqi4_virt): Likewise.
28832 (cbranchhi4_virt): Likewise.
28833 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
28834 always use '[reg+imm]' even when imm is zero.
28835 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
28836 (rl78_general_operand): New.
28837 (rl78_nonimmediate_operand): New.
28838 (rl78_nonfar_operand): Use them.
28839 (rl78_nonfar_nonimm_operand): Likewise.
28840 (rl78_stack_based_mem): Fix.
28841 * config/rl78/constraints.md (Ibqi): New.
28842 (IBqi): New.
28843 (Wsa): New.
28844 (Wsf): New.
28845 (Cs1): Fix.
28846 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
28847 (iorqi3): Likewise.
28848 (xorqi3): Likewise.
28849 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
28850
28851 * config/rl78/constrains (Qs8): New constraint.
28852 * config/rl78/rl78.c (rl78_flags_already_set): New function.
28853 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
28854 * config/rl78/rl78-real.md (update_Z): New attribute.
28855 Update patterns to set it.
28856 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
28857 shorter compare and branch sequence can be used.
28858 (cbranchhi4_real): Likewise.
28859 (cbranchhi4_real_inverted): Likewise.
28860
28861 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
28862 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
28863 address space.
28864 * config/rl78/rl78.c (rl78_get_name_encoding): New.
28865 (rl78_option_override): Allow -mes0 only if C.
28866 (characterize_address): Support subregs of symbol_refs.
28867 (rl78_addr_space_address_mode): Move. Add __near.
28868 (rl78_far_p): Likewise.
28869 (rl78_addr_space_pointer_mode): Likewise.
28870 (rl78_as_legitimate_address): Likewise.
28871 (rl78_addr_space_subset_p): Likewise.
28872 (rl78_addr_space_convert): Likewise.
28873 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
28874 symbols with -mes0.
28875 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
28876 addressing.
28877 (rl78_alloc_physical_registers_op1): Change logic to prefer
28878 symbol[BC] addressing.
28879 (frodata_section): New.
28880 (rl78_asm_init_sections): Initialize it.
28881 (rl78_select_section): Put __far readonly symbols in .frodata.
28882 (rl78_make_type_far): New.
28883 (rl78_insert_attributes): Force all readonly symbols to be
28884 __far when -mes0.
28885 (rl78_asm_out_integer): New.
28886 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
28887 * config/rl78/rl78.opt (-mes0): New.
28888
28889 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
28890 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
28891 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
28892 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
28893 (rl78_saddr_p): New.
28894 (rl78_output_aligned_common): New.
28895 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
28896 (rl78_handle_saddr_attribute): New.
28897 (rl78_handle_naked_attribute): New.
28898 (rl78_attribute_table): Add saddr.
28899 (rl78_print_operand_1): Don't print '!' on saddr operands.
28900 (rl78_print_operand_1): Strip encodings.
28901 (rl78_sfr_p): New.
28902 (rl78_strip_name_encoding): New.
28903 (rl78_attrlist_to_encoding): New.
28904 (rl78_encode_section_info): New.
28905 (rl78_asm_init_sections): New.
28906 (rl78_select_section): New.
28907 (rl78_output_labelref): New.
28908 (rl78_output_aligned_common): New.
28909 (rl78_asm_out_integer): New.
28910 (rl78_asm_ctor_dtor): New.
28911 (rl78_asm_constructor): New.
28912 (rl78_asm_destructor): New.
28913
28914 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
28915 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
28916 (transcode_memory_rtx): Update.
28917 (rl78_expand_epilogue): Use A_REG instead of 0.
28918
28919 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
28920
28921 * config/arm/arm-protos.h (struct tune_params): New field
28922 sched_autopref_queue_depth.
28923 * config/arm/arm.c (sched-int.h): Include header.
28924 (arm_first_cycle_multipass_dfa_lookahead_guard,)
28925 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
28926 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
28927 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
28928 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
28929 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
28930 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
28931 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
28932 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
28933 * config/arm/t-arm (arm.o): Update.
28934 * haifa-sched.c (update_insn_after_change): Update.
28935 (rank_for_schedule): Use auto-prefetcher model, if requested.
28936 (autopref_multipass_init): New static function.
28937 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
28938 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
28939 variable for debug dumps.
28940 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
28941 (autopref_multipass_dfa_lookahead_guard): New global function that
28942 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
28943 (init_h_i_d): Update.
28944 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
28945 * sched-int.h (enum autopref_multipass_data_status): New const enum.
28946 (autopref_multipass_data_): Structure for auto-prefetcher data.
28947 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
28948 (struct _haifa_insn_data:autopref_multipass_data): New field.
28949 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
28950 (autopref_multipass_dfa_lookahead_guard): Declare.
28951
28952 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
28953
28954 * rtlanal.c (get_base_term): Handle SCRATCH.
28955
28956 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
28957
28958 * config/aarch64/aarch64.c
28959 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
28960 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
28961 * config/arm/arm.c
28962 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
28963 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
28964
28965 2015-01-17 Alan Modra <amodra@gmail.com>
28966
28967 * cprop.c (do_local_cprop): Disallow replacement of fixed
28968 hard registers.
28969
28970 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28971
28972 PR target/62066
28973 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
28974 early return 0.
28975
28976 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
28977
28978 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
28979 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
28980
28981 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28982
28983 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
28984 * config/arm/thumb1.md: ... Here.
28985
28986 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
28987
28988 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
28989 TImode for TARGET_32BIT.
28990
28991 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
28992
28993 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
28994 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
28995 as ...
28996 (rs6000_abi_word_mode): New function.
28997
28998 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
28999
29000 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
29001 instead of UNITS_PER_WORD to describe the size of stack slots.
29002
29003 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
29004
29005 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
29006 as rs6000_promote_function_mode. Move comment to there.
29007 (rs6000_promote_function_mode): New function.
29008
29009 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
29010
29011 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
29012 -mpowerpc64 is active.
29013
29014 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
29015
29016 PR middle-end/64353
29017 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
29018 virtuals on start.
29019
29020 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
29021
29022 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
29023 introduced in revision 219724.
29024
29025 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29026 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
29027
29028 PR target/64263
29029 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
29030 destination is not a GP reg.
29031 (*movdi_aarch64): Likewise.
29032
29033 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
29034
29035 PR target/64623
29036 * config/rs6000/default64.h: Revert ISA change.
29037
29038 2015-01-16 Richard Biener <rguenther@suse.de>
29039
29040 PR middle-end/64614
29041 * tree-ssa-uninit.c: Include tree-cfg.h.
29042 (MAX_SWITCH_CASES): New define.
29043 (convert_control_dep_chain_into_preds): Handle switch statements.
29044 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
29045 (normalize_one_pred_1): Do not split bit-manipulations.
29046 Record (x & CST).
29047
29048 2015-01-16 Richard Biener <rguenther@suse.de>
29049
29050 PR tree-optimization/64568
29051 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
29052 complex load rewriting for TARGET_MEM_REFs.
29053
29054 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
29055
29056 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
29057
29058 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
29059
29060 PR target/64149
29061 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
29062 variable.
29063 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
29064 (aarch64_lra_p): Remove.
29065
29066 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
29067
29068 PR target/64363
29069 * ipa-chkp.h (chkp_instrumentable_p): New.
29070 * ipa-chkp.c: Include tree-inline.h.
29071 (chkp_instrumentable_p): New.
29072 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
29073 Fix processing of not instrumentable functions.
29074 (chkp_versioning): Use chkp_instrumentable_p. Warn about
29075 not instrumentable functions.
29076 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
29077 chkp_instrumentable_p.
29078 * tree-inline.h (copy_forbidden): New.
29079 * tree-inline.c (copy_forbidden): Not static anymore.
29080
29081 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
29082
29083 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
29084 ptr1, ptr2 unused.
29085
29086 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
29087
29088 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
29089 type OP_OUT to OP_INOUT.
29090
29091 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
29092
29093 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
29094 (high x) y) to y if x and y have the same base.
29095
29096 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
29097
29098 * config/arm/cortex-a57.md: New.
29099 * config/aarch64/aarch64.md: Include it.
29100 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
29101 * config/aarch64/aarch64-tune.md: Regenerate.
29102
29103 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
29104
29105 PR target/64015
29106 * ccmp.c (expand_ccmp_next): New function.
29107 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
29108 and compare insn sequence.
29109 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
29110 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
29111 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
29112 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
29113 (*ccmp_ior): Changed to ccmp_ior<mode>.
29114 (cmp<mode>): New pattern.
29115 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
29116 parameters.
29117 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
29118
29119 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
29120
29121 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
29122 _mm256_bsrli_epi128): New.
29123 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
29124
29125 2015-01-15 Jiong Wang <jiong.wang@arm.com>
29126
29127 * expmed.c (store_bit_field_using_insv): Improve warning message.
29128 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
29129
29130 2015-01-15 Jiong Wang <jiong.wang@arm.com>
29131
29132 PR rtl-optimization/64011
29133 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
29134 there is partial overflow.
29135
29136 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
29137
29138 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
29139 prototype.
29140 (nds32_expand_epilogue_v3pop): Likewise.
29141 * config/nds32/nds32.md (sibcall): Define this for sibling call
29142 optimization.
29143 (sibcall_register): Likewise.
29144 (sibcall_immediate): Likewise.
29145 (sibcall_value): Likewise.
29146 (sibcall_value_register): Likewise.
29147 (sibcall_value_immediate): Likewise.
29148 (sibcall_epilogue): Likewise.
29149 (epilogue): Pass false to indicate this is not a sibcall epilogue.
29150 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
29151 (nds32_expand_epilogue_v3pop): Likewise.
29152
29153 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
29154
29155 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
29156 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
29157 (return_internal): New.
29158 (return): Define this named pattern.
29159 (simple_return): Define this named pattern.
29160 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
29161 pattern instead of unspec_volatile_func_return.
29162 (nds32_expand_epilogue_v3pop): Likewise.
29163 (nds32_can_use_return_insn): New function.
29164
29165 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
29166
29167 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
29168 * config/nds32/nds32.md (pop25return): New.
29169 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
29170 pop25return pattern.
29171
29172 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
29173
29174 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
29175 -mforbid-fp-as-gp, and -mex9 options.
29176
29177 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
29178
29179 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
29180 remove -mgp-direct option.
29181
29182 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
29183
29184 * doc/invoke.texi (--param early-inlining-insns): Update default value.
29185 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
29186
29187 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
29188
29189 * ipa-inline.c (inline_small_functions): Work around hints
29190 cache issue.
29191
29192 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
29193
29194 PR target/59710
29195 * doc/invoke.texi (Option Summary): Document new Nios II
29196 -mgpopt= syntax.
29197 (Nios II Options): Likewise.
29198 * config/nios2/nios2.opt: Add -mgpopt= option support.
29199 Modify existing -mgpopt and -mno-gpopt options to be aliases.
29200 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
29201 * config/nios2/nios2.c (nios2_option_override): Adjust
29202 -mgpopt defaulting.
29203 (nios2_in_small_data_p): Return true for explicit small data
29204 sections even with -G0.
29205 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
29206 option choices.
29207
29208 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
29209
29210 PR ipa/64612
29211 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
29212 of comdat locals.
29213 (inline_call): Fix removal of aliases.
29214
29215 2015-01-15 Jakub Jelinek <jakub@redhat.com>
29216
29217 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
29218 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
29219 * opts.c (common_handle_option): Add -fsanitize=vptr.
29220 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
29221 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
29222 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
29223 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
29224 (ubsan_expand_vptr_ifn): New prototype.
29225 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
29226 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
29227 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
29228 expand_LOOP_VECTORIZED): Make argument nameless, remove
29229 ATTRIBUTE_UNUSED.
29230 (expand_UBSAN_VPTR): New function.
29231 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
29232 in fn spec.
29233 (UBSAN_VPTR): New internal function.
29234 * sanopt.c (tree_map_traits): Renamed to ...
29235 (sanopt_tree_map_traits): ... this.
29236 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
29237 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
29238 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
29239 (maybe_optimize_ubsan_vptr_ifn): New function.
29240 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
29241 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
29242 -fsanitize=vptr.
29243 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
29244 internal calls like pure functions for aliasing, even when they
29245 have other side-effects that prevent making them ECF_PURE.
29246 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
29247 (ubsan_expand_vptr_ifn): New function.
29248
29249 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
29250
29251 PR rtl-optimization/64110
29252 * stmt.c (parse_output_constraint): Process '^' and '$'.
29253 (parse_input_constraint): Ditto.
29254 * lra-constraints.c (process_alt_operands): Process the new
29255 constraints.
29256 * ira-costs.c (record_reg_classes): Process the new constraint
29257 '^'.
29258 * genoutput.c (indep_constraints): Add '^' and '$'.
29259 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
29260 * doc/md.texi: Add description of the new constraints.
29261
29262 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
29263 Bernd Schmidt <bernds@codesourcery.com>
29264 Cesar Philippidis <cesar@codesourcery.com>
29265 James Norris <jnorris@codesourcery.com>
29266 Tom de Vries <tom@codesourcery.com>
29267 Ilmir Usmanov <i.usmanov@samsung.com>
29268 Dmitry Bocharnikov <dmitry.b@samsung.com>
29269 Evgeny Gavrin <e.gavrin@samsung.com>
29270 Jakub Jelinek <jakub@redhat.com>
29271
29272 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
29273 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
29274 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
29275 New function types.
29276 * builtins.c: Include "gomp-constants.h".
29277 (expand_builtin_acc_on_device): New function.
29278 (expand_builtin, is_inexpensive_builtin): Handle
29279 BUILT_IN_ACC_ON_DEVICE.
29280 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
29281 New macros.
29282 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
29283 flag_openmp.
29284 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
29285 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
29286 i386/intelmic-offload.h.
29287 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
29288 to libgomp and its dependencies.
29289 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
29290 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
29291 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
29292 * config/ia64/hpux.h (LIB_SPEC): Likewise.
29293 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
29294 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
29295 * doc/generic.texi: Update for OpenACC changes.
29296 * doc/gimple.texi: Likewise.
29297 * doc/invoke.texi: Likewise.
29298 * doc/sourcebuild.texi: Likewise.
29299 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
29300 GF_OMP_FOR_KIND_OACC_LOOP.
29301 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
29302 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
29303 GF_OMP_TARGET_KIND_OACC_UPDATE,
29304 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
29305 Dump more data.
29306 * gimple.c: Update comments for OpenACC changes.
29307 * gimple.def: Likewise.
29308 * gimple.h: Likewise.
29309 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
29310 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
29311 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
29312 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
29313 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
29314 appropriate place.
29315 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
29316 * gimplify.c: Include "gomp-constants.h".
29317 Update comments for OpenACC changes.
29318 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
29319 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
29320 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
29321 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
29322 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
29323 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
29324 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
29325 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
29326 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
29327 OMP_CLAUSE_SEQ.
29328 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
29329 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
29330 OMP_CLAUSE_SET_MAP_KIND.
29331 (gimplify_oacc_cache): New function.
29332 (gimplify_omp_for): Handle OACC_LOOP.
29333 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
29334 OACC_DATA.
29335 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
29336 OACC_EXIT_DATA, OACC_UPDATE.
29337 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
29338 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
29339 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
29340 (gimplify_body): Consider flag_openacc next to flag_openmp.
29341 * lto-streamer-out.c: Include "gomp-constants.h".
29342 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
29343 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
29344 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
29345 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
29346 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
29347 (BUILT_IN_ACC_ON_DEVICE): New builtins.
29348 * omp-low.c: Include "gomp-constants.h".
29349 Update comments for OpenACC changes.
29350 (struct omp_context): Add reduction_map, gwv_below, gwv_this
29351 members.
29352 (extract_omp_for_data, use_pointer_for_field, install_var_field)
29353 (new_omp_context, delete_omp_context, scan_sharing_clauses)
29354 (create_omp_child_function, scan_omp_for, scan_omp_target)
29355 (check_omp_nesting_restrictions, lower_reduction_clauses)
29356 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
29357 Update for OpenACC changes.
29358 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
29359 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
29360 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
29361 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
29362 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
29363 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
29364 OMP_CLAUSE_MAP_*.
29365 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
29366 Handle GF_OMP_FOR_KIND_OACC_LOOP.
29367 (expand_omp_target, lower_omp_target): Handle
29368 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
29369 GF_OMP_TARGET_KIND_OACC_UPDATE,
29370 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
29371 GF_OMP_TARGET_KIND_OACC_DATA.
29372 (pass_expand_omp::execute, execute_lower_omp)
29373 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
29374 flag_openmp.
29375 (offload_symbol_decl): New variable.
29376 (oacc_get_reduction_array_id, oacc_max_threads)
29377 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
29378 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
29379 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
29380 (oacc_gimple_assign, oacc_initialize_reduction_data)
29381 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
29382 functions.
29383 (is_targetreg_ctx): Remove function.
29384 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
29385 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
29386 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
29387 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
29388 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
29389 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
29390 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
29391 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
29392 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
29393 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
29394 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
29395 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
29396 * tree-core.h: Update comments for OpenACC changes.
29397 (enum omp_clause_map_kind): Remove.
29398 (struct tree_omp_clause): Change type of map_kind member from enum
29399 omp_clause_map_kind to unsigned char.
29400 * tree-inline.c: Update comments for OpenACC changes.
29401 * tree-nested.c: Likewise. Include "gomp-constants.h".
29402 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
29403 (convert_tramp_reference_stmt, convert_gimple_call): Update for
29404 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
29405 OMP_CLAUSE_SET_MAP_KIND.
29406 * tree-pretty-print.c: Include "gomp-constants.h".
29407 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
29408 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
29409 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
29410 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
29411 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
29412 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
29413 instead of OMP_CLAUSE_MAP_*.
29414 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
29415 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
29416 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
29417 * tree-streamer-in.c: Include "gomp-constants.h".
29418 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
29419 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
29420 * tree-streamer-out.c: Include "gomp-constants.h".
29421 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
29422 OMP_CLAUSE_MAP_*.
29423 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
29424 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
29425 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
29426 * tree.c (omp_clause_num_ops): Update accordingly.
29427 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
29428 Likewise.
29429 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
29430 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
29431 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
29432 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
29433 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
29434 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
29435 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
29436 (OMP_CLAUSE_SET_MAP_KIND): New macro.
29437 * varpool.c (varpool_node::get_create): Consider flag_openacc next
29438 to flag_openmp.
29439 * config/i386/intelmic-offload.h: New file.
29440 * config/nvptx/offload.h: Likewise.
29441
29442 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
29443
29444 * explow.h: Remove duplicate contents.
29445 * dojump.h: Likewise.
29446
29447 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
29448
29449 * arm.c (arm_xgene_tune): Add default initializer for instruction
29450 fusion.
29451
29452 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
29453
29454 PR ipa/64068
29455 PR ipa/64559
29456 * ipa.c (symbol_table::remove_unreachable_nodes):
29457 Do not put abstract origins into boundary.
29458
29459 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
29460
29461 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
29462 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
29463
29464 2015-01-15 Steve Ellcey <sellcey@mips.com>
29465
29466 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
29467 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
29468 builtins.def, and chkp-builtins.def.
29469
29470 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
29471
29472 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
29473 ISA 2.7 (POWER8).
29474
29475 2015-01-15 Richard Biener <rguenther@suse.de>
29476
29477 PR tree-optimization/61743
29478 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
29479 information on PHIs for some simple cases.
29480
29481 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
29482
29483 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
29484 Include xgene1.md.
29485 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
29486 * config/arm/arm-cores.def (xgene1): New entry.
29487 * config/arm/arm-tables.opt: Regenerate.
29488 * config/arm/arm-tune.md: Regenerate.
29489 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
29490
29491 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
29492
29493 * tree-if-conv.c: Include hash-map.h.
29494 (aggressive_if_conv): New variable.
29495 (fold_build_cond_expr): Add simplification of non-zero condition.
29496 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
29497 destination block is not always executed.
29498 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
29499 than two predecessors if AGGRESSIVE_IF_CONV is true.
29500 (if_convertible_stmt_p): Fix commentary.
29501 (all_preds_critical_p): New function.
29502 (has_pred_critical_p): New function.
29503 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
29504 BB can have more than two predecessors and all incoming edges can be
29505 critical.
29506 (predicate_bbs): Skip predication for loop exit block, use build2_loc
29507 to compute predicate for true edge.
29508 (find_phi_replacement_condition): Delete this function.
29509 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
29510 Allow interchange PHI arguments if EXTENDED is false.
29511 Change check that block containing reduction statement candidate
29512 is predecessor of phi-block since phi may have more than two arguments.
29513 (phi_args_hash_traits): New helper structure.
29514 (struct phi_args_hash_traits): New type.
29515 (phi_args_hash_traits::hash): New function.
29516 (phi_args_hash_traits::equal_keys): New function.
29517 (gen_phi_arg_condition): New function.
29518 (predicate_scalar_phi): Add handling of phi nodes with more than two
29519 arguments, delete COND and TRUE_BB arguments, insert body of
29520 find_phi_replacement_condition to predicate ordinary phi nodes.
29521 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
29522 delete call of find_phi_replacement_condition and invoke
29523 predicate_scalar_phi with two arguments.
29524 (insert_gimplified_predicates): Add assert that non-predicated block
29525 don't have statements to insert.
29526 (ifcvt_split_critical_edges): New function.
29527 (ifcvt_split_def_stmt): Likewise.
29528 (ifcvt_walk_pattern_tree): Likewise.
29529 (stmt_is_root_of_bool_pattern): Likewise.
29530 (ifcvt_repair_bool_pattern): Likewise.
29531 (ifcvt_local_dce): Likewise.
29532 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
29533 is copy of inner or outer loop force_vectorize field, invoke
29534 ifcvt_split_critical_edges, ifcvt_local_dce and
29535 ifcvt_repair_bool_pattern for aggressive if-conversion.
29536
29537 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
29538
29539 * config/aarch64/aarch64.md: Include xgene1.md.
29540 * config/aarch64/xgene1.md: New file.
29541
29542 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
29543
29544 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
29545 xgene1 (APM XGene-1) core definition.
29546 * gcc/config/aarch64/aarch64.c: Add cost tables for APM XGene-1
29547 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
29548 * doc/invoke.texi: Document -mcpu=xgene1.
29549
29550 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
29551
29552 * dojump.h: New header file.
29553 * explow.h: Likewise.
29554 * expr.h: Remove includes.
29555 Move expmed.c prototypes to expmed.h.
29556 Move dojump.c prototypes to dojump.h.
29557 Move alias.c prototypes to alias.h.
29558 Move explow.c prototypes to explow.h.
29559 Move calls.c prototypes to calls.h.
29560 Move emit-rtl.c prototypes to emit-rtl.h.
29561 Move varasm.c prototypes to varasm.h.
29562 Move stmt.c prototypes to stmt.h.
29563 (saved_pending_stack_adjust): Move to dojump.h.
29564 (adjust_address): Move to explow.h.
29565 (adjust_address_nv): Move to emit-rtl.h.
29566 (adjust_bitfield_address): Likewise.
29567 (adjust_bitfield_address_size): Likewise.
29568 (adjust_bitfield_address_nv): Likewise.
29569 (adjust_automodify_address_nv): Likewise.
29570 * explow.c (expr_size): Move to expr.c.
29571 (int_expr_size): Likewise.
29572 (tree_expr_size): Likewise.
29573 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29574 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
29575 * genemit.c (main): Generate includes statistics.h, real.h,
29576 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
29577 stmt.h.
29578 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
29579 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
29580 explow.h, emit-rtl.h, stmt.h.
29581 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
29582 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
29583 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
29584 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
29585 emit-rtl.h, varasm.h, stmt.h.
29586 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
29587 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
29588 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
29589 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
29590 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
29591 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
29592 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
29593 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
29594 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
29595 tm.h tree.h varasm.h vec.h wide-int.h.
29596 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
29597 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
29598 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
29599 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
29600 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
29601 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
29602 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
29603 * loop-iv.c: Likewise.
29604 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
29605 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
29606 statistics.h stmt.h tree.h varasm.h wide-int.h.
29607 * lra-constraints.c: Likewise.
29608 * lra-eliminations.c: Likewise.
29609 * lra-lives.c: Likewise.
29610 * lra-remat.c: Likewise.
29611 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
29612 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
29613 statistics.h stmt.h tree.h varasm.h wide-int.h.
29614 * hw-doloop.c: Likewise.
29615 * ira-color.c: Likewise.
29616 * ira-emit.c: Likewise.
29617 * loop-doloop.c: Likewise.
29618 * loop-invariant.c: Likewise.
29619 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
29620 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
29621 statistics.h stmt.h tree.h varasm.h wide-int.h.
29622 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
29623 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
29624 statistics.h stmt.h tree.h varasm.h wide-int.h.
29625 * combine-stack-adj.c: Likewise.
29626 * cse.c: Likewise.
29627 * ddg.c: Likewise.
29628 * ifcvt.c: Likewise.
29629 * ira-costs.c: Likewise.
29630 * jump.c: Likewise.
29631 * lra-coalesce.c: Likewise.
29632 * lra-spills.c: Likewise.
29633 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
29634 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
29635 stmt.h varasm.h wide-int.h.
29636 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
29637 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
29638 varasm.h.
29639 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
29640 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
29641 statistics.h stmt.h varasm.h wide-int.h.
29642 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
29643 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
29644 varasm.h wide-int.h.
29645 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
29646 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
29647 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
29648 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
29649 statistics.h stmt.h.
29650 * config/tilepro/tilepro.c: Likewise.
29651 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
29652 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
29653 * config/pdp11/pdp11.c: Likewise.
29654 * config/xtensa/xtensa.c: Likewise.
29655 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
29656 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
29657 varasm.h.
29658 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29659 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
29660 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
29661 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29662 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
29663 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
29664 * rtl-chkp.c: Likewise.
29665 * tree-chkp-opt.c: Likewise.
29666 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
29667 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
29668 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
29669 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29670 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
29671 statistics.h stmt.h.
29672 * tree-vect-data-refs.c: Likewise.
29673 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
29674 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
29675 rtl.h statistics.h stmt.h varasm.h.
29676 * internal-fn.c: Likewise.
29677 * ipa-icf-gimple.c: Likewise.
29678 * lto-section-out.c: Likewise.
29679 * tree-data-ref.c: Likewise.
29680 * tree-nested.c: Likewise.
29681 * tree-outof-ssa.c: Likewise.
29682 * tree-predcom.c: Likewise.
29683 * tree-pretty-print.c: Likewise.
29684 * tree-scalar-evolution.c: Likewise.
29685 * tree-ssa-strlen.c: Likewise.
29686 * tree-vect-loop.c: Likewise.
29687 * tree-vect-patterns.c: Likewise.
29688 * tree-vect-slp.c: Likewise.
29689 * tree-vect-stmts.c: Likewise.
29690 * tsan.c: Likewise.
29691 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29692 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
29693 stmt.h.
29694 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
29695 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
29696 statistics.h stmt.h varasm.h.
29697 * loop-unroll.c: Likewise.
29698 * ubsan.c: Likewise.
29699 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
29700 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
29701 stmt.h varasm.h.
29702 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29703 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
29704 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
29705 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
29706 statistics.h stmt.h.
29707 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
29708 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
29709 statistics.h stmt.h varasm.h.
29710 * gimple-match-head.c: Likewise.
29711 * lto-cgraph.c: Likewise.
29712 * lto-section-in.c: Likewise.
29713 * lto-streamer-in.c: Likewise.
29714 * lto-streamer-out.c: Likewise.
29715 * tree-affine.c: Likewise.
29716 * tree-cfg.c: Likewise.
29717 * tree-cfgcleanup.c: Likewise.
29718 * tree-if-conv.c: Likewise.
29719 * tree-into-ssa.c: Likewise.
29720 * tree-ssa-alias.c: Likewise.
29721 * tree-ssa-copyrename.c: Likewise.
29722 * tree-ssa-dse.c: Likewise.
29723 * tree-ssa-forwprop.c: Likewise.
29724 * tree-ssa-live.c: Likewise.
29725 * tree-ssa-math-opts.c: Likewise.
29726 * tree-ssa-pre.c: Likewise.
29727 * tree-ssa-sccvn.c: Likewise.
29728 * tree-tailcall.c: Likewise.
29729 * tree-vect-generic.c: Likewise.
29730 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29731 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
29732 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29733 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
29734 * varasm.c: Likewise.
29735 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29736 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
29737 varasm.h.
29738 * init-regs.c: Likewise.
29739 * ira.c: Likewise.
29740 * omp-low.c: Likewise.
29741 * stack-ptr-mod.c: Likewise.
29742 * tree-ssa-reassoc.c: Likewise.
29743 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29744 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
29745 varasm.h.
29746 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29747 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
29748 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29749 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
29750 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29751 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
29752 * tree-ssa-phiopt.c: Likewise.
29753 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29754 fixed-value.h hashtab.h real.h statistics.h stmt.h.
29755 * config/fr30/fr30.c: Likewise.
29756 * config/frv/frv.c: Likewise.
29757 * expr.c: Likewise.
29758 * final.c: Likewise.
29759 * optabs.c: Likewise.
29760 * passes.c: Likewise.
29761 * simplify-rtx.c: Likewise.
29762 * stmt.c: Likewise.
29763 * toplev.c: Likewise.
29764 * var-tracking.c: Likewise.
29765 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29766 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
29767 * lower-subreg.c: Likewise.
29768 * postreload-gcse.c: Likewise.
29769 * ree.c: Likewise.
29770 * reginfo.c: Likewise.
29771 * store-motion.c: Likewise.
29772 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29773 fixed-value.h hashtab.h real.h stmt.h varasm.h.
29774 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29775 fixed-value.h hashtab.h statistics.h stmt.h.
29776 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29777 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
29778 * except.c: Likewise.
29779 * explow.c: Likewise.
29780 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29781 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
29782 varasm.h.
29783 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29784 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
29785 * tree-ssa-structalias.c: Likewise.
29786 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29787 fixed-value.h insn-config.h real.h statistics.h.
29788 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29789 fixed-value.h insn-config.h real.h statistics.h stmt.h.
29790 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29791 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
29792 * cfgbuild.c: Likewise.
29793 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29794 fixed-value.h real.h rtl.h statistics.h stmt.h.
29795 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29796 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
29797 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29798 fixed-value.h real.h statistics.h stmt.h.
29799 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
29800 fixed-value.h real.h statistics.h stmt.h varasm.h.
29801 * cprop.c: Likewise.
29802 * modulo-sched.c: Likewise.
29803 * postreload.c: Likewise.
29804 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
29805 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
29806 statistics.h stmt.h varasm.h.
29807 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
29808 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
29809 rtl.h statistics.h stmt.h varasm.h.
29810 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
29811 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
29812 varasm.h.
29813 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
29814 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
29815 varasm.h.
29816 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
29817 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
29818 varasm.h.
29819 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
29820 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
29821 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
29822 function.h real.h statistics.h stmt.h varasm.h.
29823 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
29824 insn-config.h real.h statistics.h stmt.h.
29825 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
29826 statistics.h stmt.h.
29827 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
29828 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
29829 statistics.h stmt.h varasm.h.
29830 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
29831 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
29832 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
29833 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
29834 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
29835 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
29836 statistics.h stmt.h varasm.h.
29837 * ipa-polymorphic-call.c: Likewise.
29838 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
29839 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
29840 statistics.h stmt.h.
29841 * config/c6x/c6x.c: Likewise.
29842 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
29843 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
29844 statistics.h stmt.h varasm.h.
29845 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
29846 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
29847 stmt.h varasm.h.
29848 * ipa-split.c: Likewise.
29849 * tree-eh.c: Likewise.
29850 * tree-ssa-dce.c: Likewise.
29851 * tree-ssa-loop-niter.c: Likewise.
29852 * tree-vrp.c: Likewise.
29853 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
29854 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
29855 stmt.h.
29856 * config/nds32/nds32-fp-as-gp.c: Likewise.
29857 * config/nds32/nds32-intrinsic.c: Likewise.
29858 * config/nds32/nds32-isr.c: Likewise.
29859 * config/nds32/nds32-md-auxiliary.c: Likewise.
29860 * config/nds32/nds32-memory-manipulation.c: Likewise.
29861 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
29862 * config/nds32/nds32-predicates.c: Likewise.
29863 * config/nds32/nds32.c: Likewise.
29864 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
29865 fixed-value.h hashtab.h real.h statistics.h.
29866 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
29867 fixed-value.h hashtab.h real.h statistics.h stmt.h.
29868 * config/arm/arm.c: Likewise.
29869 * config/avr/avr.c: Likewise.
29870 * config/bfin/bfin.c: Likewise.
29871 * config/h8300/h8300.c: Likewise.
29872 * config/i386/i386.c: Likewise.
29873 * config/ia64/ia64.c: Likewise.
29874 * config/iq2000/iq2000.c: Likewise.
29875 * config/m32c/m32c.c: Likewise.
29876 * config/m32r/m32r.c: Likewise.
29877 * config/m68k/m68k.c: Likewise.
29878 * config/mcore/mcore.c: Likewise.
29879 * config/mep/mep.c: Likewise.
29880 * config/mips/mips.c: Likewise.
29881 * config/mn10300/mn10300.c: Likewise.
29882 * config/moxie/moxie.c: Likewise.
29883 * config/pa/pa.c: Likewise.
29884 * config/rl78/rl78.c: Likewise.
29885 * config/rx/rx.c: Likewise.
29886 * config/s390/s390.c: Likewise.
29887 * config/sh/sh.c: Likewise.
29888 * config/sparc/sparc.c: Likewise.
29889 * config/spu/spu.c: Likewise.
29890 * config/stormy16/stormy16.c: Likewise.
29891 * config/v850/v850.c: Likewise.
29892 * config/vax/vax.c: Likewise.
29893 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
29894 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
29895 * config/msp430/msp430.c: Likewise.
29896 * predict.c: Likewise.
29897 * value-prof.c: Likewise.
29898 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
29899 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
29900 * config/microblaze/microblaze.c: Likewise.
29901 * config/nios2/nios2.c: Likewise.
29902 * config/rs6000/rs6000.c: Likewise.
29903 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
29904 insn-config.h real.h rtl.h statistics.h stmt.h.
29905 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
29906 insn-config.h real.h statistics.h stmt.h.
29907 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
29908 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
29909 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
29910 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
29911 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
29912 fixed-value.h real.h statistics.h stmt.h.
29913 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
29914 fixed-value.h statistics.h stmt.h.
29915 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
29916 stmt.h.
29917
29918 2015-01-15 Jakub Jelinek <jakub@redhat.com>
29919
29920 * gengtype.c (create_user_defined_type): Workaround
29921 -Wmaybe-uninitialized false positives.
29922 * cse.c (fold_rtx): Likewise.
29923 * loop-invariant.c (gain_for_invariant): Likewise.
29924
29925 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
29926
29927 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
29928 set the memory attributes in all cases but clear MEM_EXPR if need be.
29929
29930 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
29931
29932 PR tree-optimization/64434
29933 * cfgexpand.c (reorder_operands): New function.
29934 (expand_gimple_basic_block): Insert call of reorder_operands if
29935 optimized is true.
29936
29937 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
29938
29939 * config/mips/micromips.md (*swp): Remove explicit parallel.
29940 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
29941 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
29942 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
29943 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
29944 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
29945 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
29946 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
29947 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
29948 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
29949 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
29950 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
29951 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
29952 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
29953 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
29954 (mips_wrdsp): Likewise.
29955 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
29956 parallel.
29957 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
29958 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
29959 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
29960 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
29961 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
29962 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
29963 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
29964 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
29965 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
29966
29967 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
29968
29969 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
29970 (mips_print_operand): Support 'y' to print exact log2 in decimal
29971 of a const_int.
29972 * config/mips/mips.h (ISA_HAS_LSA): New define.
29973 (ISA_HAS_DLSA): Likewise.
29974 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
29975 * config/mips/predicates.md (const_immlsa_operand): New predicate.
29976
29977 2015-01-15 Martin Liska <mliska@suse.cz>
29978
29979 PR target/64377
29980 * optc-save-gen.awk: Add support for array types.
29981
29982 2015-01-15 Richard Biener <rguenther@suse.de>
29983
29984 PR middle-end/64365
29985 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
29986 for MEM_REF access functions with the same base can never partially
29987 overlap.
29988
29989 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
29990
29991 * common.opt: New option -fstack-protector-explicit.
29992 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
29993 (stack_protect_decl_phase): Handle stack_protect attribute for
29994 explicit stack protection requests.
29995 (expand_used_vars): Similarly.
29996 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
29997 * doc/extend.texi: Add documentation for "stack_protect" attribute.
29998 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
29999
30000 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
30001
30002 PR target/53988
30003 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
30004 reg-reg copies.
30005 (sh_extending_set_of_reg): New struct.
30006 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
30007 sh_remove_reg_dead_or_unused_notes): New Declarations.
30008 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
30009 sh_find_extending_set_of_reg, sh_split_tst_subregs,
30010 sh_extending_set_of_reg::use_as_extended_reg): New functions.
30011 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
30012 convert to insn_and_split and use new function sh_split_tst_subregs.
30013
30014 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
30015
30016 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
30017 option.
30018 (Optimization Options): Move -fuse-ld documentation to...
30019 (Link Options): ...here.
30020
30021 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
30022
30023 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
30024 offsets.
30025 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
30026 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
30027 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
30028 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
30029 instead of ZR for the memory operand of LL/SC.
30030 (compare_and_swap_12, sync_add<mode>): Likewise.
30031 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
30032 (sync_new_<optab>_12, sync_nand_12): Likewise.
30033 (sync_old_nand_12, sync_new_nand_12): Likewise.
30034 (sync_sub<mode>, sync_old_add<mode>): Likewise.
30035 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
30036 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
30037 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
30038 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
30039 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
30040 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
30041 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
30042 * doc/md.texi (ZC): Update description.
30043
30044 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
30045
30046 * builtins.c (expand_builtin_atomic_exchange): Remove error when
30047 memory model is CONSUME.
30048 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
30049 expand_builtin_atomic_store): Change invalid memory model errors to
30050 warnings.
30051 (expand_builtin_atomic_clear): Change invalid model errors to warnings
30052 and issue warning for CONSUME.
30053
30054 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
30055
30056 * lto-cgraph: Update function comments for
30057 lto_symtab_encoder_encode_*.
30058
30059 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
30060
30061 * Makefile.in (site.exp): Do not set ENABLE_LTO.
30062
30063 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
30064
30065 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
30066 * lto-cgraph.c (select_what_to_stream): Remove argument, use
30067 lto_stream_offload_p instead.
30068 * lto-streamer.h (select_what_to_stream): Remove argument.
30069 * passes.c (ipa_write_summaries): Likewise.
30070 * tree-pass.h (ipa_write_summaries): Likewise.
30071
30072 2015-01-14 Richard Biener <rguenther@suse.de>
30073
30074 PR tree-optimization/59354
30075 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
30076 groups larger than the slp group size as having gaps.
30077
30078 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
30079
30080 PR middle-end/59448
30081 * builtins.c (get_memmodel): Promote consume to acquire always.
30082
30083 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
30084
30085 PR target/64386
30086 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
30087 V32HImode.
30088
30089 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
30090
30091 PR target/64393
30092 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
30093 Enable AVX512BW.
30094 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
30095 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
30096 AVX512VBMI, as it implies AVX512BW.
30097
30098 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
30099
30100 PR target/64387
30101 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
30102 (vec_unpacks_hi_v16sf): Ditto.
30103
30104 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30105
30106 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
30107 is not available.
30108
30109 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30110
30111 * doc/invoke.texi (mapcs): Mention deprecation.
30112 (mapcs-frame): Likewise.
30113
30114 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
30115
30116 PR target/64453
30117 * config/arm/arm.c (callee_saved_reg_p): Define.
30118 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
30119 register is callee saved instead of !call_used_regs[reg].
30120 (thumb1_compute_save_reg_mask): Likewise.
30121
30122 2015-01-14 Hale Wang <hale.wang@arm.com>
30123
30124 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
30125 Cortex-M7.
30126
30127 2015-01-14 Richard Biener <rguenther@suse.de>
30128
30129 PR lto/64415
30130 * tree-inline.c (insert_debug_decl_map): Check destination
30131 function MAY_HAVE_DEBUG_STMTS.
30132 (insert_init_debug_bind): Likewise.
30133 (insert_init_stmt): Remove redundant check.
30134 (remap_gimple_stmt): Drop debug stmts if the destination
30135 function has var-tracking assignments disabled.
30136
30137 2015-01-14 Martin Liska <mliska@suse.cz>
30138
30139 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
30140 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
30141
30142 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30143
30144 PR target/64460
30145 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
30146 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
30147
30148 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
30149
30150 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
30151 level from an ARCH; do not inject the default.
30152 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
30153 MIPS_ISA_LEVEL_SPEC.
30154 (MIPS_ISA_NAN2008_SPEC): Update comment.
30155 (BASE_DRIVER_SELF_SPECS): Likewise.
30156 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
30157 MIPS_DEFAULT_ISA_LEVEL_SPEC.
30158 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
30159 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
30160 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
30161
30162 2015-01-14 Richard Biener <rguenther@suse.de>
30163
30164 PR tree-optimization/64493
30165 PR tree-optimization/64495
30166 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
30167 assign the proper vectorized PHI to the inner loop exit PHIs.
30168
30169 2015-01-14 Joey Ye <joey.ye@arm.com>
30170
30171 * config/arm/arm.c (arm_compute_save_reg_mask):
30172 Do not save lr in case of tail call.
30173 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
30174
30175 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
30176
30177 * tree-vrp.c (check_array_ref): Emit more warnings
30178 for warn_array_bounds >= 2.
30179 * common.opt: New option -Warray-bounds=.
30180 * doc/invoke.texi: Document -Warray-bounds=.
30181
30182 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
30183
30184 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
30185 (mforbid-fp-as-gp): Remove.
30186 (mex9): Remove.
30187 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
30188 (nds32_symbol_load_store_p): Remove.
30189 (nds32_fp_as_gp_check_available): Clean up implementation.
30190 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
30191 cases.
30192 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
30193 fp-as-gp and ex9 cases.
30194
30195 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
30196
30197 * tree-profile.c (init_ic_make_global_vars): Drop workaround
30198 for bintuils bug 14342.
30199 (init_ic_make_global_vars): Likewise.
30200 (gimple_init_edge_profiler): Likewise.
30201 (gimple_gen_ic_func_profiler): Likewise.
30202
30203 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
30204
30205 * ipa-inline.c (inline_small_functions): Swap the operands in
30206 enum.
30207
30208 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
30209
30210 PR ipa/64481
30211 * ipa-inline-analysis.c (node_growth_cache): Remove.
30212 (initialize_growth_caches): Do not initialize it.
30213 (free_growth_caches): Do not free it.
30214 (do_estimate_growth): Rename to ...
30215 (estimate_growth): ... this one; drop growth cache code.
30216 (growth_likely_positive): Always go the heuristics way.
30217 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
30218 (reset_edge_caches): Do not reset node growth.
30219 (heap_edge_removal_hook): Do not maintain cache.
30220 (inline_small_functions): Likewise; strenghten sanity check.
30221 (ipa_inline): Do not maintain caches.
30222 * ipa-inline.h (node_growth_cache): Remove.
30223 (do_estimate_growth): Remove to ...
30224 (estimate_growth): this one; remove inline version.
30225 (reset_node_growth_cache): Remove.
30226
30227 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
30228
30229 PR ipa/64565
30230 * ipa-inline.c (inline_small_functions): Update callee keys after
30231 resolving speculation
30232 (inline_small_functions): Always check monotonicity of the queue.
30233
30234 2015-01-13 Marek Polacek <polacek@redhat.com>
30235
30236 PR middle-end/64391
30237 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
30238
30239 2015-01-13 Jakub Jelinek <jakub@redhat.com>
30240
30241 PR rtl-optimization/64286
30242 * ree.c (combine_reaching_defs): Move part of comment earlier,
30243 remove !SCALAR_INT_MODE_P check.
30244 (add_removable_extension): Don't add vector mode
30245 extensions if all uses of the source register aren't the same
30246 vector extensions.
30247
30248 2015-01-13 Renlin Li <renlin.li@arm.com>
30249
30250 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
30251 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
30252
30253 2015-01-13 Martin Liska <mliska@suse.cz>
30254
30255 * ipa-icf.c (sem_function::equals_private): Call new functions
30256 cl_target_option_print_diff and cl_optimization_print_diff.
30257 * optc-save-gen.awk (cl_target_option_print_diff): New function.
30258 (cl_optimization_print_diff): Likewise.
30259 * opth-gen.awk: Likewise.
30260
30261 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
30262
30263 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
30264 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
30265 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
30266 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
30267 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
30268 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
30269
30270 2015-01-13 Andrew Pinski <apinski@cavium.com>
30271
30272 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
30273 instead of src mode.
30274
30275 2015-01-13 Richard Biener <rguenther@suse.de>
30276
30277 PR lto/64373
30278 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
30279 DECL_CONTEXT.
30280
30281 2015-01-13 Andrew Pinski <apinski@cavium.com>
30282
30283 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
30284 volatile mems.
30285 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
30286
30287 2015-01-13 Jakub Jelinek <jakub@redhat.com>
30288
30289 PR middle-end/63974
30290 * cfgexpand.c (expand_computed_goto): Don't call
30291 convert_memory_address here.
30292
30293 2015-01-13 Richard Biener <rguenther@suse.de>
30294
30295 PR tree-optimization/64406
30296 * tree-loop-distibution.c (pass_loop_distribution::execute):
30297 Reset the SCEV hashtable if we distributed anything.
30298
30299 2015-01-13 Richard Biener <rguenther@suse.de>
30300
30301 PR tree-optimization/64404
30302 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
30303 SLP types for CSEd loads.
30304
30305 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
30306
30307 PR tree-optimization/64436
30308 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
30309 merge of two symbolic numbers for a bitwise OR to ...
30310 (perform_symbolic_merge): This. Also fix computation of the range and
30311 end of the symbolic number corresponding to the result of a bitwise OR.
30312
30313 2015-01-13 Richard Biener <rguenther@suse.de>
30314
30315 PR tree-optimization/64568
30316 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
30317 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
30318
30319 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30320
30321 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
30322 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
30323
30324 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30325
30326 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
30327 target-specific symbol_ref flag.
30328 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
30329 resides in rodata section.
30330 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
30331 (nds32_encode_section_info): New function.
30332
30333 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30334
30335 * config/nds32/nds32.md (call): Use pseudo instruction bal which
30336 clobbers TA_REGNUM if large code model is specified.
30337 (call_register): Likewise.
30338 (call_immediate): Likewise.
30339 (call_value): Likewise.
30340 (call_value_register): Likewise.
30341 (call_value_immediate): Likewise.
30342
30343 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30344
30345 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
30346 (TARGET_CMODEL_MEDIUM): New macro.
30347 (TARGET_CMODEL_LARGE): New macro.
30348 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
30349 code model setting in assembly code.
30350
30351 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30352
30353 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
30354 Remove MASK_GP_DIRECT flag.
30355 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
30356 one of the multilib default options.
30357 * config/nds32/nds32.opt (mgp-direct): Remove.
30358 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
30359 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
30360
30361 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
30362
30363 * config/nds32/nds32.opt (mcmodel): Add new option.
30364 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
30365 to describe code model.
30366
30367 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
30368
30369 PR target/64479
30370 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
30371
30372 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
30373
30374 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
30375 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
30376 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
30377 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
30378 __builtin_sh_set_fpscr.
30379
30380 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
30381
30382 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
30383 after a funtion name just to indicate it is a function.
30384 ([-fsanitize-undefined-trap-on-error]): Likewise.
30385 ([-fdbg-cnt=]): Likewise.
30386 ([-mmemcpy]): Likewise.
30387 ([-mflush-func]): Likewise.
30388 ([-msynci]): Likewise.
30389
30390 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
30391
30392 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
30393 example.
30394
30395 2015-01-12 Jakub Jelinek <jakub@redhat.com>
30396
30397 PR tree-optimization/64563
30398 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
30399 instead of != VR_VARYING.
30400
30401 PR target/64513
30402 * config/i386/i386.c (ix86_expand_prologue): Add
30403 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
30404
30405 PR tree-optimization/64454
30406 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
30407 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
30408 for signed or [0, op1 - 1] for unsigned modulo.
30409 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
30410 even if op1 does not satisfy integer_pow2p.
30411
30412 PR other/64370
30413 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
30414
30415 2015-01-12 Jeff Law <law@redhat.com>
30416
30417 PR target/64461
30418 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
30419 (trunchiqi2, truncsihi2): Similarly.
30420
30421 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
30422 rather than calling F.
30423
30424 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
30425
30426 * tsan.c (instrument_expr): Use force_gimple_operand.
30427 Use may_be_nonaddressable_p instead of is_gimple_addressable.
30428
30429 2015-01-12 Richard Biener <rguenther@suse.de>
30430
30431 PR tree-optimization/64530
30432 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
30433 back dr1.
30434
30435 2015-01-12 Richard Biener <rguenther@suse.de>
30436
30437 PR middle-end/64357
30438 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
30439 latches properly.
30440
30441 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30442
30443 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
30444 Cortex-A17 tuning parameters.
30445 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
30446
30447 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30448
30449 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
30450 * config/arm/arm.c (arm_macro_fusion_p): New function.
30451 (arm_macro_fusion_pair_p): Likewise.
30452 (TARGET_SCHED_MACRO_FUSION_P): Define.
30453 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
30454 (ARM_FUSE_NOTHING): Likewise.
30455 (ARM_FUSE_MOVW_MOVT): Likewise.
30456 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
30457 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
30458 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
30459 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
30460 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
30461 arm_cortex_a5_tune): Specify fuseable_ops value.
30462
30463 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
30464
30465 PR bootstrap/64561
30466 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
30467 test for PIE with copy reloc.
30468 * configure: Regenerated.
30469
30470 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30471
30472 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
30473 in gen_rtx_REG.
30474 (arm_tls_descseq_addr): Likewise.
30475 (arm_gen_movmemqi): Likewise.
30476 (arm_expand_epilogue_apcs_frame): Likewise.
30477 (arm_expand_epilogue): Likewise.
30478 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
30479 in gen_rtx_REG.
30480
30481 2015-01-12 Martin Liska <mliska@suse.cz>
30482
30483 PR ipa/64550
30484 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
30485 volatility for correct operands.
30486
30487 2015-01-12 Martin Liska <mliska@suse.cz>
30488
30489 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
30490 indication that a function is not leaf.
30491 (sem_function::compare_polymorphic_p): Likewise.
30492
30493 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
30494
30495 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
30496 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
30497 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
30498 fold-const.h, tree-check.h.
30499
30500 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
30501
30502 PR ipa/63967
30503 PR ipa/64425
30504 * ipa-inline.c (compute_uninlined_call_time,
30505 compute_inlined_call_time): Use counts for extra precision when
30506 needed possible.
30507 (big_speedup_p): Fix formating.
30508 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
30509 (relative_time_benefit): Remove.
30510 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
30511 merge guessed and read profile paths.
30512 (inline_small_functions): Count only !optimize_size functions into
30513 initial size; be more lax about sanity check when profile is used;
30514 be sure to update inlined function profile when profile is read.
30515
30516 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
30517
30518 PR ipa/63470
30519 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
30520 cost when edge becomes direct.
30521 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
30522 is resolved or when introducing new speculation.
30523
30524 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
30525
30526 PR ipa/64551
30527 PR ipa/64552
30528 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
30529 '||' to fix typo issue.
30530
30531 * gcc/tree.h (target_opts_for_fn): Check NULL_TREE since it can
30532 accept and return NULL.
30533
30534 2015-01-12 Martin Liska <mliska@suse.cz>
30535
30536 * cgraph.c (cgraph_edge::remove_callee): Move function to header
30537 file for being inlined.
30538 (cgraph_set_edge_callee): Delete.
30539 (cgraph_edge::redirect_callee): Move function to header file
30540 for being inlined.
30541 (cgraph_edge::make_direct): Use new function.
30542 (cgraph_edge::dump_edge_flags): New function created from
30543 static dump_edge_flags function.
30544 (cgraph_node::dump): Use new function.
30545 (cgraph_edge::verify_count_and_frequency): New function created
30546 from verify_edge_count_and_frequency.
30547 (cgraph_edge::verify_corresponds_to_fndecl): New function created
30548 from verify_edge_corresponds_to_fndecl.
30549 (verify_edge_corresponds_to_fndecl): Delete.
30550 (cgraph_node::verify_node): Use new function.
30551 * cgraph.h (cgraph_edge::set_callee): New function.
30552 (cgraph_edge::dump_edge_flags): Likewise.
30553 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
30554
30555 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
30556
30557 * ipa-utils.c (estimate_function_body_sizes): Do not
30558 free node params when called late with early=true.
30559
30560 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
30561
30562 * doc/md.texi (Instruction Patterns): Rewrite text for
30563 clarity.
30564 (Example): Likewise.
30565
30566 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
30567
30568 * doc/invoke.texi (Option Summary): Break long lines.
30569 [(-fdiagnostics-color)]: Put long literal in @smallexample
30570 instead of inline.
30571 [(-fsanitize-recover)]: Likewise.
30572 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
30573 [(-ffast-math)]: Likewise.
30574 [(--param max-inline-insns-recursive)]: Likewise.
30575 [(--param max-inline-recursive-depth)]: Likewise.
30576 [(-mno-text-section-literals)]: Likewise.
30577
30578 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
30579
30580 * doc/install.texi: Update for libgomp being renamed from "GNU
30581 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
30582 Runtime Library".
30583 * doc/sourcebuild.texi: Likewise.
30584
30585 2015-01-10 Anthony Green <green@moxielogic.com>
30586
30587 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
30588 mul.x availability for moxiebox configuration.
30589
30590 2015-01-09 Anthony Green <green@moxielogic.com>
30591
30592 * config/moxie/moxie.md: Tabify assembly output.
30593
30594 2015-01-09 Anthony Green <green@moxielogic.com>
30595
30596 * config/moxie/moxie.md (CC_REG): Correct register definition.
30597
30598 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
30599
30600 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
30601 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
30602 of log files.
30603
30604 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
30605
30606 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
30607
30608 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
30609 Jakub Jelinek <jakub@redhat.com>
30610
30611 PR middle-end/64412
30612 * lto-streamer.h (lto_stream_offload_p): New declaration.
30613 * lto-streamer.c (lto_stream_offload_p): New variable.
30614 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
30615 at the same time as section_name_prefix.
30616 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
30617 if lto_stream_offload_p.
30618 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
30619 stream TREE_TARGET_OPTION if lto_stream_offload_p.
30620 (write_ts_function_decl_tree_pointers): Don't
30621 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
30622 * tree-streamer-in.c (unpack_value_fields): Don't stream
30623 TREE_TARGET_OPTION in if ACCEL_COMPILER.
30624 (lto_input_ts_function_decl_tree_pointers): Don't stream
30625 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
30626 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
30627 instead of section_name_prefix string comparisons.
30628
30629 2015-01-09 Jakub Jelinek <jakub@redhat.com>
30630
30631 PR rtl-optimization/64536
30632 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
30633 tablejumps.
30634
30635 2015-01-09 Michael Collison <michael.collison@linaro.org>
30636
30637 PR tree-optimization/64322
30638 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
30639 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
30640
30641 2015-01-09 Tom de Vries <tom@codesourcery.com>
30642
30643 PR rtl-optimization/64539
30644 * regcprop.c (kill_clobbered_values): Factor out of ...
30645 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
30646 instead of note_stores with kill_clobbered_value.
30647
30648 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
30649
30650 * ginclude/unwind-arm-common.h: Revert previous commit.
30651
30652 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
30653
30654 * config.gcc (arm*-*-freebsd*): New configuration.
30655 * config/arm/freebsd.h: New file.
30656 * config.host: Add extra components for arm*-*-freebsd*.
30657 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
30658 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
30659
30660 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
30661
30662 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
30663 for -mcpu=e6500.
30664 * config/rs6000/t-rtems: Add e6500 multilibs.
30665
30666 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
30667
30668 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
30669 MPC8540.
30670
30671 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
30672
30673 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
30674 MULTILIB_EXCEPTIONS.
30675
30676 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
30677
30678 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
30679 MULTILIB_EXCEPTIONS.
30680
30681 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
30682
30683 * config/arm/t-rtems-eabi: Rename to...
30684 * config/arm/t-rtems: ...this.
30685 * config/arm/rtems-eabi.h: Rename to...
30686 * config/arm/rtems.h: ...this.
30687 * config.gcc (arm*-*-rtems*): Reflect changes above.
30688
30689 2015-01-09 Richard Biener <rguenther@suse.de>
30690
30691 PR tree-optimization/64410
30692 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
30693 on the LHS.
30694 (execute_update_addresses_taken): Deal with that.
30695 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
30696 loads/stores for complex variables.
30697
30698 2015-01-09 Martin Liska <mliska@suse.cz>
30699
30700 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
30701 name comparison.
30702 (func_checker::compare_memory_operand): New function.
30703 (func_checker::compare_operand): Split case to newly
30704 added functions.
30705 (func_checker::compare_cst_or_decl): New function.
30706 (func_checker::compare_gimple_call): Identify
30707 memory operands.
30708 (func_checker::compare_gimple_assign): Likewise.
30709 * ipa-icf-gimple.h: New function.
30710
30711 2015-01-09 Martin Liska <mliska@suse.cz>
30712
30713 PR ipa/64503
30714 * sreal.c (sreal::dump): Change unsigned format to signed for
30715 m_exp value.
30716 (sreal::to_double): Replace exp2 with scalbln.
30717
30718 2015-01-09 Martin Liska <mliska@suse.cz>
30719
30720 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
30721 * ipa-icf.c (sem_function::equals_private): Add support for target and
30722 (sem_item_optimizer::merge_classes): Remove redundant function
30723 optimization flags comparison.
30724 * tree.h (target_opts_for_fn): New function.
30725
30726 2015-01-09 Tom de Vries <tom@codesourcery.com>
30727
30728 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
30729
30730 2015-01-09 Kito Cheng <kito@0xlab.org>
30731
30732 PR rtl-optimization/64348
30733 * lra-constraints.c (split_reg): Fix caller-save store/restore
30734 instruction generation.
30735
30736 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
30737
30738 PR gcov-profile/61790
30739 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
30740 long long. Fallback to int64_t if host doesn't have long long and
30741 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
30742
30743 2015-01-08 Jakub Jelinek <jakub@redhat.com>
30744
30745 PR tree-optimization/63989
30746 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
30747 from 1000 to 10000.
30748 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
30749 (get_stridx): If we don't have a record for certain SSA_NAME,
30750 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
30751 constant offset, call get_stridx_plus_constant.
30752 (get_stridx_plus_constant): New function.
30753 (zero_length_string): Don't use get_stridx here.
30754
30755 PR target/55023
30756 PR middle-end/64388
30757 * dse.c (struct insn_info): Mention frame_read set also
30758 before reload for tail calls on some targets.
30759 (scan_insn): Revert 2014-12-22 change. Set frame_read
30760 also before reload for tail calls if
30761 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
30762 instead of add_non_frame_wild_read for non-const/memset
30763 tail calls after reload.
30764
30765 2015-01-08 Jason Merrill <jason@redhat.com>
30766
30767 * ubsan.c (do_ubsan_in_current_function): New.
30768 (pass_ubsan::gate): Use it.
30769 * ubsan.h: Declare it.
30770 * convert.c (convert_to_integer): Use it.
30771
30772 2015-01-08 Jakub Jelinek <jakub@redhat.com>
30773
30774 PR target/64338
30775 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
30776 compare_code when it is unconditionally overwritten afterwards.
30777 Use ix86_reverse_condition instead of reverse_condition. Don't
30778 change code if *reverse_condition* returned UNKNOWN and don't
30779 swap ct/cf and negate diff in that case.
30780
30781 2015-01-08 Mike Stump <mikestump@comcast.net>
30782
30783 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
30784 (pass_tsan_O0::gate): Likewise.
30785 * extend.texi (Function Attributes): Add no_sanitize_thread
30786 documentation.
30787
30788 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
30789
30790 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
30791 for registering builtins.
30792 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
30793 add -fopenmp to the argv_obstack used when invoking
30794 compile_for_target.
30795
30796 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
30797 add "-m32" or "-m64" to argv_obstack.
30798 (generate_host_descr_file): Likewise, when invoking host_compiler.
30799 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
30800 ld.
30801
30802 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
30803
30804 * config/sh/sh-mem.cc: Use constant as second operand when emitting
30805 tstsi_t insns.
30806
30807 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
30808
30809 PR target/55212
30810 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
30811 constant load if constant operand fits into I08.
30812
30813 2015-01-08 Jakub Jelinek <jakub@redhat.com>
30814
30815 PR sanitizer/64336
30816 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
30817 and TREE_THIS_VOLATILE for MEM_REFs.
30818 (build5_stat): Fix up initialization of TREE_READONLY and
30819 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
30820
30821 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
30822
30823 PR target/64533
30824 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
30825 of r for the second alternative of the destination operand.
30826
30827 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
30828
30829 PR target/36557
30830 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
30831
30832 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
30833
30834 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
30835 keywords.
30836 ([-fivar-visibility], [-fvisibility]): Likewise.
30837
30838 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
30839
30840 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
30841 the file where @code, @command, etc is more appropriate.
30842
30843 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
30844
30845 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
30846 of -mrecip= documentation.
30847
30848 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
30849
30850 PR target/64505
30851 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
30852 correct reload handler if -m32 -mpowerpc64 is used.
30853
30854 2015-01-06 Tom de Vries <tom@codesourcery.com>
30855
30856 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
30857
30858 2015-01-08 Christian Bruel <christian.bruel@st.com>
30859
30860 PR target/64507
30861 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
30862
30863 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
30864
30865 PR tree-optimization/63259
30866 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
30867 if optab exists for 16bit byteswap.
30868
30869 2015-01-06 Jakub Jelinek <jakub@redhat.com>
30870
30871 * opts.c (common_handle_option): Add support for
30872 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
30873 * doc/invoke.texi: Document -fno-sanitize=all,
30874 -f{,no-}sanitize-recover=all. Document that
30875 -fsanitize=float-cast-overflow is not enabled
30876 by -fsanitize=undefined. Fix up documentation
30877 of -f{,no-}sanitize-recover.
30878
30879 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
30880
30881 * config.gcc: Add Visium support.
30882 * configure.ac: Likewise.
30883 * configure: Regenerate.
30884 * doc/extend.texi (interrupt attribute): Add Visium.
30885 * doc/invoke.texi: Document Visium options.
30886 * doc/install.texi: Document Visium target.
30887 * doc/md.texi: Document Visium constraints.
30888 * common/config/visium: New directory.
30889 * config/visium: Likewise.
30890
30891 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
30892
30893 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
30894 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
30895
30896 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
30897
30898 * combine.c (combine_validate_cost): Do not count the cost of a
30899 split I2 twice. Do not display it twice in the dump, either.
30900
30901 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
30902
30903 Revert parts of r219199.
30904 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
30905 <inttypes.h>.
30906 ([-Wtraditional]): Restore markup on <limits.h>.
30907
30908 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
30909
30910 PR c++/31397
30911 * doc/invoke.texi: Document -Wsuggest-override.
30912
30913 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
30914
30915 PR rtl-optimization/64287
30916 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
30917 (process_options): Disable flag_ipa_ra if profiling.
30918
30919 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
30920
30921 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
30922
30923 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
30924
30925 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
30926 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
30927 put under #if TARGET_LOOPS guard.
30928
30929 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
30930
30931 * config/i386/i386.c (output_387_binary_op): Use std::swap.
30932
30933 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
30934
30935 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
30936 * rtl.h (refers_to_regno_p): Add overload.
30937 * cse.c: Use it.
30938 * bt-load.c: Likewise.
30939 * combine.c: Likewise.
30940 * df-scan.c: Likewise.
30941 * sched-deps.c: Likewise.
30942 * config/s390/s390.c: Likewise.
30943 * config/m32r/m32r.c: Likewise.
30944 * config/rs6000/spe.md: Likewise.
30945 * config/rs6000/rs6000.c: Likewise.
30946 * config/pa/pa.c: Likewise.
30947 * config/stormy16/stormy16.c: Likewise.
30948 * config/cris/cris.c: Likewise.
30949 * config/arc/arc.md: Likewise.
30950 * config/arc/arc.c: Likewise.
30951 * config/sh/sh.md: Likewise.
30952 * config/sh/sh.c: Likewise.
30953 * config/frv/frv.c: Likewise.
30954
30955 2015-01-05 Jakub Jelinek <jakub@redhat.com>
30956
30957 PR sanitizer/64265
30958 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
30959 call as cleanup of the whole body.
30960 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
30961 * tsan.c (replace_func_exit): New function.
30962 (instrument_func_exit): Moved earlier.
30963 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
30964 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
30965 been found.
30966 (tsan_pass): Don't call instrument_func_exit.
30967 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
30968 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
30969 inlining.
30970
30971 PR sanitizer/64344
30972 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
30973 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
30974 it to libubsan handler instead of EXPR. Fold comparisons earlier,
30975 if the result is integer_zerop, return NULL_TREE.
30976 * convert.c (convert_to_integer): Pass expr as ARG.
30977
30978 PR tree-optimization/64465
30979 * tree-inline.c (redirect_all_calls): During inlining
30980 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
30981 changed the stmt to a non-throwing call.
30982
30983 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
30984
30985 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
30986 etc markup throughout the file.
30987
30988 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
30989
30990 Enable experimental TSAN support for Ada.
30991 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
30992
30993 2015-01-05 Jakub Jelinek <jakub@redhat.com>
30994
30995 PR tree-optimization/64494
30996 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
30997 clear SSA_NAME_ANTI_RANGE_P flag.
30998
30999 2015-01-05 Marek Polacek <polacek@redhat.com>
31000
31001 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
31002
31003 2015-01-05 Jakub Jelinek <jakub@redhat.com>
31004
31005 Update copyright years.
31006
31007 * gcc.c (process_command): Update copyright notice dates.
31008 * gcov-dump.c: Ditto.
31009 * gcov.c: Ditto.
31010 * doc/cpp.texi: Bump @copying's copyright year.
31011 * doc/cppinternals.texi: Ditto.
31012 * doc/gcc.texi: Ditto.
31013 * doc/gccint.texi: Ditto.
31014 * doc/gcov.texi: Ditto.
31015 * doc/install.texi: Ditto.
31016 * doc/invoke.texi: Ditto.
31017
31018 * auto-profile.c, auto-profile.h: Fix up Copyright line.
31019
31020 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
31021
31022 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
31023 verb tense, etc.
31024 ([-fvtable-verify], [-fvtv-debug]): Likewise.
31025 ([-Wabi]): Likewise.
31026 ([-fmessage-length]): Likewise.
31027 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
31028 ([-Wno-discarded-qualifiers]): Likewise.
31029 ([-Wnodiscarded-array-qualifiers]): Likewise.
31030 ([-Wno-virtual-move-assign]): Likewise.
31031 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
31032 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
31033 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
31034 ([-fsanitize-undefined-trap-on-error]): Likewise.
31035 ([-floop-interchange]): Likewise.
31036 ([-ftree-coalesce-inlined-vars]): Likewise.
31037 ([-fvect-cost-model]): Likewise.
31038 ([-flto]): Likewise.
31039 ([--param]): Likewise.
31040 (Spec Files): Likewise.
31041 ([-mstrict-align]): Likewise.
31042 ([-mfix-cortex-a53-835769]): Likewise.
31043 ([-march], [-mtune]): Likewise.
31044 ([-mpic-register]): Likewise.
31045 ([-munaligned-access]): Likewise.
31046 ([-msp8]): Likewise.
31047 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
31048 (AVR Built-in Macros): Likewise.
31049 ([-mpreferred-stack-boundary]): Likewise.
31050 ([-mtune-crtl]): Likewise.
31051 ([-mashf]): Likewise.
31052 ([-mmcu=]): Likewise.
31053 ([-minrt]): Likewise.
31054 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
31055 ([-mupper-regs]): Likewise.
31056 ([-matomic-model]): Likewise.
31057 ([-mdiv]): Likewise.
31058 ([-mzdcbranch]): Likewise.
31059 ([-mdisable-callt]): Likewise.
31060 ([-msoft-float]): Likewise.
31061 ([-m8byte-align]): Likewise.
31062 ([-fstack-reuse]): Likewise.
31063
31064 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
31065
31066 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
31067 Fix markup, light copy-editing.
31068 ([-fauto-profile]): Rewrite to fix formatting and content
31069 problems.
31070
31071 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
31072
31073 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
31074 Copy-edit description.
31075 ([-fisolate-erroneous-paths-attribute]): Likewise.
31076 * common.opt (fisolate-erroneous-paths-dereference):
31077 Copy-edit description.
31078 (fisolate-erroneous-paths-attribute): Likewise.
31079
31080 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
31081
31082 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
31083 tidy grammar.
31084
31085 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
31086
31087 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
31088 ([-fvtv-debug]): Likewise.
31089 ([-Wc++-compat]): Likewise.
31090 ([-Wc++11-compat]): Likewise.
31091 ([-Wc++14-compat]): Likewise.
31092 ([-Wno-sized-deallocation]): Likewise.
31093 ([-femit-class-debug-always]): Likewise.
31094 ([-femit-struct-debug-detailed]): Likewise.
31095 ([-fno-keep-inline-dllexport]): Likewise.
31096 ([-fira-algorithm]): Likewise.
31097 ([-fira-region]): Likewise.
31098 ([-flra-remat]): Likewise.
31099 ([-fipa-ra]): Likewise.
31100 ([-fhoist-adjacent-loads]): Likewise.
31101 ([-fisolate-erroneous-paths-dereference]): Likewise.
31102 ([-fisolate-erroneous-paths-attribute]): Likewise.
31103 ([-ftree-switch-conversion]): Likewise.
31104 ([-ftree-tail-merge]): Likewise.
31105 ([-ftree-loop-if-convert]): Likewise.
31106 ([-ftree-loop-if-convert-stores]): Likewise.
31107 ([-ftree-loop-distribution]): Likewise.
31108 ([-ftree-loop-distribute-patterns]): Likewise.
31109 ([-flto-compression-level]): Likewise.
31110 ([-flto-report]): Likewise.
31111 ([-flto-report-wpa]): Likewise.
31112 ([-fuse-linker-plugin]): Likewise.
31113 ([-mfix-cortex-a53-835769]): Likewise.
31114 ([-mno-fix-cortex-a53-835769]): Likewise.
31115 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
31116 explicit listing; add a note to the discussion indicating they
31117 exist. Reorder table to group similar options. Add missing
31118 @opindex entries. Add @need commands throughout the table to
31119 allow it to be split across multiple pages.
31120 ([-m8bit-idiv]): Fix @opindex.
31121 ([-mavx256-split-unaligned-load]): Likewise.
31122 ([-mavx256-split-unaligned-store]): Likewise.
31123 ([-mstack-protector-guard]): Likewise.
31124 ([-mcpu=]): Likewise.
31125 ([-mcpu]): Likewise.
31126 ([-mpointer-size=]): Likewise.
31127
31128 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
31129
31130 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
31131 instead of `m' constraint. Likewise for unnamed movb comparison
31132 patterns using reg_before_reload_operand predicate.
31133 * config/pa/predicates.md (reg_before_reload_operand): Tighten
31134 predicate to reject register index and LO_SUM DLT memory forms
31135 after reload.
31136
31137 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
31138
31139 * doc/invoke.texi (Option Summary): Fix spelling of
31140 -fdevirtualize-at-ltrans.
31141 ([-fdevirtualize]): Fix markup.
31142 ([-fdevirtualize-speculatively]): Fix typo.
31143 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
31144 implementor-speaky.
31145 * common.opt (fdevirtualize-at-ltrans): Likewise.
31146 * ipa-devirt.c: Fix typos in comments throughout the file.
31147 (ipa_devirt): Fix typos in format strings for dump output.
31148
31149 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
31150
31151 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
31152 discussion of defaults, light copy-editing.
31153
31154 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
31155
31156 * tsan.c (instrument_expr): corrected previous checkin.
31157
31158 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
31159
31160 Instrument bit field and unaligned accesses for TSAN.
31161 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
31162 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
31163 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
31164 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
31165 unaligned memory regions.
31166
31167 2015-01-01 Anthony Green <green@moxielogic.com>
31168
31169 * config/moxie/predicates.md (moxie_general_movsrc_operand):
31170 Restrict move source register offsets to 16 bits.
31171 \f
31172 Copyright (C) 2015 Free Software Foundation, Inc.
31173
31174 Copying and distribution of this file, with or without modification,
31175 are permitted in any medium without royalty provided the copyright
31176 notice and this notice are preserved.