]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/ChangeLog
Add initial qualcomm support.
[thirdparty/gcc.git] / gcc / ChangeLog
1 2015-11-12 Jim Wilson <jim.wilson@linaro.org>
2
3 * config/aarch64/aarch64-cores.def (qdf24xx): New.
4 * config/aarch64/aarch64-tune.md: Regenerated.
5 * config/arm/arm-cores.def (qdf24xx): New.
6 * config/arm/arm-tables.opt, config/arm/arm-tune.md: Regenerated.
7 * config/arm/bpabi.h (BE8_LINK_SPEC): Add qdf24xx support.
8 * doc/invoke.texi (AArch64 Options/-mtune): Add "qdf24xx".
9 (ARM Options/-mtune); Likewise.
10
11 2015-11-12 Martin Liska <mliska@suse.cz>
12
13 * config/i386/i386.c (ix86_valid_target_attribute_p):
14 Finalize options at the of the function.
15 * gcc.c (driver_get_configure_time_options): Call newly
16 introduced init_opts_obstack.
17 * lto-wrapper.c (main): Likewise.
18 * opts.c (init_opts_obstack): New function.
19 (init_options_struct): Call newly
20 introduced init_opts_obstack.
21 * opts.h (init_options_struct): Declare.
22
23 2015-11-12 Martin Liska <mliska@suse.cz>
24
25 PR ipa/68035
26 * ipa-icf.c (void sem_item::set_hash): New function.
27 (sem_function::get_hash): Use renamed m_hash member variable.
28 (sem_item::update_hash_by_addr_refs): Utilize get_hash.
29 (sem_item::update_hash_by_local_refs): Likewise.
30 (sem_variable::get_hash): Use renamed m_hash member variable.
31 (sem_item_optimizer::update_hash_by_addr_refs): Utilize get_hash.
32 (sem_item_optimizer::build_hash_based_classes): Utilize set_hash.
33 (sem_item_optimizer::build_graph): As the hash value of an item
34 is lazy initialized, force the calculation.
35 * ipa-icf.h (set_hash): Declare new function and rename hash member
36 variable to m_hash.
37
38 2015-11-12 Richard Biener <rguenther@suse.de>
39
40 * tree-vectorizer.h (vect_slp_analyze_data_ref_dependences):
41 Rename to vect_slp_analyze_instance_dependence.
42 * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependence):
43 Remove WAR special-case.
44 (vect_slp_analyze_node_dependences): Instead add more specific
45 code here, not relying on other instances being vectorized.
46 (vect_slp_analyze_instance_dependence): Adjust accordingly.
47 * tree-vect-slp.c (vect_build_slp_tree_1): Remove excessive
48 vertical space in dump files.
49 (vect_print_slp_tree): Likewise.
50 (vect_analyze_slp_instance): Dump a header for the final SLP tree.
51 (vect_slp_analyze_bb_1): Delay computing relevant stmts and
52 not vectorized stmts until after dependence analysis removed
53 instances. Merge alignment and dependence checks.
54 * tree-vectorizer.c (pass_slp_vectorize::execute): Clear visited
55 flag on all stmts.
56
57 2015-11-12 Evandro Menezes <e.menezes@samsung.com>
58
59 * config/aarch64/aarch64-protos.h (tune_params): Add new members
60 "max_case_values" and "cache_line_size".
61 * config/aarch64/aarch64.c (aarch64_case_values_threshold): New
62 function.
63 (aarch64_override_options_internal): Tune heuristics based on new
64 members in "tune_params".
65 (TARGET_CASE_VALUES_THRESHOLD): Define macro.
66
67 2015-11-12 Richard Biener <rguenther@suse.de>
68
69 PR tree-optimization/68306
70 * tree-vect-data-refs.c (verify_data_ref_alignment): Remove
71 relevant and vectorizable checks here.
72 (vect_verify_datarefs_alignment): Add relevant check here.
73
74 2015-11-12 Nathan Sidwell <nathan@codesourcery.com>
75
76 gcc/
77 * gimplify.c (oacc_default_clause): New.
78 (omp_notice_variable): Call it.
79
80 gcc/testsuite/
81 * c-c++-common/goacc/data-default-1.c: New.
82
83 libgomp/
84 * testsuite/libgomp.oacc-c-c++-common/default-1.c: New.
85
86 2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
87
88 PR tree-optimization/68305
89 * tree-vect-slp.c (vect_get_constant_vectors): Support
90 COND_EXPR with SSA_NAME as a condition.
91
92 2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
93
94 * config/visium/visium-protos.h (notice_update_cc): Delete.
95 (print_operand): Likewise.
96 (print_operand_address): Likewise.
97
98 2015-11-12 Uros Bizjak <ubizjak@gmail.com>
99
100 * config/alpha/alpha.h (FUNCTION_VALUE, LIBCALL_VALUE,
101 FUNCTION_VALUE_REGNO_P): Remove.
102 * config/alpha/alpha-protos.h (function_value): Remove.
103 * config/alpha/alpha.c (function_value): Rename to...
104 (alpha_function_value_1): ... this. Make static.
105 (alpha_function_value, alpha_libcall_value,
106 alpha_function_value_regno_p): New functions.
107 (TARGET_FUNCTION_VALUE, TARGET_LIBCALL_VALUE,
108 TARGET_FUNCTION_VALUE_REGNO_P): Define.
109
110 2015-11-12 Uros Bizjak <ubizjak@gmail.com>
111
112 * config/alpha/alpha.h (REGISTER_MOVE_COST, MEMORY_MOVE_COST): Remove.
113 * config/alpha/alpha.c (alpha_memory_latency): Make static.
114 (alpha_register_move_cost, alpha_memory_move_cost): New functions.
115 (TARGET_REGISTER_MOVE_COST, TARGET_MEMORY_MOVE_COST): Define.
116
117 2015-11-12 Eric Botcazou <ebotcazou@adacore.com>
118
119 PR target/67265
120 * config/i386/i386.c (ix86_adjust_stack_and_probe): Remove obsolete
121 assertion on the CFA register.
122
123 2015-11-12 Ilya Enkovich <enkovich.gnu@gmail.com>
124
125 * expr.c (do_store_flag): Expand vector comparison as
126 VEC_COND_EXPR if vector comparison is not supported
127 by target.
128
129 2015-11-12 Renlin Li <renlin.li@arm.com>
130
131 * config/arm/arm.md (addsi3_compare_op2): Make the order of
132 assembly pattern consistent with constraint order.
133
134 2015-11-12 Tom de Vries <tom@codesourcery.com>
135
136 * gen-pass-instances.awk (handle_line): Simplify match regexp.
137
138 2015-11-12 Tom de Vries <tom@codesourcery.com>
139
140 * gen-pass-instances.awk (handle_line): Simplify init of
141 postfix_starts_at.
142
143 2015-11-12 Tom de Vries <tom@codesourcery.com>
144
145 * gen-pass-instances.awk (handle_line): Rename var where to
146 call_starts_at.
147
148 2015-11-12 Claudiu Zissulescu <claziss@synopsys.com>
149
150 * config/arc/arc.c (gen_compare_reg): Swap operands also when we
151 do not expand to rtl.
152
153 2015-11-12 Richard Biener <rguenther@suse.de>
154
155 PR tree-optimization/58497
156 * tree-vect-generic.c: Include gimplify.h.
157 (tree_vec_extract): Lookup constant/constructor DEFs.
158 (do_cond): Unshare cond.
159
160 2015-11-12 Uros Bizjak <ubizjak@gmail.com>
161
162 * config/i386/i386.c (ix86_legitimate_combined_insn): Reject
163 combined insn if the alignment of vector mode memory operand
164 is less than ssememalign.
165
166 2015-11-12 Tom de Vries <tom@codesourcery.com>
167
168 * gen-pass-instances.awk (handle_line): Print parentheses and
169 pass_name explicitly.
170
171 2015-11-12 Tom de Vries <tom@codesourcery.com>
172
173 * gen-pass-instances.awk (handle_line): Add pass_num, prefix
174 and postfix vars.
175
176 2015-11-12 Tom de Vries <tom@codesourcery.com>
177
178 * gen-pass-instances.awk (handle_line): Add comments.
179
180 2015-11-12 Tom de Vries <tom@codesourcery.com>
181
182 * gen-pass-instances.awk (handle_line): Rename len_of_end to
183 len_of_close.
184
185 2015-11-12 Tom de Vries <tom@codesourcery.com>
186
187 * gen-pass-instances.awk (handle_line): Add len_of_call variable.
188
189 2015-11-12 Tom de Vries <tom@codesourcery.com>
190
191 * gen-pass-instances.awk (handle_line): Restructure using early-out.
192
193 2015-11-12 Tom de Vries <tom@codesourcery.com>
194
195 * gen-pass-instances.awk (handle_line): Unify semicolon use.
196
197 2015-11-12 Tom de Vries <tom@codesourcery.com>
198
199 * gen-pass-instances.awk (handle_line): Remove unused var line_length.
200
201 2015-11-12 Tom de Vries <tom@codesourcery.com>
202
203 * gen-pass-instances.awk: Add emacs indent setting.
204
205 2015-11-12 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
206
207 * fold-const.c (fold_binary_loc) : Move Convert A/B/C to A/(B*C)
208 to match.pd.
209 Move Convert A/(B/C) to (A/B)*C to match.pd.
210 Move Convert C1/(X*C2) into (C1/C2)/X to match.pd.
211 Move Optimize (X & (-A)) / A where A is a power of 2, to
212 X >> log2(A) to match.pd.
213
214 * match.pd (rdiv (rdiv:s @0 @1) @2): New simplifier.
215 (rdiv @0 (rdiv:s @1 @2)): New simplifier.
216 (div (convert? (bit_and @0 INTEGER_CST@1)) INTEGER_CST@2):
217 New simplifier.
218 (rdiv REAL_CST@0 (mult @1 REAL_CST@2)): New simplifier.
219
220 2015-11-12 Charles Baylis <charles.baylis@linaro.org>
221
222 * config/arm/neon.md: (neon_vld2_lane<mode>): Remove unused max
223 variable.
224 (neon_vst2_lane<mode>): Likewise.
225 (neon_vld3_lane<mode>): Likewise.
226 (neon_vst3_lane<mode>): Likewise.
227 (neon_vld4_lane<mode>): Likewise.
228 (neon_vst4_lane<mode>): Likewise.
229
230 2015-11-11 Aditya Kumar <aditya.k7@samsung.com>
231 Sebastian Pop <s.pop@samsung.com>
232
233 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
234 New member codegen_error
235 (translate_isl_ast_for_loop): Remove call to single_succ_edge and
236 early return.
237 (translate_isl_ast_node_user): Early return in case of error.
238 (translate_isl_ast_to_gimple::translate_isl_ast): Same.
239 (translate_isl_ast_to_gimple::translate_pending_phi_nodes): New.
240 (add_parameters_to_ivs_params): Remove macro.
241 (graphite_regenerate_ast_isl): Add if_region pointer to region.
242 * graphite-poly.c (new_poly_dr): Remove macro.
243 (print_pdr): Same.
244 (new_gimple_poly_bb): Same.
245 (free_gimple_poly_bb): Same.
246 (print_scop_params): Same.
247 * graphite-poly.h (struct poly_dr): Same.
248 (struct poly_bb): Add new_bb.
249 (gbb_from_bb): Remove dead code.
250 (pbb_from_bb): Same.
251 * graphite-scop-detection.c (parameter_index_in_region_1): Same.
252 (parameter_index_in_region): Same.
253 (find_scop_parameters): Same.
254 (build_cross_bb_scalars_def): New.
255 (build_cross_bb_scalars_use): New.
256 (graphite_find_cross_bb_scalar_vars): New
257 (try_generate_gimple_bb): Reads and Writes.
258 (build_alias_set): Move.
259 (gather_bbs::before_dom_children): Gather bbs visited.
260 (build_scops): call build_alias_set.
261 * graphite-sese-to-poly.c (phi_arg_in_outermost_loop): Delete.
262 (remove_simple_copy_phi): Delete.
263 (remove_invariant_phi): Delete.
264 (simple_copy_phi_p): Delete.
265 (reduction_phi_p): Delete.
266 (isl_id_for_dr): Remove unused param.
267 (parameter_index_in_region_1): Remove macro usage.
268 (set_scop_parameter_dim): Same.
269 (add_param_constraints): Same.
270 (add_conditions_to_constraints): Same
271 (build_scop_iteration_domain): Same.
272 (pdr_add_alias_set): Comment.
273 (add_scalar_version_numbers): New.
274 (build_poly_dr): ISL id.
275 (build_scop_drs): Move.
276 (build_poly_sr_1): Same.
277 (insert_stmts): Remove.
278 (build_poly_sr): New.
279 (new_pbb_from_pbb): Delete.
280 (insert_out_of_ssa_copy_on_edge): Delete.
281 (create_zero_dim_array): Delete.
282 (scalar_close_phi_node_p): Delete.
283 (propagate_expr_outside_region): Delete.
284 (rewrite_close_phi_out_of_ssa): Delete.
285 (rewrite_phi_out_of_ssa): Delete.
286 (rewrite_degenerate_phi): Delete.
287 (rewrite_reductions_out_of_ssa): Delete.
288 (rewrite_cross_bb_scalar_dependence): Delete.
289 (handle_scalar_deps_crossing_scop_limits):
290 (rewrite_cross_bb_scalar_deps): Delete.
291 (build_poly_scop): Remove calls to out-of-ssa functions.
292 * graphite.c (graphite_transform_loops): Early return in case of
293 codegen error.
294 * sese.c (debug_rename_map_1): Delete.
295 (debug_rename_map): Delete.
296 (sese_record_loop): Remove macro.
297 (build_sese_loop_nests): Same.
298 (new_sese_info): Same.
299 (free_sese_info): Same.
300 (sese_insert_phis_for_liveouts):
301 (is_loop_closed_ssa_use): New.
302 (number_of_phi_nodes): New.
303 (bb_contains_loop_close_phi_nodes): New.
304 (bb_contains_loop_phi_nodes): New.
305 (phi_uses_name): New.
306 (is_valid_rename):
307 (get_rename): Add old_bb and loop_phi for more precise matching of
308 exprs.
309 (set_rename): Pass region.
310 (later_of_the_two): New.
311 (gsi_insert_earliest): New.
312 (collect_all_ssa_names): New.
313 (substitute_ssa_name): New.
314 (rename_all_uses): New.
315 (get_rename_from_scev): New.
316 (rename_uses): Pass old_bb for more precise matching of exprs.
317 (get_def_bb_for_const): New.
318 (get_new_name): New.
319 (get_loc): New.
320 (get_edges): New.
321 (copy_loop_phi_args): New.
322 (copy_loop_phi_nodes): New.
323 (get_loop_init_value): New.
324 (find_init_value): New.
325 (find_init_value_close_phi): New.
326 (copy_loop_close_phi_args): New.
327 (copy_loop_close_phi_nodes): New.
328 (add_phi_arg_for_new_expr): New.
329 (copy_cond_phi_args): New.
330 (copy_cond_phi_nodes): New.
331 (copy_phi_nodes): New.
332 (should_copy_to_new_region): New.
333 (set_rename_for_each_def): New.
334 (graphite_copy_stmts_from_block): Early return in case of error.
335 (copy_bb_and_scalar_dependences): Same.
336 * sese.h (vec_find): New.
337 (SESE_PARAMS): Delete.
338 (SESE_LOOPS): Delete.
339 (SESE_LOOP_NEST): Delete.
340 (sese_contains_loop): Remove macro usage.
341 (sese_nb_params): Same.
342 (struct gimple_poly_bb): Added read_scalar_refs, write_scalar_refs.
343
344 2015-11-11 Abderrazek Zaafrani <a.zaafrani@samsung.com>
345
346 * graphite-sese-to-poly.c (build_scop_original_schedule): Call
347 isl_union_map_add_map on every pbb->schedule.
348
349 2015-11-11 Tom de Vries <tom@codesourcery.com>
350
351 * tree-parloops.c (create_parallel_loop): Return void.
352
353 2015-11-11 Tom de Vries <tom@codesourcery.com>
354
355 * tree-parloops.c (transform_to_exit_first_loop_alt): Insert new exit
356 block only when needed.
357
358 2015-11-11 Uros Bizjak <ubizjak@gmail.com>
359
360 * config/alpha/alpha-protos.h (print_operand): Remove.
361 (print_operand_address): Remove.
362 * config/alpha/alpha.h (PRINT_OPERAND): Remove.
363 (PRINT_OPERAND_ADDRESS): Remove.
364 (PRINT_OPERAND_PUNCT_VALID_P): Remove.
365 * config/alpha/alpha.c (TARGET_PRINT_OPERAND): New hook define.
366 (TARGET_PRINT_OPERAND_ADDRESS): New hook define.
367 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): New hook define.
368 (print_operand_address): Rename to...
369 (alpha_print_operand_address): ...this and make static.
370 (print_operand): Rename to...
371 (alpha_print_operand): ...this and make static.
372 (alpha_print_operand_punct_valid_p): New static function.
373
374 2015-11-11 Richard Biener <rguenther@suse.de>
375
376 * tree-vectorizer.h (vect_slp_analyze_and_verify_instance_alignment):
377 Declare.
378 (vect_analyze_data_refs_alignment): Make loop vect specific.
379 (vect_verify_datarefs_alignment): Likewise.
380 * tree-vect-data-refs.c (vect_slp_analyze_data_ref_dependences):
381 Add missing continue.
382 (vect_compute_data_ref_alignment): Export.
383 (vect_compute_data_refs_alignment): Merge into...
384 (vect_analyze_data_refs_alignment): ... this.
385 (verify_data_ref_alignment): Split out from ...
386 (vect_verify_datarefs_alignment): ... here.
387 (vect_slp_analyze_and_verify_node_alignment): New function.
388 (vect_slp_analyze_and_verify_instance_alignment): Likewise.
389 * tree-vect-slp.c (vect_supported_load_permutation_p): Remove
390 misplaced checks on alignment.
391 (vect_slp_analyze_bb_1): Add fatal output parameter. Do
392 alignment analysis after SLP discovery and do it per instance.
393 (vect_slp_bb): When vect_slp_analyze_bb_1 fatally failed do not
394 bother to re-try using different vector sizes.
395
396 2015-11-11 Nathan Sidwell <nathan@codesourcery.com>
397 Cesar Philippidis <cesar@codesourcery.com>
398
399 * gimplify.c (enum omp_region_type): Add ORT_ACC,
400 ORT_ACC_DATA, ORT_ACC_PARALLEL, ORT_ACC_KERNELS. Adjust ORT_NONE.
401 (gimple_add_tmp_var): Add ORT_ACC checks.
402 (gimplify_var_or_parm_decl): Likewise.
403 (omp_firstprivatize_variable): Likewise. Use ORT_TARGET_DATA as a
404 mask.
405 (omp_add_variable): Look in outer contexts for openacc and allow
406 reductions with other sharing. Add ORT_ACC and ORT_TARGET_DATA
407 checks.
408 (omp_notice_variable, omp_is_private, omp_check_private): Add
409 ORT_ACC checks.
410 (gimplify_scan_omp_clauses: Treat ORT_ACC as ORT_WORKSHARE.
411 Permit private openacc reductions.
412 (gimplify_oacc_cache): Specify ORT_ACC.
413 (gimplify_omp_workshare): Adjust OpenACC region types.
414 (gimplify_omp_target_update): Likewise.
415 * omp-low.c (scan_sharing_clauses): Remove Openacc
416 firstprivate sorry.
417 (lower-rec_input_clauses): Don't handle openacc firstprivate
418 references here.
419 (lower_omp_target): Emit initializers for openacc firstprivate vars.
420
421 2015-11-11 Eric Botcazou <ebotcazou@adacore.com>
422
423 PR target/67265
424 * ira.c (ira_setup_eliminable_regset): Do not necessarily create the
425 frame pointer for stack checking if non-call exceptions aren't used.
426 * config/i386/i386.c (ix86_finalize_stack_realign_flags): Likewise.
427
428 2015-11-11 Segher Boessenkool <segher@kernel.crashing.org>
429
430 * simplify-rtx.c (simplify_truncation): Simplify TRUNCATE of AND of
431 [LA]SHIFTRT.
432
433 2015-11-11 Martin Liska <mliska@suse.cz>
434 Richard Biener <rguenther@suse.de>
435
436 PR rtl-optimization/68287
437 * lra-lives.c (lra_create_live_ranges_1): Reserve the right
438 number of elements.
439
440 2015-11-11 Simon Dardis <simon.dardis@imgtec.com>
441
442 * config/mips/mips.c (mips_breakable_sequence_p): New function.
443 (mips_break_sequence): New function.
444 (mips_reorg_process_insns): Use them. Use compact branches in selected
445 situations.
446
447 2015-11-11 Alan Lawrence <alan.lawrence@arm.com>
448
449 * fold-const.c (get_array_ctor_element_at_index): Fix whitespace, typo.
450
451 2015-11-11 Jiong Wang <jiong.wang@arm.com>
452 Jim Wilson <wilson@gcc.gnu.org>
453
454 PR target/67305
455 * config/arm/arm.md (neon_vector_mem_operand): Return FALSE if strict
456 be true and eliminable registers mentioned.
457
458 2015-11-11 Claudiu Zissulescu <claziss@synopsys.com>
459
460 * common/config/arc/arc-common.c (arc_handle_option): Handle ARCv2
461 options.
462 * config/arc/arc-opts.h: Add ARCv2 CPUs.
463 * config/arc/arc-protos.h (arc_secondary_reload_conv): Prototype.
464 * config/arc/arc.c (arc_secondary_reload): Handle subreg (reg)
465 situation, and store instructions with large offsets.
466 (arc_secondary_reload_conv): New function.
467 (arc_init): Add ARCv2 options.
468 (arc_conditional_register_usage): Select the proper register usage
469 for ARCv2 processors.
470 (arc_handle_interrupt_attribute): ILINK2 is only valid for ARCv1
471 architecture.
472 (arc_compute_function_type): Likewise.
473 (arc_print_operand): Handle new ARCv2 punctuation characters.
474 (arc_return_in_memory): ARCv2 ABI returns in registers up to 16
475 bytes.
476 (workaround_arc_anomaly, arc_asm_insn_p, arc_loop_hazard): New
477 function.
478 (arc_reorg, arc_hazard): Use it.
479 * config/arc/arc.h (TARGET_CPU_CPP_BUILTINS): Define __HS__ and
480 __EM__.
481 (ASM_SPEC): Add ARCv2 options.
482 (TARGET_NORM): ARC HS has norm instructions by default.
483 (TARGET_OPTFPE): Use optimized floating point emulation for ARC
484 HS.
485 (TARGET_AT_DBR_CONDEXEC): Only for ARC600 family.
486 (TARGET_EM, TARGET_HS, TARGET_V2, TARGET_MPYW, TARGET_MULTI):
487 Define.
488 (SIGNED_INT16, TARGET_MPY, TARGET_ARC700_MPY, TARGET_ANY_MPY):
489 Likewise.
490 (TARGET_ARC600_FAMILY, TARGET_ARCOMPACT_FAMILY): Likewise.
491 (TARGET_LP_WR_INTERLOCK): Likewise.
492 * config/arc/arc.md
493 (commutative_binary_mult_comparison_result_used, movsicc_insn)
494 (mulsi3, mulsi3_600_lib, mulsidi3, mulsidi3_700, mulsi3_highpart)
495 (umulsi3_highpart_i, umulsi3_highpart_int, umulsi3_highpart)
496 (umulsidi3, umulsidi3_700, cstoresi4, simple_return, p_return_i):
497 Use it for ARCv2.
498 (mulhisi3, mulhisi3_imm, mulhisi3_reg, umulhisi3, umulhisi3_imm)
499 (umulhisi3_reg, umulhisi3_reg, mulsi3_v2, nopv, bswapsi2)
500 (prefetch, divsi3, udivsi3 modsi3, umodsi3, arcset, arcsetltu)
501 (arcsetgeu, arcsethi, arcsetls, reload_*_load, reload_*_store)
502 (extzvsi): New pattern.
503 * config/arc/arc.opt: New ARCv2 options.
504 * config/arc/arcEM.md: New file.
505 * config/arc/arcHS.md: Likewise.
506 * config/arc/constraints.md (C3p): New constraint, accepts 1 and 2
507 values.
508 (Cm2): A signed 9-bit integer constant constraint.
509 (C62): An unsigned 6-bit integer constant constraint.
510 (C16): A signed 16-bit integer constant constraint.
511 * config/arc/predicates.md (mult_operator): Add ARCv2 processort.
512 (short_const_int_operand): New predicate.
513 * config/arc/t-arc-newlib: Add ARCv2 multilib options.
514 * doc/invoke.texi: Add documentation for -mcpu=<archs/arcem>
515 -mcode-density and -mdiv-rem.
516
517 2015-11-11 Julia Koval <julia.koval@intel.com>
518
519 * config/i386/i386.c (m_SKYLAKE_AVX512): Fix typo.
520
521 2015-11-11 Julia Koval <julia.koval@intel.com>
522
523 * config/i386/i386.c: Handle "skylake" and "skylake-avx512".
524
525 2015-11-11 Martin Liska <mliska@suse.cz>
526
527 * gimple-ssa-strength-reduction.c (create_phi_basis):
528 Use auto_vec.
529 * passes.c (release_dump_file_name): New function.
530 (pass_init_dump_file): Used from this function.
531 (pass_fini_dump_file): Likewise.
532 * tree-sra.c (convert_callers_for_node): Use xstrdup_for_dump.
533 * var-tracking.c (vt_initialize): Use pool_allocator.
534
535 2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
536 Jiong Wang <jiong.wang@arm.com>
537
538 PR tree-optimization/68234
539 * tree-vrp.c (vrp_visit_phi_node): Extend SCEV check to those loop PHI
540 node which estimiated to be VR_VARYING initially.
541
542 2015-11-11 Robert Suchanek <robert.suchanek@imgtec.com>
543
544 * regname.c (scan_rtx_reg): Check the matching number of consecutive
545 registers when tying chains.
546 (build_def_use): Move terminated_this_insn earlier in the function.
547
548 2015-11-10 Mike Frysinger <vapier@gentoo.org>
549
550 * configure.ac: Use = with test and not ==.
551 * configure: Regenerated.
552
553 2015-11-11 David Edelsohn <dje.gcc@gmail.com>
554
555 * config/rs6000/aix.h (TARGET_OS_AIX_CPP_BUILTINS): Add cpu and
556 machine asserts. Update defines for 64 bit.
557
558 2015-11-11 Charles Baylis <charles.baylis@linaro.org>
559
560 PR target/63870
561 * config/arm/neon.md (neon_vld1_lane<mode>): Remove error for invalid
562 lane number.
563 (neon_vst1_lane<mode>): Likewise.
564 (neon_vld2_lane<mode>): Likewise.
565 (neon_vst2_lane<mode>): Likewise.
566 (neon_vld3_lane<mode>): Likewise.
567 (neon_vst3_lane<mode>): Likewise.
568 (neon_vld4_lane<mode>): Likewise.
569 (neon_vst4_lane<mode>): Likewise.
570
571 2015-11-11 Charles Baylis <charles.baylis@linaro.org>
572
573 PR target/63870
574 * config/arm/arm-builtins.c: (arm_load1_qualifiers) Use
575 qualifier_struct_load_store_lane_index.
576 (arm_storestruct_lane_qualifiers) Likewise.
577 * config/arm/neon.md: (neon_vld1_lane<mode>) Reverse lane numbers for
578 big-endian.
579 (neon_vst1_lane<mode>) Likewise.
580 (neon_vld2_lane<mode>) Likewise.
581 (neon_vst2_lane<mode>) Likewise.
582 (neon_vld3_lane<mode>) Likewise.
583 (neon_vst3_lane<mode>) Likewise.
584 (neon_vld4_lane<mode>) Likewise.
585 (neon_vst4_lane<mode>) Likewise.
586
587 2015-11-11 Charles Baylis <charles.baylis@linaro.org>
588
589 PR target/63870
590 * config/arm/arm-builtins.c (enum arm_type_qualifiers): New enumerator
591 qualifier_struct_load_store_lane_index.
592 (builtin_arg): New enumerator NEON_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
593 (arm_expand_neon_args): New parameter. Remove ellipsis. Handle NEON
594 argument qualifiers.
595 (arm_expand_neon_builtin): Handle new NEON argument qualifier.
596 * config/arm/arm.h (NEON_ENDIAN_LANE_N): New macro.
597
598 2015-11-10 Nathan Sidwell <nathan@codesourcery.com>
599
600 * config/nvptx/nvptx.opt (moptimize): New flag.
601 * config/nvptx/nvptx.c (nvptx_option_override): Set nvptx_optimize
602 default.
603 (nvptx_optimize_inner): New.
604 (nvptx_process_pars): Call it when optimizing.
605 * doc/invoke.texi (Nvidia PTX Options): Document -moptimize.
606
607 2015-11-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
608
609 * config/rs6000/rs6000.c (rs6000_secondary_reload_direct_move):
610 Remove redundant code.
611
612 2015-11-10 Jeff Law <law@redhat.com>
613
614 * config/ft32/ft32.c (ft32_print_operand): Supply mode to
615 call to output_address.
616 * config/moxie/moxie.c (moxie_print_operand_address): Similarly.
617 Add unnamed machine_mode argument.
618
619 2015-11-10 Michael Meissner <meissner@linux.vnet.ibm.com>
620
621 * config.gcc (powerpc*-*-*, rs6000*-*-*): Add power9 to hosts that
622 default to 64-bit.
623
624 2015-11-10 Uros Bizjak <ubizjak@gmail.com>
625
626 * config/i386/i386.md (*movabs<mode>_1): Add explicit
627 size directives for -masm=intel.
628 (*movabs<mode>_2): Ditto.
629
630 2015-11-10 Uros Bizjak <ubizjak@gmail.com>
631
632 * config/i386/i386.c (ix86_print_operand): Remove dead code that
633 tried to avoid (%rip) for call operands.
634
635 2015-11-10 Uros Bizjak <ubizjak@gmail.com>
636
637 * config/i386/i386.c (ix86_print_operand_address_as): Add no_rip
638 argument. Do not use RIP relative addressing when no_rip is set.
639 (ix86_print_operand): Update call to ix86_print_operand_address_as.
640 (ix86_print_operand_address): Ditto.
641 * config/i386/i386.md (*movabs<mode>_1): Use %P modifier for
642 absolute movabs operand 0. Add square braces for -masm=intel.
643 (*movabs<mode>_2): Ditto for operand 1.
644
645 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
646
647 * config/arm/arm.c (arm_new_rtx_costs, FIX case): Handle
648 combine_vcvtf2i pattern.
649
650 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
651
652 * config/arm/arm.c (neon_valid_immediate): Remove integer
653 CONST_DOUBLE handling. It should never occur.
654
655 2015-11-10 Matthew Wahab <matthew.wahab@arm.com>
656
657 * config/aarch64/atomics.md (unspecv): Move to iterators.md.
658 (ATOMIC_LDOP): Likewise.
659 (atomic_ldop): Likewise.
660 * config/aarch64/iterators.md (unspecv): Moved from atomics.md.
661 (ATOMIC_LDOP): Likewise.
662 (atomic_ldop): Likewise.
663
664 2015-11-10 Martin Liska <mliska@suse.cz>
665
666 * alloc-pool.h (allocate_raw): New function.
667 (operator new (size_t, object_allocator<T> &a)): Use the
668 function instead of object_allocator::allocate).
669
670 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
671
672 * config/i386/sse.md (HALFMASKMODE): New attribute.
673 (DOUBLEMASKMODE): New attribute.
674 (vec_pack_trunc_qi): New.
675 (vec_pack_trunc_<mode>): New.
676 (vec_unpacks_lo_hi): New.
677 (vec_unpacks_lo_si): New.
678 (vec_unpacks_lo_di): New.
679 (vec_unpacks_hi_hi): New.
680 (vec_unpacks_hi_<mode>): New.
681
682 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
683
684 * optabs.c (expand_binop_directly): Allow scalar mode for
685 vec_pack_trunc_optab.
686 * tree-vect-loop.c (vect_determine_vectorization_factor): Skip
687 boolean vector producers from pattern sequence when computing VF.
688 * tree-vect-patterns.c (vect_vect_recog_func_ptrs) Add
689 vect_recog_mask_conversion_pattern.
690 (search_type_for_mask): Choose the smallest
691 type if different size types are mixed.
692 (build_mask_conversion): New.
693 (vect_recog_mask_conversion_pattern): New.
694 (vect_pattern_recog_1): Allow scalar mode for boolean vectype.
695 * tree-vect-stmts.c (vectorizable_mask_load_store): Support masked
696 load with pattern.
697 (vectorizable_conversion): Support boolean vectors.
698 (free_stmt_vec_info): Allow patterns for statements with no lhs.
699 * tree-vectorizer.h (NUM_PATTERNS): Increase to 14.
700
701 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
702
703 * config/i386/i386-protos.h (ix86_expand_sse_movcc): New.
704 * config/i386/i386.c (ix86_expand_sse_movcc): Make public.
705 Cast mask to FP mode if required.
706 * config/i386/sse.md (vcond_mask_<mode><avx512fmaskmodelower>): New.
707 (vcond_mask_<mode><avx512fmaskmodelower>): New.
708 (vcond_mask_<mode><sseintvecmodelower>): New.
709 (vcond_mask_<mode><sseintvecmodelower>): New.
710 (vcond_mask_v2div2di): New.
711 (vcond_mask_<mode><sseintvecmodelower>): New.
712 (vcond_mask_<mode><sseintvecmodelower>): New.
713
714 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
715
716 * optabs-query.h (get_vcond_mask_icode): New.
717 * optabs-tree.c (expand_vec_cond_expr_p): Use
718 get_vcond_mask_icode for VEC_COND_EXPR with mask.
719 * optabs.c (expand_vec_cond_mask_expr): New.
720 (expand_vec_cond_expr): Use get_vcond_mask_icode
721 when possible.
722 * optabs.def (vcond_mask_optab): New.
723 * tree-vect-patterns.c (vect_recog_bool_pattern): Don't
724 generate redundant comparison for COND_EXPR.
725 * tree-vect-stmts.c (vect_is_simple_cond): Allow SSA_NAME
726 as a condition.
727 (vectorizable_condition): Likewise.
728 * tree-vect-slp.c (vect_get_and_check_slp_defs): Allow
729 cond_exp with no embedded comparison.
730 (vect_build_slp_tree_1): Likewise.
731
732 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
733
734 * config/i386/sse.md (maskload<mode>): Rename to ...
735 (maskload<mode><sseintvecmodelower>): ... this.
736 (maskstore<mode>): Rename to ...
737 (maskstore<mode><sseintvecmodelower>): ... this.
738 (maskload<mode><avx512fmaskmodelower>): New.
739 (maskstore<mode><avx512fmaskmodelower>): New.
740
741 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
742
743 * internal-fn.c (expand_MASK_LOAD): Adjust to maskload optab changes.
744 (expand_MASK_STORE): Adjust to maskstore optab changes.
745 * optabs-query.c (can_vec_mask_load_store_p): Add MASK_MODE arg.
746 Adjust to maskload, maskstore optab changes.
747 * optabs-query.h (can_vec_mask_load_store_p): Add MASK_MODE arg.
748 * optabs.def (maskload_optab): Transform into convert optab.
749 (maskstore_optab): Likewise.
750 * tree-if-conv.c (ifcvt_can_use_mask_load_store): Adjust to
751 can_vec_mask_load_store_p signature change.
752 (predicate_mem_writes): Use boolean mask.
753 * tree-vect-stmts.c (vectorizable_mask_load_store): Adjust to
754 can_vec_mask_load_store_p signature change. Allow invariant masks.
755 (vectorizable_operation): Ignore type precision for boolean vectors.
756
757 2015-11-10 Ilya Enkovich <enkovich.gnu@gmail.com>
758
759 * expr.c (do_store_flag): Use expand_vec_cmp_expr for mask results.
760 (const_vector_mask_from_tree): New.
761 (const_vector_from_tree): Use const_vector_mask_from_tree
762 for boolean vectors.
763 * optabs-query.h (get_vec_cmp_icode): New.
764 * optabs-tree.c (expand_vec_cmp_expr_p): New.
765 * optabs-tree.h (expand_vec_cmp_expr_p): New.
766 * optabs.c (vector_compare_rtx): Add OPNO arg.
767 (expand_vec_cond_expr): Adjust to vector_compare_rtx change.
768 (expand_vec_cmp_expr): New.
769 * optabs.def (vec_cmp_optab): New.
770 (vec_cmpu_optab): New.
771 * optabs.h (expand_vec_cmp_expr): New.
772 * tree-vect-generic.c (expand_vector_comparison): Add vector
773 comparison optabs check.
774 * tree-vect-loop.c (vect_determine_vectorization_factor): Ignore mask
775 operations for VF. Add mask type computation.
776 * tree-vect-stmts.c (get_mask_type_for_scalar_type): New.
777 (vectorizable_comparison): New.
778 (vect_analyze_stmt): Add vectorizable_comparison.
779 (vect_transform_stmt): Likewise.
780 (vect_init_vector): Support boolean vector invariants.
781 (vect_get_vec_def_for_operand): Add VECTYPE arg.
782 (vectorizable_condition): Directly provide vectype for invariants
783 used in comparison.
784 * tree-vectorizer.h (get_mask_type_for_scalar_type): New.
785 (enum vect_var_kind): Add vect_mask_var.
786 (enum stmt_vec_info_type): Add comparison_vec_info_type.
787 (vectorizable_comparison): New.
788 (vect_get_vec_def_for_operand): Add VECTYPE arg.
789 * tree-vect-data-refs.c (vect_get_new_vect_var): Support vect_mask_var.
790 (vect_create_destination_var): Likewise.
791 * tree-vect-patterns.c (check_bool_pattern): Check fails
792 if we can vectorize comparison directly.
793 (search_type_for_mask): New.
794 (vect_recog_bool_pattern): Support cases when bool pattern
795 check fails.
796 * tree-vect-slp.c (vect_build_slp_tree_1): Allow
797 comparison statements.
798 (vect_get_constant_vectors): Support boolean vector
799 constants.
800 * config/i386/i386-protos.h (ix86_expand_mask_vec_cmp): New.
801 (ix86_expand_int_vec_cmp): New.
802 (ix86_expand_fp_vec_cmp): New.
803 * config/i386/i386.c (ix86_expand_sse_cmp): Allow NULL for
804 op_true and op_false.
805 (ix86_int_cmp_code_to_pcmp_immediate): New.
806 (ix86_fp_cmp_code_to_pcmp_immediate): New.
807 (ix86_cmp_code_to_pcmp_immediate): New.
808 (ix86_expand_mask_vec_cmp): New.
809 (ix86_expand_fp_vec_cmp): New.
810 (ix86_expand_int_sse_cmp): New.
811 (ix86_expand_int_vcond): Use ix86_expand_int_sse_cmp.
812 (ix86_expand_int_vec_cmp): New.
813 (ix86_get_mask_mode): New.
814 (TARGET_VECTORIZE_GET_MASK_MODE): New.
815 * config/i386/sse.md (avx512fmaskmodelower): New.
816 (vec_cmp<mode><avx512fmaskmodelower>): New.
817 (vec_cmp<mode><sseintvecmodelower>): New.
818 (vec_cmpv2div2di): New.
819 (vec_cmpu<mode><avx512fmaskmodelower>): New.
820 (vec_cmpu<mode><sseintvecmodelower>): New.
821 (vec_cmpuv2div2di): New.
822
823 2015-11-10 Richard Biener <rguenther@suse.de>
824
825 PR tree-optimization/68240
826 * tree-ssa-sccvn.c (cond_stmts_equal_p): Handle commutative compares
827 properly.
828 (visit_phi): For PHIs with just a single executable edge
829 take its value directly.
830 (expressions_equal_p): Handle VN_TOP properly.
831
832 2015-11-10 Richard Biener <rguenther@suse.de>
833
834 * tree-vect-data-refs.c (vect_slp_analyze_node_dependences):
835 Handle memory using/clobbering stmts without a STMT_VINFO_DATA_REF
836 conservatively.
837
838 2015-11-10 Richard Biener <rguenther@suse.de>
839
840 PR tree-optimization/56118
841 * tree-vect-slp.c (vect_bb_vectorization_profitable_p): Make equal
842 cost favor vectorized version.
843
844 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
845
846 * config/aarch64/aarch64.md (<neg_not_op><mode>cc): New define_expand.
847 * config/aarch64/iterators.md (NEG_NOT): New code iterator.
848 (neg_not_op): New code attribute.
849
850 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
851
852 * ifcvt.c (noce_try_inverse_constants): New function.
853 (noce_process_if_block): Call it.
854 * optabs.h (emit_conditional_neg_or_complement): Declare prototype.
855 * optabs.def (negcc_optab, notcc_optab): Declare.
856 * optabs.c (emit_conditional_neg_or_complement): New function.
857 * doc/tm.texi (Standard Names): Document negcc, notcc names.
858
859 2015-11-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
860
861 PR rtl-optimization/68236
862 * haifa-sched.c (autopref_multipass_dfa_lookahead_guard): Return 0
863 if insn_queue doesn't exist.
864 (haifa_sched_finish): Reset insn_queue to NULL.
865
866 2015-11-10 Robert Suchanek <robert.suchanek@imgtec.com>
867
868 * regrename.c (create_new_chain): Initialize renamed and tied_chain.
869 (build_def_use): Initialize terminated_this_insn.
870 (find_best_rename_reg): Pick and check register from the tied chain.
871 (regrename_do_replace): Mark head as renamed.
872 (struct du_head *terminated_this_insn). New static variable.
873 (scan_rtx_reg): Tie chains in move insns. Set terminated_this_insn.
874 * regrename.h (struct du_head): Add tied_chain, renamed members.
875
876 2015-11-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
877
878 PR bootstrap/68256
879 * config/aarch64/aarch64.c (aarch64_use_constant_blocks_p):
880 Return false.
881
882 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
883
884 PR target/57845
885 * config/sparc/sparc.c (sparc_function_value_1): In 32-bit mode, do
886 not promote the mode for aggregate types.
887
888 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
889
890 * omp-low.h (replace_oacc_fn_attrib, build_oacc_routine_dims): Declare.
891 * omp-low.c (build_oacc_routine_dims): New.
892
893 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
894
895 * config/rs6000/constraints.md (wF constraint): New constraints
896 for power9/toc fusion.
897 (wG constraint): Likewise.
898
899 * config/rs6000/predicates.md (u6bit_cint_operand): New
900 predicate, recognize 0..63.
901 (upper16_cint_operand): New predicate for power9 and toc fusion.
902 (fpr_reg_operand): Likewise.
903 (toc_fusion_or_p9_reg_operand): Likewise.
904 (toc_fusion_mem_raw): Likewise.
905 (toc_fusion_mem_wrapped): Likewise.
906 (fusion_gpr_addis): If power9 fusion, allow fusion for a larger
907 address range.
908 (fusion_gpr_mem_combo): Delete, use fusion_addis_mem_combo_load
909 instead.
910 (fusion_addis_mem_combo_load): Add support for power9 fusion of
911 floating point loads, floating point stores, and gpr stores.
912 (fusion_addis_mem_combo_store): Likewise.
913 (fusion_offsettable_mem_operand): Likewise.
914
915 * config/rs6000/rs6000-protos.h (emit_fusion_addis): Add
916 declarations.
917 (emit_fusion_load_store): Likewise.
918 (fusion_p9_p): Likewise.
919 (expand_fusion_p9_load): Likewise.
920 (expand_fusion_p9_store): Likewise.
921 (emit_fusion_p9_load): Likewise.
922 (emit_fusion_p9_store): Likewise.
923 (fusion_wrap_memory_address): Likewise.
924
925 * config/rs6000/rs6000.c (struct rs6000_reg_addr): Add new
926 elements for power9 fusion.
927 (rs6000_debug_print_mode): Rework debug information to print more
928 information about fusion.
929 (rs6000_init_hard_regno_mode_ok): Setup for power9 fusion
930 support.
931 (rs6000_legitimate_address_p): Recognize toc fusion as a valid
932 offsettable memory address.
933 (rs6000_rtx_costs): Update costs for new ISA 3.0 instructions.
934 (emit_fusion_gpr_load): Move most of the code from
935 emit_fusion_gpr_load into emit_fusion-addis that handles both
936 power8 and power9 fusion.
937 (emit_fusion_addis): Likewise.
938 (emit_fusion_load_store): Likewise.
939 (fusion_wrap_memory_address): Add support for TOC fusion.
940 (fusion_split_address): Likewise.
941 (fusion_p9_p): Add support for power9 fusion.
942 (expand_fusion_p9_load): Likewise.
943 (expand_fusion_p9_store): Likewise.
944 (emit_fusion_p9_load): Likewise.
945 (emit_fusion_p9_store): Likewise.
946
947 * config/rs6000/rs6000.h (TARGET_EXTSWSLI): Macros for support for
948 new instructions in ISA 3.0.
949 (TARGET_CTZ): Likewise.
950 (TARGET_TOC_FUSION_INT): Macros for power9 fusion support.
951 (TARGET_TOC_FUSION_FP): Likewise.
952
953 * config/rs6000/rs6000.md (UNSPEC_FUSION_P9): New power9/toc
954 fusion unspecs.
955 (UNSPEC_FUSION_ADDIS): Likewise.
956 (QHSI mode iterator): New iterator for power9 fusion.
957 (GPR_FUSION): Likewise.
958 (FPR_FUSION): Likewise.
959 (mod<mode>3): Add support for ISA 3.0
960 modulus instructions.
961 (umod<mode>3): Likewise.
962 (divmod peephole): Likewise.
963 (udivmod peephole): Likewise.
964 (ctz<mode>2): Add support for ISA 3.0 count trailing zeros scalar
965 instructions.
966 (ctz<mode>2_h): Likewise.
967 (ashdi3_extswsli): Add support for ISA 3.0 EXTSWSLI instruction.
968 (ashdi3_extswsli_dot): Likewise.
969 (ashdi3_extswsli_dot2): Likewise.
970 (power9 fusion splitter): New power9/toc fusion support.
971 (toc_fusionload_<mode>): Likewise.
972 (toc_fusionload_di): Likewise.
973 (fusion_gpr_load_<mode>): Update predicate function.
974 (power9 fusion peephole2s): New power9/toc fusion support.
975 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Likewise.
976 (fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Likewise.
977 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_load): Likewise.
978 (fusion_fpr_<P:mode>_<FPR_FUSION:mode>_store): Likewise.
979 (fusion_p9_<mode>_constant): Likewise.
980
981 2015-11-09 Steve Ellcey <sellcey@imgtec.com>
982
983 * optabs.c (prepare_libcall_arg): New function.
984 (expand_fixed_convert): Add call to prepare_libcall_arg.
985
986 2015-11-09 Nikolai Bozhenov <n.bozhenov@samsung.com>
987
988 * sched-int.h (dump_rgn_dependencies_dot): Declare
989 * sched-rgn.c (dump_rgn_dependencies_dot): New function
990 * print-rtl.h (print_insn): Add prototype
991
992 * haifa-sched.c (setup_sched_dump): Don't redirect output to stderr.
993 * common.opt (-fsched-verbose): Set default value to 1.
994 * invoke.texi (-fsched-verbose): Update the option's description.
995
996 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
997
998 * config/visium/visium.h (PRINT_OPERAND): Delete.
999 (PRINT_OPERAND_PUNCT_VALID_P): Likewise.
1000 (PRINT_OPERAND_ADDRESS): Likewise.
1001 * config/visium/visium.c (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define
1002 to...
1003 (visium_print_operand_punct_valid_p): ...this. New function.
1004 (TARGET_PRINT_OPERAND): Define to...
1005 (print_operand): Rename to...
1006 (visium_print_operand): ...this.
1007 (TARGET_PRINT_OPERAND_ADDRESS): Define to...
1008 (visium_output_address): Rename to...
1009 (visium_print_operand_address): ...this.
1010 (print_operand_address): Delete.
1011
1012 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
1013
1014 PR middle-end/68259
1015 * tree.h (reverse_storage_order_for_component_p) <COMPONENT_REF>:
1016 Check that the type of the first operand is an aggregate type.
1017
1018 2015-11-09 Nathan Sidwell <nathan@codesourcery.com>
1019
1020 * omp-low.c: Fix some OpenACC comment typos.
1021 (lower_reduction_clauses): Remove BUILT_IN_GOACC_GET_THREAD_NUM call.
1022 * omp-builtins.def (BUILT_IN_GOACC_GET_THREAD_NUM,
1023 BUILT_IN_GOACC_GET_NUM_THREADS): Delete.
1024
1025 2015-11-09 Uros Bizjak <ubizjak@gmail.com>
1026
1027 * config/i386/i386.md (*strmovqi_1): Fix insn enable condition.
1028
1029 2015-11-09 Jeff Law <law@redhat.com>
1030
1031 * tree-ssanames.c (verify_ssaname_freelists): Simplify check for
1032 being in gimple/ssa form. Remove redundant check for SSA_NAME.
1033 Fix comment typo.
1034
1035 2015-11-09 Michael Meissner <meissner@linux.vnet.ibm.com>
1036 Peter Bergner <bergner@vnet.ibm.com>
1037
1038 * config/rs6000/rs6000.opt (-mpower9-fusion): Add new switches for
1039 ISA 3.0 (power9).
1040 (-mpower9-vector): Likewise.
1041 (-mpower9-dform): Likewise.
1042 (-mpower9-minmax): Likewise.
1043 (-mtoc-fusion): Likewise.
1044 (-mmodulo): Likewise.
1045 (-mfloat128-hardware): Likewise.
1046
1047 * config/rs6000/rs6000-cpus.def (ISA_3_0_MASKS_SERVER): Add option
1048 mask for ISA 3.0 (power9).
1049 (POWERPC_MASKS): Add new ISA 3.0 switches.
1050 (power9 cpu): Add power9 cpu.
1051
1052 * config/rs6000/rs6000.h (ASM_CPU_POWER9_SPEC): Add support for
1053 power9.
1054 (ASM_CPU_SPEC): Likewise.
1055 (EXTRA_SPECS): Likewise.
1056
1057 * config/rs6000/rs6000-opts.h (enum processor_type): Add
1058 PROCESSOR_POWER9.
1059
1060 * config/rs6000/rs6000.c (power9_cost): Initial cost setup for
1061 power9.
1062 (rs6000_debug_reg_global): Add support for power9 fusion.
1063 (rs6000_setup_reg_addr_masks): Cache mode size.
1064 (rs6000_option_override_internal): Until real power9 tuning is
1065 added, use -mtune=power8 for -mcpu=power9.
1066 (rs6000_setup_reg_addr_masks): Do not allow pre-increment,
1067 pre-decrement, or pre-modify on SFmode/DFmode if we allow the use
1068 of Altivec registers.
1069 (rs6000_option_override_internal): Add support for ISA 3.0
1070 switches.
1071 (rs6000_loop_align): Add support for power9 cpu.
1072 (rs6000_file_start): Likewise.
1073 (rs6000_adjust_cost): Likewise.
1074 (rs6000_issue_rate): Likewise.
1075 (insn_must_be_first_in_group): Likewise.
1076 (insn_must_be_last_in_group): Likewise.
1077 (force_new_group): Likewise.
1078 (rs6000_register_move_cost): Likewise.
1079 (rs6000_opt_masks): Likewise.
1080
1081 * config/rs6000/rs6000.md (cpu attribute): Add power9.
1082 * config/rs6000/rs6000-tables.opt: Regenerate.
1083
1084 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
1085 _ARCH_PWR9 if power9 support is available.
1086
1087 * config/rs6000/aix61.h (ASM_CPU_SPEC): Add power9.
1088 * config/rs6000/aix53.h (ASM_CPU_SPEC): Likewise.
1089
1090 * configure.ac: Determine if the assembler supports the ISA 3.0
1091 instructions.
1092 * config.in (HAVE_AS_POWER9): Likewise.
1093 * configure: Regenerate.
1094
1095 * doc/invoke.texi (RS/6000 and PowerPC Options): Document ISA 3.0
1096 switches.
1097
1098 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1099
1100 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate):
1101 Remove integer CONST_DOUBLE handling. It should never occur.
1102
1103 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1104
1105 PR target/68129
1106 * config/aarch64/aarch64.h (TARGET_SUPPORTS_WIDE_INT): Define to 1.
1107 * config/aarch64/aarch64.c (aarch64_print_operand, CONST_DOUBLE):
1108 Delete VOIDmode case. Assert that mode is not VOIDmode.
1109 * config/aarch64/predicates.md (const0_operand): Remove const_double
1110 match.
1111
1112 2015-11-09 Martin Liska <mliska@suse.cz>
1113
1114 * ipa-inline-analysis.c (estimate_function_body_sizes): Call
1115 body_info release function.
1116 * ipa-prop.c (ipa_release_body_info): New function.
1117 (ipa_analyze_node): Call the function.
1118 (ipa_node_params::~ipa_node_params): Release known_csts.
1119 * ipa-prop.h (ipa_release_body_info): Declare.
1120
1121 2015-11-09 Martin Liska <mliska@suse.cz>
1122
1123 * gcc.c (record_temp_file): Release name string.
1124 * ifcvt.c (noce_convert_multiple_sets): Use auto_vec instead
1125 of vec.
1126 * lra-lives.c (free_live_range_list): Utilize
1127 lra_live_range_pool for allocation and deallocation.
1128 (create_live_range): Likewise.
1129 (copy_live_range): Likewise.
1130 (lra_merge_live_ranges): Likewise.
1131 (remove_some_program_points_and_update_live_ranges): Likewise.
1132 (lra_create_live_ranges_1): Release point_freq_vec that can
1133 be not freed from previous iteration of the function.
1134 * tree-eh.c (lower_try_finally_switch): Use auto_vec instead of
1135 vec.
1136 * tree-sra.c (sra_deinitialize): Release all vectors in
1137 base_access_vec.
1138 * tree-ssa-dom.c (free_dom_edge_info): Make the function extern.
1139 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges):
1140 Release edge_info for a removed edge.
1141 (thread_through_all_blocks): Free region vector.
1142 * tree-ssa.h (free_dom_edge_info): Declare function extern.
1143
1144 2015-11-09 Ilya Enkovich <enkovich.gnu@gmail.com>
1145
1146 * optabs.c (expand_vec_cond_expr): Always get sign from type.
1147 * tree.c (wide_int_to_tree): Support negative values for boolean.
1148 (build_nonstandard_boolean_type): Use signed type for booleans.
1149
1150 2015-11-09 Richard Biener <rguenther@suse.de>
1151
1152 PR tree-optimization/68248
1153 * tree-vect-generic.c (expand_vector_operations_1): Handle
1154 scalar rhs2.
1155
1156 2015-11-09 Richard Biener <rguenther@suse.de>
1157
1158 PR tree-optimization/56118
1159 * tree-vectorizer.h (vect_find_last_scalar_stmt_in_slp): Declare.
1160 * tree-vect-slp.c (vect_find_last_scalar_stmt_in_slp): Export.
1161 * tree-vect-data-refs.c (vect_slp_analyze_node_dependences): New
1162 function.
1163 (vect_slp_analyze_data_ref_dependences): Instead of computing
1164 all dependences of the region DRs just analyze the code motions
1165 SLP vectorization will perform. Remove SLP instances that
1166 cannot have their store/load motions applied.
1167 (vect_analyze_data_refs): Allow DRs without a vectype
1168 in BB vectorization.
1169
1170 2015-11-09 Julian Brown <julian@codesourcery.com>
1171
1172 * final.c (output_asm_insn): Pass VOIDmode to output_address.
1173 (output_address): Add MODE argument. Pass to print_operand_address
1174 hook.
1175 * targhooks.c (default_print_operand_address): Add MODE argument.
1176 * targhooks.h (default_print_operand_address): Update prototype.
1177 * output.h (output_address): Update prototype.
1178 * target.def (print_operand_address): Add MODE argument.
1179 * config/vax/vax.c (print_operand_address): Pass VOIDmode to
1180 output_address.
1181 (print_operand): Pass access mode to output_address.
1182 * config/mcore/mcore.c (mcore_print_operand_address): Add MODE
1183 argument.
1184 (mcore_print_operand): Update calls to mcore_print_operand_address.
1185 * config/fr30/fr30.c (fr30_print_operand): Pass VOIDmode to
1186 output_address.
1187 * config/lm32/lm32.c (lm32_print_operand): Pass mode in calls to
1188 output_address.
1189 * config/tilegx/tilegx.c (output_memory_reference_mode): Remove
1190 global.
1191 (tilegx_print_operand): Don't set above global. Update calls to
1192 output_address.
1193 (tilegx_print_operand_address): Add MODE argument. Use instead of
1194 output_memory_reference_mode global.
1195 * config/frv/frv.c (frv_print_operand_address): Add MODE argument.
1196 (frv_print_operand): Pass mode to frv_print_operand_address calls.
1197 * config/mn10300/mn10300.c (mn10300_print_operand): Pass mode to
1198 output_address.
1199 * config/cris/cris.c (cris_print_operand_address): Add MODE
1200 argument.
1201 (cris_print_operand): Pass mode to output_address calls.
1202 * config/spu/spu.c (print_operand): Pass mode to output_address
1203 calls.
1204 * config/aarch64/aarch64.h (aarch64_print_operand)
1205 (aarch64_print_operand_address): Remove prototypes.
1206 * config/aarch64/aarch64.c (aarch64_memory_reference_mode): Delete
1207 global.
1208 (aarch64_print_operand): Make static. Update calls to
1209 output_address.
1210 (aarch64_print_operand_address): Add MODE argument. Use instead of
1211 aarch64_memory_reference_mode global.
1212 (TARGET_PRINT_OPERAND, TARGET_PRINT_OPERAND_ADDRESS): Define target
1213 hooks.
1214 * config/aarch64/aarch64.h (PRINT_OPERAND, PRINT_OPERAND_ADDRESS):
1215 Delete macro definitions.
1216 * config/pa/pa.c (pa_print_operand): Pass mode in output_address
1217 calls.
1218 * config/xtensa/xtensa.c (print_operand): Pass mode in
1219 output_address calls.
1220 * config/h8300/h8300.c (h8300_print_operand_address): Add MODE
1221 argument.
1222 (h83000_print_operand): Update calls to h8300_print_operand_address
1223 and output_address.
1224 * config/ia64/ia64.c (ia64_print_operand_address): Add MODE
1225 argument.
1226 * config/tilepro/tilepro.c (output_memory_reference_mode): Delete
1227 global.
1228 (tilepro_print_operand): Pass mode to output_address.
1229 (tilepro_print_operand_address): Add MODE argument. Use instead of
1230 output_memory_reference_mode.
1231 * config/nvptx/nvptx.c (output_decl_chunk, nvptx_assemble_integer)
1232 (nvptx_output_call_insn, nvptx_print_address_operand): Pass VOIDmode
1233 to output_address calls.
1234 (nvptx_print_operand_address): Add MODE argument.
1235 * config/alpha/alpha.c (print_operand): Pass mode argument in
1236 output_address calls.
1237 * config/m68k/m68k.c (print_operand): Pass mode argument in
1238 output_address call.
1239 * config/avr/avr.c (avr_print_operand_address): Add MODE argument.
1240 (avr_print_operand): Update calls to avr_print_operand_address.
1241 * config/sparc/sparc.c (sparc_print_operand_address): Add MODE
1242 argument. Update calls to output_address.
1243 (sparc_print_operand): Pass mode to output_address.
1244 * config/iq2000/iq2000.c (iq2000_print_operand_address): Add MODE
1245 argument.
1246 (iq2000_print_operand): Pass mode in output_address calls.
1247 * config/stormy16/stormy16.c (xstormy16_print_operand_address): Add
1248 MODE argument.
1249 (xstormy16_print_operand): Pass mode to
1250 xstormy16_print_operand_address calls.
1251 * config/mips/mips.c (mips_print_operand): Update calls to
1252 output_address.
1253 (mips_print_operand_address): Add MODE argument.
1254 * config/epiphany/epiphany.c (epiphany_print_operand): Update calls
1255 to output_address.
1256 (epiphany_print_operand_address): Add MODE argument. Add FIXME note.
1257 * config/pdp11/pdp11.c (pdp11_asm_print_operand): Update call to
1258 output_address.
1259 * config/rx/rx.c (rx_print_operand_address): Add MODE argument.
1260 (rx_print_operand): Update calls to output_address,
1261 rx_print_operand_address.
1262 * config/nds32/nds32.c (nds32_print_operand): Update calls to
1263 output_address.
1264 (nds32_print_operand_address): Add MODE argument.
1265 * config/rs6000/rs6000.c (print_operand): Pass mem mode to
1266 output_address calls.
1267 * config/c6x/c6x.c (print_address_offset): Pass mem mode to
1268 output_address call.
1269 (c6x_print_address_operand): Update calls to output_address.
1270 (c6x_print_operand_address): Pass mode to above.
1271 * config/v850/v850.c (v850_print_operand_address): Add MODE
1272 argument.
1273 (v850_print_operand): Pass mode to v850_print_operand_address,
1274 output_address.
1275 * config/mmix/mmix.c (mmix_print_operand_address): Add MODE
1276 argument.
1277 (mmix_print_operand): Pass mode in output_address calls.
1278 * config/sh/sh.c (sh_print_operand_address): Add MODE argument.
1279 (sh_print_operand): Pass mem mode to output_address,
1280 sh_print_operand_address.
1281 * config/cr16/cr16.c (cr16_print_operand_address): Add MODE
1282 argument.
1283 (cr16_print_operand): Pass mode to output_address,
1284 cr16_print_operand_address.
1285 * config/bfin/bfin.c (print_address_operand): Pass VOIDmode to
1286 output_address.
1287 * config/microblaze/microblaze.c (print_operand): Pass mode to
1288 output_address.
1289 * config/nios2/nios2.c (nios2_print_operand): Pass VOIDmode to
1290 output_address.
1291 (nios2_print_operand_address): Add MODE argument. Update call to
1292 nios2_print_operand_address.
1293 * config/s390/s390.c (print_operand): Pass mode to output_address.
1294 * config/m32c/m32c.c (m32c_print_operand_address): Add MODE
1295 argument.
1296 * config/arc/arc.c (arc_print_operand): Pass VOIDmode to
1297 output_address.
1298 * config/arm/arm.c (arm_print_operand_address): Add MODE argument.
1299 Use instead of output_memory_reference_mode.
1300 (output_memory_reference_mode): Delete global.
1301 (arm_print_operand): Pass mem mode to output_address.
1302 * config/m32r/m32r.c (m32r_print_operand_address): Add MODE
1303 argument.
1304 (m32r_print_operand): Pass mode to output_address.
1305 * config/msp430/msp430.c (msp430_print_operand_addr): Add MODE
1306 argument.
1307 (msp430_print_operand): Pass mode to msp430_print_operand_addr.
1308 * config/i386/i386.c (ix86_print_operand): Pass mode to
1309 output_address calls.
1310 (ix86_print_operand_address): Add MODE argument.
1311
1312 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
1313
1314 PR middle-end/68251
1315 * tree-core.h (REF_REVERSE_STORAGE_ORDER): Move around.
1316 * tree.h (REF_REVERSE_STORAGE_ORDER): Change to default_def_flag.
1317 * tree-streamer-in.c (unpack_ts_base_value_fields): Adjust.
1318 * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
1319
1320 2015-11-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
1321
1322 PR rtl-optimization/67749
1323 * ifcvt.c (noce_try_cmove_arith): Do not emit move in IF-ELSE
1324 case before emitting the two blocks. Instead modify the register
1325 in the corresponding final insn of the basic block.
1326
1327 2015-11-09 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
1328
1329 * acinclude.m4 (gcc_AC_INITFINI_ARRAY): Allow for differences in
1330 assembler syntax.
1331 Support Solaris ld.
1332 Define HAVE_INITFINI_ARRAY_SUPPORT as 0/1.
1333
1334 * config/sol2.h (SUPPORTS_INIT_PRIORITY): Define to
1335 HAVE_INITFINI_ARRAY_SUPPORT.
1336 * config/initfini-array.h: Check HAVE_INITFINI_ARRAY_SUPPORT
1337 value.
1338
1339 * configure.ac (gcc_cv_as_sparc_nobits): Remove.
1340 * config/sparc/sparc.c (sparc_solaris_elf_asm_named_section):
1341 Don't check HAVE_AS_SPARC_NOBITS.
1342 Heed SECTION_NOTYPE.
1343
1344 * configure: Regenerate.
1345 * config.in: Regenerate.
1346
1347 2015-11-09 Eric Botcazou <ebotcazou@adacore.com>
1348
1349 PR middle-end/68253
1350 * fold-const.c (fold_truth_andor_1): Initialize new variables to 0.
1351
1352 2015-11-09 Richard Henderson <rth@redhat.com>
1353
1354 * config/i386/i386-c.c (ix86_target_macros): Define __SEG_FS,
1355 __SEG_GS, __SEG_TLS.
1356 (ix86_register_pragmas): Register address spaces __seg_fs,
1357 __seg_gs, __seg_tls.
1358 * config/i386/i386-protos.h (enum ix86_address_seg): Remove.
1359 (ADDR_SPACE_SEG_FS, ADDR_SPACE_SEG_GS, ADDR_SPACE_SEG_TLS): New.
1360 (struct ix86_address): Use addr_space_t instead of ix86_address_seg.
1361 * config/i386/i386.c (ix86_decompose_address): Likewise.
1362 (ix86_legitimate_address_p): Likewise.
1363 (memory_address_length): Likewise. Check mem address space too.
1364 (ix86_print_operand): Use ix86_print_operand_address_as.
1365 (ix86_print_operand_address_as): Rename from
1366 ix86_print_operand_address, add new addr_space_t parameter.
1367 Validate that either the parameter or the ix86_address segment
1368 is default address space. Handle ADDR_SPACE_SEG_TLS.
1369 (ix86_print_operand_address): New.
1370 (ix86_addr_space_subset_p, TARGET_ADDR_SPACE_SUBSET_P): New.
1371 (ix86_addr_space_convert, TARGET_ADDR_SPACE_CONVERT): New.
1372 (ix86_addr_space_debug, TARGET_ADDR_SPACE_DEBUG): New.
1373 (ix86_addr_space_zero_address_valid): New.
1374 (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
1375 * config/i386/i386.h (DEFAULT_TLS_SEG_REG): Use addr_space_t constants.
1376 * config/i386/rdos.h (DEFAULT_TLS_SEG_REG): Likewise.
1377 * config/i386/predicates.md (address_no_seg_operand): Likewise.
1378 (vsib_address_operand): Likewise.
1379 (address_mpx_no_base_operand): Likewise.
1380 (address_mpx_no_index_operand): Likewise.
1381 * doc/extend.texi (x86 Named Address Spaces): New section.
1382
1383 * config/i386/i386.c (ix86_check_no_addr_space): New.
1384 (decide_alg): Add have_as parameter.
1385 (alg_usable_p): Likewise; disable rep algorithms if set.
1386 (ix86_expand_set_or_movmem): Notice if either MEM has a
1387 non-default address space.
1388 (ix86_expand_strlen): Likewise.
1389 * config/i386/i386.md (strmov, strset): Likewise.
1390 (*strmovdi_rex_1): Use ix86_check_no_addr_space.
1391 (*strmovsi_1, *strmovqi_1, *rep_movdi_rex64, *rep_movsi, *rep_movqi,
1392 *strsetdi_rex_1, *strsetsi_1, *strsethi_1, *strsetqi_1,
1393 *rep_stosdi_rex64, *rep_stossi, *rep_stosqi, *cmpstrnqi_nz_1,
1394 *cmpstrnqi_1, *strlenqi_1): Likewise.
1395
1396 * config/i386/i386.md (*movabs<mode>_1): Print the full memory rtx.
1397 (*movabs<mode>_2): Likewise.
1398
1399 * dwarf2out.c (modified_type_die): Pass the address space number
1400 through TARGET_ADDR_SPACE_DEBUG to produce the dwarf address class.
1401 * target.def (TARGET_ADDR_SPACE_DEBUG): New.
1402 * targhooks.c (default_addr_space_debug): New.
1403 * targhooks.h (default_addr_space_debug): Declare.
1404 * doc/tm.texi.in (TARGET_ADDR_SPACE_DEBUG): Mark it.
1405 * doc/tm.texi: Rebuild.
1406
1407 * gimple.c (check_loadstore): Return false when 0 is a valid address.
1408 * fold-const.c (const_unop) [ADDR_SPACE_CONVERT_EXPR]: Do not fold
1409 null when 0 is valid in the source address space.
1410 * target.def (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): New.
1411 * targhooks.c (default_addr_space_zero_address_valid): New.
1412 * targhooks.h (default_addr_space_zero_address_valid): Declare.
1413 * doc/tm.texi.in (TARGET_ADDR_SPACE_ZERO_ADDRESS_VALID): Mark it.
1414 * doc/tm.texi: Rebuild.
1415
1416 * cselib.c (add_mem_for_addr): Compare address spaces when
1417 matching memories.
1418 (cselib_lookup_mem): Likewise.
1419 * fold-const.c (operand_equal_p): Check address spaces of
1420 pointer types before checking integer constants.
1421
1422 PR tree-opt/66768
1423 * tree-ssa-address.c (create_mem_ref_raw): Use a pointer of
1424 the correct type for the base.
1425
1426 2015-11-09 Jeff Law <law@redhat.com>
1427
1428 * tree-into-ssa.c (names_to_release): No longer static.
1429 * tree-into-ssa.h (names_to_release): Declare.
1430 * tree-ssanames.c (verify_ssaname_freelists): New debug function.
1431 (release_free_names_and_compact_live_names): New function extracted
1432 from pass_release_ssa_names::execute.
1433 (pass_release_ssa_names::execute): Use it.
1434
1435 2015-11-09 Alan Modra <amodra@gmail.com>
1436
1437 * gensupport.c (add_mnemonic_string): Make len param a size_t.
1438 (gen_mnemonic_setattr): Make "size" var a size_t. Use
1439 obstack_blank_fast to shrink obstack. Cast obstack_next_free
1440 return value.
1441
1442 2015-11-09 Segher Boessenkool <segher@kernel.crashing.org>
1443
1444 PR rtl-optimization/68182
1445 * bb-reorder.c (reorder_basic_blocks_simple): Treat a conditional
1446 branch with only one successor just like unconditional branches.
1447
1448 2015-11-08 Jeff Law <law@redhat.com>
1449
1450 * tree-ssa-threadupdate.c (register_jump_thraed): Assert that a
1451 non-FSM path has no edges marked with EDGE_DFS_BACK.
1452 (ssa_redirect_edges): No longer call mark_loop_for_removal.
1453 (thread_single_edge, def_split_header_continue_p): Remove.
1454 (bb_ends_with_multiway_branch): Likewise.
1455 (thread_through_loop_header): Remove cases of threading from
1456 latch through the header. Simplify knowing we won't thread
1457 the latch.
1458 (thread_through_all_blocks): Simplify knowing that only the FSM
1459 threader needs to handle backedges.
1460
1461 2015-11-08 Eric Botcazou <ebotcazou@adacore.com>
1462
1463 * doc/extend.texi (type attributes): Document scalar_storage_order.
1464 (Structure-Packing Pragmas): Rename into...
1465 (Structure-Layout Pragmas): ...this. Document scalar_storage_order.
1466 * doc/invoke.texi (C Dialect Options): Document -fsso-struct
1467 (Warnings): Document -Wno-scalar-storage-order.
1468 * flag-types.h (enum scalar_storage_order_kind): New enumeration.
1469 * calls.c (store_unaligned_arguments_into_pseudos): Adjust calls to
1470 extract_bit_field and store_bit_field.
1471 (initialize_argument_information): Adjust call to store_expr.
1472 (load_register_parameters): Adjust call to extract_bit_field.
1473 * expmed.c (check_reverse_storage_order_support): New function.
1474 (check_reverse_float_storage_order_support): Likewise.
1475 (flip_storage_order): Likewise.
1476 (store_bit_field_1): Add REVERSE parameter. Flip the storage order
1477 of the value if it is true. Pass REVERSE to recursive call after
1478 adjusting the target offset.
1479 Do not use extraction or movstrict instruction if REVERSE is true.
1480 Pass REVERSE to store_fixed_bit_field.
1481 (store_bit_field): Add REVERSE parameter and pass to it to above.
1482 (store_fixed_bit_field): Add REVERSE parameter and pass to it to
1483 store_split_bit_field and store_fixed_bit_field_1.
1484 (store_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
1485 order of the value if it is true and adjust the target offset.
1486 (store_split_bit_field): Add REVERSE parameter and pass it to
1487 store_fixed_bit_field. Adjust the target offset if it is true.
1488 (extract_bit_field_1): Add REVERSE parameter. Flip the storage order
1489 of the value if it is true. Pass REVERSE to recursive call after
1490 adjusting the target offset.
1491 Do not use extraction or subreg instruction if REVERSE is true.
1492 Pass REVERSE to extract_fixed_bit_field.
1493 (extract_bit_field): Add REVERSE parameter and pass to it to above.
1494 (extract_fixed_bit_field): Add REVERSE parameter and pass to it to
1495 extract_split_bit_field and extract_fixed_bit_field_1.
1496 (extract_fixed_bit_field_1): Add REVERSE parameter. Flip the storage
1497 order of the value if it is true and adjust the target offset.
1498 (extract_split_bit_field): Add REVERSE parameter and pass it to
1499 extract_fixed_bit_field. Adjust the target offset if it is true.
1500 * expmed.h (flip_storage_order): Declare.
1501 (store_bit_field): Adjust prototype.
1502 (extract_bit_field): Likewise.
1503 * expr.c (emit_group_load_1): Adjust calls to extract_bit_field.
1504 (emit_group_store): Adjust call to store_bit_field.
1505 (copy_blkmode_from_reg): Likewise.
1506 (copy_blkmode_to_reg): Likewise.
1507 (write_complex_part): Likewise.
1508 (read_complex_part): Likewise.
1509 (optimize_bitfield_assignment_op): Add REVERSE parameter. Assert
1510 that it isn't true if the target is a register.
1511 <PLUS_EXPR>: If it is, do not optimize unless bitsize is equal to 1,
1512 and flip the storage order of the value.
1513 <BIT_IOR_EXPR>: Flip the storage order of the value.
1514 (get_bit_range): Adjust call to get_inner_reference.
1515 (expand_assignment): Adjust calls to get_inner_reference, store_expr,
1516 optimize_bitfield_assignment_op and store_field. Handle MEM_EXPRs
1517 with reverse storage order.
1518 (store_expr_with_bounds): Add REVERSE parameter and pass it to
1519 recursive calls and call to store_bit_field. Force the value into a
1520 register if it is true and then flip the storage order of the value.
1521 (store_expr): Add REVERSE parameter and pass it to above.
1522 (categorize_ctor_elements_1): Adjust call to
1523 initializer_constant_valid_p.
1524 (store_constructor_field): Add REVERSE parameter and pass it to
1525 recursive calls and call to store_field.
1526 (store_constructor): Add REVERSE parameter and pass it to calls to
1527 store_constructor_field and store_expr. Set it to true for an
1528 aggregate type with TYPE_REVERSE_STORAGE_ORDER.
1529 (store_field): Add REVERSE parameter and pass it to recursive calls
1530 and calls to store_expr and store_bit_field. Temporarily flip the
1531 storage order of the value with record type and integral mode and
1532 adjust the shift if it is true.
1533 (get_inner_reference): Add PREVERSEP parameter and set it to true
1534 upon encoutering a reference with reverse storage order.
1535 (expand_expr_addr_expr_1): Adjust call to get_inner_reference.
1536 (expand_constructor): Adjust call to store_constructor.
1537 (expand_expr_real_2) <CASE_CONVERT>: Pass TYPE_REVERSE_STORAGE_ORDER
1538 of the union type to store_expr in the MEM case and assert that it
1539 isn't set in the REG case. Adjust call to store_field.
1540 (expand_expr_real_1) <MEM_REF>: Handle reverse storage order.
1541 <normal_inner_ref>: Add REVERSEP variable and adjust calls to
1542 get_inner_reference and extract_bit_field. Temporarily flip the
1543 storage order of the value with record type and integral mode and
1544 adjust the shift if it is true. Flip the storage order of the value
1545 at the end if it is true.
1546 <VIEW_CONVERT_EXPR>: Add REVERSEP variable and adjust call to
1547 get_inner_reference. Do not fetch an inner reference if it is true.
1548 * expr.h (store_expr_with_bounds): Ajust prototype.
1549 (store_expr): Likewise.
1550 * fold-const.c (make_bit_field_ref): Add REVERSEP parameter and set
1551 REF_REVERSE_STORAGE_ORDER on the reference according to it.
1552 (optimize_bit_field_compare): Deal with reverse storage order.
1553 Adjust calls to get_inner_reference and make_bit_field_ref.
1554 (decode_field_reference): Add PREVERSEP parameter and adjust call to
1555 get_inner_reference.
1556 (fold_truth_andor_1): Deal with reverse storage order. Adjust calls
1557 to decode_field_reference and make_bit_field_ref.
1558 (fold_unary_loc) <CASE_CONVERT>: Adjust call to get_inner_reference.
1559 <VIEW_CONVERT_EXPR>: Propagate the REF_REVERSE_STORAGE_ORDER flag.
1560 (fold_comparison): Adjust call to get_inner_reference.
1561 (split_address_to_core_and_offset): Adjust call to
1562 get_inner_reference.
1563 * gimple-expr.c (useless_type_conversion_p): Return false for array
1564 types with different TYPE_REVERSE_STORAGE_ORDER flag.
1565 * gimplify.c (gimplify_expr) <MEM_REF>: Propagate the
1566 REF_REVERSE_STORAGE_ORDER flag.
1567 * lto-streamer-out.c (hash_tree): Deal with
1568 TYPE_REVERSE_STORAGE_ORDER.
1569 * output.h (assemble_real): Adjust prototype.
1570 * print-tree.c (print_node): Convey TYPE_REVERSE_STORAGE_ORDER.
1571 * stor-layout.c (finish_record_layout): Propagate the
1572 TYPE_REVERSE_STORAGE_ORDER flag to the variants.
1573 * tree-core.h (TYPE_REVERSE_STORAGE_ORDER): Document.
1574 (TYPE_SATURATING): Adjust.
1575 (REF_REVERSE_STORAGE_ORDER): Document.
1576 * tree-dfa.c (get_ref_base_and_extent): Add PREVERSE parameter and
1577 set it to true upon encoutering a reference with reverse storage
1578 order.
1579 * tree-dfa.h (get_ref_base_and_extent): Adjust prototype.
1580 * tree-inline.c (remap_gimple_op_r): Propagate the
1581 REF_REVERSE_STORAGE_ORDER flag.
1582 (copy_tree_body_r): Likewise.
1583 * tree-outof-ssa.c (insert_value_copy_on_edge): Adjust call to
1584 store_expr.
1585 * tree-streamer-in.c (unpack_ts_base_value_fields): Deal with
1586 TYPE_REVERSE_STORAGE_ORDER and REF_REVERSE_STORAGE_ORDER.
1587 * tree-streamer-out.c (pack_ts_base_value_fields): Likewise.
1588 * tree.c (stabilize_reference) <BIT_FIELD_REF>: Propagate the
1589 REF_REVERSE_STORAGE_ORDER flag.
1590 (verify_type_variant): Deal with TYPE_REVERSE_STORAGE_ORDER.
1591 (gimple_canonical_types_compatible_p): Likewise.
1592 * tree.h (TYPE_REVERSE_STORAGE_ORDER): New flag.
1593 (TYPE_SATURATING): Adjust.
1594 (REF_REVERSE_STORAGE_ORDER): New flag.
1595 (reverse_storage_order_for_component_p): New inline predicate.
1596 (storage_order_barrier_p): Likewise.
1597 (get_inner_reference): Adjust prototype.
1598 * varasm.c: Include expmed.h.
1599 (assemble_variable_contents): Adjust call to output_constant.
1600 (assemble_real): Add REVERSE parameter. Flip the storage
1601 order of the value if REVERSE is true.
1602 (compare_constant) <CONSTRUCTOR>: Compare TYPE_REVERSE_STORAGE_ORDER.
1603 (assemble_constant_contents): Adjust call to output_constant.
1604 (output_constant_pool_2): Adjust call to assemble_real.
1605 (initializer_constant_valid_p_1) <CONSTRUCTOR>: Deal with
1606 TYPE_REVERSE_STORAGE_ORDER.
1607 (initializer_constant_valid_p): Add REVERSE parameter.
1608 (output_constant): Add REVERSE parameter.
1609 <INTEGER_TYPE>: Flip the storage order of the value if REVERSE is true.
1610 <REAL_TYPE>: Adjust call to assemble_real.
1611 <COMPLEX_TYPE>: Pass it to recursive calls.
1612 <ARRAY_TYPE>: Likewise. Adjust call to output_constructor.
1613 <RECORD_TYPE>: Likewise. Adjust call to output_constructor.
1614 (struct oc_local_state): Add REVERSE field.
1615 (output_constructor_array_range): Adjust calls to output_constant.
1616 (output_constructor_regular_field): Likewise.
1617 (output_constructor_bitfield): Adjust call to output_constructor.
1618 Flip the storage order of the value if REVERSE is true.
1619 (output_constructor): Add REVERSE parameter. Set it to true for an
1620 aggregate type with TYPE_REVERSE_STORAGE_ORDER. Adjust call to
1621 output_constructor_bitfield.
1622 * varasm.h (initializer_constant_valid_p): Default REVERSE to false.
1623 * asan.c (instrument_derefs): Adjust call to get_inner_reference.
1624 * builtins.c (get_object_alignment_2): Likewise.
1625 * cfgexpand.c (expand_debug_expr): Adjust call to get_inner_reference
1626 and get_ref_base_and_extent.
1627 * dbxout.c (dbxout_expand_expr): Likewise.
1628 * dwarf2out.c (add_var_loc_to_decl): Likewise.
1629 (loc_list_for_address_of_addr_expr_of_indirect_ref): Likewise.
1630 (loc_list_from_tree): Likewise.
1631 (fortran_common): Likewise.
1632 * gimple-fold.c (gimple_fold_builtin_memory_op): Adjust calls to
1633 get_ref_base_and_extent.
1634 (get_base_constructor): Likewise.
1635 (fold_const_aggregate_ref_1): Likewise.
1636 * gimple-laddress.c (pass_laddress::execute): Adjust call to
1637 get_inner_reference.
1638 * gimple-ssa-strength-reduction.c (slsr_process_ref): Adjust call to
1639 get_inner_reference and bail out on reverse storage order.
1640 * ifcvt.c (noce_emit_move_insn): Adjust calls to store_bit_field.
1641 * ipa-cp.c (ipa_get_jf_ancestor_result): Adjust call to
1642 build_ref_for_offset.
1643 * ipa-polymorphic-call.c (set_by_invariant): Adjust call to
1644 get_ref_base_and_extent.
1645 (ipa_polymorphic_call_context): Likewise.
1646 (extr_type_from_vtbl_ptr_store): Likewise.
1647 (check_stmt_for_type_change): Likewise.
1648 (get_dynamic_type): Likewise.
1649 * ipa-prop.c (ipa_load_from_parm_agg_1): Adjust call to
1650 get_ref_base_and_extent.
1651 (compute_complex_assign_jump_func): Likewise.
1652 (get_ancestor_addr_info): Likewise.
1653 (compute_known_type_jump_func): Likewise.
1654 (determine_known_aggregate_parts): Likewise.
1655 (ipa_get_adjustment_candidate): Likewise.
1656 (ipa_modify_call_arguments): Set REF_REVERSE_STORAGE_ORDER on
1657 MEM_REF.
1658 * ipa-prop.h (ipa_parm_adjustment): Add REVERSE field.
1659 (build_ref_for_offset): Adjust prototype.
1660 * simplify-rtx.c (delegitimize_mem_from_attrs): Adjust call to
1661 get_inner_reference.
1662 * tree-affine.c (tree_to_aff_combination): Adjust call to
1663 get_inner_reference.
1664 (get_inner_reference_aff): Likewise.
1665 * tree-data-ref.c (split_constant_offset_1): Likewise.
1666 (dr_analyze_innermost): Likewise. Bail out if reverse storage order.
1667 * tree-scalar-evolution.c (interpret_rhs_expr): Adjust call to
1668 get_inner_reference.
1669 * tree-sra.c (struct access): Add REVERSE and move WRITE around.
1670 (dump_access): Print new fields.
1671 (create_access): Adjust call to get_ref_base_and_extent and set the
1672 REVERSE flag according to the result.
1673 (completely_scalarize_record): Set the REVERSE flag.
1674 (scalarize_elem): Add REVERSE parameter.
1675 (build_access_from_expr_1): Preserve storage order barriers.
1676 (build_accesses_from_assign): Likewise.
1677 (build_ref_for_offset): Add REVERSE parameter and set the
1678 REF_REVERSE_STORAGE_ORDER flag accordingly.
1679 (build_ref_for_model): Adjust call to build_ref_for_offset and clear
1680 the REF_REVERSE_STORAGE_ORDER flag if there are components.
1681 (analyze_access_subtree): Likewise.
1682 (create_artificial_child_access): Set the REVERSE flag.
1683 (get_access_for_expr): Adjust call to get_ref_base_and_extent.
1684 (turn_representatives_into_adjustments): Propagate REVERSE flag.
1685 (ipa_sra_check_caller): Adjust call to get_inner_reference.
1686 * tree-ssa-alias.c (ao_ref_base): Adjust call to
1687 get_ref_base_and_extent.
1688 (aliasing_component_refs_p): Likewise.
1689 (stmt_kills_ref_p_1): Likewise.
1690 * tree-ssa-dce.c (mark_aliased_reaching_defs_necessary_1): Likewise.
1691 * tree-ssa-loop-ivopts.c (may_be_nonaddressable_p) <MEM_REF>: New.
1692 Return true if reverse storage order.
1693 <BIT_FIELD_REF>: Likewise.
1694 <COMPONENT_REF>: Likewise.
1695 <ARRAY_REF>: Likewise.
1696 <ARRAY_RANGE_REF>: Likewise.
1697 (split_address_cost): Likewise. Bail out if reverse storage order.
1698 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Adjust call to
1699 get_inner_reference. Bail out if reverse storage order.
1700 (bswap_replace): Adjust call to get_inner_reference.
1701 * tree-ssa-pre.c (create_component_ref_by_pieces_1) <MEM_REF>: Set
1702 the REF_REVERSE_STORAGE_ORDER flag.
1703 <BIT_FIELD_REF>: Likewise.
1704 * tree-ssa-sccvn.c (vn_reference_eq): Return false on storage order
1705 barriers.
1706 (copy_reference_ops_from_ref) <MEM_REF>: Set REVERSE field according
1707 to the REF_REVERSE_STORAGE_ORDER flag.
1708 <BIT_FIELD_REF>: Likewise.
1709 <VIEW_CONVERT_EXPR>: Set it for storage order barriers.
1710 (contains_storage_order_barrier_p): New predicate.
1711 (vn_reference_lookup_3): Adjust calls to get_ref_base_and_extent.
1712 Punt on storage order barriers if necessary.
1713 * tree-ssa-sccvn.h (struct vn_reference_op_struct): Add REVERSE.
1714 * tree-ssa-structalias.c (get_constraint_for_component_ref): Adjust
1715 call to get_ref_base_and_extent.
1716 (do_structure_copy): Likewise.
1717 * tree-vect-data-refs.c (vect_check_gather): Adjust call to
1718 get_inner_reference.
1719 (vect_analyze_data_refs): Likewise. Bail out if reverse storage
1720 order.
1721 * tsan.c (instrument_expr): Adjust call to get_inner_reference.
1722 * ubsan.c (instrument_bool_enum_load): Likewise.
1723 (instrument_object_size): Likewise.
1724 * var-tracking.c (track_expr_p): Adjust call to
1725 get_ref_base_and_extent
1726 * config/mips/mips.c (r10k_safe_mem_expr_p): Adjust call to
1727 get_inner_reference.
1728 * config/s390/s390.c (s390_expand_atomic): Adjust call to
1729 store_bit_field.
1730 * config/tilegx/tilegx.c (tilegx_expand_unaligned_load): Adjust call to
1731 extract_bit_field.
1732 * config/tilepro/tilepro.c (tilepro_expand_unaligned_load): Likewise.
1733
1734 2015-11-07 Eric Botcazou <ebotcazou@adacore.com>
1735
1736 * config/sparc/sparc.opt (mfix-at697f): Add final period.
1737
1738 2015-11-07 Segher Boessenkool <segher@kernel.crashing.org>
1739
1740 PR rtl-optimization/67864
1741 * common/config/i386/i386-common.c (ix86_option_optimization_table)
1742 <OPT_freorder_blocks_algorithm_>: Use REORDER_BLOCKS_ALGORITHM_STC
1743 at -Os and up.
1744
1745 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1746
1747 * trans-mem.c (is_tm_pure_call): Use gimple_call_flags for
1748 internal functions.
1749
1750 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1751
1752 * builtins.def: #undef DEF_BUILTIN and DEF_BUILTIN_CHKP
1753 * builtins.c, genmatch.c, tree-core.h: Don't undef them here.
1754
1755 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1756
1757 * internal-fn.def: #undef DEF_INTERNAL_FN at the end.
1758 * internal-fn.c: Don't undef it here.
1759 * tree-core.h: Likewise.
1760
1761 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1762
1763 * builtins.c (fold_builtin_nan): Delete.
1764 (fold_builtin_memcmp): Remove case where both arguments are constant.
1765 (fold_builtin_strcmp, fold_builtin_strncmp): Likewise.
1766 (fold_builtin_strspn, fold_builtin_strcspn): Likewise.
1767 (fold_builtin_1): Remove BUILT_IN_NAN* handling.
1768 * fold-const-call.c: Include fold-const.h.
1769 (host_size_t_cst_p): New function.
1770 (build_cmp_result, fold_const_builtin_nan): Likewise.
1771 (fold_const_call_1): New function, split out from...
1772 (fold_const_call): ...here (for all three interfaces). Handle
1773 constant nan, nans, strlen, strcmp, strncmp, strspn and strcspn.
1774
1775 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1776
1777 * builtins.c (fold_builtin_bitop, fold_builtin_bswap): Delete.
1778 (fold_builtin_1): Don't call them.
1779 * fold-const-call.c: Include tm.h.
1780 (fold_const_call_ss): New variant for integer-to-integer folds.
1781 (fold_const_call): Call it.
1782
1783 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1784
1785 * builtins.c (fold_builtin_classify): Move constant cases to...
1786 * fold-const-call.c (fold_const_call_ss): ...here.
1787
1788 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1789
1790 * builtins.h (c_getstr): Move to...
1791 * fold-const.h (c_getstr): ...here.
1792 * builtins.c (c_getstr): Move to...
1793 * fold-const.c (c_getstr): ...here.
1794
1795 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1796
1797 * builtins.def (BUILTIN_RINT, BUILTIN_RINTF, BUILTIN_RINTL): Use
1798 ATTR_MATHFN_FPROUNDING rather than ATTR_MATHFN_FPROUNDING_ERRNO.
1799
1800 2015-11-07 Richard Sandiford <richard.sandiford@arm.com>
1801
1802 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Try to update
1803 the dominance info; free it if we can't.
1804 (pass_call_cdce::execute): Don't free the dominance info here.
1805
1806 2015-11-06 Jeff Law <law@redhat.com>
1807
1808 * tree-ssa-threadedge.c (dummy_simplify): Remove.
1809 (thread_around_empty_blocks): Remove backedge_seen_p argument.
1810 If we thread to a backedge, then return false. Update recursive
1811 call to eliminate backedge_seen_p argument.
1812 (thread_through_normal_block): Remove backedge_seen_p argument.
1813 Remove backedge_seen_p argument from calls to
1814 thread_around_empty_blocks. Remove checks on backedge_seen_p.
1815 If we thread to a backedge, then return 0.
1816 (thread_across_edge): Remove bookkeeping for backedge_seen. Don't
1817 pass it to thread_through_normal_block or thread_through_empty_blocks.
1818 For joiner handling, if we see a backedge, do not try normal
1819 threading.
1820
1821 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1822
1823 * graphite-optimize-isl.c (optimize_isl): Call isl_union_map_is_equal.
1824 * graphite-poly.c (new_scop): Initialize original_schedule.
1825 (free_scop): Free original_schedule.
1826 * graphite-poly.h (struct scop): Add field original_schedule.
1827 * graphite-sese-to-poly.c (build_scop_original_schedule): New.
1828 (build_poly_scop): Call build_scop_original_schedule.
1829
1830 2015-11-06 Abderrazek Zaafrani <a.zaafrani@samsung.com>
1831
1832 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Remove.
1833 (build_pbb_minimal_scattering_polyhedrons): New.
1834 (build_scop_scattering): Remove.
1835 (build_scop_minimal_scattering): New.
1836 (build_scop_scattering): Call build_pbb_minimal_scattering_polyhedrons.
1837 (build_poly_scop): Call build_scop_minimal_scattering.
1838
1839 2015-11-06 Jeff Law <law@redhat.com>
1840
1841 * cfg-flags.def (IGNORE): New edge flag.
1842 * tree-vrp.c (identify_jump_threads): Mark and clear edges
1843 scheduled for removal with EDGE_IGNORE around call into
1844 jump threader. Do no thread across edges with EDGE_IGNORE,
1845 but do allow threading across those with EDGE_DFS_BACK.
1846
1847 2015-11-06 David Wohlferd <dw@LimeGreenSocks.com>
1848
1849 * doc/md.texi (multi-alternative constraints): Don't document
1850 alternatives inherently tied to reload for the user documentation.
1851
1852 2015-11-06 Michael Collison <michael.collison@linaro.org
1853 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1854
1855 Revert:
1856 2015-08-01 Michael Collison <michael.collison@linaro.org
1857 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
1858
1859 * config/arm/arm.md (*arm_smin_cmp): New pattern.
1860 (*arm_umin_cmp): Likewise.
1861
1862 2015-11-06 Jakub Jelinek <jakub@redhat.com>
1863
1864 * gimplify.c (gimplify_omp_ordered): Fix up diagnostics
1865 wording.
1866 * omp-low.c (check_omp_nesting_restrictions): Update for the
1867 various new OpenMP 4.5 nesting restrictions, clarified
1868 nesting glossary, closely nested region relationship clarified
1869 to mean explicit or implicit parallel regions (target/teams),
1870 use %</%> or %qs where appropriate.
1871
1872 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
1873 Sebastian Pop <s.pop@samsung.com>
1874
1875 * graphite-scop-detection.c (loop_is_valid_scop): Call
1876 optimize_loop_nest_for_speed_p.
1877
1878 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
1879 Sebastian Pop <s.pop@samsung.com>
1880
1881 * graphite-optimize-isl.c (optimize_isl): Call
1882 isl_options_set_schedule_maximize_band_depth.
1883
1884 2015-11-06 Aditya Kumar <aditya.k7@samsung.com>
1885 Sebastian Pop <s.pop@samsung.com>
1886
1887 * graphite-scop-detection.c (scop_detection::merge_sese): Entry
1888 and exit edges should not be a part of irreducible loop.
1889 (scop_detection::can_represent_loop_1): Loops should not be
1890 irreducible.
1891 (scop_detection::harmful_stmt_in_region): All the basic block
1892 should belong to reducible loops.
1893
1894 2015-11-06 Christophe Lyon <christophe.lyon@linaro.org>
1895
1896 * config/aarch64/aarch64-simd-builtins.def: Update builtins
1897 tables: add tbl3v16qi, qtbl[34]*, tbx4v16qi, qtbx[34]*.
1898 * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): Rename to...
1899 (aarch64_tbl3<mode>) ... this, which supports v16qi too.
1900 (aarch64_tbx4v8qi): Rename to...
1901 aarch64_tbx4<mode>): ... this.
1902 (aarch64_qtbl3<mode>): New pattern.
1903 (aarch64_qtbx3<mode>): New pattern.
1904 (aarch64_qtbl4<mode>): New pattern.
1905 (aarch64_qtbx4<mode>): New pattern.
1906 * config/aarch64/arm_neon.h (vqtbl2_s8, vqtbl2_u8, vqtbl2_p8)
1907 (vqtbl2q_s8, vqtbl2q_u8, vqtbl2q_p8, vqtbl3_s8, vqtbl3_u8)
1908 (vqtbl3_p8, vqtbl3q_s8, vqtbl3q_u8, vqtbl3q_p8, vqtbl4_s8)
1909 (vqtbl4_u8, vqtbl4_p8, vqtbl4q_s8, vqtbl4q_u8, vqtbl4q_p8)
1910 (vqtbx2_s8, vqtbx2_u8, vqtbx2_p8, vqtbx2q_s8, vqtbx2q_u8)
1911 (vqtbx2q_p8, vqtbx3_s8, vqtbx3_u8, vqtbx3_p8, vqtbx3q_s8)
1912 (vqtbx3q_u8, vqtbx3q_p8, vqtbx4_s8, vqtbx4_u8, vqtbx4_p8)
1913 (vqtbx4q_s8, vqtbx4q_u8, vqtbx4q_p8): Rewrite using builtin
1914 functions.
1915
1916 2015-11-06 Mike Stump <mikestump@comcast.net>
1917
1918 PR debug/66728
1919 * dwarf2out.c (get_full_len): Return a value based upon the actual
1920 precision needed for the value.
1921 (add_const_value_attribute): Use a maximal wide-int for
1922 CONST_WIDE_INTs, not VOIDmode.
1923 (output_die): Don't ever output NULL with printf.
1924
1925 * rtl.h (get_precision of rtx_mode_t): Ensure we never process
1926 BLKmode nor VOIDmode values.
1927
1928 2015-11-06 David Malcolm <dmalcolm@redhat.com>
1929
1930 * diagnostic-color.c (color_dict): Eliminate "caret"; add "range1"
1931 and "range2".
1932 (parse_gcc_colors): Update comment to describe default GCC_COLORS.
1933 * diagnostic-core.h (warning_at_rich_loc): New declaration.
1934 (error_at_rich_loc): New declaration.
1935 (permerror_at_rich_loc): New declaration.
1936 (inform_at_rich_loc): New declaration.
1937 * diagnostic-show-locus.c (adjust_line): Delete.
1938 (struct point_state): New struct.
1939 (class colorizer): New class.
1940 (class layout_point): New class.
1941 (class layout_range): New class.
1942 (struct line_bounds): New.
1943 (class layout): New class.
1944 (colorizer::colorizer): New ctor.
1945 (colorizer::~colorizer): New dtor.
1946 (layout::layout): New ctor.
1947 (layout::print_source_line): New method.
1948 (layout::print_annotation_line): New method.
1949 (layout::get_state_at_point): New method.
1950 (layout::get_x_bound_for_row): New method.
1951 (diagnostic_show_locus): Reimplement in terms of class layout.
1952 (diagnostic_print_caret_line): Delete.
1953 * diagnostic.c (diagnostic_initialize): Replace
1954 MAX_LOCATIONS_PER_MESSAGE with rich_location::MAX_RANGES.
1955 (diagnostic_set_info_translated): Convert param from location_t
1956 to rich_location *. Eliminate calls to set_location on the
1957 message in favor of storing the rich_location ptr there.
1958 (diagnostic_set_info): Convert param from location_t to
1959 rich_location *.
1960 (diagnostic_build_prefix): Break out array into...
1961 (diagnostic_kind_color): New variable.
1962 (diagnostic_get_color_for_kind): New function.
1963 (diagnostic_report_diagnostic): Colorize the option_text
1964 using the color for the severity.
1965 (diagnostic_append_note): Update for change in signature of
1966 diagnostic_set_info.
1967 (diagnostic_append_note_at_rich_loc): New function.
1968 (emit_diagnostic): Update for change in signature of
1969 diagnostic_set_info.
1970 (inform): Likewise.
1971 (inform_at_rich_loc): New function.
1972 (inform_n): Update for change in signature of diagnostic_set_info.
1973 (warning): Likewise.
1974 (warning_at): Likewise.
1975 (warning_at_rich_loc): New function.
1976 (warning_n): Update for change in signature of diagnostic_set_info.
1977 (pedwarn): Likewise.
1978 (permerror): Likewise.
1979 (permerror_at_rich_loc): New function.
1980 (error): Update for change in signature of diagnostic_set_info.
1981 (error_n): Likewise.
1982 (error_at): Likewise.
1983 (error_at_rich_loc): New function.
1984 (sorry): Update for change in signature of diagnostic_set_info.
1985 (fatal_error): Likewise.
1986 (internal_error): Likewise.
1987 (internal_error_no_backtrace): Likewise.
1988 (source_range::debug): New function.
1989 * diagnostic.h (struct diagnostic_info): Eliminate field
1990 "override_column". Add field "richloc".
1991 (struct diagnostic_context): Add field "colorize_source_p".
1992 (diagnostic_override_column): Delete.
1993 (diagnostic_set_info): Convert param from location_t to
1994 rich_location *.
1995 (diagnostic_set_info_translated): Likewise.
1996 (diagnostic_append_note_at_rich_loc): New function.
1997 (diagnostic_num_locations): New function.
1998 (diagnostic_expand_location): Get the location from the
1999 rich_location.
2000 (diagnostic_print_caret_line): Delete.
2001 (diagnostic_get_color_for_kind): New declaration.
2002 * genmatch.c (linemap_client_expand_location_to_spelling_point): New.
2003 (error_cb): Update for change in signature of "error" callback.
2004 (fatal_at): Likewise.
2005 (warning_at): Likewise.
2006 * input.c (linemap_client_expand_location_to_spelling_point): New.
2007 * pretty-print.c (text_info::set_range): New method.
2008 (text_info::get_location): New method.
2009 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): Eliminate this macro.
2010 (struct text_info): Eliminate "locations" array in favor of
2011 "m_richloc", a rich_location *.
2012 (textinfo::set_location): Add a "caret_p" param, and reimplement
2013 in terms of a call to set_range.
2014 (textinfo::get_location): Eliminate inline implementation in favor of
2015 an out-of-line reimplementation.
2016 (textinfo::set_range): New method.
2017 * rtl-error.c (diagnostic_for_asm): Update for change in signature
2018 of diagnostic_set_info.
2019 * tree-diagnostic.c (default_tree_printer): Update for new
2020 "caret_p" param for textinfo::set_location.
2021 * tree-pretty-print.c (percent_K_format): Likewise.
2022
2023 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2024
2025 Properly apply.
2026 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2027 * config/aarch64/aarch64.c
2028 (aarch64_can_use_per_function_literal_pools_p): New.
2029 (aarch64_use_blocks_for_constant_p): Adjust declaration
2030 and use aarch64_can_use_function_literal_pools_p.
2031 (aarch64_select_rtx_section): Update.
2032
2033 2015-11-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2034
2035 * config/arm/arm-ldmstm.ml: Rewrite to generate unified asm templates.
2036 * config/arm/arm.c (arm_asm_trampoline_template): Make unified asm safe.
2037 (arm_output_multireg_pop): Likewise.
2038 (output_move_double): Likewise.
2039 (output_move_quad): Likewise.
2040 (output_return_instruction): Likewise.
2041 (arm_print_operand): Remove support for %( and %. print modifiers.
2042 (arm_output_shift): Make unified asm.
2043 (arm_declare_function_name): Likewise.
2044 * config/arm/arm.h (TARGET_UNIFIED_ASM): Delete.
2045 (ASM_APP_OFF): Adjust.
2046 (ASM_OUTPUT_REG_PUSH): Undo special casing for TARGET_ARM.
2047 (ASM_OUTPUT_REG_POP): Likewise.
2048 * config/arm/arm.md: Adjust uses of %., %(, %)
2049 * config/arm/sync.md: Likewise.
2050 * config/arm/thumb2.md: Likewise.
2051 * config/arm/ldmstm.md: Regenerate.
2052 * config/arm/arm.opt (masm-unified-syntax): Do not special case Thumb.
2053 * doc/invoke.texi (masm-unified-syntax): Update documentation.
2054
2055 2015-11-06 David Malcolm <dmalcolm@redhat.com>
2056
2057 * input.c (dump_line_table_statistics): Dump stats on adhoc table.
2058
2059 2015-11-07 Jan Hubicka <hubicka@ucw.cz>
2060
2061 * tree-core.h (size_type_kind): Remove OEP_CONSTANT_ADDRESS_OF and
2062 add OEP_MATCH_SIDE_EFFECTS.
2063 * fold-const.c (operand_equal_p): Update documentation; handle
2064 OEP_MATCH_SIDE_EFFECTS.
2065 * tree-ssa-tail-merge.c (gimple_operand_equal_value_p): Use
2066 OEP_MATCH_SIDE_EFFECTS.
2067
2068 2015-11-06 Benedikt Huber <benedikt.huber@theobroma-systems.com>
2069 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
2070
2071 * config/aarch64/aarch64-builtins.c: Builtins for rsqrt and rsqrtf.
2072 * config/aarch64/aarch64-protos.h: Declare.
2073 * config/aarch64/aarch64-simd.md: Matching expressions for frsqrte and
2074 frsqrts.
2075 * config/aarch64/aarch64-tuning-flags.def: Added recip_sqrt.
2076 * config/aarch64/aarch64.c: New functions. Emit rsqrt estimation
2077 code when applicable.
2078 * config/aarch64/aarch64.md: Added enum entries.
2079 * config/aarch64/aarch64.opt: Added option -mlow-precision-recip-sqrt.
2080 * testsuite/gcc.target/aarch64/rsqrt_asm_check_common.h: Common
2081 macros for assembly checks.
2082 * testsuite/gcc.target/aarch64/rsqrt_asm_check_negative_1.c: Make sure
2083 frsqrts and frsqrte are not emitted.
2084 * testsuite/gcc.target/aarch64/rsqrt_asm_check_1.c: Make sure
2085 frsqrts and frsqrte are emitted.
2086 * testsuite/gcc.target/aarch64/rsqrt_1.c: Functional tests for rsqrt.
2087
2088 2015-11-07 Jan Hubicka <hubicka@ucw.cz>
2089
2090 PR ipa/68057
2091 PR ipa/68220
2092 * ipa-polymorphic-call.c
2093 (ipa_polymorphic_call_context::restrict_to_inner_type): Fix ordering
2094 issue when offset is out of range.
2095 (contains_type_p): Fix out of range check, clear dynamic flag.
2096
2097 2015-11-06 Arnout Vandecappelle <arnout@mind.be>
2098
2099 * config.gcc (e6500): Fix cpu_is_64bit typo.
2100
2101 2015-11-06 Alan Lawrence <alan.lawrence@arm.com>
2102
2103 * tree-sra.c (completely_scalarize): Properly handle negative array
2104 indices using offset_int.
2105
2106 2015-11-06 Richard Biener <rguenther@suse.de>
2107
2108 * alloc-pool.h (object_allocator::allocate): Default-initialize
2109 object.
2110
2111 2015-11-06 Richard Biener <rguenther@suse.de>
2112
2113 * tree-ssa-sccvn.c (class sccvn_dom_walker): Add destructor.
2114 * lra.c (init_reg_info): Truncate copy_vec instead of
2115 re-allocating a new one and leaking the old.
2116 * ipa-inline-analysis.c (estimate_function_body_sizes): Free
2117 bb_infos vec.
2118 * sched-deps.c (sched_deps_finish): Free the dn/dl pools.
2119 * postreload-gcse.c (free_mem): Free modify_mem_list and
2120 canon_modify_mem_list.
2121
2122 2015-11-06 Ilya Enkovich <enkovich.gnu@gmail.com>
2123
2124 PR tree-optimization/68145
2125 * tree-vect-stmts.c (vectorizable_operation): Fix
2126 determination for booleans.
2127
2128 2015-11-06 Tom de Vries <tom@codesourcery.com>
2129
2130 * tree-cfg.c (gimple_split_block_before_cond_jump): Split before
2131 cond_jump, instead of split after last nondebug insn before cond_jump.
2132 * tree-parloops.c (transform_to_exit_first_loop_alt): Verify ssa before
2133 returning.
2134
2135 2015-11-06 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2136
2137 PR target/68088
2138 * config/arm/aarch-common.c (aarch_accumulator_forwarding): Strip
2139 subregs from accumulator and make sure it's a register.
2140
2141 2015-11-06 Simon Dardis <simon.dardis@imgtec.com>
2142
2143 * config/mips/loongson.md (vec_loongson_extract_lo_<mode>): New, extract
2144 low part to scalar.
2145 (reduc_uplus_<mode>): Remove.
2146 (reduc_plus_scal_<mode>): Rename from reduc_splus_<mode>, Use vec
2147 loongson_extract_lo_<mode>.
2148 (reduc_smax_scal_<mode>, reduc_smin_scal_<mode>): Rename from
2149 reduc_smax_<mode>, reduc_smax_<mode>, use vec
2150 loongson_extract_lo_<mode>.
2151 (reduc_umax_scal_<mode>, reduc_umin_scal_<mode>): Rename.
2152
2153 2015-11-06 Richard Biener <rguenther@suse.de>
2154
2155 * tree-vectorizer.h (struct _bb_vec_info): Add region_begin/end
2156 members.
2157 (vect_stmt_in_region_p): Declare.
2158 * tree-vect-slp.c (new_bb_vec_info): Work on a region.
2159 (destroy_bb_vec_info): Likewise.
2160 (vect_bb_slp_scalar_cost): Use vect_stmt_in_region_p.
2161 (vect_get_and_check_slp_defs): Likewise.
2162 (vect_slp_analyze_bb_1): Refactor to make it work on sub-BBs.
2163 (vect_slp_bb): Likewise.
2164 * tree-vect-patterns.c (vect_same_loop_or_bb_p): Implement
2165 in terms of vect_stmt_in_region_p.
2166 (vect_pattern_recog): Iterate over the BB region.
2167 * tree-vect-stmts.c (vect_is_simple_use): Use vect_stmt_in_region_p.
2168 * tree-vectorizer.c (vect_stmt_in_region_p): New function.
2169 (pass_slp_vectorize::execute): Initialize all stmt UIDs to -1.
2170 * config/i386/i386.c: Include gimple-iterator.h.
2171 * config/aarch64/aarch64.c: Likewise.
2172
2173 2015-11-06 Alexandre Oliva <aoliva@redhat.com>
2174
2175 PR rtl-optimization/67753
2176 PR rtl-optimization/64164
2177 * function.c (assign_parm_setup_block): Avoid allocating a
2178 stack slot if we don't have an ABI-reserved one. Emit the
2179 copy to target_reg in the conversion seq if the copy from
2180 entry_parm is in it too. Don't use the conversion seq to copy
2181 a PARALLEL to a REG or a CONCAT.
2182
2183 2015-11-06 Richard Biener <rguenther@suse.de>
2184
2185 * tree-hash-traits.h (tree_operand_hash): Provide equal, not
2186 equal_keys.
2187
2188 2015-11-05 Cesar Philippidis <cesar@codesourcery.com>
2189 Thomas Schwinge <thomas@codesourcery.com>
2190 James Norris <jnorris@codesourcery.com>
2191
2192
2193 * gimplify.c (gimplify_scan_omp_clauses): Add support for
2194 OMP_CLAUSE_TILE. Update handling of OMP_CLAUSE_INDEPENDENT.
2195 (gimplify_adjust_omp_clauses): Likewise.
2196 * omp-low.c (scan_sharing_clauses): Add support for OMP_CLAUSE_TILE.
2197 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE_TILE.
2198 * tree-pretty-print.c (dump_omp_clause): Handle OMP_CLAUSE_TILE.
2199 * tree.c (omp_clause_num_ops): Add an entry for OMP_CLAUSE_TILE.
2200 (omp_clause_code_name): Likewise.
2201 (walk_tree_1): Handle OMP_CLAUSE_TILE.
2202 * tree.h (OMP_TILE_LIST): New macro.
2203
2204 2015-11-05 Martin Sebor <msebor@redhat.com>
2205
2206 PR c++/67942
2207 * doc/invoke.texi (-Wplacement-new): Document new option.
2208
2209 2015-11-05 Alan Lawrence <alan.lawrence@arm.com>
2210
2211 PR tree-optimization/65963
2212 * tree-scalar-evolution.c (interpret_rhs_expr): Try to handle
2213 LSHIFT_EXPRs as equivalent unsigned MULT_EXPRs.
2214
2215 2015-11-05 James Greenhalgh <james.greenhalgh@arm.com>
2216
2217 * ifcvt.c (bb_ok_for_noce_convert_multiple_sets): New.
2218 (noce_convert_multiple_sets): Likewise.
2219 (noce_process_if_block): Call them.
2220
2221 2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
2222
2223 * gimple-fold.c: Include omp-low.h.
2224 (fold_internal_goacc_dim): New.
2225 (gimple_fold_call): Call it.
2226
2227 2015-11-05 Jakub Jelinek <jakub@redhat.com>
2228 Ilya Verbin <ilya.verbin@intel.com>
2229
2230 * builtin-types.def
2231 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR): Remove.
2232 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR_INT_INT): New.
2233 * cgraph.h (enum cgraph_simd_clone_arg_type): Add
2234 SIMD_CLONE_ARG_TYPE_LINEAR_REF_VARIABLE_STEP,
2235 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP and
2236 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP.
2237 (struct cgraph_simd_clone_arg): Adjust comment.
2238 * omp-builtins.def (BUILT_IN_GOMP_TARGET): Rename GOMP_target_41
2239 to GOMP_target_ext. Add num_teams and thread_limit arguments.
2240 (BUILT_IN_GOMP_TARGET_DATA): Rename GOMP_target_data_41
2241 to GOMP_target_data_ext.
2242 (BUILT_IN_GOMP_TARGET_UPDATE): Rename GOMP_target_update_41
2243 to GOMP_target_update_ext.
2244 (BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_START,
2245 BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_START,
2246 BUILT_IN_GOMP_LOOP_NONMONOTONIC_DYNAMIC_NEXT,
2247 BUILT_IN_GOMP_LOOP_NONMONOTONIC_GUIDED_NEXT,
2248 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_START,
2249 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_START,
2250 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_DYNAMIC_NEXT,
2251 BUILT_IN_GOMP_LOOP_ULL_NONMONOTONIC_GUIDED_NEXT,
2252 BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_DYNAMIC,
2253 BUILT_IN_GOMP_PARALLEL_LOOP_NONMONOTONIC_GUIDED): New built-ins.
2254 * tree-core.h (enum omp_clause_schedule_kind): Add
2255 OMP_CLAUSE_SCHEDULE_MASK, OMP_CLAUSE_SCHEDULE_MONOTONIC,
2256 OMP_CLAUSE_SCHEDULE_NONMONOTONIC and change
2257 OMP_CLAUSE_SCHEDULE_LAST value.
2258 * tree.def (OMP_SIMD, CILK_SIMD, CILK_FOR, OMP_DISTRIBUTE,
2259 OMP_TASKLOOP, OACC_LOOP): Add OMP_FOR_ORIG_DECLS argument.
2260 * tree.h (OMP_FOR_ORIG_DECLS): Use OMP_LOOP_CHECK instead of
2261 OMP_FOR_CHECK. Remove comment.
2262 * tree-pretty-print.c (dump_omp_clause): Handle
2263 GOMP_MAP_FIRSTPRIVATE_REFERENCE and GOMP_MAP_ALWAYS_POINTER.
2264 Simplify. Print schedule clause modifiers.
2265 * tree-vect-stmts.c (vectorizable_simd_clone_call): Add
2266 SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_VARIABLE_STEP
2267 cases.
2268 * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_ALWAYS_TO.
2269 (omp_default_clause): Tweak for
2270 private/firstprivate/is_device_ptr variables on target
2271 construct and use_device_ptr on target data.
2272 (omp_check_private): Likewise.
2273 (omp_notice_variable): For references check whether what it refers
2274 to has mappable type, rather than the reference itself.
2275 (omp_is_private): Diagnose linear iteration variables on non-simd
2276 constructs.
2277 (omp_no_lastprivate): Return true only for Fortran.
2278 (gimplify_scan_omp_clauses): Or in GOVD_MAP_ALWAYS_TO for
2279 GOMP_MAP_ALWAYS_TO or GOMP_MAP_ALWAYS_TOFROM kinds.
2280 Add support for GOMP_MAP_FIRSTPRIVATE_REFERENCE and
2281 GOMP_MAP_ALWAYS_POINTER, remove old handling of structure element
2282 based array sections. Use GOMP_MAP_ALWAYS_P. Fix up handling of
2283 lastprivate and linear when combined with distribute. Gimplify
2284 variable low-bound for array reduction. Look through
2285 POINTER_PLUS_EXPR when looking for ADDR_EXPR for array section
2286 reductions.
2287 (gimplify_adjust_omp_clauses_1): For implicit references to
2288 variables with reference type and when not ref to scalar or
2289 ref to pointer, map what they refer to using tofrom and
2290 use GOMP_MAP_FIRSTPRIVATE_REFERENCE for the reference.
2291 (gimplify_adjust_omp_clauses): Remove GOMP_MAP_ALWAYS_POINTER
2292 from target exit data. Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE.
2293 Drop OMP_CLAUSE_MAP_PRIVATE support. Use GOMP_MAP_ALWAYS_P.
2294 Diagnose the same var on both firstprivate and lastprivate on
2295 distribute construct.
2296 (gimplify_omp_for): Fix up handling of predetermined
2297 lastprivate or linear iter vars when combined with distribute.
2298 (find_omp_teams, computable_teams_clause, optimize_target_teams): New
2299 functions.
2300 (gimplify_omp_workshare): Call optimize_target_teams.
2301 * omp-low.c (struct omp_region): Add sched_modifiers field.
2302 (struct omp_for_data): Likewise.
2303 (omp_any_child_fn_dumped): New variable.
2304 (extract_omp_for_data): Fill in sched_modifiers, and mask out
2305 OMP_CLAUSE_SCHEDULE_KIND bits outside of OMP_CLAUSE_SCHEDULE_MASK
2306 from sched_kind.
2307 (determine_parallel_type): Use only OMP_CLAUSE_SCHEDULE_MASK
2308 bits of OMP_CLAUSE_SCHED_KIND.
2309 (scan_sharing_clauses): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE,
2310 drop OMP_CLAUSE_MAP_PRIVATE support. Look through POINTER_PLUS_EXPR
2311 for array section reductions.
2312 (add_taskreg_looptemp_clauses): Add one extra _looptemp_ clause even
2313 for distribute parallel for, if there are lastprivate clauses on the
2314 for.
2315 (lower_rec_input_clauses): Handle non-zero low-bound on array
2316 section reductions.
2317 (lower_reduction_clauses): Likewise.
2318 (lower_send_clauses): Look through POINTER_PLUS_EXPR
2319 for array section reductions.
2320 (expand_parallel_call): Use nonmonotonic entrypoints for
2321 nonmonotonic: dynamic/guided.
2322 (expand_omp_taskreg): Call assign_assembler_name_if_neeeded on
2323 child_fn if current_function_decl has assembler name set, but child_fn
2324 does not. Dump the header and IL of the child function when not in SSA
2325 form.
2326 (expand_omp_target): Likewise. Pass num_teams and thread_limit
2327 arguments to BUILT_IN_GOMP_TARGET.
2328 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
2329 Initialize the extra _looptemp_ clause to fd->loop.n2.
2330 (expand_omp_for): Use nonmonotonic entrypoints for
2331 nonmonotonic: dynamic/guided. Initialize region->sched_modifiers.
2332 (expand_omp): Clear omp_any_child_fn_dumped. Dump function header
2333 again if we have dumped any child functions.
2334 (lower_omp_for_lastprivate): Determine the right count variable
2335 for distribute simd, or distribute parallel for{, simd}.
2336 (lower_omp_target): Handle GOMP_MAP_FIRSTPRIVATE_REFERENCE
2337 and GOMP_MAP_ALWAYS_POINTER. Drop OMP_CLAUSE_MAP_PRIVATE
2338 support.
2339 (simd_clone_clauses_extract): Handle variable step
2340 for references and arguments passed by reference.
2341 (simd_clone_mangle): Mangle ref/uval/val variable steps.
2342 (simd_clone_adjust_argument_types): Handle
2343 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_VARIABLE_STEP like
2344 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
2345 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_VARIABLE_STEP like
2346 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
2347 (simd_clone_linear_addend): New function.
2348 (simd_clone_adjust): Handle variable step like similarly
2349 to constant step, use simd_clone_linear_addend to determine
2350 the actual step at runtime.
2351
2352 2015-11-05 Nathan Sidwell <nathan@codesourcery.com>
2353
2354 * target.def (goacc.dim_limit): New hook.
2355 * targhooks.h (default_goacc_dim_limit): Declare.
2356 * doc/tm.texi.in (TARGET_GOACC_DIM_LIMIT): Add.
2357 * doc/tm.texi: Rebuilt.
2358 * omp-low.h (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): Declare.
2359 * omp-low.c (get_oacc_fn_dim_size, get_oacc_ifn_dim_arg): New.
2360 (default_goacc_dim_limit): New.
2361 * config/nvptx/nvptx.c (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
2362 (nvptx_goacc_dim_limit) New.
2363 (TARGET_GOACC_DIM_LIMIT): Override.
2364 * tree-vrp.c: Include omp-low.h, target.h.
2365 (extract_range_basic): Add handling for IFN_GOACC_DIM_SIZE &
2366 IFN_GOACC_DIM_POS.
2367
2368 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
2369
2370 * tree-vect-generic.c (do_compare): Use -1 for true
2371 result instead of 1.
2372
2373 2015-11-05 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
2374
2375 * config/aarch64/aarch64.c
2376 (aarch64_can_use_per_function_literal_pools_p): New.
2377 (aarch64_use_blocks_for_constant_p): Adjust declaration
2378 and use aarch64_can_use_function_literal_pools_p.
2379 (aarch64_select_rtx_section): Update.
2380
2381 2015-11-05 Ilya Enkovich <enkovich.gnu@gmail.com>
2382
2383 * targhooks.c (default_get_mask_mode): Use BLKmode in
2384 case target doesn't support required vector mode.
2385 * stor-layout.c (layout_type); Check for BLKmode.
2386
2387 2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
2388 Sebastian Pop <s.pop@samsung.com>
2389
2390 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
2391 Remove use of parameter_rename_map.
2392 (copy_def): Remove.
2393 (copy_internal_parameters): Remove.
2394 (graphite_regenerate_ast_isl): Remove call to copy_internal_parameters.
2395 * sese.c (new_sese_info): Do not initialize parameter_rename_map.
2396 (free_sese_info): Do not free parameter_rename_map.
2397 (set_rename): Do not use parameter_rename_map.
2398 (rename_uses): Update call to set_rename.
2399 (graphite_copy_stmts_from_block): Do not use parameter_rename_map.
2400 * sese.h (parameter_rename_map_t): Remove.
2401 (struct sese_info_t): Remove field parameter_rename_map.
2402
2403 2015-11-04 Aditya Kumar <aditya.k7@samsung.com>
2404 Sebastian Pop <s.pop@samsung.com>
2405
2406 * graphite-isl-ast-to-gimple.c: Include tree-cfg.h.
2407 (translate_isl_ast_node_user): Add more dumps: call print_loops_bb.
2408 * graphite-scop-detection.c (dot_all_scops_1): Moved out of
2409 anonymous namespace.
2410 * graphite-sese-to-poly.c (ssa_name_version_typesize): Remove.
2411 (isl_id_for_pbb): Use a buffer of size 10.
2412 (isl_id_for_ssa_name): Same.
2413 * sese.c (set_rename): Add more dumps.
2414
2415 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2416
2417 * omp-low.c (struct omp_context): Remove reduction_map field.
2418 (lookup_oacc_reduction, maybe_lookup_oacc_reduction): Delete.
2419 (new_omp_context, delete_omp_context, scan_omp_target): Remove
2420 reduction_map handling.
2421 (lower_omp_target): Remove obsolete openacc reduction handling.
2422
2423 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2424
2425 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): Add checking.
2426
2427 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2428 Cesar Philippidis <cesar@codesourcery.com>
2429
2430 * config/nvptx/nvptx.c: Include gimple headers.
2431 (worker_red_size, worker_red_align, worker_red_name,
2432 worker_red_sym): New.
2433 (nvptx_option_override): Initialize worker reduction buffer.
2434 (nvptx_file_end): Write out worker reduction buffer var.
2435 (nvptx_expand_shuffle, nvptx_expand_worker_addr,
2436 nvptx_expand_cmp_swap): New builtin expanders.
2437 (enum nvptx_builtins): New.
2438 (nvptx_builtin_decls): New.
2439 (nvptx_builtin_decl, nvptx_init_builtins, nvptx_expand_builtin): New
2440 (PTX_VECTOR_LENGTH, PTX_WORKER_LENGTH): New.
2441 (nvptx_get_worker_red_addr, nvptx_generate_vector_shuffle,
2442 nvptx_lockless_update): New helpers.
2443 (nvptx_goacc_reduction_setup, nvptx_goacc_reduction_init,
2444 nvptx_goacc_reduction_fini, nvptx_goacc_reduction_teaddown): New.
2445 (nvptx_goacc_reduction): New.
2446 (TARGET_INIT_BUILTINS, TARGET_EXPAND_BUILTIN,
2447 TARGET_BUILTIN_DECL): Override.
2448 (TARGET_GOACC_REDUCTION): Override.
2449
2450 2015-11-04 Nathan Sidwell <nathan@codesourcery.com>
2451 Cesar Philippidis <cesar@codesourcery.com>
2452
2453 * internal-fn.def (GOACC_REDUCTION): New.
2454 * internal-fn.h (enum ifn_goacc_reduction_kind): New.
2455 * internal-fn.c (expand_GOACC_REDUCTION): New.
2456 * target.def (goacc.reduction): New OpenACC hook.
2457 * targhooks.h (default_goacc_reduction): Declare.
2458 * doc/tm.texi.in: Add TARGET_GOACC_REDUCTION.
2459 * doc/tm.texi: Rebuilt.
2460 * omp-low.c (oacc_get_reduction_array_id, oacc_max_threads,
2461 scan_sharing_clauses): Remove oacc reduction handling here.
2462 (lower_rec_input_clauses): Don't handle OpenACC reductions here.
2463 (oacc_lower_reduction_var_helper): Delete.
2464 (lower_oacc_reductions): New.
2465 (lower_reduction_clauses): Don't handle OpenACC reductions here.
2466 (lower_oacc_head_tail): Call lower_oacc_reductions.
2467 (oacc_gimple_assign, oacc_init_reduction_array,
2468 oacc_initialize_reduction_data, oacc_finalize_reduction_data,
2469 oacc_process_reduction_data): Delete.
2470 (lower_omp_target): Remove old OpenACC reduction handling. Insert
2471 dummy OpenACC gang reduction for reductions at outer level.
2472 (oacc_loop_xform_head_tail): Transform IFN_GOACC_REDUCTION.
2473 (default_goacc_reduction): New.
2474 (execute_oacc_device_lower): Handle IFN_GOACC_REDUCTION.
2475
2476 2015-11-04 Martin Liska <mliska@suse.cz>
2477
2478 * cgraphunit.c (cgraph_node::expand_thunk): Call
2479 allocate_struct_function before init_function_start.
2480 (cgraph_node::expand): Use push_cfun and pop_cfun.
2481 * config/i386/i386.c (ix86_code_end): Call
2482 allocate_struct_function before init_function_start.
2483 * config/rs6000/rs6000.c (rs6000_code_end): Likewise.
2484 * function.c (init_function_start): Move preamble to all
2485 callers.
2486 * passes.c (do_per_function_toporder): Use push_cfun and pop_cfun.
2487 (execute_one_pass): Handle newly added TODO_discard_function.
2488 (execute_pass_list_1): Terminate if cfun equals to NULL.
2489 (execute_pass_list): Do not push and pop cfun, expect that
2490 cfun is set.
2491 * tree-pass.h (TODO_discard_function): Define.
2492
2493 2015-11-04 Mikhail Maltsev <maltsevm@gmail.com>
2494
2495 * cfganal.c (inverted_post_order_compute): Remove conditional
2496 compilation, use flag_checking.
2497 * config.in: Regenerate.
2498 * configure: Regenerate.
2499 * configure.ac: Remove ENABLE_CHECKING.
2500 * genconditions.c: Do not #undef ENABLE_CHECKING.
2501 * sese.h (bb_in_region): Comment out broken check.
2502 * tree-ssa-loop-manip.c (rewrite_into_loop_closed_ssa_1): Remove
2503 conditional compilation, use flag_checking.
2504
2505 2015-11-04 Tom de Vries <tom@codesourcery.com>
2506
2507 PR tree-optimization/67742
2508 * tree-ssa-structalias.c (struct fieldoff): Add restrict_pointed_type
2509 field.
2510 (push_fields_onto_fieldstack): Handle restrict_pointed_type field.
2511 (create_variable_info_for_1): Add and handle handle_param parameter.
2512 Add restrict handling.
2513 (create_variable_info_for): Call create_variable_info_for_1 with extra
2514 arg.
2515 (make_param_constraints): Drop restrict_name parameter. Ignore
2516 vi->only_restrict_pointers.
2517 (intra_create_variable_infos): Call create_variable_info_for_1 with
2518 extra arg. Remove restrict handling. Call make_param_constraints with
2519 one fewer arg.
2520
2521 2015-11-04 Tom de Vries <tom@codesourcery.com>
2522
2523 * tree-ssa-structalias.c (create_variable_info_for_1): Use decl_type
2524 variable.
2525
2526 2015-11-03 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
2527
2528 * config/arm/coff.h: Remove.
2529
2530 2015-11-03 Eric Botcazou <ebotcazou@adacore.com>
2531
2532 * gimple-expr.c (useless_type_conversion_p): Reinstate type canonical
2533 check for aggregate types and beef up comment for mode check.
2534
2535 2015-11-03 Richard Biener <rguenther@suse.de>
2536
2537 * tree-vect-data-refs.c (vect_analyze_data_refs): Do not collect
2538 data references here.
2539 * tree-vect-loop.c: Include cgraph.h.
2540 (vect_analyze_loop_2): Collect data references here.
2541 * tree-vect-slp.c (find_bb_location): Inline ...
2542 (vect_slp_bb): ... here. Renamed from vect_slp_analyze_bb.
2543 Factor in vect_slp_transform_bb.
2544 (vect_slp_transform_bb): Removed.
2545 (vect_slp_analyze_bb_1): Collect data references here.
2546 * tree-vectorizer.c (pass_slp_vectorize::execute): Call
2547 vect_slp_bb.
2548 * tree-vectorizer.h (vect_slp_bb): Declare.
2549 (vect_slp_analyze_bb): Remove.
2550 (vect_slp_transform_bb): Remove.
2551 (find_bb_location): Remove.
2552 (vect_analyze_data_refs): Remove stmt count reference parameter.
2553
2554 2015-11-03 Evgeny Stupachenko <evstupac@gmail.com>
2555
2556 * multiple_target.c (create_dispatcher_calls): Add target check
2557 on ifunc.
2558 (create_target_clone): Change assembler name for versioned declarations.
2559
2560 2015-11-03 Thomas Schwinge <thomas@codesourcery.com>
2561 Chung-Lin Tang <cltang@codesourcery.com>
2562
2563 * builtins.def (DEF_GOMP_BUILTIN): Enable for flag_openacc.
2564 * omp-low.c (check_omp_nesting_restrictions): Allow
2565 GIMPLE_OMP_ATOMIC_LOAD, GIMPLE_OMP_ATOMIC_STORE inside OpenACC
2566 contexts.
2567
2568 2015-11-03 Bilyan Borisov <bilyan.borisov@arm.com>
2569
2570 * config/aarch64/aarch64-simd-builtins.def (fmulx): New.
2571 * config/aarch64/aarch64-simd.md (aarch64_fmulx<mode>): New.
2572 * config/aarch64/arm_neon.h (vmulx_f32): Rewrite to call fmulx
2573 builtin.
2574 (vmulxq_f32): Likewise.
2575 (vmulx_f64): New.
2576 (vmulxq_f64): Rewrite to call fmulx builtin.
2577 (vmulxs_f32): Likewise.
2578 (vmulxd_f64): Likewise.
2579 (vmulx_lane_f32): Remove.
2580 * config/aarch64/iterators.md (UNSPEC): Add fmulx.
2581
2582 2015-11-03 Alan Lawrence <alan.lawrence@arm.com>
2583
2584 * config/aarch64/aarch64.md (*movhf_aarch64): Use
2585 aarch64_reg_or_fp_zero for second operand.
2586
2587 2015-11-03 Alexandre Oliva <aoliva@redhat.com>
2588
2589 * gimple-expr.c: Include hash-set.h and rtl.h.
2590 (mark_addressable_queue): New var.
2591 (mark_addressable): Factor actual marking into...
2592 (mark_addressable_1): ... this. Queue it up during expand.
2593 (mark_addressable_2): New.
2594 (flush_mark_addressable_queue): New.
2595 * gimple-expr.h (flush_mark_addressable_queue): Declare.
2596 * cfgexpand.c: Include gimple-expr.h.
2597 (pass_expand::execute): Flush mark_addressable queue.
2598
2599 2015-11-02 Alexandre Oliva <aoliva@redhat.com>
2600
2601 * tree-ssa-ifcombine.c (tree_ssa_ifcombine_bb_1): Factor out
2602 bb_no_side_effects_p tests...
2603 (tree_ssa_ifcombine_bb): ... here.
2604
2605 PR tree-optimization/68083
2606 * tree-ssa-ifcombine.c: Include tree-ssa.h.
2607 (bb_no_side_effects_p): Test for undefined uses too.
2608 * tree-ssa.c (gimple_uses_undefined_value_p): New.
2609 * tree-ssa.h (gimple_uses_undefined_value_p): Declare.
2610
2611 2015-11-02 Jeff Law <law@redhat.com>
2612
2613 * tree-ssa-threadupdate.c (valid_jump_thread_path): Also detect
2614 cases where the loop latch edge is in the middle of an FSM path.
2615
2616 2015-11-03 Tom de Vries <tom@codesourcery.com>
2617
2618 * tree-ssa-structalias.c (make_restrict_var_constraints): Rename to ...
2619 (make_param_constraints): ... this. Add and handle restrict_name
2620 parameter. Handle is_full_var case.
2621 (intra_create_variable_infos): Use make_param_constraints.
2622
2623 2015-11-03 Tom de Vries <tom@codesourcery.com>
2624
2625 * tree-ssa-structalias.c (make_restrict_var_constraints): Replace
2626 make_copy_constraint call with make_constraint_from call.
2627
2628 2015-11-02 Andreas Tobler <andreast@gcc.gnu.org>
2629
2630 * config/rs6000/freebsd64.h (ASM_SPEC32): Adust spec to handle
2631 PIE executables.
2632
2633 2015-11-02 Richard Sandiford <richard.sandiford@arm.com>
2634
2635 * builtins.h (fold_fma): Move to fold-const-call.h.
2636 * builtins.c: Include fold-const-call.h.
2637 (mathfn_built_in_2): New function, split out from...
2638 (mathfn_built_in_1): ...here.
2639 (do_real_to_int_conversion, fold_const_builtin_pow)
2640 (fold_const_builtin_logb, fold_const_builtin_significand)
2641 (fold_const_builtin_load_exponent, do_mpfr_arg1, do_mpfr_arg2)
2642 (do_mpfr_arg3, do_mpfr_sincos, do_mpfr_bessel_n, do_mpc_arg1): Delete.
2643 (fold_builtin_sincos): Use fold_const_call to handle constants.
2644 (fold_builtin_1, fold_builtin_2, fold_builtin_3): Add explicit
2645 checks for ERROR_MARK. Use fold_const_call to handle constant
2646 folds for math functions.
2647 (fold_fma): Move to fold-const-call.c.
2648 * fold-const.c: Include fold-const-call.h.
2649 * Makefile.in (OBJS): Add fold-const-call.o.
2650 (PLUGIN_HEADERS): Add fold-const-call.h.
2651 * realmpfr.h (real_from_mpfr): Allow the format to be specified
2652 directly.
2653 * realmpfr.c (real_from_mpfr): Likewise.
2654 * fold-const-call.h, fold-const-call.c: New files.
2655
2656 2015-11-02 Julian Brown <julian@codesourcery.com>
2657
2658 * config/arm/neon-testgen.ml (emit_epilogue): Remove extraneous
2659 brackets and semicolon.
2660
2661 2015-11-02 Alan Lawrence <alan.lawrence@arm.com>
2662
2663 Revert:
2664 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
2665
2666 PR tree-optimization/65963
2667 * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
2668 LSHIFT_EXPRs as equivalent MULT_EXPRs.
2669
2670 2015-11-02 Thomas Schwinge <thomas@codesourcery.com>
2671
2672 PR middle-end/68166
2673 * fold-const.c: Include "md5.h".
2674
2675 2015-11-01 Jeff Law <law@redhat.com>
2676
2677 * vmsdbgout.c: Revert unused header file reduction patch.
2678
2679 * config/mcore/mcore.c: Include regs.h.
2680
2681 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
2682
2683 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Rewrite.
2684
2685 2015-10-31 Segher Boessenkool <segher@kernel.crashing.org>
2686
2687 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Use the
2688 same condition for testing whether RS6000_PIC_OFFSET_TABLE_REGNUM is
2689 live as for using it elsewhere, for TARGET_MINIMAL_TOC.
2690
2691 2015-10-31 Markus Trippelsdorf <markus@trippelsdorf.de>
2692
2693 * ggc-common.c: Restore needed header for checking=release.
2694
2695 2015-10-31 Tom de Vries <tom@codesourcery.com>
2696
2697 * fold-const.c (fold_unary_loc): Tune POINTER_PLUS_EXPR folding.
2698
2699 2015-10-31 Tom de Vries <tom@codesourcery.com>
2700
2701 * tree-ssa-structalias.c (intra_create_variable_infos): Don't expect
2702 existing varinfo for arguments.
2703
2704 2015-10-31 Tom de Vries <tom@codesourcery.com>
2705
2706 * tree-ssa-structalias.c (ipa_pta_execute): Add extra arg to call to
2707 create_function_info_for. Dump constraints generated during
2708 create_function_info_for. Move intra_create_variable_infos call and
2709 function-return-values-escape bit to ...
2710 (create_function_info_for): ... here, and merge
2711 intra_create_variable_infos call with argument loop. Add and handle
2712 nonlocal_p parameter.
2713
2714 2015-10-31 Tom de Vries <tom@codesourcery.com>
2715
2716 * tree-ssa-structalias.c (create_function_info_for): Make sure prev_vi
2717 updating is alap, and seperated from preceding code. Make sure
2718 insert_vi_for_tree is seperated from surrounding code.
2719
2720 2015-10-31 Tom de Vries <tom@codesourcery.com>
2721
2722 * tree-ssa-structalias.c (ipa_pta_execute): Use make_copy_constraint.
2723
2724 2015-10-30 Jeff Law <law@redhat.com>
2725 Nathan Sidwell <nathan@acm.org>
2726
2727 * config/nvptx/nvptx.h (HARD_REGNO_NREGS): Avoid warning on unused
2728 args.
2729 (MOVE_MAX): Set to 8.
2730
2731 2015-10-30 Cesar Philippidis <cesar@codesourcery.com>
2732
2733 * cgraph.c: Include context.h for offloading.
2734 * varpool.c: Include context.h and omp-low.h.
2735
2736 2015-10-30 Anatoly Sokolov <aesok@post.ru>
2737
2738 * rtl.h (contains_symbol_ref_p): Declare.
2739 (SYMBOL_REF_P): Define.
2740 * rtlanal.c (contains_symbol_ref_p: New function.
2741 * lra-constraints.c (contains_symbol_ref_p): Remove.
2742 * var-tracking.c (contains_symbol_ref): Remove.
2743 (track_expr_p): Use contains_symbol_ref_p instead of
2744 contains_symbol_ref.
2745
2746 2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
2747
2748 * gimple-fold.c (fold_array_ctor_reference): Move searching code to:
2749 * fold-const.c (get_array_ctor_element_at_index): New.
2750 (fold): Remove binary-search through CONSTRUCTOR, call previous.
2751
2752 * fold-const.h (get_array_ctor_element_at_index): New.
2753
2754 2015-10-30 Evgeny Stupachenko <evstupac@gmail.com>
2755
2756 * Makefile.in (OBJS): Add multiple_target.o.
2757 * attrib.c (make_attribute): Moved from config/i386/i386.c
2758 * config/i386/i386.c (make_attribute): Deleted.
2759 * multiple_target.c (create_dispatcher_calls): New.
2760 (get_attr_len): Ditto.
2761 (get_attr_str): Ditto.
2762 (separate_attrs): Ditto.
2763 (is_valid_asm_symbol): Ditto.
2764 (create_new_asm_name): Ditto.
2765 (create_target_clone): Ditto.
2766 (expand_target_clones): Ditto.
2767 (ipa_target_clone): Ditto.
2768 (ipa_dispatcher_calls): Ditto.
2769 * passes.def (pass_target_clone): Two new ipa passes.
2770 * tree-pass.h (make_pass_target_clone): Ditto.
2771 * doc/extend.texi (target_clones): New attribute description.
2772
2773 2015-10-30 Vladimir Makarov <vmakarov@redhat.com>
2774
2775 PR rtl-optimization/68106
2776 * lra-remat.c (input_regno_present_p): Process hard regs
2777 explicitly present in machine description insns.
2778 (call_used_input_regno_present_p): Ditto.
2779 (calculate_gen_cands): Ditto.
2780 (do_remat): Ditto.
2781
2782 2015-10-30 Jim Wilson <jim.wilson@linaro.org>
2783
2784 * config/arm/neon-testgen.ml: Fix comment typo.
2785
2786 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
2787
2788 * rtlanal.c (reg_set_p): Expand function comment.
2789
2790 2015-10-30 Andrew MacLeod <amacleod@redhat.com>
2791
2792 * alias.c: Remove unused headers.
2793 * asan.c: Likewise.
2794 * attribs.c: Likewise.
2795 * auto-inc-dec.c: Likewise.
2796 * auto-profile.c: Likewise.
2797 * bb-reorder.c: Likewise.
2798 * bitmap.c: Likewise.
2799 * bt-load.c: Likewise.
2800 * builtins.c: Likewise.
2801 * caller-save.c: Likewise.
2802 * calls.c: Likewise.
2803 * ccmp.c: Likewise.
2804 * cfg.c: Likewise.
2805 * cfganal.c: Likewise.
2806 * cfgbuild.c: Likewise.
2807 * cfgcleanup.c: Likewise.
2808 * cfgexpand.c: Likewise.
2809 * cfghooks.c: Likewise.
2810 * cfgloop.c: Likewise.
2811 * cfgloopanal.c: Likewise.
2812 * cfgloopmanip.c: Likewise.
2813 * cfgrtl.c: Likewise.
2814 * cgraph.c: Likewise.
2815 * cgraphbuild.c: Likewise.
2816 * cgraphclones.c: Likewise.
2817 * cgraphunit.c: Likewise.
2818 * cilk-common.c: Likewise.
2819 * combine-stack-adj.c: Likewise.
2820 * combine.c: Likewise.
2821 * compare-elim.c: Likewise.
2822 * convert.c: Likewise.
2823 * coverage.c: Likewise.
2824 * cppbuiltin.c: Likewise.
2825 * cprop.c: Likewise.
2826 * cse.c: Likewise.
2827 * cselib.c: Likewise.
2828 * data-streamer-in.c: Likewise.
2829 * data-streamer-out.c: Likewise.
2830 * data-streamer.c: Likewise.
2831 * dbxout.c: Likewise.
2832 * dce.c: Likewise.
2833 * ddg.c: Likewise.
2834 * debug.c: Likewise.
2835 * df-core.c: Likewise.
2836 * df-problems.c: Likewise.
2837 * df-scan.c: Likewise.
2838 * dfp.c: Likewise.
2839 * dojump.c: Likewise.
2840 * dominance.c: Likewise.
2841 * domwalk.c: Likewise.
2842 * double-int.c: Likewise.
2843 * dse.c: Likewise.
2844 * dumpfile.c: Likewise.
2845 * dwarf2asm.c: Likewise.
2846 * dwarf2cfi.c: Likewise.
2847 * dwarf2out.c: Likewise.
2848 * emit-rtl.c: Likewise.
2849 * except.c: Likewise.
2850 * explow.c: Likewise.
2851 * expmed.c: Likewise.
2852 * expr.c: Likewise.
2853 * final.c: Likewise.
2854 * fixed-value.c: Likewise.
2855 * fold-const.c: Likewise.
2856 * function.c: Likewise.
2857 * fwprop.c: Likewise.
2858 * gcse.c: Likewise.
2859 * generic-match-head.c: Likewise.
2860 * ggc-common.c: Likewise.
2861 * gimple-builder.c: Likewise.
2862 * gimple-expr.c: Likewise.
2863 * gimple-fold.c: Likewise.
2864 * gimple-iterator.c: Likewise.
2865 * gimple-low.c: Likewise.
2866 * gimple-match-head.c: Likewise.
2867 * gimple-pretty-print.c: Likewise.
2868 * gimple-ssa-isolate-paths.c: Likewise.
2869 * gimple-ssa-strength-reduction.c: Likewise.
2870 * gimple-streamer-in.c: Likewise.
2871 * gimple-streamer-out.c: Likewise.
2872 * gimple-walk.c: Likewise.
2873 * gimple.c: Likewise.
2874 * gimplify-me.c: Likewise.
2875 * gimplify.c: Likewise.
2876 * godump.c: Likewise.
2877 * graph.c: Likewise.
2878 * graphds.c: Likewise.
2879 * haifa-sched.c: Likewise.
2880 * hw-doloop.c: Likewise.
2881 * ifcvt.c: Likewise.
2882 * init-regs.c: Likewise.
2883 * internal-fn.c: Likewise.
2884 * ipa-chkp.c: Likewise.
2885 * ipa-comdats.c: Likewise.
2886 * ipa-cp.c: Likewise.
2887 * ipa-devirt.c: Likewise.
2888 * ipa-icf-gimple.c: Likewise.
2889 * ipa-icf.c: Likewise.
2890 * ipa-inline-analysis.c: Likewise.
2891 * ipa-inline-transform.c: Likewise.
2892 * ipa-inline.c: Likewise.
2893 * ipa-polymorphic-call.c: Likewise.
2894 * ipa-profile.c: Likewise.
2895 * ipa-prop.c: Likewise.
2896 * ipa-pure-const.c: Likewise.
2897 * ipa-ref.c: Likewise.
2898 * ipa-reference.c: Likewise.
2899 * ipa-split.c: Likewise.
2900 * ipa-utils.c: Likewise.
2901 * ipa-visibility.c: Likewise.
2902 * ipa.c: Likewise.
2903 * ira-build.c: Likewise.
2904 * ira-color.c: Likewise.
2905 * ira-conflicts.c: Likewise.
2906 * ira-costs.c: Likewise.
2907 * ira-emit.c: Likewise.
2908 * ira-lives.c: Likewise.
2909 * ira.c: Likewise.
2910 * jump.c: Likewise.
2911 * langhooks.c: Likewise.
2912 * lcm.c: Likewise.
2913 * lists.c: Likewise.
2914 * loop-doloop.c: Likewise.
2915 * loop-init.c: Likewise.
2916 * loop-invariant.c: Likewise.
2917 * loop-iv.c: Likewise.
2918 * loop-unroll.c: Likewise.
2919 * lower-subreg.c: Likewise.
2920 * lra-assigns.c: Likewise.
2921 * lra-coalesce.c: Likewise.
2922 * lra-constraints.c: Likewise.
2923 * lra-eliminations.c: Likewise.
2924 * lra-lives.c: Likewise.
2925 * lra-remat.c: Likewise.
2926 * lra-spills.c: Likewise.
2927 * lra.c: Likewise.
2928 * lto-cgraph.c: Likewise.
2929 * lto-compress.c: Likewise.
2930 * lto-opts.c: Likewise.
2931 * lto-section-in.c: Likewise.
2932 * lto-section-out.c: Likewise.
2933 * lto-streamer-in.c: Likewise.
2934 * lto-streamer-out.c: Likewise.
2935 * lto-streamer.c: Likewise.
2936 * mcf.c: Likewise.
2937 * mode-switching.c: Likewise.
2938 * modulo-sched.c: Likewise.
2939 * optabs.c: Likewise.
2940 * opts-global.c: Likewise.
2941 * passes.c: Likewise.
2942 * plugin.c: Likewise.
2943 * postreload-gcse.c: Likewise.
2944 * postreload.c: Likewise.
2945 * predict.c: Likewise.
2946 * print-tree.c: Likewise.
2947 * profile.c: Likewise.
2948 * real.c: Likewise.
2949 * realmpfr.c: Likewise.
2950 * recog.c: Likewise.
2951 * ree.c: Likewise.
2952 * reg-stack.c: Likewise.
2953 * regcprop.c: Likewise.
2954 * reginfo.c: Likewise.
2955 * regrename.c: Likewise.
2956 * regstat.c: Likewise.
2957 * reload.c: Likewise.
2958 * reload1.c: Likewise.
2959 * reorg.c: Likewise.
2960 * resource.c: Likewise.
2961 * rtl-chkp.c: Likewise.
2962 * rtl-error.c: Likewise.
2963 * rtlanal.c: Likewise.
2964 * rtlhooks.c: Likewise.
2965 * sanopt.c: Likewise.
2966 * sched-deps.c: Likewise.
2967 * sched-ebb.c: Likewise.
2968 * sched-rgn.c: Likewise.
2969 * sdbout.c: Likewise.
2970 * sel-sched-dump.c: Likewise.
2971 * sel-sched-ir.c: Likewise.
2972 * sel-sched.c: Likewise.
2973 * sese.c: Likewise.
2974 * shrink-wrap.c: Likewise.
2975 * simplify-rtx.c: Likewise.
2976 * stack-ptr-mod.c: Likewise.
2977 * statistics.c: Likewise.
2978 * stmt.c: Likewise.
2979 * stor-layout.c: Likewise.
2980 * store-motion.c: Likewise.
2981 * stringpool.c: Likewise.
2982 * symtab.c: Likewise.
2983 * target-globals.c: Likewise.
2984 * targhooks.c: Likewise.
2985 * toplev.c: Likewise.
2986 * tracer.c: Likewise.
2987 * trans-mem.c: Likewise.
2988 * tree-affine.c: Likewise.
2989 * tree-call-cdce.c: Likewise.
2990 * tree-cfg.c: Likewise.
2991 * tree-cfgcleanup.c: Likewise.
2992 * tree-chkp-opt.c: Likewise.
2993 * tree-chkp.c: Likewise.
2994 * tree-chrec.c: Likewise.
2995 * tree-complex.c: Likewise.
2996 * tree-data-ref.c: Likewise.
2997 * tree-dfa.c: Likewise.
2998 * tree-diagnostic.c: Likewise.
2999 * tree-dump.c: Likewise.
3000 * tree-eh.c: Likewise.
3001 * tree-emutls.c: Likewise.
3002 * tree-if-conv.c: Likewise.
3003 * tree-inline.c: Likewise.
3004 * tree-into-ssa.c: Likewise.
3005 * tree-iterator.c: Likewise.
3006 * tree-loop-distribution.c: Likewise.
3007 * tree-nested.c: Likewise.
3008 * tree-nrv.c: Likewise.
3009 * tree-object-size.c: Likewise.
3010 * tree-outof-ssa.c: Likewise.
3011 * tree-parloops.c: Likewise.
3012 * tree-phinodes.c: Likewise.
3013 * tree-predcom.c: Likewise.
3014 * tree-pretty-print.c: Likewise.
3015 * tree-profile.c: Likewise.
3016 * tree-scalar-evolution.c: Likewise.
3017 * tree-sra.c: Likewise.
3018 * tree-ssa-address.c: Likewise.
3019 * tree-ssa-alias.c: Likewise.
3020 * tree-ssa-ccp.c: Likewise.
3021 * tree-ssa-coalesce.c: Likewise.
3022 * tree-ssa-copy.c: Likewise.
3023 * tree-ssa-dce.c: Likewise.
3024 * tree-ssa-dse.c: Likewise.
3025 * tree-ssa-forwprop.c: Likewise.
3026 * tree-ssa-ifcombine.c: Likewise.
3027 * tree-ssa-live.c: Likewise.
3028 * tree-ssa-loop-ch.c: Likewise.
3029 * tree-ssa-loop-im.c: Likewise.
3030 * tree-ssa-loop-ivcanon.c: Likewise.
3031 * tree-ssa-loop-ivopts.c: Likewise.
3032 * tree-ssa-loop-manip.c: Likewise.
3033 * tree-ssa-loop-niter.c: Likewise.
3034 * tree-ssa-loop-prefetch.c: Likewise.
3035 * tree-ssa-loop-unswitch.c: Likewise.
3036 * tree-ssa-loop.c: Likewise.
3037 * tree-ssa-math-opts.c: Likewise.
3038 * tree-ssa-operands.c: Likewise.
3039 * tree-ssa-phiopt.c: Likewise.
3040 * tree-ssa-phiprop.c: Likewise.
3041 * tree-ssa-pre.c: Likewise.
3042 * tree-ssa-propagate.c: Likewise.
3043 * tree-ssa-reassoc.c: Likewise.
3044 * tree-ssa-scopedtables.c: Likewise.
3045 * tree-ssa-sink.c: Likewise.
3046 * tree-ssa-strlen.c: Likewise.
3047 * tree-ssa-structalias.c: Likewise.
3048 * tree-ssa-tail-merge.c: Likewise.
3049 * tree-ssa-ter.c: Likewise.
3050 * tree-ssa-threadupdate.c: Likewise.
3051 * tree-ssa-uncprop.c: Likewise.
3052 * tree-ssa-uninit.c: Likewise.
3053 * tree-ssa.c: Likewise.
3054 * tree-ssanames.c: Likewise.
3055 * tree-stdarg.c: Likewise.
3056 * tree-streamer-in.c: Likewise.
3057 * tree-streamer-out.c: Likewise.
3058 * tree-streamer.c: Likewise.
3059 * tree-switch-conversion.c: Likewise.
3060 * tree-tailcall.c: Likewise.
3061 * tree-vect-data-refs.c: Likewise.
3062 * tree-vect-generic.c: Likewise.
3063 * tree-vect-loop-manip.c: Likewise.
3064 * tree-vect-loop.c: Likewise.
3065 * tree-vect-patterns.c: Likewise.
3066 * tree-vect-slp.c: Likewise.
3067 * tree-vect-stmts.c: Likewise.
3068 * tree-vectorizer.c: Likewise.
3069 * tree-vrp.c: Likewise.
3070 * tree.c: Likewise.
3071 * tsan.c: Likewise.
3072 * ubsan.c: Likewise.
3073 * value-prof.c: Likewise.
3074 * var-tracking.c: Likewise.
3075 * varasm.c: Likewise.
3076 * varpool.c: Likewise.
3077 * vmsdbgout.c: Likewise.
3078 * vtable-verify.c: Likewise.
3079 * web.c: Likewise.
3080 * wide-int-print.cc: Likewise.
3081 * wide-int.cc: Likewise.
3082 * xcoffout.c: Likewise.
3083
3084 2015-10-30 James Greenhalgh <james.greenhalgh@arm.com>
3085
3086 * doc/invoke.texi (fdump-rtl-@var{pass}): Clarify relationship
3087 between pass numbering and execution order.
3088
3089 2015-10-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
3090
3091 * config/arm/arm.c (cortex_a9_sched_adjust_cost): Use reg_set_p to
3092 check for dependencies.
3093
3094 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
3095
3096 * tree-ssa-math-opts.c (pass_cse_sincos::execute): Don't free
3097 CDI_DOMINATORS.
3098
3099 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
3100
3101 * real.h (format_helper): New.
3102 (real_convert, exact_real_truncate, real_from_string3, real_to_target)
3103 (real_from_target, real_nan, real_2expN, real_value_truncate)
3104 (significand_size, real_from_string2, exact_real_inverse)
3105 (exact_real_inverse, real_powi, real_trunc, real_floor, real_ceil)
3106 (real_round, real_isinteger, real_from_integer): Replace
3107 machine_mode arguments with format_helper arguments.
3108 * real.c (exact_real_inverse, real_from_string2, real_from_string3)
3109 (real_from_integer, real_nan, real_2expN, real_convert)
3110 (real_value_truncate, exact_real_truncate, real_to_target)
3111 (real_from_target, significand_size, real_powi, real_trunc)
3112 (real_floor, real_ceil, real_round, real_isinteger): Replace
3113 machine_mode arguments with format_helper arguments.
3114 (real_to_target_fmt, real_from_target_fmt): Delete.
3115 * dfp.h (decimal_real_convert): Replace mode argument with real_format.
3116 * dfp.c (decimal_to_binary, decimal_real_convert): Replace mode
3117 argument with real_format.
3118 * builtins.c (do_real_to_int_conversion): Update type of fn argument.
3119
3120 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
3121
3122 * fixed-value.c (check_real_for_fixed_mode, fixed_from_string)
3123 (fixed_to_decimal, fixed_convert_from_real)
3124 (real_convert_from_fixed): Fix mode arguments to real_2expN.
3125
3126 2015-10-30 Richard Sandiford <richard.sandiford@arm.com>
3127
3128 * real.h (REAL_MODE_FORMAT): Abort if the mode isn't a
3129 SCALAR_FLOAT_MODE_P.
3130
3131 2015-10-30 Alan Lawrence <alan.lawrence@arm.com>
3132
3133 * tree-sra.c (scalarizable_type_p): Comment variable-length arrays.
3134 (completely_scalarize): Comment zero-length arrays.
3135 (get_access_replacement): Correct comment re. precondition.
3136
3137 2015-10-30 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
3138
3139 * config/i386/i386.c (get_builtin_code_for_version): Set priority
3140 for PROCESSOR_ZNVER1.
3141 (enum processor_model): Add M_AMDFAM17H_znver1.
3142 (struct arch_names_table): Likewise.
3143 * doc/extend.texi: ADD znver1.
3144
3145 2015-10-30 Richard Biener <rguenther@suse.de>
3146
3147 * gimple-fold.c (fold_gimple_assign): Do not dispatch to
3148 fold () on single RHSs. Allow CONSTRUCTORS with trailing
3149 zeros to be folded to VECTOR_CSTs.
3150 * tree.c (build_vector_from_ctor): Handle VECTOR_CST elements.
3151 * fold-const.c (fold): Use build_vector_from_ctor.
3152
3153 2015-10-30 Evandro Menezes <e.menezes@samsung.com>
3154
3155 * config/aarch64/aarch64.md (*movhf_aarch64): Change the type of
3156 "mov %0.h[0], %1.h[0] to "neon_move".
3157 (*movtf_aarch64): Change the type of "fmov %s0, wzr" to "f_mcr".
3158 (*cmov<mode>_insn): Change the types of "mov %<w>0, {-1,1}" to
3159 "mov_imm".
3160 (*cmovsi_insn_uxtw): Likewise.
3161
3162 2015-10-30 Tom de Vries <tom@codesourcery.com>
3163
3164 * tree-ssa-structalias.c (ipa_pta_execute): Declare variable from as
3165 unsigned, and initialize, and use initial value instead of hardcoded
3166 constant. Add generic constraints dumping section. Don't dump global
3167 initializers constraints dumping section if empty. Don't update
3168 variable from if unused.
3169
3170 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
3171
3172 * config/alpha/alpha.c (alpha_function_arg): Use gcc_checking_assert,
3173 flag_checking and/or CHECKING_P to eliminate conditional compilation
3174 on ENABLE_CHECKING.
3175 * config/arm/arm.c (arm_unwind_emit_sequence): Likewise.
3176 * config/bfin/bfin.c (hwloop_optimize): Likewise.
3177 * config/i386/i386.c (ix86_print_operand_address): Likewise.
3178 (output_387_binary_op): Likewise.
3179 * config/ia64/ia64.c (ia64_sched_init, bundling): Likewise.
3180 * config/m68k/m68k.c (m68k_sched_md_init_global): Likewise.
3181 * config/rs6000/rs6000.c (htm_expand_builtin, rs6000_emit_prologue):
3182 Likewise.
3183 * config/rs6000/rs6000.h: Likewise.
3184 * config/visium/visium.c (visium_setup_incoming_varargs): Likewise.
3185
3186 2015-10-29 Kaz Kojima <kkojima@gcc.gnu.org>
3187
3188 * config/sh/sh.opt (mfdpic): Add missing period.
3189
3190 2015-08-29 Anatoly Sokolov <aesok@post.ru>
3191
3192 * config/mcore/mcore.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
3193 BASE_REGISTER_RTX_P, INDEX_REGISTER_RTX_P,
3194 GO_IF_LEGITIMATE_ADDRESS): Remove macros.
3195 * config/mcore/mcore.c (mcore_reg_ok_for_base_p,
3196 mcore_base_register_rtx_p, mcore_legitimate_index_p,
3197 mcore_legitimate_address_p): New functions.
3198 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
3199
3200 2015-10-29 Jeff Law <law@redhat.com>
3201
3202 * tree-ssa-scopedtables.h (const_and_copies): Remove invalidate
3203 method.
3204 * tree-ssa-scopedtables.h (const_and_copies::invalidate): Remove.
3205 * tree-ssa-threadedge.c
3206 (record_temporary_equivalences_from_stmts_at_dest): Remove
3207 backedge_seen argument and associated code which invalidated
3208 equivalences based on the value of that argument.
3209 (thread_through_normal_block): Corresponding changes.
3210
3211 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
3212
3213 * config/rs6000/rs6000.c (rs6000_reg_live_or_pic_offset_p): Move this
3214 function earlier in the file.
3215 (first_reg_to_save): Use rs6000_reg_live_or_pic_offset_p instead of
3216 df_regs_ever_live_p.
3217
3218 2015-10-29 Segher Boessenkool <segher@kernel.crashing.org>
3219
3220 * lra-constraints.c (process_address_1): Handle (mem:BLK (scratch))
3221 by ignoring it.
3222
3223 2015-10-29 Richard Henderson <rth@redhat.com>
3224
3225 PR target/68124
3226 PR rtl-opt/67609
3227 * config/i386/i386.c (ix86_cannot_change_mode_class): Tighten
3228 sse check to the exact conditions of PR 67609.
3229
3230 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
3231
3232 * config/rs6000/rs6000.c (rs6000_init_libfuncs): Split libfunc
3233 setup into 3 functions: init_float128_ibm, init_float128_ieee, and
3234 rs6000_init_libfuncs. If -mfloat128, add IFmode functions for all
3235 of the traditional names that TFmode uses for handling IEEE
3236 extended double. If -mfloat128, add KFmode functions for all of
3237 the emulation functions. If -mabi=ieeelongdouble and -mfloat128,
3238 make TFmode use the same emulation functions as KFmode.
3239 (init_float128_ibm): Likewise.
3240 (init_float128_ieee): Likewise.
3241 (rs6000_generate_compare): For IEEE 128-bit floating point
3242 comparisons, call the unordered comparison function instead of the
3243 ordered comparison function.
3244 (rs6000_expand_float128_convert): Deal with operands that are
3245 memory operands. Restructure the code to use a switch statement on
3246 the mode. Add support for TFmode defaulting to either IBM extended
3247 double or IEEE 128-bit floating point. If the underlying types are
3248 the same, use a move instead of a conversion function.
3249 (TARGET_C_MODE_FOR_SUFFIX): Define 'q' and 'Q' as the suffix to
3250 use for IEEE 128-bit floating point constants with -mfloat128.
3251 (rs6000_c_mode_for_suffix): Likewise.
3252 (TARGET_INVALID_BINARY_OP): Do not allow inter-mixing of IEEE
3253 128-bit floating point with IBM extended double floating point.
3254 (rs6000_invalid_binary_op): Likewise.
3255 (rs6000_gen_le_vsx_permute): On little endian systems generate a
3256 ROTATE insn instead of VEC_SELECT for IEEE 128-bit floating point
3257 types that can go in vector registers.
3258 (chain_contains_only_swaps): Properly swap IEEE 128-bit floating
3259 point types that can go in vector registers on little endian
3260 PowerPC systems.
3261 (mark_swaps_for_removal): Likewise.
3262 (rs6000_analyze_swaps): Likewise.
3263 (rs6000_mangle_type): Use U10__float128 for IEEE 128-bit floating point.
3264
3265 * config/rs6000/rs6000.md (FLOAT128_SFDFTF): Delete iterator,
3266 rework IEEE 128-bit floating point insns to deal with TFmode being
3267 either IBM extended double or IEEE 128-bit floating point.
3268 (IFKF): Likewise.
3269 (IBM128): Update iterator to add condition that the mode is IBM
3270 extended double.
3271 (IEEE128): New iterator for IEEE 128-bit floating point.
3272 (TFIFKF): Rename TFIFKF iterator to FLOAT128.
3273 (FLOAT128): Likewise.
3274 (signbit<mode>2): FLOAT128_IBM_P condition test moved into IBM128
3275 iterator.
3276 (neg<mode>2): Replace TFIFKF iterator with FLOAT128. Add support
3277 for TFmode being IEEE 128-bit floating point. Use IEEE128 iterator
3278 instead of hard coding TFmode or KFmode.
3279 (negtf2_internal): Likewise.
3280 (neg<mode>2_internal): Likewise.
3281 (abs<mode>2): Likewise.
3282 (abstf2_internal): Likewise.
3283 (abs<mode>2_internal): Likewise.
3284 (ieee_128bit_neg<mode>2): Likewise.
3285 (ieee_128bit_neg<mode>2_internal): Likewise.
3286 (ieee_128bit_abs<mode>2): Likewise.
3287 (ieee_128bit_abs<mode>2_internal): Likewise.
3288 (ieee_128bit_nabs<mode>2): Likewise.
3289 (ieee_128bit_nabs<mode>2_internal): Likewise.
3290 (extendiftf2): Add explicit conversions between 128-bit floating
3291 point types. Drop the old conversions that had become unwieldy.
3292 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
3293 (extendifkf2): Likewise.
3294 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
3295 (extendtfkf2): Likewise.
3296 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
3297 (trunciftf2): Likewise.
3298 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
3299 (truncifkf2): Likewise.
3300 (float<SDI:mode><IFKF:mode>2): Likewise.
3301 (trunckftf2): Likewise.
3302 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
3303 (trunctfif2): Likewise.
3304 (FP iterator): Allow TFmode to be IEEE 128-bit floating point.
3305 (extenddftf2): Rework 128-bit floating point conversions to
3306 properly handle -mabi=ieeelongdouble. Merge IFmode, TFmode, and
3307 KFmode expanders into one function.
3308 (extenddf<mode>2): Likewise.
3309 (extenddftf2_fprs): Likewise.
3310 (extenddf<mode>2_fprs): Likewise.
3311 (extenddftf2_vsx): Likewise.
3312 (extenddf<mode>2_vsx): Likewise.
3313 (extendsftf2): Likewise.
3314 (extendsf<mode>2): Likewise.
3315 (trunctfdf2): Likewise.
3316 (trunc<mode>df2): Likewise.
3317 (trunctfdf2_internal1): Likewise.
3318 (trunc<mode>df2_internal1): Likewise.
3319 (trunctfdf2_internal2): Likewise.
3320 (trunc<mode>df2_internal2): Likewise.
3321 (trunctfsf2): Likewise.
3322 (trunc<mode>sf2): Likewise.
3323 (trunctfsf2_fprs): Likewise.
3324 (trunc<mode>sf2_fprs): Likewise.
3325 (floatsit2f): Likewise.
3326 (floatsi<mode>2): Likewise.
3327 (fix_trunc_helper): Likewise.
3328 (fix_trunc_helper<mode>): Likewise.
3329 (fix_trunctfsi2): Likewise.
3330 (fix_trunc<mode>si2): Likewise.
3331 (fix_trunctfsi2_fprs): Likewise.
3332 (fix_trunc<mode>si2_fprs): Likewise.
3333 (fix_trunctfsi2_internal): Likewise.
3334 (fix_trunc<mode>si2_internal): Likewise.
3335 (fix_trunctfdi2): Likewise.
3336 (fix_trunc<mode>di2): Likewise.
3337 (fixuns_trunctf<mode>2): Likewise.
3338 (fixuns_trunc<IEEE128:mode><SDI:mode>2): Likewise.
3339 (floatditf2): Likewise.
3340 (floatdi<mode>2): Likewise.
3341 (floatuns<mode>tf2): Likewise.
3342 (floatuns<SDI:mode><IEEE128:mode>): Likewise.
3343 (cmptf_internal1): Use a mode iterator to add support for both
3344 types (IFmode, TFmode) that support IBM extended double.
3345 (cmp<mode>_internal1): Likewise.
3346 (cmptf_internal2): Likewise.
3347 (cmp<mode>_internal2): Likewise.
3348
3349 * doc/extend.texi (Floating Types): Document __ibm128 and
3350 __float128 on PowerPC.
3351
3352 * doc/invoke.texi (RS/6000 and PowerPC Options): Document
3353 -mfloat128 and -mno-float128.
3354
3355 2015-10-29 Michael Meissner <meissner@linux.vnet.ibm.com>
3356
3357 * config/rs6000/rs6000.h (ALTIVEC_VECTOR_MODE): Add IEEE 128-bit
3358 floating point modes that can go in vector registers.
3359 (MODES_TIEABLE_P): Move tests for vector modes before tests for
3360 scalar floating point, so that IEEE 128-bit floating point that
3361 can go in vector registers bind with vectors and not FP.
3362 (struct rs6000_args): Add libcall field.
3363
3364 * config/rs6000/rs6000.opt (-mfloat128-*): Delete -mfloat128-none
3365 and -mfloat128-software switches. Replace them with a binary
3366 -mfloat128 switch.
3367 (-mfloat128): Likewise.
3368
3369 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Allow
3370 128-bit floating point types in GPRs, even if the appropriate
3371 option enabling the type was not used.
3372 (rs6000_debug_reg_global): Remove -mfloat128-{software,none}
3373 debugging.
3374 (rs6000_setup_reg_addr_masks): Do not allow pre-increment and
3375 pre-decrement on IEEE 128-bit floating point values.
3376 (rs6000_init_hard_regno_mode_ok): Change test for whether TFmode
3377 is IEEE 128-bit floating point.
3378 (rs6000_init_hard_regno_mode_ok): Add reload handlers for IEEE
3379 128-bit floating point types that can go in vector registers.
3380 (rs6000_option_override_internal): Change -mfloat128-none and
3381 -mfloat128-software to -mfloat128, and move code to be near other
3382 VSX option handling.
3383 (rs6000_option_override_internal): Disable -mfloat128 if we don't
3384 have the Altivec ABI.
3385 (rs6000_init_builtins): Don't make TFmode use either IFmode or
3386 KFmode floating point nodes. Instead, have three separate nodes.
3387 (rs6000_scalar_mode_supported_p): Add support for IFmode to allow
3388 eventually moving the long double default to IEEE 128-bit floating
3389 point.
3390 (rs6000_opt_masks): Add -mfloat128.
3391 (struct rs6000_opt_var): Fix typo in comment.
3392 (init_cumulative_args): Initialize libcall field in
3393 CUMULATIVE_ARGS.
3394 (rs6000_function_arg): Treat library functions as if they had
3395 prototypes to prevent IEEE 128-bit support functions from passing
3396 arguments in both GPRs and vector registers.
3397 (rs6000_arg_partial_bytes): Likewise.
3398
3399 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add -mfloat128 as
3400 an option that can be turned on via -mcpu=<xxx>.
3401
3402 * config/rs6000/rs6000-opts.h (enum float128_type_t): Delete, no
3403 longer used.
3404
3405 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Define
3406 __FLOAT128__ if -mfloat128. Define __LONG_DOUBLE_IEEE128__ if long
3407 double is IEEE 128-bit. Define __LONG_DOUBLE_IBM128__ if long
3408 double is IBM extended double.
3409
3410 * config/rs6000/predicates.md (reg_or_indexed_operand): Allow
3411 SUBREGs.
3412
3413 2015-10-29 Mikhail Maltsev <maltsevm@gmail.com>
3414
3415 * genautomata.c: Use CHECKING_P instead of ENABLE_CHECKING.
3416 * genconditions.c: Define CHECKING_P in the generated code.
3417 * genextract.c: Use flag_checking in insn_extract.
3418 * gengtype.c (main): Remove conditional compilation.
3419 * gengtype.h: Likewise.
3420
3421 2015-10-29 Jeff Law <law@redhat.com>
3422
3423 PR tree-optimization/67892
3424 * tree-ssa-threadedge.c (simplify_controL_stmt_condition): Fix typo
3425 in comment.
3426 (thread_through_normal_block): If we have seen a backedge, then
3427 do nothing. No longer call find_jump_threads_backwards here.
3428 (thread_across_edge): Use find_jump_threads_backwards to find
3429 jump threads if the old style threader was not successful.
3430 * tree-ssa-threadbackward.c (get_gimple_control_stmt): Use
3431 gsi_last_nondebug_bb. Return NULL if the block does not end
3432 with a control statement.
3433 (find_jump_threads_backwards): Setup code moved here from
3434 tree-ssa-threadedge.c::thread_through_normal_block. Accept
3435 single edge argument instead of name & block.
3436 * tree-ssa-threadbackward.h (find_jump_threads_backwards): Update
3437 prototype.
3438
3439 2015-10-29 Tom de Vries <tom@codesourcery.com>
3440
3441 * fold-const.c (fold_unary_loc): Remove folding inhibition for restrict
3442 types.
3443
3444 2015-10-29 Nathan Sidwell <nathan@codesourcery.com>
3445
3446 * omp-low.c (lower_omp_target): Remove unreachable code & merge
3447 ifs.
3448
3449 2015-10-29 Marc Glisse <marc.glisse@inria.fr>
3450
3451 * match.pd (X-(X/Y)*Y): Properly handle conversions and commutativity.
3452
3453 2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
3454
3455 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
3456 guard_bb0 and use guard_bb throughout.
3457
3458 2015-10-29 Richard Sandiford <richard.sandiford@arm.com>
3459
3460 * tree-call-cdce.c (shrink_wrap_one_built_in_call): Remove
3461 unnecessary label.
3462
3463 2015-10-29 Richard Biener <rguenther@suse.de>
3464
3465 PR middle-end/68142
3466 * fold-const.c (extract_muldiv_1): Avoid introducing undefined
3467 overflow.
3468
3469 2015-10-29 Andrew MacLeod <amacleod@redhat.com>
3470
3471 * alias.c: Reorder #include statements and remove duplicates.
3472 * asan.c: Likewise.
3473 * attribs.c: Likewise.
3474 * auto-inc-dec.c: Likewise.
3475 * auto-profile.c: Likewise.
3476 * bb-reorder.c: Likewise.
3477 * bt-load.c: Likewise.
3478 * builtins.c: Likewise.
3479 * caller-save.c: Likewise.
3480 * calls.c: Likewise.
3481 * ccmp.c: Likewise.
3482 * cfg.c: Likewise.
3483 * cfganal.c: Likewise.
3484 * cfgbuild.c: Likewise.
3485 * cfgcleanup.c: Likewise.
3486 * cfgexpand.c: Likewise.
3487 * cfghooks.c: Likewise.
3488 * cfgloop.c: Likewise.
3489 * cfgloopanal.c: Likewise.
3490 * cfgloopmanip.c: Likewise.
3491 * cfgrtl.c: Likewise.
3492 * cgraph.c: Likewise.
3493 * cgraphbuild.c: Likewise.
3494 * cgraphclones.c: Likewise.
3495 * cgraphunit.c: Likewise.
3496 * cilk-common.c: Likewise.
3497 * combine-stack-adj.c: Likewise.
3498 * combine.c: Likewise.
3499 * compare-elim.c: Likewise.
3500 * convert.c: Likewise.
3501 * coverage.c: Likewise.
3502 * cppbuiltin.c: Likewise.
3503 * cprop.c: Likewise.
3504 * cse.c: Likewise.
3505 * cselib.c: Likewise.
3506 * data-streamer-in.c: Likewise.
3507 * data-streamer-out.c: Likewise.
3508 * data-streamer.c: Likewise.
3509 * dbxout.c: Likewise.
3510 * dce.c: Likewise.
3511 * ddg.c: Likewise.
3512 * debug.c: Likewise.
3513 * df-core.c: Likewise.
3514 * df-problems.c: Likewise.
3515 * df-scan.c: Likewise.
3516 * dfp.c: Likewise.
3517 * dojump.c: Likewise.
3518 * dominance.c: Likewise.
3519 * double-int.c: Likewise.
3520 * dse.c: Likewise.
3521 * dumpfile.c: Likewise.
3522 * dwarf2asm.c: Likewise.
3523 * dwarf2cfi.c: Likewise.
3524 * dwarf2out.c: Likewise.
3525 * emit-rtl.c: Likewise.
3526 * except.c: Likewise.
3527 * explow.c: Likewise.
3528 * expmed.c: Likewise.
3529 * expr.c: Likewise.
3530 * final.c: Likewise.
3531 * fixed-value.c: Likewise.
3532 * fold-const.c: Likewise.
3533 * function.c: Likewise.
3534 * fwprop.c: Likewise.
3535 * gcse.c: Likewise.
3536 * generic-match-head.c: Likewise.
3537 * ggc-common.c: Likewise.
3538 * gimple-builder.c: Likewise.
3539 * gimple-expr.c: Likewise.
3540 * gimple-fold.c: Likewise.
3541 * gimple-iterator.c: Likewise.
3542 * gimple-low.c: Likewise.
3543 * gimple-match-head.c: Likewise.
3544 * gimple-pretty-print.c: Likewise.
3545 * gimple-ssa-isolate-paths.c: Likewise.
3546 * gimple-ssa-strength-reduction.c: Likewise.
3547 * gimple-streamer-in.c: Likewise.
3548 * gimple-streamer-out.c: Likewise.
3549 * gimple-walk.c: Likewise.
3550 * gimple.c: Likewise.
3551 * gimplify-me.c: Likewise.
3552 * gimplify.c: Likewise.
3553 * godump.c: Likewise.
3554 * graph.c: Likewise.
3555 * graphite-poly.c: Likewise.
3556 * haifa-sched.c: Likewise.
3557 * hw-doloop.c: Likewise.
3558 * ifcvt.c: Likewise.
3559 * incpath.c: Likewise.
3560 * init-regs.c: Likewise.
3561 * internal-fn.c: Likewise.
3562 * ipa-chkp.c: Likewise.
3563 * ipa-comdats.c: Likewise.
3564 * ipa-cp.c: Likewise.
3565 * ipa-devirt.c: Likewise.
3566 * ipa-icf-gimple.c: Likewise.
3567 * ipa-icf.c: Likewise.
3568 * ipa-inline-analysis.c: Likewise.
3569 * ipa-inline-transform.c: Likewise.
3570 * ipa-inline.c: Likewise.
3571 * ipa-polymorphic-call.c: Likewise.
3572 * ipa-profile.c: Likewise.
3573 * ipa-prop.c: Likewise.
3574 * ipa-pure-const.c: Likewise.
3575 * ipa-ref.c: Likewise.
3576 * ipa-reference.c: Likewise.
3577 * ipa-split.c: Likewise.
3578 * ipa-utils.c: Likewise.
3579 * ipa-visibility.c: Likewise.
3580 * ipa.c: Likewise.
3581 * ira-build.c: Likewise.
3582 * ira-color.c: Likewise.
3583 * ira-conflicts.c: Likewise.
3584 * ira-costs.c: Likewise.
3585 * ira-emit.c: Likewise.
3586 * ira-lives.c: Likewise.
3587 * ira.c: Likewise.
3588 * jump.c: Likewise.
3589 * langhooks.c: Likewise.
3590 * lcm.c: Likewise.
3591 * lists.c: Likewise.
3592 * loop-doloop.c: Likewise.
3593 * loop-init.c: Likewise.
3594 * loop-invariant.c: Likewise.
3595 * loop-iv.c: Likewise.
3596 * loop-unroll.c: Likewise.
3597 * lower-subreg.c: Likewise.
3598 * lra-assigns.c: Likewise.
3599 * lra-coalesce.c: Likewise.
3600 * lra-constraints.c: Likewise.
3601 * lra-eliminations.c: Likewise.
3602 * lra-lives.c: Likewise.
3603 * lra-remat.c: Likewise.
3604 * lra-spills.c: Likewise.
3605 * lra.c: Likewise.
3606 * lto-cgraph.c: Likewise.
3607 * lto-compress.c: Likewise.
3608 * lto-opts.c: Likewise.
3609 * lto-section-in.c: Likewise.
3610 * lto-section-out.c: Likewise.
3611 * lto-streamer-in.c: Likewise.
3612 * lto-streamer-out.c: Likewise.
3613 * lto-streamer.c: Likewise.
3614 * mode-switching.c: Likewise.
3615 * modulo-sched.c: Likewise.
3616 * omp-low.c: Likewise.
3617 * optabs.c: Likewise.
3618 * opts-global.c: Likewise.
3619 * passes.c: Likewise.
3620 * plugin.c: Likewise.
3621 * postreload-gcse.c: Likewise.
3622 * postreload.c: Likewise.
3623 * predict.c: Likewise.
3624 * print-tree.c: Likewise.
3625 * profile.c: Likewise.
3626 * real.c: Likewise.
3627 * realmpfr.c: Likewise.
3628 * recog.c: Likewise.
3629 * ree.c: Likewise.
3630 * reg-stack.c: Likewise.
3631 * regcprop.c: Likewise.
3632 * reginfo.c: Likewise.
3633 * regrename.c: Likewise.
3634 * regstat.c: Likewise.
3635 * reload.c: Likewise.
3636 * reload1.c: Likewise.
3637 * reorg.c: Likewise.
3638 * resource.c: Likewise.
3639 * rtl-chkp.c: Likewise.
3640 * rtl-error.c: Likewise.
3641 * rtlanal.c: Likewise.
3642 * rtlhooks.c: Likewise.
3643 * sanopt.c: Likewise.
3644 * sched-deps.c: Likewise.
3645 * sched-ebb.c: Likewise.
3646 * sched-rgn.c: Likewise.
3647 * sese.c: Likewise.
3648 * shrink-wrap.c: Likewise.
3649 * simplify-rtx.c: Likewise.
3650 * stack-ptr-mod.c: Likewise.
3651 * statistics.c: Likewise.
3652 * stmt.c: Likewise.
3653 * stor-layout.c: Likewise.
3654 * store-motion.c: Likewise.
3655 * stringpool.c: Likewise.
3656 * symtab.c: Likewise.
3657 * target-globals.c: Likewise.
3658 * targhooks.c: Likewise.
3659 * toplev.c: Likewise.
3660 * tracer.c: Likewise.
3661 * trans-mem.c: Likewise.
3662 * tree-affine.c: Likewise.
3663 * tree-call-cdce.c: Likewise.
3664 * tree-cfg.c: Likewise.
3665 * tree-cfgcleanup.c: Likewise.
3666 * tree-chkp-opt.c: Likewise.
3667 * tree-chkp.c: Likewise.
3668 * tree-chrec.c: Likewise.
3669 * tree-complex.c: Likewise.
3670 * tree-data-ref.c: Likewise.
3671 * tree-dfa.c: Likewise.
3672 * tree-diagnostic.c: Likewise.
3673 * tree-dump.c: Likewise.
3674 * tree-eh.c: Likewise.
3675 * tree-emutls.c: Likewise.
3676 * tree-if-conv.c: Likewise.
3677 * tree-inline.c: Likewise.
3678 * tree-into-ssa.c: Likewise.
3679 * tree-iterator.c: Likewise.
3680 * tree-loop-distribution.c: Likewise.
3681 * tree-nested.c: Likewise.
3682 * tree-nrv.c: Likewise.
3683 * tree-object-size.c: Likewise.
3684 * tree-outof-ssa.c: Likewise.
3685 * tree-parloops.c: Likewise.
3686 * tree-phinodes.c: Likewise.
3687 * tree-predcom.c: Likewise.
3688 * tree-pretty-print.c: Likewise.
3689 * tree-profile.c: Likewise.
3690 * tree-scalar-evolution.c: Likewise.
3691 * tree-sra.c: Likewise.
3692 * tree-ssa-address.c: Likewise.
3693 * tree-ssa-alias.c: Likewise.
3694 * tree-ssa-ccp.c: Likewise.
3695 * tree-ssa-coalesce.c: Likewise.
3696 * tree-ssa-copy.c: Likewise.
3697 * tree-ssa-dce.c: Likewise.
3698 * tree-ssa-dom.c: Likewise.
3699 * tree-ssa-dse.c: Likewise.
3700 * tree-ssa-forwprop.c: Likewise.
3701 * tree-ssa-ifcombine.c: Likewise.
3702 * tree-ssa-live.c: Likewise.
3703 * tree-ssa-loop-ch.c: Likewise.
3704 * tree-ssa-loop-im.c: Likewise.
3705 * tree-ssa-loop-ivcanon.c: Likewise.
3706 * tree-ssa-loop-ivopts.c: Likewise.
3707 * tree-ssa-loop-manip.c: Likewise.
3708 * tree-ssa-loop-niter.c: Likewise.
3709 * tree-ssa-loop-prefetch.c: Likewise.
3710 * tree-ssa-loop-unswitch.c: Likewise.
3711 * tree-ssa-loop.c: Likewise.
3712 * tree-ssa-math-opts.c: Likewise.
3713 * tree-ssa-operands.c: Likewise.
3714 * tree-ssa-phiopt.c: Likewise.
3715 * tree-ssa-phiprop.c: Likewise.
3716 * tree-ssa-pre.c: Likewise.
3717 * tree-ssa-propagate.c: Likewise.
3718 * tree-ssa-reassoc.c: Likewise.
3719 * tree-ssa-sccvn.c: Likewise.
3720 * tree-ssa-scopedtables.c: Likewise.
3721 * tree-ssa-sink.c: Likewise.
3722 * tree-ssa-strlen.c: Likewise.
3723 * tree-ssa-structalias.c: Likewise.
3724 * tree-ssa-tail-merge.c: Likewise.
3725 * tree-ssa-ter.c: Likewise.
3726 * tree-ssa-threadedge.c: Likewise.
3727 * tree-ssa-threadupdate.c: Likewise.
3728 * tree-ssa-uncprop.c: Likewise.
3729 * tree-ssa-uninit.c: Likewise.
3730 * tree-ssa.c: Likewise.
3731 * tree-ssanames.c: Likewise.
3732 * tree-stdarg.c: Likewise.
3733 * tree-streamer-in.c: Likewise.
3734 * tree-streamer-out.c: Likewise.
3735 * tree-streamer.c: Likewise.
3736 * tree-switch-conversion.c: Likewise.
3737 * tree-tailcall.c: Likewise.
3738 * tree-vect-data-refs.c: Likewise.
3739 * tree-vect-generic.c: Likewise.
3740 * tree-vect-loop-manip.c: Likewise.
3741 * tree-vect-loop.c: Likewise.
3742 * tree-vect-patterns.c: Likewise.
3743 * tree-vect-slp.c: Likewise.
3744 * tree-vect-stmts.c: Likewise.
3745 * tree-vectorizer.c: Likewise.
3746 * tree-vrp.c: Likewise.
3747 * tree.c: Likewise.
3748 * tsan.c: Likewise.
3749 * ubsan.c: Likewise.
3750 * value-prof.c: Likewise.
3751 * var-tracking.c: Likewise.
3752 * varasm.c: Likewise.
3753 * varpool.c: Likewise.
3754 * vtable-verify.c: Likewise.
3755 * web.c: Likewise.
3756 * wide-int-print.cc: Likewise.
3757 * wide-int.cc: Likewise.
3758 * xcoffout.c: Likewise.
3759
3760 2015-10-29 H.J. Lu <hongjiu.lu@intel.com>
3761
3762 * Makefile.in (NO_PIE_CFLAGS): New.
3763 (NO_PIE_FLAG): Likewise.
3764 (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
3765 (NO_PIE_FLAG_FOR_BUILD): Likewise.
3766 (BUILD_NO_PIE_CFLAGS): Likewise.
3767 (BUILD_NO_PIE_FLAG): Likewise.
3768 (COMPILER): Replace @NO_PIE_CFLAGS@ with $(NO_PIE_CFLAGS).
3769 (LINKER): Replace @NO_PIE_FLAG@ with $(NO_PIE_FLAG).
3770 (BUILD_CFLAGS): Replace @NO_PIE_CFLAGS@ with
3771 $(BUILD_NO_PIE_CFLAGS).
3772 (BUILD_CXXFLAGS): Likewise.
3773 (BUILD_LDFLAGS ): Replace @NO_PIE_FLAG@ with
3774 $(BUILD_NO_PIE_FLAG).
3775 * configure.ac (BUILD_NO_PIE_CFLAGS): New. AC_SUBST.
3776 (BUILD_NO_PIE_FLAG): Likewise.
3777 (NO_PIE_CFLAGS_FOR_BUILD): Likewise.
3778 (NO_PIE_FLAG_FOR_BUILD): Likewise.
3779 * configure: Regenerated.
3780
3781 2015-10-29 Richard Biener <rguenther@suse.de>
3782
3783 PR middle-end/56956
3784 * fold-const.c (fold_cond_expr_with_comparison): Do not fold
3785 unsigned conditonal negation to ABS_EXPR.
3786
3787 2015-10-29 Richard Biener <rguenther@suse.de>
3788
3789 * gimple-match-head.c (gimple_simplify): Remove premature checking
3790 of builtin_decl_implicit of function calls we simplify.
3791
3792 2015-10-29 Bin Cheng <bin.cheng@arm.com>
3793
3794 * tree-ssa-loop-ivopts.c (split_address_cost): Check depends_on.
3795 (get_computation_cost_at): Ditto.
3796 (determine_use_iv_cost_address): Pass NULL for arguments depends_on
3797 and inv_expr_id.
3798
3799 2015-10-28 Tom de Vries <tom@codesourcery.com>
3800
3801 * tree-ssa-structalias.c (intra_create_variable_infos): Remove
3802 superfluous code.
3803
3804 2015-10-28 Jason Merrill <jason@redhat.com>
3805
3806 * Makefile.in (TAGS): Include libcpp and libiberty.
3807
3808 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
3809
3810 * omp-low.c (MASK_GANG, MASK_WORKER, MASK_VECTOR): Delete.
3811 (extract_omp_for_data): Remove OpenACC special handling of
3812 chunking.
3813
3814 * config/nvptx/nvptx.c (nvptx_print_operand): Remove 'd' case.
3815 (struct parallel): Update comment.
3816 (nvptx_reorg): Likewise.
3817 (nvptx_neuter): Cleanup whitespace.
3818
3819 2015-10-28 Richard Henderson <rth@redhat.com>
3820
3821 * tree-eh.c (mark_reachable_handlers): Fix typo in assert.
3822
3823 2015-10-05 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
3824
3825 PR target/67839
3826 * config/avr/predicates.md (low_io_address_operand): Don't
3827 consider MODE when computing upper bound.
3828 (io_address_operand): Likewise.
3829
3830 2015-10-28 Jan Hubicka <hubicka@ucw.cz>
3831
3832 * fold-const.c (operand_equal_p): Do not verify that types are
3833 compatible for MEM_REFs.
3834
3835 2015-10-28 Richard Biener <rguenther@suse.de>
3836
3837 * gimple-match-head.c (gimple_simplify): Allow VECTOR_CSTs
3838 in simplifying VEC_COND_EXPR conditions.
3839
3840 2015-10-28 Tom de Vries <tom@codesourcery.com>
3841
3842 * tree-ssa-structalias.c (intra_create_variable_infos): Don't iterate
3843 into vi_next of a full_var.
3844
3845 2015-10-28 Tom de Vries <tom@codesourcery.com>
3846
3847 * tree-ssa-structalias.c (new_var_info, make_heapvar)
3848 (make_constraint_from_restrict, make_constraint_from_global_restrict)
3849 (create_function_info_for, create_variable_info_for_1)
3850 (create_variable_info_for): Add and handle add_id parameter.
3851 (get_call_vi, new_scalar_tmp_constraint_exp, handle_rhs_call)
3852 (init_base_vars): Add extra argument to calls to new_var_info.
3853 (get_vi_for_tree): Add extra argument to call to
3854 create_variable_info_for.
3855 (process_constraint, do_deref, process_all_all_constraints): Add extra
3856 argument to calls to new_scalar_tmp_constraint_exp.
3857 (handle_lhs_call, find_func_aliases_for_builtin_call): Add extra
3858 argument to calls to make_heapvar.
3859 (make_restrict_var_constraints): Add extra argument to call to
3860 make_constraint_from_global_restrict.
3861 (intra_create_variable_infos): Add extra argument to call to
3862 create_variable_info_for_1.
3863 (ipa_pta_execute): Add extra argument to call to
3864 create_function_info_for.
3865
3866 2015-10-28 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
3867
3868 * config/aarch64/aarch64.md (call, call_value, sibcall): Handle noplt.
3869 (sibcall_value): Likewise.
3870
3871 2015-10-28 Nathan Sidwell <nathan@codesourcery.com>
3872
3873 * config/nvptx/nvptx.h (struct machine_function): Add
3874 axis_predicate.
3875 * config/nvptx/nvptx-protos.h (nvptx_expand_oacc_fork,
3876 nvptx_expand_oacc_join): Declare.
3877 * config/nvptx/nvptx.md (UNSPEC_NTID, UNSPEC_TID): Delete.
3878 (UNSPEC_DIM_SIZE, UNSPEC_SHARED_DATA, UNSPEC_BIT_CONV,
3879 UNSPEC_SHUFFLE, UNSPEC_BR_UNIFIED): New.
3880 (UNSPECV_BARSYNC, UNSPECV_DIM_POS, UNSPECV_FORK, UNSPECV_FORKED,
3881 UNSPECV_JOINING, UNSPECV_JOIN): New.
3882 (BITS, BITD): New mode iterators.
3883 (br_true_uni, br_false_uni): New.
3884 (*oacc_ntid_insn, oacc_ntid, *oacc_tid_insn, oacc_tid): Delete.
3885 (oacc_dim_size, oacc_dim_pos): New.
3886 (nvptx_fork, nvptx_forked, nvptx_joining, nvptx_join): New.
3887 (oacc_fork, oacc_join): New.
3888 (nvptx_shuffle<mode>, unpack<mode>si2, packsi<mode>2): New.
3889 (worker_load<mode>, worker_store<mode>): New.
3890 (nvptx_barsync): New.
3891 * config/nvptx/nvptx.c: Include gimple.h & dumpfile.h.
3892 (SHUFFLE_UP, SHUFFLE_DOWN, SHUFFLE_BFLY, SHUFFLE_IDX): Define.
3893 (worker_bcast_hwm, worker_bcast_align, worker_bcast_name,
3894 worker_bcast_sym): New.
3895 (nvptx_option_override): Initialize worker broadcast buffer.
3896 (nvptx_emit_forking, nvptx_emit_joining): New.
3897 (nvptx_init_axis_predicate): New.
3898 (nvptx_declare_function_name): Init axis predicates.
3899 (nvptx_expand_call): Add fork/join markers around routine call.
3900 (nvptx_expand_oacc_fork, nvptx_expand_oacc_join): New.
3901 (nvptx_gen_unpack, nvptx_gen_pack, nvptx_gen_shuffle): New.
3902 (nvptx_gen_vcast): New.
3903 (struct wcast_data_t): New.
3904 (enum propagate_mask): New.
3905 (nvptx_gen_wcast): New.
3906 (nvptx_print_operand): Add 'S' case.
3907 (struct parallel): New.
3908 (parallel::parallel, parallel::~parallel): New.
3909 (bb_insn_map_t, insn_bb_t, insn_bb_vec_t): New typedefs.
3910 (nvptx_split_blocks, nvptx_discover_pre, nvptx_dump_pars,
3911 nvptx_find_par, nvptx_discover_pars): New.
3912 (nvptx_propagate): New.
3913 (vprop_gen, nvptx_vpropagate): New.
3914 (wprop_gen, nvptx_wpropagate): New.
3915 (nvptx_wsync): New.
3916 (nvptx_single, nvptx_skip_par): New.
3917 (nvptx_process_pars, nvptx_neuter_pars): New.
3918 (ntptx_reorg): Split blocks, generate parallel structure, apply
3919 neutering.
3920 (nvptx_cannot_copy_insn_p): New.
3921 (nvptx_file_end): Emit worker broadcast decl.
3922 (nvptx_goacc_fork_join): New.
3923 (TARGET_CANNOT_COPY_INSN_P): Override.
3924 (TARGET_GOACC_FORK_JOIN): Override.
3925
3926 2015-10-28 Richard Biener <rguenther@suse.de>
3927
3928 * fold-const.c (negate_expr_p): Adjust the division case to
3929 properly avoid introducing undefined overflow.
3930 (fold_negate_expr): Likewise.
3931
3932 2015-10-28 Richard Biener <rguenther@suse.de>
3933
3934 PR tree-optimization/65962
3935 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
3936 Avoid creating loop carried dependences also for outer loops
3937 of the loop a use to replace is in.
3938
3939 2015-10-28 Richard Biener <rguenther@suse.de>
3940
3941 * common.opt (fchecking): New flag controlling flag_checking.
3942 * passes.c (verify_curr_properties): Drop DEBUG_FUNCTION.
3943 * timevar.c (timer::print): Adjust output.
3944 * doc/invoke.texi (fchecking): Document.
3945
3946 2015-10-28 Richard Biener <rguenther@suse.de>
3947
3948 PR middle-end/68067
3949 * fold-const.c (negate_expr_p): We cannot negate plus or minus
3950 if overflow is not wrapping. Likewise multiplication unless
3951 one operand is constant and not power of two.
3952 (fold_negate_expr): Adjust accordingly.
3953
3954 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
3955
3956 * omp-low.c (struct omp_context): Remove gwv_below, gwv_this
3957 fields.
3958 (is_oacc_parallel, is_oacc_kernels): New.
3959 (enclosing_target_ctx): May return NULL.
3960 (ctx_in_oacc_kernels_region): New.
3961 (check_oacc_kernel_gwv): New.
3962 (oacc_loop_or_target_p): Delete.
3963 (scan_omp_for): Don't calculate gwv mask. Check parallel clause
3964 operands. Strip reductions fro kernels.
3965 (scan_omp_target): Don't calculate gwv mask.
3966 (lower_oacc_head_mark, lower_oacc_loop_marker,
3967 lower_oacc_head_tail): New.
3968 (struct oacc_collapse): New.
3969 (expand_oacc_collapse_init, expand_oacc_collapse_vars): New.
3970 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
3971 Remove OpenACC handling.
3972 (expand_oacc_for): New.
3973 (expand_omp_for): Call expand_oacc_for.
3974 (lower_omp_for): Call lower_oacc_head_tail.
3975
3976 2015-10-27 Mikhail Maltsev <maltsevm@gmail.com>
3977
3978 * attribs.c (check_attribute_tables): New function, broken out from...
3979 (init_attributes): Use it.
3980 * cfgcleanup.c (try_optimize_cfg): Use flag_checking, CHECKING_P
3981 gcc_checking_assert and checking_* functions to eliminate
3982 ENABLE_CHECKING conditionals.
3983 * cfgexpand.c (expand_goto, expand_debug_expr): Likewise.
3984 (pass_expand::execute): Likewise.
3985 * cgraphclones.c (symbol_table::materialize_all_clones): Likewise.
3986 * cgraphunit.c (mark_functions_to_output): Likewise.
3987 (cgraph_node::expand_thunk): Likewise.
3988 (symbol_table::compile): Likewise.
3989 * ddg.c (add_cross_iteration_register_deps): Likewise.
3990 (create_ddg_all_sccs): Likewise.
3991 * df-core.c (df_finish_pass, df_analyze): Likewise.
3992 * diagnostic-core.h: Likewise.
3993 * diagnostic.c (diagnostic_report_diagnostic): Likewise.
3994 * dominance.c (calculate_dominance_info): Likewise.
3995 * dwarf2out.c (add_AT_die_ref): Likewise.
3996 (const_ok_for_output_1, mem_loc_descriptor): Likewise.
3997 (loc_list_from_tree, gen_lexical_block_die): Likewise.
3998 gen_type_die_with_usage, gen_type_die): Likewise.
3999 (dwarf2out_decl): Likewise.
4000 * emit-rtl.c (verify_rtx_sharing, reorder_insns_nobb): Likewise.
4001 * except.c (duplicate_eh_regions): Likewise.
4002 * fwprop.c (register_active_defs, update_df_init): Likewise.
4003 (fwprop_init, fwprop_done): Likewise.
4004 (update_uses): Likewise.
4005 * ggc-page.c (ggc_grow): Likewise.
4006 * gimplify.c (gimplify_body): Likewise.
4007 (gimplify_hasher::equal): Likewise.
4008 * graphite-isl-ast-to-gimple.c (graphite_verify): Likewise.
4009 * graphite-scop-detection.c (canonicalize_loop_closed_ssa_form):
4010 Likewise.
4011 * graphite-sese-to-poly.c (rewrite_reductions_out_of_ssa): Likewise.
4012 (rewrite_cross_bb_scalar_deps_out_of_ssa): Likwise.
4013 * hash-table.h (::find_empty_slot_for_expand): Likewise.
4014 * ifcvt.c (if_convert): Likewise.
4015 * ipa-cp.c (ipcp_propagate_stage): Likewise.
4016 * ipa-devirt.c (type_in_anonymous_namespace_p): Likewise.
4017 (odr_type_p, odr_types_equivalent_p): Likewise.
4018 (add_type_duplicate, get_odr_type): Likewise.
4019 * ipa-icf.c (sem_item_optimizer::execute): Likewise.
4020 (sem_item_optimizer::subdivide_classes_by_equality): Likewise.
4021 (sem_item_optimizer::verify_classes): Likewise.
4022 (sem_item_optimizer::traverse_congruence_split): Likewise.
4023 (sem_item_optimizer::checking_verify_classes): New.
4024 * ipa-icf.h (sem_item_optimizer::checking_verify_classes): Add new
4025 method.
4026 * cfgrtl.c (commit_edge_insertions): Likewise.
4027 (fixup_reorder_chain, cfg_layout_finalize): Likewise.
4028 (rtl_flow_call_edges_add): Likewise.
4029 * cgraph.c (symbol_table::create_edge): Likewise.
4030 (cgraph_edge::redirect_call_stmt_to_callee): Likewise.
4031 * cgraph.h (symtab_node): Likewise.
4032 (symtab_node::checking_verify_symtab_nodes): Define.
4033 (cgraph_node::checking_verify_cgraph_nodes): Define.
4034 * cfghooks.h (checking_verify_flow_info): Define.
4035 * cfgloop.h (checking_verify_loop_structure): Define.
4036 * dominance.h (checking_verify_dominators): Define.
4037 * et-forest.c: Fix comment.
4038 * ipa-inline-analysis.c (compute_inline_parameters): Use flag_checking,
4039 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
4040 ENABLE_CHECKING conditionals.
4041 * ipa-inline-transform.c (save_inline_function_body): Likewise.
4042 * ipa-inline.c (inline_small_functions): Likewise.
4043 (early_inliner): Likewise.
4044 * ipa-inline.h (estimate_edge_growth): Likewise.
4045 * ipa-visibility.c (function_and_variable_visibility): Likewise.
4046 * ipa.c (symbol_table::remove_unreachable_nodes): Likewise.
4047 (ipa_single_use): Likewise.
4048 * ira-int.h: Likewise.
4049 * ira.c (ira): Likewise.
4050 * loop-doloop.c (doloop_optimize_loops): Likewise.
4051 * loop-init.c (loop_optimizer_init, fix_loop_structure): Likewise.
4052 * loop-invariant.c (move_loop_invariants): Likewise.
4053 * lra-assigns.c (lra_assign): Likewise.
4054 * lra-constraints.c (lra_constraints): Likewise.
4055 * lra-eliminations.c (lra_eliminate): Likewise.
4056 * lra-int.h (struct lra_reg): Likewise.
4057 * lra-lives.c (check_pseudos_live_through_calls): Likewise.
4058 (lra_create_live_ranges_1): Likewise.
4059 * lra-remat.c (create_remat_bb_data): Likewise.
4060 * lra.c (lra_update_insn_recog_data, restore_scratches): Likewise.
4061 (lra): Likewise.
4062 (check_rtl): Always define. Remove incorrect guard around
4063 extract_constrain_insn call.
4064 * lto-cgraph.c (input_cgraph_1: Use flag_checking,
4065 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
4066 ENABLE_CHECKING conditionals.
4067 * lto-streamer-out.c (DFS::DFS): Likewise.
4068 (lto_output): Likewise.
4069 * lto-streamer.c (lto_streamer_init): Likewise.
4070 * omp-low.c (scan_omp_target, expand_omp_taskreg): Likewise.
4071 expand_omp_target, execute_expand_omp): Likewise.
4072 (lower_omp_target): Likewise.
4073 * passes.c (execute_function_todo): Likewise.
4074 (execute_todo, execute_one_pass): Likewise.
4075 (verify_curr_properties): Always define.
4076 * predict.c (tree_estimate_probability: Use flag_checking,
4077 CHECKING_P gcc_checking_assert and checking_* functions to eliminate
4078 ENABLE_CHECKING conditionals.
4079 (propagate_freq): Likewise.
4080 * pretty-print.c (pp_format): Likewise.
4081 * real.c (real_to_decimal_for_mode): Likewise.
4082 * recog.c (split_all_insns): Likewise.
4083 * regcprop.c (kill_value_one_regno): Likewise.
4084 (copy_value): Likewise.
4085 (validate_value_data): Define unconditionally.
4086 * reload.c: Fix comment.
4087 * timevar.c: Include options.h
4088 * tree-ssa.h (checking_verify_ssa): Define.
4089 * tree-ssa-loop-manip.h (checking_verify_loop_closed_ssa): Define.
4090 * sched-deps.c (CHECK): Remove unused macro.
4091 (add_or_update_dep_1, sd_add_dep: Use flag_checking, CHECKING_P
4092 gcc_checking_assert and checking_* functions to eliminate
4093 ENABLE_CHECKING conditionals.
4094 * sel-sched-ir.c (free_regset_pool, tidy_control_flow): Likewise.
4095 * sel-sched.c (struct moveop_static_params): Likewise.
4096 (find_best_reg_for_expr, move_cond_jump): Likewise.
4097 (move_op_orig_expr_not_found): Likewise.
4098 (code_motion_process_successors, move_op): Likewise.
4099 * ssa-iterators.h (first_readonly_imm_use): Likewise.
4100 (next_readonly_imm_use): Likewise.
4101 * store-motion.c (compute_store_table): Likewise.
4102 * symbol-summary.h (function_summary::function_summary): Likewise.
4103 * target.h (cumulative_args_t): Likewise.
4104 (get_cumulative_args, pack_cumulative_args): Likewise.
4105 * timevar.c: (timer::print): Likewise.
4106 * trans-mem.c (ipa_tm_execute): Likewise.
4107 * tree-cfg.c (move_stmt_op): Likewise.
4108 (move_sese_region_to_fn): Likewise.
4109 (gimple_flow_call_edges_add): Likewise.
4110 * tree-cfgcleanup.c (cleanup_tree_cfg_noloop, repair_loop_structures):
4111 Likewise.
4112 * tree-eh.c (remove_unreachable_handlers): Likewise.
4113 * tree-if-conv.c (pass_if_conversion::execute): Likewise.
4114 * tree-inline.c (expand_call_inline, optimize_inline_calls): Likewise.
4115 * tree-into-ssa.c (update_ssa): Likewise.
4116 * tree-loop-distribution.c (pass_loop_distribution::execute): Likewise.
4117 * tree-outof-ssa.c (eliminate_useless_phis, rewrite_trees): Likewise.
4118 * tree-parloops.c (pass_parallelize_loops::execute): Likewise.
4119 * tree-predcom.c (suitable_component_p): Likewise.
4120 * tree-profile.c (gimple_gen_const_delta_profiler): Likewise.
4121 * tree-ssa-alias.c (refs_may_alias_p_1): Likewise.
4122 * tree-ssa-live.c (verify_live_on_entry): Likewise.
4123 * tree-ssa-live.h (register_ssa_partition): Likewise.
4124 * tree-ssa-loop-ivcanon.c (tree_unroll_loops_completely): Likewise.
4125 * tree-ssa-loop-manip.c (add_exit_phi): Likewise.
4126 (tree_transform_and_unroll_loop): Likewise.
4127 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
4128 * tree-ssa-operands.c (get_expr_operands): Likewise.
4129 * tree-ssa-propagate.c (replace_exp_1): Likewise.
4130 * tree-ssa-structalias.c (rewrite_constraints): Likewise.
4131 * tree-ssa-ter.c (free_temp_expr_table): Likewise.
4132 * tree-ssa-threadupdate.c (duplicate_thread_path): Likewise.
4133 * tree-ssanames.c (release_ssa_name_fn): Likewise.
4134 * tree-stdarg.c (expand_ifn_va_arg): Likewise.
4135 * tree-vect-loop-manip.c
4136 (slpeel_tree_duplicate_loop_to_edge_cfg): Likewise.
4137 (slpeel_checking_verify_cfg_after_peeling): Likewise.
4138 (vect_do_peeling_for_loop_bound): Likewise.
4139 (vect_do_peeling_for_alignment): Likewise.
4140 * tree-vrp.c (supports_overflow_infinity): Likewise.
4141 (set_value_range): Likewise.
4142 * tree.c (free_lang_data_in_cgraph): Likewise.
4143 * value-prof.c (gimple_remove_histogram_value): Likewise.
4144 (free_hist): Likewise.
4145 * var-tracking.c (canonicalize_values_star): Likewise.
4146 (compute_bb_dataflow, vt_find_locations, vt_emit_notes): Likewise.
4147
4148 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4149
4150 * internal-fn.def (IFN_GOACC_DIM_SIZE, IFN_GOACC_DIM_POS,
4151 IFN_GOACC_LOOP): New.
4152 * internal-fn.h (enum ifn_unique_kind): Add IFN_UNIQUE_OACC_FORK,
4153 IFN_UNIQUE_OACC_JOIN, IFN_UNIQUE_OACC_HEAD_MARK,
4154 IFN_UNIQUE_OACC_TAIL_MARK.
4155 (enum ifn_goacc_loop_kind): New.
4156 * internal-fn.c (expand_UNIQUE): Add IFN_UNIQUE_OACC_FORK,
4157 IFN_UNIQUE_OACC_JOIN cases.
4158 (expand_GOACC_DIM_SIZE, expand_GOACC_DIM_POS): New.
4159 (expand_GOACC_LOOP): New.
4160 * target-insns.def (oacc_dim_pos, oacc_dim_size): New.
4161 * omp-low.c: Include gimple-pretty-print.h.
4162 (struct oacc_loop): New.
4163 (enum oacc_loop_flags): New.
4164 (oacc_thread_numbers): New.
4165 (oacc_xform_loop): New.
4166 (new_oacc_loop_raw, new_oacc_loop_outer, new_oacc_loop,
4167 new_oacc_loop_routine, finish_oacc_loop, free_oacc_loop): New,
4168 (dump_oacc_loop_part, dump_oacc_loop, debug_oacc_loop): New,
4169 (oacc_loop_discover_walk, oacc_loop_sibling_nrevers,
4170 oacc_loop_discovery): New.
4171 (oacc_loop_xform_head_tail, oacc_loop_xform_loop,
4172 oacc_loop_process): New.
4173 (oacc_loop_fixed_partitions, oacc_loop_partition): New.
4174 (execute_oacc_device_lower): Discover & process loops. Process
4175 internal fns.
4176 * target.def (goacc.fork_join): Change sense of hook, clarify
4177 documentation.
4178 * doc/tm.texi: Regenerated.
4179
4180 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4181
4182 * target-insns.def (oacc_fork, oacc_join): Define.
4183 * target.def (goacc.validate_dims): Adjust doc to avoid warning.
4184 (goacc.fork_join): New GOACC hook.
4185 * targhooks.h (default_goacc_fork_join): Declare.
4186 * omp-low.c (default_goacc_forkjoin): New.
4187 * doc/tm.texi.in (TARGET_GOACC_FORK_JOIN): Add.
4188 * doc/tm.texi: Regenerate.
4189
4190 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4191
4192 * omp-low.c (oacc_init_rediction_array): New.
4193 (oacc_initialize_reduction_data): Initialize array.
4194
4195 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4196
4197 * omp-low.c (pass_oacc_device_lower::execute): Ignore errors.
4198
4199 2015-10-27 Nathan Sidwell <nathan@codesourcery.com>
4200
4201 * internal-fn.c (expand_UNIQUE): New.
4202 * internal-fn.h (enum ifn_unique_kind): New.
4203 * internal-fn.def (IFN_UNIQUE): New.
4204 * target-insns.def (unique): Define.
4205 * gimple.h (gimple_call_internal_unique_p): New.
4206 * gimple.c (gimple_call_same_target_p): Check internal fn
4207 uniqueness.
4208 * tracer.c (ignore_bb_p): Check for IFN_UNIQUE call.
4209 * tree-ssa-threadedge.c
4210 (record_temporary_equivalences_from_stmts): Likewise.
4211 * tree-cfg.c (gmple_call_initialize_ctrl_altering): Likewise.
4212
4213 2015-10-27 Richard Henderson <rth@redhat.com>
4214
4215 PR rtl-opt/67609
4216 * config/i386/i386.c (ix86_cannot_change_mode_class): Disallow
4217 narrowing subregs on SSE and MMX registers.
4218 * doc/tm.texi.in (CANNOT_CHANGE_MODE_CLASS): Clarify when subregs that
4219 appear to be sub-words of multi-register pseudos must be rejected.
4220 * doc/tm.texi: Regenerate.
4221
4222 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4223
4224 PR target/68102
4225 * config/aarch64/aarch64.md (*movsi_aarch64): Check that
4226 operands[0] is a reg before taking its REGNO in split condition.
4227 (*movdi_aarch64): Likewise.
4228
4229 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4230
4231 * config/aarch64/aarch64.c (aarch64_output_simd_mov_immediate):
4232 Handle floating point inner modes properly.
4233
4234 2015-10-27 Alan Hayward <alan.hayward@arm.com>
4235
4236 * tree-vect-looop.c
4237 (vectorizable_live_operation): Change iterator.
4238
4239 2015-10-27 Abderrazek Zaafrani <a.zaafrani@samsung.com>
4240 Aditya Kumar <aditya.k7@samsung.com>
4241
4242 * graphite-optimize-isl.c (get_schedule_for_node_st): New callback
4243 function to schedule based on isl_schedule_node.
4244 (get_schedule_map_st): New schedule optimizer based on
4245 isl_schedule_node.
4246 (scop_get_domains): New. Return the isl_union_set containing the
4247 domains of all the pbbs.
4248 (optimize_isl): Call the new function get_schedule_map_st for isl-0.15
4249
4250 2015-10-27 H.J. Lu <hongjiu.lu@intel.com>
4251
4252 PR target/67215
4253 * calls.c (prepare_call_address): Don't handle -fno-plt here.
4254 * config/i386/i386.c (ix86_expand_call): Generate indirect call
4255 via GOT for -fno-plt. Support indirect call via GOT for x32.
4256 * config/i386/predicates.md (sibcall_memory_operand): Allow
4257 GOT memory operand.
4258
4259 2015-10-27 Richard Biener <rguenther@suse.de>
4260
4261 PR tree-optimization/68104
4262 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Move
4263 strided access check ...
4264 (vect_compute_data_refs_alignment): ... here.
4265
4266 2015-10-27 Daniel Jacobowitz <dan@codesourcery.com>
4267 Joseph Myers <joseph@codesourcery.com>
4268 Mark Shinwell <shinwell@codesourcery.com>
4269 Andrew Stubbs <ams@codesourcery.com>
4270 Rich Felker <dalias@libc.org>
4271
4272 * config.gcc: Handle --enable-fdpic.
4273 * config/sh/constraints.md (Ccl): New constraint.
4274 * config/sh/linux.h (SUBTARGET_LINK_EMUL_SUFFIX): Handle -mfdpic.
4275 * config/sh/sh-c.c (sh_cpu_cpp_builtins): Add __FDPIC__ and
4276 __SH_FDPIC__.
4277 * config/sh/sh-mem.cc (expand_block_move): Support FDPIC for calls to
4278 library functions.
4279 * config/sh/sh-protos.h (function_symbol_result): New struct.
4280 (function_symbol): Return function_symbol_result.
4281 (sh_get_fdpic_reg_initial_val, sh_load_function_descriptor): New
4282 declarations.
4283 * config/sh/sh.c (TARGET_ASM_INTEGER, sh_assemble_integer): Implement
4284 target hook.
4285 (TARGET_CANNOT_FORCE_CONST_MEM, sh_cannot_force_const_mem_p): Likewise.
4286 (sh_option_override): Force -fPIC if FDPIC is in effect.
4287 (sh_asm_output_addr_const_extra): Add UNSPEC_GOTFUNCDESC and
4288 UNSPEC_GOTOFFFUNCDESC cases.
4289 (prepare_move_operands): Use FDPIC initial GOT register for
4290 TLS-related GOT access; inhibit cross-section address offset constants
4291 for FDPIC.
4292 (sh_assemble_integer): New function.
4293 (sh_cannot_copy_insn_p): Inhibit copying insns that are FDPIC
4294 PC-relative call sites.
4295 (expand_ashiftrt): Adapt invocation of function_symbol.
4296 (sh_expand_prologue): Inhibit PC-relative GOT address load for FDPIC.
4297 (nonpic_symbol_mentioned_p): Add cases for UNSPEC_GOTFUNCDESC and
4298 UNSPEC_GOTOFFFUNCDESC.
4299 (legitimize_pic_address): Resolve function symbols to function
4300 descriptors for FDPIC. Do not use GOT-relative addressing for local
4301 data that may be read-only on FDPIC.
4302 (sh_emit_storesi, sh_emit_storehi): New functions.
4303 (sh_trampoline_init): Generate FDPIC trampolines.
4304 (sh_function_ok_for_sibcall): Add TARGET_FDPIC check.
4305 (sh_expand_sym_label2reg): Don't assume sibcalls are local.
4306 (sh_output_mi_thunk): Generate FDPIC call.
4307 (function_symbol): Return function_symbol_result. For SFUNC_STATIC on
4308 FDPIC, generate call site labels to use PC-relative addressing rather
4309 than GOT-relative addressing.
4310 (sh_conditional_register_usage): Make PIC register fixed and call used
4311 when FDPIC is in effect.
4312 (sh_legitimate_constant_p): Impose FDPIC constant constraints.
4313 (sh_cannot_force_const_mem_p, sh_load_function_descriptor,
4314 sh_get_fdpic_reg_initial_val): New functions.
4315 * config/sh/sh.h (SUBTARGET_ASM_SPEC, SUBTARGET_LINK_EMUL_SUFFIX):
4316 Handle -mfdpic.
4317 (FDPIC_SELF_SPECS, SUBTARGET_DRIVER_SELF_SPECS,
4318 PIC_OFFSET_TABLE_REG_CALL_CLOBBERED,
4319 SH_OFFSETS_MUST_BE_WITHIN_SECTIONS_P): New macros.
4320 (DRIVER_SELF_SPECS): Add SUBTARGET_DRIVER_SELF_SPECS and
4321 FDPIC_SELF_SPECS.
4322 (TRAMPOLINE_SIZE): Select trampoline size for FDPIC.
4323 (ASM_PREFERRED_EH_DATA_FORMAT): Add EH format constraints for FDPIC.
4324 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Handle FDPIC case.
4325 * config/sh/sh.md (UNSPEC_GOTFUNCDESC, UNSPEC_GOTOFFFUNCDESC): New
4326 constants.
4327 (calli_fdpic, call_valuei_fdpic, sibcalli_fdpic, sibcalli_pcrel_fdpic,
4328 sibcall_pcrel_fdpic, sibcall_valuei_fdpic, sibcall_valuei_pcrel_fdpic,
4329 sibcall_value_pcrel_fdpic, sym2GOTFUNCDESC, symGOTFUNCDESC2reg,
4330 sym2GOTOFFFUNCDESC, symGOTOFFFUNCDESC2reg): New patterns.
4331 (udivsi3_i1, udivsi3_i4, udivsi3_i4_single, udivsi3,
4332 *divsi_inv_call_combine, divsi3_i4, divsi3_i4_single, divsi3, ashlsi3,
4333 ashlsi3_d_call, ashrsi3_n, lshrsi3, lshrsi3_d_call, calli, call_valuei,
4334 call, call_value, sibcalli, sibcalli_pcrel, sibcall_pcrel, sibcall,
4335 sibcall_valuei, sibcall_valuei_pcrel, sibcall_value_pcrel,
4336 sibcall_value, GOTaddr2picreg, symGOT_load, symGOTOFF2reg,
4337 block_move_real, block_lump_real, block_move_real_i4,
4338 block_lump_real_i4): Add support for FDPIC calls.
4339 (mulsi3, ic_invalidate_line, initialize_trampoline, call_pop,
4340 call_value_pop): Adjust for new function_symbol signature.
4341 * config/sh/sh.opt (-mfdpic): New option.
4342 * doc/install.texi (Options specification): Document --enable-fdpic.
4343 * doc/invoke.texi (SH Options): Document -mfdpic.
4344
4345
4346 2015-10-27 Alan Lawrence <alan.lawrence@arm.com>
4347
4348 PR tree-optimization/65963
4349 * tree-scalar-evolution.c (interpret_rhs_expr): Handle some
4350 LSHIFT_EXPRs as equivalent MULT_EXPRs.
4351
4352 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4353
4354 PR target/67929
4355 * config/arm/arm.c (vfp3_const_double_for_bits): Rewrite.
4356 * config/arm/constraints.md (Dp): Update callsite.
4357 * config/arm/predicates.md (const_double_vcvt_power_of_two): Likewise.
4358
4359 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4360
4361 * builtins.c (fold_builtin_load_exponent): Rename to...
4362 (fold_const_builtin_load_exponent): ...this and only handle
4363 constant arguments.
4364 (fold_builtin_2): Update accordingly.
4365 * match.pd: Add rules previously handled by fold_builtin_load_exponent.
4366
4367 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4368
4369 * builtins.c (fold_builtin_logb): Rename to...
4370 (fold_const_builtin_logb): ...this and remove STRIP_NOPS call.
4371 (fold_builtin_significand): Rename to...
4372 (fold_const_builtin_significand): ...this and remove STRIP_NOPS call.
4373 (fold_builtin_1): Update accordingly.
4374
4375 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4376
4377 * builtins.c (fold_builtin_fmin_fmax): Delete.
4378 (fold_builtin_2): Handle constant fmin and fmax arguments here.
4379 * match.pd: Add rules previously handled by fold_builtin_fmin_fmax.
4380
4381 2015-10-27 Evandro Menezes <e.menezes@samsung.com>
4382
4383 * config/aarch64/aarch64-protos.h (cpu_addrcost_table): Split member
4384 for register extension into sign and zero register extension.
4385 * config/aarch64/aarch64.c (generic_addrcost_table): Infer values
4386 for sign and zero register extension.
4387 (cortexa57_addrcost_table): Likewise.
4388 (xgene1_addrcost_table): Likewise.
4389
4390 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4391
4392 * fold-const.c (fold_minmax): Delete.
4393 (fold_binary_loc): Don't call it.
4394 * match.pd: Add rules previously handled by fold_minmax.
4395
4396 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4397
4398 * builtins.c (fold_builtin_fma): Remove constant handling.
4399 (fold_builtin_3): Handle constant fma arguments here.
4400
4401 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4402
4403 * builtins.c (fold_builtin_fabs): Remove constant handling.
4404 (fold_builtin_abs): Likewise.
4405
4406 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4407
4408 * builtins.c (fold_builtin_copysign): Delete.
4409 (fold_builtin_2): Handle constant copysign arguments here.
4410 * match.pd: Add rules previously handled by fold_builtin_copysign.
4411
4412 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4413
4414 * builtins.c (fold_builtin_signbit): Delete.
4415 (fold_builtin_2): Handle constant signbit arguments here.
4416 * match.pd: Add rules previously handled by fold_builtin_signbit.
4417
4418 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4419
4420 * match.pd: Handle sqrt(x) cmp 0 specially.
4421
4422 2015-10-27 Ilya Enkovich <enkovich.gnu@gmail.com>
4423
4424 * tree-vect-generic.c (expand_vector_operations_1): Check
4425 optab type before using it.
4426
4427 2015-10-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4428
4429 * config/aarch64/aarch64-protos.h
4430 (struct tune_params): Add autoprefetcher_model field.
4431 * config/aarch64/aarch64.c: Include params.h
4432 (generic_tunings): Specify autoprefetcher_model value.
4433 (cortexa53_tunings): Likewise.
4434 (cortexa57_tunings): Likewise.
4435 (cortexa72_tunings): Likewise.
4436 (thunderx_tunings): Likewise.
4437 (xgene1_tunings): Likewise.
4438 (aarch64_first_cycle_multipass_dfa_lookahead_guard): New function.
4439 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define.
4440 (aarch64_override_options_internal): Set
4441 PARAM_SCHED_AUTOPREF_QUEUE_DEPTH param.
4442
4443 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4444
4445 * builtins.c (fold_builtin_exponent): Delete.
4446 (fold_builtin_2): Handle constant expN arguments here.
4447 * match.pd: Fold expN(logN(x)) -> x.
4448
4449 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4450
4451 * builtins.c (fold_builtin_powi): Delete.
4452 (fold_builtin_2): Handle constant powi arguments here.
4453 * match.pd: Add rules previously handled by fold_builtin_powi.
4454
4455 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4456
4457 * builtins.c (fold_builtin_pow): Delete in favor of...
4458 (fold_const_builtin_pow): ...this new function. Only handle constant
4459 arguments.
4460 (fold_builtin_2): Update accordingly.
4461 * match.pd: Add rules previously handled by fold_builtin_pow.
4462
4463 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4464
4465 * builtins.c (fold_builtin_hypot): Delete.
4466 (fold_builtin_2): Handle constant hypot arguments here.
4467 * match.pd: Fold hypot(x, 0) and hypot(0, x) to x. Canonicalize
4468 hypot(x, x) to fabs(x)*sqrt(2).
4469
4470 2015-10-27 Richard Sandiford <richard.sandiford@arm.com>
4471
4472 * gimple-match-head.c (maybe_push_res_to_seq): Use create_tmp_reg
4473 instead of make_ssa_name if not yet in SSA form.
4474
4475 2015-10-27 Richard Biener <rguenther@suse.de>
4476
4477 * cfg.c (free_edge): Add function argument and use it instead of cfun.
4478 (clear_edges): Likewise.
4479 * cfg.h (clear_edges): Adjust prototype.
4480 * cfgexpand.c (pass_expand::execute): Adjust.
4481 * cfgloop.c (release_recorded_exits): Add function argument and use
4482 it instead of cfun.
4483 * cfgloop.h (release_recorded_exits): Adjust prototype.
4484 (loops_state_satisfies_p): Add overload with function argument.
4485 (loops_state_set): Likewise.
4486 (loops_state_clear): Likewise.
4487 (struct loop_iterator): Add function argument to constructor
4488 and iterator and use it instead of cfun.
4489 (FOR_EACH_LOOP_FN): New macro.
4490 (loop_optimizer_finalize): Add overload with function argument.
4491 * loop-init.c (loop_optimizer_init): Adjust.
4492 (fix_loop_structure): Likewise.
4493 (loop_optimizer_finaliz): Add function argument and use it
4494 instead of cfun.
4495 * tree-cfg.c (delete_tree_cfg_annotations): Likewise.
4496 * tree-cfg.h (delete_tree_cfg_annotations): Adjust prototype.
4497 * cgraph.c (release_function_body): Do not push/pop cfun.
4498 * final.c (rest_of_clean_state): Adjust.
4499 * graphite.c (graphite_finalize): Likewise.
4500 * tree-ssa-copy.c (fini_copy_prop): Likewise.
4501 * tree-ssa-dce.c (perform_tree_ssa_dce): Likewise.
4502 * tree-ssa-loop-ivcanon.c (canonicalize_induction_variables): Likewise.
4503 (tree_unroll_loops_completely): Likewise.
4504 (pass_complete_unrolli::execute): Likewise.
4505 * tree-ssa-loop-niter.c (free_numbers_of_iterations_estimates):
4506 Add function argument and use it instead of cfun.
4507 * tree-ssa-loop-niter.h (free_numbers_of_iterations_estimates):
4508 Adjust prototype.
4509 * tree-ssa-loop.c (tree_ssa_loop_done): Adjust.
4510 * tree-ssa.c (delete_tree_ssa): Add function argument and use it
4511 instead of cfun.
4512 * tree-ssa.h (delete_tree_ssa): Adjust prototype.
4513 * tree-ssanames.c (fini_ssanames): Add function argument and use it
4514 instead of cfun.
4515 * tree-ssanames.c (fini_ssanames): Adjust prototype.
4516 * tree-vrp.c (execute_vrp): Adjust.
4517 * value-prof.c (free_histograms): Add function argument and use it
4518 instead of cfun.
4519 * value-prof.h (free_histograms): Adjust prototype.
4520
4521 2015-10-27 Thomas Schwinge <thomas@codesourcery.com>
4522
4523 * tree.h (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES)
4524 (OACC_KERNELS_BODY, OACC_KERNELS_CLAUSES, OACC_KERNELS_COMBINED)
4525 (OACC_PARALLEL_COMBINED): Don't define macros. Adjust all users.
4526
4527 2015-10-27 Tom de Vries <tom@codesourcery.com>
4528
4529 * tree-ssa-structalias.c (push_fields_onto_fieldstack): Add and use var
4530 field_type.
4531
4532 2015-10-27 Bin Cheng <bin.cheng@arm.com>
4533
4534 * loop-invariant.c (struct def): New field can_prop_to_addr_uses.
4535 (inv_can_prop_to_addr_use): New function.
4536 (record_use): Call can_prop_to_addr_uses, set the new field.
4537 (get_inv_cost): Count cost if inv can't be propagated into its
4538 address uses.
4539
4540 2015-10-26 Doug Evans <dje@google.com>
4541
4542 * config/linux.h (INCLUDE_DEFAULTS): Add INCLUDE_DEFAULTS_MUSL_LOCAL.
4543
4544 2015-10-26 Eric Botcazou <ebotcazou@adacore.com>
4545
4546 * match.pd (fold_widened_comparison): Apply simplifications to all
4547 integral types.
4548
4549 2015-10-26 Simon Dardis <simon.dardis@imgtec.com>
4550
4551 * target.def (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): New hook.
4552 * doc/tm.texi.in (TARGET_NO_SPECULATION_IN_DELAY_SLOTS_P): Document.
4553 * doc/tm.texi: Regenerated.
4554 * reorg.c (dbr_schedule): Use new hook.
4555 * config/mips/mips.c (mips_no_speculation_in_delay_slots_p): New.
4556
4557 2015-10-26 Jeff Law <law@redhat.com>
4558
4559 PR tree-optimization/68013
4560 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
4561 Make sure the first block in the path is in VISITED_BBs.
4562
4563 2015-10-26 Richard Biener <rguenther@suse.de>
4564 Dominik Vogt <vogt@linux.vnet.ibm.com>
4565
4566 PR middle-end/67443
4567 * alias.c (ao_ref_from_mem): Remove promoted subreg handling.
4568 Properly prune ref->ref for accesses outside of ref.
4569
4570 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
4571
4572 * gimple-fold.c (replace_stmt_with_simplification): Don't allow
4573 new statements to be inserted if inplace. Allow calls to have
4574 nonempty sequences.
4575
4576 2015-10-26 Richard Biener <rguenther@suse.de>
4577
4578 * tree-object-size.c: Remove builtins.h include, include tree-cfg.h.
4579 (do_valueize): New function.
4580 (pass_object_sizes::execute): Use gimple_fold_stmt_to_constant and
4581 replace_uses_by.
4582 * tree-ssa-threadedge.c: Remove builtins.h include, include
4583 gimple-fold.h
4584 (fold_assignment_stmt): Remove.
4585 (threadedge_valueize): New function.
4586 (record_temporary_equivalences_from_stmts): Use
4587 gimple_fold_stmt_to_constant_1, note additional cleanup
4588 opportunities.
4589
4590 2015-10-26 Richard Biener <rguenther@suse.de>
4591
4592 * match.pd ((A & ~B) - (A & B) -> (A ^ B) - B): Add missing :c.
4593 ( (X & ~Y) | (~X & Y) -> X ^ Y): Remove redundant :c.
4594
4595 2015-10-26 Alan Hayward <alan.hayward@arm.com>
4596
4597 * tree-vect-loop.c (vect_create_epilog_for_reduction): Fix
4598 VEC_COND_EXPR types.
4599
4600 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4601
4602 * auto-inc-dec.c (insert_move_insn_before): Delete.
4603 (attempt_change): Remember to cost the simple move in the
4604 FORM_PRE_ADD and FORM_POST_ADD cases.
4605
4606 2015-10-26 Kaz Kojima <kkojima@gcc.gnu.org>
4607
4608 PR target/68091
4609 * config/sh/sh.c (sh_vector_mode_supported_p): Use
4610 TARGET_SHMEDIA_FPU instead of TARGET_FPU_ANY.
4611
4612 2015-10-26 Tom de Vries <tom@codesourcery.com>
4613
4614 * tree-ssa-structalias.c (make_restrict_var_constraints): New function,
4615 factored out of ...
4616 (intra_create_variable_infos): ... here.
4617
4618 2015-10-26 Tom de Vries <tom@codesourcery.com>
4619
4620 * tree-ssa-structalias.c (intra_create_variable_infos): Add
4621 restrict_pointer_p and recursive_restrict_p variables.
4622
4623 2015-10-26 Tom de Vries <tom@codesourcery.com>
4624
4625 * tree-ssa-structalias.c (intra_create_variable_infos): Inline
4626 get_vi_for_tree call.
4627
4628 2015-10-26 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
4629
4630 PR middle-end/67989
4631 * optabs.c (expand_atomic_compare_and_swap): Handle case when
4632 ptarget_oval or ptarget_bool are const0_rtx.
4633
4634 2015-10-26 Christian Bruel <christian.bruel@st.com>
4635
4636 * function.h (MINIMUM_METHOD_BOUNDARY): New macro.
4637 * cp/decl.c (grokfndecl): Set DECL_ALIGN with MINIMUM_METHOD_BOUNDARY.
4638 * cp/method.c (implicitly_declare_fn): Likewise.
4639 * cp/lambda.c (maybe_add_lambda_conv_op): Likewise. Remove VBIT setting.
4640 * java/class.c (add_method_1): Likewise.
4641
4642 2015-10-26 Richard Biener <rguenther@suse.de>
4643
4644 * alloc-pool.h (base_pool_allocator): Use placement new.
4645 (base_pool_allocator::remove): Likewise. Compute size outside of
4646 flag_checking.
4647
4648 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
4649
4650 * builtins.c (do_real_to_int_conversion): New function.
4651 (fold_fixed_mathfn, fold_builtin_int_roundingfn): Delete.
4652 (fold_builtin_1): Handle constant {i,l,ll}{ceil,floor,round}{f,,l}
4653 arguments here.
4654 * match.pd: Add rules previously handled by fold_fixed_mathfn
4655 and fold_builtin_int_roundingfn.
4656
4657 2015-10-26 Richard Sandiford <richard.sandiford@arm.com>
4658
4659 * match.pd: Use macros to define built-in operator lists.
4660
4661 2015-10-20 Richard Sandiford <richard.sandiford@arm.com>
4662 Richard Biener <rguenther@suse.de>
4663
4664 * genmatch.c (dt_simplify::gen): Skip captures that are
4665 part of the result.
4666 (parser::parse_expr): Allow captures in results too.
4667 * builtins.c (fold_builtin_cexp): Delete.
4668 (fold_builtin_1): Handle constant cexp arguments here.
4669 * match.pd: Fold cexp(x+yi) to exp(x) * cexpi(y).
4670
4671 2015-10-26 Mikhail Maltsev <maltsevm@gmail.com>
4672
4673 * alloc-pool.h (base_pool_allocator::initialize, ::allocate): Remove
4674 conditional compilation.
4675 (base_pool_allocator::remove): Use flag_checking.
4676
4677 2015-10-25 John David Anglin <danglin@gcc.gnu.org>
4678
4679 * config/pa/som.h (EH_FRAME_THROUGH_COLLECT2): Define.
4680
4681 PR middle-end/68079
4682 * dojump.c (do_compare_and_jump): Canonicalize both function and
4683 method types.
4684
4685 2015-10-25 Uros Bizjak <ubizjak@gmail.com>
4686
4687 PR target/68084
4688 * config/i386/i386.c (ix86_md_asm_adjust) [case 'a']: Use NE code
4689 for =@ccae.
4690
4691 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
4692
4693 PR ipa/pr67600
4694 * ipa-polymorphic-call.c
4695 (ipa_polymorphic_call_context::get_dynamic_type): Do not confuse
4696 instance offset with offset of outer type.
4697
4698 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
4699
4700 * fold-const.c (operand_equal_p): Handle VIEW_CONVERT_EXPR.
4701
4702 2015-10-23 Caroline Tice <cmtice@google.com>
4703
4704 (from Richard Biener
4705 * tree.c (int_cst_hasher::hash): Replace XOR with more efficient
4706 call to iterative_hash_host_wide_int.
4707
4708 2015-10-23 David Edelsohn <dje.gcc@gmail.com>
4709
4710 * config.gcc (powerpc-ibm-aix[6789]) [default_use_cxa_atexit]:
4711 Define as yes.
4712
4713 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
4714
4715 * tree-vect-generic.c (expand_vector_operations_1): Check
4716 optab exists before use it.
4717
4718 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
4719
4720 * tree-vect-generic.c (expand_vector_condition): Avoid
4721 uninitialized variable warning.
4722
4723 2015-10-23 Jeff Law <law@redhat.com>
4724
4725 * passes.c (execute_function_todo): Do not call flush_ssaname_freelist
4726 here. Instead...
4727 (execute_todo): Call it here.
4728 * tree-ssanames.c (make_ssa_name_fn): Unconditionally gather reuse
4729 statistics
4730 (pass_release_ssa_names::execute): Do not call flusH_ssaname_freelist.
4731
4732 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
4733 Szabolcs Nagy <szabolcs.nagy@arm.com>
4734
4735 * config.gcc (enable_secureplt): Add *-linux*-musl*.
4736
4737 2015-10-23 Jeff Law <law@redhat.com>
4738
4739 PR tree-optimization/67830
4740 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
4741 Explicitly verify the mask has no bits outside the type of
4742 the innermost operands.
4743
4744 2015-10-23 Gregor Richards <gregor.richards@uwaterloo.ca>
4745 Szabolcs Nagy <szabolcs.nagy@arm.com>
4746
4747 * config/rs6000/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
4748 (MUSL_DYNAMIC_LINKER64): Define.
4749 (GNU_USER_DYNAMIC_LINKER32): Update.
4750 (GNU_USER_DYNAMIC_LINKER64): Update.
4751 (CHOOSE_DYNAMIC_LINKER): Update.
4752
4753 * config/rs6000/sysv4.h (GNU_USER_DYNAMIC_LINKER): Update.
4754 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER_E,)
4755 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
4756 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
4757 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
4758 (CHOOSE_DYNAMIC_LINKER): Update.
4759 (INCLUDE_DEFAULTS): Redefine.
4760
4761 * config/rs6000/sysv4le.h (MUSL_DYNAMIC_LINKER_E): Define.
4762
4763 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
4764
4765 * fold-const.c (operand_equal_p): Do not compare TYPE_MODE when
4766 comparing addresses.
4767
4768 2015-10-23 Jan Hubicka <hubicka@ucw.cz>
4769
4770 * fold-const.c (operand_equal_p): Handle matching of vector
4771 constructors.
4772
4773 2015-10-23 David Edelsohn <dje.gcc@gmail.com>
4774
4775 * doc/install.texi (*-ibm-aix*): Additional information for AIX 7.1.
4776
4777 2015-10-23 Steve Ellcey <sellcey@imgtec.com>
4778 Andrew Pinski <apinski@cavium.com>
4779
4780 PR rtl-optimization/67736
4781 * combine.c (simplify_comparison): Use gen_lowpart_or_truncate instead
4782 of gen_lowpart.
4783
4784 2015-10-23 Ilya Enkovich <enkovich.gnu@gmail.com>
4785
4786 PR middle-end/68066
4787 * tree.c (build_truth_vector_type): Support BLK mode
4788 returned for boolean vector.
4789
4790 2015-10-23 Alan Hayward <alan.hayward@arm.com>
4791
4792 PR tree-optimization/65947
4793 * tree-vect-loop.c
4794 (vect_is_simple_reduction_1): Find condition reductions.
4795 (vect_model_reduction_cost): Add condition reduction costs.
4796 (get_initial_def_for_reduction): Add condition reduction initial var.
4797 (vect_create_epilog_for_reduction): Add condition reduction epilog.
4798 (vectorizable_reduction): Condition reduction support.
4799 * tree-vect-stmts.c (vectorizable_condition): Add vect reduction arg
4800 * doc/sourcebuild.texi (Vector-specific attributes): Document
4801 vect_max_reduc
4802
4803 2015-10-23 Richard Biener <rguenther@suse.de>
4804
4805 * Makefile.in (build/genmatch.o): Properly depend on is-a.h, tree.def
4806 and builtins.def.
4807
4808 2015-10-23 Richard Biener <rguenther@suse.de>
4809 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
4810
4811 * fold-const.c (fold_binary_loc) : Move Fold (A & ~B) - (A & B)
4812 into (A ^ B) - B to match.pd
4813 Move (X & ~Y) | (~X & Y) is X ^ Y to match.pd.
4814
4815 * match.pd (minus (bit_and:cs @0 (bit_not @1)) (bit_and:s @0 @1)):
4816 New simplifier.
4817 (minus (bit_and:s @0 INTEGER_CST@2) (bit_and:s @0 INTEGER_CST@1)):
4818 New simplifier.
4819 (minus (bit_and:s @0 @1) (bit_and:cs @0 (bit_not @1))):
4820 New simplifier.
4821 (bit_ior:c (bit_and:c @0 (bit_not @1)) (bit_and:c (bit_not @0) @1)):
4822 New simplifier.
4823 (bit_ior:c (bit_and @0 INTEGER_CST@2) (bit_and (bit_not @0)
4824 INTEGER_CST@1)): New simplifier.
4825
4826 2015-10-23 Richard Sandiford <richard.sandiford@arm.com>
4827
4828 * builtins.c (integer_valued_real_p): Move to fold-const.c.
4829 (fold_trunc_transparent_mathfn, fold_builtin_trunc, fold_builtin_floor)
4830 (fold_builtin_ceil, fold_builtin_round): Delete.
4831 (fold_builtin_1): Handle constant trunc, floor, ceil and round
4832 arguments here.
4833 * convert.c (convert_to_real): Remove narrowing of rounding
4834 functions.
4835 * fold-const.h (integer_valued_real_unary_p)
4836 (integer_valued_real_binary_p, integer_valued_real_call_p)
4837 (integer_valued_real_single_p, integer_valued_real_p): Declare.
4838 * fold-const.c (tree_single_nonnegative_warnv_p): Move
4839 name_registered_for_update_p check to SSA_NAME case statement.
4840 Don't call tree_simple_nonnegative_warnv_p for SSA names.
4841 (integer_valued_real_unary_p, integer_valued_real_binary_p)
4842 (integer_valued_real_call_p, integer_valued_real_single_p)
4843 (integer_valued_real_invalid_p): New functions.
4844 (integer_valued_real_p): Move from fold-const.c and rework
4845 to call the functions above. Handle SSA names.
4846 * gimple-fold.h (gimple_stmt_integer_valued_real_p): Declare.
4847 * gimple-fold.c (gimple_assign_integer_valued_real_p)
4848 (gimple_call_integer_valued_real_p, gimple_phi_integer_valued_real_p)
4849 (gimple_stmt_integer_valued_real_p): New functions.
4850 * match.pd: Fold f(f(x))->f(x) for fp->fp rounding functions f.
4851 Fold f(x)->x for the same f if x is known to be integer-valued.
4852 Fold f(extend(x))->extend(f'(x)) if doing so doesn't affect
4853 the result. Canonicalize floor(x) as trunc(x) if x is
4854 nonnegative.
4855
4856 2015-10-23 Tom de Vries <tom@codesourcery.com>
4857
4858 * tree-ssa-structalias.c (intra_create_variable_infos): Use
4859 make_constraint_from.
4860
4861 2015-10-23 Tom de Vries <tom@codesourcery.com>
4862
4863 * tree-ssa-structalias.c (create_variable_info_for_1): Add missing
4864 setting of is_full_var in case of a single field.
4865
4866 2015-10-22 Martin Sebor <msebor@redhat.com>
4867
4868 PR driver/68043
4869 * config/i386/i386.opt: Add missing periods to the ends of sentences.
4870 * config/msp430/msp430.opt: Same.
4871
4872 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
4873
4874 * doc/extend.exp (Global Register Variables): Rewrite.
4875
4876 2015-10-22 Jeff Law <law@redhat.com>
4877
4878 * genattrtab.c (main): If we do not have any annul-true or annul-false
4879 slots, then write out a dummy eligible_for_annul_true or
4880 eligible_for_annul_false as needed.
4881
4882 2015-10-22 Nick Clifton <nickc@redhat.com>
4883
4884 * config/msp430/msp430.opt: Add -msilicon-errata and
4885 -msilicon-errata-warn.
4886 * config/msp430/msp430.h (ASM_SPEC): Pass new options on to
4887 assembler.
4888 * doc/invoke.texi: Document new options.
4889
4890 2015-10-22 Richard Biener <rguenther@suse.de>
4891
4892 PR tree-optimization/58497
4893 * tree-vect-generic.c (ssa_uniform_vector_p): New helper.
4894 (expand_vector_operations_1): Use it. Lower operations on
4895 all uniform vectors to scalar operations if the HW supports it.
4896
4897 2015-10-22 Richard Biener <rguenther@suse.de>
4898
4899 PR tree-optimization/19049
4900 PR tree-optimization/65962
4901 * tree-vect-data-refs.c (vect_analyze_group_access_1): Fall back
4902 to strided accesses if single-element interleaving doesn't work.
4903
4904 2015-10-22 Richard Biener <rguenther@suse.de>
4905
4906 PR middle-end/68046
4907 PR middle-end/61893
4908 * optabs.c (emit_libcall_block_1): Allow a NULL_RTX equiv.
4909 (expand_binop): For -ftrapv optabs do not record an REG_EQUAL note.
4910 (expand_unop): Likewise.
4911
4912 2015-10-22 Richard Biener <rguenther@suse.de>
4913
4914 * fold-const.c (fold_addr_of_array_ref_difference): Properly
4915 convert operands before folding a MINUS_EXPR.
4916 (fold_binary_loc): Move simplification of MINUS_EXPR on
4917 converted POINTER_PLUS_EXPRs ...
4918 * match.pd: ... here.
4919
4920 2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
4921
4922 * builtins.c (fold_builtin_tan): Delete.
4923 (fold_builtin_1): Handle constant tan arguments here.
4924 * match.pd: Simplify (tan (atan x)) to x.
4925
4926 2015-10-22 Richard Sandiford <richard.sandiford@arm.com>
4927
4928 * builtins.c (fold_builtin_cproj): Delete.
4929 (fold_builtin_1): Handle constant arguments here.
4930 (build_complex_cproj): Move and rename to...
4931 * tree.c: (build_complex_inf): ...this.
4932 * tree.h (build_complex_inf): Declare.
4933 * match.pd: Fold cproj(x)->x if x has no infinity.
4934 Use build_complex_inf for existing cproj rules.
4935
4936 2015-10-22 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
4937
4938 PR target/68015
4939 * config/s390/s390.md (mov<mode>cc): Emit compare only if we don't
4940 already have a comparison result.
4941
4942 2015-10-22 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
4943
4944 PR target/63304
4945 * config/aarch64/aarch64.c (aarch64_nopcrelative_literal_loads): New.
4946 (aarch64_expand_mov_immediate): Use aarch64_nopcrelative_literal_loads.
4947 (aarch64_classify_address): Likewise.
4948 (aarch64_secondary_reload): Likewise.
4949 (aarch64_override_options_after_change_1): Adjust.
4950 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
4951 Use aarch64_nopcrelative_literal_loads.
4952 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
4953 * config/aarch64/aarch64-protos.h (aarch64_nopcrelative_literal_loads):
4954 Declare.
4955
4956 2015-10-21 Martin Sebor <msebor@redhat.com>
4957
4958 PR driver/68043
4959 * opts.c (undocumented_msg, use_diagnosed_msg): New globals.
4960 (print_filtered_help): Reference aliased option's name and encourage
4961 readers to use it in preference to the alias if the former is not
4962 documented. Mention when using an option is diagnosed.
4963 * gcc.c (display_help): End each sentence with a period.
4964
4965 * common.opt: End each sentence that describes an option with
4966 a period.
4967 * config/aarch64/aarch64.opt: Same.
4968 * config/alpha/alpha.opt: Same.
4969 * config/arc/arc.opt: Same.
4970 * config/arm/arm.opt: Same.
4971 * config/avr/avr.opt: Same.
4972 * config/bfin/bfin.opt: Same.
4973 * config/c6x/c6x.opt: Same.
4974 * config/cr16/cr16.opt: Same.
4975 * config/cris/cris.opt: Same.
4976 * config/cris/linux.opt: Same.
4977 * config/darwin.opt: Same.
4978 * config/epiphany/epiphany.opt: Same.
4979 * config/fr30/fr30.opt: Same.
4980 * config/frv/frv.opt: Same.
4981 * config/ft32/ft32.opt: Same.
4982 * config/g.opt: Same.
4983 * config/h8300/h8300.opt: Same.
4984 * config/i386/cygming.opt: Same.
4985 * config/i386/djgpp.opt: Same.
4986 * config/i386/i386.opt: Same.
4987 * config/i386/interix.opt: Same.
4988 * config/i386/mingw-w64.opt: Same.
4989 * config/i386/mingw.opt: Same.
4990 * config/ia64/ia64.opt: Same.
4991 * config/ia64/ilp32.opt: Same.
4992 * config/iq2000/iq2000.opt: Same.
4993 * config/linux.opt: Same.
4994 * config/lm32/lm32.opt: Same.
4995 * config/lynx.opt: Same.
4996 * config/m32c/m32c.opt: Same.
4997 * config/m32r/m32r.opt: Same.
4998 * config/m68k/ieee.opt: Same.
4999 * config/m68k/m68k.opt: Same.
5000 * config/mcore/mcore.opt: Same.
5001 * config/mep/mep.opt: Same.
5002 * config/microblaze/microblaze.opt: Same.
5003 * config/mips/mips.opt: Same.
5004 * config/mmix/mmix.opt: Same.
5005 * config/mn10300/mn10300.opt: Same.
5006 * config/moxie/moxie.opt: Same.
5007 * config/msp430/msp430.opt: Same.
5008 * config/nios2/elf.opt: Same.
5009 * config/nios2/nios2.opt: Same.
5010 * config/nvptx/nvptx.opt: Same.
5011 * config/pa/pa-hpux.opt: Same.
5012 * config/pa/pa-hpux1010.opt: Same.
5013 * config/pa/pa-hpux1111.opt: Same.
5014 * config/pa/pa-hpux1131.opt: Same.
5015 * config/pa/pa.opt: Same.
5016 * config/pa/pa64-hpux.opt: Same.
5017 * config/pdp11/pdp11.opt: Same.
5018 * config/rl78/rl78.opt: Same.
5019 * config/rs6000/476.opt: Same.
5020 * config/rs6000/aix64.opt: Same.
5021 * config/rs6000/darwin.opt: Same.
5022 * config/rs6000/linux64.opt: Same.
5023 * config/rs6000/rs6000.opt: Same.
5024 * config/rs6000/sysv4.opt: Same.
5025 * config/s390/s390.opt: Same.
5026 * config/s390/tpf.opt: Same.
5027 * config/sh/sh.opt: Same.
5028 * config/sol2.opt: Same.
5029 * config/sparc/long-double-switch.opt: Same.
5030 * config/sparc/sparc.opt: Same.
5031 * config/spu/spu.opt: Same.
5032 * config/stormy16/stormy16.opt: Same.
5033 * config/tilegx/tilegx.opt: Same.
5034 * config/tilepro/tilepro.opt: Same.
5035 * config/v850/v850.opt: Same.
5036 * config/vax/vax.opt: Same.
5037 * config/visium/visium.opt: Same.
5038 * config/vms/vms.opt: Same.
5039 * config/vxworks.opt: Same.
5040 * config/xtensa/xtensa.opt: Same.
5041
5042 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
5043 Sebastian Pop <s.pop@samsung.com>
5044
5045 * graphite-scop-detection.c (parameter_index_in_region): Update call to
5046 invariant_in_sese_p_rec.
5047 * graphite-sese-to-poly.c (extract_affine): Same.
5048 * sese.c (invariant_in_sese_p_rec): Pass in an extra
5049 parameter has_vdefs.
5050 (scalar_evolution_in_region): Return chrec_dont_know when the scalar
5051 variable depends on virtual definitions in the current region.
5052 * sese.h (invariant_in_sese_p_rec): Update declaration.
5053
5054 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
5055 Sebastian Pop <s.pop@samsung.com>
5056
5057 * graphite-scop-detection.c (build_scops): Do not handle scops
5058 with more than PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP arrays.
5059 * params.def (PARAM_GRAPHITE_MAX_ARRAYS_PER_SCOP): New.
5060
5061 2015-10-21 Mikhail Maltsev <maltsevm@gmail.com>
5062
5063 * config.in: Regenerate.
5064 * configure: Regenerate.
5065 * configure.ac (CHECKING_P): Define.
5066 * system.h: Use CHECKING_P.
5067
5068 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5069
5070 PR ipa/67056
5071 * ipa-polymorphic-call.c (possible_placement_new): If cur_offset
5072 is negative we don't know the type.
5073 (check_stmt_for_type_change): Skip constructors of non-polymorphic
5074 types as those won't help devirutalization.
5075
5076 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5077
5078 * fold-const.c (operand_equal_p): Add code matching empty constructors.
5079
5080 2015-10-21 Eric Botcazou <ebotcazou@adacore.com>
5081
5082 * tree.def (CEIL_DIV_EXPR, FLOOR_DIV_EXPR, ROUND_DIV_EXPR): Tweak
5083 comments.
5084 (TRUNC_MOD_EXPR, CEIL_MOD_EXPR, FLOOR_MOD_EXPR, ROUND_MOD_EXPR):
5085 Add comments on sign of the result.
5086 * fold-const.c (tree_binary_nonnegative_warnv_p) <FLOOR_MOD_EXPR>:
5087 Recurse on operand #1 instead of operand #0.
5088 <CEIL_MOD_EXPR>: Do not recurse.
5089 <ROUND_MOD_EXPR>: Likewise.
5090
5091 2015-10-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5092
5093 * cfgrtl.c (pass_free_cfg::execute): Adjust.
5094 * final.c (dbr_sequence_length): Always define.
5095 (shorten_branches): Adjust.
5096 * genattr-common.c (main): Always define DELAY_SLOTS.
5097 * genattr.c (main): Unconditionally declare functions and define
5098 macros related to delay slots.
5099 * genattrtab.c (write_eligible_delay): Adjust.
5100 (main): Always write out delay slot functions.
5101 * opts.c (default_options_table): Adjust.
5102 * reorg.c (redirect_with_delay_slots_safe_p): Likewise.
5103 (redirect_with_delay_list_safe_p): Likewise.
5104 (fill_simple_delay_slots): Likewise.
5105 (fill_slots_from_thread): Likewise.
5106 (make_return_insns): Likewise.
5107 (dbr_schedule): Likewise.
5108 (rest_of_handle_delay_slots): Likewise.
5109 (pass_delay_slots::gate): Likewise.
5110 * toplev.c (process_options): Likewise.
5111
5112 2015-10-21 Richard Henderson <rth@redhat.com>
5113
5114 * targhooks.c (default_addr_space_pointer_mode): Remove check
5115 for generic address space.
5116 (default_addr_space_address_mode): Likewise.
5117 (default_addr_space_valid_pointer_mode): Likewise.
5118 (default_addr_space_legitimate_address_p): Likewise.
5119 (default_addr_space_legitimize_address): Likewise.
5120 * target.def (addr_space.pointer_mode): Update documentation
5121 of default behavior.
5122 (addr_space.address_mode): Likewise.
5123 * tm.texi: Update.
5124
5125 * expr.c (expand_expr_real_2): Use convert_modes on disjoint
5126 address spaces.
5127
5128 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
5129
5130 * builtins.c (fold_builtin_cabs): Delete.
5131 (fold_builtin_1): Update accordingly. Handle constant arguments here.
5132 * match.pd: Add rules previously handled by fold_builtin_cabs.
5133
5134 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
5135
5136 * fold-const.h (fold_strip_sign_ops): Delete.
5137 * fold-const.c (fold_strip_sign_ops): Likewise.
5138 (fold_unary_loc, fold_binary_loc): Remove calls to it.
5139 * builtins.c (fold_builtin_cos, fold_builtin_cosh)
5140 (fold_builtin_ccos): Delete.
5141 (fold_builtin_pow): Don't call fold_strip_sign_ops.
5142 (fold_builtin_hypot, fold_builtin_copysign): Likewise.
5143 Remove fndecl argument.
5144 (fold_builtin_1): Update calls accordingly. Handle constant
5145 cos, cosh, ccos and ccosh here.
5146
5147 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
5148
5149 * doc/invoke.texi (-fdump-tree-backprop, -fssa-backprop): Document.
5150 * Makefile.in (OBJS): Add gimple-ssa-backprop.o.
5151 * common.opt (fssa-backprop): New option.
5152 * fold-const.h (negate_mathfn_p): Declare.
5153 * fold-const.c (negate_mathfn_p): Make public.
5154 * timevar.def (TV_TREE_BACKPROP): New.
5155 * tree-pass.h (make_pass_backprop): Declare.
5156 * passes.def (pass_backprop): Add.
5157 * gimple-ssa-backprop.c: New file.
5158
5159 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
5160 Sebastian Pop <s.pop@samsung.com>
5161
5162 * graphite-isl-ast-to-gimple.c (graphite_create_new_loop_guard):
5163 Do not call create_empty_if_region_on_edge when cond_expr is true.
5164 (translate_isl_ast_node_for): Check whether a guard has been generated.
5165
5166 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
5167
5168 * graphite-poly.h (struct dr_info): Added invalid_alias_set number.
5169 (operator=): Removed.
5170 (dr_info): Make alias_set number the last argument with default
5171 value of invalid_alias_set.
5172 * graphite-sese-to-poly.c (build_scop_drs): Update constructor
5173 of dr_info.
5174 (rewrite_reductions_out_of_ssa): Iterate only through the
5175 basic blocks which are inside region.
5176 (rewrite_cross_bb_scalar_deps_out_of_ssa): Same.
5177 * sese.h (struct sese_l): Removed assignment operator.
5178 (split_region_for_bb): Removed dead code.
5179
5180 2015-10-21 Aditya Kumar <aditya.k7@samsung.com>
5181
5182 * graphite-poly.h (struct dr_info): Removed conversion constructor.
5183 (struct scop): Renamed scop::region to scop::scop_info
5184 (scop_set_region): Same.
5185 (SCOP_REGION): Removed
5186 (SCOP_CONTEXT): Removed.
5187 (POLY_SCOP_P): Removed.
5188 * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_user):
5189 Rename scop->region to scop->scop_info.
5190 (add_parameters_to_ivs_params): Same.
5191 (graphite_regenerate_ast_isl): Same.
5192 * graphite-poly.c (new_scop): Same.
5193 (free_scop): Same.
5194 (print_scop_params): Same.
5195 * graphite-scop-detection.c (scop_detection::remove_subscops): Same.
5196 (scop_detection::remove_intersecting_scops): Use pointer to sese_l.
5197 (dot_all_scops_1): Rename scop->region to scop->scop_info.
5198 (scop_detection::nb_pbbs_in_loops): Same.
5199 (find_scop_parameters): Same.
5200 (try_generate_gimple_bb): Same.
5201 (gather_bbs::before_dom_children): Same.
5202 (gather_bbs::after_dom_children): Same.
5203 (build_scops): Same.
5204 * graphite-sese-to-poly.c (build_scop_scattering): Same.
5205 (extract_affine_chrec): Same.
5206 (extract_affine): Same.
5207 (set_scop_parameter_dim): Same.
5208 (build_loop_iteration_domains): Same.
5209 (create_pw_aff_from_tree): Same.
5210 (add_param_constraints): Same.
5211 (build_scop_iteration_domain): Same.
5212 (build_scop_drs): Same.
5213 (analyze_drs_in_stmts): Same.
5214 (insert_out_of_ssa_copy_on_edge): Same.
5215 (rewrite_close_phi_out_of_ssa):Same.
5216 (rewrite_reductions_out_of_ssa):Same.
5217 (handle_scalar_deps_crossing_scop_limits):Same.
5218 (rewrite_cross_bb_scalar_deps):Same.
5219 (rewrite_cross_bb_scalar_deps_out_of_ssa):Same.
5220 (build_poly_scop):Same.
5221 (build_alias_set): Use pointer to dr_info.
5222 * graphite.c (print_graphite_scop_statistics):
5223 (graphite_transform_loops):
5224 * sese.h (struct sese_l): Remove conversion constructor.
5225
5226 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5227
5228 PR middle-end/67966
5229 * tree.c (verify_type): Verify that TYPE_MODE match
5230 between TYPE_CANONICAL and type.
5231 * expr.c (store_expr_with_bounds): Revert my previous change.
5232 * expmed.c (store_bit_field_1): Revert prevoius change.
5233 * gimple-expr.c (useless_type_conversion_p): Require TYPE_MODE
5234 to match for all types.
5235
5236 2015-10-21 Nathan Sidwell <nathan@codesourcery.com>
5237
5238 * omp-low.c (check_omp_nesting_restrictions): Check OpenACC loop
5239 nesting.
5240
5241 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
5242
5243 * doc/tm.texi: Regenerated.
5244 * doc/tm.texi.in (TARGET_VECTORIZE_GET_MASK_MODE): New.
5245 * stor-layout.c (layout_type): Use mode to get vector mask size.
5246 * target.def (get_mask_mode): New.
5247 * targhooks.c (default_get_mask_mode): New.
5248 * targhooks.h (default_get_mask_mode): New.
5249 * tree-vect-stmts.c (get_same_sized_vectype): Add special case
5250 for boolean vector.
5251 * tree.c (MAX_BOOL_CACHED_PREC): New.
5252 (nonstandard_boolean_type_cache): New.
5253 (build_nonstandard_boolean_type): New.
5254 (make_vector_type): Vector mask has no canonical type.
5255 (build_truth_vector_type): New.
5256 (build_same_sized_truth_vector_type): New.
5257 (truth_type_for): Support vector masks.
5258 * tree.h (VECTOR_BOOLEAN_TYPE_P): New.
5259 (build_truth_vector_type): New.
5260 (build_same_sized_truth_vector_type): New.
5261 (build_nonstandard_boolean_type): New.
5262 * tree-cfg.c (verify_gimple_comparison) Require boolean
5263 vector type for vector comparison.
5264 (verify_gimple_assign_ternary): Likewise.
5265 * optabs.c (expand_vec_cond_expr): Accept boolean vector as
5266 condition operand.
5267 * tree-vect-stmts.c (vectorizable_condition): Use boolean
5268 vector type for vector comparison.
5269 * tree-vect-generic.c (elem_op_func): Add new operand to hold
5270 vector type.
5271 (do_unop): Adjust to modified function type.
5272 (do_binop): Likewise.
5273 (do_plus_minus): Likewise.
5274 (do_negate); Likewise.
5275 (expand_vector_piecewise): Likewise.
5276 (do_cond): Likewise.
5277 (do_compare): Use comparison instead of condition.
5278 (expand_vector_divmod): Use boolean vector type for comparison.
5279 (expand_vector_operations_1): Skip scalar mask operations.
5280
5281 2015-10-21 Ilya Enkovich <enkovich.gnu@gmail.com>
5282
5283 * omp-low.c (simd_clone_create): Set in_other_partition
5284 for created clones.
5285
5286 2015-10-21 David Wohlferd <dw@LimeGreenSocks.com>
5287
5288 * doc/extend.exp (Local Register Variables): Rewrite.
5289
5290 2015-10-21 Richard Sandiford <richard.sandiford@arm.com>
5291
5292 * match.pd: Add rules to simplify ccos, ccosh, hypot, copysign
5293 and x*x in cases where the operands are sign ops. Extend these
5294 rules to handle copysign as a sign op (including for cos, cosh
5295 and pow, which already treated negate and abs as sign ops).
5296
5297 2015-10-21 Uros Bizjak <ubizjak@gmail.com>
5298
5299 PR target/68018
5300 * config/i386/i386.c (ix86_compute_frame_layout): Realign the stack
5301 for 64-bit MS_ABI targets also when default incoming stack boundary
5302 is overriden.
5303
5304 2015-10-21 Richard Biener <rguenther@suse.de>
5305
5306 * tree-ssa-sccvn.c (cond_stmts_equal_p): Compare two GIMPLE
5307 cond stmts, enhanced and split out from ...
5308 (vn_phi_eq): ... here.
5309
5310 2015-10-21 Richard Biener <rguenther@suse.de>
5311
5312 PR middle-end/68031
5313 * fold-const.c: Include tree-ssa-operands.h and tree-into-ssa.h.
5314 (tree_ssa_name_nonnegative_warnv_p): Fold into ...
5315 (tree_single_nonnegative_warnv_p): ... here. For SSA names
5316 make sure they are not registered for update.
5317
5318 2015-10-21 Richard Biener <rguenther@suse.de>
5319
5320 PR tree-optimization/68026
5321 * tree-ssa-ccp.c (get_value_for_expr): Zero-extend mask for
5322 unsigned VARYING values.
5323
5324 2015-10-21 Maxim Ostapenko <m.ostapenko@partner.samsung.com>
5325
5326 * asan.c (asan_emit_stack_protection): Don't pass local stack to
5327 asan_stack_malloc_[n] anymore. Check if asan_stack_malloc_[n] returned
5328 NULL and use local stack than.
5329 (asan_finish_file): Insert __asan_version_mismatch_check_v[n] call
5330 in addition to __asan_init.
5331 * sanitizer.def (BUILT_IN_ASAN_INIT): Rename to __asan_init.
5332 (BUILT_IN_ASAN_VERSION_MISMATCH_CHECK): Add new builtin call.
5333 * asan.h (asan_intercepted_p): Handle new string builtins.
5334 * ubsan.c (ubsan_use_new_style_p): New function.
5335 (ubsan_instrument_float_cast): If location is unknown, assign
5336 input_location to loc. Propagate loc to ubsan_create_data if
5337 ubsan_use_new_style_p returned true.
5338
5339 2015-10-21 Jeff Law <law@redhat.com>
5340
5341 * Makefile.in (OBJS): Remove sched-vis.c
5342 * sched-vis.c: Removed. Code moved into...
5343 * print-rtl.c: Here. Include cfg.h, pretty-print.h and print-rtl.h.
5344 * rtl.h: Remove prototypes for functions now living in print-rtl.c
5345 * print-rtl.h Add prototypes for new functions in print-rtl.c.
5346 * auto-inc-dec.c: Include print-rtl.h
5347 * cfgrtl.c, combine.c, final.c haifa-sched.c: Likewise.
5348 * ira.c, lra-constraints.c, lra.c, sel-sched-dump.c: Likewise.
5349
5350 * varasm.c (handle_vtv_comdat_section): Mark 2nd parameter with
5351 ATTRIBUTE_UNUSED.
5352
5353 2015-10-21 Richard Biener <rguenther@suse.de>
5354 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
5355
5356 * fold-const.c (fold_binary_loc) : Move (-A) * (-B) -> A * B
5357 to match.pd.
5358 Move (a * (1 << b)) is (a << b) to match.pd.
5359 Move convert (C1/X)*C2 into (C1*C2)/X to match.pd.
5360 Move ~X & X, (X == 0) & X, and !X & X are zero to match.pd.
5361 Move X & ~X , X & (X == 0), and X & !X are zero to match.pd.
5362
5363 * match.pd (mult:c @0 (convert? (lshift integer_onep@1 @2))):
5364 New simplifier.
5365 (mult (rdiv:s REAL_CST@0 @1) REAL_CST@2): New simplifier.
5366 (bit_and:c (convert? @0) (convert? (bit_not @0))): New simplifier.
5367 (bit_ior (bit_and:s @0 (bit_not:s @1)) (bit_and:s (bit_not:s @0) @1))
5368 : New simplifier.
5369 (mult:c (convert1? (negate @0)) (convert2? negate_expr_p@1)):
5370 New simplifier.
5371 (match (logical_inverted_value @0) (truth_not @0)) : New Predicate.
5372
5373 2015-10-21 Gregor Richards <gregor.richards@uwaterloo.ca>
5374 Szabolcs Nagy <szabolcs.nagy@arm.com>
5375 Alan Modra <amodra@gmail.com>
5376
5377 * config/rs6000/secureplt.h (LINK_SECURE_PLT_DEFAULT_SPEC): Define.
5378 * config/rs6000/sysv4.h (LINK_SECURE_PLT_SPEC): Define.
5379 (LINK_SPEC): Add %(link_secure_plt).
5380 (SUBTARGET_EXTRA_SPECS): Add "link_secure_plt".
5381 * config/rs6000/linux64.h (LINK_SECURE_PLT_SPEC): Redefine.
5382
5383 2015-10-20 Gregor Richards <gregor.richards@uwaterloo.ca>
5384 Szabolcs Nagy <szabolcs.nagy@arm.com>
5385
5386 * config/sh/linux.h (MUSL_DYNAMIC_LINKER): Define.
5387 (MUSL_DYNAMIC_LINKER_E, MUSL_DYNAMIC_LINKER_FP): Define.
5388
5389 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5390
5391 * config/aarch64/aarch64.c (aarch64_mode_valid_for_sched_fusion_p):
5392 New function.
5393 (fusion_load_store): Use it.
5394 * config/aarch64/aarch64-ldpstp.md: Add new peephole2s for
5395 ldp and stp in VD modes.
5396 * config/aarch64/aarch64-simd.md (load_pair<mode>, VD): New pattern.
5397 (store_pair<mode>, VD): Likewise.
5398
5399 2015-10-20 Vladimir Makarov <vmakarov@redhat.com>
5400
5401 PR rtl-optimization/67609
5402 * lra-splill.c (lra_final_code_change): Don't remove all
5403 sub-registers.
5404
5405 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5406
5407 * simplify-rtx.c (simplify_binary_operation): If either operand was
5408 a constant pool reference use them if all other simplifications failed.
5409
5410 2015-10-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5411
5412 * config/aarch64/aarch64.md
5413 (*aarch64_fcvt<su_optab><GPF:mode><GPI:mode>2_mult): New pattern.
5414 * config/aarch64/aarch64-simd.md
5415 (*aarch64_fcvt<su_optab><VDQF:mode><fcvt_target>2_mult): Likewise.
5416 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle above patterns.
5417 (aarch64_fpconst_pow_of_2): New function.
5418 (aarch64_vec_fpconst_pow_of_2): Likewise.
5419 * config/aarch64/aarch64-protos.h (aarch64_fpconst_pow_of_2): Declare
5420 prototype.
5421 (aarch64_vec_fpconst_pow_of_2): Likewise.
5422 * config/aarch64/predicates.md (aarch64_fp_pow2): New predicate.
5423 (aarch64_fp_vec_pow2): Likewise.
5424
5425 2015-10-20 Uros Bizjak <ubizjak@gmail.com>
5426
5427 * config/alpha/alpha.h (HARD_REGNO_NREGS): Use CEIL macro.
5428 (ALPHA_ARG_SIZE): Ditto. Remove unused NAMED argument.
5429 * config/alpha/alpha.c (alpha_function_arg_advance): Update
5430 ALPHA_ARG_SIZE usage.
5431 (alpha_arg_partial_bytes): Ditto.
5432
5433 2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
5434
5435 PR target/66810
5436 * cgraphbuild.c (pass_build_cgraph_edges::execute): Skip local
5437 error_mark_node decls.
5438
5439 2015-10-20 H.J. Lu <hongjiu.lu@intel.com>
5440
5441 PR target/67963
5442 PR target/67985
5443 * common/config/i386/i386-common.c (ix86_handle_option): Remove
5444 OPT_miamcu handling.
5445 * config/i386/i386.c (PTA_NO_80387): New macro.
5446 (processor_alias_table): Add PTA_NO_80387 to lakemont.
5447 (ix86_option_override_internal): Update MASK_80387 from
5448 PTA_NO_80387. Don't warn x87/MMX/SSE/AVX for -miamcu. Warn
5449 SSE math only if 80387 is supported. Don't change
5450 MASK_FLOAT_RETURNS.
5451 (ix86_valid_target_attribute_tree): Enable FPMATH_387 only if
5452 80387 is supported.
5453 * config/i386/i386.h (TARGET_FLOAT_RETURNS_IN_80387): True only
5454 if TARGET_80387 is true and TARGET_IAMCU is false.
5455 (TARGET_FLOAT_RETURNS_IN_80387_P): True only if TARGET_80387_P
5456 is true and TARGET_IAMCU_P is false.
5457
5458 2015-10-20 Richard Biener <rguenther@suse.de>
5459
5460 PR tree-optimization/68017
5461 * tree-tailcall.c (eliminate_tail_call): Remove stmts backwards.
5462
5463 2015-10-20 Martin Liska <mliska@suse.cz>
5464
5465 * cgraphclones.c (cgraph_node::create_virtual_clone):
5466 Verify cgraph_node.local.versionable instead of calling
5467 tree_versionable_function_p.
5468 * ipa-cp.c (determine_versionability): Save the information
5469 to ipa_node_params summary.
5470 (ipcp_versionable_function_p): Use it.
5471 (ipcp_propagate_stage): Pass IPA_NODE_REF to a called function.
5472 (ipcp_generate_summary): Do not compute cgraph_node
5473 versionability.
5474 * ipa-inline-analysis.c (inline_generate_summary): Compute
5475 versionability for all cgraph nodes.
5476 * ipa-prop.c (ipa_node_params_t::duplicate): Duplicate
5477 ipa_node_params::versionability.
5478 * ipa-prop.h (struct ipa_node_params): Declare it.
5479
5480 2015-10-20 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
5481
5482 PR other/67868
5483 * varasm.c (assemble_variable): Move special vtv handling to..
5484 (handle_vtv_comdat_sections): .. here. New function.
5485 (output_object_block): Handle vtv sections.
5486
5487 2015-10-20 Szabolcs Nagy <szabolcs.nagy@arm.com>
5488
5489 PR target/66912
5490 * varasm.c (default_binds_local_p_2): Turn on extern_protected_data.
5491
5492 2015-10-20 Arkadiusz Drabczyk <arkadiusz@drabczyk.org>
5493
5494 * doc/extend.texi: Update documentation WRT inline functions.
5495
5496 2015-10-20 Alan Modra <amodra@gmail.com>
5497
5498 PR go/66870
5499 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Don't define.
5500 * config/rs6000/linux64.h (TARGET_CAN_SPLIT_STACK): Define.
5501 (TARGET_CAN_SPLIT_STACK_64BIT): Define.
5502
5503 2015-10-19 Pierre-Marie de Rodat <derodat@adacore.com>
5504
5505 PR rtl-optimization/66790
5506 * df.h (DF_MIR): New macro.
5507 (DF_LAST_PROBLEM_PLUS1): Update to be past DF_MIR
5508 (DF_MIR_INFO_BB): New macro.
5509 (DF_MIR_IN, DF_MIR_OUT): New macros.
5510 (struct df_mir_bb_info): New.
5511 (df_mir): New macro.
5512 (df_mir_add_problem, df_mir_simulate_one_insn): New forward
5513 declarations.
5514 (df_mir_get_bb_info): New.
5515 * df-problems.c (struct df_mir_problem_data): New.
5516 (df_mir_free_bb_info, df_mir_alloc, df_mir_reset,
5517 df_mir_bb_local_compute, df_mir_local_compute, df_mir_init,
5518 df_mir_confluence_0, df_mir_confluence_n,
5519 df_mir_transfer_function, df_mir_free, df_mir_top_dump,
5520 df_mir_bottom_dump, df_mir_verify_solution_start,
5521 df_mir_verify_solution_end): New.
5522 (problem_MIR): New.
5523 (df_mir_add_problem, df_mir_simulate_one_insn): New.
5524 * timevar.def (TV_DF_MIR): New.
5525 * ree.c: Include bitmap.h
5526 (add_removable_extension): Add an INIT_REGS parameter. Use it
5527 to skip zero-extensions that may get an uninitialized register.
5528 (find_removable_extensions): Compute must-initialized registers
5529 using the MIR dataflow problem. Update the call to
5530 add_removable_extension.
5531 (find_and_remove_re): Call df_mir_add_problem.
5532
5533 2015-10-19 Segher Boessenkool <segher@kernel.crashing.org>
5534
5535 * common/config/mn10300/mn10300-common.c
5536 (mn10300_option_optimization_table) <OPT_freorder_blocks_algorithm_>:
5537 Use REORDER_BLOCKS_ALGORITHM_STC at -Os and up.
5538
5539 2015-10-19 David Wohlferd <dw@LimeGreenSocks.com>
5540
5541 * doc/extend.texi (Explicit Register Variables): Simplify and
5542 avoid unnecessary and confusion abbreviations. Update cross
5543 references.
5544 doc/implement-c.tex: Update cross reference.
5545
5546 2015-10-19 Jeff Law <law@redhat.com>
5547
5548 * tree-ssa-threadupdate.c (valid_jump_thread_path): Reject paths
5549 that create irreducible loops unless the path elimiantes a multiway
5550 branch.
5551
5552 2015-10-19 Richard Biener <rguenther@suse.de>
5553
5554 PR tree-optimization/67975
5555 * tree-cfg.h (extract_true_false_controlled_edges): Declare.
5556 * tree-cfg.c (extract_true_false_controlled_edges): Split out
5557 core worker from ...
5558 * tree-ssa-loop-im.c (extract_true_false_args_from_phi): ... here.
5559 * tree-ssa-sccvn.c (vn_phi_compute_hash): Hash number of args
5560 instead of block number for PHIs with two or one args.
5561 (vn_phi_eq): Compare edge predicates of PHIs that are in different
5562 blocks.
5563
5564 2015-10-19 Richard Biener <rguenther@suse.de>
5565
5566 * gimple-fold.c (gimple_phi_nonnegative_warnv_p): New function.
5567 (gimple_stmt_nonnegative_warnv_p): Use it.
5568 * match.pd (CPROJ): New operator list.
5569 (cproj (complex ...)): Move simplifications from ...
5570 * builtins.c (fold_builtin_cproj): ... here.
5571
5572 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
5573
5574 * config/i386/i386.c (ix86_expand_vector_move): Use
5575 GET_MODE_BITSIZE for IA MCU psABI to get vector natural
5576 alignment.
5577
5578 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
5579
5580 * doc/invoke.texi: Replace @optindex with @opindex.
5581
5582 2015-10-19 H.J. Lu <hongjiu.lu@intel.com>
5583
5584 PR target/67995
5585 * config/i386/i386.c (ix86_valid_target_attribute_tree): If
5586 arch= is set, clear all bits in x_ix86_isa_flags, except for
5587 ISA_64BIT, ABI_64, ABI_X32, and CODE16.
5588
5589 2015-10-19 Joost VandeVondele <vondele@gnu.gcc.org>
5590
5591 PR middle-end/68002
5592 * common.opt (fkeep-static-functions): New option.
5593 * doc/invoke.texi: Document it.
5594 * cgraphunit.c (cgraph_node::finalize_function): Use it.
5595
5596 2015-10-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
5597
5598 * sched-int.h (struct autopref_multipass_data_): Remove offset
5599 field. Add min_offset, max_offset, multi_mem_insn_p fields.
5600 * haifa-sched.c (analyze_set_insn_for_autopref): New function.
5601 (autopref_multipass_init): Use it. Handle PARALLEL sets.
5602 (autopref_rank_data): New function.
5603 (autopref_rank_for_schedule): Use it.
5604 (autopref_multipass_dfa_lookahead_guard_1): Likewise.
5605
5606 2015-10-18 Mikhail Maltsev <maltsevm@gmail.com>
5607
5608 PR other/65800
5609 * gengtype.c (dump_type): Handle TYPE_UNDEFINED correctly.
5610
5611 2015-10-18 Iain Sandoe <iain@codesourcery.com>
5612
5613 * config/darwin.h (TARGET_SYSTEM_ROOT): Remove this from here,
5614 (HAVE_LD_SYSROOT): New. (SYSROOT_SPEC): New.
5615 (LINK_SYSROOT_SPEC): Revise to remove the default for target sysroot.
5616 (STANDARD_STARTFILE_PREFIX_1): New.
5617 (STANDARD_STARTFILE_PREFIX_2): New.
5618
5619 2015-10-18 Iain Sandoe <iain@codesourcery.com>
5620
5621 * config/darwin-driver.c (darwin_default_min_version): Refactor code.
5622 (darwin_driver_init): Note a version-min when provided on the c/l.
5623 * config/darwin.h (%darwin_minversion): Remove.
5624 * config/i386/darwin.h: Likewise.
5625 * config/rs6000/darwin.h: Likewise.
5626 * config/darwin.opt (mmacosx-version-min=): Use the configured default,
5627 rather than an arbitrary constant.
5628
5629 2015-10-18 Iain Sandoe <iain@codesourcery.com>
5630
5631 * config/darwin-driver.c (darwin_driver_init): Handle '-arch' for
5632 PPC, detect conflicts between -arch and multilib settings. Detect
5633 and warn about conflicts between multiple -arch definitions.
5634
5635 2015-10-18 Iain Sandoe <iain@codesourcery.com>
5636
5637 * config/darwin-driver.c: Adjust includes to add diagnostic-core.
5638
5639 2015-10-16 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
5640
5641 * lra-constraints.c (add_next_usage_insn): Change argument type
5642 from rtx to rtx_insn *.
5643
5644 2015-10-16 H.J. Lu <hongjiu.lu@intel.com>
5645
5646 * i386/x86-tune.def (X86_TUNE_ALWAYS_FANCY_MATH_387): Disable
5647 for Lakemont.
5648
5649 2015-10-16 Andrew MacLeod <amacleod@redhat.com>
5650
5651 * config/tilepro/gen-mul-tables.cc: Adjust include files.
5652 * config/tilegx/mul-tables.c: Regenerate.
5653 * config/tilepro/mul-tables.c: Regenerate.
5654
5655 * config/tilegx/tilegx-c.c: Adjust include files.
5656 * config/tilegx/tilegx.c: Likewise.
5657 * config/tilepro/tilepro-c.c: Likewise.
5658 * config/tilepro/tilepro.c: Likewise.
5659 * config/aarch64/aarch64-builtins.c: Likewise.
5660 * config/aarch64/aarch64.c: Likewise.
5661 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
5662 * config/alpha/alpha.c: Likewise.
5663 * config/arc/arc.c: Likewise.
5664 * config/arm/aarch-common.c: Likewise.
5665 * config/arm/arm-builtins.c: Likewise.
5666 * config/arm/arm-c.c: Likewise.
5667 * config/arm/arm.c: Likewise.
5668 * config/avr/avr-c.c: Likewise.
5669 * config/avr/avr-devices.c: Likewise.
5670 * config/avr/avr-log.c: Likewise.
5671 * config/avr/avr.c: Likewise.
5672 * config/bfin/bfin.c: Likewise.
5673 * config/c6x/c6x.c: Likewise.
5674 * config/cr16/cr16.c: Likewise.
5675 * config/cris/cris.c: Likewise.
5676 * config/darwin-c.c: Likewise.
5677 * config/darwin-driver.c: Likewise.
5678 * config/darwin.c: Likewise.
5679 * config/default-c.c: Likewise.
5680 * config/epiphany/epiphany.c: Likewise.
5681 * config/epiphany/mode-switch-use.c: Likewise.
5682 * config/epiphany/resolve-sw-modes.c: Likewise.
5683 * config/fr30/fr30.c: Likewise.
5684 * config/frv/frv.c: Likewise.
5685 * config/ft32/ft32.c: Likewise.
5686 * config/glibc-c.c: Likewise.
5687 * config/h8300/h8300.c: Likewise.
5688 * config/i386/host-cygwin.c: Likewise.
5689 * config/i386/host-mingw32.c: Likewise.
5690 * config/i386/i386-c.c: Likewise.
5691 * config/i386/i386.c: Likewise.
5692 * config/i386/msformat-c.c: Likewise.
5693 * config/i386/winnt-cxx.c: Likewise.
5694 * config/i386/winnt-stubs.c: Likewise.
5695 * config/i386/winnt.c: Likewise.
5696 * config/ia64/ia64-c.c: Likewise.
5697 * config/ia64/ia64.c: Likewise.
5698 * config/iq2000/iq2000.c: Likewise.
5699 * config/lm32/lm32.c: Likewise.
5700 * config/m32c/m32c-pragma.c: Likewise.
5701 * config/m32c/m32c.c: Likewise.
5702 * config/m32r/m32r.c: Likewise.
5703 * config/mcore/mcore.c: Likewise.
5704 * config/mep/mep-pragma.c: Likewise.
5705 * config/mep/mep.c: Likewise.
5706 * config/microblaze/microblaze-c.c: Likewise.
5707 * config/microblaze/microblaze.c: Likewise.
5708 * config/mips/mips-tables.opt
5709 * config/mips/mips.c: Likewise.
5710 * config/mmix/mmix.c: Likewise.
5711 * config/mn10300/mn10300.c: Likewise.
5712 * config/moxie/moxie.c: Likewise.
5713 * config/msp430/msp430-c.c: Likewise.
5714 * config/msp430/msp430.c: Likewise.
5715 * config/nds32/nds32-cost.c: Likewise.
5716 * config/nds32/nds32-fp-as-gp.c: Likewise.
5717 * config/nds32/nds32-intrinsic.c: Likewise.
5718 * config/nds32/nds32-isr.c: Likewise.
5719 * config/nds32/nds32-md-auxiliary.c: Likewise.
5720 * config/nds32/nds32-memory-manipulation.c: Likewise.
5721 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
5722 * config/nds32/nds32-predicates.c: Likewise.
5723 * config/nds32/nds32.c: Likewise.
5724 * config/nios2/nios2.c: Likewise.
5725 * config/nvptx/mkoffload.c: Likewise.
5726 * config/nvptx/nvptx.c: Likewise.
5727 * config/pa/pa.c: Likewise.
5728 * config/pdp11/pdp11.c: Likewise.
5729 * config/rl78/rl78-c.c: Likewise.
5730 * config/rl78/rl78.c: Likewise.
5731 * config/rs6000/host-darwin.c: Likewise.
5732 * config/rs6000/rs6000-c.c: Likewise.
5733 * config/rs6000/rs6000-linux.c: Likewise.
5734 * config/rs6000/rs6000.c: Likewise.
5735 * config/rx/rx.c: Likewise.
5736 * config/s390/s390-c.c: Likewise.
5737 * config/s390/s390.c: Likewise.
5738 * config/sh/sh-c.c: Likewise.
5739 * config/sh/sh-mem.cc: Likewise.
5740 * config/sh/sh.c: Likewise.
5741 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
5742 * config/sh/sh_treg_combine.cc: Likewise.
5743 * config/sol2-c.c: Likewise.
5744 * config/sol2-cxx.c: Likewise.
5745 * config/sol2-stubs.c: Likewise.
5746 * config/sol2.c: Likewise.
5747 * config/sparc/sparc-c.c: Likewise.
5748 * config/sparc/sparc.c: Likewise.
5749 * config/spu/spu-c.c: Likewise.
5750 * config/spu/spu.c: Likewise.
5751 * config/stormy16/stormy16.c: Likewise.
5752 * config/v850/v850-c.c: Likewise.
5753 * config/v850/v850.c: Likewise.
5754 * config/vax/vax.c: Likewise.
5755 * config/visium/visium.c: Likewise.
5756 * config/vms/vms-c.c: Likewise.
5757 * config/vms/vms.c: Likewise.
5758 * config/vxworks.c: Likewise.
5759 * config/winnt-c.c: Likewise.
5760 * config/xtensa/xtensa.c: Likewise.
5761
5762 2015-10-16 Christian Bruel <christian.bruel@st.com>
5763
5764 PR target/67745
5765 * config/arm/arm.h (FUNCTION_BOUNDARY): Use FUNCTION_BOUNDARY_P.
5766 (FUNCTION_BOUNDARY_P): New macro:
5767 * config/arm/arm.c (TARGET_RELAYOUT_FUNCTION, arm_relayout_function):
5768 New hook.
5769 * doc/tm.texi.in (TARGET_RELAYOUT_FUNCTION): Document.
5770 * doc/tm.texi (TARGET_RELAYOUT_FUNCTION): New hook.
5771 * target.def (TARGET_RELAYOUT_FUNCTION): Likewise.
5772 * function.c (allocate_struct_function): Call
5773 relayout_function hook.
5774 * passes.c (rest_of_decl_compilation): Likewise.
5775
5776 2015-10-16 Christian Bruel <christian.bruel@st.com>
5777
5778 PR target/67745
5779 * config/arm/arm.h (FUNCTION_BOUNDARY): Move optimize_size condition to:
5780 * config/arm/arm.c (arm_option_override_internal): Call
5781 arm_override_options_after_change_1.
5782 (arm_override_options_after_change): New function.
5783 (arm_override_options_after_change_1): Likewise.
5784 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define hook.
5785
5786 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5787
5788 Revert:
5789 * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
5790 empty constructors.
5791
5792 2015-10-16 Eric Botcazou <ebotcazou@adacore.com>
5793
5794 * tree.c (recompute_tree_invariant_for_addr_expr): Assert that the
5795 argument is an ADDR_EXPR.
5796
5797 2015-10-16 Richard Biener <rguenther@suse.de>
5798
5799 * gimple-fold.c (gimple_fold_builtin_memory_op): Use gimple_build
5800 and get rid of force_gimple_operand_gsi.
5801 (gimple_fold_builtin_memory_chk): Likewise.
5802 (gimple_fold_builtin_stxcpy_chk): Likewise.
5803 (rewrite_to_defined_overflow): Likewise.
5804 (gimple_convert_to_ptrofftype): New function.
5805 * gimple-fold.h (gimple_convert_to_ptrofftype): New overload, declare.
5806
5807 2015-10-16 Richard Biener <rguenther@suse.de>
5808
5809 * tree-nested.h (build_addr): Adjust prototype.
5810 * tree-nested.c (build_addr): Remove context argument and use
5811 mark_addressable.
5812 (get_static_chain): Adjust calls to build_addr.
5813 (convert_nl_goto_reference): Likewise.
5814 (convert_tramp_reference_op): Likewise.
5815 (finalize_nesting_tree_1): Likewise.
5816 * value-prof.c (gimple_ic): Likewise.
5817 * gimple-low.c (lower_builtin_setjmp): Likewise.
5818 * tree-parloops.c (take_address_of): Likewise.
5819 (create_call_for_reduction_1): Likewise.
5820 * tree-profile.c (gimple_gen_interval_profiler): Likewise.
5821 (gimple_gen_ic_func_profiler): Likewise.
5822
5823 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
5824
5825 * ipa-icf-gimple.c (func_checker::compare_operand): Compare only
5826 empty constructors.
5827
5828 2015-10-16 Michael Collison <michael.collison@linaro.org>
5829 Andrew Pinski <andrew.pinski@caviumnetworks.com>
5830
5831 * match.pd ((x < y) && (x < z) -> x < min (y,z),
5832 (x > y) and (x > z) -> x > max (y,z))
5833
5834 2015-10-15 Gregor Richards <gregor.richards@uwaterloo.ca>
5835 Szabolcs Nagy <szabolcs.nagy@arm.com>
5836
5837 * config/microblaze/linux.h (MUSL_DYNAMIC_LINKER): Define.
5838 (DYNAMIC_LINKER): Renamed to ...
5839 (GLIBC_DYNAMIC_LINKER): This.
5840 (SUBTARGET_EXTRA_SPECS): Use GNU_USER_DYNAMIC_LINKER.
5841
5842 2015-10-15 Marek Polacek <polacek@redhat.com>
5843
5844 * tree-ssa-reassoc.c (attempt_builtin_copysign): Call
5845 gimple_call_builtin instead of is_gimple_call.
5846
5847 2015-10-15 Richard Biener <rguenther@suse.de>
5848
5849 * tree-vect-stmts.c (vect_init_vector): Remove unused vars.
5850
5851 2015-10-15 Richard Biener <rguenther@suse.de>
5852
5853 * tree-vectorizer.h (vect_get_new_ssa_name): Declare.
5854 * tree-vect-data-refs.c (vect_get_new_ssa_name): New helper.
5855 * tree-vect-loop.c (get_initial_def_for_induction): Drop
5856 use of force_gimple_operand in favor of gimple_build.
5857 Use vect_get_new_ssa_name.
5858 * tree-vect-stmts.c (vect_init_vector): Use vect_get_new_ssa_name.
5859 (vectorizable_mask_load_store): Likewise.
5860 (vectorizable_call): Likewise.
5861 (vectorizable_store): Likewise.
5862 (vectorizable_load): Likewise.
5863 (vect_get_vec_def_for_stmt_copy): Remove redundant stmt.
5864
5865 2015-10-15 Richard Sandiford <richard.sandiford@arm.com>
5866
5867 PR tree-optimization/67945
5868 * tree-pass.h (PROP_gimple_opt_math): New property flag.
5869 * generic-match-head.c (canonicalize_math_p): New function.
5870 * gimple-match-head.c: Include tree-pass.h.
5871 (canonicalize_math_p): New function.
5872 * match.pd: Group math built-in rules into simplifications
5873 and canonicalizations. Guard the latter with canonicalize_math_p.
5874 * tree-ssa-math-opts.c (pass_data_cse_sincos): Provide the
5875 PROP_gimple_opt_math property.
5876
5877 2015-10-15 Marek Polacek <polacek@redhat.com>
5878
5879 PR tree-optimization/67953
5880 * match.pd (X - (X / Y) * Y): Don't change signedness of @0.
5881
5882 2015-10-15 Jiong Wang <jiong.wang@arm.com>
5883
5884 * config.gcc: Recognize "." in architecture base name for AArch64.
5885
5886 2015-10-14 Uros Bizjak <ubizjak@gmail.com>
5887
5888 * config/mips/mips.h (MIPS_STACK_ALIGN): Implement using
5889 ROUND_UP macro.
5890 * config/mips/mips.c (mips_setup_incoming_varargs): Use
5891 ROUND_DOWN to calculate off.
5892 (mips_gimplify_va_arg_expr): Use ROUND_UP to calculate rsize.
5893 (mips_emit_probe_stack_range): Use ROUND_DOWN to calculate
5894 rounded_size.
5895
5896 2015-10-14 Eric Botcazou <ebotcazou@adacore.com>
5897
5898 * gimplify.c (gimplify_addr_expr) <MEM_REF>: New case.
5899
5900 2015-10-14 Peter Bergner <bergner@vnet.ibm.com>
5901 Torvald Riegel <triegel@redhat.com>
5902
5903 PR target/67281
5904 * config/rs6000/htm.md (UNSPEC_HTM_FENCE): New.
5905 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5906 trechkpt, treclaim, tsr, ttest): Rename define_insns from this...
5907 (*tabort, *tabort<wd>c, *tabort<wd>ci, *tbegin, *tcheck, *tend,
5908 *trechkpt, *treclaim, *tsr, *ttest): ...to this. Add memory barrier.
5909 (tabort, tabort<wd>c, tabort<wd>ci, tbegin, tcheck, tend,
5910 trechkpt, treclaim, tsr, ttest): New define_expands.
5911 * config/rs6000/rs6000-c.c (rs6000_target_modify_macros): Define
5912 __TM_FENCE__ for htm.
5913 * doc/extend.texi: Update documentation for htm builtins.
5914
5915 2015-10-14 Uros Bizjak <ubizjak@gmail.com>
5916
5917 PR target/67967
5918 * config/i386/i386.c (ix86_emit_save_reg_using_mov): Do not add
5919 REG_CFA_EXPRESSION to aligned SSE stores.
5920
5921 2015-10-14 Jeff Law <law@redhat.com>
5922
5923 * tree-ssa-threadupdate.c (thread_through_all_blocks): Bump
5924 num_threaded_edges for successful FSM threads too.
5925
5926 2015-10-14 Richard Biener <rguenther@suse.de>
5927
5928 * tree-vectorizer.h (vect_is_simple_use): Remove unused parameters.
5929 (vect_is_simple_use_1): Likewise. Make overload of vect_is_simple_use.
5930 (vect_get_vec_def_for_operand): Remove unused parameter.
5931 * tree-vect-loop.c (get_initial_def_for_induction): Adjust.
5932 (vect_create_epilog_for_reduction): Likewise.
5933 (vectorizable_reduction): Likewise.
5934 (vectorizable_live_operation): Likewise.
5935 * tree-vect-patterns.c (type_conversion_p): Likewise.
5936 (vect_recog_vector_vector_shift_pattern): Likewise.
5937 (check_bool_pattern): Likewise.
5938 * tree-vect-slp.c (vect_get_and_check_slp_defs): Likewise.
5939 (vect_analyze_slp_cost_1): Likewise.
5940 * tree-vect-stmts.c (process_use): Likewise.
5941 (vect_get_vec_def_for_operand): Do not handle reductions.
5942 (vect_get_vec_defs): Adjust.
5943 (vectorizable_mask_load_store): Likewise.
5944 (vectorizable_call): Likewise.
5945 (vectorizable_simd_clone_call): Likewise.
5946 (vect_get_loop_based_defs): Likewise.
5947 (vectorizable_conversion): Likewise.
5948 (vectorizable_assignment): Likewise.
5949 (vectorizable_shift): Likewise.
5950 (vectorizable_operation): Likewise.
5951 (vectorizable_store): Likewise.
5952 (vectorizable_load): Likewise.
5953 (vect_is_simple_cond): Likewise.
5954 (vectorizable_condition): Likewise.
5955 (vect_is_simple_use): Remove unused parameters.
5956 (vect_is_simple_use_1): Adjust and rename.
5957
5958 2015-10-14 Richard Biener <rguenther@suse.de>
5959
5960 PR tree-optimization/67915
5961 * match.pd: Handle comparisons of addresses of STRING_CSTs.
5962 * gimplify.c (gimplify_cond_expr): Fold the GIMPLE conds we build.
5963 * tree-cfgcleanup.c (cleanup_control_expr_graph): Remove GENERIC
5964 stmt folding in favor of GIMPLE one.
5965
5966 2015-10-14 Marek Polacek <polacek@redhat.com>
5967
5968 PR tree-optimization/67815
5969 * tree-ssa-reassoc.c (attempt_builtin_copysign): New function.
5970 (reassociate_bb): Call it.
5971
5972 2015-10-14 Richard Biener <rguenther@suse.de>
5973
5974 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
5975 Reset info at start.
5976 (vect_analyze_group_access_1): Add debug print.
5977 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost): Rename ...
5978 (vect_compute_single_scalar_iteration_cost): ... to this.
5979 (vect_analyze_loop_2): Adjust.
5980 * tree-vect-slp.c (struct _slp_oprnd_info): Move from ...
5981 * tree-vectorizer.h: ... here.
5982 (add_stmt_info_to_vec): Remove.
5983 * tree-vect-stmts.c (record_stmt_cost): Inline add_stmt_info_to_vec.
5984
5985 2015-10-14 Dominik Vogt <vogt@linux.vnet.ibm.com>
5986
5987 * targhooks.c (default_target_option_pragma_parse): Do not warn if
5988 called on behalf of "#pragma GCC pop_options".
5989
5990 2015-10-14 Tom de Vries <tom@codesourcery.com>
5991
5992 * cfganal.c (verify_no_unreachable_blocks): New function.
5993 (inverted_post_order_compute) [ENABLE_CHECKING]: Call
5994 verify_no_unreachable_blocks.
5995 cfganal.h (verify_no_unreachable_blocks): Declare.
5996
5997 2015-10-13 Mikhail Maltsev <maltsevm@gmail.com>
5998
5999 * common.opt: Add flag_checking.
6000 * system.h (CHECKING_P): Define.
6001
6002 2015-10-13 Jakub Jelinek <jakub@redhat.com>
6003 Aldy Hernandez <aldyh@redhat.com>
6004 Ilya Verbin <ilya.verbin@intel.com>
6005
6006 * builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR,
6007 BT_FN_BOOL_UINT_ULLPTR_ULLPTR_ULLPTR,
6008 BT_FN_BOOL_UINT_LONGPTR_LONG_LONGPTR_LONGPTR,
6009 BT_FN_BOOL_UINT_ULLPTR_ULL_ULLPTR_ULLPTR,
6010 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_UINT_PTR,
6011 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_UINT_PTR,
6012 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR_INT,
6013 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_LONG_LONG_LONG,
6014 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_UINT_LONG_INT_ULL_ULL_ULL,
6015 BT_FN_VOID_LONG_VAR, BT_FN_VOID_ULL_VAR): New.
6016 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR,
6017 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR,
6018 BT_FN_VOID_OMPFN_PTR_OMPCPYFN_LONG_LONG_BOOL_UINT_PTR): Remove.
6019 * cgraph.h (enum cgraph_simd_clone_arg_type): Add
6020 SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP,
6021 SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP and
6022 SIMD_CLONE_ARG_TYPE_LINEAR_VAL_CONSTANT_STEP.
6023 (struct cgraph_simd_clone_arg): Adjust comment.
6024 * coretypes.h (struct gomp_ordered): New forward decl.
6025 * gimple.c (gimple_build_omp_critical): Add CLAUSES argument,
6026 set critical clauses to it.
6027 (gimple_build_omp_ordered): Return gomp_ordered * instead of
6028 gimple *. Add CLAUSES argument, set ordered clauses to it.
6029 (gimple_copy): Unshare clauses on GIMPLE_OMP_CRITICAL and
6030 GIMPLE_OMP_ORDERED.
6031 * gimple.def (GIMPLE_OMP_ORDERED): Change from GSS_OMP to
6032 GSS_OMP_SINGLE_LAYOUT, move it after GIMPLE_OMP_TEAMS.
6033 * gimple.h (enum gf_mask): Add GF_OMP_TASK_TASKLOOP. Add another bit
6034 to GF_OMP_FOR_KIND_MASK mask. Add GF_OMP_FOR_KIND_TASKLOOP, renumber
6035 GF_OMP_FOR_KIND_CILKFOR and GF_OMP_FOR_KIND_OACC_LOOP. Adjust
6036 GF_OMP_FOR_SIMD, GF_OMP_FOR_COMBINED and GF_OMP_FOR_COMBINED_INTO.
6037 Add another bit to GF_OMP_TARGET_KIND_MASK mask. Add
6038 GF_OMP_TARGET_KIND_ENTER_DATA and GF_OMP_TARGET_KIND_EXIT_DATA,
6039 renumber
6040 GF_OMP_TARGET_KIND_OACC_{PARALLEL,KERNELS,DATA,UPDATE,ENTER_EXIT_DATA}.
6041 (gomp_critical): Add clauses field.
6042 (gomp_ordered): New struct.
6043 (is_a_helper <gomp_ordered *>::test): New inline.
6044 (gimple_build_omp_critical): Add CLAUSES argument.
6045 (gimple_build_omp_ordered): Likewise. Return gomp_ordered *
6046 instead of gimple *.
6047 (gimple_omp_critical_clauses, gimple_omp_critical_clauses_ptr,
6048 gimple_omp_critical_set_clauses, gimple_omp_ordered_clauses,
6049 gimple_omp_ordered_clauses_ptr, gimple_omp_ordered_set_clauses,
6050 gimple_omp_task_taskloop_p, gimple_omp_task_set_taskloop_p): New
6051 inline functions.
6052 * gimple-pretty-print.c (dump_gimple_omp_for): Handle taskloop.
6053 (dump_gimple_omp_target): Handle enter data and exit data.
6054 (dump_gimple_omp_block): Don't handle GIMPLE_OMP_ORDERED here.
6055 (dump_gimple_omp_critical): Print clauses.
6056 (dump_gimple_omp_ordered): New function.
6057 (dump_gimple_omp_task): Handle taskloop.
6058 (pp_gimple_stmt_1): Use dump_gimple_omp_ordered for
6059 GIMPLE_OMP_ORDERED.
6060 * gimple-walk.c (walk_gimple_op): Walk clauses on
6061 GIMPLE_OMP_CRITICAL and GIMPLE_OMP_ORDERED.
6062 * gimplify.c (enum gimplify_omp_var_data): Add GOVD_MAP_0LEN_ARRAY.
6063 (enum omp_region_type): Add ORT_COMBINED_TARGET and ORT_NONE.
6064 (struct gimplify_omp_ctx): Add loop_iter_var,
6065 target_map_scalars_firstprivate, target_map_pointers_as_0len_arrays
6066 and target_firstprivatize_array_bases fields.
6067 (delete_omp_context): Release loop_iter_var.
6068 (gimplify_bind_expr): Handle ORT_NONE.
6069 (maybe_fold_stmt): Adjust check for ORT_TARGET for the addition of
6070 ORT_COMBINED_TARGET.
6071 (is_gimple_stmt): Return true for OMP_TASKLOOP, OMP_TEAMS and
6072 OMP_TARGET{,_DATA,_UPDATE,_ENTER_DATA,_EXIT_DATA}.
6073 (omp_firstprivatize_variable): Handle ORT_NONE. Adjust check for
6074 ORT_TARGET for the addition of ORT_COMBINED_TARGET. Handle
6075 ctx->target_map_scalars_firstprivate.
6076 (omp_add_variable): Handle ORT_NONE. Allow map clause together with
6077 data sharing clauses. For data sharing clause with VLA decl
6078 on omp target/target data don't add firstprivate for the pointer.
6079 Call omp_notice_variable on TYPE_SIZE_UNIT only if it is a DECL_P.
6080 (omp_notice_threadprivate_variable): Adjust check for ORT_TARGET for
6081 the addition of ORT_COMBINED_TARGET.
6082 (omp_notice_variable): Handle ORT_NONE. Adjust check for ORT_TARGET
6083 for the addition of ORT_COMBINED_TARGET. Handle implicit mapping of
6084 pointers as zero length array sections and
6085 ctx->target_map_scalars_firstprivate mapping of scalars as firstprivate
6086 data sharing.
6087 (omp_check_private): Handle omp_member_access_dummy_var vars.
6088 (find_decl_expr): New function.
6089 (gimplify_scan_omp_clauses): Add CODE argument. For OMP_CLAUSE_IF
6090 complain if OMP_CLAUSE_IF_MODIFIER is present and does not match code.
6091 Handle OMP_CLAUSE_GANG separately. Handle
6092 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
6093 clauses. Diagnose linear clause on combined
6094 distribute {, parallel for} simd construct, unless it is the loop
6095 iterator. Handle struct element GOMP_MAP_FIRSTPRIVATE_POINTER.
6096 Handle map clauses with COMPONENT_REF. Initialize
6097 ctx->target_map_scalars_firstprivate,
6098 ctx->target_firstprivatize_array_bases and
6099 ctx->target_map_pointers_as_0len_arrays. Add firstprivate for
6100 linear clause even to target region if combined. Remove
6101 map clauses with GOMP_MAP_FIRSTPRIVATE_POINTER kind from
6102 OMP_TARGET_{,ENTER_,EXIT_}DATA. For GOMP_MAP_FIRSTPRIVATE_POINTER
6103 map kind with non-INTEGER_CST OMP_CLAUSE_SIZE firstprivatize the bias.
6104 Handle OMP_CLAUSE_DEPEND_{SINK,SOURCE}. Handle
6105 OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}.
6106 For linear clause on worksharing loop combined with parallel add
6107 shared clause on the parallel. Handle OMP_CLAUSE_REDUCTION
6108 with MEM_REF OMP_CLAUSE_DECL. Set DECL_NAME on
6109 omp_member_access_dummy_var vars. Add lastprivate clause to outer
6110 taskloop if needed.
6111 (gimplify_adjust_omp_clauses_1): Handle GOVD_MAP_0LEN_ARRAY.
6112 If gimplify_omp_ctxp->target_firstprivatize_array_bases, use
6113 GOMP_MAP_FIRSTPRIVATE_POINTER map kind instead of
6114 GOMP_MAP_POINTER.
6115 (gimplify_adjust_omp_clauses): Add CODE argument. Handle removal
6116 of GOMP_MAP_FIRSTPRIVATE_POINTER struct elements for struct not seen
6117 in target body. Handle removal of struct mapping if struct is not
6118 seen in target body. Remove GOMP_MAP_STRUCT map clause on
6119 OMP_TARGET_EXIT_DATA. Adjust check for ORT_TARGET for the
6120 addition of ORT_COMBINED_TARGET. Use GOMP_MAP_FIRSTPRIVATE_POINTER
6121 instead of GOMP_MAP_POINTER if ctx->target_firstprivatize_array_bases
6122 for VLAs. Set OMP_CLAUSE_MAP_PRIVATE if both data sharing and map
6123 clause appear together. Handle
6124 OMP_CLAUSE_{{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}. Don't remove map
6125 clause if it has map-type-modifier always. Handle
6126 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD,SIMDLEN}
6127 clauses.
6128 (gimplify_oacc_cache, gimplify_omp_parallel, gimplify_omp_task):
6129 Adjust gimplify_scan_omp_clauses and gimplify_adjust_omp_clauses
6130 callers.
6131 (gimplify_omp_for): Likewise. Handle OMP_TASKLOOP. Initialize
6132 loop_iter_var. Use OMP_FOR_ORIG_DECLS. Fix handling of lastprivate
6133 iterators in doacross loops.
6134 (gimplify_omp_workshare): Adjust gimplify_scan_omp_clauses and
6135 gimplify_adjust_omp_clauses callers. Use ORT_COMBINED_TARGET
6136 for OMP_TARGET_COMBINED. Adjust check for ORT_TARGET
6137 for the addition of ORT_COMBINED_TARGET.
6138 (gimplify_omp_target_update): Adjust gimplify_scan_omp_clauses and
6139 gimplify_adjust_omp_clauses callers. Handle OMP_TARGET_ENTER_DATA
6140 and OMP_TARGET_EXIT_DATA.
6141 (gimplify_omp_ordered): New function.
6142 (gimplify_expr): Handle OMP_TASKLOOP, OMP_TARGET_ENTER_DATA and
6143 OMP_TARGET_EXIT_DATA. Use gimplify_omp_ordered for OMP_ORDERED.
6144 Gimplify clauses on OMP_CRITICAL.
6145 * internal-fn.c (expand_GOMP_SIMD_ORDERED_START,
6146 expand_GOMP_SIMD_ORDERED_END): New functions.
6147 * internal-fn.def (GOMP_SIMD_ORDERED_START,
6148 GOMP_SIMD_ORDERED_END): New internal functions.
6149 * omp-builtins.def (BUILT_IN_GOMP_LOOP_DOACROSS_STATIC_START,
6150 BUILT_IN_GOMP_LOOP_DOACROSS_DYNAMIC_START,
6151 BUILT_IN_GOMP_LOOP_DOACROSS_GUIDED_START,
6152 BUILT_IN_GOMP_LOOP_DOACROSS_RUNTIME_START,
6153 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_STATIC_START,
6154 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_DYNAMIC_START,
6155 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_GUIDED_START,
6156 BUILT_IN_GOMP_LOOP_ULL_DOACROSS_RUNTIME_START,
6157 BUILT_IN_GOMP_DOACROSS_POST, BUILT_IN_GOMP_DOACROSS_WAIT,
6158 BUILT_IN_GOMP_DOACROSS_ULL_POST, BUILT_IN_GOMP_DOACROSS_ULL_WAIT,
6159 BUILT_IN_GOMP_TARGET_ENTER_EXIT_DATA, BUILT_IN_GOMP_TASKLOOP,
6160 BUILT_IN_GOMP_TASKLOOP_ULL): New built-ins.
6161 (BUILT_IN_GOMP_TASK): Add INT argument to the end.
6162 (BUILT_IN_GOMP_TARGET): Rename from GOMP_target to GOMP_target_41,
6163 adjust type.
6164 (BUILT_IN_GOMP_TARGET_DATA): Rename from GOMP_target_data to
6165 GOMP_target_data_41, adjust type.
6166 (BUILT_IN_GOMP_TARGET_UPDATE): Rename from GOMP_target_update to
6167 GOMP_target_update_41, adjust type.
6168 * omp-low.c (struct omp_region): Adjust comments, add ord_stmt
6169 field.
6170 (struct omp_for_data): Add ordered and simd_schedule fields.
6171 (omp_member_access_dummy_var, unshare_and_remap_1,
6172 unshare_and_remap, is_taskloop_ctx): New functions.
6173 (is_taskreg_ctx): Use is_parallel_ctx and is_task_ctx.
6174 (extract_omp_for_data): Handle taskloops and doacross loops
6175 and simd schedule modifier.
6176 (omp_adjust_chunk_size): New function.
6177 (get_ws_args_for): Use it.
6178 (lookup_sfield): Change first argument to splay_tree_key,
6179 add overload with first argument tree.
6180 (maybe_lookup_field): Likewise.
6181 (use_pointer_for_field): Handle omp_member_access_dummy_var.
6182 (omp_copy_decl_2): If var is TREE_ADDRESSABLE listed in
6183 task_shared_vars, clear TREE_ADDRESSABLE on the copy.
6184 (build_outer_var_ref): Add LASTPRIVATE argument, handle
6185 taskloops and omp_member_access_dummy_var vars.
6186 (build_sender_ref): Change first argument to splay_tree_key,
6187 add overload with first argument tree.
6188 (install_var_field): For mask & 8 use &DECL_UID as key instead
6189 of the tree itself.
6190 (fixup_child_record_type): Const qualify *.omp_data_i.
6191 (scan_sharing_clauses): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE,
6192 C/C++ array reductions, OMP_CLAUSE_{IS,USE}_DEVICE_PTR clauses,
6193 OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,SIMDLEN,THREADS,SIMD} and
6194 OMP_CLAUSE_{NOGROUP,DEFAULTMAP} clauses, OMP_CLAUSE__LOOPTEMP_ clause
6195 on taskloop, GOMP_MAP_FIRSTPRIVATE_POINTER, OMP_CLAUSE_MAP_PRIVATE.
6196 (create_omp_child_function): Set TREE_READONLY on .omp_data_i.
6197 (find_combined_for): Allow searching for different GIMPLE_OMP_FOR
6198 kinds.
6199 (add_taskreg_looptemp_clauses): New function.
6200 (scan_omp_parallel): Use it.
6201 (scan_omp_task): Likewise.
6202 (finish_taskreg_scan): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
6203 For taskloop, move fields for the first two _LOOPTEMP_ clauses first.
6204 (check_omp_nesting_restrictions): Handle GF_OMP_TARGET_KIND_ENTER_DATA
6205 and GF_OMP_TARGET_KIND_EXIT_DATA. Formatting fixes. Allow the
6206 sandwiched taskloop constructs. Type check
6207 OMP_CLAUSE_DEPEND_{KIND,SOURCE}. Allow ordered simd inside of simd
6208 region. Diagnose depend(source) or depend(sink:...) on
6209 target constructs or task/taskloop.
6210 (handle_simd_reference): Use get_name.
6211 (lower_rec_input_clauses): Likewise. Ignore all
6212 OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE clauses on taskloop construct.
6213 Allow _LOOPTEMP_ clause on GOMP_TASK. Unshare new_var
6214 before passing it to omp_clause_{default,copy}_ctor. Handle
6215 OMP_CLAUSE_REDUCTION with MEM_REF OMP_CLAUSE_DECL. Set
6216 lastprivate_firstprivate flag for linear that needs copyin and
6217 copyout. Use BUILT_IN_ALLOCA_WITH_ALIGN instead of BUILT_IN_ALLOCA.
6218 (lower_lastprivate_clauses): For OMP_CLAUSE_LASTPRIVATE_FIRSTPRIVATE
6219 on taskloop lookup decl in outer context. Pass true to
6220 build_outer_var_ref lastprivate argument. Handle
6221 OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV lastprivate if the decl is global
6222 outside of outer taskloop for.
6223 (lower_reduction_clauses): Handle OMP_CLAUSE_REDUCTION with MEM_REF
6224 OMP_CLAUSE_DECL.
6225 (lower_send_clauses): Ignore first two _LOOPTEMP_ clauses in taskloop
6226 GOMP_TASK. Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE. Handle
6227 omp_member_access_dummy_var vars. Handle OMP_CLAUSE_REDUCTION
6228 with MEM_REF OMP_CLAUSE_DECL. Use new lookup_sfield overload.
6229 (lower_send_shared_vars): Ignore fields with NULL or FIELD_DECL
6230 abstract origin. Handle omp_member_access_dummy_var vars.
6231 (expand_parallel_call): Use expand_omp_build_assign.
6232 (expand_task_call): Handle taskloop construct expansion. Add
6233 REGION argument. Use GOMP_TASK_* defines instead of hardcoded
6234 integers. Add priority argument to GOMP_task* calls. Or in
6235 GOMP_TASK_FLAG_PRIORITY into flags if priority is present for
6236 GOMP_task call.
6237 (expand_omp_build_assign): Add prototype. Add AFTER
6238 argument, if true emit statements after *GSI_P and continue linking.
6239 (expand_omp_taskreg): Adjust expand_task_call caller.
6240 (expand_omp_for_init_counts): Rename zero_iter_bb argument to
6241 zero_iter1_bb and first_zero_iter to first_zero_iter1, add
6242 zero_iter2_bb and first_zero_iter2 arguments, handle computation
6243 of counts even for ordered loops.
6244 (expand_omp_for_init_vars): Handle GOMP_TASK inner_stmt.
6245 (expand_omp_ordered_source, expand_omp_ordered_sink,
6246 expand_omp_ordered_source_sink, expand_omp_for_ordered_loops): New
6247 functions.
6248 (expand_omp_for_generic): Use omp_adjust_chunk_size. Handle linear
6249 clauses on worksharing loop. Handle DOACROSS loop expansion.
6250 (expand_omp_for_static_nochunk): Handle linear clauses on
6251 worksharing loop. Adjust expand_omp_for_init_counts
6252 callers.
6253 (expand_omp_for_static_chunk): Likewise. Use omp_adjust_chunk_size.
6254 (expand_omp_simd): Handle addressable fd->loop.v. Adjust
6255 expand_omp_for_init_counts callers.
6256 (expand_omp_taskloop_for_outer, expand_omp_taskloop_for_inner): New
6257 functions.
6258 (expand_omp_for): Call expand_omp_taskloop_for_* for taskloop.
6259 Handle doacross loops.
6260 (expand_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
6261 GF_OMP_TARGET_KIND_EXIT_DATA. Pass flags and depend arguments to
6262 GOMP_target_{41,update_41,enter_exit_data} libcalls.
6263 (expand_omp): Don't expand ordered depend constructs here, record
6264 ord_stmt instead for later expand_omp_for_generic.
6265 (build_omp_regions_1): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
6266 GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
6267 clause as stand-alone directive.
6268 (lower_omp_ordered_clauses): New function.
6269 (lower_omp_ordered): Handle OMP_CLAUSE_SIMD, for OMP_CLAUSE_DEPEND
6270 don't lower anything.
6271 (lower_omp_for_lastprivate): Use last _looptemp_ clause
6272 on taskloop for comparison.
6273 (lower_omp_for): Handle taskloop constructs. Adjust OMP_CLAUSE_DECL
6274 and OMP_CLAUSE_LINEAR_STEP so that expand_omp_for_* can use it during
6275 expansion for linear adjustments.
6276 (create_task_copyfn): Handle OMP_CLAUSE_SHARED_FIRSTPRIVATE.
6277 (lower_depend_clauses): Assert not seeing sink/source depend kinds.
6278 Set TREE_ADDRESSABLE on array. Change first argument from gimple *
6279 to tree * pointing to the stmt's clauses.
6280 (lower_omp_taskreg): Adjust lower_depend_clauses caller.
6281 (lower_omp_target): Handle GF_OMP_TARGET_KIND_ENTER_DATA
6282 and GF_OMP_TARGET_KIND_EXIT_DATA, depend clauses,
6283 GOMP_MAP_{RELEASE,ALWAYS_{TO,FROM,TOFROM},FIRSTPRIVATE_POINTER,STRUCT}
6284 map kinds, OMP_CLAUSE_{FIRSTPRIVATE,PRIVATE,{IS,USE}_DEVICE_PTR
6285 clauses. Always use short kind and 8-bit align shift.
6286 (lower_omp_regimplify_p): Use IS_TYPE_OR_DECL_P macro.
6287 (struct lower_omp_regimplify_operands_data): New type.
6288 (lower_omp_regimplify_operands_p, lower_omp_regimplify_operands):
6289 New functions.
6290 (lower_omp_1): Use lower_omp_regimplify_operands instead of
6291 gimple_regimplify_operands.
6292 (make_gimple_omp_edges): Handle GF_OMP_TARGET_KIND_ENTER_DATA and
6293 GF_OMP_TARGET_KIND_EXIT_DATA. Treat GIMPLE_OMP_ORDERED with depend
6294 clause as stand-alone directive.
6295 (simd_clone_clauses_extract): Honor OMP_CLAUSE_LINEAR_KIND.
6296 (simd_clone_mangle): Mangle the various linear kinds
6297 per the new ABI.
6298 (simd_clone_adjust_argument_types): Handle
6299 SIMD_CLONE_ARG_TYPE_LINEAR_*_CONSTANT_STEP.
6300 (simd_clone_init_simd_arrays): Don't do anything for uval.
6301 (simd_clone_adjust): Handle
6302 SIMD_CLONE_ARG_TYPE_LINEAR_REF_CONSTANT_STEP like
6303 SIMD_CLONE_ARG_TYPE_LINEAR_CONSTANT_STEP.
6304 Handle SIMD_CLONE_ARG_TYPE_LINEAR_UVAL_CONSTANT_STEP.
6305 * omp-low.h (omp_member_access_dummy_var): New prototype.
6306 * passes.def (pass_simduid_cleanup): Schedule another copy of the
6307 pass after all optimizations.
6308 * tree.c (omp_clause_code_name): Add entries for
6309 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
6310 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
6311 (omp_clause_num_ops): Likewise. Bump number of OMP_CLAUSE_REDUCTION
6312 arguments to 5 and for OMP_CLAUSE_ORDERED to 1.
6313 (walk_tree_1): Adjust for OMP_CLAUSE_ORDERED having 1 argument and
6314 OMP_CLAUSE_REDUCTION 5 arguments. Handle
6315 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
6316 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}
6317 clauses.
6318 * tree-core.h (enum omp_clause_linear_kind): New.
6319 (struct tree_omp_clause): Change type of map_kind
6320 from unsigned char to unsigned int. Add subcode.if_modifier
6321 and subcode.linear_kind fields.
6322 (enum omp_clause_code): Add
6323 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,DEFAULTMAP,HINT}
6324 and OMP_CLAUSE_{PRIORITY,GRAINSIZE,NUM_TASKS,NOGROUP,THREADS,SIMD}.
6325 (OMP_CLAUSE_REDUCTION): Document
6326 OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
6327 (enum omp_clause_depend_kind): Add OMP_CLAUSE_DEPEND_{SOURCE,SINK}.
6328 * tree.def (OMP_FOR): Add OMP_FOR_ORIG_DECLS operand.
6329 (OMP_CRITICAL): Move before OMP_SINGLE. Add OMP_CRITICAL_CLAUSES
6330 operand.
6331 (OMP_ORDERED): Move before OMP_SINGLE. Add OMP_ORDERED_CLAUSES
6332 operand.
6333 (OMP_TASKLOOP, OMP_TARGET_ENTER_DATA, OMP_TARGET_EXIT_DATA): New tree
6334 codes.
6335 * tree.h (OMP_BODY): Replace OMP_CRITICAL with OMP_TASKGROUP.
6336 (OMP_CLAUSE_SET_MAP_KIND): Cast to unsigned int rather than unsigned
6337 char.
6338 (OMP_CRITICAL_NAME): Adjust to be 3rd operand instead of 2nd.
6339 (OMP_CLAUSE_NUM_TASKS_EXPR): Formatting fix.
6340 (OMP_STANDALONE_CLAUSES): Adjust to cover OMP_TARGET_{ENTER,EXIT}_DATA.
6341 (OMP_CLAUSE_DEPEND_SINK_NEGATIVE, OMP_TARGET_COMBINED,
6342 OMP_CLAUSE_MAP_PRIVATE, OMP_FOR_ORIG_DECLS, OMP_CLAUSE_IF_MODIFIER,
6343 OMP_CLAUSE_MAP_MAYBE_ZERO_LENGTH_ARRAY_SECTION, OMP_CRITICAL_CLAUSES,
6344 OMP_CLAUSE_PRIVATE_TASKLOOP_IV, OMP_CLAUSE_LASTPRIVATE_TASKLOOP_IV,
6345 OMP_CLAUSE_HINT_EXPR, OMP_CLAUSE_SCHEDULE_SIMD,
6346 OMP_CLAUSE_LINEAR_KIND, OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER,
6347 OMP_CLAUSE_SHARED_FIRSTPRIVATE, OMP_ORDERED_CLAUSES,
6348 OMP_TARGET_ENTER_DATA_CLAUSES, OMP_TARGET_EXIT_DATA_CLAUSES,
6349 OMP_CLAUSE_NUM_TASKS_EXPR, OMP_CLAUSE_GRAINSIZE_EXPR,
6350 OMP_CLAUSE_PRIORITY_EXPR, OMP_CLAUSE_ORDERED_EXPR): Define.
6351 * tree-inline.c (remap_gimple_stmt): Handle clauses on
6352 GIMPLE_OMP_ORDERED and GIMPLE_OMP_CRITICAL. For
6353 IFN_GOMP_SIMD_ORDERED_{START,END} set has_simduid_loops.
6354 * tree-nested.c (convert_nonlocal_omp_clauses): Handle
6355 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
6356 and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
6357 clauses. Handle OMP_CLAUSE_REDUCTION_DECL_PLACEHOLDER.
6358 (convert_local_omp_clauses): Likewise.
6359 * tree-pretty-print.c (dump_omp_clause): Handle
6360 OMP_CLAUSE_{TO_DECLARE,LINK,{USE,IS}_DEVICE_PTR,SIMDLEN,PRIORITY,SIMD}
6361 and OMP_CLAUSE_{GRAINSIZE,NUM_TASKS,HINT,NOGROUP,THREADS,DEFAULTMAP}
6362 clauses. Handle OMP_CLAUSE_IF_MODIFIER, OMP_CLAUSE_ORDERED_EXPR,
6363 OMP_CLAUSE_SCHEDULE_SIMD, OMP_CLAUSE_LINEAR_KIND,
6364 OMP_CLAUSE_DEPEND_{SOURCE,SINK}. Use "delete" for
6365 GOMP_MAP_FORCE_DEALLOC. Handle
6366 GOMP_MAP_{ALWAYS_{TO,FROM,TOFROM},RELEASE,FIRSTPRIVATE_POINTER,STRUCT}.
6367 (dump_generic_node): Handle OMP_TASKLOOP, OMP_TARGET_{ENTER,EXIT}_DATA
6368 and clauses on OMP_ORDERED and OMP_CRITICAL.
6369 * tree-vectorizer.c (adjust_simduid_builtins): Adjust comment.
6370 Remove IFN_GOMP_SIMD_ORDERED_{START,END}.
6371 (vectorize_loops): Adjust comments.
6372 (pass_simduid_cleanup::execute): Likewise.
6373 * tree-vect-stmts.c (vectorizable_simd_clone_call): Handle
6374 SIMD_CLONE_ARG_TYPE_LINEAR_{REF,VAL,UVAL}_CONSTANT_STEP.
6375 * wide-int.h (wi::gcd): New.
6376
6377 2015-10-13 Uros Bizjak <ubizjak@gmail.com>
6378
6379 * config/i386/i386.c (classify_argument): Use CEIL where applicable.
6380 (ix86_function_arg_advance): Ditto.
6381 (ix86_function_arg): Ditto.
6382 (ix86_gimplify_va_arg): Ditto.
6383 (ix86_class_max_nregs): Ditto.
6384 (inline_memory_move_cost): Ditto.
6385 (ix86_set_reg_reg_cost): Ditto.
6386 * config/i386/i386.h (HARD_REGNO_NREGS): Ditto.
6387
6388 2015-10-13 Alexandre Oliva <aoliva@redhat.com>
6389
6390 PR middle-end/67912
6391 * expmed.c (store_bit_field_1): Adjust mode of BLKmode inputs.
6392
6393 2015-10-13 Uros Bizjak <ubizjak@gmail.com>
6394
6395 * config/sparc/sparc.h (SPARC_STACK_ALIGN): Implement using
6396 ROUND_UP macro and UNITS_PER_WORD * 2.
6397 * config/sparc/sparc.c (sparc_compute_frame_size):
6398 Use ROUND_UP and ROUND_DOWN macros where applicable.
6399 (function_arg_record_value, function_arg_record_value_1)
6400 (function_arg_record_value_1): Ditto.
6401 (emit_save_or_restore_regs): Use ROUND_DOWN to preserve offset
6402 alignment to double-word.
6403 (sparc_gimplify_va_arg): Use ROUND_UP to calculate rsize.
6404 (sparc_emit_probe_stack_range): Use ROUND_DOWN to calculate
6405 rounded_size.
6406
6407 2015-10-13 Nikolai Bozhenov <n.bozhenov@samsung.com>
6408
6409 * rtl.h (print_insn): Fix prototype.
6410
6411 2015-10-13 Tom de Vries <tom@codesourcery.com>
6412
6413 * tree-parloops.c (reduction_phi): Handle cases that gimple_uid is 0 or
6414 -1. Add assert that returned entry matches phi argument.
6415 (parallelize_loops): Move calls to init_stmt_vec_info_vec and
6416 free_stmt_vec_info_vec ...
6417 (gather_scalar_reductions): ... here. Initialize gimple_uids of phis
6418 with -1.
6419
6420 2014-10-13 Yuri Rumyantsev <ysrumyan@gmail.com>
6421
6422 PR tree-optimization/67909, 67947
6423 * tree-ssa-loop-unswitch.c (find_loop_guard): Add check that GUARD_EDGE
6424 really skip the inner loop.
6425
6426 2015-10-13 Jeff Law <law@redhat.com>
6427
6428 * tree-ssa-threadbackward.c (fsm_find_control_statement_thread_paths):
6429 Allow single block jump threading paths.
6430
6431 2015-10-13 Tom de Vries <tom@codesourcery.com>
6432
6433 PR tree-optimization/67476
6434 * doc/invoke.texi (@item parloops-schedule): New item.
6435 * params.def (PARAM_PARLOOPS_SCHEDULE): New DEFPARAMENUM5.
6436 * tree-parloops.c: Include params-enum.h.
6437 (create_parallel_loop): Handle PARAM_PARLOOPS_SCHEDULE.
6438
6439 2015-10-13 Tom de Vries <tom@codesourcery.com>
6440
6441 * Makefile.in (PARAMS_H, PLUGIN_HEADERS): Add params-enum.h.
6442 * params-enum.h: New file.
6443 * opts.c (handle_param): Handle case that param arg is a string.
6444 * params-list.h: Handle DEFPARAMENUM5 in params.def.
6445 * params.c (find_param): New function, factored out of ...
6446 (set_param_value): ... here.
6447 (param_string_value_p): New function.
6448 * params.h (struct param_info): Add value_names field.
6449 (find_param, param_string_value_p): Declare.
6450
6451 2015-10-13 Tom de Vries <tom@codesourcery.com>
6452
6453 PR tree-optimization/67476
6454 * omp-low.c (expand_omp_for_generic): Handle original loop tree.
6455
6456 2015-10-13 Richard Biener <rguenther@suse.de>
6457
6458 * tree-vect-data-refs.c (vect_analyze_data_ref_dependences): Allocate
6459 the data dependence vector.
6460 (vect_peeling_hash_insert): Get the peeling hash table as argument.
6461 (vect_peeling_hash_get_lowest_cost): Likewise.
6462 (vect_enhance_data_refs_alignment): Adjust.
6463 (struct _vect_peel_info, struct _vect_peel_extended_info,
6464 struct peel_info_hasher): Move from ...
6465 * tree-vectorizer.h: ... here.
6466 (LOOP_VINFO_COST_MODEL_MIN_ITERS): Remove.
6467 (LOOP_VINFO_PEELING_HTAB): Likewise.
6468 (struct _loop_vec_info): Remove min_profitable_iters and
6469 peeling_htab members.
6470 * tree-vect-loop.c (new_loop_vec_info): Do not allocate vectors
6471 here.
6472 (destroy_loop_vec_info): Adjust.
6473 (vect_analyze_loop_2): Do not set LOOP_VINFO_COST_MODEL_MIN_ITERS.
6474 (vect_estimate_min_profitable_iters): Use LOOP_VINFO_COMP_ALIAS_DDRS
6475 to estimate alias versioning cost.
6476 * tree-vect-slp.c (vect_analyze_slp_cost): Dump header.
6477
6478 2015-10-13 Richard Sandiford <richard.sandiford@arm.com>
6479
6480 * real.h (real_isinteger): Declare.
6481 * real.c (real_isinteger): New function.
6482 * match.pd: Simplify pow(|x|,y) and pow(-x,y) to pow(x,y)
6483 if y is an even integer.
6484
6485 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
6486
6487 revert:
6488 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
6489 * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
6490 counts when these are more informative.
6491
6492 2015-10-12 Jeff Law <law@redhat.com>
6493
6494 * tree-ssa-threadbackward.c (get_gimple_control_stmt): New function.
6495 (fsm_find_control_stmt_paths): Change name of first argument to
6496 more accurately relfect what it really is. Handle simplification
6497 of GIMPLE_COND after finding a thread path for NAME.
6498 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Allow
6499 nontrivial conditions to be handled by FSM threader.
6500 (thread_through_normal_block): Extract the name to looup via
6501 FSM threader from COND_EXPR.
6502
6503 * tree-ssa-threadbackward.c (fsm_find_thread_path): Remove
6504 restriction that traced SSA_NAME is a user variable.
6505
6506 2015-10-12 Tom de Vries <tom@codesourcery.com>
6507
6508 PR tree-optimization/67476
6509 * omp-low.c (expand_omp_for_generic): Add missing phis.
6510
6511 2015-10-12 Tom de Vries <tom@codesourcery.com>
6512
6513 PR tree-optimization/67476
6514 * omp-low.c (expand_omp_for_generic): Handle simple latch.
6515
6516 2015-10-12 Christophe Lyon <christophe.lyon@linaro.org>
6517
6518 * config/aarch64/aarch64-simd-builtins.def: Update builtins
6519 tables: add tbl3 and tbx4.
6520 * config/aarch64/aarch64-simd.md (aarch64_tbl3v8qi): New.
6521 (aarch64_tbx4v8qi): New.
6522 * config/aarch64/arm_neon.h (vtbl3_s8, vtbl3_u8, vtbl3_p8)
6523 (vtbl4_s8, vtbl4_u8, vtbl4_p8, vtbx4_s8, vtbx4_u8, vtbx4_p8):
6524 Rewrite using builtin functions.
6525 * config/aarch64/iterators.md (UNSPEC_TBX): New.
6526
6527 2015-10-12 Uros Bizjak <ubizjak@gmail.com>
6528
6529 * config/rs6000/rs6000.h (RS6000_ALIGN): Implement using
6530 ROUND_UP macro.
6531 * config/rs6000/rs6000.c (rs6000_darwin64_record_arg_advance_flush):
6532 Use ROUND_UP and ROUND_DOWN macros where applicable.
6533 (rs6000_darwin64_record_arg_flush): Ditto.
6534 (rs6000_function_arg): Use ROUND_UP to calculate align_words.
6535 (rs6000_emit_probe_stack_range): Use ROUND_DOWN to calculate
6536 rounded_size.
6537
6538 2015-10-12 Uros Bizjak <ubizjak@gmail.com>
6539
6540 * config/aarch/aarch64.h (AARCH64_ROUND_UP): Remove.
6541 (AARCH64_ROUND_DOWN): Ditto.
6542 * config/aarch64/aarch64.c: Use ROUND_UP instead of AARCH64_ROUND_UP.
6543
6544 2015-10-12 Richard Biener <rguenther@suse.de>
6545
6546 PR ipa/67783
6547 * ipa-inline-analysis.c (estimate_function_body_sizes): Re-add
6548 code that analyzes IVs on each stmt but in a cheaper way avoiding
6549 quadratic behavior.
6550
6551 2015-10-12 Nick Clifton <nickc@redhat.com>
6552
6553 * config/msp430/msp430.c (msp430_mcu_names): Rename to
6554 msp430_mcu_data, add fields for ISA and hardware multiply
6555 support. Import latest data from the devices.csv file.
6556 (msp430_override_option): Use the data from the new array.
6557 (msp430_use_f5_series_hwmult): Likewise.
6558 (use_32bit_hwmult): Likewise.
6559 (msp430_no_hwmult): Likewise.
6560 * config/msp430/t-msp430 (MULTILIB_MATCHES): Add matches for new
6561 MCU names.
6562 * doc/invoke.texi (MSP430 Options): Note that if the MCU name is
6563 not recognised then no hardware multiply support is assumed and
6564 that only the MSP430 ISA is allowed.
6565
6566 2015-10-12 Richard Biener <rguenther@suse.de>
6567
6568 * tree-vect-loop.c (vect_analyze_loop_operations): Move cost
6569 related code ...
6570 (vect_analyze_loop_2): ... here.
6571
6572 2015-10-11 Jason Merrill <jason@redhat.com>
6573
6574 PR c++/67557
6575 * expr.c (store_field): Call store_constructor directly when
6576 storing a CONSTRUCTOR into a target smaller than its type.
6577 Guard against unsafe bitwise copy.
6578
6579 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
6580
6581 * cgraphbuild.c (compute_call_stmt_bb_frequency): Use
6582 counts when these are more informative.
6583
6584 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
6585
6586 * tree-profile.c (tree_profiling): Do not clear
6587 pure/const when not instrumenting.
6588 (pass tree_profile): Add dump of symtab.
6589
6590 2015-10-11 Jan Hubicka <hubicka@ucw.cz>
6591
6592 * fold-const.c (fold_comparsion): Pass OEP_ADDRESS_OF when comparing
6593 addresses.
6594 (fold_addr_of_array_ref_difference): Likewise.
6595
6596 2015-10-11 Jeff Law <law@redhat.com>
6597
6598 * tree-ssa-threadedge.c (fsm_find_thread_path): Moved from here into
6599 tree-ssa-threadbackward.c.
6600 (fsm_find_control_statement_thread_paths): Likewise.
6601 (thread_through_normal_block): Break out FSM bits and move them
6602 into a new function in tree-ssa-threadbackward.c. Call new function
6603 instead.
6604 Minimize header file usage.
6605 * tree-ssa-threadbackward.h: New file.
6606 * tree-ssa-threadbackward.c: Likewise.
6607 * Makefile.in (OBJS): Add tree-ssa-threadbackward.o
6608
6609 2015-10-11 Uros Bizjak <ubizjak@gmail.com>
6610
6611 * config/alpha/alpha.h (ALPHA_ROUND): Implement using ROUND_UP macro.
6612
6613 2015-10-11 Segher Boessenkool <segher@kernel.crashing.org>
6614
6615 PR rtl-optimization/67864
6616 * bb-reorder (reorder_basic_blocks_simple): Prefer existing
6617 fallthrough edges for conditional jumps. Don't sort candidate
6618 edges if not optimizing for speed.
6619
6620 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6621
6622 * defaults.h (REVERSE_CONDITION): New default definition.
6623 * jump.c (reversed_comparison_code_parts): Adjust.
6624
6625 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6626
6627 * builtins.c (expand_builtin_setjmp_receiver): Don't use #if to
6628 check HARD_FRAME_POINTER_IS_ARG_POINTER.
6629
6630 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6631
6632 * defaults.h (FRAME_ADDR_RTX): New default definition.
6633 * builtins.c (expand_builtin_return_addr): Adjust.
6634
6635 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6636
6637 * defaults.h (DYNAMIC_CHAIN_ADDRESS): New default definition.
6638 * builtins.c (expand_builtin_return_addr): Adjust.
6639
6640 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6641
6642 * defaults.h (SETUP_FRAME_ADDRESSES): New default definition.
6643 * builtins.c (expand_builtin_return_addr): Adjust.
6644 * doc/tm.texi: Likewise.
6645 * doc/tm.texi.in: Likewise.
6646 * except.c (expand_builtin_unwind_init): Likewise.
6647
6648 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6649
6650 * builtins.c (expand_builtin_return_addr): Adjust.
6651 * defaults.h (INITIAL_FRAME_ADDRESS_RTX): New default definition.
6652
6653 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
6654
6655 * tree.c (type_with_interoperable_signedness): New.
6656 (gimple_canonical_types_compatible_p): Use it.
6657 * tree.h (type_with_interoperable_signedness): Declare
6658
6659 2015-10-10 Jan Hubicka <hubicka@ucw.cz>
6660
6661 * fold-const.c (operand_equal_p): Document OEP_ADDRESS_OF
6662 and OEP_CONSTANT_ADDRESS_OF; skip type compatibility checks
6663 when OEP_ADDRESS_OF is se.
6664
6665 2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
6666 Sebastian Pop <s.pop@samsung.com>
6667
6668 * graphite-dependences.c (scop_get_dependences): Add dump of the
6669 data dependence graph.
6670 * graphite-poly.c (print_isl_union_map): New.
6671 (debug_isl_union_map): New.
6672 * graphite-poly.h (print_isl_union_map): Declare.
6673 (debug_isl_union_map): Declare.
6674
6675 2015-10-10 Aditya Kumar <aditya.k7@samsung.com>
6676 Sebastian Pop <s.pop@samsung.com>
6677
6678 * graphite-poly.c (print_iteration_domain): Remove verbosity.
6679 Remove OpenScop formatting.
6680 (print_iteration_domains): Same.
6681 (debug_iteration_domain): Same.
6682 (debug_iteration_domains): Same.
6683 (print_pdr): Same.
6684 (debug_pdr): Same.
6685 (dump_gbb_cases): Same.
6686 (dump_gbb_conditions): Same.
6687 (print_pdrs): Same.
6688 (debug_pdrs): Same.
6689 (print_pbb_body): Same.
6690 (print_pbb): Same.
6691 (print_scop_params): Same.
6692 (print_scop_context): Same.
6693 (print_scop): Same.
6694 (debug_pbb_domain): Same.
6695 (debug_pbb): Same.
6696 (debug_scop_context): Same.
6697 (debug_scop): Same.
6698 (debug_scop_params): Same.
6699 * graphite-poly.h: Same.
6700 * graphite.c (graphite_transform_loops): Same.
6701
6702 2015-10-10 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
6703
6704 * function.c (stack_protect_epilogue): Remove as_a<rtx_insn *> ()
6705 call that isn't needed.
6706
6707 2015-10-09 Jeff Law <law@redhat.com>
6708
6709 * tree-ssanames.c (flush_ssaname_freelist): Use splice and truncate
6710 rather than moving each name to the freelist individually.
6711
6712 2015-10-09 Steve Ellcey <sellcey@imgtec.com>
6713
6714 * config.gcc (mips*-*-*): Add frame-header-opt.o to extra_objs.
6715 * frame-header-opt.c: New file.
6716 * config/mips/mips-proto.h (mips_register_frame_header_opt):
6717 Add prototype.
6718 * config/mips/mips.c (mips_compute_frame_info): Check
6719 optimize_call_stack flag.
6720 (mips_option_override): Register new frame_header_opt pass.
6721 (mips_frame_info, mips_int_mask, mips_shadow_set,
6722 machine_function): Move these types to...
6723 * config/mips/mips.h: here.
6724 (machine_function): Add does_not_use_frame_header and
6725 optimize_call_stack fields.
6726 * config/mips/t-mips (frame-header-opt.o): Add new make rule.
6727 * doc/invoke.texi (-mframe-header-opt, -mno-frame-header-opt):
6728 Document new flags.
6729 * config/mips/mips.opt (mframe-header-opt): Add new option.
6730
6731 2015-10-09 Uros Bizjak <ubizjak@gmail.com>
6732
6733 * config/i386/i386.c
6734 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Use
6735 ROUND_DOWN where applicable.
6736
6737 2015-10-09 Jeff Law <law@redhat.com>
6738
6739 * tree-vect-stmts.c (free_stmt_vec_info): Free the LHS of the
6740 correct statement.
6741
6742 2015-10-09 Renlin Li <renlin.li@arm.com>
6743
6744 * config/arm/neon.md (neon_vuzp<mode>_insn): Add & modifier for
6745 operands[0] and operands[2].
6746 (neon_vtrn<mode>_insn): Likewise.
6747 (neon_vzip<mode>_insn): Likewise.
6748
6749 2015-10-09 Andre Vieira <andre.simoesdiasvieira@arm.com>
6750
6751 * match.pd: ((X inner_op C0) outer_op C1) New pattern.
6752 ((X & C2) << C1): Expand to...
6753 (X {&,^,|} C2 << C1): ...This.
6754 ((X & C2) >> C1): Expand to...
6755 (X {&,^,|} C2 >> C1): ...This.
6756
6757 2015-10-09 Alexander Fomin <alexander.fomin@intel.com>
6758
6759 PR target/67895
6760 * config/i386/sse.md (define_insn "sse_cvtsi2ss<round_name>"):
6761 Adjust embedded rounding/SAE specifier position.
6762 (define_insn "sse_cvtsi2ssq<round_name>"): Likewise.
6763 (define_insn "cvtusi2<ssescalarmodesuffix>32<round_name>"): Likewise.
6764 (define_insn "cvtusi2<ssescalarmodesuffix>64<round_name>"): Likewise.
6765 (define_insn "sse2_cvtsi2sdq<round_name>"): Likewise.
6766 (define_insn "avx512dq_rangep<mode><mask_name><round_saeonly_name>"):
6767 Likewise.
6768 (define_insn "avx512dq_ranges<mode><round_saeonly_name>"): Likewise.
6769
6770 2015-10-09 Martin Jambor <mjambor@suse.cz>
6771
6772 tree-optimization/67794
6773 * tree-sra.c (replace_removed_params_ssa_names): Do not distinguish
6774 between types of state,ents but accept original definitions as a
6775 parameter.
6776 (ipa_sra_modify_function_body): Use FOR_EACH_SSA_DEF_OPERAND to
6777 iterate over definitions.
6778
6779 2015-10-09 James Norris <jnorris@codesourcery.com>
6780
6781 * config/rs6000/rs6000.c (rs6000_offload_options): New.
6782 (TARGET_OFFLOAD_OPTIONS): New.
6783
6784 2015-10-09 Alexandre Oliva <aoliva@redhat.com>
6785
6786 PR middle-end/67891
6787 * cfgexpand.c (set_parm_rtl): Drop is_gimple_reg test.
6788
6789 PR middle-end/67766
6790 * function.c (expand_function_end): Move return value
6791 promotion past the handling of PARALLELs and CONCATs.
6792
6793 PR rtl-optimization/67828
6794 * tree-ssa-loop-unswitch.c: Include tree-ssa.h.
6795 (tree_may_unswitch_on): Don't unswitch on expressions
6796 involving undefined values.
6797
6798 2015-10-09 Richard Biener <rguenther@suse.de>
6799
6800 * genmatch.c (print_operand): Fix formatting.
6801 (dt_node::append_simplify): Warn for multiple simplifiers
6802 that match the same pattern.
6803 * match.pd (log (exp @0)): Remove duplicates.
6804
6805 2015-10-09 Richard Biener <rguenth@suse.de>
6806
6807 PR target/67366
6808 * gimple-fold.c (optabs-query.h): Include
6809 (gimple_fold_builtin_memory_op): Allow unaligned stores
6810 when movmisalign_optabs are available.
6811
6812 2015-10-09 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
6813
6814 PR target/67366
6815 * config/arm/arm.md (movmisalign<mode>): New.
6816 * config/arm/iterators.md (HSI): New.
6817
6818 2015-10-09 Richard Biener <rguenther@suse.de>
6819
6820 PR tree-optimization/67891
6821 * gimple-match.h (gimple_simplified_result_is_gimple_val):
6822 New helper.
6823 (gimple_resimplify1): Declare.
6824 (gimple_resimplify2): Likewise.
6825 (gimple_resimplify3): Likewise.
6826 * gimple-match-head.c (gimple_resimplify1): Export.
6827 (gimple_resimplify2): Likewise.
6828 (gimple_resimplify3): Likewise.
6829 (maybe_push_res_to_seq): Use gimple_simplified_result_is_gimple_val.
6830 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
6831 * tree-ssa-sccvn.c (visit_reference_op_load): Use gimple_resimplify1
6832 to avoid creating stmts without VN info.
6833
6834 2015-10-08 Jan Hubicka <hubicka@ucw.cz>
6835
6836 * ipa-icf.c (sem_item::compare_symbol_references): Fix use
6837 of availability.
6838
6839 2015-10-08 Jeff Law <law@redhat.com>
6840
6841 * value-prof.c (gimple_ic): Add missing calls to unlink_stmt_vdef
6842 and release_ssa_name in two places.
6843 (gimple_stringop_fixed_value): Similarly.
6844
6845 * tree-ssa-loop-im.c (rewrite_bittest): Add missing call to
6846 release_defs.
6847
6848 * tree-stdarg.c (expand_ifn_va_arg_1): Add missing call to
6849 unlink_stmt_vdef and release_ssa_name_fn.
6850
6851 * tree-ssa-dse.c (dse_optimize_stmt): Add missing call to
6852 release_defs.
6853
6854 2015-10-08 H.J. Lu <hongjiu.lu@intel.com>
6855
6856 * config/i386/i386.c (ix86_compute_frame_layout): Round up the
6857 SSE register save area to 16 bytes only if the incoming stack
6858 boundary is no less than 16 bytes.
6859
6860 2015-10-08 Jeff Law <law@redhat.com>
6861
6862 * tree-ssa-phiopt.c (factor_out_conversion): Add missing calls to
6863 release_ssa_name. Fix typo in comment.
6864
6865 2015-10-08 Nathan Sidwell <nathan@acm.org>
6866
6867 * config/nvptx/nvptx.h (struct machine_function): Add comment.
6868 * config/nvptx/nvptx.c (nvptx_declare_function_name): Functions
6869 may return pointer as well as in memory.
6870 (nvptx_output_return): Likewise.
6871
6872 2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
6873
6874 * builtins.c (fold_builtin_sqrt, fold_builtin_cbrt): Delete.
6875 (fold_builtin_1): Update accordingly. Handle constant arguments here.
6876 * match.pd: Add rules previously handled by fold_builtin_sqrt
6877 and fold_builtin_cbrt.
6878
6879 2015-10-08 Richard Sandiford <richard.sandiford@arm.com>
6880
6881 * params.def (PARAM_MAX_SSA_NAME_QUERY_DEPTH): New param.
6882 * doc/invoke.texi (--param max-ssa-name-query-depth): Document.
6883 * fold-const.h (tree_unary_nonnegative_warnv_p)
6884 (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
6885 (tree_expr_nonnegative_warnv_p): Add depth parameters.
6886 * fold-const.c: Include gimple-fold.h and params.h.
6887 (tree_ssa_name_nonnegative_warnv_p): New function.
6888 (tree_unary_nonnegative_warnv_p, tree_binary_nonnegative_warnv_p)
6889 (tree_single_nonnegative_warnv_p, tree_call_nonnegative_warnv_p)
6890 (tree_invalid_nonnegative_warnv_p, tree_expr_nonnegative_warnv_p):
6891 Add a depth parameter and increment it for recursive calls to
6892 tree_expr_nonnegative_warnv_p. Use tree_ssa_name_nonnegative_warnv_p
6893 to handle SSA names.
6894 * gimple-fold.h (gimple_val_nonnegative_real_p): Delete.
6895 (gimple_stmt_nonnegative_warnv_p): Declare.
6896 * tree-vrp.c (remove_range_assertions): Remove assert that condition
6897 cannot be proven false.
6898 (gimple_assign_nonnegative_warnv_p, gimple_call_nonnegative_warnv_p)
6899 (gimple_stmt_nonnegative_warnv_p): Move to...
6900 * gimple-fold.c: ...here. Add depth parameters and pass them
6901 down to the tree routines. Accept statements that aren't
6902 assignments or calls but just return false for them.
6903 (gimple_val_nonnegative_real_p): Delete.
6904 * tree-ssa-math-opts.c (gimple_expand_builtin_pow): Use
6905 tree_expr_nonnegative_p instead of gimple_val_nonnegative_real_p.
6906 Check HONOR_NANs first.
6907
6908 2015-10-08 Martin Jambor <mjambor@suse.cz>
6909
6910 * ipa-cp.c (meet_with_1): Make the argument of abs signed. Remove
6911 unnecessary MIN.
6912
6913 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
6914
6915 * tree-vect-loop.c (vect_analyze_loop_operations): Skip virtual phi
6916 in the tail of outer-loop.
6917
6918 2015-10-08 David Edelsohn <dje.gcc@gmail.com>
6919
6920 * config/rs6000/rs6000.c (rs6000_xcoff_debug_unwind_info): Always
6921 return UI_NONE.
6922
6923 2015-10-08 Yuri Rumyantsev <ysrumyan@gmail.com>
6924
6925 * tree-ssa-loop-unswitch.c: Include "gimple-iterator.h" and
6926 "cfghooks.h", add prototypes for introduced new functions.
6927 (tree_ssa_unswitch_loops): Use from innermost loop iterator, move all
6928 checks on ability of loop unswitching to tree_unswitch_single_loop;
6929 invoke tree_unswitch_single_loop or tree_unswitch_outer_loop depending
6930 on innermost loop check.
6931 (tree_unswitch_single_loop): Add all required checks on ability of
6932 loop unswitching under zero recursive level guard.
6933 (tree_unswitch_outer_loop): New function.
6934 (find_loop_guard): Likewise.
6935 (empty_bb_without_guard_p): Likewise.
6936 (used_outside_loop_p): Likewise.
6937 (get_vop_from_header): Likewise.
6938 (hoist_guard): Likewise.
6939 (check_exit_phi): Likewise.
6940
6941 2015-10-08 Marek Polacek <polacek@redhat.com>
6942
6943 * tree-ssa-reassoc.c (dump_ops_vector): Print newline after each
6944 ops element.
6945
6946 2015-10-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
6947
6948 PR c/65345
6949 * config/s390/s390.c (s390_atomic_assign_expand_fenv): Use
6950 create_tmp_var_raw instead of create_tmp_var.
6951
6952 2015-10-07 Jan Hubicka <hubicka@ucw.cz>
6953
6954 * expr.c (store_expr_with_bounds): Handle aggregate moves from
6955 BLKmode.
6956 * gimple-expr.c (useless_type_conversion_p): Do not use TYPE_CANONICAL
6957 to define gimple type system; compare aggregates only by size.
6958
6959 2015-10-07 Jeff Law <law@redhat.com>
6960
6961 * tree-ssa-dom.c (optimize_stmt): Don't set LOOPS_NEED_FIXUP here.
6962 * tree-ssa-threadupdate.c (remove_ctrl_stmt_and_useless_edges): Do it
6963 here instead. Tighten test to avoid setting LOOPS_NEED_FIXUP
6964 unnecessarily.
6965
6966 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
6967 Sebastian Pop <s.pop@samsung.com>
6968
6969 * graphite-dependences.c (scop_get_dependences): Do not use SCOP_BBS.
6970 * graphite-isl-ast-to-gimple.c (get_max_schedule_dimensions): Same.
6971 (generate_isl_schedule): Same.
6972 * graphite-optimize-isl.c (scop_get_domains): Same.
6973 (apply_schedule_map_to_scop): Same.
6974 * graphite-poly.c (print_iteration_domains): Same.
6975 (remove_gbbs_in_scop): Same.
6976 (new_scop): Same.
6977 (free_scop): Same.
6978 (print_scop): Same.
6979 * graphite-poly.h (struct scop): Rename bbs to pbbs.
6980 (SCOP_BBS): Remove.
6981 * graphite-scop-detection.c (compare_bb_depths): Remove.
6982 (graphite_sort_dominated_info): Remove.
6983 (try_generate_gimple_bb): Move out of scop_detection.
6984 (all_non_dominated_preds_marked_p): Remove.
6985 (build_scop_bbs_1): Remove.
6986 (build_scop_bbs): Remove.
6987 (nb_pbbs_in_loops): Do not use SCOP_BBS.
6988 (find_scop_parameters): Same.
6989 (sese_dom_walker): Rename gather_bbs.
6990 (before_dom_children): Call try_generate_gimple_bb and collect gbb
6991 and pbb.
6992 (build_scops): Call gather_bbs.
6993 * graphite-sese-to-poly.c (build_scop_scattering): Do not use SCOP_BBS.
6994 (add_conditions_to_constraints): Same.
6995 (build_scop_iteration_domain): Same.
6996 (build_scop_drs): Same.
6997 (new_pbb_from_pbb): Same.
6998 * sese.c (new_sese_info): Create bbs.
6999 * sese.h (struct sese_info_t): Add bbs.
7000
7001 2015-10-07 David Edelsohn <dje.gcc@gmail.com>
7002
7003 * config/rs6000/xcoff.h (ASM_PREFERRED_EH_DATA_FORMAT): Use 64-bit
7004 encoding in 64-bit mode.
7005
7006 2015-10-07 Uros Bizjak <ubizjak@gmail.com>
7007
7008 PR target/66697
7009 * config/i386/i386.c (ix86_option_override_internal): Always use
7010 8-byte minimum stack boundary in 64-bit mode.
7011 (ix86_compute_frame_layout): Remove assert on INCOMING_STACK_BOUNDARY.
7012 (ix86_emit_save_reg_using_mov): Support unaligned SSE store.
7013 Add a REG_CFA_EXPRESSION note if needed.
7014 (ix86_emit_restore_sse_regs_using_mov): Support unaligned SSE load.
7015 (ix86_handle_force_align_arg_pointer_attribute): New.
7016 (ix86_minimum_incoming_stack_boundary): Remove TARGET_64BIT check.
7017 (ix86_attribute_table): Set ix86_force_align_arg_pointer_string
7018 with ix86_handle_force_align_arg_pointer_attribute.
7019 * config/i386/i386.h (MIN_STACK_BOUNDARY): Set to BITS_PER_WORD.
7020
7021 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
7022 Sebastian Pop <s.pop@samsung.com>
7023
7024 * graphite-scop-detection.c (parameter_index_in_region): Remove
7025 use of SESE_ADD_PARAMS.
7026 (find_scop_parameters): Same.
7027 * sese.c (new_sese_info): Same.
7028 * sese.h (struct sese_info_t): Remove add_params.
7029 (SESE_ADD_PARAMS): Remove.
7030
7031 2015-10-07 Aditya Kumar <aditya.k7@samsung.com>
7032 Sebastian Pop <s.pop@samsung.com>
7033
7034 * graphite-isl-ast-to-gimple.c (translate_isl_ast_to_gimple): Use
7035 an sese_info_p.
7036 (copy_def): Same.
7037 (copy_internal_parameters): Same.
7038 (translate_isl_ast_to_gimple): Use an sese_l.
7039 (build_iv_mapping): Same.
7040 * graphite-poly.c (new_sese): Rename new_sese_info.
7041 (free_sese): Rename free_sese_info.
7042 * graphite-poly.h (struct scop): Use an sese_info_p.
7043 (scop_set_region): Same.
7044 * graphite-scop-detection.c (struct sese_l): Moved...
7045 (get_entry_bb): Moved...
7046 (get_exit_bb): Moved...
7047 (parameter_index_in_region_1): Use an sese_info_p.
7048 (parameter_index_in_region): Same.
7049 (scan_tree_for_params): Same.
7050 (find_params_in_bb): Same.
7051 (sese_dom_walker): Use an sese_l.
7052 * graphite-sese-to-poly.c (remove_invariant_phi): Same.
7053 (reduction_phi_p): Same.
7054 (parameter_index_in_region_1): Use an sese_info_p.
7055 (propagate_expr_outside_region): Use an sese_l.
7056 * graphite.c: Replace uses of SCOP_REGION.
7057 * sese.c (sese_record_loop): Use an sese_info_p.
7058 (build_sese_loop_nests): Same.
7059 (sese_build_liveouts_use): Same.
7060 (sese_build_liveouts_bb): Same.
7061 (sese_build_liveouts_bb): Same.
7062 (sese_bad_liveouts_use): Same.
7063 (sese_reset_debug_liveouts_bb): Same.
7064 (sese_build_liveouts): Same.
7065 (new_sese): Renamed new_sese_info.
7066 (free_sese): Renamed free_sese_info.
7067 (set_rename): Use an sese_info_p.
7068 (graphite_copy_stmts_from_block): Same.
7069 (copy_bb_and_scalar_dependences): Same.
7070 (outermost_loop_in_sese_1): Use an sese_l.
7071 (outermost_loop_in_sese): Same.
7072 (if_region_set_false_region): Use an sese_info_p.
7073 (move_sese_in_condition): Same.
7074 (scalar_evolution_in_region): Use an sese_l.
7075 * sese.h (struct sese_l): ... here.
7076 (SESE_ENTRY): Remove.
7077 (SESE_ENTRY_BB): Remove.
7078 (SESE_EXIT): Remove.
7079 (SESE_EXIT_BB): Remove.
7080 (sese_contains_loop): Use an sese_info_p.
7081 (sese_nb_params): Same.
7082 (bb_in_sese_p): Use an sese_l.
7083 (stmt_in_sese_p): Same.
7084 (defined_in_sese_p): Same.
7085 (loop_in_sese_p): Same.
7086 (sese_loop_depth): Same.
7087 (struct ifsese_s): Use an sese_info_p.
7088 (gbb_loop_at_index): Use an sese_l.
7089 (nb_common_loops): Same.
7090 (scev_analyzable_p): Same.
7091
7092 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
7093
7094 * config/i386/i386.c (ix86_conditional_register_usage): Use
7095 CALL_USED_REGISTERS_MASK.
7096 * config/i386/i386.h (CALL_USED_REGISTERS_MASK): New macro.
7097
7098 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
7099
7100 PR bootstrap/67385
7101 * configure.ac (gcc_cv_readelf): Check $READELF_FOR_TARGET.
7102 * configure: Regenerated.
7103
7104 2015-10-07 H.J. Lu <hongjiu.lu@intel.com>
7105
7106 PR target/67850
7107 * config/i386/i386.c (ix86_maybe_switch_abi): Merged with ...
7108 (ix86_set_current_function): This.
7109 (TARGET_EXPAND_TO_RTL_HOOK): Removed.
7110
7111 2015-10-07 Richard Biener <rguenther@suse.de>
7112
7113 * tree-vectorizer.h (stmt_vec_info_vec): Use vec<stmt_vec_info>.
7114 (vinfo_for_stmt): Adjust.
7115 (set_vinfo_for_stmt): Likewise.
7116 * tree-vectorizer.c (stmt_vec_info_vec): Likewise.
7117 * tree-vect-stmts.c (free_stmt_vec_info_vec): Likewise.
7118 * tree-vect-loop.c (new_loop_vec_info): Remove special-casing
7119 of inner loop.
7120 (vect_analyze_loop_1): Remove.
7121 (vect_analyze_loop_form_1): Avoid building a loop_vec_info for
7122 inner loop when vectorizing an outer loop by splitting out from ...
7123 (vect_analyze_loop_form): ... here.
7124
7125 2015-10-07 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7126
7127 PR c/65345
7128 * config/arm/arm-builtins.c (arm_atomic_assign_expand_fenv):
7129 Use create_tmp_var_raw instead of create_tmp_var.
7130
7131 2015-10-07 Richard Sandiford <richard.sandiford@arm.com>
7132
7133 * real.h (dconst_quarter, dconst_sixth, dconst_ninth): New macros.
7134 (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): Declare.
7135 * real.c (CACHED_FRACTION): New helper macro.
7136 (dconst_third_ptr): Use it.
7137 (dconst_quarter_ptr, dconst_sixth_ptr, dconst_ninth_ptr): New.
7138 * builtins.c (fold_builtin_sqrt): Use dconst_quarter and
7139 dconst_sixth.
7140 (fold_builtin_cbrt): Use dconst_sixth and dconst_ninth.
7141
7142 2015-10-06 Jeff Law <law@redhat.com>
7143
7144 PR tree-optimization/67816
7145 * tree-ssa-threadupdate.h (remove_jump_threads_including): Renamed
7146 from remove_jump_threads_starting_at. Accept an edge rather than
7147 a basic block.
7148 * tree-ssa-threadupdate.c (removed_edges): New hash table.
7149 (remove_jump_threads_including): Note edges that get removed from
7150 the CFG for later pruning of jump threading paths including them.
7151 (thread_through_all_blocks): Remove paths which include edges that
7152 have been removed.
7153 * tree-ssa-dom.c (optimize_stmt): Call remove_jump_threads_including
7154 on each outgoing edges when optimizing away a control statement.
7155
7156 2015-10-06 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7157
7158 * reorg.c (emit_delay_sequence): Store list of delay slot insns
7159 in a vector instead of rtx_insn_list.
7160 (add_to_delay_list): Likewise.
7161 (delete_from_delay_slot): Likewise.
7162 (optimize_skip): Likewise.
7163 (redirect_with_delay_list_safe_p): Likewise.
7164 (check_annul_list_true_false): Likewise.
7165 (steal_delay_list_from_target): Likewise.
7166 (steal_delay_list_from_fallthrough): Likewise.
7167 (redundant_insn): Likewise.
7168 (fill_simple_delay_slots): Likewise.
7169 (fill_slots_from_thread): Likewise.
7170 (fill_eager_delay_slots): Likewise.
7171 (relax_delay_slots): Likewise.
7172
7173 2015-10-06 Sandra Loosemore <sandra@codesourcery.com>
7174
7175 * config/nios2/nios2.c (nios2_symbol_ref_in_small_data_p):
7176 For -mgpopt=local, also exclude unintialized common symbols.
7177 * doc/invoke.texi (Nios II Options): Document the change.
7178
7179 2015-10-07 Kugan Vivekanandarajah <kuganv@linaro.org>
7180
7181 * config/aarch64/iterators.md (vwcore): Add missing cases for
7182 V4HF/V8HF modes.
7183
7184 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
7185 Sebastian Pop <s.pop@samsung.com>
7186
7187 * graphite-poly.c (new_scop): Initialize drs.
7188 * graphite-poly.h (struct dr_info): New.
7189 (struct scop): Add drs.
7190 * graphite-sese-to-poly.c (pdr_add_alias_set): Use dr_info.
7191 (pdr_add_memory_accesses): Same.
7192 (build_poly_dr): Same.
7193 (build_alias_set): Same.
7194 (build_scop_drs): Same.
7195 (build_pbb_drs): Remove.
7196 * tree-data-ref.c (create_data_ref): Do not initialize alias_set.
7197 * tree-data-ref.h (data_reference): Remove alias_set.
7198
7199 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
7200 Sebastian Pop <s.pop@samsung.com>
7201
7202 * graphite-poly.c (free_data_refs_aux): Remove.
7203 (free_gimple_poly_bb): Do not call free_data_refs_aux.
7204 * graphite-poly.h (struct base_alias_pair): Remove.
7205 * graphite-sese-to-poly.c (pdr_add_alias_set): Remove all uses of
7206 base_alias_pair and dr->aux.
7207 (build_alias_set): Same.
7208 * tree-data-ref.c (create_data_ref): Initialize alias_set.
7209 * tree-data-ref.h (data_reference): Add alias_set.
7210
7211 2015-10-06 Aditya Kumar <aditya.k7@samsung.com>
7212 Sebastian Pop <s.pop@samsung.com>
7213
7214 * graphite-poly.c (new_poly_dr): Remove dr_base_object_set.
7215 Do not set PDR_BASE_OBJECT_SET.
7216 * graphite-poly.h (poly_dr): Same.
7217 (PDR_BASE_OBJECT_SET): Remove.
7218 (new_poly_dr): Update decl.
7219 * graphite-sese-to-poly.c (build_poly_dr): Update call to
7220 new_poly_dr.
7221 (write_alias_graph_to_ascii_dimacs): Remove.
7222 (write_alias_graph_to_ascii_dot): Remove.
7223 (write_alias_graph_to_ascii_ecc): Remove.
7224 (dr_same_base_object_p): Remove.
7225 (build_alias_set_optimal_p): Rename build_alias_set. Remove dead
7226 code.
7227 (build_base_obj_set_for_drs): Remove.
7228 (dump_alias_graphs): Remove.
7229 (build_scop_drs): Remove dead code.
7230
7231 2015-10-05 Michael Meissner <meissner@linux.vnet.ibm.com>
7232 Peter Bergner <bergner@vnet.ibm.com>
7233
7234 PR target/67808
7235 * config/rs6000/rs6000.md (extenddftf2): In the expander, only
7236 allow registers, but provide insns for the combiner to create for
7237 loads from memory. Separate VSX code from non-VSX code. For
7238 non-VSX code, combine extenddftf2_fprs into extenddftf2 and rename
7239 externaldftf2_internal to externaldftf2_fprs. Reorder constraints
7240 so that registers come before memory operations. Drop support from
7241 converting DFmode to TFmode, if the DFmode value is in a GPR
7242 register.
7243 (extenddftf2_fprs): Likewise.
7244 (extenddftf2_internal): Likewise.
7245 (extenddftf2_vsx): Likewise.
7246 (extendsftf2): In the expander, only allow registers, but provide
7247 insns for the combiner to create for stores and loads.
7248
7249 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7250
7251 * varasm.c (default_elf_asm_named_section): Remove ATTRIBUTE_UNUSED
7252 from the decl parameter.
7253
7254 2015-10-06 Nathan Sidwell <nathan@codesourcery.com>
7255
7256 PR 67861
7257 * gimple-fold.c (gimple_fold_builtin): Add break after
7258 BUILT_IN_PRINTF_CHK, BUILT_IN_VPRINTF_CHK folding.
7259
7260 2015-10-06 H.J. Lu <hongjiu.lu@intel.com>
7261
7262 * graphite-optimize-isl.c (optimize_isl): Rename scop->ctx
7263 to scop->isl_context.
7264
7265 2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
7266
7267 * config/arm/arm.c (arm_emit_probe_stack_range): Adjust comment.
7268 (output_probe_stack_range): Rotate the loop and simplify.
7269 (thumb1_expand_prologue): Tweak sorry message.
7270 * config/arm/arm.md (probe_stack): Use bare string.
7271
7272 2015-10-06 Nick Clifton <nickc@redhat.com>
7273
7274 * config.gcc (lm32-elf): Add newlib-stdint.h to tm_file.
7275
7276 2015-10-06 Nick Clifton <nickc@redhat.com>
7277
7278 * config/msp430/msp430.c (ATTR_NOINIT): New constant.
7279 (ATTR_PERSIST): New constant.
7280 (msp430_data_attr): New function - verifies an attribute that only
7281 applies to variables.
7282 (msp430_attributes): Add noinit and persistent attributes.
7283 (noinit_section): New variable.
7284 (presis_section): New variable.
7285 (TARGET_ASM_INIT_SECTIONS): Define.
7286 (msp430_init_sections): New function - initialises the noinit and
7287 persist section variables.
7288 (msp430_select_section): Add support for noinit and persist
7289 attributes.
7290 (msp430_section_type_flags): Likewise.
7291 * doc/extend.texi: Document the reent, critical, wakeup, noinit
7292 and persistent attributes.
7293
7294 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
7295 Sebastian Pop <s.pop@samsung.com>
7296
7297 * graphite-dependences.c (scop_get_transformed_schedule): Remove.
7298 (no_violations): Remove.
7299 (subtract_commutative_associative_deps): Remove.
7300 (compute_deps): Do not call subtract_commutative_associative_deps.
7301 (transform_is_safe): Remove.
7302 (graphite_legal_transform): Remove.
7303 * graphite-poly.h (graphite_legal_transform): Remove.
7304
7305 2015-10-05 Aditya Kumar <hiraditya@msn.com>
7306
7307 * graphite-sese-to-poly.c (build_loop_iteration_domains): Only loops
7308 which are in this region are passed so gcc_assert and remove redundant
7309 computation.
7310 * sese.c (sese_build_liveouts): Pass only those bbs which are not
7311 in region.
7312 (sese_bad_liveouts_use): Only BBs which are not in region are passed so
7313 gcc_assert on that and remove unnecessary computation.
7314 (sese_build_liveouts_use): Same.
7315
7316 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
7317
7318 * graphite-dependences.c (scop_get_reads): Renamed scop->context
7319 to scop->param_context.
7320 (scop_get_must_writes): Same.
7321 (scop_get_may_writes): Same.
7322 (scop_get_original_schedule): Same.
7323 (scop_get_transformed_schedule): Same.
7324 (subtract_commutative_associative_deps): Same.
7325 * graphite-isl-ast-to-gimple.c (add_parameters_to_ivs_params): Same.
7326 (generate_isl_context): Same.
7327 (generate_isl_schedule): Same.
7328 (scop_to_isl_ast): Same.
7329 (graphite_regenerate_ast_isl): Same.
7330 * graphite-optimize-isl.c (scop_get_domains): Same.
7331 (optimize_isl): Renamed scop->context to scop->param_context.
7332 * graphite-poly.c (new_poly_bb): Change the type of argument to
7333 gimple_poly_bb_p.
7334 (new_scop): Renamed scop->context to scop->param_context.
7335 (free_scop): Same.
7336 (print_scop_context): Same.
7337 * graphite-poly.h (new_poly_dr): Change the type of argument from
7338 void* to data_reference_p.
7339 (struct poly_bb): Change the type of black_box to gimple_poly_bb_p.
7340 (new_poly_bb): Change the type of argument from void* to
7341 gimple_poly_bb_p.
7342 (pbb_set_black_box): Same.
7343 (struct scop): Rename context to param_context, ctx to isl_context.
7344 * graphite-scop-detection.c (scop_detection::build_scop_bbs_1):
7345 Move declarations closer to assignment.
7346 (find_params_in_bb): Same.
7347 (find_scop_parameters): Same.
7348 * graphite-sese-to-poly.c (unsigned ssa_name_version_typesize):
7349 Global to be used for statement IDs.
7350 (isl_id_for_pbb): Use ssa_name_version_typesize.
7351 (simple_copy_phi_p): Move declarations closer to assignment.
7352 (build_pbb_scattering_polyhedrons): Same.
7353 (build_scop_scattering): Same.
7354 (isl_id_for_ssa_name): Same.
7355 (extract_affine_name): Same.
7356 (extract_affine_int): Same.
7357 (extract_affine): Same.
7358 (set_scop_parameter_dim): Use renamed member.
7359 (build_loop_iteration_domains): Same.
7360 (add_param_constraints): Same.
7361 (build_scop_iteration_domain): Same.
7362 (pdr_add_data_dimensions): Same.
7363 (build_poly_dr): Same.
7364 (build_scop_drs): Move declarations closer to assignment.
7365 (analyze_drs_in_stmts): Same.
7366 (insert_out_of_ssa_copy): Same.
7367 (insert_out_of_ssa_copy_on_edge): Same.
7368 (propagate_expr_outside_region): Same.
7369 (rewrite_phi_out_of_ssa): Same.
7370 (rewrite_degenerate_phi): Same.
7371 (rewrite_reductions_out_of_ssa): Same.
7372 (rewrite_cross_bb_scalar_dependence): Same.
7373 (handle_scalar_deps_crossing_scop_limits): Same.
7374 (rewrite_cross_bb_scalar_deps): Same.
7375 * graphite.c (graphite_transform_loops): Use renamed member.
7376
7377 2015-10-06 Uros Bizjak <ubizjak@gmail.com>
7378
7379 PR c/65345
7380 * config/alpha/alpha.c (alpha_atomic_assign_expand_fenv): Use
7381 create_tmp_var_raw instead of create_tmp_var.
7382
7383 2015-10-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
7384
7385 PR c/65345
7386 * config/aarch64/aarch64-builtins.c (aarch64_atomic_assign_expand_fenv):
7387 Use create_tmp_var_raw instead of create_tmp_var.
7388
7389 2015-10-06 Alexander Fomin <alexander.fomin@intel.com>
7390
7391 PR target/67849
7392 * config/i386/sse.md (define_split vec_select/V8FI): Restrict
7393 split for upper-bank registers when target does not support
7394 AVX512VL.
7395 (define_insn "vec_extract_lo_<mode><mask_name>"): Restrict
7396 split when target does not support AVX512VL.
7397
7398 2015-10-06 David Edelsohn <dje.gcc@gmail.com>
7399
7400 PR c/65345
7401 * config/rs6000/rs6000.c (rs6000_atomic_assign_expand_fenv):
7402 Adjust to use create_tmp_var_raw instead of create_tmp_var.
7403
7404 2015-10-06 Nick Clifton <nickc@redhat.com>
7405
7406 * config/rl78/rl78.c (rl78_rtx_costs): Improve cost estimates for
7407 multiplication.
7408
7409 2015-10-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
7410
7411 * config.gcc (i[34567]86-*-linux* | ...): Add znver1.
7412 (case ${target}): Add znver1.
7413 * config/i386/cpuid.h(bit_CLZERO): Define.
7414 * config/i386/driver-i386.c: (host_detect_local_cpu): Let
7415 -march=native recognize znver1 processors.
7416 * config/i386/i386-c.c (ix86_target_macros_internal): Add
7417 znver1, clzero def_and_undef.
7418 * config/i386/i386.c (struct processor_costs znver1_cost): New.
7419 (m_znver1): New definition.
7420 (m_AMD_MULTIPLE): Includes m_znver1.
7421 (processor_target_table): Add znver1 entry.
7422 (ix86_target_string) : Add clzero entry.
7423 (static const char *const cpu_names): Add znver1 entry.
7424 (ix86_option_override_internal): Add znver1 instruction sets.
7425 (PTA_CLZERO) : New definition.
7426 (ix86_option_override_internal): Handle new clzerooption.
7427 (ix86_issue_rate): Add znver1.
7428 (ix86_adjust_cost): Add znver1.
7429 (ia32_multipass_dfa_lookahead): Add znver1.
7430 (has_dispatch): Add znver1.
7431 * config/i386/i386.h (TARGET_znver1): New definition.
7432 (TARGET_CLZERO): Define.
7433 (TARGET_CLZERO_P): Define.
7434 (struct ix86_size_cost): Add TARGET_ZNVER1.
7435 (enum processor_type): Add PROCESSOR_znver1.
7436 * config/i386/i386.md (define_attr "cpu"): Add znver1.
7437 (set_attr znver1_decode): New definitions for znver1.
7438 * config/i386/i386.opt (flag_dispatch_scheduler): Add znver1.
7439 (mclzero): New.
7440 * config/i386/mmx.md (set_attr znver1_decode): New definitions
7441 for znver1.
7442 * config/i386/sse.md (set_attr znver1_decode): Likewise.
7443 * config/i386/x86-tune.def: Add znver1 tunings.
7444 * config/i386/znver1.md: Introduce znver1 cpu and include new md file.
7445 * doc/invoke.texi: Add details about znver1
7446
7447 2015-10-06 Richard Biener <rguenther@suse.de>
7448
7449 PR tree-optimization/67859
7450 * tree-ssa-pre.c (create_expression_by_pieces): Properly
7451 discard not inserted stmts.
7452
7453 2015-10-06 Jonathan Wakely <jwakely@redhat.com>
7454
7455 * doc/extend.texi (Template Instantiation): Reorder options and
7456 de-emphasize -frepo.
7457 * doc/invoke.texi (C++ Dialect Options): Use -fstrict-enums in
7458 example instead of -frepo.
7459
7460 2015-10-06 Eric Botcazou <ebotcazou@adacore.com>
7461
7462 PR c/65345
7463 * config/sparc/sparc.c (sparc_atomic_assign_expand_fenv): Adjust to
7464 use create_tmp_var_raw rather than create_tmp_var.
7465
7466 2015-10-06 Richard Biener <rguenther@suse.de>
7467
7468 * tree-vectorizer.h (vec_info): New base class for...
7469 (_loop_vec_info): ... this and ...
7470 (_bb_vec_info): ... this.
7471 (vect_is_simple_use, vect_is_simple_use_1, new_stmt_vec_info,
7472 vect_analyze_data_refs_alignment, vect_verify_datarefs_alignment,
7473 vect_analyze_data_ref_accesses, vect_analyze_data_refs,
7474 vect_schedule_slp, vect_analyze_slp, vect_pattern_recog,
7475 vect_destroy_datarefs): Adjust interface to take a vec_info *
7476 rather than both a loop_vec_info and a bb_vec_info argument.
7477 * tree-vect-data-refs.c (vect_compute_data_refs_alignment,
7478 vect_verify_datarefs_alignment, vect_enhance_data_refs_alignment,
7479 vect_analyze_data_refs_alignment, vect_analyze_data_ref_accesses,
7480 vect_analyze_data_refs, vect_create_data_ref_ptr): Adjust
7481 accordingly.
7482 * tree-vect-loop.c (new_loop_vec_info): Initialize base class.
7483 (destroy_loop_vec_info, vect_analyze_loop_2,
7484 vect_is_simple_reduction_1, get_initial_def_for_induction,
7485 vect_create_epilog_for_reduction, vectorizable_reduction,
7486 vectorizable_live_operation, vect_transform_loop): Adjust.
7487 * tree-vect-patterns.c (type_conversion_p,
7488 vect_recog_widen_mult_pattern, vect_recog_widen_shift_pattern,
7489 vect_recog_rotate_pattern, vect_recog_vector_vector_shift_pattern,
7490 vect_recog_divmod_pattern, vect_recog_mixed_size_cond_pattern,
7491 check_bool_pattern, vect_recog_bool_pattern,
7492 vect_mark_pattern_stmts, vect_pattern_recog): Likewise.
7493 * tree-vect-slp.c (vect_get_and_check_slp_defs,
7494 vect_build_slp_tree_1, vect_build_slp_tree, vect_analyze_slp_cost_1,
7495 vect_analyze_slp_instance, vect_analyze_slp, destroy_bb_vec_info,
7496 vect_slp_analyze_bb_1, vect_schedule_slp): Likewise.
7497 (new_bb_vec_info): Initialize base classs.
7498 * tree-vect-stmts.c (record_stmt_cost, process_use,
7499 vect_get_vec_def_for_operand, vect_finish_stmt_generation,
7500 vectorizable_mask_load_store, vectorizable_call,
7501 vectorizable_simd_clone_call, vectorizable_conversion,
7502 vectorizable_assignment, vectorizable_shift,
7503 vectorizable_operation, vectorizable_store,
7504 vectorizable_load, vect_is_simple_cond, vectorizable_condition,
7505 new_stmt_vec_info, vect_is_simple_use, vect_is_simple_use_1): Likewise.
7506 * tree-vectorizer.c (vect_destroy_datarefs): Likewise.
7507
7508 2015-10-05 Kaz Kojima <kkojima@gcc.gnu.org>
7509
7510 PR c/65345
7511 * config/sh/sh.c (sh_atomic_assign_expand_fenv): Adjust to use
7512 create_tmp_var_raw rather than create_tmp_var.
7513
7514 2015-10-05 Marek Polacek <polacek@redhat.com>
7515
7516 * tree-ssa-loop-im.c
7517 (move_computations_dom_walker::before_dom_children): Don't set
7518 SSA_NAME_ANTI_RANGE_P.
7519 * tree-ssa-phiopt.c (value_replacement): Likewise.
7520
7521 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
7522 Sebastian Pop <s.pop@samsung.com>
7523
7524 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Increase to 7.
7525
7526 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
7527 Sebastian Pop <s.pop@samsung.com>
7528
7529 * graphite-poly.c (new_gimple_poly_bb): ... here.
7530 (free_data_refs_aux): ... here.
7531 (free_gimple_poly_bb): ... here.
7532 (remove_gbbs_in_scop): ... here.
7533 (new_scop): Call new_sese.
7534 (free_scop): Call remove_gbbs_in_scop and free_sese.
7535 * graphite-poly.h (base_alias_pair): ... here.
7536 (new_gimple_poly_bb): Declare.
7537 (free_gimple_poly_bb): Declare.
7538 * graphite-scop-detection.c (parameter_index_in_region_1):
7539 (parameter_index_in_region): ... here.
7540 (scan_tree_for_params): ... here.
7541 (find_params_in_bb): ... here.
7542 (find_scop_parameters): ... here.
7543 (build_scops): Call find_scop_parameters.
7544 * graphite-sese-to-poly.c (free_gimple_poly_bb): Move...
7545 (free_scops): Move...
7546 (single_pred_cond_non_loop_exit): Move...
7547 (sese_dom_walker::before_dom_children): Move...
7548 (sese_dom_walker::after_dom_children): Move...
7549 (build_poly_scop): Move...
7550 * graphite-sese-to-poly.h (base_alias_pair): Move...
7551 * graphite.c (free_scops): ... here.
7552
7553 2015-10-05 Aditya Kumar <aditya.k7@samsung.com>
7554 Sebastian Pop <s.pop@samsung.com>
7555
7556 * graphite-scop-detection.c: Include domwalk.h and tree-cfg.h.
7557 (trivially_empty_bb_p): Move...
7558 (same_close_phi_node): Move...
7559 (new_gimple_poly_bb): Move...
7560 (compare_bb_depths): Move...
7561 (graphite_sort_dominated_info): Move...
7562 (remove_duplicate_close_phi): Move...
7563 (make_close_phi_nodes_unique): Move...
7564 (canonicalize_loop_closed_ssa): Move...
7565 (canonicalize_loop_closed_ssa_form): Move...
7566 (loop_ivs_can_be_represented): Move...
7567 (single_pred_cond_non_loop_exit): Move...
7568 (graphite_can_represent_init): Move...
7569 (graphite_can_represent_scev): Move...
7570 (stmt_has_simple_data_refs_p): Move...
7571 (stmt_has_side_effects): Move...
7572 (graphite_can_represent_stmt): Move...
7573 (scop_detection): ... here.
7574 (sese_dom_walker): ... and here.
7575 (build_scops): Call all moved functions.
7576 * graphite-sese-to-poly.c (try_generate_gimple_bb): Move...
7577 (all_non_dominated_preds_marked_p): Move...
7578 (build_scop_bbs_1): Move...
7579 (build_scop_bbs): Move...
7580 (set_scop_parameter_dim): Move...
7581 (nb_pbbs_in_loops): Move...
7582 (build_poly_scop): Do not call all the moved functions.
7583
7584 2015-10-05 Martin Jambor <mjambor@suse.cz>
7585 Jan Hubicka <hubicka@ucw.cz>
7586
7587 * ipa-cp.c (ipcp_alignment_lattice): New type.
7588 (ipcp_param_lattices): Use the above to represent alignment.
7589 (ipcp_alignment_lattice::print): New function.
7590 (print_all_lattices): Use it to print alignment information.
7591 (ipcp_alignment_lattice::top_p): New function.
7592 (ipcp_alignment_lattice::bottom_p): Likewise.
7593 (ipcp_alignment_lattice::set_to_bottom): Likewise.
7594 (ipcp_alignment_lattice::meet_with_1): Likewise.
7595 (ipcp_alignment_lattice::meet_with): Two new overloaded functions.
7596 (set_all_contains_variable): Use set_to_bottom of alignment lattice.
7597 (initialize_node_lattices): Likewise.
7598 (propagate_alignment_accross_jump_function): Work with the new class
7599 for alignment lattices.
7600 (propagate_constants_accross_call): Pass only the alignment lattice to
7601 propagate_alignment_accross_jump_function.
7602 (ipcp_store_alignment_results): Work with the new class for alignment
7603 lattices.
7604
7605 2015-10-05 Marek Polacek <polacek@redhat.com>
7606
7607 PR tree-optimization/67821
7608 * tree-ssanames.c (duplicate_ssa_name_range_info): Remove an assert.
7609
7610 2015-10-05 Thomas Schwinge <thomas@codesourcery.com>
7611
7612 PR other/65021
7613 * config/i386/intelmic-mkoffload.c (mkoffload_atexit): Rename
7614 function to...
7615 (mkoffload_cleanup): ... this. Adjust all users.
7616 (maybe_unlink): Look at save_temps and verbose flags instead of
7617 debug flag.
7618 (main): Parse "-save-temps" flag.
7619 (generate_target_descr_file, generate_target_offloadend_file)
7620 (generate_host_descr_file, prepare_target_image): Pass it on.
7621 * config/nvptx/mkoffload.c (tool_cleanup): Implement.
7622 (mkoffload_cleanup): New function.
7623 (maybe_unlink): Look at save_temps and verbose flags instead of
7624 debug flag.
7625 (main): Instead of calling utils_cleanup, register atexit handler
7626 for mkoffload_cleanup.
7627 (main): Parse "-save-temps" flag.
7628 (compile_native, main): Pass it on.
7629 * lto-wrapper.c (compile_offload_image): Likewise.
7630
7631 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7632
7633 * gimple.h (gimple_op_ptr): Require a non const gimple *.
7634 (gimple_assign_lhs_ptr): Likewise.
7635 (gimple_assign_rhs1_ptr): Likewise.
7636 (gimple_assign_rhs2_ptr): Likewise.
7637 (gimple_assign_rhs3_ptr): Likewise.
7638 (gimple_call_lhs_ptr): Likewise.
7639 (gimple_call_fn_ptr): Likewise.
7640 (gimple_call_chain_ptr): Likewise.
7641 (gimple_call_arg_ptr): Likewise.
7642 (gimple_cond_lhs_ptr): Likewise.
7643 (gimple_cond_rhs_ptr): Likewise.
7644 (gimple_switch_index_ptr): Likewise.
7645 (gimple_return_retval_ptr): Likewise.
7646
7647 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7648
7649 * gimple.h (gimple_asm_input_op_ptr): Remove.
7650 (gimple_asm_output_op_ptr): Likewise.
7651
7652 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7653
7654 * gimple.h (gimple_location_ptr): Remove.
7655 * tree-vrp.c (check_all_array_refs): Adjust.
7656
7657 2015-10-05 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
7658
7659 * tree-ssa-operands.c (build_uses): store tree * instead of
7660 tree.
7661 (finalize_ssa_uses): Adjust.
7662 (append_use): Likewise.
7663 (verify_ssa_operands): Likewise.
7664
7665 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7666
7667 * real.h (build_real_truncate): Declare.
7668 * tree.c (build_real_truncate): New function.
7669 (strip_float_extensions): Use it.
7670 * builtins.c (fold_builtin_cabs, fold_builtin_sqrt, fold_builtin_cbrt)
7671 (fold_builtin_hypot, fold_builtin_pow): Likewise.
7672 * match.pd: Likewise.
7673
7674 2015-10-05 James Greenhalgh <james.greenhalgh@arm.com>
7675 Jiong Wang <jiong.wang@arm.com>
7676
7677 * config/aarch64/aarch64.md (tlsie_tiny_sidi): Replace "<w>" with "w".
7678
7679 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7680
7681 * real.h (REAL_VALUE_FROM_CONST_DOUBLE): Delete.
7682 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p)
7683 (aarch64_print_operand, aarch64_float_const_representable_p)
7684 (aarch64_output_simd_mov_immediate): Use CONST_DOUBLE_REAL_VALUE
7685 instead of REAL_VALUE_FROM_CONST_DOUBLE.
7686 * config/arc/arc.c (arc_print_operand): Likewise.
7687 * config/arm/arm.c (arm_const_double_rtx, vfp3_const_double_index)
7688 (neon_valid_immediate, arm_print_operand, arm_emit_fp16_const)
7689 (vfp3_const_double_for_fract_bits, vfp3_const_double_for_bits):
7690 Likewise.
7691 * config/arm/arm.md (*arm32_movhf, consttable_4, consttable_8)
7692 (consttable_16): Likewise.
7693 * config/arm/vfp.md (*movhf_vfp_neon, *movhf_vfp): Likewise.
7694 * config/avr/avr.c (avr_print_operand): Likewise.
7695 * config/bfin/bfin.md: Likewise (in a define_split).
7696 * config/c6x/c6x.md: Likewise (in a define_split).
7697 * config/cr16/cr16.c (cr16_const_double_ok): Likewise.
7698 (cr16_print_operand): Likewise.
7699 * config/cris/cris.c (cris_print_operand): Likewise.
7700 * config/epiphany/epiphany.c (epiphany_print_operand): Likewise.
7701 * config/fr30/fr30.c (fr30_print_operand): Likewise.
7702 (fr30_const_double_is_zero): Likewise.
7703 * config/frv/frv.c (frv_print_operand, output_move_single): Likewise.
7704 * config/frv/frv.md: Likewise (in a define_split).
7705 * config/frv/predicates.md (int_2word_operand): Likewise.
7706 * config/h8300/h8300.c (h8300_print_operand): Likewise.
7707 * config/i386/i386.c (standard_80387_constant_p): Likewise.
7708 (ix86_print_operand, ix86_split_to_parts): Likewise.
7709 * config/i386/i386.md: Likewise (in a define_split).
7710 * config/ia64/ia64.c (ia64_split_tmode, ia64_print_operand): Likewise.
7711 * config/iq2000/iq2000.md (movsf_lo_sum, movsf_high): Likewise.
7712 * config/m32r/m32r.c (easy_df_const, m32r_print_operand): Likewise.
7713 * config/m68k/m68k.c (handle_move_double, standard_68881_constant_p)
7714 (print_operand): Likewise.
7715 * config/m68k/m68k.md (movsf_cf_hard, movdf_cf_hard): Likewise.
7716 * config/mep/mep.md: Likewise (in define_split).
7717 * config/microblaze/microblaze.c (microblaze_const_double_ok)
7718 (print_operand): Likewise.
7719 * config/mips/mips.md (consttable_float): Likewise.
7720 * config/mmix/mmix.c (mmix_intval): Likewise.
7721 * config/mn10300/mn10300.c (mn10300_print_operand): Likewise.
7722 * config/nvptx/nvptx.c (nvptx_print_operand): Likewise.
7723 * config/pa/pa.c (pa_singlemove_string): Likewise.
7724 * config/pdp11/pdp11.c (pdp11_expand_operands): Likewise.
7725 (pdp11_asm_print_operand, legitimate_const_double_p): Likewise.
7726 * config/rs6000/rs6000.c (num_insns_constant, rs6000_emit_cmove)
7727 (output_toc): Likewise.
7728 * config/rs6000/rs6000.md: Likewise (in define_splits).
7729 * config/rx/rx.c (rx_print_operand): Likewise.
7730 * config/s390/s390.c (s390_output_pool_entry): Likewise.
7731 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
7732 * config/sh/sh.md (consttable_sf, consttable_df): Likewise
7733 (and also in define_splits).
7734 * config/sparc/sparc.c (fp_sethi_p, fp_mov_p): Likewise.
7735 (fp_high_losum_p): Likewise.
7736 * config/sparc/sparc.md (*movsf_insn, *movsf_lo_sum): Likewise.
7737 (*movsf_high): Likewise.
7738 * config/spu/spu.c (const_double_to_hwint): Likewise.
7739 * config/v850/v850.c (const_double_split): Likewise.
7740 * config/vax/vax.c (vax_float_literal): Likewise.
7741 * config/visium/visium.c (visium_expand_copysign): Likewise.
7742 * config/visium/visium.md: Likewise (in define_split).
7743 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
7744 * config/xtensa/xtensa.c (print_operand): Likewise.
7745 (xtensa_output_literal): Likewise.
7746 * cprop.c (implicit_set_cond_p): Likewise.
7747 * dwarf2out.c (insert_float): Likewise.
7748 * expmed.c (expand_mult, make_tree): Likewise.
7749 * expr.c (compress_float_constant): Likewise.
7750 * rtlanal.c (split_double): Likewise.
7751 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
7752 (simplify_const_unary_operation, simplify_binary_operation_1)
7753 (simplify_const_binary_operation): Likewise.
7754 (simplify_const_relational_operation): Likewise.
7755 * varasm.c (output_constant_pool_2): Likewise.
7756
7757 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7758
7759 * real.h (CONST_DOUBLE_ATOF): Use const_double_from_real_value
7760 instead of CONST_DOUBLE_FROM_REAL_VALUE.
7761 (CONST_DOUBLE_FROM_REAL_VALUE): Delete.
7762 * config/c6x/c6x.md (divsf3, divdf3): Use const_double_from_real_value
7763 instead of CONST_DOUBLE_FROM_REAL_VALUE.
7764 * config/epiphany/epiphany.md (fixuns_truncsfsi2): Likewise.
7765 * config/i386/i386.c (standard_80387_constant_rtx): Likewise.
7766 (ix86_expand_builtin, ix86_emit_i387_log1p, ix86_emit_i387_round)
7767 (ix86_emit_swsqrtsf): Likewise.
7768 * config/ia64/ia64.c (ia64_expand_builtin): Likewise.
7769 * config/mips/mips.md (fixuns_truncdfsi2, fixuns_truncdfdi2)
7770 (fixuns_truncsfsi2, fixuns_truncsfdi2): Likewise.
7771 * config/pa/pa.c (pa_expand_builtin): Likewise.
7772 * config/rs6000/rs6000.c (rs6000_load_constant_and_splat): Likewise.
7773 (rs6000_scale_v2df): Likewise.
7774 * config/rs6000/rs6000.md (*cmptf_internal2): Likewise.
7775 * config/s390/s390.md (fixuns_truncdddi2, fixuns_trunctddi2)
7776 (fixuns_trunc<BFP:mode><GPR:mode>2): Likewise.
7777 * config/s390/vx-builtins.md (vec_ctd_s64, vec_ctd_u64, vec_ctsl)
7778 (vec_ctul): Likewise.
7779 * config/sparc/sparc.c (sparc_emit_fixunsdi): Likewise.
7780 * config/spu/spu.c (hwint_to_const_double, spu_float_const): Likewise.
7781 * config/spu/spu.md (floatunsdisf2, floatunstisf2): Likewise.
7782 * cse.c (fold_rtx): Likewise.
7783 * emit-rtl.c (immed_double_const): Likewise (in comments).
7784 (init_emit_once): Likewise.
7785 * expr.c (compress_float_constant, expand_expr_real_1)
7786 (const_vector_from_tree): Likewise.
7787 * optabs.c (expand_float, expand_fix): Likewise.
7788 * reg-stack.c (reg_to_stack): Likewise.
7789 * simplify-rtx.c (avoid_constant_pool_reference): Likewise.
7790 (simplify_const_unary_operation, simplify_binary_operation_1)
7791 (simplify_const_binary_operation, simplify_relational_operation)
7792 (simplify_immed_subreg): Likewise.
7793
7794 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7795
7796 * doc/tm.texi.in (REAL_ARITHMETIC): Delete.
7797 * doc/tm.texi: Regenerate.
7798 * real.h (REAL_ARITHMETIC): Delete.
7799 * config/i386/i386.c (ix86_expand_lround, ix86_expand_round)
7800 (ix86_expand_round_sse4): Use real_arithmetic instead of
7801 REAL_ARITHMETIC.
7802 * config/i386/sse.md (round<mode>2): Likewise.
7803 * rtl.h (rtx_to_tree_code): Likewise (in comment).
7804 * explow.c (rtx_to_tree_code): Likewise (in comment).
7805 * match.pd: Likewise.
7806 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
7807 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
7808 (expand_pow_as_sqrts): Likewise.
7809 * tree-pretty-print.c (dump_generic_node): Remove code that
7810 was conditional on REAL_ARITHMETIC being undefined.
7811
7812 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7813
7814 * doc/tm.texi.in (REAL_VALUES_LESS): Delete.
7815 * doc/tm.texi: Regenerate.
7816 * real.h (real_less): Declare.
7817 (REAL_VALUES_LESS): Delete.
7818 * real.c (real_less): New function.
7819 (real_compare): Use it.
7820 * config/m68k/m68k.c (floating_exact_log2): Use real_less instead
7821 of REAL_VALUES_LESS.
7822 * config/microblaze/microblaze.c (microblaze_const_double_ok):
7823 Likewise.
7824 * fold-const.c (fold_convert_const_int_from_real): Likewise.
7825 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
7826 (simplify_const_relational_operation): Likewise.
7827 * tree-call-cdce.c (check_pow): Likewise.
7828 (gen_conditions_for_pow_cst_base): Likewise.
7829
7830 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7831
7832 * real.h (REAL_VALUES_IDENTICAL): Delete.
7833 * config/m68k/m68k.c (standard_68881_constant_p): Use real_identical
7834 instead of REAL_VALUES_IDENTICAL.
7835 * fold-const.c (operand_equal_p): Likewise.
7836 * ipa-icf.c (sem_variable::equals): Likewise.
7837 * tree-complex.c (some_nonzerop): Likewise.
7838 (expand_complex_multiplication): Likewise.
7839 * tree.c (simple_cst_equal): Likewise.
7840 * varasm.c (compare_constant): Likewise.
7841
7842 2015-10-05 Richard Sandiford <richard.sandiford@arm.com>
7843
7844 * real.h (real_equal): Declare.
7845 (REAL_VALUES_EQUAL): Delete.
7846 * real.c (real_equal): New function.
7847 (real_compare): Use it.
7848 * doc/tm.texi.in (REAL_VALUES_EQUAL): Delete.
7849 * doc/tm.texi: Regenerate.
7850 * builtins.c (fold_builtin_pow, fold_builtin_load_exponent): Use
7851 real_equal instead of REAL_VALUES_EQUAL.
7852 * config/aarch64/aarch64.c (aarch64_float_const_zero_rtx_p): Likewise.
7853 * config/arm/arm.c (arm_const_double_rtx, neon_valid_immediate)
7854 (fp_const_from_val): Likewise.
7855 * config/fr30/fr30.c (fr30_const_double_is_zero): Likewise.
7856 * config/m68k/m68k.c (standard_68881_constant_p): Likewise.
7857 (floating_exact_log2): Likewise.
7858 * config/sh/sh.c (fp_zero_operand, fp_one_operand): Likewise.
7859 * config/vax/vax.c (vax_float_literal): Likewise.
7860 * config/xtensa/predicates.md (const_float_1_operand): Likewise.
7861 * cprop.c (implicit_set_cond_p): Likewise.
7862 * expmed.c (expand_mult): Likewise.
7863 * fold-const.c (const_binop): Likewise.
7864 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
7865 (simplify_const_binary_operation): Likewise.
7866 (simplify_const_relational_operation): Likewise.
7867 * tree-call-cdce.c (check_pow): Likewise.
7868 (gen_conditions_for_pow_cst_base): Likewise.
7869 * tree-inline.c (estimate_num_insns): Likewise.
7870 * tree-ssa-dom.c (record_equality): Likewise.
7871 * tree-ssa-math-opts.c (representable_as_half_series_p): Likewise.
7872 (gimple_expand_builtin_pow): Likewise.
7873 (pass_optimize_widening_mul::execute): Likewise.
7874 * tree-ssa-uncprop.c (associate_equivalences_with_edges): Likewise.
7875 * tree-vect-patterns.c (vect_recog_pow_pattern): Likewise.
7876 * tree.c (real_zerop, real_onep, real_minus_onep): Likewise.
7877
7878 2015-10-05 Richard Biener <rguenther@suse.de>
7879
7880 PR ipa/67783
7881 * ipa-inline-analysis.c (estimate_function_body_sizes): Only
7882 consider loop header PHI defs as IVs.
7883
7884 2015-10-05 Richard Biener <rguenther@suse.de>
7885
7886 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Move
7887 call handling ...
7888 (create_expression_by_pieces): ... here and build GIMPLE
7889 calls directly. Use gimple_build API and avoid force_gimple_operand.
7890 (insert_into_preds_of_block): Simplify.
7891 (do_regular_insertion): Add comment.
7892
7893 2015-10-04 Jason Merrill <jason@redhat.com>
7894
7895 * builtins.def (BUILT_IN_ABORT): Add transaction_pure attribute.
7896
7897 2015-10-04 Uros Bizjak <ubizjak@gmail.com>
7898
7899 * config/i386/i386.c (ix86_nsaved_regs): Use GENERAL_REGNO_P to
7900 check for general register.
7901 (ix86_emit_save_regs): Ditto.
7902 (ix86_emit_save_regs_using_mov): Ditto.
7903 (ix86_emit_restore_regs_using_pop): Ditto.
7904 (ix86_emit_restore_regs_using_mov): Ditto.
7905
7906 2015-10-03 Marek Polacek <polacek@redhat.com>
7907
7908 * Makefile.in (insn-latencytab.o): Remove -Wno-duplicated-cond.
7909 (insn-dfatab.o): Likewise.
7910
7911 2015-10-03 Max Filippov <jcmvbkbc@gmail.com>
7912
7913 * config.gcc (xtensa*-*-uclinux*): New configuration.
7914 * config/xtensa/uclinux.h: New file.
7915 * config/xtensa/uclinux.opt: New file.
7916
7917 2015-10-03 Jonathan Wakely <jwakely@redhat.com>
7918
7919 * doc/cpp.texi (Standard Predefined Macros): Document value of
7920 __cplusplus for C++14.
7921
7922 2015-10-02 Bernd Schmidt <bernds@codesourcery.com>
7923
7924 * gcc.c (process_command): Use spec_machine rather than
7925 spec_host_machine to build tooldir_prefix2.
7926
7927 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7928 Bernd Schmidt <bernds@codesourcery.com>
7929
7930 * config/nvptx/mkoffload.c (Kind, Vis): Remove enums.
7931 (Token, Stmt): Remove structs.
7932 (decls, vars, fns): Remove variables.
7933 (alloc_comment, append_stmt, is_keyword): Remove macros.
7934 (tokenize, write_token, write_tokens, alloc_stmt, rev_stmts)
7935 (write_stmt, write_stmts, parse_insn, parse_list_nosemi)
7936 (parse_init, parse_file): Remove functions.
7937 (read_file): Accept a pointer to a length and store into it.
7938 (process): Don't try to parse the input file, just write it out as
7939 a string, but looking for maps. Also write out the length.
7940 (main): Don't use "-S" to compile PTX code.
7941
7942 2015-10-02 Jeff Law <law@redhat.com>
7943
7944 * tree-ssa-dom.c (optimize_stmt): Note when loop structures need
7945 fixups.
7946
7947 2015-10-02 Thomas Schwinge <thomas@codesourcery.com>
7948
7949 PR target/67822
7950 * config/nvptx/mkoffload.c (main): Scan the argument vector for
7951 -fopenmp, and skip generating an offloading image if specified.
7952
7953 2015-10-02 Uros Bizjak <ubizjak@gmail.com>
7954
7955 * system.h (ROUND_UP): New macro definition.
7956 (ROUND_DOWN): Ditto.
7957 * ggc-page.c (ROUND_UP): Remove local macro definition.
7958 (PAGE_ALIGN): Implement using ROUND_UP macro.
7959
7960 * config/i386/i386.h (PUSH_ROUNDING): Implement using ROUND_UP macro.
7961 * config/i386/i386.c (function_arg_advance_64): Use ROUND_UP macro
7962 to align values.
7963 (ix86_compute_frame_layout): Ditto.
7964 (ix86_expand_prologue): Ditto.
7965 (ix86_adjust_stack_and_probe): Use ROUND_DOWN macro
7966 to round down values.
7967 (expand_set_or_movmem_via_rep): Ditto.
7968
7969 2015-10-02 Marek Polacek <polacek@redhat.com>
7970
7971 * genemit.c (gen_exp): Remove -Wduplicated-cond hack.
7972
7973 2015-10-02 Aditya Kumar <aditya.k7@samsung.com>
7974
7975 * graphite-scop-detection.c (loop_ivs_can_be_represented): New.
7976 (loop_body_is_valid_scop): Call loop_ivs_can_be_represented.
7977 * graphite-sese-to-poly.c (new_gimple_bb): Renamed new_gimple_poly_bb.
7978 (free_gimple_bb): Renamed free_gimple_poly_bb.
7979 (try_generate_gimple_bb): Hoist loop invariant code.
7980 (analyze_drs_in_stmts): Same.
7981 (build_scop_drs): Call renamed functions.
7982 (new_pbb_from_pbb): Same.
7983 (scop_ivs_can_be_represented): Delete as functionality now moved to
7984 graphite-scop-detection.c
7985 (build_poly_scop): Remove call to scop_ivs_can_be_represented.
7986
7987 2015-10-02 Aditya Kumar <hiraditya@msn.com>
7988
7989 * graphite-scop-detection.c (stmt_has_side_effects): New function
7990 outlined from stmt_simple_for_scop_p.
7991 (graphite_can_represent_stmt): Same.
7992 (stmt_simple_for_scop_p): Moved code out of this function for better
7993 readability.
7994
7995 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
7996
7997 * config/i386/i386.c (processor_features): Add F_AVX512VBMI,
7998 F_AVX512IFMA.
7999 (isa_names_table): Handle F_AVX512VBMI and F_AVX512IFMA.
8000
8001 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8002
8003 * config/aarch64/aarch64-elf.h (TARGET_ASM_NAMED_SECTION): Delete.
8004
8005 2015-10-02 Vladimir Makarov <vmakarov@redhat.com>
8006
8007 PR rtl-optimization/67756
8008 * lra-constraints.c (match_reload): Add a new parameter. Use it
8009 for creating a pseudo with the same value.
8010 (curr_insn_transform): Pass a new argument to match_reload.
8011
8012 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
8013
8014 * config/i386/i386.c (expand_vec_perm_even_odd_trunc): New.
8015 (expand_vec_perm_even_odd_1): Handle V64QImode.
8016 (ix86_expand_vec_perm_const_1): Try expansion with
8017 expand_vec_perm_even_odd_trunc as well.
8018 * config/i386/sse.md (VI124_AVX512F): Rename to ...
8019 (define_mode_iterator VI124_AVX2_24_AVX512F_1_AVX512BW): This. Extend
8020 to V54QI.
8021 (define_mode_iterator VI248_AVX2_8_AVX512F): Rename to ...
8022 (define_mode_iterator VI248_AVX2_8_AVX512F_24_AVX512BW): This. Extend
8023 to V32HI and V16SI.
8024 (define_insn "avx512bw_<code>v32hiv32qi2"): Unhide pattern name.
8025 (define_expand "vec_pack_trunc_<mode>"): Update iterator name.
8026 (define_expand "vec_unpacks_lo_<mode>"): Ditto.
8027 (define_expand "vec_unpacks_hi_<mode>"): Ditto.
8028 (define_expand "vec_unpacku_lo_<mode>"): Ditto.
8029 (define_expand "vec_unpacku_hi_<mode>"): Ditto.
8030
8031 2015-10-02 Kirill Yukhin <kirill.yukhin@intel.com>
8032
8033 * doc/invoke.texi: Mention -mavx512vl, -mavx512bw, -mavx512dq,
8034 -mavx521vbmi, -mavx512ifma. Add missing opindex-es.
8035
8036 2015-10-02 Jason Merrill <jason@redhat.com>
8037
8038 PR c/59218
8039 * trans-mem.c (volatile_lvalue_p): Rename from volatile_var_p.
8040 (diagnose_tm_1_op): Also diagnose volatile accesses in
8041 transaction_safe function.
8042
8043 2015-10-02 Jonathan Wakely <jwakely@redhat.com>
8044
8045 * system.h (malloc.h): Don't include obsolete header.
8046
8047 2015-10-02 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8048
8049 * config/aarch64/aarch64.c (aarch64_elf_asm_named_section): Delete.
8050 (TLS_SECTION_ASM_FLAG): Delete.
8051
8052 2015-10-02 Marek Polacek <polacek@redhat.com>
8053
8054 PR c/64249
8055 * doc/invoke.texi: Document -Wduplicated-cond.
8056 * Makefile.in (insn-latencytab.o): Use -Wno-duplicated-cond.
8057 (insn-dfatab.o): Likewise.
8058 * genemit.c (gen_exp): Rewrite condition to avoid -Wduplicated-cond
8059 warning.
8060
8061 2015-10-02 Oleg Endo <olegendo@gcc.gnu.org>
8062
8063 * config/sh/sh.md: Add new unnamed split pattern to handle movt-movt
8064 sequences.
8065
8066 2015-10-02 Renlin Li <renlin.li@arm.com>
8067
8068 * config/aarch64/aarch64.md (csneg3_insn_uxtw): New pattern.
8069
8070 2015-10-02 Renlin Li <renlin.li@arm.com>
8071
8072 PR target/66776
8073 * config/aarch64/aarch64.md (cmovdi_insn_uxtw): New pattern.
8074
8075 2015-10-02 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8076
8077 PR rtl-optimization/67786
8078 PR rtl-optimization/67787
8079 * ifcvt.c (bb_valid_for_noce_process_p): Reject basic block if
8080 it modifies a reg used in the condition calculation.
8081
8082 2015-10-02 James Greenhalgh <james.greenhalgh@arm.com>
8083
8084 * config/aarch64/aarch64-simd.md (*aarch64_combinez<mode>): Add
8085 alternatives for reads from memory and moves from general-purpose
8086 registers.
8087 (*aarch64_combinez_be<mode>): Likewise.
8088
8089 2015-10-02 Kai Tietz <ktietz70@googlemail.com>
8090
8091 PR target/51726
8092 * config/i386/winnt.c (ix86_handle_selectany_attribute): Handle
8093 selectany within this function without need to keep attribute.
8094 (i386_pe_encode_section_info): Remove selectany-code.
8095
8096 2015-10-02 Richard Biener <rguenther@suse.de>
8097
8098 * tree-ssa-sccvn.c (has_VN_INFO): New function.
8099 (free_scc_vn): Use it.
8100 (visit_use): Remove dead code and refactor to use gassign
8101 and use less indentation.
8102
8103 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
8104
8105 PR target/67788
8106 PR target/67789
8107 * config/rs6000/rs6000.c (TARGET_CANNOT_COPY_INSN_P): New.
8108 (rs6000_cannot_copy_insn_p): New function.
8109 * config/rs6000/rs6000.md (cannot_copy): New attribute.
8110 (load_toc_v4_PIC_1_normal): Set cannot_copy.
8111 (load_toc_v4_PIC_1_476): Ditto.
8112
8113 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
8114
8115 * graphite-scop-detection.c (struct sese_l): New conversion constructor
8116 so that this type can be pushed into a vec.
8117 (class scop_builder): use sese_l to collect scops.
8118 (get_scops): New getter function.
8119 (remove_intersecting_scops): Use sese_l instead of scops_p.
8120 (intersects): Same.
8121 (add_scop): Same.
8122 (subsumes): Same.
8123 (remove_subscops): Same.
8124 (build_scops): Add scops to vec<scops_p> once all the scops have been
8125 detected.
8126
8127 2015-10-01 Aditya Kumar <aditya.k7@samsung.com>
8128
8129 * graphite-isl-ast-to-gimple.c (class translate_isl_ast_to_gimple):
8130 Renamed type from gimple_bb_p to gimple_poly_bb_p.
8131 (translate_isl_ast_node_user): Same.
8132 * graphite-poly.c (new_poly_bb): Same.
8133 * graphite-poly.h (gbb_from_bb): Same.
8134 * sese.h: Same.
8135 * graphite-sese-to-poly.c (new_gimple_bb):
8136 gimple_bb_p -> gimple_poly_bb_p
8137 (build_scop_scattering): Same.
8138 (find_params_in_bb): Same.
8139 (add_conditions_to_domain): Same.
8140 (sese_dom_walker::before_dom_children): Same.
8141 (analyze_drs_in_stmts): Same.
8142 (new_pbb_from_pbb): Same.
8143 (free_data_refs_aux): New pointer to type base_alias_pair.
8144 * graphite-sese-to-poly.h: Same.
8145 * sese.c (if_region_set_false_region): Fixed Indentation.
8146 (move_sese_in_condition): Same.
8147
8148 2015-10-01 Sebastian Pop <s.pop@samsung.com>
8149 Aditya Kumar <aditya.k7@samsung.com>
8150
8151 PR tree-optimization/66980
8152 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Return false
8153 when data reference analysis has failed.
8154
8155 2015-10-01 Sebastian Pop <s.pop@samsung.com>
8156 Aditya Kumar <aditya.k7@samsung.com>
8157
8158 PR tree-optimization/67754
8159 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Call
8160 scev analysis on the same loop nest as analyze_drs_in_stmts.
8161 * graphite-sese-to-poly.c (outermost_loop_in_sese_1): Moved and
8162 renamed...
8163 (try_generate_gimple_bb): Call outermost_loop_in_sese.
8164 (analyze_drs_in_stmts): Same.
8165 * sese.c (outermost_loop_in_sese): ...here.
8166
8167 2015-10-01 Sebastian Pop <s.pop@samsung.com>
8168 Aditya Kumar <aditya.k7@samsung.com>
8169
8170 PR tree-optimization/67754
8171 * graphite-scop-detection.c (loop_body_is_valid_scop): Add missing
8172 recursion on the inner loops.
8173
8174 2015-10-01 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8175
8176 * cfganal.c, compare-elim.c, coverage.c, cprop.c, df-scan.c,
8177 function.c, read-rtl.c, statistics.c, trans-mem.c, tree-if-conv.c,
8178 tree-into-ssa.c, tree-loop-distribution.c, tree-ssa-coalesce.c,
8179 tree-ssa-loop-ivopts.c, tree-ssa-reassoc.c, tree-ssa-strlen.c,
8180 tree-ssa-tail-merge.c, tree-vrp.c, var-tracking.c: Remove
8181
8182 2015-10-01 Marek Polacek <polacek@redhat.com>
8183
8184 PR c/65345
8185 * config/i386/i386.c (ix86_atomic_assign_expand_fenv): Adjust to use
8186 create_tmp_var_raw rather than create_tmp_var.
8187
8188 2015-10-01 Marek Polacek <polacek@redhat.com>
8189
8190 PR tree-optimization/67769
8191 * tree-ssa-phiopt.c (conditional_replacement): Call
8192 reset_flow_sensitive_info_in_bb.
8193 (minmax_replacement): Likewise.
8194 (abs_replacement): Likewise.
8195
8196 2015-10-01 Nathan Sidwell <nathan@codesourcery.com>
8197
8198 * builtins.c: Don't include gomp-constants.h.
8199 (fold_builtin_1): Don't fold acc_on_device here.
8200 * gimple-fold.c: Include gomp-constants.h.
8201 (gimple_fold_builtin_acc_on_device): New.
8202 (gimple_fold_builtin): Call it.
8203
8204 2015-10-01 H.J. Lu <hongjiu.lu@intel.com>
8205
8206 * config/i386/x86-tune.def (X86_TUNE_USE_BT): Enable for Lakemont.
8207 (X86_TUNE_ZERO_EXTEND_WITH_AND): Disable for Lakemont.
8208
8209 2015-10-01 James Greenhalgh <james.greenhalgh@arm.com>
8210
8211 * config/arm/aarch-common-protos.h
8212 (aarch_accumulator_forwarding): New.
8213 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
8214 * config/arm/aarch-common.c (aarch_accumulator_forwarding): New.
8215 (aarch_forward_to_shift_is_not_shifted_reg): Likewise.
8216 * config/arm/cortex-a53.md: Rewrite.
8217
8218 2015-10-01 Richard Biener <rguenther@suse.de>
8219
8220 * gimple-match.h (mprts_hook): Declare.
8221 * gimple-match.head.c (mprts_hook): Define.
8222 (maybe_push_res_to_seq): Use new hook.
8223 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Likewise.
8224 * tree-ssa-sccvn.h (vn_ssa_aux::expr): Change to a gimple_seq.
8225 (vn_ssa_aux::has_constants): Remove.
8226 * tree-ssa-sccvn.c: Include gimple-match.h.
8227 (VN_INFO_GET): Assert we don't re-use SSA names.
8228 (vn_get_expr_for): Remove.
8229 (expr_has_constants): Likewise.
8230 (stmt_has_constants): Likewise.
8231 (simplify_binary_expression): Likewise.
8232 (simplify_unary_expression): Likewise.
8233 (vn_lookup_simplify_result): New hook.
8234 (visit_copy): Adjust.
8235 (visit_reference_op_call): Likewise.
8236 (visit_phi): Likewise.
8237 (visit_use): Likewise.
8238 (process_scc): Likewise.
8239 (init_scc_vn): Likewise.
8240 (visit_reference_op_load): Likewise. Use match-and-simplify and
8241 a gimple seq for inserted expressions.
8242 (try_to_simplify): Remove GENERIC stmt combining code.
8243 (sccvn_dom_walker::before_dom_children): Use match-and-simplify.
8244 * tree-ssa-pre.c (eliminate_insert): Adjust.
8245 (eliminate_dom_walker::before_dom_children): Likewise.
8246
8247 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
8248
8249 * doc/invoke.texi (Optimization Options): Add
8250 -freorder-blocks-algorithm=.
8251 (Optimize Options) <-O>: Add -freorder-blocks.
8252 <-O2>: Remove -freorder-blocks. Add -freorder-blocks-algorithm=stc.
8253 <-Os>: Add -freorder-blocks-algorithm=stc as not enabled.
8254 <-freorder-blocks>: Also enabled at levels -O and -Os.
8255 <-freorder-blocks-algorithm=>: Document new option.
8256
8257 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
8258
8259 * bb-reorder.c (reorder_basic_blocks): Use the algorithm selected
8260 with flag_reorder_blocks_algorithm.
8261 * common.opt (freorder-blocks-algorithm=): New flag.
8262 (reorder_blocks_algorithm): New enum.
8263 * flag-types.h (reorder_blocks_algorithm): New enum.
8264 * opts.c (default_options_table): Use -freorder-blocks at -O1 and up,
8265 and -freorder-blocks-algorithm=stc at -O2 and up (not at -Os).
8266
8267 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
8268
8269 * bb-reorder.c: Add intro comment.
8270 (reorder_basic_blocks_software_trace_cache): Print a header to
8271 the dump file.
8272 (edge_order): New function.
8273 (reorder_basic_blocks_simple): New function.
8274 (reorder_basic_blocks): Choose between the STC and the simple
8275 algorithms (always choose the former).
8276
8277 2015-10-01 Segher Boessenkool <segher@kernel.crashing.org>
8278
8279 * bb-reorder.c (reorder_basic_blocks_software_trace_cache): New
8280 function, factored out from ...
8281 (reorder_basic_blocks): ... here.
8282
8283 2015-10-01 Tom de Vries <tom@codesourcery.com>
8284
8285 * tree-cfg.c (dump_function_to_file): Dump function attributes using
8286 __attribute__(()) string. Move dumping of function attributes to before
8287 function name.
8288
8289 2015-10-01 Lynn Boger <laboger@linux.vnet.ibm.com>
8290
8291 PR target/66870
8292 * config/rs6000/sysv4.h (TARGET_CAN_SPLIT_STACK_64BIT): Define.
8293 * configure.ac: Define HAVE_GOLD_ALTERNATE_SPLIT_STACK on Power
8294 based on gold linker version.
8295 * gcc.c: Add -fuse-ld=gold to STACK_SPLIT_SPEC if
8296 HAVE_GOLD_ALTERNATE_SPLIT_STACK defined.
8297 * configure, config.in: Regenerate.
8298
8299 2015-10-01 Alan Modra <amodra@gmail.com>
8300
8301 * config/rs6000/rs6000.c (rs6000_emit_prologue): Don't set
8302 r2_setup_needed when TARGET_SINGLE_PIC_BASE.
8303 (rs6000_output_mi_thunk): Likewise.
8304
8305 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8306
8307 * config/nvptx/mkoffload.c (process): Change offload data format.
8308
8309 2015-09-30 Jeff Law <law@redhat.com>
8310
8311 * tree-ssa-dom.c (optimize_stmt): Collapse control flow statements
8312 with constant conditions.
8313 * tree-ssa-threadupdate.c (remove_jump_threads_starting_at): New.
8314 (remove_ctrl_stmt_and_useless_edges): No longer static.
8315 * tree-ssa-threadupdate.h (remove_jump_threads_starting_at): Prototype.
8316 (remove_ctrl_stmt_and_useless_edges): Likewise.
8317
8318 2015-09-30 Nathan Sidwell <nathan@codesourcery.com>
8319 Cesar Philippidis <cesar@codesourcery.com>
8320
8321 * config/nvptx/nvptx.c (nvptx_goacc_validate_dims): New.
8322 (TARGET_GOACC_VALIDATE_DIMS): Override.
8323 * target.def (TARGET_GOACC): New target hook prefix.
8324 (validate_dims): New hook.
8325 * targhooks.h (default_goacc_validate_dims): New.
8326 * omp-low.c (oacc_validate_dims): New.
8327 (execute_oacc_device_lower): New.
8328 (default_goacc_validate_dims): New.
8329 (pass_data_oacc_device_lower): New.
8330 (pass_oacc_device_lower): New pass.
8331 (make_pass_oacc_device_lower): New.
8332 * tree-pass.h (make_pass_oacc_device_lower): Declare.
8333 * passes.def (pass_oacc_device_lower): Add it.
8334 * doc/tm.texi: Rebuilt.
8335 * doc/tm.texi.in (TARGET_GOACC_VALIDATE_DIMS): Add hook.
8336 * doc/invoke.texi (oaccdevlow): Document tree dump flag.
8337
8338 2015-09-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
8339
8340 PR rtl-optimization/67037
8341 * lra-constraints.c (process_addr_reg): Use copy_rtx when necessary.
8342
8343 2015-09-30 Bernd Schmidt <bernds@redhat.com>
8344
8345 * gimple-ssa.h (gimple_df): Add free_ssanames_queue field.
8346 * passes.c: Include tree-ssanames.h.
8347 (execute_function_todo): Flush the pending free SSA_NAMEs after
8348 eliminating unreachable basic blocks.
8349 * tree-ssanames.c (FREE_SSANAMES_QUEUE): new.
8350 (init_ssanames): Initialize FREE_SSANAMES_QUEUE.
8351 (fini_ssanames): Finalize FREE_SSANAMES_QUEUE.
8352 (flush_ssanames_freelist): New function.
8353 (release_ssaname_fn): Put released names on the queue.
8354 (pass_release_ssa_names::execute): Call flush_ssanames_freelist.
8355 * tree-ssanames.h (flush_ssanames_freelist): Declare.
8356
8357 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8358
8359 * config/i386/intelmic-mkoffload.c (main): Parse "-v" flag.
8360 (generate_target_descr_file, generate_target_offloadend_file)
8361 (generate_host_descr_file, prepare_target_image): Pass it on.
8362 * config/nvptx/mkoffload.c (main): Parse "-v" flag.
8363 (compile_native, main): Pass it on.
8364 * lto-wrapper.c (compile_offload_image): Likewise.
8365
8366 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8367 Ilya Verbin <ilya.verbin@intel.com>
8368 Andrey Turetskiy <andrey.turetskiy@intel.com>
8369
8370 * config/i386/intelmic-mkoffload.c (generate_host_descr_file)
8371 (prepare_target_image, main): Refactor argv building to use
8372 obstacks.
8373
8374 2015-09-30 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
8375
8376 * config/spu/spu-protos.h (spu_expand_atomic_op): Add prototype.
8377 * config/spu/spu.c (spu_expand_atomic_op): New function.
8378 * config/spu/spu.md (AINT): New mode iterator.
8379 (ATOMIC): New code iterator.
8380 (atomic_name, atomic_pred): New code predicates.
8381 ("atomic_load<mode>", "atomic_store<mode>"): New expanders.
8382 ("atomic_compare_and_swap<mode>", "atomic_exchange<mode>"): Likewise.
8383 (""atomic_<atomic_name><mode>", "atomic_fetch_<atomic_name><mode>",
8384 "atomic_<atomic_name>_fetch<mode>"): Likewise.
8385
8386 2015-09-30 Ilya Enkovich <enkovich.gnu@gmail.com>
8387
8388 * config/i386/i386.c (scalar_chain::analyze_register_chain): Ignore
8389 debug insns.
8390 (scalar_chain::convert_reg): Likewise.
8391
8392 2015-09-30 Richard Biener <rguenther@suse.de>
8393
8394 * builtins.c: Add comment that no new simplifications should
8395 be added here.
8396
8397 2015-09-30 Marek Polacek <polacek@redhat.com>
8398
8399 PR tree-optimization/67690
8400 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): Call
8401 reset_flow_sensitive_info_in_bb.
8402 * tree-ssa-tail-merge.c (replace_block_by): Likewise.
8403 * tree-ssanames.c: Include "gimple-iterator.h".
8404 (reset_flow_sensitive_info_in_bb): New function.
8405 * tree-ssanames.h (reset_flow_sensitive_info_in_bb): Declare.
8406
8407 2015-09-30 Thomas Schwinge <thomas@codesourcery.com>
8408
8409 * config/i386/intelmic-mkoffload.c (target_ilp32): Remove
8410 variable, replacing it with...
8411 (offload_abi): ... this new variable. Adjust all users.
8412 * config/nvptx/mkoffload.c (target_ilp32, offload_abi): Likewise.
8413
8414 2015-09-30 Matthias Klose <doko@ubuntu.com>
8415
8416 * configure.ac: Remove extraneous ;;.
8417 * configure: Regenerate.
8418
8419 2015-09-29 James Bowman <james.bowman@ftdichip.com>
8420
8421 * config/ft32/predicates.md (ft32_imm_operand): New predicate.
8422 * config/ft32/ft32.md (movmemsi, setmemsi): Use ft32_imm_operand
8423 predicate, disallow register for operand 2.
8424
8425 2015-09-29 Aditya Kumar <aditya.k7@samsung.com>
8426
8427 * graphite-dependences.c (scop_get_dependences): Moved in down
8428 in order to be visible to its caller.
8429 * graphite-poly.h: Removed compute_deps, and extend_schedule.
8430
8431 2015-09-29 Sebastian Pop <s.pop@samsung.com>
8432 Aditya Kumar <aditya.k7@samsung.com>
8433
8434 PR tree-optimization/67754
8435 * graphite-optimize-isl.c (optimize_isl): Call
8436 isl_options_set_schedule_fuse with ISL_SCHEDULE_FUSE_MIN for ISL-14.
8437
8438 2015-09-29 Nathan Sidwell <nathan@codesourcery.com>
8439
8440 * builtins.c (expand_builtin_acc_on_device): Delete.
8441 (expand_builtin): Don't call it.
8442 (fold_builtin_1): Fold acc_on_device.
8443
8444 2015-09-29 H.J. Lu <hongjiu.lu@intel.com>
8445
8446 * config/i386/i386.c (ix86_function_arg): Fix typo in comments.
8447 (ix86_nsaved_sseregs): Likewise.
8448
8449 2015-09-29 Jeff Law <law@redhat.com>
8450
8451 * config/microblaze/microblaze.c (microblaze_version_to_int): Remove
8452 computation of unused value.
8453
8454 * config/pdp11/pdp11.c (pdp11_branch_cost): New function.
8455 * config/pdp11/pdp11.h (BRANCH_COST): Call function rather than
8456 inline macro expansion.
8457
8458 * config/i386/t-interix (winnt-stubs.o): Fix compilation rule.
8459
8460 * config/sh/sh.c (gen_shl_and): Fix undefined left shift behaviour.
8461 (gen_shl_sext): Likewise.
8462 * config/sh/sh.md (divsi3): Likewise.
8463 (imm->ext_dest_operand splitter): Likewise.
8464
8465 2015-09-29 Sebastian Pop <s.pop@samsung.com>
8466 Aditya Kumar <aditya.k7@samsung.com>
8467
8468 * graphite-sese-to-poly.c (gsi_for_phi_node): Remove.
8469 (nb_data_writes_in_bb): Remove.
8470 (split_pbb): Remove.
8471 (split_reduction_stmt): Remove.
8472 (is_reduction_operation_p): Remove.
8473 (phi_contains_arg): Remove.
8474 (follow_ssa_with_commutative_ops): Remove.
8475 (detect_commutative_reduction_arg): Remove.
8476 (detect_commutative_reduction_assign): Remove.
8477 (follow_inital_value_to_phi): Remove.
8478 (edge_initial_value_for_loop_phi): Remove.
8479 (initial_value_for_loop_phi): Remove.
8480 (used_outside_reduction): Remove.
8481 (detect_commutative_reduction): Remove.
8482 (translate_scalar_reduction_to_array_for_stmt): Remove.
8483 (remove_phi): Remove.
8484 (dr_indices_valid_in_loop): Remove.
8485 (close_phi_written_to_memory): Remove.
8486 (translate_scalar_reduction_to_array): Remove.
8487 (rewrite_commutative_reductions_out_of_ssa_close_phi): Remove.
8488 (rewrite_commutative_reductions_out_of_ssa_loop): Remove.
8489 (rewrite_commutative_reductions_out_of_ssa): Remove.
8490 (build_poly_scop): Remove call to
8491 rewrite_commutative_reductions_out_of_ssa.
8492
8493 2015-09-29 Evandro Menezes <e.menezes@samsung.com>
8494
8495 * config/arm/types.md (neon_ldp, neon_ldp_q, neon_stp, neon_stp_q):
8496 Add new insn types for vector load and store pairs.
8497 * config/arm/cortex-a53.md (cortex_a53_f_load_2reg): Add insn
8498 types "neon_ldp{,_q}".
8499 * config/arm/cortex-a57.md (neon_load_c): Add insn types
8500 "neon_ldp{,_q}".
8501 (neon_store_complex): Add insn types "neon_stp{,_q}".
8502 * config/aarch64/aarch64-simd.md (aarch64_be_movoi): Add insn types
8503 "neon_{ldp,stp}_q".
8504
8505 2015-09-29 Jeff Law <law@redhat.com>
8506
8507 * config/rx/constraints.md (Int08): Fix undefined left shift
8508 behaviour.
8509 (Sint08, Sint16, Sint24): Likewise.
8510 * config/rx/rx.c (rx_get_stack_layout): Likewise.
8511
8512 * config/rl78/rl78-expand.md (movqi): Fix undefined left shift
8513 behaviour.
8514
8515 * config/msp430/msp430.c (msp430_legitimate_constant): Fix undefined
8516 left shift behaviour.
8517 * config/msp430/constraints.md ('L' constraint): Similarly.
8518 ('Ys' constraint): Similarly.
8519
8520 2015-09-29 Richard Biener <rguenther@suse.de>
8521
8522 PR tree-optimization/67170
8523 * tree-ssa-alias.h (get_continuation_for_phi): Adjust
8524 the translate function pointer parameter to get the
8525 bool whether to disambiguate only by reference.
8526 (walk_non_aliased_vuses): Likewise.
8527 * tree-ssa-alias.c (maybe_skip_until): Adjust.
8528 (get_continuation_for_phi_1): Likewise.
8529 (get_continuation_for_phi): Likewise.
8530 (walk_non_aliased_vuses): Likewise.
8531 * tree-ssa-sccvn.c (const_parms): New bitmap.
8532 (vn_reference_lookup_3): Adjust for interface change.
8533 Disambiguate parameters pointing to readonly memory.
8534 (free_scc_vn): Free const_parms.
8535 (run_scc_vn): Initialize const_parms from a fn spec attribute.
8536
8537 2015-09-29 Richard Biener <rguenther@suse.de>
8538
8539 PR tree-optimization/67741
8540 * tree-ssa-math-opts.c (pass_cse_sincos::execute): Only recognize
8541 builtin calls with correct signature.
8542
8543 2015-09-29 Ilya Enkovich <enkovich.gnu@gmail.com>
8544
8545 PR target/65105
8546 * config/i386/i386.c: Include dbgcnt.h.
8547 (has_non_address_hard_reg): New.
8548 (convertible_comparison_p): New.
8549 (scalar_to_vector_candidate_p): New.
8550 (remove_non_convertible_regs): New.
8551 (scalar_chain): New.
8552 (scalar_chain::scalar_chain): New.
8553 (scalar_chain::~scalar_chain): New.
8554 (scalar_chain::add_to_queue): New.
8555 (scalar_chain::mark_dual_mode_def): New.
8556 (scalar_chain::analyze_register_chain): New.
8557 (scalar_chain::add_insn): New.
8558 (scalar_chain::build): New.
8559 (scalar_chain::compute_convert_gain): New.
8560 (scalar_chain::replace_with_subreg): New.
8561 (scalar_chain::replace_with_subreg_in_insn): New.
8562 (scalar_chain::emit_conversion_insns): New.
8563 (scalar_chain::make_vector_copies): New.
8564 (scalar_chain::convert_reg): New.
8565 (scalar_chain::convert_op): New.
8566 (scalar_chain::convert_insn): New.
8567 (scalar_chain::convert): New.
8568 (convert_scalars_to_vector): New.
8569 (pass_data_stv): New.
8570 (pass_stv): New.
8571 (make_pass_stv): New.
8572 (ix86_option_override): Created and register stv pass.
8573 (flag_opts): Add -mstv.
8574 (ix86_option_override_internal): Likewise.
8575 * config/i386/i386.md (SWIM1248x): New.
8576 (*movdi_internal): Add xmm to mem alternative for TARGET_STV.
8577 (and<mode>3): Use SWIM1248x iterator instead of SWIM.
8578 (*anddi3_doubleword): New.
8579 (*zext<mode>_doubleword): New.
8580 (*zextsi_doubleword): New.
8581 (<code><mode>3): Use SWIM1248x iterator instead of SWIM.
8582 (*<code>di3_doubleword): New.
8583 * config/i386/i386.opt (mstv): New.
8584 * dbgcnt.def (stv_conversion): New.
8585
8586 2015-09-29 Tom de Vries <tom@codesourcery.com>
8587
8588 * tree-cfg.c (dump_function_to_file): Dump function attributes.
8589
8590 2015-09-29 Kaz Kojima <kkojima@gcc.gnu.org>
8591
8592 PR target/67716
8593 * config/sh/sh.c (sh_override_options_after_change): New.
8594 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): Define.
8595 (sh_option_override): Move align_loops, align_jumps and
8596 align_functions handling into sh_override_options_after_change.
8597
8598 2015-09-28 Nathan Sidwell <nathan@codesourcery.com>
8599
8600 * config/nvptx/nvptx.c: Include omp-low.h and gomp-constants.h.
8601 (nvptx_record_offload_symbol): Record function execution geometry.
8602 * config/nvptx/mkoffload.c (process): Include launch geometry in
8603 function data.
8604 * omp-low.c (oacc_launch_pack): New.
8605 (replace_oacc_fn_attrib): New.
8606 (set_oacc_fn_attrib): New.
8607 (get_oacc_fn_attrib): New.
8608 (expand_omp_target): Create keyed varargs for GOACC_parallel call
8609 generation.
8610 * omp-low.h (get_oacc_fn_attrib): Declare.
8611 * builtin-types.def (DEF_FUNCTION_TyPE_VAR_6): New.
8612 (DEF_FUNCTION_TYPE_VAR_11): Delete.
8613 * tree.h (OMP_CLAUSE_EXPR): New.
8614 * omp-builtins.def (BUILT_IN_GOACC_PARALLEL): Change target fn name.
8615
8616 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
8617 Sebastian Pop <s.pop@samsung.com>
8618
8619 * sese.c (invariant_in_sese_p_rec): Remove unused variable.
8620
8621 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
8622 Sebastian Pop <s.pop@samsung.com>
8623
8624 * graphite-optimize-isl.c (optimize_isl): Use ISL_SCHEDULE_FUSE_MAX.
8625 * graphite-scop-detection.c (struct sese_l): New type.
8626 (get_entry_bb): API for getting entry bb of SESE.
8627 (get_exit_bb): API for getting exit bb of SESE.
8628 (class debug_printer): New type. Simple printer in debug mode.
8629 (trivially_empty_bb_p): New. Return true when BB is empty or
8630 contains only debug instructions.
8631 (graphite_can_represent_expr): Call scalar_evoution_in_region
8632 instead of analyze_scalar_evolution. Pass in scop instead of only
8633 the scop entry.
8634 (stmt_has_simple_data_refs_p): Pass in scop instead of only the
8635 scop entry.
8636 (stmt_simple_for_scop_p): Same.
8637 (harmful_stmt_in_bb): Same.
8638 (graphite_can_represent_loop): Deleted.
8639 (struct scopdet_info): Deleted.
8640 (scopdet_basic_block_info): Deleted.
8641 (build_scops_1): Deleted.
8642 (bb_in_sd_region): Deleted.
8643 (find_single_entry_edge): Deleted.
8644 (find_single_exit_edge): Deleted.
8645 (create_single_entry_edge): Deleted.
8646 (sd_region_without_exit): Deleted.
8647 (create_single_exit_edge): Deleted.
8648 (unmark_exit_edges): Deleted.
8649 (mark_exit_edges): Deleted.
8650 (create_sese_edges): Deleted.
8651 (build_graphite_scops): Deleted.
8652 (canonicalize_loop_closed_ssa): Recompute all dominators at the end.
8653 (build_scops): Use the new scop_builder to build scops.
8654 (dot_all_scops_1): Use the new pretty printer. Print loop father
8655 as well.
8656 (loop_body_is_valid_scop): New. Return true if loop body is a
8657 valid scop.
8658 (class scop_builder): New. Builds SCoPs for polyhedral
8659 optimizations.
8660 (scop_builder): New constructor.
8661 (static sese_l invalid_sese): sese_l with invalid edges.
8662 (get_sese): Get an sese (from a loop) if possible, invalid_sese
8663 otherwise.
8664 (get_nearest_dom_with_single_entry): Get nearest dominator of a
8665 basic_block with single entry. Return NULL if we get to the
8666 beginning of a function.
8667 (get_nearest_pdom_with_single_exit): Get nearest post-dominator of
8668 a basic_block with single exit. Return NULL if we get to the
8669 beginning of a function.
8670 (print_sese): Pretty-print SESE.
8671 (merge_sese): Merge two SESEs if possible and return the new SESE.
8672 (build_scop_depth): Start building the SCoP within a loop nest.
8673 (build_scop_breadth): Start building the SCoP at a single loop
8674 depth. Merge adjacent SESEs if valid.
8675 (can_represent_loop_1): Returns true if Graphite can represent
8676 loop inside SCoP. Helper for can_represent_loop.
8677 (can_represent_loop): Returns true if Graphite can represent LOOP
8678 and all its nested loops in SCoP.
8679 (loop_is_valid_scop): Returns true if LOOP and all its nests
8680 constitute a valid SCoP.
8681 (region_has_one_loop): Returns true of a region has only one loop.
8682 (add_scop): Add SCoP to the list of valid scops. Removes an
8683 already existing scop if it intersects with or subsumed by this one.
8684 (harmful_stmt_in_region): Returns true if SCoP has any statment
8685 which cannot be represented by Graphite.
8686 (subsumes): Returns true of SCoP S1 subsumes SCoP S2.
8687 (remove_subscops): Remove any SCoP from the list of already found
8688 SCoPs, if subsumed by S1.
8689 (intersects): Return true if region bounded by SCoPs S1 and S2
8690 intersect.
8691 (remove_intersecting_scops): Remove any SCoP which intersects with S1.
8692 * graphite.c (print_graphite_scop_statistics):
8693 (print_graphite_statistics): Print SCoP info while debugging.
8694 (graphite_initialize): Early exit in case number of loops in a
8695 function is less than PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION or
8696 basic blocks are more than PARAM_GRAPHITE_MAX_BBS_PER_FUNCTION.
8697 (graphite_finalize):
8698 * params.def: Add PARAM_GRAPHITE_MIN_LOOPS_PER_FUNCTION.
8699 * sese.h (sese_loop_depth): Remove unnecessary gcc_assert.
8700 (recompute_all_dominators): Recalculate POST_DOMINATORS.
8701 * tree-cfg.c (print_loops): Print the function name while printing
8702 loops.
8703
8704 2015-09-28 Aditya Kumar <aditya.k7@samsung.com>
8705 Sebastian Pop <s.pop@samsung.com>
8706
8707 PR tree-optimization/67700
8708 * graphite-sese-to-poly.c (parameter_index_in_region): Call
8709 invariant_in_sese_p_rec.
8710 (extract_affine): Same.
8711 (rewrite_cross_bb_scalar_deps): Call update_ssa.
8712 * sese.c (invariant_in_sese_p_rec): Export. Handle vdefs and vuses.
8713 * sese.h (invariant_in_sese_p_rec): Declare.
8714
8715 2015-09-28 David Wohlferd <dw@LimeGreenSocks.com>
8716
8717 * doc/extend.texi (Asm Labels): Break out text for data vs functions.
8718
8719 2015-09-28 Jiong Wang <jiong.wang@arm.com>
8720
8721 Revert:
8722 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
8723 Jiong Wang <jiong.wang@arm.com>
8724
8725 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
8726 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
8727 (REG_CLASS_NAMES): Likewise.
8728 (REG_CLASS_CONTENTS): Likewise.
8729 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
8730 (aarch64_register_move_cost): Likewise.
8731 (aarch64_load_symref_appropriately): Invoke the new added pattern if
8732 possible.
8733 * config/aarch64/constraints.md (Uc0): New constraint.
8734
8735 2015-09-28 Daniel Hellstrom <daniel@gaisler.com>
8736
8737 * config/sparc/t-rtems: Remove -muser-mode. Add ut699, at697f and leon.
8738
8739 2015-09-28 David Edelsohn <dje.gcc@gmail.com>
8740
8741 * config/rs6000/rs6000.c (rs6000_xcoff_asm_named_section): Place
8742 SECTION_EXCLUDE in XO mapping class.
8743
8744 2015-09-28 Oleg Endo <olegendo@gcc.gnu.org>
8745
8746 PR target/54236
8747 * config/sh/predicates.md (t_reg_operand, negt_reg_operand): Allow
8748 and handle ne and eq codes.
8749 * config/sh/sh.c (sh_rtx_costs): Adjust matching of tst #imm,r0 insn.
8750 (sh_recog_treg_set_expr): Early accept negt_reg_operand. Eearly reject
8751 CONST_INT_P. Use reverse_condition.
8752 (sh_split_treg_set_expr): Likewise.
8753
8754 2015-09-28 James Greenhalgh <james.greenhalgh@arm.com>
8755
8756 * config/arm/types.md (type): Add rotate_imm.
8757 * config/aarch64/aarch64.md (*ror<mode>3_insn): Split out the
8758 ROR immediate case.
8759 (*rorsi3_insn_uxtw): Likewise.
8760 * config/aarch64/thunderx.md (thunderx_shift): Add rotate_imm.
8761 * config/arm/cortex-a53.md (cortex_a53_alu_shift): Add rotate_imm.
8762 * config/arm/cortex-a57.md (cortex_a53_alu): Add rotate_imm.
8763
8764 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8765
8766 PR rtl-optimization/67481
8767 * ifcvt.c (contains_ccmode_rtx_p): New function.
8768 (insn_valid_noce_process_p): Use it.
8769
8770 2015-09-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
8771
8772 PR rtl-optimization/67456
8773 PR rtl-optimization/67464
8774 PR rtl-optimization/67465
8775 * ifcvt.c (noce_try_cmove_arith): Bail out if cannot conditionally
8776 move in the mode of x. Handle combination of complex and simple
8777 block pairs as well as the case when one is empty.
8778
8779 2015-09-28 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
8780
8781 * doc/gimple.texi: Update references to gimple_statement_base.
8782 * gdbhooks.py: Likewise.
8783 * gimple.h: Likewise.
8784
8785 2015-09-28 Daniel Cederman <cederman@gaisler.com>
8786
8787 * config/sparc/driver-sparc.c: map LEON to leon3
8788
8789 2015-09-28 Daniel Cederman <cederman@gaisler.com>
8790
8791 * config/sparc/sparc.opt: Rename mask from USER_MODE to SV_MODE
8792 and make it inverse to change default
8793 * config/sparc/sync.md: Only use supervisor ASI for CASA when in
8794 supervisor mode
8795 * doc/invoke.texi: Document change of default
8796
8797 2015-09-28 Daniel Cederman <cederman@gaisler.com>
8798
8799 * config/sparc/sparc.c (sparc_function_value_regno_p): Do not return
8800 true on %f0 for a target without FPU.
8801 * config/sparc/sparc.md (untyped_call): Do not save %f0 for a target
8802 without FPU.
8803 (untyped_return): Do not load %f0 for a target without FPU.
8804
8805 2015-09-28 Andrew Pinski <apinski@cavium.com>
8806
8807 * config/aarch64/aarch64.md (prefetch):
8808 Change the predicate of operand 0 to register_operand.
8809
8810 2015-09-27 Uros Bizjak <ubizjak@gmail.com>
8811
8812 * config/i386/predicates.md (register_sse4nonimm_operand): New
8813 predicate.
8814 * config/i386/sse.md (PEXTR_MODE12): New mode iterator.
8815 (*vec_extract<mode>): Use PEXTR_MODE12 instead of VI12_128 mode.
8816 Use register_sse4nonimm_operand as operand 0 predicate.
8817 (*vec_extractv8hi_sse2): Remove insn pattern.
8818 (*vec_extract<PEXTR_MODE12:mode>_zext): Merge insn pattern from
8819 *vec_extractv8hi_zext and *vec_extractv16qi_zext patterns.
8820
8821 2015-09-27 Oleg Endo <olegendo@gcc.gnu.org>
8822 Kaz Kojima <kkojima@gcc.gnu.org>
8823
8824 PR target/67391
8825 * config/sh/sh-protos.h (sh_lra_p): Declare.
8826 * config/sh/sh.c (sh_lra_p): Make non-static.
8827 * config/sh/sh.md (addsi3): Use arith_reg_dest for operands[0] and
8828 arith_reg_operand for operands[1]. Remove TARGET_SHMEDIA case.
8829 Expand into addsi3_scr if operands[2] if needed.
8830 (*addsi3_compact): Rename to *addsi3_compact_lra. Use
8831 arith_reg_operand for operands[1]. Allow it only when LRA is enabled.
8832 (addsi3_scr, *addsi3): New insn_and_split patterns.
8833
8834 2015-09-27 Alexandre Oliva <aoliva@redhat.com>
8835
8836 PR rtl-optimization/64164
8837 PR tree-optimization/67312
8838 PR middle-end/67340
8839 PR middle-end/67490
8840 PR bootstrap/67597
8841 * cfgexpand.c (parm_in_stack_slot_p): Remove.
8842 (ssa_default_def_partition): Remove.
8843 (get_rtl_for_parm_ssa_default_def): Remove.
8844 (set_rtl): Check that RTL assignments match expectations.
8845 Loop on SUBREGs, CONCATs and PARALLELs subexprs. Set only the
8846 default def location for params and results. Record SSA names
8847 or types in REG and MEM attrs, respectively.
8848 (set_parm_rtl): New.
8849 (expand_one_ssa_partition): Drop logic that assigned MEMs with
8850 unassigned addresses.
8851 (adjust_one_expanded_partition_var): Don't accept NULL RTL on
8852 deferred stack alloc vars.
8853 (expand_used_vars): Skip partitions holding parm default defs.
8854 Move adjust_one_expanded_partition_var loop...
8855 (pass_expand::execute): ... here. Drop redundant assert.
8856 Adjust comments before the final loop over all ssa names.
8857 Require assigned rtl of parms and results to match exactly.
8858 Reset its attributes to match them, not any other variables in
8859 the same partition.
8860 (expand_debug_expr): Use entry value for PARM's default defs
8861 only iff they have zero nondebug uses.
8862 * cfgexpand.h (parm_in_stack_slot_p): Remove.
8863 (get_rtl_for_parm_ssa_default_def): Remove.
8864 (set_parm_rtl): Declare.
8865 * doc/invoke.texi: Improve wording.
8866 * explow.c (promote_decl_mode): Fix promote_function_mode for
8867 result decls not by reference.
8868 (promote_ssa_mode): Disregard BLKmode from promote_decl, and
8869 bypass TYPE_MODE to get the actual vector mode.
8870 * function.c: Include tree-dfa.h. Revert 2015-08-14's and
8871 2015-08-19's changes as follows. Drop include of
8872 basic-block.h and df.h.
8873 (rtl_for_parm): Remove.
8874 (maybe_reset_rtl_for_parm): Remove.
8875 (parm_in_unassigned_mem_p): Remove.
8876 (use_register_for_decl): Add logic for RESULT_DECLs matching
8877 assign_parms' behavior.
8878 (split_complex_args): Revert.
8879 (assign_parms_augmented_arg_list): Revert. Add comment
8880 referencing the logic above.
8881 (assign_parm_adjust_stack_rtl): Revert.
8882 (assign_parm_setup_block): Revert. Use set_parm_rtl instead
8883 of SET_DECL_RTL. Set up a REG if the parm demands so.
8884 (assign_parm_setup_reg): Revert. Consolidated SET_DECL_RTL
8885 calls into a single set_parm_rtl. Set up a temporary RTL
8886 temporarily for expand_assignment.
8887 (assign_parm_setup_stack): Revert. Use set_parm_rtl.
8888 (assign_parms_unsplit_complex): Revert. Use set_parm_rtl.
8889 (assign_bounds): Revert.
8890 (assign_parms): Revert. Use set_parm_rtl.
8891 (allocate_struct_function): Relayout result and parms of
8892 non-abstruct functions.
8893 (expand_function_start): Revert. Use set_parm_rtl. If the
8894 result is not a hard reg, create a pseudo from the promoted
8895 mode of the default def. Promote static chain mode.
8896 * tree-outof-ssa.c (remove_ssa_form): Drop unused
8897 partition_has_default_def. Set up
8898 partitions_for_parm_default_defs.
8899 (finish_out_of_ssa): Remove partition_has_default_def.
8900 Release partitions_for_parm_default_defs.
8901 * tree-outof-ssa.h (struct ssaexpand): Remove
8902 partition_has_default_def. Add
8903 partitions_for_parm_default_defs.
8904 * tree-ssa-coalesce.c: Include tree-dfa.h, tm_p.h and
8905 stor-layout.h.
8906 (build_ssa_conflict_graph): Fix conflict-detection of default
8907 defs of even unused default defs of params and results.
8908 (for_all_parms): New.
8909 (create_default_def): New.
8910 (register_default_def): New.
8911 (coalesce_with_default): New.
8912 (create_outofssa_var_map): Create default defs for all parms
8913 and results, and register their partitions. Add GIMPLE_RETURN
8914 operands as coalesce candidates with results. Add default
8915 defs of each parm or result as coalesce candidates with its
8916 other defs. Mark each result def, and each default def of
8917 parms, as used_in_copy.
8918 (gimple_can_coalesce_p): Call it. Call use_register_for_decl
8919 with the ssa names, even anonymous ones. Drop
8920 parm_in_stack_slot_p calls. Require same signedness and
8921 alignment.
8922 (coalesce_ssa_name): Add coalesce candidates for all defs of
8923 each parm and result, even unused ones.
8924 (parm_default_def_partition_arg): New type.
8925 (set_parm_default_def_partition): New.
8926 (get_parm_default_def_partitions): New.
8927 * tree-ssa-coalesce.h (get_parm_default_def_partitions): New.
8928 * tree-ssa-live.c (partition_view_init): Regard unused defs of
8929 parms and results as used.
8930 (verify_live_on_entry): Don't error out just because they're
8931 not live.
8932
8933 2015-09-26 David Edelsohn <dje.gcc@gmail.com>
8934
8935 * dwarf2out.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
8936 (HAVE_XCOFF_DWARF_EXTRAS): Default to 0 definition.
8937 (output_fde): Don't output length for debug_frame on AIX.
8938 (output_call_frame_info): Don't output length for debug_frame on AIX.
8939 (have_macinfo): Force to False for XCOFF_DEBUGGING_INFO and not
8940 HAVE_XCOFF_DWARF_EXTRAS.
8941 (add_AT_loc_list): Return early if XCOFF_DEBUGGING_INFO and not
8942 HAVE_XCOFF_DWARF_EXTRAS.
8943 (output_compilation_unit_header): Don't output length on AIX.
8944 (output_pubnames): Don't output length on AIX.
8945 (output_aranges): Delete argument. Compute length locally. Don't
8946 output length on AIX.
8947 (output_line_info): Don't output length on AIX.
8948 (dwarf2out_finish): Don't compute aranges_length.
8949 * dwarf2asm.c (XCOFF_DEBUGGING_INFO): Default 0 definition.
8950 (dw2_asm_output_nstring): Emit .byte not .ascii on AIX.
8951 * config/rs6000/rs6000.c (rs6000_output_dwarf_dtprel): Emit correct
8952 symbol decoration for AIX.
8953 (rs6000_xcoff_debug_unwind_info): New.
8954 (rs6000_xcoff_asm_named_section): Emit .dwsect pseudo-op
8955 for SECTION_DEBUG.
8956 (rs6000_xcoff_declare_function_name): Emit different
8957 .function pseudo-op when DWARF2_DEBUG. Don't call
8958 xcoffout_declare_function for DWARF2_DEBUG.
8959 * config/rs6000/xcoff.h (TARGET_DEBUG_UNWIND_INFO):
8960 Redefine.
8961 * config/rs6000/aix71.h: New.
8962 * configure.ac (gcc_cv_as_aix_dwloc): Check AIX as for DWARF
8963 locations support.
8964 * configure: Regenerate.
8965 * config.gcc (powerpc-ibm-aix[789]+): New stanza for AIX 7.1+ with
8966 DWARF support.
8967
8968 2015-09-26 Jeff Law <law@redhat.com>
8969
8970 * config/arc/arc.c (arc_output_addsi): Fix left shift undefined
8971 behaviour.
8972 * config/arc/constraints.md (Cca, C2a): Fix left shift undefined
8973 behaviour.
8974
8975 * config/sh/sh.h (CONST_OK_FOR_J16): Fix left shift undefined
8976 behaviour
8977
8978 * config/mips/mips.c (mips_compute_frame_info): Fix left shift
8979 undefined behaviour.
8980
8981 * config/cris/cris.md (asrandb): Fix left shift undefined
8982 behaviour.
8983 (asrandw): Likewise.
8984
8985 2015-09-25 Vladimir Makarov <vmakarov@redhat.com>
8986
8987 PR target/61578
8988 * lra-constarints.c (match_reload): Check presence of the input pseudo
8989 in the output operand.
8990
8991 2015-09-25 Tobias Burnus <burnus@net-b.de>
8992
8993 * doc/invoke.texi (-fsanitize): Minor wording tweak.
8994
8995 2015-09-25 Tobias Burnus <burnus@net-b.de>
8996
8997 * doc/invoke.texi (-fsanitize): Update URLs.
8998
8999 2015-09-25 Teresa Johnson <tejohnson@google.com>
9000
9001 * opts.c (finish_options): Unset -freorder-blocks-and-partition
9002 if not using profile.
9003
9004 2015-09-25 Manuel López-Ibáñez <manu@gcc.gnu.org>
9005
9006 PR pretty-print/67567
9007 * pretty-print.c (pp_string): Add gcc_checking_assert.
9008 * pretty-print.h (output_buffer_append_r): Likewise.
9009
9010 2015-09-25 Oleg Endo <olegendo@gcc.gnu.org>
9011
9012 PR target/67675
9013 * config/sh/sh-mem.cc (sh_expand_cmpstr): Check alignment of addr1 and
9014 addr2 individually. Don't emit logical or insn if one is known to
9015 be aligned approriately.
9016 (sh_expand_cmpnstr): Likewise.
9017
9018 2015-09-25 Richard Sandiford <richard.sandiford@arm.com>
9019
9020 * config/aarch64/aarch64-builtins.c (aarch64_expand_builtin): Force
9021 __builtin_aarch64_fp[sc]r arguments into a register.
9022
9023 2015-09-25 H.J. Lu <hongjiu.lu@intel.com>
9024
9025 * config.gcc (x86_archs): Replace lakemount with lakemont.
9026 (with_cpu): Likewise.
9027 (with_arch): Likewise.
9028 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
9029 PROCESSOR_LAKEMOUNT with PROCESSOR_LAKEMONT. Replace
9030 __tune_lakemount__ with __tune_lakemont__.
9031 * config/i386/i386.c (lakemount_cost): Renamed to ...
9032 (lakemont_cost): This.
9033 (m_LAKEMOUNT): Renamed to ...
9034 (m_LAKEMONT): This.
9035 (initial_ix86_arch_features): Replace m_LAKEMOUNT with m_LAKEMONT.
9036 (processor_target_table): Replace "lakemount" with "lakemont".
9037 (processor_alias_table): Likewise.
9038 (ix86_issue_rate): Replace PROCESSOR_LAKEMOUNT with
9039 PROCESSOR_LAKEMONT.
9040 (ix86_adjust_cost): Likewise.
9041 (ia32_multipass_dfa_lookahead): Likewise.
9042 * config/i386/i386.h (processor_type): Likewise.
9043 * config/i386/x86-tune.def: Replace m_LAKEMOUNT with m_LAKEMONT.
9044 * doc/invoke.texi: Replace lakemount with lakemont. Replace
9045 Lakemount with Lakemont.
9046
9047 2015-09-24 H.J. Lu <hongjiu.lu@intel.com>
9048
9049 * config.gcc (x86_archs): Replace iamcu with lakemount.
9050 (with_cpu): Likewise.
9051 (with_arch): Likewise.
9052 * doc/invoke.texi: Likewise.
9053 * config/i386/i386-c.c (ix86_target_macros_internal): Replace
9054 PROCESSOR_IAMCU with PROCESSOR_LAKEMOUNT. Replace
9055 __tune_iamcu__ with __tune_lakemount__.
9056 * config/i386/i386.c (iamcu_cost): Renamed to ...
9057 (lakemount_cost): This.
9058 (m_IAMCU): Renamed to ...
9059 (m_LAKEMOUNT): This.
9060 (initial_ix86_arch_features): Replace m_IAMCU with m_LAKEMOUNT.
9061 (processor_target_table): Replace "iamcu" with "lakemount".
9062 (processor_alias_table): Likewise.
9063 (ix86_issue_rate): Replace PROCESSOR_IAMCU with
9064 PROCESSOR_LAKEMOUNT.
9065 (ix86_adjust_cost): Likewise.
9066 (ia32_multipass_dfa_lookahead): Likewise.
9067 * config/i386/i386.h (processor_type): Likewise.
9068 * config/i386/x86-tune.def: Replace m_IAMCU with m_LAKEMOUNT.
9069
9070 2015-09-24 John David Anglin <danglin@gcc.gnu.org>
9071
9072 * config/pa/pa-linux.h (HAVE_sync_compare_and_swapdi): Define.
9073 * config/pa/pa-protos.h (pa_maybe_emit_compare_and_swap_exchange_loop):
9074 Declare.
9075 * config/pa/pa.c (pa_init_libfuncs): Init sync libfuncs up to 8 bytes.
9076 (pa_expand_compare_and_swap_loop): New.
9077 (pa_maybe_emit_compare_and_swap_exchange_loop): New.
9078 * config/pa/pa.md (atomic_storeqi, atomic_storehi, atomic_storesi,
9079 atomic_storesf, atomic_loaddf, atomic_storedf): New expanders.
9080 (atomic_loaddf_1, atomic_storedf_1): New insn patterns.
9081 (atomic_loaddi, atomic_loaddi_1, atomic_storedi, atomic_storedi_1):
9082 Revise.
9083
9084 2015-09-24 Michael Collison <michael.collison@linaro.org>
9085
9086 PR other/57195
9087 * read-md.c (read_name): Allow mode iterators inside angle
9088 brackets in rtl expressions.
9089
9090 2015-09-24 Vladimir Makarov <vmakarov@redhat.com>
9091
9092 PR target/61578
9093 * ira-color.c (update_allocno_cost): Add parameter.
9094 (update_costs_from_allocno): Decrease conflict cost. Pass the new
9095 parameter.
9096
9097 2015-09-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
9098
9099 PR driver/67640
9100 * opts-common.c (prune_options): Discard all -fdiagnostics-color
9101 but the last one, which is moved to the front to be processed
9102 first.
9103 * opts.c (enable_warning_as_error): Reject options that do not
9104 control warnings.
9105
9106 2015-09-24 Jiong Wang <jiong.wang@arm.com>
9107
9108 * config/aarch64/aarch64.c (aarch64_print_operand): Add "CONST" support.
9109
9110 2015-09-24 Jiong Wang <jiong.wang@arm.com>
9111
9112 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Delete.
9113 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Likewise.
9114 (aarch64_cannot_force_const_mem): Likewise.
9115 (aarch64_classify_address): Likewise.
9116 (aarch64_classify_symbolic_expression): Likewise.
9117 (aarch64_print_operand): Likewise.
9118 (aarch64_classify_symbol): Likewise.
9119 (aarch64_mov_operand_p): Likewise.
9120 * config/aarch64/predicates.md (aarch64_valid_symref): Likewise.
9121 (aarch64_mov_operand): Likewise.
9122
9123 2015-09-24 Segher Boessenkool <segher@kernel.crashing.org>
9124
9125 * config/rs6000/rs6000.c (debug_stack_info): Invert the test
9126 for info->spe_gp_size.
9127
9128 2015-09-24 Richard Biener <rguenther@suse.de>
9129
9130 PR lto/67699
9131 * lto-cgraph.c (compute_ltrans_boundary): Do not stream
9132 abstract origins.
9133
9134 2015-09-24 Thomas Schwinge <thomas@codesourcery.com>
9135
9136 * tree-object-size.c (plus_stmt_object_size)
9137 (cond_expr_object_size): Change the formal parameters from gimple
9138 to gimple *.
9139 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Likewise.
9140 * tree-ssa-sccvn.c (vn_nary_op_insert_stmt): Make it static.
9141 * tree-ssa-sccvn.h (vn_nary_op_insert_stmt): Don't declare.
9142
9143 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9144
9145 * configure.ac (gcc_cv_ld_pie): Check for gld >= 2.26 on Solaris.
9146 Check for ld -type pie on Solaris 11.x and 12.
9147 * configure: Regenerate.
9148 * config.in: Regenerate.
9149
9150 * gcc.c (LD_PIE_SPEC): Allow redefinition.
9151
9152 * config/sol2.h (STARTFILE_CRTBEGIN_SPEC): Define.
9153 (STARTFILE_SPEC): Use it.
9154 (ENDFILE_CRTEND_SPEC): Define.
9155 (ENDFILE_SPEC): Use it and ENDFILE_ARCH_SPEC.
9156 (SUBTARGET_EXTRA_SPECS): Add STARTFILE_CRTBEGIN_SPEC,
9157 ENDFILE_ARCH_SPEC, ENDFILE_CRTEND_SPEC.
9158 [HAVE_LD_PIE && HAVE_SOLARIS_CRTS] (LD_PIE_SPEC): Define.
9159 (!(HAVE_LD_PIE && HAVE_SOLARIS_CRTS)] (LINK_PIE_SPEC): Define.
9160 * config/i386/sol2.h (ENDFILE_SPEC): Remove.
9161 (ENDFILE_ARCH_SPEC): Define.
9162 * config/sparc/sol2.h (ENDFILE_ARCH_SPEC): Define.
9163
9164 2015-09-24 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
9165
9166 * configure.ac (gcc_cv_solaris_crts): New test.
9167 * configure. Regenerate.
9168 * config.in: Regenerate.
9169 * config/sol2.h (STARTFILE_SPEC): Simplify, provide
9170 HAVE_SOLARIS_CRTS variant.
9171
9172 2015-09-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
9173
9174 * tree-inline.h (count_insns_seq): Delete prototype.
9175 (estimate_num_insns_seq): Define prototype.
9176 * tree-inline.c (count_insns_seq): Delete.
9177 (estimate_num_insns_seq): Remove static qualifier.
9178 * tree-eh.c (decide_copy_try_finally): Replace use of count_insns_seq
9179 with estimate_num_insns_seq.
9180
9181 2015-09-24 Richard Biener <rguenther@suse.de>
9182
9183 * tree-ssa-sccvn.h (vn_reference_op_struct): Add clique and base
9184 members.
9185 * tree-ssa-sccvn.c (copy_reference_ops_from_ref): Record clique
9186 and base for MEM_REF and TARGET_MEM_REF. Handle BIT_FIELD_REF
9187 offset.
9188 (ao_ref_init_from_vn_reference): Record clique and base in the
9189 built base.
9190 * tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise
9191
9192 2015-09-24 Richard Biener <rguenther@suse.de>
9193
9194 PR tree-optimization/48885
9195 * tree-ssa-structalias.c (visit_loadstore): Handle default defs
9196 as not including any restrict tags from other pointers.
9197
9198 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
9199
9200 * gcc.c (handle_foffload_option): Don't lose the trailing NUL
9201 character when appending to offload_targets.
9202
9203 * configure.ac (offload_targets, OFFLOAD_TARGETS): Separate
9204 offload targets by commas, not colons.
9205 * config.in: Regenerate.
9206 * configure: Likewise.
9207 * gcc.c (driver::maybe_putenv_COLLECT_LTO_WRAPPER): Due to that,
9208 instead of setting up the default offload targets here...
9209 (process_command): ..., do it here.
9210 libgomp/
9211 * plugin/configfrag.ac (OFFLOAD_TARGETS): Clarify that offload
9212 targets are separated by commas.
9213 * config.h.in: Regenerate.
9214
9215 2015-09-23 Thomas Schwinge <thomas@codesourcery.com>
9216 Nathan Sidwell <nathan@codesourcery.com>
9217
9218 * omp-low.h (omp_reduction_init_op): Declare.
9219 * omp-low.c (omp_reduction_init_op): New, broken out of ...
9220 (omp_reduction_init): ... here. Call it.
9221 * tree-parloops.c (initialize_reductions): Use
9222 omp_reduction_init_op.
9223
9224 2015-09-23 Richard Biener <rguenther@suse.de>
9225
9226 PR middle-end/67662
9227 * fold-const.c (fold_binary_loc): Do not reassociate two vars with
9228 undefined overflow unless they will cancel out.
9229
9230 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
9231
9232 * config/i386/i386.md (define_insn "*<mshift><mode>3"): Fix
9233 insn emit.
9234
9235 2015-09-23 Manuel López-Ibáñez <manu@gcc.gnu.org>
9236
9237 PR c/49655
9238 * opts.h (write_langs): Declare.
9239 * opts-global.c (write_langs): Make it extern.
9240
9241 2015-09-23 Oleg Endo <olegendo@gcc.gnu.org>
9242
9243 PR target/67391
9244 * config/sh/sh.md (addsi3, *addsi3_compact): Don't check for
9245 overlapping regs when matching the pattern.
9246
9247 2015-09-23 James Greenhalgh <james.greenhalgh@arm.com>
9248
9249 * config/aarch64/aarch64-simd.md
9250 (aarch64_float_truncate_hi_v4sf): Rewrite as an expand.
9251 (aarch64_float_truncate_hi_v4sf_le): New.
9252 (aarch64_float_truncate_hi_v4sf_be): Likewise.
9253
9254 2015-09-23 Richard Biener <rguenther@suse.de>
9255
9256 * tree-ssa-structalias.c (intra_create_variable_infos): Build
9257 representatives for all restrict qualified pointer destinations.
9258
9259 2015-09-23 Kirill Yukhin <kirill.yukhin@intel.com>
9260
9261 * config/i386/i386.md (define_code_attr mshift): New.
9262 (define_mode_iterator SWI1248_AVX512BW): Rename ...
9263 (SWI1248_AVX512BW): ... to this. Make QI enabled for TARGET_AVX512DQ
9264 only.
9265 (define_insn "*k<logic><mode>"): Use new iterator name.
9266 (define_insn "*<mshift><mode>3"): New.
9267
9268 2015-09-23 Mikhail Maltsev <maltsevm@gmail.com>
9269
9270 PR middle-end/67649
9271 * memory-block.h (memory_block_pool::allocate): Use valgrind API to
9272 mark the block as accessible.
9273
9274 2015-09-22 Segher Boessenkool <segher@kernel.crashing.org>
9275
9276 * function.c (thread_prologue_and_epilogue_insns): Delete
9277 orig_entry_edge argument to try_shrink_wrapping.
9278 * shrink-wrap.c (can_get_prologue): New function.
9279 (can_dup_for_shrink_wrapping): Also handle EDGE_CROSSING.
9280 (try_shrink_wrapping): Delete orig_entry_edge argument. Use
9281 can_get_prologue where needed. Remove code that finds a single
9282 edge for the prologue. Remove code that tests if any reg clobbered
9283 by the prologue is live on the prologue edge. Remove code that finds
9284 the new prologue edge after duplicating blocks. Make a new prologue
9285 block and edge.
9286 * shrink-wrap.h (try_shrink_wrapping): Delete orig_entry_edge argument.
9287
9288 2015-09-22 Jeff Law <law@redhat.com>
9289
9290 * config/pa/pa.h (MIN_LEGIT_64BIT_CONST_INT): Avoid undefined
9291 behavior.
9292
9293 2015-09-22 Nathan Sidwell <nathan@codesourcery.com>
9294
9295 * doc/invoke.texi (-Wmultiple-inheritance, -Wvirtual-inheritance,
9296 -Wtemplates, -Wnamespaces): Document.
9297
9298 2015-09-22 Tom de Vries <tom@codesourcery.com>
9299
9300 PR tree-optimization/67671
9301 * tree-ssa-structalias.c (create_variable_info_for_1): Handle restrict
9302 pointer references as restrict.
9303
9304 2015-09-22 Chung-Lin Tang <cltang@codesourcery.com>
9305
9306 * config/nios2/nios2.c (nios2_legitimize_address): When handling
9307 'reg + reloc' cases, allow first operand to be non-REG, and use
9308 force_reg() to enforce address pattern.
9309
9310 2015-09-22 Alexander Fomin <alexander.fomin@intel.com>
9311
9312 PR target/67480
9313 * config/i386/sse.md (define_mode_iterator VI48_AVX_AVX512F): New.
9314 (define_mode_iterator VI12_AVX_AVX512F): New.
9315 (define_insn "<mask_codefor><code><mode>3<mask_name>"): Change
9316 all iterators to VI48_AVX_AVX512F. Extract remaining modes ...
9317 (define_insn "*<code><mode>3"): ... Into new pattern using
9318 VI12_AVX_AVX512F iterators without masking.
9319
9320 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
9321
9322 * config.gcc: Support "skylake-avx512".
9323 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
9324 PROCESSOR_SKYLAKE_AVX512.
9325 * config/i386/i386.c (m_SKYLAKE_AVX512): Define.
9326 (processor_target_table): Add "skylake-avx512".
9327 (PTA_SKYLAKE_AVX512): Define.
9328 (ix86_option_override_internal): Add "skylake_avx512".
9329 (fold_builtin_cpu): Handle "skylake_avx512", add F_AVX512VL
9330 F_AVX512BW, F_AVX512DQ, F_AVX512ER, F_AVX512PF, F_AVX512CD.
9331 * config/i386/i386.h (TARGET_SKYLAKE_AVX512): Define.
9332 (processor_type): Add PROCESSOR_SKYLAKE_AVX512.
9333 * doc/invoke.texi (skylake-avx512): New.
9334
9335 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
9336
9337 * config/i386/i386.md (define_insn "kunpckhi"): Fix
9338 operand in pattern.
9339 (define_insn "kunpcksi"): Ditto.
9340 (define_insn "kunpckdi"): Ditto.
9341
9342 2015-09-22 Kirill Yukhin <kirill.yukhin@intel.com>
9343
9344 * config/i386/i386.md (define_split not/xor SWI1248x): Use
9345 iterator instead of fixed modes.
9346
9347 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
9348
9349 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
9350 Adjust declaration.
9351 * config/aarch64/aarch64.c (aarch64_emit_bic): New.
9352 (aarch64_gen_atomic_ldop): Adjust comment. Add parameter
9353 out_result. Update to support update-fetch operations.
9354 * config/aarch64/atomics.md (aarch64_atomic_exchange<mode>_lse):
9355 Adjust for change to aarch64_gen_atomic_ldop.
9356 (aarch64_atomic_<atomic_optab><mode>_lse): Likewise.
9357 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): Likewise.
9358 (atomic_<atomic_optab>_fetch<mode>): Change to an expander.
9359 (aarch64_atomic_<atomic_optab>_fetch<mode>): New.
9360 (aarch64_atomic_<atomic_optab>_fetch<mode>_lse): New.
9361
9362 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
9363
9364 * config/aarch64/aarch64-protos.h
9365 (aarch64_atomic_ldop_supported_p): Declare.
9366 * config/aarch64/aarch64.c (aarch64_atomic_ldop_supported_p): New.
9367 (enum aarch64_atomic_load_op_code): New.
9368 (aarch64_emit_atomic_load_op): New.
9369 (aarch64_gen_atomic_ldop): Update to support load-operate
9370 patterns.
9371 * config/aarch64/atomics.md (atomic_<atomic_optab><mode>): Change
9372 to an expander.
9373 (aarch64_atomic_<atomic_optab><mode>): New.
9374 (aarch64_atomic_<atomic_optab><mode>_lse): New.
9375 (atomic_fetch_<atomic_optab><mode>): Change to an expander.
9376 (aarch64_atomic_fetch_<atomic_optab><mode>): New.
9377 (aarch64_atomic_fetch_<atomic_optab><mode>_lse): New.
9378
9379 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
9380
9381 * config/aarch64/aarch64/atomics.md (UNSPECV_ATOMIC_LDOP): New.
9382 (UNSPECV_ATOMIC_LDOP_OR): New.
9383 (UNSPECV_ATOMIC_LDOP_BIC): New.
9384 (UNSPECV_ATOMIC_LDOP_XOR): New.
9385 (UNSPECV_ATOMIC_LDOP_PLUS): New.
9386 (ATOMIC_LDOP): New.
9387 (atomic_ldop): New.
9388 (aarch64_atomic_load<atomic_ldop><mode>): New.
9389
9390 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
9391
9392 * config/aarch64/aarch64.md
9393 (<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Make a named
9394 pattern.
9395
9396 2015-09-22 Matthew Wahab <matthew.wahab@arm.com>
9397
9398 * config/aarch64/aarch64-protos.h (aarch64_gen_atomic_ldop):
9399 Declare.
9400 * config/aarch64/aarch64.c (aarch64_emit_atomic_swap): New.
9401 (aarch64_gen_atomic_ldop): New.
9402 (aarch64_split_atomic_op): Fix whitespace and add a comment.
9403 * config/aarch64/atomics.md (UNSPECV_ATOMIC_SWP): New.
9404 (aarch64_compare_and_swap<mode>_lse): Fix some whitespace.
9405 (atomic_exchange<mode>): Replace with an expander.
9406 (aarch64_atomic_exchange<mode>): New.
9407 (aarch64_atomic_exchange<mode>_lse): New.
9408 (aarch64_atomic_<atomic_optab><mode>): Fix some whitespace.
9409 (aarch64_atomic_swp<mode>): New.
9410
9411 2015-09-22 Manuel López-Ibáñez <manu@gcc.gnu.org>
9412
9413 * tree-inline.c (expand_call_inline): Use inform for extra note.
9414 Do not give a note with UNKNOWN_LOCATION.
9415 Replace input_location with gimple_location (stmt).
9416 Use true/false instead of TRUE/FALSE.
9417
9418 2015-09-22 Tom de Vries <tom@codesourcery.com>
9419
9420 PR tree-optimization/67666
9421 * tree-ssa-structalias.c (create_variable_info_for_1): Handle struct
9422 with single field non-conservative.
9423
9424 2015-09-21 David S. Miller <davem@davemloft.net>
9425
9426 PR/67622
9427 Revert:
9428 2015-09-11 David S. Miller <davem@davemloft.net>
9429
9430 * config/sparc/constraints.md: Make "U" constraint a real register
9431 constraint.
9432 * config/sparc/sparc.c (TARGET_LRA_P): Define.
9433 (D_MODES, DF_MODES): Add missing cast.
9434 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
9435 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
9436 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
9437 cost to 8.
9438 * config/sparc/sparc.h (PROMOTE_MODE): Define.
9439 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
9440 provide these insn when flag_pic.
9441
9442 2015-09-17 David S. Miller <davem@davemloft.net>
9443
9444 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed):
9445 Declare.
9446 * config/sparc/sparc.c (sparc_secondary_memory_needed): New
9447 function.
9448 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
9449 (HARD_REGNO_CALLER_SAVE_MODE): Define.
9450 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
9451 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
9452 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
9453 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
9454 provide when flag_pic.
9455
9456 2015-09-21 Jeff Law <law@redhat.com>
9457
9458 * config/h8300/h8300.md (andsi3_ashift_n_lower): Avoid undefined
9459 behavior.
9460
9461 2015-09-21 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
9462
9463 * config/spu/spu.c (spu_expand_insv): Avoid undefined behavior.
9464
9465 2015-09-21 Richard Biener <rguenther@suse.de>
9466
9467 * passes.c (rest_of_decl_compilation): Do not call
9468 dwarf2out_early_global_decl for aliases.
9469
9470 2015-09-21 Richard Biener <rguenther@suse.de>
9471
9472 PR debug/67664
9473 * dwarf2out.c (add_location_or_const_value_attribute): Remove
9474 attribute parameter. Early exit if either DW_AT_const_value
9475 or DW_AT_location are present already.
9476 (gen_variable_die): Adjust caller.
9477 (dwarf2out_late_global_decl): Likewise.
9478
9479 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
9480
9481 PR target/67657
9482 * config/sh/sh.c (sh_remove_overlapping_post_inc,
9483 sh_peephole_emit_move_insn): Add new functions.
9484 * config/sh/sh-protos.h (sh_remove_overlapping_post_inc,
9485 sh_peephole_emit_move_insn): Declere them.
9486 * config/sh/sh.md: Use them in various peephole2 patterns.
9487
9488 2015-09-21 Richard Biener <rguenther@suse.de>
9489
9490 PR middle-end/67651
9491 * rtlanal.c (nonzero_address_p): SYMBOL_REFs may have zero
9492 address with -fno-delete-null-pointer-checks.
9493
9494 2015-09-21 Alan Lawrence <alan.lawrence@arm.com>
9495
9496 * config/rs6000/altivec.md (reduc_splus_<mode>): Rename to...
9497 (reduc_plus_scal_<mode>): ...this, add rs6000_expand_vector_extract.
9498 (reduc_uplus_v16qi): Remove.
9499
9500 * config/rs6000/vector.md (VEC_reduc_name): Change "splus" to "plus".
9501 (reduc_<VEC_reduc_name>_v2df): Remove.
9502 (reduc_<VEC_reduc_name>_v4sf): Remove.
9503 (reduc_<VEC_reduc:VEC_reduc_name>_scal_<VEC_F:name>): New.
9504
9505 * config/rs6000/vsx.md (vsx_reduc_<VEC_reduc_name>_v2df): Declare
9506 gen_ function by removing * prefix.
9507 (vsx_reduc_<VEC_reduc_name>_v4sf): Likewise.
9508
9509 2015-09-21 Manuel López-Ibáñez <manu@gcc.gnu.org>
9510
9511 PR middle-end/60832
9512 * tree-ssa-loop-niter.c (do_warn_aggressive_loop_optimizations):
9513 Print i_bound without converting it to a tree.
9514
9515 2015-09-21 Bilyan Borisov <bilyan.borisov@arm.com>
9516
9517 * config/arm/arm.c (thumb_output_move_mem_multiple): Replaced
9518 operands[4] operands[5] swap with std::swap, removed tmp variable.
9519 (arm_evpc_neon_vzip): Replaced in0/in1 and
9520 out0/out1 swaps with std::swap, removed x variable.
9521 (arm_evpc_neon_vtrn): Replaced in0/int1 and
9522 out0/out1 swaos with std::swap, removed x variable.
9523 (arm_expand_vec_perm_const_1): Replaced
9524 d->op0/d->op1 swap with std::swap, removed x variable.
9525 (arm_evpc_neon_vuzp): Replaced in0/in1 and
9526 out0/out1 swaps with std::swap, removed x variable.
9527
9528 2015-09-21 Jonathan Yong <10walls@gmail.com>
9529
9530 * config/i386/cygwin.h (STARTFILE_SPEC): Explicitly search
9531 sysroot/usr/lib/32api for additional win32 libraries,
9532 fixes failing Cygwin bootstrapping.
9533
9534 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
9535
9536 * doc/invoke.texi (SH Options): Undocument SH5/SH64 related options.
9537
9538 2015-09-21 Oleg Endo <olegendo@gcc.gnu.org>
9539
9540 PR target/67126
9541 * config/sh/sh.md (*reg_lsb_t): Emit bld insn on SH2A.
9542 (*mov_t_msb_neg): Rewrite negc pattern.
9543
9544 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
9545
9546 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Cleanup
9547 immediate generation code.
9548
9549 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
9550
9551 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Remove
9552 redundant immediate generation code.
9553
9554 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
9555
9556 * config/aarch64/aarch64.c (aarch64_bitmasks): Remove.
9557 (AARCH64_NUM_BITMASKS): Remove.
9558 (aarch64_bitmasks_cmp): Remove.
9559 (aarch64_build_bitmask_table): Remove.
9560
9561 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
9562
9563 * config/aarch64/aarch64.c (aarch64_internal_mov_immediate): Replace
9564 slow immediate matching loops with a faster algorithm.
9565
9566 2015-09-20 Wilco Dijkstra <wdijkstr@arm.com>
9567
9568 * config/aarch64/aarch64.c (aarch64_bitmask_imm): Reimplement using
9569 faster algorithm.
9570
9571 2015-09-20 Jeff Law <law@redhat.com>
9572
9573 PR tree-optimization/47679
9574 * tree-ssa-dom.c (record_temporary_equivalences): No longer static.
9575 * tree-ssa-dom.h (record_temporary_equivalences): Add prototype.
9576 * tree-ssa-threadedge.c: Include tree-ssa-dom.h.
9577 (thread_through_normal_block): Use record_temporary_equivalences.
9578
9579 2015-09-19 Trevor Saunders <tbsaunde@tbsaunde.org>
9580
9581 * coretypes.h (gimple): Change typedef to be a forward declaration.
9582 * gimple.h (gimple_statement_base): rename to gimple.
9583 * (all functions and types using gimple): Adjust.
9584 * *.[ch]: Likewise.
9585
9586 2015-09-19 Andrew Dixie <andrewd@gentrack.com>
9587 David Edelsohn <dje.gcc@gmail.com>
9588
9589 * config/rs6000/xcoff.h (EH_FRAME_IN_DATA_SECTION): Delete.
9590 (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9591 (EH_FRAME_THROUGH_COLLECT2): Define.
9592 (EH_TABLES_CAN_BE_READ_ONLY): Define.
9593 (ASM_OUTPUT_DWARF_PCREL): Define.
9594 (ASM_OUTPUT_DWARF_DATAREL): Define.
9595
9596 2015-09-19 John David Anglin <danglin@gcc.gnu.org>
9597
9598 * config/pa/pa.c (pa_function_ok_for_sibcall): Remove special treatment
9599 of TARGET_ELF32.
9600
9601 2015-09-18 Jeff Law <law@redhat.com>
9602
9603 PR tree-optimization/47679
9604 * tree-ssa-dom.c (avail_exprs_stack): No longer file scoped. Move
9605 it here ...
9606 (dom_opt_dom_walker): New private member holding the avail_exprs_stack
9607 object. Update constructor.
9608 (pass_dominator::execute): Corresponding chagnes to declaration
9609 and initialization of avail_exprs_stack. Update constructor call
9610 for dom_opt_dom_walker object.
9611 (lookup_avail_expr, record_cond): Accept additional argument. Pass
9612 it down to children as needed.
9613 (record_equivalences_from_incoming_edge): Likewise.
9614 (eliminate_redundant_computations): Likewise.
9615 (record_equivalences_from_stmt): Likewise.
9616 (simplify_stmt_for_jump_threading): Likewise.
9617 (record_temporary_equivalences): Likewise.
9618 (optimize_stmt): Likewise.
9619 (dom_opt_dom_walker::thread_across_edge): Update access to
9620 avail_exprs_stack object and pass it to children as needed.
9621 (dom_opt_dom_walker::before_dom_children): Similarly.
9622 (dom_opt_dom_walker::after_dom_children): Similarly.
9623 * tree-ssa-threadedge.c (pfn_simplify): New typedef.
9624 (record_temporary_equivalences_from_stmts_at_dest): Use new typedef.
9625 Add avail_expr_stack argument. Pass it to children as needed.
9626 (dummy_simplify): Likewise.
9627 (simplify_control_stmt_condition): Likewise.
9628 (thread_around_empty_blocks): Likewise.
9629 (thread_through_normal_block): Likewise.
9630 (thread_across_edge): Likewise.
9631 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
9632 * tree-vrp.c (simplify_stmt_for_jump_threading): Update.
9633
9634 PR tree-optimization/47679
9635 * tree-ssa-dom.c (const_and_copies): No longer file scoped. Move
9636 it here ...
9637 (dom_opt_dom_walker): New private member holding the const_and_copies
9638 object. Update constructor.
9639 (pass_dominator::execute): Corresponding changes to declaration
9640 and initialization of const_and_copies. Update constructor call
9641 for the dom_opt_dom_walker object.
9642 (record_temporary_equivalences): Accept const_and_copies argument
9643 pass it down to children as needed.
9644 (record_equality): Likewise.
9645 (record_equivalences_from_incoming_edge): Likewise.
9646 (cprop_into_successor_phis, optimize_stmt): Likewise.
9647 (eliminate_redundant_computations): Likewise.
9648 (dom_opt_dom_walker::thread_across_edge): Update access to
9649 const_and_copies object and pass it to children as needed.
9650 (dom_opt_dom_walker::before_dom_children): Similarly.
9651 (dom_opt_dom_walker::after_dom_children): Similarly.
9652
9653 PR tree-optimization/47679
9654 * tree-ssa-dom.c (avail_exprs): No longer file scoped. Bury
9655 it into the avail_exprs_stack class.
9656 (pass_dominator::execute): Corresponding changes to declaration
9657 and initialization of avail_exprs. Pass avail_exprs to
9658 dump_dominator_optimization_stats.
9659 (record_cond): Extract avail_exprs from avail_exprs_stack.
9660 (lookup_avail_expr): Similarly.
9661 (htab_staticstics): Remove unnecessary prototype. Move to earlier
9662 position in file.
9663 (dump_dominator_optimization_stats): Make static and prototype.
9664 Add argument for the hash table to dump.
9665 (debug_dominator_optimization_stats): Remove.
9666 * tree-ssa-dom.h (dump_dominator_optimization_stats): Remove
9667 prototype.
9668 (debug_dominator_optimization_stats): Similarly.
9669 * tree-ssa-scopedtables.h (class avail_exprs_stack): Add missing
9670 "void" in prototype for pop_to_marker method. Add accessor method
9671 for the underlying avail_exprs table.
9672
9673 * tree-ssa-threadedge.c: Remove trailing whitespace.
9674
9675 2014-09-18 John David Anglin <danglin@gcc.gnu.org>
9676
9677 * config/pa/pa-protos.h (pa_cint_ok_for_move): Change argument type to
9678 unsigned.
9679 (pa_ldil_cint_p): Likewise.
9680 * config/pa/pa.c (pa_cint_ok_for_move): likewise.
9681 (pa_ldil_cint_p): Likewise. Change signed casts to unsigned.
9682 Update callers.
9683 * config/pa/pa.md: Likewise.
9684
9685 2015-09-18 David Malcolm <dmalcolm@redhat.com>
9686
9687 * Makefile.in (OBJS-libcommon): Add diagnostic-show-locus.o.
9688 * diagnostic.c (adjust_line): Move to diagnostic-show-locus.c.
9689 (diagnostic_show_locus): Likewise.
9690 (diagnostic_print_caret_line): Likewise.
9691 * diagnostic-show-locus.c: New file.
9692
9693 2015-09-18 David Edelsohn <dje.gcc@gmail.com>
9694
9695 * dwarf2out.c (switch_to_eh_frame_section): Add ATTRIBUTE_UNUSED to
9696 "back" parameter. Declare label in #if block.
9697
9698 2015-09-18 Uros Bizjak <ubizjak@gmail.com>
9699
9700 PR middle-end/67619
9701 * except.c (expand_builtin_eh_return): Use copy_addr_to_reg to copy
9702 the address to a register.
9703
9704 2015-09-18 Jeff Law <law@redhat.com>
9705
9706 PR tree-optimization/47679
9707 * Makefile.in (OBJS): Add tree-ssa-phionlycprop.o
9708 * tree-ssa-dom.c: Remove unnecessary header includes.
9709 (remove_stmt_or_phi): Moved from here into tree-ssa-phionlycprop.c
9710 (get_rhs_or_phi_arg, get_lhs_or_phi_result): Likewise.
9711 (propagate_rhs_into_lhs, eliminate_const_or_copy): Likewise.
9712 (eliminate_degenerate_phis_1, pass_phi_only_cprop): Likewise.
9713 (pass_phi_only_cprop::execute): Likewise.
9714 (make_pass_phi_only_cprop): Likewise.
9715 * tree-ssa-phionlycprop.c: New file with moved code. Eliminate
9716 uses of file scoped statics by passing the required objects
9717 as parameters wherever needed.
9718
9719 2015-09-18 Andrew Dixie <andrewd@gentrack.com>
9720 David Edelsohn <dje.gcc@gmail.com>
9721
9722 * defaults.h (EH_FRAME_SECTION_NAME): Depend on
9723 EH_FRAME_THROUGH_COLLECT2.
9724 * dwarf2asm.c (dw2_asm_output_encoded_addr_rtx): Add case for
9725 DW_EH_PE_datarel.
9726 * dwarf2out.c (switch_to_eh_frame_section): Use a read-only section
9727 even if EH_FRAME_SECTION_NAME is undefined. Restrict special
9728 collect2 labels to EH_FRAME_THROUGH_COLLECT2.
9729 * except.c (switch_to_exception_section): Use a read-only section
9730 even if EH_FRAME_SECTION_NAME is undefined.
9731 * system.h (EH_FRAME_IN_DATA_SECTION): Poison.
9732 * collect2.c (write_c_file_stat): Provide dbase on AIX.
9733 (scan_prog_file): Don't export __dso_handle nor
9734 __gcc_unwind_dbase.
9735 * config/rs6000/aix.h (ASM_PREFERRED_EH_DATA_FORMAT): Define.
9736 (EH_TABLES_CAN_BE_READ_ONLY): Define.
9737 (ASM_OUTPUT_DWARF_PCREL): Define.
9738 (ASM_OUTPUT_DWARF_DATAREL): Define.
9739 (EH_FRAME_THROUGH_COLLECT2): Define.
9740 (EH_FRAME_IN_DATA_SECTION): Delete.
9741 * config/rs6000/aix61.h (STARTFILE_SPEC): Add crtdbase.o.
9742 * config/rs6000/rs6000-protos.h (rs6000_asm_output_dwarf_pcrel):
9743 Declare.
9744 (rs6000_asm_output_dwarf_datarel): Declare.
9745 * config/rs6000/rs6000.c (rs6000_aix_asm_output_dwarf_pcrel): New.
9746 (rs6000_aix_asm_output_dwarf_datarel): New.
9747 (rs6000_xcoff_asm_init_sections): Don't set exception_section.
9748 * config/spu/spu-elf.h (EH_FRAME_IN_DATA_SECTION): Delete.
9749 (EH_FRAME_THROUGH_COLLECT2): Define.
9750 * config/i386/i386-interix.h (EH_FRAME_IN_DATA_SECTION): Delete.
9751 (EH_FRAME_THROUGH_COLLECT2): Define.
9752 (EH_TABLES_CAN_BE_READ_ONLY): Define.
9753 * doc/tm.texi.in (EH_FRAME_IN_DATA_SECTION): Delete.
9754 (EH_FRAME_THROUGH_COLLECT2): New.
9755 (ASM_OUTPUT_DWARF_DATAREL): New.
9756 * doc/tm.texi: Regenerate.
9757
9758 2015-09-18 Richard Biener <rguenther@suse.de>
9759
9760 * dwarf2out.c (append_entry_to_tmpl_value_parm_die_table): Assert
9761 we're in early phase.
9762 (schedule_generic_params_dies_gen): Likewise.
9763 (gen_remaining_tmpl_value_param_die_attribute): Do only as much
9764 work as possible, retaining unhandled cases.
9765 (gen_scheduled_generic_parms_dies): Set early-dwarf flag and
9766 clear out generic_type_instances at the end.
9767 (dwarf2out_finish): Move call to gen_scheduled_generic_parms_dies...
9768 (dwarf2out_early_finish): ... here. Do most of
9769 gen_remaining_tmpl_value_param_die_attribute here.
9770
9771 2015-09-18 Alan Lawrence <alan.lawrence@arm.com>
9772
9773 PR tree-optimization/67283
9774 * tree-sra.c (type_consists_of_records_p): Rename to...
9775 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
9776 (completely_scalarize_record): Rename to...
9777 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
9778 (scalarize_elem): New.
9779 (analyze_all_variable_accesses): Follow renamings.
9780
9781 2015-09-18 Richard Biener <rguenther@suse.de>
9782
9783 * dwarf2out.c (add_location_or_const_value_attribute): Do nothing
9784 in early-dwarf.
9785
9786 2015-09-18 Richard Biener <rguenther@suse.de>
9787
9788 PR tree-optimization/66142
9789 * fold-const.c (operand_equal_p): When OEP_ADDRESS_OF
9790 treat MEM[&x] and x the same.
9791 * tree-ssa-sccvn.h (vn_reference_fold_indirect): Remove.
9792 * tree-ssa-sccvn.c (vn_reference_fold_indirect): Return true
9793 when we simplified sth.
9794 (vn_reference_maybe_forwprop_address): Likewise.
9795 (valueize_refs_1): When we simplified through
9796 vn_reference_fold_indirect or vn_reference_maybe_forwprop_address
9797 set valueized_anything to true.
9798 (vn_reference_lookup_3): Use stmt_kills_ref_p to see whether
9799 one ref kills the other instead of just a offset-based test.
9800 * tree-ssa-alias.c (stmt_kills_ref_p): Use OEP_ADDRESS_OF
9801 for the operand_equal_p test to compare bases and also compare
9802 sizes.
9803
9804 2015-09-17 Christian Bruel <christian.bruel@st.com>
9805
9806 * config/arm/arm.md (*call_value_symbol): Fix operand for interworking.
9807
9808 2015-09-17 Richard Henderson <rth@redhat.com>
9809
9810 PR libstdc++/65913
9811 * builtins.c (fold_builtin_atomic_always_lock_free): Handle fake
9812 pointers that encode the alignment of the object.
9813
9814 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
9815
9816 PR rtl-optimization/66790
9817 * df-problems.c (LIVE): Amend documentation.
9818
9819 2015-09-17 Richard Sandiford <richard.sandiford@arm.com>
9820
9821 * Makefile.in (OBJS): Add optabs-libfuncs.o, optabs-query.o
9822 and optabs-tree.o.
9823 (GTFILES): Replace optabs.c with optabs-libfunc.c.
9824 * genopinit.c (main): Add an include guard to insn-opinit.h.
9825 Protect the rtx_code parts with NUM_RTX_CODE.
9826 * optabs.h: Split parts out to...
9827 * optabs-libfuncs.h, optabs-query.h, optabs-tree.h: ...these new files.
9828 * optabs.c: Split parts out to...
9829 * optabs-libfuncs.c, optabs-query.c, optabs-tree.c: ...these new files.
9830 * cilk-common.c: Include optabs-query.h rather than optabs.h.
9831 * fold-const.c: Likewise.
9832 * target-globals.c: Likewise.
9833 * tree-if-conv.c: Likewise.
9834 * tree-ssa-forwprop.c: Likewise.
9835 * tree-ssa-loop-prefetch.c: Likewise.
9836 * tree-ssa-math-opts.c: Include optabs-tree.h rather than optabs.h.
9837 Remove unncessary include files.
9838 * tree-ssa-phiopt.c: Likewise.
9839 * tree-ssa-reassoc.c: Likewise.
9840 * tree-switch-conversion.c: Likewise.
9841 * tree-vect-data-refs.c: Likewise.
9842 * tree-vect-generic.c: Likewise.
9843 * tree-vect-loop.c: Likewise.
9844 * tree-vect-patterns.c: Likewise.
9845 * tree-vect-slp.c: Likewise.
9846 * tree-vect-stmts.c: Likewise.
9847 * tree-vrp.c: Likewise.
9848 * toplev.c: Include optabs-query.h and optabs-libfuncs.h
9849 rather than optabs.h.
9850 * expr.c: Include optabs-tree.h.
9851 * function.c: Likewise.
9852
9853 2015-09-17 Eric Botcazou <ebotcazou@adacore.com>
9854
9855 PR middle-end/65958
9856 * config/arm/linux-elf.h (STACK_CHECK_STATIC_BUILTIN): Define.
9857 * config/arm/arm-protos.h (output_probe_stack_range): Declare.
9858 * config/arm/arm.c: Include common/common-target.h.
9859 (use_return_insn): Return 0 if the static chain register was saved
9860 above a non-APCS frame.
9861 (arm_compute_static_chain_stack_bytes): Adjust for stack checking.
9862 (struct scratch_reg): New.
9863 (get_scratch_register_on_entry): New function.
9864 (release_scratch_register_on_entry): Likewise.
9865 (arm_emit_probe_stack_range): Likewise.
9866 (output_probe_stack_range): Likewise.
9867 (arm_expand_prologue): Factor out code dealing with the IP register
9868 for nested function and adjust it for stack checking.
9869 Invoke arm_emit_probe_stack_range if static builtin stack checking
9870 is enabled.
9871 (thumb1_expand_prologue): Sorry out if static builtin stack checking
9872 is enabled.
9873 (arm_expand_epilogue): Add the saved static chain register, if any, to
9874 the amount of pre-pushed registers to pop.
9875 (arm_frame_pointer_required): Return true if static stack checking is
9876 enabled and we want to catch the exception with the EABI unwinder.
9877 * config/arm/unspecs.md (UNSPEC_PROBE_STACK): New constant.
9878 (UNSPEC_PROBE_STACK_RANGE): Likewise.
9879 * config/arm/arm.md (probe_stack): New insn.
9880 (probe_stack_range): Likewise.
9881
9882 2015-09-17 Richard Biener <rguenther@suse.de>
9883
9884 * genmatch.c (parser::parse_expr): Improve error message
9885 for mis-placed flags.
9886
9887 2015-09-17 Richard Biener <rguenther@suse.de>
9888
9889 * passes.c (rest_of_decl_compilation): Always call early_global_decl
9890 debug hook when we created a varpool node.
9891 * dwarf2out.c (dwarf2out_late_global_decl): When in LTO call
9892 dwarf2out_early_global_decl, when not just add location or
9893 value attributes to existing DIEs.
9894
9895 2015-09-17 James Greenhalgh <james.greenhalgh@arm.com>
9896
9897 * config/aarch64/aarch64.md (copysigndf3): New.
9898 (copysignsf3): Likewise.
9899
9900 2015-09-17 David S. Miller <davem@davemloft.net>
9901
9902 * config/sparc/sparc-protos.h (sparc_secondary_memory_needed): Declare.
9903 * config/sparc/sparc.c (sparc_secondary_memory_needed): New function.
9904 * config/sparc/sparc.h (SECONDARY_MEMORY_NEEDED): Use it.
9905 (HARD_REGNO_CALLER_SAVE_MODE): Define.
9906 * config/sparc/sparc.md (sethi_di_medlow, losum_di_medlow, seth44)
9907 (setm44, setl44, sethh, setlm, sethm, setlo, embmedany_sethi)
9908 (embmedany_losum, embmedany_brsum, embmedany_textuhi)
9909 (embmedany_texthi, embmedany_textulo, embmedany_textlo): Do not
9910 provide when flag_pic.
9911
9912 2015-09-17 Kaz Kojima <kkojima@gcc.gnu.org>
9913
9914 * config/sh/sh.c (label_ref_list_d_pool): Adjust to
9915 object_allocator change.
9916
9917 2015-09-17 Bin Cheng <bin.cheng@arm.com>
9918
9919 PR tree-optimization/66388
9920 * tree-ssa-loop-ivopts.c (struct iv, iv_cand, ivopts_data): New fields.
9921 (dump_iv): Dump no_overflow information.
9922 (alloc_iv): Initialize new field for struct iv.
9923 (mark_bivs): Count number of no_overflow bivs.
9924 (find_deriving_biv_for_expr, record_biv_for_address_use): New
9925 functions.
9926 (idx_find_step): Call new functions above.
9927 (add_candidate_1, add_candidate): New paramter.
9928 (add_iv_candidate_for_biv): Add sizetype cand for BIV.
9929 (get_computation_aff): Simplify convertion of cand for BIV.
9930 (get_computation_cost_at): Step cand's base if necessary.
9931
9932 2015-09-17 Bin Cheng <bin.cheng@arm.com>
9933
9934 * tree-ssa-loop-niter.c (tree_simplify_using_condition_1): New
9935 parameter.
9936 (tree_simplify_using_condition): Ditto.
9937 (simplify_using_initial_conditions): Ditto.
9938 (loop_exits_before_overflow): Pass new argument to function
9939 simplify_using_initial_conditions. Remove case for type conversions
9940 simplification.
9941 * tree-ssa-loop-niter.h (simplify_using_initial_conditions): New
9942 parameter.
9943 * tree-scalar-evolution.c (simple_iv): Simplify type conversions
9944 in iv base using loop initial conditions.
9945
9946 2015-09-16 Jeff Law <law@redhat.com>
9947
9948 PR tree-optimization/47679
9949 * tree-ssa-dom.c (free_edge_info): Factored out of free_all_edge_infos.
9950 (free_all_edge_infos): Use it.
9951 (allocate_edge_info): Free preexisting edge info data.
9952 (pass_dominator::execute): Set up initial edge info structures.
9953 (dom_opt_dom_walker::thread_across_edge): Pass avail_expr_stack to
9954 thread_across_edge.
9955 * tree-ssa-threadedge.c (thread_across_edge): Accept new argument.
9956 If non-null, then push/pop markers appropriately.
9957 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
9958 * tree-vrp.c (identify_jump_threads): Pass NULL for new argument to
9959 thread-across_edge.
9960
9961 2015-09-16 James Bowman <james.bowman@ftdichip.com>
9962
9963 * config/ft32/ft32.c: Fix the memory address space predicate.
9964
9965 2015-09-16 Kaz Kojima <kkojima@gcc.gnu.org>
9966
9967 PR target/67573
9968 * config/sh/sh.md (call_pcrel): Add early clobber to scratch operand.
9969 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
9970
9971 2015-09-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
9972
9973 * toplev.h (check_global_declaration): Remove declaration.
9974 * toplev.c (check_global_declaration): Move to ...
9975 * cgraphunit.c: ... here. Make it static and pass a symtab_node *.
9976 (analyze_functions): Update call.
9977
9978 2015-09-16 David S. Miller <davem@davemloft.net>
9979
9980 * lra-constraints.c (simplify_operand_subreg): Do not assume that
9981 lowpart of a SUBREG has offset zero.
9982
9983 2015-09-16 Jeff Law <law@redhat.com>
9984
9985 PR tree-optimization/47679
9986 * tree-ssa-dom.c (enum expr_kind): Moved from here to
9987 tree-ssa-scopedtables.h.
9988 (struct hashable_expr, class expr_hash_elt): Likewise.
9989 (struct expr_elt_hasher, class avail_exprs_stack): Likewise.
9990 Move associated methods into tree-ssa-scopedtables.c.
9991 (avail_expr_hash, initialize_expr_from_cond): Similarly.
9992 (hashable_expr_equal_p, add_expr_commutative): Likewise.
9993 (add_hashable_expr): Likewise.
9994 (record_cond): Delete element directly.
9995 * tree-ssa-scopedtables.h (avail_expr_stack, const_and_copies): Add
9996 private copy ctor and assignment operator methods.
9997 (expr_elt_hasher): Inline trivial methods.
9998 (initialize_expr_from_cond): Prototype.
9999 * tree-ssa-scopedtables.c: Add necessary includes, functions and
10000 methods that were previously in tree-ssa-dom.c. Improve various
10001 comments.
10002
10003 2015-09-16 Paolo Carlini <paolo.carlini@oracle.com>
10004
10005 * doc/invoke.texi ([Wsubobject-linkage]): Extend documentation.
10006
10007 2015-09-16 Segher Boessenkool <segher@kernel.crashing.org>
10008
10009 PR bootstrap/67587
10010 * function.c (rest_of_handle_thread_prologue_and_epilogue): Call
10011 fixup_partitions.
10012
10013 2015-09-16 Richard Biener <rguenther@suse.de>
10014
10015 PR middle-end/67253
10016 * cfgexpand.c (expand_gimple_stmt_1): Do not clobber
10017 location of possibly shared trees.
10018
10019 2015-09-16 Richard Biener <rguenther@suse.de>
10020
10021 PR middle-end/67271
10022 * fold-const.c (native_encode_expr): Bail out on bogus offsets.
10023
10024 2015-09-16 Eric Botcazou <ebotcazou@adacore.com>
10025
10026 * tree-ssa-sccvn.c (ao_ref_init_from_vn_reference): Use offset_int for
10027 offset and size computations instead of HOST_WIDE_INT.
10028
10029 2015-09-16 Richard Biener <rguenther@suse.de>
10030
10031 PR middle-end/67442
10032 * fold-const.c (extract_muldiv_1): Properly extend multiplication
10033 result before builting a tree via wide_int_to_tree.
10034
10035 2015-09-16 Mikhail Maltsev <maltsevm@gmail.com>
10036
10037 * Makefile.in: Add memory-block.cc
10038 (pool_allocator::initialize): Use fixed block size.
10039 (pool_allocator::release): Use memory_block_pool.
10040 (pool_allocator::allocate): Likewise.
10041 * asan.c (asan_mem_ref_pool): Adjust to use common block size in all
10042 object pools.
10043 * cfg.c (initialize_original_copy_tables): Likewise.
10044 * cselib.c (elt_list_pool, elt_loc_list_pool,
10045 cselib_val_pool): Likewise.
10046 * df-problems.c (df_chain_alloc): Likewise.
10047 * df-scan.c (df_scan_alloc): Likewise.
10048 * dse.c (cse_store_info_pool, rtx_store_info_pool,
10049 read_info_type_pool, insn_info_type_pool, bb_info_pool,
10050 group_info_pool, deferred_change_pool): Likewise.
10051 * et-forest.c (et_nodes, et_occurrences): Likewise.
10052 * ipa-cp.c (ipcp_cst_values_pool, ipcp_sources_pool,
10053 ipcp_agg_lattice_pool): Likewise.
10054 * ipa-inline-analysis.c (edge_predicate_pool): Likewise.
10055 * ipa-profile.c (histogram_pool): Likewise.
10056 * ipa-prop.c (ipa_refdesc_pool): Likewise.
10057 * ira-build.c (live_range_pool, allocno_pool, object_pool,
10058 initiate_cost_vectors, pref_pool, copy_pool): Likewise.
10059 * ira-color.c (update_cost_record_pool): Likewise.
10060 * lra-lives.c (lra_live_range_pool): Likewise.
10061 * lra.c (lra_insn_reg_pool, lra_copy_pool): Likewise.
10062 * memory-block.cc: New file.
10063 * memory-block.h: New file.
10064 * regcprop.c (queued_debug_insn_change_pool): Use common block size.
10065 * sched-deps.c (sched_deps_init): Likewise.
10066 * sel-sched-ir.c (sched_lists_pool): Likewise.
10067 * stmt.c (expand_case, expand_sjlj_dispatch_table): Likewise.
10068 * tree-sra.c (access_pool): Likewise.
10069 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Likewise.
10070 * tree-ssa-pre.c (pre_expr_pool, bitmap_set_pool): Likewise.
10071 * tree-ssa-reassoc.c (operand_entry_pool): Likewise.
10072 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
10073 * tree-ssa-strlen.c (strinfo_pool): Likewise.
10074 * tree-ssa-structalias.c (variable_info_pool): Likewise.
10075 * var-tracking.c (attrs_def_pool, var_pool, valvar_pool,
10076 location_chain_pool, shared_hash_pool, loc_exp_dep_pool): Likewise.
10077
10078 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
10079
10080 * config/xtensa/xtensa.h (DWARF_ALT_FRAME_RETURN_COLUMN): New
10081 definition.
10082 (DWARF_FRAME_REGISTERS): Reserve space for one extra register in
10083 call0 ABI.
10084
10085 2015-09-15 Max Filippov <jcmvbkbc@gmail.com>
10086
10087 * config/xtensa/xtensa.c (xtensa_call_tls_desc): Use a10 or a2
10088 to pass TLS call argument, according to current ABI.
10089 * config/xtensa/xtensa.md (tls_call pattern): Use callx8 or
10090 callx0 for TLS call, according to current ABI.
10091
10092 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
10093
10094 * tree-eh.c (lower_try_finally_dup_block): Clear location information
10095 on stack restore statements.
10096 (decide_copy_try_finally): Do not consider a stack restore statement as
10097 coming from sources.
10098
10099 2015-09-15 Uros Bizjak <ubizjak@gmail.com>
10100
10101 * config/alpha/alpha.c (alpha_expand_block_clear): Use
10102 HOST_WIDE_INT_M1U instead of ~(HOST_WIDE_INT)0 when shifting.
10103
10104 2015-09-15 Jeff Law <law@redhat.com>
10105
10106 PR tree-optimization/47679
10107 * tree-ssa-dom.c (expr_hash_elt): Now a class with ctors/dtors,
10108 methods and private members.
10109 (avail_exprs_stack): Similarly. Change type of global
10110 from a pair of expr_hash_elt_t to the new class.
10111 (expr_elt_hasher::hash): Corresponding changes.
10112 (expr_elt_hasher::equal): Similarly.
10113 (avail_expr_hash): Similarly.
10114 (pass_dominator::execute): Similarly.
10115 (dom_opt_dom_walker::thread_across_edge): Similarly.
10116 (record_cond): Similarly.
10117 (dom_opt_dom_walker::before_dom_children): Similarly.
10118 (dom_opt_dom_walker::after_dom_children): Similarly.
10119 (lookup_avail_expr): Likewise.
10120 (initialize_hash_element): Now a expr_hash_elt constructor.
10121 (initialize_hash_element_from_expr): Similarly.
10122 (free_expr_hash_elt_contents): Now a dtor for class expr_hash_elt.
10123 (free_expr_hash_elt): Call dtor for the element.
10124 (remove_local_expressions_from_table): Now the "pop_to_marker"
10125 method in the available_exprs_stack class.
10126 (avail_expr_stack::record_expr): Method factored out.
10127 (print_expr_hash_elt): Now a method in the expr_hash_elt class.
10128 Fix formatting.
10129 (hashable_expr_equal_p): Fix formatting.
10130
10131 2015-09-15 David Malcolm <dmalcolm@redhat.com>
10132
10133 * input.h (location_get_source_line): Drop "expanded_location"
10134 param in favor of a file and line number.
10135 * input.c (location_get_source_line): Likewise.
10136 (dump_location_info): Update for change in signature of
10137 location_get_source_line.
10138 * diagnostic.c (diagnostic_print_caret_line): Likewise.
10139
10140 2015-09-15 Eric Botcazou <ebotcazou@adacore.com>
10141
10142 * defaults.h (STACK_OLD_CHECK_PROTECT): Adjust for -fno-exceptions.
10143 Bump to 4KB for SJLJ exceptions.
10144 (STACK_CHECK_PROTECT): Likewise. Bump to 8KB for SJLJ exceptions.
10145 * doc/tm.texi.in (STACK_CHECK_PROTECT): Adjust.
10146 * doc/tm.texi: Regenerate.
10147
10148 2015-09-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10149
10150 * config/arm/arm.c (arm_gen_constant): Use HOST_WIDE_INT_M1U instead
10151 of -1 when shifting. Change type of val to unsigned HOST_WIDE_INT.
10152 Update prototype.
10153
10154 2015-09-15 Richard Biener <rguenther@suse.de>
10155
10156 PR tree-optimization/67470
10157 * tree-ssa-loop-im.c (execute_sm_if_changed): Preserve PHI
10158 structure for PHI hoisting by inserting a forwarder block
10159 if appropriate.
10160
10161 2015-09-15 Christian Bruel <christian.bruel@st.com>
10162
10163 * config/arm/arm.c (TARGET_OPTION_PRINT): Define.
10164 (arm_option_print): New function.
10165
10166 2015-09-15 Christian Bruel <christian.bruel@st.com>
10167
10168 PR target/52144
10169 * config/arm/arm.c (arm_option_params_internal): Remove opts parameter.
10170 * config/arm/arm-c.c (arm_cpu_builtins): Declare static.
10171 Remove flags parameter.
10172 * config/arm/arm.h (TARGET_32BIT_P, TARGET_ARM_QBIT_P)
10173 (TARGET_ARM_SAT_P, TARGET_IDIV_P, TARGET_HAVE_LDREX_P)
10174 (TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P, TARGET_DSP_MULTIPLY_P)
10175 (TARGET_ARM_FEATURE_LDREX_P, TARGET_INT_SIMD_P): Redefine macros with...
10176 (TARGET_ARM_SAT, TARGET_IDIV, TARGET_HAVE_LDREX)
10177 (TARGET_HAVE_LDREXBH, TARGET_HAVE_LDREXD, TARGET_ARM_FEATURE_LDREX)
10178 (TARGET_DSP_MULTIPLY, TARGET_INT_SIMD): Redefined macros.
10179 * config/arm/arm-protos.h (arm_cpu_builtins): Remove declaration.
10180
10181 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10182
10183 * config/aarch64/aarch64.h (AARCH64_VALID_SIMD_DREG_MODE): New.
10184
10185 * config/aarch64/aarch64.c (aarch64_array_mode_supported_p): Add
10186 AARCH64_VALID_SIMD_DREG_MODE.
10187
10188 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10189
10190 * config/aarch64/aarch64-simd.md (aarch64_ld2r<mode>,
10191 aarch64_ld3r<mode>, aarch64_ld4r<mode>): Combine together, making...
10192 (aarch64_simd_ld<VSTRUCT:nregs>r<VALLDIF:mode>): ...this.
10193 (aarch64_ld2_lane<mode>, aarch64_ld3_lane<mode>,
10194 aarch64_ld4_lane<mode>): Combine together, making...
10195 (aarch64_ld<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
10196 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
10197 aarch64_st4_lane<mode>): Combine together, making...
10198 (aarch64_st<VSTRUCT:nregs>_lane<VALLDIF:mode>): ...this.
10199 * config/aarch64/iterators.md (nregs): Add comment.
10200
10201 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10202
10203 * config/aarch64/aarch64-simd.md (aarch64_simd_ld2r<mode>):
10204 Change operand mode from <V_TWO_ELEM> to BLK.
10205 (aarch64_vec_load_lanesoi_lane<mode>): Likewise.
10206 (aarch64_vec_store_lanesoi_lane<mode): Likewise
10207 (aarch64_ld2r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
10208 (aarch64_ld2_lane<mode>): Likewise.
10209 (aarch64_st2_lane<VQ:mode>): Likewise.
10210 * config/aarch64/iterators.md (V_TWO_ELEM): Remove.
10211
10212 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10213
10214 * config/aarch64/aarch64-simd.md (aarch64_simd_ld4r<mode>):
10215 Change operand mode from <V_FOUR_ELEM> to BLK.
10216 (aarch64_vec_load_lanesxi_lane<mode>): Likewise.
10217 (aarch64_vec_store_lanesxi_lane<mode): Likewise.
10218 (aarch64_ld4r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
10219 (aarch64_ld4_lane<mode>): Likewise.
10220 (aarch64_st4_lane<mode>): Likewise.
10221 * config/aarch64/iterators.md (V_FOUR_ELEM): Remove.
10222
10223 2015-09-15 Richard Biener <rguenther@suse.de>
10224
10225 PR middle-end/67563
10226 * gimple-fold.c (gimplify_and_update_call_from_tree): Do not
10227 transfer EH info from old to new stmt.
10228 (replace_call_with_value): Likewise.
10229 (replace_call_with_call_and_fold): Likewise.
10230 (gimple_fold_builtin_memory_op): Likewise.
10231 (gimple_fold_builtin_memset): Likewise.
10232 (gimple_fold_builtin_stpcpy): Likewise.
10233 (gimple_fold_call): Likewise.
10234
10235 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10236
10237 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist): Update
10238 comment.
10239 * config/aarch64/aarch64-builtins.c (ei_UP): Remove.
10240 (aarch64_simd_intEI_type_node): Likewise.
10241 (aarch64_simd_builtin_std_type): Remove EImode case.
10242 (aarch64_init_simd_builtin_types): Don't create/add intEI_type_node.
10243 * config/aarch64/aarch64-modes.def: Remove EImode.
10244
10245 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10246
10247 * config/aarch64/aarch64-simd.md (aarch64_simd_ld3r<mode>):
10248 Change operand mode from <V_THREE_ELEM> to BLK.
10249 (aarch64_vec_load_lanesci_lane<mode>): Likewise.
10250 (aarch64_vec_store_lanesci_lane<mode>): Likewise.
10251 (aarch64_ld3r<mode>): Generate MEM rtx with BLKmode, call set_mem_size.
10252 (aarch64_ld3_lane<mode>): Likewise.
10253 (aarch64_st3_lane<mode>): Likewise.
10254 * config/aarch64/iterators.md (V_THREE_ELEM): Remove.
10255
10256 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10257
10258 * config/aarch64/aarch64-simd.md
10259 (aarch64_ld2<mode>_dreg VD & DX, aarch64_st2<mode>_dreg VD & DX ):
10260 Change all TImode operands to BLKmode.
10261 (aarch64_ld3<mode>_dreg VD & DX, aarch64_st3<mode>_dreg VD & DX):
10262 Change all EImode operands to BLKmode.
10263 (aarch64_ld4<mode>_dreg VD & DX, aarch64_st4<mode>_dreg VD & DX):
10264 Change all OImode operands to BLKmode.
10265
10266 (aarch64_ld<VSTRUCT:nregs><VDC:mode>): Generate MEM rtx with BLKmode
10267 and call set_mem_size.
10268 (aarch64_st<VSTRUCT:nregs><VDC:mode>): Likewise.
10269
10270 * config/aarch64/iterators.md (VSTRUCT_DREG): Remove.
10271
10272 2015-09-15 Alan Lawrence <alan.lawrence@arm.com>
10273
10274 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Rename
10275 to...
10276 (aarch64_vec_store_lanesoi_lane<mode>): ...this.
10277
10278 (vec_store_lanesci_lane<mode>): Rename to...
10279 (aarch64_vec_store_lanesci_lane<mode>): ...this.
10280
10281 (vec_store_lanesxi_lane<mode>): Rename to...
10282 (aarch64_vec_store_lanesxi_lane<mode>): ...this.
10283
10284 (aarch64_st2_lane<mode>, aarch64_st3_lane<mode>,
10285 aarch64_st4_lane<mode>): Follow renaming.
10286
10287 2015-09-15 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10288
10289 * config/s390/s390.c (s390_const_operand_ok): Add missing
10290 brackets.
10291
10292 2015-09-15 Richard Biener <rguenther@suse.de>
10293
10294 PR lto/67568
10295 * lto-streamer.h (lto_location_cache::current_sysp): Properly
10296 initialize.
10297 * lto-streamer-out.c (clear_line_info): Likewise.
10298
10299 2015-09-15 Richard Biener <rguenther@suse.de>
10300
10301 * doc/match-and-simplify.texi: Fix wording.
10302
10303 2015-09-15 Bin Cheng <bin.cheng@arm.com>
10304
10305 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Strip
10306 unnecessary type conversion in op1.
10307
10308 2015-09-14 Segher Boessenkool <segher@kernel.crashing.org>
10309
10310 * shrink-wrap.c (requires_stack_frame_p): Fix formatting.
10311 (dup_block_and_redirect): Delete function.
10312 (can_dup_for_shrink_wrapping): New function.
10313 (fix_fake_fallthrough_edge): New function.
10314 (try_shrink_wrapping): Rewrite function.
10315 (convert_to_simple_return): Call fix_fake_fallthrough_edge.
10316
10317 2015-09-14 Rich Felker <dalias@libc.org>
10318
10319 * configure.ac: Change target pattern for sh TLS support
10320 test from "sh[34]-*-*" to "sh[123456789lbe]*-*-*".
10321 * configure: Regenerate.
10322
10323 2015-09-14 Jeff Law <law@redhat.com>
10324
10325 PR tree-optimization/47679
10326 * tree-ssa-dom.c (avail_expr_hash): Pass a pointer to a real
10327 type rather than void *.
10328
10329 2015-09-14 Manuel López-Ibáñez <manu@gcc.gnu.org>
10330
10331 PR fortran/67460
10332 * diagnostic.c (diagnostic_initialize): Do not set
10333 some_warnings_are_errors.
10334 (diagnostic_finish): Use DK_WERROR count instead.
10335 (diagnostic_report_diagnostic): Do not set
10336 some_warnings_are_errors.
10337 * diagnostic.h (struct diagnostic_context): Remove
10338 some_warnings_are_errors.
10339
10340 2015-09-14 Richard Sandiford <richard.sandiford@arm.com>
10341
10342 * config/sparc/predicates.md (const_all_ones_operand): Use
10343 CONSTM1_RTX to simplify definition.
10344
10345 2015-09-14 Oleg Endo <olegendo@gcc.gnu.org>
10346
10347 PR target/67061
10348 * config/sh/sh-protos.h (sh_find_set_of_reg): Simplfiy for-loop.
10349 Handle call insns.
10350
10351 2015-09-14 Chung-Lin Tang <cltang@codesourcery.com>
10352
10353 * lto-wrapper.c (merge_and_complain): Add OPT_fdiagnostics_show_caret,
10354 OPT_fdiagnostics_show_option, OPT_fdiagnostics_show_location_, and
10355 OPT_fshow_column to handled saved option cases.
10356 (append_compiler_options): Do not skip the above added options.
10357
10358 2015-09-14 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10359
10360 PR target/63304
10361 * config/aarch64/aarch64.c (aarch64_expand_mov_immediate): Handle
10362 nopcrelative_literal_loads.
10363 (aarch64_classify_address): Likewise.
10364 (aarch64_constant_pool_reload_icode): Define.
10365 (aarch64_secondary_reload): Handle secondary reloads for
10366 literal pools.
10367 (aarch64_override_options): Handle nopcrelative_literal_loads.
10368 (aarch64_classify_symbol): Handle nopcrelative_literal_loads.
10369 * config/aarch64/aarch64.md (aarch64_reload_movcp<GPF_TF:mode><P:mode>):
10370 Define.
10371 (aarch64_reload_movcp<VALL:mode><P:mode>): Likewise.
10372 * config/aarch64/aarch64.opt (mpc-relative-literal-loads): New option.
10373 * config/aarch64/predicates.md (aarch64_constant_pool_symref): New
10374 predicate.
10375 * doc/invoke.texi (mpc-relative-literal-loads): Document.
10376
10377 2015-09-14 John David Anglin <danglin@gcc.gnu.org>
10378
10379 PR middle-end/67401
10380 * optabs.c (expand_atomic_compare_and_swap): Move result of emitting
10381 sync_compare_and_swap_optab libcall to target_oval.
10382
10383 2015-09-14 Marek Polacek <polacek@redhat.com>
10384
10385 * rtlanal.c (split_double): Cast to unsigned when shifting a negative
10386 value.
10387 * sched-int.h (UNKNOWN_DEP_COST): Likewise.
10388
10389 2015-09-11 Mark Wielaard <mjw@redhat.com>
10390
10391 PR c/28901
10392 * toplev.c (check_global_declaration): Check and use
10393 warn_unused_const_variable.
10394 * doc/invoke.texi (Warning Options): Add -Wunused-const-variable.
10395 (-Wunused-variable): Remove non-constant. For C implies
10396 -Wunused-const-variable.
10397 (-Wunused-const-variable): New.
10398
10399 2015-09-14 Richard Biener <rguenther@suse.de>
10400
10401 * doc/match-and-simplify.texi: Update for changed syntax
10402 of inner ifs and the new switch expression.
10403
10404 2015-09-14 Yuri Rumyantsev <ysrumyan@gmail.com>
10405
10406 * config/i386/haswell.md: New file describing Haswell pipeline.
10407 * config/i386/i386.c (processor_alias_table): Use CPU_HASWELL for
10408 haswell-like processors.
10409 (ix86_reassociation_width): Increase reassociation width for 64-bit
10410 Haswell processor family.
10411 * config/i386/i386.md: Introduce haswell cpu and include new md file.
10412
10413 2015-09-14 Richard Biener <rguenther@suse.de>
10414
10415 * doc/match-and-simplify.texi: Fixup some formatting issues
10416 and document the 's' flag.
10417
10418 2015-09-13 Olivier Hainque <hainque@adacore.com>
10419 Eric Botcazou <ebotcazou@adacore.com>
10420
10421 * config.gcc (visium-*-*): Enable --with-cpu option, accept gr5 and
10422 gr6 as possible values, defaulting to gr5. Set target_cpu_default2.
10423 * config/visium/visium.h (OPTION_DEFAULT_SPECS): Define.
10424 (TARGET_CPU_gr5): Likewise.
10425 (TARGET_CPU_gr6): Likewise.
10426 (MULTILIB_DEFAULTS): Likewise.
10427 * config/visium/t-visium (MULTILIB_OPTIONS): Request distinct variants
10428 for mcpu=gr5 and mcpu=gr6.
10429 (MULTILIB_DIRNAMES): Adjust accordingly.
10430
10431 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10432
10433 * tree-ssa-loop-im.c (mem_ref_loc_p): Remove typedef.
10434 (mem_ref_p): Likewise.
10435 (outermost_indep_loop): Adjust.
10436 (mem_ref_in_stmt): Likewise.
10437 (determine_max_movement): Likewise.
10438 (mem_ref_alloc): Likewise.
10439 (record_mem_ref_loc): Likewise.
10440 (set_ref_stored_in_loop): Likewise.
10441 (mark_ref_stored): Likewise.
10442 (gather_mem_refs_stmt): Likewise.
10443 (mem_refs_may_alias_p): Likewise.
10444 (for_all_locs_in_loop): Likewise.
10445 (struct rewrite_mem_ref_loc): Likewise.
10446 (rewrite_mem_refs): Likewise.
10447 (struct first_mem_ref_loc_1): Likewise.
10448 (first_mem_ref_loc): Likewise.
10449 (struct sm_set_flag_if_changed): Likewise.
10450 (execute_sm_if_changed_flag_set): Likewise.
10451 (execute_sm): Likewise.
10452 (hoist_memory_references):
10453 (struct ref_always_accessed): Likewise.
10454 (ref_always_accessed_p): Likewise.
10455 (refs_independent_p): Likewise.
10456 (record_dep_loop): Likewise.
10457 (ref_indep_loop_p_1): Likewise.
10458 (ref_indep_loop_p_2): Likewise.
10459 (ref_indep_loop_p): Likewise.
10460 (can_sm_ref_p): Likewise.
10461 (find_refs_for_sm): Likewise.
10462 (tree_ssa_lim_finalize): Likewise.
10463
10464 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10465
10466 * dwarf2out.c (dw_attr_ref): Remove typedef.
10467 (dw_line_info_ref): Likewise.
10468 (pubname_ref): Likewise.
10469 (dw_ranges_ref): Likewise.
10470 (dw_ranges_by_label_ref): Likewise.
10471 (comdat_type_node_ref): Likewise.
10472 (get_AT): Adjust.
10473 (get_AT_low_pc): Likewise.
10474 (get_AT_hi_pc): Likewise.
10475 (get_AT_string): Likewise.
10476 (get_AT_flag): Likewise.
10477 (get_AT_unsigned): Likewise.
10478 (get_AT_ref): Likewise.
10479 (get_AT_file): Likewise.
10480 (remove_AT): Likewise.
10481 (print_die): Likewise.
10482 (check_die): Likewise.
10483 (die_checksum): Likewise.
10484 (attr_checksum_ordered): Likewise.
10485 (struct checksum_attributes): Likewise.
10486 (collect_checksum_attributes): Likewise.
10487 (die_checksum_ordered): Likewise.
10488 (same_die_p): Likewise.
10489 (is_declaration_die): Likewise.
10490 (clone_die): Likewise.
10491 (clone_as_declaration): Likewise.
10492 (copy_declaration_context): Likewise.
10493 (break_out_comdat_types): Likewise.
10494 (copy_decls_walk): Likewise.
10495 (output_location_lists): Likewise.
10496 (external_ref_hasher::hash): Likewise.
10497 (optimize_external_refs_1): Likewise.
10498 (build_abbrev_table): Likewise.
10499 (size_of_die): Likewise.
10500 (unmark_all_dies): Likewise.
10501 (size_of_pubnames): Likewise.
10502 (output_die_abbrevs): Likewise.
10503 (output_die): Likewise.
10504 (output_pubnames): Likewise.
10505 (add_ranges_num): Likewise.
10506 (add_ranges_by_labels): Likewise.
10507 (add_high_low_attributes): Likewise.
10508 (gen_producer_string): Likewise.
10509 (dwarf2out_set_name): Likewise.
10510 (new_line_info_table): Likewise.
10511 (prune_unused_types_walk_attribs): Likewise.
10512 (prune_unused_types_update_strings): Likewise.
10513 (prune_unused_types): Likewise.
10514 (resolve_addr): Likewise.
10515 (optimize_location_lists_1): Likewise.
10516 (index_location_lists): Likewise.
10517 (dwarf2out_finish): Likewise.
10518
10519 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10520
10521 * dwarf2cfi.c (dw_trace_info_ref): Remove typedef.
10522
10523 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10524
10525 * tree-vrp.c (struct assert_locus_d): Rename to assert_locus.
10526 (dump_asserts_for): Adjust.
10527 (register_new_assert_for): Likewise.
10528 (process_assert_insertions): Likewise.
10529 (insert_range_assertions): Likewise.
10530
10531 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10532
10533 * tree-ssa-ter.c (temp_expr_table_d): Rename to temp_expr_table
10534 and remove typedef.
10535 (new_temp_expr_table): Adjust.
10536 (free_temp_expr_table): Likewise.
10537 (version_to_be_replaced_p): Likewise.
10538 (make_dependent_on_partition): Likewise.
10539 (add_to_partition_kill_list): Likewise.
10540 (remove_from_partition_kill_list): Likewise.
10541 (add_dependence): Likewise.
10542 (finished_with_expr): Likewise.
10543 (process_replaceable): Likewise.
10544 (kill_expr): Likewise.
10545 (kill_virtual_exprs): Likewise.
10546 (mark_replaceable): Likewise.
10547 (find_replaceable_in_bb): Likewise.
10548 (find_replaceable_exprs): Likewise.
10549 (debug_ter): Likewise.
10550
10551 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10552
10553 * bt-load.c (struct btr_def_group): Rename from btr_def_group_s.
10554 (struct btr_user): Rename from btr_user_s.
10555 (struct btr_def): Rename from btr_def_s.
10556 (find_btr_def_group): Adjust.
10557 (add_btr_def): Likewise.
10558 (new_btr_user): Likewise.
10559 (note_other_use_this_block): Likewise.
10560 (compute_defs_uses_and_gen): Likewise.
10561 (link_btr_uses): Likewise.
10562 (build_btr_def_use_webs): Likewise.
10563 (block_at_edge_of_live_range_p): Likewise.
10564 (btr_def_live_range): Likewise.
10565 (combine_btr_defs): Likewise.
10566 (move_btr_def): Likewise.
10567 (migrate_btr_def): Likewise.
10568 (migrate_btr_defs): Likewise.
10569
10570 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10571
10572 * var-tracking.c (shared_hash_def): Rename to shared_hash.
10573 (shared_hash): Remove typedef.
10574 (struct dataflow_set): Adjust.
10575 (shared_hash_unshare): Likewise.
10576 (dataflow_set_merge): Likewise.
10577 (vt_initialize): Likewise.
10578 (vt_finalize): Likewise.
10579
10580 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10581
10582 * var-tracking.c (struct location_chain): Rename from
10583 location_chain_def.
10584 (struct variable_part): Adjust.
10585 (variable_htab_free): Likewise.
10586 (unshare_variable): Likewise.
10587 (get_init_value): Likewise.
10588 (get_addr_from_local_cache): Likewise.
10589 (drop_overlapping_mem_locs): Likewise.
10590 (val_reset): Likewise.
10591 (struct variable_union_info): Likewise.
10592 (variable_union): Likewise.
10593 (find_loc_in_1pdv): Likewise.
10594 (insert_into_intersection): Likewise.
10595 (intersect_loc_chains): Likewise.
10596 (canonicalize_loc_order_check): Likewise.
10597 (canonicalize_values_mark): Likewise.
10598 (canonicalize_values_star): Likewise.
10599 (canonicalize_vars_star): Likewise.
10600 (variable_merge_over_cur): Likewise.
10601 (remove_duplicate_values): Likewise.
10602 (variable_post_merge_new_vals): Likewise.
10603 (variable_post_merge_perm_vals): Likewise.
10604 (find_mem_expr_in_1pdv): Likewise.
10605 (dataflow_set_preserve_mem_locs): Likewise.
10606 (dataflow_set_remove_mem_locs): Likewise.
10607 (variable_part_different_p): Likewise.
10608 (onepart_variable_different_p): Likewise.
10609 (find_src_set_src): Likewise.
10610 (dump_var): Likewise.
10611 (set_slot_part): Likewise.
10612 (clobber_slot_part): Likewise.
10613 (delete_slot_part): Likewise.
10614 (vt_expand_var_loc_chain): Likewise.
10615 (emit_note_insn_var_location): Likewise.
10616 (vt_finalize): Likewise.
10617
10618 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10619
10620 * dse.c (store_info_t): Remove typedef.
10621 (group_info_t): Likewise.
10622 (const_group_info_t): Likewise.
10623 (deferred_change_t): Likewise.
10624 (get_group_info): Adjust.
10625 (free_store_info): Likewise.
10626 (canon_address): Likewise.
10627 (clear_rhs_from_active_local_stores): Likewise.
10628 (record_store): Likewise.
10629 (replace_read): Likewise.
10630 (check_mem_read_rtx): Likewise.
10631 (scan_insn): Likewise.
10632 (remove_useless_values): Likewise.
10633 (dse_step1): Likewise.
10634 (dse_step2_init): Likewise.
10635 (dse_step2_nospill): Likewise.
10636 (scan_stores_nospill): Likewise.
10637 (scan_reads_nospill): Likewise.
10638 (dse_step3_exit_block_scan): Likewise.
10639 (dse_step3): Likewise.
10640 (dse_step5_nospill): Likewise.
10641 (dse_step6): Likewise.
10642
10643 2015-09-13 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10644
10645 * alias.c (alias_set_entry_d): Rename to alias_set_entry.
10646 (alias_set_entry): Remove typedef.
10647 (alias_set_subset_of): Adjust.
10648 (alias_sets_conflict_p): Likewise.
10649 (init_alias_set_entry): Likewise.
10650 (get_alias_set): Likewise.
10651 (new_alias_set): Likewise.
10652 (record_alias_subset): Likewise.
10653
10654 2015-09-13 Gerald Pfeifer <gerald@pfeifer.com>
10655
10656 * doc/install.texi (Downloading the source): Mark up
10657 contrib/download_prerequisites properly and drop leading "./".
10658
10659 2015-09-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
10660
10661 * config/arc/arc.h: Remove define of STRUCT_VALUE.
10662 * config/lm32/lm32.h: Likewise.
10663 * config/mep/mep.h: Likewise.
10664 * config/visium/visium.h: Likewise.
10665 * system.h: Poison STRUCT_VALUE macro.
10666
10667 2015-09-12 John David Anglin <danglin@gcc.gnu.org>
10668
10669 * config/pa/pa.c (pa_output_move_double): Enhance to handle HIGH
10670 CONSTANT_P operands.
10671
10672 2015-09-11 David S. Miller <davem@davemloft.net>
10673
10674 * config/sparc/constraints.md: Make "U" constraint a real register
10675 constraint.
10676 * config/sparc/sparc.c (TARGET_LRA_P): Define.
10677 (D_MODES, DF_MODES): Add missing cast.
10678 (TF_MODES, TF_MODES_NO_S): Include T_MODE.
10679 (OF_MODES, OF_MODES_NO_S): Include O_MODE.
10680 (sparc_register_move_cost): Decrease Niagara/UltrsSPARC memory
10681 cost to 8.
10682 * config/sparc/sparc.h (PROMOTE_MODE): Define.
10683 * config/sparc/sparc.md (*movsi_lo_sum, *movsi_high): Do not
10684 provide these insn when flag_pic.
10685
10686 2015-09-11 Jeff Law <law@redhat.com>
10687
10688 PR tree-optimization/47679
10689 * tree-ssa-dom.c (struct cond_equivalence): Update comment.
10690 * tree-ssa-scopedtables.h (class const_and_copies): Prefix data
10691 member with m_. Update inline member functions as necessary. Add
10692 toplevel comment.
10693 * tree-ssa-scopedtables.c: Update const_and_copies's member
10694 functions to use m_ prefix to access the stack.
10695
10696 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
10697
10698 * graphite-optimize-isl.c (disable_tiling): Remove.
10699 (get_schedule_for_band): Do not use disable_tiling.
10700 (get_prevector_map): Delete function.
10701 (enable_polly_vector): Remove.
10702 (get_schedule_for_band_list): Remove dead code.
10703
10704 2015-09-11 Aditya Kumar <aditya.k7@samsung.com>
10705
10706 * graphite-optimize-isl.c (get_tile_map): Refactor.
10707 (get_schedule_for_band): Same.
10708 (getScheduleForBand): Same.
10709 (get_prevector_map): Same.
10710 (get_schedule_for_band_list): Same.
10711 (get_schedule_map): Same.
10712 (get_single_map): Same.
10713 (apply_schedule_map_to_scop): Same.
10714 (optimize_isl): Same.
10715
10716 2015-09-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
10717
10718 PR target/63304
10719 * config/aarch64/aarch.md (mov<mode>:GPF_F16): Use GPF_TF_F16.
10720 (movtf): Delete.
10721 * config/aarch64/iterators.md (GPF_TF_F16): New.
10722 (GPF_F16): Delete.
10723
10724 2015-09-10 Nathan Sidwell <nathan@acm.org>
10725
10726 * config/nvptx/nvptx.c (nvptx_expand_call): Add spacing.
10727 (nvptx_reorg): Adjust comments.
10728
10729 2015-09-15 John David Anglin <danglin@gcc.gnu.org>
10730
10731 PR bootstrap/67363
10732 * configure.ac: Check if setenv and unsetenv are declared.
10733 * configure: Rebuild.
10734 * config.in: Rebuild.
10735 * system.h: Declare setenv and unsetenv if not declared.
10736
10737 2015-09-10 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
10738
10739 * config/rs6000/rs6000.c (swap_web_entry): Update preceding
10740 commentary to simplify permute mask adjustment equation.
10741 (special_handling_values): Add SH_VPERM.
10742 (const_load_sequence_p): New function.
10743 (insn_is_swappable_p): Add logic to recognize an UNSPEC_VPERM with
10744 the mask loaded from the constant pool.
10745 (adjust_vperm): New function.
10746 (handle_special_swappables): Call adjust_vperm.
10747 (dump_swap_insn_table): Handle SH_VPERM.
10748
10749 2015-09-10 H.J. Lu <hongjiu.lu@intel.com>
10750
10751 * shrink-wrap.c (requires_stack_frame_p): Remove static.
10752 * shrink-wrap.h (requires_stack_frame_p): Put back.
10753
10754 2015-09-10 Richard Sandiford <richard.sandiford@arm.com>
10755
10756 * reload1.c (elimination_costs_in_insn): Locally turn
10757 -Wmaybe-uninitialized into a warning.
10758
10759 2015-09-10 Segher Boessenkool <segher@kernel.crashing.org>
10760
10761 * shrink-wrap.c (requires_stack_frame_p): Make static.
10762 (prepare_shrink_wrap): Likewise.
10763 (dup_block_and_redirect): Likewise.
10764 * shrink-wrap.h: Remove declarations of those functions.
10765
10766 2015-09-10 Mark Wielaard <mjw@redhat.com>
10767
10768 * doc/invoke.texi (Wnonnull): Also warns when comparing against NULL.
10769
10770 2015-09-10 Oleg Endo <olegendo@gcc.gnu.org>
10771
10772 PR target/67506
10773 * config/sh/sh.c (sh_extending_set_of_reg::use_as_extended_reg): Add
10774 missing simplify_gen_subreg.
10775
10776 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10777
10778 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Reject if
10779 the vector element is bigger than 64 bit.
10780
10781 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10782
10783 * config/s390/vx-builtins.md ("vec_vmal<mode>", "vec_vmah<mode>")
10784 ("vec_vmalh<mode>"): Change mode iterator from VI_HW to VI_HW_QHS.
10785
10786 2015-09-10 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
10787
10788 * config/s390/s390.c: Add V1TImode to constant pool modes.
10789
10790 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10791
10792 PR target/67439
10793 * config/arm/arm.md (*arm32_movhf): Remove !arm_restrict_it from
10794 predicate. Set predicable_short_it attr to "no".
10795
10796 2015-09-10 Jiong Wang <jiong.wang@arm.com>
10797
10798 PR rtl-optimization/67421
10799 * expr.c (expand_expr_real_2): Cost instrcution sequences when doing
10800 left wide shift tranformation.
10801
10802 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
10803
10804 * common/config/arc/arc-common.c: Remove references to A5.
10805 * config/arc/arc-opts.h: Likewise.
10806 * config/arc/arc.c, config/arc/arc.h, config/arc/arc.md: Likewise.
10807 * config/arc/arc.opt, config/arc/constraints.md: Likewise.
10808 * config/arc/t-arc-newlib: Likewise.
10809
10810 2015-09-10 Claudiu Zissulescu <claziss@synopsys.com>
10811
10812 * config/arc/arc.md (length): Fix attribute length for conditional
10813 executed instructions with long immediate.
10814
10815 2015-09-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10816
10817 * config/aarch64/aarch64.md (*and<mode>3nr_compare0): Use logics_imm
10818 type for second alternative.
10819
10820 2015-09-10 Markus Trippelsdorf <markus@trippelsdorf.de>
10821
10822 * doc/invoke.texi (Downloading GCC): Mention
10823 contrib/download_prerequisites script.
10824
10825 2015-09-10 Jakub Jelinek <jakub@redhat.com>
10826
10827 PR c++/67523
10828 * gimplify.c (gimplify_omp_for): If inner stmt is not found
10829 for combined loop, assert seen_error () and return GS_ERROR.
10830
10831 PR middle-end/67521
10832 * gimplify.c (gimplify_omp_for): Don't call omp_add_variable
10833 if decl is already in outer->variables.
10834
10835 PR middle-end/67517
10836 * gimplify.c (gimplify_scan_omp_clauses): Instead of
10837 asserting that decl is not specified in octx->variables,
10838 break out of the loop if it is.
10839
10840 PR c++/67514
10841 * gimplify.c (gimplify_omp_for): For loop SIMD construct, if
10842 iterator is not explicitly determined, but is defined inside
10843 of the combined workshare region, handle it like if it has
10844 DECL_EXPR in OMP_FOR_PRE_BODY.
10845
10846 2015-09-09 Nathan Sidwell <nathan@acm.org>
10847
10848 * config/nvptx/nvptx.md (call_operation): Move bound out of loop.
10849 (*cmp<mode>): Add assembler spacing.
10850 (setcc_int<mode>, set_cc_float<mode>): Likewise.
10851 * config/nvptx/nvptx.c (nvptx_option_override): Override debug
10852 level.
10853 (write_func_decl_from_insn): Refactor argument loops & comma emission.
10854 (nvptx_expand_call): Likewise.
10855 (nvptx_output_call_insn): Likewise.
10856 (nvptx_reorg_subreg): Add spacing.
10857
10858 2015-09-09 Marek Polacek <polacek@redhat.com>
10859
10860 PR middle-end/67512
10861 * tree-ssa-uninit.c (pred_equal_p): Only call invert_tree_comparison
10862 for comparisons.
10863
10864 2015-09-09 Paolo Carlini <paolo.carlini@oracle.com>
10865
10866 PR c++/53184
10867 * doc/invoke.texi ([Wsubobject-linkage]): Document.
10868
10869 2015-09-09 Tom de Vries <tom@codesourcery.com>
10870
10871 * params-list.h: Add missing copyright notice.
10872
10873 2015-09-09 Nathan Sidwell <nathan@acm.org>
10874
10875 * config/nvptx/nvptx.md (atomic_compare_and_swap<mode>): Use
10876 sel_truesi, not andsi.
10877
10878 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10879
10880 * config/arm/arm.md (*subsi3_compare0): Rename to...
10881 (subsi3_compare0): ... This.
10882 (modsi3): New define_expand.
10883 * config/arm/arm.c (arm_new_rtx_costs, MOD case): Handle case
10884 when operand is power of 2.
10885
10886 2015-09-09 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
10887
10888 * config/aarch64/aarch64.md (mod<mode>3): New define_expand.
10889 (*neg<mode>2_compare0): Rename to...
10890 (neg<mode>2_compare0): ... This.
10891 * config/aarch64/aarch64.c (aarch64_rtx_costs, MOD case):
10892 Move check for speed inside the if-then-elses. Reflect
10893 CSNEG sequence in MOD by power of 2 case.
10894
10895 2015-09-09 Alan Modra <amodra@gmail.com>
10896
10897 PR target/67378
10898 * config/rs6000/rs6000.c (rs6000_secondary_reload_gpr): Find
10899 reload replacement for PRE_MODIFY address reg.
10900
10901 2015-09-09 Sebastian Pop <s.pop@samsung.com>
10902
10903 PR tree-optimization/53852
10904 * config.in: Regenerate.
10905 * configure: Regenerate.
10906 * configure.ac (HAVE_ISL_CTX_MAX_OPERATIONS): Detect.
10907 * graphite-optimize-isl.c (optimize_isl): Stop computation when
10908 PARAM_MAX_ISL_OPERATIONS is reached.
10909 * params.def (PARAM_MAX_ISL_OPERATIONS): Add.
10910 * graphite-dependences.c (extend_schedule): Remove gcc_asserts on
10911 result equal to isl_stat_ok as the status now can be isl_error_quota.
10912 (subtract_commutative_associative_deps): Same.
10913 (compute_deps): Same.
10914
10915 2015-09-08 Aditya Kumar <hiraditya@msn.com>
10916 Sebastian Pop <s.pop@samsung.com>
10917
10918 * graphite-isl-ast-to-gimple.c (gcc_expression_from_isl_ast_expr_id):
10919 Return the parameter if it was saved in corresponding
10920 parameter_rename_map of the region.
10921 (copy_def): Copy def from sese region to the newly created region.
10922 (copy_internal_parameters): Copy all the internal parameters defined
10923 within a region to the newly created region.
10924 (graphite_regenerate_ast_isl): Copy parameters to the new region before
10925 translating isl to gimple.
10926 * graphite-scop-detection.c (graphite_can_represent_loop): Bail out if
10927 the loop-nest does not have any data-references.
10928 (build_graphite_scops): Create a scop only when there is at least one
10929 loop inside it.
10930 (contains_only_close_phi_nodes): Deleted.
10931 (print_graphite_scop_statistics): Deleted
10932 (print_graphite_statistics): Deleted
10933 (limit_scops): Deleted.
10934 (build_scops): Removed call to limit_scops.
10935 * sese.c (new_sese): Construct.
10936 (free_sese): Destruct.
10937 (sese_add_exit_phis_edge): update_stmt after exit phi edge has been
10938 added.
10939 (set_rename): Pass sese region so that parameters inside the region can
10940 be added to its parameter_rename_map.
10941 (rename_uses): Pass sese region.
10942 (graphite_copy_stmts_from_block): Do not copy parameters that have been
10943 generated in the header of the scop. For each SSA_NAME in the
10944 parameter_rename_map rename its usage.
10945 (invariant_in_sese_p_rec): Return false if tree t is defined outside
10946 sese region.
10947 (scalar_evolution_in_region): If the tree t is invariant just return t.
10948 * sese.h: Added a parameter renamne map (parameter_rename_map_t) to
10949 struct sese to keep track of all the parameters which need renaming.
10950 * tree-data-ref.c (loop_nest_has_data_refs): Check if a loop nest has
10951 any data-refs.
10952 * tree-data-ref.h: Declaration of loop_nest_has_data_refs.
10953
10954 2015-09-08 Tom de Vries <tom@codesourcery.com>
10955
10956 * Makefile.in (generated_files): Add params.list.
10957 (params.list, s-params.list): Add rule.
10958 * params.h (enum compiler_param): Include params-list.h. Move define
10959 DEFPARAM, include params.def and undef DEFPARAM ...
10960 * params-list.h: ... here. New file.
10961
10962 2015-09-08 David Malcolm <dmalcolm@redhat.com>
10963
10964 * pretty-print.h (printer_fn): Fix typo in comment.
10965
10966 2015-09-07 Jeff Law <law@redhat.com>
10967
10968 * tree-ssa-scopedtables.h (class const_and_copies): Fix comment typo.
10969
10970 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10971
10972 * doc/sourcebuild.texi (arm_neon_fp16): Correct cross-reference.
10973 (arm_neon_fp16_ok): Document adding of -mfp16-format=ieee flag.
10974 (arm_neon_fp16_hw): New.
10975
10976 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10977
10978 * fold-const.c (native_interpret_real): Fix HFmode for bigendian where
10979 UNITS_PER_WORD >= 4.
10980
10981 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10982
10983 * config/aarch64/aarch64-simd.md (aarch64_simd_vec_unpacks_lo_<mode>,
10984 aarch64_simd_vec_unpacks_hi_<mode>): New insn.
10985 (vec_unpacks_lo_v4sf, vec_unpacks_hi_v4sf): Delete insn.
10986 (vec_unpacks_lo_<mode>, vec_unpacks_hi_<mode>): New expand.
10987 (aarch64_float_extend_lo_v2df): Rename to...
10988 (aarch64_float_extend_lo_<Vwide>): this, using VDF and so adding V4SF.
10989
10990 * config/aarch64/aarch64-simd-builtins.def (vec_unpacks_hi): Add v8hf.
10991 (float_extend_lo): Add v4sf.
10992
10993 * config/aarch64/arm_neon.h (vcvt_f32_f16, vcvt_high_f32_f16): New.
10994 * config/aarch64/iterators.md (VQ_HSF): New iterator.
10995 (VWIDE, Vwtype, Vhalftype): Add V8HF, V4SF.
10996 (Vwide): New mode_attr.
10997
10998 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
10999
11000 * config/aarch64/aarch64-simd.md (aarch64_simd_dup<mode>,
11001 aarch64_dup_lane<mode>, aarch64_dup_lane_<vswap_width_name><mode>,
11002 aarch64_simd_vec_set<mode>, vec_set<mode>, vec_perm_const<mode>,
11003 vec_init<mode>, *aarch64_simd_ld1r<mode>, vec_extract<mode>): Add
11004 V4HF and V8HF variants to iterator.
11005
11006 * config/aarch64/aarch64.c (aarch64_evpc_dup): Add V4HF and V8HF cases.
11007
11008 * config/aarch64/iterators.md (VDQF_F16): New.
11009 (VSWAP_WIDTH, vswap_width_name): Add V4HF and V8HF cases.
11010
11011 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11012
11013 * config/aarch64/arm_neon.h (vreinterpret_p8_f16, vreinterpret_p16_f16,
11014 vreinterpret_f16_f64, vreinterpret_f16_s8, vreinterpret_f16_s16,
11015 vreinterpret_f16_s32, vreinterpret_f16_s64, vreinterpret_f16_f32,
11016 vreinterpret_f16_u8, vreinterpret_f16_u16, vreinterpret_f16_u32,
11017 vreinterpret_f16_u64, vreinterpret_f16_p8, vreinterpret_f16_p16,
11018 vreinterpretq_f16_f64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
11019 vreinterpretq_f16_s32, vreinterpretq_f16_s64, vreinterpretq_f16_f32,
11020 vreinterpretq_f16_u8, vreinterpretq_f16_u16, vreinterpretq_f16_u32,
11021 vreinterpretq_f16_u64, vreinterpretq_f16_p8, vreinterpretq_f16_p16,
11022 vreinterpret_f32_f16, vreinterpret_f64_f16, vreinterpret_s64_f16,
11023 vreinterpret_u64_f16, vreinterpretq_u64_f16, vreinterpret_s8_f16,
11024 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
11025 vreinterpret_u16_f16, vreinterpret_u32_f16, vreinterpretq_p8_f16,
11026 vreinterpretq_p16_f16, vreinterpretq_f32_f16, vreinterpretq_f64_f16,
11027 vreinterpretq_s64_f16, vreinterpretq_s8_f16, vreinterpretq_s16_f16,
11028 vreinterpretq_s32_f16, vreinterpretq_u8_f16, vreinterpretq_u16_f16,
11029 vreinterpretq_u32_f16, vget_low_f16, vget_high_f16, vld1_dup_f16,
11030 vld1q_dup_f16): New.
11031
11032 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11033
11034 * config/aarch64/aarch64-simd.md (aarch64_float_truncate_lo_v2sf):
11035 Reparameterize to...
11036 (aarch64_float_truncate_lo_<mode>): ...this, for both V2SF and V4HF.
11037 (aarch64_float_truncate_hi_v4sf): Reparameterize to...
11038 (aarch64_float_truncate_hi_<Vdbl>): ...this, for both V4SF and V8HF.
11039
11040 * config/aarch64/aarch64-simd-builtins.def (float_truncate_hi_): Add
11041 v8hf variant.
11042 (float_truncate_lo_): Use BUILTIN_VDF iterator.
11043
11044 * config/aarch64/arm_neon.h (vcvt_f16_f32, vcvt_high_f16_f32): New.
11045
11046 * config/aarch64/iterators.md (VDF, Vdtype): New.
11047 (VWIDE, Vmwtype): Add cases for V4HF and V2SF.
11048
11049 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11050
11051 * config/aarch64/aarch64.c (aarch64_split_simd_combine): Add V4HFmode.
11052 * config/aarch64/aarch64-builtins.c (VAR13, VAR14): New.
11053 (aarch64_scalar_builtin_types, aarch64_init_simd_builtin_scalar_types):
11054 Add __builtin_aarch64_simd_hf.
11055 * config/aarch64/arm_neon.h (float16x4x2_t, float16x8x2_t,
11056 float16x4x3_t, float16x8x3_t, float16x4x4_t, float16x8x4_t,
11057 vcombine_f16, vst2_lane_f16, vst2q_lane_f16, vst3_lane_f16,
11058 vst3q_lane_f16, vst4_lane_f16, vst4q_lane_f16, vld2_f16, vld2q_f16,
11059 vld3_f16, vld3q_f16, vld4_f16, vld4q_f16, vld2_dup_f16, vld2q_dup_f16,
11060 vld3_dup_f16, vld3q_dup_f16, vld4_dup_f16, vld4q_dup_f16,
11061 vld2_lane_f16, vld2q_lane_f16, vld3_lane_f16, vld3q_lane_f16,
11062 vld4_lane_f16, vld4q_lane_f16, vst2_f16, vst2q_f16, vst3_f16,
11063 vst3q_f16, vst4_f16, vst4q_f16, vcreate_f16): New.
11064
11065 * config/aarch64/iterators.md (VALLDIF, Vtype, Vetype, Vbtype,
11066 V_cmp_result, v_cmp_result): Add cases for V4HF and V8HF.
11067 (VDC, Vdbl): Add V4HF.
11068
11069 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11070
11071 * config/aarch64/aarch64.c (aarch64_vector_mode_supported_p): Support
11072 V4HFmode and V8HFmode.
11073 (aarch64_split_simd_move): Add case for V8HFmode.
11074 * config/aarch64/aarch64-builtins.c (v4hf_UP, v8hf_UP): Define.
11075 (aarch64_simd_builtin_std_type): Handle HFmode.
11076 (aarch64_init_simd_builtin_types): Include Float16x4_t and Float16x8_t.
11077
11078 * config/aarch64/aarch64-simd.md (mov<mode>, aarch64_get_lane<mode>,
11079 aarch64_ld1<VALL:mode>, aarch64_st1<VALL:mode): Use VALL_F16 iterator.
11080 (aarch64_be_ld1<mode>, aarch64_be_st1<mode>): Use VALLDI_F16 iterator.
11081
11082 * config/aarch64/aarch64-simd-builtin-types.def: Add Float16x4_t,
11083 Float16x8_t.
11084
11085 * config/aarch64/aarch64-simd-builtins.def (ld1, st1): Use VALL_F16.
11086 * config/aarch64/arm_neon.h (float16x4_t, float16x8_t, float16_t):
11087 New typedefs.
11088 (vget_lane_f16, vgetq_lane_f16, vset_lane_f16, vsetq_lane_f16,
11089 vld1_f16, vld1q_f16, vst1_f16, vst1q_f16, vst1_lane_f16,
11090 vst1q_lane_f16): New.
11091 * config/aarch64/iterators.md (VD, VQ, VQ_NO2E): Add vectors of HFmode.
11092 (VALLDI_F16, VALL_F16): New.
11093 (Vmtype, VEL, VCONQ, VHALF, V_TWO_ELEM, V_THREE_ELEM, V_FOUR_ELEM, q):
11094 Add cases for V4HF and V8HF.
11095 (VDBL, VRL2, VRL3, VRL4): Add V4HF case.
11096
11097 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11098
11099 * config/arm/arm-builtins.c (VAR11, VAR12): New.
11100 * config/arm/arm_neon_builtins.def (vcombine, vld2_dup, vld3_dup,
11101 vld4_dup): Add v4hf variant.
11102 (vget_high, vget_low): Add v8hf variant.
11103 (vld1, vst1, vst1_lane, vld2, vld2_lane, vst2, vst2_lane, vld3,
11104 vld3_lane, vst3, vst3_lane, vld4, vld4_lane, vst4, vst4_lane): Add
11105 v4hf and v8hf variants.
11106
11107 * config/arm/iterators.md (VD_LANE, VD_RE, VQ2, VQ_HS): New.
11108 (VDX): Add V4HF.
11109 (V_DOUBLE): Add case for V4HF.
11110 (VQX): Add V8HF.
11111 (V_HALF): Add case for V8HF.
11112 (VDQX): Add V4HF, V8HF.
11113 (V_elem, V_two_elem, V_three_elem, V_four_elem, V_cmp_result,
11114 V_uf_sclr, V_sz_elem, V_mode_nunits, q): Add cases for V4HF & V8HF.
11115
11116 * config/arm/neon.md (vec_set<mode>internal, vec_extract<mode>,
11117 neon_vget_lane<mode>_sext_internal, neon_vget_lane<mode>_zext_internal,
11118 vec_load_lanesoi<mode>, neon_vld2<mode>, vec_store_lanesoi<mode>,
11119 neon_vst2<mode>, vec_load_lanesci<mode>, neon_vld3<mode>,
11120 neon_vld3qa<mode>, neon_vld3qb<mode>, vec_store_lanesci<mode>,
11121 neon_vst3<mode>, neon_vst3qa<mode>, neon_vst3qb<mode>,
11122 vec_load_lanesxi<mode>, neon_vld4<mode>, neon_vld4qa<mode>,
11123 neon_vld4qb<mode>, vec_store_lanesxi<mode>, neon_vst4<mode>,
11124 neon_vst4qa<mode>, neon_vst4qb<mode>): Change VQ iterator to VQ2.
11125
11126 (neon_vcreate, neon_vreinterpretv8qi<mode>,
11127 neon_vreinterpretv4hi<mode>, neon_vreinterpretv2si<mode>,
11128 neon_vreinterpretv2sf<mode>, neon_vreinterpretdi<mode>):
11129 Change VDX to VD_RE.
11130
11131 (neon_vld2_lane<mode>, neon_vst2_lane<mode>, neon_vld3_lane<mode>,
11132 neon_vst3_lane<mode>, neon_vld4_lane<mode>, neon_vst4_lane<mode>):
11133 Change VD iterator to VD_LANE, and VMQ iterator to VQ_HS.
11134
11135 * config/arm/arm_neon.h (float16x4x2_t, float16x8x2_t, float16x4x3_t,
11136 float16x8x3_t, float16x4x4_t, float16x8x4_t, vcombine_f16,
11137 vget_high_f16, vget_low_f16, vld1_f16, vld1q_f16, vst1_f16, vst1q_f16,
11138 vst1_lane_f16, vst1q_lane_f16, vld2_f16, vld2q_f16, vld2_lane_f16,
11139 vld2q_lane_f16, vld2_dup_f16, vst2_f16, vst2q_f16, vst2_lane_f16,
11140 vst2q_lane_f16, vld3_f16, vld3q_f16, vld3_lane_f16, vld3q_lane_f16,
11141 vld3_dup_f16, vst3_f16, vst3q_f16, vst3_lane_f16, vst3q_lane_f16,
11142 vld4_f16, vld4q_f16, vld4_lane_f16, vld4q_lane_f16, vld4_dup_f16,
11143 vst4_f16, vst4q_f16, vst4_lane_f16, vst4q_lane_f16): New.
11144
11145 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11146
11147 * config/arm/arm_neon.h (vgetq_lane_f16, vsetq_lane_f16, vld1q_lane_f16,
11148 vld1q_dup_f16, vreinterpretq_p8_f16, vreinterpretq_p16_f16,
11149 vreinterpretq_f16_p8, vreinterpretq_f16_p16, vreinterpretq_f16_f32,
11150 vreinterpretq_f16_p64, vreinterpretq_f16_p128, vreinterpretq_f16_s64,
11151 vreinterpretq_f16_u64, vreinterpretq_f16_s8, vreinterpretq_f16_s16,
11152 vreinterpretq_f16_s32, vreinterpretq_f16_u8, vreinterpretq_f16_u16,
11153 vreinterpretq_f16_u32, vreinterpretq_f32_f16, vreinterpretq_p64_f16,
11154 vreinterpretq_p128_f16, vreinterpretq_s64_f16, vreinterpretq_u64_f16,
11155 vreinterpretq_s8_f16, vreinterpretq_s16_f16, vreinterpretq_s32_f16,
11156 vreinterpretq_u8_f16, vreinterpretq_u16_f16, vreinterpretq_u32_f16):
11157 New.
11158
11159 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11160
11161 * config/arm/arm.h (VALID_NEON_QREG_MODE): Add V8HFmode.
11162
11163 * config/arm/arm.c (arm_vector_mode_supported_p): Support V8HFmode.
11164
11165 * config/arm/arm-builtins.c (v8hf_UP): New.
11166 (arm_init_simd_builtin_types): Initialise Float16x8_t.
11167
11168 * config/arm/arm-simd-builtin-types.def (Float16x8_t): New.
11169
11170 * config/arm/arm_neon.h (float16x8_t): New typedef.
11171
11172 2015-09-08 Alan Lawrence <alan.lawrence@arm.com>
11173
11174 * config/arm/arm_neon.h (float16_t, vget_lane_f16, vset_lane_f16,
11175 vcreate_f16, vld1_lane_f16, vld1_dup_f16, vreinterpret_p8_f16,
11176 vreinterpret_p16_f16, vreinterpret_f16_p8, vreinterpret_f16_p16,
11177 vreinterpret_f16_f32, vreinterpret_f16_p64, vreinterpret_f16_s64,
11178 vreinterpret_f16_u64, vreinterpret_f16_s8, vreinterpret_f16_s16,
11179 vreinterpret_f16_s32, vreinterpret_f16_u8, vreinterpret_f16_u16,
11180 vreinterpret_f16_u32, vreinterpret_f32_f16, vreinterpret_p64_f16,
11181 vreinterpret_s64_f16, vreinterpret_u64_f16, vreinterpret_s8_f16,
11182 vreinterpret_s16_f16, vreinterpret_s32_f16, vreinterpret_u8_f16,
11183 vreinterpret_u16_f16, vreinterpret_u32_f16): New.
11184
11185 2015-09-07 Ilya Verbin <ilya.verbin@intel.com>
11186
11187 * config/i386/intelmic-mkoffload.c (prepare_target_image): Handle all
11188 non-alphanumeric characters in the symbol name.
11189
11190 2015-09-07 Marek Polacek <polacek@redhat.com>
11191
11192 PR inline-asm/67448
11193 * gimplify.c (gimplify_asm_expr): Don't allow MODIFY_EXPR as
11194 a memory input.
11195
11196 2015-09-07 Marek Polacek <polacek@redhat.com>
11197
11198 * system.h (INTTYPE_MINIMUM): Rewrite to avoid shift warning.
11199
11200 2015-09-04 Paolo Bonzini <bonzini@gnu.org>
11201
11202 * config/i386/cygming.h (SUBTARGET_OVERRIDE_OPTIONS): Do
11203 not warn.
11204
11205 2015-09-04 Jakub Jelinek <jakub@redhat.com>
11206
11207 PR middle-end/67452
11208 * tree-ssa-live.c: Include cfgloop.h.
11209 (remove_unused_locals): Clear loop->simduid if simduid is about
11210 to be removed from cfun->local_decls.
11211
11212 2015-09-02 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
11213
11214 PR target/65210
11215 * config/avr/avr.c (avr_eval_addr_attrib): Look for io_low
11216 attribute as well.
11217
11218 2015-09-04 Tom de Vries <tom@codesourcery.com>
11219
11220 * doc/invoke.texi (@item -ftrapv, @item -fwrapv): Document interaction.
11221
11222 2015-09-04 Jeff Law <law@redhat.com>
11223
11224 * tree-ssa-scopedtables.c (const_and_copies::const_and_copies): Remove
11225 unnecessary constructor. It's now trivial and implemented inside...
11226 * tree-ssa-scopedtables.h (const_and_copies): Implement trivial
11227 constructor. Add comments to various methods. Remove unused
11228 private fields.
11229 * tree-ssa-dom.c (pass_dominator::execute): Corresponding changes.
11230 * tree-vrp.c (identify_jump_threads): Likewise.
11231 * tree-ssa-threadedge.c (thread_through_normal_block): Fix minor
11232 indentation issues.
11233 (thread_across_edge): Similarly.
11234 (record_temporary_equivalences_from_stmts_at_dest): Remove unused
11235 arguments in constructor call.
11236
11237 2015-09-04 Jonas Hahnfeld <Hahnfeld@itc.rwth-aachen.de>
11238
11239 * config/i386/intelmic-mkoffload.c (prepare_target_image): Fix if the
11240 temp path contains a '-'.
11241
11242 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
11243 Petr Murzin <petr.murzin@intel.com>
11244 Kirill Yukhin <kirill.yukhin@intel.com>
11245
11246 * config/i386/i386-builtin-types.def
11247 (VOID_PFLOAT_HI_V8DI_V16SF_INT): New.
11248 (VOID_PDOUBLE_QI_V16SI_V8DF_INT): Ditto.
11249 (VOID_PINT_HI_V8DI_V16SI_INT): Ditto.
11250 (VOID_PLONGLONG_QI_V16SI_V8DI_INT): Ditto.
11251 * config/i386/i386.c
11252 (ix86_builtins): Add IX86_BUILTIN_SCATTERALTSIV8DF,
11253 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
11254 IX86_BUILTIN_SCATTERALTDIV16SI.
11255 (ix86_init_mmx_sse_builtins): Define __builtin_ia32_scatteraltsiv8df,
11256 __builtin_ia32_scatteraltdiv8sf, __builtin_ia32_scatteraltsiv8di,
11257 __builtin_ia32_scatteraltdiv8si.
11258 (ix86_expand_builtin): Handle IX86_BUILTIN_SCATTERALTSIV8DF,
11259 IX86_BUILTIN_SCATTERALTDIV16SF, IX86_BUILTIN_SCATTERALTSIV8DI,
11260 IX86_BUILTIN_SCATTERALTDIV16SI.
11261 (ix86_vectorize_builtin_scatter): New.
11262 (TARGET_VECTORIZE_BUILTIN_SCATTER): Define as
11263 ix86_vectorize_builtin_scatter.
11264
11265 2015-09-04 Andrey Turetskiy <andrey.turetskiy@intel.com>
11266 Petr Murzin <petr.murzin@intel.com>
11267 Kirill Yukhin <kirill.yukhin@intel.com>
11268
11269 * doc/tm.texi.in (TARGET_VECTORIZE_BUILTIN_SCATTER): New.
11270 * doc/tm.texi: Regenerate.
11271 * target.def: Add scatter builtin.
11272 * tree-vectorizer.h: Rename gather_p to gather_scatter_p and use it
11273 for loads/stores in case of gather/scatter accordingly.
11274 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
11275 STMT_VINFO_GATHER_P(S).
11276 (vect_check_gather): Rename to ...
11277 (vect_check_gather_scatter): this.
11278 * tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Use
11279 STMT_VINFO_GATHER_SCATTER_P instead of STMT_VINFO_SCATTER_P.
11280 (vect_check_gather_scatter): Use it instead of vect_check_gather.
11281 (vect_analyze_data_refs): Add gatherscatter enum and maybe_scatter
11282 variable and new checkings for it accordingly.
11283 * tree-vect-stmts.c
11284 (STMT_VINFO_GATHER_SCATTER_P(S)): Use it instead of
11285 STMT_VINFO_GATHER_P(S).
11286 (vect_check_gather_scatter): Use it instead of vect_check_gather.
11287 (vectorizable_store): Add checkings for STMT_VINFO_GATHER_SCATTER_P.
11288
11289 2015-09-03 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
11290
11291 * config/rs6000/altivec.md (altivec_vperm_v8hiv16qi): New
11292 define_insn.
11293 (mulv16qi3): New define_expand.
11294
11295 2015-09-03 Martin Sebor <msebor@redhat.com>
11296
11297 PR c/66516
11298 * doc/extend.texi (Other Builtins): Document when the address
11299 of a built-in function can be taken.
11300
11301 2015-09-03 Richard Biener <rguenther@suse.de>
11302
11303 * dwarf2out.c (flush_limbo_die_list): Split out from ...
11304 (dwarf2out_early_finish): ... here.
11305 (dwarf2out_finish): Do not call dwarf2out_early_finish but
11306 flush_limbo_die_list. Assert we have no deferred asm names.
11307
11308 2015-09-03 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11309
11310 * optabs.c (expand_binop): Don't create a broadcast vector with a
11311 source element wider than the inner mode.
11312
11313 2015-09-03 Richard Biener <rguenther@suse.de>
11314
11315 * varasm.c (output_constant): Use fold_convert instead of
11316 wide_int_to_tree.
11317
11318 2015-09-03 Tom de Vries <tom@codesourcery.com>
11319
11320 PR tree-optimization/65637
11321 * omp-low.c (expand_omp_for_static_chunk): Handle case that
11322 fin_bb has 2 predecessors.
11323
11324 2015-09-03 Tom de Vries <tom@codesourcery.com>
11325
11326 PR tree-optimization/65637
11327 * omp-low.c (find_phi_with_arg_on_edge): New function.
11328 (expand_omp_for_static_chunk): Fix inner loop phi.
11329
11330 2015-09-03 Tom de Vries <tom@codesourcery.com>
11331
11332 PR tree-optimization/65637
11333 * omp-low.c (expand_omp_for_static_chunk): Fix gcc_assert for the case
11334 that head is NULL.
11335
11336 2015-09-03 Tom de Vries <tom@codesourcery.com>
11337
11338 * omp-low.c (expand_omp_for_static_chunk): Handle simple latch bb.
11339
11340 2015-09-03 Tom de Vries <tom@codesourcery.com>
11341
11342 * doc/invoke.texi (parloops-chunk-size): Add item.
11343 * params.def (PARAM_PARLOOPS_CHUNK_SIZE): Add DEFPARAM.
11344 * tree-parloops.c: Include params.h.
11345 (create_parallel_loop): Set chunk-size of schedule of omp-for loop, if
11346 param parloops-chunk-size is used.
11347
11348 2015-09-03 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
11349
11350 PR middle-end/67351
11351 * fold-const.c (fold_binary_loc) : Move
11352 Transform (x >> c) << c into x & (-1<<c) or
11353 transform (x << c) >> c into x & ((unsigned)-1 >> c) for unsigned
11354 types using simplify and match.
11355 * match.pd (lshift (rshift @0 INTEGER_CST@1) @1) : New simplifier.
11356 (rshift (lshift @0 INTEGER_CST@1) @1) : New Simplifier
11357
11358 2015-09-03 Richard Biener <rguenther@suse.de>
11359
11360 PR ipa/66705
11361 * tree-ssa-structalias.c (ctor_for_analysis): New function.
11362 (create_variable_info_for_1): Use ctor_for_analysis instead
11363 of get_constructor.
11364 (create_variable_info_for): Likewise.
11365
11366 2015-09-02 Charles Baylis <charles.baylis@linaro.org>
11367
11368 PR ipa/67280
11369 * cgraphunit.c (cgraph_node::create_wrapper): Set can_throw_external
11370 in new callgraph edge.
11371
11372 2015-09-02 Christophe Lyon <christophe.lyon@linaro.org>
11373
11374 PR target/59810
11375 PR target/63652
11376 PR target/63653
11377 * config/aarch64/aarch64-simd.md
11378 (aarch64_ld<VSTRUCT:nregs><VQ:mode>): Call
11379 gen_aarch64_simd_ld<VSTRUCT:nregs><VQ:mode>.
11380 (aarch64_st<VSTRUCT:nregs><VQ:mode>): Call
11381 gen_aarch64_simd_st<VSTRUCT:nregs><VQ:mode>.
11382
11383 2015-09-02 Alan Modra <amodra@gmail.com>
11384
11385 * config/rs6000/sysv4le.h (LINK_TARGET_SPEC): Don't define.
11386 * config/rs6000/sysv4.h (LINK_TARGET_SPEC): Likewise.
11387 (LINK_SPEC, SUBTARGET_EXTRA_SPECS): Delete link_target.
11388
11389 2015-09-02 Alan Modra <amodra@gmail.com>
11390
11391 PR target/67417
11392 * config/rs6000/predicates.md (current_file_function_operand): Don't
11393 return true for weak symbols.
11394 * config/rs6000/rs6000.c (rs6000_function_ok_for_sibcall): Likewise.
11395
11396 2015-09-01 Matthew Fortune <matthew.fortune@imgtec.com>
11397 Andrew Bennett <andrew.bennett@imgtec.com>
11398
11399 * config/mips/mips-opts.h (mips_cb_setting): New enum.
11400 * config/mips/mips-protos.h: Add definitions for
11401 mips_output_jump and mips_output_equal_conditional_branch
11402 * config/mips/mips.c (MIPS_JR): Change to support the
11403 JIC instruction.
11404 (mips_emit_compare): Add support for the MIPS R6 conditional
11405 compact branches.
11406 (mips_process_sync_loop): Likewise.
11407 (mips_output_order_conditional_branch): Likewise.
11408 (mips16_build_call_stub): Change MIPS_CALL to
11409 mips_output_jump.
11410 (mips_print_operand_punctuation): Update 's' case to only
11411 apply to micromips r2.
11412 (mips_adjust_insn_length): Add support for forbidden slot
11413 hazards.
11414 (mips_avoid_hazard): Likewise.
11415 (mips_reorg_process_insns): Likewise.
11416 (mips_output_jump): New function.
11417 (mips_output_equal_conditional_branch): Likewise.
11418 (mips_output_conditional_branch): Use jrc/bc if compact
11419 branch support is enabled. Ensure the forbidden slots
11420 between the two branch instructions is filled with a nop.
11421 (mips_option_override): Add support to process the compact
11422 branch option and set the correct defaults. Prevent
11423 non-explict relocs being using for MIPS R6.
11424 (mips_trampoline_init): Add compact branch support.
11425 (mips_mult_zero_zero_cost): Allow zero initialisation of
11426 accumulators with TARGET_DSP.
11427 * config/mips/mips.h (TARGET_CB_NEVER): New define.
11428 (TARGET_CB_MAYBE): New define.
11429 (TARGET_CB_ALWAYS): New define.
11430 (ISA_HAS_DELAY_SLOTS): New define.
11431 (ISA_HAS_COMPACT_BRANCHES): New define.
11432 (ISA_HAS_JRC): New define.
11433 (MIPS_BRANCH_C): New define.
11434 (MIPS_CALL): Removed.
11435 (MICROMIPS_J): Removed.
11436 * config/mips/mips.md (compact_form): New attr.
11437 (hazard): Add support for forbidden slots.
11438 (define_delay): Add support for compact branches.
11439 (*branch_order<mode>): Likewise.
11440 (*branch_order<mode>_inverted): Likewise.
11441 (*branch_equality<mode>): Likewise.
11442 (*branch_equality<mode>_inverted): Likewise.
11443 (*jump_absolute): Likewise.
11444 (*jump_pic): Likewise.
11445 (indirect_jump): Use mips_output_jump to produce assembly output.
11446 (tablejump_<mode>"): Likewise.
11447 (*<optab>"): Likewise.
11448 (<optab>_internal): Likewise.
11449 (sibcall_internal): Likewise.
11450 (sibcall_value_internal): Likewise.
11451 (sibcall_value_multiple_internal): Likewise.
11452 (call_internal): Likewise.
11453 (call_split): Likewise.
11454 (call_internal_direct): Likewise.
11455 (call_direct_split): Likewise.
11456 (call_value_internal): Likewise.
11457 (call_value_split): Likewise.
11458 (call_value_internal_direct): Likewise.
11459 (call_value_direct_split): Likewise.
11460 (call_value_multiple_internal): Likewise.
11461 (call_value_multiple_split): Likewise.
11462 (mips_get_fcsr_mips16_<mode>): Likewise.
11463 (mips_set_fcsr_mips16_<mode>): Likewise.
11464 (tls_get_tp_mips16_<mode>): Likewise.
11465 * config/mips/mips.opt: Add -mcompact-branches option.
11466 * config/mips/predicates.md (order_operator): Ensure the
11467 conditional compact branches are only used if the ISA them.
11468 * doc/invoke.texi: Document -mcompact-branches option.
11469
11470 2015-09-01 Vladimir Makarov <vmakarov@redhat.com>
11471
11472 PR target/61578
11473 * lra-lives.c (process_bb_lives): Process move pseudos with the
11474 same value for copies and preferences
11475 * lra-constraints.c (match_reload): Create match reload pseudo
11476 with the same value from single dying input pseudo.
11477
11478 2015-09-01 Ilya Enkovich <enkovich.gnu@gmail.com>
11479
11480 PR target/67405
11481 * tree-chkp.c (chkp_find_bound_slots_1): Add NULL check.
11482
11483 2015-09-01 Aldy Hernandez <aldyh@redhat.com>
11484
11485 * trans-mem.c: Add contributed-by.
11486 * trans-mem.h: Same.
11487
11488 2015-09-01 Richard Biener <rguenther@suse.de>
11489
11490 * expr.c (expand_expr_real_1): For expanding TERed defs
11491 set the current location to that of the def if not UNKNOWN.
11492
11493 2015-09-01 David Sherwood <david.sherwood@arm.com>
11494
11495 * genmodes.c: Add CONST_MODE_UNIT_SIZE modifier.
11496
11497 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11498
11499 * ifcvt.c (struct noce_if_info): Add then_simple, else_simple,
11500 then_cost, else_cost fields. Change branch_cost field to unsigned int.
11501 (end_ifcvt_sequence): Call set_used_flags on each insn in the sequence.
11502 Include rtl-iter.h.
11503 (noce_simple_bbs): New function.
11504 (noce_try_move): Bail if basic blocks are not simple.
11505 (noce_try_store_flag): Likewise.
11506 (noce_try_store_flag_constants): Likewise.
11507 (noce_try_addcc): Likewise.
11508 (noce_try_store_flag_mask): Likewise.
11509 (noce_try_cmove): Likewise.
11510 (noce_try_minmax): Likewise.
11511 (noce_try_abs): Likewise.
11512 (noce_try_sign_mask): Likewise.
11513 (noce_try_bitop): Likewise.
11514 (bbs_ok_for_cmove_arith): New function.
11515 (noce_emit_all_but_last): Likewise.
11516 (noce_emit_insn): Likewise.
11517 (noce_emit_bb): Likewise.
11518 (noce_try_cmove_arith): Handle non-simple basic blocks.
11519 (insn_valid_noce_process_p): New function.
11520 (contains_mem_rtx_p): Likewise.
11521 (bb_valid_for_noce_process_p): Likewise.
11522 (noce_process_if_block): Allow non-simple basic blocks
11523 where appropriate.
11524
11525 2015-08-31 Alan Lawrence <alan.lawrence@arm.com>
11526
11527 * tree-ssa-dom.c (record_equivalences_from_phis,
11528 record_equivalences_from_stmt, optimize_stmt): Use dom_valueize.
11529 (lookup_avail_expr): Likewise, and remove comment and unused temp.
11530
11531 2015-09-01 Nick Clifton <nickc@redhat.com>
11532
11533 * config/msp430/msp430.opt (mcpu): Fix typo.
11534
11535 2015-09-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
11536
11537 * config/aarch64/aarch64.c (aarch64_set_current_function):
11538 Re-layout any vector parameters have non-simd layout.
11539 * config/aarch64/aarch64-builtins.c (aarch64_relayout_simd_param):
11540 Delete.
11541 (aarch64_simd_expand_args): Delete call to the above.
11542
11543 2015-08-31 Mike Frysinger <vapier@gentoo.org>
11544
11545 * doc/invoke.texi (asan-stack): Add space before option.
11546
11547 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
11548
11549 * tree.h (zerop): New function.
11550 * tree.c (zerop): Likewise.
11551 (element_precision): Handle expressions.
11552 * match.pd (define_predicates): Add zerop.
11553 (x <= +Inf): Fix comment.
11554 (abs (x) == 0, A & C == C, A & C != 0): Converted from ...
11555 * fold-const.c (fold_binary_loc): ... here. Remove.
11556
11557 2015-08-31 Richard Biener <rguenther@suse.de>
11558
11559 PR middle-end/67381
11560 * genmatch.c (dt_node::gen_kids): Also treat matches as barrier.
11561
11562 2015-08-31 Marc Glisse <marc.glisse@inria.fr>
11563
11564 * match.pd (SIN, COS, TAN, COSH): Reorder for consistency.
11565 (CEXPI): New operator list.
11566 (real (conj (x)), imag (conj (x)), real (x +- y), real (cexpi (x)),
11567 imag (cexpi (x)), conj (conj (x)), conj (complex (x, y))):
11568 Converted from ...
11569 * fold-const.c (fold_unary_loc, fold_binary_loc): ... here. Remove.
11570
11571 2015-08-31 Tom de Vries <tom@codesourcery.com>
11572
11573 * tree-ssa-loop-manip.c (find_uses_to_rename_stmt)
11574 (find_uses_to_rename_bb, find_uses_to_rename): Add and handle use_flags
11575 parameter.
11576 (find_uses_to_rename_def, find_uses_to_rename_in_loop): New function.
11577 (rewrite_into_loop_closed_ssa_1): New function, factored out of ...
11578 (rewrite_into_loop_closed_ssa): ... here.
11579 (replace_uses_in_dominated_bbs): Remove function.
11580 (rewrite_virtuals_into_loop_closed_ssa): Reimplement using
11581 rewrite_into_loop_closed_ssa_1.
11582
11583 2015-08-31 Michael Matz <matz@suse.de>
11584
11585 * cfganal.c (pre_and_rev_post_order_compute_fn): Correctly
11586 enter entry and exit blocks for reverse post order.
11587
11588 2015-08-31 Richard Biener <rguenther@suse.de>
11589
11590 * lto-streamer.h (lto_location_cache::cached_location::sysp): Add.
11591 (lto_location_cache::current_sysp): Likewise.
11592 (output_block::current_sysp): Likewise.
11593 * lto-streamer-in.c (lto_location_cache::cmp_loc): Compare sysp.
11594 (lto_location_cache::apply_location_cache): Properly record
11595 system header locations.
11596 (lto_location_cache::input_location): Input whether a file
11597 is a system header.
11598 * lto-streamer-out.c (lto_output_location): Stream whether a file
11599 is a system header.
11600
11601 2015-08-31 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11602
11603 PR bootstrap/67363
11604 * gcc.c (env_manager::xput): Replace strndup by xstrndup.
11605
11606 2015-08-31 Tom de Vries <tom@codesourcery.com>
11607
11608 * tree-ssa-loop-manip.c (find_uses_to_rename_use)
11609 (find_uses_to_rename_stmt, find_uses_to_rename_bb, find_uses_to_rename):
11610 Improve function header comments.
11611
11612 2015-08-30 Michael Collison <michael.collison@linaro.org>
11613
11614 PR other/67320
11615 * doc.md.texi: Rename [su]sum_widen to widen_[su]sum to reflect correct
11616 standard names
11617
11618 2015-08-30 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
11619
11620 * config/rs6000/rs6000.c (swap_web_entry): Enlarge
11621 special_handling bitfield.
11622 (special_handling_values): Add SH_XXPERMDI and SH_CONCAT.
11623 (rtx_is_swappable_p): Add handling for vec_select/vec_concat form
11624 that represents a general xxpermdi.
11625 (insn_is_swappable_p): Add handling for vec_concat of two
11626 doublewords, which maps to a specific xxpermdi.
11627 (adjust_xxpermdi): New function.
11628 (adjust_concat): Likewise.
11629 (handle_special_swappables): Call adjust_xxpermdi and
11630 adjust_concat.
11631 (dump_swap_insn_table): Handle SH_XXPERMDI and SH_CONCAT.
11632
11633 2015-08-30 Rich Felker <dalias@libc.org>
11634
11635 * config.gcc (supported_defaults): Handle sh[123456ble]*-*-*
11636 case instead of sh[123456ble]-*-*.
11637
11638 2015-08-29 Anatoly Sokolov <aesok@post.ru>
11639
11640 * ira.c (print_unform_and_important_classes,
11641 print_translated_classes): Remove reg_class_names static array.
11642 (print_unform_and_important_classes): Rename to ...
11643 (print_uniform_and_important_classes): ... this.
11644 (ira_debug_allocno_classes): Update accordingly.
11645
11646 2015-08-29 Tom de Vries <tom@codesourcery.com>
11647
11648 PR tree-optimization/46193
11649 * omp-low.c (omp_reduction_init): Handle pointer type for min or max
11650 clause.
11651
11652 2015-08-28 Jeff Law <law@redhat.com>
11653
11654 PR lto/66752
11655 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
11656 unable to find X NE 0 in the tables, return X as the simplified
11657 condition.
11658 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
11659 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
11660 to VISISTED_BBS.
11661 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
11662 after removing the control flow statement and unnecessary edges.
11663
11664 2015-08-28 Alan Lawrence <alan.lawrence@arm.com>
11665
11666 Revert:
11667 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
11668
11669 PR tree-optimization/67283
11670 * tree-sra.c (type_consists_of_records_p): Rename to...
11671 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
11672
11673 (completely_scalarize_record): Rename to...
11674 (completely_scalarize): ...this, add ARRAY_TYPE case, move some
11675 code to:
11676 (scalarize_elem): New.
11677
11678 2015-08-28 Jiong Wang <jiong.wang@arm.com>
11679
11680 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Rename
11681 SYMBOL_SMALL_GOTTPREL to SYMBOL_SMALL_TLSIE.
11682 (aarch64_symbol_type): Likewise.
11683 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
11684 Likewise.
11685 (aarch64_expand_mov_immediate): Likewise.
11686 (aarch64_print_operand): Likewise.
11687 (aarch64_classify_tls_symbol): Likewise.
11688
11689 2015-08-28 Richard Biener <rguenther@suse.de>
11690
11691 * cgraphunit.c (symbol_table::compile): Move early debug generation
11692 and finish...
11693 (symbol_table::finalize_compilation_unit): ... back here and
11694 add a !seen_error () guard.
11695
11696 2015-08-27 Sebastian Pop <s.pop@samsung.com>
11697
11698 * toplev.c (process_options): Do not use flag_loop_block,
11699 flag_loop_interchange, and flag_loop_strip_mine. Add check for
11700 flag_loop_optimize_isl.
11701
11702 2015-08-27 Sebastian Pop <s.pop@samsung.com>
11703
11704 * Makefile.in (OBJS): Remove graphite-blocking.o and
11705 graphite-interchange.o.
11706 * common.opt (floop-strip-mine, floop-interchange, floop-block):
11707 Alias of floop-nest-optimize.
11708 * doc/invoke.texi (floop-strip-mine, floop-interchange, floop-block):
11709 Document as alias of -floop-nest-optimize.
11710 * graphite-blocking.c: Remove.
11711 * graphite-interchange.c: Remove.
11712 * graphite-optimize-isl.c: Include dumpfile.h.
11713 (getScheduleForBand): Add dump for tiled loops. Use
11714 PARAM_LOOP_BLOCK_TILE_SIZE instead of hard coded constant.
11715 * graphite-poly.c (scop_max_loop_depth): Remove.
11716 (print_scattering_function_1): Remove.
11717 (print_scattering_function): Remove.
11718 (print_scattering_functions): Remove.
11719 (debug_scattering_function): Remove.
11720 (debug_scattering_functions): Remove.
11721 (apply_poly_transforms): Remove use of flag_loop_block,
11722 flag_loop_strip_mine, and flag_loop_interchange.
11723 (new_poly_bb): Remove use of PBB_TRANSFORMED, PBB_SAVED, and
11724 PBB_ORIGINAL.
11725 (print_pdr_access_layout): Remove.
11726 (print_pdr): Print ISL representation.
11727 (new_scop): Remove use of SCOP_ORIGINAL_SCHEDULE,
11728 SCOP_TRANSFORMED_SCHEDULE, and SCOP_SAVED_SCHEDULE.
11729 (free_scop): Same.
11730 (openscop_print_pbb_domain): Remove.
11731 (print_pbb): Remove call to print_scattering_function.
11732 (openscop_print_scop_context): Remove.
11733 (print_scop_context): Do not print matrices anymore.
11734 (print_scop): Do not print SCOP_ORIGINAL_SCHEDULE and
11735 SCOP_TRANSFORMED_SCHEDULE.
11736 (print_isl_set): Add printing of a new line.
11737 (print_isl_map): Same.
11738 (print_isl_aff): Same.
11739 (print_isl_constraint): Same.
11740 (loop_to_lst): Remove.
11741 (scop_to_lst): Remove.
11742 (lst_indent_to): Remove.
11743 (print_lst): Remove.
11744 (debug_lst): Remove.
11745 (dot_lst_1): Remove.
11746 (dot_lst): Remove.
11747 (reverse_loop_at_level): Remove.
11748 (reverse_loop_for_pbbs): Remove.
11749 * graphite-poly.h (pdr_dim_iter_domain): Remove.
11750 (pdr_nb_params): Remove.
11751 (pdr_alias_set_dim): Remove.
11752 (pdr_subscript_dim): Remove.
11753 (pdr_iterator_dim): Remove.
11754 (pdr_parameter_dim): Remove.
11755 (same_pdr_p): Remove.
11756 (struct poly_scattering): Remove.
11757 (struct poly_bb): Remove _original, _transformed, _saved.
11758 (PBB_DOMAIN, PBB_ORIGINAL, PBB_ORIGINAL_SCATTERING): Remove.
11759 (PBB_TRANSFORMED, PBB_TRANSFORMED_SCATTERING, PBB_SAVED): Remove.
11760 (PBB_NB_LOCAL_VARIABLES): Remove.
11761 (PBB_NB_SCATTERING_TRANSFORM): Remove.
11762 (schedule_to_scattering): Remove.
11763 (number_of_write_pdrs): Remove.
11764 (pbb_dim_iter_domain): Remove.
11765 (pbb_nb_params): Remove.
11766 (pbb_nb_scattering_orig): Remove.
11767 (pbb_nb_scattering_transform): Remove.
11768 (pbb_nb_dynamic_scattering_transform): Remove.
11769 (pbb_nb_local_vars): Remove.
11770 (pbb_iterator_dim): Remove.
11771 (pbb_parameter_dim): Remove.
11772 (psco_scattering_dim): Remove.
11773 (psct_scattering_dim): Remove.
11774 (psct_local_var_dim): Remove.
11775 (psco_iterator_dim): Remove.
11776 (psct_iterator_dim): Remove.
11777 (psco_parameter_dim): Remove.
11778 (psct_parameter_dim): Remove.
11779 (psct_dynamic_dim): Remove.
11780 (psct_static_dim): Remove.
11781 (psct_add_local_variable): Remove.
11782 (new_lst_loop): Remove.
11783 (new_lst_stmt): Remove.
11784 (free_lst): Remove.
11785 (copy_lst): Remove.
11786 (lst_add_loop_under_loop): Remove.
11787 (lst_depth): Remove.
11788 (lst_dewey_number): Remove.
11789 (lst_dewey_number_at_depth): Remove.
11790 (lst_pred): Remove.
11791 (lst_succ): Remove.
11792 (lst_find_pbb): Remove.
11793 (find_lst_loop): Remove.
11794 (lst_find_first_pbb): Remove.
11795 (lst_empty_p): Remove.
11796 (lst_find_last_pbb): Remove.
11797 (lst_contains_p): Remove.
11798 (lst_contains_pbb): Remove.
11799 (lst_create_nest): Remove.
11800 (lst_remove_from_sequence): Remove.
11801 (lst_remove_loop_and_inline_stmts_in_loop_father): Remove.
11802 (lst_niter_for_loop): Remove.
11803 (pbb_update_scattering): Remove.
11804 (lst_update_scattering_under): Remove.
11805 (lst_update_scattering): Remove.
11806 (lst_insert_in_sequence): Remove.
11807 (lst_replace): Remove.
11808 (lst_substitute_3): Remove.
11809 (lst_distribute_lst): Remove.
11810 (lst_remove_all_before_including_pbb): Remove.
11811 (lst_remove_all_before_excluding_pbb): Remove.
11812 (struct scop): Remove original_schedule, transformed_schedule, and
11813 saved_schedule.
11814 (SCOP_ORIGINAL_SCHEDULE, SCOP_TRANSFORMED_SCHEDULE): Remove.
11815 (SCOP_SAVED_SCHEDULE): Remove.
11816 (poly_scattering_new): Remove.
11817 (poly_scattering_free): Remove.
11818 (poly_scattering_copy): Remove.
11819 (store_scattering_pbb): Remove.
11820 (store_lst_schedule): Remove.
11821 (restore_lst_schedule): Remove.
11822 (store_scattering): Remove.
11823 (restore_scattering_pbb): Remove.
11824 (restore_scattering): Remove.
11825 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons):
11826 Remove scattering_dimensions. Do not use pbb_dim_iter_domain:
11827 compute the scattering polyhedron dimension from the dimension of
11828 pbb->domain.
11829 (build_scop_scattering): Update call to
11830 build_pbb_scattering_polyhedrons.
11831 (build_poly_scop): Remove call to scop_to_lst.
11832 * graphite.c (graphite_transform_loops): Add call to print_scop.
11833 (gate_graphite_transforms): Remove use of flag_loop_block,
11834 flag_loop_interchange, and flag_loop_strip_mine.
11835
11836 2015-08-27 Sebastian Pop <s.pop@samsung.com>
11837
11838 * common.opt (floop-unroll-and-jam): Make alias of floop-nest-optimize.
11839 * doc/invoke.texi (-floop-unroll-and-jam): Document as alias of
11840 -floop-nest-optimize.
11841 * graphite-isl-ast-to-gimple.c (generate_luj_sepclass_opt): Remove.
11842 (generate_luj_sepclass): Remove.
11843 (generate_luj_options): Remove.
11844 (set_options): Remove opt_luj.
11845 (scop_to_isl_ast): Remove opt_luj.
11846 * graphite-optimize-isl.c (getScheduleForBand): Remove check for
11847 flag_loop_unroll_jam.
11848 (getPrevectorMap_full): Remove.
11849 (getScheduleForBandList): Remove map_sepcl.
11850 (getScheduleMap): Same.
11851 (apply_schedule_map_to_scop): Remove sepcl.
11852 (optimize_isl): Same.
11853 * graphite-poly.c (apply_poly_transforms): Remove check for
11854 flag_loop_unroll_jam.
11855 (new_poly_bb): Remove map_sepclass.
11856 * graphite-poly.h (struct poly_bb): Same.
11857 * graphite.c (gate_graphite_transforms): Remove flag_loop_unroll_jam.
11858 * params.def (PARAM_LOOP_UNROLL_JAM_SIZE)
11859 (PARAM_LOOP_UNROLL_JAM_DEPTH): Remove.
11860 * toplev.c (process_options): Remove flag_loop_unroll_jam.
11861
11862 2015-08-27 Uros Bizjak <ubizjak@gmail.com>
11863
11864 PR target/67317
11865 * config/i386/i386.md (*add<mode>3_cc): Remove insn pattern.
11866 (addqi3_cc): Ditto.
11867 (UNSPEC_ADD_CARRY): Remove.
11868 (addqi3_cconly_overflow): New expander.
11869 (*add<dwi>3_doubleword): Split to add<mode>3_cconly_overflow.
11870 Adjust for changed add<mode>3_carry.
11871 (*neg<dwi>2_doubleword): Adjust for changed add<mode>3_carry.
11872 (*sub<dwi>3_doubleword): Adjust for changed sub<mode>3_carry.
11873 (<plusminus_insn><mode>3_carry): Remove expander.
11874 (*<plusminus_insn><mode>3_carry): Split insn pattern to
11875 add<mode>3_carry and sub<mode>3_carry.
11876 (plusminus_carry_mnemonic): Remove code attribute.
11877 (add<mode>3_carry): Canonicalize insn pattern.
11878 (*addsi3_carry_zext): Ditto.
11879 (sub<mode>3_carry): Ditto.
11880 (*subsi3_carry_zext): Ditto.
11881 (adcx<mode>3): Remove insn pattern.
11882 (addcarry<mode>): New insn pattern.
11883 (subborrow<mode>): Ditto.
11884 * config/i386/i386.c (ix86_expand_strlensi_unroll_1): Use
11885 gen_addqi3_cconly_overflow instead of gen_addqi3_cc.
11886 (ix86_expand_builtin) <case IX86_BUILTIN_SBB32,
11887 case IX86_BUILTIN_SBB64, case IX86_BUILTIN_ADDCARRY32,
11888 case IX86_BUILTIN_ADDCARRY64>: Use CODE_FOR_subborrowsi,
11889 CODE_FOR_subborrowdi, CODE_FOR_addcarrysi and CODE_FOR_addcarrydi.
11890 Rewrite expander to not clobber carry flag chains.
11891
11892 2015-08-27 Pat Haugen <pthaugen@us.ibm.com>
11893
11894 * config/rs6000/vector.md (vec_shr_<mode>): Fix to do a shift
11895 instead of a rotate.
11896
11897 2015-08-27 Marek Polacek <polacek@redhat.com>
11898
11899 PR middle-end/67005
11900 * tree-ssa-dce.c (remove_dead_stmt): Also schedule fixup if removing
11901 an entry into an irreducible region.
11902
11903 2015-08-27 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
11904
11905 * configure: Regenerate.
11906
11907 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
11908
11909 PR tree-optimization/67283
11910 * tree-sra.c (type_consists_of_records_p): Rename to...
11911 (scalarizable_type_p): ...this, add case for ARRAY_TYPE.
11912
11913 (completely_scalarize_record): Rename to...
11914 (completely_scalarize): ...this, add ARRAY_TYPE case, move some code to:
11915 (scalarize_elem): New.
11916
11917 2015-08-27 Alan Lawrence <alan.lawrence@arm.com>
11918
11919 * tree-sra.c (completely_scalarize_var): Rename to...
11920 (create_total_scalarization_access): ... Here. Drop call to
11921 completely_scalarize_record.
11922
11923 (analyze_all_variable_accesses): Replace completely_scalarize_var
11924 with create_total_scalarization_access and completely_scalarize_record.
11925
11926 2015-08-27 Alan Modra <amodra@gmail.com>
11927
11928 PR target/67356
11929 * config/rs6000/rs6000.md (ior<mode>_mask): Use constraint "0"
11930 for operand 1.
11931
11932 2015-08-27 Richard Biener <rguenther@suse.de>
11933
11934 * passes.c (rest_of_decl_compilation): Guard early_global_decl
11935 call with !seen_error ().
11936 * cgraphunit.c (symbol_table::finalize_compilation_unit): Move
11937 early debug generation and finish...
11938 (symbol_table::compile): ... here to put it after a !seen_error ()
11939 guard.
11940
11941 2015-08-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
11942
11943 * config.gcc (*-*-solaris2*): Enable default_use_cxa_atexit on
11944 Solaris 12+.
11945
11946 2015-08-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
11947 Andre Vieira <andre.simoesdiasvieira@arm.com>
11948
11949 * config/aarch64/aarch64.md (*condjump): Handle functions > 1 MiB.
11950 (*cb<optab><mode>1): Likewise.
11951 (*tb<optab><mode>1): Likewise.
11952 (*cb<optab><mode>1): Likewise.
11953 * config/aarch64/iterators.md (inv_cb): New code attribute.
11954 (inv_tb): Likewise.
11955 * config/aarch64/aarch64.c (aarch64_gen_far_branch): New.
11956 * config/aarch64/aarch64-protos.h (aarch64_gen_far_branch): New.
11957
11958 2015-08-27 Richard Biener <rguenther@suse.de>
11959
11960 * ipa.c (cgraph_build_static_cdtor_1): Set DECL_IGNORED_P.
11961
11962 2015-08-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
11963
11964 * config/s390/s390.c (s390_emit_prologue): Add emit_barrier() after
11965 trap to fix ICE.
11966
11967 2015-08-26 Michael Meissner <meissner@linux.vnet.ibm.com>
11968
11969 * config/rs6000/rs6000-protos.h (rs6000_expand_float128_convert):
11970 Add declaration.
11971
11972 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Fix a
11973 comment.
11974 (rs6000_cannot_change_mode_class): Add support for IEEE 128-bit
11975 floating point in VSX registers.
11976 (rs6000_output_move_128bit): Always print out the set insn if we
11977 can't generate an appropriate 128-bit move.
11978 (rs6000_generate_compare): Add support for IEEE 128-bit floating
11979 point in VSX registers comparisons.
11980 (rs6000_expand_float128_convert): Likewise.
11981
11982 * config/rs6000/predicates.md (int_reg_operand_not_pseudo): New
11983 predicate for only GPR hard registers.
11984
11985 * config/rs6000/rs6000.md (FP): Add IEEE 128-bit floating point
11986 modes to iterators. Add new iterators for moving 128-bit values in
11987 scalar FPR registers and VSX registers.
11988 (FMOVE128): Likewise.
11989 (FMOVE128_FPR): Likewise.
11990 (FMOVE128_GPR): Likewise.
11991 (FMOVE128_VSX): Likewise.
11992 (FLOAT128_SFDFTF): New iterators for IEEE 128-bit floating point
11993 in VSX registers.
11994 (IFKF): Likewise.
11995 (IBM128): Likewise.
11996 (TFIFKF): Likewise.
11997 (RELOAD): Add IEEE 128-bit floating point modes.
11998 (signbittf2): Convert TF insns to add support for new IEEE 128-bit
11999 floating point in VSX registers modes.
12000 (signbit<mode>2, IBM128 iterator): Likewise.
12001 (mov<mode>_64bit_dm, FMOVE128_FPR iterator): Likewise.
12002 (mov<mode>_32bit, FMOVE128_FPR iterator): Likewise.
12003 (negtf2): Likewise.
12004 (neg<mode>2, TFIFKF iterator): Likewise.
12005 (negtf2_internal): Likewise.
12006 (abstf2): Likewise.
12007 (abs<mode>2, TFIFKF iterator): Likewise.
12008 (ieee_128bit_negative_zero): New IEEE 128-bit floating point in
12009 VSX insn support for negate, absolute value, and negative absolute
12010 value.
12011 (ieee_128bit_vsx_neg<mode>2): Likewise.
12012 (ieee_128bit_vsx_neg<mode>2_internal): Likewise.
12013 (ieee_128bit_vsx_abs<mode>2): Likewise.
12014 (ieee_128bit_vsx_abs<mode>2_internal): Likewise.
12015 (ieee_128bit_vsx_nabs<mode>2): Likewise.
12016 (ieee_128bit_vsx_nabs<mode>2_internal): Likewise.
12017 (FP128_64): Update pack/unpack 128-bit insns for IEEE 128-bit
12018 floating point in VSX registers.
12019 (unpack<mode>_dm): Likewise.
12020 (unpack<mode>_nodm): Likewise.
12021 (pack<mode>): Likewise.
12022 (unpackv1ti): Likewise.
12023 (unpack<mode>, FMOVE128_VSX iterator): Likewise.
12024 (packv1ti): Likewise.
12025 (pack<mode>, FMOVE128_VSX iterator): Likewise.
12026 (extenddftf2): Add support for IEEE 128-bit floating point in VSX
12027 registers.
12028 (extenddftf2_internal): Likewise.
12029 (trunctfdf2): Likewise.
12030 (trunctfdf2_internal2): Likewise.
12031 (fix_trunc_helper): Likewise.
12032 (fix_trunctfdi2"): Likewise.
12033 (floatditf2): Likewise.
12034 (floatuns<mode>tf2): Likewise.
12035 (extend<FLOAT128_SFDFTF:mode><IFKF:mode>2): Likewise.
12036 (trunc<IFKF:mode><FLOAT128_SFDFTF:mode>2): Likewise.
12037 (fix_trunc<IFKF:mode><SDI:mode>2): Likewise.
12038 (fixuns_trunc<IFKF:mode><SDI:mode>2): Likewise.
12039 (float<SDI:mode><IFKF:mode>2): Likewise.
12040 (floatuns<SDI:mode><IFKF:mode>2): Likewise.
12041
12042 2015-08-26 Renlin Li <renlin.li@arm.com>
12043
12044 * config/aarch64/aarch64.md (*aarch64_bfi<GPI:mode><ALLX:mode>4): New.
12045
12046 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
12047 Jiong Wang <jiong.wang@arm.com>
12048
12049 * config/aarch64/aarch64.md (UNSPEC_GOTTINYTLS): New UNSPEC.
12050 (tlsie_tiny_<mode>): New define_insn.
12051 (tlsie_tiny_sidi): Likewise.
12052 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Define
12053 SYMBOL_TINY_TLSIE.
12054 (aarch64_symbol_context): New comment for SYMBOL_TINY_TLSIE.
12055 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
12056 SYMBOL_TINY_TLSIE.
12057 (aarch64_expand_mov_immediate): Likewise.
12058 (aarch64_print_operand): Likewise.
12059 (arch64_classify_tls_symbol): Likewise.
12060
12061 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
12062
12063 * config/arm/arm-arches.def: Replace single value flags with
12064 an initializer built from ARM_FSET_MAKE_CPU1.
12065 * config/arm/arm-cores.def: Likewise.
12066 * config/arm/arm.c: (all_cores): Remove ARM_FSET_MAKE_CPU1
12067 derivation from the ARM_CORE macro definition, use the given value
12068 instead.
12069 (all_architectures): Remove ARM_FSET_MAKE_CPU1 derivation from the
12070 ARM_ARCH macro definition, use the given value instead.
12071
12072 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
12073
12074 * config/arm/arm-builtins.c (def_mbuiltin): Test all flags in a
12075 feature set.
12076 (struct builtin_description): Replace field mask with field
12077 features.
12078 (IWMMXT_BUILTIN): Use ARM_FSET macros for feature flags.
12079 (IWMMXT2_BUILTIN): Likewise.
12080 (IWMMXT2_BUILTIN2): Likewise.
12081 (FP_BUILTIN): Likewise.
12082 (CRC32_BUILTIN): Likewise.
12083 (CRYPTO_BUILTIN): Likewise.
12084 (iwmmx_mbuiltin): Likewise.
12085 (iwmmx2_mbuiltin): Likewise.
12086 (arm_init_iwmmxt_builtins): Likewise. Also, update for change to
12087 struct builtin_description.
12088
12089 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
12090
12091 * config/arm/arm-builtins.c (def_mbuiltin): Use ARM_FSET macro.
12092 (struct builtin_description): Change type of mask to unsigned
12093 long.
12094 * config/arm/arm-protos.h (insn_flags): Declare as type
12095 arm_feature_set.
12096 (tune_flags): Likewise.
12097 * config/arm/arm.c (feature_count): New.
12098 (insn_flags): Define as type arm_feature_set.
12099 (tune_flags): Likewise.
12100 (struct processors): Define field flags as type arm_feature_set.
12101 (all_cores): Update for change to struct processors.
12102 (all_architectures): Likewise.
12103 (arm_option_check_internal): Use arm_feature_set and ARM_FSET
12104 macros.
12105 (arm_option_override_internal): Likewise.
12106 (arm_option_override): Likewise.
12107
12108 2015-08-26 Marcus Shawcroft <marcus.shawcroft@arm.com>
12109 Jiong Wang <jiong.wang@arm.com>
12110
12111 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): Set default
12112 tls size for tiny, small, large memory model.
12113 (aarch64_load_symref_appropriately): Support new symbol types.
12114 (aarch64_expand_mov_immediate): Likewise.
12115 (aarch64_print_operand): Likewise.
12116 (aarch64_classify_tls_symbol): Likewise.
12117 * config/aarch64/aarch64-protos.h (aarch64_symbol_context): Likewise.
12118 (aarch64_symbol_type): Likewise.
12119 * config/aarch64/aarch64.md (tlsle): Deleted.
12120 (tlsle12_<mode>): New define_insn.
12121 (tlsle24_<mode>): Likewise.
12122 (tlsle32_<mode>): Likewise.
12123 (tlsle48_<mode>): Likewise.
12124 * doc/sourcebuild.texi (AArch64-specific attributes): Document
12125 "aarch64_tlsle32".
12126
12127 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
12128
12129 * config/arm/arm-protos.h (FL_NONE): New.
12130 (FL_ANY): New.
12131 (arm_feature_set): New.
12132 (ARM_FSET_MAKE): New.
12133 (ARM_FSET_MAKE_CPU1): New.
12134 (ARM_FSET_MAKE_CPU2): New.
12135 (ARM_FSET_CPU1): New.
12136 (ARM_FSET_CPU2): New.
12137 (ARM_FSET_EMPTY): New.
12138 (ARM_FSET_ANY): New.
12139 (ARM_FSET_HAS_CPU1): New.
12140 (ARM_FSET_HAS_CPU2): New.
12141 (ARM_FSET_HAS_CPU): New.
12142 (ARM_FSET_ADD_CPU1): New.
12143 (ARM_FSET_ADD_CPU2): New.
12144 (ARM_FSET_DEL_CPU1): New.
12145 (ARM_FSET_DEL_CPU2): New.
12146 (ARM_FSET_UNION): New.
12147 (ARM_FSET_INTER): New.
12148 (ARM_FSET_XOR): New.
12149 (ARM_FSET_EXCLUDE): New.
12150 (AFM_FSET_IS_EMPTY): New.
12151 (ARM_FSET_CPU_SUBSET): New.
12152
12153 2015-08-26 Jiong Wang <jiong.wang@arm.com>
12154
12155 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
12156 SYMBOL_TLSLE to SYMBOL_TLSLE24.
12157 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
12158 Likewise.
12159 (aarch64_expand_mov_immediate): Likewise.
12160 (aarch64_print_operand): Likewise.
12161 (aarch64_classify_symbol): Likewise.
12162
12163 2015-08-26 Jiong Wang <jiong.wang@arm.com>
12164
12165 * config/aarch64/aarch64.opt (mtls-size): New entry.
12166 * config/aarch64/aarch64.c (initialize_aarch64_tls_size): New function.
12167 (aarch64_override_options_internal): Call initialize_aarch64_tls_size.
12168 * doc/invoke.texi (AArch64 Options): Document -mtls-size.
12169
12170 2015-08-26 Matthew Wahab <matthew.wahab@arm.com>
12171
12172 * config/arm/arm-cores.def: Add FL_FOR_ARCH flag for each
12173 ARM_CORE entry. Fix some white-space.
12174 * config/arm/arm.c: Remove FL_FOR_ARCH derivation from
12175 ARM_CORE definition.
12176
12177 2015-08-26 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12178
12179 * fold-const.c (fold_binary_loc) : Move Optimize
12180 root(x)*root(y) as root(x*y) to match.pd.
12181 Move Optimize expN(x)*expN(y) as expN(x+y) to match.pd.
12182 Move Optimize pow(x,y)*pow(x,z) as pow(x,y+z) to match.pd.
12183 Move Optimize a/root(b/c) into a*root(c/b) to match.pd.
12184 Move Optimize x/expN(y) into x*expN(-y) to match.pd.
12185 * match.pd (mult (root:s @0) (root:s @1)): New simplifier.
12186 (mult (POW:s @0 @1) (POW:s @0 @2)) : New simplifier.
12187 (mult (exps:s @0) (exps:s @1)) : New simplifier.
12188 (rdiv @0 (root:s (rdiv:s @1 @2))) : New simplifier.
12189 (rdiv @0 (exps:s @1)) : New simplifier.
12190
12191 2015-08-25 Joseph Myers <joseph@codesourcery.com>
12192
12193 * gcc.c (driver::finalize): Only assign to extra_specs if
12194 [EXTRA_SPECS].
12195
12196 2015-08-25 Marek Polacek <polacek@redhat.com>
12197
12198 PR middle-end/67330
12199 * varasm.c (declare_weak): Return after giving an error.
12200
12201 2015-08-25 David Malcolm <dmalcolm@redhat.com>
12202
12203 * gcc-main.c (main): Add params to driver ctor.
12204 * gcc.c (class env_manager): New.
12205 (env): New global.
12206 (env_manager::init): New.
12207 (env_manager::get): New.
12208 (env_manager::xput): New.
12209 (env_manager::restore): New.
12210 Poison getenv and putenv.
12211 (DEFAULT_TARGET_SYSTEM_ROOT): New.
12212 (target_system_root): Update initialization to use
12213 DEFAULT_TARGET_SYSTEM_ROOT.
12214 (struct spec_list): Add field "default_ptr".
12215 (INIT_STATIC_SPEC): Initialize new field "default_ptr".
12216 (init_spec): Likewise.
12217 (set_spec): Clear field "default_ptr".
12218 (read_specs): Free "spec" and "buffer".
12219 (xputenv): Reimplement in terms of env_manager.
12220 (process_command): Replace ::getenv calls with calls to the
12221 env_manager singleton.
12222 (process_brace_body): Free string in three places.
12223 (driver::driver): New.
12224 (driver::~driver): New.
12225 (used_arg): Convert from a function to...
12226 (class used_arg_t): ...this class, and...
12227 (used_arg): ...this new global instance.
12228 (used_arg_t::finalize): New function.
12229 (getenv_spec_function): Add "const" to local "value". Replace
12230 ::getenv call with call to the env_manager singleton.
12231 (path_prefix_reset): New function.
12232 (driver::finalize): New function.
12233 * gcc.h (driver::driver): New.
12234 (driver::~driver): New.
12235 (driver::finalize): New.
12236
12237 2015-08-25 Nathan Sidwell <nathan@acm.org>
12238
12239 * optabs.c (emit_indirect_jump): Don't try an emit a jump if the
12240 target doesn't have one.
12241
12242 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
12243
12244 PR target/67346
12245 * config/rs6000/rs6000.md (*ior<mode>_mask): Use a match_scratch.
12246
12247 2015-08-25 Segher Boessenkool <segher@kernel.crashing.org>
12248
12249 PR target/67344
12250 * config/rs6000/rs6000.md (*and<mode>3_imm_dot_shifted): Change to
12251 a define_insn, remove second alternative.
12252
12253 2015-08-25 Thomas Schwinge <thomas@codesourcery.com>
12254 Joseph Myers <joseph@codesourcery.com>
12255
12256 * gcc.c (struct switchstr): Expand comment.
12257
12258 2015-08-25 Nathan Sidwell <nathan@acm.org>
12259
12260 * config/nvptx/nvptx.c (nvptx_write_function_decl): Reformat.
12261 (nvptx_reorg_subreg): Pass insn pattern to asm_operands.
12262
12263 2015-08-25 Richard Biener <rguenther@suse.de>
12264
12265 PR middle-end/67306
12266 * genmatch.c (expr::gen_transform): Verify the result of
12267 builtin_decl_implicit.
12268 (dt_simplify::gen_1): Likewise.
12269
12270 2015-08-25 Thomas Preud'homme <thomas.preudhomme@arm.com>
12271
12272 * config/arm/constraints.md: Also list Cs and US ARM-specific
12273 constraints as used.
12274
12275 2015-08-24 Kaz Kojima <kkojima@gcc.gnu.org>
12276
12277 PR target/66609
12278 * config/sh/sh.c (sh_asm_output_addr_const_extra): Handle
12279 UNSPEC_PCREL.
12280 (nonpic_symbol_mentioned_p): Likewise.
12281 (sh_delegitimize_address): Likewise.
12282 (sh_function_ok_for_sibcall): Take into account weak symbols.
12283 (sh_expand_sym_label2reg): New.
12284 * config/sh/sh-protos.h (sh_expand_sym_label2reg): Declare.
12285 * config/sh/sh.md (UNSPEC_PCREL): New enum.
12286 (call_pcrel): Use sh_expand_sym_label2reg.
12287 (call_value_pcrel, sibcall_pcrel, sibcall_value_pcrel): Likewise.
12288 (symPCREL_label2reg) New expand.
12289
12290 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
12291
12292 * graphite-poly.c: Change type of region from void* to sese.
12293 * graphite-poly.h (struct scop): Changing the type of scop::region
12294 from void* to sese. Change accessor macro accordingly.
12295 * graphite-sese-to-poly.c (extract_affine_chrec): Use accessor macro.
12296
12297 2015-08-24 Aditya Kumar <aditya.k7@samsung.com>
12298
12299 * graphite-scop-detection.c (stmt_simple_for_scop_p):
12300 Constrain only on INTEGER_TYPE.
12301
12302 2015-08-24 Michael Meissner <meissner@linux.vnet.ibm.com>
12303
12304 PR target/67211
12305 * config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Set
12306 -mefficient-unaligned-vsx on ISA 2.7.
12307
12308 * config/rs6000/rs6000.opt (-mefficient-unaligned-vsx): Convert
12309 option to a masked option.
12310
12311 * config/rs6000/rs6000.c (rs6000_option_override_internal): Rework
12312 logic for -mefficient-unaligned-vsx so that it is set via an arch
12313 ISA option, instead of being set if -mtune=power8 is set. Move
12314 -mefficient-unaligned-vsx and -mallow-movmisalign handling to be
12315 near other default option handling.
12316
12317 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12318
12319 * genflags.c (gen_macro): Delete.
12320 (gen_proto): Don't create GEN.*CALL.* macros.
12321 * gensupport.h (get_file_location): Declare.
12322 * gensupport.c (rtx_locs): New variable.
12323 (read_md_rtx): Record rtx locations.
12324 (get_file_location): New function.
12325 * target-insns.def (call, call_pop, call_value, call_value_pop)
12326 (sibcall, sibcall_value): New patterns.
12327 * gentarget-def.c (parse_argument): New function.
12328 (def_target_insn): Use it. Handle optional operands. Raise an
12329 error if an .md pattern has the wrong number of operands for the
12330 pattern name. Remove the names of unused operands from the prototype.
12331 * builtins.c (expand_builtin_apply): Use targetm functions
12332 instead of HAVE_call_value and GEN_CALL_VALUE.
12333 * calls.c (emit_call_1): Likewise. Remove support for sibcall_pop
12334 and sibcall_value_pop.
12335 * config/aarch64/aarch64.md (untyped_call): Use gen_call instead
12336 of GEN_CALL.
12337 * config/alpha/alpha.md (untyped_call): Likewise.
12338 * config/iq2000/iq2000.md (untyped_call): Likewise.
12339 * config/m68k/m68k.md (untyped_call): Likewise.
12340 * config/mips/mips.md (untyped_call): Likewise.
12341 * config/pa/pa.md (untyped_call): Likewise.
12342 * config/rs6000/rs6000.md (untyped_call): Likewise.
12343 * config/sparc/sparc.md (untyped_call): Likewise.
12344 * config/tilegx/tilegx.md (untyped_call): Likewise.
12345 * config/tilepro/tilepro.md (untyped_call): Likewise.
12346 * config/visium/visium.md (untyped_call): Likewise.
12347 * config/alpha/alpha.c (alpha_emit_xfloating_libcall): Use
12348 gen_call_value instead of GEN_CALL_VALUE.
12349 * config/arm/arm.md (untyped_call): Likewise.
12350 * config/cr16/cr16.c (cr16_function_arg): Remove reference to
12351 GEN_CALL.
12352
12353 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12354
12355 * ifcvt.c (HAVE_incscc, HAVE_decscc, HAVE_cbranchcc4): Delete.
12356 (have_cbranchcc4): New variable.
12357 (cc_in_cond, noce_emit_cmove, noce_get_alt_condition)
12358 (noce_get_condition): Use it instead of HAVE_cbranchcc4.
12359 (if_convert): Initialize have_cbranchcc4.
12360
12361 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12362
12363 * builtins.c (expand_cmpstrn): Rename to...
12364 (expand_cmpstrn_or_cmpmem): ...this.
12365 (expand_builtin_strcmp, expand_builtin_strncmp): Update accordingly.
12366 (expand_builtin_memcmp): Use optabs instead of HAVE_cmpmem/gen_cmpmem.
12367 Remove mode argument.
12368 (expand_builtin): Update accordingly.
12369
12370 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12371
12372 * builtins.c (expand_cmpstr, expand_cmpstrn): New functions.
12373 (expand_builtin_strcmp, expand_builtin_strncmp): Use them. Remove
12374 references to HAVE_cmpstr{,n}si and CODE_FOR_cmpstr{,n}si.
12375 * config/m32c/blkmov.md (cmpstrsi): Fix predicates of operands 1 and 2.
12376 Add predicates for operands 0 and 3.
12377 * config/rx/rx.md (cmpstrnsi): Remove force_operand for the length
12378 operand.
12379 * config/sh/sh.md (cmpstrnsi): Change the length predicate from
12380 immediate_operand to nonmemory_operand.
12381
12382 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12383
12384 * df-scan.c (df_insn_info_init_fields): New function, split out
12385 from...
12386 (df_insn_create_insn_record): ...here.
12387 (df_insn_info_free_fields): New function, split out from...
12388 (df_insn_info_delete): ...here.
12389 (df_insn_rescan): Use the new functions instead of freeing and
12390 reallocating the df_insn_info.
12391
12392 2015-08-24 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12393
12394 * doc/install.texi (Binaries): Remove links no longer valid.
12395
12396 2015-08-24 Nathan Sidwell <nathan@codesourcery.com>
12397
12398 * config/nvptx/mkoffload.c (process): Replace
12399 GOMP_offload_{,un}register with GOMP_offload_{,un}register_ver.
12400
12401 2015-08-24 H.J. Lu <hongjiu.lu@intel.com>
12402
12403 PR target/67329
12404 * config/i386/i386.c (iamcu_cost): Set MOVE_RATIO cost to 9.
12405
12406 2015-08-24 Renlin Li <renlin.li@arm.com>
12407
12408 * config/arm/arm-protos.h (arm_valid_symbolic_address_p): Declare.
12409 * config/arm/arm.c (arm_valid_symbolic_address_p): Define.
12410 * config/arm/arm.md (arm_movt): Use arm_valid_symbolic_address_p.
12411 * config/arm/constraints.md ("j"): Add check for high code.
12412
12413 2015-08-24 Tom de Vries <tom@codesourcery.com>
12414
12415 PR tree-optimization/65468
12416 * omp-low.c (expand_omp_for_static_chunk): Remove inner loop if
12417 chunk_size is one.
12418
12419 2015-08-24 Nathan Sidwell <nathan@acm.org>
12420
12421 * config/nvptx/nvptx.c (walk_args_for_param): Revert previous
12422 change to nvptx_type_from_mode call. Use arg_promotion for both
12423 split and non-split args.
12424
12425 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12426
12427 * target-insns.def (movstr): New pattern.
12428 * builtins.c (HAVE_movstr, CODE_FOR_movstr): Delete.
12429 (expand_movstr): Use targetm rather than HAVE_movstr/
12430 CODE_FOR_movstr.
12431
12432 2015-08-24 Richard Sandiford <richard.sandiford@arm.com>
12433
12434 * config/microblaze/microblaze.c (microblaze_classify_unspec): Fix
12435 cast syntax.
12436
12437 2015-08-24 Andrew Pinski <apinski@cavium.com>
12438
12439 * config/aarch64/aarch64-tuning-flags.def: Remove all index to
12440 AARCH64_EXTRA_TUNING_OPTION.
12441 * config/aarch64/aarch64-protos.h (aarch64_extra_tuning_flags_index):
12442 New enum.
12443 (aarch64_extra_tuning_flags): Base the shifted value on the index
12444 instead of the argument to AARCH64_EXTRA_TUNING_OPTION.
12445 * config/aarch64/aarch64.c: Remove the last argument to
12446 AARCH64_EXTRA_TUNING_OPTION.
12447
12448 2015-08-23 Nathan Sidwell <nathan@acm.org>
12449
12450 * config/nvptx/nvptx.c (walk_args_for_param): Promote arg reg
12451 decls.
12452 (nvptx_declare_function_name): Insert formatting tabs for
12453 consistency.
12454
12455 2015-08-23 Tom de Vries <tom@codesourcery.com>
12456
12457 * omp-low.c (expand_omp_taskreg): If in ssa, set rhs of parcopy stmt to
12458 parm_decl, rather than generating a dummy default def in cfun.
12459 * tree-cfg.c (replace_ssa_name): Assume no default defs. Make sure
12460 ssa_name from cfun and child_fn do not share a stmt as def stmt.
12461 (move_stmt_op): Handle PARM_DECl.
12462 (gather_ssa_name_hash_map_from): New function.
12463 (move_sese_region_to_fn): Add default defs for function params, and add
12464 them to vars_map. Release copied ssa names.
12465 * tree-cfg.h (gather_ssa_name_hash_map_from): Declare.
12466
12467 2015-08-23 Tom de Vries <tom@codesourcery.com>
12468
12469 * doc/sourcebuild.texi: Rename vect_no_int_max with
12470 vect_no_int_min_max. Update description.
12471
12472 2015-08-22 Andrew Pinski <apinski@cavium.com>
12473
12474 * aarch64-fusion-pairs.def: Remove all index to AARCH64_FUSION_PAIR.
12475 * config/aarch64/aarch64-protos.h
12476 (aarch64_fusion_pairs_index): New enum.
12477 (aarch64_fusion_pairs): Base the shifted value on the index instead
12478 Rewrite AARCH64_FUSE_ALL to be based on the end index.
12479 of the argument to AARCH64_FUSION_PAIR.
12480 * config/aarch64/aarch64.c: Remove the last argument to
12481 AARCH64_FUSION_PAIR.
12482
12483 2015-08-22 Mikhail Maltsev <maltsevm@gmail.com>
12484
12485 * dominance.c (new_zero_array): Define.
12486 (dom_info): Redefine as class with proper encapsulation.
12487 (dom_info::m_n_basic_blocks, m_reverse, m_start_block, m_end_block):
12488 Add new members.
12489 (dom_info::dom_info, ~dom_info): Define. Use new/delete for memory
12490 allocations/deallocations. Pass function as parameter (instead of
12491 using cfun).
12492 (dom_info::get_idom): Define accessor method.
12493 (dom_info::calc_dfs_tree_nonrec, calc_dfs_tree, compress, eval,
12494 link_roots, calc_idoms): Redefine as class members. Do not use cfun.
12495 (calculate_dominance_info): Adjust to use dom_info class.
12496 (verify_dominators): Likewise.
12497
12498 2015-08-21 Alexandre Oliva <aoliva@redhat.com>
12499
12500 * print-rtl.c (print_rtx): Check the correct range for
12501 flag_dump_unnumbered_links to behave as documented.
12502
12503 PR rtl-optimization/67227
12504 PR rtl-optimization/64164
12505 * alias.c (memrefs_conflict_p): Handle VALUEs in PLUS better.
12506 (nonoverlapping_memrefs_p): Test offsets and sizes when given
12507 identical gimple_reg exprs.
12508
12509 2015-08-21 Nathan Sidwell <nathan@acm.org>
12510
12511 * config/nvptx/nvptx.md (allocate_stack): Emit sorry during
12512 expansion.
12513 * config/nvptx/nvptx.c (nvptx_declare_function_name): Look at
12514 crtl->stack_alignment_needed to determine alignment.
12515 (nvptx_get_drap_rtx): New.
12516 (TARGET_GET_DRAP_RTX): Override.
12517 * config/nvptx/nvptx.h (MAX_STACK_ALIGNMENT): Set.
12518
12519 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12520
12521 * config.build: Remove case for m68000-hp-hpux* | m68k-hp-hpux*.
12522
12523 2015-08-21 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12524
12525 * configure.ac: Remove uwin* cases.
12526 * config.build: Remove cases for i370-*-opened*, i370-*-mvs*,
12527 i[34567]86-*-sco3.2v5*, i[34567]86-sequent-ptx4*,
12528 i[34567]86-sequent-sysv4*, i[34567]86-*-sysv4*,
12529 i[34567]86-*-udk*, i[34567]86-*-uwin*, i386-*-vsta.
12530 * config.host: Remove cases for i370-*-opened*, i370-*-mvs*,
12531 i[34567]86-*-uwin*, powerpc-*-beos*.
12532
12533 2015-08-21 Richard Sandiford <richard.sandiford@arm.com>
12534
12535 * gencodes.c (gencodes): Print the comma for the preceding
12536 enum value rather than the current one. Use aliased enum values
12537 rather than #defines for compiled-out patterns.
12538 (main): Update accordingly. Replace LAST_INSN_CODE with
12539 NUM_INSN_CODES.
12540 * lra.c (insn_code_data): Update accordingly.
12541 (finish_insn_code_data_once, get_static_insn_data): Likewise.
12542 * recog.h (target_recog): Likewise.
12543 (preprocess_insn_constraints): Change parameter to unsigned int.
12544 * recog.c (preprocess_insn_constraints): Likewise.
12545 (recog_init): Replace LAST_INSN_CODE with NUM_INSN_CODES.
12546 * tree-vect-stmts.c (vectorizable_operation): Simplify.
12547
12548 2015-08-21 Markus Trippelsdorf <markus@trippelsdorf.de>
12549
12550 PR rtl-optimization/61657
12551 * loop-iv.c (iv_number_of_iterations): Declare up and down as
12552 unsigned. Remove superflous uint64_t cast.
12553
12554 2014-08-21 Felix Yang <felix.yang@huawei.com>
12555 Jiji Jiang <jiangjiji@huawei.com>
12556
12557 * value-prof.c (interesting_stringop_to_profile_p): Removed FNDECL
12558 argument and get builtin function code directly from CALL.
12559 (gimple_stringop_fixed_value): Modified accordingly.
12560 (gimple_stringops_transform, gimple_stringops_values_to_profile):
12561 Modified accordingly and only accept BUILT_IN_NORMAL string operations.
12562
12563 2015-08-21 Dominik Vogt <vogt@linux.vnet.ibm.com>
12564
12565 * config/s390/s390-builtins.def: Fix value range of vec_load_bndry.
12566
12567 2015-08-21 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12568
12569 * fold-const.c (fold_binary_loc) : Move sqrt(x)*sqrt(x) as x
12570 to match.pd.
12571 Move Optimize pow(x,y)*pow(z,y) as pow(x*z,y)to match.pd.
12572 Move Optimize tan(x)*cos(x) as sin(x) to match.pd.
12573 Move Optimize x*pow(x,c) as pow(x,c+1) to match.pd.
12574 Move Optimize pow(x,c)*x as pow(x,c+1) to match.pd.
12575 Move Optimize sin(x)/cos(x) as tan(x) to match.pd.
12576 Move Optimize cos(x)/sin(x) as 1.0/tan(x) to match.pd.
12577 Move Optimize sin(x)/tan(x) as cos(x) to match.pd.
12578 Move Optimize tan(x)/sin(x) as 1.0/cos(x) to match.pd.
12579 Move Optimize pow(x,c)/x as pow(x,c-1) to match.pd.
12580 Move Optimize x/pow(y,z) into x*pow(y,-z) to match.pd.
12581
12582 * match.pd (SIN ) : New Operator.
12583 (TAN) : New Operator.
12584 (mult (SQRT@1 @0) @1) : New simplifier.
12585 (mult (POW:s @0 @1) (POW:s @2 @1)) : New simplifier.
12586 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
12587 (mult:c (TAN:s @0) (COS:s @0)) : New simplifier.
12588 (rdiv (SIN:s @0) (COS:s @0)) : New simplifier.
12589 (rdiv (COS:s @0) (SIN:s @0)) : New simplifier.
12590 (rdiv (SIN:s @0) (TAN:s @0)) : New simplifier.
12591 (rdiv (TAN:s @0) (SIN:s @0)) : New simplifier.
12592 (rdiv (POW:s @0 REAL_CST@1) @0) : New simplifier.
12593 (rdiv @0 (SQRT:s (rdiv:s @1 @2))) : New simplifier.
12594 (rdiv @0 (POW:s @1 @2)) : New simplifier.
12595
12596 2015-08-21 Bin Cheng <bin.cheng@arm.com>
12597
12598 * tree-ssa-loop-niter.c (simplify_using_initial_conditions): Break
12599 loop if EXPR is simplified to const value.
12600
12601 2015-08-21 Yury Gribov <y.gribov@samsung.com>
12602
12603 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_NONNULL_ARG,
12604 BUILT_IN_UBSAN_HANDLE_NONNULL_ARG): Fix builtin types.
12605
12606 2015-08-21 Richard Biener <rguenther@suse.de>
12607
12608 PR middle-end/67285
12609 * gimple-fold.c (replace_stmt_with_simplification): Assert
12610 seq is empty when replacing a call with itself but different
12611 arguments.
12612 * gimple-match-head.c (maybe_push_res_to_seq): When pushing
12613 a call require that it is const.
12614
12615 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12616
12617 * defaults.h (CONSTANT_ALIGNMENT): New macro definition.
12618 * builtins.c (get_object_alignment_2): Adjust.
12619 * varasm.c (align_variable): Likewise.
12620 (get_variable_align): Likewise.
12621 (build_constant_desc): Likewise.
12622 (force_const_mem): Likewise.
12623 * doc/tm.texi.in: Likewise.
12624 * doc/tm.texi: Regenerate.
12625
12626 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12627
12628 * genconfig.c (main): Always define HAVE_cc0.
12629 * recog.c (rest_of_handle_peephole2): Adjust.
12630
12631 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12632
12633 * reorg.c (relax_delay_slots): Don't use #if to check value of
12634 HAVE_cc0.
12635
12636 2015-08-20 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
12637
12638 * genconfig.c (main): Always define HAVE_CONDITIONAL_EXECUTION.
12639 * targhooks.c (default_have_conditional_execution): Adjust.
12640
12641 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
12642
12643 * rtl.h (rtvec_all_equal_p): Declare.
12644 (const_vec_duplicate_p, unwrap_const_vec_duplicate): New functions.
12645 * rtl.c (rtvec_all_equal_p): New function.
12646 * expmed.c (expand_mult): Use unwrap_const_vec_duplicate.
12647 * config/aarch64/aarch64.c (aarch64_vect_float_const_representable_p)
12648 (aarch64_simd_dup_constant): Use const_vec_duplicate_p.
12649 * config/arm/arm.c (neon_vdup_constant): Likewise.
12650 * config/s390/s390.c (s390_contiguous_bitmask_vector_p): Likewise.
12651 * config/tilegx/constraints.md (W, Y): Likewise.
12652 * config/tilepro/constraints.md (W, Y): Likewise.
12653 * config/spu/spu.c (spu_legitimate_constant_p): Likewise.
12654 (classify_immediate): Use unwrap_const_vec_duplicate.
12655 * config/tilepro/predicates.md (reg_or_v4s8bit_operand): Likewise.
12656 (reg_or_v2s8bit_operand): Likewise.
12657 * config/tilegx/predicates.md (reg_or_v8s8bit_operand): Likewise.
12658 (reg_or_v4s8bit_operand): Likewise.
12659
12660 2015-08-20 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
12661
12662 * config/rs6000/altivec.h (vec_pmsum_be): New #define.
12663 (vec_shasigma_be): New #define.
12664 * config/rs6000/rs6000-builtin.def (VPMSUMB): New BU_P8V_AV2_2.
12665 (VPMSUMH): Likewise.
12666 (VPMSUMW): Likewise.
12667 (VPMSUMD): Likewise.
12668 (VPMSUM): New BU_P8V_OVERLOAD_2.
12669 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): New
12670 entries for VEC_MADD and VEC_VPMSUM.
12671
12672 2015-08-20 Georg-Johann Lay <avr@gjlay.de>
12673
12674 * config/avr/avr.c (avr_insert_attributes): In diagnostic essage:
12675 Multiply argument avr_n_flash by 64 to match unit of "KiB".
12676 (avr_pgm_check_var_decl): Same.
12677
12678 2015-08-20 Alan Lawrence <alan.lawrence@arm.com>
12679
12680 * config/arm/arm-builtins.c (arm_init_simd_builtin_types): Move
12681 initialization of HFmode scalar type (float16_t) to...
12682 (arm_init_fp16_builtins): ... Here. Combine with __fp16 initialization
12683 code.
12684
12685 (arm_init_builtins): Call arm_init_fp16_builtins earlier and always.
12686
12687 * config/arm/arm_neon.h (vcvt_f16_f32, vcvt_f32_f16): Condition on
12688 having an -mfp16-format.
12689
12690 2015-08-20 Richard Sandiford <richard.sandiford@arm.com>
12691
12692 * config/i386/predicates.md (vector_all_ones_operand): Use
12693 CONSTM1_RTX to simplify definition.
12694
12695 2015-08-20 Richard Biener <rguenther@suse.de>
12696
12697 * toplev.c (compile_file): Remove loop calling late_global_decl
12698 on all symbols.
12699 * varpool.c (varpool_node::assemble_decl): Call late_global_decl
12700 on decls we assembled.
12701
12702 2015-08-20 James Greenhalgh <james.greenhalgh@arm.com>
12703
12704 * common/config/aarch64/aarch64-common.c
12705 (AARCH64_CPU_NAME_LENGTH): Delete.
12706 (aarch64_option_extension): New.
12707 (all_extensions): Likewise.
12708 (processor_name_to_arch): Likewise.
12709 (arch_to_arch_name): Likewise.
12710 (all_cores): New.
12711 (all_architectures): Likewise.
12712 (aarch64_get_extension_string_for_isa_flags): Likewise.
12713 (aarch64_rewrite_selected_cpu): Change to rewrite CPU names to
12714 architecture names.
12715 * config/aarch64/aarch64-protos.h
12716 (aarch64_get_extension_string_for_isa_flags): New.
12717 * config/aarch64/aarch64.c (aarch64_print_extension): Delete.
12718 (aarch64_option_print): Get the string to print from
12719 aarch64_get_extension_string_for_isa_flags.
12720 (aarch64_declare_function_name): Likewise.
12721 * config/aarch64/aarch64.h (BIG_LITTLE_SPEC): Rename to...
12722 (MCPU_TO_MARCH_SPEC): This.
12723 (ASM_CPU_SPEC): Use it.
12724 (BIG_LITTLE_SPEC_FUNCTIONS): Rename to...
12725 (MCPU_TO_MARCH_SPEC_FUNCTIONS): ...This.
12726 (EXTRA_SPEC_FUNCTIONS): Use it.
12727
12728 2015-08-20 Simon Dardis <simon.dardis@imgtec.com>
12729
12730 * config/mips/mips.c (mips_expand_block_move): Enable inline memcpy
12731 expansion when !ISA_HAS_LWL_LWR.
12732 (mips_block_move_straight): Update the size of elements copied to
12733 account for alignment when !ISA_HAS_LWL_LWR.
12734 * config/mips/mips.h (MIPS_MIN_MOVE_MEM_ALIGN): New macro.
12735
12736 2015-08-19 Jiong Wang <jiong.wang@arm.com>
12737
12738 * expr.c (expand_expr_real_2): Check gimple statement during
12739 LSHIFT_EXPR expand.
12740
12741 2015-08-19 Magnus Granberg <zorry@gentoo.org>
12742
12743 * common.opt (fstack-protector): Initialize to -1.
12744 (fstack-protector-all): Likewise.
12745 (fstack-protector-strong): Likewise.
12746 (fstack-protector-explicit): Likewise.
12747 * configure.ac: Add --enable-default-ssp.
12748 * defaults.h (DEFAULT_FLAG_SSP): New. Default SSP to strong.
12749 * opts.c (finish_options): Update opts->x_flag_stack_protect if it is
12750 -1.
12751 * doc/install.texi: Document --enable-default-ssp.
12752 * config.in: Regenerated.
12753 * configure: Likewise.
12754
12755 2015-08-19 Alexandre Oliva <aoliva@redhat.com>
12756
12757 PR rtl-optimization/64164
12758 * cfgexpand.c (parm_maybe_byref_p): Renamed to...
12759 (parm_in_stack_slot_p): ... this. Disregard mode, what
12760 matters is whether the parm will live in a pseudo or a stack
12761 slot.
12762 (expand_one_ssa_partition): Deal with params without a default
12763 def. Disregard mode.
12764 * cfgexpand.h: Renamed function declaration.
12765 * tree-ssa-coalesce.c: Adjust.
12766 * function.c (split_complex_args): Allocate stack slot for
12767 unassigned parms before splitting.
12768 (parm_in_unassigned_mem_p): New. Use it instead of
12769 parm_maybe_byref_p throughout this file.
12770 (assign_parm_setup_block): Use it. Accept pseudos in the
12771 expand-assigned rtl.
12772 (assign_parm_setup_reg): Drop BLKmode requirement.
12773 (assign_parm_setup_stack): Allocate and fill in the address of
12774 unassigned MEM parms.
12775
12776 2015-08-19 David Sherwood <david.sherwood@arm.com>
12777
12778 * genmodes.c (emit_mode_unit_size_inline): New function.
12779 (emit_mode_unit_precision_inline): New function.
12780 (emit_insn_modes_h): Emit new #define. Emit new functions.
12781 (emit_mode_unit_size): New function.
12782 (emit_mode_unit_precision): New function.
12783 (emit_mode_adjustments): Add mode_unit_size adjustments.
12784 (emit_insn_modes_c): Emit new arrays.
12785 * machmode.h (GET_MODE_UNIT_SIZE, GET_MODE_UNIT_PRECISION): Update to
12786 use new inline methods.
12787
12788 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12789
12790 * config/aarch64/aarch64.c (bit_count): Delete prototype
12791 and definition.
12792 (aarch64_print_operand): Use popcount_hwi instead of the above.
12793
12794 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12795
12796 * config/aarch64/aarch64-option-extensions.def: Delete obsolete
12797 comment.
12798
12799 2015-08-19 Marek Polacek <polacek@redhat.com>
12800
12801 PR middle-end/67133
12802 * gimple-ssa-isolate-paths.c
12803 (insert_trap_and_remove_trailing_statements): Rename to ...
12804 (insert_trap): ... this. Don't remove trailing statements; split
12805 block instead.
12806 (find_explicit_erroneous_behaviour): Don't remove all outgoing edges.
12807
12808 2015-08-19 Mikael Morin <mikael@gcc.gnu.org>
12809
12810 PR other/67042
12811 * hwint.h (sext_hwi): Switch to unsigned for the left shift, and
12812 conditionalize the whole on __GNUC__. Add fallback code
12813 depending neither on undefined nor implementation-defined behaviour.
12814
12815 2015-08-19 Jiong Wang <jiong.wang@arm.com>
12816
12817 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Replace
12818 whitespaces with tab.
12819
12820 2015-08-19 Florian Weimer <fweimer@redhat.com>
12821
12822 * prj.adb (For_Every_Project_Imported_Context.Recursive_Check_Context):
12823 Move Name_Id_Set instantiation to the Prj package, to avoid trampolines.
12824 * prj-proc.adb (Process.Process_Expression_Variable_Decl):
12825 Move Name_Ids instantiation to the Prj.Proc package, to avoid
12826 trampolines.
12827
12828 2015-08-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
12829
12830 * config/arm/arm.c (bounds_check): Use %wd print format
12831 for HOST_WIDE_INT arguments.
12832
12833 2015-08-18 Trevor Saunders <tbsaunde@tbsaunde.org>
12834
12835 * bb-reorder.c, cfgloop.h, collect2.c, combine.c, dse.c,
12836 dwarf2cfi.c, gcse-common.h, genopinit.c, ggc-page.c, machmode.h,
12837 mcf.c, modulo-sched.c, omp-low.c, read-rtl.c, sched-rgn.c,
12838 signop.h, tree-call-cdce.c, tree-dfa.c, tree-diagnostic.c,
12839 tree-inline.h, tree-scalar-evolution.c, tree-ssa-address.c,
12840 tree-ssa-loop-niter.c, tree-ssa-loop.h, tree-ssa-pre.c,
12841 tree-ssa-reassoc.c, tree-ssa-sccvn.h, tree-ssa-structalias.c,
12842 tree-ssa-uninit.c, tree-ssa.h, tree-vect-loop-manip.c,
12843 tree-vectorizer.h, tree-vrp.c, var-tracking.c: Remove useless
12844 typedefs.
12845
12846 2015-08-18 trevor Saunders <tbsaunde@tbsaunde.org>
12847
12848 * bt-load.c, cgraph.h, dwarf2out.c, dwarf2out.h, final.c,
12849 function.c, graphite-scop-detection.c, haifa-sched.c,
12850 ipa-devirt.c, ipa-split.c, recog.c, ree.c, stmt.c,
12851 tree-data-ref.c, tree-ssa-dom.c, tree-ssa-loop-ivopts.c,
12852 varasm.c: Remove typedefs of structs.
12853
12854 2015-08-18 Bill Schmidt <wschmidt@vnet.linux.ibm.com>
12855
12856 * config/rs6000/altivec.h (vec_adde): New define.
12857 (vec_addec): Likewise.
12858 (vec_double): Likewise.
12859 (vec_bperm): Likewise.
12860 (vec_gb): Likewise.
12861 * config/rs6000/rs6000-builtin.def (ADDE): New
12862 BU_ALTIVEC_OVERLOAD_3.
12863 (ADDEC): Likewise.
12864 (DOUBLE): New BU_VSX_OVERLOAD_1.
12865 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add new
12866 entries for ALTIVEC_BUILTIN_VEC_ADDC, ALTIVEC_BUILTIN_VEC_ADDE,
12867 ALTIVEC_BUILTIN_VEC_ADDEC, ALTIVEC_BUILTIN_VEC_ANDC,
12868 VSX_BUILTIN_VEC_DOUBLE, ALTIVEC_BUILTIN_VEC_MERGEH,
12869 ALTIVEC_BUILTIN_VEC_MERGEL, ALTIVEC_BUILTIN_VEC_NOR,
12870 ALTIVEC_BUILTIN_VEC_OR, ALTIVEC_BUILTIN_VEC_XOR,
12871 ALTIVEC_BUILTIN_VEC_PERM, ALTIVEC_BUILTIN_VEC_SEL,
12872 P8V_BUILTIN_VEC_EQV, P8V_BUILTIN_VEC_NAND, P8V_BUILTIN_VEC_ORC,
12873 and P8V_BUILTIN_VEC_VBPERMQ.
12874
12875 2015-08-18 Jason Merrill <jason@redhat.com>
12876
12877 * print-tree.c (print_node): Handle TREE_BINFO.
12878
12879 2015-08-18 Francois-Xavier Coudert <fxcoudert@gcc.gnu.org>
12880
12881 PR middle-end/36757
12882 * builtins.c (expand_builtin_signbit): Add asserts to make sure
12883 we can expand BUILT_IN_SIGNBIT inline.
12884 * builtins.def (BUILT_IN_SIGNBIT): Make type-generic.
12885 * doc/extend.texi: Document the type-generic __builtin_signbit.
12886
12887 2015-08-18 Richard Sandiford <richard.sandiford@arm.com>
12888
12889 PR rtl-optimization/67218
12890 * simplify-rtx.c (exact_int_to_float_conversion_p): New function.
12891 (simplify_unary_operation_1): Use it.
12892
12893 2015-08-18 Marek Polacek <polacek@redhat.com>
12894
12895 PR middle-end/67222
12896 * gimple-low.c (lower_stmt): Don't lower BUILT_IN_POSIX_MEMALIGN
12897 if the call isn't valid.
12898 * tree-ssa-alias.c (ref_maybe_used_by_call_p_1): Check builtins using
12899 gimple_call_builtin_p.
12900 (call_may_clobber_ref_p_1): Likewise.
12901 (stmt_kills_ref_p): Likewise.
12902
12903 2015-08-18 Robert Suchanek <robert.suchanek@imgtec.com>
12904
12905 * config/mips/mips-protos.h (mips_hard_regno_rename_ok): New prototype.
12906 * config/mips/mips.c (mips_hard_regno_rename_ok): New function.
12907 (mips_hard_regno_scratch_ok): Likewise.
12908 (TARGET_HARD_REGNO_SCRATCH_OK): Define macro.
12909 * config/mips/mips.h (HARD_REGNO_RENAME_OK): New.
12910
12911 2015-08-18 Bin Cheng <bin.cheng@arm.com>
12912
12913 * tree-ssa-loop-niter.c (refine_value_range_using_guard): New.
12914 (determine_value_range): Call refine_value_range_using_guard for
12915 each loop initial condition to improve value range.
12916
12917 2015-08-17 Aldy Hernandez <aldyh@redhat.com>
12918
12919 * config/i386/i386.c: Remove include of fibheap.h.
12920
12921 2015-08-17 Richard Biener <rguenther@suse.de>
12922
12923 PR tree-optimization/67221
12924 * tree-ssa-sccvn.c (visit_phi): Keep all-TOP args TOP.
12925 (sccvn_dom_walker::before_dom_children): Mark backedges of
12926 non-executable blocks as not executable.
12927
12928 2015-08-17 David Sherwood <david.sherwood@arm.com>
12929
12930 * config/arm/arm.c (neon_element_bits): Replace call to
12931 GET_MODE_BITSIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_BITSIZE (m).
12932 * config/arm/neon.md (neon_vget_lane<mode>): Likewise.
12933 (neon_vget_laneu<mode>, neon_vset_lane<mode>): Likewise
12934 (neon_vdup_lane<mode>): Likewise.
12935 * config/i386/i386.c (ix86_expand_int_vcond): Likewise.
12936 (ix86_expand_multi_arg_builtin, ix86_expand_reduc): Likewise.
12937 (expand_vec_perm_palignr, ix86_expand_sse2_abs): Likewise.
12938 * config/rs6000/rs6000.c (rs6000_do_expand_vec_perm): Likewise.
12939 * config/spu/spu.c (arith_immediate_p): Likewise.
12940 * expmed.c (store_bit_field_1, extract_bit_field_1): Likewise.
12941 * expr.c (expand_expr_real_2): Likewise.
12942 * optabs.c (shift_amt_for_vec_perm_mask): Likewise.
12943 * simplify-rtx.c (simplify_immed_subreg): Likewise.
12944 * tree-cfg.c (verify_gimple_assign_ternary): Likewise.
12945 * tree-vect-patterns.c (vect_recog_mixed_size_cond_pattern): Likewise.
12946 New variable.
12947 * fold-const.c (fold_binary_loc): Replace call to
12948 GET_MODE_PRECISION (GET_MODE_INNER (m)) with
12949 GET_MODE_UNIT_PRECISION (m).
12950
12951 2015-08-17 Mike Stump <mikestump@comcast.net>
12952
12953 * config/arm/arm.c (arm_block_move_unaligned_straight):
12954 Emit normal move instead of unaligned load when source or destination
12955 are appropriately aligned.
12956
12957 2015-08-17 Richard Biener <rguenther@suse.de>
12958 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
12959
12960 PR middle-end/16107
12961 * match.pd (div (coss (op @0) : New simplifier.
12962
12963 2015-08-14 Alexandre Oliva <aoliva@redhat.com>
12964
12965 PR rtl-optimization/64164
12966 PR bootstrap/66978
12967 PR middle-end/66983
12968 PR rtl-optimization/67000
12969 PR middle-end/67034
12970 PR middle-end/67035
12971 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
12972 * tree-ssa-copyrename.c: Removed.
12973 * opts.c (default_options_table): Drop -ftree-copyrename. Add
12974 -ftree-coalesce-vars.
12975 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
12976 * common.opt (ftree-copyrename): Ignore.
12977 (ftree-coalesce-inlined-vars): Likewise.
12978 * doc/invoke.texi: Remove the ignored options above.
12979 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
12980 * tree-ssa-coalesce.h: ... here.
12981 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
12982 headers required by it.
12983 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
12984 across variables when flag_tree_coalesce_vars. Check register
12985 use and promoted modes to allow coalescing. Do not coalesce
12986 maybe-byref parms with SSA_NAMEs of other variables, or
12987 anonymous SSA_NAMEs. Moved to tree-ssa-coalesce.c.
12988 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
12989 with its member functions to tree-ssa-coalesce.c.
12990 (var_map_base_init): Likewise. Renamed to
12991 compute_samebase_partition_bases.
12992 (partition_view_normal): Drop want_bases parameter.
12993 (partition_view_bitmap): Likewise.
12994 * tree-ssa-live.h: Adjust declarations.
12995 * tree-ssa-coalesce.c: Include explow.h and cfgexpand.h.
12996 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
12997 default defs at the entry point.
12998 (dump_part_var_map): New.
12999 (compute_optimized_partition_bases): New, called by...
13000 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
13001 of compute_samebase_partition_bases. Adjust.
13002 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
13003 * cfgexpand.c (leader_merge, parm_maybe_byref_p): New.
13004 (ssa_default_def_partition): New.
13005 (get_rtl_for_parm_ssa_default_def): New.
13006 (align_local_variable, add_stack_var): Support anonymous SSA
13007 names.
13008 (defer_stack_allocation): Likewise. Declare earlier.
13009 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
13010 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
13011 Do no record deferred-allocation marker in
13012 SA.partition_to_pseudo.
13013 (expand_stack_vars): Adjust check for the marker in it.
13014 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
13015 redundant MEM attr setting.
13016 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
13017 from...
13018 (expand_one_stack_var): ... this. New wrapper to check and
13019 skip already expanded SSA partitions.
13020 (record_alignment_for_reg_var): New, factored out of...
13021 (expand_one_var): ... this.
13022 (expand_one_ssa_partition): New.
13023 (adjust_one_expanded_partition_var): New.
13024 (expand_one_register_var): Check and skip already expanded SSA
13025 partitions.
13026 (expand_used_vars): Don't create DECLs for anonymous SSA
13027 names. Expand all SSA partitions, then adjust all SSA names.
13028 (pass::execute): Replace the loops that set
13029 SA.partition_to_pseudo from partition leaders and cleared
13030 DECL_RTL for multi-location variables, and that which used to
13031 rename vars and set attrs, with one that clears DECL_RTL and
13032 checks that PARMs and RESULTs default_defs match DECL_RTL.
13033 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
13034 * emit-rtl.c: Include stor-layout.h.
13035 (set_reg_attrs_for_parm): Handle NULL decl.
13036 (set_reg_attrs_for_decl_rtl): Take mode from expression if
13037 it's not a DECL.
13038 * stmt.c (emit_case_decision_tree): Pass it the SSA_NAME
13039 rather than its possibly-NULL DECL.
13040 * explow.c (promote_ssa_mode): New.
13041 * explow.h (promote_ssa_mode): Declare.
13042 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
13043 (read_complex_part): Export.
13044 * expr.h (read_complex_part): Declare.
13045 * cfgexpand.h (parm_maybe_byref_p): Declare.
13046 * function.c: Include cfgexpand.h.
13047 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
13048 (use_register_for_parm_decl): Wrapper for the above to
13049 special-case the result_ptr.
13050 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
13051 (split_complex_args): Take assign_parm_data_all argument.
13052 Pass it to rtl_for_parm. Set up rtl and context for split
13053 args. Reset complex parm before fetching its default decl
13054 rtl.
13055 (assign_parms_unsplit_complex): Use the default-def complex
13056 parm rtl if it matches the components.
13057 (assign_parms_augmented_arg_list): Adjust.
13058 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
13059 multiple locations. Recognize split complex args.
13060 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
13061 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
13062 (assign_parm_setup_block): Prefer SSA-assigned location, and
13063 fill in its address if the memory location of a maybe-byref
13064 parm was not assigned by cfgexpand.
13065 (assign_parm_setup_reg): Likewise. Adjust its mode as
13066 needed. Use entry_parm for equiv if stack_parm is NULL. Make
13067 sure passed_pointer parms don't need conversion. Copy address
13068 or value as needed.
13069 (assign_parm_setup_stack): Prefer SSA-assigned location.
13070 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
13071 rtl before testing for pointer bounds. Special-case result_ptr.
13072 (expand_function_start): Maybe reset DECL_RTL of result.
13073 Prefer SSA-assigned location for result and static chain.
13074 Factor out DECL_RESULT and SET_DECL_RTL. Convert static chain
13075 to Pmode if needed, from H.J. Lu <hongjiu.lu@intel.com>.
13076 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
13077 anonymous SSA names. Use promote_ssa_mode.
13078 (get_temp_reg): Likewise.
13079 (remove_ssa_form): Adjust.
13080 * stor-layout.c (layout_decl): Don't set mem attributes of
13081 non-MEMs.
13082 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
13083 and get its reg_usage for reg invalidation.
13084 (compute_bb_dataflow): Pass it insn.
13085 (emit_notes_in_bb): Likewise.
13086
13087 2015-08-14 Marek Polacek <polacek@redhat.com>
13088
13089 * tree-core.h (tree_base): Fix typo.
13090
13091 2015-08-14 Marek Polacek <polacek@redhat.com>
13092
13093 PR middle-end/67133
13094 * gimple.c (infer_nonnull_range_by_attribute): Check that the
13095 nonnull argument position is not outside function arguments.
13096
13097 2015-08-14 Matthew Wahab <matthew.wahab@arm.com>
13098
13099 PR target/67143
13100 * config/aarch64/atomics.md (atomic_<optab><mode>): Replace
13101 'lconst_atomic' with 'const_atomic'.
13102 (atomic_fetch_<optab><mode>): Likewise.
13103 (atomic_<optab>_fetch<mode>): Likewise.
13104 * config/aarch64/iterators.md (lconst-atomic): Move below
13105 'const_atomic'.
13106 (const_atomic): New.
13107
13108 2015-08-14 Thomas Schwinge <thomas@codesourcery.com>
13109 Bernd Schmidt <bernds@codesourcery.com>
13110
13111 * config/nvptx/nvptx.c (nvptx_option_override): Don't override
13112 debug options.
13113 * config/nvptx/nvptx.h (DWARF2_LINENO_DEBUGGING_INFO): Define.
13114 (DWARF2_DEBUGGING_INFO): Don't define.
13115 * debug.h (dwarf2_lineno_debug_hooks): Declare.
13116 * toplev.c (process_options): Add a case for it.
13117 * dwarf2out.c (dwarf2_lineno_debug_hooks): New variable.
13118 (dwarf2out_init): Skip most initializations if
13119 DWARF2_LINENO_DEBUGGING_INFO, but set cur_line_info_table in that
13120 case.
13121 * defaults.h (PREFERRED_DEBUGGING_TYPE): Also use DWARF2_DEBUG if
13122 DWARF2_LINENO_DEBUGGING_INFO.
13123 * opts.c (set_debug_level): Likewise.
13124
13125 2015-08-14 James Greenhalgh <james.greenhalgh@arm.com>
13126
13127 * config/arm/types.md (is_neon_type): Add missing types.
13128
13129 2015-08-14 Yuri Rumyantsev <ysrumyan@gmail.com>
13130
13131 * config/i386/driver-i386.c (host_detect_local_cpu): Add support
13132 for skylake.
13133 * config/i386/i386.c (PTA_SKYLAKE): New macros.
13134 (processor_alias_table): Add skylake description.
13135 (enum processor_model): Add skylake processor.
13136 (arch_names_table): Add skylake record.
13137 * doc/invoke.texi: Add skylake item.
13138
13139 2015-08-13 Andrew MacLeod <amacleod@redhat.com>
13140
13141 * ira-int.h: Include recog.h.
13142 * ira-build.c: Don't include recog.h.
13143 * ira-color.c: Likewise.
13144 * ira-conflicts.c: Likewise.
13145 * ira-costs.c: Likewise.
13146 * ira-emit.c: Likewise.
13147 * ira-lives.c: Likewise.
13148 * ira.c: Likewise.
13149 * sched-deps.c: Likewise.
13150 * sel-sched.c: Likewise.
13151 * target-globals.c: Likewise.
13152
13153 2015-08-13 Richard Sandiford <richard.sandiford@arm.com>
13154
13155 PR bootstrap/55035
13156 * reload1.c (elimination_costs_in_insn): Make it obvious to the
13157 compiler that the n_dups and n_operands loop bounds are invariant.
13158
13159 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13160
13161 * ifcvt.c (noce_try_store_flag_constants): Handle PLUS-immediate
13162 expressions in A and B.
13163
13164 2015-08-13 Richard Biener <rguenther@suse.de>
13165
13166 * tree.c (nonnull_arg_p): Move from ...
13167 * tree-vrp.c (nonnull_arg_p): ... here.
13168 * tree.h (nonnull_arg_p): Declare.
13169 * tree-ssa-sccvn.c (init_scc_vn): Perform all lattice init
13170 here, register ptr != 0 for nonnull_arg_p pointer arguments.
13171 Properly initialize static chain and by-reference result pointer.
13172 (run_scc_vn): Adjust.
13173
13174 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
13175
13176 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Enable load/store pairs for
13177 TUNE_I6400.
13178
13179 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
13180
13181 * config/aarch64/aarch64-protos.h
13182 (aarch64_gen_atomic_cas): Declare.
13183 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap):
13184 Choose appropriate instruction pattern for the target.
13185 (aarch64_gen_atomic_cas): New.
13186 * config/aarch64/atomics.md (UNSPECV_ATOMIC_CAS): New.
13187 (atomic_compare_and_swap<mode>_1): Rename to
13188 aarch64_compare_and_swap<mode>. Fix some indentation.
13189 (aarch64_compare_and_swap<mode>_lse): New.
13190 (aarch64_atomic_cas<mode>): New.
13191
13192 2015-08-13 Matthew Wahab <matthew.wahab@arm.com>
13193
13194 * config/aarch64/aarch64.h (AARCH64_ISA_LSE): New.
13195 (TARGET_LSE): New.
13196
13197 2015-08-13 Richard Biener <rguenther@suse.de>
13198
13199 PR tree-optimization/67191
13200 * tree-ssa-sccvn.c (sccvn_dom_walker::before_dom_children): Remove
13201 assert we value-numbered last stmts operand because it can validly
13202 trigger for unreachable code.
13203
13204 2015-08-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13205
13206 PR rtl-optimization/67103
13207 * ifcvt.c (noce_try_store_flag_constants): Move
13208 x = (-(test != 0) & (b - a)) + a transformation to...
13209 (noce_try_cmove): ... Here. Try it if normal conditional
13210 move fails.
13211
13212 2015-08-13 Robert Suchanek <robert.suchanek@imgtec.com>
13213
13214 * config/mips/mips.c (mips_rtx_cost_data): Remove costs for W32 and W64
13215 pseudo-processors.
13216 * config/mips/mips.md (processor): Remove w32 and w64.
13217
13218 2015-08-13 Richard Biener <rguenther@suse.de>
13219
13220 PR tree-optimization/66502
13221 PR tree-optimization/67167
13222 * tree-ssa-sccvn.c (vn_phi_compute_hash): Do not include
13223 backedge arguments.
13224 (vn_phi_lookup): Adjust.
13225 (vn_phi_insert): Likewise.
13226 (visit_phi): Prefer to value-number to another PHI node
13227 over value-numbering to a PHI argument.
13228 (init_scc_vn): Mark DFS back edges.
13229
13230 2015-08-13 Richard Biener <rguenther@suse.de>
13231
13232 * gimple.h (gcall::code_): New constant static member.
13233 (gcond::code_): Likewise.
13234 * gimple.c (gcall::code_): Define.
13235 (gcond::code_): Likewise.
13236 (is_a_helper <const gcond *>): Add.
13237 (gimple_call_lhs): Use GIMPLE_CHECK2 in the gimple overload
13238 and forward to a new gcall overload with less checking and a
13239 cheaper way to access the operand.
13240 (gimple_call_lhs_ptr): Likewise.
13241 (gimple_call_set_lhs): Likewise.
13242 (gimple_call_internal_p): Likewise.
13243 (gimple_call_with_bounds_p): Likewise.
13244 (gimple_call_set_with_bounds): Likewise.
13245 (gimple_call_internal_fn): Likewise.
13246 (gimple_call_set_ctrl_altering): Likewise.
13247 (gimple_call_ctrl_altering_p): Likewise.
13248 (gimple_call_fntype): Likewise.
13249 (gimple_call_fn): Likewise.
13250 (gimple_call_fn_ptr): Likewise.
13251 (gimple_call_set_fndecl): Likewise.
13252 (gimple_call_fndecl): Likewise.
13253 (gimple_call_chain): Likewise.
13254 (gimple_call_num_args): Likewise.
13255 (gimple_call_arg): Likewise.
13256 (gimple_call_arg_ptr): Likewise.
13257 (gimple_call_set_arg): Likewise.
13258 (gimple_call_noreturn_p): Likewise.
13259 (gimple_cond_code): Likewise.
13260 (gimple_cond_lhs): Likewise.
13261 (gimple_cond_rhs): Likewise.
13262 (gimple_has_lhs): Reduce checking.
13263
13264 2015-08-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
13265
13266 PR middle-end/25529
13267 * match.pd (div (mult @0 @1) @1) : New simplifier.
13268
13269 2015-08-12 Michael Meissner <meissner@linux.vnet.ibm.com>
13270
13271 PR target/67071
13272 * config/rs6000/predicates.md (easy_vector_constant_vsldoi): New
13273 predicate to allow construction of vector constants using the
13274 VSLDOI vector shift instruction.
13275
13276 * config/rs6000/rs6000-protos.h (vspltis_shifted): Add
13277 declaration.
13278
13279 * config/rs6000/rs6000.c (vspltis_shifted): New function to return
13280 the number of bytes to be shifted left and filled in with either
13281 all zero or all one bits.
13282 (gen_easy_altivec_constant): Call vsplitis_shifted if no other
13283 methods exist.
13284 (output_vec_const_move): On power8, generate XXLORC to generate
13285 a vector constant with all 1's. Do a split if we need to use a
13286 VSLDOI instruction.
13287
13288 * config/rs6000/rs6000.h (EASY_VECTOR_MSB): Use mode mask to
13289 properly test for the MSB.
13290
13291 * config/rs6000/altivec.md (VSLDOI splitter): Add splitter for
13292 vector constants that can be created with VSLDOI.
13293
13294 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
13295
13296 revert:
13297 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
13298 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
13299 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
13300 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
13301 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
13302 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
13303 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
13304 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
13305 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
13306
13307 2015-08-12 Max Filippov <jcmvbkbc@gmail.com>
13308
13309 * config/xtensa/constraints.md (define_constraint "Y"): New
13310 constraint.
13311 * config/xtensa/elf.h (ASM_SPEC): Add m(no-)auto-litpools.
13312 * config/xtensa/linux.h (ASM_SPEC): Likewise.
13313 * config/xtensa/predicates.md (move_operand): Match constants
13314 and symbols in the presence of TARGET_AUTO_LITPOOLS.
13315 * config/xtensa/xtensa.c (xtensa_valid_move): Don't allow
13316 immediate references to TLS data.
13317 (xtensa_emit_move_sequence): Don't force constants to memory in
13318 the presence of TARGET_AUTO_LITPOOLS.
13319 (print_operand): Add 'y' format, same as default, but capable of
13320 printing SF mode constants as well.
13321 * config/xtensa/xtensa.md (movsi_internal, movhi_internal)
13322 (movsf_internal): Add movi pattern that loads literal.
13323 (movsf, movdf): Don't force constants to memory in the presence
13324 of TARGET_AUTO_LITPOOLS.
13325 (movdf_internal): Add 'Y' constraint.
13326 * config/xtensa/xtensa.opt (mauto-litpools): New option.
13327 * doc/invoke.text (Xtensa options): Document -mauto-litpools.
13328
13329 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
13330
13331 * config/arm/arm-fpus.def: Replace booleans with feature flags.
13332 Update comment.
13333 * config/arm/arm.c (ARM_FPU): Update macro.
13334 * config/arm/arm.h (TARGET_NEON_FP16): Update feature test.
13335 (TARGET_FP16): Likewise.
13336 (TARGET_CRYPTO): Likewise.
13337 (TARGET_NEON): Likewise.
13338 (struct arm_fpu_desc): Remove fields neon, fp16 and crypto. Add
13339 field features.
13340
13341 2015-08-12 Tom de Vries <tom@codesourcery.com>
13342
13343 PR other/67092
13344 PR other/67098
13345 * doc/install.texi: Remove --with_host_libstdcxx item. Update
13346 --with-stage1-libs, --with-boot-ldflags and --with-boot-libs items
13347 accordingly. Mention default for --with-stage1-ldflags.
13348
13349 2015-08-12 Matthew Wahab <matthew.wahab@arm.com>
13350
13351 * config/arm/arm.h (arm_fpu_feature_set): New.
13352 (ARM_FPU_FSET_HAS): New.
13353 (FPU_FL_NONE): New.
13354 (FPU_FL_NEON): New.
13355 (FPU_FL_FP16): New.
13356 (FPU_FL_CRYPTO): New.
13357
13358 2015-08-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13359
13360 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Break
13361 after -mcmodel=large -fPIC sorry.
13362
13363 2015-08-12 Richard Biener <rguenther@suse.de>
13364
13365 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Also canonicalize
13366 comparison operand order and commutative ternary op operand order.
13367 (sccvn_dom_walker::cond_stack): New state to track temporary
13368 expressions.
13369 (sccvn_dom_walker::after_dom_children): Remove tempoary expressions
13370 no longer valid.
13371 (sccvn_dom_walker::record_cond): Add a single temporary conditional
13372 expression.
13373 (sccvn_dom_walker::record_conds): Add a temporary conditional
13374 expressions and all related expressions also true/false.
13375 (sccvn_dom_walker::before_dom_children): Record temporary
13376 expressions based on the controlling condition of a single
13377 predecessor. When trying to simplify a conditional statement
13378 lookup expressions we might have inserted earlier.
13379
13380 2015-08-12 Yvan Roux <yvan.roux@linaro.org>
13381
13382 PR target/67127
13383 * config/arm/arm.md (movdi): Restrict illegitimate ldrd/strd checking
13384 to ARM core registers.
13385
13386 2015-08-12 Nathan Sidwell <nathan@acm.org>
13387
13388 * tree-vrp.c (simplify_min_or_max_using_ranges): New.
13389 (simplify_stmt_using_ranges): Simplify MIN and MAX exprs.
13390
13391 2015-08-12 Simon Dardis <simon.dardis@imgtec.com>
13392
13393 * config/mips/mips.c (mips_store_data_bypass_p): Bring code into
13394 line with comments.
13395 * config/mips/sb1.md: Update usage of mips_store_data_bypass_p.
13396
13397 2015-08-12 Richard Biener <rguenther@suse.de>
13398
13399 * gimple.h (remove_pointer): New trait.
13400 (GIMPLE_CHECK2): New inline template function.
13401 (gassign::code_): New constant static member.
13402 (is_a_helper<const gassign *>): Add.
13403 (gimple_assign_lhs): Use GIMPLE_CHECK2 in the gimple overload
13404 and forward to a new gassign overload with less checking and a
13405 cheaper way to access the operand.
13406 (gimple_assign_lhs_ptr): Likewise.
13407 (gimple_assign_set_lhs): Likewise.
13408 (gimple_assign_rhs1, gimple_assign_rhs1_ptr, gimple_assign_set_rhs1):
13409 Likewise.
13410 (gimple_assign_rhs2, gimple_assign_rhs2_ptr, gimple_assign_set_rhs2):
13411 Likewise.
13412 (gimple_assign_rhs3, gimple_assign_rhs3_ptr, gimple_assign_set_rhs3):
13413 Likewise.
13414 (gimple_assign_rhs_code): Likewise.
13415 * gimple.c (gassign::code_): Define.
13416
13417 2015-08-12 Richard Biener <rguenther@suse.de>
13418
13419 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children):
13420 Eliminate edges marked as not executable by SCCVN.
13421 * tree-ssa-sccvn.c: Include gimple-iterator.h.
13422 (cond_dom_walker): Rename to sccvn_dom_walker.
13423 (sccvn_dom_walker::before_dom_children): Value-number defs
13424 of all stmts.
13425 (run_scc_vn): Remove loop value-numbering all SSA names.
13426 Drop not visited SSA names to varying.
13427
13428 2015-08-11 Trevor Saunders <tbsaunde@tbsaunde.org>
13429
13430 * compare-elim.c, dce.c, dse.c, gimple-ssa-isolate-paths.c,
13431 gimple-ssa-strength-reduction.c, graphite.c, init-regs.c,
13432 ipa-pure-const.c, ipa-visibility.c, ipa.c, mode-switching.c,
13433 omp-low.c, reorg.c, sanopt.c, trans-mem.c, tree-eh.c,
13434 tree-if-conv.c, tree-ssa-copyrename.c, tree-ssa-dce.c,
13435 tree-ssa-dom.c, tree-ssa-dse.c, tree-ssa-forwprop.c,
13436 tree-ssa-sink.c, tree-ssanames.c, tree-stdarg.c, tree-tailcall.c,
13437 tree-vect-generic.c, tree.c, ubsan.c, var-tracking.c,
13438 vtable-verify.c, web.c: Use GCC_FINAL instead of the anonymous
13439
13440 2015-08-11 Uros Bizjak <ubizjak@gmail.com>
13441
13442 PR target/66954
13443 * config/i386/i386.c (get_builtin_code_for_version): Add P_PCLMUL
13444 to enum feature_priority and feature_list.
13445 (fold_builtin_cpu): Add F_PCLMUL to enum processor_features
13446 and isa_names_table.
13447
13448 2015-08-11 Yuri Rumyantsev <ysrumyan@gmail.com>
13449
13450 * tree-vect-stmts.c (vectorizable_shift): Add missed test on
13451 vect_induction_def.
13452
13453 2015-08-11 Manuel López-Ibáñez <manu@gcc.gnu.org>
13454
13455 PR c/66098
13456 PR c/66711
13457 * diagnostic.c (diagnostic_classify_diagnostic): Take -Werror into
13458 account when deciding what was the command-line status.
13459
13460 2015-08-11 Nathan Sidwell <nathan@acm.org>
13461
13462 * tree-vrp.c (simplify_abs_using_ranges): Simplify.
13463
13464 * tree-ssa-phiopt.c (minmax_replacement): Create new ssa name if
13465 we're not the only contributor to target phi.
13466
13467 2015-08-11 Jiong Wang <jiong.wang@arm.com>
13468
13469 * config/aarch64/aarch64.h (REG_CLASS_NAMES): Add the missing ',' after
13470 FIXED_REG0.
13471
13472 2015-08-11 Tom de Vries <tom@codesourcery.com>
13473
13474 * tree-cfg.c (move_sese_region_to_fn): Add todo comment.
13475
13476 2015-08-10 H.J. Lu <hongjiu.lu@intel.com>
13477
13478 * config/i386/i386.c (processor_alias_table): Replace CPU_KNL
13479 with CPU_SLM.
13480 * config/i386/i386.md (cpu): Remove knl.
13481
13482 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13483
13484 PR libgomp/65742
13485 PR middle-end/66332
13486 * builtins.c (expand_builtin_acc_on_device) [ACCEL_COMPILER]: Emit
13487 open-coded sequence.
13488 * omp-low.c (oacc_process_reduction_data): Remove handline of
13489 GOMP_DEVICE_HOST_NONSHM.
13490
13491 * lto-streamer-in.c (lto_input_mode_table): Adjust to
13492 GET_MODE_INNER changes.
13493
13494 2015-08-10 Thomas Schwinge <thomas@codesourcery.com>
13495 Ilya Verbin <ilya.verbin@intel.com>
13496
13497 * lto-streamer-in.c (lto_input_mode_table): Correctly advance iterator.
13498
13499 2015-08-09 Manuel López-Ibáñez <manu@gcc.gnu.org>
13500
13501 * doc/options.texi (EnabledBy): Document that the argument must be
13502 a Common option.
13503 * doc/invoke.texi (Wnull-dereference): Move after Wnonnull.
13504 Not enabled by -Wall.
13505 * optc-gen.awk: Give nicer error messages. Detect if the argument
13506 of EnabledBy is not a Common option.
13507 * common.opt (Wnull-dereference): Not enabled by -Wall.
13508 * opt-functions.awk (lang_enabled_by): Nicer error messages.
13509
13510 2015-08-09 H.J. Lu <hongjiu.lu@intel.com>
13511
13512 * config/i386/driver-i386.c (host_detect_local_cpu): Treat
13513 model == 0x4f as Broadwell.
13514
13515 2015-08-08 Segher Boessenkool <segher@kernel.crashing.org>
13516
13517 PR rtl-optimization/67028
13518 * combine.c (simplify_comparison): Fix comment. Rearrange code.
13519 Add test to see if a const_int fits in the new mode.
13520
13521 2015-08-07 DJ Delorie <dj@redhat.com>
13522
13523 * config/rx/rx.c (rx_mode_dependent_address_p): Remove unneeded asserts.
13524
13525 2015-08-07 H.J. Lu <hongjiu.lu@intel.com>
13526
13527 PR rtl-optimization/67029
13528 * ira-color.c: Include "recog.h" before including "ira-int.h".
13529 * target-globals.c: Likewise.
13530 * ira-lives.c (ira_implicitly_set_insn_hard_regs): Add an
13531 adds an alternative_mask argument and use it instead of
13532 preferred_alternatives.
13533 * ira.h (ira_implicitly_set_insn_hard_regs): Moved to ...
13534 * ira-int.h (ira_implicitly_set_insn_hard_regs): Here.
13535 * sched-deps.c: Include "ira-int.h" after including "ira.h".
13536 (sched_analyze_insn): Update call to
13537 ira_implicitly_set_insn_hard_regs.
13538 * sel-sched.c: Include "ira-int.h" after including "ira.h".
13539 (implicit_clobber_conflict_p): Update call to
13540 ira_implicitly_set_insn_hard_regs.
13541
13542 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
13543
13544 * Makefile.in (.INTERMEDIATE): Add gpl.pod.
13545
13546 2015-08-07 Kaz Kojima <kkojima@gcc.gnu.org>
13547
13548 PR target/67002
13549 * config/sh/sh.c (sh_recog_treg_set_expr): Return false when
13550 currently_expanding_to_rtl is set.
13551
13552 2015-08-06 Yaakov Selkowitz <yselkowi@redhat.com>
13553
13554 * configure.ac: Define LIBICONV_DEP with in-tree libiconv.
13555 * configure: Regenerate.
13556
13557 2015-08-06 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
13558 Jiong Wang <jiong.wang@arm.com>
13559
13560 * config/aarch64/aarch64.d (tlsdesc_small_pseudo_<mode>): New pattern.
13561 * config/aarch64/aarch64.h (reg_class): New enumeration FIXED_REG0.
13562 (REG_CLASS_NAMES): Likewise.
13563 (REG_CLASS_CONTENTS): Likewise.
13564 * config/aarch64/aarch64.c (aarch64_class_max_nregs): Likewise.
13565 (aarch64_register_move_cost): Likewise.
13566 (aarch64_load_symref_appropriately): Invoke the new added pattern if
13567 possible.
13568 * config/aarch64/constraints.md (Uc0): New constraint.
13569
13570 2015-08-06 Jiong Wang <jiong.wang@arm.com>
13571
13572 * config/aarch64/constraints.md (Usf): Add the test of
13573 aarch64_is_noplt_call_p.
13574
13575 2015-08-06 Jiong Wang <jiong.wang@arm.com>
13576
13577 * config/aarch64/aarch64-protos.h (aarch64_is_noplt_call_p): New
13578 declaration.
13579 * config/aarch64/aarch64.c (aarch64_is_noplt_call_p): New function.
13580 * config/aarch64/aarch64.md (call_value_symbol): Check noplt scenarios.
13581 (call_symbol): Likewise.
13582
13583 2015-08-06 Venkataramanan Kumar <Venkataramanan.kumar@amd.com>
13584
13585 * tree-vect-patterns.c (vect_recog_mult_pattern): New function
13586 for vectorizing multiplication patterns.
13587 * tree-vectorizer.h: Adjust the number of patterns.
13588
13589 2015-08-06 Uros Bizjak <ubizjak@gmail.com>
13590
13591 * config/i386/sse.md (*vec_concatv2df): Declare added
13592 alternatives as sselog type.
13593
13594 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13595
13596 * config/s390/s390.c (s390_dwarf_frame_reg_mode): Return Pmode for
13597 all GPRs.
13598
13599 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13600
13601 * config/s390/s390.c (s390_expand_tbegin): Expand either
13602 tbegin_1_z13 or tbegin_1 depending on VX flag.
13603 * config/s390/s390.md ("tbegin_1_z13"): New expander.
13604
13605 2015-08-06 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
13606
13607 * config/s390/s390.opt: Clarify description for -mzvector
13608 * doc/invoke.texi: Add documentation for -mhtm, -mvx, and
13609 -mzvector.
13610
13611 2015-08-06 Richard Biener <rguenther@suse.de>
13612
13613 * gimple.h (gimple_call_set_fn): Access op member directly.
13614 (gimple_call_chain_ptr): Likewise.
13615 (gimple_call_set_chain): Likewise.
13616 (gimple_cond_lhs_ptr): Likewise.
13617 (gimple_cond_set_lhs): Likewise.
13618 (gimple_cond_rhs_ptr): Likewise.
13619 (gimple_cond_set_rhs): Likewise.
13620 (gimple_cond_true_label): Likewise.
13621 (gimple_cond_set_true_label): Likewise.
13622 (gimple_cond_set_false_label): Likewise.
13623 (gimple_cond_false_label): Likewise.
13624 (gimple_label_label): Likewise.
13625 (gimple_label_set_label): Likewise.
13626 (gimple_goto_set_dest): Likewise.
13627 (gimple_asm_input_op): Likewise.
13628 (gimple_asm_input_op_ptr): Likewise.
13629 (gimple_asm_set_input_op): Likewise.
13630 (gimple_asm_output_op): Likewise.
13631 (gimple_asm_output_op_ptr): Likewise.
13632 (gimple_asm_set_output_op): Likewise.
13633 (gimple_asm_clobber_op): Likewise.
13634 (gimple_asm_set_clobber_op): Likewise.
13635 (gimple_asm_label_op): Likewise.
13636 (gimple_asm_set_label_op): Likewise.
13637 (gimple_switch_index): Likewise.
13638 (gimple_switch_index_ptr): Likewise.
13639 (gimple_return_retval_ptr): Likewise.
13640 (gimple_return_retval): Likewise.
13641 (gimple_return_set_retval): Likewise.
13642 (gimple_switch_set_index): Likewise. Remove superfluous GIMPLE_CHECK.
13643 (gimple_switch_label): Likewise.
13644 (gimple_switch_set_label): Likewise.
13645
13646 2015-08-06 Richard Biener <rguenther@suse.de>
13647
13648 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Simplify
13649 bool comparison canonicalization and restrict to integers.
13650
13651 2015-08-05 Andrew MacLeod <amacleod@redhat.com>
13652
13653 * coretypes.h (enum symbol_visibility): Relocate here.
13654 * flag-types.h (enum symbol_visibility): Remove.
13655 * tree-core.h (enum symbol_visibility): Remove.
13656
13657 2015-08-05 Lynn Boger <laboger@linux.vnet.ibm.com>
13658
13659 PR target/66870
13660 * config/rs6000/rs6000.c (rs6000_emit_prologue): Check
13661 for no_split_stack function attribute along with
13662 flag_split_stack.
13663 (rs6000_expand_split_stack_prologue): Likewise.
13664
13665 2015-08-05 Manuel López-Ibáñez <manu@gcc.gnu.org>
13666 Jeff Law <law@redhat.com>
13667
13668 PR c/16351
13669 * doc/invoke.texi (Wnull-dereference): New.
13670 * tree-vrp.c (infer_value_range): Update call to infer_nonnull_range.
13671 * gimple-ssa-isolate-paths.c (find_implicit_erroneous_behaviour):
13672 Warn for potential NULL dereferences.
13673 (find_explicit_erroneous_behaviour): Warn for NULL dereferences.
13674 * ubsan.c (instrument_nonnull_arg): Call
13675 infer_nonnull_range_by_attribute.
13676 (instrument_nonnull_return): Likewise.
13677 * common.opt (Wnull-dereference); New.
13678 * gimple.c (infer_nonnull_range): Remove bool arguments.
13679 (infer_nonnull_range_by_dereference): New.
13680 (infer_nonnull_range_by_attribute): New.
13681 * gimple.h: Update declarations.
13682
13683 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
13684
13685 * gensupport.c (sequence_num): Replace with...
13686 (insn_sequence_num, split_sequence_num, peephole2_sequence_num):
13687 ...these new variables.
13688 (init_rtx_reader_args_cb): Update accordingly.
13689 (get_num_code_insns): Likewise.
13690 (read_md_rtx): Rework to use a while loop and get_c_test.
13691 Use the new counters. Remove redundant DEFINE_SUBST case.
13692 * genoutput.c (gen_split): Delete.
13693 (main): Don't call it.
13694
13695 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
13696
13697 * gensupport.h (get_c_test): Declare.
13698 * gensupport.c (get_c_test): New function.
13699 * genconditions.c (main): Use it.
13700 * genrecog.c (validate_pattern): Likewise.
13701 (match_pattern_1): Likewise. Remove c_test argument.
13702 (match_pattern): Update accordingly and remove c_test argument.
13703 (main): Update accordingly.
13704
13705 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
13706
13707 * gensupport.h (get_num_insn_codes): Declare.
13708 * gensupport.c (get_num_insn_codes): New function.
13709 * genattrtab.c (optimize_attrs): Rename max_insn_code to
13710 num_insn_codes.
13711 (main): Likewise. Use get_num_insn_codes.
13712 * gencodes.c (main): Remove "last" and use get_num_insn_codes.
13713
13714 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
13715
13716 PR middle-end/66311
13717 * wide-int.cc (wi::from_mpz): Make sure that absolute mpz value
13718 is zero- rather than sign-extended.
13719
13720 2015-08-05 Richard Sandiford <richard.sandiford@arm.com>
13721
13722 * target-insns.def (can_extend): Delete.
13723
13724 2015-08-05 Richard Biener <rguenther@suse.de>
13725
13726 PR tree-optimization/67121
13727 * tree-if-conv.c (combine_blocks): Clear range-info produced
13728 by stmts no longer executed conditionally.
13729
13730 2015-08-05 Nick Clifton <nickc@redhat.com>
13731
13732 * config/rl78/rl78.c (rl78_force_nonfar_3): Remove optimization
13733 to allow identical far pointers to remain.
13734
13735 2015-08-05 Richard Biener <rguenther@suse.de>
13736
13737 PR middle-end/67120
13738 * match.pd: Compare address bases with == if they are decls
13739 or SSA names, not operand_equal_p. Otherwise fail.
13740
13741 2015-08-05 Richard Biener <rguenther@suse.de>
13742
13743 PR tree-optimization/67055
13744 * tree-ssa-ccp.c (fold_builtin_alloca_with_align): Handle
13745 NULL gimple_block.
13746
13747 * g++.dg/torture/pr67055.C: New testcase.
13748
13749 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
13750
13751 * config/i386/i386.md (define_attr "isa"): Addd avx512vl and
13752 noavx512vl.
13753 (define_attr "enabled"): Handle avx521vl and noavx512vl.
13754 * config/i386/sse.md (define_insn "vec_dupv2df<mask_name>"): Split
13755 AVX-512 alternative out of SSE.
13756 (define_insn "*vec_concatv2df"): Ditto.
13757
13758 2015-08-05 Kirill Yukhin <kirill.yukhin@intel.com>
13759
13760 * config/i386/i386.c (bdesc_args): Rename CODE_FOR_sse4_1_ptest into
13761 CODE_FOR_sse4_1_ptestv2di and CODE_FOR_avx_vtestps256 into
13762 CODE_FOR_avx_ptestv4di.
13763 * config/i386/sse.md (define_mode_iterator V_AVX): New.
13764 (define_mode_attr sse4_1): Extend to other 128/256-bit modes.
13765 (define_insn "avx_ptest256"): Merge this ...
13766 (define_insn "sse4_1_ptest"): And this ...
13767 (define_insn "<sse4_1>_ptest<mode>"): Into this. Use V_AVX iterator.
13768
13769 2015-08-05 Richard Biener <rguenther@suse.de>
13770
13771 PR tree-optimization/67109
13772 * tree-vect-data-refs.c (vect_analyze_group_access_1): Check
13773 against too big groups. Print whether this is a load or store
13774 group. Rename from ...
13775 (vect_analyze_group_access): ... this which is now a wrapper
13776 dissolving an invalid group.
13777 (vect_analyze_data_ref_accesses): Print whether this is a load
13778 or store group.
13779
13780 2015-08-05 Richard Biener <rguenther@suse.de>
13781
13782 PR middle-end/67107
13783 * match.pd: Guard const_binop result checking against NULL_TREE
13784 result.
13785
13786 2015-08-05 Kugan Vivekanandarajah <kuganv@linaro.org>
13787
13788 * cse.c (cse_insn): Restoring old behaviour for src_eqv
13789 when dest and value in the REG_EQUAL are same and dest
13790 is STRICT_LOW_PART.
13791
13792 2015-08-04 Anatoly Sokolov <aesok@post.ru>
13793
13794 * config/moxie/moxie.h (PRINT_OPERAND,
13795 PRINT_OPERAND_ADDRESS): Remove macros.
13796 * config/moxie/moxie-protos.h (moxie_print_operand,
13797 moxie_print_operand_address): Remove declaration.
13798 * config/moxie/moxie.c (TARGET_PRINT_OPERAND,
13799 TARGET_PRINT_OPERAND_ADDRESS): Define.
13800 (moxie_print_operand, moxie_print_operand_address): Make static.
13801
13802 2015-08-04 Szabolcs Nagy <szabolcs.nagy@arm.com>
13803
13804 PR target/66731
13805 * config/aarch64/aarch64.c (aarch64_rtx_costs): Fix NEG cost for FNMUL.
13806 (aarch64_rtx_mult_cost): Fix MULT cost with -frounding-math.
13807
13808 2015-08-04 Richard Biener <rguenther@suse.de>
13809
13810 * genmatch.c (dt_node::gen_kids_1): Use gassign and gcall in
13811 generated code.
13812 (dt_operand::gen_gimple_expr): Adjust.
13813
13814 2015-08-04 Richard Biener <rguenther@suse.de>
13815
13816 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Canonicalize
13817 bool compares on RHS.
13818 * match.pd: Add X ==/!= !X is false/true pattern.
13819
13820 2015-08-04 Pawel Kupidura <pawel.kupidura@arm.com>
13821
13822 * config/aarch64/aarch64.c: Change inner loop statement cost
13823 to be consistent with other targets.
13824
13825 2015-08-04 Christophe Lyon <christophe.lyon@linaro.org>
13826
13827 * config/arm/neon.md (neon_vget_lanev2di): Handle big-endian
13828 targets.
13829
13830 2015-08-04 Nathan Sidwell <nathan@codesourcery.com>
13831
13832 * config/nvptx/nvptx.h (struct nvptx_pseudo_info): Delete.
13833 (machine_function): Remove pseudos field.
13834
13835 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13836
13837 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
13838 Exit early and use target_option_current_node if processing current
13839 pragma.
13840
13841 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13842
13843 * doc/extend.texi (AArch64 Function Attributes): New node.
13844 (AArch64 Pragmas): Likewise.
13845
13846 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13847
13848 * config/aarch64/aarch64.c (aarch64_option_valid_attribute_p):
13849 Initialize simd builtins if TARGET_SIMD.
13850 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
13851 Make sure that the builtins are initialized only once no matter how
13852 many times the function is called.
13853 (aarch64_init_builtins): Unconditionally initialize crc builtins.
13854 (aarch64_relayout_simd_param): New function.
13855 (aarch64_simd_expand_args): Use above during argument expansion.
13856 * config/aarch64/aarch64-c.c (aarch64_pragma_target_parse): Initialize
13857 simd builtins if TARGET_SIMD.
13858 * config/aarch64/aarch64-protos.h (aarch64_init_simd_builtins): New
13859 prototype.
13860 (aarch64_relayout_simd_types): Likewise.
13861
13862 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13863
13864 * config.gcc (aarch64*-*-*): Specify c_target_objs and cxx_target_objs.
13865 * config/aarch64/aarch64.h (REGISTER_TARGET_PRAGMAS): Define.
13866 (TARGET_CPU_CPP_BUILTINS): Redefine to call aarch64_cpu_cpp_builtins.
13867 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
13868 static keyword.
13869 (aarch64_reset_previous_fndecl): New function.
13870 (aarch64_handle_attr_isa_flags): Handle "+nothing" in the beginning of
13871 the string.
13872 * config/aarch64/aarch64-c.c: New file.
13873 * config/aarch64/arm_acle.h: Add pragma +crc+nofp at the top.
13874 Push and pop options at beginning and end. Remove ifdef
13875 __ARM_FEATURE_CRC32.
13876 * config/aarch64/arm_neon.h: Remove #ifdef check on __ARM_NEON.
13877 Add pragma +nothing+simd and +nothing+crypto where appropriate.
13878 * config/aarch64/t-aarch64 (aarch64-c.o): New rule.
13879 * config/aarch64/aarch64-protos.h (aarch64_cpu_cpp_builtins):
13880 Define prototype.
13881 (aarch64_register_pragmas): Likewise.
13882 (aarch64_reset_previous_fndecl): Likewise.
13883 (aarch64_process_target_attr): Likewise.
13884 (aarch64_override_options_internal): Likewise.
13885
13886 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13887
13888 * config/aarch64/aarch64.c (aarch64_tribools_ok_for_inlining_p):
13889 New function.
13890 (aarch64_can_inline_p): Likewise.
13891 (TARGET_CAN_INLINE_P): Define.
13892
13893 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13894
13895 * common/config/aarch64/aarch64-common.c (aarch64_handle_option):
13896 Remove static. Handle OPT_mgeneral_regs_only,
13897 OPT_mfix_cortex_a53_835769, OPT_mstrict_align,
13898 OPT_momit_leaf_frame_pointer.
13899 * config/aarch64/aarch64.c: Include opts.h and diagnostic.h
13900 (aarch64_attr_opt_type): New enum.
13901 (aarch64_attribute_info): New struct.
13902 (aarch64_handle_attr_arch): New function.
13903 (aarch64_handle_attr_cpu): Likewise.
13904 (aarch64_handle_attr_tune): Likewise.
13905 (aarch64_handle_attr_isa_flags): Likewise.
13906 (aarch64_attributes): New table.
13907 (aarch64_process_one_target_attr): New function.
13908 (num_occurences_in_str): Likewise.
13909 (aarch64_process_target_attr): Likewise.
13910 (aarch64_option_valid_attribute_p): Likewise.
13911 (TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
13912 * config/aarch64/aarch64-protos.h: Include input.h
13913 (aarch64_handle_option): Declare prototype.
13914
13915 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13916
13917 * config/aarch64/aarch64.h (SWITCHABLE_TARGET): Define.
13918 * config/aarch64/aarch64.c: Include target-globals.h
13919 (aarch64_previous_fndecl): New variable.
13920 (aarch64_set_current_function): New function.
13921 (TARGET_SET_CURRENT_FUNCTION): Define.
13922
13923 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13924
13925 * config/aarch64/aarch64.opt (explicit_tune_core): New TargetVariable.
13926 (explicit_arch): Likewise.
13927 (x_aarch64_isa_flags): Likewise.
13928 (mgeneral-regs-only): Mark as Save.
13929 (mfix-cortex-a53-835769): Likewise.
13930 (mcmodel=): Likewise.
13931 (mstrict-align): Likewise.
13932 (momit-leaf-frame-pointer): Likewise.
13933 (mtls-dialect): Likewise.
13934 (master=): Likewise.
13935 * config/aarch64/aarch64.h (ASM_DECLARE_FUNCTION_NAME): Define.
13936 (aarch64_isa_flags): Remove extern declaration.
13937 * config/aarch64/aarch64.c (aarch64_validate_mcpu): Return a bool
13938 to indicate success or failure.
13939 (aarch64_validate_march): Likewise.
13940 (aarch64_validate_mtune): Likewise.
13941 (aarch64_isa_flags): Delete.
13942 (aarch64_override_options_internal): Access opts->x_aarch64_isa_flags
13943 instead of aarch64_isa_flags.
13944 (aarch64_get_tune_cpu): New function.
13945 (aarch64_get_arch): Likewise.
13946 (aarch64_override_options): Use above and set up explicit_tune_core
13947 and explicit_arch.
13948 (aarch64_print_extension): Move earlier in file. Add isa_flags
13949 argument and use that instead of the global aarch64_isa_flags.
13950 (aarch64_option_save): New function.
13951 (aarch64_option_restore): Likewise.
13952 (aarch64_option_print): Likewise.
13953 (aarch64_declare_function_name): Likewise.
13954 (aarch64_start_file): Delete.
13955 (TARGET_ASM_FILE_START): Do not define.
13956 (TARGET_OPTION_RESTORE, TARGET_OPTION_PRINT): Define.
13957 * config/aarch64/aarch64-protos.h (aarch64_declare_function_name):
13958 Declare prototype.
13959
13960 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13961
13962 * config/aarch64/aarch64.opt (momit-leaf-frame-pointer): Initialize
13963 flag_omit_leaf_frame_pointer to 2.
13964
13965 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13966
13967 * config/aarch64/aarch64.h (TARGET_FIX_ERR_A53_835769_DEFAULT): Always
13968 define to 0 or 1.
13969 (TARGET_FIX_ERR_A53_835769): New macro.
13970 * config/aarch64/aarch64.c (aarch64_override_options_internal): Remove
13971 handling of opts->x_aarch64_fix_a53_err835769.
13972 (aarch64_madd_needs_nop): Check for TARGET_FIX_ERR_A53_835769 rather
13973 than aarch64_fix_a53_err835769.
13974 * config/aarch64/aarch64-elf-raw.h: Update for above changes.
13975 * config/aarch64/aarch64-linux.h: Likewise.
13976
13977 2015-08-04 Uros Bizjak <ubizjak@gmail.com>
13978
13979 * config/i386/i386.c (ix86_expand_int_movcc): Check result of
13980 ix86_expand_int_movcc as boolean.
13981
13982 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
13983
13984 * config/aarch64/aarch64.opt (aarch64_arch_string): Delete.
13985 (aarch64_cpu_string): Likewise.
13986 (aarch64_tune_string): Likewise.
13987 * config/aarch64/aarch64.c (aarch64_parse_opt_result): New enum.
13988 (aarch64_parse_extension): Return aarch64_parse_opt_result.
13989 Add extra argument to put result into.
13990 (aarch64_parse_arch): Likewise. Do not set selected_cpu.
13991 (aarch64_parse_cpu): Add arguments to put results into. Return
13992 aarch64_parse_opt_result.
13993 (aarch64_parse_tune): Likewise.
13994 (aarch64_override_options_after_change_1): New function.
13995 (aarch64_override_options_internal): New function.
13996 (aarch64_validate_mcpu): Likewise.
13997 (aarch64_validate_march): Likewise.
13998 (aarch64_validate_mtune): Likewise.
13999 (aarch64_override_options): Update to reflect above changes.
14000 Move some logic into aarch64_override_options_internal.
14001 Initialize target_option_default_node and target_option_current_node.
14002 (aarch64_override_options_after_change): Move logic into
14003 aarch64_override_options_after_change_1 and call it with global_options.
14004 (initialize_aarch64_code_model): Take a gcc_options pointer and use the
14005 flag values from that.
14006
14007 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14008
14009 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
14010 __ARM_ARCH_8A directly rather than with cpp_define_formatted.
14011 * config/aarch64/aarch64.c (struct processor): Add arch field.
14012 (all_architectures): Handle above, move above all_cores.
14013 (all_cores): Handle above.
14014 (aarch64_parse_arch): Handle above changes.
14015 * config/aarch64/aarch64-arches.def (armv8-a): Extend according to
14016 above. Update comments.
14017 (armv8.1-a): Likewise.
14018 * config/aarch64/aarch64-cores.def: Update according to above.
14019 * config/aarch64/aarch64-opts.h (aarch64_arch): New enum.
14020 * config/aarch64/driver-aarch64.c (struct aarch64_arch): Rename to
14021 aarch64_arch_driver_info.
14022
14023 2015-08-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14024
14025 * config/aarch64/aarch64.c (struct processor): Add ident field.
14026 Rename core sched_core.
14027 (all_cores): Handle above changes.
14028 (all_architectures): Likewise.
14029 (aarch64_parse_arch): Likewise.
14030 (aarch64_override_options): Likewise.
14031
14032 2015-08-04 Richard Biener <rguenther@suse.de>
14033
14034 * gimple-fold.c (gimple_fold_stmt_to_constant_1): Remove
14035 dispatching to fold_binary for GIMPLE_BINARY_RHS and for
14036 comparisons embedded in [VEC_]COND_EXPRs.
14037
14038 2015-08-03 Abe Skolnik <a.skolnik@samsung.com>
14039
14040 * tree-if-conv.c: Fix various typos in comments.
14041 * tree-vect-stmts.c: Likewise.
14042
14043 2015-08-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
14044
14045 PR tree-optimization/67043
14046 * loop-invariant.c (move_invariant_reg): Recompute luids in loop
14047 preheader after hoisting invariant in it.
14048 (find_defs): Force recomputation of all luids.
14049
14050 2015-08-03 Peter Bergner <bergner@vnet.ibm.com>
14051
14052 * config/rs6000/htm.md (tabort.): Restrict the source operand to
14053 using a base register.
14054
14055 2015-08-03 David Malcolm <dmalcolm@redhat.com>
14056
14057 * main.c (main): Pass in NULL for toplev's external_timer.
14058 * timevar.c: Include coretypes.h.
14059 (class timer::named_items): New.
14060 (timer::named_items::named_items): New.
14061 (timer::named_items::~named_items): New.
14062 (timer::named_items::push): New.
14063 (timer::named_items::pop): New.
14064 (timer::named_items::print): New.
14065 (timer::timer): Initialize field "m_jit_client_items".
14066 (timer::~timer): New.
14067 (timer::push): Move bulk of implementation to...
14068 (timer::push_internal): ...here. New function.
14069 (timer::pop): Move bulk of implementation to...
14070 (timer::pop_internal): ...here. New function.
14071 (timer::push_client_item): New.
14072 (timer::pop_client_item): New.
14073 (timer::print_row): New function, taken from timer::print.
14074 (timer::print): Print "GCC items" header if we also have client
14075 items. Move row-printing to timer::print_row. Print any client
14076 items.
14077 (timer::get_topmost_item_name): New method.
14078 * timevar.def (TV_JIT_ACQUIRING_MUTEX): New.
14079 (TV_JIT_CLIENT_CODE): New.
14080 * timevar.h (timer::push_client_item): New declaration.
14081 (timer::pop_client_item): New declaration.
14082 (timer::get_topmost_item_name): New method.
14083 (timer::push_internal): New declaration.
14084 (timer::pop_internal): New declaration.
14085 (timer::print_row): New declaration.
14086 (timer::named_items): New declaration.
14087 (timer::m_jit_client_items): New field.
14088 (timer): Add friend class named_items.
14089 (auto_timevar::auto_timevar): Add timer param.
14090 (auto_timevar::~auto_timevar): Use field "m_timer".
14091 (auto_timevar::m_timer): New field.
14092 * toplev.c (initialize_rtl): Add g_timer as param when
14093 constructing auto_timevar instance.
14094 (toplev::toplev): Add "external_timer" param, and use it to
14095 initialize the "g_timer" global if non-NULL.
14096 (toplev::~toplev): If this created "g_timer", delete it.
14097 * toplev.h (toplev::toplev): Replace "use_TV_TOTAL" bool param
14098 with "external_timer" timer *.
14099
14100 2015-08-03 Alexander Basov <coohpt@gmail.com>
14101
14102 PR middle-end/64744
14103 PR middle-end/48470
14104 PR middle-end/43404
14105 * cfgexpand.c (expand_one_var): Add check if stack is going to
14106 be used in naked function.
14107 * expr.c (expand_expr_addr_expr_1): Remove excess checking
14108 whether expression should not reside in MEM.
14109 * function.c (use_register_for_decl): Do not use registers for
14110 non-register things (volatile, float, BLKMode) in naked functions.
14111
14112 2015-08-03 John David Anglin <danglin@gcc.gnu.org>
14113
14114 PR target/67060
14115 * config/pa/pa.md (call_reg_64bit): Remove reg:DI 1 clobber.
14116 Adjust splits to match new pattern.
14117
14118 2015-08-03 Michael Meissner <meissner@linux.vnet.ibm.com>
14119
14120 * config/rs6000/vector.md (VEC_L): Add KFmode and TFmode.
14121 (VEC_M): Likewise.
14122 (VEC_N): Likewise.
14123 (mov<mode>, VEC_M iterator): Add support for IEEE 128-bit floating
14124 point in VSX registers.
14125
14126 * config/rs6000/constraints.md (wb constraint): Document unused
14127 w<x> constraint.
14128 (we constraint): Likewise.
14129 (wo constraint): Likewise.
14130 (wp constraint): New constraint for IEEE 128-bit floating point in
14131 VSX registers.
14132 (wq constraint): Likewise.
14133
14134 * config/rs6000/predicates.md (easy_fp_constant): Add support for
14135 IEEE 128-bit floating point in VSX registers.
14136 (easy_scalar_constant): Likewise.
14137
14138 * config/rs6000/rs6000.c (rs6000_debug_reg_global): Add new
14139 constraints (wp, wq) for IEEE 128-bit floating point in VSX
14140 registers.
14141 (rs6000_init_hard_regno_mode_ok): Likewise.
14142
14143 * config/rs6000/vsx.md (VSX_LE_128): Add support for IEEE 128-bit
14144 floating point in VSX registers.
14145 (VSX_L): Likewise.
14146 (VSX_M): Likewise.
14147 (VSX_M2): Likewise.
14148 (VSm): Likewise.
14149 (VSs): Likewise.
14150 (VSr): Likewise.
14151 (VSa): Likewise.
14152 (VSv): Likewise.
14153 (vsx_le_permute_<mode>): Add support to properly swap bytes for
14154 IEEE 128-bit floating point in VSX registers on little endian.
14155 (vsx_le_undo_permute_<mode>): Likewise.
14156 (vsx_le_perm_load_<mode>): Likewise.
14157 (vsx_le_perm_store_<mode>): Likewise.
14158 (splitters for IEEE 128-bit fp moves): Likewise.
14159
14160 * config/rs6000/rs6000.h (enum r6000_reg_class_enum): Add wp and
14161 wq constraints.
14162
14163 * config/rs6000/altivec.md (VM): Add support for IEEE 128-bit
14164 floating point in VSX registers.
14165 (VM2): Likewise.
14166
14167 * doc/md.text (Machine Constraints): Document wp and wq
14168 constraints on PowerPC.
14169
14170 2015-08-03 Jeff Law <law@redhat.com>
14171
14172 PR middle-end/66314
14173 PR gcov-profile/66899
14174 * tree-ssa-threadupdate.c (mark_threaded_blocks): Correctly
14175 iterate over the jump threading paths when an element in the
14176 jump threading paths array is eliminated.
14177
14178 2015-08-03 Segher Boessenkool <segher@kernel.crashing.org>
14179
14180 * Makefile.in (OBJS): Put gimple-match.o and generic-match.o first.
14181
14182 2015-08-03 Patrick Palka <ppalka@gcc.gnu.org>
14183
14184 * tree-ssa-uninit.c (find_uninit_use): Declare and pass to
14185 is_use_properly_guarded the variable def_preds. Free its
14186 contents before returning.
14187 (prune_uninit_phi_opnds_in_unrealizable_paths): Same.
14188 (is_use_properly_guarded): Replace local variable def_preds with
14189 a parameter. Adjust accordingly. Only update *def_preds if it's
14190 the empty vector.
14191
14192 2015-08-03 Richard Biener <rguenther@suse.de>
14193
14194 * genmatch.c (simplify::for_subst_vec): New member.
14195 (binary_ok): New helper for for lowering.
14196 (lower_for): Delay substituting operators into result expressions
14197 if we can merge the results eventually again.
14198 (capture_info::walk_result): Adjust for user_id appearing as
14199 result expression operator.
14200 (expr::gen_transform): Likewise.
14201 (dt_simplify::gen_1): Likewise.
14202 (dt_simplify::gen): Pass not substituted operators to tail
14203 functions or initialize local variable with it.
14204 (decision_tree::gen): Adjust function signature.
14205 * match.pd: Fix tests against global code and add default
14206 cases to switch stmts.
14207
14208 2015-08-03 Richard Biener <rguenther@suse.de>
14209
14210 * genmatch.c (dt_simplify::gen): Create captures array
14211 with an initializer.
14212
14213 2015-08-03 Ulrich Weigand <Ulrich.Weigand@de.ibm.com>
14214
14215 * configure.ac: Set aliasing_flags to -fno-strict-aliasing if
14216 the host compiler is affected by placement new aliasing bug.
14217 * configure: Regenerate.
14218 * Makefile.in (ALIASING_FLAGS): New variable.
14219 (ALL_CXXFLAGS): Add $(ALIASING_FLAGS).
14220
14221 2015-08-03 Szabolcs Nagy <szabolcs.nagy@arm.com>
14222
14223 PR target/66731
14224 * config/arm/vfp.md (negmuldf3_vfp): Add new pattern.
14225 (negmulsf3_vfp): Likewise.
14226 (muldf3negdf_vfp): Disable for -frounding-math.
14227 (mulsf3negsf_vfp): Likewise.
14228 * config/arm/arm.c (arm_new_rtx_costs): Fix NEG cost for VNMUL,
14229 fix MULT cost with -frounding-math.
14230
14231 2015-08-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14232
14233 * ifcvt.c (noce_try_store_flag_constants): Make logic of the case
14234 when diff == STORE_FLAG_VALUE or diff == -STORE_FLAG_VALUE more
14235 explicit. Prefer to add the flag whenever possible.
14236 (noce_process_if_block): Try noce_try_store_flag_constants before
14237 noce_try_cmove.
14238
14239 2015-08-03 Richard Biener <rguenther@suse.de>
14240
14241 * genmatch.c (struct sinfo, struct sinfo_hashmap_traits, sinfo_map_t):
14242 New hash-map to record equivalent transforms.
14243 (dt_node::analyze): Populate the equivalent transforms hash-map.
14244 (dt_simplify::info): Add reference to hash-map entry.
14245 (dt_simplify::gen): If we have split out a function for the
14246 transform, generate a call to it.
14247 (sinfo_hashmap_traits::hash): New function.
14248 (compare_op): New helper function for ...
14249 (sinfo_hashmap_traits::equal_keys): ... this new function.
14250 (decision_tree::gen): Split out common equivalent transforms
14251 into functions.
14252
14253 2015-08-03 Richard Biener <rguenther@suse.de>
14254
14255 * gimple-fold.c (fold_gimple_assign): Remove folding of
14256 the comparison in COND_EXPRs.
14257
14258 2015-08-03 Richard Biener <rguenther@suse.de>
14259
14260 * gimple-match-head.c (gimple_simplify): For [VEC_]COND_EXPRs
14261 on the rhs of assignments first simplify the embedded
14262 GENERIC condition.
14263
14264 2015-08-03 Richard Biener <rguenther@suse.de>
14265
14266 PR tree-optimization/66917
14267 * tree-vectorizer.h (struct dataref_aux): Add base_element_aligned
14268 field.
14269 (DR_VECT_AUX): New macro.
14270 (set_dr_misalignment): Adjust.
14271 (dr_misalignment): Likewise.
14272 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
14273 Compute whether the base is at least element aligned.
14274 * tree-vect-stmts.c (ensure_base_align): Adjust.
14275 (vectorizable_store): If the base is not element aligned
14276 preserve alignment of the original access if misalignment is unknown.
14277 (vectorizable_load): Likewise.
14278
14279 2015-08-02 Martin Sebor <msebor@redhat.com>
14280
14281 * c-family/c.opt (-Wframe-address): New warning option.
14282 * doc/invoke.texi (Wframe-address): Document it.
14283 * doc/extend.texi (__builtin_frame_address, __builtin_return_address):
14284 Clarify possible effects of calling the functions with non-zero
14285 arguments and mention -Wframe-address.
14286 * builtins.c (expand_builtin_frame_address): Handle -Wframe-address.
14287
14288 2015-08-01 Michael Collison <michael.collison@linaro.org
14289 Ramana Radhakrishnan <ramana.radhakrishnan@linaro.org>
14290
14291 * config/arm/arm.md (*arm_smin_cmp): New pattern.
14292 (*arm_umin_cmp): Likewise.
14293
14294 2015-08-01 Caroline Tice <cmtice@google.com>
14295
14296 PR 66521
14297 * vtable-verify.c (vtbl_mangled_name_types, vtbl_mangled_name_ids): New
14298 global variables.
14299 (vtbl_find_mangled_name): New function.
14300 (vtbl_register_mangled_name): New function.
14301 (vtbl_map_get_node): If DECL_ASSEMBLER_NAME is "<anon>", look up
14302 mangled name in mangled name vectors.
14303 (find_or_create_vtbl_map_node): Ditto.
14304 (var_is_used_for_virtual_call_p): Add recursion_depth parameter;
14305 update recursion_depth on function entry; pass it to every recursive
14306 call; automatically exit if depth > 25 (give up looking at that point).
14307 (verify_bb_vtables): Initialize recursion_depth and pass it to
14308 var_is_used_for_virtual_call_p.
14309 * vtable-verify.h (vtbl_mangbled_name_types, vtbl_mangled_name_ids): New
14310 global variable decls.
14311 (vtbl_register_mangled_name): New extern function decl.
14312
14313 2015-08-01 Tom de Vries <tom@codesourcery.com>
14314
14315 * tree.c (operation_can_overflow, operation_no_trapping_overflow): New
14316 function.
14317 * tree.h (operation_can_overflow, operation_no_trapping_overflow):
14318 Declare.
14319 * tree-vect-loop.c (vect_is_simple_reduction_1): Use
14320 operation_no_trapping_overflow. Allow non-overflow operations.
14321 * graphite-sese-to-poly.c (is_reduction_operation_p): Allow non-overflow
14322 operations.
14323
14324 2015-07-31 Kaz Kojima <kkojima@gcc.gnu.org>
14325
14326 PR target/67049
14327 * config/sh/sh.md (GOTaddr2picreg): Fix typo.
14328
14329 2015-07-31 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
14330
14331 * config/arm/arm.md (*if_neg_move): Convert to insn_and_split.
14332 Enable for TARGET_32BIT.
14333 (*if_move_neg): Likewise.
14334
14335 2015-07-31 Nick Clifton <nickc@redhat.com>
14336
14337 * config/m32r/m32r.c (m32r_attribute_identifier): New function.
14338 Returns true for __model__.
14339 (TARGET_ATTRIBUTE_TAKES_IDENTIFIER_P): Define.
14340
14341 2015-07-31 Alan Modra <amodra@gmail.com>
14342
14343 PR target/66870
14344 * config/rs6000/rs6000.c (machine_function): Add split_stack_argp_used.
14345 (rs6000_emit_prologue): Set it.
14346 (rs6000_set_up_by_prologue): Specify r12 when split_stack_argp_used.
14347
14348 2015-07-31 Richard Biener <rguenther@suse.de>
14349
14350 * fold-const.c (fold_binary_loc): Remove X ^ C1 == C2
14351 -> X == (C1 ^ C2) which is already implemented in match.pd.
14352 Remove redundant dispatching to fold_relational_const.
14353 Move unordered self and NaN compares ...
14354 * match.pd: ... as patterns here. Remove some stray captures
14355 and add a comment.
14356
14357 2015-07-31 Petr Murzin <petr.murzin@intel.com>
14358
14359 * config/i386/i386.c
14360 (bdesc_special_args): Convert mask type from signed to unsigned for
14361 masked builtins.
14362 (ix86_expand_args_builtin): Do not handle UINT_FTYPE_V2DF,
14363 UINT64_FTYPE_V2DF, UINT64_FTYPE_V4SF, V16QI_FTYPE_V8DI,
14364 V16HI_FTYPE_V16SI, V16SI_FTYPE_V16SI, V16SF_FTYPE_FLOAT,
14365 V8HI_FTYPE_V8DI, V8UHI_FTYPE_V8UHI, V8SI_FTYPE_V8DI, V8SF_FTYPE_V8DF,
14366 V8DI_FTYPE_INT64, V8DI_FTYPE_V4DI, V8DI_FTYPE_V8DI, V8DF_FTYPE_DOUBLE,
14367 V8DF_FTYPE_V8SI, V16SI_FTYPE_V16SI_V16SI, V16SF_FTYPE_V16SF_V16SI,
14368 V8DI_FTYPE_V8DI_V8DI, V8DF_FTYPE_V8DF_V8DI, V4SI_FTYPE_V4SF_V4SF,
14369 V4SF_FTYPE_V4SF_UINT64, V2UDI_FTYPE_V4USI_V4USI, V2DI_FTYPE_V2DF_V2DF,
14370 V2DF_FTYPE_V2DF_UINT64, V4UDI_FTYPE_V8USI_V8USI, QI_FTYPE_V8DI_V8DI,
14371 HI_FTYPE_V16SI_V16SI, HI_FTYPE_HI_INT, V16SF_FTYPE_V16SF_V16SF_V16SF,
14372 V16SF_FTYPE_V16SF_V16SI_V16SF, V16SF_FTYPE_V16SI_V16SF_HI,
14373 V16SF_FTYPE_V16SI_V16SF_V16SF, V16SI_FTYPE_V16SF_V16SI_HI,
14374 V8DI_FTYPE_V8SF_V8DI_QI, V8SF_FTYPE_V8DI_V8SF_QI, V8DI_FTYPE_PV4DI,
14375 V8DF_FTYPE_V8DI_V8DF_QI, V16SI_FTYPE_V16SI_V16SI_V16SI,
14376 V2DI_FTYPE_V2DI_V2DI_V2DI, V8DI_FTYPE_V8DF_V8DI_QI, V8DF_FTYPE_PV4DF,
14377 V8SI_FTYPE_V8SI_V8SI_V8SI, V8DF_FTYPE_V8DF_V8DF_V8DF, UINT_FTYPE_V4SF,
14378 V8DF_FTYPE_V8DF_V8DI_V8DF, V8DF_FTYPE_V8DI_V8DF_V8DF,
14379 V8DF_FTYPE_V8SF_V8DF_QI, V8DI_FTYPE_V8DI_V8DI_V8DI, V16SF_FTYPE_PV4SF,
14380 V8SF_FTYPE_V8DF_V8SF_QI, V8SI_FTYPE_V8DF_V8SI_QI, V16SI_FTYPE_PV4SI,
14381 V2DF_FTYPE_V2DF_V4SF_V2DF_QI, V4SF_FTYPE_V4SF_V2DF_V4SF_QI,
14382 V8DI_FTYPE_V8DI_SI_V8DI_V8DI, QI_FTYPE_V8DF_V8DF_INT_QI,
14383 HI_FTYPE_V16SF_V16SF_INT_HI, V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI,
14384 VOID_FTYPE_PDOUBLE_V2DF_QI, VOID_FTYPE_PFLOAT_V4SF_QI,
14385 V2DF_FTYPE_PCDOUBLE_V2DF_QI, V4SF_FTYPE_PCFLOAT_V4SF_QI.
14386 * config/i386/i386-builtin-types.def
14387 (V16QI_FTYPE_V16SI): Remove.
14388 (V8DF_FTYPE_V8SI): Ditto.
14389 (V8HI_FTYPE_V8DI): Ditto.
14390 (V8SI_FTYPE_V8DI): Ditto.
14391 (V8SF_FTYPE_V8DF): Ditto.
14392 (V8SF_FTYPE_V8DF_V8SF_QI): Ditto.
14393 (V16HI_FTYPE_V16SI): Ditto.
14394 (V16SF_FTYPE_V16HI): Ditto.
14395 (V16SF_FTYPE_V16HI_V16SF_HI): Ditto.
14396 (V16SF_FTYPE_V16SI): Ditto.
14397 (V4DI_FTYPE_V4DI): Ditto.
14398 (V16SI_FTYPE_V16SF): Ditto.
14399 (V16SF_FTYPE_FLOAT): Ditto.
14400 (V8DF_FTYPE_DOUBLE): Ditto.
14401 (V8DI_FTYPE_INT64): Ditto.
14402 (V8DI_FTYPE_V4DI): Ditto.
14403 (V16QI_FTYPE_V8DI): Ditto.
14404 (UINT_FTYPE_V4SF): Ditto.
14405 (UINT64_FTYPE_V4SF): Ditto.
14406 (UINT_FTYPE_V2DF): Ditto.
14407 (UINT64_FTYPE_V2DF): Ditto.
14408 (V16SI_FTYPE_V16SI): Ditto.
14409 (V8DI_FTYPE_V8DI): Ditto.
14410 (V16SI_FTYPE_PV4SI): Ditto.
14411 (V16SF_FTYPE_PV4SF): Ditto.
14412 (V8DI_FTYPE_PV2DI): Ditto.
14413 (V8DF_FTYPE_PV2DF): Ditto.
14414 (V4DI_FTYPE_PV2DI): Ditto.
14415 (V4DF_FTYPE_PV2DF): Ditto.
14416 (V16SI_FTYPE_PV2SI): Ditto.
14417 (V16SF_FTYPE_PV2SF): Ditto.
14418 (V8DI_FTYPE_PV4DI): Ditto.
14419 (V8DF_FTYPE_PV4DF): Ditto.
14420 (V8SF_FTYPE_FLOAT): Ditto.
14421 (V4SF_FTYPE_FLOAT): Ditto.
14422 (V4DF_FTYPE_DOUBLE): Ditto.
14423 (V8SF_FTYPE_PV4SF): Ditto.
14424 (V8SI_FTYPE_PV4SI): Ditto.
14425 (V4SI_FTYPE_PV2SI): Ditto.
14426 (V8SF_FTYPE_PV2SF): Ditto.
14427 (V8SI_FTYPE_PV2SI): Ditto.
14428 (V16SF_FTYPE_PV8SF): Ditto.
14429 (V16SI_FTYPE_PV8SI): Ditto.
14430 (V8DI_FTYPE_V8SF): Ditto.
14431 (V4DI_FTYPE_V4SF): Ditto.
14432 (V2DI_FTYPE_V4SF): Ditto.
14433 (V64QI_FTYPE_QI): Ditto.
14434 (V32HI_FTYPE_HI): Ditto.
14435 (V8UHI_FTYPE_V8UHI): Ditto.
14436 (V16UHI_FTYPE_V16UHI): Ditto.
14437 (V32UHI_FTYPE_V32UHI): Ditto.
14438 (V2UDI_FTYPE_V2UDI): Ditto.
14439 (V4UDI_FTYPE_V4UDI): Ditto.
14440 (V8UDI_FTYPE_V8UDI): Ditto.
14441 (V4USI_FTYPE_V4USI): Ditto.
14442 (V8USI_FTYPE_V8USI): Ditto.
14443 (V16USI_FTYPE_V16USI): Ditto.
14444 (V2DF_FTYPE_V2DF_UINT64): Ditto.
14445 (V2DI_FTYPE_V2DF_V2DF): Ditto.
14446 (V2UDI_FTYPE_V4USI_V4USI): Ditto.
14447 (V8DF_FTYPE_V8DF_V8DI): Ditto.
14448 (V4SF_FTYPE_V4SF_UINT64): Ditto.
14449 (V4SI_FTYPE_V4SF_V4SF): Ditto.
14450 (V16SF_FTYPE_V16SF_V16SI): Ditto.
14451 (V64QI_FTYPE_V32HI_V32HI): Ditto.
14452 (V32HI_FTYPE_V16SI_V16SI): Ditto.
14453 (V8DF_FTYPE_V8DF_V8DF_V8DI_INT_QI): Ditto.
14454 (V16SF_FTYPE_V16SF_V16SF_V16SI_INT_HI): Ditto.
14455 (V32HI_FTYPE_V64QI_V64QI): Ditto.
14456 (V32HI_FTYPE_V32HI_V32HI): Ditto.
14457 (V16HI_FTYPE_V16HI_V16HI_INT_V16HI_HI): Ditto.
14458 (V16SI_FTYPE_V16SI_V4SI): Ditto.
14459 (V16SI_FTYPE_V16SI_V16SI): Ditto.
14460 (V16SI_FTYPE_V32HI_V32HI): Ditto.
14461 (V16SI_FTYPE_V16SI_SI): Ditto.
14462 (V8DI_FTYPE_V8DI_V8DI): Ditto.
14463 (V4UDI_FTYPE_V8USI_V8USI): Ditto.
14464 (V8DI_FTYPE_V16SI_V16SI): Ditto.
14465 (V8DI_FTYPE_V8DI_V2DI): Ditto.
14466 (QI_FTYPE_QI): Ditto.
14467 (SI_FTYPE_SI): Ditto.
14468 (DI_FTYPE_DI): Ditto.
14469 (QI_FTYPE_QI_QI): Ditto.
14470 (QI_FTYPE_QI_INT): Ditto.
14471 (HI_FTYPE_HI_INT): Ditto.
14472 (SI_FTYPE_SI_INT): Ditto.
14473 (DI_FTYPE_DI_INT): Ditto.
14474 (HI_FTYPE_V16QI_V16QI): Ditto.
14475 (SI_FTYPE_V32QI_V32QI): Ditto.
14476 (DI_FTYPE_V64QI_V64QI): Ditto.
14477 (QI_FTYPE_V8HI_V8HI): Ditto.
14478 (HI_FTYPE_V16HI_V16HI): Ditto.
14479 (SI_FTYPE_V32HI_V32HI): Ditto.
14480 (QI_FTYPE_V4SI_V4SI): Ditto.
14481 (QI_FTYPE_V8SI_V8SI): Ditto.
14482 (QI_FTYPE_V2DI_V2DI): Ditto.
14483 (QI_FTYPE_V4DI_V4DI): Ditto.
14484 (QI_FTYPE_V8DI_V8DI): Ditto.
14485 (HI_FTYPE_V16SI_V16SI): Ditto.
14486 (HI_FTYPE_V16SI_V16SI_INT_HI): Ditto.
14487 (QI_FTYPE_V8DF_V8DF_INT_QI): Ditto.
14488 (HI_FTYPE_V16SF_V16SF_INT_HI): Ditto.
14489 (V32HI_FTYPE_V32HI_V32HI_V32HI): Ditto.
14490 (V4SF_FTYPE_V4SF_V2DF_V4SF_QI): Ditto.
14491 (V8DF_FTYPE_V8DF_V8DF_V8DF): Ditto.
14492 (V16SF_FTYPE_V16SF_V16SF_V16SF): Ditto.
14493 (V8DF_FTYPE_V8SF_V8DF_QI): Ditto.
14494 (V8DI_FTYPE_V8DF_V8DI_QI): Ditto.
14495 (V8DF_FTYPE_V8DI_V8DF_V8DF): Ditto.
14496 (V2DF_FTYPE_V2DF_V4SF_V2DF_QI): Ditto.
14497 (V16SF_FTYPE_V16SI_V16SF_HI): Ditto.
14498 (V16SF_FTYPE_V16SI_V16SF_V16SF): Ditto.
14499 (V8SI_FTYPE_V8DF_V8SI_QI): Ditto.
14500 (V8DI_FTYPE_PCCHAR_V8DI_QI): Ditto.
14501 (V8SF_FTYPE_PCFLOAT_V8SF_QI): Ditto.
14502 (V4SF_FTYPE_PCFLOAT_V4SF_QI): Ditto.
14503 (V4DF_FTYPE_PCDOUBLE_V4DF_QI): Ditto.
14504 (V2DF_FTYPE_PCDOUBLE_V2DF_QI): Ditto.
14505 (V8SI_FTYPE_PCCHAR_V8SI_QI): Ditto.
14506 (V4SI_FTYPE_PCCHAR_V4SI_QI): Ditto.
14507 (V4DI_FTYPE_PCCHAR_V4DI_QI): Ditto.
14508 (V2DI_FTYPE_PCCHAR_V2DI_QI): Ditto.
14509 (V16SF_FTYPE_PCV8SF_V16SF_HI): Ditto.
14510 (V16SI_FTYPE_PCV8SI_V16SI_HI): Ditto.
14511 (V8DF_FTYPE_PCV2DF_V8DF_QI): Ditto.
14512 (V8SF_FTYPE_PCV4SF_V8SF_QI): Ditto.
14513 (V8DI_FTYPE_PCV2DI_V8DI_QI): Ditto.
14514 (V8SI_FTYPE_PCV4SI_V8SI_QI): Ditto.
14515 (V4DF_FTYPE_PCV2DF_V4DF_QI): Ditto.
14516 (V4DI_FTYPE_PCV2DI_V4DI_QI): Ditto.
14517 (VOID_FTYPE_PDOUBLE_V2DF_QI): Ditto.
14518 (VOID_FTYPE_PFLOAT_V4SF_QI): Ditto.
14519 (V16SI_FTYPE_V16SF_V16SI_HI): Ditto.
14520 (V8DI_FTYPE_V8SF_V8DI_QI): Ditto.
14521 (V8SF_FTYPE_V8DI_V8SF_QI): Ditto.
14522 (V8DF_FTYPE_V8DI_V8DF_QI): Ditto.
14523 (V2DF_FTYPE_V2DF_V2DF_V2DI): Ditto.
14524 (V4SF_FTYPE_V4SF_V4SF_V4SI): Ditto.
14525 (V2UDI_FTYPE_V2UDI_V2UDI_V2UDI): Ditto.
14526 (V4USI_FTYPE_V4USI_V4USI_V4USI): Ditto.
14527 (V8UHI_FTYPE_V8UHI_V8UHI_V8UHI): Ditto.
14528 (V16UQI_FTYPE_V16UQI_V16UQI_V16UQI): Ditto.
14529 (V4DF_FTYPE_V4DF_V4DF_V4DI): Ditto.
14530 (V8SF_FTYPE_V8SF_V8SF_V8SI): Ditto.
14531 (V8DI_FTYPE_V8DI_V8DI_V8DI): Ditto.
14532 (V16SI_FTYPE_V16SI_V16SI_V16SI): Ditto.
14533 (V2DF_FTYPE_V2DF_V2DI_V2DF): Ditto.
14534 (V4DF_FTYPE_V4DF_V4DI_V4DF): Ditto.
14535 (V8DF_FTYPE_V8DF_V8DI_V8DF): Ditto.
14536 (V4SF_FTYPE_V4SF_V4SI_V4SF): Ditto.
14537 (V8SF_FTYPE_V8SF_V8SI_V8SF): Ditto.
14538 (V16SF_FTYPE_V16SF_V16SI_V16SF): Ditto.
14539 (V8DI_FTYPE_V8DI_SI_V8DI_V8DI): Ditto.
14540 (PVOID_FTYPE_PVOID_PVOID_ULONG): Ditto.
14541 (V4SF_FTYPE_V2DF_V4SF_QI): Convert mask type from signed to unsigned.
14542 (V4SF_FTYPE_V4DF_V4SF_QI): Ditto.
14543 (V4SF_FTYPE_V8HI_V4SF_QI): Ditto.
14544 (V8SF_FTYPE_V8HI_V8SF_QI): Ditto.
14545 (V16SI_FTYPE_V16SI_V16SI_HI): Ditto.
14546 (V8DI_FTYPE_V8DI_V8DI_QI): Ditto.
14547 (V2DF_FTYPE_V4DF_INT_V2DF_QI): Ditto.
14548 (V2DF_FTYPE_V8DF_INT_V2DF_QI): Ditto.
14549 (V2DI_FTYPE_V2DI_INT_V2DI_QI): Ditto.
14550 (V4DF_FTYPE_V8DF_INT_V4DF_QI): Ditto.
14551 (V4SF_FTYPE_V8SF_INT_V4SF_QI): Ditto.
14552 (V4SI_FTYPE_V2DF_V4SI_QI): Ditto.
14553 (V4SI_FTYPE_V4SI_INT_V4SI_QI): Ditto.
14554 (V4SI_FTYPE_V8HI_V8HI_V4SI_QI): Ditto.
14555 (V4SI_FTYPE_V8SI_INT_V4SI_QI): Ditto.
14556 (V8HI_FTYPE_V16QI_V16QI_V8HI_QI): Ditto.
14557 (V8HI_FTYPE_V8SF_INT_V8HI_QI): Ditto.
14558 (V8HI_FTYPE_V4SF_INT_V8HI_QI): Ditto.
14559 (V8SF_FTYPE_V16SF_INT_V8SF_QI): Ditto.
14560 (V4SF_FTYPE_V16SF_INT_V4SF_QI): Ditto.
14561 (V8DF_FTYPE_V8DF_V2DF_INT_V8DF_QI): Ditto.
14562 (V8DF_FTYPE_V8DF_V4DF_INT_V8DF_QI): Ditto.
14563 (V8DF_FTYPE_V8DF_V8DF_INT_V8DF_QI): Ditto.
14564 (V8DF_FTYPE_V8DF_INT_V8DF_QI): Ditto.
14565 (V4DF_FTYPE_V4DF_V4DF_V4DI_INT_QI): Ditto.
14566 (V2DF_FTYPE_V2DF_V2DF_V2DI_INT_QI): Ditto.
14567 (V16SF_FTYPE_V16SF_V16SF_INT_V16SF_HI): Ditto.
14568 (V16SF_FTYPE_V16SF_INT_V16SF_HI): Ditto.
14569 (V16SI_FTYPE_V16SI_V4SI_INT_V16SI_HI): Ditto.
14570 (V8SF_FTYPE_V8SF_V8SF_V8SI_INT_QI): Ditto.
14571 (V4SF_FTYPE_V4SF_V4SF_V4SI_INT_QI): Ditto.
14572 (V16SF_FTYPE_V16SF_V4SF_INT_V16SF_HI): Ditto.
14573 (V16SF_FTYPE_V16SF_V8SF_INT_V16SF_HI): Ditto.
14574 (V16HI_FTYPE_V32QI_V32QI_V16HI_HI): Ditto.
14575 (V32HI_FTYPE_V64QI_V64QI_V32HI_SI): Ditto.
14576 (V16HI_FTYPE_V16SF_INT_V16HI_HI): Ditto.
14577 (V16SI_FTYPE_V16SI_V8SI_INT_V16SI_HI): Ditto.
14578 (V4SI_FTYPE_V16SI_INT_V4SI_QI): Ditto.
14579 (V16SI_FTYPE_V16SI_V16SI_INT_V16SI_HI): Ditto.
14580 (V8SI_FTYPE_V16HI_V16HI_V8SI_QI): Ditto.
14581 (V16SI_FTYPE_V32HI_V32HI_V16SI_HI): Ditto.
14582 (V8SI_FTYPE_V8SI_INT_V8SI_QI): Ditto.
14583 (V8SI_FTYPE_V16SI_INT_V8SI_QI): Ditto.
14584 (V16SI_FTYPE_V16SI_V4SI_V16SI_HI): Ditto.
14585 (V16SI_FTYPE_V16SI_INT_V16SI_HI): Ditto.
14586 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_QI): Ditto.
14587 (V8DI_FTYPE_V8DI_V8DI_INT_V8DI_DI): Ditto.
14588 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_SI): Ditto.
14589 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_HI): Ditto.
14590 (V8DI_FTYPE_V8DI_V2DI_INT_V8DI_QI): Ditto.
14591 (V8DI_FTYPE_V8DI_V4DI_INT_V8DI_QI): Ditto.
14592 (V4DI_FTYPE_V8DI_INT_V4DI_QI): Ditto.
14593 (V8DI_FTYPE_V8DI_V2DI_V8DI_QI): Ditto.
14594 (V8DI_FTYPE_V8DI_INT_V8DI_QI): Ditto.
14595 (V4DI_FTYPE_V4DI_INT_V4DI_QI): Ditto.
14596 (V2DI_FTYPE_V4DI_INT_V2DI_QI): Ditto.
14597 (V2DI_FTYPE_V8DI_INT_V2DI_QI): Ditto.
14598 (HI_FTYPE_HI): Ditto.
14599 (HI_FTYPE_V16QI): Ditto.
14600 (SI_FTYPE_V32QI): Ditto.
14601 (DI_FTYPE_V64QI): Ditto.
14602 (QI_FTYPE_V8HI): Ditto.
14603 (HI_FTYPE_V16HI): Ditto.
14604 (SI_FTYPE_V32HI): Ditto.
14605 (QI_FTYPE_V4SI): Ditto.
14606 (QI_FTYPE_V8SI): Ditto.
14607 (HI_FTYPE_V16SI): Ditto.
14608 (QI_FTYPE_V2DI): Ditto.
14609 (QI_FTYPE_V4DI): Ditto.
14610 (QI_FTYPE_V8DI): Ditto.
14611 (V16QI_FTYPE_HI): Ditto.
14612 (V32QI_FTYPE_SI): Ditto.
14613 (V64QI_FTYPE_DI): Ditto.
14614 (V8HI_FTYPE_QI): Ditto.
14615 (V16HI_FTYPE_HI): Ditto.
14616 (V32HI_FTYPE_SI): Ditto.
14617 (V4SI_FTYPE_QI): Ditto.
14618 (V4SI_FTYPE_HI): Ditto.
14619 (V8SI_FTYPE_QI): Ditto.
14620 (V8SI_FTYPE_HI): Ditto.
14621 (V2DI_FTYPE_QI): Ditto.
14622 (V4DI_FTYPE_QI): Ditto.
14623 (HI_FTYPE_HI_HI): Ditto.
14624 (SI_FTYPE_SI_SI): Ditto.
14625 (DI_FTYPE_DI_DI): Ditto.
14626 (HI_FTYPE_V16QI_V16QI_HI): Ditto.
14627 (HI_FTYPE_V16QI_V16QI_INT_HI): Ditto.
14628 (SI_FTYPE_V32QI_V32QI_SI): Ditto.
14629 (SI_FTYPE_V32QI_V32QI_INT_SI): Ditto.
14630 (DI_FTYPE_V64QI_V64QI_DI): Ditto.
14631 (DI_FTYPE_V64QI_V64QI_INT_DI): Ditto.
14632 (QI_FTYPE_V8HI_V8HI_QI): Ditto.
14633 (QI_FTYPE_V8HI_V8HI_INT_QI): Ditto.
14634 (HI_FTYPE_V16HI_V16HI_HI): Ditto.
14635 (HI_FTYPE_V16HI_V16HI_INT_HI): Ditto.
14636 (SI_FTYPE_V32HI_V32HI_SI): Ditto.
14637 (SI_FTYPE_V32HI_V32HI_INT_SI): Ditto.
14638 (QI_FTYPE_V4SI_V4SI_QI): Ditto.
14639 (QI_FTYPE_V4SI_V4SI_INT_QI): Ditto.
14640 (QI_FTYPE_V8SI_V8SI_QI): Ditto.
14641 (QI_FTYPE_V8SI_V8SI_INT_QI): Ditto.
14642 (QI_FTYPE_V2DI_V2DI_QI): Ditto.
14643 (QI_FTYPE_V2DI_V2DI_INT_QI): Ditto.
14644 (QI_FTYPE_V4DI_V4DI_QI): Ditto.
14645 (QI_FTYPE_V4DI_V4DI_INT_QI): Ditto.
14646 (QI_FTYPE_V8DI_V8DI_QI): Ditto.
14647 (HI_FTYPE_V16SI_V16SI_HI): Ditto.
14648 (QI_FTYPE_V8DI_V8DI_INT): Ditto.
14649 (QI_FTYPE_V8DI_V8DI_INT_QI): Ditto.
14650 (HI_FTYPE_V16SI_V16SI_INT): Ditto.
14651 (HI_FTYPE_V16SI_V16SI_INT _HI): Ditto.
14652 (QI_FTYPE_V8DF_V8DF_INT): Ditto.
14653 (QI_FTYPE_V8DF_V8DF_INT_QI_INT): Ditto.
14654 (HI_FTYPE_V16SF_V16SF_INT): Ditto.
14655 (HI_FTYPE_V16SF_V16SF_INT_HI_INT): Ditto.
14656 (QI_FTYPE_V2DF_V2DF_INT): Ditto.
14657 (QI_FTYPE_V2DF_V2DF_INT_QI): Ditto.
14658 (QI_FTYPE_V2DF_V2DF_INT_QI_INT): Ditto.
14659 (QI_FTYPE_V4SF_V4SF_INT): Ditto.
14660 (QI_FTYPE_V4SF_V4SF_INT_QI): Ditto.
14661 (QI_FTYPE_V4SF_V4SF_INT_QI_INT): Ditto.
14662 (V16SI_FTYPE_HI): Ditto.
14663 (V8DI_FTYPE_QI): Ditto.
14664 (V2DF_FTYPE_V2DI_V2DF_V2DF_QI): Ditto.
14665 (V2DF_FTYPE_V2DF_V2DI_V2DF_QI): Ditto.
14666 (V4DF_FTYPE_V4DF_V2DF_INT_V4DF_QI): Ditto.
14667 (V4SF_FTYPE_V4SI_V4SF_V4SF_QI): Ditto.
14668 (V4SF_FTYPE_V4SF_V4SI_V4SF_QI): Ditto.
14669 (V4SF_FTYPE_V4SF_V4SF_V4SF_QI): Ditto.
14670 (V8SF_FTYPE_V8SF_V4SF_INT_V8SF_QI): Ditto.
14671 (V8SI_FTYPE_V8SI_V4SI_INT_V8SI_QI): Ditto.
14672 (V4DI_FTYPE_V4DI_V2DI_INT_V4DI_QI): Ditto.
14673 (V2DF_FTYPE_V2DF_V2DF_QI): Ditto.
14674 (V2DF_FTYPE_V4SF_V2DF_QI): Ditto.
14675 (V2DF_FTYPE_V4SI_V2DF_QI): Ditto.
14676 (V4DF_FTYPE_V4DF_V4DF_QI): Ditto.
14677 (V4DF_FTYPE_V4SF_V4DF_QI): Ditto.
14678 (V4DF_FTYPE_V4SI_V4DF_QI): Ditto.
14679 (V8DF_FTYPE_V8DF_V8DF_QI): Ditto.
14680 (V8DF_FTYPE_V8SI_V8DF_QI): Ditto.
14681 (V2DI_FTYPE_V4SI_V2DI_QI): Ditto.
14682 (V2DI_FTYPE_V8HI_V2DI_QI): Ditto.
14683 (V4DI_FTYPE_V4DF_V4DI_QI): Ditto.
14684 (V2DI_FTYPE_V2DF_V2DI_QI): Ditto.
14685 (V2DI_FTYPE_V2DI_V2DI_V2DI_QI): Ditto.
14686 (V2DI_FTYPE_V2DI_V2DI_INT_V2DI_QI): Ditto.
14687 (V4DI_FTYPE_V4DI_V4DI_V4DI_QI): Ditto.
14688 (V4DI_FTYPE_V4DI_V4DI_INT_V4DI_QI): Ditto.
14689 (V8DI_FTYPE_V8SI_V8DI_QI): Ditto.
14690 (V8DI_FTYPE_V8HI_V8DI_QI): Ditto.
14691 (V8DI_FTYPE_V16QI_V8DI_QI): Ditto.
14692 (V2DI_FTYPE_V16QI_V2DI_QI): Ditto.
14693 (V4DI_FTYPE_V16QI_V4DI_QI): Ditto.
14694 (V4DI_FTYPE_V4DI_V4DI_QI): Ditto.
14695 (V4DI_FTYPE_V4SI_V4DI_QI): Ditto.
14696 (V4DI_FTYPE_V8HI_V4DI_QI): Ditto.
14697 (V8DI_FTYPE_V8DI_V8DI_V8DI_QI): Ditto.
14698 (V8DF_FTYPE_V8DI_V8DF_V8DF_QI): Ditto.
14699 (V8DF_FTYPE_V8DF_V8DI_V8DF_QI): Ditto.
14700 (V4DF_FTYPE_V4DI_V4DF_V4DF_QI): Ditto.
14701 (V4DF_FTYPE_V4DF_V4DI_V4DF_QI): Ditto.
14702 (V4DF_FTYPE_V4DF_V4DF_V4DF_QI): Ditto.
14703 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI): Ditto.
14704 (V16QI_FTYPE_V16QI_V16QI_V16QI_HI): Ditto.
14705 (V16HI_FTYPE_V16HI_V16HI_V16HI_HI): Ditto.
14706 (V16SI_FTYPE_V16SI_V16SI_V16SI_HI): Ditto.
14707 (V2DF_FTYPE_V2DF_V2DF_V2DF_QI): Ditto.
14708 (V32HI_FTYPE_V32HI_V32HI_V32HI_SI): Ditto.
14709 (V64QI_FTYPE_V64QI_V64QI_V64QI_DI): Ditto.
14710 (V32QI_FTYPE_V32QI_V32QI_V32QI_SI): Ditto.
14711 (V8HI_FTYPE_V8HI_V8HI_V8HI_QI): Ditto.
14712 (V4SF_FTYPE_V4SF_V4SF_QI): Ditto.
14713 (V4SF_FTYPE_V4SI_V4SF_QI): Ditto.
14714 (V8SF_FTYPE_V8SF_V8SF_QI): Ditto.
14715 (V8SF_FTYPE_V8SI_V8SF_QI): Ditto.
14716 (V16SF_FTYPE_V16SF_V16SF_HI): Ditto.
14717 (V4SI_FTYPE_V16QI_V4SI_QI): Ditto.
14718 (V4SI_FTYPE_V8HI_V4SI_QI): Ditto.
14719 (V8SI_FTYPE_V8SI_V8SI_QI): Ditto.
14720 (V8SI_FTYPE_V8HI_V8SI_QI): Ditto.
14721 (V8SI_FTYPE_V16QI_V8SI_QI): Ditto.
14722 (V4SI_FTYPE_V4SI_V4SI_V4SI_QI): Ditto.
14723 (V4SI_FTYPE_V4SI_V4SI_INT_V4SI_QI): Ditto.
14724 (V8SF_FTYPE_V8SF_V8SF_V8SF_QI): Ditto.
14725 (V8SF_FTYPE_V8SI_V8SF_V8SF_QI): Ditto.
14726 (V8SF_FTYPE_V8SF_V8SI_V8SF_QI): Ditto.
14727 (V8SI_FTYPE_V8SI_V8SI_V8SI_QI): Ditto.
14728 (V8SI_FTYPE_V8SI_V8SI_INT_V8SI_QI): Ditto.
14729 (V16SF_FTYPE_V16SF_V16SF_V16SF_HI): Ditto.
14730 (V16SF_FTYPE_V16SI_V16SF_V16SF_HI): Ditto.
14731 (V16SF_FTYPE_V16SF_V16SI_V16SF_HI): Ditto.
14732 (V16SF_FTYPE_V8SF_V16SF_HI): Ditto.
14733 (V16SF_FTYPE_V4SF_V16SF_HI): Ditto.
14734 (V8DF_FTYPE_V4DF_V8DF_QI): Ditto.
14735 (V8DF_FTYPE_V2DF_V8DF_QI): Ditto.
14736 (V16SI_FTYPE_V8SI_V16SI_HI): Ditto.
14737 (V16SI_FTYPE_V4SI_V16SI_HI): Ditto.
14738 (V16SI_FTYPE_SI_V16SI_HI): Ditto.
14739 (V16SI_FTYPE_V16HI_V16SI_HI): Ditto.
14740 (V16SI_FTYPE_V16QI_V16SI_HI): Ditto.
14741 (V8DI_FTYPE_V4DI_V8DI_QI): Ditto.
14742 (V4SI_FTYPE_V4DF_V4SI_QI): Ditto.
14743 (V8DI_FTYPE_V2DI_V8DI_QI): Ditto.
14744 (V8DI_FTYPE_DI_V8DI_QI): Ditto.
14745 (V16QI_FTYPE_V16SI_V16QI_HI): Ditto.
14746 (V16QI_FTYPE_V8DI_V16QI_QI): Ditto.
14747 (V32HI_FTYPE_V32HI_V32HI_SI): Ditto.
14748 (V32HI_FTYPE_V32QI_V32HI_SI): Ditto.
14749 (V16HI_FTYPE_V16HI_V16HI_HI): Ditto.
14750 (V16HI_FTYPE_V16QI_V16HI_HI): Ditto.
14751 (V8HI_FTYPE_V16QI_V8HI_QI): Ditto.
14752 (V8SF_FTYPE_V4SF_V8SF_QI): Ditto.
14753 (V4DF_FTYPE_V2DF_V4DF_QI): Ditto.
14754 (V8SI_FTYPE_V4SI_V8SI_QI): Ditto.
14755 (V8SI_FTYPE_SI_V8SI_QI): Ditto.
14756 (V4SI_FTYPE_V4SI_V4SI_QI): Ditto.
14757 (V4SI_FTYPE_SI_V4SI_QI): Ditto.
14758 (V4DI_FTYPE_V2DI_V4DI_QI): Ditto.
14759 (V4DI_FTYPE_DI_V4DI_QI): Ditto.
14760 (V2DI_FTYPE_V2DI_V2DI_QI): Ditto.
14761 (V2DI_FTYPE_DI_V2DI_QI): Ditto.
14762 (V64QI_FTYPE_V64QI_V64QI_DI): Ditto.
14763 (V64QI_FTYPE_V16QI_V64QI_DI): Ditto.
14764 (V64QI_FTYPE_QI_V64QI_DI): Ditto.
14765 (V32QI_FTYPE_V32QI_V32QI_SI): Ditto.
14766 (V32QI_FTYPE_V16QI_V32QI_SI): Ditto.
14767 (V32QI_FTYPE_QI_V32QI_SI): Ditto.
14768 (V16QI_FTYPE_V16QI_V16QI_HI): Ditto.
14769 (V16QI_FTYPE_QI_V16QI_HI): Ditto.
14770 (V32HI_FTYPE_V8HI_V32HI_SI): Ditto.
14771 (V32HI_FTYPE_HI_V32HI_SI): Ditto.
14772 (V16HI_FTYPE_V8HI_V16HI_HI): Ditto.
14773 (V16HI_FTYPE_HI_V16HI_HI): Ditto.
14774 (V8HI_FTYPE_V8HI_V8HI_QI): Ditto.
14775 (V8HI_FTYPE_HI_V8HI_QI): Ditto.
14776 (V64QI_FTYPE_PCV64QI_V64QI_DI): Ditto.
14777 (V32HI_FTYPE_PCV32HI_V32HI_SI): Ditto.
14778 (V32QI_FTYPE_PCV32QI_V32QI_SI): Ditto.
14779 (V16SF_FTYPE_PCV16SF_V16SF_HI): Ditto.
14780 (V8DF_FTYPE_PCV8DF_V8DF_QI): Ditto.
14781 (V16SI_FTYPE_PCV16SI_V16SI_HI): Ditto.
14782 (V16HI_FTYPE_PCV16HI_V16HI_HI): Ditto.
14783 (V16QI_FTYPE_PCV16QI_V16QI_HI): Ditto.
14784 (V8SF_FTYPE_PCV8SF_V8SF_QI): Ditto.
14785 (V8DI_FTYPE_PCV8DI_V8DI_QI): Ditto.
14786 (V8SI_FTYPE_PCV8SI_V8SI_QI): Ditto.
14787 (V8HI_FTYPE_PCV8HI_V8HI_QI): Ditto.
14788 (V4DF_FTYPE_PCV4DF_V4DF_QI): Ditto.
14789 (V4SF_FTYPE_PCV4SF_V4SF_QI): Ditto.
14790 (V4DI_FTYPE_PCV4DI_V4DI_QI): Ditto.
14791 (V4SI_FTYPE_PCV4SI_V4SI_QI): Ditto.
14792 (V2DF_FTYPE_PCV2DF_V2DF_QI): Ditto.
14793 (V2DI_FTYPE_PCV2DI_V2DI_QI): Ditto.
14794 (V16HI_FTYPE_V16SI_V16HI_HI): Ditto.
14795 (V8SI_FTYPE_V8DI_V8SI_QI): Ditto.
14796 (V8HI_FTYPE_V8DI_V8HI_QI): Ditto.
14797 (V16QI_FTYPE_V8HI_V16QI_QI): Ditto.
14798 (V16QI_FTYPE_V16HI_V16QI_HI): Ditto.
14799 (V16QI_FTYPE_V4SI_V16QI_QI): Ditto.
14800 (V16QI_FTYPE_V8SI_V16QI_QI): Ditto.
14801 (V8HI_FTYPE_V4SI_V8HI_QI): Ditto.
14802 (V8HI_FTYPE_V8SI_V8HI_QI): Ditto.
14803 (V16QI_FTYPE_V2DI_V16QI_QI): Ditto.
14804 (V16QI_FTYPE_V4DI_V16QI_QI): Ditto.
14805 (V8HI_FTYPE_V2DI_V8HI_QI): Ditto.
14806 (V8HI_FTYPE_V4DI_V8HI_QI): Ditto.
14807 (V4SI_FTYPE_V2DI_V4SI_QI): Ditto.
14808 (V4SI_FTYPE_V4DI_V4SI_QI): Ditto.
14809 (V32QI_FTYPE_V32HI_V32QI_SI): Ditto.
14810 (V2DF_FTYPE_V2DF_INT_V2DF_QI): Ditto.
14811 (V4DF_FTYPE_V4DF_INT_V4DF_QI): Ditto.
14812 (V4SF_FTYPE_V4SF_INT_V4SF_QI): Ditto.
14813 (V8SF_FTYPE_V8SF_INT_V8SF_QI): Ditto.
14814 (V4DF_FTYPE_V4DF_V4DF_INT_V4DF_QI): Ditto.
14815 (V2DF_FTYPE_V2DF_V2DF_INT_V2DF_QI): Ditto.
14816 (V8SF_FTYPE_V8SF_V8SF_INT_V8SF_QI): Ditto.
14817 (V4SF_FTYPE_V4SF_V4SF_INT_V4SF_QI): Ditto.
14818 (VOID_FTYPE_PV8DF_V8DF_QI): Ditto.
14819 (VOID_FTYPE_PV8SI_V8DI_QI): Ditto.
14820 (VOID_FTYPE_PV8HI_V8DI_QI): Ditto.
14821 (VOID_FTYPE_PV8HI_V4DI_QI): Ditto.
14822 (VOID_FTYPE_PV8HI_V2DI_QI): Ditto.
14823 (VOID_FTYPE_PV4SI_V4DI_QI): Ditto.
14824 (VOID_FTYPE_PV4SI_V2DI_QI): Ditto.
14825 (VOID_FTYPE_PV8HI_V8SI_QI): Ditto.
14826 (VOID_FTYPE_PV8HI_V4SI_QI): Ditto.
14827 (VOID_FTYPE_PV4DF_V4DF_QI): Ditto.
14828 (VOID_FTYPE_PV2DF_V2DF_QI): Ditto.
14829 (VOID_FTYPE_PV16SF_V16SF_HI): Ditto.
14830 (VOID_FTYPE_PV8SF_V8SF_QI): Ditto.
14831 (VOID_FTYPE_PV4SF_V4SF_QI): Ditto.
14832 (VOID_FTYPE_PV8DI_V8DI_QI): Ditto.
14833 (VOID_FTYPE_PV4DI_V4DI_QI): Ditto.
14834 (VOID_FTYPE_PV2DI_V2DI_QI): Ditto.
14835 (VOID_FTYPE_PV16SI_V16SI_HI): Ditto.
14836 (VOID_FTYPE_PV16HI_V16SI_HI): Ditto.
14837 (VOID_FTYPE_PV16QI_V16SI_HI): Ditto.
14838 (VOID_FTYPE_PV16QI_V8SI_QI): Ditto.
14839 (VOID_FTYPE_PV16QI_V4SI_QI): Ditto.
14840 (VOID_FTYPE_PV16QI_V8DI_QI): Ditto.
14841 (VOID_FTYPE_PV16QI_V4DI_QI): Ditto.
14842 (VOID_FTYPE_PV16QI_V2DI_QI): Ditto.
14843 (VOID_FTYPE_PV8SI_V8SI_QI): Ditto.
14844 (VOID_FTYPE_PV4SI_V4SI_QI): Ditto.
14845 (VOID_FTYPE_PV32HI_V32HI_SI): Ditto.
14846 (VOID_FTYPE_PV16HI_V16HI_HI): Ditto.
14847 (VOID_FTYPE_PV8HI_V8HI_QI): Ditto.
14848 (VOID_FTYPE_PV64QI_V64QI_DI): Ditto.
14849 (VOID_FTYPE_PV32QI_V32QI_SI): Ditto.
14850 (VOID_FTYPE_PV16QI_V16QI_HI): Ditto.
14851 (V8DI_FTYPE_V8DI_V8DI_V8DI_INT_QI): Ditto.
14852 (V8SI_FTYPE_V8SF_V8SI_QI): Ditto.
14853 (V4SI_FTYPE_V4SF_V4SI_QI): Ditto.
14854 (V4DI_FTYPE_V4SF_V4DI_QI): Ditto.
14855 (V2DI_FTYPE_V4SF_V2DI_QI): Ditto.
14856 (V4SF_FTYPE_V4DI_V4SF_QI): Ditto.
14857 (V4SF_FTYPE_V2DI_V4SF_QI): Ditto.
14858 (V4DF_FTYPE_V4DI_V4DF_QI): Ditto.
14859 (V2DF_FTYPE_V2DI_V2DF_QI): Ditto.
14860 (V32HI_FTYPE_V32HI_INT_V32HI_SI): Ditto.
14861 (V32HI_FTYPE_V32HI_V8HI_V32HI_SI): Ditto.
14862 (V16HI_FTYPE_V16HI_INT_V16HI_HI): Ditto.
14863 (V16HI_FTYPE_V16HI_V8HI_V16HI_HI): Ditto.
14864 (V8HI_FTYPE_V8HI_INT_V8HI_QI): Ditto.
14865 (V32HI_FTYPE_V64QI_V64QI_INT_V32HI_SI): Ditto.
14866 (V16HI_FTYPE_V32QI_V32QI_INT_V16HI_HI): Ditto.
14867 (V8HI_FTYPE_V16QI_V16QI_INT_V8HI_QI): Ditto.
14868 (V64QI_FTYPE_V32HI_V32HI_V64QI_DI): Ditto.
14869 (V32QI_FTYPE_V16HI_V16HI_V32QI_SI): Ditto.
14870 (V16QI_FTYPE_V8HI_V8HI_V16QI_HI): Ditto.
14871 (V32HI_FTYPE_V16SI_V16SI_V32HI_SI): Ditto.
14872 (V16HI_FTYPE_V8SI_V8SI_V16HI_HI): Ditto.
14873 (V8HI_FTYPE_V4SI_V4SI_V8HI_QI): Ditto.
14874 (V8DI_FTYPE_V16SI_V16SI_V8DI_QI): Ditto.
14875 (V4DI_FTYPE_V8SI_V8SI_V4DI_QI): Ditto.
14876 (V2DI_FTYPE_V4SI_V4SI_V2DI_QI): Ditto.
14877 (V16SI_FTYPE_V16SI_V16SI_V16SI_INT_HI): Ditto.
14878 (V8SI_FTYPE_V8SI_V8SI_V8SI_INT_QI): Ditto.
14879 (V4DI_FTYPE_V4DI_V4DI_V4DI_INT_QI): Ditto.
14880 (V4SI_FTYPE_V4SI_V4SI_V4SI_INT_QI): Ditto.
14881 (V2DI_FTYPE_V2DI_V2DI_V2DI_INT_QI): Ditto.
14882 (V8SI_FTYPE_V8SI_V4SI_V8SI_QI): Ditto.
14883 (V4DI_FTYPE_V4DI_V2DI_V4DI_QI): Ditto.
14884 (QI_FTYPE_V4DF_V4DF_INT_QI): Ditto.
14885 (QI_FTYPE_V8SF_V8SF_INT_QI): Ditto.
14886 (QI_FTYPE_V8DF_INT_QI): Ditto.
14887 (QI_FTYPE_V4DF_INT_QI): Ditto.
14888 (QI_FTYPE_V2DF_INT_QI): Ditto.
14889 (HI_FTYPE_V16SF_INT_HI): Ditto.
14890 (QI_FTYPE_V8SF_INT_QI): Ditto.
14891 (QI_FTYPE_V4SF_INT_QI): Ditto.
14892 (V8DF_FTYPE_V8DF_V8DF_V8DF_QI_INT): Ditto.
14893
14894 2015-07-31 Richard Biener <rguenther@suse.de>
14895
14896 * gimple-fold.c (fold_gimple_assign): Remove folding of
14897 GIMPLE_BINARY_RHS.
14898
14899 2015-07-31 Tom de Vries <tom@codesourcery.com>
14900
14901 PR tree-optimization/66846
14902 * omp-low.c (expand_omp_taskreg) [ENABLE_CHECKING]: Call
14903 verify_loop_structure for child_cfun if !LOOPS_NEED_FIXUP.
14904 (expand_omp_target) [ENABLE_CHECKING]: Same.
14905 (execute_expand_omp) [ENABLE_CHECKING]: Call verify_loop_structure for
14906 cfun if !LOOPS_NEED_FIXUP.
14907 (expand_omp_for_static_nochunk): Handle simple latch bb. Handle case
14908 that omp_for already has its own loop struct.
14909 * tree-parloops.c (create_phi_for_local_result)
14910 (create_call_for_reduction): Handle simple latch bb.
14911 (create_parallel_loop): Add simple latch bb to preserve
14912 LOOPS_HAVE_SIMPLE_LATCHES. Record new exit. Handle simple latch bb.
14913 (gen_parallel_loop): Remove call to cancel_loop_tree.
14914 (parallelize_loops): Skip loops that are inner loops of parallelized
14915 loops.
14916 (pass_parallelize_loops::execute) [ENABLE_CHECKING]: Call
14917 verify_loop_structure.
14918
14919 2015-07-30 Anatoly Sokolov <aesok@post.ru>
14920
14921 * config/v850/v850.h (LIBCALL_VALUE): Remove macros.
14922 * config/v850/v850.md (RV_REGNUM): New constants.
14923 * config/v850/v850.c (v850_libcall_value): New functions.
14924 (v850_function_value_regno_p, v850_function_value): Use RV_REGNUM.
14925 (TARGET_LIBCALL_VALUE): Define.
14926
14927 2015-07-30 Anatoly Sokolov <aesok@post.ru>
14928
14929 * rtl.h (lowpart_subreg): Move in file.
14930 * loop-iv.c (lowpart_subreg): Move to...
14931 * simplify-rtx.c (lowpart_subreg): ...here.
14932 (simplify_binary_operation_1): Use lowpart_subreg instead of
14933 simplify_gen_subreg.
14934 * expr.c (expand_expr_real_2): Ditto.
14935 * emit-rtl.c (gen_lowpart_common): Ditto.
14936 * combine.c (gen_lowpart_for_combine): Ditto.
14937 * cfgexpand.c (convert_debug_memory_address, expand_debug_expr,
14938 expand_debug_source_expr): Ditto.
14939
14940 2015-07-30 Richard Sandiford <richard.sandiford@arm.com>
14941
14942 * builtins.c (HAVE_atomic_clear, gen_atomic_clear): Delete.
14943 (expand_builtin_atomic_clear): Remove support for atomic_clear
14944 pattern.
14945
14946 2015-07-30 Richard Biener <rguenther@suse.de>
14947
14948 * gimple-fold.c (fold_gimple_assign): Only fold !tcc_comparison
14949 binaries. Move X == 0, X == 1, X != 0, and X != 1 canonicalization ...
14950 (fold_stmt_1): ... here and work on GIMPLE directly. Remove
14951 redundant operand canonicalization.
14952
14953 2015-07-30 David Sherwood <david.sherwood@arm.com>
14954
14955 * config/aarch64/aarch64-simd.md (aarch64_ext<mode>): Replace call to
14956 GET_MODE_SIZE (GET_MODE_INNER (m)) with GET_MODE_UNIT_SIZE (m).
14957 * config/aarch64/aarch64.c (aarch64_simd_valid_immediate): Likewise.
14958 * config/arm/arm.c (neon_valid_immediate): Likewise.
14959 * config/i386/i386.c (classify_argument, ix86_expand_int_vcond)
14960 (expand_vec_perm_blend, expand_vec_perm_pshufb): Likewise.
14961 (expand_vec_perm_pshufb2, expand_vec_perm_vpshufb2_vpermq): Likewise.
14962 (expand_vec_perm_vpshufb2_vpermq): Likewise.
14963 (expand_vec_perm_vpshufb2_vpermq_even_odd): Likewise.
14964 (expand_vec_perm_vpshufb4_vpermq2): Likewise.
14965 * config/i386/sse.md
14966 (<extract_type>_vinsert<shuffletype><extract_suf>_mask): Likewise.
14967 (*ssse3_palignr<mode>_perm): Likewise.
14968 * config/rs6000/rs6000.c (rs6000_complex_function_value): Likewise.
14969 * config/spu/spu.c (arith_immediate_p): Likewise.
14970 * simplify-rtx.c (simplify_const_unary_operation): Likewise.
14971 (simplify_binary_operation_1, simplify_ternary_operation): Likewise.
14972
14973 2015-07-30 Richard Biener <rguenther@suse.de>
14974
14975 * genmatch.c (decision_tree::gen_gimple): Merge with ...
14976 (decision_tree::gen_generic): ... this into ...
14977 (decision_tree::gen): ... this.
14978 (main): Adjust callers.
14979
14980 2015-07-30 Richard Biener <rguenther@suse.de>
14981
14982 * genmatch.c (verbose): New global.
14983 (warning_at): Add overload with source_location.
14984 (capture_info::capture_info): Add bool whether generating gimple
14985 or generic. Add gimple member.
14986 (capture_info::cinfo): Add capture member.
14987 (capture_info::walk_match): Record capture. Warn on
14988 non-captured leafs.
14989 (capture_info::walk_c_expr): Add more fragments captures cannot
14990 escape through. Warn on escaped captures.
14991 (dt_simplify::gen_1): Warn on operands we force to have no
14992 side-effects.
14993 (main): Initialize verbose.
14994 * match.pd: Add integer_nonzerop and HONOR_NANS predicates.
14995
14996 2015-07-30 Richard Biener <rguenther@suse.de>
14997
14998 PR middle-end/67053
14999 * match.pd: Allow both operands to independently have conversion
15000 when simplifying compares of addresses.
15001
15002 2015-07-29 Segher Boessenkool <segher@kernel.crashing.org>
15003
15004 PR target/66217
15005 PR target/67045
15006 * config/rs6000/rs6000.md (and<mode>3): Put a CONST_INT_P check
15007 around those cases that need one.
15008
15009 2015-07-29 Aditya Kumar <hiraditya@msn.com>
15010
15011 * params.def (PARAM_GRAPHITE_MAX_NB_SCOP_PARAMS): Default to 3.
15012
15013 2015-07-29 H.J. Lu <hongjiu.lu@intel.com>
15014
15015 * config/i386/iamcu.h (TARGET_ASM_FILE_START_FILE_DIRECTIVE):
15016 New. Copied from config/i386/gnu-user.h.
15017 (ASM_COMMENT_START): Likewise.
15018 (DBX_REGISTER_NUMBER): Likewise.
15019
15020 2015-07-29 Richard Biener <rguenther@suse.de>
15021
15022 * gimple-fold.c (fold_gimple_cond): Remove.
15023 (fold_stmt_1): Do not call it.
15024
15025 2015-07-29 Alan Lawrence <alan.lawrence@arm.com>
15026
15027 * config/aarch64/aarch64-builtins.c (aarch64_fp16_type_node): New.
15028 (aarch64_init_builtins): Make aarch64_fp16_type_node, use for __fp16.
15029
15030 * config/aarch64/aarch64-modes.def: Add HFmode.
15031
15032 * config/aarch64/aarch64.h (TARGET_CPU_CPP_BUILTINS): Define
15033 __ARM_FP16_FORMAT_IEEE and __ARM_FP16_ARGS. Set bit 1 of __ARM_FP.
15034
15035 * config/aarch64/aarch64.c (aarch64_init_libfuncs,
15036 aarch64_promoted_type): New.
15037
15038 (aarch64_float_const_representable_p): Disable HFmode.
15039 (aarch64_mangle_type): Mangle half-precision floats to "Dh".
15040 (TARGET_PROMOTED_TYPE): Define to aarch64_promoted_type.
15041 (TARGET_INIT_LIBFUNCS): Define to aarch64_init_libfuncs.
15042
15043 * config/aarch64/aarch64.md (mov<mode>): Include HFmode using GPF_F16.
15044 (movhf_aarch64, extendhfsf2, extendhfdf2, truncsfhf2, truncdfhf2): New.
15045
15046 * config/aarch64/iterators.md (GPF_F16): New.
15047
15048 2015-07-29 Richard Biener <rguenther@suse.de>
15049
15050 * match.pd: Merge address comparison patterns and make them
15051 handle some more cases.
15052
15053 2015-07-29 Richard Biener <rguenther@suse.de>
15054
15055 * genmatch.c (c_expr::gen_transform): Error on unknown captures.
15056 (parser::parse_capture): Add bool argument on whether to reject
15057 unknown captures.
15058 (parser::parse_expr): Adjust.
15059 (parser::parse_op): Likewise.
15060 (parser::parse_pattern): Likewise.
15061
15062 2015-07-29 Richard Biener <rguenther@suse.de>
15063
15064 * gimple-fold.c (has_use_on_stmt): New function.
15065 (replace_stmt_with_simplification): Use it to allow
15066 abnormals originally referenced in the stmt.
15067 (fold_stmt_1): Canonicalize operand order.
15068
15069 2015-07-28 David Sherwood <david.sherwood@arm.com>
15070
15071 * config/arm/arm.c (neon_element_bits, neon_valid_immediate): Call
15072 GET_MODE_INNER unconditionally.
15073 * config/spu/spu.c (arith_immediate_p): Likewise.
15074 * config/i386/i386.c (ix86_build_signbit_mask): Likewise.
15075 * expmed.c (synth_mult): Remove check for VOIDmode result from
15076 GET_MODE_INNER.
15077 (expand_mult_const): Likewise.
15078 * fold-const.c (fold_binary_loc): Replace call to element_precision
15079 with call to GET_MODE_PRECISION.
15080 * genmodes.c (emit_mode_inner_inline): Replace void_mode->name with
15081 m->name.
15082 (emit_mode_inner): Likewise.
15083 * lto-streamer-out.c (lto_write_mode_table): Update GET_MODE_INNER
15084 result check.
15085 * machmode.h (GET_MODE_UNIT_SIZE): Simplify.
15086 (GET_MODE_UNIT_PRECISION): Likewise.
15087 * rtlanal.c (subreg_get_info): Call GET_MODE_INNER unconditionally.
15088 * simplify-rtx.c (simplify_immed_subreg): Likewise.
15089 * stor-layout.c (bitwise_type_for_mode): Update assert.
15090 (element_precision): Remove.
15091
15092 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15093
15094 * target-insns.def (reload_load_address): New targetm instruction
15095 pattern.
15096 * reload1.c (gen_reload): Use it instead of HAVE_*/gen_* interface.
15097
15098 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15099
15100 * target-insns.def (atomic_test_and_set): New targetm instruction
15101 pattern.
15102 * optabs.c (maybe_emit_atomic_test_and_set): Use it instead of
15103 HAVE_*/gen_* interface.
15104
15105 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15106
15107 * target-insns.def (can_extend, ptr_extend): New targetm instruction
15108 patterns.
15109 * optabs.c (can_extend_p): Use them instead of HAVE_*/gen_* interface.
15110 * simplify-rtx.c (simplify_unary_operation_1): Likewise.
15111 * emit-rtl.c (set_reg_attrs_from_value): Likewise.
15112 * rtlanal.c (nonzero_bits1): Likewise.
15113 (num_sign_bit_copies1): Likewise.
15114
15115 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15116
15117 * target-insns.def (eh_return): New targetm instruction pattern.
15118 * except.c (expand_eh_return): Use it instead of HAVE_*/gen_*
15119 interface.
15120 * function.c (thread_prologue_and_epilogue_insns): Remove
15121 preprocessor condition.
15122
15123 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15124
15125 * target-insns.def (indirect_jump): New targetm instruction pattern.
15126 * optabs.c (emit_indirect_jump): Use it instead of HAVE_*/gen_*
15127 interface.
15128
15129 2015-07-28 Richard Sandiford <richard.sandiford@arm.com>
15130
15131 * config/fr30/fr30.md (indirect_jump): Use pmode_register_operand
15132 instead of nonimmediate_operand. Remove C condiition.
15133
15134 2015-07-28 Richard Biener <rguenther@suse.de>
15135
15136 * match.pd: Add more simplification of address comparisons.
15137
15138 2015-07-28 Richard Biener <rguenther@suse.de>
15139
15140 * match.pd: Re-order two cases in comparison with max/min
15141 value simplification to make it apply for bools.
15142
15143 2015-07-28 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15144
15145 * config/aarch64/aarch64.c (aarch64_rtx_arith_op_extract_p):
15146 Handle simple SIGN_EXTEND or ZERO_EXTEND.
15147 (aarch64_rtx_costs): Properly strip extend or extract before
15148 passing down to rtx costs again.
15149
15150 2015-07-28 Nick Clifton <nickc@redhat.com>
15151
15152 * config/rl78/rl78.c (rl78_addsi3_internal): New function.
15153 Optimizes the case where -mes0 is active and a constant symbolic
15154 address is used.
15155 * config/rl78/rl78-protos.h: Prototype the new function.
15156 * config/rl78/rl78.md (addsi3_internal_real): Call new function.
15157
15158 2015-07-28 Tom de Vries <tom@codesourcery.com>
15159
15160 * tree-parloops.c (reduc_stmt_res): New function.
15161 (initialize_reductions, add_field_for_reduction)
15162 (create_phi_for_local_result, create_loads_for_reductions)
15163 (create_stores_for_reduction, build_new_reduction): Handle case that
15164 reduc_stmt is a phi.
15165 (gather_scalar_reductions): Allow double_reduc reductions.
15166
15167 2015-07-28 Richard Biener <rguenther@suse.de>
15168
15169 * fold-const.c (fold_comparison): Remove equality folding
15170 of decl addresses ...
15171 * match.pd: ... here and merge with existing pattern.
15172
15173 2015-07-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
15174
15175 PR tree-optimization/66828
15176 * tree-ssa-math-opts.c (perform_symbolic_merge): Change type of inc
15177 from int64_t to uint64_t.
15178
15179 2015-07-28 Dominik Vogt <vogt@linux.vnet.ibm.com>
15180
15181 * opts-common.c (read_cmdline_option): List DriverOnly enum values
15182 as valid only in the error message of the driver, not in the
15183 messages of the language compilers.
15184
15185 2015-07-27 Tom de Vries <tom@codesourcery.com>
15186
15187 * tree-parloops.c (gather_scalar_reductions): Simplify function
15188 structure.
15189
15190 2015-07-27 Marek Polacek <polacek@redhat.com>
15191
15192 * ipa-devirt.c (types_same_for_odr): Fix typo.
15193
15194 2015-07-27 Jason Merrill <jason@redhat.com>
15195
15196 PR debug/66468
15197 * dwarf2out.c (gen_inlined_subroutine_die): Check
15198 cgraph_function_possibly_inlined_p.
15199
15200 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
15201
15202 * config/aarch64/aarch64.md (aarch64_lshr_sisd_or_int_<mode>3):
15203 Place integer variant first.
15204 (aarch64_ashr_sisd_or_int_<mode>3): Likewise.
15205
15206 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
15207
15208 PR/63870
15209 * config/arm/arm-builtins.c (enum arm_builtins):
15210 Add ARM_BUILTIN_NEON_BASE and ARM_BUILTIN_NEON_LANE_CHECK.
15211 (ARM_BUILTIN_NEON_BASE): Rename macro to....
15212 (ARM_BUILTIN_NEON_PATTERN_START): ...this.
15213 (arm_init_neon_builtins): Register __builtin_arm_lane_check.
15214 (arm_expand_neon_builtin): Handle ARM_BUILTIN_NEON_LANE_CHECK.
15215
15216 2015-07-27 Alan Lawrence <alan.lawrence@arm.com>
15217
15218 PR/63870
15219 * config/arm/arm-builtins.c (enum arm_type_qualifiers):
15220 Add qualifier_lane_index.
15221 (arm_binop_imm_qualifiers, BINOP_IMM_QUALIFIERS): New.
15222 (arm_getlane_qualifiers): Use qualifier_lane_index.
15223 (arm_lanemac_qualifiers): Rename to...
15224 (arm_mac_n_qualifiers): ...this.
15225 (LANEMAC_QUALIFIERS): Rename to...
15226 (MAC_N_QUALIFIERS): ...this.
15227 (arm_mac_lane_qualifiers, MAC_LANE_QUALIFIERS): New.
15228 (arm_setlane_qualifiers): Use qualifier_lane_index.
15229 (arm_ternop_imm_qualifiers, TERNOP_IMM_QUALIFIERS): New.
15230 (enum builtin_arg): Add NEON_ARG_LANE_INDEX.
15231 (arm_expand_neon_args): Handle NEON_ARG_LANE_INDEX.
15232 (arm_expand_neon_builtin): Handle qualifier_lane_index.
15233
15234 * config/arm/arm-protos.h (neon_lane_bounds): Add const_tree parameter.
15235 * config/arm/arm.c (bounds_check): Likewise, improve error message.
15236 (neon_lane_bounds, neon_const_bounds): Add arguments to bounds_check.
15237 * config/arm/arm_neon_builtins.def (vshrs_n, vshru_n, vrshrs_n,
15238 vrshru_n, vshrn_n, vrshrn_n, vqshrns_n, vqshrnu_n, vqrshrns_n,
15239 vqrshrnu_n, vqshrun_n, vqrshrun_n, vshl_n, vqshl_s_n, vqshl_u_n,
15240 vqshlu_n, vshlls_n, vshllu_n): Change qualifiers to BINOP_IMM.
15241 (vsras_n, vsrau_n, vrsras_n, vrsrau_n, vsri_n, vsli_n): Change
15242 qualifiers to TERNOP_IMM.
15243 (vdup_lane): Change qualifiers to GETLANE.
15244 (vmla_lane, vmlals_lane, vmlalu_lane, vqdmlal_lane, vmls_lane,
15245 vmlsls_lane, vmlslu_lane, vqdmlsl_lane): Change qualifiers to MAC_LANE.
15246 (vmla_n, vmlals_n, vmlalu_n, vqdmlal_n, vmls_n, vmlsls_n, vmlslu_n,
15247 vqdmlsl_n): Change qualifiers to MAC_N.
15248
15249 * config/arm/neon.md (neon_vget_lane<mode>, neon_vget_laneu<mode>,
15250 neon_vget_lanedi, neon_vget_lanev2di, neon_vset_lane<mode>,
15251 neon_vset_lanedi, neon_vdup_lane<mode>, neon_vdup_lanedi,
15252 neon_vdup_lanev2di, neon_vmul_lane<mode>, neon_vmul_lane<mode>,
15253 neon_vmull<sup>_lane<mode>, neon_vqdmull_lane<mode>,
15254 neon_vq<r>dmulh_lane<mode>, neon_vq<r>dmulh_lane<mode>,
15255 neon_vmla_lane<mode>, neon_vmla_lane<mode>, neon_vmlal<sup>_lane<mode>,
15256 neon_vqdmlal_lane<mode>, neon_vmls_lane<mode>, neon_vmls_lane<mode>,
15257 neon_vmlsl<sup>_lane<mode>, neon_vqdmlsl_lane<mode>):
15258 Remove call to neon_lane_bounds.
15259
15260 2015-07-27 Wilco Dijkstra <wdijkstr@arm.com>
15261
15262 * config/aarch64/aarch64.md (aarch64_ashl_sisd_or_int_<mode>3):
15263 Place integer variant first.
15264
15265 2015-07-27 Matthew Wahab <matthew.wahab@arm.com>
15266
15267 * config/arm/arm-arches.def: Add "armv6kz". Replace 6ZK with 6KZ
15268 and FL_FOR_ARCH6ZK with FL_FOR_ARCH6KZ.
15269 * config/arm/arm-c.c (arm_cpu_builtins): Emit "__ARM_ARCH_6ZK__"
15270 for armv6kz targets.
15271 * config/arm/arm-cores.def: Replace 6ZK with 6KZ.
15272 * config/arm/arm-protos.h (FL_ARCH6KZ): New.
15273 (FL_FOR_ARCH6ZK): Remove.
15274 (FL_FOR_ARCH6KZ): New.
15275 (arm_arch6zk): New declaration.
15276 * config/arm/arm-tables.opt: Regenerate.
15277 * config/arm/arm.c (arm_arch6kz): New.
15278 (arm_option_override): Set arm_arch6kz.
15279 * config/arm/arm.h (BASE_ARCH_6ZK): Rename to BASE_ARCH_6KZ.
15280 * config/arm/driver-arm.c: Add comment to "armv6zk" entry.
15281 * doc/invoke.texi: Replace "armv6zk" with "armv6kz".
15282
15283 2015-07-27 Marek Polacek <polacek@redhat.com>
15284
15285 PR c++/66555
15286 PR c/54979
15287 * doc/invoke.texi: Document -Wtautological-compare.
15288
15289 2015-07-27 Richard Biener <rguenther@suse.de>
15290
15291 * genmatch.c (decision_tree::gen_gimple): Split out large
15292 subtrees into separate functions.
15293 (decision_tree::gen_generic): Likewise.
15294
15295 2015-07-26 Uros Bizjak <ubizjak@gmail.com>
15296
15297 * config/alpha/alpha.c: Use SUBREG_P predicate.
15298 * config/alpha/predicates.md: Ditto.
15299
15300 2015-07-25 Dominik Vogt <vogt@linux.vnet.ibm.com>
15301
15302 * config.host (s390*-*-*): Include driver-native.c only when
15303 building with s390* as host *and* target.
15304
15305 2015-07-25 Oleg Endo <olegendo@gcc.gnu.org>
15306
15307 PR target/66930
15308 * config/sh/sh.c (sh_split_movrt_negc_to_movt_xor): Add missing
15309 T bit register modified_between_p check.
15310
15311 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
15312
15313 * config/i386/i386.c: Use SUBREG_P predicate.
15314 * config/i386/i386.md: Ditto.
15315 * config/i386/sse.md: Ditto.
15316 * config/i386/predicates.md: Ditto.
15317
15318 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
15319
15320 PR target/67004
15321 * config/i386/i386.h (ADJUST_INSN_LENGTH): Use NONDEBUG_INSN_P (INSN)
15322 predicate and INSN_CODE (INSN) >= 0 to check for valid instruction.
15323
15324 2015-07-25 Sebastian Pop <s.pop@samsung.com>
15325
15326 * Makefile.in: Remove use of TREEBROWSER.
15327 * config.in: Regenerated.
15328 * configure: Regenerated.
15329 * configure.ac: Remove definition of TREEBROWSER.
15330 * tree-browser.c: Removed.
15331 * tree-browser.def: Removed.
15332
15333 2015-07-25 Sebastian Pop <s.pop@samsung.com>
15334
15335 * graphite-scop-detection.c: Include gimple-pretty-print.h.
15336 (stmt_simple_for_scop_p): Print when a stmt is not handled in
15337 Graphite.
15338 (scopdet_basic_block_info): Print when a loop or bb cannot be
15339 represented in Graphite.
15340
15341 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
15342
15343 PR target/66648
15344 * config/i386/i386.c (ix86_expand_set_or_movmem): Emit main loop
15345 execution guard when min_size is less than size_needed.
15346
15347 2015-07-25 Sebastian Pop <s.pop@samsung.com>
15348
15349 * doc/install.texi: Document supported versions of ISL.
15350
15351 2015-07-25 Jeff Law <law@redhat.com>
15352
15353 Revert:
15354 PR lto/66752
15355 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
15356 unable to find X NE 0 in the tables, return X as the simplified
15357 condition.
15358 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
15359 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
15360 to VISISTED_BBS. */
15361 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
15362 after removing the control flow statement and unnecessary edges.
15363
15364 2015-07-25 David Edelsohn <dje.gcc@gmail.com>
15365
15366 Revert:
15367 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
15368
15369 PR rtl-optimization/64164
15370 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
15371 * tree-ssa-copyrename.c: Removed.
15372 * opts.c (default_options_table): Drop -ftree-copyrename. Add
15373 -ftree-coalesce-vars.
15374 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
15375 * common.opt (ftree-copyrename): Ignore.
15376 (ftree-coalesce-inlined-vars): Likewise.
15377 * doc/invoke.texi: Remove the ignored options above.
15378 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
15379 * tree-ssa-coalesce.h: ... here.
15380 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
15381 headers required by it.
15382 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
15383 across variables when flag_tree_coalesce_vars. Check register
15384 use and promoted modes to allow coalescing. Moved to
15385 tree-ssa-coalesce.c.
15386 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
15387 with its member functions to tree-ssa-coalesce.c.
15388 (var_map_base_init): Likewise. Renamed to
15389 compute_samebase_partition_bases.
15390 (partition_view_normal): Drop want_bases parameter.
15391 (partition_view_bitmap): Likewise.
15392 * tree-ssa-live.h: Adjust declarations.
15393 * tree-ssa-coalesce.c: Include explow.h.
15394 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
15395 default defs at the entry point.
15396 (dump_part_var_map): New.
15397 (compute_optimized_partition_bases): New, called by...
15398 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
15399 of compute_samebase_partition_bases. Adjust.
15400 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
15401 * cfgexpand.c (leader_merge): New.
15402 (get_rtl_for_parm_ssa_default_def): New.
15403 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
15404 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
15405 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
15406 redundant MEM attr setting.
15407 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
15408 from...
15409 (expand_one_stack_var): ... this. New wrapper to check and
15410 skip already expanded SSA partitions.
15411 (record_alignment_for_reg_var): New, factored out of...
15412 (expand_one_var): ... this.
15413 (expand_one_ssa_partition): New.
15414 (adjust_one_expanded_partition_var): New.
15415 (expand_one_register_var): Check and skip already expanded SSA
15416 partitions.
15417 (expand_used_vars): Don't create DECLs for anonymous SSA
15418 names. Expand all SSA partitions, then adjust all SSA names.
15419 (pass::execute): Replace the loops that set
15420 SA.partition_to_pseudo from partition leaders and cleared
15421 DECL_RTL for multi-location variables, and that which used to
15422 rename vars and set attrs, with one that clears DECL_RTL and
15423 checks that PARMs and RESULTs default_defs match DECL_RTL.
15424 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
15425 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
15426 * explow.c (promote_ssa_mode): New.
15427 * explow.h (promote_ssa_mode): Declare.
15428 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
15429 * function.c: Include cfgexpand.h.
15430 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
15431 (use_register_for_parm_decl): Wrapper for the above to
15432 special-case the result_ptr.
15433 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
15434 (split_complex_args): Take assign_parm_data_all argument.
15435 Pass it to rtl_for_parm. Set up rtl and context for split
15436 args.
15437 (assign_parms_augmented_arg_list): Adjust.
15438 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
15439 multiple locations. Recognize split complex args.
15440 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
15441 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
15442 (assign_parm_setup_block): Prefer SSA-assigned location.
15443 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
15444 if stack_parm is NULL.
15445 (assign_parm_setup_stack): Prefer SSA-assigned location.
15446 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
15447 rtl before testing for pointer bounds. Special-case result_ptr.
15448 (expand_function_start): Maybe reset DECL_RTL of result.
15449 Prefer SSA-assigned location for result and static chain.
15450 Factor out DECL_RESULT and SET_DECL_RTL.
15451 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
15452 anonymous SSA names. Use promote_ssa_mode.
15453 (get_temp_reg): Likewise.
15454 (remove_ssa_form): Adjust.
15455 * stor-layout.c (layout_decl): Don't set mem attributes of
15456 non-MEMs.
15457 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
15458 and get its reg_usage for reg invalidation.
15459 (compute_bb_dataflow): Pass it insn.
15460 (emit_notes_in_bb): Likewise.
15461
15462 2015-07-25 Uros Bizjak <ubizjak@gmail.com>
15463
15464 * config/i386/i386.c (ix86_va_start): Remove
15465 unneeded !TARGET_64BIT check.
15466 (ix86_gimplify_va_arg): Ditto.
15467
15468 2015-07-24 Tom de Vries <tom@codesourcery.com>
15469
15470 * graphite-sese-to-poly.c (build_poly_scop): Always call
15471 rewrite_commutative_reductions_out_of_ssa.
15472
15473 2015-07-24 Tom de Vries <tom@codesourcery.com>
15474
15475 * graphite-sese-to-poly.c (is_reduction_operation_p): Limit
15476 flag_associative_math to FLOAT_TYPE_P. Honour
15477 TYPE_OVERFLOW_WRAPS for INTEGRAL_TYPE_P. Don't allow any other types.
15478
15479 2015-07-24 Manuel López-Ibáñez <manu@gcc.gnu.org>
15480
15481 PR c++/64079
15482 * toplev.c (check_global_declaration): Use DECL_SOURCE_LOCATION
15483 and "%qD" in warning_at instead of "%q+D" in warning.
15484
15485 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
15486
15487 * config/i386/i386.c (ix86_call_abi_override): Call ix86_function_abi.
15488 (ix86_function_abi): Cleanup.
15489
15490 2015-07-24 Michael Darling <darlingm@gmail.com>
15491
15492 PR other/66259
15493 * acinclude.m4: Reflects renaming of configure.in to configure.ac
15494 * configure: Likewise
15495 * configure.ac: Likewise
15496 * doc/install.texi: Likewise
15497 * doc/tm.texi: Likewise
15498 * doc/tm.texi.in: Likewise
15499
15500 2015-07-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15501
15502 * alias.c (nonoverlapping_memrefs_p): Use std::swap instead of
15503 manually swapping values.
15504 * cse.c (fold_rtx): Likewise.
15505 * lra-eliminations.c (form_sum): Likewise.
15506
15507 2015-07-24 Uros Bizjak <ubizjak@gmail.com>
15508
15509 PR target/64003
15510 * config/i386/i386.h (ADJUST_INSN_LENGTH): New define.
15511 * config/i386/i386.md (maybe_prefix_bnd): New attribute.
15512 (*jcc_1, *jcc_2, jump, simple_return_internal)
15513 (simple_return_pop_internal): Set attribute maybe_prefix_bnd.
15514 Set length_nobnd attribute instead of length attribute.
15515 (indirect_jump, *tablejump_1): Set attribute maybe_prefix_bnd.
15516 (length_nobnd): Remove attribute.
15517 (length): Remove length_nobnd processing.
15518
15519 2015-07-24 Nathan Sidwell <nathan@codesourcery.com>
15520
15521 * gimplify.c (omp_default_clause): New function. Reorganize flow
15522 for clarity. Broken out of ...
15523 (omp_notice_variable): ... here.
15524
15525 2015-07-24 Gary Funck <gary@intrepid.com>
15526
15527 PR middle-end/66984
15528 * fold-const.c (fold_binary_loc): Call fold_convert on arguments to
15529 fold_build2 for CEIL_DIV_EXPR and FLOOR_DIV_EXPR optimization.
15530
15531 2015-07-24 Tom de Vries <tom@codesourcery.com>
15532
15533 * tree-parloops.c (gen_parallel_loop): Add debug print for alternative
15534 exit-first loop transform.
15535
15536 2015-07-24 Cesar Philippidis <cesar@codesourcery.com>
15537
15538 PR 66714
15539 * tree-cfg.c (struct replace_decls_d): New struct.
15540 (replace_block_vars_by_duplicates_1): New function.
15541 (replace_block_vars_by_duplicates): Use it to replace the decls
15542 in the value exprs by duplicates.
15543
15544 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
15545
15546 * config/aarch64/aarch64-elf-raw.h (LINK_SPEC): Handle -h, -static,
15547 -shared, -symbolic, -rdynamic.
15548
15549 2015-07-24 Szabolcs Nagy <szabolcs.nagy@arm.com>
15550
15551 PR target/65711
15552 * config/aarch64/aarch64-linux.h (LINUX_TARGET_LINK_SPEC): Move
15553 -dynamic-linker within %{!static %{!shared, and -rdynamic within
15554 %{!static.
15555
15556 2015-07-24 Ilya Enkovich <enkovich.gnu@gmail.com>
15557
15558 PR ipa/66566
15559 * ipa-inline-analysis.c (estimate_calls_size_and_time): Check
15560 edge summary is available.
15561
15562 2015-07-24 Richard Biener <rguenther@suse.de>
15563
15564 * genmatch.c (struct dt_node): Add statistic fields.
15565 (dt_node::analyze): New method.
15566 (decision_tree::gen_gimple): Call analyze on the root node
15567 and print statistics to stderr.
15568 (decision_tree::gen_generic): Likewise.
15569
15570 2015-07-24 Richard Biener <rguenther@suse.de>
15571
15572 * fold-const.c (fold_binary_loc): Move simplifying of comparisons
15573 against the highest or lowest possible integer ...
15574 * match.pd: ... as patterns here.
15575
15576 2015-07-24 Richard Biener <rguenther@suse.de>
15577
15578 * genmatch.c (struct capture_info): Add same_as field.
15579 (capture_info::capture_info): Initialize same_as.
15580 (capture_info::walk_match): Compute same_as.
15581 (capture_info::walk_result): Compute stuff for the leader.
15582 (capture_info::walk_c_expr): Likewise.
15583 (dt_simplify::gen_1): Only look at leaders when deciding
15584 to force no side-effects or emit side-effects of omitted operands.
15585
15586 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
15587
15588 * config/s390/s390.c (s390_save_gprs_to_fprs): Add CFA_REGISTER
15589 reg note to the GPR -> FPR save instructions.
15590
15591 2015-07-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
15592
15593 * config/s390/s390.c (s390_rtx_costs): Make risbg patterns
15594 cheaper.
15595 (s390_expand_insv): Don't generate risbg pattern for constant zero
15596 sources.
15597 * config/s390/s390.md ("*insv<mode>_zEC12_appendbitsleft")
15598 ("*insv<mode>_z10_appendbitsleft"): New pattern definitions. New
15599 splitters.
15600
15601 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
15602
15603 * config/s390/s390.c (s390_reorg): Clean up handling of processors
15604 with
15605 -mtune=
15606 (s390_issue_rate): Likewise.
15607 (s390_sched_reorder): Likewise.
15608 (s390_sched_variable_issue): Likewise.
15609 (s390_loop_unroll_adjust): Likewise.
15610 (s390_option_override): Likewise.
15611
15612 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
15613
15614 * config/s390/driver-native.c (s390_host_detect_local_cpu): Handle
15615 processor capabilities with -march=native.
15616 * config/s390/s390.h (MARCH_MTUNE_NATIVE_SPECS): Likewise.
15617 (DRIVER_SELF_SPECS): Likewise. Join specs for 31 and 64 bit.
15618 (S390_TARGET_BITS_STRING): Macro to simplify specs.
15619
15620 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
15621
15622 * config/s390/s390.c (s390_issue_rate): Handle
15623 PROCESSOR_2094_Z9_EC.
15624 (s390_option_override): Likewise.
15625 (s390_adjust_priority): Likewise.
15626
15627 2015-07-24 Dominik Vogt <vogt@linux.vnet.ibm.com>
15628
15629 * config/s390/s390.h: S390: Do not define EXTRA_SPEC_FUNCTIONS
15630 when cross compiling.
15631
15632 2015-07-24 Richard Biener <rguenther@suse.de>
15633
15634 * fold-const.c (maybe_canonicalize_comparison_1): Move
15635 A code CST canonicalization ...
15636 * match.pd: ... to a pattern here.
15637
15638 2015-07-24 Jiong Wang <jiong.wang@arm.com>
15639
15640 Revert:
15641 2015-07-22 Jiong Wang <jiong.wang@arm.com>
15642 PR target/63521
15643 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
15644 (HONOR_REG_ALLOC_ORDER): Define.
15645
15646 2015-07-24 Richard Biener <rguenther@suse.de>
15647
15648 * genmatch.c (add_operator): Allow SSA_NAME as predicate.
15649 * fold-const.c (fold_comparison): Move parameter does not
15650 alias &local simplification ...
15651 * match.pd: ... as a pattern here.
15652
15653 2015-07-24 Richard Biener <rguenther@suse.de>
15654
15655 * gimple-fold.c (replace_stmt_with_simplification): Special-case
15656 valueizing call operands.
15657 * gimple-match-head.c (maybe_push_res_to_seq): Take
15658 number of call arguments from ops array.
15659 (do_valueize): New function.
15660 (gimple_simplify): Return true if valueization changed
15661 any operand even if the result didn't simplify further.
15662
15663 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
15664
15665 PR middle-end/25530
15666 * match.pd (mult (trunc_div @0 integer_pow2p@1) @1) : New simplifier.
15667
15668 2015-07-24 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
15669
15670 PR middle-end/25529
15671 * match.pd (trunc_div (mult @0 integer_pow2p@1) @1) : New simplifier.
15672
15673 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
15674
15675 * config/arm/arm.c (arm_emit_movpair): Add REG_EQUAL notes to
15676 instruction.
15677
15678 2015-07-23 Kugan Vivekanandarajah <kuganv@linaro.org>
15679
15680 * cse.c (cse_insn): Fix missing check for STRICT_LOW_PART and minor
15681 clean up.
15682
15683 2015-07-23 Uros Bizjak <ubizjak@gmail.com>
15684
15685 * config/i386/i386.c (ix86_build_builtin_va_list_64): Rename
15686 from ix86_build_builtin_va_list_abi. Handle only 64bit non-MS_ABI
15687 targets here.
15688 (ix86_build_builtin_va_list): Rewrite sysv_va_list_type_node and
15689 ms_va_list_type_node initialization.
15690
15691 2015-07-23 Jeff Law <law@redhat.com>
15692
15693 PR lto/66752
15694 * tree-ssa-threadedge.c (simplify_conrol_stmt_condition): If we are
15695 unable to find X NE 0 in the tables, return X as the simplified
15696 condition.
15697 (fsm_find_control_statement_thread_paths): If nodes in NEXT_PATH are
15698 in VISISTED_BBS, then return failure. Else add nodes from NEXT_PATH
15699 to VISISTED_BBS. */
15700 * tree-ssa-threadupdate.c (duplicate_thread_path): Fix up edge flags
15701 after removing the control flow statement and unnecessary edges.
15702
15703 2015-07-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
15704
15705 * tree-pass.h (get_current_pass_name): Removed.
15706
15707 2015-07-23 Alexandre Oliva <aoliva@redhat.com>
15708
15709 PR rtl-optimization/64164
15710 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
15711 * tree-ssa-copyrename.c: Removed.
15712 * opts.c (default_options_table): Drop -ftree-copyrename. Add
15713 -ftree-coalesce-vars.
15714 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
15715 * common.opt (ftree-copyrename): Ignore.
15716 (ftree-coalesce-inlined-vars): Likewise.
15717 * doc/invoke.texi: Remove the ignored options above.
15718 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
15719 * tree-ssa-coalesce.h: ... here.
15720 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
15721 headers required by it.
15722 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
15723 across variables when flag_tree_coalesce_vars. Check register
15724 use and promoted modes to allow coalescing. Moved to
15725 tree-ssa-coalesce.c.
15726 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
15727 with its member functions to tree-ssa-coalesce.c.
15728 (var_map_base_init): Likewise. Renamed to
15729 compute_samebase_partition_bases.
15730 (partition_view_normal): Drop want_bases parameter.
15731 (partition_view_bitmap): Likewise.
15732 * tree-ssa-live.h: Adjust declarations.
15733 * tree-ssa-coalesce.c: Include explow.h.
15734 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
15735 default defs at the entry point.
15736 (dump_part_var_map): New.
15737 (compute_optimized_partition_bases): New, called by...
15738 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
15739 of compute_samebase_partition_bases. Adjust.
15740 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
15741 * cfgexpand.c (leader_merge): New.
15742 (get_rtl_for_parm_ssa_default_def): New.
15743 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
15744 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
15745 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
15746 redundant MEM attr setting.
15747 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
15748 from...
15749 (expand_one_stack_var): ... this. New wrapper to check and
15750 skip already expanded SSA partitions.
15751 (record_alignment_for_reg_var): New, factored out of...
15752 (expand_one_var): ... this.
15753 (expand_one_ssa_partition): New.
15754 (adjust_one_expanded_partition_var): New.
15755 (expand_one_register_var): Check and skip already expanded SSA
15756 partitions.
15757 (expand_used_vars): Don't create DECLs for anonymous SSA
15758 names. Expand all SSA partitions, then adjust all SSA names.
15759 (pass::execute): Replace the loops that set
15760 SA.partition_to_pseudo from partition leaders and cleared
15761 DECL_RTL for multi-location variables, and that which used to
15762 rename vars and set attrs, with one that clears DECL_RTL and
15763 checks that PARMs and RESULTs default_defs match DECL_RTL.
15764 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
15765 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
15766 * explow.c (promote_ssa_mode): New.
15767 * explow.h (promote_ssa_mode): Declare.
15768 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
15769 * function.c: Include cfgexpand.h.
15770 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
15771 (use_register_for_parm_decl): Wrapper for the above to
15772 special-case the result_ptr.
15773 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
15774 (split_complex_args): Take assign_parm_data_all argument.
15775 Pass it to rtl_for_parm. Set up rtl and context for split
15776 args.
15777 (assign_parms_augmented_arg_list): Adjust.
15778 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
15779 multiple locations. Recognize split complex args.
15780 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
15781 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
15782 (assign_parm_setup_block): Prefer SSA-assigned location.
15783 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
15784 if stack_parm is NULL.
15785 (assign_parm_setup_stack): Prefer SSA-assigned location.
15786 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
15787 rtl before testing for pointer bounds. Special-case result_ptr.
15788 (expand_function_start): Maybe reset DECL_RTL of result.
15789 Prefer SSA-assigned location for result and static chain.
15790 Factor out DECL_RESULT and SET_DECL_RTL.
15791 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
15792 anonymous SSA names. Use promote_ssa_mode.
15793 (get_temp_reg): Likewise.
15794 (remove_ssa_form): Adjust.
15795 * stor-layout.c (layout_decl): Don't set mem attributes of
15796 non-MEMs.
15797 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
15798 and get its reg_usage for reg invalidation.
15799 (compute_bb_dataflow): Pass it insn.
15800 (emit_notes_in_bb): Likewise.
15801
15802 2015-07-23 Segher Boessenkool <segher@kernel.crashing.org>
15803
15804 PR target/66217
15805 * config/rs6000/rs6000-protos.h (rs6000_emit_2insn_and): Change
15806 prototype.
15807 * config/rs6000/rs6000.c (rs6000_emit_dot_insn): New function.
15808 (rs6000_emit_2insn_and): Handle dot forms.
15809 * config/rs6000/rs6000.md (and<mode>3): Adjust.
15810 (*and<mode>3_2insn): Remove TODO. Adjust. Add "type" attr.
15811 (*and<mode>3_2insn_dot, *and<mode>3_2insn_dot2): New.
15812
15813 2015-07-23 Richard Biener <rguenther@suse.de>
15814
15815 * generic-match-head.c: Include cgraph.h.
15816 * gimple-match-head.c: Likewise.
15817 * tree-ssa-sccvn.c (free_scc_vn): Guard against newly created
15818 SSA names.
15819 * fold-const.c (fold_binary_loc): Move &A ==/!= &B simplification...
15820 * match.pd: ...to a pattern here. Add &A ==/!= 0 simplification
15821 pattern.
15822
15823 2015-07-23 Richard Biener <rguenther@suse.de>
15824
15825 * gimple-fold.c (fold_gimple_cond): Do not require folding
15826 results to pass valid_gimple_rhs_p.
15827 * tree-cfg.h (fold_cond_expr_cond): Remove.
15828 * tree-cfg.c (fold_cond_expr_cond): Likewise.
15829 (make_edges): Do not call it.
15830 * tree-inline.c (tree_function_versioning): Likewise.
15831
15832 2015-07-23 Tom de Vries <tom@codesourcery.com>
15833
15834 * tree-parloops.c (gather_scalar_reductions): Add arg to call to
15835 vect_force_simple_reduction.
15836 * tree-vect-loop.c (vect_analyze_scalar_cycles_1): Same.
15837 (vect_is_simple_reduction_1): Add and handle
15838 need_wrapping_integral_overflow parameter.
15839 (vect_is_simple_reduction, vect_force_simple_reduction): Add and pass
15840 need_wrapping_integral_overflow parameter.
15841 (vectorizable_reduction): Add arg to call to vect_is_simple_reduction.
15842 * tree-vectorizer.h (vect_force_simple_reduction): Add parameter to
15843 decl.
15844
15845 2015-07-23 Yuri Rumyantsev <ysrumyan@gmail.com>
15846
15847 PR tree-optimization/66926,66951
15848 * tree-vect-loop-manip.c (slpeel_tree_peel_loop_to_edge): Delete
15849 INNER_LOOP and fix up condition for renaming virtual operands.
15850
15851 2015-07-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
15852
15853 * combine.c (try_combine): Use std::swap instead of manually
15854 swapping.
15855
15856 2015-07-23 Prachi Godbole <prachi.godbole@imgtec.com>
15857
15858 * config/mips/i6400.md: New file.
15859 * config/mips/mips-cpus.def (mips32r6): Change to PROCESSOR_I6400.
15860 (mips64r6): Likewise.
15861 (i6400): Define.
15862 * config/mips/mips-tables.opt: Regenerate.
15863 * config/mips/mips.c (mips_rtx_cost_data): Add I6400 processor.
15864 (mips_issue_rate): Add support for i6400.
15865 (mips_multipass_dfa_lookahead): Likewise.
15866 * config/mips/mips.h (TUNE_I6400): Define.
15867 * config/mips/mips.md: Include i6400.md.
15868 (processor): Add i6400.
15869 * doc/invoke.texi (-march=@var{arch}): Add i6400.
15870
15871 2015-07-23 Richard Biener <rguenther@suse.de>
15872
15873 PR middle-end/66916
15874 * match.pd: Guard widen and sign-change comparison simplification
15875 with single_use.
15876
15877 2015-07-23 Richard Biener <rguenther@suse.de>
15878
15879 PR tree-optimization/66945
15880 * tree-ssa-propagate.c (substitute_and_fold_dom_walker
15881 ::before_dom_children): Force the propagators idea of
15882 non-executable edges to materialize, not what the folder
15883 chooses.
15884
15885 2015-07-23 Richard Biener <rguenther@suse.de>
15886
15887 * gimple.h (gimple_cond_make_false): Use 0 != 0.
15888 (gimple_cond_make_true): Use 1 != 0.
15889
15890 2015-07-22 DJ Delorie <dj@redhat.com>
15891
15892 * config/msp430/t-msp430 (MULTILIB_DIRNAMES): Remove trailing
15893 slashes.
15894
15895 * config/msp430/msp430.md (ashlhi3): Optimize shifts of subregs.
15896 (ashrhi3): Likewise.
15897 (lshrhi3): Likewise.
15898 (movhi): Take advantage of zero-extend to load small constants.
15899 (movpsi): Likewise.
15900 (and<mode>3): Likewise.
15901 (zero_extendqihi2): Likewise.
15902 (zero_extendqisi2): New.
15903 * config/msp430/constraints.md (N,O): New.
15904 * config/msp430/msp430.h (WORD_REGISTER_OPERATIONS): Define.
15905
15906 2015-07-22 Uros Bizjak <ubizjak@gmail.com>
15907
15908 PR target/66954
15909 * config/i386/i386.c (get_builtin_code_for_version): Add P_AES
15910 to enum feature_priority and feature_list.
15911 (fold_builtin_cpu): Add F_AES to enum processor_features
15912 and isa_names_table.
15913
15914 2015-07-22 Ilya Enkovich <enkovich.gnu@gmail.com>
15915
15916 PR driver/66737
15917 * config/i386/linux-common.h (MPX_SPEC): Use linker option
15918 for 64bit target only.
15919
15920 2015-07-22 Bernd Schmidt <bernds@codesourcery.com>
15921
15922 * config/nvptx/nvptx.c: Expand some comments.
15923
15924 2015-07-22 James Greenhalgh <james.greenhalgh@arm.com>
15925
15926 * config/arm/cortex-a53 (cortex_53_advsimd): Rename to...
15927 (cortex_a53_advsimd): ...This.
15928
15929 2015-07-22 Richard Biener <rguenther@suse.de>
15930
15931 * genmatch.c (expr::gen_transform): Clarify error message
15932 and display location.
15933
15934 2015-07-22 Richard Biener <rguenther@suse.de>
15935
15936 * genmatch.c (struct operand): Add location member.
15937 (predicate, expr, c_expr, capture, if_expr, with_expr): Adjust
15938 constructors.
15939 (struct simplify): Remove match_location and result_location
15940 members.
15941 (elsehwere): Adjust.
15942
15943 2015-07-22 Prachi Godbole <prachi.godbole@imgtec.com>
15944
15945 * config/mips/m5100.md: New file.
15946 * config/mips/mips-cpus.def (m5100, m5101): Define.
15947 * config/mips/mips-tables.opt: Regenerate.
15948 * config/mips/mips.c (mips_rtx_cost_data): Add costs for m5100.
15949 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=m5100 and
15950 -march=m5101 to -mips32r5.
15951 (MIPS_ARCH_FLOAT_SPEC): Map -m5101 to -msoft-float.
15952 (MIPS_ISA_NAN2008_SPEC): Map -march=m51* to -mnan=2008 if
15953 !-msoft-float.
15954 * config/mips/mips.md: Include m5100.md.
15955 (processor): Add m5100.
15956 * doc/invoke.texi (-march=@var{arch}): Add m5100, m5101.
15957
15958 2015-07-22 Robert Suchanek <robert.suchanek@imgtec.com>
15959
15960 * config/mips/mips-cpus.def (interaptiv): Define.
15961 * config/mips/mips-tables.opt: Regenerate.
15962 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Map -march=interaptiv to
15963 -mips32r2.
15964 (BASE_DRIVER_SELF_SPECS): Likewise but map to -mdsp.
15965 * doc/invoke.texi (-march=@var{arch}): Add interaptiv.
15966
15967 2015-07-22 Jiong Wang <jiong.wang@arm.com>
15968
15969 PR target/63521
15970 * config/aarch64/aarch64.h (REG_ALLOC_ORDER): Define.
15971 (HONOR_REG_ALLOC_ORDER): Define.
15972
15973 2015-07-22 Richard Biener <rguenther@suse.de>
15974
15975 PR tree-optimization/66952
15976 * tree-ssa-ifcombine.c (pass_tree_ifcombine::execute): For
15977 blocks we end up executing unconditionally reset all SSA
15978 info such as range and alignment.
15979 * tree-ssanames.h (reset_flow_sensitive_info): Declare.
15980 * tree-ssanames.c (reset_flow_sensitive_info): New function.
15981
15982 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
15983
15984 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>): Fix
15985 typo in attribute.
15986
15987 2015-07-22 Richard Biener <rguenther@suse.de>
15988
15989 * genmatch.c (parser::parse_result): Properly handle
15990 match with result operands and conditions.
15991
15992 2015-07-22 Charles Baylis <charles.baylis@linaro.org>
15993
15994 PR target/63870
15995 * config/aarch64/aarch64-builtins.c (enum aarch64_type_qualifiers):
15996 Add qualifier_struct_load_store_lane_index.
15997 (aarch64_types_loadstruct_lane_qualifiers): Use
15998 qualifier_struct_load_store_lane_index for lane index argument for
15999 last argument.
16000 (aarch64_types_storestruct_lane_qualifiers): Ditto.
16001 (builtin_simd_arg): Add SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
16002 (aarch64_simd_expand_args): Add new argument describing mode of
16003 builtin. Check lane bounds for arguments with
16004 SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
16005 (aarch64_simd_expand_builtin): Emit error for incorrect lane indices
16006 if marked with SIMD_ARG_STRUCT_LOAD_STORE_LANE_INDEX.
16007 (aarch64_simd_expand_builtin): Handle arguments with
16008 qualifier_struct_load_store_lane_index. Pass machine mode of builtin to
16009 aarch64_simd_expand_args.
16010 * config/aarch64/aarch64-simd-builtins.def: Declare ld[234]_lane and
16011 vst[234]_lane with BUILTIN_VALLDIF.
16012 * config/aarch64/aarch64-simd.md:
16013 (aarch64_vec_load_lanesoi_lane<mode>): Use VALLDIF iterator. Perform
16014 endianness reversal on lane index.
16015 (aarch64_vec_load_lanesci_lane<mode>): Ditto.
16016 (aarch64_vec_load_lanesxi_lane<mode>): Ditto.
16017 (vec_store_lanesoi_lane<mode>): Use VALLDIF iterator.
16018 (vec_store_lanesci_lane<mode>): Ditto.
16019 (vec_store_lanesxi_lane<mode>): Ditto.
16020 (aarch64_ld2_lane<mode>): Use VALLDIF iterator. Remove endianness
16021 reversal of lane index.
16022 (aarch64_ld3_lane<mode>): Ditto.
16023 (aarch64_ld4_lane<mode>): Ditto.
16024 (aarch64_st2_lane<mode>): Ditto.
16025 (aarch64_st3_lane<mode>): Ditto.
16026 (aarch64_st4_lane<mode>): Ditto.
16027 * config/aarch64/arm_neon.h (__LD2_LANE_FUNC): Rename mode parameter
16028 to qmode. Add new mode parameter. Update uses.
16029 (__LD3_LANE_FUNC): Ditto.
16030 (__LD4_LANE_FUNC): Ditto.
16031 (__ST2_LANE_FUNC): Ditto.
16032 (__ST3_LANE_FUNC): Ditto.
16033 (__ST4_LANE_FUNC): Ditto.
16034
16035 2015-07-22 Jonathan Wakely <jwakely@redhat.com>
16036
16037 * doc/invoke.texi (Language Independent Options): Rename node to
16038 Diagnostic Message Formatting Options.
16039
16040 2015-07-21 Vladimir Makarov <vmakarov@redhat.com>
16041
16042 PR ipa/66424.
16043 * lra-remat.c (operand_to_remat): Prevent using insns with input
16044 subregs processed separately by IRA.
16045
16046 2015-07-21 Andrew MacLeod <amacleod@redhat.com>
16047
16048 * ssa-iterators.h (has_zero_uses, has_single_use): Implement as
16049 straight loops.
16050 (single_imm_use): Check for iterator node.
16051 (num_imm_uses): Likewise.
16052 * tree-ssa-operands.c (has_zero_uses_1): Delete.
16053 (single_imm_use_1): Check for iterator node.
16054
16055 2015-07-21 Mike Frysinger <vapier@gentoo.org>
16056 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
16057
16058 * configure.ac: Add check for new options in isl-0.15.
16059 * config.in, configure: Rebuilt.
16060 * graphite-blocking.c: Include <isl/constraint.h>
16061 * graphite-interchange.c, graphite-poly.c: Likewise.
16062 * graphhite-scop-detection.c, graphite-sese-to-poly.c: Likewise.
16063 * graphite.c: Likewise.
16064 * graphite-isl-ast-to-gimple.c: Include <isl/constraint.h> and
16065 <isl/union_set.h>.
16066 * graphite-dependences.c: Include <isl/constraint.h>.
16067 (max_number_of_out_dimensions): Returns isl_stat.
16068 (extend_schedule_1): Likewise
16069 (extend_schedule): Corresponding changes.
16070 * graphite-optimize-isl.c: Include <isl/constraint.h> and
16071 <isl/union_set.h>.
16072 (getSingleMap): Change return type of isl_stat.
16073 (optimize_isl): Conditionally use
16074 isl_options_set_schedule_serialize_sccs.
16075 * graphite-poly.h (isl_stat, isl_stat_ok): Define fallbacks
16076 if not HAVE_ISL_OPTIONS_SET_SCHEDULE_SERIALIZE_SCCS.
16077
16078 2015-07-21 Georg-Johann Lay <avr@gjlay.de>
16079
16080 PR target/66956
16081 * config/avr/avr-dimode.md (<extend_u>mulsidi3_insn)
16082 (<extend_u>mulsidi3): Don't use if !AVR_HAVE_MUL.
16083
16084 2015-07-21 Richard Biener <rguenther@suse.de>
16085
16086 PR tree-optimization/66948
16087 * genmatch.c (capture_info::walk_match): Also recurse to
16088 captures. Properly compute expr state from captures of
16089 captures.
16090 * match.pd: Add single-use guards to
16091 (X & C2) >> C1 into (X >> C1) & (C2 >> C1) transform.
16092
16093 2015-07-21 Nathan Sidwell <nathan@codesourcery.com>
16094
16095 * config/nvptx/mkoffload.c (process): Add static destructor call.
16096
16097 2015-07-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16098
16099 PR middle-end/66915
16100 * match.pd (A - B -> A + (-B)): Don't allow folding
16101 when type if a fixed-point type.
16102
16103 2015-07-20 DJ Delorie <dj@redhat.com>
16104
16105 * config/rl78/rl78-real.md (andqi3_real): Expand operands for clr1.
16106 (iorqi3_real): Likewise for set1.
16107
16108 2015-07-20 Uros Bizjak <ubizjak@gmail.com>
16109
16110 * config/i386/i386.c (ix86_md_asm_adjust): Handle DImode dest_mode
16111 for !TARGET_64BIT.
16112
16113 2015-07-20 Aditya Kumar <hiraditya@msn.com>
16114
16115 * graphite-isl-ast-to-gimple.c:
16116 Refactor so that each function can access 'region'. This will help
16117 maintain a parameter rename_map within a region.
16118
16119 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
16120
16121 * config/rs6000/rs6000.md (*lt0_disi): New.
16122
16123 2015-07-20 Segher Boessenkool <segher@kernel.crashing.org>
16124
16125 PR target/66217
16126 * config/rs6000/constraints.md ("S", "T", "t"): Delete. Update
16127 "available letters" comment.
16128 * config/rs6000/predicates.md (mask_operand, mask_operand_wrap,
16129 mask64_operand, mask64_2_operand, any_mask_operand, and64_2_operand,
16130 and_2rld_operand): Delete.
16131 (and_operand): Adjust.
16132 (rotate_mask_operator): New.
16133 * config/rs6000/rs6000-protos.h (build_mask64_2_operands,
16134 includes_lshift_p, includes_rshift_p, includes_rldic_lshift_p,
16135 includes_rldicr_lshift_p, insvdi_rshift_rlwimi_p, extract_MB,
16136 extract_ME): Delete.
16137 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
16138 rs6000_is_valid_shift_mask, rs6000_is_valid_insert_mask,
16139 rs6000_insn_for_and_mask, rs6000_insn_for_shift_mask,
16140 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
16141 rs6000_emit_2insn_and): New.
16142 * config/rs6000/rs6000.c (num_insns_constant): Adjust.
16143 (build_mask64_2_operands, includes_lshift_p, includes_rshift_p,
16144 includes_rldic_lshift_p, includes_rldicr_lshift_p,
16145 insvdi_rshift_rlwimi_p, extract_MB, extract_ME): Delete.
16146 (rs6000_is_valid_mask, rs6000_is_valid_and_mask,
16147 rs6000_insn_for_and_mask, rs6000_is_valid_shift_mask,
16148 s6000_insn_for_shift_mask, rs6000_is_valid_insert_mask,
16149 rs6000_insn_for_insert_mask, rs6000_is_valid_2insn_and,
16150 rs6000_emit_2insn_and): New.
16151 (print_operand) <'b', 'B', 'm', 'M', 's', 'S', 'W'>: Delete.
16152 (rs6000_rtx_costs) <CONST_INT>: Delete mask_operand and mask64_operand
16153 handling.
16154 <NOT>: Don't fall through to next case.
16155 <AND>: Handle the various rotate-and-mask cases directly.
16156 <IOR>: Always cost as one insn.
16157 * config/rs6000/rs6000.md (splitter for bswap:SI): Adjust.
16158 (and<mode>3): Adjust expander for the new patterns.
16159 (and<mode>3_imm, and<mode>3_imm_dot, and<mode>3_imm_dot2,
16160 and<mode>3_imm_mask_dot, and<mode>3_imm_mask_dot2): Adjust condition.
16161 (*and<mode>3_imm_dot_shifted): New.
16162 (*and<mode>3_mask): Delete, rewrite as ...
16163 (and<mode>3_mask): ... New.
16164 (*and<mode>3_mask_dot, *and<mode>3_mask_dot): Rewrite.
16165 (andsi3_internal0_nomc): Delete.
16166 (*andsi3_internal6): Delete.
16167 (*and<mode>3_2insn): New.
16168 (insv, insvsi_internal, *insvsi_internal1, *insvsi_internal2,
16169 *insvsi_internal3, *insvsi_internal4, *insvsi_internal5,
16170 *insvsi_internal6, insvdi_internal, *insvdi_internal2,
16171 *insvdi_internal3): Delete.
16172 (*rotl<mode>3_mask, *rotl<mode>3_mask_dot, *rotl<mode>3_mask_dot2,
16173 *rotl<mode>3_insert, *rotl<mode>3_insert_2, *rotl<mode>3_insert_3,
16174 *rotl<mode>3_insert_4, two splitters for multi-precision shifts,
16175 *ior<mode>_mask): New.
16176 (extzv, extzvdi_internal, *extzvdi_internal1, *extzvdi_internal2,
16177 *rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
16178 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
16179 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
16180 Delete.
16181 (ashr<mode>3): Delete expander.
16182 (*ashr<mode>3): Rename to ...
16183 (ashr<mode>3): ... This.
16184 (ashrdi3_no_power, *ashrdisi3_noppc64be): Delete.
16185 (*rotldi3_internal4, *rotldi3_internal5 and split,
16186 *rotldi3_internal6 and split, *ashldi3_internal4, ashldi3_internal5
16187 and split, *ashldi3_internal6 and split, *ashldi3_internal7,
16188 ashldi3_internal8 and split, *ashldi3_internal9 and split): Delete.
16189 (*anddi3_2rld, *anddi3_2rld_dot, *anddi3_2rld_dot2): Delete.
16190 (splitter for loading a mask): Adjust.
16191 * doc/md.texi (Machine Constraints): Remove q, S, T, t constraints.
16192
16193 2015-07-20 Marek Polacek <polacek@redhat.com>
16194
16195 * genemit.c (print_code, gen_exp, gen_insn, gen_expand, gen_split,
16196 output_add_clobbers, output_added_clobbers_hard_reg_p,
16197 gen_rtx_scratch): Remove declarations.
16198
16199 2015-07-20 Marek Polacek <polacek@redhat.com>
16200
16201 PR c++/55095
16202 * doc/invoke.texi: Document -Wshift-overflow and -Wshift-overflow=.
16203
16204 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16205
16206 * simplify-rtx.c (simplify_unary_operation_1, NEG case):
16207 (neg (x ? (neg y) : y)) -> !x ? (neg y) : y.
16208
16209 2015-07-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16210
16211 * combine.c (combine_simplify_rtx): Move simplification step
16212 before various transformations/substitutions.
16213
16214 2015-07-20 Mikhail Maltsev <maltsevm@gmail.com>
16215
16216 * wide-int.h (struct binary_traits): Fix partial specialization syntax.
16217 (struct int_traits): Likewise.
16218
16219 2015-07-18 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16220
16221 * vmsdbgout.c (vmsdbgout_decl): Change name of prototyped
16222 function to vmsdbgout_function_decl.
16223
16224 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
16225
16226 PR target/66922
16227 * config/i386/i386.c (ix86_expand_pextr): Reject extractions
16228 from misaligned positions.
16229 (ix86_expand_pinsr): Reject insertions to misaligned positions.
16230
16231 2015-07-18 Sebastian Pop <s.pop@samsung.com>
16232
16233 PR middle-end/46851
16234 PR middle-end/60340
16235 * Makefile.in: Removed omega.o.
16236 * common.opt: Document flag fcheck-data-deps as deprecated.
16237 * doc/invoke.texi: Remove documentation for fcheck-data-deps and
16238 its associated params: omega-max-vars, omega-max-geqs,
16239 omega-max-eqs, omega-max-wild-cards, omega-hash-table-size,
16240 omega-max-keys, omega-eliminate-redundant-constraints.
16241 * doc/loop.texi: Remove all the section on Omega.
16242 * graphite-blocking.c: Include missing params.h: it used to be
16243 included through tree-data-ref.h and omega.h.
16244 * graphite-isl-ast-to-gimple.c: Same.
16245 * graphite-optimize-isl.c: Same.
16246 * graphite-sese-to-poly.c: Same.
16247 * graphite.c: Same.
16248 * omega.c: Remove.
16249 * omega.h: Remove.
16250 * params.def: Removed PARAM_OMEGA_MAX_VARS, PARAM_OMEGA_MAX_GEQS,
16251 PARAM_OMEGA_MAX_EQS, PARAM_OMEGA_MAX_WILD_CARDS,
16252 PARAM_OMEGA_HASH_TABLE_SIZE, PARAM_OMEGA_MAX_KEYS, and
16253 PARAM_OMEGA_ELIMINATE_REDUNDANT_CONSTRAINTS.
16254 * passes.def: Remove pass_check_data_deps.
16255 * tree-data-ref.c (dump_affine_function): Declare DEBUG_FUNCTION.
16256 (dump_conflict_function): Same.
16257 (dump_subscript): Same.
16258 (print_direction_vector): Same.
16259 (print_dir_vectors): Same.
16260 (print_lambda_vector): Same.
16261 (print_dist_vectors): Same.
16262 (dump_data_dependence_relation): Same.
16263 (dump_data_dependence_relations): Same.
16264 (dump_dist_dir_vectors): Same.
16265 (dump_ddrs): Same.
16266 (init_omega_eq_with_af): Removed.
16267 (omega_extract_distance_vectors): Removed.
16268 (omega_setup_subscript): Removed.
16269 (init_omega_for_ddr_1): Removed.
16270 (init_omega_for_ddr): Removed.
16271 (ddr_consistent_p): Removed.
16272 (compute_affine_dependence): Do not use omega to check data
16273 dependences.
16274 (compute_data_dependences_for_bb): Removed.
16275 (analyze_all_data_dependences): Removed.
16276 (tree_check_data_deps): Removed.
16277 * tree-data-ref.h: Do not include omega.h.
16278 (compute_data_dependences_for_bb): Removed.
16279 (tree_check_data_deps): Removed.
16280 * tree-ssa-loop.c (pass_check_data_deps): Removed.
16281 (make_pass_check_data_deps): Removed.
16282 * tree-ssa-phiopt.c: Include params.h.
16283 * tree-vect-data-refs.c: Same.
16284 * tree-vect-slp.c: Same.
16285
16286 2015-07-18 Uros Bizjak <ubizjak@gmail.com>
16287
16288 * config/i386/i386.md (pushsf splitter): Pass curr_insn to
16289 find_constant_src. FAIL if find_constant_src returns NULL_RTX.
16290 (mem->fpreg splitters): Ditto.
16291 (general_operand->nonimmediate_operand splitter): Use explicit modes.
16292 Disable DFmode for TARGET_64BIT.
16293
16294 2015-07-17 H.J. Lu <hongjiu.lu@intel.com>
16295
16296 PR target/66906
16297 * config/i386/i386.c (ix86_expand_prologue): Replicate static
16298 chain on the stack.
16299
16300 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
16301
16302 * config/nvptx/mkoffload.c (process): Constify host data.
16303 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
16304 Constify host data.
16305 (generate_host_descr_file): Likewise.
16306
16307 2015-07-17 Aditya Kumar <aditya.k7@samsung.com>
16308 Sebastian Pop <s.pop@samsung.com>
16309
16310 PR middle-end/61929
16311 * graphite-dependences.c (add_pdr_constraints): Renamed
16312 pdr->extent to pdr->subscript_sizes.
16313 * graphite-interchange.c (build_linearized_memory_access): Add
16314 back all gcc_assert's that the "isl_int to isl_val conversion"
16315 patch has removed. Refactored.
16316 (pdr_stride_in_loop): Renamed pdr->extent to pdr->subscript_sizes.
16317 * graphite-poly.c (new_poly_dr): Same.
16318 (free_poly_dr): Same.
16319 * graphite-poly.h (struct poly_dr): Same.
16320 * graphite-scop-detection.c (stmt_has_simple_data_refs_p): Ignore
16321 all data references other than ARRAY_REF, MEM_REF, and COMPONENT_REF.
16322 * graphite-scop-detection.h: Fix space.
16323 * graphite-sese-to-poly.c (build_pbb_scattering_polyhedrons): Add
16324 back all gcc_assert's removed by a previous patch.
16325 (wrap): Remove the_isl_ctx global variable that the same patch has
16326 added.
16327 (build_loop_iteration_domains): Same.
16328 (add_param_constraints): Same.
16329 (pdr_add_data_dimensions): Same. Refactored.
16330 (build_poly_dr): Renamed extent to subscript_sizes.
16331
16332 2015-07-17 Marek Polacek <polacek@redhat.com>
16333
16334 * fold-const.c (fold_binary_loc): Move A - (A & B) into ~B & A ...
16335 * match.pd: ... here.
16336
16337 2015-07-17 Nathan Sidwell <nathan@codesourcery.com>
16338
16339 * config/nvptx/mkoffload.c (process): Constify target data.
16340 * config/i386/intelmic-mkoffload.c (generate_target_descr_file):
16341 Constify target data.
16342 (generate_target_offloadend_file): Likewise.
16343
16344 2015-07-17 Yuri Rumyantsev <ysrumyan@gmail.com>
16345
16346 * tree-vect-loop-manip.c (rename_variables_in_bb): Add argument
16347 to allow renaming of PHI arguments on edges incoming from outer
16348 loop header, add corresponding check before start PHI iterator.
16349 (slpeel_tree_duplicate_loop_to_edge_cfg): Introduce new bool
16350 variable DUPLICATE_OUTER_LOOP and set it to true for outer loops
16351 with true force_vectorize. Set-up dominator for outer loop too.
16352 Pass DUPLICATE_OUTER_LOOP as argument to rename_variables_in_bb.
16353 (slpeel_can_duplicate_loop_p): Allow duplicate of outer loop if it
16354 was marked with force_vectorize and has restricted cfg.
16355 (slpeel_tree_peel_loop_to_edge): Do not rename exit PHI uses in
16356 inner loop.
16357 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment): Do not
16358 do peeling for outer loops.
16359
16360 2015-07-17 Yvan Roux <yvan.roux@linaro.org>
16361 Matthias Klose <doko@ubuntu.com>
16362
16363 * configure.ac: Move AC_ARG_WITH checks for native-system-header-dir,
16364 build-sysroot, sysroot from the `Miscenalleous configure options' to
16365 the `Directories' section and strip trailing `/' from with_sysroot.
16366 (gcc_gxx_include_dir): Don't strip a `/' sysroot value.
16367 * configure: Regenerated.
16368
16369 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
16370
16371 PR target/66824
16372 * config/i386/i386.h (TARGET_HARD_SF_REGS): New define.
16373 (TARGET_HARD_DF_REGS): Ditto.
16374 (TARGET_HARD_XF_REGS): Ditto.
16375 * config/i386/i386.md (*movxf_internal): Add alternatives 9 and 10.
16376 Enable alternatives 9 and 10 only for !TARGET_HARD_XF_REG target.
16377 (*movdf_internal): Add alternatives 22, 23, 24 and 25. Enable
16378 alternatives 22, 23, 24 and 25 only for !TARGET_HARD_DF_REG target.
16379 (*movsf_internal): Add alternatives 16 and 17. Enable
16380 alternatives 16 and 17 only for !TARGET_HARD_SF_REG target.
16381
16382 2015-07-17 Uros Bizjak <ubizjak@gmail.com>
16383
16384 PR rtl-optimization/66891
16385 * calls.c (expand_call): Wrap precompute_register_parameters with
16386 NO_DEFER_POP/OK_DEFER_POP to prevent deferred pops.
16387
16388 2015-07-16 Nathan Sidwell <nathan@codesourcery.com>
16389
16390 * config/nvptx/mkoffload.c (process): Constify mapping variables.
16391 Define target data struct and initialize it.
16392
16393 2015-07-16 Vladimir Makarov <vmakarov@redhat.com>
16394
16395 PR rtl-optimization/66626
16396 * ira.h (emit-rtl.h): Include.
16397 (non_spilled_static_chain_regno_p): New.
16398 * ira-color.c (setup_profitable_hard_regs): Clear profitable regs
16399 unless it is non spilled static chain pseudo.
16400 (assign_hard_rego): Spill memory profitable allocno unless it is
16401 non spilled static chain pseudo.
16402 (allocno_spill_priority_compare): Put non spilled static chain
16403 pseudo at the end of sorted array.
16404 (improve_allocation): Do nothing if we have static chain and
16405 non-local goto.
16406 (allocno__priority_compare_func): Put non spilled static chain
16407 pseudo at the beginning of sorted array.
16408 (move_spill_restore): Ignore non spilled static chain pseudo.
16409 * ira-costs.c (find_costs_and_classes): Don't assign class NO_REGS
16410 to non spilled static chain pseudo.
16411 * lra-assigns.c (pseudo_compare_func): Put non spilled static chain
16412 pseudo at the beginning of sorted array.
16413 (spill_for): Spill non spilled static chain pseudo last.
16414 * lra-constraints.c (lra_constraints): Remove static chain pseudo
16415 check for equivalence.
16416
16417 2015-07-16 Martin Liska <mliska@suse.cz>
16418
16419 PR ipa/66896.
16420 * ipa-prop.c (update_jump_functions_after_inlining): Create properly
16421 dst_ctx if it does not exist.
16422
16423 2015-07-16 Martin Liska <mliska@suse.cz>
16424
16425 * hash-set.h (remove): New function.
16426 (iterator): New iteration class for hash_set.
16427
16428 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16429
16430 * genattrtab.c (make_canonical): Add a file_location parameter.
16431 Use fatal_at rather than fatal.
16432 (get_attr_value): Likewise. Update call to make_canonical.
16433 (fill_attr, make_length_attrs, optimize_attrs, gen_attr)
16434 (make_internal_attr): Update calls accordingly.
16435
16436 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16437
16438 * read-md.h (message_with_line, error_with_line): Delete.
16439 * read-md.c (message_with_line, error_with_line): Delete.
16440 * gensupport.h: Include read-md.h.
16441 (md_rtx_info): New structure.
16442 (read_md_rtx): Use it. Return a bool success value.
16443 * gensupport.c (read_md_rtx): Likewise.
16444 * genattr-common.c (gen_attr): Take an md_rtx_info rather than an rtx.
16445 (main): Update after interface changes.
16446 * genattr.c (gen_attr): Take an md_rtx_info rather than an rtx.
16447 (main): Update after interface changes.
16448 * genattrtab.c (insn_code_number): Delete.
16449 (optimize_attrs): Add a max_insn_code parameter and use it instead
16450 of insn_code_number.
16451 (gen_attr): Take an md_rtx_info rather than an rtx and lineno.
16452 Use *_at rather than *_with_line functions.
16453 (gen_insn): Likewise.
16454 (gen_delay): Likewise.
16455 (gen_insn_reserv): Likewise.
16456 (gen_bypass): Take an md_rtx_info rather than an rtx.
16457 (main): Update after interface changes. Use a local max_insn_code
16458 variable instead of insn_code_number.
16459 * genautomata.c (gen_cpu_unit): Take an md_rtx_info rather than
16460 an rtx. Use fatal_at rather than fatal.
16461 (gen_query_cpu_unit, gen_bypass, gen_excl_set)
16462 (gen_presence_absence_set, gen_presence_set, gen_final_presence_set)
16463 (gen_absence_set, gen_final_absence_set, gen_automaton)
16464 (gen_automata_option, gen_reserv, gen_insn_reserv): Likewise.
16465 (main): Update after interface changes.
16466 * gencodes.c (gen_insn): Take an md_rtx_info rather than an rtx
16467 and code number.
16468 (main): Update after interface changes.
16469 * genconditions.c (main): Use new read_md_rtx interface.
16470 * genconfig.c (gen_insn): Take an md_rtx_info rather than an rtx.
16471 (gen_expand, gen_split, gen_peephole, gen_peephole2): Likewise.
16472 (main): Update after interface changes.
16473 * genemit.c (insn_code_number, insn_index_number): Delete.
16474 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
16475 Use fatal_at rather than fatal.
16476 (gen_expand): Take an md_rtx_info rather than an rtx. Use fatal_at
16477 rather than fatal.
16478 (gen_split): Likewise.
16479 (main): Update after interface changes.
16480 * genextract.c (line_no): Delete.
16481 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
16482 Update call to walk_rtx.
16483 (VEC_safe_set_locstr): Add an md_rtx_info argument. Use message_at
16484 rather than message_with_line.
16485 (walk_rtx): Add an md_rtx_info argument. Update call to
16486 VEC_safe_set_locstr.
16487 (main): Update after interface changes.
16488 * genflags.c (gen_insn): Take an md_rtx_info rather than an rtx
16489 and lineno. Use error_at rather than separate message_with_line
16490 calls and have_error assignments.
16491 (main): Update after interface changes.
16492 * genmddump.c (main): Use new read_md_rtx interface.
16493 * genopinit.c (insn): Take an md_rtx_info rather than an rtx.
16494 (main): Update after interface changes.
16495 * genoutput.c (next_code_number): Delete.
16496 (gen_insn): Take an md_rtx_info rather than an rtx and lineno.
16497 (gen_peephole, gen_expand, gen_split): Likewise.
16498 (note_constraint): Likewise. Use *_at rather than *_with_line
16499 functions.
16500 (main): Update after interface changes.
16501 * genpeep.c (gen_peephole): Take an md_rtx_info rather than an
16502 rtx and lineno.
16503 (main): Update after interface changes.
16504 * genpreds.c (process_define_predicate): Take an md_rtx_info rather
16505 than an rtx and lineno.
16506 (process_define_constraint): Likewise.
16507 (process_define_register_constraint): Likewise.
16508 (main): Update after interface changes.
16509 * genrecog.c (next_insn_code, pattern_lineno): Delete.
16510 (validate_pattern): Replace top-level rtx with an md_rtx_info.
16511 Use *_at rather than *_with_line functions.
16512 (match_pattern_2): Likewise.
16513 (match_pattern_1, match_pattern): Add an md_rtx_info parameter.
16514 (get_peephole2_pattern): Take an md_rtx_info rather than an rtvec.
16515 Use *_at rather than *_with_line functions.
16516 * gentarget-def.c (add_insn): New function.
16517 (main): Use it. Use new read_md_rtx interface.
16518
16519 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16520
16521 * gensupport.h (compute_test_codes): Take a file_location rather
16522 than a line number.
16523 * gensupport.c (compute_test_codes): Likewise. Use *_at functions
16524 rather than *_with_line functions.
16525 (process_define_predicate): Update call to compute_test_codes.
16526 * genpreds.c (validate_exp): Take a file_location rather than a
16527 line number. Use *_at functions rather than *_with_line functions.
16528 (process_define_predicate): Update call to validate_exp.
16529 (constraint_data): Replace lineno field with a file_location.
16530 (add_constraint): Take a file_location rather than a line number.
16531 Use *_at functions rather than *_with_line functions. Fix error
16532 message for address constraints. Update after changes to
16533 validate_exp, constraint_data and compute_test_codes.
16534 (process_define_constraint): Update accordingly.
16535 (process_define_register_constraint): Likewise.
16536
16537 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16538
16539 * genoutput.c (data): Use a file_location to record the source
16540 position.
16541 (nothing): Delete.
16542 (idata, idata_end): Remove initialization.
16543 (constraint_data): Replace lineno with a file_location.
16544 (output_insn_data): Update after changes to data.
16545 (gen_insn, gen_peephole, gen_expand, gen_split): Likewise.
16546 (scan_operands): Likewise, using *_at rather than *_with_line
16547 functions.
16548 (process_template): Likewise.
16549 (validate_insn_alternatives): Likewise.
16550 (validate_insn_operands): Likewise.
16551 (validate_optab_operands): Likewise.
16552 (init_insn_for_nothing): Initialize idata and idata_end.
16553 (note_constraint): Update after changes to constraint_data,
16554 using at rather than with_line functions.
16555 (mdep_constraint_len): Take a file_location rather than a
16556 line number. Use at rather than with_line functions.
16557
16558 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16559
16560 * read-md.h (fatal_at): Declare.
16561 * read-md.c (fatal_at): New function.
16562 * genattrtab.c (insn_def, attr_desc, delay_desc): Use a file_location
16563 to record the source position.
16564 (check_attr_test): Take a file_location instead of a line number.
16565 Use fatal_at instead of fatal.
16566 (check_attr_value): Update after above changes, using "at"
16567 rather than "with_line" reporting functions.
16568 (convert_set_attr_alternative): Likewise.
16569 (gen_attr): Likewise.
16570 (check_defs): Likewise. Don't assign to read_md_filename.
16571 (gen_insn): Update initialization after above changes.
16572 (gen_delay): Likewise.
16573 (write_insn_cases): Print the filename for a define_peephole.
16574 (gen_insn_reserv): Take a line number as argument and update
16575 the call to check_attr_test.
16576 (main): Pass a line number to gen_insn_reserv.
16577
16578 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16579
16580 * read-md.h (file_location): New structure.
16581 (directive_handler_t): Take a file_location rather than a line number.
16582 (message_at, error_at): Declare.
16583 (read_skip_construct): Delete.
16584 * read-md.c (message_with_line_1): Replace with...
16585 (message_at_1): ...this new function.
16586 (message_at, error_at): New functions.
16587 (message_with_line, error_with_line): Update to use message_at_1.
16588 (handle_enum): Take a file_location rather than a line number
16589 and use error_at for error reporting.
16590 (handle_include): Likewise.
16591 (read_skip_construct): Likewise. Make static.
16592 (handle_file): Update after above changes. Pass a file_location
16593 rather than a line number to handle_directive.
16594 * gensupport.c (queue_elem): Replace separate filename and lineno
16595 with a file_location.
16596 (queue_pattern): Replace filename and lineno arguments with a
16597 file_location. Update after change to queue_elem.
16598 (process_define_predicate): Replace lineno argument with a
16599 file_location and use error_at for error reporting. Update
16600 after above changes.
16601 (process_rtx): Likewise.
16602 (subst_pattern_match): Likewise.
16603 (get_alternatives_number): Likewise.
16604 (alter_predicate_for_insn): Likewise.
16605 (rtx_handle_directive): Likewise.
16606 (is_predicable): Update after above changes, using error_at rather
16607 than error_with_line.
16608 (has_subst_attribute): Likewise.
16609 (identify_predicable_attribute): Likewise.
16610 (alter_attrs_for_subst_insn): Likewise.
16611 (process_one_cond_exec): Likewise.
16612 (process_substs_on_one_elem): Likewise.
16613 (process_define_subst): Likewise.
16614 (check_define_attr_duplicates): Likewise.
16615 (read_md_rtx): Update after change to queue_elem.
16616
16617 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16618
16619 * genoutput.c (next_index_number): Delete.
16620 (data): Remove index_number.
16621 (gen_insn, gen_peephole, gen_expand, gen_split): Update accordingly.
16622 (main): Remove manipulation of next_index_number.
16623
16624 2015-07-16 Richard Sandiford <richard.sandiford@arm.com>
16625
16626 * genattrtab.c (check_attr_value): Remove handling of null attrs.
16627 (make_canonical): Likewise.
16628
16629 2015-07-16 Eric Botcazou <ebotcazou@adacore.com>
16630
16631 * config/sparc/sparc.md (save_stack_nonlocal): Use adjust_address
16632 instead of adjust_address_nv.
16633 (restore_stack_nonlocal): Likewise.
16634 (nonlocal_goto): Likewise.
16635
16636 2015-07-16 Tom de Vries <tom@codesourcery.com>
16637
16638 * tree-parloops.c (create_parallel_loop): Handle case that exit phi does
16639 not have a corresponding loop header phi.
16640
16641 2015-07-16 Tom de Vries <tom@codesourcery.com>
16642
16643 * tree-parloops.c (create_loads_for_reductions): Handle case that
16644 reduction is unused.
16645
16646 2015-07-16 Richard Biener <rguenther@suse.de>
16647
16648 PR tree-optimization/66894
16649 * tree-vrp.c (register_edge_assert_for_2): Fix bad assumption
16650 about deriving NE_EXPR from truncated values.
16651
16652 2015-07-16 Martin Liska <mliska@suse.cz>
16653
16654 * alloc-pool.h
16655 (object_allocator): Add new class.
16656 (pool_allocator::initialize): Use the underlying class.
16657 (pool_allocator::allocate): Likewise.
16658 (pool_allocator::remove): Likewise.
16659 (operator new): A new generic allocator.
16660 * asan.c (struct asan_mem_ref): Remove unused members.
16661 (asan_mem_ref_new): Replace new operator with
16662 object_allocator::allocate.
16663 (free_mem_ref_resources): Change deallocation.
16664 * cfg.c (initialize_original_copy_tables): Replace pool_allocator
16665 with object_allocator.
16666 * config/sh/sh.c (add_constant): Replace new operator with
16667 object_allocator::allocate.
16668 (sh_reorg): Change call to a release method.
16669 * cselib.c (struct elt_list): Remove unused members.
16670 (new_elt_list): Replace new operator with
16671 object_allocator::allocate.
16672 (new_elt_loc_list): Likewise.
16673 (new_cselib_val): Likewise.
16674 (unchain_one_elt_list): Change delete operator with remove method.
16675 (unchain_one_elt_loc_list): Likewise.
16676 (unchain_one_value): Likewise.
16677 (cselib_finish): Release newly added static allocators.
16678 * cselib.h (struct cselib_val): Remove unused members.
16679 (struct elt_loc_list): Likewise.
16680 * df-problems.c (df_chain_alloc): Replace pool_allocator with
16681 object_allocator.
16682 * df-scan.c (struct df_scan_problem_data): Likewise.
16683 (df_scan_alloc): Likewise.
16684 * df.h (struct dataflow): Likewise.
16685 * dse.c (struct read_info_type): Likewise.
16686 (struct insn_info_type): Likewise.
16687 (struct dse_bb_info_type): Likewise.
16688 (struct group_info): Likewise.
16689 (struct deferred_change): Likewise.
16690 (get_group_info): Likewise.
16691 (delete_dead_store_insn): Likewise.
16692 (free_read_records): Likewise.
16693 (replace_read): Likewise.
16694 (check_mem_read_rtx): Likewise.
16695 (scan_insn): Likewise.
16696 (dse_step1): Likewise.
16697 (dse_step7): Likewise.
16698 * et-forest.c (struct et_occ): Remove unused members.
16699 (et_new_occ): Use allocate instead of new operator.
16700 (et_new_tree): Likewise.
16701 (et_free_tree): Call release method explicitly.
16702 (et_free_tree_force): Likewise.
16703 (et_free_pools): Likewise.
16704 (et_split): Use remove instead of delete operator.
16705 * et-forest.h (struct et_node): Remove unused members.
16706 * ipa-cp.c: Change pool_allocator to object_allocator.
16707 * ipa-inline-analysis.c: Likewise.
16708 * ipa-profile.c: Likewise.
16709 * ipa-prop.c: Likewise.
16710 * ipa-prop.h: Likewise.
16711 * ira-build.c (initiate_cost_vectors): Cast return value.
16712 (ira_allocate_cost_vector): Likewise.
16713 * ira-color.c (struct update_cost_record): Remove unused members.
16714 * lra-int.h (struct lra_live_range): Likewise.
16715 (struct lra_copy): Likewise.
16716 (struct lra_insn_reg): Likewise.
16717 * lra-lives.c (lra_live_ranges_finish): Release new static allocator.
16718 * lra.c (new_insn_reg): Replace new operator with allocate method.
16719 (free_insn_regs): Same for operator delete.
16720 (finish_insn_regs): Release new static allocator.
16721 (finish_insn_recog_data): Likewise.
16722 (lra_free_copies): Replace delete operator with remove method.
16723 (lra_create_copy): Replace operator new with allocate method.
16724 (invalidate_insn_data_regno_info): Same for remove method.
16725 * regcprop.c (struct queued_debug_insn_change): Remove unused members.
16726 (free_debug_insn_changes): Replace delete operator with remove method.
16727 (replace_oldest_value_reg): Replace operator new with allocate method.
16728 (pass_cprop_hardreg::execute): Release new static variable.
16729 * sched-deps.c (sched_deps_init): Change pool_allocator to
16730 object_allocator.
16731 * sel-sched-ir.c: Likewise.
16732 * sel-sched-ir.h: Likewise.
16733 * stmt.c (expand_case): Likewise.
16734 (expand_sjlj_dispatch_table): Likewise.
16735 * tree-sra.c (struct access): Remove unused members.
16736 (struct assign_link): Likewise.
16737 (sra_deinitialize): Release newly added static pools.
16738 (create_access_1):Replace operator new with allocate method.
16739 (build_accesses_from_assign): Likewise.
16740 (create_artificial_child_access): Likewise.
16741 * tree-ssa-math-opts.c (pass_cse_reciprocals::execute): Change
16742 pool_allocator to object_allocator.
16743 * tree-ssa-pre.c: Likewise.
16744 * tree-ssa-reassoc.c: Likewise.
16745 * tree-ssa-sccvn.c (allocate_vn_table): Likewise.
16746 * tree-ssa-strlen.c: Likewise.
16747 * tree-ssa-structalias.c: Likewise.
16748 * var-tracking.c (onepart_pool_allocate): New function.
16749 (unshare_variable): Use the newly added function.
16750 (variable_merge_over_cur): Likewise.
16751 (variable_from_dropped): Likewise.
16752 (variable_was_changed): Likewise.
16753 (set_slot_part): Likewise.
16754 (emit_notes_for_differences_1): Likewise.
16755 (vt_finalize): Release newly added static pools.
16756
16757 2015-07-16 Martin Jambor <mjambor@suse.cz>
16758
16759 * ipa-prop.h (param_aa_status): Rename to ipa_param_aa_status. Adjust
16760 all uses. Fix two typos in its general comment.
16761 (func_body_info): Rename to ipa_func_body_info. Adjust all uses.
16762
16763 2015-07-16 Ilya Enkovich <enkovich.gnu@gmail.com>
16764
16765 * config/i386/linux-common.h (LINK_MPX): New.
16766 (MPX_SPEC): Use LINK_MPX instead of %(link_mpx).
16767 * configure.ac: Add HAVE_LD_BNDPLT_SUPPORT macro
16768 indicating '-z bndplt' support by linker.
16769 * configure: Regenerate.
16770 * config.in: Regenerate.
16771
16772 2015-07-16 Richard Biener <rguenther@suse.de>
16773
16774 * fold-const.c (fold_widened_comparison): Remove.
16775 (fold_sign_changed_comparison): Likewise.
16776 (fold_comparison): Move widened and sign-changed comparison
16777 simplification ...
16778 * match.pd: ... to patterns here.
16779 * generic-match-head.c: Include target.h.
16780 * gimple-match-head.c: Likewise.
16781
16782 2015-07-16 Richard Biener <rguenther@suse.de>
16783
16784 * tree-ssa-dom.c (dom_valueize): New function.
16785 (record_temporary_equivalences): Also record equivalences
16786 for dominating stmts that have uses of equivalences we are
16787 about to record.
16788
16789 2015-07-16 Bin Cheng <bin.cheng@arm.com>
16790
16791 * tree-ssa-loop-ivopts.c (add_candidate): Remove call to
16792 add_autoinc_candidates.
16793 (add_iv_candidate_for_biv): Rename to add_iv_candidate_for_biv.
16794 (add_iv_candidate_for_biv): Rename from add_iv_candidate_for_biv.
16795 (add_old_ivs_candidates): Rename to add_iv_candidate_for_bivs.
16796 (add_iv_candidate_for_bivs): Rename from add_old_ivs_candidates.
16797 Call new function.
16798 (add_iv_value_candidates): Rename to add_iv_candidate_for_use.
16799 (add_iv_candidate_for_use): Rename from add_iv_value_candidates.
16800 Remove parameter struct iv*. Call add_autoinc_candidates here.
16801 (add_derived_ivs_candidates): Rename to add_iv_candidate_for_uses.
16802 (add_iv_candidate_for_uses): Rename from add_derived_ivs_candidates.
16803 Call new function.
16804 (find_iv_candidates): Call new functions.
16805
16806 2015-07-16 Sandra Loosemore <sandra@codesourcery.com>
16807
16808 * config/nios2/nios2.c (nios2_emit_stack_limit_check): Fix
16809 uninitialized-variable warning.
16810
16811 2015-07-16 Kaz Kojima <kkojima@gcc.gnu.org>
16812
16813 PR target/65249
16814 * config/sh/sh.md (movdi): Split simple reg move to two movsi
16815 when the destination is R0.
16816
16817 2015-07-16 Uros Bizjak <ubizjak@gmail.com>
16818
16819 PR target/66866
16820 * config/i386/i386-protos.h (ix86_expand_pextr): New prototype.
16821 * config/i386/i386.c (ix86_expand_pextr): New function.
16822 (ix86_expand_pinsr): Handle V1TI and TI modes. Call ix86_expand_pextr
16823 for non-lowpart subregs.
16824 * config/i386/i386.md (extzv<mode>): Expand with ix86_expand_pextr.
16825 (insv<mode>): Use SWI248 mode iterator.
16826 (insv<mode>_1): Ditto.
16827
16828 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
16829 Sebastian Pop <s.pop@samsung.com>
16830
16831 * graphite-sese-to-poly.c (rewrite_cross_bb_scalar_deps): Point
16832 iterator to use_stmt.
16833
16834 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
16835 Sebastian Pop <s.pop@samsung.com>
16836
16837 * graphite-scop-detection.c (build_scops_1): Discard scops for
16838 which entry==exit.
16839
16840 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
16841 Sebastian Pop <s.pop@samsung.com>
16842
16843 * graphite-scop-detection.c (stmt_simple_for_scop_p): Bail out in
16844 case of a return statement in scop.
16845
16846 2015-07-15 Aditya Kumar <aditya.k7@samsung.com>
16847 Sebastian Pop <s.pop@samsung.com>
16848
16849 * graphite-sese-to-poly.c (parameter_index_in_region): Only handle
16850 INTEGER_TYPE parameters.
16851 (scan_tree_for_params): Handle REAL_CST, COMPLEX_CST, and
16852 VECTOR_CST in scan_tree_for_params.
16853 (add_conditions_to_domain): Only constrain on INTEGER_TYPE.
16854
16855 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
16856
16857 * gimple-pretty-print.h: Don't include pretty-print.h.
16858 * tree-streamer.h: Don't include lto-streamer.h.
16859 * gimple-streamer.h: Include tree-streamer.h rather than lto-streamer.h.
16860 * gimple-streamer-in.c: Remove redundant includes.
16861 * gimple-streamer-out.c: Likewise.
16862 * ipa-devirt.c: Likewise.
16863 * ipa-icf.c: Likewise.
16864 * ipa-inline-analysis.c: Likewise.
16865 * ipa-polymorphic-call.c: Likewise.
16866 * ipa-profile.c: Likewise.
16867 * ipa-prop.c: Likewise.
16868 * ipa-pure-const.c: Likewise.
16869 * lto-cgraph.c: Likewise.
16870 * lto-streamer-in.c: Likewise.
16871 * lto-streamer-out.c: Likewise.
16872 * lto-streamer.c: Likewise.
16873 * tree-streamer-in.c: Likewise.
16874 * tree-streamer-out.c: Likewise.
16875 * tree-streamer.c: Likewise.
16876
16877 2015-07-15 Andrew MacLeod <amacleod@redhat.com>
16878
16879 * opth-gen.awk: Check for UNKNOWN_LOCATION rather than GCC_TM_H, don't
16880 include input.h.
16881 * opts.c: Remove multiline #include comment.
16882
16883 2015-07-15 Nathan Sidwell <nathan@codesourcery.com>
16884
16885 * config/nvptx/mkoffload.c (process): Add C++ protection to
16886 emitted code.
16887
16888 2015-07-14 Michael Meissner <meissner@linux.vnet.ibm.com>
16889
16890 PR target/66854
16891 * config/rs6000/rs6000.c (rs6000_pass_by_reference): Move test for
16892 null before IEEE 128-bit floating point support patch.
16893
16894 2015-07-15 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
16895
16896 * simplify-rtx.c (simplify_ternary_operation): Add simplification
16897 for (!c) != {0,...,0} ? a : b for vector modes.
16898
16899 2015-07-15 Paolo Bonzini <bonzini@gnu.org>
16900 Martin Jambor <mjambor@suse.cz>
16901
16902 * ipa-inline-analysis.c (unmodified_parm_or_parm_agg_item): Accept
16903 struct func_body_info* instead of struct ipa_node_params*, expecting
16904 fbi->info to be filled in. Replace throughout. Adjust call to
16905 ipa_load_from_parm_agg.
16906 (set_cond_stmt_execution_predicate): Accept struct func_body_info*
16907 instead of struct ipa_node_params*. Adjust calls to other functions
16908 so that they pass either fbi or fbi->info.
16909 (set_switch_stmt_execution_predicate): Likewise.
16910 (will_be_nonconstant_predicate): Likewise.
16911 (compute_bb_predicates): Likewise.
16912 (estimate_function_body_sizes): Move asserts earlier. Fill in
16913 struct func_body_info, replace parms_info with fbi.info. Adjust
16914 calls to functions that now accept struct func_body_info.
16915 * ipa-prop.c (param_aa_status, struct ipa_bb_info): Move to ipa-prop.h.
16916 (struct func_body_info): Likewise.
16917 (ipa_load_from_parm_agg_1): Rename to ipa_load_from_parm_agg,
16918 remove static. Adjust callers.
16919 (ipa_load_from_parm_agg): Remove.
16920 * ipa-prop.h (param_aa_status, ipa_bb_info): Move from ipa-prop.c.
16921 (func_body_info): Likewise.
16922 (ipa_load_from_parm_agg): Adjust prototype.
16923
16924 2015-07-12 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
16925
16926 * gensupport.c (rtx_handle_directive): Adjust.
16927 * read-rtl.c (apply_iterators): Take vector to add rtxs to
16928 instead of expr list rtx.
16929 (add_define_attr_for_define_subst): Likewise.
16930 (add_define_subst_attr): Likewise.
16931 (read_subst_mapping): Likewise.
16932 (read_rtx): Likewise.
16933 * rtl.h (read_rtx): Adjust.
16934
16935 2015-07-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
16936
16937 * config/aarch64/aarch64.md (*csinc2<mode>_insn): Use cinc mnemonic.
16938
16939 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
16940
16941 PR target/58066
16942 * config/i386/i386.md (*tls_global_dynamic_64_<mode>): Depend on SP_REG.
16943 (*tls_local_dynamic_base_64_<mode>): Ditto.
16944 (*tls_local_dynamic_base_64_largepic): Ditto.
16945 (tls_global_dynamic_64_<mode>): Update expander pattern.
16946 (tls_local_dynamic_base_64_<mode>): Ditto.
16947
16948 2015-07-15 Richard Biener <rguenther@suse.de>
16949
16950 * fold-const.c (fold_binary_loc): Move bool_var != 0 -> bool_var
16951 and bool_var == 1 -> bool_var simplifications ...
16952 * match.pd: ... to patterns here. Factor out negate_expr_p
16953 cases from the A - B -> A + (-B) patterns as negate_expr_p
16954 predicate and add a -(A + B) -> (-B) - A pattern.
16955
16956 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
16957
16958 * config/mips/mips.c (mips_emit_save_slot_move): Fix typo.
16959
16960 2015-07-15 Matthew Fortune <matthew.fortune@imgtec.com>
16961 Robert Suchanek <robert.suchanek@imgtec.com>
16962
16963 * config/mips/mips.c (mips_int_mask): New enum.
16964 (mips_shadow_set): Likewise.
16965 (int_mask): New variable.
16966 (use_shadow_register_set_p): Change type to enum mips_shadow_set.
16967 (machine_function): Add int_mask and use_shadow_register_set.
16968 (mips_attribute_table): Add attribute handlers for interrupt and
16969 use_shadow_register_set.
16970 (mips_interrupt_mask): New static function.
16971 (mips_handle_interrupt_attr): Likewise.
16972 (mips_handle_use_shadow_register_set_attr): Likewise.
16973 (mips_use_shadow_register_set): Change return type to enum
16974 mips_shadow_set. Add argument handling for use_shadow_register_set
16975 attribute.
16976 (mips_interrupt_extra_called_saved_reg_p): Update the conditional to
16977 compare with mips_shadow_set enum.
16978 (mips_compute_frame_info): Add interrupt mask and
16979 use_shadow_register_set to per-function information structure.
16980 Add a stack slot for EPC unconditionally.
16981 (mips_expand_prologue): Compare use_shadow_register_set value
16982 with mips_shadow_set enum. Save EPC always in K1, clobber only K1 for
16983 masked interrupt register but in EIC mode use K0 and save Cause in K0.
16984 EPC saved and restored unconditionally. Use PMODE_INSN macro when
16985 copying the stack pointer from the shadow register set.
16986 * config/mips/mips.h (SR_IM0): New define.
16987 * config/mips/mips.md (mips_rdpgpr): Rename to...
16988 (mips_rdpgpr_<mode>): ...this. Use the Pmode iterator.
16989 * doc/extend.texi (Declaring Attributes of Functions): Document
16990 optional arguments for interrupt and use_shadow_register_set
16991 attributes.
16992
16993 2015-07-15 Robert Suchanek <robert.suchanek@imgtec.com>
16994
16995 * config/mips/mips.c (mips_compute_frame_info): Allow -mhard-float in
16996 interrupt attribute.
16997 (mips_expand_prologue): Disable the floating point unit in an ISR.
16998 * config/mips/mips.h (SR_COP1): New define.
16999
17000 2015-07-15 Richard Biener <rguenther@suse.de>
17001
17002 * genmatch.c (parser::peek, parser::peek_ident): Add argument
17003 to tell how many tokens to peek ahead (default 1).
17004 (parser::eat_token, parser::eat_ident): Return token consumed.
17005 (parser::parse_result): Parse new switch statement.
17006 * match.pd: Use case statements where appropriate.
17007
17008 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
17009
17010 PR rtl-optimization/58066
17011 * calls.c (expand_call): Precompute register parameters before stack
17012 alignment is performed.
17013
17014 2015-07-15 Uros Bizjak <ubizjak@gmail.com>
17015
17016 PR rtl-optimization/66838
17017 * postreload.c (reload_cse_move2add): Also process
17018 CALL_INSN_FUNCTION_USAGE when resetting information of
17019 call-clobbered registers.
17020
17021 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17022 Cesar Philippidis <cesar@codesourcery.com>
17023 Chung-Lin Tang <cltang@codesourcery.com>
17024
17025 * config/nios2/constraints.md (U, v): New constraints.
17026 * config/nios2/predicates.md (rdprs_dcache_operand): New.
17027 (ldstex_memory_operand): New.
17028 * config/nios2/sync.md: New file.
17029 * config/nios2/nios2.md (unspecv): Add new builtin function
17030 UNSPECV codes.
17031 (rdprs, flushd, flushda, wrpie, eni): New patterns.
17032 (top-level): Include sync.md.
17033 * config/nios2/nios2.c (N2_FTYPES): Add function types for
17034 new builtins.
17035 (N2_BUILTINS): Add arch field setting, add new builtins.
17036 (enum nios2_builtin_code,nios2_builtins): Update N2_BUILTIN_DEF
17037 for arch field.
17038 (nios2_expand_ldst_builtin): Rename from nios2_expand_ldstio_builtin.
17039 Also handle ldex/stex/ldsex/stsex builtins.
17040 (nios2_expand_rdprs_builtin): New function.
17041 (nios2_expand_cache_builtin): New function.
17042 (nios2_expand_wrpie_builtin): New function.
17043 (nios2_expand_eni_builtin): New function.
17044 (nios2_expand_builtin): Add arch field handling and new builtin
17045 cases.
17046 * doc/extend.texi (Altera Nios II Built-in Functions): Document
17047 new builtins.
17048 * doc/md.texi (Machine Constraints): Document U and v constraints.
17049
17050 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17051 Cesar Philippidis <cesar@codesourcery.com>
17052 Chung-Lin Tang <cltang@codesourcery.com>
17053
17054 * config/nios2/nios2-protos.h (nios2_expand_return): Declare.
17055 * config/nios2/nios2.c (struct GTY (()) machine_function): Add
17056 callee_save_reg_size and uses_anonymous_args fields.
17057 (nios2_compute_frame_layout): Update for CDX push.n/pop.n usage.
17058 (nios2_create_cfa_notes): New function.
17059 (nios2_adjust_stack): New function for adjusting stack.
17060 (nios2_expand_prologue): Update for CDX push.n/pop.n usage.
17061 Use nios2_adjust_stack.
17062 (nios2_expand_epilogue): Likewise.
17063 (nios2_expand_return): New function.
17064 (nios2_can_use_return_insn): Update for CDX pop.n usage.
17065 (nios2_setup_incoming_varargs): Set uses_anonymous_args flag.
17066 If TARGET_HAS_CDX, defer pushing regs to nios2_expand_prologue.
17067 * config/nios2/nios2.md (return): Use nios2_expand_return.
17068
17069 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17070 Cesar Philippidis <cesar@codesourcery.com>
17071 Chung-Lin Tang <cltang@codesourcery.com>
17072
17073 * config/nios2/predicates.md (pop_operation): New.
17074 (ldwm_operation, stwm_operation): New.
17075 (nios2_hard_register_operand): New.
17076 * config/nios2/nios2-protos.h (pop_operation_p): Declare.
17077 (ldstwm_operation_p): Declare.
17078 (gen_ldstwm_peep): Declare.
17079 * config/nios2/nios2.c: (nios2_ldst_parallel): Declare.
17080 (base_reg_adjustment_p): New.
17081 (pop_operation_p): New.
17082 (CDX_LDSTWM_VALID_REGS_0, CDX_LDSTWM_VALID_REGS_1): Define.
17083 (nios2_ldstwm_regset_p): New.
17084 (ldstwm_operation_p): New.
17085 (gen_ldst): New.
17086 (nios2_ldst_parallel): New.
17087 (struct ldswm_operand): Declare.
17088 (compare_ldstwm_operands): New.
17089 (can_use_cdx_ldstw): New.
17090 (gen_ldstwm_peep): New.
17091 * config/nios2/nios2-ldstwm.sml: New.
17092 * config/nios2/nios2.md: Include ldstwm.md.
17093 * config/nios2/ldstwm.md: Generated.
17094
17095 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17096 Cesar Philippidis <cesar@codesourcery.com>
17097 Chung-Lin Tang <cltang@codesourcery.com>
17098
17099 * config/nios2/nios2.h (LABEL_ALIGN): Define.
17100 (REG_ALLOC_ORDER): Define.
17101 (ADJUST_REG_ALLOC_ORDER): Define.
17102 (HONOR_REG_ALLOC_ORDER): Define.
17103 (CDX_REG_P): Define.
17104 (ANDCLEAR_INT): Define.
17105 * config/nios2/nios2-protos.h (nios2_add_insn_asm): Declare.
17106 (nios2_label_align): Declare.
17107 (nios2_cdx_narrow_form_p): Declare.
17108 (nios2_adjust_reg_alloc_order): Declare.
17109 * config/nios2/nios2.c (nios2_rtx_costs): Adjust for BMX zero-extract
17110 operation.
17111 (nios2_large_unspec_reloc_p): New function, split from...
17112 (nios2_legitimate_pic_operand_p): ...here.
17113 (nios2_emit_move_sequence): Add *high/*lo_sum constant expand code.
17114 (nios2_print_operand_punct_valid_p): New.
17115 (nios2_print_operand): Add %., %!, %x, %y, %A. Remove %U.
17116 (split_mem_address): New.
17117 (split_alu_insn): New.
17118 (cdxreg): New.
17119 (cdx_add_immed, cdx_and_immed, cdx_mov_immed, cdx_shift_immed): New.
17120 (enum nios2_add_insn_kind): New.
17121 (nios2_add_insn_names, nios2_add_insn_narrow): New.
17122 (nios2_add_insn_classify): New.
17123 (nios2_add_insn_asm): New.
17124 (nios2_cdx_narrow_form_p): New.
17125 (label_align, min_labelno, max_labelno): New.
17126 (nios2_reorg): New.
17127 (nios2_label_align): New.
17128 (nios2_adjust_reg_alloc_order): New.
17129 (TARGET_PRINT_OPERAND_PUNCT_VALID_P): Define.
17130 (TARGET_MACHINE_DEPENDENT_REORG): Define.
17131 * config/nios2/constraints.md (P): New constraint.
17132 * config/nios2/predicates.md (const_and_operand): New.
17133 (and_operand): New.
17134 (stack_memory_operand): New.
17135 * config/nios2/nios2.md (SP_REGNO): Define stack pointer regno.
17136 (length): Update to use nios2_cdx_narrow_form_p().
17137 (type): Add new insn type values.
17138 (control, alu, st, ld, shift): Update insn reservations with
17139 new insn type values.
17140 (*high, *lo_sum): Define new insn patterns for constant generation.
17141 (movqi_internal, movhi_internal, movsi_internal): Reduce
17142 alternatives, update asm template to handle CDX variants, update
17143 type attributes.
17144 (zero_extendhisi2, zero_extendqi<mode>2): Add CDX variants to asm
17145 template, update type attributes.
17146 (extendhisi2, extendqi<mode>2): Likewise.
17147 (addsi3): Change to use function for asm string.
17148 (subsi3): Add CDX notation to asm template, update type attributes.
17149 (negsi3, one_cmplsi3): Likewise.
17150 (andsi3): New pattern, specialized from logical patterns.
17151 (<code>si3): Remove and case, combine alternatives, update asm
17152 template.
17153 (<shift_op>si3): Add CDX notation, update type attributes.
17154 (rotrsi3): Update type attribute.
17155 (*merge, extzv, insv): New insn patterns.
17156 (return): Change to define_expand.
17157 (simple_return): Add CDX notation, update type attributes.
17158 (indirect_jump): Add CDX notation.
17159 (jump): Update asm cases, update length attribute expression.
17160 (*call, *call_value, *sibcall, *sibcall_value): Add CDX variant.
17161 (nios2_cbranch): Update asm cases and length attribute expression
17162 to handle CDX variants.
17163 (nios2_cmp<code>): Update asm template.
17164 (nop): Add CDX notation, update type attributes.
17165 (trap): Add CDX notation.
17166 (ctrapsi4): Update asm cases and length attribute expression to
17167 handle CDX variant.
17168 * doc/md.texi (Machine Constraints): Document P constraint.
17169
17170 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17171 Cesar Philippidis <cesar@codesourcery.com>
17172 Chung-Lin Tang <cltang@codesourcery.com>
17173
17174 * config/nios2/nios2.h (SMALL_INT12): New macro.
17175 * config/nios2/nios2.c (nios2_valid_addr_offset_p): New function.
17176 (nios2_valid_addr_expr_p): Use it.
17177 (nios2_symbol_ref_in_small_data_p): Disallow GP-relative addressing
17178 with implicit "io" instructions on R2.
17179 * config/nios2/constraints.md (w): New constraint.
17180 * config/nios2/predicates.md (ldstio_memory_operand): New.
17181 * config/nios2/nios2.md (ld<bhw_uns>io, ld<bh>io): Update memory
17182 operand predicate and constraint.
17183 (ld<bh>io_signed, st<bhw>io>): Likewise.
17184 * doc/md.texi (Machine Constraints): Document w constraint.
17185
17186 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17187 Cesar Philippidis <cesar@codesourcery.com>
17188 Chung-Lin Tang <cltang@codesourcery.com>
17189
17190 * config/nios2/nios2.opt (march, mbmx, mcdx): New options.
17191 * config/nios2/nios2-opts.h (enum nios2_arch_type): New enum for
17192 Nios II architecture level.
17193 * config/nios2/nios2.h (TARGET_ARCH_R2): New define.
17194 (TARGET_CPU_CPP_BUILTINS): Add definition of __nios2_arch__ symbol.
17195 (OPTION_DEFAULT_SPECS): Define.
17196 (ASM_SPEC): Add -march= spec strings.
17197 * config/nios2/nios2.c (nios2_option_override): Check for
17198 conflicts involving new options.
17199 * config.gcc (nios2*-*-*): Support --with-arch=.
17200 * doc/invoke.texi (Option Summary, Nios II Options): Document
17201 -march=, -mbmx, and -mcdx.
17202
17203 2015-07-14 Vladimir Makarov <vmakarov@redhat.com>
17204
17205 PR rtl-optimization/66626
17206 * lra-constraints.c (lra_constraints): Prevent equivalence
17207 substitution for static chain pseudo in functions with nonlocal
17208 goto.
17209
17210 2015-07-14 Sandra Loosemore <sandra@codesourcery.com>
17211
17212 * config/nios2/nios2.c (TEMP_REG_NUM): Move define up in file.
17213 (nios2_emit_stack_limit_check): Add size parameter. Handle
17214 -fstack-limit-symbol as well as -fstack-limit-register.
17215 (nios2_expand_prologue): Emit only a single stack limit check,
17216 even if multiple stack adjustments are required.
17217 (nios2_option_override): Diagnose unsupported combination of -fpic
17218 and -stack-limit-symbol.
17219
17220 2015-07-14 H.J. Lu <hongjiu.lu@intel.com>
17221
17222 * Makefile.in (top_srcdir): New.
17223 * configure.ac: Use AM_ZLIB.
17224 * configure: Regeneated.
17225
17226 2015-07-14 Matthias Klose <doko@ubuntu.com>
17227
17228 PR target/66840
17229 * config/rs6000/t-rs6000 (TM_H): Add rs6000-cpus.def.
17230
17231 2015-07-14 Richard Biener <rguenther@suse.de>
17232
17233 PR tree-optimization/66863
17234 * tree-vrp.c (register_edge_assert_for_2): Properly restrict
17235 what we record for conversion use stmt lhs inequalities.
17236
17237 2015-07-14 Richard Biener <rguenther@suse.de>
17238
17239 * genmatch.c (dt_node::gen_kids_1): Fix case label indenting.
17240 (decision_tree::gen_gimple): Likewise.
17241
17242 2015-07-14 Tom de Vries <tom@codesourcery.com>
17243
17244 * gcc.c (greater_than_spec_func): Declare forward.
17245 (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): Use gt to ignore
17246 -ftree-parallelize-loops={0,1}.
17247 (static_spec_functions): Add greater_than_spec_func function with name
17248 "gt".
17249 (greater_than_spec_func): New function.
17250
17251 2015-07-14 Richard Biener <rguenther@suse.de>
17252
17253 * tree-ssa-dom.c (record_temporary_equivalences): Merge
17254 wideing type conversion case from record_equivalences_from_incoming_edge
17255 and use record_equality to record equivalences.
17256 (record_equivalences_from_incoming_edge): Call
17257 record_temporary_equivalences.
17258
17259 2015-07-14 Richard Biener <rguenther@suse.de>
17260
17261 * genmatch.c (struct operand): Add OP_IF and OP_WITH op_types.
17262 (struct if_expr): New.
17263 (struct with_expr): Likewise.
17264 (is_a_helper): Add helpers for if_expr and with_expr.
17265 (struct simplify): Add simplify_kind enum and member. Remove
17266 ifexpr_vec member.
17267 (simplify::simplify): Adjust.
17268 (lower_commutative): Adjust.
17269 (lower_opt_convert): Likewise.
17270 (lower_cond): Likewise.
17271 (replace_id): Handle with_expr and if_expr.
17272 (lower_for): Adjust.
17273 (dt_simplify::gen_1): New recursive worker, split out from ...
17274 (dt_simplify::gen): ... here. Deal with if and with expansion
17275 recursively.
17276 (capture_info::capture_info): Take context argument
17277 (capture_info::walk_result): Only analyze specific result.
17278 (parser::parse_result): New function.
17279 (parser::parse_simplify): Adjust to parse ifs with then end
17280 else case.
17281 (parser::parse_if): Simplify.
17282 (parser::parse_pattern): Pass down simplify kind.
17283 * match.pd: Convert if structure to new syntax.
17284
17285 2015-07-13 Marek Polacek <polacek@redhat.com>
17286
17287 * rtl.c (rtx_equal_p_cb): Fix typo.
17288
17289 2015-07-13 Andrew MacLeod <amacleod@redhat.com>
17290
17291 * omega.h: Don't include config.h, don't include params.h again if
17292 omega.h has already been included.
17293 * graphite-poly.h: Include sese.h.
17294 * graphite.c: Don't include sese.h, remove needless includes and
17295 minimize includes outside #ifdef HAVE_isl block.
17296 * graphite-blocking.c: Don't include sese.h, remove needless includes,
17297 and wrap entire file in #ifdef HAVE_isl
17298 * graphite-dependences.c: Likewise.
17299 * graphite-interchange.c: Likewise.
17300 * graphite-isl-ast-to-gimple.c: Likewise.
17301 * graphite-optimize-isl.c: Likewise.
17302 * graphite-poly.c: Likewise.
17303 * graphite-scop-detection.c: Likewise.
17304 * graphite-sese-to-poly.c: Likewise.
17305
17306 2015-07-13 Tom de Vries <tom@codesourcery.com>
17307
17308 * omp-low.c (build_receiver_ref): Mark *.omp_data_i as non-trapping.
17309
17310 2015-07-13 Renlin Li <renlin.li@arm.com>
17311
17312 PR rtl/66556
17313 * simplify-rtx.c (simplify_const_relational_operation): Add
17314 side_effects_p checks.
17315
17316 2015-07-12 Aldy Hernandez <aldyh@redhat.com>
17317
17318 * bitmap.h: Fix double word typos.
17319 * builtins.c: Same.
17320 * calls.c: Same.
17321 * cfgloopmanip.c: Same.
17322 * cgraph.c: Same.
17323 * cgraph.h: Same.
17324 * cgraphclones.c: Same.
17325 * combine.c: Same.
17326 * config/aarch64/aarch64-protos.h: Same.
17327 * config/aarch64/aarch64.c: Same.
17328 * config/aarch64/aarch64.md: Same.
17329 * config/arm/arm.md: Same.
17330 * config/arm/arm1020e.md: Same.
17331 * config/arm/arm1026ejs.md: Same.
17332 * config/arm/arm926ejs.md: Same.
17333 * config/arm/fa526.md: Same.
17334 * config/arm/fa606te.md: Same.
17335 * config/arm/fa626te.md: Same.
17336 * config/arm/fa726te.md: Same.
17337 * config/arm/fmp626.md: Same.
17338 * config/darwin.c: Same.
17339 * config/epiphany/epiphany.c: Same.
17340 * config/frv/frv.c: Same.
17341 * config/ft32/ft32.c: Same.
17342 * config/gnu-user.h: Same.
17343 * config/h8300/constraints.md: Same.
17344 * config/i386/i386.c: Same.
17345 * config/i386/i386.md: Same.
17346 * config/iq2000/iq2000.md: Same.
17347 * config/mips/mips.c: Same.
17348 * config/mmix/mmix.md: Same.
17349 * config/moxie/moxie.c: Same.
17350 * config/nds32/nds32.md: Same.
17351 * config/pa/pa.h: Same.
17352 * config/rs6000/aix.h: Same.
17353 * config/rs6000/rs6000.h: Same.
17354 * config/sh/sh.c: Same.
17355 * config/tilegx/tilegx.md: Same.
17356 * config/tilepro/gen-mul-tables.cc: Same.
17357 * cse.c: Same.
17358 * dbxout.c: Same.
17359 * doc/invoke.texi: Same.
17360 * dse.c: Same.
17361 * dwarf2out.c: Same.
17362 * final.c: Same.
17363 * gcc.c: Same.
17364 * genmatch.c: Same.
17365 * gimplify.c: Same.
17366 * hash-table.h: Same.
17367 * internal-fn.c: Same.
17368 * ipa-cp.c: Same.
17369 * ipa-devirt.c: Same.
17370 * ipa-icf.c: Same.
17371 * ipa-icf.h: Same.
17372 * ipa-profile.c: Same.
17373 * ipa-prop.c: Same.
17374 * ipa-prop.h: Same.
17375 * ira.c: Same.
17376 * omp-low.c: Same.
17377 * reg-stack.c: Same.
17378 * regcprop.c: Same.
17379 * reorg.c: Same.
17380 * rtl.h: Same.
17381 * sbitmap.h: Same.
17382 * tree-eh.c: Same.
17383 * tree-inline.c: Same.
17384 * tree-sra.c: Same.
17385 * tree-ssa-dom.c: Same.
17386 * tree-ssa-loop-ivopts.c: Same.
17387 * tree-ssa-structalias.c: Same.
17388 * tree-ssa-tail-merge.c: Same.
17389 * tree-ssa-ter.c: Same.
17390 * tree-ssa-threadupdate.c: Same.
17391 * tree-ssa-uninit.c: Same.
17392 * tree-ssanames.c: Same.
17393 * tree-vect-loop-manip.c: Same.
17394 * tree-vrp.c: Same.
17395 * tree.c: Same.
17396 * valtrack.c: Same.
17397 * vec.h: Same.
17398
17399 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
17400
17401 PR middle-end/66726
17402 * tree-ssa-phiopt.c(factor_out_conditional_conversion): New function.
17403 tree_ssa_phiopt_worker): Call it.
17404
17405 2015-07-12 Kugan Vivekanandarajah <kuganv@linaro.org>
17406
17407 * cse.c (cse_insn): Calculate src_eqv for ZERO_EXTRACT.
17408 * emit-rtl.c (set_for_reg_notes): Allow ZERO_EXTRACT to set
17409 REG_EQUAL note.
17410
17411 2015-07-11 Marek Polacek <polacek@redhat.com>
17412
17413 PR middle-end/66353
17414 * basic-block.h (has_abnormal_call_or_eh_pred_edge_p): New function.
17415 * ira-lives.c (bb_has_abnormal_call_pred): Remove function.
17416 (process_bb_node_lives): Call has_abnormal_call_or_eh_pred_edge_p
17417 rather than bb_has_abnormal_call_pred.
17418 * lra-lives.c (bb_has_abnormal_call_pred): Remove function.
17419 (process_bb_lives): Call has_abnormal_call_or_eh_pred_edge_p
17420 rather than bb_has_abnormal_call_pred.
17421
17422 2015-07-10 Anatoly Sokolov <aesok@post.ru>
17423
17424 * config/v850/v850.h (REG_OK_FOR_BASE_P, REG_OK_FOR_INDEX_P,
17425 REG_OK_FOR_BASE_P_STRICT, REG_OK_FOR_INDEX_P_STRICT, STRICT,
17426 RTX_OK_FOR_BASE_P, GO_IF_LEGITIMATE_ADDRESS): Remove macros.
17427 * config/v850/v850.c (v850_reg_ok_for_base_, v850_rtx_ok_for_base_p,
17428 v850_legitimate_address_p): New functions.
17429 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
17430
17431 2015-07-10 H.J. Lu <hongjiu.lu@intel.com>
17432
17433 PR target/66819
17434 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow
17435 indirect sibcall with register arguments if register available
17436 for argument passing.
17437 (init_cumulative_args): Set cfun->machine->arg_reg_available
17438 to (cum->nregs > 0) or to true if function has a variable
17439 argument list.
17440 (function_arg_advance_32): Set cfun->machine->arg_reg_available
17441 to false if cum->nregs <= 0.
17442 * config/i386/i386.h (machine_function): Add arg_reg_available.
17443
17444 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
17445
17446 * config/i386/sse.md (movdi_to_sse): Use gen_lowpart
17447 and gen_higpart instead of gen_rtx_SUBREG.
17448 * config/i386/i386.md
17449 (floatdi<X87MODEF:mode>2_i387_with_xmm splitter): Ditto.
17450 (read-modify peephole2): Use gen_lowpart instead of
17451 gen_rtx_SUBREG for operand 5.
17452
17453 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
17454
17455 * config/tilepro/gen-mul-tables.cc (main): Change include list for
17456 generated files.
17457 * config/tilepro/mul-tables.c: Regenerate.
17458 * config/tilegx/mul-tables.c: Regenerate.
17459
17460 2015-07-10 Richard Biener <rguenther@suse.de>
17461
17462 * fold-const.c (distribute_bit_expr): Remove.
17463 (fold_binary_loc): Move simplifying (A & C1) + (B & C2)
17464 to (A & C1) | (B & C2), distributing (A & B) | (A & C)
17465 to A & (B | C) and simplifying A << C1 << C2 to ...
17466 * match.pd: ... patterns here.
17467
17468 2015-07-10 Jiong Wang <jiong.wang@arm.com>
17469
17470 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately):
17471 Mark mem as READONLY and NOTRAP for PIC symbol.
17472
17473 2015-07-10 Andrew MacLeod <amacleod@redhat.com>
17474
17475 * gimple-predict.h: New file.
17476 (gimple_predict_predictor, gimple_predict_set_predictor,
17477 gimple_predict_outcome, gimple_predict_set_outcome,
17478 gimple_build_predict): Relocate here.
17479 * gimple.h (gimple_predict_predictor, gimple_predict_set_predictor,
17480 gimple_predict_outcome, gimple_predict_set_outcome): Move to
17481 gimple-predict.h.
17482 * gimple.c (gimple_build_predict): Move to gimple-predict.h
17483 * basic-block.h: Don't include cfghooks.h.
17484 * backend.h: Don't include predict.h.
17485 * cfghooks.h: Include predict.h.
17486 * gimple-pretty-print.c: Include gimple-predict.h.
17487 * gimplify.c: Likwise.
17488 * predict.c: Adjust includes.
17489 * tree-inline.c: Likewise.
17490 * asan.c: Likewise.
17491 * auto-inc-dec.c: Likewise.
17492 * auto-profile.c: Likewise.
17493 * bb-reorder.c: Likewise.
17494 * builtins.c: Likewise.
17495 * caller-save.c: Likewise.
17496 * calls.c: Likewise.
17497 * cfganal.c: Likewise.
17498 * cfgbuild.c: Likewise.
17499 * cfg.c: Likewise.
17500 * cfgcleanup.c: Likewise.
17501 * cfgexpand.c: Likewise.
17502 * cfghooks.c: Likewise.
17503 * cfgloopanal.c: Likewise.
17504 * cfgloop.c: Likewise.
17505 * cfgloopmanip.c: Likewise.
17506 * cfgrtl.c: Likewise.
17507 * cgraph.c: Likewise.
17508 * cgraphunit.c: Likewise.
17509 * combine.c: Likewise.
17510 * cprop.c: Likewise.
17511 * cse.c: Likewise.
17512 * dce.c: Likewise.
17513 * dojump.c: Likewise.
17514 * dse.c: Likewise.
17515 * except.c: Likewise.
17516 * expmed.c: Likewise.
17517 * expr.c: Likewise.
17518 * final.c: Likewise.
17519 * fold-const.c: Likewise.
17520 * function.c: Likewise.
17521 * fwprop.c: Likewise.
17522 * gcc-plugin.h: Likewise.
17523 * gcse.c: Likewise.
17524 * genattrtab.c: Likewise.
17525 * genemit.c: Likewise.
17526 * gengtype.c: Likewise.
17527 * genopinit.c: Likewise.
17528 * genoutput.c: Likewise.
17529 * genpreds.c: Likewise.
17530 * genrecog.c: Likewise.
17531 * gimple-fold.c: Likewise.
17532 * gimple-iterator.c: Likewise.
17533 * gimple-ssa-isolate-paths.c: Likewise.
17534 * gimple-ssa-strength-reduction.c: Likewise.
17535 * graph.c: Likewise.
17536 * graphite-blocking.c: Likewise.
17537 * graphite.c: Likewise.
17538 * graphite-dependences.c: Likewise.
17539 * graphite-interchange.c: Likewise.
17540 * graphite-isl-ast-to-gimple.c: Likewise.
17541 * graphite-optimize-isl.c: Likewise.
17542 * graphite-poly.c: Likewise.
17543 * graphite-scop-detection.c: Likewise.
17544 * graphite-sese-to-poly.c: Likewise.
17545 * haifa-sched.c: Likewise.
17546 * ifcvt.c: Likewise.
17547 * internal-fn.c: Likewise.
17548 * ipa-cp.c: Likewise.
17549 * ipa-profile.c: Likewise.
17550 * ipa-split.c: Likewise.
17551 * ipa-utils.c: Likewise.
17552 * ira-build.c: Likewise.
17553 * ira-color.c: Likewise.
17554 * ira-conflicts.c: Likewise.
17555 * ira-costs.c: Likewise.
17556 * ira-emit.c: Likewise.
17557 * ira-lives.c: Likewise.
17558 * jump.c: Likewise.
17559 * loop-doloop.c: Likewise.
17560 * loop-init.c: Likewise.
17561 * loop-invariant.c: Likewise.
17562 * loop-unroll.c: Likewise.
17563 * lower-subreg.c: Likewise.
17564 * lra-assigns.c: Likewise.
17565 * lra.c: Likewise.
17566 * lra-coalesce.c: Likewise.
17567 * lra-constraints.c: Likewise.
17568 * lra-lives.c: Likewise.
17569 * lto-cgraph.c: Likewise.
17570 * lto-streamer-in.c: Likewise.
17571 * mode-switching.c: Likewise.
17572 * modulo-sched.c: Likewise.
17573 * omp-low.c: Likewise.
17574 * optabs.c: Likewise.
17575 * passes.c: Likewise.
17576 * postreload.c: Likewise.
17577 * postreload-gcse.c: Likewise.
17578 * profile.c: Likewise.
17579 * recog.c: Likewise.
17580 * regstat.c: Likewise.
17581 * reload1.c: Likewise.
17582 * reorg.c: Likewise.
17583 * rtlanal.c: Likewise.
17584 * sched-ebb.c: Likewise.
17585 * sel-sched-ir.c: Likewise.
17586 * sese.c: Likewise.
17587 * shrink-wrap.c: Likewise.
17588 * simplify-rtx.c: Likewise.
17589 * stmt.c: Likewise.
17590 * store-motion.c: Likewise.
17591 * tracer.c: Likewise.
17592 * trans-mem.c: Likewise.
17593 * tree-call-cdce.c: Likewise.
17594 * tree-cfg.c: Likewise.
17595 * tree-cfgcleanup.c: Likewise.
17596 * tree-chkp.c: Likewise.
17597 * tree-complex.c: Likewise.
17598 * tree-eh.c: Likewise.
17599 * tree-if-conv.c: Likewise.
17600 * tree-loop-distribution.c: Likewise.
17601 * tree-outof-ssa.c: Likewise.
17602 * tree-parloops.c: Likewise.
17603 * tree-predcom.c: Likewise.
17604 * tree-pretty-print.c: Likewise.
17605 * tree-profile.c: Likewise.
17606 * tree-sra.c: Likewise.
17607 * tree-ssa.c: Likewise.
17608 * tree-ssa-coalesce.c: Likewise.
17609 * tree-ssa-dce.c: Likewise.
17610 * tree-ssa-dom.c: Likewise.
17611 * tree-ssa-forwprop.c: Likewise.
17612 * tree-ssa-ifcombine.c: Likewise.
17613 * tree-ssa-loop-ch.c: Likewise.
17614 * tree-ssa-loop-im.c: Likewise.
17615 * tree-ssa-loop-ivcanon.c: Likewise.
17616 * tree-ssa-loop-ivopts.c: Likewise.
17617 * tree-ssa-loop-manip.c: Likewise.
17618 * tree-ssa-loop-prefetch.c: Likewise.
17619 * tree-ssa-loop-unswitch.c: Likewise.
17620 * tree-ssa-math-opts.c: Likewise.
17621 * tree-ssa-phiopt.c: Likewise.
17622 * tree-ssa-pre.c: Likewise.
17623 * tree-ssa-reassoc.c: Likewise.
17624 * tree-ssa-sink.c: Likewise.
17625 * tree-ssa-tail-merge.c: Likewise.
17626 * tree-ssa-threadedge.c: Likewise.
17627 * tree-ssa-threadupdate.c: Likewise.
17628 * tree-switch-conversion.c: Likewise.
17629 * tree-tailcall.c: Likewise.
17630 * tree-vect-data-refs.c: Likewise.
17631 * tree-vect-loop.c: Likewise.
17632 * tree-vect-loop-manip.c: Likewise.
17633 * tree-vectorizer.c: Likewise.
17634 * tree-vrp.c: Likewise.
17635 * ubsan.c: Likewise.
17636 * value-prof.c: Likewise.
17637 * varasm.c: Likewise.
17638 * var-tracking.c: Likewise.
17639 * config/aarch64/aarch64-builtins.c: Likewise.
17640 * config/aarch64/aarch64.c: Likewise.
17641 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
17642 * config/alpha/alpha.c: Likewise.
17643 * config/arc/arc.c: Likewise.
17644 * config/arm/arm.c: Likewise.
17645 * config/avr/avr.c: Likewise.
17646 * config/bfin/bfin.c: Likewise.
17647 * config/c6x/c6x.c: Likewise.
17648 * config/cr16/cr16.c: Likewise.
17649 * config/cris/cris.c: Likewise.
17650 * config/darwin.c: Likewise.
17651 * config/darwin-c.c: Likewise.
17652 * config/epiphany/epiphany.c: Likewise.
17653 * config/epiphany/mode-switch-use.c: Likewise.
17654 * config/epiphany/resolve-sw-modes.c: Likewise.
17655 * config/fr30/fr30.c: Likewise.
17656 * config/frv/frv.c: Likewise.
17657 * config/ft32/ft32.c: Likewise.
17658 * config/h8300/h8300.c: Likewise.
17659 * config/i386/i386.c: Likewise.
17660 * config/i386/winnt.c: Likewise.
17661 * config/ia64/ia64.c: Likewise.
17662 * config/iq2000/iq2000.c: Likewise.
17663 * config/lm32/lm32.c: Likewise.
17664 * config/m32c/m32c.c: Likewise.
17665 * config/m32r/m32r.c: Likewise.
17666 * config/m68k/m68k.c: Likewise.
17667 * config/mcore/mcore.c: Likewise.
17668 * config/mep/mep.c: Likewise.
17669 * config/microblaze/microblaze.c: Likewise.
17670 * config/mips/mips.c: Likewise.
17671 * config/mmix/mmix.c: Likewise.
17672 * config/mn10300/mn10300.c: Likewise.
17673 * config/moxie/moxie.c: Likewise.
17674 * config/msp430/msp430.c: Likewise.
17675 * config/nds32/nds32.c: Likewise.
17676 * config/nds32/nds32-cost.c: Likewise.
17677 * config/nds32/nds32-fp-as-gp.c: Likewise.
17678 * config/nds32/nds32-intrinsic.c: Likewise.
17679 * config/nds32/nds32-isr.c: Likewise.
17680 * config/nds32/nds32-md-auxiliary.c: Likewise.
17681 * config/nds32/nds32-memory-manipulation.c: Likewise.
17682 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
17683 * config/nds32/nds32-predicates.c: Likewise.
17684 * config/nios2/nios2.c: Likewise.
17685 * config/nvptx/nvptx.c: Likewise.
17686 * config/pa/pa.c: Likewise.
17687 * config/pdp11/pdp11.c: Likewise.
17688 * config/rl78/rl78.c: Likewise.
17689 * config/rs6000/rs6000.c: Likewise.
17690 * config/rx/rx.c: Likewise.
17691 * config/s390/s390.c: Likewise.
17692 * config/sh/sh.c: Likewise.
17693 * config/sh/sh-mem.cc: Likewise.
17694 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
17695 * config/sh/sh_treg_combine.cc: Likewise.
17696 * config/sparc/sparc.c: Likewise.
17697 * config/spu/spu.c: Likewise.
17698 * config/stormy16/stormy16.c: Likewise.
17699 * config/tilegx/tilegx.c: Likewise.
17700 * config/tilepro/tilepro.c: Likewise.
17701 * config/v850/v850.c: Likewise.
17702 * config/vax/vax.c: Likewise.
17703 * config/visium/visium.c: Likewise.
17704 * config/xtensa/xtensa.c: Likewise.
17705
17706 2015-07-10 Richard Biener <rguenther@suse.de>
17707
17708 * genmatch.c (dt_node::gen_kids_1): Fix indenting of case labels.
17709 (decision_tree::gen_gimple): Likewise.
17710 (decision_tree::gen_generic): Likewise.
17711
17712 2015-07-10 Uros Bizjak <ubizjak@gmail.com>
17713
17714 PR target/66813
17715 * config/i386/i386.c (ix86_md_asm_adjust): Emit movstrictqi
17716 sequence for TARGET_ZERO_EXTEND_WITH_AND targets.
17717
17718 2015-07-10 Jakub Jelinek <jakub@redhat.com>
17719
17720 PR middle-end/66820
17721 * gimplify.c (maybe_fold_stmt): Don't fold in ORT_PARALLEL
17722 or ORT_TASK contexts.
17723 * omp-low.c (lower_omp): Call fold_stmt even if taskreg_nesting_level
17724 is non-zero.
17725
17726 2015-07-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
17727
17728 * expr.c (expand_cond_expr_using_cmove): Fix typos in comment
17729 above function.
17730
17731 2015-07-10 Tom de Vries <tom@codesourcery.com>
17732
17733 * tree-parloops.c (try_transform_to_exit_first_loop_alt): If not found,
17734 insert nit + 1 bound.
17735
17736 2015-07-10 Richard Biener <rguenther@suse.de>
17737
17738 * tree-if-conv.c (if_convertible_gimple_assign_stmt_p):
17739 Use ifcvt_could_trap_p also when not flag_tree_loop_if_convert_stores.
17740 (if_convertible_loop_p_1): For this always compute bb predicates.
17741 (if_convertible_loop_p): And free them.
17742
17743 2015-07-10 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
17744
17745 * ipa-icf.c (sem_item_optimizer::do_congruence_step): Fix typo
17746 in dump message.
17747
17748 2015-07-10 Richard Biener <rguenther@suse.de>
17749
17750 PR tree-optimization/66823
17751 * tree-if-conv.c (memrefs_read_or_written_unconditionally): Fix
17752 inverted predicate.
17753
17754 2015-07-09 Steve Ellcey <sellcey@imgtec.com>
17755
17756 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): Update
17757 to handle mips[32|64]r3 and mips[32|64]r5.
17758
17759 2015-07-09 Jakub Jelinek <jakub@redhat.com>
17760
17761 PR middle-end/66633
17762 * tree-nested.c (get_static_chain): Or in a flag into
17763 info->static_chain_added.
17764 (get_frame_field, get_nonlocal_debug_decl): Likewise.
17765 (convert_nonlocal_omp_clauses, convert_local_omp_clauses): Revert
17766 2015-07-01 changes.
17767 (convert_tramp_reference_stmt): If a frame_decl or chain_decl
17768 is needed newly inside of GIMPLE_OMP_{PARALLEL,TASK,TARGET} body,
17769 add it to clauses.
17770
17771 PR tree-optimization/66718
17772 * tree-vect-stmts.c (struct simd_call_arg_info): Add simd_lane_linear
17773 field.
17774 (vect_simd_lane_linear): New function.
17775 (vectorizable_simd_clone_call): Support using linear arguments for
17776 addresses of arrays elements indexed by GOMP_SIMD_LANE result.
17777
17778 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17779
17780 PR target/66821
17781 * config/i386/i386.c (iamcu_cost): Adjust variable shift costs.
17782
17783 2015-07-09 Michael Meissner <meissner@linux.vnet.ibm.com>
17784
17785 * config/rs6000/rs6000-protos.h (rs6000_secondary_reload_memory):
17786 Use machine mode, not enum machine_mode in the prototype.
17787
17788 * config/rs6000/rs6000.h (FLOAT128_IEEE_P): New helper macros to
17789 classify 128-bit floating point support.
17790 (FLOAT128_IBM_P): Likewise.
17791 (FLOAT128_VECTOR_P): Likewise.
17792 (FLOAT128_2REG_P): Likewise.
17793 (SCALAR_FLOAT_MODE_NOT_VECTOR_P): Likewise.
17794 (SLOW_UNALIGNED_ACCESS): Add IEEE 128-bit floating point support.
17795 (HARD_REGNO_CALLER_SAVE_MODE): Likewise.
17796 (HARD_REGNO_CALL_PART_CLOBBERED): Likewise.
17797
17798 * config/rs6000/rs6000.c (rs6000_hard_regno_nregs_internal): Drop
17799 tests against TFmode/TDmode, since those modes do not use VSX
17800 addresses.
17801 (rs6000_hard_regno_mode_ok): Add IEEE 128-bit floating point
17802 support.
17803 (rs6000_init_hard_regno_mode_ok): Use new helper macros instead of
17804 tests against TFmode, etc.
17805 (invalid_e500_subreg): Add tests against IFmode/KFmode.
17806 (reg_offset_addressing_ok_p): Likewise.
17807 (rs6000_legitimate_offset_address_p): Likewise.
17808 (rs6000_legitimize_address): Likewise.
17809 (rs6000_legitimize_reload_address): Likewise.
17810 (rs6000_legitimate_address_p): Clean up tests against TFmode and
17811 TDmode to use the new helper macros, which will include IFmode and
17812 KFmode.
17813 (rs6000_emit_move): Likewise.
17814 (rs6000_darwin64_record_arg_recurse): Likewise.
17815 (print_operand): Likewise.
17816 (rs6000_member_type_forces_blk): Treat IEEE 128-bit floating point
17817 that uses a single vector register as a vector and not as a
17818 floating point register in terms of the calling sequence.
17819 (rs6000_discover_homogeneous_aggregate): Likewise.
17820 (rs6000_return_in_memory): Likewise.
17821 (init_cumulative_args): Likewise.
17822 (rs6000_function_arg_boundary): Likewise.
17823 (rs6000_function_arg_advance_1): Likewise.
17824 (rs6000_function_arg): Likewise.
17825 (rs6000_pass_by_reference): Likewise.
17826 (rs6000_gimplify_va_arg): Likewise.
17827 (rs6000_secondary_reload_memory): Use machine_mode not enum
17828 machine mode.
17829 (rs6000_split_multireg_move): Use new helper macros.
17830 (spe_func_has_64bit_regs_p): Likewise.
17831 (rs6000_output_function_epilogue): Add IFmode/KFmode support.
17832 (output_toc): Use new helper macros.
17833 (rs6000_register_move_cost): Likewise.
17834 (rs6000_function_value): Add IEEE 128-bit floating point calling
17835 sequence support.
17836 (rs6000_libcall_value): Likewise.
17837 (rs6000_scalar_mode_supported_p): Add support for IEEE 128-bit
17838 floating point support.
17839 (rs6000_vector_mode_supported_p): Likewise.
17840
17841 2015-07-09 Vladimir Makarov <vmakarov@redhat.com>
17842
17843 PR rtl-optimization/66782
17844 * lra-int.h (struct lra_insn_recog_data): Add comment about
17845 clobbered hard regs for arg_hard_regs.
17846 * lra.c (lra_set_insn_recog_data): Add clobbered hard regs.
17847 * lra-lives.c (process_bb_lives): Process clobbered hard regs.
17848 Add condition for processing used hard regs.
17849 * lra-constraints.c (update_ebb_live_info, inherit_in_ebb):
17850 Process clobbered hard regs.
17851
17852 2015-07-09 Michael Matz <matz@suse.de>
17853
17854 * genmatch.c (fprintf_indent): New function.
17855 (operand::gen_transform): Add indent parameter.
17856 (expr::gen_transform, c_expr::gen_transform,
17857 capture::gen_transform): Ditto and use fprintf_indent.
17858 (dt_node::gen, dt_node::gen_kids, dt_node::gen_kids_1): Ditto.
17859 (dt_operand::gen, dt_operand::gen_predicate,
17860 dt_operand::gen_match_op, dt_operand::gen_gimple_expr,
17861 dt_operand::gen_generic_expr, dt_simplify::gen): Ditto.
17862 (decision_tree::gen_gimple): Adjust calls and indent generated
17863 code.
17864 (decision_tree::gen_generic): Ditto.
17865 (write_predicate): Ditto.
17866
17867 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
17868
17869 PR target/66814
17870 * config/i386/predicates.md (nonimmediate_gr_operand): New predicate.
17871 * config/i386/i386.md (not peephole2): Use nonimmediate_gr_operand.
17872 (varous peephole2s): Use {GENERAL,SSE,MMX}_REGNO_P instead of
17873 {GENERAL,SSE,MMX}_REG_P where appropriate.
17874
17875 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
17876
17877 * lto-streamer.h: Don't include target.h and alloc-pool.h.
17878 * builtins.c: Adjust includes.
17879 * gimple.c: Likewise.
17880 * ipa-icf.c: Likewise.
17881 * lto-opts.c: Likewise.
17882 * ipa-reference.c: Likewise.
17883 * lto-section-out.c: Likewise.
17884 * lto-streamer-in.c: Likewise.
17885 * lto-streamer-out.c: Likewise.
17886 * opts-global.c: Likewise.
17887 * symtab.c: Likewise.
17888 * tree-chkp.c: Likewise.
17889 * tree-ssa-live.c: Likewise.
17890 * tree-streamer-in.c: Likewise.
17891 * tree-streamer-out.c: Likewise.
17892 * config/darwin.c: Likewise.
17893 * config/i386/winnt.c: Likewise.
17894
17895 2015-07-09 Richard Biener <rguenther@suse.de>
17896
17897 * genmatch.c (struct expr): Add force_single_use flag.
17898 (expr::expr): Add copy constructor.
17899 (capture_info::walk_match): Gather force_single_use captures.
17900 (expr::gen_transform): Use possibly NULLified sequence.
17901 (dt_simplify::gen): Apply single-use restrictions by NULLifying
17902 seq if any constrained expr is not single-use.
17903 (parser::parse_expr): Refactor to allow multiple flags. Handle
17904 's' flag to force an expression have a single-use if the pattern
17905 simplifies to more than one statement.
17906 * match.pd: Convert most single_use conditionals to :s flags.
17907
17908 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17909
17910 * config/i386/iamcu.h (ASM_OUTPUT_ALIGNED_BSS): New.
17911 (ASM_OUTPUT_MAX_SKIP_ALIGN): Likewise.
17912 (ASM_MAYBE_OUTPUT_ENCODED_ADDR_RTX): Likewise.
17913
17914 2015-07-09 Andrew MacLeod <amacleod@redhat.com>
17915
17916 * flags.h: Don't include flag-types.h or options.h.
17917 * opts-common.c: Adjust includes.
17918 * opts-global.c: Likewise.
17919 * common/config/epiphany/epiphany-common.c: Likewise.
17920
17921 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17922
17923 PR target/66818
17924 * config/i386/i386.h (ATTRIBUTE_ALIGNED_VALUE): Defined to 32
17925 for IA MCU.
17926
17927 2015-07-09 H.J. Lu <hongjiu.lu@intel.com>
17928
17929 PR target/66817
17930 * config/i386/i386.c (ix86_return_in_memory): Return true
17931 if int_size_in_bytes returns negative for IA MCU.
17932
17933 2015-07-09 Marek Polacek <polacek@redhat.com>
17934
17935 PR tree-optimization/66718
17936 * Makefile.in (OBJS): Add gimple-laddress.o.
17937 * passes.def: Schedule pass_laddress.
17938 * timevar.def (DEFTIMEVAR): Add TV_GIMPLE_LADDRESS.
17939 * tree-pass.h (make_pass_laddress): Declare.
17940 * gimple-laddress.c: New file.
17941
17942 2015-07-09 Richard Biener <rguenther@suse.de>
17943
17944 * toplev.c (compile_file): Reset maximum_field_alignment after parsing.
17945
17946 2015-07-09 Richard Biener <rguenther@suse.de>
17947
17948 PR tree-optimization/66807
17949 * tree-chkp-opt.c (chkp_opt_fini): Free post dominator info.
17950
17951 2015-07-08 Kito Cheng <kito.cheng@gmail.com>
17952
17953 * function.c (stack_protect_epilogue): Use if rather than switch for
17954 check targetm.have_stack_protect_test.
17955
17956 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
17957
17958 * defaults.h: Provide default for WORD_REGISTER_OPERATIONS.
17959 * config/alpha/alpha.h: Define WORD_REGISTER_OPERATIONS to 1.
17960 * config/arc/arc.h: Likewise.
17961 * config/arm/arm.h: Likewise.
17962 * config/bfin/bfin.h: Likewise.
17963 * config/epiphany/epiphany.h: Likewise.
17964 * config/frv/frv.h: Likewise.
17965 * config/ia64/ia64.h: Likewise.
17966 * config/iq2000/iq2000.h: Likewise.
17967 * config/lm32/lm32.h: Likewise.
17968 * config/m32r/m32r.h: Likewise.
17969 * config/mcore/mcore.h: Likewise.
17970 * config/mep/mep.h: Likewise.
17971 * config/microblaze/microblaze.h: Likewise.
17972 * config/mips/mips.h: Likewise.
17973 * config/mmix/mmix.h: Likewise.
17974 * config/mn10300/mn10300.h: Likewise.
17975 * config/nds32/nds32.h: Likewise.
17976 * config/nios2/nios2.h: Likewise.
17977 * config/pa/pa.h: Likewise.
17978 * config/rl78/rl78.h: Likewise.
17979 * config/sh/sh.h: Likewise.
17980 * config/sparc/sparc.h: Likewise.
17981 * config/stormy16/stormy16.h: Likewise.
17982 * config/tilegx/tilegx.h: Likewise.
17983 * config/tilepro/tilepro.h: Likewise.
17984 * config/v850/v850.h: Likewise.
17985 * config/xtensa/xtensa.h: Likewise.
17986 * doc/tm.texi: Regenerate.
17987 * doc/tm.texi.in: Adjust.
17988 * combine.c (simplify_set): Likewise.
17989 (simplify_comparison): Likewise.
17990 * expr.c (store_constructor): Likewise.
17991 * internal-fn.c (expand_arith_overflow): Likewise.
17992 * reload.c (push_reload): Likewise.
17993 (find_reloads): Likewise.
17994 (find_reloads_subreg_address): Likewise.
17995 * reload1.c (eliminate_regs_1): Likewise.
17996 * rtlanal.c (nonzero_bits1): Likewise.
17997 (num_sign_bit_copies1): Likewise.
17998 * simplify-rtx.c (simplify_truncation): Likewise.
17999
18000 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18001
18002 * auto-inc-dec.c (pass_inc_dec::execute): Don't check the value
18003 of AUTO_INC_DEC with the preprocessor.
18004 * combine.c (combine_instructions): Likewise.
18005 (can_combine_p): Likewise.
18006 (try_combine): Likewise.
18007 * emit-rtl.c (try_split): Likewise.
18008 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
18009 * lower-subreg.c (resolve_simple_move): Likewise.
18010 * lra.c (update_inc_notes): Likewise.
18011 * recog.c (asm_operand_ok): Likewise.
18012 (constrain_operands): Likewise.
18013 * regrename.c (scan_rtx_address): Likewise.
18014 * reload.c (update_auto_inc_notes): Likewise.
18015 (reg_inc_found_and_valid_p): Likewise.
18016 * reload1.c (reload): Likewise.
18017 (emit_input_reload_insns): Likewise.
18018 (delete_output_reload): Likewise.
18019 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
18020 * valtrack.c (cleanup_auto_inc_dec): Likewise.
18021
18022 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18023
18024 * rtl.h: Always define AUTO_INC_DEC.
18025 * auto-inc-dec.c (pass_inc_dec::execute): Adjust.
18026 * combine.c (combine_instructions): Likewise.
18027 (can_combine_p): Likewise.
18028 (try_combine): Likewise.
18029 * emit-rtl.c (try_split): Likewise.
18030 * loop-invariant.c (calculate_loop_reg_pressure): Likewise.
18031 * lower-subreg.c (resolve_simple_move): Likewise.
18032 * lra.c (update_inc_notes): Likewise.
18033 * recog.c (asm_operand_ok): Likewise.
18034 (constrain_operands): Likewise.
18035 * regrename.c (scan_rtx_address): Likewise.
18036 * reload.c (update_auto_inc_notes): Likewise.
18037 (find_equiv_reg): Likewise.
18038 * reload1.c (reload): Likewise.
18039 (reload_as_needed): Likewise.
18040 (choose_reload_regs): Likewise.
18041 (emit_input_reload_insns): Likewise.
18042 (delete_output_reload): Likewise.
18043 * sched-deps.c (init_insn_reg_pressure_info): Likewise.
18044 * valtrack.c (cleanup_auto_inc_dec): Likewise.
18045
18046 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18047
18048 * combine.c (can_combine_def_p): Don't check the value of
18049 HARD_FRAME_POINTER_IS_FRAME_POINTER with the preprocessor.
18050 (combinable_i3pat): Likewise.
18051 (mark_used_regs_combine): Likewise.
18052 * regrename.c (rename_chains): Likewise.
18053 * reload.c (find_reloads_address): Likewise.
18054 * sel-sched.c (mark_unavailable_hard_regs): Likewise.
18055
18056 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18057
18058 * combine.c (update_rsp_from_reg_equal): Don't check if
18059 SHORT_IMMEDIATES_SIGN_EXTEND is defined.
18060 (reg_nonzero_bits_for_combine): Likewise.
18061 * config/alpha/alpha.h: Define SHORT_IMMEDIATES_SIGN_EXTEND to
18062 1.
18063 * config/frv/frv.h: Likewise.
18064 * config/lm32/lm32.h: Likewise.
18065 * config/mep/mep.h: Likewise.
18066 * config/mips/mips.h: Likewise.
18067 * config/rs6000/rs6000.h: Likewise.
18068 * config/sh/sh.h: Likewise.
18069 * config/tilegx/tilegx.h (enum reg_class): Likewise.
18070 * config/tilepro/tilepro.h: Likewise.
18071 * defaults.h: Add default for SHORT_IMMEDIATES_SIGN_EXTEND.
18072 * doc/tm.texi: Regenerate.
18073 * doc/tm.texi.in: Adjust.
18074 * rtlanal.c (nonzero_bits1): Likewise.
18075
18076 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18077
18078 * combine.c (do_SUBST_MODE): Don't check the value of HAVE_cc0
18079 with the preprocessor.
18080 (combine_instructions): Likewise.
18081 (try_combine): Likewise.
18082 (subst): Likewise.
18083 (distribute_notes): Likewise.
18084
18085 2015-07-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
18086
18087 * combine.c (try_combine): Don't check if LOAD_EXTEND_OP is
18088 defined.
18089 (simplify_set): Likewise.
18090 * cse.c (cse_insn): Likewise.
18091 * fold-const.c (fold_single_bit_test): Likewise.
18092 (fold_unary_loc): Likewise.
18093 * postreload.c (reload_cse_simplify_set): Likewise.
18094 (reload_cse_simplify_operands): Likewise.
18095
18096 2015-07-08 Jiong Wang <jiong.wang@arm.com>
18097
18098 * config/aarch64/aarch64.c (aarch64_unspec_may_trap_p): New function.
18099 (TARGET_UNSPEC_MAY_TRAP_P): Define as aarch64_unspec_may_trap_p.
18100
18101 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
18102
18103 PR target/66746
18104 * config/i386/x86intrin.h: Include <adxintrin.h> even if
18105 __iamcu__ is defined.
18106
18107 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
18108
18109 * config/i386/predicates.md (general_reg_operand): Use GENERAL_REGNO_P.
18110
18111 2015-07-08 Iain Sandoe <iain@codesourcery.com>
18112
18113 PR target/66523
18114 * config/darwin.c (darwin_mark_decl_preserved): Exclude 'L' label
18115 names from preservation.
18116
18117 2015-07-08 H.J. Lu <hongjiu.lu@intel.com>
18118
18119 PR target/66806
18120 * config/i386/i386.c (type_natural_mode): Don't warn vector ABI
18121 change for IAMCU.
18122 (function_arg_advance_32): Don't pass vectors in registers for
18123 IAMCU.
18124 (function_arg_32): Likewise.
18125 (ix86_return_in_memory): Don't return vectors in registers for
18126 IAMCU.
18127
18128 2015-07-08 Vladimir Makarov <vmakarov@redhat.com>
18129
18130 PR middle-end/66334
18131 * ira-lives.c (process_bb_node_lives): Make conflicts with PIC
18132 hard regno live at the start of BB with incoming abnormal edges.
18133 * lra-lives.c (process_bb_lives): Ditto.
18134
18135 2015-07-08 Thomas Schwinge <thomas@codesourcery.com>
18136
18137 PR libgomp/65099
18138 * config/nvptx/mkoffload.c (main): Create an offload image only in
18139 64-bit configurations.
18140
18141 2015-07-08 Martin Liska <mliska@suse.cz>
18142
18143 PR bootstrap/66744
18144 * tree-sra.c (create_access_1): Call ctor without brackets.
18145 (create_artificial_child_access): Likewise.
18146
18147 2015-07-08 Richard Biener <rguenther@suse.de>
18148
18149 PR tree-optimization/66793
18150 * gimple-ssa-isolate-paths.c (insert_trap_and_remove_trailing_statemen):
18151 Properly split the block after stmts ending it.
18152
18153 2015-07-08 Richard Biener <rguenther@suse.de>
18154
18155 PR tree-optimization/66794
18156 * passes.c (execute_function_todo): Assert that post-dominators
18157 are not computed.
18158 * gimple-ssa-isolate-paths.c (gimple_ssa_isolate_erroneous_paths):
18159 Free post-dominators.
18160
18161 2015-07-08 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
18162
18163 * config/s390/s390.c (s390_init_frame_layout): Replace assertion
18164 with early exit.
18165
18166 2015-07-08 Uros Bizjak <ubizjak@gmail.com>
18167
18168 * config/i386/i386.md (*jcc_bt<mode>): Only allow const_int values
18169 more than or equal 8 and less than 32 when optimizing for size.
18170
18171 2015-07-08 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
18172
18173 * config/arm/arm.c (arm_new_rtx_costs): Initialise cost to
18174 COSTS_N_INSNS (1) and increment it appropriately throughout the
18175 function.
18176
18177 2015-07-08 Richard Biener <rguenther@suse.de>
18178
18179 * fold-const.c (fold_widened_comparison): Fix inverted comparison.
18180
18181 2015-07-08 Alan Modra <amodra@gmail.com>
18182
18183 * target.def (rtx_costs): Remove "code" param, add "mode".
18184 * rtl.h (rtx_cost, get_full_rtx_cost): Update prototype.
18185 (set_src_cost, get_full_set_src_cost): Likewise. Move later in file.
18186 (set_rtx_cost, get_full_set_rtx_cost): Move later in file.
18187 * rtlanal.c (rtx_cost): Add "mode" parameter. Update targetm.rtx_costs
18188 call. Track mode when given in rtx.
18189 (get_full_rtx_cost): Add "mode" parameter. Update rtx_cost calls.
18190 (default_address_cost): Pass Pmode to rtx_cost.
18191 (insn_rtx_cost): Pass dest mode of set to set_src_cost.
18192 * cprop.c (try_replace_reg): Ensure set_rtx_cost is not called
18193 with NULL set.
18194 * cse.c (COST, COST_IN): Add MODE param. Update all uses.
18195 (notreg_cost): Add mode param. Use it.
18196 * gcse.c (want_to_gcse_p): Delete forward declaration. Add
18197 mode param and pass to set_src_cost. Update all calls.
18198 (hash_scan_set): Formatting.
18199 * hooks.c (hook_bool_rtx_int_int_int_intp_bool_false): Delete.
18200 (hook_bool_rtx_mode_int_int_intp_bool_false): New function.
18201 * hooks.h: Ditto.
18202 * expmed.c (init_expmed_one_conv, init_expmed_one_mode,
18203 init_expmed, expand_mult, mult_by_coeff_cost, expand_smod_pow2,
18204 emit_store_flag): Update set_src_cost and rtx_cost calls.
18205 * auto-inc-dec.c (attempt_change): Likewise.
18206 * calls.c (precompute_register_parameters): Likewise.
18207 * combine.c (expand_compound_operation, make_extraction,
18208 force_to_mode, distribute_and_simplify_rtx): Likewise.
18209 * dojump.c (prefer_and_bit_test): Likewise.
18210 * dse.c (find_shift_sequence): Likewise.
18211 * expr.c (compress_float_constant): Likewise.
18212 * fwprop.c (should_replace_address, try_fwprop_subst): Likewise.
18213 * ifcvt.c (noce_try_sign_mask): Likewise.
18214 * loop-doloop.c (doloop_optimize): Likewise.
18215 * loop-invariant.c (create_new_invariant): Likewise.
18216 * lower-subreg.c (shift_cost, compute_costs): Likewise.
18217 * optabs.c (avoid_expensive_constant, prepare_cmp_insn,
18218 lshift_cheap_p): Likewise.
18219 * postreload.c (reload_cse_simplify_set, reload_cse_simplify_operands,
18220 try_replace_in_use, reload_cse_move2add): Likewise.
18221 * reload1.c (calculate_elim_costs_all_insns, note_reg_elim_costly):
18222 Likewise.
18223 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
18224 * tree-ssa-loop-ivopts.c (computation_cost): Likewise.
18225 * tree-ssa-reassoc.c (optimize_range_tests_to_bit_test): Likewise.
18226 * tree-switch-conversion.c (emit_case_bit_tests): Likewise.
18227 * config/aarch64/aarch64.c (aarch64_rtx_costs): Delete "code" param,
18228 add "mode" param. Use "mode: in place of GET_MODE (x). Pass mode
18229 to rtx_cost calls.
18230 * config/alpha/alpha.c (alpha_rtx_costs): Likewise.
18231 * config/arc/arc.c (arc_rtx_costs): Likewise.
18232 * config/arm/arm.c (arm_rtx_costs): Likewise.
18233 * config/avr/avr.c (avr_rtx_costs, avr_rtx_costs_1): Likewise.
18234 * config/bfin/bfin.c (bfin_rtx_costs): Likewise.
18235 * config/c6x/c6x.c (c6x_rtx_costs): Likewise.
18236 * config/cris/cris.c (cris_rtx_costs): Likewise.
18237 * config/epiphany/epiphany.c (epiphany_rtx_costs): Likewise.
18238 * config/frv/frv.c (frv_rtx_costs): Likewise.
18239 * config/h8300/h8300.c (h8300_rtx_costs): Likewise.
18240 * config/i386/i386.c (ix86_rtx_costs): Likewise.
18241 * config/ia64/ia64.c (ia64_rtx_costs): Likewise.
18242 * config/iq2000/iq2000.c (iq2000_rtx_costs): Likewise.
18243 * config/lm32/lm32.c (lm32_rtx_costs): Likewise.
18244 * config/m32c/m32c.c (m32c_rtx_costs): Likewise.
18245 * config/m32r/m32r.c (m32r_rtx_costs): Likewise.
18246 * config/m68k/m68k.c (m68k_rtx_costs): Likewise.
18247 * config/mcore/mcore.c (mcore_rtx_costs): Likewise.
18248 * config/mep/mep.c (mep_rtx_cost): Likewise.
18249 * config/microblaze/microblaze.c (microblaze_rtx_costs): Likewise.
18250 * config/mips/mips.c (mips_rtx_costs): Likewise.
18251 * config/mmix/mmix.c (mmix_rtx_costs): Likewise.
18252 * config/mn10300/mn10300.c (mn10300_rtx_costs): Likewise.
18253 * config/msp430/msp430.c (msp430_rtx_costs): Likewise.
18254 * config/nds32/nds32-cost.c (nds32_rtx_costs_impl): Likewise.
18255 * config/nds32/nds32-protos.h (nds32_rtx_costs_impl): Likewise.
18256 * config/nds32/nds32.c (nds32_rtx_costs): Likewise.
18257 * config/nios2/nios2.c (nios2_rtx_costs): Likewise.
18258 * config/pa/pa.c (hppa_rtx_costs): Likewise.
18259 * config/pdp11/pdp11.c (pdp11_rtx_costs): Likewise.
18260 * config/rl78/rl78.c (rl78_rtx_costs): Likewise.
18261 * config/rs6000/rs6000.c (rs6000_rtx_costs): Likewise.
18262 * config/s390/s390.c (s390_rtx_costs): Likewise.
18263 * config/sh/sh.c (sh_rtx_costs): Likewise.
18264 * config/sparc/sparc.c (sparc_rtx_costs): Likewise.
18265 * config/spu/spu.c (spu_rtx_costs): Likewise.
18266 * config/stormy16/stormy16.c (xstormy16_rtx_costs): Likewise.
18267 * config/tilegx/tilegx.c (tilegx_rtx_costs): Likewise.
18268 * config/tilepro/tilepro.c (tilepro_rtx_costs): Likewise.
18269 * config/v850/v850.c (v850_rtx_costs): Likewise.
18270 * config/vax/vax.c (vax_rtx_costs): Likewise.
18271 * config/visium/visium.c (visium_rtx_costs): Likewise.
18272 * config/xtensa/xtensa.c (xtensa_rtx_costs): Likewise.
18273 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Change type of
18274 "code" param, and pass as outer_code to first rtx_cost call. Pass
18275 mode to rtx_cost calls.
18276 (aarch64_address_cost, aarch64_if_then_else_costs): Update rtx_cost
18277 calls.
18278 (aarch64_rtx_costs_wrapper): Update.
18279 * config/arm/arm.c (arm_rtx_costs_1, arm_size_rtx_costs,
18280 arm_unspec_cost, arm_new_rtx_costs, arm_slowmul_rtx_costs): Update
18281 rtx_cost calls.
18282 * config/avr/avr.c (avr_final_prescan_insn): Update set_src_cost
18283 and rtx_cost calls.
18284 (avr_operand_rtx_cost): Similarly.
18285 (avr_rtx_costs_1): Correct mode passed to avr_operand_rtx_cost
18286 for subexpressions of ZERO_EXTEND, SIGN_EXTEND and COMPARE.
18287 * config/mips/mips.c (mips_stack_address_p): Comment typo.
18288 (mips_binary_cost): Update rtx_cost and set_src_cost calls.
18289 (mips_rtx_costs): Use GET_MODE (x) to detect const_int.
18290 * config/mn10300/mn10300.c (mn10300_address_cost): Pass Pmode to
18291 rtx_cost.
18292 (mn10300_rtx_costs): Correct mode passed to mn10300_address_cost.
18293 * config/rs6000/rs6000.c (rs6000_debug_rtx_costs): Update.
18294 * config/sh/sh.c (and_xor_ior_costs): Update rtx_cost call.
18295 * doc/tm.texi: Regenerate.
18296
18297 2015-07-07 Andrew MacLeod <amacleod@redhat.com>
18298
18299 * tree-core.h: Include symtab.h.
18300 * rtl.h: Include hard-reg-set.h but not flags.h.
18301 (HARD_CONST): Remove condition compilation involving HARD_CONST since
18302 hard-reg-set.h is always included.
18303 * regs.h: Don't include hard-reg-set.h or rtl.h.
18304 * cfg.h: Include dominance.h.
18305 * gimple.h: Include tree-ssa-alias.h and gimple-expr.h.
18306 * backend.h: New. Aggregate commonly used backend header files.
18307 * gimple-ssa.h: Don't include tree-hasher.h.
18308 * ssa.h: New. Aggregate commonly used SSA header files.
18309 * regset.h: Remove bitmap.h and hard-reg-set.h #includes.
18310 * sel-sched-ir.h: Flatten includes.
18311 * lra-int.h: Flatten completely.
18312 * sel-sched-dump.h: Flatten includes.
18313 * ira-int.h: Flatten includes.
18314 * gimple-streamer.h: Remove all includes.
18315 * cfgloop.h: Remove all #includes except cfgloopmanip.h.
18316 * resource.h: Flatten hard-reg-set.h and df.h.
18317 * sched-int.h: Flatten insn-arrt.h and df.h.
18318 * valtrack.h: flatten bitmap.h, df.h, and rtl.h
18319 * df.h: Flatten includes, leaving regset.h, alloc-pool.h and timevar.h.
18320 * genattrtab.c (write_header): Adjust generated includes.
18321 * genautomata.c (main): Likewise.
18322 * genconditions.c (write-header): Likewise.
18323 * genemit.c (main): Likewise.
18324 * gengtype.c (open_base_files): Likewise.
18325 * genopinit.c (main): Likewise.
18326 * genoutput.c (output_prologue): Likewise.
18327 * genpeep.c (main): Likewise.
18328 * genpreds.c (write_insn_preds_c): Likewise.
18329 * genrecog.c (write_header): Likewise.
18330 * alias.c: Adjust includes.
18331 * asan.c: Likewise.
18332 * attribs.c: Likewise.
18333 * auto-inc-dec.c: Likewise.
18334 * auto-profile.c: Likewise.
18335 * bb-reorder.c: Likewise.
18336 * bt-load.c: Likewise.
18337 * builtins.c: Likewise.
18338 * caller-save.c: Likewise.
18339 * calls.c: Likewise.
18340 * ccmp.c: Likewise.
18341 * cfg.c: Likewise.
18342 * cfganal.c: Likewise.
18343 * cfgbuild.c: Likewise.
18344 * cfgcleanup.c: Likewise.
18345 * cfgexpand.c: Likewise.
18346 * cfghooks.c: Likewise.
18347 * cfgloop.c: Likewise.
18348 * cfgloopanal.c: Likewise.
18349 * cfgloopmanip.c: Likewise.
18350 * cfgrtl.c: Likewise.
18351 * cgraph.c: Likewise.
18352 * cgraphbuild.c: Likewise.
18353 * cgraphclones.c: Likewise.
18354 * cgraphunit.c: Likewise.
18355 * cilk-common.c: Likewise.
18356 * combine-stack-adj.c: Likewise.
18357 * combine.c: Likewise.
18358 * compare-elim.c: Likewise.
18359 * convert.c: Likewise.
18360 * coverage.c: Likewise.
18361 * cppbuiltin.c: Likewise.
18362 * cprop.c: Likewise.
18363 * cse.c: Likewise.
18364 * cselib.c: Likewise.
18365 * data-streamer-in.c: Likewise.
18366 * data-streamer-out.c: Likewise.
18367 * data-streamer.c: Likewise.
18368 * dbxout.c: Likewise.
18369 * dce.c: Likewise.
18370 * ddg.c: Likewise.
18371 * debug.c: Likewise.
18372 * df-core.c: Likewise.
18373 * df-problems.c: Likewise.
18374 * df-scan.c: Likewise.
18375 * dfp.c: Likewise.
18376 * dojump.c: Likewise.
18377 * dominance.c: Likewise.
18378 * domwalk.c: Likewise.
18379 * double-int.c: Likewise.
18380 * dse.c: Likewise.
18381 * dumpfile.c: Likewise.
18382 * dwarf2asm.c: Likewise.
18383 * dwarf2cfi.c: Likewise.
18384 * dwarf2out.c: Likewise.
18385 * emit-rtl.c: Likewise.
18386 * et-forest.c: Likewise.
18387 * except.c: Likewise.
18388 * explow.c: Likewise.
18389 * expmed.c: Likewise.
18390 * expr.c: Likewise.
18391 * final.c: Likewise.
18392 * fixed-value.c: Likewise.
18393 * fold-const.c: Likewise.
18394 * function.c: Likewise.
18395 * fwprop.c: Likewise.
18396 * gcc-plugin.h: Likewise.
18397 * gcse-common.c: Likewise.
18398 * gcse.c: Likewise.
18399 * generic-match-head.c: Likewise.
18400 * ggc-page.c: Likewise.
18401 * gimple-builder.c: Likewise.
18402 * gimple-expr.c: Likewise.
18403 * gimple-fold.c: Likewise.
18404 * gimple-iterator.c: Likewise.
18405 * gimple-low.c: Likewise.
18406 * gimple-match-head.c: Likewise.
18407 * gimple-pretty-print.c: Likewise.
18408 * gimple-ssa-isolate-paths.c: Likewise.
18409 * gimple-ssa-strength-reduction.c: Likewise.
18410 * gimple-streamer-in.c: Likewise.
18411 * gimple-streamer-out.c: Likewise.
18412 * gimple-walk.c: Likewise.
18413 * gimple.c: Likewise.
18414 * gimplify-me.c: Likewise.
18415 * gimplify.c: Likewise.
18416 * godump.c: Likewise.
18417 * graph.c: Likewise.
18418 * graphite-blocking.c: Likewise.
18419 * graphite-dependences.c: Likewise.
18420 * graphite-interchange.c: Likewise.
18421 * graphite-isl-ast-to-gimple.c: Likewise.
18422 * graphite-optimize-isl.c: Likewise.
18423 * graphite-poly.c: Likewise.
18424 * graphite-scop-detection.c: Likewise.
18425 * graphite-sese-to-poly.c: Likewise.
18426 * graphite.c: Likewise.
18427 * haifa-sched.c: Likewise.
18428 * hw-doloop.c: Likewise.
18429 * ifcvt.c: Likewise.
18430 * init-regs.c: Likewise.
18431 * internal-fn.c: Likewise.
18432 * ipa-chkp.c: Likewise.
18433 * ipa-comdats.c: Likewise.
18434 * ipa-cp.c: Likewise.
18435 * ipa-devirt.c: Likewise.
18436 * ipa-icf-gimple.c: Likewise.
18437 * ipa-icf.c: Likewise.
18438 * ipa-inline-analysis.c: Likewise.
18439 * ipa-inline-transform.c: Likewise.
18440 * ipa-inline.c: Likewise.
18441 * ipa-polymorphic-call.c: Likewise.
18442 * ipa-profile.c: Likewise.
18443 * ipa-prop.c: Likewise.
18444 * ipa-pure-const.c: Likewise.
18445 * ipa-ref.c: Likewise.
18446 * ipa-reference.c: Likewise.
18447 * ipa-split.c: Likewise.
18448 * ipa-utils.c: Likewise.
18449 * ipa-visibility.c: Likewise.
18450 * ipa.c: Likewise.
18451 * ira-build.c: Likewise.
18452 * ira-color.c: Likewise.
18453 * ira-conflicts.c: Likewise.
18454 * ira-costs.c: Likewise.
18455 * ira-emit.c: Likewise.
18456 * ira-lives.c: Likewise.
18457 * ira.c: Likewise.
18458 * jump.c: Likewise.
18459 * langhooks.c: Likewise.
18460 * lcm.c: Likewise.
18461 * loop-doloop.c: Likewise.
18462 * loop-init.c: Likewise.
18463 * loop-invariant.c: Likewise.
18464 * loop-iv.c: Likewise.
18465 * loop-unroll.c: Likewise.
18466 * lower-subreg.c: Likewise.
18467 * lra-assigns.c: Likewise.
18468 * lra-coalesce.c: Likewise.
18469 * lra-constraints.c: Likewise.
18470 * lra-eliminations.c: Likewise.
18471 * lra-lives.c: Likewise.
18472 * lra-remat.c: Likewise.
18473 * lra-spills.c: Likewise.
18474 * lra.c: Likewise.
18475 * lto-cgraph.c: Likewise.
18476 * lto-compress.c: Likewise.
18477 * lto-opts.c: Likewise.
18478 * lto-section-in.c: Likewise.
18479 * lto-section-out.c: Likewise.
18480 * lto-streamer-in.c: Likewise.
18481 * lto-streamer-out.c: Likewise.
18482 * lto-streamer.c: Likewise.
18483 * mcf.c: Likewise.
18484 * mode-switching.c: Likewise.
18485 * modulo-sched.c: Likewise.
18486 * omega.c: Likewise.
18487 * omp-low.c: Likewise.
18488 * optabs.c: Likewise.
18489 * opts-global.c: Likewise.
18490 * passes.c: Likewise.
18491 * plugin.c: Likewise.
18492 * postreload-gcse.c: Likewise.
18493 * postreload.c: Likewise.
18494 * predict.c: Likewise.
18495 * print-rtl.c: Likewise.
18496 * print-tree.c: Likewise.
18497 * profile.c: Likewise.
18498 * real.c: Likewise.
18499 * realmpfr.c: Likewise.
18500 * recog.c: Likewise.
18501 * ree.c: Likewise.
18502 * reg-stack.c: Likewise.
18503 * regcprop.c: Likewise.
18504 * reginfo.c: Likewise.
18505 * regrename.c: Likewise.
18506 * regstat.c: Likewise.
18507 * reload.c: Likewise.
18508 * reload1.c: Likewise.
18509 * reorg.c: Likewise.
18510 * resource.c: Likewise.
18511 * rtl-chkp.c: Likewise.
18512 * rtlanal.c: Likewise.
18513 * rtlhooks.c: Likewise.
18514 * sanopt.c: Likewise.
18515 * sched-deps.c: Likewise.
18516 * sched-ebb.c: Likewise.
18517 * sched-rgn.c: Likewise.
18518 * sched-vis.c: Likewise.
18519 * sdbout.c: Likewise.
18520 * sel-sched-dump.c: Likewise.
18521 * sel-sched-ir.c: Likewise.
18522 * sel-sched.c: Likewise.
18523 * sese.c: Likewise.
18524 * shrink-wrap.c: Likewise.
18525 * simplify-rtx.c: Likewise.
18526 * stack-ptr-mod.c: Likewise.
18527 * stmt.c: Likewise.
18528 * stor-layout.c: Likewise.
18529 * store-motion.c: Likewise.
18530 * stringpool.c: Likewise.
18531 * symtab.c: Likewise.
18532 * target-globals.c: Likewise.
18533 * targhooks.c: Likewise.
18534 * toplev.c: Likewise.
18535 * tracer.c: Likewise.
18536 * trans-mem.c: Likewise.
18537 * tree-affine.c: Likewise.
18538 * tree-browser.c: Likewise.
18539 * tree-call-cdce.c: Likewise.
18540 * tree-cfg.c: Likewise.
18541 * tree-cfgcleanup.c: Likewise.
18542 * tree-chkp-opt.c: Likewise.
18543 * tree-chkp.c: Likewise.
18544 * tree-chrec.c: Likewise.
18545 * tree-complex.c: Likewise.
18546 * tree-data-ref.c: Likewise.
18547 * tree-dfa.c: Likewise.
18548 * tree-diagnostic.c: Likewise.
18549 * tree-dump.c: Likewise.
18550 * tree-eh.c: Likewise.
18551 * tree-emutls.c: Likewise.
18552 * tree-if-conv.c: Likewise.
18553 * tree-inline.c: Likewise.
18554 * tree-into-ssa.c: Likewise.
18555 * tree-iterator.c: Likewise.
18556 * tree-loop-distribution.c: Likewise.
18557 * tree-nested.c: Likewise.
18558 * tree-nrv.c: Likewise.
18559 * tree-object-size.c: Likewise.
18560 * tree-outof-ssa.c: Likewise.
18561 * tree-parloops.c: Likewise.
18562 * tree-phinodes.c: Likewise.
18563 * tree-predcom.c: Likewise.
18564 * tree-pretty-print.c: Likewise.
18565 * tree-profile.c: Likewise.
18566 * tree-scalar-evolution.c: Likewise.
18567 * tree-sra.c: Likewise.
18568 * tree-ssa-address.c: Likewise.
18569 * tree-ssa-alias.c: Likewise.
18570 * tree-ssa-ccp.c: Likewise.
18571 * tree-ssa-coalesce.c: Likewise.
18572 * tree-ssa-copy.c: Likewise.
18573 * tree-ssa-copyrename.c: Likewise.
18574 * tree-ssa-dce.c: Likewise.
18575 * tree-ssa-dom.c: Likewise.
18576 * tree-ssa-dse.c: Likewise.
18577 * tree-ssa-forwprop.c: Likewise.
18578 * tree-ssa-ifcombine.c: Likewise.
18579 * tree-ssa-live.c: Likewise.
18580 * tree-ssa-loop-ch.c: Likewise.
18581 * tree-ssa-loop-im.c: Likewise.
18582 * tree-ssa-loop-ivcanon.c: Likewise.
18583 * tree-ssa-loop-ivopts.c: Likewise.
18584 * tree-ssa-loop-manip.c: Likewise.
18585 * tree-ssa-loop-niter.c: Likewise.
18586 * tree-ssa-loop-prefetch.c: Likewise.
18587 * tree-ssa-loop-unswitch.c: Likewise.
18588 * tree-ssa-loop.c: Likewise.
18589 * tree-ssa-math-opts.c: Likewise.
18590 * tree-ssa-operands.c: Likewise.
18591 * tree-ssa-phiopt.c: Likewise.
18592 * tree-ssa-phiprop.c: Likewise.
18593 * tree-ssa-pre.c: Likewise.
18594 * tree-ssa-propagate.c: Likewise.
18595 * tree-ssa-reassoc.c: Likewise.
18596 * tree-ssa-sccvn.c: Likewise.
18597 * tree-ssa-scopedtables.c: Likewise.
18598 * tree-ssa-sink.c: Likewise.
18599 * tree-ssa-strlen.c: Likewise.
18600 * tree-ssa-structalias.c: Likewise.
18601 * tree-ssa-tail-merge.c: Likewise.
18602 * tree-ssa-ter.c: Likewise.
18603 * tree-ssa-threadedge.c: Likewise.
18604 * tree-ssa-threadupdate.c: Likewise.
18605 * tree-ssa-uncprop.c: Likewise.
18606 * tree-ssa-uninit.c: Likewise.
18607 * tree-ssa.c: Likewise.
18608 * tree-ssanames.c: Likewise.
18609 * tree-stdarg.c: Likewise.
18610 * tree-streamer-in.c: Likewise.
18611 * tree-streamer-out.c: Likewise.
18612 * tree-streamer.c: Likewise.
18613 * tree-switch-conversion.c: Likewise.
18614 * tree-tailcall.c: Likewise.
18615 * tree-vect-data-refs.c: Likewise.
18616 * tree-vect-generic.c: Likewise.
18617 * tree-vect-loop-manip.c: Likewise.
18618 * tree-vect-loop.c: Likewise.
18619 * tree-vect-patterns.c: Likewise.
18620 * tree-vect-slp.c: Likewise.
18621 * tree-vect-stmts.c: Likewise.
18622 * tree-vectorizer.c: Likewise.
18623 * tree-vrp.c: Likewise.
18624 * tree.c: Likewise.
18625 * tsan.c: Likewise.
18626 * ubsan.c: Likewise.
18627 * valtrack.c: Likewise.
18628 * value-prof.c: Likewise.
18629 * var-tracking.c: Likewise.
18630 * varasm.c: Likewise.
18631 * varpool.c: Likewise.
18632 * vmsdbgout.c: Likewise.
18633 * vtable-verify.c: Likewise.
18634 * web.c: Likewise.
18635 * wide-int.cc: Likewise.
18636 * xcoffout.c: Likewise.
18637 * config/aarch64/aarch64-builtins.c: Likewise.
18638 * config/aarch64/aarch64.c: Likewise.
18639 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
18640 * config/alpha/alpha.c: Likewise.
18641 * config/arc/arc.c: Likewise.
18642 * config/arm/aarch-common.c: Likewise.
18643 * config/arm/arm-builtins.c: Likewise.
18644 * config/arm/arm-c.c: Likewise.
18645 * config/arm/arm.c: Likewise.
18646 * config/avr/avr-c.c: Likewise.
18647 * config/avr/avr-log.c: Likewise.
18648 * config/avr/avr.c: Likewise.
18649 * config/bfin/bfin.c: Likewise.
18650 * config/c6x/c6x.c: Likewise.
18651 * config/cr16/cr16.c: Likewise.
18652 * config/cris/cris.c: Likewise.
18653 * config/darwin-c.c: Likewise.
18654 * config/darwin.c: Likewise.
18655 * config/epiphany/epiphany.c: Likewise.
18656 * config/epiphany/mode-switch-use.c: Likewise.
18657 * config/epiphany/resolve-sw-modes.c: Likewise.
18658 * config/fr30/fr30.c: Likewise.
18659 * config/frv/frv.c: Likewise.
18660 * config/ft32/ft32.c: Likewise.
18661 * config/h8300/h8300.c: Likewise.
18662 * config/i386/i386-c.c: Likewise.
18663 * config/i386/i386.c: Likewise.
18664 * config/i386/msformat-c.c: Likewise.
18665 * config/i386/winnt-cxx.c: Likewise.
18666 * config/i386/winnt-stubs.c: Likewise.
18667 * config/i386/winnt.c: Likewise.
18668 * config/ia64/ia64-c.c: Likewise.
18669 * config/ia64/ia64.c: Likewise.
18670 * config/iq2000/iq2000.c: Likewise.
18671 * config/lm32/lm32.c: Likewise.
18672 * config/m32c/m32c-pragma.c: Likewise.
18673 * config/m32c/m32c.c: Likewise.
18674 * config/m32r/m32r.c: Likewise.
18675 * config/m68k/m68k.c: Likewise.
18676 * config/mcore/mcore.c: Likewise.
18677 * config/mep/mep-pragma.c: Likewise.
18678 * config/mep/mep.c: Likewise.
18679 * config/microblaze/microblaze-c.c: Likewise.
18680 * config/microblaze/microblaze.c: Likewise.
18681 * config/mips/mips.c: Likewise.
18682 * config/mmix/mmix.c: Likewise.
18683 * config/mn10300/mn10300.c: Likewise.
18684 * config/moxie/moxie.c: Likewise.
18685 * config/msp430/msp430-c.c: Likewise.
18686 * config/msp430/msp430.c: Likewise.
18687 * config/nds32/nds32-cost.c: Likewise.
18688 * config/nds32/nds32-fp-as-gp.c: Likewise.
18689 * config/nds32/nds32-intrinsic.c: Likewise.
18690 * config/nds32/nds32-isr.c: Likewise.
18691 * config/nds32/nds32-md-auxiliary.c: Likewise.
18692 * config/nds32/nds32-memory-manipulation.c: Likewise.
18693 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
18694 * config/nds32/nds32-predicates.c: Likewise.
18695 * config/nds32/nds32.c: Likewise.
18696 * config/nios2/nios2.c: Likewise.
18697 * config/nvptx/nvptx.c: Likewise.
18698 * config/pa/pa.c: Likewise.
18699 * config/pdp11/pdp11.c: Likewise.
18700 * config/rl78/rl78-c.c: Likewise.
18701 * config/rl78/rl78.c: Likewise.
18702 * config/rs6000/rs6000-c.c: Likewise.
18703 * config/rs6000/rs6000.c: Likewise.
18704 * config/rx/rx.c: Likewise.
18705 * config/s390/s390-c.c: Likewise.
18706 * config/s390/s390.c: Likewise.
18707 * config/sh/sh-c.c: Likewise.
18708 * config/sh/sh-mem.cc: Likewise.
18709 * config/sh/sh.c: Likewise.
18710 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
18711 * config/sh/sh_treg_combine.cc: Likewise.
18712 * config/sol2-c.c: Likewise.
18713 * config/sol2-cxx.c: Likewise.
18714 * config/sol2-stubs.c: Likewise.
18715 * config/sol2.c: Likewise.
18716 * config/sparc/sparc-c.c: Likewise.
18717 * config/sparc/sparc.c: Likewise.
18718 * config/spu/spu-c.c: Likewise.
18719 * config/spu/spu.c: Likewise.
18720 * config/stormy16/stormy16.c: Likewise.
18721 * config/tilegx/mul-tables.c: Likewise.
18722 * config/tilegx/tilegx-c.c: Likewise.
18723 * config/tilegx/tilegx.c: Likewise.
18724 * config/tilepro/mul-tables.c: Likewise.
18725 * config/tilepro/tilepro-c.c: Likewise.
18726 * config/tilepro/tilepro.c: Likewise.
18727 * config/v850/v850-c.c: Likewise.
18728 * config/v850/v850.c: Likewise.
18729 * config/vax/vax.c: Likewise.
18730 * config/visium/visium.c: Likewise.
18731 * config/vms/vms-c.c: Likewise.
18732 * config/vms/vms.c: Likewise.
18733 * config/vxworks.c: Likewise.
18734 * config/xtensa/xtensa.c: Likewise.
18735
18736 2015-07-07 Uros Bizjak <ubizjak@gmail.com>
18737
18738 * config/i386/i386.md (*jcc_bt<mode>): Only split before reload.
18739 Remove operand constraints. Change operand 2 predicate to
18740 nonmemory operand. Limit const_int values to mode bitsize. Only
18741 allow const_int values less than 32 when optimizing for size.
18742 (*jcc_bt<mode>_1, *jcc_bt<mode>_mask): Only split before reload.
18743 Remove operand constraints.
18744 (*bt<mode>): Use SImode for const_int values less than 32.
18745 (regmode): Remove mode attribute.
18746
18747 2015-07-07 Anatoly Sokolov <aesok@post.ru>
18748
18749 * config/moxie/moxie.h (GO_IF_LEGITIMATE_ADDRESS): Remove macros.
18750 * config/moxie/moxie.c (moxie_reg_ok_for_base_p,
18751 moxie_legitimate_address_p): New functions.
18752 (TARGET_ADDR_SPACE_LEGITIMATE_ADDRESS_P): Define.
18753
18754 2015-07-07 Tom de Vries <tom@codesourcery.com>
18755
18756 PR tree-optimization/66642
18757 * tree-parloops.c (transform_to_exit_first_loop_alt): Update function
18758 header comment. Rename split_edge variable to edge_at_split. Split
18759 exit edge to create new loop exit bb. Insert loop exit phis in new
18760 loop exit bb.
18761
18762 2015-07-07 Tom de Vries <tom@codesourcery.com>
18763
18764 * tree-cfg.c (get_virtual_phi): New function.
18765 * tree-cfg.h (get_virtual_phi): Declare.
18766 * tree-ssa-loop-manip.c (replace_uses_in_dominated_bbs)
18767 (rewrite_virtuals_into_loop_closed_ssa): New function.
18768 * tree-ssa-loop-manip.h (rewrite_virtuals_into_loop_closed_ssa):
18769 Declare.
18770 * tree-parloops.c (replace_uses_in_bbs_by): Remove.
18771 (transform_to_exit_first_loop_alt): Use
18772 rewrite_virtuals_into_loop_closed_ssa.
18773
18774 2015-07-07 Richard Biener <rguenther@suse.de>
18775
18776 * fold-const.c (fold_binary_loc): Move
18777 (X & C2) << C1 -> (X << C1) & (C2 << C1) simplification ...
18778 * match.pd: ... here.
18779 Add (X * C1) % C2 -> 0 simplification pattern derived from
18780 extract_muldiv_1.
18781
18782 2015-07-07 Kaz Kojima <kkojima@gcc.gnu.org>
18783
18784 PR target/66780
18785 * config/sh/sh.md (symGOT_load): Revert a part of 2015-03-03
18786 change for target/65249.
18787
18788 2015-07-07 Paulo Matos <pmatos@broadcom.com>
18789
18790 * symtab.c (address_matters_1): Fix typo in comment above.
18791 (can_increase_alignment_p): Likewise.
18792
18793 2015-07-07 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
18794
18795 * function.c (free_after_compilation): Clear PROP_cfg in
18796 f->curr_properties.
18797
18798 2015-07-07 Richard Biener <rguenther@suse.de>
18799
18800 * tree-ssa-propagate.c (add_ssa_edge): Dump what edge list we
18801 add which use to.
18802 (add_control_edge): Remove excessive vertical space in dumping.
18803 (process_ssa_edge_worklist): Simulate at most one statement and
18804 return whether we did. Do not simulate PHIs if they are in a
18805 BB not yet simulated.
18806 (ssa_propagate): Adjust to always drain the BB worklist whenever
18807 a BB is available there, likewise the VARYING edges list before
18808 the interesting edge list.
18809
18810 2015-07-07 Christian Bruel <christian.bruel@st.com>
18811
18812 PR target/52144
18813 * config/arm/elf.h (TARGET_ASM_FILE_START_APP_OFF): Delete.
18814
18815 2015-07-07 Richard Biener <rguenther@suse.de>
18816
18817 PR middle-end/66739
18818 * match.pd: Condition A - B ==/!= 0 -> A ==/!= B on single-use
18819 A - B.
18820
18821 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
18822
18823 * config/i386/i386.md (insv<mode>): Rename from insv. Use SWI48
18824 modes for operands 0 and 3. Use SImode for operands 2 and 3.
18825 Copy operand 0 to a temporary if !ext_register_operand. Remove
18826 ancient extract_bit_field workaround.
18827 (insv<mode>_1): Rename from mov<mode>_insv_1.
18828 (*insvqi): Rename from *movqi_insv_2.
18829 * config/i386/i386.c (emit_i386_cw_initialization): Update calls
18830 for renamed insvsi_1.
18831 (promote_duplicated_reg): Ditto for renamed insv<mode>_1.
18832
18833 2015-07-06 Nathan Sidwell <nathan@codesourcery.com>
18834
18835 * config/nvptx/nvptx.c (nvptx_reorg): Remove unused vars. Fix
18836 call to nvptx_reorg_subreg.
18837
18838 2015-07-06 Jim Wilson <jim.wilson@linaro.org>
18839
18840 * graphite-blocking.c (HAVE_isl): Include <stddef.h>.
18841 * graphite-dependencies.c, graphite-interchange.c,
18842 graphite-isl-ast-to-gimple.c, graphite-optimize-isl.c, graphite-poly.c,
18843 graphite-scop-detection.c, graphite-sese-to-poly.c, graphite.c:
18844 Likewise.
18845
18846 2015-07-06 Marc Glisse <marc.glisse@inria.fr>
18847
18848 * match.pd: Remove element_mode inside HONOR_*.
18849 (~ (-A) -> A - 1, ~ (A - 1) -> -A): Handle complex types.
18850 (~X | X -> -1, ~X ^ X -> -1): Merge.
18851 * tree.c (build_each_one_cst): New function.
18852 * tree.h (build_each_one_cst): Likewise.
18853
18854 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
18855
18856 * config/i386/i386-c.c (ix86_target_macros_internal): Handle
18857 PROCESSOR_IAMCU.
18858
18859 2015-07-06 Steve Ellcey <sellcey@imgtec.com>
18860
18861 * config.gcc <mips*-*-*>: Add fused-madd.opt.
18862 * config/mips/mips.opt (mfused-madd): Remove.
18863 * config/mips/mips.c (mips_rtx_costs): Update cost calculations.
18864 * config/mips/mips.h (TARGET_MIPS8000): New.
18865 (ISA_HAS_FP_MADD4_MSUB4): Remove.
18866 (ISA_HAS_FP_MADDF_MSUBF): Remove.
18867 (ISA_HAS_FP_MADD3_MSUB3): Remove.
18868 (ISA_HAS_NMADD4_NMSUB4): Remove.
18869 (ISA_HAS_NMADD3_NMSUB3): Remove.
18870 (ISA_HAS_FUSED_MADD4): New.
18871 (ISA_HAS_UNFUSED_MADD4): New.
18872 (ISA_HAS_FUSED_MADDF): New.
18873 (ISA_HAS_FUSED_MADD3): New.
18874 * config/mips/mips.md: (fma<mode>4) Change from insn to expand.
18875 (*fma<mode>4_madd3) New.
18876 (*fma<mode>4_madd4) New.
18877 (*fma<mode>4_maddf) New.
18878 (fms<mode>4) New.
18879 (*fms<mode>4_msub3) New.
18880 (*fms<mode>4_msub4) New.
18881 (fnma<mode>4) New.
18882 (*fnma<mode>4_nmadd3) New.
18883 (*fnma<mode>4_nmadd4) New.
18884 (fnms<mode>4) New.
18885 (*fnms<mode>4_nmsub3) New.
18886 (*fnms<mode>4_nmsub4) New.
18887 (*madd4<mode>) Modify to be unfused only.
18888 (*msub4<mode>) Modify to be unfused only.
18889 (*nmadd4<mode>) Modify to be unfused only.
18890 (*nmsub4<mode>) Modify to be unfused only.
18891 (*madd3<mode>) Remove.
18892 (*msub3<mode>) Remove.
18893 (*nmadd3<mode>) Remove.
18894 (*nmsub3<mode>) Remove.
18895 (*nmadd3<mode>_fastmath) Remove.
18896 (*nmsub3<mode>_fastmath) Remove.
18897 (*nmadd4<mode>_fastmath) Update condition.
18898 (*nmsub4<mode>_fastmath) Update condition.
18899
18900 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
18901
18902 PR target/65956
18903 * config/arm/arm.c (arm_needs_doubleword_align): Drop any outer
18904 alignment attribute, exploring one level down for records and arrays.
18905
18906 2015-07-06 Uros Bizjak <ubizjak@gmail.com>
18907
18908 * config/i386/i386.md (extv<mode>): Rename from extv. Use SWI24
18909 modes for operands 0 and 1. Use SImode for operands 2 and 3.
18910 Copy operand 1 to a temporary if !ext_register_operand. Remove
18911 ancient extract_bit_field workaround.
18912 (*extv<mode>): Rename from *mov<mode>_extv_1.
18913 (*extvqi): Rename from *movqi_extv_1.
18914 (extzv<mode>): Rename from extzv. Use SWI248 modes for
18915 operands 0 and 1. Use SImode for operands 2 and 3. Copy operand 1
18916 to a temporary if !ext_register_operand. Remove ancient
18917 extract_bit_field workaround.
18918 (*extzv<mode>): Rename from *mov<mode>_extzv_1.
18919 (*extzvqi): Rename from *movqi_extzv_2.
18920 (*testqi_ext_3): Remove modes from const_int_operand predicated
18921 operands. Add "n" constraint.
18922 (*btsq, *btrq, *btcq): Remove mode from const_0_to_63 predicated
18923 operand. Add "J" constraint.
18924 (*btsq, *btrq, *btcq peephole2s): Remove mode from
18925 const_0_to_63 predicated operand.
18926 (regmode): New insn attribute.
18927 (*bt<mode>): Use SImode for operand 1. Change operand 1 predicate
18928 to nonmemory_operand. Use regmode insn attribute.
18929 (*jcc_bt<mode>_1): Convert operand 2 to SImode.
18930 (*jcc_bt<mode>_mask): Remove mode from operand 3.
18931 (*jcc_btsi_1, *jcc_btsi_mask_1): Remove patterns.
18932 (tbm_bextri_<mode>): Remove modes from const_0_to_255 predicated
18933 operands. Use "N" constraint instead of "n".
18934
18935 2015-07-06 Alan Lawrence <alan.lawrence@arm.com>
18936
18937 * config/arm/arm.md (movdi): Avoid odd-number ldrd/strd in ARM state.
18938
18939 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
18940
18941 PR target/66749
18942 * config/i386/i386.c (iamcu_cost): New.
18943 (m_IAMCU): Likewise.
18944 (initial_ix86_arch_features): Disable X86_ARCH_CMOV for m_IAMCU.
18945 (processor_target_table): Add an entry for "iamcu".
18946 (processor_alias_table): Likewise.
18947 (ix86_issue_rate): Handle PROCESSOR_IAMCU.
18948 (ix86_adjust_cost): Likewise.
18949 (ia32_multipass_dfa_lookahead): Likewise.
18950 * config/i386/i386.h (processor_type): Add PROCESSOR_IAMCU.
18951 * config/i386/x86-tune.def: Updated for m_IAMCU.
18952
18953 2015-07-06 Richard Biener <rguenther@suse.de>
18954
18955 PR tree-optimization/66772
18956 * tree-ssa-ccp.c (ccp_visit_phi_node): Make sure that copy
18957 values are available in the PHI node BB when there are
18958 still unexecutable edges.
18959
18960 2015-07-06 Richard Biener <rguenther@suse.de>
18961
18962 PR tree-optimization/66767
18963 * tree-vect-loop-manip.c (vect_create_cond_for_align_checks):
18964 Make sure to build the alignment test on a SSA name without
18965 final alignment info valid only if the alignment test
18966 evaluates to true.
18967
18968 2015-07-06 Bernd Schmidt <bernds@codesourcery.com>
18969
18970 PR target/66620
18971 * config/bfin/bfin.c (hwloop_optimize): Create new bb between jump and
18972 loop start when inserting LSETUP.
18973
18974 2015-07-06 H.J. Lu <hongjiu.lu@intel.com>
18975
18976 PR target/53383
18977 * config/i386/i386.c (ix86_option_override_internal): Allow
18978 -mincoming-stack-boundary=3 for 64-bit if SSE is disabled.
18979
18980 2015-07-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
18981
18982 * read-md.c (decimal_string): Rename to ...
18983 (md_decimal_string): ... this.
18984 (handle_enum): Reflect this.
18985
18986 2015-07-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
18987
18988 PR target/66731
18989 * config/aarch64/aarch64.md (fnmul<mode>3): Handle -frounding-math.
18990
18991 2015-07-06 Richard Biener <rguenther@suse.de>
18992
18993 PR middle-end/66759
18994 * match.pd: Add missing constraint of y to REAL_CST in
18995 REAL_CST - x CMP y to y - CST CMP x simplification.
18996
18997 2015-07-06 Eric Botcazou <ebotcazou@adacore.com>
18998
18999 PR tree-optimization/66757
19000 * match.pd: Add missing condition to ~X ^ C -> X ^ ~C.
19001
19002 2015-07-05 Chung-Lin Tang <cltang@codesourcery.com>
19003 Sandra Loosemore <sandra@codesourcery.com>
19004
19005 * config/nios2/nios2-protos.h (nios2_symbol_ref_in_small_data_p):
19006 Delete extern declaration.
19007 (gprel_constant_p): Add extern declaration.
19008 * config/nios2/constraints.md ("S"): Use gprel_constant_p
19009 instead of nios2_symbol_ref_in_small_data_p.
19010 * config/nios2/nios2.c (nios2_legitimate_address_p): Likewise.
19011 (nios2_symbol_ref_in_small_data_p): Make static.
19012 (gprel_constant_p): Make non-static.
19013
19014 2015-07-05 Gerald Pfeifer <gerald@pfeifer.com>
19015
19016 * doc/fragments.texi (Target Fragment): Convert debian.org
19017 link to use https.
19018 * doc/install.texi (Configuration): Ditto.
19019
19020 2015-07-05 Jakub Jelinek <jakub@redhat.com>
19021
19022 PR tree-optimization/66718
19023 * tree-vect-stmts.c (vectorizable_call): Replace uses of
19024 GOMP_SIMD_LANE outside of loop with vf - 1 rather than 0.
19025
19026 PR tree-optimization/66718
19027 * tree-vect-stmts.c (vectorizable_assignment, vectorizable_store,
19028 vectorizable_load, vectorizable_condition): Move vectype,
19029 nunits, ncopies computation after checking what kind of statement
19030 stmt is.
19031
19032 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19033
19034 * target-insns.def (extv, extzv, insv): New targetm instruction
19035 patterns.
19036 * optabs.c (get_extraction_insn): Use them instead of HAVE_*/gen_*
19037 interface.
19038 * recog.c (simplify_while_replacing): Likewise.
19039
19040 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19041
19042 * target-insns.def (doloop_begin, doloop_end): New targetm
19043 instruction patterns.
19044 * loop-init.c: Include target.h.
19045 (pass_loop2::gate): Use the new targetm patterns instead of
19046 HAVE_*/gen_* interface.
19047 (pass_rtl_doloop::gate): Likewise.
19048 (pass_rtl_doloop::execute): Remove preprocessor condition.
19049 * hw-doloop.c: Build unconditionally.
19050 * loop-doloop.c: Likewise.
19051 (doloop_optimize): Use the new targetm patterns instead of
19052 HAVE_*/gen_* interface.
19053 (doloop_modify): Likewise. Change type of doloop_seq to rtx_insn *.
19054 * modulo-sched.c (doloop_register_get): Likewise.
19055
19056 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19057
19058 * target-insns.def (clear_cache): New targetm instruction pattern.
19059 * builtins.c (expand_builtin___clear_cache): Use it instead of
19060 HAVE_*/gen_* interface.
19061
19062 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19063
19064 * target-insns.def (allocate_stack, check_stack, probe_stack)
19065 (probe_stack_address, split_stack_prologue, split_stack_space_check):
19066 New targetm instruction patterns.
19067 * explow.c (allocate_dynamic_stack_space): Use them instead of
19068 HAVE_*/gen_* interface.
19069 (emit_stack_probe): Likewise.
19070 (probe_stack_range): Likewise.
19071 * function.c (thread_prologue_and_epilogue_insns): Likewise.
19072
19073 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19074
19075 * target-insns.def (stack_protect_set, stack_protect_test): New
19076 targetm instruction patterns.
19077 * cfgexpand.c (stack_protect_prologue): Use them instead of
19078 HAVE_*/gen_* interface.
19079 * function.c (stack_protect_epilogue): Likewise.
19080
19081 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19082
19083 * expr.h (gen_move_insn_uncast): Delete.
19084 * expr.c (gen_move_insn_uncast): Delete.
19085
19086 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19087
19088 * target-insns.def (restore_stack_block, restore_stack_function)
19089 (restore_stack_nonlocal, save_stack_block, save_stack_function)
19090 (save_stack_nonlocal): New targetm instruction patterns.
19091 * builtins.c (expand_builtin_apply): Use them instead of
19092 HAVE_*/gen_* interface.
19093 * explow.c (emit_stack_save, emit_stack_restore): Likewise.
19094
19095 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19096
19097 * target-insns.def (trap): New targetm instruction pattern.
19098 * builtins.c (expand_builtin_trap): Use it instead of HAVE_*/gen_*
19099 interface.
19100 * explow.c (allocate_dynamic_stack_space): Likewise.
19101 * ifcvt.c (find_if_header): Likewise.
19102
19103 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19104
19105 * target-insns.def (prefetch): New targetm instruction pattern.
19106 * tree-ssa-loop-prefetch.c: Include targeth.
19107 (tree_ssa_prefetch_arrays): Use prefetch targetm pattern instead
19108 of HAVE_*/gen_* interface.
19109 * builtins.c (expand_builtin_prefetch): Likewise.
19110 * toplev.c (process_options): Likewise.
19111
19112 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19113
19114 * target-insns.def (untyped_call, untyped_return): New targetm
19115 instruction patterns.
19116 * builtins.c (expand_builtin_apply): Use them instead of
19117 HAVE_*/gen_* interface.
19118 (result_vector): Define unconditionally.
19119
19120 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19121
19122 * target-insns.def (builtin_longjmp, builtin_setjmp_receiver)
19123 (builtin_setjmp_setup, exception_receiver, nonlocal_goto)
19124 (nonlocal_goto_receiver): New targetm instruction patterns.
19125 * builtins.c (expand_builtin_setjmp_setup): Use them instead
19126 of HAVE_*/gen_* interface.
19127 (expand_builtin_setjmp_receiver): Likewise.
19128 (expand_builtin_longjmp, expand_builtin_nonlocal_goto): Likewise.
19129 * except.c (expand_dw2_landing_pad_for_region): Likewise.
19130
19131 2015-07-05 Richard Sandiford <richard.sandiford@arm.com>
19132
19133 * target.def: Add code_for_* hooks.
19134 * gentarget-def.c (def_target_insn): Add TARGET_CODE_FOR_* macros.
19135 * defaults.h (HAVE_tablejump, gen_tablejump): Delete.
19136 * target-insns.def (casesi, tablejump): New targetm instruction
19137 patterns.
19138 * expr.c (try_casesi): Use them instead of HAVE_*/gen_* interface.
19139 (do_tablejump): Likewise.
19140 * stmt.c (expand_switch_as_decision_tree_p): Likewise.
19141 (expand_sjlj_dispatch_table): Likewise.
19142 * targhooks.c (default_case_values_threshold): Likewise.
19143
19144 2015-07-04 Sandra Loosemore <sandra@codesourcery.com>
19145
19146 * config/nios2/nios2.c (save_reg, restore_reg): Use plus_constant.
19147 Use rtx_insn * instead of rtx.
19148 (nios2_emit_add_constant): Use rtx_insn * instead of rtx.
19149 (nios2_expand_prologue, nios2_expand_epilogue): Likewise.
19150 (nios2_call_tls_get_addr): Likewise.
19151 (nios2_emit_expensive_div): Likewise.
19152 (nios2_emit_move_sequence): Change return type to bool.
19153 * config/nios2/nios2-protos.h (nios2_emit_move_sequence):
19154 Change return type to bool.
19155
19156 2015-07-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
19157
19158 PR target/66747
19159 * config/mips/mips.c (mips_find_gp_ref): Handle instruction sequences.
19160
19161 2015-07-04 John David Anglin <danglin@gcc.gnu.org>
19162
19163 PR target/66114
19164 * config/pa/pa.md (indirect_jump): Use pmode_register_operand instead
19165 of register_operand. Remove constraint.
19166
19167 2015-07-04 Marc Glisse <marc.glisse@inria.fr>
19168
19169 * tree-cfg.c (verify_gimple_assign_ternary) <VEC_COND_EXPR>: Check
19170 the first argument.
19171
19172 2015-07-03 Paolo Carlini <paolo.carlini@oracle.com>
19173
19174 * attribs.c (decl_attributes): Guard inform with the return value
19175 of the preceding warning.
19176
19177 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
19178
19179 * doc/invoke.texi (moverride): Move to correct section.
19180
19181 2015-07-03 Richard Biener <rguenther@suse.de>
19182
19183 * genmatch.c (commutative_tree_code, commutative_ternary_tree_code):
19184 Copy from tree.c
19185 (dt_operand::gen_gimple_expr): After valueizing operands
19186 re-canonicalize operand order for commutative tree codes.
19187
19188 2015-07-03 H.J. Lu <hongjiu.lu@intel.com>
19189
19190 PR target/66746.
19191 * config/i386/ia32intrin.h (__crc32b): Don't define if __iamcu__
19192 is defined.
19193 (__crc32w): Likewise.
19194 (__crc32d): Likewise.
19195 (__rdpmc): Likewise.
19196 (__rdtscp): Likewise.
19197 (_rdpmc): Likewise.
19198 (_rdtscp): Likewise.
19199 * config/i386/x86intrin.h: Only include ia32intrin.h if __iamcu__
19200 is defined.
19201
19202 2015-07-03 Richard Biener <rguenther@suse.de>
19203
19204 * fold-const.c (fold_mathfn_compare): Remove.
19205 (fold_inf_compare): Likewise.
19206 (fold_comparison): Move floating point comparison simplifications...
19207 * match.pd: ... to patterns here. Introduce simple_comparisons
19208 operator list and use it for patterns formerly in fold_comparison.
19209
19210 2015-07-03 James Greenhalgh <james.greenhalgh@arm.com>
19211
19212 PR tree-optimization/66119
19213 * toplev.c (process_options): Don't set up default values for
19214 the sra_max_scalarization_size_{speed,size} parameters.
19215 * tree-sra (analyze_all_variable_accesses): If no values
19216 have been set for the sra_max_scalarization_size_{speed,size}
19217 parameters, call get_move_ratio to get target defaults.
19218
19219 2015-07-03 Richard Biener <rguenther@suse.de>
19220
19221 * fold-const.c (fold_binary_loc): Move (T)ptr & CST folding...
19222 * match.pd: ... here.
19223
19224 2015-07-03 Gerald Pfeifer <gerald@pfeifer.com>
19225
19226 PR target/37072
19227 * doc/invoke.texi (i386 and x86-64 Options): -mno-fancy-math-387
19228 is not actually the default on FreeBSD.
19229
19230 2015-07-02 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
19231
19232 * config/rs6000/rs6000-builtin.def (CMPGE_16QI): New built-in
19233 definition.
19234 (CMPGE_8HI): Likewise.
19235 (CMPGE_4SI): Likewise.
19236 (CMPGE_2DI): Likewise.
19237 (CMPGE_U16QI): Likewise.
19238 (CMPGE_U8HI): Likewise.
19239 (CMPGE_U4SI): Likewise.
19240 (CMPGE_U2DI): Likewise.
19241 (CMPLE_16QI): Likewise.
19242 (CMPLE_8HI): Likewise.
19243 (CMPLE_4SI): Likewise.
19244 (CMPLE_2DI): Likewise.
19245 (CMPLE_U16QI): Likewise.
19246 (CMPLE_U8HI): Likewise.
19247 (CMPLE_U4SI): Likewise.
19248 (CMPLE_U2DI): Likewise.
19249 * config/rs6000/rs6000-c.c (altivec_overloaded_builtins): Add
19250 overloads for ALTIVEC_BUILTIN_VEC_CMPGE and
19251 ALTIVEC_BUILTIN_VEC_CMPLE.
19252 * config/rs6000/vector.md (vector_ge<mode>): Restrict to
19253 floating-point vector modes.
19254 (vector_nlt<mode>): New define_expand.
19255 (vector_nltu<mode>): Likewise.
19256 (vector_ngt<mode>): Likewise.
19257 (vector_ngtu<mode>): Likewise.
19258
19259 2015-07-02 Segher Boessenkool <segher@kernel.crashing.org>
19260
19261 PR rtl-optimization/66706
19262 * combine.c (make_compound_operation): If an AND of SUBREG of
19263 LSHIFTRT does not simplify, see if just the AND of SUBREG does.
19264
19265 2015-07-02 Alan Lawrence <alan.lawrence@arm.com>
19266
19267 * tree-pass.h (make_pass_ch_vect): New.
19268 * passes.def: Add pass_ch_vect just before pass_if_conversion.
19269
19270 * tree-ssa-loop-ch.c (ch_base, pass_ch_vect, pass_data_ch_vect,
19271 pass_ch::process_loop_p, pass_ch_vect::process_loop_p,
19272 make_pass_ch_vect): New.
19273 (pass_ch): Extend ch_base.
19274
19275 (pass_ch::execute): Move all but loop_optimizer_init/finalize to...
19276 (ch_base::copy_headers): ...here.
19277
19278 2015-07-02 Richard Biener <rguenther@suse.de>
19279
19280 * builtins.c (get_pointer_alignment_1): Handle POINTER_PLUS_EXPR.
19281 * fold-const.c (get_pointer_modulus_and_residue): Remove.
19282 (fold_binary_loc): Implement (T)ptr & CST in terms of
19283 get_pointer_alignment_1.
19284 * tree-vect-loop-manip.c (vect_gen_niters_for_prolog_loop):
19285 Make sure to build the alignment test on a SSA name without
19286 final alignment info valid only after the prologue.
19287
19288 2015-07-02 Hans-Peter Nilsson <hp@axis.com>
19289
19290 * config/cris/cris.md ("epilogue"): Remove condition.
19291 ("prologue"): Ditto.
19292
19293 2015-07-02 Richard Biener <rguenther@suse.de>
19294
19295 * tree-ssa-dom.c (build_and_record_new_cond): Add optional
19296 parameter to record a condition that is false.
19297 (record_conditions): When recording an extra NE_EXPR that is
19298 true also record a EQ_EXPR that is false.
19299
19300 2015-07-02 Bin Cheng <bin.cheng@arm.com>
19301
19302 * tree-ssa-loop-ivopts.c (struct ivopts_data): New field iv_obstack.
19303 (tree_ssa_iv_optimize_init): Initialize iv_obstack.
19304 (alloc_iv): New parameter. Allocate struct iv using obstack_alloc.
19305 (set_iv, find_interesting_uses_address, add_candidate_1): New
19306 argument to alloc_iv.
19307 (find_interesting_uses_op, find_interesting_uses_cond): Don't
19308 duplicate struct iv.
19309 (free_loop_data): Don't free struct iv explicitly.
19310 (tree_ssa_iv_optimize_finalize): Free iv_obstack.
19311
19312 2015-07-01 DJ Delorie <dj@redhat.com>
19313
19314 * config/s390/tpf.h (LIBSTDCXX): Change to CPP1.
19315 (LIB_SPEC): Add.
19316 (SUPPORTS_DISCRIMINATOR): Define.
19317
19318 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
19319
19320 PR bootstrap/66685
19321 * rtl.c (classify_insn): Only return JUMP_INSN for parallel returns if
19322 there are no CALLs in the same pattern.
19323
19324 2015-07-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
19325
19326 PR rtl-optimization/61047
19327 * rtlanal.c (get_initial_register_offset): New function.
19328 (rtx_addr_can_trap_p_1): Check offsets of stack references.
19329
19330 2015-07-01 Richard Biener <rguenther@suse.de>
19331
19332 * fold-const.c (fold_comparison): Move X - Y CMP 0 -> X CMP Y,
19333 X * C1 CMP 0 -> X CMP 0, X CMP X, ~X CMP ~Y -> Y CMP X and
19334 ~X CMP C -> X CMP' ~C to ...
19335 * match.pd: ... patterns here.
19336
19337 2015-07-01 Nick Clifton <nickc@redhat.com>
19338
19339 * config/msp430/msp430.md (zero_extendhipsi2): Use MOVX.A to store
19340 a 16-bit value into a 20-bit memory slot.
19341
19342 2015-07-01 Jiong Wang <jiong.wang@arm.com>
19343
19344 * doc/sourcebuild.texi (AArch64-specific attributes): Document
19345 "aarch64_tiny", "aarch64_small", "aarch64_large",
19346 "aarch64_little_endian", "aarch64_big_endian".
19347
19348 2015-07-01 Jiong Wang <jiong.wang@arm.com>
19349
19350 * doc/sourcebuild.texi (AArch64-specific attributes): New subsection.
19351 Document "aarch64_small_fpic".
19352
19353 2015-07-01 Jiong Wang <jiong.wang@arm.com>
19354
19355 * configure.ac: Add check for aarch64 assembler -fpic relocation
19356 modifier support.
19357 * configure: Regenerate.
19358 * config.in: Regenerate.
19359 * config/aarch64/aarch64.c (initialize_aarch64_code_model): Fall back
19360 to -fPIC if not support of -fpic relocation modifier in assembler.
19361
19362 2015-07-01 Richard Sandiford <richard.sandiford@arm.com>
19363
19364 PR bootstrap/66685
19365 * rtl.c (classify_insn): Handle returns in PARALLELs.
19366
19367 2015-07-01 Eric Botcazou <ebotcazou@adacore.com>
19368
19369 PR middle-end/66633
19370 * tree-nested.c (convert_nonlocal_omp_clauses): Initialize need_chain
19371 to true if the function is nested and if not optimizing.
19372 (convert_local_omp_clauses): Initialize need_frame to true if the
19373 function contains nested functions and if not optimizing.
19374
19375 2015-07-01 Richard Biener <rguenther@suse.de>
19376
19377 * fold-const.c (fold_binary_loc): Move ~X ^ X -> -1 and
19378 (X & Y) ^ Y -> ~X & Y transforms to ...
19379 * match.pd: ... here.
19380
19381 2015-07-01 Richard Biener <rguenther@suse.de>
19382
19383 * genmatch.c (expr::gen_transform): Shortcut re-simplifying
19384 of converts to avoid uninteresting noise from the conversion
19385 simplifying patterns.
19386
19387 2015-06-30 Sandra Loosemore <sandra@codesourcery.com>
19388
19389 * config/c6x/c6x.c (try_rename_operands): Do not depend on
19390 gcc_assert evaluating its argument for side-effect.
19391
19392 2015-06-30 Kaz Kojima <kkojima@gcc.gnu.org>
19393
19394 PR target/64833
19395 * config/sh/sh.md (casesi_worker_1): Set length to 8 when
19396 flag_pic is set.
19397
19398 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
19399
19400 * lto-streamer-out.c (class DFS): Adjust hash_scc method.
19401 (DFS::DFS): Pass this_ref_p and ref_p to hash_scc.
19402 (hash_scc): Add this_ref_p and ref_p parameters and pass them
19403 to the inner DFS walk.
19404
19405 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
19406
19407 * target-insns.def (jump): New targetm instruction pattern.
19408 * bb-reorder.c (get_uncond_jump_length): Use targetm.gen_jump
19409 instead of gen_jump.
19410 (fix_up_crossing_landing_pad): Likewise.
19411 (add_labels_and_missing_jumps): Likewise.
19412 (fix_crossing_conditional_branches): Likewise.
19413 * cfgrtl.c (try_redirect_by_replacing_jump): Likewise.
19414 (force_nonfallthru_and_redirect): Likewise.
19415 * cse.c (cse_insn): Likewise.
19416 * expmed.c (expand_divmod): Likewise.
19417 * expr.c (store_expr_with_bounds, expand_expr_real_2): Likewise.
19418 * haifa-sched.c (init_before_recovery): Likewise.
19419 (sched_create_recovery_edges): Likewise.
19420 * ifcvt.c (find_cond_trap): Likewise.
19421 * optabs.c (expand_doubleword_shift, expand_doubleword_clz): Likewise.
19422 (expand_float, expand_fix): Likewise.
19423 * stmt.c (emit_jump): Likewise.
19424
19425 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
19426
19427 * defaults.h (HAVE_load_multiple, gen_load_multiple)
19428 (HAVE_store_multiple, gen_store_multiple): Delete.
19429 * target-insns.def (load_multiple, store_multiple): New targetm
19430 instruction patterns.
19431 * expr.c (move_block_to_reg, move_block_from_reg): Use them instead
19432 of HAVE_*/gen_* interface.
19433
19434 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
19435
19436 * defaults.h (HAVE_mem_thread_fence, gen_mem_thread_fence)
19437 (HAVE_memory_barrier, gen_memory_barrier, HAVE_mem_signal_fence)
19438 (gen_mem_signal_fence): Delete.
19439 * target-insns.def (mem_signal_fence, mem_thread_fence)
19440 (memory_barrier): New targetm instruction patterns.
19441 * optabs.c (expand_mem_thread_fence): Use them instead of HAVE_*/gen_*
19442 interface.
19443 (expand_mem_signal_fence): Likewise.
19444
19445 2015-06-30 Richard Sandiford <richard.sandiford@arm.com>
19446
19447 * defaults.h (HAVE_epilogue, gen_epilogue): Delete.
19448 * target-insns.def (epilogue, prologue, sibcall_prologue): New
19449 targetm instruction patterns.
19450 * alias.c (init_alias_analysis): Use them instead of HAVE_*/gen_*
19451 interface.
19452 * calls.c (expand_call): Likewise.
19453 * cfgrtl.c (cfg_layout_finalize): Likewise.
19454 * df-scan.c (df_get_entry_block_def_set): Likewise.
19455 (df_get_exit_block_use_set): Likewise.
19456 * dwarf2cfi.c (pass_dwarf2_frame::gate): Likewise.
19457 * final.c (final_start_function): Likewise.
19458 * function.c (thread_prologue_and_epilogue_insns): Likewise.
19459 (reposition_prologue_and_epilogue_notes): Likewise.
19460 * reorg.c (find_end_label): Likewise.
19461 * toplev.c (process_options): Likewise.
19462
19463 2015-06-30 David Malcolm <dmalcolm@redhat.com>
19464
19465 * typed-splay-tree.h: New file.
19466
19467 2015-06-30 Vladimir Makarov <vmakarov@redhat.com>
19468
19469 PR debug/66691
19470 * lra-int.h (lra_substitute_pseudo): Add a parameter.
19471 (lra_substitute_pseudo_within_insn): Ditto.
19472 * lra.c (lra_substitute_pseudo): Add a parameter. Simplify subreg
19473 of constant.
19474 (lra_substitute_pseudo_within_insn): Add a parameter. Transfer it
19475 to lra_substitute_pseudo.
19476 * lra-lives.c (process_bb_lives): Add an argument to
19477 lra_substitute_pseudo_within_insn call.
19478 * lra-constraints.c (inherit_reload_reg, split_reg): Add an
19479 argument to lra_substitute_pseudo and
19480 lra_substitute_pseudo_within_insn calls.
19481 (remove_inheritance_pseudos, undo_optional_reloads): Ditto.
19482
19483 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
19484
19485 * configure: Regenerated.
19486
19487 2015-06-30 H.J. Lu <hongjiu.lu@intel.com>
19488
19489 * config.gcc: Support i[34567]86-*-elfiamcu target.
19490 * config/i386/iamcu.h: New.
19491 * config/i386/i386.opt: Add -miamcu.
19492 * doc/invoke.texi: Document -miamcu.
19493 * common/config/i386/i386-common.c (ix86_handle_option): Turn
19494 off x87/MMX/SSE/AVX codegen for -miamcu.
19495 * config/i386/i386-c.c (ix86_target_macros_internal): Define
19496 __iamcu/__iamcu__ for -miamcu.
19497 * config/i386/i386.h (PREFERRED_STACK_BOUNDARY_DEFAULT): Set
19498 to MIN_STACK_BOUNDARY if TARGET_IAMCU is true.
19499 (BIGGEST_ALIGNMENT): Set to 32 if TARGET_IAMCU is true.
19500 * config/i386/i386.c (ix86_option_override_internal): Ignore and
19501 warn -mregparm for Intel MCU. Turn on -mregparm=3 for Intel
19502 MCU by default. Default long double to 64-bit for Intel MCU.
19503 Turn on -freg-struct-return for Intel MCU. Issue an error when
19504 -miamcu is used in 64-bit or x32 mode or if x87, MMX, SSE or
19505 AVX is turned on.
19506 (function_arg_advance_32): Pass value whose size is no larger
19507 than 8 bytes in registers for Intel MCU.
19508 (function_arg_32): Likewise.
19509 (ix86_return_in_memory): Return value whose size is no larger
19510 than 8 bytes in registers for Intel MCU.
19511 (iamcu_alignment): New function.
19512 (ix86_data_alignment): Call iamcu_alignment if TARGET_IAMCU is
19513 true.
19514 (ix86_local_alignment): Don't increase alignment for Intel MCU.
19515 (x86_field_alignment): Return iamcu_alignment if TARGET_IAMCU is
19516 true.
19517
19518 2015-06-30 Marek Polacek <polacek@redhat.com>
19519
19520 * match.pd (X - (X / Y) * Y): Use convert1 and convert2. Convert
19521 both operands of the resulting expression.
19522
19523 * match.pd (~x | x): Don't use tree_nop_conversion_p. Build
19524 the final expression with the operand's type and then convert
19525 it to the type of the expression.
19526
19527 2015-06-30 Richard Biener <rguenther@suse.de>
19528
19529 * fold-const.c (fold_binary_loc): Move ~x & ~y -> ~(x | y) and
19530 ~x | ~y -> ~(x & y), (x & CST) ^ (x & CST2) -> (x & CST) | (x & CST2),
19531 (X | Y) ^ X -> Y & ~ X, ~X ^ ~Y to X ^ Y and ~X ^ C to X ^ ~C ...
19532 * match.pd: ... to patterns here.
19533
19534 2015-06-30 Richard Biener <rguenther@suse.de>
19535
19536 PR tree-optimization/66704
19537 * tree-vect-data-refs.c (vect_setup_realignment): Use
19538 make_ssa_name for non-SSA name source.
19539
19540 2015-06-30 Jakub Jelinek <jakub@redhat.com>
19541
19542 PR middle-end/66702
19543 * omp-low.c (simd_clone_adjust): Handle addressable linear
19544 or uniform parameters or non-gimple type uniform parameters.
19545
19546 2015-06-30 Richard Biener <rguenther@suse.de>
19547
19548 * fold-const.c (fold_unary_loc): Move abs(abs(x)) -> abs(x),
19549 ~ (-A) to A - 1, ~ (A - 1) or ~ (A + -1) to -A and some cases of
19550 ~(X ^ Y) to ~X ^ Y or X ^ ~Y if ~X or ~Y simplify to ...
19551 * match.pd: ... here.
19552 Add a few cases of A - B -> A + (-B) when B "easily" negates.
19553 Move (x & y) | x -> x and friends before
19554 (x | CST1) & CST2 -> (x & CST2) | (CST1 & CST2).
19555
19556 2015-06-30 Eric Botcazou <ebotcazou@adacore.com>
19557
19558 * config/sparc/leon.md (leon_load): Enable for all LEON variants if
19559 -mfix-ut699 is not specified.
19560 (leon3_load): Rename into...
19561 (ut699_load): ...this. Enable for all LEON variants if -mfix-ut699
19562 is specified.
19563
19564 2015-06-30 Marek Polacek <polacek@redhat.com>
19565
19566 * fold-const.c (fold_binary_loc): Move ~X | X folding ...
19567 * match.pd: ... here.
19568
19569 2015-06-30 Richard Biener <rguenther@suse.de>
19570
19571 * target-insns.def (canonicalize_funcptr_for_compare): Add.
19572 * fold-const.c (build_range_check): Replace uses of
19573 HAVE_canonicalize_funcptr_for_compare.
19574 (fold_widened_comparison): Likewise.
19575 (fold_sign_changed_comparison): Likewise.
19576 * dojump.c: Include "target.h".
19577 (do_compare_and_jump): Replace uses of
19578 HAVE_canonicalize_funcptr_for_compare and
19579 gen_canonicalize_funcptr_for_compare.
19580 * expr.c (do_store_flag): Likewise.
19581
19582 2015-06-30 Tom de Vries <tom@codesourcery.com>
19583
19584 PR tree-optimization/66652
19585 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Use
19586 max_loop_iterations to determine if nit + 1 overflows.
19587
19588 2015-06-30 Richard Biener <rguenther@suse.de>
19589
19590 * tree-vrp.c (register_edge_assert_for_2): Also register
19591 asserts for dominating conversion results.
19592
19593 2015-06-30 Bin Cheng <bin.cheng@arm.com>
19594
19595 * tree-ssa-loop-ivopts.c (record_sub_use): Don't reset ssa_name
19596 field in struct iv.
19597
19598 2015-06-29 Jack Howarth <howarth.at.gcc@gmail.com>
19599
19600 PR target/66509
19601 * configure.ac: Fix filds and fildq test for 64-bit.
19602 * configure: Regenerated.
19603
19604 2015-06-29 Nathan Sidwell <nathan@codesourcery.com>
19605
19606 * config/nvptx/nvptx.md (nvptx_reorg_subreg): New fn, broken out of ...
19607 (nvptx_reorg): Here. Keep the non-subreg pieces.
19608
19609 2015-06-29 H.J. Lu <hongjiu.lu@intel.com>
19610
19611 * config/gnu-user.h (GNU_USER_TARGET_ENDFILE_SPEC): Use
19612 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
19613
19614 2015-06-29 Uros Bizjak <ubizjak@gmail.com>
19615
19616 * config/i386/i386.md (*jcc_1): Use %! in asm template.
19617 Set attribute "length_nobnd" instead of "length".
19618 (*jcc_2): Ditto.
19619 (jump): Ditto.
19620 (*jcc_1_bnd, *jcc_2_bnd, jump_bnd): Remove insn patterns.
19621
19622 2015-06-29 Sandra Loosemore <sandra@codesourcery.com>
19623
19624 * config/nios2/nios2.c (nios2_delegitimize_address): Make
19625 assert less restrictive.
19626
19627 2015-06-29 Manuel López-Ibáñez <manu@gcc.gnu.org>
19628
19629 PR fortran/66605
19630 * cgraphunit.c (cgraph_node::finalize_function): Do not call
19631 do_warn_unused_parameter.
19632 * function.c (do_warn_unused_parameter): Move from here.
19633 * function.h (do_warn_unused_parameter): Do not declare.
19634
19635 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
19636
19637 PR target/65697
19638 * gcc.target/arm/armv-sync-comp-swap.c: New.
19639 * gcc.target/arm/armv-sync-op-acquire.c: New.
19640 * gcc.target/arm/armv-sync-op-full.c: New.
19641 * gcc.target/arm/armv-sync-op-release.c: New.
19642
19643 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
19644
19645 PR target/65697
19646 * config/armc/arm.c (arm_split_compare_and_swap): For ARMv8, replace an
19647 initial acquire barrier with final barrier.
19648
19649 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
19650
19651 PR target/65697
19652 * config/armc/arm.c (arm_split_atomic_op): For ARMv8, replace an
19653 initial acquire barrier with final barrier.
19654
19655 2015-06-29 Richard Henderson <rth@redhat.com>
19656
19657 * config/i386/constraints.md (Bf): New constraint.
19658 * config/i386/i386-c.c (ix86_target_macros): Define
19659 __GCC_ASM_FLAG_OUTPUTS__.
19660 * config/i386/i386.c (ix86_md_asm_adjust): Handle =@cc* constraints
19661 as flags outputs.
19662 * doc/extend.texi (FlagOutputOperands): Document them.
19663
19664 2015-06-29 Jiong Wang <jiong.wang@arm.com>
19665
19666 * config/arch64/aarch64.md (UNSPEC_TLSLE): New enumeration.
19667 * config/arch64/aarch64.md (tlsle_small): Rename to tlsle and use new
19668 unspec name.
19669 (tlsle_small_<mode>): Rename to tlsle_<mode> and use new unspec name.
19670 * config/arch64/aarch64-protos.h (arch64_symbol_type): Rename
19671 SYMBOL_SMALL_TPREL to SYMBOL_TLSLE.
19672 (aarch64_symbol_context): Ditto.
19673 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto
19674 and use new pattern name.
19675 (aarch64_expand_mov_immediate): Ditto.
19676 (aarch64_print_operand): Ditto.
19677 (aarch64_classify_tls_symbol): Ditto.
19678
19679 2015-06-29 Marek Polacek <polacek@redhat.com>
19680 Marc Glisse <marc.glisse@inria.fr>
19681
19682 * fold-const.c (fold_binary_loc): Move X - (X / Y) * Y -> X % Y to ...
19683 * match.pd: ... pattern here.
19684
19685 2015-06-29 Tom de Vries <tom@codesourcery.com>
19686
19687 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Simplify
19688 function structure.
19689
19690 2015-06-29 Matthew Wahab <matthew.wahab@arm.com>
19691
19692 * doc/invoke.texi (Aarch64 Options, -march): Split out arch and
19693 feature description, split out the native option, add a link to
19694 the feature documentation, rearrange and slightly rewrite text.
19695 (Aarch64 options, -mcpu): Likewise.
19696 (Aarch64 options, Feature Modifiers): Add an anchor. Mention
19697 +rdma implies Adv. SIMD.
19698
19699 2015-06-29 Marek Polacek <polacek@redhat.com>
19700
19701 PR c/66322
19702 * function.c (stack_protect_epilogue): Remove a cast to int.
19703 * doc/invoke.texi: Update -Wswitch-bool description.
19704
19705 2015-06-29 Richard Biener <rguenther@suse.de>
19706
19707 * genmatch.c (add_operator): Treat ADDR_EXPR as atom.
19708 * fold-const.c (fold_binary_loc): Move &A - &B simplification
19709 via ptr_difference_const ...
19710 * match.pd: ... here.
19711 When matching (X ^ Y) == Y also match with swapped operands.
19712
19713 2015-06-29 Richard Biener <rguenther@suse.de>
19714
19715 * lto-streamer.h (LTO_major_version): Bump to 5.
19716
19717 2015-06-29 Richard Biener <rguenther@suse.de>
19718
19719 PR tree-optimization/66677
19720 * tree-vect-stmts.c (vect_transform_stmt): Make assert about
19721 STMT_VINFO_VEC_STMT clobbering less strict.
19722
19723 2015-06-29 Kugan Vivekanandarajah <kuganv@linaro.org>
19724
19725 PR middle-end/64130
19726 * tree-vrp.c (extract_range_from_binary_expr_1): For unsigned
19727 division, compute max and min when value ranges for dividend and
19728 divisor are available.
19729
19730 2015-06-28 Chung-Lin Tang <cltang@codesourcery.com>
19731 Sandra Loosemore <sandra@codesourcery.com>
19732
19733 * regrename.h (regrename_do_replace): Change to return bool.
19734 * regrename.c (rename_chains): Check return value of
19735 regname_do_replace.
19736 (regrename_do_replace): Re-validate the modified insns and
19737 return bool status.
19738 * config/aarch64/cortex-a57-fma-steering.c (rename_single_chain):
19739 Update to match rename_chains changes.
19740 * config/c6x/c6x.c (try_rename_operands): Assert that
19741 regrename_do_replace returns true.
19742
19743 2015-06-28 Uros Bizjak <ubizjak@gmail.com>
19744
19745 * config/i386/i386.md (<mode>_ldx): Do not zero-extend non-Pmode
19746 operand 2 here. Use copy_addr_to_reg to copy non-index
19747 register operand 2 to a temporary.
19748 (<mode>_stx): Ditto for operand 1.
19749 (*<mode>_ldx, *<mode>_stx): Remove enclosing parallel.
19750 * config/i386/i386.c (ix86_load_bounds): Zero-extend non-Pmode ptr here.
19751 (ix86_store_bounds): Ditto.
19752
19753 2015-06-27 Patrick Palka <ppalka@gcc.gnu.org>
19754
19755 * print-tree.c (print_node) [TREE_VEC]: Print its length.
19756
19757 2015-06-26 Andrew MacLeod <amacleod@redhat.com>
19758
19759 * gimple.c (gimple_call_set_fndecl): Remove.
19760 * gimple.h (gimple_call_set_fndecl): Relocate to gimple.h and call
19761 build1_loc directly instead of build_fold_addr_expr_loc.
19762
19763 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
19764
19765 * hash-map.h (hash_map::traverse): Use the definition of the
19766 Key typedef rather than the typedef itself.
19767
19768 2015-06-26 Martin Jambor <mjambor@suse.cz>
19769
19770 PR debug/66301
19771 * tree-ssa-pre.c (before_dom_children): Check that dump_file is not
19772 NULL instead of calling dump_enabled_p.
19773
19774 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
19775
19776 * config/aarch64/aarch64.opt: (override): New.
19777 * doc/invoke.texi (override): Document.
19778 * config/aarch64/aarch64.c (aarch64_flag_desc): New
19779 (aarch64_fusible_pairs): Likewise.
19780 (aarch64_tuning_flags): Likewise.
19781 (aarch64_tuning_override_function): Likewise.
19782 (aarch64_tuning_override_functions): Likewise.
19783 (aarch64_parse_one_option_token): Likewise.
19784 (aarch64_parse_boolean_options): Likewise.
19785 (aarch64_parse_fuse_string): Likewise.
19786 (aarch64_parse_tune_string): Likewise.
19787 (aarch64_parse_one_override_token): Likewise.
19788 (aarch64_parse_override_string): Likewise.
19789 (aarch64_override_options): Parse the -override string if it
19790 is present.
19791
19792 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
19793
19794 * config/aarch64/aarch64-protos.h (tune_params): Remove
19795 const from members.
19796 (aarch64_tune_params): Remove const, change to no longer be
19797 a pointer.
19798 * config/aarch64/aarch64.c (aarch64_tune_params): Remove const,
19799 change to no longer be a pointer, initialize to generic_tunings.
19800 (aarch64_min_divisions_for_recip_mul): Change dereference of
19801 aarch64_tune_params to member access.
19802 (aarch64_reassociation_width): Likewise.
19803 (aarch64_rtx_mult_cost): Likewise.
19804 (aarch64_address_cost): Likewise.
19805 (aarch64_branch_cost): Likewise.
19806 (aarch64_rtx_costs): Likewise.
19807 (aarch64_register_move_cost): Likewise.
19808 (aarch64_memory_move_cost): Likewise.
19809 (aarch64_sched_issue_rate): Likewise.
19810 (aarch64_builtin_vectorization_cost): Likewise.
19811 (aarch64_override_options): Take a copy of the selected tuning
19812 struct in to aarch64_tune_params, rather than just setting
19813 a pointer, change dereferences of aarch64_tune_params to member
19814 accesses.
19815 (aarch64_override_options_after_change): Change dereferences of
19816 aarch64_tune_params to member access.
19817 (aarch64_macro_fusion_p): Likewise.
19818 (aarch_macro_fusion_pair_p): Likewise.
19819 * config/aarch64/cortex-a57-fma-steering.c (gate): Likewise.
19820
19821 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
19822
19823 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Delete.
19824 (aarch64_tune_flags): Likewise.
19825 (AARCH64_TUNE_FMA_STEERING): Likewise.
19826 * config/aarch64/aarch64-cores.def (cortex-a57): Remove reference
19827 to AARCH64_FL_USE_FMA_STEERING_PASS.
19828 (cortex-a57.cortex-a53): Likewise.
19829 (cortex-a72): Use cortexa72_tunings.
19830 (cortex-a72.cortex-a53): Likewise.
19831 (exynos-m1): Likewise.
19832 * config/aarch64/aarch64-protos.h (tune_params): Add
19833 a field: extra_tuning_flags.
19834 * config/aarch64/aarch64-tuning-flags.def: New.
19835 * config/aarch64/aarch64-protos.h (AARCH64_EXTRA_TUNING_OPTION): New.
19836 (aarch64_extra_tuning_flags): Likewise.
19837 (aarch64_tune_params): Declare here.
19838 * config/aarch64/aarch64.c (generic_tunings): Set extra_tuning_flags.
19839 (cortexa53_tunings): Likewise.
19840 (cortexa57_tunings): Likewise.
19841 (thunderx_tunings): Likewise.
19842 (xgene1_tunings): Likewise.
19843 (cortexa72_tunings): New.
19844 * config/aarch64/cortex-a57-fma-steering.c: Include aarch64-protos.h.
19845 (gate): Check against aarch64_tune_params.
19846 * config/aarch64/t-aarch64 (cortex-a57-fma-steering.o): Depend on
19847 aarch64-protos.h.
19848
19849 2015-06-26 James Greenhalgh <james.greenhalgh@arm.com>
19850
19851 * config/aarch64/aarch64-fusion-pairs.def: New.
19852 * config/aarch64/aarch64-protos.h (aarch64_fusion_pairs): New.
19853 * config/aarch64/aarch64.c (AARCH64_FUSE_NOTHING): Move to
19854 aarch64_fusion_pairs.
19855 (AARCH64_FUSE_MOV_MOVK): Likewise.
19856 (AARCH64_FUSE_ADRP_ADD): Likewise.
19857 (AARCH64_FUSE_MOVK_MOVK): Likewise.
19858 (AARCH64_FUSE_ADRP_LDR): Likewise.
19859 (AARCH64_FUSE_CMP_BRANCH): Likewise.
19860
19861 2015-06-26 Jiong Wang <jiong.wang@arm.com>
19862
19863 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): New type
19864 SYMBOL_SMALL_GOT_28K.
19865 * config/aarch64/aarch64.md: (ldr_got_small_<mode>): Support new GOT
19866 relocation modifiers.
19867 (unspec): New enum "UNSPEC_GOTMALLPIC28K.
19868 (ldr_got_small_28k_<mode>): New.
19869 (ldr_got_small_28k_sidi): New.
19870 * config/aarch64/iterators.md (got_modifier): New mode iterator.
19871 * config/aarch64/aarch64-otps.h (aarch64_code_model): New model.
19872 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Support
19873 SYMBOL_SMALL_GOT_28K.
19874 (aarch64_rtx_costs): Add costs for new instruction sequences.
19875 (initialize_aarch64_code_model): Initialize new model.
19876 (aarch64_classify_symbol): Recognize new model and new symbol classification.
19877 (aarch64_asm_preferred_eh_data_format): Support new model.
19878 (aarch64_load_symref_appropriately): Generate new instruction
19879 sequences for -fpic.
19880 (TARGET_USE_PSEUDO_PIC_REG): New definition.
19881 (aarch64_use_pseudo_pic_reg): New function.
19882
19883 2015-06-26 Jiong Wang <jiong.wang@arm.com>
19884
19885 * config/aarch64/aarch64-protos.h (aarch64_symbol_type): Rename
19886 SYMBOL_SMALL_GOT to SYMBOL_SMALL_GOT_4G.
19887 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Ditto.
19888 (aarch64_expand_mov_immediate): Ditto.
19889 (aarch64_print_operand): Ditto.
19890 (aarch64_classify_symbol): Ditto.
19891
19892 2015-06-26 Nathan Sidwell <nathan@codesourcery.com>
19893
19894 * config/nvptx/nvptx.md (call_operation): Remove unused variables.
19895
19896 2015-06-26 Bin Cheng <bin.cheng@arm.com>
19897
19898 PR bootstrap/66638
19899 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Skip if
19900 assertion failed. Remove assertion itself.
19901
19902 2015-06-26 Richard Biener <rguenther@suse.de>
19903
19904 * fold-const.c (fold_binary_loc): Remove -A CMP -B -> A CMP B
19905 and -A CMP CST -> A CMP -CST which is redundant with a pattern
19906 in match.pd.
19907 Move (A | C) == D where C & ~D != 0 -> 0, (X ^ Y) ==/!= 0 -> X ==/!= Y,
19908 (X ^ Y) ==/!= {Y,X} -> {X,Y} ==/!= 0 and
19909 (X ^ C1) op C2 -> X op (C1 ^ C2) to ...
19910 * match.pd: ... patterns here.
19911
19912 2015-06-26 Marek Polacek <polacek@redhat.com>
19913
19914 * match.pd ((x | y) & ~(x & y) -> x ^ y,
19915 (x | y) & (~x ^ y) -> x & y): New patterns.
19916
19917 2015-06-26 Richard Sandiford <richard.sandiford@arm.com>
19918
19919 * rtl.h (emit): Add an optional boolean parameter to control
19920 whether barriers are emitted.
19921 * emit-rtl.c (emit): Likewise.
19922 * gensupport.c (get_emit_function): Return null rather than "emit".
19923 * genemit.c (gen_emit_seq): Handle the null return value.
19924 Don't emit barriers after the final instruction in the sequence.
19925 * gentarget-def.c (main): Don't emit barriers after the instruction.
19926
19927 2015-06-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
19928
19929 * config/arm/arm.c (arm_output_multireg_pop): Fix use of
19930 TARGET_UNIFIED_ASM.
19931
19932 2015-06-26 Richard Biener <rguenther@suse.de>
19933
19934 * match.pd: Allow associating FLOAT_TYPE_P when flag_associative_math.
19935
19936 2015-06-26 Richard Biener <rguenther@suse.de>
19937
19938 * match.pd: Allow (p +p off1) +p off2 to (p +p (off1 + off2))
19939 irrespective on whether the inner operation has a single use
19940 of both off are constant.
19941
19942 2015-06-26 Uros Bizjak <ubizjak@gmail.com>
19943 Segher Boessenkool <segher@kernel.crashing.org>
19944
19945 PR target/66412
19946 * config/i386/i386.md (various splitters): Use shallow_copy_rtx
19947 before doing PUT_MODE or PUT_CODE on operands to avoid
19948 in-place RTX modification.
19949
19950 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
19951
19952 * gentarget-def.c (def_target_insn): Cast return of strtol to
19953 unsigned int.
19954
19955 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19956
19957 * gimple.h (gimple_call_set_fn): Move inline function.
19958 * gimple.c (gimple_call_set_fn): Relocate here.
19959
19960 2015-06-25 Oleg Endo <olegendo@gcc.gnu.org>
19961
19962 PR target/65979
19963 PR target/66611
19964 * config/sh/sh.md (tstsi_t peephole2): Use insn_invalid_p to check if
19965 the replacement insn will work.
19966
19967 2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
19968
19969 * gcc.c (driver_handle_option): Validate -pie if PIE is enabled
19970 by default.
19971
19972 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
19973
19974 * function.h (ipa_opt_pass, ipa_opt_pass_d): Move forward declarations.
19975 * cgraph.h: Include ipa-ref.h and plugin-api.h.
19976 (ipa_opt_pass, ipa_opt_pass_d)): Relocate forward declarations here.
19977 (symtab_node::address_can_be_compared_p): Move function.
19978 * cgraph.c (symtab_node::address_can_be_compared_p): Relocate function
19979 definition here.
19980 * asan.c: Remove ipa-ref.h and plugin-api.h from include list.
19981 * auto-profile.c: Likewise.
19982 * bb-reorder.c: Likewise.
19983 * builtins.c: Likewise.
19984 * calls.c: Likewise.
19985 * cfgexpand.c: Likewise.
19986 * cgraphbuild.c: Likewise.
19987 * cgraphclones.c: Likewise.
19988 * cgraphunit.c: Likewise.
19989 * combine.c: Likewise.
19990 * coverage.c: Likewise.
19991 * data-streamer-in.c: Likewise.
19992 * data-streamer-out.c: Likewise.
19993 * data-streamer.c: Likewise.
19994 * dbxout.c: Likewise.
19995 * dwarf2out.c: Likewise.
19996 * except.c: Likewise.
19997 * expr.c: Likewise.
19998 * final.c: Likewise.
19999 * fold-const.c: Likewise.
20000 * ggc-page.c: Likewise.
20001 * gimple-fold.c: Likewise.
20002 * gimple-iterator.c: Likewise.
20003 * gimple-pretty-print.c: Likewise.
20004 * gimple-streamer-in.c: Likewise.
20005 * gimple-streamer-out.c: Likewise.
20006 * gimple.c: Likewise.
20007 * gimplify.c: Likewise.
20008 * ipa-chkp.c: Likewise.
20009 * ipa-comdats.c: Likewise.
20010 * ipa-cp.c: Likewise.
20011 * ipa-devirt.c: Likewise.
20012 * ipa-icf-gimple.c: Likewise.
20013 * ipa-icf.c: Likewise.
20014 * ipa-inline-analysis.c: Likewise.
20015 * ipa-inline-transform.c: Likewise.
20016 * ipa-inline.c: Likewise.
20017 * ipa-polymorphic-call.c: Likewise.
20018 * ipa-profile.c: Likewise.
20019 * ipa-prop.c: Likewise.
20020 * ipa-pure-const.c: Likewise.
20021 * ipa-ref.c: Likewise.
20022 * ipa-reference.c: Likewise.
20023 * ipa-split.c: Likewise.
20024 * ipa-utils.c: Likewise.
20025 * ipa-visibility.c: Likewise.
20026 * ipa.c: Likewise.
20027 * langhooks.c: Likewise.
20028 * lto-cgraph.c: Likewise.
20029 * lto-compress.c: Likewise.
20030 * lto-opts.c: Likewise.
20031 * lto-section-in.c: Likewise.
20032 * lto-section-out.c: Likewise.
20033 * lto-streamer-in.c: Likewise.
20034 * lto-streamer-out.c: Likewise.
20035 * lto-streamer.c: Likewise.
20036 * omp-low.c: Likewise.
20037 * opts-global.c: Likewise.
20038 * passes.c: Likewise.
20039 * predict.c: Likewise.
20040 * print-tree.c: Likewise.
20041 * profile.c: Likewise.
20042 * ree.c: Likewise.
20043 * sanopt.c: Likewise.
20044 * stor-layout.c: Likewise.
20045 * symtab.c: Likewise.
20046 * toplev.c: Likewise.
20047 * trans-mem.c: Likewise.
20048 * tree-cfg.c: Likewise.
20049 * tree-chkp.c: Likewise.
20050 * tree-eh.c: Likewise.
20051 * tree-emutls.c: Likewise.
20052 * tree-inline.c: Likewise.
20053 * tree-nested.c: Likewise.
20054 * tree-parloops.c: Likewise.
20055 * tree-pretty-print.c: Likewise.
20056 * tree-profile.c: Likewise.
20057 * tree-sra.c: Likewise.
20058 * tree-ssa-alias.c: Likewise.
20059 * tree-ssa-live.c: Likewise.
20060 * tree-ssa-loop-ivcanon.c: Likewise.
20061 * tree-ssa-loop-ivopts.c: Likewise.
20062 * tree-ssa-pre.c: Likewise.
20063 * tree-ssa-sccvn.c: Likewise.
20064 * tree-ssa-strlen.c: Likewise.
20065 * tree-ssa-structalias.c: Likewise.
20066 * tree-streamer-in.c: Likewise.
20067 * tree-streamer-out.c: Likewise.
20068 * tree-streamer.c: Likewise.
20069 * tree-switch-conversion.c: Likewise.
20070 * tree-tailcall.c: Likewise.
20071 * tree-vect-data-refs.c: Likewise.
20072 * tree-vect-stmts.c: Likewise.
20073 * tree-vectorizer.c: Likewise.
20074 * tree.c: Likewise.
20075 * tsan.c: Likewise.
20076 * ubsan.c: Likewise.
20077 * value-prof.c: Likewise.
20078 * varasm.c: Likewise.
20079 * varpool.c: Likewise.
20080 * config/arm/arm.c: Likewise.
20081 * config/bfin/bfin.c: Likewise.
20082 * config/c6x/c6x.c: Likewise.
20083 * config/cris/cris.c: Likewise.
20084 * config/darwin-c.c: Likewise.
20085 * config/darwin.c: Likewise.
20086 * config/i386/i386.c: Likewise.
20087 * config/i386/winnt.c: Likewise.
20088 * config/microblaze/microblaze.c: Likewise.
20089 * config/mips/mips.c: Likewise.
20090 * config/rs6000/rs6000.c: Likewise.
20091 * config/rx/rx.c: Likewise.
20092 * config/s390/s390.c: Likewise.
20093 * config/tilegx/mul-tables.c: Likewise.
20094
20095 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20096
20097 * config/aarch64/aarch64.c, config/alpha/alpha.c,
20098 config/arm/arm.c, config/avr/avr.c, config/bfin/bfin.c,
20099 config/c6x/c6x.c, config/cr16/cr16.c, config/cris/cris.c,
20100 config/fr30/fr30.c, config/frv/frv.c, config/h8300/h8300.c,
20101 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
20102 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
20103 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
20104 config/microblaze/microblaze.c, config/mips/mips.c,
20105 config/mmix/mmix.c, config/mn10300/mn10300.c,
20106 config/moxie/moxie.c, config/msp430/msp430.c,
20107 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
20108 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
20109 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
20110 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
20111 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
20112 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
20113 config/visium/visium.c, config/xtensa/xtensa.c: Add comment above
20114 target-def.h include.
20115 * config/ft32/ft32.c: Likewise. Fix misapplied hunk.
20116
20117 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20118
20119 * Makefile.in (TARGET_DEF): Add target-insns.def.
20120 (.PRECIOUS, simple_rtl_generated_h): Add insn-target-def.h.
20121 (build/gentarget-def.o): New rule.
20122 (genprogrtl): Add target-def.
20123 * target-insns.def, gentarget-def.c: New files.
20124 * target.def: Add targetm.have_* and targetm.gen_* hooks,
20125 based on the contents of target-insns.def.
20126 * defaults.h (HAVE_simple_return, gen_simple_return): Delete.
20127 (HAVE_return, gen_return): Delete.
20128 * target-def.h: Include insn-target-def.h.
20129 * cfgrtl.c (force_nonfallthru_and_redirect): Use targetm interface
20130 instead of direct calls. Rely on them to do the appropriate assertions.
20131 * function.c (gen_return_pattern): Likewise. Return an rtx_insn *.
20132 (convert_jumps_to_returns): Use targetm interface instead of
20133 direct calls.
20134 (thread_prologue_and_epilogue_insns): Likewise.
20135 * reorg.c (find_end_label, dbr_schedule): Likewise.
20136 * shrink-wrap.h (SHRINK_WRAPPING_ENABLED): Likewise.
20137 * shrink-wrap.c (convert_to_simple_return): Likewise.
20138 (try_shrink_wrapping): Use SHRINK_WRAPPING_ENABLED.
20139
20140 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20141
20142 * config/aarch64/aarch64.c, config/alpha/alpha.c, config/arm/arm.c,
20143 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
20144 config/cr16/cr16.c, config/cris/cris.c, config/fr30/fr30.c,
20145 config/frv/frv.c, config/ft32/ft32.c, config/h8300/h8300.c,
20146 config/i386/i386.c, config/ia64/ia64.c, config/iq2000/iq2000.c,
20147 config/lm32/lm32.c, config/m32c/m32c.c, config/m32r/m32r.c,
20148 config/m68k/m68k.c, config/mcore/mcore.c, config/mep/mep.c,
20149 config/microblaze/microblaze.c, config/mips/mips.c, config/mmix/mmix.c,
20150 config/mn10300/mn10300.c, config/moxie/moxie.c, config/msp430/msp430.c,
20151 config/nds32/nds32.c, config/nios2/nios2.c, config/nvptx/nvptx.c,
20152 config/pa/pa.c, config/pdp11/pdp11.c, config/rl78/rl78.c,
20153 config/rs6000/rs6000.c, config/rx/rx.c, config/s390/s390.c,
20154 config/sh/sh.c, config/sparc/sparc.c, config/spu/spu.c,
20155 config/stormy16/stormy16.c, config/tilegx/tilegx.c,
20156 config/tilepro/tilepro.c, config/v850/v850.c, config/vax/vax.c,
20157 config/visium/visium.c, config/xtensa/xtensa.c: Move target-def.h
20158 includes to end.
20159
20160 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20161
20162 * hash-map-traits.h (simple_hashmap_traits::key_type): New typedef.
20163 (unbounded_int_hashmap_traits::key_type): Likewise.
20164 * hash-map.h (hash_map): Get the key type from the traits.
20165 * hash-traits.h (default_hash_traits): By default, inherit from the
20166 template parameter.
20167 * alias.c (alias_set_traits): Delete.
20168 (alias_set_entry_d::children): Use alias_set_hash as the first
20169 template parameter.
20170 (record_alias_subset): Update accordingly.
20171 * except.c (tree_hash_traits): Delete.
20172 (type_to_runtime_map): Use tree_hash as the first template parameter.
20173 (init_eh): Update accordingly.
20174 * genmatch.c (capture_id_map_hasher): Delete.
20175 (cid_map_t): Use nofree_string_hash as first template parameter.
20176 * ipa-icf.h (symbol_compare_hashmap_traits): Delete.
20177 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
20178 Use symbol_compare_hash as the first template parameter in
20179 subdivide_hash_map.
20180 * mem-stats.h (mem_usage_pair::mem_alloc_hashmap_traits): Delete.
20181 (mem_usage_pair::mem_map_t): Use mem_location_hash as the first
20182 template parameter.
20183 * passes.c (pass_registry_hasher): Delete.
20184 (name_to_pass_map): Use nofree_string_hash as the first template
20185 parameter.
20186 (register_pass_name): Update accordingly.
20187 * sanopt.c (sanopt_tree_map_traits): Delete.
20188 (sanopt_tree_triplet_map_traits): Delete.
20189 (sanopt_ctx::asan_check_map): Use tree_operand_hash as the first
20190 template parameter.
20191 (sanopt_ctx::vptr_check_map): Use sanopt_tree_triplet_hash as
20192 the first template parameter.
20193 * sese.c (rename_map_hasher): Delete.
20194 (rename_map_type): Use tree_ssa_name_hash as the first template
20195 parameter.
20196 * symbol-summary.h (function_summary::summary_hashmap_traits): Delete.
20197 (function_summary::m_map): Use map_hash as the first template
20198 parameter.
20199 (function_summary::release): Update accordingly.
20200 * tree-if-conv.c (phi_args_hash_traits): Delete.
20201 (predicate_scalar_phi): Use tree_operand_hash as the first template
20202 parameter to phi_arg_map.
20203 * tree-inline.h (dependence_hasher): Delete.
20204 (copy_body_data::dependence_map): Use dependence_hash as the first
20205 template parameter.
20206 * tree-inline.c (remap_dependence_clique): Update accordingly.
20207 * tree-ssa-strlen.c (stridxlist_hash_traits): Delete.
20208 (decl_to_stridxlist_htab): Use tree_decl_hash as the first template
20209 parameter.
20210 (addr_stridxptr): Update accordingly.
20211 * value-prof.c (profile_id_traits): Delete.
20212 (cgraph_node_map): Use profile_id_hash as the first template
20213 parameter.
20214 (init_node_map): Update accordingly.
20215 * config/alpha/alpha.c (string_traits): Delete.
20216 (machine_function::links): Use nofree_string_hash as the first
20217 template parameter.
20218 (alpha_use_linkage, alpha_write_linkage): Update accordingly.
20219 * config/m32c/m32c.c (pragma_traits): Delete.
20220 (pragma_htab): Use nofree_string_hash as the first template parameter.
20221 (m32c_note_pragma_address): Update accordingly.
20222 * config/mep/mep.c (pragma_traits): Delete.
20223 (pragma_htab): Use nofree_string_hash as the first template parameter.
20224 (mep_note_pragma_flag): Update accordingly.
20225 * config/mips/mips.c (mips16_flip_traits): Delete.
20226 (mflip_mips16_htab): Use nofree_string_hash as the first template
20227 parameter.
20228 (mflip_mips16_use_mips16_p): Update accordingly.
20229 (local_alias_traits): Delete.
20230 (mips16_local_aliases): Use nofree_string_hash as the first template
20231 parameter.
20232 (mips16_local_alias): Update accordingly.
20233
20234 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20235
20236 * hash-map-traits.h (default_hashmap_traits): Delete.
20237
20238 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20239
20240 * hash-map-traits.h (unbounded_hashmap_traits): New class.
20241 (unbounded_int_hashmap_traits): Likewise.
20242 * cfgexpand.c (part_traits): Use unbounded_int_hashmap_traits.
20243
20244 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20245
20246 * ipa-icf.h (symbol_compare_hash): New class.
20247 (symbol_compare_hashmap_traits): Use it.
20248 * mem-stats.h (mem_alloc_description::mem_location_hash): New class.
20249 (mem_alloc_description::mem_alloc_hashmap_traits): Use it.
20250 (mem_alloc_description::reverse_mem_map_t): Remove redundant
20251 default_hashmap_traits.
20252 * sanopt.c (sanopt_tree_triplet_hash): New class.
20253 (sanopt_tree_triplet_map_traits): Use it.
20254
20255 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20256
20257 * gengtype-parse.c (require_template_declaration): Allow '+' in
20258 template parameters. Consolidate cases.
20259 * hash-traits.h (int_hash): New class.
20260 * alias.c (alias_set_hash): New structure.
20261 (alias_set_traits): Use it.
20262 * symbol-summary.h (function_summary::map_hash): New class.
20263 (function_summary::summary_hashmap_traits): Use it.
20264 * tree-inline.h (dependence_hash): New class.
20265 (dependence_hasher): Use it.
20266 * tree-ssa-reassoc.c (oecount_hasher): Use int_hash.
20267 * value-prof.c (profile_id_hash): New class.
20268 (profile_id_traits): Use it.
20269
20270 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20271
20272 * config/mips/mips.c (mips16_flip_traits): Use it.
20273 (local_alias_traits, mips16_local_aliases): Convert from a map of
20274 rtxes to a map of symbol names.
20275 (mips16_local_alias): Update accordingly.
20276
20277 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20278
20279 * hash-traits.h (string_hash, nofree_string_hash): New classes.
20280 * genmatch.c (capture_id_map_hasher): Use nofree_string_hash.
20281 * passes.c (pass_registry_hasher): Likewise.
20282 * config/alpha/alpha.c (string_traits): Likewise.
20283 * config/i386/winnt.c (i386_find_on_wrapper_list): Likewise.
20284 * config/m32c/m32c.c (pragma_traits): Likewise.
20285 * config/mep/mep.c (pragma_traits): Likewise.
20286
20287 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20288
20289 * tree-hash-traits.h (tree_hash): New class.
20290 * except.c: Include tree-hash-traits.h.
20291 (tree_hash_traits): Use tree_hash.
20292
20293 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20294
20295 * tree-hash-traits.h (tree_ssa_name_hasher): New class.
20296 * sese.c: Include tree-hash-traits.h.
20297 (rename_map_hasher): Use tree_ssa_name_hasher.
20298
20299 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20300
20301 * tree-hash-traits.h (tree_decl_hash): New class.
20302 * tree-ssa-strlen.c: Include tree-hash-traits.h.
20303 (stridxlist_hash_traits): Use tree_decl_hash.
20304
20305 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20306
20307 * tree-hash-traits.h: New file.
20308 (tree_operand_hash): New class.
20309 * sanopt.c: Include tree-hash-traits.h.
20310 (sanopt_tree_map_traits): Use tree_operand_hash.
20311 * tree-if-conv.c: Include tree-hash-traits.h.
20312 (phi_args_hash_traits): Use tree_operand_hash.
20313 * tree-ssa-uncprop.c: Include tree-hash-traits.h.
20314 (val_ssa_equiv_hash_traits): Use tree_operand_hash.
20315
20316 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20317
20318 * hash-map-traits.h: Include hash-traits.h.
20319 (simple_hashmap_traits): New class.
20320 * mem-stats.h (hash_map): Change the default traits to
20321 simple_hashmap_traits<default_hash_traits<Key> >.
20322
20323 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20324
20325 * hash-table.h: Update comments.
20326
20327 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20328
20329 * hash-traits.h (default_hash_traits): New structure.
20330 * hash-set.h (default_hashset_traits): Delete.
20331 (hash_set): Use default_hash_traits<Key> instead of
20332 default_hashset_traits. Delete hash_entry type and use Key directly.
20333 * ipa-devirt.c (pair_traits): Delete.
20334 (default_hash_traits <type_pair>): Override.
20335 (odr_subtypes_equivalent_p): Remove pair_types template parameter.
20336 (odr_types_equivalent_p, add_type_duplicate): Likewise.
20337
20338 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20339
20340 * hash-traits.h (typed_noop_remove): Don't require a pointer type.
20341
20342 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20343
20344 * hash-table.h (has_is_deleted, is_deleted_helper): Delete.
20345 (has_is_empty, is_empty_helper): Delete.
20346 (has_mark_deleted, mark_deleted_helper): Delete.
20347 (has_mark_empty, mark_empty_helper): Delete.
20348 (hash_table::is_deleted): Call the Descriptor unconditionally.
20349 (hash_table::is_empty): Likewise.
20350 (hash_table::mark_deleted): Likewise.
20351 (hash_table::mark_empty): Likewise.
20352
20353 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20354
20355 * cgraph.h (asmname_hasher): Inherit from ggc_ptr_hash. Remove
20356 redundant typedefs and members.
20357 * coverage.c (counts_entry): Inherit from pointer_hash. Remove
20358 redundant typedefs.
20359 * dwarf2out.c (cu_hash_table_entry_hasher): Likewise.
20360 * ipa-devirt.c (odr_name_hasher): Likewise.
20361 (polymorphic_call_target_hasher): Likewise.
20362 * ira-costs.c (cost_classes_hasher): Likewise.
20363 * statistics.c (stats_counter_hasher): Likewise.
20364 * trans-mem.c (log_entry_hasher): Likewise.
20365 * tree-ssa-dom.c (expr_elt_hasher): Likewise.
20366 * tree-ssa-sccvn.c (vn_phi_hasher, vn_reference_hasher): Likewise.
20367 * tree-ssa-tail-merge.c (same_succ_def): Likewise.
20368 * var-tracking.c (variable_hasher): Likewise.
20369 * valtrack.h (dead_debug_hash_descr): Inherit from free_ptr_hash.
20370 Remove redundant typedefs and members.
20371
20372 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20373
20374 * hash-traits.h (ggc_cache_hasher): Rename to...
20375 (ggc_cache_remove): ...this and remove typedefs.
20376 (ggc_cache_ptr_hash): New class.
20377 * hash-table.h: Update commentary.
20378 * emit-rtl.c (const_int_hasher): Inherit from ggc_cache_ptr_hash
20379 rather than ggc_cache_hasher.
20380 (const_wide_int_hasher, reg_attr_hasher): Likewise.
20381 (const_double_hasher, const_fixed_hasher): Likewise.
20382 * function.c (insn_cache_hasher): Likewise.
20383 * trans-mem.c (tm_wrapper_hasher): Likewise.
20384 * tree.h (tree_decl_map_cache_hasher): Likewise.
20385 * tree.c (type_cache_hasher, int_cst_hasher): Likewise.
20386 (cl_option_hasher, tree_vec_map_cache_hasher): Likewise.
20387 * ubsan.c (tree_type_map_cache_hasher): Likewise.
20388 * varasm.c (tm_clone_hasher): Likewise.
20389 * config/i386/i386.c (dllimport_hasher): Likewise.
20390 * config/nvptx/nvptx.c (declared_libfunc_hasher): Likewise.
20391 (tree_hasher): Likewise.
20392
20393 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20394
20395 * hash-traits.h (ggc_hasher): Rename to...
20396 (ggc_remover): ...this and remove typedefs.
20397 (ggc_cache_hasher): Update accordingly. Add typedefs.
20398 (ggc_ptr_hash): New class.
20399 * hash-table.h: Update comment.
20400 * cfgloop.h (loop_exit_hasher): Inherit from ggc_ptr_hash rather than
20401 ggc_hasher.
20402 * cgraph.h (section_name_hasher, cgraph_edge_hasher): Likewise.
20403 (tree_descriptor_hasher): Likewise.
20404 * cgraph.c (function_version_hasher): Likewise.
20405 * dwarf2out.c (indirect_string_hasher, dwarf_file_hasher): Likewise.
20406 (decl_die_hasher, block_die_hasher, decl_loc_hasher): Likewise.
20407 (dw_loc_list_hasher, addr_hasher): Likewise.
20408 * function.h (used_type_hasher): Likewise.
20409 * function.c (temp_address_hasher): Likewise.
20410 * gimple-ssa.h (tm_restart_hasher, ssa_name_hasher): Likewise.
20411 * libfuncs.h (libfunc_hasher): Likewise.
20412 * lto-streamer.h (decl_state_hasher): Likewise.
20413 * optabs.c (libfunc_decl_hasher): Likewise.
20414 * tree-scalar-evolution.c (scev_info_hasher): Likewise.
20415 * varasm.c (section_hasher, object_block_hasher): Likewise.
20416 (const_rtx_desc_hasher): Likewise.
20417 * config/darwin.c (indirection_hasher, cfstring_hasher): Likewise.
20418 * config/rs6000/rs6000.c (toc_hasher, builtin_hasher): Likewise.
20419
20420 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20421
20422 * hash-traits.h (free_ptr_hash): New class.
20423 * dwarf2out.c (decl_table_entry_hasher): Inherit from free_ptr_hash
20424 rather than typed_free_remove. Remove redudant typedefs.
20425 (external_ref_hasher): Likewise.
20426 * except.c (action_record_hasher, ttypes_filter_hasher): Likewise.
20427 (ehspec_hasher): Likewise.
20428 * ggc-common.c (saving_hasher): Likewise.
20429 * gimplify.c (gimplify_hasher): Likewise.
20430 * haifa-sched.c (delay_i2_hasher): Likewise.
20431 * loop-invariant.c (invariant_expr_hasher): Likewise.
20432 * loop-iv.c (biv_entry_hasher): Likewise.
20433 * loop-unroll.c (iv_split_hasher, var_expand_hasher): Likewise.
20434 * trans-mem.c (tm_mem_map_hasher, tm_memop_hasher): Likewise.
20435 * tree-cfg.c (locus_discrim_hasher): Likewise.
20436 * tree-eh.c (finally_tree_hasher): Likewise.
20437 * tree-into-ssa.c (var_info_hasher): Likewise.
20438 * tree-parloops.c (reduction_hasher, name_to_copy_hasher): Likewise.
20439 * tree-ssa-loop-ivopts.c (iv_inv_expr_hasher): Likewise.
20440 * tree-ssa-phiopt.c (ssa_names_hasher): Likewise.
20441 * tree-ssa-pre.c (expr_pred_trans_d): Likewise.
20442 * tree-ssa-sccvn.c (vn_constant_hasher): Likewise.
20443 * tree-ssa-structalias.c (equiv_class_hasher): Likewise.
20444 (shared_bitmap_hasher): Likewise.
20445 * tree-ssa-threadupdate.c (redirection_data): Likewise.
20446 * tree-vectorizer.h (peel_info_hasher): Likewise.
20447 * tree-vectorizer.c (simduid_to_vf, simd_array_to_simduid): Likewise.
20448 * config/mips/mips.c (mips_lo_sum_offset_hasher): Likewise.
20449
20450 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20451
20452 * hash-table.h: Update comments.
20453 * hash-traits.h (pointer_hash): Don't inherit from typed_noop_remove.
20454 (nofree_ptr_hash): New class.
20455 * asan.c (asan_mem_ref_hasher): Inherit from nofree_ptr_hash rather
20456 than typed_noop_remove. Remove redudant typedefs.
20457 * attribs.c (attribute_hasher): Likewise.
20458 * cfg.c (bb_copy_hasher): Likewise.
20459 * cselib.c (cselib_hasher): Likewise.
20460 * dse.c (invariant_group_base_hasher): Likewise.
20461 * dwarf2cfi.c (trace_info_hasher): Likewise.
20462 * dwarf2out.c (macinfo_entry_hasher): Likewise.
20463 (comdat_type_hasher, loc_list_hasher): Likewise.
20464 * gcse.c (pre_ldst_expr_hasher): Likewise.
20465 * genmatch.c (id_base): Likewise.
20466 * genrecog.c (test_pattern_hasher): Likewise.
20467 * gimple-ssa-strength-reduction.c (cand_chain_hasher): Likewise.
20468 * haifa-sched.c (delay_i1_hasher): Likewise.
20469 * hard-reg-set.h (simplifiable_subregs_hasher): Likewise.
20470 * ipa-icf.h (congruence_class_group_hash): Likewise.
20471 * ipa-profile.c (histogram_hash): Likewise.
20472 * ira-color.c (allocno_hard_regs_hasher): Likewise.
20473 * lto-streamer.h (string_slot_hasher): Likewise.
20474 * lto-streamer.c (tree_entry_hasher): Likewise.
20475 * plugin.c (event_hasher): Likewise.
20476 * postreload-gcse.c (expr_hasher): Likewise.
20477 * store-motion.c (st_expr_hasher): Likewise.
20478 * tree-sra.c (uid_decl_hasher): Likewise.
20479 * tree-ssa-coalesce.c (coalesce_pair_hasher): Likewise.
20480 (ssa_name_var_hash): Likewise.
20481 * tree-ssa-live.c (tree_int_map_hasher): Likewise.
20482 * tree-ssa-loop-im.c (mem_ref_hasher): Likewise.
20483 * tree-ssa-pre.c (pre_expr_d): Likewise.
20484 * tree-ssa-sccvn.c (vn_nary_op_hasher): Likewise.
20485 * vtable-verify.h (registration_hasher): Likewise.
20486 * vtable-verify.c (vtbl_map_hasher): Likewise.
20487 * config/arm/arm.c (libcall_hasher): Likewise.
20488 * config/i386/winnt.c (wrapped_symbol_hasher): Likewise.
20489 * config/ia64/ia64.c (bundle_state_hasher): Likewise.
20490 * config/sol2.c (comdat_entry_hasher): Likewise.
20491 * fold-const.c (fold): Use nofree_ptr_hash instead of pointer_hash.
20492 (print_fold_checksum, fold_checksum_tree): Likewise.
20493 (debug_fold_checksum, fold_build1_stat_loc): Likewise.
20494 (fold_build2_stat_loc, fold_build3_stat_loc): Likewise.
20495 (fold_build_call_array_loc): Likewise.
20496 * tree-ssa-ccp.c (gimple_htab): Likewise.
20497 * tree-browser.c (tree_upper_hasher): Inherit from nofree_ptr_hash
20498 rather than pointer_type.
20499
20500 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20501
20502 * hash-traits.h (pointer_hash::mark_deleted, pointer_hash::mark_empty)
20503 (pointer_hash::is_deleted, pointer_hash::is_empty): New functions.
20504
20505 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20506
20507 * hash-traits.h (ggc_hasher::remove): Take a reference parameter.
20508 (ggc_hasher::ggc_mx): Likewise.
20509 (ggc_cache_hasher): Inherit from ggc_hasher. Remove definitions
20510 that duplicate ggc_hasher ones.
20511
20512 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20513
20514 * hash-table.h (hash_table): Add gt_cleare_cache as a friend.
20515 (gt_cleare_cache): Check here for deleted and empty entries.
20516 Replace handle_cache_entry with a call to keep_cache_entry.
20517 * hash-traits.h (ggc_cache_hasher::handle_cache_entry): Delete.
20518 (ggc_cache_hasher::keep_cache_entry): New function.
20519 * trans-mem.c (tm_wrapper_hasher::handle_cache_entry): Delete.
20520 (tm_wrapper_hasher::keep_cache_entry): New function.
20521 * tree.h (tree_decl_map_cache_hasher::handle_cache_entry): Delete.
20522 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
20523 * tree.c (type_cache_hasher::handle_cache_entry): Delete.
20524 (type_cache_hasher::keep_cache_entry): New function.
20525 (tree_vec_map_cache_hasher::handle_cache_entry): Delete.
20526 (tree_vec_map_cache_hasher::keep_cache_entry): New function.
20527 * ubsan.c (tree_type_map_cache_hasher::handle_cache_entry): Delete.
20528 (tree_type_map_cache_hasher::keep_cache_entry): New function.
20529 * varasm.c (tm_clone_hasher::handle_cache_entry): Delete.
20530 (tm_clone_hasher::keep_cache_entry): New function.
20531 * config/i386/i386.c (dllimport_hasher::handle_cache_entry): Delete.
20532 (dllimport_hasher::keep_cache_entry): New function.
20533
20534 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20535
20536 * hash-table.h: Include hash-traits.h.
20537 (typed_free_remove, typed_noop_remove, pointer_hash, ggc_hasher)
20538 (ggc_cache_hasher): Move to...
20539 * hash-traits.h: ...this new file.
20540
20541 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
20542
20543 * tree-core.h (struct tree_optimization_option): Make opts a pointer to
20544 struct cl_optimization.
20545 * tree.h (TREE_OPTIMIZATION): Return the pointer, not the address of it.
20546 * tree.c (make_node_stat): Allocate cl_optimization struct.
20547 (copy_node_stat): Allocate and copy cl_optimization struct.
20548
20549 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
20550
20551 * function.h (struct incoming_args): Move struct.
20552 (pass_by_reference, reference_callee_copied): Remove prototypes.
20553 * emit-rtl.h (struct incoming_args): Relocate struct here.
20554 * calls.h (pass_by_reference, reference_callee_copied): Relocate
20555 prototypes here.
20556 * function.c (pass_by_reference, reference_callee_copied): Move.
20557 * calls.c (pass_by_reference, reference_callee_copied): Relocate here.
20558 * cfgloop.h: Don't include tm.h or hard-reg-set.h.
20559 * ipa-chkp.c: Include calls.h.
20560
20561 2015-06-25 Andrew Macleod <amacleod@redhat.com>
20562
20563 * alias.h (alias_set_type): Move typedef.
20564 * coretypes.h (alias_set_type): Relocate typedef here.
20565 * rtl.h: Don't include alias.h.
20566
20567 2015-06-25 Andrew MacLeod <amacleod@redhat.com>
20568
20569 * cgraph.h (cgraph_rtl_info): Move to rtl.h
20570 (cgraph_node): Maintain pointer to struct cgraph_rtl_info instead of
20571 and instance.
20572 * rtl.h (struct cgraph_rtl_info): Define when HARD_REG_SET available.
20573 * cgraph.c (cgraph_node::rtl_info): Allocate cgraph_rtl_info if one
20574 doesn't exist.
20575 * calls.c: Include hard-reg-set.h before rtl.h.
20576 * ira.c: Likewise.
20577
20578 2015-06-25 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
20579 Vladimir Makarov <vmakarov@redhat.com>
20580
20581 * ira-color.c (assign_hard_reg): Remove unecessary bitmap check.
20582 Add assert.
20583
20584 2015-06-25 Richard Biener <rguenther@suse.de>
20585
20586 * fold-const.c (fold_binary_loc): Move simplification of
20587 (X <<>> C1) & C2 ...
20588 * match.pd: ... here.
20589
20590 2015-06-25 Eric Botcazou <ebotcazou@adacore.com>
20591
20592 * lto-streamer-out.c (DFS::hash_scc): Fix typos & formatting glitches.
20593
20594 2015-06-25 Richard Sandiford <richard.sandiford@arm.com>
20595
20596 * match.pd: Add patterns for vec_conds between 1 and 0.
20597
20598 2015-06-25 Richard Biener <rguenther@suse.de>
20599
20600 * tree-vect-stmts.c (vectorizable_conversion): Do not set
20601 STMT_VINFO_VEC_STMT for SLP.
20602 (vectorizable_store): Likewise.
20603 (vectorizable_load): Likewise.
20604 (vect_transform_stmt): Catch SLP vectorization clobbering
20605 STMT_VINFO_VEC_STMT.
20606
20607 2015-06-25 Richard Biener <rguenther@suse.de>
20608
20609 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Improve debug
20610 dumping.
20611 (vect_create_mask_and_perm): Do not set STMT_VINFO_VEC_STMT and
20612 cleanup resulting dead code and parameters.
20613 (vect_transform_slp_perm_load): Adjust.
20614
20615 2015-06-25 Nick Clifton <nickc@redhat.com>
20616
20617 * config/bfin/bfin.c (bfin_expand_prologue): Set
20618 current_function_static_stack_size if flag_stack_usage_info is set.
20619 * config/ft32/ft32.c (ft32_expand_prologue): Likewise.
20620 * config/h8300/h8300.c (h8300_expand_prologue): Likewise.
20621 * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise.
20622 * config/m32c/m32c.c (m32c_emit_prologue): Likewise.
20623
20624 2015-06-25 Tom de Vries <tom@codesourcery.com>
20625
20626 * tree-ssa-loop-manip.c (canonicalize_loop_ivs): Don't claim in header
20627 comment that the generated IV is unsigned.
20628
20629 2015-06-25 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20630
20631 PR target/29693
20632 * config/arm/arm.c (arm_dbx_register_number): Return
20633 DWARF_FRAME_REGISTERS by default.
20634
20635 2015-06-25 Tom de Vries <tom@codesourcery.com>
20636
20637 * dominance.c (calculate_dominance_info): Fix verify_dominators call
20638 argument. Call verify_dominator when reusing dominator info.
20639
20640 2015-06-24 Kaz Kojima <kkojima@gcc.gnu.org>
20641
20642 PR target/66563
20643 * config/sh/sh.md (GOTaddr2picreg): Add a new operand for
20644 an additional element of the unspec vector. Modify indices
20645 of operands.
20646 (builtin_setjmp_receiver): Pass const0_rtx to gen_GOTaddr2picreg.
20647 * config/sh/sh.c (prepare_move_operands): Pass incremented
20648 const_int to gen_GOTaddr2picreg.
20649 (sh_expand_prologue): Pass const0_rtx to gen_GOTaddr2picreg.
20650
20651 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
20652
20653 * config/aarch64/aarch64.md (<optab><fcvt_target><GPF:mode>2):
20654 Condition on TARGET_FLOAT.
20655
20656 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
20657
20658 * doc/invoke.texi: Clarify AArch64 feature modifiers (no)fp, (no)simd
20659 and (no)crypto.
20660
20661 2015-06-24 Alan Lawrence <alan.lawrence@arm.com>
20662
20663 * config/aarch64/aarch64-protos.h (aarch64_err_no_fpadvsimd): New.
20664
20665 * config/aarch64/aarch64.md (mov<mode>/GPF, movtf): Use
20666 aarch64_err_no_fpadvsimd.
20667
20668 * config/aarch64/aarch64.c (aarch64_err_no_fpadvsimd): New.
20669 (aarch64_layout_arg, aarch64_init_cumulative_args): Use
20670 aarch64_err_no_fpadvsimd if !TARGET_FLOAT and we need FP regs.
20671 (aarch64_expand_builtin_va_start, aarch64_setup_incoming_varargs):
20672 Turn error into assert, test TARGET_FLOAT.
20673 (aarch64_gimplify_va_arg_expr): Use aarch64_err_no_fpadvsimd, test
20674 TARGET_FLOAT.
20675
20676 2015-06-24 Aldy Hernandez <aldyh@redhat.com>
20677
20678 PR debug/66482
20679 * dwarf2out.c (gen_formal_parameter_die): Remove assert.
20680
20681 2015-06-24 Ilya Enkovich <enkovich.gnu@gmail.com>
20682
20683 * tree-vect-slp.c (vect_build_slp_tree_1): Init vectype.
20684
20685 2015-06-24 Renlin Li <renlin.li@arm.com>
20686
20687 * config/aarch64/aarch64.h(TARGET_CPU_CPP_BUILTINS): Add
20688 __ARM_ALIGN_MAX_PWR, __ARM_ALIGN_MAX_STACK_PWR.
20689
20690 2015-06-24 Richard Biener <rguenther@suse.de>
20691
20692 * genmatch.c (enum tree_code): Add VIEW_CONVERT[012].
20693 (main): Likewise.
20694 (lower_opt_convert): Support lowering of conditional view_convert.
20695 (parser::parse_operation): Likewise.
20696 (parser::parse_for): Likewise.
20697
20698 2015-06-24 Renlin Li <renlin.li@arm.com>
20699
20700 * varasm.c (emit_local): Use unsigned int for align variable.
20701
20702 2015-06-24 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
20703
20704 PR target/63408
20705 * config/arm/arm.c (vfp3_const_double_for_fract_bits): Disable
20706 for negative numbers.
20707
20708 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20709
20710 PR rtl-optimization/66306
20711 * reload.c (find_reloads): Swap the match_dup info for
20712 commutative operands.
20713
20714 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20715
20716 * config/s390/vx-builtins.md
20717 ("vec_scatter_element<mode>_<non_vec_int>")
20718 ("vec_scatter_element<V_HW_64:mode>_SI"): Replace gf mode
20719 attribute with bhfgq.
20720
20721 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20722
20723 * config/s390/s390-builtins.def: Fix vpopct instruction comments.
20724
20725 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20726
20727 * config/s390/s390-builtin-types.def: Add flag to indicate the
20728 options under which the function type is needed.
20729 * config/s390/s390-builtins.def: Add flag to indicate the options
20730 under which the builtin is enabled.
20731 * config/s390/s390-builtins.h: Add flags parameter to macro
20732 definitions.
20733 (bflags_for_builtin): New function.
20734 (flags_for_builtin): Renamed to ...
20735 (opflags_for_builtin): ... this.
20736 * config/s390/s390-c.c (s390_resolve_overloaded_builtin): Rename
20737 flags_for_builtin to bflags_for_builtin and
20738 flags_overloaded_builtin_var to opflags_overloaded_builtin_var.
20739 * config/s390/s390.c: Add initialization of bflags_builtin and
20740 opflags_builtin arrays.
20741 Remove code for flags_builtin.
20742 (s390_init_builtins): Only create builtin function types if one of
20743 their flags is active.
20744 Only create builtins if all of their flags are active.
20745 (s390_expand_builtin): Rename flags_for_builtin to
20746 opflags_for_builtin.
20747
20748 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20749
20750 * config/s390/vecintrin.h: Remove internal builtins.
20751
20752 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20753
20754 * config/s390/s390.c (s390_secondary_reload): Fix check for
20755 GENERAL_REGS register class.
20756
20757 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20758
20759 * config/s390/s390.c (s390_support_vector_misalignment): Call
20760 default implementation for !TARGET_VX.
20761
20762 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20763
20764 * config/s390/s390.c (s390_legitimate_constant_p): Add
20765 TARGET_VX check.
20766
20767 2015-06-24 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
20768
20769 * config/s390/s390.c (s390_vector_abi): New variable definition.
20770 (s390_check_type_for_vector_abi): New function.
20771 (TARGET_ASM_FILE_END): New macro definition.
20772 (s390_asm_file_end): New function.
20773 (s390_function_arg): Call s390_check_type_for_vector_abi.
20774 (s390_gimplify_va_arg): Likewise.
20775 * configure: Regenerate.
20776 * configure.ac: Check for .gnu_attribute Binutils feature.
20777
20778 2015-06-23 Chen Gang <gang.chen.5i5j@gmail.com>
20779
20780 PR target/65803
20781 * config/bfin/bfin.c (hwloop_optimize): Initialize
20782 JUMP_LABEL for newly created jump.
20783
20784 2015-06-23 Tristan Gingold <gingold@adacore.com>
20785
20786 * collect-utils.c (collect_wait): Unlink the response file here
20787 instead of...
20788 (do_wait): ...here.
20789 (utils_cleanup): ...and here.
20790
20791 2015-06-23 Richard Sandiford <richard.sandiford@arm.com>
20792
20793 * df-scan.c: Don't include target-def.h.
20794 * targhooks.c: Likewise.
20795 * config/arm/arm-c.c: Likewise.
20796 * config/i386/i386-c.c: Likewise.
20797 * config/nds32/nds32-cost.c: Likewise.
20798 * config/nds32/nds32-fp-as-gp.c: Likewise.
20799 * config/nds32/nds32-intrinsic.c: Likewise.
20800 * config/nds32/nds32-isr.c: Likewise.
20801 * config/nds32/nds32-md-auxiliary.c: Likewise.
20802 * config/nds32/nds32-memory-manipulation.c: Likewise.
20803 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
20804 * config/nds32/nds32-predicates.c: Likewise.
20805
20806 2015-06-23 Richard Biener <rguenther@suse.de>
20807
20808 PR tree-optimization/66636
20809 * tree-vect-stmts.c (vectorizable_store): Properly compute the
20810 def type for further defs for strided stores.
20811
20812 2015-06-23 Nathan Sidwell <nathan@codesourcery.com>
20813
20814 * config/nvptx/nvptx.md (sel_true<mode>, sel_false<mode>): New
20815 conditional selects.
20816 (setcc_int<mode>, setcc_float<mode>): Reformat.
20817
20818 2015-06-23 Marek Polacek <polacek@redhat.com>
20819
20820 * match.pd ((x + y) - (x | y) -> x & y,
20821 (x + y) - (x & y) -> x | y): New patterns.
20822
20823 2015-06-23 Ludovic Courtès <ludo@gnu.org>
20824
20825 PR 65711
20826 * config/arm/linux-elf.h (LINUX_TARGET_LINK_SPEC): Move
20827 '-dynamic-linker' within %{!shared: ...}.
20828
20829 2015-06-23 Uros Bizjak <ubizjak@gmail.com>
20830
20831 PR target/66560
20832 * config/i386/predicates.md (addsub_vm_operator): New predicate.
20833 (addsub_vs_operator): Ditto.
20834 (addsub_vs_parallel): Ditto.
20835 * config/i386/sse.md (ssedoublemode): Add V4SF and V2DF modes.
20836 (avx_addsubv4df3, avx_addsubv8sf3, sse3_addsubv2df3, sse3_addsubv4sf3):
20837 Put minus RTX before plus and adjust vec_merge selector.
20838 (*avx_addsubv4df3_1, *avx_addsubv4df3_1s, *sse3_addsubv2df3_1)
20839 (*sse_addsubv2df3_1s, *avx_addsubv8sf3_1, *avx_addsubv8sf3_1s)
20840 (*sse3_addsubv4sf3_1, *sse_addsubv4sf3_1s): Remove insn patterns.
20841 (addsub vec_merge splitters): New combiner splitters.
20842 (addsub vec_select/vec_concat splitters): Ditto.
20843
20844 2015-06-23 Bin Cheng <bin.cheng@arm.com>
20845
20846 PR tree-optimization/66449
20847 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Use
20848 POINTER_PLUS_EXPR for pointers.
20849
20850 2015-06-23 Alan Modra <amodra@gmail.com>
20851
20852 * rtlanal.c (commutative_operand_precedence): Correct comments.
20853 * simplify-rtx.c (simplify_plus_minus_op_data_cmp): Delete forward
20854 declaration. Return an int. Distinguish REG,REG return from
20855 others.
20856 (struct simplify_plus_minus_op_data): Make local to function.
20857 (simplify_plus_minus): Don't set canonicalized if merely sorting
20858 registers. Avoid packing ops if nothing changes. White space fixes.
20859
20860 2015-06-22 Pierre-Marie de Rodat <derodat@adacore.com>
20861
20862 * gcc.c (default_compilers): Pass "-o %g.s" to cc1 for headers even if
20863 -fdump-ada-spec is passed but not if -fsyntax-only is.
20864
20865 2015-06-22 Vladimir Makarov <vmakarov@redhat.com>
20866
20867 PR bootstrap/63740
20868 * lra-lives.c (process_bb_lives): Check insn copying the same
20869 reload pseudo and don't create a copy for it.
20870
20871 2015-06-22 Tom de Vries <tom@codesourcery.com>
20872
20873 * tree-parloops.c (transform_to_exit_first_loop_alt): Add update_stmt
20874 for cond_stmt.
20875
20876 2015-06-22 Tom de Vries <tom@codesourcery.com>
20877
20878 * builtins.def (DEF_GOMP_BUILTIN): Test
20879 'flag_tree_parallelize_loops > 1' instead of
20880 'flag_tree_parallelize_loops'. Test flag_cilkplus.
20881
20882 2015-06-22 Tom de Vries <tom@codesourcery.com>
20883
20884 * dominance.c (calculate_dominance_info): Verify dominators if
20885 early-out.
20886
20887 2015-06-22 Marek Polacek <polacek@redhat.com>
20888
20889 * match.pd ((x ^ y) ^ (x | y) -> x & y,
20890 (x & y) + (x ^ y) -> x | y, (x & y) | (x ^ y) -> x | y,
20891 (x & y) ^ (x ^ y) -> x | y, (x & y) + (x | y) -> x + y,
20892 (x | y) - (x ^ y) -> x & y, (x | y) - (x & y) -> x ^ y): New patterns.
20893
20894 2015-06-22 Uros Bizjak <ubizjak@gmail.com>
20895
20896 PR target/65871
20897 * config/i386/i386.c (ix86_rtx_costs) <case COMPARE>: Ignore the
20898 cost of embedded comparison.
20899
20900 2015-06-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
20901
20902 PR target/65914
20903 * config/rs6000/predicates.md (altivec_register_operand): Permit
20904 virtual stack registers.
20905 (vsx_register_operand): Likewise.
20906 (vfloat_operand): Likewise.
20907 (vint_operand): Likewise.
20908 (vlogical_operand): Likewise.
20909
20910 2015-06-22 Richard Biener <rguenther@suse.de>
20911
20912 * tree-vectorizer.h (_loop_vec_info): Add scalar_cost_vec
20913 and single_scalar_iteration_cost members.
20914 (LOOP_VINFO_SCALAR_ITERATION_COST): New.
20915 (LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST): Likewise.
20916 (vect_get_single_scalar_iteration_cost): Remove.
20917 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
20918 Use LOOP_VINFO_SCALAR_ITERATION_COST.
20919 * tree-vect-loop.c (destroy_loop_vec_info): Free
20920 scalar_cost_vec.
20921 (vect_get_single_scalar_iteration_cost): Compute result into
20922 LOOP_VINFO_SINGLE_SCALAR_ITERATION_COST and
20923 LOOP_VINFO_SCALAR_ITERATION_COST. Make static.
20924 (vect_analyze_loop_2): Call vect_get_single_scalar_iteration_cost.
20925 (vect_estimate_min_profitable_iters): Use them.
20926
20927 2015-06-22 Christian Bruel <christian.bruel@st.com>
20928
20929 PR target/52144
20930 * config/arm/arm.c (add_attribute, arm_insert_attributes): New functions
20931 (TARGET_INSERT_ATTRIBUTES): Define.
20932 (thumb_flipper): New var.
20933 * config/arm/arm.opt (-mflip-thumb): New switch.
20934
20935 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
20936 Martin Liska <mliska@suse.cz>
20937
20938 PR ipa/65908
20939 * ipa-icf.c (sem_item::target_supports_symbol_aliases): Remove
20940 construction of arg_types.
20941 (sem_function::sem_function): Likewise.
20942 (sem_function::~sem_function): Remove destruction of arg_types.
20943 (sem_function::compatible_parm_types_p): New function.
20944 (sem_function::equals_wpa): Reorg matching of return values
20945 and parameter types.
20946 (sem_function::equals_private): Reorg mathcing of argument types.
20947 (sem_function::parse_tree_args): Remove.
20948 * ipa-icf.h (init_wpa): Do not call it.
20949 (parse_tree_args): Remove.
20950 (compatible_parm_types_p): Declare.
20951 (result_type): Remove.
20952 (arg_types): Remove.
20953
20954 2015-06-22 Jan Hubicka <hubicka@ucw.cz>
20955
20956 PR ipa/66351
20957 * ipa-polymorphic-call.c
20958 (ipa_polymorphic_call_context::get_dynamic_type): Fix thinko when
20959 initializing alias oracle; fix formating; set base_alias_set if it
20960 is known.
20961
20962 2015-06-22 Mikhail Maltsev <maltsevm@gmail.com>
20963
20964 * auto-inc-dec.c (reverse_mem, reverse_inc): Remove.
20965 (parse_add_or_inc): Use std::swap instead of reverse_{mem,inc}.
20966 (find_inc): Likewise.
20967 * combine.c (combine_simplify_rtx): Use std::swap instead of manually
20968 swapping.
20969 * df-core.c (df_worklist_dataflow_doublequeue): Likewise.
20970 * df-scan.c (df_swap_refs): Remove.
20971 (df_sort_and_compress_refs): Use std::swap instead of df_swap_refs.
20972 * dominance.c (link_roots): Use std::swap instead of manually swapping.
20973 * expr.c (expand_expr_real_2, do_store_flag): Likewise.
20974 * fold-const.c (fold_relational_const): Likewise.
20975 * genattrtab.c (simplify_test_exp): Likewise.
20976 * gimple-match-head.c (gimple_resimplify2, gimple_resimplify3,
20977 gimple_simplify): Likewise.
20978 * ifcvt.c (noce_try_abs, find_if_header): Likewise.
20979 * internal-fn.c (expand_addsub_overflow, expand_mul_overflow): Likewise.
20980 * ipa-devirt.c (add_type_duplicate): Likewise.
20981 * loop-iv.c (get_biv_step_1, iv_number_of_iterations): Likewise.
20982 * lra-lives.c (lra_setup_reload_pseudo_preferenced_hard_reg): Likewise.
20983 * lra.c (lra_create_copy): Likewise.
20984 * lto-streamer-out.c (DFS::DFS): Likewise.
20985 * modulo-sched.c (get_sched_window): Likewise.
20986 * omega.c (omega_pretty_print_problem): Likewise.
20987 * optabs.c (prepare_float_lib_cmp, expand_mult_highpart): Likewise.
20988 * reload1.c (reloads_unique_chain_p): Likewise.
20989 * sel-sched-ir.c (exchange_lv_sets, exchange_av_sets): Remove.
20990 (exchange_data_sets): Move logic from exchange_{av,lv}_sets here and
20991 use std::swap.
20992 * simplify-rtx.c (simplify_unary_operation_1): Use std::swap instead of
20993 manually swapping.
20994 * tree-if-conv.c (is_cond_scalar_reduction, predicate_scalar_phi,
20995 predicate_mem_writes): Likewise.
20996 * tree-loop-distribution.c (pg_add_dependence_edges): Likewise.
20997 * tree-predcom.c (combine_chains): Likewise.
20998 * tree-ssa-alias.c (nonoverlapping_component_refs_p,
20999 refs_may_alias_p_1): Likewise.
21000 * tree-ssa-ifcombine.c (recognize_if_then_else): Likewise.
21001 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
21002 * tree-ssa-loop-niter.c (refine_bounds_using_guard,
21003 number_of_iterations_cond): Likewise.
21004 * tree-ssa-phiopt.c (tree_ssa_phiopt_worker): Likewise.
21005 * tree-ssa-sccvn.c (vn_nary_op_compute_hash): Likewise.
21006 * tree-vect-slp.c (vect_build_slp_tree): Likewise.
21007 * tree-vect-stmts.c (supportable_widening_operation): Likewise.
21008 * tree-vrp.c (extract_range_from_binary_expr_1,
21009 extract_range_from_unary_expr_1): Likewise.
21010
21011 2015-06-20 Marek Polacek <polacek@redhat.com>
21012
21013 * common.opt (fsanitize-undefined-trap-on-error): Add Driver.
21014
21015 2015-06-19 Kaz Kojima <kkojima@gcc.gnu.org>
21016
21017 PR target/66591
21018 * config/sh/sh.c (prepare_move_operands): Replace subreg
21019 index term with R0 for base and index addressing.
21020
21021 2015-06-19 Jim Wilson <jim.wilson@linaro.org>
21022
21023 * config/aarch64/aarch64.md (mov<mode>:GPF): Don't call force_reg if
21024 op1 is an fp zero.
21025 (movsf_aarch64): Change condition from register_operand to
21026 aarch64_reg_or_fp_zero for op1. Change type for alternative 6 to
21027 load1. Change type for alternative 7 to store1.
21028 (movdf_aarch64): Likewise.
21029
21030 2015-06-19 James Greenhalgh <james.greenhalgh@arm.com>
21031
21032 * config/vax/vax.md: Adjust sign/zero extend patterns to
21033 handle SUBREGs in operands[1].
21034
21035 2015-06-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21036
21037 * config/i386/i386.c (ix86_function_versions): Use std::swap instead
21038 of manually swapping.
21039 (expand_vec_perm_interleave2): Likewise.
21040
21041 2015-06-19 Ilya Enkovich <enkovich.gnu@gmail.com>
21042
21043 * tree-chkp.c (chkp_compute_bounds_for_assignment): Don't
21044 reuse bounds created for abnormal ssa names.
21045
21046 2015-06-19 Jakub Jelinek <jakub@redhat.com>
21047
21048 * config/nvptx/nvptx.md (allocate_stack): Rename to...
21049 (allocate_stack_<mode>): ... this, and add :P on both
21050 match_operand and unspec.
21051 (allocate_stack): New expander.
21052
21053 2015-06-19 Christian Bruel <christian.bruel@st.com>
21054
21055 PR target/66541
21056 PR target/52144
21057 * config/arm/arm.c (arm_set_current_function): Handle
21058 explicit default options.
21059
21060 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
21061
21062 * config/i386/i386.md (*movsicc_noc_zext): New insn.
21063 (zero-extended cmove with mem peephole2): New pattern.
21064 (cmove with mem peephole2): Merge patterns.
21065
21066 2015-06-18 Segher Boessenkool <segher@kernel.crashing.org>
21067
21068 * config/rs6000/rs6000.h (WORD_REGISTER_OPERATIONS): Delete.
21069
21070 2015-06-18 Steve Ellcey <sellcey@imgtec.com>
21071
21072 * config/mips/mips.c (mips_rtx_costs): Remove HONOR_NAN check.
21073 * config/mips/mips.md (*madd4<mode>): Ditto.
21074 (*nmadd3<mode>) Ditto.
21075 (*nmadd4<mode>_fastmath): Ditto.
21076 (*nmadd3<mode>_fastmath): Ditto.
21077 (*nmsub4<mode>): Ditto.
21078 (*nmsub3<mode>): Ditto.
21079 (*nmsub4<mode>_fastmath): Ditto.
21080 (*nmsub3<mode>_fastmath): Ditto.
21081
21082 2015-06-18 Michael Matz <matz@suse.de>
21083
21084 PR middle-end/66253
21085 * tree-vect-stmts.c (vectorizable_store): Implement non-SLP
21086 grouped strided stores.
21087 (vectorizable_load): Don't use the DR from first_stmt in
21088 the non-SLP grouped strided case.
21089
21090 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
21091
21092 PR target/66569
21093 * function.c (assign_bounds): Add arguments assign_regs,
21094 assign_special, assign_bt.
21095 (assign_parms): For vararg functions handle bounds in BT
21096 and special slots after incoming vararg bounds.
21097
21098 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
21099
21100 PR middle-end/66568
21101 * cfgexpand.c (expand_return): Handle missing bounds.
21102 (expand_gimple_stmt_1): Likewise.
21103 * tree-chkp.c (chkp_expand_zero_bounds): New.
21104 * tree-chkp.h (chkp_expand_zero_bounds): New.
21105
21106 2015-06-18 Ilya Enkovich <enkovich.gnu@gmail.com>
21107
21108 PR middle-end/66567
21109 * ipa-chkp.c (chkp_maybe_create_clone): Require
21110 functions to be instrumentable.
21111 * tree-chkp.c (chkp_replace_function_pointer): Use
21112 chkp_instrumentable_p instead of attribute check.
21113
21114 2015-06-18 Richard Biener <rguenther@suse.de>
21115
21116 PR tree-optimization/66510
21117 * tree-vect-stmts.c (vectorizable_load): Properly compute the
21118 number of vector loads for SLP permuted loads.
21119 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Also
21120 check the stride for loop vectorization.
21121 (vect_enhance_data_refs_alignment): Deal with SLP adjusted
21122 vectorization factor.
21123 (vect_analyze_group_access): If the group size is not a power
21124 of two require a epilogue loop.
21125 * tree-vect-loop.c (vect_analyze_loop_2): Move alignment
21126 compute and optimizing and alias test pruning after final
21127 vectorization factor computation.
21128 * tree-vect-slp.c (vect_build_slp_tree_1): Remove check on
21129 vector alignment.
21130 (vect_transform_slp_perm_load): Properly compute the original
21131 number of vector load stmts.
21132
21133 2015-06-18 Uros Bizjak <ubizjak@gmail.com>
21134
21135 * doc/invoke.texi (-fsanitize-sections): Split @var to avoid
21136 "unlikely character , in @var" warning.
21137
21138 2015-06-17 Uros Bizjak <ubizjak@gmail.com>
21139
21140 * config/i386/i386.c (ix86_function_arg): Nest TARGET_64BIT code.
21141 (ix86_function_arg_advance): Ditto.
21142 (ix86_pass_by_reference): Ditto. Rewrite MS_ABI part.
21143
21144 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
21145
21146 * function.h (struct rtl_data): Remove struct and accessor macros.
21147 * emit-rtl.h (struct rtl_data): Relocate to here.
21148 * Makefile.in (GTFILES): Add emit-rtl.h.
21149 * df-core.c: Include emit-rtl.h.
21150 * genattrtab.c: Likewise.
21151 * genconditions.c: Likewise.
21152 * genpreds.c: Likewise.
21153 * genrecog.c: Likewise.
21154 * regcprop.c: Likewise.
21155 * resource.c: Likewise.
21156 * sched-rgn.c: Likewise.
21157 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
21158 * config/i386/winnt.c: Likewise.
21159
21160 2015-06-17 Jakub Jelinek <jakub@redhat.com>
21161
21162 PR middle-end/66429
21163 * omp-low.c (expand_omp_taskreg, expand_omp_target): Use child_cfun
21164 instead of DECL_STRUCT_FUNCTION (child_fn). Or in has_simduid_loops
21165 and has_force_vectorize_loops flags from cfun into
21166 child_cfun.
21167 (expand_omp_simd): For broken loop, set cfun->has_simduid_loops
21168 if simduid is non-NULL.
21169 * tree-pass.h (make_pass_simduid_cleanup): New prototype.
21170 * passes.def (pass_simduid_cleanup): Add new pass after loop
21171 passes.
21172 * tree-vectorizer.c (adjust_simduid_builtins): Remove one unnecessary
21173 indirection from htab argument's type.
21174 (shrink_simd_arrays): New function.
21175 (vectorize_loops): Use it. Adjust adjust_simduid_builtins caller.
21176 Don't call adjust_simduid_builtins if there are no loops.
21177 (pass_data_simduid_cleanup, pass_simduid_cleanup): New variables.
21178 (pass_simduid_cleanup::execute): New method.
21179 (make_pass_simduid_cleanup): New function.
21180
21181 2017-06-17 Andrew MacLeod <amacleod@redhat.com>
21182
21183 * tree-core.h (tree_target_option): Make opts field a pointer to a
21184 cl_target_option instead of an instance of the struct.
21185 * tree.h (TREE_TARGET_OPTION): Return the pointer, not an address of
21186 the structure.
21187 * tree.c (make_node_stat ): Allocate a cl_target_option struct for
21188 TARGET_OPTION_NODE.
21189 (copy_node_stat): Allocate and copy struct cl_target_option.
21190
21191 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
21192
21193 * tree.h (merge_dllimport_decl_attributes, handle_dll_attribute):
21194 Remove conditional exposure of prototypes.
21195 (ANON_AGGRNAME_FORMAT, ANON_AGGRNAME_P): Delete.
21196 * tree.c (anon_aggrname_format, anon_aggrname_p): New. Replace macro
21197 definitions in tree.h with functions.
21198 * lto-streamer-out.c (DFS_write_tree_body, hash_tree): Use
21199 anon_aggrname_p.
21200 * tree-streamer-out.c (write_ts_decl_minimal_tree_pointers): Likewise.
21201
21202 2015-06-17 Segher Boessenkool <segher@kernel.crashing.org>
21203
21204 * config/rs6000/rs6000.md (*cmp<mode>_internal1): Rename to...
21205 (*cmp<mode>_signed): ... this.
21206 (*cmpsi_internal2, *cmpdi_internal2): Merge, rename to...
21207 (*cmp<mode>_unsigned): ... this. Remove %b.
21208
21209 2015-06-17 Andrew MacLeod <amacleod@redhat.com>
21210
21211 * coretypes.h: Include input.h and as-a.h.
21212 * rtl.h: Include input.h and as-a.h for generator files.
21213 * hwint.c: Include coretypes.h, don't include diagnostic-core.h.
21214 * vec.c: Don't include diagnostic-core.h.
21215 * alias.c: Do not include input.h, line-map.h or is-a.h.
21216 * asan.c: Likewise.
21217 * attribs.c: Likewise.
21218 * auto-inc-dec.c: Likewise.
21219 * auto-profile.c: Likewise.
21220 * bb-reorder.c: Likewise.
21221 * bt-load.c: Likewise.
21222 * builtins.c: Likewise.
21223 * caller-save.c: Likewise.
21224 * calls.c: Likewise.
21225 * ccmp.c: Likewise.
21226 * cfg.c: Likewise.
21227 * cfganal.c: Likewise.
21228 * cfgbuild.c: Likewise.
21229 * cfgcleanup.c: Likewise.
21230 * cfgexpand.c: Likewise.
21231 * cfghooks.c: Likewise.
21232 * cfgloop.c: Likewise.
21233 * cfgloop.h: Likewise.
21234 * cfgloopanal.c: Likewise.
21235 * cfgloopmanip.c: Likewise.
21236 * cfgrtl.c: Likewise.
21237 * cgraph.c: Likewise.
21238 * cgraphbuild.c: Likewise.
21239 * cgraphclones.c: Likewise.
21240 * cgraphunit.c: Likewise.
21241 * cilk-common.c: Likewise.
21242 * combine-stack-adj.c: Likewise.
21243 * combine.c: Likewise.
21244 * compare-elim.c: Likewise.
21245 * convert.c: Likewise.
21246 * coverage.c: Likewise.
21247 * cppbuiltin.c: Likewise.
21248 * cprop.c: Likewise.
21249 * cse.c: Likewise.
21250 * cselib.c: Likewise.
21251 * data-streamer-in.c: Likewise.
21252 * data-streamer-out.c: Likewise.
21253 * data-streamer.c: Likewise.
21254 * dbxout.c: Likewise.
21255 * dce.c: Likewise.
21256 * ddg.c: Likewise.
21257 * debug.c: Likewise.
21258 * df-core.c: Likewise.
21259 * df-problems.c: Likewise.
21260 * df-scan.c: Likewise.
21261 * df.h: Likewise.
21262 * dfp.c: Likewise.
21263 * diagnostic-core.h: Likewise.
21264 * diagnostic.c: Likewise.
21265 * dojump.c: Likewise.
21266 * dominance.c: Likewise.
21267 * domwalk.c: Likewise.
21268 * double-int.c: Likewise.
21269 * dse.c: Likewise.
21270 * dumpfile.c: Likewise.
21271 * dumpfile.h: Likewise.
21272 * dwarf2asm.c: Likewise.
21273 * dwarf2cfi.c: Likewise.
21274 * dwarf2out.c: Likewise.
21275 * emit-rtl.c: Likewise.
21276 * et-forest.c: Likewise.
21277 * except.c: Likewise.
21278 * explow.c: Likewise.
21279 * expmed.c: Likewise.
21280 * expr.c: Likewise.
21281 * final.c: Likewise.
21282 * fixed-value.c: Likewise.
21283 * fold-const.c: Likewise.
21284 * function.c: Likewise.
21285 * fwprop.c: Likewise.
21286 * gcc-plugin.h: Likewise.
21287 * gcse.c: Likewise.
21288 * generic-match-head.c: Likewise.
21289 * ggc-page.c: Likewise.
21290 * gimple-builder.c: Likewise.
21291 * gimple-expr.c: Likewise.
21292 * gimple-fold.c: Likewise.
21293 * gimple-iterator.c: Likewise.
21294 * gimple-low.c: Likewise.
21295 * gimple-match-head.c: Likewise.
21296 * gimple-pretty-print.c: Likewise.
21297 * gimple-ssa-isolate-paths.c: Likewise.
21298 * gimple-ssa-strength-reduction.c: Likewise.
21299 * gimple-streamer-in.c: Likewise.
21300 * gimple-streamer-out.c: Likewise.
21301 * gimple-streamer.h: Likewise.
21302 * gimple-walk.c: Likewise.
21303 * gimple.c: Likewise.
21304 * gimplify-me.c: Likewise.
21305 * gimplify.c: Likewise.
21306 * godump.c: Likewise.
21307 * graph.c: Likewise.
21308 * graphite-blocking.c: Likewise.
21309 * graphite-dependences.c: Likewise.
21310 * graphite-interchange.c: Likewise.
21311 * graphite-isl-ast-to-gimple.c: Likewise.
21312 * graphite-optimize-isl.c: Likewise.
21313 * graphite-poly.c: Likewise.
21314 * graphite-scop-detection.c: Likewise.
21315 * graphite-sese-to-poly.c: Likewise.
21316 * graphite.c: Likewise.
21317 * haifa-sched.c: Likewise.
21318 * hw-doloop.c: Likewise.
21319 * ifcvt.c: Likewise.
21320 * init-regs.c: Likewise.
21321 * input.c: Likewise.
21322 * internal-fn.c: Likewise.
21323 * ipa-chkp.c: Likewise.
21324 * ipa-comdats.c: Likewise.
21325 * ipa-cp.c: Likewise.
21326 * ipa-devirt.c: Likewise.
21327 * ipa-icf-gimple.c: Likewise.
21328 * ipa-icf.c: Likewise.
21329 * ipa-inline-analysis.c: Likewise.
21330 * ipa-inline-transform.c: Likewise.
21331 * ipa-inline.c: Likewise.
21332 * ipa-polymorphic-call.c: Likewise.
21333 * ipa-profile.c: Likewise.
21334 * ipa-prop.c: Likewise.
21335 * ipa-pure-const.c: Likewise.
21336 * ipa-ref.c: Likewise.
21337 * ipa-reference.c: Likewise.
21338 * ipa-split.c: Likewise.
21339 * ipa-utils.c: Likewise.
21340 * ipa-visibility.c: Likewise.
21341 * ipa.c: Likewise.
21342 * ira-build.c: Likewise.
21343 * ira-color.c: Likewise.
21344 * ira-conflicts.c: Likewise.
21345 * ira-costs.c: Likewise.
21346 * ira-emit.c: Likewise.
21347 * ira-lives.c: Likewise.
21348 * ira.c: Likewise.
21349 * jump.c: Likewise.
21350 * langhooks.c: Likewise.
21351 * lcm.c: Likewise.
21352 * loop-doloop.c: Likewise.
21353 * loop-init.c: Likewise.
21354 * loop-invariant.c: Likewise.
21355 * loop-iv.c: Likewise.
21356 * loop-unroll.c: Likewise.
21357 * lower-subreg.c: Likewise.
21358 * lra-assigns.c: Likewise.
21359 * lra-coalesce.c: Likewise.
21360 * lra-constraints.c: Likewise.
21361 * lra-eliminations.c: Likewise.
21362 * lra-lives.c: Likewise.
21363 * lra-remat.c: Likewise.
21364 * lra-spills.c: Likewise.
21365 * lra.c: Likewise.
21366 * lto-cgraph.c: Likewise.
21367 * lto-compress.c: Likewise.
21368 * lto-opts.c: Likewise.
21369 * lto-section-in.c: Likewise.
21370 * lto-section-out.c: Likewise.
21371 * lto-streamer-in.c: Likewise.
21372 * lto-streamer-out.c: Likewise.
21373 * lto-streamer.c: Likewise.
21374 * mcf.c: Likewise.
21375 * mode-switching.c: Likewise.
21376 * modulo-sched.c: Likewise.
21377 * omega.c: Likewise.
21378 * omp-low.c: Likewise.
21379 * optabs.c: Likewise.
21380 * opts-global.c: Likewise.
21381 * opts.h: Likewise.
21382 * passes.c: Likewise.
21383 * plugin.c: Likewise.
21384 * postreload-gcse.c: Likewise.
21385 * postreload.c: Likewise.
21386 * predict.c: Likewise.
21387 * pretty-print.h: Likewise.
21388 * print-rtl.c: Likewise.
21389 * print-tree.c: Likewise.
21390 * profile.c: Likewise.
21391 * real.c: Likewise.
21392 * realmpfr.c: Likewise.
21393 * recog.c: Likewise.
21394 * ree.c: Likewise.
21395 * reg-stack.c: Likewise.
21396 * regcprop.c: Likewise.
21397 * reginfo.c: Likewise.
21398 * regrename.c: Likewise.
21399 * regstat.c: Likewise.
21400 * reload.c: Likewise.
21401 * reload1.c: Likewise.
21402 * reorg.c: Likewise.
21403 * resource.c: Likewise.
21404 * rtl-chkp.c: Likewise.
21405 * rtl-error.c: Likewise.
21406 * rtlanal.c: Likewise.
21407 * rtlhooks.c: Likewise.
21408 * sanopt.c: Likewise.
21409 * sched-deps.c: Likewise.
21410 * sched-ebb.c: Likewise.
21411 * sched-rgn.c: Likewise.
21412 * sched-vis.c: Likewise.
21413 * sdbout.c: Likewise.
21414 * sel-sched-dump.c: Likewise.
21415 * sel-sched-ir.c: Likewise.
21416 * sel-sched.c: Likewise.
21417 * sese.c: Likewise.
21418 * shrink-wrap.c: Likewise.
21419 * simplify-rtx.c: Likewise.
21420 * stack-ptr-mod.c: Likewise.
21421 * statistics.c: Likewise.
21422 * stmt.c: Likewise.
21423 * stor-layout.c: Likewise.
21424 * store-motion.c: Likewise.
21425 * streamer-hooks.c: Likewise.
21426 * stringpool.c: Likewise.
21427 * symtab.c: Likewise.
21428 * target-globals.c: Likewise.
21429 * targhooks.c: Likewise.
21430 * toplev.c: Likewise.
21431 * tracer.c: Likewise.
21432 * trans-mem.c: Likewise.
21433 * tree-affine.c: Likewise.
21434 * tree-browser.c: Likewise.
21435 * tree-call-cdce.c: Likewise.
21436 * tree-cfg.c: Likewise.
21437 * tree-cfgcleanup.c: Likewise.
21438 * tree-chkp-opt.c: Likewise.
21439 * tree-chkp.c: Likewise.
21440 * tree-chrec.c: Likewise.
21441 * tree-complex.c: Likewise.
21442 * tree-data-ref.c: Likewise.
21443 * tree-dfa.c: Likewise.
21444 * tree-diagnostic.c: Likewise.
21445 * tree-dump.c: Likewise.
21446 * tree-eh.c: Likewise.
21447 * tree-emutls.c: Likewise.
21448 * tree-if-conv.c: Likewise.
21449 * tree-inline.c: Likewise.
21450 * tree-into-ssa.c: Likewise.
21451 * tree-iterator.c: Likewise.
21452 * tree-loop-distribution.c: Likewise.
21453 * tree-nested.c: Likewise.
21454 * tree-nrv.c: Likewise.
21455 * tree-object-size.c: Likewise.
21456 * tree-outof-ssa.c: Likewise.
21457 * tree-parloops.c: Likewise.
21458 * tree-phinodes.c: Likewise.
21459 * tree-predcom.c: Likewise.
21460 * tree-pretty-print.c: Likewise.
21461 * tree-profile.c: Likewise.
21462 * tree-scalar-evolution.c: Likewise.
21463 * tree-sra.c: Likewise.
21464 * tree-ssa-address.c: Likewise.
21465 * tree-ssa-alias.c: Likewise.
21466 * tree-ssa-ccp.c: Likewise.
21467 * tree-ssa-coalesce.c: Likewise.
21468 * tree-ssa-copy.c: Likewise.
21469 * tree-ssa-copyrename.c: Likewise.
21470 * tree-ssa-dce.c: Likewise.
21471 * tree-ssa-dom.c: Likewise.
21472 * tree-ssa-dse.c: Likewise.
21473 * tree-ssa-forwprop.c: Likewise.
21474 * tree-ssa-ifcombine.c: Likewise.
21475 * tree-ssa-live.c: Likewise.
21476 * tree-ssa-loop-ch.c: Likewise.
21477 * tree-ssa-loop-im.c: Likewise.
21478 * tree-ssa-loop-ivcanon.c: Likewise.
21479 * tree-ssa-loop-ivopts.c: Likewise.
21480 * tree-ssa-loop-manip.c: Likewise.
21481 * tree-ssa-loop-niter.c: Likewise.
21482 * tree-ssa-loop-prefetch.c: Likewise.
21483 * tree-ssa-loop-unswitch.c: Likewise.
21484 * tree-ssa-loop.c: Likewise.
21485 * tree-ssa-math-opts.c: Likewise.
21486 * tree-ssa-operands.c: Likewise.
21487 * tree-ssa-phiopt.c: Likewise.
21488 * tree-ssa-phiprop.c: Likewise.
21489 * tree-ssa-pre.c: Likewise.
21490 * tree-ssa-propagate.c: Likewise.
21491 * tree-ssa-reassoc.c: Likewise.
21492 * tree-ssa-sccvn.c: Likewise.
21493 * tree-ssa-scopedtables.c: Likewise.
21494 * tree-ssa-sink.c: Likewise.
21495 * tree-ssa-strlen.c: Likewise.
21496 * tree-ssa-structalias.c: Likewise.
21497 * tree-ssa-tail-merge.c: Likewise.
21498 * tree-ssa-ter.c: Likewise.
21499 * tree-ssa-threadedge.c: Likewise.
21500 * tree-ssa-threadupdate.c: Likewise.
21501 * tree-ssa-uncprop.c: Likewise.
21502 * tree-ssa-uninit.c: Likewise.
21503 * tree-ssa.c: Likewise.
21504 * tree-ssanames.c: Likewise.
21505 * tree-stdarg.c: Likewise.
21506 * tree-streamer-in.c: Likewise.
21507 * tree-streamer-out.c: Likewise.
21508 * tree-streamer.c: Likewise.
21509 * tree-switch-conversion.c: Likewise.
21510 * tree-tailcall.c: Likewise.
21511 * tree-vect-data-refs.c: Likewise.
21512 * tree-vect-generic.c: Likewise.
21513 * tree-vect-loop-manip.c: Likewise.
21514 * tree-vect-loop.c: Likewise.
21515 * tree-vect-patterns.c: Likewise.
21516 * tree-vect-slp.c: Likewise.
21517 * tree-vect-stmts.c: Likewise.
21518 * tree-vectorizer.c: Likewise.
21519 * tree-vrp.c: Likewise.
21520 * tree.c: Likewise.
21521 * tsan.c: Likewise.
21522 * ubsan.c: Likewise.
21523 * valtrack.c: Likewise.
21524 * value-prof.c: Likewise.
21525 * var-tracking.c: Likewise.
21526 * varasm.c: Likewise.
21527 * varpool.c: Likewise.
21528 * vmsdbgout.c: Likewise.
21529 * vtable-verify.c: Likewise.
21530 * web.c: Likewise.
21531 * wide-int.cc: Likewise.
21532 * xcoffout.c: Likewise.
21533 * common/common-target.h: Do not include input.h, line-map.h or is-a.h.
21534 * common/common-targhooks.c: Likewise.
21535 * config/aarch64/aarch64-builtins.c: Likewise.
21536 * config/aarch64/aarch64.c: Likewise.
21537 * config/alpha/alpha.c: Likewise.
21538 * config/arc/arc.c: Likewise.
21539 * config/arm/aarch-common.c: Likewise.
21540 * config/arm/arm-builtins.c: Likewise.
21541 * config/arm/arm-c.c: Likewise.
21542 * config/arm/arm.c: Likewise.
21543 * config/avr/avr-c.c: Likewise.
21544 * config/avr/avr-log.c: Likewise.
21545 * config/avr/avr.c: Likewise.
21546 * config/bfin/bfin.c: Likewise.
21547 * config/c6x/c6x.c: Likewise.
21548 * config/cr16/cr16.c: Likewise.
21549 * config/cris/cris.c: Likewise.
21550 * config/darwin-c.c: Likewise.
21551 * config/darwin.c: Likewise.
21552 * config/default-c.c: Likewise.
21553 * config/epiphany/epiphany.c: Likewise.
21554 * config/epiphany/mode-switch-use.c: Likewise.
21555 * config/epiphany/resolve-sw-modes.c: Likewise.
21556 * config/fr30/fr30.c: Likewise.
21557 * config/frv/frv.c: Likewise.
21558 * config/ft32/ft32.c: Likewise.
21559 * config/glibc-c.c: Likewise.
21560 * config/h8300/h8300.c: Likewise.
21561 * config/i386/i386-c.c: Likewise.
21562 * config/i386/i386.c: Likewise.
21563 * config/i386/msformat-c.c: Likewise.
21564 * config/i386/winnt-cxx.c: Likewise.
21565 * config/i386/winnt-stubs.c: Likewise.
21566 * config/i386/winnt.c: Likewise.
21567 * config/ia64/ia64-c.c: Likewise.
21568 * config/ia64/ia64.c: Likewise.
21569 * config/iq2000/iq2000.c: Likewise.
21570 * config/lm32/lm32.c: Likewise.
21571 * config/m32c/m32c-pragma.c: Likewise.
21572 * config/m32c/m32c.c: Likewise.
21573 * config/m32r/m32r.c: Likewise.
21574 * config/m68k/m68k.c: Likewise.
21575 * config/mcore/mcore.c: Likewise.
21576 * config/mep/mep-pragma.c: Likewise.
21577 * config/mep/mep.c: Likewise.
21578 * config/microblaze/microblaze-c.c: Likewise.
21579 * config/microblaze/microblaze.c: Likewise.
21580 * config/mips/mips.c: Likewise.
21581 * config/mmix/mmix.c: Likewise.
21582 * config/mn10300/mn10300.c: Likewise.
21583 * config/moxie/moxie.c: Likewise.
21584 * config/msp430/msp430-c.c: Likewise.
21585 * config/msp430/msp430.c: Likewise.
21586 * config/nds32/nds32-cost.c: Likewise.
21587 * config/nds32/nds32-fp-as-gp.c: Likewise.
21588 * config/nds32/nds32-intrinsic.c: Likewise.
21589 * config/nds32/nds32-isr.c: Likewise.
21590 * config/nds32/nds32-md-auxiliary.c: Likewise.
21591 * config/nds32/nds32-memory-manipulation.c: Likewise.
21592 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
21593 * config/nds32/nds32-predicates.c: Likewise.
21594 * config/nds32/nds32.c: Likewise.
21595 * config/nios2/nios2.c: Likewise.
21596 * config/nvptx/nvptx.c: Likewise.
21597 * config/pa/pa.c: Likewise.
21598 * config/pdp11/pdp11.c: Likewise.
21599 * config/rl78/rl78-c.c: Likewise.
21600 * config/rl78/rl78.c: Likewise.
21601 * config/rs6000/rs6000-c.c: Likewise.
21602 * config/rs6000/rs6000.c: Likewise.
21603 * config/rx/rx.c: Likewise.
21604 * config/s390/s390-c.c: Likewise.
21605 * config/s390/s390.c: Likewise.
21606 * config/sh/sh-c.c: Likewise.
21607 * config/sh/sh-mem.cc: Likewise.
21608 * config/sh/sh.c: Likewise.
21609 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
21610 * config/sh/sh_treg_combine.cc: Likewise.
21611 * config/sol2-c.c: Likewise.
21612 * config/sol2-cxx.c: Likewise.
21613 * config/sol2-stubs.c: Likewise.
21614 * config/sol2.c: Likewise.
21615 * config/sparc/sparc-c.c: Likewise.
21616 * config/sparc/sparc.c: Likewise.
21617 * config/spu/spu-c.c: Likewise.
21618 * config/spu/spu.c: Likewise.
21619 * config/stormy16/stormy16.c: Likewise.
21620 * config/tilegx/mul-tables.c: Likewise.
21621 * config/tilegx/tilegx-c.c: Likewise.
21622 * config/tilegx/tilegx.c: Likewise.
21623 * config/tilepro/mul-tables.c: Likewise.
21624 * config/tilepro/tilepro-c.c: Likewise.
21625 * config/tilepro/tilepro.c: Likewise.
21626 * config/v850/v850-c.c: Likewise.
21627 * config/v850/v850.c: Likewise.
21628 * config/vax/vax.c: Likewise.
21629 * config/visium/visium.c: Likewise.
21630 * config/vms/vms-c.c: Likewise.
21631 * config/vms/vms.c: Likewise.
21632 * config/vxworks.c: Likewise.
21633 * config/winnt-c.c: Likewise.
21634 * config/xtensa/xtensa.c: Likewise.
21635
21636 2015-06-17 Robert Suchanek <robert.suchanek@imgtec.com>
21637
21638 * config/mips/mips.c (mips_ira_change_pseudo_allocno_class): New
21639 function.
21640 (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Define macro.
21641
21642 2015-06-17 Richard Biener <rguenther@suse.de>
21643
21644 PR tree-optimization/66251
21645 * tree-vect-stmts.c (vectorizable_store): Fix gathering of vectorized
21646 stmts for SLP strided stores.
21647
21648 Revert
21649 2015-05-22 Richard Biener <rguenther@suse.de>
21650
21651 PR tree-optimization/66251
21652 * tree-vect-stmts.c (vectorizable_conversion): Properly
21653 set STMT_VINFO_VEC_STMT even for the SLP case.
21654
21655 2015-05-26 Michael Matz <matz@suse.de>
21656
21657 PR middle-end/66251
21658 * tree-vect-stmts.c (vect_create_vectorized_demotion_stmts): Always set
21659 STMT_VINFO_VEC_STMT, also with SLP.
21660
21661 2015-06-16 Uros Bizjak <ubizjak@gmail.com>
21662
21663 PR target/56766
21664 * config/i386/sse.md (*avx_addsubv4df3_1): New insn pattern.
21665 (*avx_addsubv4df3_1s): Ditto.
21666 (*sse3_addsubv2df3_1): Ditto.
21667 (*sse3_addsubv2df3_1s): Ditto.
21668 (*avx_addsubv8sf3_1): Ditto.
21669 (*avx_addsubv8sf3_1s): Ditto.
21670 (*sse3_addsubv4sf3_1): Ditto.
21671 (*sse3_addsubv4sf3_1s): Ditto.
21672
21673 2015-06-16 Steve Ellcey <sellcey@imgtec.com>
21674
21675 * config/mips/mti-linux.h (MIPS_SYSVERSION_SPEC): New.
21676 (SYSROOT_SUFFIX_SPEC): Update.
21677 (SYSROOT_HEADERS_SUFFIX_SPEC): New.
21678 (STARTFILE_PREFIX_SPEC): Update.
21679 * config/mips/t-mti-linux (MULTILIB_EXCEPTIONS): Remove.
21680 (MULTILIB_REQUIRED): New.
21681 (MULTILIB_OSDIRNAMES): New.
21682 * config/mips/t-img-linux (MULTILIB_EXCEPTIONS): Remove.
21683 (MULTILIB_REQUIRED): New.
21684 (MULTILIB_OSDIRNAMES): New.
21685
21686 2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
21687
21688 * config/aarch64/aarch64-arches.def: Add "armv8.1-a".
21689 * config/aarch64/aarch64-options-extensions.def: Update "fP",
21690 "simd" and "crypto". Add "lse", "pan", "lor" and "rdma".
21691 * config/aarch64/aarch64.h (AARCH64_FL_LSE): New.
21692 (AARCH64_FL_PAN): New.
21693 (AARCH64_FL_LOR): New.
21694 (AARCH64_FL_RDMA): New.
21695 (AARCH64_FL_FOR_ARCH8_1): New.
21696 * doc/invoke.texi (AArch64 Options): Add "armv8.1-a" to
21697 -march. Add "lse", "pan", "lor", "rdma" to feature modifiers.
21698
21699 2015-06-16 Martin Liska <mliska@suse.cz>
21700
21701 * bitmap.c (dump_bitmap_statistics): Fix GNU coding style.
21702 * hash-table.c (void dump_hash_table_loc_statistics): Add missing
21703 guard.
21704
21705 2015-06-16 Richard Biener <rguenther@suse.de>
21706
21707 * tree-vect-stmts.c (vectorizable_store): Adjust.
21708 (vectorizable_load): Likewise.
21709 * tree-vect-data-refs.c (vect_create_addr_base_for_vector_ref):
21710 Simplify.
21711 (vect_create_data_ref_ptr): Likewise.
21712 (bump_vector_ptr): Adjust.
21713
21714 2015-06-16 Richard Biener <rguenther@suse.de>
21715
21716 * tree-vect-stmts.c (vectorizable_load): Properly start loads
21717 with the first element if this is grouped loads.
21718
21719 2015-06-16 James Greenhalgh <james.greenhalgh@arm.com>
21720
21721 * config/arm/arm-protos.h (struct tune_params): Rename
21722 log_op_non_sc to log_op_non_short_circuit, and rename enum
21723 values to expand SC to SHORT_CIRCUIT.
21724 * config/arm/arm.c (arm_slowmul_tune): Expand LOG_OP_NON_SC
21725 to LOG_OP_NON_SHORT_CIRCUIT.
21726 (arm_fastmul_tune):Likewise
21727 (arm_strongarm_tune): Likewise.
21728 (arm_xscale_tune): Likewise.
21729 (arm_9e_tune): Likewise.
21730 (arm_marvell_pj4_tune): Likewise.
21731 (arm_v6t2_tune): Likewise.
21732 (arm_cortex_tune): Likewise.
21733 (arm_cortex_a8_tune): Likewise.
21734 (arm_cortex_a7_tune): Likewise.
21735 (arm_cortex_a15_tune): Likewise.
21736 (arm_cortex_a53_tune): Likewise.
21737 (arm_cortex_a57_tune): Likewise.
21738 (arm_xgene1_tune): Likewise.
21739 (arm_cortex_a5_tune): Likewise.
21740 (arm_cortex_a9_tune): Likewise.
21741 (arm_cortex_a12_tune): Likewise.
21742 (arm_v7m_tune): Likewise.
21743 (arm_cortex_m7_tune): Likewise.
21744 (arm_v6m_tune): Likewise.
21745 (arm_fa726te_tune): Likewise.
21746
21747 2015-06-15 David Edelsohn <dje.gcc@gmail.com>
21748
21749 * altivec.md: Delete UNSPEC_VMLADDUHM.
21750 (mulv4si3_p8): New pattern.
21751 (mulv4si3): Use it for POWER8.
21752 (mulv8hi3): Use vmladduhm with zero addend.
21753 (altivec_vmladduhm): Descriptive RTL.
21754
21755 2015-06-15 Jim Wilson <jim.wilson@linaro.org>
21756
21757 * config/aarch64/aarch64.md (mov<mode>_aarch64): Change alternative 2
21758 to use neon_move instead of mov_imm.
21759 (movdi_aarch64): Change alternative 14 to use neon_move not fmov.
21760 (movtf_aarch64): Change alternative 4 to use neon_move_q not fconstd.
21761
21762 * config/aarch64/aarch64.c (aarch64_valid_floating_const): Move
21763 aarch64_float_const_zero_rtx_p check before TFmode check.
21764 * config/aarch64/aarch64.md (movtf): Don't call force_reg if op1 is
21765 an fp zero.
21766 (movtf_aarch64): Separate ?rY alternative into two. Adjust assembly
21767 code and attributes to match. Change condition from register_operand
21768 to aarch64_reg_or_fp_zero for op1. Change type for ldp from
21769 neon_load1_2reg to load2. Change type for stp from neon_store1_2reg
21770 to store2.
21771
21772 2015-06-15 Aldy Hernandez <aldyh@redhat.com>
21773
21774 PR debug/66535
21775 * dwarf2out.c (gen_subprogram_die): Do not check a parent's tag if
21776 there is no parent.
21777
21778 2015-06-14 Shiva Chen <shiva0217@gmail.com>
21779
21780 * aarch64.c (aarch64_simd_lane_bounds): Change %ld to %wd for
21781 HOST_WIDE_INT parameter.
21782
21783 2015-06-14 Jan Hubicka <hubicka@ucw.cz>
21784
21785 PR ipa/66181
21786 * lto-streamer-out.c (hash_tree): Do not hash TYPE_NO_FORCE_BLK.
21787 * tree-streamer-out.c (pack_ts_type_common_value_fields): Do not stream
21788 TYPE_NO_FORCE_BLK.
21789 * tree-streamer-in.c (unpack_ts_type_common_value_fields): Likewise.
21790
21791 2015-06-14 Richard Sandiford <richard.sandiford@arm.com>
21792
21793 * rtl.h (classify_insn): Declare.
21794 * emit-rtl.c (classify_insn): Move to...
21795 * rtl.c: ...here and add generator support.
21796 * gensupport.h (get_emit_function, needs_barrier_p): Declare.
21797 * gensupport.c (get_emit_function, needs_barrier_p): New functions.
21798 * genemit.c (gen_emit_seq): New function.
21799 (gen_expand, gen_split): Use it.
21800
21801 2015-06-13 Patrick Palka <ppalka@gcc.gnu.org>
21802
21803 * tree.c (make_vector_stat): Fix comment to state that the
21804 function returns a VECTOR_CST.
21805
21806 2015-06-13 Richard Sandiford <richard.sandiford@arm.com>
21807
21808 * gensupport.h (add_implicit_parallel): Declare.
21809 * genrecog.c (add_implicit_parallel): Move to...
21810 * gensupport.c (add_implicit_parallel): ...here.
21811 (process_one_cond_exec): Use it.
21812 * genemit.c (gen_insn): Likewise.
21813
21814 2015-06-13 Iain Sandoe <iain@codesourcery.com>
21815
21816 PR bootstrap/66448
21817 * passes.c (rest_of_decl_compilation): Do not register globals for
21818 early debug if they are declared in built-ins.
21819
21820 2015-06-12 Aldy Hernandez <aldyh@redhat.com>
21821
21822 * dwarf2out.c (check_die): Protect with ENABLE_CHECKING.
21823
21824 2015-06-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21825
21826 * ifcvt.c (noce_try_store_flag_constants): Use std::swap instead of
21827 manually swapping.
21828 (noce_try_cmove_arith): Likewise.
21829 (noce_get_alt_condition): Likewise.
21830
21831 2015-06-12 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
21832
21833 * common/config/i386/i386-common.c
21834 (OPTION_MASK_ISA_MWAITX_SET): New.
21835 (ix86_handle_option): Handle mwaitx.
21836 * config.gcc (i[34567]86-*-*): Add mwaitxintrin.h,
21837 (x86_64-*-*): Likewise.
21838 * config/i386/mwaitxintrin.h: New header.
21839 * config/i386/cpuid.h (bit_MWAITX): Define.
21840 * config/i386/driver-i386.c (host_detect_local_cpu): Detect
21841 MWAITX support.
21842 * config/i386/i386.opt (mwaitx): New.
21843 * config/i386/i386-builtin-types.def
21844 (VOID_FTYPE_UNSIGNED_ UNSIGNED_UNSIGNED): New function type.
21845 * config/i386/i386-c.c: Define __MWAITX__ if needed.
21846 * config/i386/i386.c (ix86_target_string): Define -mmwaitx option.
21847 (PTA_MWAITX): New.
21848 (ix86_option_override_internal): Handle new option.
21849 (processor_alias_table): Added PTA_MWAITX.
21850 (ix86_valid_target_attribute_inner_p): Add OPT_mmwaitx.
21851 (ix86_builtins): Add IX86_BUILTIN_MWAITX, IX86_BUILTIN_MONITORX.
21852 (ix86_expand_builtin): Handle IX86_BUILTIN_MWAITX and
21853 IX86_BUILTIN_MONITORX built-ins.
21854 * config/i386/i386.h (TARGET_MWAITX): New.
21855 * config/i386/i386.md (unspecv): Add UNSPEC_MWAITX and
21856 UNSPEC_MONITORX.
21857 (mwaitx): New pattern.
21858 (monitorx_<mode>): New pattern.
21859 * config/i386/x86intrin.h: Include mwaitxintrin.h.
21860 * doc/extend.texi: Document monitorx and mwaitx builtins.
21861 * doc/invoke.texi: Document -mmwaitx option.
21862
21863 2015-06-12 Uros Bizjak <ubizjak@gmail.com>
21864
21865 * emit-rtl.c (need_atomic_barrier_p): Mask model with
21866 MEMMODEL_BASE_MASK. Remove MEMMODEL_SYNC_* cases.
21867
21868 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
21869
21870 * dbxout.c (xcoff_debug_hooks): Provide a function for
21871 register_main_translation_unit hook.
21872
21873 2015-06-11 David Edelsohn <dje.gcc@gmail.com>
21874
21875 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier): Remove SYNC
21876 variants cases from switch.
21877 (rs6000_post_atomic_barrier): Same.
21878 (rs6000_expand_atomic_compare_and_swap): Use memmodel_base.
21879 (rs6000_expand_atomic_exchange): Same.
21880 (rs6000_expand_atomic_op): Same.
21881 * config/rs6000/sync.md (mem_thread_fence): Use memodel_base. Remove
21882 SYNC variants cases from switch.
21883 (atomic_load): Same.
21884 (atomic_store): Same.
21885
21886 2015-06-11 John David Anglin <danglin@gcc.gnu.org>
21887
21888 * config/pa/pa.c (pa_output_global_address): Handle LABEL_REF plus
21889 CONST_INT for goto.
21890
21891 2015-06-11 Aldy Hernandez <aldyh@redhat.com>
21892
21893 PR bootstrap/66448
21894 * dwarf2out.c (check_die): Check for common duplicate attributes.
21895 (add_location_or_const_value_attribute): Do not add duplicate
21896 attributes.
21897 (gen_formal_parameter_die): Do not add DW_AT_artificial the second
21898 time around.
21899 (gen_struct_or_union_type_die): Bail early if TREE_ASM_WRITTEN.
21900 (gen_type_die_with_usage): Call check_die.
21901 (dwarf2out_decl): Only call check_die() when ENABLE_CHECKING.
21902
21903 2015-06-11 Jason Merrill <jason@redhat.com>
21904
21905 * dwarf2out.c (prune_unused_types): Handle unused top-level limbo
21906 dies.
21907
21908 2015-06-11 Marek Polacek <polacek@redhat.com>
21909
21910 * match.pd ((x & y) ^ (x | y)): Don't check for single_use.
21911
21912 2015-06-11 Eric Botcazou <ebotcazou@adacore.com>
21913
21914 PR bootstrap/66252
21915 * config/sparc/sparc.c (hard_regno_mode_classes): Add ??? comment.
21916 * config/sparc/sparc.md (zero_extendsidi2_insn_sp32): Use single order.
21917 (*addx_extend_sp32): Fix pasto.
21918 (*subx_extend): Rename into...
21919 (*subx_extend_sp32): ...this.
21920 (*adddi3_extend_sp32): Add earlyclobber.
21921 (*subdi3_insn_sp32): Likewise.
21922 (*subdi3_extend_sp32): Likewise.
21923 (*and_not_di_sp32): Likewise.
21924 (*or_not_di_sp32): Likewise.
21925 (*xor_not_di_sp32): Likewise.
21926 (*negdi2_sp32): Likewise.
21927 (*one_cmpldi2_sp32): Likewise.
21928
21929 2015-06-11 Pierre-Marie de Rodat <derodat@adacore.com>
21930
21931 * debug.h (struct gcc_debug_hooks): Add a
21932 register_main_translation_unit hook.
21933 * debug.c (do_nothing_debug_hooks): Provide a function for this
21934 new hook.
21935 * dbxout.c (dbx_debug_hooks): Likewise.
21936 * sdbout.c (sdb_debug_hooks): Likewise.
21937 * vmsdbgout.c (vmsdbg_debug_hooks): Likewise.
21938 * dwarf2out.c (main_translation_unit): New global variable.
21939 (dwarf2out_register_main_translation_unit): New function
21940 implementing the new hook.
21941 (dwarf2_debug_hooks): Assign
21942 dwarf2out_register_main_translation_unit to this new hook.
21943 (dwarf2out_init): Associate any main translation unit to
21944 comp_unit_die ().
21945
21946 2015-06-11 Marek Polacek <polacek@redhat.com>
21947
21948 * match.pd ((x & y) ^ (x | y) -> x ^ y): New pattern.
21949
21950 2015-06-11 Marek Polacek <polacek@redhat.com>
21951
21952 * match.pd: Use single_use throughout.
21953
21954 2015-06-11 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
21955
21956 * config/arm/arm.c (arm_option_params_internal): When optimising
21957 for speed set max_insns_skipped when arm_restrict_it.
21958
21959 2015-06-11 Christian Bruel <christian.bruel@st.com>
21960
21961 PR target/52144
21962 * config/arm/arm-c.c (arm_cpu_cpp_builtins): Conditionally define
21963 macros in ...
21964 (arm_cpu_builtins): New function.
21965 (arm_pragma_target_parse): Call arm_cpu_builtins.
21966 * config/arm/arm-protos.h (arm_cpu_builtins): Declare.
21967 (arm_register_target_pragmas): Likewise.
21968 * config/arm/arm.h (REGISTER_TARGET_PRAGMAS):
21969 Call arm_register_target_pragmas.
21970 * config/arm/arm-c.c (arm_register_target_pragmas): New function.
21971 (arm_pragma_target_parse): Likewise.
21972
21973 2015-06-10 Kaz Kojima <kkojima@gcc.gnu.org>
21974
21975 * config/sh/sh.md (tstsi_t): Add '?' modifier to 'r' alternative
21976 of the second operand.
21977
21978 2015-06-10 Uros Bizjak <ubizjak@gmail.com>
21979
21980 PR target/66473
21981 * config/i386/i386.c (ix86_expand_vector_set): Use gen_int_mode
21982 to prepare mask operand for AVX512 modes.
21983
21984 2015-06-10 Michael Meissner <meissner@linux.vnet.ibm.com>
21985
21986 PR target/66474
21987 * doc/md.texi (Machine Constraints): Document that on the PowerPC
21988 if you use a constraint that targets a VSX register, you must use
21989 %x<n> in the template.
21990
21991 2015-06-10 Max Filippov <jcmvbkbc@gmail.com>
21992
21993 * config/xtensa/xtensa.h (TARGET_DEBUG): New definition.
21994 * config/xtensa/xtensa.md (define_attr "type"): New type "trap".
21995 (define_insn "trap"): New definition.
21996
21997 2015-06-10 Richard Biener <rguenther@suse.de>
21998
21999 * tree-vect-slp.c (vect_attempt_slp_rearrange_stmts): Split
22000 out from ...
22001 (vect_supported_load_permutation_p): ... here. Handle
22002 supportable permutations in reductions.
22003 * tree-vect-stmts.c (vectorizable_load): Handle SLP permutations
22004 for vectorizing strided group loads.
22005
22006 2015-06-10 Jakub Jelinek <jakub@redhat.com>
22007
22008 PR target/66470
22009 * config/i386/i386.c (ix86_split_long_move): For collisions
22010 involving direct tls segment refs, move the UNSPEC_TP possibly
22011 wrapped in ZERO_EXTEND out of the address for lea, to each of
22012 the memory loads.
22013
22014 2015-06-10 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
22015
22016 * config/arm/sync.md (*memory_barrier): Use dmb ish instead of
22017 dmb sy. Adjust tabs.
22018
22019 2015-06-10 Tom de Vries <tom@codesourcery.com>
22020
22021 * omp-low.c (expand_omp_target): Remove duplicate declaration of node.
22022
22023 2015-06-10 Martin Liska <mliska@suse.cz>
22024
22025 PR bootstrap/66471
22026 * mem-stats-traits.h (enum mem_alloc_origin): Add _ORIGIN suffix for
22027 all enum values in mem_alloc_origin.
22028 * alloc-pool.c (dump_alloc_pool_statistics): Use newly changed enum
22029 name.
22030 * alloc-pool.h (pool_allocator::pool_allocator): Likewise.
22031 * bitmap.c (bitmap_register): Likewise.
22032 (dump_bitmap_statistics): Likewise.
22033 * ggc-common.c (dump_ggc_loc_statistics): Likewise.
22034 (ggc_record_overhead): Likewise.
22035 * hash-map.h: Likewise.
22036 * hash-set.h: Likewise.
22037 * hash-table.c (void dump_hash_table_loc_statistics): Likewise.
22038 * hash-table.h: Likewise.
22039 * vec.c (vec_prefix::register_overhead): Likewise.
22040 (vec_prefix::release_overhead): Likewise.
22041 (dump_vec_loc_statistics): Likewise.
22042
22043 2015-06-09 Christian Bruel <christian.bruel@st.com>
22044
22045 PR target/52144
22046 * config/arm/arm.opt (THUMB, arm_restrict_it, inline_asm_unified): Save.
22047 * config/arm/arm-protos.h (arm_valid_target_attribute_tree): Declare.
22048 (arm_reset_previous_fndecl, arm_change_mode_p): Likewise.
22049 * config/arm/arm.h (SWITCHABLE_TARGET): Define.
22050 * config/arm/arm.c (arm_reset_previous_fndecl): New functions.
22051 (arm_valid_target_attribute_tree, arm_change_mode_p): Likewise.
22052 (arm_valid_target_attribute_p): Likewise.
22053 (arm_set_current_function, arm_can_inline_p): Likewise.
22054 (arm_valid_target_attribute_rec): Likewise.
22055 (arm_previous_fndecl): New variable.
22056 (TARGET_SET_CURRENT_FUNCTION, TARGET_OPTION_VALID_ATTRIBUTE_P): Define.
22057 (TARGET_CAN_INLINE_P): Define.
22058 (arm_asm_trampoline_template): Emit mode.
22059 (arm_file_start): Don't set unified syntax.
22060 (arm_declare_function_name): Set unified syntax and mode.
22061 (arm_option_override): Init target_option_default_node.
22062 and target_option_current_node.
22063 * config/arm/arm.md (*call_value_symbol): Set mode when possible.
22064 (*call_symbol): Likewise.
22065 * doc/extend.texi: Document ARM/Thumb target attribute.
22066 * doc/invoke.texi: Likewise.
22067
22068 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
22069
22070 Revert:
22071 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
22072 PR rtl-optimization/64164
22073 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
22074 * tree-ssa-copyrename.c: Removed.
22075 * opts.c (default_options_table): Drop -ftree-copyrename. Add
22076 -ftree-coalesce-vars.
22077 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
22078 * common.opt (ftree-copyrename): Ignore.
22079 (ftree-coalesce-inlined-vars): Likewise.
22080 * doc/invoke.texi: Remove the ignored options above.
22081 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
22082 * tree-ssa-coalesce.h: ... here.
22083 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
22084 headers required by it.
22085 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
22086 across variables when flag_tree_coalesce_vars. Check register
22087 use and promoted modes to allow coalescing. Moved to
22088 tree-ssa-coalesce.c.
22089 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
22090 with its member functions to tree-ssa-coalesce.c.
22091 (var_map_base_init): Likewise. Renamed to
22092 compute_samebase_partition_bases.
22093 (partition_view_normal): Drop want_bases parameter.
22094 (partition_view_bitmap): Likewise.
22095 * tree-ssa-live.h: Adjust declarations.
22096 * tree-ssa-coalesce.c: Include explow.h.
22097 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
22098 default defs at the entry point.
22099 (dump_part_var_map): New.
22100 (compute_optimized_partition_bases): New, called by...
22101 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
22102 of compute_samebase_partition_bases. Adjust.
22103 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
22104 * cfgexpand.c (leader_merge): New.
22105 (get_rtl_for_parm_ssa_default_def): New.
22106 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
22107 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
22108 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
22109 redundant MEM attr setting.
22110 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
22111 from...
22112 (expand_one_stack_var): ... this. New wrapper to check and
22113 skip already expanded SSA partitions.
22114 (record_alignment_for_reg_var): New, factored out of...
22115 (expand_one_var): ... this.
22116 (expand_one_ssa_partition): New.
22117 (adjust_one_expanded_partition_var): New.
22118 (expand_one_register_var): Check and skip already expanded SSA
22119 partitions.
22120 (expand_used_vars): Don't create DECLs for anonymous SSA
22121 names. Expand all SSA partitions, then adjust all SSA names.
22122 (pass::execute): Replace the loops that set
22123 SA.partition_to_pseudo from partition leaders and cleared
22124 DECL_RTL for multi-location variables, and that which used to
22125 rename vars and set attrs, with one that clears DECL_RTL and
22126 checks that PARMs and RESULTs default_defs match DECL_RTL.
22127 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
22128 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
22129 * explow.c (promote_ssa_mode): New.
22130 * explow.h (promote_ssa_mode): Declare.
22131 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
22132 * function.c: Include cfgexpand.h.
22133 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
22134 (use_register_for_parm_decl): Wrapper for the above to
22135 special-case the result_ptr.
22136 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
22137 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
22138 multiple locations.
22139 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
22140 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
22141 (assign_parm_setup_block): Prefer SSA-assigned location.
22142 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
22143 if stack_parm is NULL.
22144 (assign_parm_setup_stack): Prefer SSA-assigned location.
22145 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
22146 rtl before testing for pointer bounds. Special-case result_ptr.
22147 (expand_function_start): Maybe reset DECL_RTL of result.
22148 Prefer SSA-assigned location for result and static chain.
22149 Factor out DECL_RESULT and SET_DECL_RTL.
22150 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
22151 anonymous SSA names. Use promote_ssa_mode.
22152 (get_temp_reg): Likewise.
22153 (remove_ssa_form): Adjust.
22154 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
22155 and get its reg_usage for reg invalidation.
22156 (compute_bb_dataflow): Pass it insn.
22157 (emit_notes_in_bb): Likewise.
22158 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
22159 fail assert on conversion between unsigned types.
22160
22161 2015-06-09 Tom de Vries <tom@codesourcery.com>
22162
22163 PR tree-optimization/65460
22164 * omp-low.c (expand_omp_target): Set parallelized_function on
22165 cgraph_node for child_fn.
22166
22167 2015-06-09 Tom de Vries <tom@codesourcery.com>
22168
22169 * omp-low.c (finalize_task_copyfn, expand_omp_taskreg): Mark function
22170 parallelized_function before add_new_function.
22171
22172 2015-06-09 Andrew MacLeod <amacleod@redhat.com>
22173
22174 * gcc-plugin.h: Move decls to plugin.h and include it.
22175 * plugin.h: Relocate decls from gcc-plugin.h
22176 * ggc-page.c: Include required header files.
22177 * passes.c: Likewise.
22178 * cgraphunit.c: Likewise.
22179
22180 2015-06-09 Tom de Vries <tom@codesourcery.com>
22181
22182 * tree-stdarg.c (expand_ifn_va_arg_1): Handle location.
22183
22184 2015-06-09 Jason Merrill <jason@redhat.com>
22185
22186 PR bootstrap/66448
22187 * toplev.c (check_global_declaration): Don't warn about a clone.
22188
22189 2015-06-09 Marek Polacek <polacek@redhat.com>
22190
22191 PR tree-optimization/66299
22192 * match.pd ((CST1 << A) == CST2 -> A == ctz (CST2) - ctz (CST1)
22193 ((CST1 << A) != CST2 -> A != ctz (CST2) - ctz (CST1)): New
22194 patterns.
22195
22196 2015-06-09 Richard Biener <rguenther@suse.de>
22197
22198 * tree-vect-slp.c (vect_build_slp_tree_1): Remove bailout on gaps.
22199 (vect_analyze_slp_instance): Instead do not falsely drop
22200 load permutations.
22201
22202 2015-06-09 Richard Biener <rguenther@suse.de>
22203
22204 PR middle-end/66423
22205 * match.pd: Handle A % (unsigned)(1 << B).
22206
22207 2015-06-09 Aldy Hernandez <aldyh@redhat.com>
22208
22209 * varasm.c (output_object_block_htab): Remove.
22210 (output_object_block_compare): New.
22211 (output_object_blocks): Sort named object_blocks before outputting
22212 them.
22213
22214 2015-06-09 Richard Biener <rguenther@suse.de>
22215
22216 PR tree-optimization/66419
22217 * tree-vect-slp.c (vect_supported_load_permutation_p): Properly
22218 consider GROUP_GAP when detecting a perfect subchain.
22219
22220 2015-06-09 Nick Clifton <nickc@redhat.com>
22221
22222 * config/rl78/rl78.c (rl78_select_section): When -mes0 is active
22223 place read only data in the .frodata section.
22224
22225 2015-06-09 Shiva Chen <shiva0217@gmail.com>
22226
22227 * sync.md (atomic_load<mode>): Add conditional code for lda/ldr
22228 (atomic_store<mode>): Likewise.
22229
22230 2015-06-09 Richard Biener <rguenther@suse.de>
22231
22232 * cfgloop.c (get_loop_body_in_bfs_order): Fix assert.
22233
22234 2015-06-09 Richard Biener <rguenther@suse.de>
22235
22236 PR middle-end/66413
22237 * tree-inline.c (insert_init_debug_bind): Unshare value.
22238
22239 2015-06-09 Richard Biener <rguenther@suse.de>
22240
22241 PR tree-optimization/66396
22242 * graphite-isl-ast-to-gimple.c (graphite_regenerate_ast_isl):
22243 Rename virtual operands.
22244
22245 2015-06-09 Tom de Vries <tom@codesourcery.com>
22246
22247 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Don't
22248 always return false.
22249
22250 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
22251
22252 PR rtl-optimization/64164
22253 * Makefile.in (OBJS): Drop tree-ssa-copyrename.o.
22254 * tree-ssa-copyrename.c: Removed.
22255 * opts.c (default_options_table): Drop -ftree-copyrename. Add
22256 -ftree-coalesce-vars.
22257 * passes.def: Drop all occurrences of pass_rename_ssa_copies.
22258 * common.opt (ftree-copyrename): Ignore.
22259 (ftree-coalesce-inlined-vars): Likewise.
22260 * doc/invoke.texi: Remove the ignored options above.
22261 * gimple-expr.h (gimple_can_coalesce_p): Move declaration
22262 * tree-ssa-coalesce.h: ... here.
22263 * tree-ssa-uncprop.c: Include tree-ssa-coalesce.h and other
22264 headers required by it.
22265 * gimple-expr.c (gimple_can_coalesce_p): Allow coalescing
22266 across variables when flag_tree_coalesce_vars. Check register
22267 use and promoted modes to allow coalescing. Moved to
22268 tree-ssa-coalesce.c.
22269 * tree-ssa-live.c (struct tree_int_map_hasher): Move along
22270 with its member functions to tree-ssa-coalesce.c.
22271 (var_map_base_init): Likewise. Renamed to
22272 compute_samebase_partition_bases.
22273 (partition_view_normal): Drop want_bases parameter.
22274 (partition_view_bitmap): Likewise.
22275 * tree-ssa-live.h: Adjust declarations.
22276 * tree-ssa-coalesce.c: Include explow.h.
22277 (build_ssa_conflict_graph): Process PARM_ and RESULT_DECLs's
22278 default defs at the entry point.
22279 (dump_part_var_map): New.
22280 (compute_optimized_partition_bases): New, called by...
22281 (coalesce_ssa_name): ... when flag_tree_coalesce_vars, instead
22282 of compute_samebase_partition_bases. Adjust.
22283 * alias.c (nonoverlapping_memrefs_p): Disregard gimple-regs.
22284 * cfgexpand.c (leader_merge): New.
22285 (get_rtl_for_parm_ssa_default_def): New.
22286 (set_rtl): Merge exprs and attrs, even for MEMs and non-SSA
22287 vars. Update DECL_RTL for PARM_DECLs and RESULT_DECLs too.
22288 (expand_one_stack_var_at): Handle anonymous SSA_NAMEs. Drop
22289 redundant MEM attr setting.
22290 (expand_one_stack_var_1): Handle anonymous SSA_NAMEs. Renamed
22291 from...
22292 (expand_one_stack_var): ... this. New wrapper to check and
22293 skip already expanded SSA partitions.
22294 (record_alignment_for_reg_var): New, factored out of...
22295 (expand_one_var): ... this.
22296 (expand_one_ssa_partition): New.
22297 (adjust_one_expanded_partition_var): New.
22298 (expand_one_register_var): Check and skip already expanded SSA
22299 partitions.
22300 (expand_used_vars): Don't create DECLs for anonymous SSA
22301 names. Expand all SSA partitions, then adjust all SSA names.
22302 (pass::execute): Replace the loops that set
22303 SA.partition_to_pseudo from partition leaders and cleared
22304 DECL_RTL for multi-location variables, and that which used to
22305 rename vars and set attrs, with one that clears DECL_RTL and
22306 checks that PARMs and RESULTs default_defs match DECL_RTL.
22307 * cfgexpand.h (get_rtl_for_parm_ssa_default_def): Declare.
22308 * emit-rtl.c (set_reg_attrs_for_parm): Handle NULL decl.
22309 * explow.c (promote_ssa_mode): New.
22310 * explow.h (promote_ssa_mode): Declare.
22311 * expr.c (expand_expr_real_1): Handle anonymous SSA_NAMEs.
22312 * function.c: Include cfgexpand.h.
22313 (use_register_for_decl): Handle SSA_NAMEs, anonymous or not.
22314 (use_register_for_parm_decl): Wrapper for the above to
22315 special-case the result_ptr.
22316 (rtl_for_parm): Ditto for get_rtl_for_parm_ssa_default_def.
22317 (maybe_reset_rtl_for_parm): Reset DECL_RTL of parms with
22318 multiple locations.
22319 (assign_parm_adjust_stack_rtl): Add all and parm arguments,
22320 for rtl_for_parm. For SSA-assigned parms, zero stack_parm.
22321 (assign_parm_setup_block): Prefer SSA-assigned location.
22322 (assign_parm_setup_reg): Likewise. Use entry_parm for equiv
22323 if stack_parm is NULL.
22324 (assign_parm_setup_stack): Prefer SSA-assigned location.
22325 (assign_parms): Maybe reset DECL_RTL of params. Adjust stack
22326 rtl before testing for pointer bounds. Special-case result_ptr.
22327 (expand_function_start): Maybe reset DECL_RTL of result.
22328 Prefer SSA-assigned location for result and static chain.
22329 Factor out DECL_RESULT and SET_DECL_RTL.
22330 * tree-outof-ssa.c (insert_value_copy_on_edge): Handle
22331 anonymous SSA names. Use promote_ssa_mode.
22332 (get_temp_reg): Likewise.
22333 (remove_ssa_form): Adjust.
22334 * var-tracking.c (dataflow_set_clear_at_call): Take call_insn
22335 and get its reg_usage for reg invalidation.
22336 (compute_bb_dataflow): Pass it insn.
22337 (emit_notes_in_bb): Likewise.
22338 * tree-ssa-loop-niter.c (loop_exits_before_overflow): Don't
22339 fail assert on conversion between unsigned types.
22340
22341 2015-06-09 Alexandre Oliva <aoliva@redhat.com>
22342
22343 PR debug/58315
22344 * tree-inline.c (reset_debug_binding): New.
22345 (reset_debug_bindings): Likewise.
22346 (expand_call_inline): Call it.
22347
22348 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
22349
22350 * tree.c (gimple_canonical_types_compatible_p): Drop comparsion of
22351 TYPE_STRING_FLAG.
22352
22353 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
22354
22355 * lto-streamer-out.c (lto_output_location): Stream
22356 reserved locations correctly.
22357 * lto-streamer-in.c (lto_output_location): Likewise.
22358
22359 2015-06-08 Andrew MacLeod <amacleod@redhat.com>
22360
22361 * coretypes.h: Include hash-table.h and hash-set.h for host files.
22362 * ggc.h: Don't include statistics.h>
22363 * hash-map.h: Remove all includes.
22364 * hash-set.h: Likewise.
22365 * hash-table.h: Add statistics.h, inchash.h and hash-map-traits.h to
22366 the include list. Remove <new>.
22367 * inchash.h: Remove all includes.
22368 * mem-stats.h: Likewise.
22369 * vec.h: No special processing for generators or ggc.
22370 * alias.c : Adjust include files.
22371 * alloc-pool.c : Likewise.
22372 * alloc-pool.h : Likewise.
22373 * asan.c : Likewise.
22374 * attribs.c : Likewise.
22375 * auto-inc-dec.c : Likewise.
22376 * auto-profile.c : Likewise.
22377 * bb-reorder.c : Likewise.
22378 * bitmap.c : Likewise.
22379 * bitmap.h : Likewise.
22380 * bt-load.c : Likewise.
22381 * builtins.c : Likewise.
22382 * caller-save.c : Likewise.
22383 * calls.c : Likewise.
22384 * ccmp.c : Likewise.
22385 * cfg.c : Likewise.
22386 * cfganal.c : Likewise.
22387 * cfgbuild.c : Likewise.
22388 * cfgcleanup.c : Likewise.
22389 * cfgexpand.c : Likewise.
22390 * cfghooks.c : Likewise.
22391 * cfgloop.c : Likewise.
22392 * cfgloop.h : Likewise.
22393 * cfgloopanal.c : Likewise.
22394 * cfgloopmanip.c : Likewise.
22395 * cfgrtl.c : Likewise.
22396 * cgraph.c : Likewise.
22397 * cgraphbuild.c : Likewise.
22398 * cgraphclones.c : Likewise.
22399 * cgraphunit.c : Likewise.
22400 * cilk-common.c : Likewise.
22401 * combine-stack-adj.c : Likewise.
22402 * combine.c : Likewise.
22403 * compare-elim.c : Likewise.
22404 * context.c : Likewise.
22405 * convert.c : Likewise.
22406 * coverage.c : Likewise.
22407 * cppbuiltin.c : Likewise.
22408 * cprop.c : Likewise.
22409 * cse.c : Likewise.
22410 * cselib.c : Likewise.
22411 * data-streamer-in.c : Likewise.
22412 * data-streamer-out.c : Likewise.
22413 * data-streamer.c : Likewise.
22414 * data-streamer.h : Likewise.
22415 * dbxout.c : Likewise.
22416 * dce.c : Likewise.
22417 * ddg.c : Likewise.
22418 * debug.c : Likewise.
22419 * df-core.c : Likewise.
22420 * df-problems.c : Likewise.
22421 * df-scan.c : Likewise.
22422 * df.h : Likewise.
22423 * dfp.c : Likewise.
22424 * dojump.c : Likewise.
22425 * dominance.c : Likewise.
22426 * domwalk.c : Likewise.
22427 * double-int.c : Likewise.
22428 * dse.c : Likewise.
22429 * dumpfile.c : Likewise.
22430 * dwarf2asm.c : Likewise.
22431 * dwarf2cfi.c : Likewise.
22432 * dwarf2out.c : Likewise.
22433 * emit-rtl.c : Likewise.
22434 * et-forest.c : Likewise.
22435 * except.c : Likewise.
22436 * except.h : Likewise.
22437 * explow.c : Likewise.
22438 * expmed.c : Likewise.
22439 * expr.c : Likewise.
22440 * final.c : Likewise.
22441 * fixed-value.c : Likewise.
22442 * fold-const.c : Likewise.
22443 * function.c : Likewise.
22444 * fwprop.c : Likewise.
22445 * gcc-plugin.h : Likewise.
22446 * gcc.c : Likewise.
22447 * gcse-common.c : Likewise.
22448 * gcse.c : Likewise.
22449 * genattrtab.c : Likewise.
22450 * genautomata.c : Likewise.
22451 * genconditions.c : Likewise.
22452 * genemit.c : Likewise.
22453 * generic-match-head.c : Likewise.
22454 * genextract.c : Likewise.
22455 * gengtype-state.c : Likewise.
22456 * gengtype.c : Likewise.
22457 * genhooks.c : Likewise.
22458 * genmatch.c : Likewise.
22459 * genmodes.c : Likewise.
22460 * genrecog.c : Likewise.
22461 * gensupport.c : Likewise.
22462 * ggc-common.c : Likewise.
22463 * ggc-internal.h : Likewise.
22464 * ggc-none.c : Likewise.
22465 * ggc-page.c : Likewise.
22466 * gimple-builder.c : Likewise.
22467 * gimple-expr.c : Likewise.
22468 * gimple-fold.c : Likewise.
22469 * gimple-iterator.c : Likewise.
22470 * gimple-low.c : Likewise.
22471 * gimple-match-head.c : Likewise.
22472 * gimple-pretty-print.c : Likewise.
22473 * gimple-ssa-isolate-paths.c : Likewise.
22474 * gimple-ssa-strength-reduction.c : Likewise.
22475 * gimple-ssa.h : Likewise.
22476 * gimple-streamer-in.c : Likewise.
22477 * gimple-streamer-out.c : Likewise.
22478 * gimple-streamer.h : Likewise.
22479 * gimple-walk.c : Likewise.
22480 * gimple.c : Likewise.
22481 * gimplify-me.c : Likewise.
22482 * gimplify.c : Likewise.
22483 * godump.c : Likewise.
22484 * graph.c : Likewise.
22485 * graphds.c : Likewise.
22486 * graphite-blocking.c : Likewise.
22487 * graphite-dependences.c : Likewise.
22488 * graphite-interchange.c : Likewise.
22489 * graphite-isl-ast-to-gimple.c : Likewise.
22490 * graphite-optimize-isl.c : Likewise.
22491 * graphite-poly.c : Likewise.
22492 * graphite-scop-detection.c : Likewise.
22493 * graphite-sese-to-poly.c : Likewise.
22494 * graphite.c : Likewise.
22495 * haifa-sched.c : Likewise.
22496 * hard-reg-set.h : Likewise.
22497 * hw-doloop.c : Likewise.
22498 * ifcvt.c : Likewise.
22499 * inchash.c : Likewise.
22500 * incpath.c : Likewise.
22501 * init-regs.c : Likewise.
22502 * input.c : Likewise.
22503 * internal-fn.c : Likewise.
22504 * ipa-chkp.c : Likewise.
22505 * ipa-comdats.c : Likewise.
22506 * ipa-cp.c : Likewise.
22507 * ipa-devirt.c : Likewise.
22508 * ipa-icf-gimple.c : Likewise.
22509 * ipa-icf.c : Likewise.
22510 * ipa-inline-analysis.c : Likewise.
22511 * ipa-inline-transform.c : Likewise.
22512 * ipa-inline.c : Likewise.
22513 * ipa-polymorphic-call.c : Likewise.
22514 * ipa-profile.c : Likewise.
22515 * ipa-prop.c : Likewise.
22516 * ipa-pure-const.c : Likewise.
22517 * ipa-ref.c : Likewise.
22518 * ipa-reference.c : Likewise.
22519 * ipa-split.c : Likewise.
22520 * ipa-utils.c : Likewise.
22521 * ipa-visibility.c : Likewise.
22522 * ipa.c : Likewise.
22523 * ira-build.c : Likewise.
22524 * ira-color.c : Likewise.
22525 * ira-conflicts.c : Likewise.
22526 * ira-costs.c : Likewise.
22527 * ira-emit.c : Likewise.
22528 * ira-lives.c : Likewise.
22529 * ira.c : Likewise.
22530 * jump.c : Likewise.
22531 * langhooks.c : Likewise.
22532 * lcm.c : Likewise.
22533 * libfuncs.h : Likewise.
22534 * lists.c : Likewise.
22535 * loop-doloop.c : Likewise.
22536 * loop-init.c : Likewise.
22537 * loop-invariant.c : Likewise.
22538 * loop-iv.c : Likewise.
22539 * loop-unroll.c : Likewise.
22540 * lower-subreg.c : Likewise.
22541 * lra-assigns.c : Likewise.
22542 * lra-coalesce.c : Likewise.
22543 * lra-constraints.c : Likewise.
22544 * lra-eliminations.c : Likewise.
22545 * lra-lives.c : Likewise.
22546 * lra-remat.c : Likewise.
22547 * lra-spills.c : Likewise.
22548 * lra.c : Likewise.
22549 * lto-cgraph.c : Likewise.
22550 * lto-compress.c : Likewise.
22551 * lto-opts.c : Likewise.
22552 * lto-section-in.c : Likewise.
22553 * lto-section-out.c : Likewise.
22554 * lto-streamer-in.c : Likewise.
22555 * lto-streamer-out.c : Likewise.
22556 * lto-streamer.c : Likewise.
22557 * lto-streamer.h : Likewise.
22558 * mcf.c : Likewise.
22559 * mode-switching.c : Likewise.
22560 * modulo-sched.c : Likewise.
22561 * omega.c : Likewise.
22562 * omp-low.c : Likewise.
22563 * optabs.c : Likewise.
22564 * opts-global.c : Likewise.
22565 * opts.h : Likewise.
22566 * passes.c : Likewise.
22567 * plugin.c : Likewise.
22568 * postreload-gcse.c : Likewise.
22569 * postreload.c : Likewise.
22570 * predict.c : Likewise.
22571 * print-rtl.c : Likewise.
22572 * print-tree.c : Likewise.
22573 * profile.c : Likewise.
22574 * read-md.c : Likewise.
22575 * read-md.h : Likewise.
22576 * read-rtl.c : Likewise.
22577 * real.c : Likewise.
22578 * realmpfr.c : Likewise.
22579 * recog.c : Likewise.
22580 * ree.c : Likewise.
22581 * reg-stack.c : Likewise.
22582 * regcprop.c : Likewise.
22583 * reginfo.c : Likewise.
22584 * regrename.c : Likewise.
22585 * regstat.c : Likewise.
22586 * reload.c : Likewise.
22587 * reload1.c : Likewise.
22588 * reorg.c : Likewise.
22589 * resource.c : Likewise.
22590 * rtl-chkp.c : Likewise.
22591 * rtl.c : Likewise.
22592 * rtl.h : Likewise.
22593 * rtlanal.c : Likewise.
22594 * rtlhash.c : Likewise.
22595 * rtlhash.h : Likewise.
22596 * rtlhooks.c : Likewise.
22597 * sanopt.c : Likewise.
22598 * sched-deps.c : Likewise.
22599 * sched-ebb.c : Likewise.
22600 * sched-rgn.c : Likewise.
22601 * sched-vis.c : Likewise.
22602 * sdbout.c : Likewise.
22603 * sel-sched-dump.c : Likewise.
22604 * sel-sched-ir.c : Likewise.
22605 * sel-sched-ir.h : Likewise.
22606 * sel-sched.c : Likewise.
22607 * sese.c : Likewise.
22608 * shrink-wrap.c : Likewise.
22609 * shrink-wrap.h : Likewise.
22610 * simplify-rtx.c : Likewise.
22611 * stack-ptr-mod.c : Likewise.
22612 * statistics.c : Likewise.
22613 * stmt.c : Likewise.
22614 * stor-layout.c : Likewise.
22615 * store-motion.c : Likewise.
22616 * stringpool.c : Likewise.
22617 * symtab.c : Likewise.
22618 * target-globals.c : Likewise.
22619 * targhooks.c : Likewise.
22620 * tlink.c : Likewise.
22621 * toplev.c : Likewise.
22622 * tracer.c : Likewise.
22623 * trans-mem.c : Likewise.
22624 * tree-affine.c : Likewise.
22625 * tree-affine.h : Likewise.
22626 * tree-browser.c : Likewise.
22627 * tree-call-cdce.c : Likewise.
22628 * tree-cfg.c : Likewise.
22629 * tree-cfgcleanup.c : Likewise.
22630 * tree-chkp-opt.c : Likewise.
22631 * tree-chkp.c : Likewise.
22632 * tree-chrec.c : Likewise.
22633 * tree-complex.c : Likewise.
22634 * tree-data-ref.c : Likewise.
22635 * tree-dfa.c : Likewise.
22636 * tree-diagnostic.c : Likewise.
22637 * tree-dump.c : Likewise.
22638 * tree-eh.c : Likewise.
22639 * tree-eh.h : Likewise.
22640 * tree-emutls.c : Likewise.
22641 * tree-hasher.h : Likewise.
22642 * tree-if-conv.c : Likewise.
22643 * tree-inline.c : Likewise.
22644 * tree-inline.h : Likewise.
22645 * tree-into-ssa.c : Likewise.
22646 * tree-iterator.c : Likewise.
22647 * tree-loop-distribution.c : Likewise.
22648 * tree-nested.c : Likewise.
22649 * tree-nrv.c : Likewise.
22650 * tree-object-size.c : Likewise.
22651 * tree-outof-ssa.c : Likewise.
22652 * tree-parloops.c : Likewise.
22653 * tree-phinodes.c : Likewise.
22654 * tree-predcom.c : Likewise.
22655 * tree-pretty-print.c : Likewise.
22656 * tree-profile.c : Likewise.
22657 * tree-scalar-evolution.c : Likewise.
22658 * tree-sra.c : Likewise.
22659 * tree-ssa-address.c : Likewise.
22660 * tree-ssa-alias.c : Likewise.
22661 * tree-ssa-ccp.c : Likewise.
22662 * tree-ssa-coalesce.c : Likewise.
22663 * tree-ssa-copy.c : Likewise.
22664 * tree-ssa-copyrename.c : Likewise.
22665 * tree-ssa-dce.c : Likewise.
22666 * tree-ssa-dom.c : Likewise.
22667 * tree-ssa-dse.c : Likewise.
22668 * tree-ssa-forwprop.c : Likewise.
22669 * tree-ssa-ifcombine.c : Likewise.
22670 * tree-ssa-live.c : Likewise.
22671 * tree-ssa-loop-ch.c : Likewise.
22672 * tree-ssa-loop-im.c : Likewise.
22673 * tree-ssa-loop-ivcanon.c : Likewise.
22674 * tree-ssa-loop-ivopts.c : Likewise.
22675 * tree-ssa-loop-manip.c : Likewise.
22676 * tree-ssa-loop-niter.c : Likewise.
22677 * tree-ssa-loop-prefetch.c : Likewise.
22678 * tree-ssa-loop-unswitch.c : Likewise.
22679 * tree-ssa-loop.c : Likewise.
22680 * tree-ssa-math-opts.c : Likewise.
22681 * tree-ssa-operands.c : Likewise.
22682 * tree-ssa-phiopt.c : Likewise.
22683 * tree-ssa-phiprop.c : Likewise.
22684 * tree-ssa-pre.c : Likewise.
22685 * tree-ssa-propagate.c : Likewise.
22686 * tree-ssa-reassoc.c : Likewise.
22687 * tree-ssa-sccvn.c : Likewise.
22688 * tree-ssa-scopedtables.c : Likewise.
22689 * tree-ssa-sink.c : Likewise.
22690 * tree-ssa-strlen.c : Likewise.
22691 * tree-ssa-structalias.c : Likewise.
22692 * tree-ssa-tail-merge.c : Likewise.
22693 * tree-ssa-ter.c : Likewise.
22694 * tree-ssa-threadedge.c : Likewise.
22695 * tree-ssa-threadupdate.c : Likewise.
22696 * tree-ssa-uncprop.c : Likewise.
22697 * tree-ssa-uninit.c : Likewise.
22698 * tree-ssa.c : Likewise.
22699 * tree-ssanames.c : Likewise.
22700 * tree-stdarg.c : Likewise.
22701 * tree-streamer-in.c : Likewise.
22702 * tree-streamer-out.c : Likewise.
22703 * tree-streamer.c : Likewise.
22704 * tree-streamer.h : Likewise.
22705 * tree-switch-conversion.c : Likewise.
22706 * tree-tailcall.c : Likewise.
22707 * tree-vect-data-refs.c : Likewise.
22708 * tree-vect-generic.c : Likewise.
22709 * tree-vect-loop-manip.c : Likewise.
22710 * tree-vect-loop.c : Likewise.
22711 * tree-vect-patterns.c : Likewise.
22712 * tree-vect-slp.c : Likewise.
22713 * tree-vect-stmts.c : Likewise.
22714 * tree-vectorizer.c : Likewise.
22715 * tree-vectorizer.h : Likewise.
22716 * tree-vrp.c : Likewise.
22717 * tree.c : Likewise.
22718 * tsan.c : Likewise.
22719 * ubsan.c : Likewise.
22720 * valtrack.c : Likewise.
22721 * valtrack.h : Likewise.
22722 * value-prof.c : Likewise.
22723 * var-tracking.c : Likewise.
22724 * varasm.c : Likewise.
22725 * varpool.c : Likewise.
22726 * vec.c: Likewise.
22727 * vmsdbgout.c : Likewise.
22728 * vtable-verify.c : Likewise.
22729 * vtable-verify.h : Likewise.
22730 * web.c : Likewise.
22731 * wide-int.cc : Likewise.
22732 * xcoffout.c : Likewise.
22733 * config/aarch64/aarch64-builtins.c : Likewise.
22734 * config/aarch64/aarch64.c : Likewise.
22735 * config/aarch64/cortex-a57-fma-steering.c : Likewise.
22736 * config/alpha/alpha.c : Likewise.
22737 * config/arc/arc.c : Likewise.
22738 * config/arm/aarch-common.c : Likewise.
22739 * config/arm/arm-builtins.c : Likewise.
22740 * config/arm/arm-c.c : Likewise.
22741 * config/arm/arm.c : Likewise.
22742 * config/avr/avr-c.c : Likewise.
22743 * config/avr/avr-log.c : Likewise.
22744 * config/avr/avr.c : Likewise.
22745 * config/bfin/bfin.c : Likewise.
22746 * config/c6x/c6x.c : Likewise.
22747 * config/cr16/cr16.c : Likewise.
22748 * config/cris/cris.c : Likewise.
22749 * config/darwin-c.c : Likewise.
22750 * config/darwin.c : Likewise.
22751 * config/default-c.c : Likewise.
22752 * config/epiphany/epiphany.c : Likewise.
22753 * config/epiphany/mode-switch-use.c : Likewise.
22754 * config/epiphany/resolve-sw-modes.c : Likewise.
22755 * config/fr30/fr30.c : Likewise.
22756 * config/frv/frv.c : Likewise.
22757 * config/ft32/ft32.c : Likewise.
22758 * config/glibc-c.c : Likewise.
22759 * config/h8300/h8300.c : Likewise.
22760 * config/i386/i386-c.c : Likewise.
22761 * config/i386/i386.c : Likewise.
22762 * config/i386/msformat-c.c : Likewise.
22763 * config/i386/winnt-cxx.c : Likewise.
22764 * config/i386/winnt-stubs.c : Likewise.
22765 * config/i386/winnt.c : Likewise.
22766 * config/ia64/ia64-c.c : Likewise.
22767 * config/ia64/ia64.c : Likewise.
22768 * config/iq2000/iq2000.c : Likewise.
22769 * config/lm32/lm32.c : Likewise.
22770 * config/m32c/m32c-pragma.c : Likewise.
22771 * config/m32c/m32c.c : Likewise.
22772 * config/m32r/m32r.c : Likewise.
22773 * config/m68k/m68k.c : Likewise.
22774 * config/mcore/mcore.c : Likewise.
22775 * config/mep/mep-pragma.c : Likewise.
22776 * config/mep/mep.c : Likewise.
22777 * config/microblaze/microblaze-c.c : Likewise.
22778 * config/microblaze/microblaze.c : Likewise.
22779 * config/mips/mips.c : Likewise.
22780 * config/mmix/mmix.c : Likewise.
22781 * config/mn10300/mn10300.c : Likewise.
22782 * config/moxie/moxie.c : Likewise.
22783 * config/msp430/msp430-c.c : Likewise.
22784 * config/msp430/msp430.c : Likewise.
22785 * config/nds32/nds32-cost.c : Likewise.
22786 * config/nds32/nds32-fp-as-gp.c : Likewise.
22787 * config/nds32/nds32-intrinsic.c : Likewise.
22788 * config/nds32/nds32-isr.c : Likewise.
22789 * config/nds32/nds32-md-auxiliary.c : Likewise.
22790 * config/nds32/nds32-memory-manipulation.c : Likewise.
22791 * config/nds32/nds32-pipelines-auxiliary.c : Likewise.
22792 * config/nds32/nds32-predicates.c : Likewise.
22793 * config/nds32/nds32.c : Likewise.
22794 * config/nios2/nios2.c : Likewise.
22795 * config/nvptx/nvptx.c : Likewise.
22796 * config/pa/pa.c : Likewise.
22797 * config/pdp11/pdp11.c : Likewise.
22798 * config/rl78/rl78-c.c : Likewise.
22799 * config/rl78/rl78.c : Likewise.
22800 * config/rs6000/rs6000-c.c : Likewise.
22801 * config/rs6000/rs6000.c : Likewise.
22802 * config/rx/rx.c : Likewise.
22803 * config/s390/s390-c.c : Likewise.
22804 * config/s390/s390.c : Likewise.
22805 * config/sh/sh-c.c : Likewise.
22806 * config/sh/sh-mem.cc : Likewise.
22807 * config/sh/sh.c : Likewise.
22808 * config/sh/sh_optimize_sett_clrt.cc : Likewise.
22809 * config/sh/sh_treg_combine.cc : Likewise.
22810 * config/sol2-c.c : Likewise.
22811 * config/sol2-cxx.c : Likewise.
22812 * config/sol2-stubs.c : Likewise.
22813 * config/sol2.c : Likewise.
22814 * config/sparc/sparc-c.c : Likewise.
22815 * config/sparc/sparc.c : Likewise.
22816 * config/spu/spu-c.c : Likewise.
22817 * config/spu/spu.c : Likewise.
22818 * config/stormy16/stormy16.c : Likewise.
22819 * config/tilegx/mul-tables.c : Likewise.
22820 * config/tilegx/tilegx-c.c : Likewise.
22821 * config/tilegx/tilegx.c : Likewise.
22822 * config/tilepro/mul-tables.c : Likewise.
22823 * config/tilepro/tilepro-c.c : Likewise.
22824 * config/tilepro/tilepro.c : Likewise.
22825 * config/v850/v850-c.c : Likewise.
22826 * config/v850/v850.c : Likewise.
22827 * config/vax/vax.c : Likewise.
22828 * config/visium/visium.c : Likewise.
22829 * config/vms/vms-c.c : Likewise.
22830 * config/vms/vms.c : Likewise.
22831 * config/vxworks.c : Likewise.
22832 * config/winnt-c.c : Likewise.
22833 * config/xtensa/xtensa.c : Likewise.
22834
22835 2015-06-08 Jan Hubicka <hubicka@ucw.cz>
22836
22837 PR lto/65378
22838 * ipa-utils.h (warn_types_mismatch): Update prototype.
22839 * ipa-devirt.c (odr_types_equivalent_p): Add loc1/loc2
22840 parameters.
22841 (type_mismatch_p): New function.
22842 (warn_types_mismatch): Reorg to work better on non-C++ types.
22843 (odr_types_equivalent_p): Add loc1/loc2 parameters.
22844 (add_type_duplicate): Update.
22845
22846 2015-06-08 Tom de Vries <tom@codesourcery.com>
22847
22848 PR rtl-optimization/66444
22849 * postreload.c (reload_combine): Use get_call_reg_set_usage instead of
22850 call_used_regs.
22851
22852 2015-06-08 Richard Biener <rguenther@suse.de>
22853
22854 PR tree-optimization/66422
22855 * tree-ssa-loop-ivcanon.c (remove_exits_and_undefined_stmts): Split
22856 block after inserted gcc_unreachable.
22857
22858 2015-06-08 Nick Clifton <nickc@redhat.com>
22859
22860 * config/rx/rx.c (rx_function_value): Do not promote vector types.
22861 (rx_promote_function_mode): Likewise.
22862 * config/rx/rx.h (LIBCALL_VALUE): Likewise.
22863
22864 2015-06-08 Jakub Jelinek <jakub@redhat.com>
22865
22866 * genattrtab.c (insn_alternatives): Change type from int *
22867 to uint64_t *.
22868 (check_attr_test): Shift ((uint64_t) 1) instead of 1 up.
22869 (get_attr_value): Change type of num_alt to uint64_t.
22870 (compute_alternative_mask): Change return type from
22871 int to uint64_t, shift ((uint64_t) 1) instead of 1 up.
22872 (make_alternative_compare, mk_attr_alt): Change argument type
22873 from int to uint64_t.
22874 (simplify_test_exp): Change type of i from int to uint64_t.
22875 Shift ((uint64_t) 1) instead of 1 up.
22876 (main): Adjust oballocvec first argument from int to uint64_t.
22877 Shift ((uint64_t) 1) instead of 1 up.
22878
22879 2015-06-08 Jan Kratochvil <jan.kratochvil@redhat.com>
22880
22881 PR other/65366
22882 * gdbhooks.py: Import sys.
22883 (intptr): New function. Replace int(...) by intptr(...).
22884
22885 2015-06-08 Richard Biener <rguenther@suse.de>
22886
22887 * tree-vect-stmts.c (vectorizable_load): Compute the pointer
22888 adjustment for gaps at the end of a SLP load group properly.
22889 * tree-vect-slp.c (vect_supported_load_permutation_p): Allow
22890 all permutations we can generate.
22891 (vect_transform_slp_perm_load): Use the correct group-size.
22892
22893 2015-06-08 Marc Glisse <marc.glisse@inria.fr>
22894
22895 * genmatch.c (expr::gen_transform): For conditions, guess the type
22896 from the second operand.
22897
22898 2015-06-08 Tom de Vries <tom@codesourcery.com>
22899
22900 PR tree-optimization/66442
22901 * gimple-iterator.h (gimple_seq_nondebug_singleton_p): Add function.
22902 * tree-parloops.c (try_transform_to_exit_first_loop_alt): Return false
22903 if the loop latch is not a singleton. Use
22904 gimple_seq_nondebug_singleton_p instead of gimple_seq_singleton_p.
22905
22906 2015-06-08 Marek Polacek <polacek@redhat.com>
22907
22908 PR sanitizer/66452
22909 * toplev.c (check_global_declaration): Don't warn about artificial
22910 decls.
22911
22912 2015-06-08 Tom de Vries <tom@codesourcery.com>
22913
22914 PR tree-optimization/66436
22915 * cgraphunit.c (cgraph_node::analyze): Don't dump function to gimple
22916 dump file.
22917 * gimplify.c: Add tree-dump.h include.
22918 (gimplify_function_tree): Dump function to gimple dump file.
22919 * stor-layout.c (finalize_size_functions): Don't dump function to gimple
22920 dump file.
22921
22922 2015-06-08 Tom de Vries <tom@codesourcery.com>
22923
22924 PR tree-optimization/66435
22925 * cgraphunit.c (cgraph_node::add_new_function): Dump message on new
22926 function.
22927
22928 2015-06-06 Jan Hubicka <hubicka@ucw.cz>
22929
22930 * alias.c (get_alias_set): Be ready for TYPE_CANONICAL
22931 of ptr_type_node to not be ptr_to_node.
22932 * tree.c (gimple_types_compatible_p): Do not match TREE_CODE of
22933 TREE_TYPE of pointers.
22934 * gimple-expr.c (useless_type_conversion): Reorder the check for
22935 function pointers and TYPE_CANONICAL.
22936
22937 2015-06-06 John David Anglin <danglin@gcc.gnu.org>
22938
22939 PR bootstrap/66319
22940 * config/pa/pa-hpux10.h (TARGET_OS_CPP_BUILTINS): Rearrange builtin
22941 defines. Define _LARGEFILE_SOURCE and _LARGEFILE64_SOURCE for c++.
22942 Define _XOPEN_UNIX and _XOPEN_SOURCE_EXTENDED for c++ if unix95 or
22943 later.
22944 * config/pa/pa-hpux11.h (TARGET_OS_CPP_BUILTINS): Likewise.
22945 Define _INCLUDE_STDC_SOURCE_PRE_199901, _INCLUDE_STDC_SOURCE_199901,
22946 _INCLUDE_XOPEN_SOURCE_PRE_500, _INCLUDE_XOPEN_SOURCE_520,
22947 _INCLUDE_XOPEN_SOURCE_PRE_600 and _INCLUDE_XOPEN_SOURCE_600 for c++
22948 and non iso if unix2003.
22949
22950 2015-06-06 Aldy Hernandez <aldyh@redhat.com>
22951
22952 * dwarf2out.c (gen_lexical_block_die): Initialize stmt_die.
22953
22954 2015-06-06 Richard Sandiford <richard.sandiford@arm.com>
22955
22956 * emit-rtl.c, expr.c, gcse.c, optabs.c, optabs.h, print-rtl.c,
22957 rtl.h, bb-reorder.c, builtins.c, calls.c, cfgbuild.c, cfgexpand.c,
22958 cfgrtl.c, cilk-common.c, config/i386/i386.md, cse.c, dwarf2cfi.c,
22959 except.c, final.c, function.c, gcse-common.c, genemit.c,
22960 haifa-sched.c, ifcvt.c, jump.c, loop-invariant.c, loop-iv.c,
22961 lra-constraints.c, lra.c, reload1.c, resource.c, rtlanal.c,
22962 sched-deps.c, sched-ebb.c, sel-sched-ir.c, sel-sched.c,
22963 shrink-wrap.c, stmt.c, store-motion.c: Replace rtx base types with
22964 more derived ones.
22965
22966 2015-06-06 Mikhail Maltsev <maltsevm@gmail.com>
22967
22968 * combine.c (combine_split_insns): Remove cast.
22969 * config/bfin/bfin.c (hwloop_fail): Add cast in try_split call.
22970 * config/sh/sh.c (sh_try_split_insn_simple): Remove cast.
22971 * config/sh/sh_treg_combine.cc (sh_treg_combine::execute): Add cast.
22972 * emit-rtl.c (try_split): Promote type of trial argument to rtx_insn.
22973 * genemit.c (gen_split): Change return type of generated functions to
22974 rtx_insn.
22975 * genrecog.c (get_failure_return): Use NULL instead of NULL_RTX.
22976 (print_subroutine_start): Promote rtx to rtx_insn in gen_split_* and
22977 gen_peephole2_* functions.
22978 (print_subroutine, main): Likewise.
22979 * recog.c (peephole2_optimize): Remove cast.
22980 (peep2_next_insn): Promote return type to rtx_insn.
22981 * recog.h (peep2_next_insn): Fix prototype.
22982 * rtl.h (try_split, split_insns): Likewise.
22983
22984 2015-06-06 DJ Delorie <dj@redhat.com>
22985
22986 * config/msp430/msp430.c (msp430_asm_integer): Support addition
22987 and subtraction too.
22988
22989 2015-06-05 Kaz Kojima <kkojima@gcc.gnu.org>
22990
22991 PR target/66410
22992 * config/sh/constraints.md (Sid, Ssd): New memory constraints.
22993 * config/sh/sh.md (*mov<mode>): Use Sid and Ssd alternatives
22994 instead of Snd. Disparage Sid/z alternative with '^'.
22995
22996 2015-06-05 Aldy Hernandez <aldyh@redhat.com>
22997
22998 * dwarf2out.c: Remove deferred_locations*.
22999 (dwarf2_debug_hooks): Add early_finish hook.
23000 Remove global_decl hook.
23001 Add early_global_decl and late_global_decl hook.
23002 New global early_dwarf.
23003 New structure set_early_dwarf.
23004 (output_die): Indicate whether a DIE was generated early
23005 when generating assembly with -dA.
23006 (struct limbo_die_struct): Document created_for field.
23007 Remove file_table_last_lookup.
23008 (remove_AT): Return TRUE if successful.
23009 (remove_child_TAG): Clear die_parent.
23010 (reparent_child): New function abstracted from...
23011 (splice_child_die): ...here.
23012 (new_die): ICE if a DIE ends up in limbo too late.
23013 (check_die): New.
23014 (defer_location): Remove.
23015 (add_subscript_info): Reuse DW_TAG_subrange_type if available.
23016 (fill_variable_array_bounds): New.
23017 (decl_start_label): Call fill_variable_array_bounds.
23018 (gen_formal_parameter_die): Rewrite to reuse previously generated
23019 DIEs.
23020 (gen_subprogram_die): Same.
23021 (gen_variable_die): Same.
23022 (gen_const_die): Same.
23023 (gen_label_die): Same.
23024 (gen_lexical_block_die): Same.
23025 (decl_will_get_specification_p): New.
23026 (local_function_static): New.
23027 (gen_struct_or_union_type_die): Fill in variable-length fields.
23028 (gen_typedef_die): Fill in variable-length typedefs.
23029 (gen_tagged_type_die): Gracefully return on error_mark_node.
23030 Handle re-entrancy.
23031 (gen_type_die_with_usage): Handle variable-length types.
23032 Remove duplicate code for ARRAY_TYPE case.
23033 (process_scope_var): Only process imported modules during early
23034 dwarf.
23035 (dwarf2out_early_global_decl): New.
23036 (dwarf2out_late_global_decl): Rename from dwarf2out_global_decl.
23037 (dwarf2out_type_decl): Set early_dwarf while calling
23038 dwarf2out_decl.
23039 (dwarf2out_decl): Verify that we did not recreate a previously
23040 generated DIE.
23041 Do not return on DECL_EXTERNALs in VAR_DECLs.
23042 Abstract some code to local_function_static.
23043 (lookup_filename): Remove use of file_table_last_lookup.
23044 Gracefully exit on missing file_name.
23045 (dwarf2out_finish): Verify limbo list.
23046 Remove deferred_locations_list use.
23047 Move deferred_asm_name and limbo flushing to...
23048 (dwarf2out_early_finish): ...here. New.
23049 (dwarf2out_c_finalize): Remove set of deferred_location_list,
23050 deferred_asm_name, and file_table_last_lookup.
23051 * cgraph.h (referred_to_p): Add default argument.
23052 * cgraphunit.c (referred_to_p): Add and handle include_self
23053 argument.
23054 (analyze_functions): Add first_time argument.
23055 Call check_global_declaration for all symbols.
23056 Call late_global_decl for nodes for moribund nodes.
23057 (finalize_compilation_unit): Add new argument to
23058 analyze_functions.
23059 Call early_global_decl for functions.
23060 Call early_finish debug hook.
23061 * dbxout.c (dbxout_early_global_decl): New.
23062 (dbxout_late_global_decl): New. Adapted from dbxout_global_decl.
23063 (dbx_debug_hooks): Add new hooks.
23064 (xcoff_debug_hooks): Same.
23065 * debug.c (do_nothing_debug_hooks): Add early_finish field.
23066 Add early and late debug hooks.
23067 Remove global_decl hook.
23068 * debug.h (struct gcc_debug_hooks): Add early_finish,
23069 early_global_decl, and late_global_decl fields.
23070 Remove global_decl field.
23071 Document gcc_debug_hooks.
23072 * gengtype.c (output_typename): Remove.
23073 * godump.c (go_early_global_decl): New.
23074 (go_late_global_decl): New.
23075 (go_global_decl): Remove.
23076 (dump_go_spec_init): Remove global_decl. Add
23077 {early,late}_global_decl.
23078 * langhooks-def.h (LANG_HOOKS_WRITE_GLOBALS): Remove.
23079 (LANG_HOOKS_POST_COMPILATION_PARSING_CLEANUPS): New.
23080 * langhooks.c (lhd_warn_unused_global_decl): Adjust comment.
23081 (write_global_declarations): Remove.
23082 (global_decl_processing): New.
23083 * langhooks.h (struct lang_hooks_for_decls): Remove
23084 final_write_globals field.
23085 Add post_compilation_parsing_cleanups field.
23086 * passes.c (rest_of_decl_compilation): Call early_global_decl.
23087 * sdbout.c: Add early and late_global_decl hooks. Remove
23088 sdbout_global_decl hook.
23089 Add early_finish field for sdb_debug_hooks.
23090 (sdbout_global_decl): Remove.
23091 (sdbout_early_global_decl): New.
23092 (sdbout_late_global_decl): New.
23093 * timevar.def (TV_PHASE_LATE_PARSING_CLEANUPS): New.
23094 * toplev.c (check_global_declaration): Rename from
23095 check_global_declaration_1.
23096 Adapt to use symtab infrastructure.
23097 (check_global_declarations): Remove.
23098 (emit_debug_global_declarations): Remove.
23099 (compile_file): Remove call to final_write_globals langhook.
23100 Run the actual compilation process.
23101 Perform any post compilation parser cleanups.
23102 Generate late debug info.
23103 * toplev.h (check_global_declaration): New.
23104 (check_global_declaration_1): Remove.
23105 (check_global_declarations): Remove.
23106 (write_global_declarations): Remove.
23107 (emit_debug_global_declarations): Remove.
23108 (global_decl_processing): New.
23109 * tree-core.h (struct tree_block): Add DIE field.
23110 * tree.h (BLOCK_DIE): New.
23111 * vmsdbgout.c (vmsdbgout_global_decl): Remove function and its use
23112 throughout.
23113 (vmsdbgout_early_global_decl): New.
23114 (vmsdbgout_late_global_decl): New.
23115 Add early_finish debug hook field to vmsdbg_debug_hooks.
23116 Remove vmsdbgout_decl to vmsdbgout_function_decl.
23117 Add early and late_global_decl debug hooks.
23118
23119 2015-06-05 Julian Brown <julian@codesourcery.com>
23120 Sandra Loosemore <sandra@codesourcery.com>
23121
23122 * config/print-sysroot-suffix.sh: Handle MULTILIB_REUSE settings.
23123 * config/t-sysroot-suffix (sysroot-suffix.h): Pass MULTILIB_REUSE
23124 to print-sysroot-suffix.sh script.
23125
23126 2015-06-05 Tom de Vries <tom@codesourcery.com>
23127
23128 merge from gomp4 branch:
23129 2015-05-28 Tom de Vries <tom@codesourcery.com>
23130
23131 PR tree-optimization/65443
23132 * tree-parloops.c (replace_imm_uses, replace_uses_in_bb_by)
23133 (replace_uses_in_bbs_by, transform_to_exit_first_loop_alt)
23134 (try_transform_to_exit_first_loop_alt): New function.
23135 (transform_to_exit_first_loop): Use
23136 try_transform_to_exit_first_loop_alt.
23137
23138 2015-06-05 James Greenhalgh <james.greenhalgh@arm.com>
23139
23140 * builtins.c (expand_builtin_atomic_compare_exchange): Call
23141 emit_cmp_and_jump_insns with the mode of target.
23142
23143 2015-06-05 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
23144
23145 * config/i386/sse.md (sse3_mwait): Swap the operand constriants.
23146
23147 2015-06-04 DJ Delorie <dj@redhat.com>
23148
23149 * config/msp430/msp430.md (movsi_s): New. Special case for
23150 storing a 20-bit symbol into a 32-bit register.
23151 * config/msp430/msp430.c (msp430_subreg): Add support for it.
23152 * config/msp430/predicates.md (msp430_symbol_operand): New.
23153
23154 2015-06-04 Sriraman Tallam <tmsriram@google.com>
23155
23156 * c-family/c-common.c (noplt): New attribute.
23157 (handle_noplt_attribute): New handler.
23158 * calls.c (prepare_call_address): Check for noplt
23159 attribute.
23160 * config/i386/i386.c (ix86_expand_call): Check
23161 for noplt attribute.
23162 (ix86_nopic_noplt_attribute_p): New function.
23163 (ix86_output_call_insn): Output indirect call for non-pic
23164 no plt calls.
23165 * doc/extend.texi (noplt): Document new attribute.
23166 * doc/invoke.texi: Document new attribute.
23167
23168 2015-06-04 Andrew MacLeod <amacleod@redhat.com>
23169
23170 * coretypes.h: Include machmode.h, signop.h, wide-int.h, double-int.h,
23171 real.h, and fixed-value.h when included in host source files.
23172 * double-int.h: Remove redundant #includes listed above.
23173 * fixed-value.h: Likewise.
23174 * real.h: Likewise.
23175 * wide-int.h: Likewise.
23176 * inchash.h: Likewise.
23177 * rtl.h: Add some include files When included from a generator file.
23178 * target.h: Remove wide-int.h and insn-modes.h from the include list.
23179 * internal-fn.h: Don't include coretypes.h.
23180 * alias.c: Adjust includes for restructured coretypes.h.
23181 * asan.c: Likewise.
23182 * attribs.c: Likewise.
23183 * auto-inc-dec.c: Likewise.
23184 * auto-profile.c: Likewise.
23185 * bb-reorder.c: Likewise.
23186 * bt-load.c: Likewise.
23187 * builtins.c: Likewise.
23188 * caller-save.c: Likewise.
23189 * calls.c: Likewise.
23190 * ccmp.c: Likewise.
23191 * cfg.c: Likewise.
23192 * cfganal.c: Likewise.
23193 * cfgbuild.c: Likewise.
23194 * cfgcleanup.c: Likewise.
23195 * cfgexpand.c: Likewise.
23196 * cfghooks.c: Likewise.
23197 * cfgloop.c: Likewise.
23198 * cfgloop.h: Likewise.
23199 * cfgloopanal.c: Likewise.
23200 * cfgloopmanip.c: Likewise.
23201 * cfgrtl.c: Likewise.
23202 * cgraph.c: Likewise.
23203 * cgraphbuild.c: Likewise.
23204 * cgraphclones.c: Likewise.
23205 * cgraphunit.c: Likewise.
23206 * cilk-common.c: Likewise.
23207 * combine-stack-adj.c: Likewise.
23208 * combine.c: Likewise.
23209 * compare-elim.c: Likewise.
23210 * convert.c: Likewise.
23211 * coverage.c: Likewise.
23212 * cppbuiltin.c: Likewise.
23213 * cprop.c: Likewise.
23214 * cse.c: Likewise.
23215 * cselib.c: Likewise.
23216 * data-streamer-in.c: Likewise.
23217 * data-streamer-out.c: Likewise.
23218 * data-streamer.c: Likewise.
23219 * dbxout.c: Likewise.
23220 * dce.c: Likewise.
23221 * ddg.c: Likewise.
23222 * debug.c: Likewise.
23223 * df-core.c: Likewise.
23224 * df-problems.c: Likewise.
23225 * df-scan.c: Likewise.
23226 * df.h: Likewise.
23227 * dfp.c: Likewise.
23228 * dojump.c: Likewise.
23229 * dominance.c: Likewise.
23230 * domwalk.c: Likewise.
23231 * double-int.c: Likewise.
23232 * dse.c: Likewise.
23233 * dumpfile.c: Likewise.
23234 * dwarf2asm.c: Likewise.
23235 * dwarf2cfi.c: Likewise.
23236 * dwarf2out.c: Likewise.
23237 * dwarf2out.h: Likewise.
23238 * emit-rtl.c: Likewise.
23239 * et-forest.c: Likewise.
23240 * except.c: Likewise.
23241 * explow.c: Likewise.
23242 * expmed.c: Likewise.
23243 * expr.c: Likewise.
23244 * final.c: Likewise.
23245 * fixed-value.c: Likewise.
23246 * fold-const.c: Likewise.
23247 * function.c: Likewise.
23248 * fwprop.c: Likewise.
23249 * gcc-plugin.h: Likewise.
23250 * gcse.c: Likewise.
23251 * generic-match-head.c: Likewise.
23252 * ggc-page.c: Likewise.
23253 * gimple-builder.c: Likewise.
23254 * gimple-expr.c: Likewise.
23255 * gimple-fold.c: Likewise.
23256 * gimple-iterator.c: Likewise.
23257 * gimple-low.c: Likewise.
23258 * gimple-match-head.c: Likewise.
23259 * gimple-pretty-print.c: Likewise.
23260 * gimple-ssa-isolate-paths.c: Likewise.
23261 * gimple-ssa-strength-reduction.c: Likewise.
23262 * gimple-streamer-in.c: Likewise.
23263 * gimple-streamer-out.c: Likewise.
23264 * gimple-streamer.h: Likewise.
23265 * gimple-walk.c: Likewise.
23266 * gimple.c: Likewise.
23267 * gimplify-me.c: Likewise.
23268 * gimplify.c: Likewise.
23269 * godump.c: Likewise.
23270 * graph.c: Likewise.
23271 * graphite-blocking.c: Likewise.
23272 * graphite-dependences.c: Likewise.
23273 * graphite-interchange.c: Likewise.
23274 * graphite-isl-ast-to-gimple.c: Likewise.
23275 * graphite-optimize-isl.c: Likewise.
23276 * graphite-poly.c: Likewise.
23277 * graphite-scop-detection.c: Likewise.
23278 * graphite-sese-to-poly.c: Likewise.
23279 * graphite.c: Likewise.
23280 * haifa-sched.c: Likewise.
23281 * hooks.h: Likewise.
23282 * hw-doloop.c: Likewise.
23283 * ifcvt.c: Likewise.
23284 * incpath.c: Likewise.
23285 * init-regs.c: Likewise.
23286 * internal-fn.c: Likewise.
23287 * ipa-chkp.c: Likewise.
23288 * ipa-comdats.c: Likewise.
23289 * ipa-cp.c: Likewise.
23290 * ipa-devirt.c: Likewise.
23291 * ipa-icf-gimple.c: Likewise.
23292 * ipa-icf.c: Likewise.
23293 * ipa-inline-analysis.c: Likewise.
23294 * ipa-inline-transform.c: Likewise.
23295 * ipa-inline.c: Likewise.
23296 * ipa-polymorphic-call.c: Likewise.
23297 * ipa-profile.c: Likewise.
23298 * ipa-prop.c: Likewise.
23299 * ipa-pure-const.c: Likewise.
23300 * ipa-ref.c: Likewise.
23301 * ipa-reference.c: Likewise.
23302 * ipa-split.c: Likewise.
23303 * ipa-utils.c: Likewise.
23304 * ipa-visibility.c: Likewise.
23305 * ipa.c: Likewise.
23306 * ira-build.c: Likewise.
23307 * ira-color.c: Likewise.
23308 * ira-conflicts.c: Likewise.
23309 * ira-costs.c: Likewise.
23310 * ira-emit.c: Likewise.
23311 * ira-lives.c: Likewise.
23312 * ira.c: Likewise.
23313 * jump.c: Likewise.
23314 * langhooks.c: Likewise.
23315 * lcm.c: Likewise.
23316 * loop-doloop.c: Likewise.
23317 * loop-init.c: Likewise.
23318 * loop-invariant.c: Likewise.
23319 * loop-iv.c: Likewise.
23320 * loop-unroll.c: Likewise.
23321 * lower-subreg.c: Likewise.
23322 * lra-assigns.c: Likewise.
23323 * lra-coalesce.c: Likewise.
23324 * lra-constraints.c: Likewise.
23325 * lra-eliminations.c: Likewise.
23326 * lra-lives.c: Likewise.
23327 * lra-remat.c: Likewise.
23328 * lra-spills.c: Likewise.
23329 * lra.c: Likewise.
23330 * lto-cgraph.c: Likewise.
23331 * lto-compress.c: Likewise.
23332 * lto-opts.c: Likewise.
23333 * lto-section-in.c: Likewise.
23334 * lto-section-out.c: Likewise.
23335 * lto-streamer-in.c: Likewise.
23336 * lto-streamer-out.c: Likewise.
23337 * lto-streamer.c: Likewise.
23338 * mcf.c: Likewise.
23339 * mode-switching.c: Likewise.
23340 * modulo-sched.c: Likewise.
23341 * omega.c: Likewise.
23342 * omp-low.c: Likewise.
23343 * optabs.c: Likewise.
23344 * opts-global.c: Likewise.
23345 * passes.c: Likewise.
23346 * plugin.c: Likewise.
23347 * postreload-gcse.c: Likewise.
23348 * postreload.c: Likewise.
23349 * predict.c: Likewise.
23350 * print-rtl.c: Likewise.
23351 * print-tree.c: Likewise.
23352 * profile.c: Likewise.
23353 * real.c: Likewise.
23354 * realmpfr.c: Likewise.
23355 * realmpfr.h: Likewise.
23356 * recog.c: Likewise.
23357 * ree.c: Likewise.
23358 * reg-stack.c: Likewise.
23359 * regcprop.c: Likewise.
23360 * reginfo.c: Likewise.
23361 * regrename.c: Likewise.
23362 * regs.h: Likewise.
23363 * regstat.c: Likewise.
23364 * reload.c: Likewise.
23365 * reload1.c: Likewise.
23366 * reorg.c: Likewise.
23367 * resource.c: Likewise.
23368 * rtl-chkp.c: Likewise.
23369 * rtlanal.c: Likewise.
23370 * rtlhooks.c: Likewise.
23371 * sanopt.c: Likewise.
23372 * sched-deps.c: Likewise.
23373 * sched-ebb.c: Likewise.
23374 * sched-rgn.c: Likewise.
23375 * sched-vis.c: Likewise.
23376 * sdbout.c: Likewise.
23377 * sel-sched-dump.c: Likewise.
23378 * sel-sched-ir.c: Likewise.
23379 * sel-sched.c: Likewise.
23380 * sese.c: Likewise.
23381 * shrink-wrap.c: Likewise.
23382 * shrink-wrap.h: Likewise.
23383 * simplify-rtx.c: Likewise.
23384 * stack-ptr-mod.c: Likewise.
23385 * statistics.c: Likewise.
23386 * stmt.c: Likewise.
23387 * stor-layout.c: Likewise.
23388 * store-motion.c: Likewise.
23389 * stringpool.c: Likewise.
23390 * symtab.c: Likewise.
23391 * target-globals.c: Likewise.
23392 * targhooks.c: Likewise.
23393 * toplev.c: Likewise.
23394 * tracer.c: Likewise.
23395 * trans-mem.c: Likewise.
23396 * tree-affine.c: Likewise.
23397 * tree-affine.h: Likewise.
23398 * tree-browser.c: Likewise.
23399 * tree-call-cdce.c: Likewise.
23400 * tree-cfg.c: Likewise.
23401 * tree-cfgcleanup.c: Likewise.
23402 * tree-chkp-opt.c: Likewise.
23403 * tree-chkp.c: Likewise.
23404 * tree-chrec.c: Likewise.
23405 * tree-complex.c: Likewise.
23406 * tree-data-ref.c: Likewise.
23407 * tree-dfa.c: Likewise.
23408 * tree-diagnostic.c: Likewise.
23409 * tree-dump.c: Likewise.
23410 * tree-eh.c: Likewise.
23411 * tree-emutls.c: Likewise.
23412 * tree-if-conv.c: Likewise.
23413 * tree-inline.c: Likewise.
23414 * tree-into-ssa.c: Likewise.
23415 * tree-iterator.c: Likewise.
23416 * tree-loop-distribution.c: Likewise.
23417 * tree-nested.c: Likewise.
23418 * tree-nrv.c: Likewise.
23419 * tree-object-size.c: Likewise.
23420 * tree-outof-ssa.c: Likewise.
23421 * tree-parloops.c: Likewise.
23422 * tree-phinodes.c: Likewise.
23423 * tree-predcom.c: Likewise.
23424 * tree-pretty-print.c: Likewise.
23425 * tree-pretty-print.h: Likewise.
23426 * tree-profile.c: Likewise.
23427 * tree-scalar-evolution.c: Likewise.
23428 * tree-sra.c: Likewise.
23429 * tree-ssa-address.c: Likewise.
23430 * tree-ssa-alias.c: Likewise.
23431 * tree-ssa-ccp.c: Likewise.
23432 * tree-ssa-coalesce.c: Likewise.
23433 * tree-ssa-copy.c: Likewise.
23434 * tree-ssa-copyrename.c: Likewise.
23435 * tree-ssa-dce.c: Likewise.
23436 * tree-ssa-dom.c: Likewise.
23437 * tree-ssa-dse.c: Likewise.
23438 * tree-ssa-forwprop.c: Likewise.
23439 * tree-ssa-ifcombine.c: Likewise.
23440 * tree-ssa-live.c: Likewise.
23441 * tree-ssa-loop-ch.c: Likewise.
23442 * tree-ssa-loop-im.c: Likewise.
23443 * tree-ssa-loop-ivcanon.c: Likewise.
23444 * tree-ssa-loop-ivopts.c: Likewise.
23445 * tree-ssa-loop-manip.c: Likewise.
23446 * tree-ssa-loop-niter.c: Likewise.
23447 * tree-ssa-loop-prefetch.c: Likewise.
23448 * tree-ssa-loop-unswitch.c: Likewise.
23449 * tree-ssa-loop.c: Likewise.
23450 * tree-ssa-loop.h: Likewise.
23451 * tree-ssa-math-opts.c: Likewise.
23452 * tree-ssa-operands.c: Likewise.
23453 * tree-ssa-phiopt.c: Likewise.
23454 * tree-ssa-phiprop.c: Likewise.
23455 * tree-ssa-pre.c: Likewise.
23456 * tree-ssa-propagate.c: Likewise.
23457 * tree-ssa-reassoc.c: Likewise.
23458 * tree-ssa-sccvn.c: Likewise.
23459 * tree-ssa-scopedtables.c: Likewise.
23460 * tree-ssa-sink.c: Likewise.
23461 * tree-ssa-strlen.c: Likewise.
23462 * tree-ssa-structalias.c: Likewise.
23463 * tree-ssa-tail-merge.c: Likewise.
23464 * tree-ssa-ter.c: Likewise.
23465 * tree-ssa-threadedge.c: Likewise.
23466 * tree-ssa-threadupdate.c: Likewise.
23467 * tree-ssa-uncprop.c: Likewise.
23468 * tree-ssa-uninit.c: Likewise.
23469 * tree-ssa.c: Likewise.
23470 * tree-ssanames.c: Likewise.
23471 * tree-stdarg.c: Likewise.
23472 * tree-streamer-in.c: Likewise.
23473 * tree-streamer-out.c: Likewise.
23474 * tree-streamer.c: Likewise.
23475 * tree-switch-conversion.c: Likewise.
23476 * tree-tailcall.c: Likewise.
23477 * tree-vect-data-refs.c: Likewise.
23478 * tree-vect-generic.c: Likewise.
23479 * tree-vect-loop-manip.c: Likewise.
23480 * tree-vect-loop.c: Likewise.
23481 * tree-vect-patterns.c: Likewise.
23482 * tree-vect-slp.c: Likewise.
23483 * tree-vect-stmts.c: Likewise.
23484 * tree-vectorizer.c: Likewise.
23485 * tree-vrp.c: Likewise.
23486 * tree.c: Likewise.
23487 * tsan.c: Likewise.
23488 * ubsan.c: Likewise.
23489 * valtrack.c: Likewise.
23490 * value-prof.c: Likewise.
23491 * var-tracking.c: Likewise.
23492 * varasm.c: Likewise.
23493 * varpool.c: Likewise.
23494 * vmsdbgout.c: Likewise.
23495 * vtable-verify.c: Likewise.
23496 * web.c: Likewise.
23497 * wide-int-print.cc: Likewise.
23498 * wide-int-print.h: Likewise.
23499 * wide-int.cc: Likewise.
23500 * xcoffout.c: Likewise.
23501 * config/aarch64/aarch64-builtins.c: Likewise.
23502 * config/aarch64/aarch64.c: Likewise.
23503 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
23504 * config/alpha/alpha.c: Likewise.
23505 * config/arc/arc.c: Likewise.
23506 * config/arm/aarch-common.c: Likewise.
23507 * config/arm/arm-builtins.c: Likewise.
23508 * config/arm/arm-c.c: Likewise.
23509 * config/arm/arm.c: Likewise.
23510 * config/avr/avr-c.c: Likewise.
23511 * config/avr/avr-log.c: Likewise.
23512 * config/avr/avr.c: Likewise.
23513 * config/bfin/bfin.c: Likewise.
23514 * config/c6x/c6x.c: Likewise.
23515 * config/cr16/cr16.c: Likewise.
23516 * config/cris/cris.c: Likewise.
23517 * config/darwin-c.c: Likewise.
23518 * config/darwin.c: Likewise.
23519 * config/default-c.c: Likewise.
23520 * config/epiphany/epiphany.c: Likewise.
23521 * config/epiphany/mode-switch-use.c: Likewise.
23522 * config/epiphany/resolve-sw-modes.c: Likewise.
23523 * config/fr30/fr30.c: Likewise.
23524 * config/frv/frv.c: Likewise.
23525 * config/ft32/ft32.c: Likewise.
23526 * config/glibc-c.c: Likewise.
23527 * config/h8300/h8300.c: Likewise.
23528 * config/i386/i386-c.c: Likewise.
23529 * config/i386/i386.c: Likewise.
23530 * config/i386/msformat-c.c: Likewise.
23531 * config/i386/winnt-cxx.c: Likewise.
23532 * config/i386/winnt-stubs.c: Likewise.
23533 * config/i386/winnt.c: Likewise.
23534 * config/ia64/ia64-c.c: Likewise.
23535 * config/ia64/ia64.c: Likewise.
23536 * config/iq2000/iq2000.c: Likewise.
23537 * config/lm32/lm32.c: Likewise.
23538 * config/m32c/m32c-pragma.c: Likewise.
23539 * config/m32c/m32c.c: Likewise.
23540 * config/m32r/m32r.c: Likewise.
23541 * config/m68k/m68k.c: Likewise.
23542 * config/mcore/mcore.c: Likewise.
23543 * config/mep/mep-pragma.c: Likewise.
23544 * config/mep/mep.c: Likewise.
23545 * config/microblaze/microblaze-c.c: Likewise.
23546 * config/microblaze/microblaze.c: Likewise.
23547 * config/mips/mips.c: Likewise.
23548 * config/mmix/mmix.c: Likewise.
23549 * config/mn10300/mn10300.c: Likewise.
23550 * config/moxie/moxie.c: Likewise.
23551 * config/msp430/msp430-c.c: Likewise.
23552 * config/msp430/msp430.c: Likewise.
23553 * config/nds32/nds32-cost.c: Likewise.
23554 * config/nds32/nds32-fp-as-gp.c: Likewise.
23555 * config/nds32/nds32-intrinsic.c: Likewise.
23556 * config/nds32/nds32-isr.c: Likewise.
23557 * config/nds32/nds32-md-auxiliary.c: Likewise.
23558 * config/nds32/nds32-memory-manipulation.c: Likewise.
23559 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
23560 * config/nds32/nds32-predicates.c: Likewise.
23561 * config/nds32/nds32.c: Likewise.
23562 * config/nios2/nios2.c: Likewise.
23563 * config/nvptx/nvptx.c: Likewise.
23564 * config/pa/pa.c: Likewise.
23565 * config/pdp11/pdp11.c: Likewise.
23566 * config/rl78/rl78-c.c: Likewise.
23567 * config/rl78/rl78.c: Likewise.
23568 * config/rs6000/rs6000-c.c: Likewise.
23569 * config/rs6000/rs6000.c: Likewise.
23570 * config/rx/rx.c: Likewise.
23571 * config/s390/s390-c.c: Likewise.
23572 * config/s390/s390.c: Likewise.
23573 * config/sh/sh-c.c: Likewise.
23574 * config/sh/sh-mem.cc: Likewise.
23575 * config/sh/sh.c: Likewise.
23576 * config/sh/sh_optimize_sett_clrt.cc: Likewise.
23577 * config/sh/sh_treg_combine.cc: Likewise.
23578 * config/sol2-c.c: Likewise.
23579 * config/sol2-cxx.c: Likewise.
23580 * config/sol2-stubs.c: Likewise.
23581 * config/sol2.c: Likewise.
23582 * config/sparc/sparc-c.c: Likewise.
23583 * config/sparc/sparc.c: Likewise.
23584 * config/spu/spu-c.c: Likewise.
23585 * config/spu/spu.c: Likewise.
23586 * config/stormy16/stormy16.c: Likewise.
23587 * config/tilegx/mul-tables.c: Likewise.
23588 * config/tilegx/tilegx-c.c: Likewise.
23589 * config/tilegx/tilegx.c: Likewise.
23590 * config/tilepro/mul-tables.c: Likewise.
23591 * config/tilepro/tilepro-c.c: Likewise.
23592 * config/tilepro/tilepro.c: Likewise.
23593 * config/v850/v850-c.c: Likewise.
23594 * config/v850/v850.c: Likewise.
23595 * config/vax/vax.c: Likewise.
23596 * config/visium/visium.c: Likewise.
23597 * config/vms/vms-c.c: Likewise.
23598 * config/vms/vms.c: Likewise.
23599 * config/vxworks.c: Likewise.
23600 * config/winnt-c.c: Likewise.
23601 * config/xtensa/xtensa.c: Likewise.
23602 * common/config/bfin/bfin-common.c: Likewise.
23603
23604 2015-06-04 Jan Hubicka <hubicka@ucw.cz>
23605
23606 * tree.h (tree_code_for_canonical_type_merging): New function.
23607 * tree.c (gimple_canonical_types_compatible_p): Use
23608 tree_code_for_canonical_type_merging..
23609
23610 2015-06-04 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
23611
23612 PR c++/66192
23613 PR target/66200
23614 * doc/tm.texi: Regenerate.
23615 * doc/tm.texi.in (TARGET_RELAXED_ORDERING): Delete.
23616 * target.def (TARGET_RELAXED_ORDERING): Likewise.
23617 * config/alpha/alpha.c (TARGET_RELAXED_ORDERING): Likewise.
23618 * config/ia64/ia64.c (TARGET_RELAXED_ORDERING): Likewise.
23619 * config/rs6000/rs6000.c (TARGET_RELAXED_ORDERING): Likewise.
23620 * config/sparc/linux.h (SPARC_RELAXED_ORDERING): Likewise.
23621 * config/sparc/linux64.h (SPARC_RELAXED_ORDERING): Likewise.
23622 * config/sparc/sparc.c (TARGET_RELAXED_ORDERING): Likewise.
23623 * config/sparc/sparc.h (SPARC_RELAXED_ORDERING): Likewise.
23624
23625 2015-06-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23626
23627 * config/aarch64/aarch64.c (aarch64_override_options): Unconditionally
23628 register fma steering pass.
23629 * config/aarch64/cortex-a57-fma-steering.c (gate): Add gating on
23630 AARCH64_TUNE_FMA_STEERING.
23631
23632 2015-06-03 Jan Hubicka <hubicka@ucw.cz>
23633
23634 * tree.c (verify_type_variant): Verify that type and variant is
23635 compatible.
23636 (gimple_canonical_types_compatible_p): Look for main variants.
23637
23638 2015-06-03 Michael Meissner <meissner@linux.vnet.ibm.com>
23639
23640 * config.gcc (powerpc*-*-*): Add support for a new configure
23641 option --with-advance-toolchain=<xxx> which overrides using the
23642 default header files, libraries and dynamic linker.
23643
23644 * config/rs6000/linux64.h (SUBSUBTARGET_EXTRA_SPECS): Add new
23645 specs to support the configure --with-advance-toolchain=<xxx>
23646 option.
23647 (INCLUDE_EXTRA_SPEC): Likewise.
23648 (LINK_OS_EXTRA_SPEC32): Likewise.
23649 (LINK_OK_EXTRA_SPEC64): Likewise.
23650 (LINK_OS_NEW_DTAGS_SPEC): Likewise.
23651 (DYNAMIC_LINKER_PREFIX): Likewise.
23652 (CPP_OS_DEFAULT_SPEC): Use the new specs for providing advance
23653 toolchain support.
23654 (GLIBC_DYNAMIC_LINKER32): Likewise.
23655 (GLIBC_DYNAMIC_LINKER64): Likewise.
23656 (LINK_OS_LINUX_SPEC32): Likewise.
23657 (LINK_OS_LINUX_SPEC64): Likewise.
23658
23659 * doc/install.texi (--enable-advance-toolchain=<xx>): Document new
23660 configuration option.
23661
23662 2015-06-03 Uros Bizjak <ubizjak@gmail.com>
23663
23664 PR target/66275
23665 * config/i386/i386.c (ix86_function_arg_regno): Use ix86_cfun_abi
23666 to determine current function ABI.
23667 (ix86_function_value_regno_p): Ditto.
23668
23669 2015-06-03 Martin Liska <mliska@suse.cz>
23670
23671 * alloc-pool.h (struct pool_usage): Correct GNU coding style.
23672 * bitmap.h (struct bitmap_usage): Likewise.
23673 * ggc-common.c (struct ggc_usage): Likewise.
23674 * mem-stats.h (struct mem_location): Likewise.
23675 (struct mem_usage): Likewise.
23676 * vec.c (struct vec_usage): Likewise.
23677
23678 2015-06-03 Benigno B. Junior <bbj@gentoo.org>
23679
23680 * config/netbsd-elf.h (NETBSD_LINK_SPEC_ELF): Turn -symbolic into
23681 -Bsymbolic.
23682
23683 2015-06-02 Andres Tiraboschi <andres.tiraboschi@tallertechnologies.com>
23684
23685 * doc/plugins.texi (enum plugin_event): New event.
23686 * plugin.c (register_callback): Handle PLUGIN_START_PARSE_FUNCTION
23687 and PLUGIN_FINISH_FUNCTION.
23688 * plugin.def (PLUGIN_START_PARSE_FUNCTION): Add plugin event
23689 (PLUGIN_FINISH_PARSE_FUNCTION): Likewise.
23690
23691 2015-06-03 Richard Biener <rguenther@suse.de>
23692
23693 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
23694 compute GROUP_GAP for the first element.
23695 * tree-vect-slp.c (vect_build_slp_tree_1): Remove restriction
23696 on in-group gaps.
23697
23698 2015-06-03 Nick Clifton <nickc@redhat.com>
23699
23700 * config/rl78/rl78-real.md: Add peepholes to avoid a register
23701 copy when calling a function.
23702 * config/rl78/rl78.c (need_to_save): Do not push the frame
23703 pointer in an interrupt handler prologue if it is never used.
23704
23705 2015-06-03 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
23706
23707 * ifcvt (end_ifcvt_sequence): Fix typo in comment above.
23708
23709 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
23710
23711 * ipa-chkp.c (chkp_maybe_create_clone): Create alias
23712 reference when cloning alias node.
23713
23714 2015-06-03 Martin Liska <mliska@suse.cz>
23715
23716 * alloc-pool.h (struct pool_usage): Correct space padding.
23717 * ggc-page.c (ggc_print_statistics): Align columns in a report.
23718 * mem-stats.h (struct mem_usage): Add argument to print_dash_line.
23719 * tree.c (dump_tree_statistics): Align columns in a report.
23720
23721 2015-06-03 Martin Liska <mliska@suse.cz>
23722
23723 * alloc-pool.c (allocate_pool_descriptor): Remove.
23724 (struct pool_output_info): Likewise.
23725 (print_alloc_pool_statistics): Likewise.
23726 (dump_alloc_pool_statistics): Likewise.
23727 * alloc-pool.h (struct pool_usage): New struct.
23728 (pool_allocator::initialize): Change usage of memory statistics
23729 to a new interface.
23730 (pool_allocator::release): Likewise.
23731 (pool_allocator::allocate): Likewise.
23732 (pool_allocator::remove): Likewise.
23733 * mem-stats-traits.h (enum mem_alloc_origin): Add new enum value
23734 for a pool allocator.
23735 * mem-stats.h (struct mem_location): Add new ctor.
23736 (struct mem_usage): Add counter for number of
23737 instances.
23738 (mem_alloc_description::register_descriptor): New overload of
23739 * mem-stats.h (mem_location::to_string): New function.
23740 * bitmap.h (struct bitmap_usage): Use this new function.
23741 * ggc-common.c (struct ggc_usage): Likewise.
23742 the function.
23743
23744 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
23745
23746 * defaults.h (SWITCHABLE_TARGET, TARGET_SUPPORTS_WIDE_INT): Move out
23747 of GCC_INSN_FLAGS_H block.
23748
23749 2015-06-03 Andrew Bennett <andrew.bennett@imgtec.com>
23750
23751 * explow.c (plus_constant): Update check after force_const_mem call
23752 to see if the value returned is not a NULL_RTX.
23753
23754 2015-06-03 Ilya Enkovich <ilya.enkovich@intel.com>
23755
23756 * ipa.c (symbol_table::remove_unreachable_nodes): Don't
23757 remove instumentation thunks calling reachable functions.
23758 * lto-cgraph.c (output_refs): Always output IPA_REF_CHKP.
23759 * lto/lto-partition.c (privatize_symbol_name_1): New.
23760 (privatize_symbol_name): Privatize both decl and orig_decl
23761 names for instrumented functions.
23762 * cgraph.c (cgraph_node::verify_node): Add transparent
23763 alias chain check for instrumented node.
23764
23765 2015-06-03 Marek Polacek <polacek@redhat.com>
23766
23767 PR c/64223
23768 PR c/29358
23769 * tree.c (attribute_value_equal): Handle attribute format.
23770 (cmp_attrib_identifiers): Factor out of lookup_ident_attribute.
23771
23772 2015-06-03 Richard Biener <rguenther@suse.de>
23773
23774 PR tree-optimization/63916
23775 * tree-ssa-sccvn.c (vn_reference_maybe_forwprop_address):
23776 Forward-propagate non-invariant addresses by splicing their
23777 reference ops if the result isn't going to be used by PRE.
23778 (vn_reference_lookup_3): Remove pointless assert.
23779
23780 2015-06-03 Richard Biener <rguenther@suse.de>
23781
23782 PR tree-optimization/66375
23783 * tree-scalar-evolution.c (follow_ssa_edge_binary): First
23784 add to the evolution before following SSA edges.
23785
23786 2015-06-03 Bin Cheng <bin.cheng@arm.com>
23787
23788 * tree-ssa-loop-ivopts.c (dump_iv): New parameter.
23789 (dump_use, dump_cand, find_induction_variables): Pass new argument
23790 to dump_iv.
23791 (record_use): Preserve the ssa name information in IV.
23792
23793 2015-06-03 Richard Sandiford <richard.sandiford@arm.com>
23794
23795 * genpreds.c (mark_mode_tests): Mark all MATCH_CODEs as
23796 NO_MODE_TEST.
23797 (add_mode_tests): Don't add mode tests if the predicate only
23798 accepts scalar constant integers. Otherwise, allow the mode
23799 of "op" to be VOIDmode if the predicate does accept such integers.
23800
23801 2015-06-02 Jim Wilson <jim.wilson@linaro.org>
23802
23803 PR target/66258
23804 * config/aarch64/aarch64.c (aarch64_function_value_regno_p): Change
23805 !TARGET_GENERAL_REGS_ONLY to TARGET_FLOAT.
23806 (aarch64_secondary_reload): Likewise
23807 (aarch64_expand_builtin_va_start): Change TARGET_GENERAL_REGS_ONLY
23808 to !TARGET_FLOAT.
23809 (aarch64_gimplify_va_arg_expr, aarch64_setup_incoming_varargs):
23810 Likewise.
23811
23812 2015-06-03 Kugan Vivekanandarajah <kuganv@linaro.org>
23813 Zhenqiang Chen <zhenqiang.chen@linaro.org>
23814
23815 PR target/65768
23816 * cprop.c (try_replace_reg): Check cost of constants before propagating.
23817
23818 2015-06-02 Michael Meissner <meissner@linux.vnet.ibm.com>
23819
23820 * config/rs6000/rs6000-modes.def (IFmode): Define IFmode to
23821 provide access to the IBM extended double floating point mode if
23822 long double is IEEE 128-bit floating point.
23823 (KFmode): Define KFmode to provide access to IEEE 128-bit floating
23824 point if long double is the IBM extended double type.
23825
23826 * config/rs6000/rs6000.opt (-mfloat128-none): New switches to
23827 enable adding IEEE 128-bit floating point support.
23828 (-mfloat128-software): Likewise.
23829 (-mfloat128-sw): Likewise.
23830
23831 * config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Do not allow
23832 128-bit floating point types to occupy any register if
23833 -mlong-double-64. Do not allow use of IFmode/KFmode unless
23834 -mfloat128-software is enabled.
23835 (rs6000_debug_reg_global): Add IEEE 128-bit floating point debug
23836 support.
23837 (rs6000_option_override_internal): Add -mfloat128-* support.
23838 (rs6000_init_builtins): Setup __ibm128 and __float128 type modes.
23839
23840 * config/rs6000/rs6000.h (rs6000_builtin_type_index): Add ibm128
23841 and float128 type nodes.
23842 (ieee128_float_type_node): Likewise.
23843 (ibm128_float_type_node): Likewise.
23844
23845 2015-06-02 Szabolcs Nagy <szabolcs.nagy@arm.com>
23846
23847 PR target/66136
23848 * config/aarch64/geniterators.sh: Rewrite in awk.
23849
23850 2015-06-02 Martin Liska <mliska@suse.cz>
23851
23852 * alloc-pool.h (pool_allocator::pool_allocator): Set implicit
23853 values to avoid -Wmaybe-uninitialized errors.
23854
23855 2015-06-02 Richard Biener <rguenther@suse.de>
23856
23857 PR debug/65549
23858 * dwarf2out.c (lookup_context_die): New function.
23859 (resolve_addr): Avoid forcing a full DIE for the
23860 target of a DW_TAG_GNU_call_site during late compilation.
23861 Instead create a stub DIE without a type if we have a
23862 context DIE present.
23863
23864 2015-06-02 Uros Bizjak <ubizjak@gmail.com>
23865
23866 * df-scan.c (df_scan_start_dump): Add space between regno and regname.
23867
23868 2015-06-02 Bin Cheng <bin.cheng@arm.com>
23869
23870 PR tree-optimization/48052
23871 * cfgloop.h (struct control_iv): New.
23872 (struct loop): New field control_ivs.
23873 * tree-ssa-loop-niter.c : Include "stor-layout.h".
23874 (number_of_iterations_lt): Set no_overflow information.
23875 (number_of_iterations_exit): Init control iv in niter struct.
23876 (record_control_iv): New.
23877 (estimate_numbers_of_iterations_loop): Call record_control_iv.
23878 (loop_exits_before_overflow): New. Interface factored out of
23879 scev_probably_wraps_p.
23880 (scev_probably_wraps_p): Factor loop niter related code into
23881 loop_exits_before_overflow.
23882 (free_numbers_of_iterations_estimates_loop): Free control ivs.
23883 * tree-ssa-loop-niter.h (free_loop_control_ivs): New.
23884
23885 2015-06-02 Eric Botcazou <ebotcazou@adacore.com>
23886
23887 * gimplify.c (gimplify_modify_expr): Do not create a DECL_DEBUG_EXPR if
23888 the target doesn't belong to the current function.
23889
23890 2015-06-02 Marek Polacek <polacek@redhat.com>
23891
23892 PR middle-end/66345
23893 * gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
23894 get_maxval_strlen does not produce an INTEGER_CST.
23895
23896 2015-06-02 Richard Sandiford <richard.sandiford@arm.com>
23897
23898 * config/arc/constraints.md: Use lower-case names in match_code.
23899 * config/mmix/constraints.md: Likewise.
23900
23901 2015-06-02 Richard Biener <rguenther@suse.de>
23902
23903 PR tree-optimization/65961
23904 * tree-vect-slp.c (vect_get_and_check_slp_defs): Remove bogus
23905 check and clarify dump message.
23906 (vect_build_slp_tree): If all children are built up from scalars
23907 build up the parent from scalars instead.
23908 * tree-vect-stmts.c (vect_is_simple_use): Cleanup.
23909
23910 2015-06-02 Jan Kratochvil <jan.kratochvil@redhat.com>
23911
23912 PR other/65366
23913 * gdbhooks.py: Use int(...) instead of long(...). Use print(...)
23914 instead of print ... .
23915
23916 2015-06-02 Alan Modra <amodra@gmail.com>
23917
23918 * config/rs6000/vsx.md (vsx_extract_v4sf): Revert accidental
23919 2014-08-11 change.
23920
23921 2015-06-02 Bin Cheng <bin.cheng@arm.com>
23922
23923 PR tree-optimization/52563
23924 PR tree-optimization/62173
23925 * tree-ssa-loop-ivopts.c (struct iv): New field. Reorder fields.
23926 (alloc_iv, set_iv): New parameter.
23927 (determine_biv_step): Delete.
23928 (find_bivs): Inline original determine_biv_step. Pass new
23929 argument to set_iv.
23930 (idx_find_step): Use no_overflow information for conversion.
23931 * tree-scalar-evolution.c (analyze_scalar_evolution_in_loop): Let
23932 resolve_mixers handle folded_casts.
23933 (instantiate_scev_name): Change bool parameter to bool pointer.
23934 (instantiate_scev_poly, instantiate_scev_binary): Ditto.
23935 (instantiate_array_ref, instantiate_scev_not): Ditto.
23936 (instantiate_scev_3, instantiate_scev_2): Ditto.
23937 (instantiate_scev_1, instantiate_scev_r): Ditto.
23938 (instantiate_scev_convert, ): Change parameter. Pass argument
23939 to chrec_convert_aggressive.
23940 (instantiate_scev): Change argument.
23941 (resolve_mixers): New parameter and set it.
23942 (scev_const_prop): New argument.
23943 * tree-scalar-evolution.h (resolve_mixers): New parameter.
23944 * tree-chrec.c (convert_affine_scev): Call chrec_convert instead
23945 of chrec_conert_1.
23946 (chrec_convert): New parameter. Move definition below.
23947 (chrec_convert_aggressive): New parameter and set it. Call
23948 convert_affine_scev.
23949 * tree-chrec.h (chrec_convert): New parameter.
23950 (chrec_convert_aggressive): Ditto.
23951
23952 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
23953
23954 * gimplify.c (gimplify_modify_expr_rhs): Use simple test on the size.
23955 * cgraph.c (cgraph_redirect_edge_call_stmt_to_callee): Do not remove
23956 the LHS of a no-return call if its type has variable size.
23957 * tree-cfgcleanup.c (fixup_noreturn_call): Likewise.
23958 * tree-cfg.c (verify_gimple_call): Accept these no-return calls.
23959
23960 2015-06-01 Andreas Tobler <andreast@gcc.gnu.org>
23961
23962 * read-rtl.c: Adapt to use HAVE_DECL_ATOLL instead of HAVE_ATOLL.
23963 * config.in: Regenerate.
23964
23965 2015-06-01 Yuri Rumyantsev <ysrumyan@gmail.com>
23966
23967 * tree-vect-data-refs.c (vect_analyze_data_ref_access): Allow
23968 consecutive accesses within outer-loop with force_vectorize
23969 for references with zero step in inner-loop.
23970
23971 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
23972
23973 * Makefile.in: Pick up gcov-dump dependencies from gcc/ directory
23974 rather than from gcc/build directory.
23975
23976 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
23977
23978 PR target/65697
23979 * config/aarch64/aarch64.c (aarch64_split_compare_and_swap): Check
23980 for __sync memory models, emit initial loads and final barriers as
23981 appropriate.
23982
23983 2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
23984
23985 PR target/65697
23986 * config/aarch64/aarch64.c (aarch64_emit_post_barrier):New.
23987 (aarch64_split_atomic_op): Check for __sync memory models, emit
23988 appropriate initial loads and final barriers.
23989
23990 2015-06-01 Vidya Praveen <vidyapraveen@arm.com>
23991
23992 * Makefile.in: Fix gcov dependencies that should
23993 not point to a build folder.
23994
23995 2015-06-01 Richard Biener <rguenther@suse.de>
23996
23997 Revert
23998 2015-05-29 Richard Biener <rguenther@suse.de>
23999
24000 PR tree-optimization/66314
24001 * tree-ssa-threadupdate.c (create_block_for_threading): Add
24002 parameter that says which loop the new block belongs to.
24003 (ssa_create_duplicates): Blocks duplicated for the threaded
24004 path belong to the loop of the thread destination.
24005
24006 2015-06-01 Martin Liska <mliska@suse.cz>
24007
24008 * sched-deps.c: Include pool-alloc.h before
24009 cselib.h header file is included.
24010
24011 2015-06-01 Richard Biener <rguenther@suse.de>
24012
24013 * tree-ssa-structalias.c (ipa_pta_execute): Handle address-taken
24014 functions.
24015
24016 2015-06-01 Martin Liska <mliska@suse.cz>
24017
24018 * alloc-pool.h: Add ATTRIBUTE_UNUSED for
24019 a function local variable.
24020
24021 2015-06-01 Martin Liska <mliska@suse.cz>
24022
24023 * alloc-pool.c (create_alloc_pool): Remove.
24024 (empty_alloc_pool): Likewise.
24025 (free_alloc_pool): Likewise.
24026 (free_alloc_pool_if_empty): Likewise.
24027 (pool_alloc): Likewise.
24028 (pool_free): Likewise.
24029 * alloc-pool.h: Remove old declarations.
24030
24031 2015-06-01 Martin Liska <mliska@suse.cz>
24032
24033 * ira-build.c (initiate_allocnos): Use new type-based pool allocator.
24034 (ira_create_object): Likewise.
24035 (ira_create_allocno): Likewise.
24036 (ira_create_live_range): Likewise.
24037 (copy_live_range): Likewise.
24038 (ira_finish_live_range): Likewise.
24039 (ira_free_allocno_costs): Likewise.
24040 (finish_allocno): Likewise.
24041 (finish_allocnos): Likewise.
24042 (initiate_prefs): Likewise.
24043 (ira_create_pref): Likewise.
24044 (finish_pref): Likewise.
24045 (finish_prefs): Likewise.
24046 (initiate_copies): Likewise.
24047 (ira_create_copy): Likewise.
24048 (finish_copy): Likewise.
24049 (finish_copies): Likewise.
24050 (finish_prefs): Likewise.
24051
24052 2015-06-01 Martin Liska <mliska@suse.cz>
24053
24054 * ipa-cp.c (ipcp_value::add_source): Use new type-based pool allocator.
24055 (allocate_and_init_ipcp_value): Likewise.
24056 (ipcp_lattice::add_value): Likewise.
24057 (merge_agg_lats_step): Likewise.
24058 (ipcp_driver): Likewise.
24059 * ipa-prop.c (ipa_free_all_structures_after_ipa_cp): Likewise.
24060 (ipa_free_all_structures_after_iinln): Likewise.
24061 * ipa-prop.h: Likewise.
24062
24063 2015-06-01 Martin Liska <mliska@suse.cz>
24064
24065 * ipa-inline-analysis.c (edge_set_predicate): Use new type-based
24066 pool allocator.
24067 (set_hint_predicate): Likewise.
24068 (inline_summary_alloc): Likewise.
24069 (reset_inline_edge_summary): Likewise.
24070 (reset_inline_summary): Likewise.
24071 (set_cond_stmt_execution_predicate): Likewise.
24072 (set_switch_stmt_execution_predicate): Likewise.
24073 (compute_bb_predicates): Likewise.
24074 (estimate_function_body_sizes): Likewise.
24075 (inline_free_summary): Likewise.
24076
24077 2015-06-01 Martin Liska <mliska@suse.cz>
24078
24079 * ipa-prop.c (ipa_set_jf_constant): Use new type-based pool allocator.
24080 (ipa_edge_duplication_hook): Likewise.
24081 (ipa_free_all_structures_after_ipa_cp): Likewise.
24082 (ipa_free_all_structures_after_iinln): Likewise.
24083
24084 2015-06-01 Martin Liska <mliska@suse.cz>
24085
24086 * ipa-profile.c (account_time_size): Use new type-based pool allocator.
24087 (ipa_profile_generate_summary): Likewise.
24088 (ipa_profile_read_summary): Likewise.
24089 (ipa_profile): Likewise.
24090
24091 2015-06-01 Martin Liska <mliska@suse.cz>
24092
24093 * tree-ssa-structalias.c (new_var_info): Use new type-based
24094 pool allocator.
24095 (new_constraint): Likewise.
24096 (init_alias_vars): Likewise.
24097 (delete_points_to_sets): Likewise.
24098
24099 2015-06-01 Martin Liska <mliska@suse.cz>
24100
24101 * tree-ssa-strlen.c (new_strinfo): Use new type-based pool allocator.
24102 (free_strinfo): Likewise.
24103 (pass_strlen::execute): Likewise.
24104
24105 2015-06-01 Martin Liska <mliska@suse.cz>
24106
24107 * tree-ssa-sccvn.c (vn_reference_insert): Use new type-based
24108 pool allocator.
24109 (vn_reference_insert_pieces): Likewise.
24110 (vn_phi_insert): Likewise.
24111 (visit_reference_op_call): Likewise.
24112 (copy_phi): Likewise.
24113 (copy_reference): Likewise.
24114 (process_scc): Likewise.
24115 (allocate_vn_table): Likewise.
24116 (free_vn_table): Likewise.
24117
24118 2015-06-01 Martin Liska <mliska@suse.cz>
24119
24120 * tree-ssa-reassoc.c (add_to_ops_vec): Use new type-based
24121 pool allocator.
24122 (add_repeat_to_ops_vec): Likewise.
24123 (get_ops): Likewise.
24124 (maybe_optimize_range_tests): Likewise.
24125 (init_reassoc): Likewise.
24126 (fini_reassoc): Likewise.
24127
24128 2015-06-01 Martin Liska <mliska@suse.cz>
24129
24130 * tree-ssa-pre.c (get_or_alloc_expr_for_name): Use new type-based
24131 pool allocator.
24132 (bitmap_set_new): Likewise.
24133 (get_or_alloc_expr_for_constant): Likewise.
24134 (get_or_alloc_expr_for): Likewise.
24135 (phi_translate_1): Likewise.
24136 (compute_avail): Likewise.
24137 (init_pre): Likewise.
24138 (fini_pre): Likewise.
24139
24140 2015-06-01 Martin Liska <mliska@suse.cz>
24141
24142 * sched-deps.c (create_dep_node): Use new type-based pool allocator.
24143 (delete_dep_node): Likewise.
24144 (create_deps_list): Likewise.
24145 (free_deps_list): Likewise.
24146 (sched_deps_init): Likewise.
24147 (sched_deps_finish): Likewise.
24148
24149 2015-06-01 Martin Liska <mliska@suse.cz>
24150
24151 * regcprop.c (free_debug_insn_changes): Use new type-based
24152 pool allocator.
24153 (replace_oldest_value_reg): Likewise.
24154 (pass_cprop_hardreg::execute): Likewise.
24155
24156 2015-06-01 Martin Liska <mliska@suse.cz>
24157
24158 * ira-build.c (initiate_cost_vectors): Use new type-based
24159 pool allocator.
24160 (ira_allocate_cost_vector): Likewise.
24161 (ira_free_cost_vector): Likewise.
24162 (finish_cost_vectors): Likewise.
24163
24164 2015-06-01 Martin Liska <mliska@suse.cz>
24165
24166 * sel-sched-ir.c (alloc_sched_pools): Use new type-based
24167 pool allocator.
24168 (free_sched_pools): Likewise.
24169 * sel-sched-ir.h (_list_alloc): Likewise.
24170 (_list_remove): Likewise.
24171
24172 2015-06-01 Martin Liska <mliska@suse.cz>
24173
24174 * stmt.c (add_case_node): Use new type-based pool allocator.
24175 (expand_case): Likewise.
24176 (expand_sjlj_dispatch_table): Likewise.
24177
24178 2015-06-01 Martin Liska <mliska@suse.cz>
24179
24180 * tree-ssa-math-opts.c (occ_new): Use new type-based pool allocator.
24181 (free_bb): Likewise.
24182 (pass_cse_reciprocals::execute): Likewise.
24183
24184 2015-06-01 Martin Liska <mliska@suse.cz>
24185
24186 * tree-sra.c (sra_initialize): Use new type-based pool allocator.
24187 (sra_deinitialize) Likewise.
24188 (create_access_1) Likewise.
24189 (build_accesses_from_assign) Likewise.
24190 (create_artificial_child_access) Likewise.
24191
24192 2015-06-01 Martin Liska <mliska@suse.cz>
24193
24194 * dse.c (get_group_info):Use new type-based pool allocator.
24195 (dse_step0) Likewise.
24196 (free_store_info) Likewise.
24197 (delete_dead_store_insn) Likewise.
24198 (free_read_records) Likewise.
24199 (record_store) Likewise.
24200 (replace_read) Likewise.
24201 (check_mem_read_rtx) Likewise.
24202 (scan_insn) Likewise.
24203 (dse_step1) Likewise.
24204 (dse_step7) Likewise.
24205
24206 2015-06-01 Martin Liska <mliska@suse.cz>
24207
24208 * df-scan.c (struct df_scan_problem_data):Use new type-based
24209 pool allocator.
24210 (df_scan_free_internal) Likewise.
24211 (df_scan_alloc) Likewise.
24212 (df_grow_reg_info) Likewise.
24213 (df_free_ref) Likewise.
24214 (df_insn_create_insn_record) Likewise.
24215 (df_mw_hardreg_chain_delete) Likewise.
24216 (df_insn_info_delete) Likewise.
24217 (df_free_collection_rec) Likewise.
24218 (df_mw_hardreg_chain_delete_eq_uses) Likewise.
24219 (df_sort_and_compress_mws) Likewise.
24220 (df_ref_create_structure) Likewise.
24221 (df_ref_record) Likewise.
24222
24223 2015-06-01 Martin Liska <mliska@suse.cz>
24224
24225 * df-problems.c (df_chain_create):Use new type-based pool allocator.
24226 (df_chain_unlink_1) Likewise.
24227 (df_chain_unlink) Likewise.
24228 (df_chain_remove_problem) Likewise.
24229 (df_chain_alloc) Likewise.
24230 (df_chain_free) Likewise.
24231 * df.h (struct dataflow) Likewise.
24232
24233 2015-06-01 Martin Liska <mliska@suse.cz>
24234
24235 * cselib.c (new_elt_list):Use new type-based pool allocator.
24236 (new_elt_loc_list) Likewise.
24237 (unchain_one_elt_list) Likewise.
24238 (unchain_one_elt_loc_list) Likewise.
24239 (unchain_one_value) Likewise.
24240 (new_cselib_val) Likewise.
24241 (cselib_init) Likewise.
24242 (cselib_finish) Likewise.
24243
24244 2015-06-01 Martin Liska <mliska@suse.cz>
24245
24246 * config/sh/sh.c (add_constant):Use new type-based pool allocator.
24247 (sh_reorg) Likewise.
24248
24249 2015-06-01 Martin Liska <mliska@suse.cz>
24250
24251 * cfg.c (initialize_original_copy_tables):Use new type-based
24252 pool allocator.
24253 (free_original_copy_tables) Likewise.
24254 (copy_original_table_clear) Likewise.
24255 (copy_original_table_set) Likewise.
24256
24257 2015-06-01 Martin Liska <mliska@suse.cz>
24258
24259 * asan.c (asan_mem_ref_get_alloc_pool):Use new type-based
24260 pool allocator.
24261 (asan_mem_ref_new) Likewise.
24262 (free_mem_ref_resources) Likewise.
24263
24264 2015-06-01 Martin Liska <mliska@suse.cz>
24265
24266 * var-tracking.c (variable_htab_free):Use new type-based
24267 pool allocator.
24268 (attrs_list_clear) Likewise.
24269 (attrs_list_insert) Likewise.
24270 (attrs_list_copy) Likewise.
24271 (shared_hash_unshare) Likewise.
24272 (shared_hash_destroy) Likewise.
24273 (unshare_variable) Likewise.
24274 (var_reg_delete_and_set) Likewise.
24275 (var_reg_delete) Likewise.
24276 (var_regno_delete) Likewise.
24277 (drop_overlapping_mem_locs) Likewise.
24278 (variable_union) Likewise.
24279 (insert_into_intersection) Likewise.
24280 (canonicalize_values_star) Likewise.
24281 (variable_merge_over_cur) Likewise.
24282 (dataflow_set_merge) Likewise.
24283 (remove_duplicate_values) Likewise.
24284 (variable_post_merge_new_vals) Likewise.
24285 (dataflow_set_preserve_mem_locs) Likewise.
24286 (dataflow_set_remove_mem_locs) Likewise.
24287 (variable_from_dropped) Likewise.
24288 (variable_was_changed) Likewise.
24289 (set_slot_part) Likewise.
24290 (clobber_slot_part) Likewise.
24291 (delete_slot_part) Likewise.
24292 (loc_exp_insert_dep) Likewise.
24293 (notify_dependents_of_changed_value) Likewise.
24294 (emit_notes_for_differences_1) Likewise.
24295 (vt_emit_notes) Likewise.
24296 (vt_initialize) Likewise.
24297 (vt_finalize) Likewise.
24298
24299 2015-06-01 Martin Liska <mliska@suse.cz>
24300
24301 * ira-color.c (init_update_cost_records):Use new type-based
24302 pool allocator.
24303 (get_update_cost_record) Likewise.
24304 (free_update_cost_record_list) Likewise.
24305 (finish_update_cost_records) Likewise.
24306 (initiate_cost_update) Likewise.
24307
24308 2015-06-01 Martin Liska <mliska@suse.cz>
24309
24310 * lra.c (init_insn_regs): Use new type-based pool allocator.
24311 (new_insn_reg) Likewise.
24312 (free_insn_reg) Likewise.
24313 (free_insn_regs) Likewise.
24314 (finish_insn_regs) Likewise.
24315 (init_insn_recog_data) Likewise.
24316 (init_reg_info) Likewise.
24317 (finish_reg_info) Likewise.
24318 (lra_free_copies) Likewise.
24319 (lra_create_copy) Likewise.
24320 (invalidate_insn_data_regno_info) Likewise.
24321
24322 2015-06-01 Martin Liska <mliska@suse.cz>
24323
24324 * lra-lives.c (free_live_range): Use new type-based pool allocator.
24325 (free_live_range_list) Likewise.
24326 (create_live_range) Likewise.
24327 (copy_live_range) Likewise.
24328 (lra_merge_live_ranges) Likewise.
24329 (remove_some_program_points_and_update_live_ranges) Likewise.
24330 (lra_live_ranges_init) Likewise.
24331 (lra_live_ranges_finish) Likewise.
24332
24333 2015-06-01 Martin Liska <mliska@suse.cz>
24334
24335 * et-forest.c (et_new_occ): Use new type-based pool allocator.
24336 (et_new_tree): Likewise.
24337 (et_free_tree): Likewise.
24338 (et_free_tree_force): Likewise.
24339 (et_free_pools): Likewise.
24340 (et_split): Likewise.
24341
24342 2015-06-01 Martin Liska <mliska@suse.cz>
24343
24344 * alloc-pool.c (struct alloc_pool_descriptor): Move definition
24345 to header file.
24346 * alloc-pool.h (pool_allocator::pool_allocator): New function.
24347 (pool_allocator::release): Likewise.
24348 (inline pool_allocator::release_if_empty): Likewise.
24349 (inline pool_allocator::~pool_allocator): Likewise.
24350 (pool_allocator::allocate): Likewise.
24351 (pool_allocator::remove): Likewise.
24352
24353 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
24354
24355 * sched-deps.c (sched_analyze_2): Replace fuseable with fusible
24356 in comment.
24357
24358 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
24359
24360 * config/arm/arm-protos.h (tune_params): Rename fuseable_ops
24361 to fusible_ops.
24362 * config/arm/arm.c (arm_print_tune_info): Likewise.
24363 (arm_macro_fusion_p): Likewise.
24364 (arm_macro_fusion_pair_p): Likewise.
24365
24366 2015-06-01 James Greenhalgh <james.greenhalgh@arm.com>
24367
24368 * config/aarch64/aarch64-protos.h (tune_params): Rename
24369 fuseable_ops to fusible_ops.
24370 * config/aarch64/aarch64.c (generic_tunings): Rename
24371 fuseable_ops to fusible_ops.
24372 (cortexa53_tunings): Likewise.
24373 (cortexa57_tunings): Likewise.
24374 (thunderx_tunings): Likewise.
24375 (xgene1_tunings): Likewise.
24376 (aarch64_macro_fusion_p): Likewise.
24377 (aarch64_macro_fusion_pair_p): Likewise.
24378
24379 2015-06-01 Dominik Vogt <vogt@linux.vnet.ibm.com>
24380
24381 * config/s390/driver-native.c: New file.
24382 * config/s390/x-native: New file.
24383 * config.host: Add new files for s390.
24384 * config/s390/s390.h (DRIVER_SELF_SPECS): Add support for -mtune=native
24385 and -march=native
24386 * config.gcc: Likewise.
24387 * config/s390/s390.opt (march): Likewise; add PROCESSOR_NATIVE
24388 * config/s390/s390-opts.h (enum processor_type): Ditto.
24389 * config/s390/s390.c (s390_option_override): Catch unhandled
24390 PROCESSOR_NATIVE
24391
24392 2015-06-01 Ilya Enkovich <ilya.enkovich@intel.com>
24393
24394 PR target/65527
24395 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Add
24396 redirection for instrumented calls.
24397 * lto-wrapper.c (merge_and_complain): Merge -fcheck-pointer-bounds.
24398 (append_compiler_options): Append -fcheck-pointer-bounds.
24399 * tree-chkp.h (chkp_copy_call_skip_bounds): New.
24400 (chkp_redirect_edge): New.
24401 * tree-chkp.c (chkp_copy_call_skip_bounds): New.
24402 (chkp_redirect_edge): New.
24403
24404 2015-06-01 Richard Biener <rguenther@suse.de>
24405
24406 PR tree-optimization/66280
24407 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Fix pattern
24408 def-use walking.
24409
24410 2015-06-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24411
24412 * config/aarch64/aarch64.md
24413 (*<LOGICAL:optab>_one_cmpl_<SHIFT:optab><mode>3): Change type to
24414 logic_shift_imm.
24415
24416 2015-06-01 Eric Botcazou <ebotcazou@adacore.com>
24417
24418 * config/i386/winnt.c (i386_pe_encode_section_info) <FUNCTION_DECL>:
24419 Remove obsolete kludge.
24420
24421 2015-06-01 Richard Biener <rguenther@suse.de>
24422
24423 * tree-ssa-reassoc.c (get_rank): Simplify.
24424
24425 2015-05-31 H.J. Lu <hongjiu.lu@intel.com>
24426
24427 * configure.ac (NO_PIE_CFLAGS): Check CXXFLAGS instead of CFLAGS.
24428 * configure: Regenerated.
24429
24430 2015-05-31 Mikhail Maltsev <maltsevm@gmail.com>
24431
24432 * config/cris/cris.h (CRIS_ARCH_CPP_DEFAULT): Fix C++11 compatibility
24433 issue (add space between string literal and macro).
24434 * config/i386/mingw32.h (REAL_LIBGCC_SPEC): Likewise.
24435
24436 2015-05-30 Andreas Schwab <schwab@linux-m68k.org>
24437
24438 * config/m68k/m68k.h (ASM_PCREL_SPEC): Pass --pcrel also for
24439 implict or explicit -fPIE or -fpie.
24440
24441 2015-05-30 Mike Frysinger <vapier@gentoo.org>
24442
24443 * config/alpha/elf.h (ASM_SPEC): Add %{mcpu=*:-m%*}.
24444
24445 2015-05-28 DJ Delorie <dj@redhat.com>
24446
24447 * expmed.c (extract_bit_field_1): Avoid clobbering a
24448 yet-to-be-used base/index register.
24449
24450 2015-05-30 Jan Hubicka <hubicka@ucw.cz>
24451
24452 * alias.c (alias_set_entry_d): Add is_pointer and has_pointer.
24453 (alias_stats): Add num_universal.
24454 (alias_set_subset_of): Special case pointers; be ready for NULL
24455 children.
24456 (alias_sets_conflict_p): Special case pointers; be ready for NULL
24457 children.
24458 (init_alias_set_entry): Break out from ...
24459 (record_alias_subset): ... here; propagate new fields;
24460 allocate children only when really needed.
24461 (get_alias_set): Do less generous pointer globbing.
24462 (dump_alias_stats_in_alias_c): Update statistics.
24463
24464 2015-05-30 Alan Modra <amodra@gmail.com>
24465
24466 * config/rs6000/rs6000.c (split_stack_arg_pointer_used_p): Scan
24467 correct block for use of r12.
24468 (rs6000_expand_split_stack_prologue): Error on r29 asm global reg.
24469
24470 2015-05-29 Dominik Vogt <vogt@linux.vnet.ibm.com>
24471
24472 PR target/66215
24473 * config/s390/s390.c (s390_reorg): Fix placement of post-label NOPs
24474 with -mhotpatch=.
24475
24476 2015-05-29 Jakub Jelinek <jakub@redhat.com>
24477
24478 PR tree-optimization/66142
24479 * tree-if-conv.c (if_convertible_phi_p): Don't give up on
24480 virtual phis that feed themselves.
24481
24482 2015-05-29 Richard Biener <rguenther@suse.de>
24483
24484 PR tree-optimization/66314
24485 * tree-ssa-threadupdate.c (create_block_for_threading): Add
24486 parameter that says which loop the new block belongs to.
24487 (ssa_create_duplicates): Blocks duplicated for the threaded
24488 path belong to the loop of the thread destination.
24489
24490 2015-05-29 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
24491
24492 * config/arm/neon-testgen.ml (emit_epilogue): Remove manual call
24493 to cleanup-saved-temps.
24494 * doc/sourcebuild.texi (Clean up generated test files): Expand
24495 introduction.
24496 (dg-keep-saved-temps): Document new proc.
24497 (cleanup-ipa-dump, cleanup-rtl-dump, cleanup-tree-dump,
24498 cleanup-saved-temps): Remove.
24499
24500 2015-05-28 Andreas Tobler <andreast@gcc.gnu.org>
24501
24502 * configure.ac: Move the atoll check from AC_CHECK_FUNCS to
24503 gcc_AC_CHECK_DECLS.
24504 * configure: Regenerate.
24505
24506 2015-05-28 Mike Frysinger <vapier@gentoo.org>
24507
24508 * config/nios2/linux.h (CPP_SPEC): Define.
24509
24510 2015-05-28 Mike Frysinger <vapier@gentoo.org>
24511
24512 * config/microblaze/linux.h (CPP_SPEC): Define.
24513
24514 2015-05-28 Mike Frysinger <vapier@gentoo.org>
24515
24516 * config/pa/pa-linux.h (CPP_SPEC): Change so -D_REENTRANT is used when
24517 -pthread is specified.
24518
24519 2015-05-28 Richard Biener <rguenther@suse.de>
24520
24521 * tree-vect-loop.c (vect_fixup_reduc_chain): New function.
24522 (vect_fixup_scalar_cycles_with_patterns): Likewise.
24523 (vect_analyze_loop_2): Call vect_fixup_scalar_cycles_with_patterns
24524 after pattern recog.
24525 (vect_create_epilog_for_reduction): Properly handle reductions
24526 with patterns.
24527 (vectorizable_reduction): Likewise.
24528 * tree-vect-slp.c (vect_analyze_slp_instance): Properly mark
24529 reduction chains.
24530 (vect_get_constant_vectors): Create the correct number of
24531 initial values for reductions.
24532 (vect_schedule_slp_instance): Handle reduction chains that are
24533 type changing properly.
24534 * tree-vect-stmts.c (vect_analyze_stmt): Adjust.
24535
24536 2015-05-28 Richard Biener <rguenther@suse.de>
24537
24538 PR tree-optimization/66142
24539 * tree-ssa-sccvn.c (vn_reference_lookup_3): Handle non-GIMPLE
24540 values better in memcpy destination handling. Handle non-aliasing
24541 we discover here.
24542
24543 2015-05-28 Lawrence Velázquez <vq@larryv.me>
24544
24545 PR target/63810
24546 * config/darwin-c.c (version_components): New global enum.
24547 (parse_version, version_as_legacy_macro)
24548 (version_as_modern_macro, macosx_version_as_macro): New functions.
24549 (version_as_macro): Remove.
24550 (darwin_cpp_builtins): Use new function.
24551
24552 2015-05-28 H.J. Lu <hongjiu.lu@intel.com>
24553
24554 * builtins.c (expand_builtin_acc_on_device): Mark parameters
24555 with ATTRIBUTE_UNUSED.
24556
24557 2015-05-28 Julian Brown <julian@codesourcery.com>
24558
24559 PR libgomp/65742
24560
24561 * builtins.c (expand_builtin_acc_on_device): Don't use open-coded
24562 sequence for !ACCEL_COMPILER.
24563
24564 2015-05-28 Nick Clifton <nickc@redhat.com>
24565
24566 * config/rx/rx.c (push_regs): New function. Extracts code from...
24567 (rx_expand_prologue): ... here. Use push_regs to push even small
24568 spans of registers.
24569 (pop_regs): New function.
24570 (rx_expand_epilogue): Use pop_regs to pop even small spans of
24571 registers.
24572
24573 2015-05-28 Richard Biener <rguenther@suse.de>
24574
24575 * tree-vectorizer.h (struct _slp_instance): Remove body_cost_vec
24576 member.
24577 (SLP_INSTANCE_BODY_COST_VEC): Remove.
24578 (vect_update_slp_costs_according_to_vf): Likewise.
24579 (vect_slp_analyze_operations): Update prototype.
24580 * tree-vect-loop.c (vect_analyze_loop_2): Remove call to
24581 vect_update_slp_costs_according_to_vf, adjust.
24582 * tree-vect-slp.c (vect_free_slp_instance): Adjust.
24583 (vect_analyze_slp_cost_1): Likewise.
24584 (vect_analyze_slp_cost): Likewise. Properly deal with
24585 widening reduction ops. Commit body costs.
24586 (vect_analyze_slp_instance): Adjust. Do not analyze SLP
24587 cost for loops from here.
24588 (vect_slp_analyze_operations): But do it from here when
24589 the vectorization factor is known and stmts are analyzed.
24590 (vect_bb_vectorization_profitable_p): Simplify.
24591 (vect_slp_analyze_bb_1): Do not compute SLP cost here.
24592 (vect_update_slp_costs_according_to_vf): Remove.
24593
24594 2015-05-27 Magnus Granberg <zorry@gentoo.org>
24595 H.J. Lu <hongjiu.lu@intel.com>
24596
24597 * Makefile.in (COMPILER): Add @NO_PIE_CFLAGS@.
24598 (BUILD_CFLAGS): Likewise.
24599 (BUILD_CXXFLAGS): Likewise.
24600 (LINKER): Add @NO_PIE_FLAG@.
24601 (BUILD_LDFLAGS): Likewise.
24602 (libgcc.mvars): Set NO_PIE_CFLAGS to -fno-PIE for
24603 --enable-default-pie.
24604 * common.opt (fPIE): Initialize to -1.
24605 (fpie): Likewise.
24606 (no-pie): New option.
24607 (pie): Replace "Negative(shared)" with "Negative(no-pie)".
24608 * configure.ac: Add --enable-default-pie.
24609 (NO_PIE_CFLAGS): New. Check if -fno-PIE works. AC_SUBST.
24610 (NO_PIE_FLAG): New. Check if -no-pie works. AC_SUBST.
24611 * defaults.h (DEFAULT_FLAG_PIE): New. Default PIE to -fPIE.
24612 * gcc.c (NO_PIE_SPEC): New.
24613 (PIE_SPEC): Likewise.
24614 (NO_FPIE1_SPEC): Likewise.
24615 (FPIE1_SPEC): Likewise.
24616 (NO_FPIE2_SPEC): Likewise.
24617 (FPIE2_SPEC): Likewise.
24618 (NO_FPIE2_SPEC): Likewise.
24619 (FPIE_SPEC): Likewise.
24620 (NO_FPIE_SPEC): Likewise.
24621 (NO_FPIC1_SPEC): Likewise.
24622 (FPIC1_SPEC): Likewise.
24623 (NO_FPIC2_SPEC): Likewise.
24624 (FPIC2_SPEC): Likewise.
24625 (NO_FPIC2_SPEC): Likewise.
24626 (FPIC_SPEC): Likewise.
24627 (NO_FPIC_SPEC): Likewise.
24628 (NO_FPIE1_AND_FPIC1_SPEC): Likewise.
24629 (FPIE1_OR_FPIC1_SPEC): Likewise.
24630 (NO_FPIE2_AND_FPIC2_SPEC): Likewise.
24631 (FPIE2_OR_FPIC2_SPEC): Likewise.
24632 (NO_FPIE_AND_FPIC_SPEC): Likewise.
24633 (FPIE_OR_FPIC_SPEC): Likewise.
24634 (LD_PIE_SPEC): Likewise.
24635 (LINK_PIE_SPEC): Handle -no-pie. Use PIE_SPEC and LD_PIE_SPEC.
24636 * opts.c (finish_options): Update opts->x_flag_pie if it is -1.
24637 * config/darwin.h (PIE_SPEC): Renamed to ...
24638 (DARWIN_PIE_SPEC): This.
24639 (LINK_SPEC): Replace PIE_SPEC with DARWIN_PIE_SPEC.
24640 * config/darwin9.h (PIE_SPEC): Renamed to ...
24641 (DARWIN_PIE_SPEC): This.
24642 * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Use
24643 PIE_SPEC and NO_PIE_SPEC if HAVE_LD_PIE is defined.
24644 * config/openbsd.h (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and
24645 FPIE2_OR_FPIC2_SPEC.
24646 * config/m68k/netbsd-elf.h (ASM_SPEC): Likewise.
24647 * config/m68k/openbsd.h (ASM_SPEC): Likewise.
24648 * config/sol2.h (ASM_PIC_SPEC): Likewise.
24649 * config/arm/freebsd.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
24650 * config/arm/netbsd-elf.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
24651 * config/arm/semi.h (SUBTARGET_EXTRA_ASM_SPEC): Likewise.
24652 * config/cris/linux.h (CRIS_ASM_SUBTARGET_SPEC): Likewise.
24653 * config/m32r/m32r.h (ASM_SPEC): Likewise.
24654 * config/m68k/uclinux.h (DRIVER_SELF_SPECS): Likewise.
24655 * config/rs6000/linux64.h (ASM_SPEC32): Likewise.
24656 * config/rs6000/sysv4.h (ASM_SPEC): Likewise.
24657 * config/sparc/freebsd.h (ASM_SPEC): Likewise.
24658 * config/sparc/linux.h (ASM_SPEC): Likewise.
24659 * config/sparc/linux64.h (ASM_SPEC): Likewise.
24660 * config/sparc/netbsd-elf.h (ASM_SPEC): Likewise.
24661 * config/sparc/openbsd64.h (ASM_SPEC): Likewise.
24662 * config/sparc/sp-elf.h (ASM_SPEC): Likewise.
24663 * config/sparc/sp64-elf.h (ASM_SPEC): Likewise.
24664 * config/sparc/sparc.h (ASM_SPEC): Likewise.
24665 * config/sparc/sysv4.h (ASM_SPEC): Likewise.
24666 * config/sparc/vxworks.h (ASM_SPEC): Likewise.
24667 * config/c6x/elf-common.h (ASM_SPEC): Use NO_FPIC2_SPEC,
24668 FPIC2_SPEC, FPIC1_SPEC and FPIC2_SPEC.
24669 * config/c6x/uclinux-elf.h (LINK_SPEC): Use FPIE_SPEC.
24670 * config/frv/frv.h (DRIVER_SELF_SPECS): Use FPIC_SPEC,
24671 NO_FPIC_SPEC and NO_FPIE1_AND_FPIC1_SPEC.
24672 (ASM_SPEC): Use FPIE1_OR_FPIC1_SPEC and FPIE2_OR_FPIC2_SPEC.
24673 * config/m68k/m68k.h (ASM_PCREL_SPEC): Use FPIC_SPEC and NO_FPIC_SPEC.
24674 * config/mips/gnu-user.h (NO_SHARED_SPECS): Use NO_FPIE_AND_FPIC_SPEC.
24675 * config/mips/vxworks.h (SUBTARGET_ASM_SPEC): Use FPIC_SPEC.
24676 * config/rs6000/freebsd64.h (ASM_SPEC32): Likewise.
24677 * config/rs6000/vxworks.h (ASM_SPEC): Likewise.
24678 * config/vax/linux.h (ASM_SPEC): Likewise.
24679 * doc/install.texi: Document --enable-default-pie.
24680 * doc/invoke.texi: Document -no-pie.
24681 * config.in: Regenerated.
24682 * configure: Likewise.
24683
24684 2015-05-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
24685
24686 PR rtl-optimization/66168
24687 * loop-invariant.c (move_invariant_reg): Pass dest rather than reg to
24688 can_move_invariant_reg.
24689
24690 2015-05-27 John David Anglin <danglin@gcc.gnu.org>
24691
24692 PR target/66148
24693 * config/pa/pa.c (pa_emit_move_sequence): Correct placement of
24694 REG_EQUAL note when doing insert.
24695
24696 * config/pa/pa.c (pa_print_operand): Use HOST_WIDE_INT_PRINT_DEC
24697 instead of "%d" for 'o' operand.
24698
24699 2015-05-27 Nathan Sidwell <nathan@acm.org>
24700
24701 PR c++/66270
24702 * tree.c (build_pointer_type_for_mode): Canonical type does not
24703 inherit can_alias_all.
24704 (build_reference_type_for_mode): Likewise.
24705
24706 2015-05-27 Eric Botcazou <ebotcazou@adacore.com>
24707
24708 * expr.h (array_at_struct_end_p): Move to...
24709 (array_ref_element_size): Likewise.
24710 (component_ref_field_offset): Likewise.
24711 * tree.h (array_ref_element_size): ...here.
24712 (array_at_struct_end_p): Likewise.
24713 (component_ref_field_offset): Likewise.
24714 * expr.c (array_ref_element_size): Move to...
24715 (array_ref_low_bound): Likewise.
24716 (array_at_struct_end_p): Likewise.
24717 (array_ref_up_bound): Likewise.
24718 (component_ref_field_offset): Likewise.
24719 * tree.c (array_ref_element_size): ...here.
24720 (array_ref_low_bound): Likewise.
24721 (array_ref_up_bound): Likewise.
24722 (array_at_struct_end_p): Likewise.
24723 (component_ref_field_offset): Likewise.
24724
24725 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
24726 Szabolcs Nagy <szabolcs.nagy@arm.com>
24727
24728 * config/aarch64/aarch64-linux.h (MUSL_DYNAMIC_LINKER): Define.
24729
24730 2015-05-27 Jason Merrill <jason@redhat.com>
24731
24732 PR bootstrap/66304
24733 * configure.ac: Use ACX_PROG_CXX_WARNING_OPTS,
24734 ACX_PROG_CXX_WARNING_ALMOST_PEDANTIC, and
24735 ACX_PROG_CXX_WARNINGS_ARE_ERRORS.
24736
24737 2015-05-22 Aditya Kumar <hiraditya@msn.com>
24738
24739 * auto-profile.c (afdo_calculate_branch_prob): Break once has_sample
24740 is true.
24741
24742 * statistics.c (statistics_fini_pass): Print pass name.
24743
24744 2015-05-27 Richard Biener <rguenther@suse.de>
24745
24746 PR tree-optimization/66272
24747 Revert parts of
24748 2014-08-15 Richard Biener <rguenther@suse.de>
24749
24750 PR tree-optimization/62031
24751 * tree-data-ref.c (dr_analyze_indices): Do not set
24752 DR_UNCONSTRAINED_BASE.
24753 (dr_may_alias_p): All indirect accesses have to go the
24754 formerly DR_UNCONSTRAINED_BASE path.
24755 * tree-data-ref.h (struct indices): Remove
24756 unconstrained_base member.
24757 (DR_UNCONSTRAINED_BASE): Remove.
24758
24759 2015-05-27 Aldy Hernandez <aldyh@redhat.com>
24760
24761 * dwarf2out.c: Remove block_map.
24762 (gen_call_site_die): Replace block_map use with BLOCK_DIE.
24763 (gen_lexical_block_die): Same.
24764 (dwarf2out_function_decl): Remove block_map use.
24765 (dwarf2out_c_finalize): Same.
24766 * tree-core.h (struct tree_block): Add die field.
24767 * tree.h (BLOCK_DIE): New.
24768
24769 2015-05-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
24770
24771 PR target/65358
24772 * expr.c (memory_load_overlap): New function.
24773 (emit_push_insn): When pushing partial args to the stack would
24774 clobber the register part load the overlapping part into a pseudo
24775 and put it into the hard reg after pushing. Change return type
24776 to bool. Add bool argument.
24777 * expr.h (emit_push_insn): Change return type to bool.
24778 Add bool argument.
24779 * calls.c (expand_call): Cancel sibcall optimization when encountering
24780 partial argument on targets with ARGS_GROW_DOWNWARD and
24781 !STACK_GROWS_DOWNWARD.
24782 (emit_library_call_value_1): Update callsite of emit_push_insn.
24783 (store_one_arg): Likewise.
24784
24785 2015-05-27 Gregor Richards <gregor.richards@uwaterloo.ca>
24786
24787 * config/arm/linux-eabi.h (MUSL_DYNAMIC_LINKER): Define.
24788
24789 2015-05-27 Martin Liska <mliska@suse.cz>
24790
24791 * Makefile.in: Add additional dependencies related to memory report
24792 enhancement.
24793 * alloc-pool.c (allocate_pool_descriptor): Use new ctor.
24794 * bitmap.c (struct bitmap_descriptor_d): Remove.
24795 (struct loc): Likewise.
24796 (struct bitmap_desc_hasher): Likewise.
24797 (bitmap_desc_hasher::hash): Likewise.
24798 (bitmap_desc_hasher::equal): Likewise.
24799 (get_bitmap_descriptor): Likewise.
24800 (bitmap_register): User new memory descriptor API.
24801 (register_overhead): Likewise.
24802 (bitmap_find_bit): Register nsearches and search_iter statistics.
24803 (struct bitmap_output_info): Remove.
24804 (print_statistics): Likewise.
24805 (dump_bitmap_statistics): Use new memory descriptor.
24806 * bitmap.h (struct bitmap_usage): New class.
24807 * genmatch.c: Extend header file inclusion.
24808 * genpreds.c: Likewise.
24809 * ggc-common.c (struct ggc_usage): New class.
24810 (struct ggc_loc_desc_hasher): Remove.
24811 (ggc_loc_desc_hasher::hash): Likewise.
24812 (ggc_loc_desc_hasher::equal): Likewise.
24813 (struct ggc_ptr_hash_entry): Likewise.
24814 (struct ptr_hash_hasher): Likewise.
24815 (ptr_hash_hasher::hash): Likewise.
24816 (ptr_hash_hasher::equal): Likewise.
24817 (make_loc_descriptor): Likewise.
24818 (ggc_prune_ptr): Likewise.
24819 (dump_ggc_loc_statistics): Use new memory descriptor.
24820 (ggc_record_overhead): Likewise.
24821 (ggc_free_overhead): Likewise.
24822 (final_cmp_statistic): Remove.
24823 (cmp_statistic): Likewise.
24824 (ggc_add_statistics): Liekwise.
24825 (ggc_prune_overhead_list): Likewise.
24826 * hash-map-traits.h: New file.
24827 * hash-map.h (struct default_hashmap_traits): Move the traits to a
24828 separate header file.
24829 * hash-set.h: Pass memory statistics info to ctor.
24830 * hash-table.c (void dump_hash_table_loc_statistics): New function.
24831 * hash-table.h (hash_table::hash_table): Add new ctor arguments.
24832 (hash_table::~hash_table): Register memory release operation.
24833 (hash_table::alloc_entries): Handle memory allocation operation.
24834 (hash_table::expand): Likewise.
24835 * inchash.c (iterative_hash_hashval_t): Move implementation to header
24836 file.
24837 (iterative_hash_host_wide_int): Likewise.
24838 * inchash.h (class hash): Likewise.
24839 * mem-stats-traits.h: New file.
24840 * mem-stats.h: New file.
24841 (mem_location): Add new class.
24842 (mem_usage): Likewise.
24843 (mem_alloc_description): Likewise.
24844 * sese.c: Add new header file inclusision.
24845 * toplev.c (dump_memory_report): Add report for hash_table, hash_map
24846 and hash_set.
24847 * tree-sra.c: Add new header file inclusision.
24848 * vec.c (struct vec_descriptor): Remove.
24849 (hash_descriptor): Likewise.
24850 (struct vec_usage): Likewise.
24851 (struct ptr_hash_entry): Likewise.
24852 (hash_ptr): Likewise.
24853 (eq_ptr): Likewise.
24854 (vec_prefix::register_overhead): Use new memory descriptor API.
24855 (vec_prefix::release_overhead): Likewise.
24856 (add_statistics): Remove.
24857 (dump_vec_loc_statistics): Use new memory descriptor API.
24858 * vec.h (struct vec_prefix): Likewise.
24859 (va_heap::reserve): Likewise.
24860 (va_heap::release): Likewise.
24861 * emit-rtl.c (gen_raw_REG): Fix passing MEM_STAT.
24862
24863 2015-05-27 Richard Biener <rguenther@suse.de>
24864
24865 * tree-vect-stmts.c (vectorizable_load): Initialize slp_perm
24866 earlier and remove ??? comment.
24867 (vect_analyze_stmt): If we are analyzing a pure SLP stmt
24868 and got called from loop analysis bail out. Always pass the SLP
24869 node to the vectorizable_* functions.
24870 * tree-vect-loop.c (vect_analyze_loop_operations): Remove
24871 the premature SLP check here.
24872 * tree-vect-slp.c (vect_detect_hybrid_slp_stmts): Dump hybrid
24873 detected SLP stmts.
24874 (vect_detect_hybrid_slp_1): Likewise.
24875
24876 2015-05-26 Jeff Law <law@redhat.com>
24877
24878 * combine.c (find_split_point): Verify that the shift count is a
24879 constant when choosing (plus (ashift ...)) as a split point.
24880
24881 * tree-ssa-threadupdate.c: Replace 8 space sequences with tabs.
24882 No functional changes.
24883
24884 2015-05-26 Jan Hubicka <hubicka@ucw.cz>
24885
24886 * ipa-polymorphic-call.c
24887 (ipa_polymorphic_call_context::get_dynamic_type): Short circuit the
24888 case when call target is already known.
24889
24890 2015-05-26 Oleg Endo <olegendo@gcc.gnu.org>
24891
24892 PR target/65979
24893 * config/sh/sh.md (tstsi_t peephole2): Use gen_rtx_SET and
24894 take into account the case that operands[1] and operands[2]
24895 are the same register.
24896
24897 2015-05-26 Michael Matz <matz@suse.de>
24898
24899 PR middle-end/66251
24900
24901 * tree-vect-stmts.c (vect_model_store_cost): Handled strided group
24902 stores.
24903 (vect_create_vectorized_demotion_stmts): Always set
24904 STMT_VINFO_VEC_STMT, also with SLP.
24905 (vectorizable_store): Handle strided group stores.
24906
24907 2015-05-26 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
24908
24909 PR target/66049
24910 * config/aarch64/aarch64.md
24911 (*adds_shift_imm_<mode>): New pattern.
24912 (*subs_shift_imm_<mode>): Likewise.
24913 (*adds_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
24914 (*subs_<optab><ALLX:mode>_shift_<GPI:mode>): Likewise.
24915 (*add_uxt<mode>_shift2): Likewise.
24916 (*add_uxtsi_shift2_uxtw): Likewise.
24917 (*sub_uxt<mode>_shift2): Likewise.
24918 (*sub_uxtsi_shift2_uxtw): Likewise.
24919
24920 2015-05-26 David Edelsohn <dje.gcc@gmail.com>
24921
24922 * config/rs6000/constraints.md (Y, U): Use match_test.
24923
24924 2015-05-26 Christian Bruel <christian.bruel@st.com>
24925
24926 PR target/52144
24927 * config/arm/arm.c (arm_option_check_internal)
24928 (arm_option_params_internal): Check opts->target_flags to set macros.
24929 (TREE_TARGET_ARM, TREE_TARGET_THUMB)
24930 (TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Replace with...
24931 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
24932 (builtin_define): Replaced with def_or_undef_macro.
24933 * config/arm/arm.h (TREE_TARGET_ARM, TREE_TARGET_THUMB)
24934 TREE_TARGET_THUMB1, TREE_TARGET_THUMB2) Redefine with...
24935 (TARGET_ARM_P, TARGET_THUMB_P, TARGET_THUMB1_P, TARGET_THUMB2_P)
24936 (TARGET_32BIT_P, TARGET_ARM_QBIT_P, TARGET_ARM_SAT_P, TARGET_IDIV_P)
24937 (TARGET_HAVE_LDREX_P, TARGET_HAVE_LDREXBH_P, TARGET_HAVE_LDREXD_P)
24938 (TARGET_ARM_FEATURE_LDREX_P)
24939 (TARGET_DSP_MULTIPLY_P, TARGET_INT_SIMD_P): New macros.
24940 * config/arm/arm-c.c (def_or_undef_macro): New function.
24941 (arm_cpu_cpp_builtins): Use def_or_undef_macro for macros definition.
24942
24943 2015-05-26 Christian Bruel <christian.bruel@st.com>
24944
24945 * c-common.h (builtin_define_with_int_value)
24946 (builtin_define_type_sizeof): Declare.
24947 * c-cppbuiltin.c (builtin_define_with_int_value)
24948 (builtin_define_type_sizeof): Externalize.
24949 (builtin_define_std): Cleanup declaration.
24950 * config/arm/arm-protos.h (arm_cpu_cpp_builtins): Declare.
24951 * config/arm/arm.h (TARGET_CPU_CPP_BUILTINS): Move macro defines into...
24952 * config/arm/arm-c.c (arm_cpu_cpp_builtins): New function.
24953 (builtin_define, builtin_assert): New macros.
24954
24955 2015-05-26 Richard Biener <rguenther@suse.de>
24956
24957 PR tree-optimization/66142
24958 * tree-ssa-sccvn.c (vn_reference_lookup_3): Manually compare
24959 MEM_REFs for the same base address.
24960
24961 2015-05-26 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
24962
24963 PR ipa/66181
24964 * tree.c (verify_type_variant): Do not check TYPE_NO_FORCE_BLK.
24965
24966 2015-05-26 Jason Merrill <jason@redhat.com>
24967
24968 * configure.ac: Set CXXFLAGS for ISL test.
24969 * configure: Regenerate.
24970
24971 * configure.ac: Use C++ for all tests. Use AC_CHECK_DECLS for
24972 strstr and basename.
24973 * configure: Regenerate.
24974
24975 2015-05-26 Richard Biener <rguenther@suse.de>
24976
24977 * fold-const.c (fold_binary_loc): Move X % -Y -> X % Y and
24978 X % C -> X & (C - 1) for C being a power-of two to ...
24979 * match.pd: ... patterns.
24980
24981 2015-05-26 Marc Glisse <marc.glisse@inria.fr>
24982
24983 * match.pd (swapped_tcc_comparison): New operator list.
24984 (-A CMP -B): New simplification.
24985 * fold-const.c (fold_comparison): Remove corresponding code.
24986
24987 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
24988
24989 * caller-save.c (init_caller_save): Base temporary register numbers
24990 on LAST_VIRTUAL_REGISTER + 1 rather than FIRST_PSEUDO_REGISTER.
24991 * cfgloopanal.c (init_set_costs): Likewise.
24992 * dojump.c (prefer_and_bit_test): Likewise.
24993 * expr.c (init_expr_target): Likewise.
24994 * ira.c (setup_prohibited_mode_move_regs): Likewise.
24995 * lower-subreg.c (init_lower_subreg): Likewise.
24996 * postreload.c (reload_cse_regs_1): Likewise.
24997
24998 2015-05-26 Richard Sandiford <richard.sandiford@arm.com>
24999
25000 * gensupport.h (compute_test_codes): Declare.
25001 * gensupport.c (compute_predicate_codes): Rename to...
25002 (compute_test_codes): ...this. Generalize error message.
25003 (process_define_predicate): Update accordingly.
25004 * genpreds.c (compute_maybe_allows): Delete.
25005 (add_constraint): Use compute_test_codes to determine whether
25006 something can accept a SUBREG, REG or MEM.
25007
25008 2015-05-26 Torvald Riegel <triegel@redhat.com>
25009
25010 * doc/extend.texi (__atomic Builtins): Use 'memory order' instead of
25011 'memory model' to align with C++11; fix description of memory orders;
25012 fix a few typos.
25013
25014 2015-05-26 Richard Biener <rguenther@suse.de>
25015
25016 * tree-vect-loop.c (vect_update_vf_for_slp): Split out from ...
25017 (vect_analyze_loop_operations): ... here. Remove slp parameter,
25018 detect whether we apply SLP. Remove call to
25019 vect_update_slp_costs_according_to_vf.
25020 (vect_analyze_loop_2): Call vect_update_vf_for_slp and
25021 vect_update_slp_costs_according_to_vf from here. Dispatch
25022 to vect_slp_analyze_operations to analyze SLP stmts.
25023 * tree-vect-slp.c (vect_slp_analyze_node_operations): Drop
25024 unused bb_vec_info parameter, adjust assert.
25025 (vect_slp_analyze_operations): Pass in the slp instance tree
25026 instead of bb_vec_info.
25027 (vect_slp_analyze_bb_1): Adjust call to vect_slp_analyze_operations.
25028 * tree-vectorizer.h (vect_slp_analyze_operations): Declare.
25029
25030 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
25031
25032 * config/i386/i386.h (enum reg_class): Move CLOBBERED_REGS prior to
25033 Q_REGS. Expand comment.
25034 (REG_CLASS_NAMES): Ditto.
25035 (REG_CLASS_CONTENTS): Ditto.
25036
25037 2015-05-25 Uros Bizjak <ubizjak@gmail.com>
25038
25039 PR target/66274
25040 * config/i386/i386.c (print_reg): Only print "r" for TARGET_64BIT
25041 when LEGACY_INT_REGNO_P is processed.
25042
25043 2015-05-25 Alexander Monakov <amonakov@ispras.ru>
25044
25045 * config/i386/i386.c (ix86_function_ok_for_sibcall): Check flag_plt.
25046
25047 2015-05-25 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
25048
25049 * config/avr/avr.c (avr_out_load_psi_reg_no_disp_tiny): Restore base
25050 register if not marked dead/unused, before return.
25051
25052 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
25053
25054 PR lto/66180
25055 * ipa-devirt.c (type_with_linkage): Check that TYPE_STUB_DECL
25056 is set; check for assembler name at LTO time.
25057 (type_in_anonymous_namespace): Remove hacks, check that all
25058 anonymous types are called "<anon>"
25059 (odr_type_p): Simplify; add check for "<anon>"
25060 (odr_subtypes_equivalent): Add odr_type_p check.
25061 * tree.c (need_assembler_name_p): Even anonymous namespace needs
25062 assembler name.
25063
25064 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
25065
25066 * ipa-utils.h (method_class_type): Remove.
25067 * cgraphunit.c (walk_polymorphic_call_targets): Use
25068 TYPE_METHOD_BASETYPE.
25069 * ipa-devirt.c (type_in_anonymous_namespace_p): Check that it is called
25070 on main variants only.
25071 (method_class_type): Remove.
25072 (update_type_inheritance_graph): Use TYPE_METHOD_BASETYPE.
25073 (build_type_inheritance_graph): Likewise.
25074 * ipa-icf.c (sem_function::equals_wpa): Likewise.
25075 * pa-polymorphic-call.c (decl_maybe_in_construction_p,
25076 check_stmt_for_type_change): Use TYPE_METHOD_BASETYPE.
25077
25078 2015-05-24 Jan Hubicka <hubicka@ucw.cz>
25079
25080 * tree.c (prototype_p, virtual_method_call_p, obj_type_ref_class,
25081 is_typedef_decl, typedef_variant_p): Constify.
25082 * tree.h (prototype_p, virtual_method_call_p, obj_type_ref_class,
25083 is_typedef_decl, typedef_variant_p): Constify.
25084
25085 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25086
25087 * defaults.h (gen_tablejump): New function.
25088 (HAVE_tablejump): Add default value.
25089 * expr.c: Adjust.
25090 * stmt.c: Likewise.
25091
25092 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25093
25094 * defaults.h (gen_store_multiple): New function.
25095 (HAVE_store_multiple): Add default value.
25096 * expr.c (move_block_from_reg): Adjust.
25097
25098 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25099
25100 * defaults.h (gen_load_multiple): New function.
25101 (HAVE_load_multiple): Add default value.
25102 * expr.c (move_block_to_reg): Adjust.
25103
25104 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25105
25106 * defaults.h (gen_mem_signal_fence): New function.
25107 (HAVE_mem_signal_fence): Add default value.
25108 * optabs.c: Adjust.
25109
25110 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25111
25112 * defaults.h (gen_memory_barrier): New function.
25113 (HAVE_memory_barrier): Add default value.
25114 * optabs.c: Adjust.
25115
25116 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25117
25118 * defaults.h (gen_mem_thread_fence): New function.
25119 (HAVE_mem_thread_fence): Add default definition.
25120 * optabs.c: Adjust.
25121
25122 2015-05-23 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25123
25124 * combine.c (find_split_point): Check the value of HAVE_lo_sum
25125 instead of if it is defined.
25126 (combine_simplify_rtx): Likewise.
25127 * lra-constraints.c (process_address_1): Likewise.
25128 * config/darwin.c: Adjust.
25129 * genconfig.c (main): Always define HAVE_lo_sum.
25130
25131 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
25132
25133 * genmatch.c (parser::parse_operation): Reject expanding
25134 operator-list inside 'for'.
25135
25136 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
25137
25138 * genmatch.c (parser::parse_for): Reject iterator if used as
25139 operator-list.
25140
25141 2015-05-23 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
25142
25143 * genmatch.c (parser::parse_operator_list): Check for CPP_CLOSE_PAREN
25144 after end of id-list.
25145
25146 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
25147
25148 * tree.c (gimple_canonical_types_compatible_p): Sanity check that
25149 we do not try to compute canonical type for type that does not need
25150 alias set.
25151 (verify_type): Drop FIXME for METHOD_TYPE, update FIXME for
25152 FUNCITON_TYPE.
25153 * tree.h (type_with_alias_set_p): New.
25154
25155 2015-05-22 Jan Hubicka <hubicka@ucw.cz>
25156
25157 * tree.c (gimple_canonical_types_compatible_p): Do not compare
25158 function attributes.
25159 (verify_type): Remove METHOD_TYPE FIXME; update FUNCTION_TYPE.
25160
25161 2015-05-22 Jim Wilson <jim.wilson@linaro.org>
25162
25163 * Makefile.in (check_gcc_parallelize): Delete.
25164 (lang_checks_parallelized): Update comment.
25165
25166 2015-05-22 Mikhail Maltsev <maltsevm@gmail.com>
25167
25168 PR rtl-optimization/66237
25169 * bb-reorder.c (fix_crossing_conditional_branches): Fix wrong
25170 location of an "as_a" cast.
25171
25172 2015-05-22 Jeff Law <law@redhat.com>
25173
25174 * config/pa/pa.md (non-canonical shift-add insns): Remove.
25175 (peepholes with non-canonical RTL sources): Remove.
25176 (peepholes for indexed stores of FP regs in integer modes): Match and
25177 generate canonical RTL.
25178
25179 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
25180
25181 PR tree-optimization/63387
25182 * match.pd ((X /[ex] A) * A -> X): Remove unnecessary condition.
25183 ((x ord x) & (y ord y) -> (x ord y),
25184 (x ord x) & (x ord y) -> (x ord y)): New simplifications.
25185 * fold-const.c (tree_unary_nonnegative_warnv_p) <ABS_EXPR>: Handle
25186 vectors like scalars.
25187
25188 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
25189
25190 * convert.c (convert_to_integer, convert_to_vector): Include the
25191 types in the error message.
25192
25193 2015-05-22 Marc Glisse <marc.glisse@inria.fr>
25194
25195 * match.pd ((x | y) & ~x -> y & ~x, (x & y) | ~x -> y | ~x): New
25196 simplifications.
25197
25198 2015-05-22 Jeff Law <law@redhat.com>
25199
25200 * config/pa/pa.md (integer_indexed_store splitters): Use
25201 mem_shadd_operand. Use ASHIFT rather than MULT in the resulting
25202 insns -- adjusting the constant 2nd operand accordingly.
25203
25204 * combine.c (try_combine): Canonicalize (plus (mult X pow2) Y) into
25205 (plus (ashift X log2) Y) if it is a split point.
25206
25207 * config/pa/pa.c (mem_shadd_or_shadd_rtx_p): New function factoredx
25208 out of hppa_legitimize_address to handle both forms of a multiply
25209 by 2, 4 or 8.
25210 (hppa_legitimize_address): Use mem_shadd_or_shadd_rtx_p.
25211 Always generate the ASHIFT variant as the result is not directly
25212 used in a MEM. Update comments and refactor slightly to improve
25213 readability.
25214
25215 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25216
25217 PR target/65491
25218 * config/aarch64/aarch64.c (aarch64_short_vector_p): Move above
25219 aarch64_composite_type_p. Remove check for aarch64_composite_type_p.
25220 (aarch64_composite_type_p): Return false if given type and mode are
25221 for a short vector.
25222
25223 2015-05-22 Richard Biener <rguenther@suse.de>
25224
25225 * tree-vectorizer.h (struct _slp_oprnd_info): Add second_pattern
25226 member.
25227 * tree-vect-loop.c (vect_analyze_loop_operations): Look at
25228 patterns when determining whether SLP is pure.
25229 (vect_is_slp_reduction): Remove check for pattern stmts.
25230 (vect_is_simple_reduction_1): Remove dead code.
25231 * tree-vect-slp.c (vect_create_oprnd_info): Initialize second_pattern.
25232 (vect_get_and_check_slp_defs): Pass in the stmt number.
25233 Allow the first def in a reduction to be not a pattern stmt when
25234 the rest of the stmts def are patterns.
25235 (vect_build_slp_tree_1): Allow tcc_expression codes like
25236 SAD_EXPR and DOT_PROD_EXPR.
25237 (vect_build_slp_tree): Adjust.
25238 (vect_analyze_slp): Refactor and move BB vect error message ...
25239 (vect_slp_analyze_bb_1): ... here.
25240
25241 2015-05-22 Aldy Hernandez <aldyh@redhat.com>
25242
25243 * tree-switch-conversion.c (build_one_array): Set DECL_IGNORED_P
25244 for CSWTCH temporary.
25245
25246 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25247
25248 * config/arm/arm.c (arm_new_rtx_costs): Handle UNSPEC_VOLATILE.
25249 (arm_unspec_cost): Allow UNSPEC_VOLATILE. Do not recurse inside
25250 unknown unspecs.
25251
25252 2015-05-22 Richard Biener <rguenther@suse.de>
25253
25254 PR tree-optimization/66251
25255 * tree-vect-stmts.c (vectorizable_conversion): Properly
25256 set STMT_VINFO_VEC_STMT even for the SLP case.
25257
25258 2015-05-22 Marek Polacek <polacek@redhat.com>
25259
25260 * doc/extend.texi: Use @pxref instead of @xref.
25261
25262 2015-05-22 hiraditya <hiraditya@msn.com>
25263
25264 * gimple.h (gimple_expr_type): Refactor to make it concise. Remove
25265 redundant if.
25266
25267 2015-05-22 Richard Biener <rguenther@suse.de>
25268
25269 PR tree-optimization/65701
25270 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
25271 Move peeling cost models into one place. Peel for alignment
25272 for single loads only if an aligned load is cheaper than
25273 an unaligned load.
25274
25275 2015-05-22 Marek Polacek <polacek@redhat.com>
25276
25277 PR c/47043
25278 * doc/extend.texi (Enumerator Attributes): New section.
25279 Document syntax of enumerator attributes.
25280
25281 2015-05-22 Richard Biener <rguenther@suse.de>
25282
25283 * tree-vect-loop.c (get_reduction_op): New function.
25284 (vect_model_reduction_cost): Use it, add reduc_index parameter.
25285 Make ready for BB reductions.
25286 (vect_create_epilog_for_reduction): Use get_reduction_op.
25287 (vectorizable_reduction): Init reduc_index to a valid value.
25288 Adjust vect_model_reduction_cost call.
25289 * tree-vect-slp.c (vect_get_constant_vectors): Use the proper
25290 operand for reduction defaults. Add SAD_EXPR support.
25291 Assert we have a neutral op for SLP reductions.
25292 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): When
25293 walking pattern stmt ops only recurse to SSA names.
25294
25295 2015-05-22 Richard Biener <rguenther@suse.de>
25296
25297 * tree-vect-patterns.c (vect_recog_dot_prod_pattern): Replace
25298 assert with guard, remove check on detected reduction.
25299 (vect_recog_sad_pattern): Likewise.
25300 (vect_recog_widen_sum_pattern): Likewise.
25301
25302 2015-05-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25303
25304 * config/aarch64/arm_neon.h (vaeseq_u8): Add __extension__ and
25305 __always_inline__ attribute.
25306 (vaesdq_u8): Likewise.
25307 (vaesmcq_u8): Likewise.
25308 (vaesimcq_u8): Likewise.
25309 (vsha1cq_u32): Likewise.
25310 (vsha1mq_u32): Likewise.
25311 (vsha1pq_u32): Likewise.
25312 (vsha1h_u32): Likewise.
25313 (vsha1su0q_u32): Likewise.
25314 (vsha1su1q_u32): Likewise.
25315 (vsha256hq_u32): Likewise.
25316 (vsha256h2q_u32): Likewise.
25317 (vsha256su0q_u32): Likewise.
25318 (vsha256su1q_u32): Likewise.
25319 (vmull_p64): Likewise.
25320 (vmull_high_p64): Likewise.
25321
25322 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25323
25324 * final.c (final_scan_insn): Don't check HAVE_peephole with the
25325 preprocessor.
25326 * output.h: Likewise.
25327 * genconfig.c (main): Alwways define HAVE_peephole.
25328 * genpeep.c: Don't emit checks of HAVE_peephole.
25329
25330 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25331
25332 * combine.c, expmed.c, expr.c, optabs.c optabs.h, toplev.c: DOn't
25333 check HAVE_conditional_move with the preprocessor.
25334
25335 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25336
25337 * genconfig.c (main): Always define HAVE_conditional_move.
25338 * combine.c, expmed.c, expr.c, ifcvt.c, optabs.c, optabs.h,
25339 toplev.c, tree-ssa-phiopt.c: Don't check if HAVE_conditional_move
25340 is defined.
25341
25342 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25343
25344 * combine.c, df-problems.c, df-scan.c, emit-rtl.c, reginfo.c,
25345 reload.c, rtlanal.c: Remove comparison of ARG_FRAME_POINTER_REGNUM
25346 and FRAME_POINTER_REGNUM with the preprocessor.
25347
25348 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25349
25350 * defaults.h: Add default for STACK_PUSH_CODE.
25351 * expr.c: Don't redefine STACK_PUSH_CODE.
25352 * recog.c: Likewise.
25353
25354 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25355
25356 * builtins.c, dwarf2cfi.c, explow.c, expr.c, recog.c,
25357 sched-deps.c: Use if instead of preprocessor checks with
25358 STACK_GROWS_DOWNWARD.
25359
25360 2015-05-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25361
25362 * *.c: Check the value of STACK_GROWS_DOWNWARD rather than if it
25363 is defined.
25364 * config/**/*.h: Define STACK_GROWS_DOWNWARD to an integer.
25365 * defaults.h: Provide default for STACK_GROWS_DOWNWARD.
25366 * doc/tm.texi.in: Update references to STACK_GROWS_DOWNWARD.
25367 * doc/tm.texi: Regenerate.
25368
25369 2015-05-21 H.J. Lu <hongjiu.lu@intel.com>
25370
25371 PR target/66232
25372 * config/i386/constraints.md (Bg): New constraint for GOT memory
25373 operand.
25374 * config/i386/i386.md (*call_got_x32): New pattern.
25375 (*call_value_got_x32): Likewise.
25376 * config/i386/predicates.md (GOT_memory_operand): New predicate.
25377
25378 2015-05-21 Jakub Jelinek <jakub@redhat.com>
25379
25380 PR tree-optimization/66233
25381 * match.pd (ocvt (icvt@1 @0)): Don't handle vector types.
25382 Simplify.
25383
25384 2015-05-21 Jeff Law <law@redhat.com>
25385
25386 * config/pa/pa.md (add-with-constant splitter): Use ASHIFT rather
25387 than MULT for shadd sequences.
25388
25389 2015-05-08 Jan Hubicka <hubicka@ucw.cz>
25390
25391 * alias.c (alias_stats): New static var.
25392 (alias_sets_conflict_p, alias_sets_must_conflict_p): Update stats.
25393 (dump_alias_stats_in_alias_c): New function.
25394 * alias.h (dump_alias_stats_in_alias_c): Declare.
25395 * tree-ssa-alias.c (dump_alias_stats): Call it.
25396
25397 2015-05-08 Michael Matz <matz@suse.de>
25398
25399 * tree-vectorizer.h (struct _stmt_vec_info): Rename stride_load_p
25400 to strided_p.
25401 (STMT_VINFO_STRIDE_LOAD_P): Rename to ...
25402 (STMT_VINFO_STRIDED_P): ... this.
25403 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Adjust.
25404 (vect_verify_datarefs_alignment): Likewise.
25405 (vect_enhance_data_refs_alignment): Likewise.
25406 (vect_analyze_data_ref_access): Likewise.
25407 (vect_analyze_data_refs): Accept strided stores.
25408 * tree-vect-stmts.c (vect_model_store_cost): Count strided stores.
25409 (vect_model_load_cost): Adjust for macro rename.
25410 (vectorizable_mask_load_store): Likewise.
25411 (vectorizable_load): Likewise.
25412 (vectorizable_store): Open code strided stores.
25413
25414 2015-05-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25415
25416 * doc/sourcebuild.texi (7.2.3.9 Other hardware attributes):
25417 Document sqrt_insn.
25418
25419 2015-05-21 Richard Biener <rguenther@suse.de>
25420
25421 PR c++/66211
25422 * match.pd: Guard pattern optimzing (int)(float)int
25423 conversions to apply only on GIMPLE.
25424
25425 2015-05-21 Jeff Law <law@redhat.com>
25426
25427 * combine.c (find_split_point): Handle ASHIFT like MULT to encourage
25428 multiply-accumulate/shift-add insn generation.
25429
25430 2015-05-21 Oleg Endo <olegendo@gcc.gnu.org>
25431
25432 PR target/54236
25433 * config/sh/sh.md (*round_int_even): Reject pattern if operands[0] and
25434 operands[1] are the same.
25435
25436 2015-05-21 Ilya Enkovich <enkovich.gnu@gmail.com>
25437
25438 PR middle-end/66221
25439 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Use
25440 build_distinct_type_copy to copy bounds.
25441
25442 2015-05-21 Thomas Schwinge <thomas@codesourcery.com>
25443
25444 * genrecog.c (MAX_DEPTH, MIN_NUM_STATEMENTS, MAX_NUM_STATEMENTS):
25445 Change to unsigned int.
25446
25447 2015-05-20 Jeff Law <law@redhat.com>
25448
25449 * config/pa/pa.c (pa_print_operand): New 'o' output modifier.
25450 (pa_mem_shadd_constant_p): Renamed from pa_shadd_constant_p.
25451 (pa_shadd_constant_p): Allow constants for shadd insns rather
25452 than valid scaling constants for memory addresses.
25453 * config/pa/pa-protos.h (pa_mem_shadd_constant_p): Add prototype.
25454 * config/pa/predicates.md (mem_shadd_operand): New predicate.
25455 * config/pa/pa.md (shift-add insns using MULT): Use mem_shadd_operand.
25456 (shift-add insns using ASHIFT): New patterns.
25457
25458 2015-05-20 Mikhail Maltsev <maltsevm@gmail.com>
25459
25460 * bb-reorder.c (set_edge_can_fallthru_flag): Use rtx_jump_insn where
25461 feasible.
25462 (fix_up_fall_thru_edges): Likewise.
25463 (fix_crossing_conditional_branches): Likewise. Promote jump targets
25464 from to rtx_insn to rtx_code_label where feasible.
25465 * bt-load.c (move_btr_def): Remove as-a cast of the value returned by
25466 gen_move_insn (returned type changed to rtx_insn).
25467 * builtins.c (expand_errno_check): Fix arguments of
25468 do_compare_rtx_and_jump (now expects rtx_code_label).
25469 (expand_builtin_acc_on_device): Likewise.
25470 * cfgcleanup.c (try_simplify_condjump): Add cast when calling
25471 invert_jump (now exprects rtx_jump_insn).
25472 * cfgexpand.c (label_rtx_for_bb): Promote return type to rtx_code_label.
25473 (construct_init_block): Use rtx_code_label.
25474 * cfgrtl.c (block_label): Promote return type to rtx_code_label.
25475 (try_redirect_by_replacing_jump): Use cast to rtx_jump_insn when
25476 calling redirect_jump.
25477 (patch_jump_insn): Likewise.
25478 (redirect_branch_edge): Likewise.
25479 (force_nonfallthru_and_redirect): Likewise.
25480 (fixup_reorder_chain): Explicitly use rtx_jump_insn instead of rtx_insn
25481 when suitable.
25482 (rtl_lv_add_condition_to_bb): Update call of do_compare_rtx_and_jump.
25483 * cfgrtl.h: Promote return type of block_label to rtx_code_label.
25484 * config/bfin/bfin.c (hwloop_optimize): Fix call of emit_label_before.
25485 * config/i386/i386.c (ix86_emit_cmove): Explicitly use rtx_code_label
25486 to store the value retured by gen_label_rtx.
25487 * config/mips/mips.c (mips16_split_long_branches): Promote rtx_insn to
25488 rtx_jump_insn.
25489 * config/sh/sh.c (gen_far_branch): Likewise. Fix call of invert_jump.
25490 (split_branches): Fix calls of redirect_jump.
25491 * dojump.c (jumpifnot): Promote argument type from rtx to
25492 rtx_code_label.
25493 (jumpifnot_1): Likewise.
25494 (jumpif): Likewise.
25495 (jumpif_1): Likewise.
25496 (do_jump_1): Likewise.
25497 (do_jump): Likewise. Use rtx_code_label when feasible.
25498 (do_jump_by_parts_greater_rtx): Likewise.
25499 (do_jump_by_parts_zero_rtx): Likewise.
25500 (do_jump_by_parts_equality_rtx): Likewise.
25501 (do_compare_rtx_and_jump): Likewise.
25502 * dojump.h: Update function prototypes.
25503 * dse.c (emit_inc_dec_insn_before): Remove case (gen_move_insn now
25504 returns rtx_insn).
25505 * emit-rtl.c (emit_jump_insn_before_noloc): Promote return type to
25506 rtx_jump_insn.
25507 (emit_label_before): Likewise.
25508 (emit_jump_insn_after_noloc): Likewise.
25509 (emit_jump_insn_after_setloc): Likewise.
25510 (emit_jump_insn_after): Likewise
25511 (emit_jump_insn_before_setloc): Likewise.
25512 (emit_jump_insn_before): Likewise.
25513 (emit_label_before): Promote return type to rtx_code_label.
25514 (emit_label): Likewise.
25515 * except.c (sjlj_emit_dispatch_table): Use jump_target_rtx.
25516 * explow.c (emit_stack_save): Use gen_move_insn_uncast instead of
25517 gen_move_insn.
25518 (emit_stack_restore): Likewise.
25519 * expmed.c (emit_store_flag_force): Fix calls of do_compare_rtx_and_jump.
25520 (do_cmp_and_jump): Likewise.
25521 * expr.c (expand_expr_real_2): Likewise. Promote some local variables
25522 from rtx to rtx_code_label.
25523 (gen_move_insn_uncast): New function.
25524 * expr.h: Update return type of gen_move_insn (promote to rtx_insn).
25525 * function.c (convert_jumps_to_returns): Fix call of redirect_jump.
25526 * gcse.c (pre_insert_copy_insn): Use rtx_insn instead of rtx.
25527 * ifcvt.c (dead_or_predicable): Use rtx_jump_insn when calling
25528 invert_jump_1 and redirect_jump_1.
25529 * internal-fn.c (expand_arith_overflow_result_store): Fix call of
25530 do_compare_rtx_and_jump.
25531 (expand_addsub_overflow): Likewise.
25532 (expand_neg_overflow): Likewise.
25533 (expand_mul_overflow): Likewise.
25534 * ira.c (split_live_ranges_for_shrink_wrap): Use rtx_insn for
25535 return value of gen_move_insn.
25536 * jump.c (redirect_jump): Promote argument from rtx to rtx_jump_insn.
25537 * loop-doloop.c (add_test): Use rtx_code_label.
25538 (doloop_modify): Likewise.
25539 (doloop_optimize): Likewise.
25540 * loop-unroll.c (compare_and_jump_seq): Promote rtx to rtx_code_label.
25541 * lra-constraints.c (emit_spill_move): Remove cast of value returned
25542 by gen_move_insn.
25543 (inherit_reload_reg): Add cast when calling dump_insn_slim.
25544 (split_reg): Likewise.
25545 * modulo-sched.c (schedule_reg_moves): Remove cast of value returned by
25546 gen_move_insn.
25547 * optabs.c (expand_binop_directly): Remove casts of values returned by
25548 maybe_gen_insn.
25549 (expand_unop_direct): Likewise.
25550 (expand_abs): Likewise.
25551 (maybe_emit_unop_insn): Likewise.
25552 (maybe_gen_insn): Promote return type to rtx_insn.
25553 * optabs.h: Update prototype of maybe_gen_insn.
25554 * postreload-gcse.c (eliminate_partially_redundant_load): Remove
25555 redundant cast.
25556 * recog.c (struct peep2_insn_data): Promote type of insn field to
25557 rtx_insn.
25558 (peep2_reinit_state): Use NULL instead of NULL_RTX.
25559 (peep2_attempt): Remove casts of insn in peep2_insn_data.
25560 (peep2_fill_buffer): Promote argument from rtx to rtx_insn
25561 * recog.h (struct insn_gen_fn): Promote return types of function
25562 pointers and operator ().from rtx to rtx_insn.
25563 * reorg.c (fill_simple_delay_slots): Promote rtx_insn to rtx_jump_insn.
25564 (fill_eager_delay_slots): Likewise.
25565 (relax_delay_slots): Likewise.
25566 (make_return_insns): Likewise.
25567 (dbr_schedule): Likewise.
25568 (optimize_skips): Likewise.
25569 (reorg_redirect_jump): Likewise.
25570 (fill_slots_from_thread): Likewise.
25571 * reorg.h: Update prototypes.
25572 * resource.c (find_dead_or_set_registers): Use dyn_cast to
25573 rtx_jump_insn instead of check. Use it's jump_target method.
25574 * rtl.h (rtx_jump_insn::jump_label): Define new method.
25575 (rtx_jump_insn::jump_target): Define new method.
25576 (rtx_jump_insn::set_jump_target): Define new method.
25577 * rtlanal.c (tablejump_p): Promote type of one local variable.
25578 * sched-deps.c (sched_analyze_2): Promote rtx to rtx_insn_list.
25579 (sched_analyze_insn): Likewise.
25580 * sched-vis.c (print_insn_with_notes): Promote rtx to rtx_insn.
25581 (print_insn): Likewise.
25582 * stmt.c (label_rtx): Promote return type to rtx_insn.
25583 (force_label_rtx): Likewise.
25584 (jump_target_rtx): Define new function.
25585 (expand_label): Use it, get rid of one cast.
25586 (expand_naked_return): Promote rtx to rtx_code_label.
25587 (do_jump_if_equal): Fix do_compare_rtx_and_jump call.
25588 (expand_case): Use rtx_code_label instread of rtx where feasible.
25589 (expand_sjlj_dispatch_table): Likewise.
25590 (emit_case_nodes): Likewise.
25591 * stmt.h: Declare jump_target_rtx. Update prototypes. Fix comments.
25592 * store-motion.c (insert_store): Make use of new return type of
25593 gen_move_insn and remove a cast.
25594 (replace_store_insn): Likewise.
25595
25596 2015-05-20 Max Filippov <jcmvbkbc@gmail.com>
25597
25598 * config/xtensa/xtensa.c (init_alignment_context): Replace MULT
25599 by BITS_PER_UNIT with ASHIFT by exact_log2 (BITS_PER_UNIT).
25600
25601 2015-05-20 Jeff Law <law@redhat.com>
25602
25603 * tree-ssa-threadupdate.c (mark_threaded_blocks): Properly
25604 dispose of the jump thread path when the jump threading
25605 opportunity is cancelled.
25606
25607 2015-05-20 Manuel López-Ibáñez <manu@gcc.gnu.org>
25608
25609 * diagnostic.c (diagnostic_print_caret_line): Fix off-by-one error
25610 when printing the caret character.
25611
25612 2015-05-20 Marek Polacek <polacek@redhat.com>
25613
25614 * cfgexpand.c (expand_debug_expr): Use UNARY_CLASS_P.
25615
25616 2015-05-20 Marek Polacek <polacek@redhat.com>
25617
25618 * expr.c (expand_cond_expr_using_cmove): Use COMPARISON_CLASS_P.
25619 * gimple-expr.c (gimple_cond_get_ops_from_tree): Likewise.
25620 * gimple-fold.c (canonicalize_bool): Likewise.
25621 (same_bool_result_p): Likewise.
25622 * tree-if-conv.c (parse_predicate): Likewise.
25623
25624 2015-05-20 Marek Polacek <polacek@redhat.com>
25625
25626 * gimple-fold.c (fold_const_aggregate_ref_1): Use DECL_P.
25627 * gimplify.c (gimplify_modify_expr_rhs): Likewise.
25628
25629 2015-05-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
25630
25631 * config/aarch64/aarch64.c (aarch64_class_max_nregs):
25632 Use UNITS_PER_VREG and UNITS_PER_WORD instead of their direct
25633 values.
25634
25635 2015-05-20 Robert Suchanek <robert.suchanek@imgtec.com>
25636
25637 * config/mips/mips.h (micromips_globals): Declare.
25638
25639 2015-05-20 David Malcolm <dmalcolm@redhat.com>
25640
25641 * timevar.def (TV_INITIALIZE_RTL): New.
25642 * toplev.c (initialize_rtl): Use an auto_timevar to account this
25643 function's time to TV_INITIALIZE_RTL.
25644
25645 2015-05-20 Ilya Enkovich <enkovich.gnu@gmail.com>
25646
25647 * tree-chkp.c (chkp_maybe_copy_and_register_bounds): Remove useless
25648 gimple_build_nop calls.
25649 (chkp_find_bounds_for_elem): Likewise.
25650 (chkp_get_zero_bounds): Likewise.
25651 (chkp_get_none_bounds): Likewise.
25652 (chkp_get_bounds_by_definition): Likewise.
25653 (chkp_generate_extern_var_bounds): Likewise.
25654 (chkp_get_bounds_for_decl_addr): Likewise.
25655 (chkp_get_bounds_for_string_cst): Likewise.
25656
25657 2015-05-20 Bin Cheng <bin.cheng@arm.com>
25658
25659 PR tree-optimization/65447
25660 * tree-ssa-loop-ivopts.c (struct iv_use): New fields.
25661 (dump_use, dump_uses): Support to dump sub use.
25662 (record_use): New parameters to support sub use. Remove call to
25663 dump_use.
25664 (record_sub_use, record_group_use): New functions.
25665 (compute_max_addr_offset, split_all_small_groups): New functions.
25666 (group_address_uses, rewrite_use_address): New functions.
25667 (strip_offset): New declaration.
25668 (find_interesting_uses_address): Call record_group_use.
25669 (add_candidate): New assertion.
25670 (infinite_cost_p): Move definition forward.
25671 (add_costs): Check INFTY cost and return immediately.
25672 (get_computation_cost_at): Clear setup cost and dependent bitmap
25673 for sub uses.
25674 (determine_use_iv_cost_address): Compute cost for sub uses.
25675 (rewrite_use_address_1): Rename from old rewrite_use_address.
25676 (free_loop_data): Free sub uses.
25677 (tree_ssa_iv_optimize_loop): Call group_address_uses.
25678
25679 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
25680 Jim Wilson <jim.wilson@linaro.org>
25681
25682 * config/arm/aarch-common-protos.h (struct mem_cost_table): Added
25683 new fields loadv and storev.
25684 * config/aarch64/aarch64-cost-tables.h (thunderx_extra_costs):
25685 Initialize loadv and storev.
25686 * config/arm/aarch-cost-tables.h (generic_extra_costs): Likewise.
25687 (cortexa53_extra_costs): Likewise.
25688 (cortexa57_extra_costs): Likewise.
25689 (xgene1_extra_costs): Likewise.
25690 * config/aarch64/aarch64.c (aarch64_rtx_costs): Update vector
25691 rtx_costs.
25692
25693 2015-05-20 Kugan Vivekanandarajah <kuganv@linaro.org>
25694
25695 * config/arm/arm.c (cortexa9_extra_costs): Initialize loadv and
25696 storev.
25697 (cortexa8_extra_costs): Likewise.
25698 (cortexa5_extra_costs): Likewise.
25699 (cortexa7_extra_costs): Likewise.
25700 (cortexa12_extra_costs): Likewise.
25701 (cortexa15_extra_costs): Likewise.
25702 (v7m_extra_costs): Likewise.
25703
25704 2015-05-20 Jeff Law <law@redhat.com>
25705
25706 * tree-ssa-threadupdate.c (thread_single_edge): Use delete_jump_thread
25707 instead of open-coded version. Also delete the jump thread created
25708 within this function.
25709
25710 2015-05-20 Alan Modra <amodra@gmail.com>
25711
25712 * config/rs6000/rs6000.c (rs6000_emit_allocate_stack): Return
25713 stack adjusting insn. Formatting.
25714 (rs6000_emit_prologue): Track stack adjusting insn, and use of
25715 r12. If possible, emit first -fsplit-stack arg pointer insn
25716 before stack adjust. Don't use r12 to save cr if split-stack.
25717
25718 2015-05-20 Alan Modra <amodra@gmail.com>
25719
25720 * common/config/rs6000/rs6000-common.c (TARGET_SUPPORTS_SPLIT_STACK):
25721 Define.
25722 (rs6000_supports_split_stack): New function.
25723 * config/rs6000/rs6000.c (machine_function): Add
25724 split_stack_arg_pointer.
25725 (TARGET_EXTRA_LIVE_ON_ENTRY, TARGET_INTERNAL_ARG_POINTER): Define.
25726 (setup_incoming_varargs): Use crtl->args.internal_arg_pointer
25727 rather than virtual_incoming_args_rtx.
25728 (rs6000_va_start): Likewise.
25729 (split_stack_arg_pointer_used_p): New function.
25730 (rs6000_emit_prologue): Set up arg pointer for -fsplit-stack.
25731 (morestack_ref): New var.
25732 (gen_add3_const, rs6000_expand_split_stack_prologue,
25733 rs6000_internal_arg_pointer, rs6000_live_on_entry,
25734 rs6000_split_stack_space_check): New functions.
25735 (rs6000_elf_file_end): Call file_end_indicate_split_stack.
25736 * config/rs6000/rs6000.md (UNSPEC_STACK_CHECK): Define.
25737 (UNSPECV_SPLIT_STACK_RETURN): Define.
25738 (split_stack_prologue, load_split_stack_limit,
25739 load_split_stack_limit_di, load_split_stack_limit_si,
25740 split_stack_return, split_stack_space_check): New expands and insns.
25741 * config/rs6000/rs6000-protos.h
25742 (rs6000_expand_split_stack_prologue): Declare.
25743 (rs6000_split_stack_space_check): Declare.
25744
25745 2015-05-20 Alan Modra <amodra@gmail.com>
25746
25747 * config/rs6000/rs6000.c (struct rs6000_stack): Correct comments.
25748 (direct_return): Test vrsave_size rather than vrsave_mask.
25749 (rs6000_emit_prologue): Likewise. Remove redundant altivec tests.
25750 (rs6000_emit_epilogue): Likewise.
25751
25752 2015-05-20 Alan Modra <amodra@gmail.com>
25753
25754 * config/rs6000/rs6000.c (rs6000_stack_info): Don't zero offsets
25755 when not saving registers.
25756 (debug_stack_info): Adjust to omit printing unused offsets,
25757 as before.
25758 (rs6000_emit_epilogue): Adjust use_backchain_to_restore_sp
25759 expression.
25760
25761 2015-05-19 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
25762
25763 PR c++/65835
25764 * config/i386/winnt.c (struct wrapped_symbol_hasher): Change
25765 value_type to const char *.
25766
25767 2015-05-19 Sandra Loosemore <sandra@codesourcery.com>
25768
25769 * config.gcc [powerpc*-*-linux*]: Allow --enable-targets=all
25770 to build a biarch toolchain again.
25771
25772 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
25773
25774 * ipa-devirt.c (type_in_anonymous_namespace_p): Return true
25775 or implicit declarations.
25776 (odr_type_p): Check that TYPE_NAME is TYPE_DECL before looking
25777 into it.
25778 (get_odr_type): Check type has linkage before adding bases.
25779 (register_odr_type): Check that type has linkage before adding it.
25780 (type_known_to_have_no_deriavations_p): Rename to ..
25781 (type_known_to_have_no_derivations_p): This one.
25782 * ipa-utils.h (type_known_to_have_no_deriavations_p): Rename to ..
25783 (type_known_to_have_no_derivations_p): This one.
25784 * ipa-polymorphic-call.c
25785 (ipa_polymorphic_call_context::restrict_to_inner_type): Check that
25786 type has linkage.
25787
25788 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
25789
25790 * stor-layout.c (finalize_type_size): Use AGGREGATE_TYPE_P.
25791 (layout_type): Use RECORD_OR_UNION_TYPE_P.
25792
25793 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25794
25795 * config/s390/s390.c (s390_vector_bool_type_p): New function.
25796 (s390_invalid_binary_op): New function.
25797 (TARGET_INVALID_BINARY_OP): Define macro.
25798
25799 2015-05-19 David Sherwood <david.sherwood@arm.com>
25800
25801 * loop-invariant.c (create_new_invariant): Don't calculate address cost
25802 if mode is not a scalar integer.
25803 (get_inv_cost): Increase computational cost for unused invariants.
25804
25805 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25806
25807 * config.gcc: Add vecintrin.h to extra_headers. Add s390-c.o to
25808 c_target_objs and cxx_target_objs. Add t-s390 to tmake_file.
25809 * config/s390/s390-builtin-types.def: New file.
25810 * config/s390/s390-builtins.def: New file.
25811 * config/s390/s390-builtins.h: New file.
25812 * config/s390/s390-c.c: New file.
25813 * config/s390/s390-modes.def: Add modes CCVEQANY, CCVH,
25814 CCVHANY, CCVHU, CCVHUANY, CCVFHANY, CCVFHEANY.
25815 * config/s390/s390-protos.h (s390_expand_vec_compare_cc)
25816 (s390_cpu_cpp_builtins, s390_register_target_pragmas): Add
25817 prototypes.
25818 * config/s390/s390.c (s390-builtins.h, s390-builtins.def):
25819 Include.
25820 (flags_builtin, flags_overloaded_builtin_var, s390_builtin_types)
25821 (s390_builtin_fn_types, s390_builtin_decls, code_for_builtin): New
25822 variable definitions.
25823 (s390_const_operand_ok): New function.
25824 (s390_expand_builtin): Rewrite.
25825 (s390_init_builtins): New function.
25826 (s390_handle_vectorbool_attribute): New function.
25827 (s390_attribute_table): Add s390_vector_bool attribute.
25828 (s390_match_ccmode_set): Handle new cc modes CCVH, CCVHU.
25829 (s390_branch_condition_mask): Generate masks for new modes.
25830 (s390_expand_vec_compare_cc): New function.
25831 (s390_mangle_type): Add mangling for vector bool types.
25832 (enum s390_builtin): Remove.
25833 (s390_atomic_assign_expand_fenv): Rename constants for sfpc and
25834 efpc builtins.
25835 * config/s390/s390.h (TARGET_CPU_CPP_BUILTINS): Call
25836 s390_cpu_cpp_builtins.
25837 (REGISTER_TARGET_PRAGMAS): New macro.
25838 * config/s390/s390.md: Define more UNSPEC_VEC_* constants.
25839 (insn_cmp mode attribute): Add new CC modes.
25840 (s390_sfpc, s390_efpc): Rename patterns to sfpc and efpc.
25841 (lcbb): New pattern definition.
25842 * config/s390/s390intrin.h: Include vecintrin.h.
25843 * config/s390/t-s390: New file.
25844 * config/s390/vecintrin.h: New file.
25845 * config/s390/vector.md: Include vx-builtins.md.
25846 * config/s390/vx-builtins.md: New file.S/390 zvector builtin
25847 support.
25848
25849 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25850
25851 * config/s390/s390-modes.def: Add new modes CCVEQ, CCVFH, and
25852 CCVFHE.
25853 * config/s390/s390.c (s390_match_ccmode_set): Handle new modes.
25854 (s390_select_ccmode): Likewise.
25855 (s390_canonicalize_comparison): Swap operands if necessary.
25856 (s390_expand_vec_compare_scalar): Expand DFmode compare using
25857 single element vector instructions.
25858 (s390_emit_compare): Call s390_expand_vec_compare_scalar.
25859 (s390_branch_condition_mask): Generate CC masks for the new modes.
25860 * config/s390/s390.md (v0, vf, vd): New mode attributes.
25861 (VFCMP, asm_fcmp, insn_cmp): New mode iterator and attributes.
25862 (*vec_cmp<insn_cmp>df_cconly, *fixuns_truncdfdi2_z13)
25863 (*fix_trunc<BFP:mode><GPR:mode>2_bfp, *floatunsdidf2_z13)
25864 (*floatuns<GPR:mode><FP:mode>2, *extendsfdf2_z13)
25865 (*extend<DSF:mode><BFP:mode>2): New insn definition.
25866 (fix_trunc<BFP:mode><GPR:mode>2_bfp, loatuns<GPR:mode><FP:mode>2)
25867 (extend<DSF:mode><BFP:mode>2): Turn into expander.
25868 (floatdi<mode>2, truncdfsf2, add<mode>3, sub<mode>3, mul<mode>3)
25869 (div<mode>3, *neg<mode>2, *abs<mode>2, *negabs<mode>2)
25870 (sqrt<mode>2): Add vector instruction.
25871
25872 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25873
25874 * config/s390/constraints.md (j00, jm1, jxx, jyy, v): New
25875 constraints.
25876 * config/s390/predicates.md (const0_operand, constm1_operand)
25877 (constable_operand): Accept vector operands.
25878 * config/s390/s390-modes.def: Add supported vector modes.
25879 * config/s390/s390-protos.h (s390_cannot_change_mode_class)
25880 (s390_function_arg_vector, s390_contiguous_bitmask_vector_p)
25881 (s390_bytemask_vector_p, s390_expand_vec_strlen)
25882 (s390_expand_vec_compare, s390_expand_vcond)
25883 (s390_expand_vec_init): Add prototypes.
25884 * config/s390/s390.c (VEC_ARG_NUM_REG): New macro.
25885 (s390_vector_mode_supported_p): New function.
25886 (s390_contiguous_bitmask_p): Mask out the irrelevant bits.
25887 (s390_contiguous_bitmask_vector_p): New function.
25888 (s390_bytemask_vector_p): New function.
25889 (s390_split_ok_p): Vector regs don't work either.
25890 (regclass_map): Add VEC_REGS.
25891 (s390_legitimate_constant_p): Handle vector constants.
25892 (s390_cannot_force_const_mem): Handle CONST_VECTOR.
25893 (legitimate_reload_vector_constant_p): New function.
25894 (s390_preferred_reload_class): Handle CONST_VECTOR.
25895 (s390_reload_symref_address): Likewise.
25896 (s390_secondary_reload): Vector memory instructions only support
25897 short displacements. Rename reload*_nonoffmem* to reload*_la*.
25898 (s390_emit_ccraw_jump): New function.
25899 (s390_expand_vec_strlen): New function.
25900 (s390_expand_vec_compare): New function.
25901 (s390_expand_vcond): New function.
25902 (s390_expand_vec_init): New function.
25903 (s390_dwarf_frame_reg_mode): New function.
25904 (print_operand): Handle addresses with 'O' and 'R' constraints.
25905 (NR_C_MODES, constant_modes): Add vector modes.
25906 (s390_output_pool_entry): Handle vector constants.
25907 (s390_hard_regno_mode_ok): Handle vector registers.
25908 (s390_class_max_nregs): Likewise.
25909 (s390_cannot_change_mode_class): New function.
25910 (s390_invalid_arg_for_unprototyped_fn): New function.
25911 (s390_function_arg_vector): New function.
25912 (s390_function_arg_float): Remove size variable.
25913 (s390_pass_by_reference): Handle vector arguments.
25914 (s390_function_arg_advance): Likewise.
25915 (s390_function_arg): Likewise.
25916 (s390_return_in_memory): Vector values are returned in a VR if
25917 possible.
25918 (s390_function_and_libcall_value): Handle vector arguments.
25919 (s390_gimplify_va_arg): Likewise.
25920 (s390_call_saved_register_used): Consider the arguments named.
25921 (s390_conditional_register_usage): Disable v16-v31 for non-vec
25922 targets.
25923 (s390_preferred_simd_mode): New function.
25924 (s390_support_vector_misalignment): New function.
25925 (s390_vector_alignment): New function.
25926 (TARGET_STRICT_ARGUMENT_NAMING, TARGET_DWARF_FRAME_REG_MODE)
25927 (TARGET_VECTOR_MODE_SUPPORTED_P)
25928 (TARGET_INVALID_ARG_FOR_UNPROTOTYPED_FN)
25929 (TARGET_VECTORIZE_PREFERRED_SIMD_MODE)
25930 (TARGET_VECTORIZE_SUPPORT_VECTOR_MISALIGNMENT)
25931 (TARGET_VECTOR_ALIGNMENT): Define target macro.
25932 * config/s390/s390.h (FUNCTION_ARG_PADDING): Define macro.
25933 (FIRST_PSEUDO_REGISTER): Increase value.
25934 (VECTOR_NOFP_REGNO_P, VECTOR_REGNO_P, VECTOR_NOFP_REG_P)
25935 (VECTOR_REG_P): Define macros.
25936 (FIXED_REGISTERS, CALL_USED_REGISTERS)
25937 (CALL_REALLY_USED_REGISTERS, REG_ALLOC_ORDER)
25938 (HARD_REGNO_CALL_PART_CLOBBERED, REG_CLASS_NAMES)
25939 (FUNCTION_ARG_REGNO_P, FUNCTION_VALUE_REGNO_P, REGISTER_NAMES):
25940 Add vector registers.
25941 (CANNOT_CHANGE_MODE_CLASS): Call C function.
25942 (enum reg_class): Add VEC_REGS, ADDR_VEC_REGS, GENERAL_VEC_REGS.
25943 (SECONDARY_MEMORY_NEEDED): Allow SF<->SI mode moves without
25944 memory.
25945 (DBX_REGISTER_NUMBER, FIRST_VEC_ARG_REGNO, LAST_VEC_ARG_REGNO)
25946 (SHORT_DISP_IN_RANGE, VECTOR_STORE_FLAG_VALUE): Define macro.
25947 * config/s390/s390.md (UNSPEC_VEC_*): New constants.
25948 (VR*_REGNUM): New constants.
25949 (ALL): New mode iterator.
25950 (INTALL): Remove mode iterator.
25951 Include vector.md.
25952 (movti): Implement TImode moves for VRs.
25953 Disable TImode splitter for VR targets.
25954 Implement splitting TImode GPR<->VR moves.
25955 (reload*_tomem_z10, reload*_toreg_z10): Replace INTALL with ALL.
25956 (reload<mode>_nonoffmem_in, reload<mode>_nonoffmem_out): Rename to
25957 reload<mode>_la_in, reload<mode>_la_out.
25958 (*movdi_64, *movsi_zarch, *movhi, *movqi, *mov<mode>_64dfp)
25959 (*mov<mode>_64, *mov<mode>_31): Add vector instructions.
25960 (TD/TF mode splitter): Enable for GPRs only (formerly !FP).
25961 (mov<mode> SF SD): Prefer lder, lde for loading.
25962 Add lrl and strl instructions.
25963 Add vector instructions.
25964 (strlen<mode>): Rename old strlen<mode> to strlen_srst<mode>.
25965 Call s390_expand_vec_strlen on z13.
25966 (*cc_to_int): Change predicate to nonimmediate_operand.
25967 (addti3): Rename to *addti3. New expander.
25968 (subti3): Rename to *subti3. New expander.
25969 * config/s390/vector.md: New file.
25970
25971 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25972
25973 * common/config/s390/s390-common.c (processor_flags_table): Add
25974 z13.
25975 * config.gcc: Add z13.
25976 * config/s390/s390-opts.h (enum processor_type): Add
25977 PROCESSOR_2964_Z13.
25978 * config/s390/s390.c (s390_adjust_priority): Check for
25979 PROCESSOR_2964_Z13.
25980 (s390_reorg): Likewise.
25981 (s390_sched_reorder): Likewise.
25982 (s390_sched_variable_issue): Likewise.
25983 (s390_loop_unroll_adjust): Likewise.
25984 (s390_option_override): Likewise. Default to -mvx when available.
25985 * config/s390/s390.h (enum processor_flags): Add PF_Z13 and PF_VX.
25986 (TARGET_CPU_Z13, TARGET_CPU_VX, TARGET_Z13, TARGET_VX)
25987 (TARGET_VX_ABI): Define macros.
25988 macros.
25989 (TARGET_DEFAULT): Add MASK_OPT_VX.
25990 * config/s390/s390.md ("cpu" attribute): Add z13.
25991 ("cpu_facility" attribute): Add vec.
25992 * config/s390/s390.opt (processor_type): Add z13.
25993 (mvx): New options.
25994 * doc/invoke.texi: Add z13 option for -march.
25995
25996 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
25997
25998 * config/s390/predicates.md (shift_count_or_setmem_operand): Add
25999 mode check to make sure that only scalar integer values are
26000 accepted.
26001
26002 2015-05-19 Jan Hubicka <hubicka@ucw.cz>
26003
26004 * tree.c (verify_type_variant): Fix #undef.
26005 (gimple_canonical_types_compatible_p): Move here from lto.c
26006 (verify_type): Verify TYPE_CANONICAL compatibility.
26007 * tree.h (gimple_canonical_types_compatible_p): Declare.
26008
26009 2015-05-19 Jakub Jelinek <jakub@redhat.com>
26010
26011 PR middle-end/66199
26012 * tree.h (OMP_TEAMS_COMBINED): Define.
26013 * gimplify.c (enum gimplify_omp_var_data): Add
26014 GOVD_LINEAR_LASTPRIVATE_NO_OUTER.
26015 (enum omp_region_type): Add ORT_COMBINED_TEAMS.
26016 (omp_notice_variable): Accept both ORT_TEAMS
26017 and ORT_COMBINED_TEAMS. Don't recurse if
26018 GOVD_LINEAR_LASTPRIVATE_NO_OUTER is set and either
26019 GOVD_LINEAR is set, or GOVD_LASTPRIVATE without
26020 GOVD_FIRSTPRIVATE.
26021 (omp_no_lastprivate): New function.
26022 (gimplify_scan_omp_clauses): For OMP_CLAUSE_LASTPRIVATE
26023 and OMP_CLAUSE_LINEAR, if omp_no_lastprivate, don't
26024 notice_outer and set appropriate bits, otherwise make
26025 sure default(none) combined constructs won't complain.
26026 (gimplify_adjust_omp_clauses): Remove OMP_CLAUSE_LINEAR
26027 outer special casing, for OMP_CLAUSE_LASTPRIVATE if
26028 omp_no_lastprivate either remove the clause or turn it
26029 into OMP_CLAUSE_PRIVATE.
26030 (gimplify_omp_for): Fix up handling of implicit
26031 lastprivate or linear iterators.
26032 (gimplify_omp_workshare): For OMP_TEAMS_COMBINED use
26033 ORT_COMBINED_TEAMS.
26034 * omp-low.c (lower_omp_for_lastprivate): For combined
26035 for simd use fd.loop.n2 from the for rather than simd.
26036
26037 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26038
26039 * config/cris/cris.c (cris_expand_prologue): Use gen_raw_REG
26040 instead of gen_rtx_raw_REG.
26041 (cris_expand_epilogue): Likewise.
26042 * config/microblaze/microblaze.c (microblaze_classify_address):
26043 Likewise.
26044 * config/sparc/sparc.md: Likewise.
26045
26046 2015-05-19 Uros Bizjak <ubizjak@gmail.com>
26047
26048 * config/alpha/alpha.c (alpha_legitimize_reload_address)
26049 (alpha_preferred_reload_class, alpha_legitimate_constant_p): Use
26050 CONST_INT_P, CONST_SCALAR_INT_P and CONST_DOUBLE_P predicates.
26051 (alpha_split_reload_pair) <case CONST_INT, case CONST_WIDE_INT>:
26052 Use CASE_CONST_SCALAR_INT.
26053 (print_operand) <case 'M'>: Use mode_width_operand to check the
26054 value of the constant.
26055 * config/alpha/alpha.md (movti): Use CONST_SCALAR_INT_P predicate.
26056 * config/alpha/predicates.md (input_operand): Use general_operand
26057 instead of match_code as operand check.
26058 (symbolic_operand): Use match_code with subexpression digits.
26059 * config/alpha/constraints.md (Q): Ditto.
26060
26061 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
26062
26063 * optabs.c (expand_vec_perm): Don't re-use SEL as target operand.
26064
26065 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
26066
26067 * config/s390/s390.c (s390_secondary_reload): Fix check for
26068 load/store relative.
26069
26070 2015-05-19 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
26071
26072 * recog.h: Increase MAX_RECOG_ALTERNATIVES. Change type of
26073 alternative_mask to uint64_t.
26074
26075 2015-05-19 Jakub Jelinek <jakub@redhat.com>
26076
26077 PR tree-optimization/66187
26078 * match.pd ((bit_and (plus/minus (convert @0) (convert @1)) mask)):
26079 Pass TYPE_SIGN to tree_int_cst_min_precision. If
26080 !TYPE_OVERFLOW_WRAPS, ensure @4 is non-negative.
26081
26082 2015-05-19 David Malcolm <dmalcolm@redhat.com>
26083
26084 * diagnostic.c (diagnostic_report_current_module): Strengthen
26085 local "new_map" from const line_map * to
26086 const line_map_ordinary *.
26087 * genmatch.c (error_cb): Likewise for local "map".
26088 (output_line_directive): Likewise for local "map".
26089 * input.c (expand_location_1): Likewise for local "map".
26090 Pass NULL rather than &map to
26091 linemap_unwind_to_first_non_reserved_loc, since the value is never
26092 read from there, and the value written back not read from here.
26093 (is_location_from_builtin_token): Strengthen local "map" from
26094 const line_map * to const line_map_ordinary *.
26095 (dump_location_info): Strengthen locals "map" from
26096 line_map *, one to const line_map_ordinary *, the other
26097 to const line_map_macro *.
26098 * tree-diagnostic.c (loc_map_pair): Strengthen field "map" from
26099 const line_map * to const line_map_macro *.
26100 (maybe_unwind_expanded_macro_loc): Add a call to
26101 linemap_check_macro when writing to the "map" field of the
26102 loc_map_pair.
26103 Introduce local const line_map_ordinary * "ord_map", using it in
26104 place of "map" in the part of the function where we know we have
26105 an ordinary map. Strengthen local "m" from const line_map * to
26106 const line_map_ordinary *.
26107
26108 2015-05-19 Nick Clifton <nickc@redhat.com>
26109
26110 PR target/66156
26111 * config/msp430/msp430.md (zero_extendhisi2): Add support for
26112 separate source and destination registers.
26113
26114 2015-05-19 Richard Biener <rguenther@suse.de>
26115
26116 PR tree-optimization/66165
26117 * tree-vect-slp.c (vect_supported_load_permutation_p): Add guard
26118 for no load permutation.
26119
26120 PR tree-optimization/66185
26121 * tree-vect-slp.c (vect_build_slp_tree): Properly roll back
26122 when building the SLP node from scalars.
26123
26124 2015-05-19 Eric Botcazou <ebotcazou@adacore.com>
26125 Tristan Gingold <gingold@adacore.com>
26126
26127 * insn-notes.def (UPDATE_SJLJ_CONTEXT): New note.
26128 * builtins.c (expand_builtin_update_setjmp_buf): Make global.
26129 (expand_stack_restore): Call record_new_stack_level.
26130 (expand_stack_save): Do not call do_pending_stack_adjust.
26131 * builtins.h (expand_builtin_update_setjmp_buf): Declare.
26132 * calls.c (expand_call): Call record_new_stack_level for alloca.
26133 * except.c (sjlj_mark_call_sites): Expand builtin_update_setjmp_buf
26134 wherever a NOTE_INSN_UPDATE_SJLJ_CONTEXT note is present.
26135 (update_sjlj_context): New global function.
26136 * except.h (update_sjlj_context): Declare.
26137 * explow.c (record_new_stack_level): New global function.
26138 (allocate_dynamic_stack_space): Call record_new_stack_level.
26139 * explow.h (record_new_stack_level): Declare.
26140 * final.c (final_scan_insn): Deal with NOTE_INSN_UPDATE_SJLJ_CONTEXT.
26141 * cfgrtl.c (duplicate_insn_chain): Likewise.
26142
26143 2015-05-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26144
26145 * calls.c: Always define STACK_GROWS_DOWNWARD as 0 or 1.
26146 (mem_overlaps_already_clobbered_arg_p): Rewrite ifdef
26147 STACK_GROWS_DOWNWARD as normal if.
26148 (expand_call): Likewise.
26149
26150 2015-05-19 Oleg Endo <olegendo@gcc.gnu.org>
26151
26152 PR target/54236
26153 * config/sh/sh.md (*round_int_even): New insn_and_split and
26154 accompanying new unnamed split.
26155
26156 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26157
26158 * bitmap.c (bitmap_set_range): Handle count==1 specially.
26159 (bitmap_clear_range): Likewise.
26160 * cfgcleanup.c (mark_effect): Use bitmap_clear_range and
26161 bitmap_set_range unconditionally.
26162 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
26163 * df-scan.c (df_mark_reg): Likewise.
26164 * haifa-sched.c (setup_ref_regs): Likewise.
26165 * sched-rgn.c (update_live_1): Likewise.
26166
26167 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26168
26169 * regs.h (END_HARD_REGNO): Delete.
26170 (END_REGNO): Move to...
26171 * rtl.h: ...here.
26172 * bt-load.c (note_btr_set): Use END_REGNO instead of END_HARD_REGNO.
26173 * caller-save.c (mark_set_regs): Likewise.
26174 * combine.c (move_deaths, distribute_notes): Likewise.
26175 * cse.c (invalidate, invalidate_for_call): Likewise.
26176 * df-scan.c (df_ref_record): Likewise.
26177 * postreload-gcse.c (reg_changed_after_insn_p): Likewise.
26178 (record_last_reg_set_info): Likewise.
26179 * reg-stack.c (convert_regs_exit): Likewise.
26180 * reload.c (reg_overlap_mentioned_for_reload_p): Likewise.
26181 * resource.c (update_live_status): Likewise.
26182 * rtlanal.c (find_reg_fusage, find_regno_fusage): Likewise.
26183
26184 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26185
26186 * rtl.h (reg_info): Add an nregs field.
26187 (REG_NREGS): Use it.
26188 (SET_REGNO_RAW): Delete.
26189 (set_regno_raw): New function.
26190 * regs.h (END_HARD_REGNO): Make equivalent to END_REGNO.
26191 (END_REGNO): Redefine in terms of REG_NREGS.
26192 * read-rtl.c (read_rtx_code): Call set_regno_raw instead of
26193 SET_REGNO_RAW.
26194 * emit-rtl.c (set_mode_and_regno): Likewise.
26195 * df-scan.c (df_ref_change_reg_with_loc): Use set_mode_and_regno
26196 instead of SET_REGNO_RAW.
26197
26198 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26199
26200 * rtl.h (PUT_MODE_RAW): New macro.
26201 (PUT_REG_NOTE_KIND): Use it.
26202 (set_mode_and_regno): Declare.
26203 (gen_raw_REG): Change regno to "unsigned int".
26204 (gen_rtx_REG): Change "unsigned" to "unsigned int".
26205 (PUT_MODE): Forward to PUT_MODE_RAW for generators, otherwise
26206 use set_mode_and_regno to change the mode of registers.
26207 * gengenrtl.c (gendef): Use PUT_MODE_RAW.
26208 * emit-rtl.c (set_mode_and_regno): New function.
26209 (gen_raw_REG): Change regno to unsigned int. Use set_mode_and_regno.
26210 * caller-save.c (reg_save_code): Use set_mode_and_regno.
26211 * expr.c (init_expr_target): Likewise.
26212 * ira.c (setup_prohibited_mode_move_regs): Likewise.
26213 * postreload.c (reload_cse_simplify_operands): Likewise.
26214
26215 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26216
26217 * caller-save.c (init_caller_save): Use word_mode and
26218 FIRST_PSEUDO_REGISTER when creating temporary rtxes.
26219 * expr.c (init_expr_target): Likewise.
26220 * ira.c (setup_prohibited_mode_move_regs): Likewise.
26221 * postreload.c (reload_cse_regs_1): Likewise.
26222
26223 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26224
26225 * rtl.def (REG): Change format to "r".
26226 * rtl.h (rtunion): Remove rt_reg.
26227 (reg_info): New structure.
26228 (rtx_def): Add reg field to main union.
26229 (X0REGATTR): Delete.
26230 (REG_CHECK): New macro.
26231 (SET_REGNO_RAW, rhs_regno, REG_ATTRS): Use it.
26232 * rtl.c (rtx_format): Document "r".
26233 (rtx_code_size): Handle REG specially.
26234 * gengenrtl.c (special_format): Return true for formats
26235 that include 'r'.
26236 * gengtype.c (adjust_field_rtx_def): Handle 'r' fields.
26237 Deal with REG_ATTRS after the field loop.
26238 * emit-rtl.c (gen_raw_REG): Call rtx_alloc_stat directly.
26239 * expmed.c (init_expmed): Call gen_raw_REG instead of
26240 gen_rtx_raw_REG.
26241 * expr.c (init_expr_target): Likewise.
26242 * regcprop.c (maybe_mode_change): Likewise.
26243 * varasm.c (make_decl_rtl): Likewise.
26244 * final.c (leaf_renumber_regs_insn): Return early after
26245 handling REGs.
26246 * genemit.c (gen_exp): Handle 'r' fields.
26247 * genpeep.c (match_rtx): Likewise.
26248 * gensupport.c (subst_pattern_match): Likewise.
26249 (get_alternatives_number, collect_insn_data, alter_predicate_for_insn)
26250 (alter_constraints, subst_dup): Likewise.
26251 * read-rtl.c (read_rtx_code): Likewise.
26252 * print-rtl.c (print_rtx): Likewise.
26253 * genrecog.c (find_operand, find_matching_operand): Likewise.
26254 (validate_pattern, match_pattern_2): Likewise.
26255 (parameter::UINT, rtx_test::REGNO_FIELD): New enum values.
26256 (rtx_test::regno_field): New function.
26257 (operator ==, safe_to_hoist_p, transition_parameter_type)
26258 (parameter_type_string, print_parameter_value)
26259 (print_nonbool_test, print_test): Handle new enum values.
26260 * cselib.c (rtx_equal_for_cselib_1): Handle REG specially.
26261 * lra-constraints.c (operands_match_p): Likewise.
26262
26263 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26264
26265 * df.h (df_ref_change_reg_with_loc): Remove old_regno parameter.
26266 Change type of new_regno to unsigned int.
26267 * df-scan.c (df_ref_change_reg_with_loc_1): Change type of
26268 new_regno to unsigned int.
26269 (df_ref_change_reg_with_loc): Remove old_regno parameter.
26270 Change type of new_regno to unsigned int. Use SET_REGNO_RAW.
26271 * rtl.h (SET_REGNO): Update call to df_ref_change_reg_with_loc.
26272 (SET_REGNO_RAW): Add space after ",".
26273
26274 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26275
26276 * rtl.h (REG_NREGS): New macro
26277 * alias.c (record_set): Use it.
26278 * cfgcleanup.c (mark_effect): Likewise.
26279 * combine.c (likely_spilled_retval_1): Likewise.
26280 (likely_spilled_retval_p, can_change_dest_mode): Likewise.
26281 (move_deaths, distribute_notes): Likewise.
26282 * cselib.c (cselib_record_set): Likewise.
26283 * df-problems.c (df_simulate_one_insn_forwards): Likewise.
26284 * df-scan.c (df_mark_reg): Likewise.
26285 * dse.c (look_for_hardregs): Likewise.
26286 * dwarf2out.c (reg_loc_descriptor): Likewise.
26287 (multiple_reg_loc_descriptor): Likewise.
26288 * expr.c (write_complex_part, read_complex_part): Likewise.
26289 (emit_move_complex): Likewise.
26290 * haifa-sched.c (setup_ref_regs): Likewise.
26291 * ira-lives.c (mark_hard_reg_live): Likewise.
26292 * lra.c (lra_set_insn_recog_data): Likewise.
26293 * mode-switching.c (create_pre_exit): Likewise.
26294 * postreload.c (reload_combine_recognize_const_pattern): Likewise.
26295 (reload_combine_recognize_pattern): Likewise.
26296 (reload_combine_note_use, move2add_record_mode): Likewise.
26297 (reload_cse_move2add): Likewise.
26298 * reg-stack.c (subst_stack_regs_pat): Likewise.
26299 * regcprop.c (kill_value, copy_value): Likewise.
26300 (copyprop_hardreg_forward_1): Likewise.
26301 * regrename.c (verify_reg_in_set, scan_rtx_reg): Likewise.
26302 (build_def_use): Likewise.
26303 * sched-deps.c (mark_insn_reg_birth, mark_reg_death): Likewise.
26304 (deps_analyze_insn): Likewise.
26305 * sched-rgn.c (check_live_1, update_live_1): Likewise.
26306 * sel-sched.c (count_occurrences_equiv): Likewise.
26307 * valtrack.c (dead_debug_insert_temp): Likewise.
26308
26309 2015-05-19 Richard Sandiford <richard.sandiford@arm.com>
26310
26311 * cfgcleanup.c (mentions_nonequal_regs): Use END_REGNO.
26312 * dse.c (note_add_store): Likewise.
26313 * ira-lives.c (mark_hard_reg_dead): Likewise.
26314 * loop-invariant.c (mark_reg_store): Likewise.
26315 (mark_reg_death): Likewise.
26316 * postreload.c (reload_combine): Likewise.
26317 (reload_combine_note_store): Likewise.
26318 (reload_combine_note_use): Likewise.
26319 * recog.c (peep2_reg_dead_p): Likewise.
26320
26321 2015-05-19 Alan Modra <amodra@gmail.com>
26322
26323 * config/rs6000/predicates.md (gpc_reg_operand): Don't allow all
26324 hard registers numbered greater or equal to ARG_POINTER_REGNUM.
26325 (reg_or_neg_short_operand, fix_trunc_dest_operand): Delete
26326 unused predicates.
26327 * config/rs6000/altivec.md (save_vregs_*, restore_vregs_*):
26328 Use altivec_register_operand. Make insn predicate TARGET_ALTIVEC.
26329 * config/rs6000/rs6000.md (extzvdi_internal2): Use cc_reg_operand.
26330 * config/rs6000/vsx.md (vsx_float<VSi><mode>2): Expand comment.
26331
26332 2015-05-19 Sameera Deshpande <Sameera.Deshpande@imgtec.com>
26333
26334 * config/mips/mips.md (JOIN_MODE): New mode iterator.
26335 (join2_load_Store<JOIN_MODE:mode>): New pattern.
26336 (join2_loadhi): Likewise.
26337 (define_peehole2): Add peephole2 patterns to join 2 HI/SI/SF/DF-mode
26338 load-load and store-stores.
26339 * config/mips/mips.opt (mload-store-pairs): New option.
26340 (TARGET_LOAD_STORE_PAIRS): New macro.
26341 * config/mips/mips.h (ENABLE_LD_ST_PAIRS): Likewise.
26342 * config/mips/mips-protos.h (mips_load_store_bonding_p): New prototype.
26343 * config/mips/mips.c (mips_load_store_bonding_p): New function.
26344
26345 2015-05-19 Mikhail Maltsev <maltsevm@gmail.com>
26346
26347 * bb-reorder.c (fix_up_fall_thru_edges): Use std::swap instead of
26348 explicit swaps.
26349 * dojump.c (do_compare_rtx_and_jump): Likewise.
26350 * expmed.c (emit_store_flag_1): Likewise.
26351 * fibonacci_heap.h (fibonacci_heap::union_with): Likewise.
26352 * final.c (sprint_ul): Use std::reverse for reversing a string.
26353 * fold-const.c (extract_muldiv_1): Use std::swap.
26354 * genmodes.c (emit_mode_int_n): Likewise.
26355 * ifcvt.c (dead_or_predicable): Likewise.
26356 * ira-build.c (ira_merge_live_ranges): Likewise.
26357 (swap_allocno_copy_ends_if_necessary): Likewise.
26358 * ira.c (ira_setup_alts): Likewise.
26359 * loop-iv.c (iv_analyze_expr): Likewise.
26360 (implies_p): Likewise.
26361 (canon_condition): Likewise.
26362 * lra-constraints.c (swap_operands): Likewise.
26363 * lra-lives.c (lra_merge_live_ranges): Likewise.
26364 * omega.c (swap): Remove.
26365 (bswap): Remove.
26366 (omega_unprotect_1): Use std::swap.
26367 (omega_solve_geq): Likewise.
26368 * optabs.c (expand_binop_directly): Likewise.
26369 (expand_binop): Likewise.
26370 (emit_conditional_move): Likewise.
26371 (emit_conditional_add): Likewise.
26372 * postreload.c (reload_cse_simplify_operands): Likewise.
26373 * reg-stack.c (emit_swap_insn): Likewise.
26374 (swap_to_top): Likewise.
26375 (compare_for_stack_reg): Likewise.
26376 (subst_asm_stack_regs): Likewise.
26377 * reload.c (find_reloads): Likewise.
26378 * reload1.c (gen_reload_chain_without_interm_reg_p): Likewise.
26379 * sel-sched.c (invoke_reorder_hooks): Likewise.
26380 (create_block_for_bookkeeping): Likewise.
26381 * tree-data-ref.c (lambda_matrix_row_exchange): Remove.
26382 (lambda_matrix_right_hermite): Use std::swap.
26383 * tree-ssa-coalesce.c (sort_coalesce_list): Likewise.
26384 * tree-ssa-ifcombine.c (ifcombine_ifandif): Likewise.
26385 * tree-ssa-loop-ivopts.c (iv_ca_delta_reverse): Likewise.
26386 * tree-ssa-math-opts.c (is_widening_mult_p): Likewise.
26387 * tree-ssa-phiopt.c (hoist_adjacent_loads): Likewise.
26388 * tree-ssa-reassoc.c (linearize_expr_tree): Likewise.
26389 * tree-ssa-threadedge.c (simplify_control_stmt_condition): Likewise.
26390 * tree-vrp.c (compare_ranges): Likewise.
26391 * var-tracking.c (add_with_sets): Likewise.
26392 (vt_find_locations): Likewise.
26393
26394 2015-05-18 Andreas Tobler <andreast@gcc.gnu.org>
26395
26396 * config/freebsd-spec.h (FBSD_STARTFILE_SPEC): Add the bits to build
26397 pie executables.
26398 (FBSD_ENDFILE_SPEC): Likewise.
26399 * config/i386/freebsd.h (STARTFILE_SPEC): Remove and use the one from
26400 config/freebsd-spec.h.
26401 (ENDFILE_SPEC): Likewise.
26402
26403 2015-05-18 Uros Bizjak <ubizjak@gmail.com>
26404 Richard Henderson <rth@redhat.com>
26405
26406 PR target/57032
26407 * config/alpha/constraints.md (Q): Rewrite as define_memory_constraint.
26408 Check for a memory location that is not a reference (using an AND)
26409 to an unaligned location here.
26410 * config/alpha/predicates.md (normal_memory_operand): Remove.
26411
26412 2015-05-18 Alex Velenko <Alex.Velenko@arm.com>
26413
26414 * config/arm/arm.md (andsi_not_shiftsi_si_scc): New pattern.
26415 (andsi_not_shiftsi_si_scc_no_reuse): New pattern.
26416
26417 2015-05-18 Robert Suchanek <robert.suchanek@imgtec.com>
26418
26419 * config/mips/mips.c (micromips_globals): New variable.
26420 (mips_set_compression_mode): Save and reinitialize target-dependent
26421 state for microMIPS.
26422
26423 2015-05-18 Martin Liska <mliska@suse.cz>
26424
26425 * dbgcnt.def: Add new counter.
26426 * ipa-icf.c (sem_item_optimizer::merge_classes): Use the counter.
26427
26428 2015-05-18 Martin Liska <mliska@suse.cz>
26429
26430 * dbgcnt.def: Sort counters.
26431 * opts.c (common_handle_option): Do not compile if
26432 -fdbg-cnt-list is enabled.
26433
26434 2015-05-18 Tom de Vries <tom@codesourcery.com>
26435
26436 * gimplify.c (gimplify_modify_expr): Remove do_deref handling.
26437 (gimplify_va_arg_expr): Remove do_deref handling. Remove adding of
26438 address operator to va_list operand.
26439 * tree-stdarg.c (expand_ifn_va_arg_1): Do deref of va_list operand
26440 unconditionally.
26441 * config/i386/i386.c (ix86_gimplify_va_arg): Remove deref on va_list
26442 operand.
26443 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Same.
26444 * config/s390/s390.c (s390_gimplify_va_arg): Same.
26445 * config/spu/spu.c (spu_gimplify_va_arg_expr): Same.
26446
26447 2015-05-18 Tom de Vries <tom@codesourcery.com>
26448
26449 * tree-ssa-tail-merge.c: Fix whitespace.
26450
26451 2015-05-17 Jim Wilson <jim.wilson@linaro.org>
26452
26453 * doc/invoke.texi (ARM Options, mtune): Add generic-armv7-a,
26454 cortex-a17, and cortex-a17.cortex-a7.
26455
26456 2015-05-17 Oleg Endo <olegendo@gcc.gnu.org>
26457
26458 PR target/54236
26459 * config/sh/sh.md (*addc_2r_t): Use ashift instead of mult.
26460
26461 2015-05-17 Uros Bizjak <ubizjak@gmail.com>
26462
26463 PR target/66174
26464 * config/i386/i386.c (expand_vec_perm_blend): Enable HImode and
26465 QImode inner modes for TARGET_AVX512BW. Force mask operand
26466 to a register for AVX512F modes.
26467
26468 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
26469
26470 * toplev.c (emit_debug_global_declarations): Do not output debug info
26471 when doing slim LTO objects.
26472
26473 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
26474
26475 * ipa-utils.h (warn_types_mismatch, odr_or_derived_type_p,
26476 odr_types_equivalent_p): Declare.
26477 (odr_type_p): Use gcc_checking_assert.
26478 (type_in_anonymous_namespace_p) Declare.
26479 (type_with_linkage_p): Declare.
26480 * common.opt (Wlto-type-mismatch): New warning.
26481 * ipa-devirt.c (compound_type_base): New function.
26482 (odr_or_derived_type_p): New function.
26483 (odr_types_equivalent_p): New function.
26484 (add_type_duplicate): Simplify.
26485 (type_with_linkage_p): Add hack to prevent false positives on C types
26486 (type_in_anonymous_namespace_p): Likewise.
26487 * tree.c (need_assembler_name_p): Use type_with_linkage.
26488 * tree.h (type_in_anonymous_namespace_p): Remove.
26489 * doc/invoke.texi (-Wlto-type-mismatch): Document
26490
26491 2015-05-16 Jan Hubicka <hubicka@ucw.cz>
26492
26493 * tree.c (verify_type_variant): Verify tree_base and type_common flags.
26494 (verify_type): Verify STRING_FLAG.
26495
26496 2015-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
26497
26498 PR fortran/44054
26499 * tree-pretty-print.c (percent_K_format): Replace locus pointer
26500 with accessor function.
26501 * tree-diagnostic.c (diagnostic_report_current_function): Use
26502 diagnostic_location function.
26503 (maybe_unwind_expanded_macro_loc): Likewise.
26504 (virt_loc_aware_diagnostic_finalizer): Likewise.
26505 (default_tree_printer): Replace locus pointer with accessor function.
26506 * diagnostic.c (diagnostic_initialize): Initialize caret_chars array.
26507 (diagnostic_set_info_translated): Initialize second location.
26508 (diagnostic_build_prefix): Use CARET_LINE_MARGIN.
26509 (diagnostic_show_locus): Handle two locations. Call
26510 diagnostic_print_caret_line.
26511 (diagnostic_print_caret_line): New.
26512 (default_diagnostic_starter): Use diagnostic_location function.
26513 (diagnostic_report_diagnostic): Use diagnostic_location function.
26514 (verbatim): Do not set text.locus.
26515 * diagnostic.h (struct diagnostic_info): Remove location field.
26516 (struct diagnostic_context): Make caret_chars an array of two.
26517 (diagnostic_location): New inline.
26518 (diagnostic_expand_location): Handle two locations.
26519 (diagnostic_same_line): New inline.
26520 (diagnostic_print_caret_line): Declare.
26521 (CARET_LINE_MARGIN): New constant.
26522 * pretty-print.c (pp_printf): Do not set text.locus.
26523 (pp_verbatim): Do not set text.locus.
26524 * pretty-print.h (MAX_LOCATIONS_PER_MESSAGE): New constant.
26525 (struct text_info): Replace locus pointer with locations
26526 array. Add accessor functions.
26527
26528 2015-05-16 Kugan Vivekanandarajah <kuganv@linaro.org>
26529 Zhenqiang Chen <zhenqiang.chen@linaro.org>
26530
26531 PR target/65768
26532 * config/arm/arm.h (DONT_EARLY_SPLIT_CONSTANT): New macro.
26533 * config/arm/arm.md (subsi3, andsi3, iorsi3, xorsi3, movsi): Keep some
26534 large constants in register instead of splitting them.
26535
26536 2015-05-16 Uros Bizjak <ubizjak@gmail.com>
26537
26538 PR target/66140
26539 * config/alpha/alpha.c (get_aligned_mem): Also look for reload
26540 replacements in memory addresses.
26541 (get_unaligned_address): Ditto.
26542
26543 2015-05-16 James Bowman <james.bowman@ftdichip.com>
26544
26545 * config/ft32/*: New files for FT32 port.
26546 * doc/install.texi: Add FT32 information.
26547 * doc/invoke.texi: Add FT32 information.
26548 * doc/md.texi: Add FT32 information.
26549 * doc/contrib.texi: Self added.
26550
26551 2015-05-15 Marc Glisse <marc.glisse@inria.fr>
26552
26553 PR tree-optimization/64454
26554 * match.pd ((X % Y) % Y, (X % Y) < Y): New patterns.
26555 (-1 - A -> ~A): Remove unnecessary condition.
26556
26557 2015-05-15 Gregor Richards <gregor.richards@uwaterloo.ca>
26558
26559 * config/i386/linux.h (MUSL_DYNAMIC_LINKER): Define.
26560 * config/i386/linux64.h (MUSL_DYNAMIC_LINKER32): Define.
26561 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32): Define.
26562
26563 2015-05-15 Ilya Enkovich <ilya.enkovich@intel.com>
26564
26565 * ipa-chkp.h (chkp_wrap_function): New.
26566 * ipa-chkp.c (chkp_wrap_function): Remove 'static'.
26567 (chkp_wrap_function_name): New.
26568 (chkp_build_instrumented_fndecl): Use chkp_wrap_function_name
26569 to get wrapper name.
26570 * lto-cgraph.c: Include ipa-chkp.h.
26571 (input_cgraph_1): Avoid alias chain for wrappers.
26572
26573 2015-05-15 Ilya Enkovich <enkovich.gnu@gmail.com>
26574
26575 PR middle-end/66134
26576 * tree-chkp.c (chkp_get_orginal_bounds_for_abnormal_copy): New.
26577 (chkp_maybe_copy_and_register_bounds): Don't copy abnormal copy.
26578
26579 2015-05-15 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26580
26581 * config/aarch64/aarch64.h (AARCH64_TUNE_SLOWMUL): Delete.
26582 (AARCH64_FL_SLOWMUL): Delete.
26583 (AARCH64_FL_CRC): Redefine to 1<<3.
26584 (AARCH64_FL_USE_FMA_STEERING_PASS): Redefine to 1<<4.
26585
26586 2015-05-15 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
26587
26588 * config/arm/arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Add appropriate
26589 casting.
26590
26591 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
26592
26593 * config/alpha/alpha.md (extendqidi2): Use general_operand
26594 instead of some_operand for operand[1] predicate.
26595 (extendhidi2): Ditto.
26596 (cbranchdi4): Use general_operand instead of some_operand
26597 for operand[1] and operands[2] predicates.
26598 (cstoredi4): Ditto.
26599 * config/alpha/predicates.md (some_operand): Remove unused predicate.
26600 (some_ni_operand): Ditto.
26601
26602 2015-05-15 Uros Bizjak <ubizjak@gmail.com>
26603
26604 * config/alpha/alpha.c (alpha_extract_integer): Do not handle
26605 CONST_WIDE_INT and CONST_DOUBLE. Assert CONST_INT_P (x).
26606 (alpha_legitimate_constant_p) <case CONST_WIDE_INT>: Check high and
26607 low part of the constant using alpha_emit_set_const_1.
26608 (alpha_expand_mov): Do not handle CONST_WIDE_INT and CONST_DOUBLE.
26609
26610 2015-05-14 Rohit Arul Raj <rohitrulraj@freescale.com>
26611
26612 * varasm.c (output_constant_pool_1): Pass down alignment from
26613 constant pool entry's descriptor to output_constant_pool_2.
26614 (output_object_block): Add comment prior to call to
26615 output_constant_pool_1.
26616
26617 2015-05-14 Vladimir Makarov <vmakarov@redhat.com>
26618
26619 PR rtl-optimization/65862
26620 * target.def (ira_change_pseudo_allocno_class): New hook.
26621 * targhooks.c (default_ira_change_pseudo_allocno_class): Default
26622 value of the hook.
26623 * targhooks.h (default_ira_change_pseudo_allocno_class): New extern.
26624 * doc/tm.texi.in (TARGET_IRA_CHANGE_PSEUDO_ALLOCNO_CLASS): Add the
26625 hook.
26626 * ira-costs.c (find_costs_and_classes): Call the hook and change
26627 classes when it is necessary.
26628 * doc/tm.texi: Update.
26629
26630 2015-05-14 Alexander Monakov <amonakov@ispras.ru>
26631
26632 * config/i386/i386.md (sibcall_memory): Check that register with
26633 callee address is not also used as one of the arguments, instead
26634 of checking that it is not live after the sibcall.
26635 (sibcall_pop_memory): Ditto.
26636 (sibcall_value_memory): Ditto.
26637 (sibcall_value_pop_memory): Ditto.
26638
26639 2015-05-14 Marc Glisse <marc.glisse@inria.fr>
26640
26641 * generic-match-head.c (types_match): Handle non-types.
26642 * gimple-match-head.c (types_match): Likewise.
26643 * match.pd: Remove unnecessary TREE_TYPE for types_match.
26644
26645 2015-05-14 Wilco Dijkstra <wdijkstr@arm.com>
26646
26647 * config/aarch64/aarch64.md (absdi2): Optimize abs expansion.
26648 (csneg3<mode>_insn): Enable expansion of pattern.
26649
26650 2015-05-14 Nick Clifton <nickc@redhat.com>
26651
26652 * config/rl78/rl78.c (rl78_select_section): Select the correct
26653 default section based upon the category of the decl.
26654
26655 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
26656
26657 PR rtl-optimization/30967
26658 * config/rs6000/rs6000.c (rs6000_rtx_costs): Don't consider
26659 destination mode for the cost of scc patterns.
26660
26661 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
26662
26663 * config/i386/i386.md (*mul<mode>3_1): Merge with *mulhi3_1
26664 using SWIM248 mode iterator.
26665 (*mulv<mode>4): Use x86_64_sext_operand for operand[2] constraint.
26666 (*mulvhi4): mark operand[1] as commutative. Use nonimmediate_operand
26667 for operand[2] constraint.
26668 (*mulv<mode>4_1): Merge with *mulvhi4_1 using SWI248 mode iterator.
26669
26670 2015-05-13 Jakub Jelinek <jakub@redhat.com>
26671
26672 PR middle-end/66133
26673 * omp-low.c (expand_omp_taskreg): For GIMPLE_OMP_TASK expansion,
26674 make sure it is never noreturn, even when the task body does not
26675 return.
26676 (lower_omp_taskreg): For GIMPLE_OMP_TASK, emit GIMPLE_OMP_CONTINUE
26677 right before GIMPLE_OMP_RETURN.
26678 (make_gimple_omp_edges): Accept GIMPLE_OMP_CONTINUE as ->cont
26679 for GIMPLE_OMP_TASK. For GIMPLE_OMP_RETURN corresponding to
26680 GIMPLE_OMP_TASK add an EDGE_ABNORMAL edge from entry to exit.
26681
26682 2015-05-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
26683
26684 * params.def (PARAM_MAX_POW_SQRT_DEPTH): New param.
26685 * tree-ssa-math-opts.c: Include params.h
26686 (pow_synth_sqrt_info): New struct.
26687 (representable_as_half_series_p): New function.
26688 (get_fn_chain): Likewise.
26689 (print_nested_fn): Likewise.
26690 (dump_fractional_sqrt_sequence): Likewise.
26691 (dump_integer_part): Likewise.
26692 (expand_pow_as_sqrts): Likewise.
26693 (gimple_expand_builtin_pow): Use above to attempt to expand
26694 pow as series of square roots. Removed now unused variables.
26695
26696 2015-05-13 Uros Bizjak <ubizjak@gmail.com>
26697
26698 * config/alpha/alpha.c (alpha_emit_set_long_const): Remove c1 argument.
26699 (alpha_extract_integer): Redeclare as static HOST_WIDE_INT.
26700 Remove *p0 and *p1 arguments. Rewrite function.
26701 (alpha_legitimate_constant_p): Update call to alpha_extract_integer.
26702 (alpha_split_const_mov): Update calls to alpha_extract_integer and
26703 alpha_emit_set_long_const.
26704 (alpha_expand_epilogue): Update calls to alpha_emit_set_long_const.
26705 (alpha_output_mi_thunk_osf): Ditto.
26706 * config/alpha/alpha.md (movti): Do not check operands[1]
26707 for CONST_DOUBLE.
26708
26709 2015-05-13 Richard Biener <rguenther@suse.de>
26710
26711 PR tree-optimization/66129
26712 * tree-vect-slp.c (vect_build_slp_tree): Make sure all ops are
26713 commutative.
26714 (vect_schedule_slp_instance): Fix typo.
26715
26716 2015-05-13 David Malcolm <dmalcolm@redhat.com>
26717
26718 * common.opt (fdump-internal-locations): New option.
26719 * input.c: Include diagnostic-core.h.
26720 (get_end_location): New function.
26721 (write_digit): New function.
26722 (write_digit_row): New function.
26723 (dump_location_range): New function.
26724 (dump_labelled_location_range): New function.
26725 (dump_location_info): New function.
26726 * input.h (dump_location_info): New prototype.
26727 * toplev.c (compile_file): Handle flag_dump_locations.
26728
26729 2015-05-13 Eric Botcazou <ebotcazou@adacore.com>
26730
26731 * gimple-expr.h (is_gimple_constant): Reorder.
26732 * tree-ssa-propagate.c (before_dom_children): Use inline accessor.
26733
26734 2015-05-13 Segher Boessenkool <segher@kernel.crashing.org>
26735
26736 * combine.c (simplify_set): When generating a CC set, if the
26737 source already is in the correct mode, do not wrap it in a
26738 compare. Simplify the rest of that code.
26739
26740 2015-05-13 Richard Biener <rguenther@suse.de>
26741
26742 PR tree-optimization/66123
26743 * tree-ssa-dom.c (propagate_rhs_into_lhs): Check if we found
26744 a taken edge.
26745
26746 2015-05-13 Richard Biener <rguenther@suse.de>
26747
26748 PR middle-end/66110
26749 * alias.c (alias_sets_conflict_p): Do not treat has_zero_child
26750 specially.
26751 * Makefile.in (dfp.o-warn): Add -Wno-strict-aliasing.
26752
26753 2015-05-13 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
26754
26755 * doc/install.texi: Bump latest automake 1.11 version to 1.11.6.
26756 * aclocal.m4: Regenerated with automake-1.11.6.
26757
26758 2015-05-13 Tom de Vries <tom@codesourcery.com>
26759
26760 PR tree-optimization/66010
26761 * gimplify.h (gimplify_va_arg_internal): Remove declaration.
26762 * gimplify.c (gimplify_va_arg_internal): Remove and inline into ...
26763 * tree-stdarg.c (expand_ifn_va_arg_1): ... here. Choose between lval
26764 and rval based on do_deref.
26765
26766 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
26767
26768 PR target/65103
26769 * config/i386/i386.c (ix86_rtx_costs): We want to propagate
26770 link time constants into adress expressions and therefore set
26771 their cost to 0.
26772
26773 2015-05-13 Jakub Jelinek <jakub@redhat.com>
26774
26775 PR target/66112
26776 * config/i386/i386.md (mulv<mode>4, umulv<mode>4, *umulv<mode>4):
26777 Use SWI248 iterator instead of SWI.
26778 (*mulv<mode>4_1): Use SWI48 instead of SWI. Simplify output template.
26779 Use eq_attr "alternative" "0" instead of match_test in
26780 length_immediate attribute computation.
26781 (*mulvhi4, *mulvhi4_1): New define_insns.
26782
26783 PR target/66112
26784 * internal-fn.c (get_min_precision): Use UNSIGNED instead of
26785 SIGNED to get precision of non-negative value.
26786
26787 2015-05-13 Ilya Enkovich <ilya.enkovich@intel.com>
26788
26789 PR target/66048
26790 * function.c (diddle_return_value_1): Process bounds first.
26791 * config/i38/i386.c (ix86_function_value_regno_p): Add bnd1
26792 register.
26793
26794 2015-05-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
26795
26796 PR rtl-optimization/64616
26797 * loop-invariant.c (can_move_invariant_reg): New.
26798 (move_invariant_reg): Call above new function to decide whether
26799 instruction can just be moved, skipping creation of temporary
26800 register.
26801
26802 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
26803
26804 PR target/pr66047.c
26805 * i386.c (ix86_function_sseregparm): Only return -1 if local function
26806 with implied regparm is called from -mno-sse function.
26807 (init_cumulative_args): Output error if ix86_function_sseregparm
26808 return -1 and SSE register would be needed.
26809 (function_arg_advance_32): Likewise.
26810 (function_arg_32): Likewise.
26811 * i386.h (ix86_args): Add decl field.
26812
26813 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
26814
26815 PR ipa/65873
26816 * ipa-inline.c (can_inline_edge_p): Allow early inlining of always
26817 inlines across optimization boundary.
26818
26819 2015-05-12 Jason Merrill <jason@redhat.com>
26820
26821 * config/mmix/mmix.c, config/msp430/msp430.c: Add space between
26822 string literal and macro name.
26823
26824 2015-05-12 Steve Ellcey <sellcey@imgtec.com>
26825
26826 * config/mips/mips.c (mips_print_operand): Remove 'y' operand code.
26827 * config/mips/mips.md (<GPR:d>lsa): Rewrite with shift operator.
26828 * config/mips/predicates.md (const_immlsa_operand): Remove log call.
26829
26830 2015-05-12 David Malcolm <dmalcolm@redhat.com>
26831
26832 * doc/invoke.texi (Warning Options): Add -Wmisleading-indentation.
26833 (-Wmisleading-indentation): New option.
26834 * Makefile.in (C_COMMON_OBJS): Add c-family/c-indentation.o.
26835
26836 2015-05-12 Uros Bizjak <ubizjak@gmail.com>
26837
26838 * config/alpha/alpha.h (TARGET_SUPPORTS_WIDE_INT): New define.
26839 * config/alpha/alpha.c (alpha_rtx_costs): Handle CONST_WIDE_INT.
26840 (alpha_extract_integer): Ditto.
26841 (alpha_legitimate_constant_p): Ditto.
26842 (alpha_split_tmode_pair): Ditto.
26843 (alpha_preferred_reload_class): Add CONST_WIDE_INT.
26844 (alpha_expand_mov): Ditto.
26845 (print_operand): Remove handling of 'H' modifier.
26846 <case 'm'>: Remove CONST_DOUBLE handling.
26847 (summarize_insn): Handle CONST_WIDE_INT.
26848 * config/alpha/alpha.md (*andsi_internal): Remove H constraint.
26849 (anddi3): Ditto.
26850 (movti): Handle CONST_WIDE_INT.
26851 * config/alpha/constraints.md ('H'): Remove constraint definition.
26852 ('G'): Do not match MODE_FLOAT class.
26853 * config/alpha/predicates.md (const0_operand): Also match
26854 const_wide_int.
26855 (non_add_const_operand): Ditto.
26856 (non_zero_const_operand): Ditto.
26857 (some_operand): Ditto.
26858 (input_operand): Ditto. Handle CONST_WIDE_INT.
26859 (and_operand): Do not match const_double.
26860 * config/alpha/sync.md (fetchop_constr): Remove H constraint.
26861
26862 2015-05-12 Andrew MacLeod <amacleod@redhat.com>
26863
26864 PR target/65697
26865 * coretypes.h (MEMMODEL_SYNC, MEMMODEL_BASE_MASK): New macros.
26866 (enum memmodel): Add SYNC_{ACQUIRE,RELEASE,SEQ_CST}.
26867 * tree.h (memmodel_from_int, memmodel_base, is_mm_relaxed,
26868 is_mm_consume,is_mm_acquire, is_mm_release, is_mm_acq_rel,
26869 is_mm_seq_cst, is_mm_sync): New accessor functions.
26870 * builtins.c (expand_builtin_sync_operation,
26871 expand_builtin_compare_and_swap): Use MEMMODEL_SYNC_SEQ_CST.
26872 (expand_builtin_sync_lock_release): Use MEMMODEL_SYNC_RELEASE.
26873 (get_memmodel, expand_builtin_atomic_compare_exchange,
26874 expand_builtin_atomic_load, expand_builtin_atomic_store,
26875 expand_builtin_atomic_clear): Use new accessor routines.
26876 (expand_builtin_sync_synchronize): Use MEMMODEL_SYNC_SEQ_CST.
26877 * optabs.c (expand_compare_and_swap_loop): Use MEMMODEL_SYNC_SEQ_CST.
26878 (maybe_emit_sync_lock_test_and_set): Use new accessors and
26879 MEMMODEL_SYNC_ACQUIRE.
26880 (expand_sync_lock_test_and_set): Use MEMMODEL_SYNC_ACQUIRE.
26881 (expand_mem_thread_fence, expand_mem_signal_fence, expand_atomic_load,
26882 expand_atomic_store): Use new accessors.
26883 * emit-rtl.c (need_atomic_barrier_p): Add additional enum cases.
26884 * tsan.c (instrument_builtin_call): Update check for memory model beyond
26885 final enum to use MEMMODEL_LAST.
26886 * c-family/c-common.c: Use new accessor for memmodel_base.
26887 * config/aarch64/aarch64.c (aarch64_expand_compare_and_swap): Use new
26888 accessors.
26889 * config/aarch64/atomics.md (atomic_load<mode>,atomic_store<mode>,
26890 arch64_load_exclusive<mode>, aarch64_store_exclusive<mode>,
26891 mem_thread_fence, *dmb): Likewise.
26892 * config/alpha/alpha.c (alpha_split_compare_and_swap,
26893 alpha_split_compare_and_swap_12): Likewise.
26894 * config/arm/arm.c (arm_expand_compare_and_swap,
26895 arm_split_compare_and_swap, arm_split_atomic_op): Likewise.
26896 * config/arm/sync.md (atomic_load<mode>, atomic_store<mode>,
26897 atomic_loaddi): Likewise.
26898 * config/i386/i386.c (ix86_destroy_cost_data, ix86_memmodel_check):
26899 Likewise.
26900 * config/i386/sync.md (mem_thread_fence, atomic_store<mode>): Likewise.
26901 * config/ia64/ia64.c (ia64_expand_atomic_op): Add new memmodel cases and
26902 use new accessors.
26903 * config/ia64/sync.md (mem_thread_fence, atomic_load<mode>,
26904 atomic_store<mode>, atomic_compare_and_swap<mode>,
26905 atomic_exchange<mode>): Use new accessors.
26906 * config/mips/mips.c (mips_process_sync_loop): Likewise.
26907 * config/pa/pa.md (atomic_loaddi, atomic_storedi): Likewise.
26908 * config/rs6000/rs6000.c (rs6000_pre_atomic_barrier,
26909 rs6000_post_atomic_barrier): Add new cases.
26910 (rs6000_expand_atomic_compare_and_swap): Use new accessors.
26911 * config/rs6000/sync.md (mem_thread_fence): Add new cases.
26912 (atomic_load<mode>): Add new cases and use new accessors.
26913 (store_quadpti): Add new cases.
26914 * config/s390/s390.md (mem_thread_fence, atomic_store<mode>): Use new
26915 accessors.
26916 * config/sparc/sparc.c (sparc_emit_membar_for_model): Use new accessors.
26917 * doc/extend.texi: Update docs to indicate 16 bits are used for memory
26918 model, not 8.
26919
26920 2015-05-12 Jan Hubicka <hubicka@ucw.cz>
26921
26922 * ipa-devirt.c (type_with_linkage_p): New function.
26923 (type_in_anonymous_namespace_p): Move here from tree.c; assert that
26924 type has linkage.
26925 (odr_type_p): Move here from ipa-utils.h; use type_with_linkage_p.
26926 (can_be_name_hashed_p): Simplify.
26927 (hash_odr_name): Check that type has linkage before checking if it is
26928 anonymous.
26929 (types_same_for_odr): Likewise.
26930 (odr_name_hasher::equal): Likewise.
26931 (odr_subtypes_equivalent_p): Likewise.
26932 (warn_types_mismatch): Likewise.
26933 (get_odr_type): Likewise.
26934 (odr_types_equivalent_p): Fix checking of TYPE_MAIN_VARIANT.
26935 * ipa-utils.h (odr_type_p): Move offline.
26936 * tree.c (need_assembler_name_p): Fix handling of types
26937 without linkages.
26938 (type_in_anonymous_namespace_p): Move to ipa-devirt.c
26939
26940 2015-05-12 David Malcolm <dmalcolm@redhat.com>
26941
26942 * timevar.c (timevar_enable): Delete in favor of...
26943 (g_timer): New global.
26944 (struct timevar_def): Move to timevar.h inside class timer.
26945 (struct timevar_stack_def): Likewise.
26946 (timevars): Delete global in favor of field "m_timevars" within
26947 class timer in timevar.h
26948 (stack): Likewise, in favor of field "m_stack".
26949 (unused_stack_instances): Likewise, in favor of field
26950 "m_unused_stack_instances".
26951 (start_time): Likewise, in favor of field "m_start_time".
26952 (get_time): Eliminate check for timevar_enable.
26953 (timer::timer): New function, built from part of timevar_init.
26954 (timevar_init): Rewrite idempotency test from using
26955 "timevar_enable" bool to using dynamic allocation of "g_timer".
26956 Move rest of implementation into timer's constructor.
26957 (timevar_push_1): Rename to...
26958 (timer::push): ...this, adding "m_" prefixes to variables that
26959 are now fields of timer.
26960 (timevar_pop_1): Likewise, rename to...
26961 (timer::pop): ...this, and add "m_" prefixes.
26962 (timevar_start): Replace test for "timevar_enable" with one for
26963 "g_timer", and move bulk of implementation to...
26964 (timer::start): ...here, adding "m_" prefixes.
26965 (timevar_stop): Likewise, from here...
26966 (timer::stop): ...to here.
26967 (timevar_cond_start): Likewise, from here...
26968 (timer::cond_start): ...to here.
26969 (timevar_cond_stop): Likewise, from here...
26970 (timer::cond_stop): ...to here.
26971 (validate_phases): Rename to...
26972 (timer::validate_phases): ...this, and add "m_" prefixes. Make
26973 locals "total" and "tv" const.
26974 (timevar_print): Rename to...
26975 (timer::print): ...this, and add "m_" prefixes. Make locals
26976 "total" and "tv" const. Eliminate test for timevar_enable.
26977 * timevar.h (timevar_enable): Eliminate.
26978 (g_timer): New declaration.
26979 (timevar_push_1): Eliminate.
26980 (timevar_pop_1): Eliminate.
26981 (timevar_print): Eliminate.
26982 (class timer): New class.
26983 (timevar_push): Rewrite to use g_timer.
26984 (timevar_pop): Likewise.
26985 * toplev.c (toplev::~toplev): Likewise.
26986
26987 2015-05-12 Richard Earnshaw <rearnsha@arm.com>
26988
26989 * arm-protos.h (arm_sched_autopref): Delete.
26990 (tune_params): Re-organize, use enums for flag values.
26991 (FUSE_OPS): New macro.
26992 * arm.c (ARM_PREFETCH_NOT_BENEFICIAL): Update.
26993 (ARM_PREFETCH_BENEFICIAL): Likewise.
26994 (ARM_FUSE_NOTHING, ARM_FUSE_MOVW_MOVT): Delete.
26995 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune)
26996 (arm_xscale_tune, arm_9e_tune, arm_marvell_pj4_tune)
26997 (arm_v6t2_tune, arm_cortex_tune, arm_cortex_a8_tune)
26998 (arm_cortex_a7_tune, arm_cortex_a15_tune, arm_cortex_a53_tune)
26999 (arm_cortex_a57_tune, arm_xgene1_tune, arm_cortex_a5_tune)
27000 (arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune)
27001 (arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune): Use new
27002 format.
27003 (arm_option_override, thumb2_reorg, arm_print_tune_info)
27004 (aarch_macro_fusion_pair_p): Update uses of current_tune.
27005 * arm.h (LOGICAL_OP_NON_SHORT_CIRCUIT): Likewise.
27006
27007 2015-05-12 Sandra Loosemore <sandra@codesourcery.com>
27008
27009 * config/nios2/nios2.md (trap, ctrapsi4): Use "trap" instead of
27010 "break".
27011
27012 2015-05-12 Chung-Lin Tang <cltang@codesourcery.com>
27013 Sandra Loosemore <sandra@codesourcery.com>
27014
27015 * config/nios2/nios2.h (enum reg_class): Add IJMP_REGS enum
27016 value.
27017 (REG_CLASS_NAMES): Add "IJMP_REGS".
27018 (REG_CLASS_CONTENTS): Add new entry for IJMP_REGS.
27019 * config/nios2/nios2.md (indirect_jump,*tablejump): Adjust to
27020 use new "c" register constraint.
27021 * config/nios2/constraint.md (c): New register constraint
27022 corresponding to IJMP_REGS.
27023
27024 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27025
27026 * config/rs6000/rs6000.md (*rotlsi3_internal4, *rotlsi3_internal5,
27027 *rotlsi3_internal6, rlwinm, 5 unnamed define_insns, and 6
27028 define_splits): Delete, revamp, transmogrify into ...
27029 (*rotlsi3_mask, *rotlsi3_mask_dot, *rotlsi3_mask_dot2,
27030 *ashlsi3_imm_mask, *ashlsi3_imm_mask_dot, *ashlsi3_imm_mask_dot2,
27031 *lshrsi3_imm_mask, *lshrsi3_imm_mask_dot, *lshrsi3_imm_mask_dot2):
27032 New.
27033
27034 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27035
27036 * config/rs6000/rs6000.md (rs6000_adjust_atomic_subword): Use
27037 gen_ashlsi3 and gen_andsi3 instead of gen_rlwinm.
27038
27039 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27040
27041 * config/rs6000/rs6000.md (extzv): FAIL for SImode.
27042 (extzvsi_internal, *extzvsi_internal1, *extzvsi_internal2,
27043 *rotlsi3_internal7le, *rotlsi3_internal7be, *rotlsi3_internal8le,
27044 *rotlsi3_internal8be, *rotlsi3_internal9le, *rotlsi3_internal9be,
27045 *rotlsi3_internal10le, *rotlsi3_internal10be, *rotlsi3_internal11le,
27046 *rotlsi3_internal11be, *rotlsi3_internal12le, *rotlsi3_internal12be,
27047 *lshiftrt_internal1le, *lshiftrt_internal1be, *lshiftrt_internal2le,
27048 *lshiftrt_internal2be, *lshiftrt_internal3le, *lshiftrt_internal3be,
27049 *lshiftrt_internal4le, *lshiftrt_internal4be, *lshiftrt_internal5le,
27050 *lshiftrt_internal5be, *lshiftrt_internal5le, *lshiftrt_internal5be,
27051 *rotldi3_internal7le, *rotldi3_internal7be, *rotldi3_internal8le,
27052 *rotldi3_internal8be, *rotldi3_internal9le, *rotldi3_internal9be,
27053 *rotldi3_internal10le, *rotldi3_internal10be, *rotldi3_internal11le,
27054 *rotldi3_internal11be, *rotldi3_internal12le, *rotldi3_internal12be,
27055 *rotldi3_internal13le, *rotldi3_internal13be, *rotldi3_internal14le,
27056 *rotldi3_internal14be, *rotldi3_internal15le, *rotldi3_internal15be,
27057 and 30 corresponding splitters): Delete.
27058
27059 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27060
27061 * config/rs6000/rs6000.md (define_split for bswaphi): Don't use
27062 zero_extract.
27063
27064 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27065
27066 * combine.c (recog_for_combine_1): New function, factored out
27067 from recog_for_combine.
27068 (change_zero_ext): New function.
27069 (recog_for_combine): If recog fails, try again with the pattern
27070 modified by change_zero_ext; if that still fails, restore the
27071 pattern.
27072
27073 2015-05-12 Segher Boessenkool <segher@kernel.crashing.org>
27074
27075 * combine.c (get_undo_marker): New function.
27076 (undo_to_marker): New function, largely factored out from ...
27077 (undo_all): ... this. Adjust.
27078
27079 2015-05-12 Richard Biener <rguenther@suse.de>
27080
27081 PR tree-optimization/66101
27082 * tree-ssa-dce.c (remove_dead_stmt): Properly mark loops for
27083 fixup if we turn a loop exit edge to a fallthru edge.
27084
27085 2015-05-12 Richard Biener <rguenther@suse.de>
27086
27087 PR tree-optimization/37021
27088 * tree-vectorizer.h (struct _slp_tree): Add two_operators flag.
27089 (SLP_TREE_TWO_OPERATORS): New define.
27090 * tree-vect-slp.c (vect_create_new_slp_node): Initialize
27091 SLP_TREE_TWO_OPERATORS.
27092 (vect_build_slp_tree_1): Allow two mixing plus/minus in an
27093 SLP node.
27094 (vect_build_slp_tree): Adjust.
27095 (vect_analyze_slp_cost_1): Likewise.
27096 (vect_schedule_slp_instance): Vectorize mixing plus/minus by
27097 emitting two vector stmts and mixing the results.
27098
27099 2015-05-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
27100
27101 * call.c (print_z_candidates): Remove dead code.
27102
27103 2015-05-12 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
27104
27105 * config/s390/2827.md: Split zEC12_simple into zEC12_simple_int
27106 and zEC12_simple_fp.
27107 * config/s390/s390.c (s390_issue_rate): Set issue rate for zEC12
27108 to 1.
27109
27110 2015-05-12 Tom de Vries <tom@codesourcery.com>
27111
27112 PR tree-optimization/66010
27113 * gimplify.c (gimplify_modify_expr): Handle new do_deref argument of
27114 ifn_va_arg.
27115 * gimplify.h (gimplify_va_arg_internal): Remove loc parameter.
27116 (gimplify_va_arg_internal): Remove loc parameter. Assert no array-typed
27117 va_lists are passed, and remove corresponding handling.
27118 (gimplify_va_arg_expr): Only take address of ap if necessary. Add
27119 do_deref argument to ifn_va_arg.
27120 * tree-stdarg.c (expand_ifn_va_arg_1): Handle new do_deref argument of
27121 ifn_va_arg.
27122
27123 2015-05-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
27124
27125 PR target/65955
27126 * config/arm/arm.md (movcond_addsi): Check that operands[2] is a
27127 REG before taking its REGNO.
27128
27129 2015-05-12 Thomas Preud'homme <thomas.preudhomme@arm.com>
27130
27131 * combine.c i(set_nonzero_bits_and_sign_copies): Split code updating
27132 rsp->sign_bit_copies and rsp->nonzero_bits into ...
27133 (update_rsp_from_reg_equal): This. Also use REG_EQUAL note on src if
27134 present to get more accurate information about the number of sign bit
27135 copies and non zero bits.
27136
27137 2015-05-12 Richard Biener <rguenther@suse.de>
27138
27139 * tree-vect-slp.c (vect_build_slp_tree_1): For BB vectorization
27140 do not allow unrolling.
27141
27142 2015-05-11 Richard Henderson <rth@redhat.com>
27143
27144 * config/i386/i386-modes.def (CCP): New.
27145 * config/i386/i386.c (put_condition_code): Handle it.
27146 (ix86_match_ccmode, ix86_cc_modes_compatible): Likewise.
27147
27148 2015-05-11 Richard Henderson <rth@redhat.com>
27149
27150 * target.def (md_asm_clobbers): Replace with...
27151 (md_asm_adjust): this.
27152 * tm.texi.in (TARGET_MD_ASM_CLOBBERS): Remove.
27153 (TARGET_MD_ASM_ADJUST): New.
27154 * tm.texi: Rebuild.
27155 * hooks.c (hook_tree_tree_tree_tree_3rd_identity): Remove.
27156 * hooks.h (hook_tree_tree_tree_tree_3rd_identity): Remove.
27157 * system.h (TARGET_MD_ASM_CLOBBERS): Poison.
27158
27159 * cfgexpand.c (check_operand_nalternatives): Accept vector of
27160 constraints instead of lists of outputs and inputs.
27161 (expand_asm_stmt): Save and restore input_location around the
27162 body of the function. Move asm data into vectors instead of
27163 building tree lists. Generate cleanup sequences as needed,
27164 rather than waiting til the end. Use new md_asm_adjust hook.
27165
27166 * config/vxworks.c: Include vec.h before target.h.
27167 * gimple.c: Likewise.
27168 * incpath.c: Likewise.
27169 * mode-switching.c: Likewise.
27170
27171 * config/cris/cris.c (cris_md_asm_clobbers): Convert to...
27172 (cris_md_asm_adjust): this.
27173 (TARGET_MD_ASM_CLOBBERS): Remove.
27174 (TARGET_MD_ASM_ADJUST): New.
27175 * config/i386/i386.c (ix86_md_asm_clobbers): Convert to...
27176 (ix86_md_asm_adjust): this.
27177 (TARGET_MD_ASM_CLOBBERS): Remove.
27178 (TARGET_MD_ASM_ADJUST): New.
27179 * config/mn10300/mn10300.c (mn10300_md_asm_clobbers): Convert to...
27180 (mn10300_md_asm_adjust): this.
27181 (TARGET_MD_ASM_CLOBBERS): Remove.
27182 (TARGET_MD_ASM_ADJUST): New.
27183 * config/rs6000/rs6000.c (rs6000_md_asm_clobbers): Convert to...
27184 (rs6000_md_asm_adjust): this.
27185 (TARGET_MD_ASM_CLOBBERS): Remove.
27186 (TARGET_MD_ASM_ADJUST): New.
27187 * config/visium/visium.c (visium_md_asm_clobbers): Convert to...
27188 (visium_md_asm_adjust): this.
27189 (TARGET_MD_ASM_CLOBBERS): Remove.
27190 (TARGET_MD_ASM_ADJUST): New.
27191
27192 2015-05-11 Richard Henderson <rth@redhat.com>
27193
27194 * gimplify.c (gimplify_asm_expr): Set gimple_asm_volatile_p
27195 if noutputs is zero.
27196 * cfgexpand.c (expand_asm_stmt): Use gimple_asm_volatile_p unchanged.
27197
27198 * cfgexpand.c (expand_asm_operands): Merge into...
27199 (expand_asm_stmt): ... here.
27200
27201 * cfgexpand.c (expand_asm_operands): Don't call
27202 resolve_asm_operand_names.
27203 * stmt.c (resolve_asm_operand_names): Clarify block comment.
27204
27205 2015-05-11 Jan Hubicka <hubicka@ucw.cz>
27206
27207 * dwarf2out.c (gen_member_die): Sanity check that we access
27208 TYPE_MAIN_VARIANT for TYPE_METHODS.
27209 * function.c (use_register_for_decl): Look for TYPE_MAIN_VARIANT when
27210 checking TYPE_METHODS.
27211 * tree.c (free_lang_data_in_type): See TYPE_METHODS to error_mark_node
27212 if non-null.
27213 (build_distinct_type_copy): Clear TYPE_METHODS.
27214 (verify_type_variant): Verify that TYPE_METHODS is NULL for variants.
27215 (verify_type): Allow TYPE_METHODS to be error_mark_node.
27216 * tree.def: Update docs of TYPE_STUB_DECL and TYPE_METHODS.
27217
27218 2015-05-11 Eric Botcazou <ebotcazou@adacore.com>
27219
27220 * emit-rtl.c (emit_pattern_after_setloc): Add missing guard.
27221 (emit_pattern_before_setloc): Likewise.
27222
27223 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
27224
27225 * genrecog.c (match_pattern_1): Expect the pattern to be a SEQUENCE
27226 for define_peephole2s.
27227 (get_peephole2_pattern): New function.
27228 (main): Use it. Call validate_pattern.
27229
27230 2015-05-11 Pitchumani Sivanupandi <pitchumani.s@atmel.com>
27231
27232 * config/avr/avr.c (avr_hard_regno_call_part_clobbered): Use
27233 LAST_CALLEE_SAVED_REG instead of hard-coded register number.
27234 (Last callee saved reg is different for AVR_TINY architecture)
27235
27236 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
27237
27238 * config/i386/i386.c (ix86_loop_unroll_adjust): Use PATTERN (insn)
27239 when looking for memory references.
27240
27241 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
27242
27243 PR target/65753
27244 * config/i386/i386.c (ix86_function_ok_for_sibcall): Allow PIC sibcalls
27245 via function pointers.
27246
27247 2015-05-11 Alexander Monakov <amonakov@ispras.ru>
27248
27249 * calls.c (prepare_call_address): Transform PLT call to GOT lookup and
27250 indirect call by forcing address into a pseudo with -fno-plt.
27251 * common.opt (flag_plt): New option.
27252 * doc/invoke.texi (Code Generation Options): Add -fno-plt.
27253 ([-fno-plt]): Document.
27254
27255 2015-05-11 Markus Trippelsdorf <markus@trippelsdorf.de>
27256
27257 PR bootstrap/66105
27258 * config/rs6000/option-defaults.h: Add space between string literal
27259 and macro name.
27260
27261 2015-05-11 Thomas Preud'homme <thomas.preudhomme@arm.com>
27262
27263 * gcc.target/arm/pr64616.c: Test dump rather than assembly to work
27264 accross ARM targets.
27265
27266 2015-05-11 Christian Bruel <christian.bruel@st.com>
27267
27268 * config/arm/arm-protos.h (thumb_code, thumb1_code): Remove.
27269 * config/arm/vxworks.h (thumb_code): Replace with TARGET_THUMB.
27270
27271 2015-05-11 Richard Sandiford <richard.sandiford@arm.com>
27272
27273 PR rtl-optimization/66076
27274 * rtlanal.c (generic_subrtx_iterator <T>::add_single_to_queue):
27275 Don't grow the heap array if it is already big enough from a
27276 previous iteration.
27277
27278 2015-05-11 Christian Bruel <christian.bruel@st.com>
27279
27280 * config/arm/arm-protos.h (arm_declare_function_name): Declare.
27281 (is_called_in_ARM_mode): Remove.
27282 * config/arm/arm.c (is_called_in_ARM_mode): Declare static bool.
27283 (arm_declare_function_name): Moved from from ARM_DECLARE_FUNCTION_NAME.
27284 * config/arm/arm.h (ARM_DECLARE_FUNCTION_NAME): Call
27285 arm_declare_function_name.
27286
27287 2015-05-11 Christian Bruel <christian.bruel@st.com>
27288
27289 * config/arm/arm.c (arm_option_override): Reoganized and split into :
27290 (arm_option_params_internal); New function.
27291 (arm_option_check_internal): New function.
27292 (arm_option_override_internal): New function.
27293 (thumb_code, thumb1_code): Remove.
27294 * config/arm/arm.h (TREE_TARGET_THUMB, TREE_TARGET_THUMB1): New macros.
27295 (TREE_TARGET_THUM2, TREE_TARGET_ARM): Likewise.
27296 (thumb_code, thumb1_code): Remove.
27297 * config/arm/arm.md (is_thumb, is_thumb1): Check TARGET flag.
27298
27299 2015-05-11 Uros Bizjak <ubizjak@gmail.com>
27300
27301 * config/alpha/alpha.c (alpha_emit_set_const_1)
27302 (alpha_emit_set_long_const, alpha_extract_integer)
27303 (alpha_legitimate_constant_p, alpha_split_const_mov)
27304 (alpha_expand_block_clear, alpha_expand_zap_mask, print_operand):
27305 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
27306 (alpha_emit_set_const_1): Change "(HOST_WIDE_INT) 1" to
27307 HOST_WIDE_INT_1U.
27308 * config/alpha/predicates.md (mode_mask_operand): Do not match
27309 const_double RTX.
27310 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
27311 * config/alpha/alpha.md (abstf, *abstf_internal, UNSPEC_ZAP splitter):
27312 Change "(HOST_WIDE_INT) 1" to HOST_WIDE_INT_1U.
27313 [HOST_BITS_PER_WIDE_INT < 64]: Remove dead code.
27314 (*negtf_internal): Use gen_int_mode instead of immed_double_const.
27315
27316 2015-05-11 Jakub Jelinek <jakub@redhat.com>
27317
27318 PR target/65780
27319 * config/s390/linux.h (TARGET_BINDS_LOCAL_P): Define to
27320 default_binds_local_p_2.
27321 * config/arm/linux-elf.h (TARGET_BINDS_LOCAL_P): Likewise.
27322 * config/aarch64/aarch64-linux.h (TARGET_BINDS_LOCAL_P): Likewise.
27323
27324 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
27325
27326 * tree.c (verify_type_variant): Check TYPE_VALUES_RAW and TYPE_PRECISION
27327
27328 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
27329
27330 Patch by Richard Biener
27331 * coverage.c (coverage_obj_init): Delay building of type variant
27332 until the type is finished.
27333
27334 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
27335
27336 * ipa-devirt.c (warn_types_mismatch): Do not ICE when warning about
27337 mismatch between C and C++ type; compoare correctly ARG_TYPES
27338 for non-prototypes and output correctly parameter index for METHOD_TYPE.
27339 (odr_types_equivalent_p): Fix wording of warning about attributes;
27340 it is OK to match prototype and non-prototype.
27341
27342 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
27343
27344 * tree.c (free_lang_data_in_type): Free TREE_PURPOSE of
27345 TYPE_ARG_TYPES list.
27346 (verify_type): Permit non-NULL TREE_PURPOSE in non-LTO builds.
27347 * tree.def (FUNCTION_TYPE): Document TREE_PURPOSE in TYPE_ARG_TYPES
27348
27349 2015-05-09 Jan Hubicka <hubicka@ucw.cz>
27350
27351 * tree.c (verify_type): Verify TYPE_BINFO and TYPE_VALUES_RAW.
27352 * tree.h (is_lang_specific): Constify.
27353
27354 2015-05-09 Marc Glisse <marc.glisse@inria.fr>
27355
27356 PR tree-optimization/64454
27357 * tree-vrp.c (extract_range_from_binary_expr_1) <TRUNC_MOD_EXPR>:
27358 Rewrite.
27359
27360 2015-05-08 Jason Merrill <jason@redhat.com>
27361
27362 * bitmap.c, c/c-aux-info.c, cfg.c, cfghooks.c, cgraph.c,
27363 config/aarch64/aarch64.md config/alpha/vms.h, config/darwin.c,
27364 config/darwin.h, config/darwin9.h, config/elfos.h,
27365 config/i386/bsd.h, config/ia64/ia64.c, config/lm32/lm32.h,
27366 config/microblaze/microblaze.h, config/mips/mips.h,
27367 config/mmix/mmix.c, config/msp430/msp430.c, config/nios2/nios2.h,
27368 config/nvptx/nvptx.c, config/nvptx/nvptx.h, config/pa/pa.c,
27369 config/pa/pa.h, config/rs6000/rs6000.c, config/rs6000/sysv4.h,
27370 config/rs6000/xcoff.h, config/rx/rx.h, config/s390/s390.h,
27371 config/sparc/sol2.h, config/sparc/sparc.h, config/visium/visium.h,
27372 cppbuiltin.c, defaults.h, doc/invoke.texi, dwarf2cfi.c,
27373 dwarf2out.c, final.c, gcc.c, gcov-dump.c, gcov.c, ipa-cp.c,
27374 ipa-inline.c, ipa-polymorphic-call.c, ipa-profile.c, ipa-prop.c,
27375 ira-color.c, ira.c, loop-doloop.c, loop-iv.c, mcf.c,
27376 modulo-sched.c, predict.c, profile.c, stor-layout.c, toplev.c,
27377 tree-ssa-reassoc.c, value-prof.c, wide-int-print.cc: Add space
27378 between string literal and macro name.
27379
27380 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27381
27382 * jump.c: Change argument types to rtx_insn *.
27383 * rtl.h: Adjust.
27384
27385 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27386
27387 * lra-constraints.c: Change argument type to rtx_insn *.
27388
27389 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27390
27391 * df-problems.c: Change argument type to rtx_insn *.
27392
27393 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27394
27395 * combine.c: Change argument type to rtx_insn *.
27396
27397 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27398
27399 * rtl.h: Adjust.
27400 * rtlanal.c: Change argument type to rtx_insn *.
27401
27402 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27403
27404 * sched-deps.c: Change argument types to rtx_insn *.
27405 * sched-int.h: Adjust.
27406
27407 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27408
27409 * dwarf2cfi.c: Change argument type to rtx_insn *.
27410
27411 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27412
27413 * ira.c (decrease_live_ranges_number): Changetype of local
27414 variable to rtx_insn *.
27415 * recog.c: Change argument types to rtx_insn *.
27416 * recog.h: Adjust.
27417
27418 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27419
27420 * reorg.c: Change argument types to rtx_insn *.
27421
27422 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27423
27424 * ira-color.c: Change argument types to rtx_insn *.
27425 * lra-eliminations.c: Likewise.
27426 * ira.h: Adjust.
27427
27428 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27429
27430 * gcse.c: Change argument types to rtx_insn *.
27431
27432 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27433
27434 * cse.c (cse_change_cc0_mode): Change argument type to rtx_insn *.
27435
27436 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27437
27438 * emit-rtl.c (emit_debug_insn_before): Change argument type to
27439 rtx_insn *.
27440 * rtl.h: Adjust.
27441
27442 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27443
27444 * emit-rtl.c (emit_note_before): Change argument type to rtx_insn *.
27445 * rtl.h: Adjust.
27446
27447 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27448
27449 * emit-rtl.c (emit_note_after): Change argument type to rtx_insn *.
27450 * rtl.h: Adjust.
27451
27452 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27453
27454 * emit-rtl.c (prev_cc0_setter): Change argument type to rtx_insn *.
27455 * rtl.h: Adjust.
27456
27457 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27458
27459 * rtlanal.c (noop_move_p): Change argument type to rtx_insn *.
27460 * rtl.h: Adjust.
27461
27462 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27463
27464 * rtlanal.c (add_shallow_copy_of_reg_note): Change argument type
27465 to rtx_insn *.
27466 * rtl.h: Adjust.
27467
27468 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27469
27470 * rtlanal.c (remove_reg_equal_equiv_notes): Change argument type
27471 to rtx_insn *.
27472 * rtl.h: Likewise.
27473
27474 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27475
27476 * except.c (can_nonlocal_goto): Change type of argument to
27477 rtx_insn *.
27478 * rtl.h: Adjust.
27479
27480 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27481
27482 * rtlanal.c (computed_jump_p): Cange argument type to rtx_insn *.
27483 * rtl.h: Adjust.
27484
27485 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27486
27487 * rtlanal.c (in_insn_list_p): Renamed from in_expr_list_p.
27488 * cfgrtl.c (can_delete_label_p): Adjust.
27489 * rtl.h: likewise.
27490
27491 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27492
27493 * reorg.c (stop_search_p): Change argument to rtx_insn *.
27494
27495 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27496
27497 * except.c (make_reg_eh_region_note): Change argument to
27498 rtx_insn *.
27499 (make_reg_eh_region_note_nothrow_nononlocal): Likewise.
27500 * except.h: Adjust.
27501
27502 2015-05-08 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
27503
27504 * mode-switching.c (commit_mode_sets): Change type of local
27505 variable from rtx to rtx_insn *.
27506
27507 2015-05-08 Jim Wilson <jim.wilson@linaro.org>
27508
27509 * doc/install.texi (--enable-languages): Add missing jit and lto info.
27510 Add ^ to grep command.
27511 * doc/match-and-simplify.texi (GIMPLE API): Add missing fourth tree
27512 arg to last gimple_simplify declaration. Add missing gimple_build
27513 declaration for built-in function case with four tree args.
27514
27515 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
27516 Szabolcs Nagy <szabolcs.nagy@arm.com>
27517
27518 * config/mips/linux.h (MUSL_DYNAMIC_LINKER32): Define.
27519 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERN32): Define.
27520 (GNU_USER_DYNAMIC_LINKERN32): Update.
27521
27522 2015-05-08 Richard Biener <rguenther@suse.de>
27523
27524 PR tree-optimization/66036
27525 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
27526 Handle strided group loads.
27527 (vect_verify_datarefs_alignment): Likewise.
27528 (vect_enhance_data_refs_alignment): Likewise.
27529 (vect_analyze_group_access): Likewise.
27530 (vect_analyze_data_ref_access): Likewise.
27531 (vect_analyze_data_ref_accesses): Likewise.
27532 * tree-vect-stmts.c (vect_model_load_cost): Likewise.
27533 (vectorizable_load): Likewise.
27534
27535 2015-05-08 Segher Boessenkool <segher@kernel.crashing.org>
27536
27537 * config/rs6000/rs6000.md: Require operand inequality in one
27538 of the peepholes.
27539
27540 2015-05-08 Richard Sandiford <richard.sandiford@arm.com>
27541 Franz Sirl <Franz.Sirl-kernel@lauterbach.com>
27542
27543 * config/i386/i386.md (<mode>_ldx, *<mode>_ldx): Remove mode
27544 from (set ...).
27545 * config/rx/rx.md (movdi, movdf): Likewise.
27546 Likewise for define_peephole2s.
27547
27548 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
27549
27550 * config/aarch64/arm_neon.h (vceq_s64, vceq_u64, vceqz_s64, vceqz_u64,
27551 vcge_s64, vcge_u64, vcgez_s64, vcgt_s64, vcgt_u64, vcgtz_s64, vcle_s64,
27552 vcle_u64, vclez_s64, vclt_s64, vclt_u64, vcltz_s64, vtst_s64,
27553 vtst_u64): Rewrite using gcc vector extensions.
27554
27555 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
27556
27557 * config/aarch64/aarch64-simd.md (aarch64_vcond_internal<mode><mode>,
27558 vcond<mode><mode>, vcondu<mode><mode>): Add DImode variant.
27559
27560 2015-05-08 Alan Lawrence <alan.lawrence@arm.com>
27561
27562 * optabs.c (vector_compare_rtx): Handle RTL operands having VOIDmode.
27563
27564 2015-05-08 Szabolcs Nagy <szabolcs.nagy@arm.com>
27565
27566 * config/glibc-stdint.h (OPTION_MUSL): Define.
27567 (INT_FAST16_TYPE, INT_FAST32_TYPE, UINT_FAST16_TYPE, UINT_FAST32_TYPE):
27568 Change the definition based on OPTION_MUSL for 64 bit targets.
27569 * config/linux.h (OPTION_MUSL): Redefine.
27570 * config/alpha/linux.h (OPTION_MUSL): Redefine.
27571 * config/rs6000/linux.h (OPTION_MUSL): Redefine.
27572 * config/rs6000/linux64.h (OPTION_MUSL): Redefine.
27573
27574 2015-05-08 Gregor Richards <gregor.richards@uwaterloo.ca>
27575 Szabolcs Nagy <szabolcs.nagy@arm.com>
27576
27577 * config.gcc (LIBC_MUSL): New tm_defines macro.
27578 * config/linux.h (OPTION_MUSL): Define.
27579 (MUSL_DYNAMIC_LINKER, MUSL_DYNAMIC_LINKER32,)
27580 (MUSL_DYNAMIC_LINKER64, MUSL_DYNAMIC_LINKERX32,)
27581 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
27582 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
27583 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
27584 * config/linux.opt (mmusl): New option.
27585 * doc/invoke.texi (GNU/Linux Options): Document -mmusl.
27586 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
27587 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
27588 * configure: Regenerate.
27589
27590 2015-05-08 H.J. Lu <hongjiu.lu@intel.com>
27591 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
27592
27593 PR target/48904
27594 * config.gcc (x86_64-*-knetbsd*-gnu): Add i386/knetbsd-gnu64.h.
27595 * config/i386/knetbsd-gnu64.h: New file.
27596
27597 2015-05-08 Marek Polacek <polacek@redhat.com>
27598
27599 PR c/64918
27600 * doc/invoke.texi: Document -Woverride-init-side-effects.
27601
27602 2015-05-07 Marek Polacek <polacek@redhat.com>
27603
27604 PR c/65179
27605 * doc/invoke.texi: Document -Wshift-negative-value.
27606
27607 2015-05-06 Aditya Kumar <hiraditya@msn.com>
27608
27609 * gcov-tool.c (do_merge): Refactore to remove int ret.
27610 * ipa-icf.c (sem_item::hash_referenced_symbol_properties): Change
27611 !type == FUNC to type != FUNC.
27612 * reload.h (struct target_reload): Changee to type of
27613 x_spill_indirect_levels from bool to unsigned char.
27614
27615 2015-05-07 Richard Sandiford <richard.sandiford@arm.com>
27616
27617 * rtl.h (always_void_p): New function.
27618 * gengenrtl.c (always_void_p): Likewise.
27619 (genmacro): Don't add a mode parameter to gen_rtx_foo if rtxes
27620 with code foo are always VOIDmode.
27621 * genemit.c (gen_exp): Update gen_rtx_foo calls accordingly.
27622 * builtins.c, caller-save.c, calls.c, cfgexpand.c, combine.c,
27623 compare-elim.c, config/aarch64/aarch64.c,
27624 config/aarch64/aarch64.md, config/alpha/alpha.c,
27625 config/alpha/alpha.md, config/arc/arc.c, config/arc/arc.md,
27626 config/arm/arm-fixed.md, config/arm/arm.c, config/arm/arm.md,
27627 config/arm/ldrdstrd.md, config/arm/thumb2.md, config/arm/vfp.md,
27628 config/avr/avr.c, config/bfin/bfin.c, config/c6x/c6x.c,
27629 config/c6x/c6x.md, config/cr16/cr16.c, config/cris/cris.c,
27630 config/cris/cris.md, config/darwin.c, config/epiphany/epiphany.c,
27631 config/epiphany/epiphany.md, config/fr30/fr30.c, config/frv/frv.c,
27632 config/frv/frv.md, config/h8300/h8300.c, config/i386/i386.c,
27633 config/i386/i386.md, config/i386/sse.md, config/ia64/ia64.c,
27634 config/ia64/vect.md, config/iq2000/iq2000.c,
27635 config/iq2000/iq2000.md, config/lm32/lm32.c, config/lm32/lm32.md,
27636 config/m32c/m32c.c, config/m32r/m32r.c, config/m68k/m68k.c,
27637 config/m68k/m68k.md, config/mcore/mcore.c, config/mcore/mcore.md,
27638 config/mep/mep.c, config/microblaze/microblaze.c,
27639 config/mips/mips.c, config/mips/mips.md, config/mmix/mmix.c,
27640 config/mn10300/mn10300.c, config/msp430/msp430.c,
27641 config/nds32/nds32-memory-manipulation.c, config/nds32/nds32.c,
27642 config/nds32/nds32.md, config/nios2/nios2.c, config/nvptx/nvptx.c,
27643 config/pa/pa.c, config/pa/pa.md, config/rl78/rl78.c,
27644 config/rs6000/altivec.md, config/rs6000/rs6000.c,
27645 config/rs6000/rs6000.md, config/rs6000/vector.md,
27646 config/rs6000/vsx.md, config/rx/rx.c, config/rx/rx.md,
27647 config/s390/s390.c, config/s390/s390.md, config/sh/sh.c,
27648 config/sh/sh.md, config/sh/sh_treg_combine.cc,
27649 config/sparc/sparc.c, config/sparc/sparc.md, config/spu/spu.c,
27650 config/spu/spu.md, config/stormy16/stormy16.c,
27651 config/tilegx/tilegx.c, config/tilegx/tilegx.md,
27652 config/tilepro/tilepro.c, config/tilepro/tilepro.md,
27653 config/v850/v850.c, config/v850/v850.md, config/vax/vax.c,
27654 config/visium/visium.c, config/xtensa/xtensa.c, cprop.c, dse.c,
27655 expr.c, gcse.c, ifcvt.c, ira.c, jump.c, lower-subreg.c,
27656 lra-constraints.c, lra-eliminations.c, lra.c, postreload.c, ree.c,
27657 reg-stack.c, reload.c, reload1.c, reorg.c, sel-sched.c,
27658 var-tracking.c: Update calls accordingly.
27659
27660 2015-05-07 Segher Boessenkool <segher@kernel.crashing.org>
27661
27662 PR middle-end/192
27663 PR middle-end/54303
27664 * varasm.c (function_mergeable_rodata_prefix): New function.
27665 (mergeable_string_section): Use it.
27666 (mergeable_constant_section): Use it.
27667
27668 2015-05-07 Jeff Law <law@redhat.com>
27669
27670 PR target/39726
27671 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
27672 simplifier to narrow arithmetic.
27673 * generic-match-head.c: (types_match, single_use): New functions.
27674 * gimple-match-head.c: (types_match, single_use): New functions.
27675
27676 2015-05-07 Venkataramanan Kumar <venkataramanan.kumar@amd.com>
27677
27678 * combine.c (make_compound_operation): Remove checks for PLUS/MINUS
27679 rtx type.
27680
27681 2015-05-07 Richard Biener <rguenther@suse.de>
27682
27683 PR tree-optimization/66002
27684 * passes.def: Schedule another pass_merge_phi after ifcombine, right
27685 before phiopt.
27686
27687 2015-05-07 Marek Polacek <polacek@redhat.com>
27688 Martin Uecker <uecker@eecs.berkeley.edu>
27689
27690 * doc/invoke.texi: Document -fsanitize=bounds-strict.
27691 * flag-types.h (enum sanitize_code): Add SANITIZE_BOUNDS_STRICT, or it
27692 into SANITIZE_NONDEFAULT.
27693 * opts.c (common_handle_option): Handle -fsanitize=bounds-strict.
27694
27695 2015-05-07 Uros Bizjak <ubizjak@gmail.com>
27696
27697 PR target/66015
27698 * config/alpha/alpha.c (alpha_override_options_after_change): New.
27699 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New.
27700 (alpha_override_options): Move align_loops, align_jumps and
27701 align_functions handling into alpha_override_options_after_change.
27702
27703 2015-05-06 Sandra Loosemore <sandra@codesourcery.com>
27704 Chris Jones <chrisj@nvidia.com>
27705 Joshua Conner <jconner@nvidia.com>
27706
27707 * config/arm/unknown-elf.h (STARTFILE_SPEC): Add conditional
27708 linking of crtfastmath.o.
27709 * config/arm/linux-eabi.h (STARTFILE_SPEC): Likewise.
27710
27711 2015-05-06 Segher Boessenkool <segher@kernel.crashing.org>
27712
27713 * config/rs6000/rs6000.md (cstore<mode>4_signed_imm): New expander.
27714 (cstore<mode>4_unsigned_imm): New expander.
27715 (cstore<mode>4): Remove empty constraint strings. Use the new
27716 expanders.
27717
27718 2015-05-06 Yvan Roux <yvan.roux@linaro.org>
27719
27720 PR target/64208
27721 * config/arm/iwmmxt.md ("*iwmmxt_arm_movdi"): Cleanup redundant
27722 alternatives.
27723
27724 2015-05-06 Szabolcs Nagy <szabolcs.nagy@arm.com>
27725
27726 * config/aarch64/geniterators.sh: Use standard BRE in sed.
27727
27728 2015-05-06 Alan Modra <amodra@gmail.com>
27729
27730 PR target/66033
27731 * config/rs6000/rs6000.md (nop): Use an unspec pattern.
27732 (UNSPEC_NOP): Define.
27733 (reload_vsx_from_gpr<mode>): Add missing DONE.
27734 (reload_gpr_from_vsx<mode>): Likewise.
27735 * config/rs6000/vsx.md (vsx_mul_v2di): Likewise.
27736 (vsx_div_v2di, vsx_udiv_v2di): Likewise.
27737
27738 2015-05-06 Christian Bruel <christian.bruel@st.com>
27739
27740 PR target/66015
27741 * config/aarch64/aarch64.c (aarch64_override_options): Move align_loops,
27742 align_jumps, align_functions into aarch64_override_options_after_change.
27743
27744 2015-05-06 Richard Biener <rguenther@suse.de>
27745
27746 * tree-vect-slp.c (vect_supported_load_permutation_p): Use
27747 vect_transform_slp_perm_load to check if we support a permutation
27748 for basic-block vectorization.
27749
27750 2015-05-06 Nick Clifton <nickc@redhat.com>
27751
27752 * config/rl78/rl78.c (need_to_save): Save register 22 if it is
27753 used, even if it is not being used as a frame pointer.
27754
27755 2015-05-05 Jason Merrill <jason@redhat.com>
27756
27757 * dwarf2out.c (gen_member_die): Don't emit anything for an
27758 anonymous class constructor.
27759
27760 2015-05-05 David Malcolm <dmalcolm@redhat.com>
27761
27762 * auto-profile.c (afdo_find_equiv_class): Fix indentation so
27763 that it reflects the block structure.
27764 (afdo_propagate_edge): Likewise.
27765 (afdo_calculate_branch_prob): Likewise.
27766 (afdo_annotate_cfg): Likewise.
27767 * cfgcleanup.c (equal_different_set_p): Likewise.
27768 (try_crossjump_to_edge): Likewise.
27769 * cgraph.c (cgraph_node::verify_node): Likewise.
27770 * cgraphunit.c (expand_all_functions): Likewise.
27771 * config/i386/i386.c (ix86_expand_copysign): Likewise.
27772 (exact_dependency_1): Likewise.
27773 * dwarf2asm.c (dw2_output_indirect_constants): Likewise.
27774 * dwarf2out.c (tree_add_const_value_attribute_for_decl): Likewise.
27775 * gensupport.c (process_define_subst): Likewise.
27776 * lto-wrapper.c (merge_and_complain): Likewise.
27777 * tree-if-conv.c (if_convertible_bb_p): Likewise.
27778 * tree-ssa-loop-prefetch.c (find_or_create_group): Likewise.
27779 * tree-ssa-tail-merge.c (gsi_advance_fw_nondebug_nonlocal): Likewise.
27780 * tree-vect-data-refs.c (vect_grouped_load_supported): Likewise.
27781 * tree-vect-loop.c (vectorizable_reduction): Likewise.
27782 * tree-vect-slp.c (vect_transform_slp_perm_load): Likewise.
27783 * tree-vect-stmts.c (vectorizable_shift): Likewise.
27784 * tree-vrp.c (vrp_finalize): Likewise.
27785 * tree.c (variably_modified_type_p): Likewise.
27786
27787 2015-05-05 Jack Howarth <howarth.at.gcc@gmail.com>
27788
27789 * config.gcc: Use darwin9.h, darwin10.h and darwin12.h
27790 on darwin12 and later.
27791 * config/darwin12.h (LINK_GCC_C_SEQUENCE_SPEC): Add
27792 file to pass -rdynamic on darwin12 and later.
27793 * config/darwin.opt (rdynamic): Add.
27794
27795 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
27796
27797 * doc/extend.texi (C Extensions): Update menu for moved Variable
27798 Attributes and Type Attributes sections.
27799
27800 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
27801
27802 PR target/65990
27803 * config/i386/i386.c (ix86_parse_stringop_strategy_string): Error out
27804 if rep_8byte stringop strategy was specified for 32-bit target.
27805
27806 2015-05-05 Ilya Tocar <ilya.tocar@intel.com>
27807
27808 PR target/65915
27809 * config/i386/i386.md (vector convert to float spltiter): Check for
27810 xmm16+, when splitting scalar float conversion.
27811 * config/i386/sse.md (sse2_cvtsi2sd): Support EVEX version.
27812
27813 2015-05-05 Nick Clifton <nickc@redhat.com>
27814
27815 * config/msp430/msp430-opts.h (enum msp430_regions): New.
27816 * config/msp430/msp430.c (msp430_override_options): Complain if
27817 -mcode-region or -mdata-region is used on a non MSP430X.
27818 (msp430_section_attr): New function. Checks lower, upper and
27819 either attributes.
27820 (msp430_attribute_table): Add lower, upper and either.
27821 (gen_prefix): New function. Generates a prefix for a section
27822 name.
27823 (msp430_select_section): New function - handles the choice of
27824 section for an object. Takes into account memory region
27825 attributes and options.
27826 (msp430_function_section): Use gen_prefix.
27827 (TARGET_SECTION_TYPE_FLAGS): Define.
27828 (msp430_section_type_flags): New function.
27829 (TARGET_ASM_UNIQUE_SECTION): Define.
27830 (msp430_unique_section): New function.
27831 (msp430_output_aligned_decl_common): New function.
27832 (msp430_do_not_relax_short_jumps): New function.
27833 * config/msp430/msp430.h (USE_SELECT_SECTION_FOR_FUNCTIONS):
27834 Define.
27835 (ASM_OUTPUT_ALIGNED_DECL_COMMON): Define.
27836 * config/msp430/msp430-protos.h
27837 (msp430_do_not_relax_short_jumps): New prototype.
27838 (msp430_output_aligned_decl_common): New prototype.
27839 * config/msp430/msp430.md (length): New attribute.
27840 (cbranchhi4_real): If msp430_do_not_relax_short_jumps is true
27841 then use a long code sequence for short jumps.
27842 * config/msp430/msp430.opt (mcode-region): New.
27843 (mdata-region): New.
27844 * doc/invoke.texi: Document new options.
27845 * doc/extend.texi: Document new attributes.
27846
27847 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
27848
27849 * config/aarch64-protos.h (struct cpu_branch_cost): New.
27850 (tune_params): Add field branch_costs.
27851 (aarch64_branch_cost): Declare.
27852 * config/aarch64.c (generic_branch_cost): New.
27853 (generic_tunings): Set field cpu_branch_cost to generic_branch_cost.
27854 (cortexa53_tunings): Likewise.
27855 (cortexa57_tunings): Likewise.
27856 (thunderx_tunings): Likewise.
27857 (xgene1_tunings): Likewise.
27858 (aarch64_branch_cost): Define.
27859 * config/aarch64/aarch64.h (BRANCH_COST): Redefine.
27860
27861 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
27862
27863 * config/i386/i386.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1
27864 and HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1.
27865 * config/i386/i386.md: Ditto.
27866 * config/i386/winnt.c: Ditto.
27867
27868 2015-05-05 Matthew Wahab <matthew.wahab@arm.com>
27869
27870 * doc/extend.texi (__atomic Builtins): Move implementation details
27871 to the end of the description, rewrite opening paragraphs, state
27872 difference with __sync builtins, state C11/C++11 assumptions,
27873 weaken itemized descriptions, add explanation of memory model
27874 behaviour, expand description of compare-exchange, simplify text.
27875
27876 2015-05-05 Renlin Li <renlin.li@arm.com>
27877
27878 * config/aarch64/aarch64.md (add<mode>3): Use mov when allowed.
27879
27880 2015-05-05 Yvan Roux <yvan.roux@linaro.org>
27881
27882 * config/aarch64/aarch64-elf-raw.h (CA53_ERR_843419_SPEC): Define.
27883 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
27884 * config/aarch64/aarch64-linux.h (CA53_ERR_843419_SPEC): Define.
27885 (LINK_SPEC): Include CA53_ERR_843419_SPEC.
27886 * config/aarch64/aarch64.opt (mfix-cortex-a53-843419): New option.
27887 * configure: Regenerate.
27888 * configure.ac: Add --enable-fix-cortex-a53-843419 option.
27889 * doc/install.texi (aarch64*-*-*): Document new
27890 --enable-fix-cortex-a53-843419 option.
27891 * doc/invoke.texi (AArch64 Options): Document -mfix-cortex-a53-843419
27892 and -mno-fix-cortex-a53-843419 options.
27893
27894 2015-05-05 Uros Bizjak <ubizjak@gmail.com>
27895
27896 PR target/65871
27897 * config/i386/i386.md (*bmi_andn_<mode>_ccno): New pattern.
27898
27899 2015-05-04 Jan Hubicka <hubicka@ucw.cz>
27900
27901 * tree.c (verify_type): Check various uses of TYPE_MAXVAL;
27902 fix overactive TYPE_MIN_VALUE check and add FIXME for type
27903 compatibility problems.
27904
27905 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
27906
27907 * config/microblaze/microblaze.md (cbranchsi4): Added immediate
27908 constraints.
27909 (cbranchsi4_reg): New.
27910 * config/microblaze/microblaze.c
27911 (microblaze_expand_conditional_branch_reg): New.
27912 * config/microblaze/microblaze-protos.h
27913 (microblaze_expand_conditional_branch_reg): New prototype.
27914
27915 2015-05-04 Ajit Agarwal <ajitkum@xilinx.com>
27916
27917 * config/microblaze/microblaze.md (peephole2): New.
27918
27919 2015-05-04 Jeff Law <law@redhat.com>
27920
27921 Revert:
27922 2015-05-04 Jeff Law <law@redhat.com>
27923
27924 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
27925 simplifier to narrow arithmetic.
27926 * generic-match-head.c: (types_match, single_use): New functions.
27927 * gimple-match-head.c: (types_match, single_use): New functions.
27928
27929 2015-05-04 Kaz Kojima <kkojima@gcc.gnu.org>
27930
27931 PR target/65987
27932 * config/sh/sh.c (output_far_jump): Take into account crossing jumps.
27933 (split_branches): Likewise.
27934
27935 2015-05-04 Sandra Loosemore <sandra@codesourcery.com>
27936
27937 * common.opt (fdelete-null-pointer-checks): Init to -1.
27938 * config/nios2/elf.h (SUBTARGET_OVERRIDE_OPTIONS): Define to
27939 override flag_delete_null_pointer_checks default.
27940 * doc/invoke.texi (-fdelete-null-pointer-checks): Clarify
27941 behavior re address zero. Better document target-specific behavior.
27942 (-fisolate-errneous-paths-dereference): Mention relationship to
27943 -fdelete-null-pointer-checks.
27944
27945 2015-05-04 Jakub Jelinek <jakub@redhat.com>
27946
27947 PR tree-optimization/65984
27948 * ubsan.c: Include tree-cfg.h.
27949 (instrument_bool_enum_load): Use stmt_ends_bb_p instead of
27950 stmt_could_throw_p test, rename can_throw variable to ends_bb.
27951
27952 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
27953
27954 * config/i386/i386.c: Change GET_CODE (...) == CONST_DOUBLE check
27955 to CONST_DOUBLE_P predicate.
27956 (standard_sse_constant_p): Return 0 for !TARGET_SSE.
27957 (ix86_legitimate_constant_p) <case CONST_WIDE_INT>: For 32bit targets,
27958 allow only operands that satisfy standard_sse_constant_p predicate.
27959 * config/i386/i386.md: Change GET_CODE (...) == CONST_DOUBLE check
27960 to CONST_DOUBLE_P predicate.
27961
27962 2015-05-04 Jeff Law <law@redhat.com>
27963
27964 * match.pd (bit_and (plus/minus (convert @0) (convert @1) mask): New
27965 simplifier to narrow arithmetic.
27966 * generic-match-head.c: (types_match, single_use): New functions.
27967 * gimple-match-head.c: (types_match, single_use): New functions.
27968
27969 2015-05-04 Andreas Tobler <andreast@gcc.gnu.org>
27970
27971 * config/arm/arm.c: Restore bootstrap.
27972
27973 2015-05-04 Uros Bizjak <ubizjak@gmail.com>
27974
27975 * config/i386/i386.h (TARGET_SUPPORTS_WIDE_INT): New define.
27976 * config/i386/i386.c (ix86_legitimate_constant_p): Handle TImode
27977 as CONST_WIDE_INT, not CONST_DOUBLE.
27978 (ix86_cannot_force_const_mem): Handle CONST_WIDE_INT.
27979 (output_pic_addr_const): Do not handle VOIDmode CONST_DOUBLEs.
27980 (ix86_find_base_term): Do not check for CONST_DOUBLE.
27981 (ix86_print_operand): Do not handle non-FPmode CONST_DOUBLEs.
27982 (ix86_build_signbit_mask): Rewrite using wide ints.
27983 (ix86_split_to_parts) [HOST_BITS_PER_WIDE_INT < 64]: Remove.
27984 (ix86_rtx_costs): Handle CONST_WIDE_INT.
27985 (find_constant): Ditto.
27986 * config/i386/i386.md (bts, btr, btc peepholes): Rewrite
27987 using gen_int_mode.
27988 * config/i386/predicates.md (x86_64_immediate_operand)
27989 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
27990 (x86_64_zext_immediate_operand): Remove CONST_DOUBLE handling.
27991 <case CONST_INT>: Remove HOST_BITS_PER_WIDE_INT == 32 code.
27992 (const0_operand): Also match const_wide_int.
27993 (constm1_operand): Ditto.
27994 (const1_operand): Ditto.
27995
27996 2015-05-04 Richard Biener <rguenther@suse.de>
27997
27998 PR tree-optimization/65965
27999 * tree-vect-data-refs.c (vect_analyze_data_ref_accesses): Split
28000 store groups at gaps.
28001
28002 2015-05-04 Richard Biener <rguenther@suse.de>
28003
28004 PR tree-optimization/65935
28005 * tree-vect-slp.c (vect_build_slp_tree): If we swapped operands
28006 then make sure to apply that swapping to the IL.
28007
28008 2015-05-04 Jakub Jelinek <jakub@redhat.com>
28009
28010 * Makefile.in (PATCHLEVEL_c): New variable.
28011 (DATESTAMP_s, REVISION_s): If PATCHLEVEL_c is not 0,
28012 expand the same way as if DEVPHASE_c was non-empty.
28013
28014 2015-05-04 Kai Tietz <ktietz@redhat.com>
28015
28016 PR target/65559
28017 * lto-wrapper.c (run_gcc): Open filename
28018 in binary-mode.
28019
28020 2015-05-03 Sandra Loosemore <sandra@codesourcery.com>
28021
28022 * doc/extend.texi (Variable Attributes, Type Attributes): Move
28023 sections up in file, to immediately after the Function Attributes
28024 section.
28025
28026 2015-05-02 Jan Hubicka <hubicka@ucw.cz>
28027
28028 * tree.c (verify_type): Check various uses of TYPE_MINVAL.
28029
28030 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28031
28032 * tree-outof-ssa.c (emit_partition_copy): Return rtx_insn *.
28033 (insert_partition_copy_on_edge): Adjust.
28034 (insert_rtx_to_part_on_edge): Likewise.
28035 (insert_part_to_rtx_on_edge): Likewise.
28036
28037 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28038
28039 * function.c (set_return_jump_label): Change type of argument to
28040 rtx_insn *.
28041 * function.h (set_return_jump_label): Adjust.
28042
28043 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28044
28045 * reload.h (struct reg_equivs_t): Change type of init to
28046 rtx_insn *.
28047 * ira.c (fix_reg_equiv_init): Adjust.
28048 * reload1.c (eliminate_regs_1): Likewise.
28049 (init_eliminable_invariants): Likewise.
28050
28051 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28052
28053 * cselib.c (fp_setter_insn): Take a rtx_insn *.
28054 * cselib.h (fp_setter_insn): Adjust.
28055
28056 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28057
28058 * recog.c (struct validate_replace_src_data): Change type of
28059 insn field to rtx_insn *.
28060 (validate_replace_src_group): Change type of argument to rtx_insn *.
28061 * recog.h (validate_replace_src_group): Adjust.
28062
28063 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28064
28065 * haifa-sched.c: Change the type of some variables to rtx_insn *.
28066 * sched-deps.c: Likewise.
28067 * sched-int.h: Likewise.
28068 * sched-rgn.c: Likewise.
28069 * sel-sched.c: Likewise.
28070
28071 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28072
28073 to rtx_insn *.
28074 * config/i386/i386.c: Change the type of some arguments to
28075 rtx_insn *.
28076 * config/arm/arm.c: Likewise.
28077
28078 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28079
28080 * lra-constraints.c: Change type of some arguments to rtx_insn *.
28081
28082 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28083
28084 * regcprop.c (kill_autoinc_value): Change type of argument to
28085 rtx_insn *.
28086
28087 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28088
28089 * genrecog.c (print_subroutine): Adjust.
28090 * recog.c (get_bool_attr_mask_uncached): Likewise.
28091 * recog.h (struct recog_data_d): Change the type of insn to
28092 rtx_insn *.
28093
28094 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28095
28096 * dwarf2cfi.c (add_cfi_insn): Change type to rtx_insn *.
28097
28098 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28099
28100 * df-problems.c (df_set_note): Change type of argument to
28101 rtx_insn *.
28102
28103 2015-05-02 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28104
28105 * builtins.c (expand_builtin_trap): Change type of local
28106 variable to rtx_insn *.
28107 (add_sched_insns_for_speculation): Likewise.
28108 (ix86_emit_save_regs): Likewise.
28109 (get_scratch_register_on_entry): Likewise.
28110 (ix86_emit_restore_reg_using_pop): Likewise.
28111 (ix86_emit_leave): Likewise.
28112 (ix86_emit_restore_regs_using_mov): Likewise.
28113 (ix86_expand_epilogue): Likewise.
28114 Likewise.
28115 (rl78_alloc_physical_registers_umul): Likewise.
28116 * cselib.c (discard_useless_locs): Likewise.
28117 (cselib_invalidate_regno): Likewise.
28118 (cselib_invalidate_mem): Likewise.
28119 * function.c (expand_function_start): Likewise.
28120 (emit_use_return_register_into_block): Likewise.
28121 * gcse.c: Likewise.
28122 * haifa-sched.c (ok_for_early_queue_removal): Likewise.
28123 * ifcvt.c (noce_get_alt_condition): Likewise.
28124 * loop-doloop.c (doloop_condition_get): Likewise.
28125 * lra-constraints.c (inherit_in_ebb): Likewise.
28126 * modulo-sched.c (sms_schedule_by_order): Likewise.
28127 * recog.c (next_insn_tests_no_inequality): Likewise.
28128 * reorg.c (emit_delay_sequence): Likewise.
28129 (update_reg_dead_notes): Likewise.
28130 (fix_reg_dead_note): Likewise.
28131 (fill_slots_from_thread): Likewise.
28132 (delete_computation): Likewise.
28133
28134 2015-05-01 Sandra Loosemore <sandra@codesourcery.com>
28135
28136 * doc/extend.texi (Variable Attributes): Add menu and proper
28137 @nodes to subsections. Move Microsoft Windows attributes to
28138 their own subsection.
28139 (Type Attributes): Reorganize introduction to remove duplicate
28140 list of attributes. Add menu and proper @nodes to subsections.
28141 Alphabetize the main table of common attributes.
28142
28143 2015-05-01 Rasmus Villemoes <rv@rasmusvillemoes.dk>
28144
28145 * match.pd: New simplification patterns.
28146 (x + (x & 1)) -> ((x + 1) & ~1)
28147 (x & ~(x & y)) -> ((x & ~y))
28148 (x | ~(x | y)) -> ((x | ~y))
28149
28150 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28151
28152 * target.def (attribute_table): Mention that struct attribute_spec
28153 is defined in tree-core.h rather than tree.h
28154 * doc/tm.texi: Regenerate.
28155
28156 2015-05-01 Richard Sandiford <richard.sandiford@arm.com>
28157
28158 * genrecog.c (test): Rename to rtx_test. Update rest of file
28159 accordingly.
28160
28161 2015-05-01 Andreas Schwab <schwab@linux-m68k.org>
28162
28163 PR translation/65959
28164 * params.h (DEFPARAM): Rename msgid to nocmsgid.
28165
28166 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
28167
28168 * config/aarch64/aarch64-protos.h (tune_params):
28169 Add min_div_recip_mul_sf and min_div_recip_mul_df fields.
28170 * config/aarch64/aarch64.c (aarch64_min_divisions_for_recip_mul):
28171 Return value depending on target.
28172 (generic_tunings): Initialize new target settings.
28173 (cortexa53_tunings): Likewise.
28174 (cortexa57_tunings): Likewise.
28175 (thunderx_tunings): Likewise.
28176 (xgene1_tunings): Likewise.
28177
28178 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
28179
28180 * config/arm/aarch-cost-tables.h (cortexa53_extra_costs):
28181 Make Cortex-A53 shift costs more accurate.
28182
28183 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28184
28185 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle FLOAT and
28186 UNSIGNED_FLOAT.
28187
28188 2015-05-01 Wilco Dijkstra <wdijkstr@arm.com>
28189
28190 * config/aarch64/aarch64.c (aarch64_rtx_costs):
28191 Calculate cost of op0 and op1 in PLUS and MINUS cases.
28192
28193 2015-05-01 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28194
28195 * config/aarch64/aarch64.c (aarch64_rtx_costs, COMPARE case):
28196 Add cost of op0 in the compare-with-fpzero case.
28197
28198 2015-04-30 David Malcolm <dmalcolm@redhat.com>
28199
28200 * builtins.c (fold_builtin_1): Remove spurious second
28201 semicolon.
28202 * cgraph.h (symtab_node::get_availability): Likewise.
28203 * opts.c (common_handle_option): Remove spurious second semicolon.
28204 * tree-ssa-loop-ivopts.c (extract_cond_operands): Likewise.
28205 * tree-ssa-loop-niter.c (derive_constant_upper_bound_ops): Likewise.
28206
28207 2015-04-30 Caroline Tice <cmtice@google.com>
28208
28209 PR gcov-profile/65929
28210 * config/elfos.h (ASM_DECLARE_COLD_FUNCTION_NAME): New macro definition.
28211 (ASM_DECLARE_COLD_FUNCTION_SIZE): New macro definition.
28212 * doc/tm.texi.in (ASM_DECLARE_COLD_FUNCTION_NAME): Document new macro.
28213 (ASM_DECLARE_COLD_FUNCTION_SIZE): Document new macro.
28214 * doc/tm.texi: Regenerate.
28215 * final.c (final_scan_insn): Use ASM_DECLARE_COLD_FUNCTION_NAME
28216 instead of ASM_DECLARE_FUNCTION_NAME for cold partition name.
28217 * varasm.c (assemble_end_function): Use ASM_DECLARE_COLD_FUNCTION_SIZE
28218 instead of ASM_DECLARE_FUNCTION_SIZE for cold partition size.
28219
28220 2015-04-30 Marek Polacek <polacek@redhat.com>
28221
28222 * varasm.c (handle_cache_entry): Fix logic.
28223
28224 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28225
28226 * config/aarch64/aarch64.md (*extr<mode>5_insn_alt): New pattern.
28227 (*extrsi5_insn_uxtw_alt): Likewise.
28228 * config/aarch64/aarch64.c (aarch64_extr_rtx_p): New function.
28229 (aarch64_rtx_costs, IOR case): Use above to properly cost extr
28230 operations.
28231
28232 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28233
28234 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle pattern for
28235 fabd in ABS case.
28236
28237 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28238
28239 * config/aarch64/aarch64.md
28240 (*eor_one_cmpl_<SHIFT:optab><mode>3_alt): New pattern.
28241 (*eor_one_cmpl_<SHIFT:optab>sidi3_alt_ze): Likewise.
28242 * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle MVN-shift
28243 appropriately. Handle alternative EON form.
28244
28245 2015-04-30 Renlin Li <renlin.li@arm.com>
28246
28247 * config/aarch64/aarch64-simd.md (vec_shr): Defined as an unspec.
28248 * config/aarch64/iterators.md (unspec): Add UNSPEC_VEC_SHR.
28249
28250 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
28251
28252 PR ipa/65873
28253 * ipa-inline.c (can_inline_edge_p): It is safe to inline across
28254 -fstrict-aliasing boundaries.
28255
28256 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28257
28258 * config/aarch64/aarch64.c (aarch64_rtx_mult_cost): Handle MNEG
28259 and [SU]MNEGL patterns.
28260
28261 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28262
28263 * config/aarch64/aarch64.c (aarch64_shift_p): New function.
28264 (aarch64_rtx_mult_cost): Update comment to reflect that it also handles
28265 combined arithmetic-shift ops. Properly handle all shift and extend
28266 operations that can occur in combination with PLUS/MINUS.
28267 Rename maybe_fma to compound_p.
28268 (aarch64_rtx_costs): Use aarch64_shift_p when costing compound
28269 arithmetic and shift operations.
28270
28271 2015-04-30 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28272
28273 * config/aarch64/aarch64.c (aarch64_rtx_costs): Use extend_arith
28274 rather than arith_shift cost when costing ADD/MINUS of an
28275 extended value.
28276
28277 2015-04-30 Jan Hubicka <hubicka@ucw.cz>
28278
28279 PR lto/65948
28280 * ipa-devirt.c (odr_types_equivalent_p): NULLPTR_TYPE is equivalent
28281 to itself.
28282
28283 2015-04-30 Richard Sandiford <richard.sandiford@arm.com>
28284
28285 * genrecog.c (simplify_tests): Check that CONST_INT and XWINT tests
28286 are for the same position.
28287
28288 2015-04-29 Aditya Kumar <hiraditya@hotmail.com>
28289
28290 * tree-vectorizer.c (set_uid_loop_bbs): New. Factored out of
28291 vectorize_loops.
28292 (vectorize_loops): Use it.
28293
28294 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
28295
28296 * ipa-devirt.c (odr_subtypes_equivalent_p): Compare TYPE_NAME only
28297 for aggregate types.
28298 (register_odr_type): Be ready for MAIN_VARIANT of ODR type
28299 type to be non_ODR.
28300 * tree.c (need_assembler_name_p): Compute mangled name for
28301 non-fundamental types and integer types.
28302
28303 2015-04-29 Mikhail Maltsev <maltsevm@gmail.com>
28304
28305 * dojump.c (do_compare_rtx_and_jump): Use std::swap instead of
28306 manual swaps.
28307 * expr.c (expand_expr_real_2): Likewise.
28308
28309 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
28310
28311 * tree.c (build_common_builtin_nodes): Do not build
28312 __builtin_alloca_with_align as equivalent of library alloca.
28313
28314 2015-04-29 Jan Hubicka <hubicka@ucw.cz>
28315
28316 * dwarf2out.c (gen_type_die_with_usage): Call verify_type.
28317 * ipa-chkp.c (chkp_copy_function_type_adding_bounds): Do not produce
28318 bugus variants.
28319 * tree.c: Include print-tree.h and ipa-utils.h
28320 (free_lang_data_in_type): Clear TYPE_VFIELD leaked by C FE.
28321 (free_lang_data_in_cgraph): Call verify_type.
28322 (verify_type_variant): New function.
28323 (verify_type): New function.
28324 * tree.h (verify_type): Declare.
28325
28326 2015-04-29 Steve Ellcey <sellcey@imgtec.com>
28327
28328 * config/mips/mips-cpus.def: (mips4): Change default processor
28329 from PROCESSOR_R8000 to PROCESSOR_R10000.
28330
28331 2015-04-29 Petar Jovanovic <petar.jovanovic@rt-rk.com>
28332
28333 * config/mips/mips.h (CRT_CALL_STATIC_FUNCTION): Fix the macro to use
28334 la/jalr instead of jal.
28335
28336 2015-04-29 Uros Bizjak <ubizjak@gmail.com>
28337
28338 PR target/65871
28339 * config/i386/i386.md (*bmi_bextr_<mode>_ccz): New pattern.
28340 (*bmi2_bzhi_<mode>3_1_ccz): Ditto.
28341 (setcc+movzbl peephole2): Check also clobbered reg.
28342 (setcc+andl peephole2): Ditto.
28343
28344 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
28345
28346 PR libgomp/65099
28347 * config/nvptx/mkoffload.c (target_ilp32): New variable.
28348 (main): Set it depending on "-foffload-abi=[...]".
28349 (compile_native, main): Use it to pass "-m32" or "-m64" to the
28350 compiler.
28351
28352 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
28353
28354 PR target/65770
28355 * config/aarch64/aarch64-simd.md (vec_store_lanesoi_lane<mode>,
28356 vec_store_lanesci_lane<mode>, vec_store_lanesxi_lane<mode>):
28357 Flip lane index back at assembly time for bigendian.
28358
28359 2015-04-29 Thomas Schwinge <thomas@codesourcery.com>
28360
28361 * tree.h (OMP_STANDALONE_CLAUSES): New macro.
28362 * gimplify.c (gimplify_omp_workshare): Use it.
28363
28364 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
28365
28366 * Makefile.in (build/genrecog.o): Depend on inchash.h.
28367 (build/genrecog$(build_exeext): Depend on build/hash-table.o and
28368 build/inchash.o
28369 * genrecog.c: Rewrite most of the code except for the third page.
28370
28371 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
28372
28373 * inchash.h, inchash.c: Include bconfig.h for build objects.
28374 * Makefile.in (build/inchash.o): New rule.
28375
28376 2015-04-29 Yvan Roux <yvan.roux@linaro.org>
28377
28378 PR target/65924
28379 * config/arm/thumb2.md (*thumb2_addsi3_compare0_scratch): Fix operand
28380 number in type attribute expression.
28381
28382 2015-04-29 Richard Sandiford <richard.sandiford@arm.com>
28383
28384 * loop-iv.c (canon_condition): Generalize to all types of integer
28385 constant.
28386
28387 2015-04-29 Bernhard Reuther-Fischer <aldot@gcc.gnu.org>
28388
28389 * gimple-walk.c: Prune duplicate or unneeded includes.
28390 (walk_gimple_asm): Only call parse_input_constraint or
28391 parse_output_constraint if their findings are used.
28392 Honour parse_input_constraint and parse_output_constraint
28393 result.
28394
28395 2015-04-29 Alan Lawrence <alan.lawrence@arm.com>
28396
28397 * config/arm/neon.md (vec_shl<mode>, vec_shr<mode>): Remove.
28398
28399 2015-04-29 Tom de Vries <tom@codesourcery.com>
28400
28401 PR tree-optimization/65893
28402 * passes.def (pass_all_optimizations): Move pass_stdarg to after
28403 pass_dce.
28404
28405 2015-04-29 Richard Biener <rguenther@suse.de>
28406
28407 * tree-vect-data-refs.c (vect_analyze_group_access): Properly
28408 compute GROUP_SIZE for basic-block SLP.
28409 * tree-vect-slp.c (vect_get_place_in_interleaving_chain): Properly
28410 take into account gaps.
28411 (vect_get_mask_element): Properly reject references to previous
28412 vectors.
28413 (vect_transform_slp_perm_load): Likewise.
28414
28415 2015-04-29 Christian Bruel <christian.bruel@st.com>
28416
28417 PR target/64835
28418 * config/i386/i386.c (ix86_default_align): New function.
28419 (ix86_override_options_after_change): Call ix86_default_align.
28420 (TARGET_OVERRIDE_OPTIONS_AFTER_CHANGE): New hook.
28421 (ix86_override_options_after_change): New function.
28422
28423 2015-04-28 Jeff Law <law@redhat.com>
28424
28425 * tree-ssa-dom.c (record_equality); Fix comment typos.
28426
28427 2015-04-28 Tom de Vries <tom@codesourcery.com>
28428
28429 PR tree-optimization/65887
28430 * gimplify.c (gimplify_modify_expr): Remove ifn_va_arg ap fixup.
28431
28432 2015-04-28 Sandra Loosemore <sandra@codesourcery.com>
28433
28434 * doc/extend.texi (Declaring Attributes of Functions): Split into
28435 subsections by target. Alphabetize the table of common attributes.
28436 Rewrite some of the introductory text to reflect the new structure.
28437 Update some cross-references to point to the new subsections.
28438 (Attribute Syntax): Put paragraph about "__" naming here. Remove
28439 duplicate copies in the discussion of function, label, and type
28440 attributes.
28441
28442 2015-04-28 Dominique d'Humieres <dominiq@lps.ens.fr>
28443
28444 PR bootstrap/65910
28445 * varasm.c (assemble_end_function): Guard ASM_DECLARE_FUNCTION_SIZE.
28446
28447 2015-04-28 Jason Merrill <jason@redhat.com>
28448
28449 PR c++/65734
28450 * stor-layout.c (layout_type): Layout the TYPE_MAIN_VARIANT.
28451 (finalize_type_size): Respect TYPE_USER_ALIGN.
28452 (layout_type) [ARRAY_TYPE]: Likewise.
28453
28454 2015-04-28 Yvan Roux <yvan.roux@linaro.org>
28455
28456 * config/arm/arm.md (*arm_movt): Fix type attribute.
28457 (*cmpsi_shiftsi): Likewise.
28458 (*cmpsi_shiftsi_swp): Likewise.
28459 (*movsicc_insn): Likewise.
28460 (*cond_move): Likewise.
28461 (*if_plus_move): Likewise.
28462 (*if_move_plus): Likewise.
28463 (*if_arith_move): Likewise.
28464 (*if_move_arith): Likewise.
28465 (*if_shift_move): Likewise.
28466 (*if_move_shift): Likewise.
28467 (*arm_movtas_ze): Likewise.
28468 * config/arm/thumb2.md (*thumb2_movsicc_insn): Fix alternative
28469 redundancy and type attribute.
28470 (*thumb2_movsi_insn): Fix type attribute.
28471 (*thumb2_addsi_short): Likewise.
28472 (thumb2_addsi3_compare0): Likewise.
28473 (*thumb2_addsi3_compare0_scratch): Merge alternatives and fix
28474 attributes accordingly.
28475
28476 2015-04-28 Markus Trippelsdorf <markus@trippelsdorf.de>
28477
28478 PR other/65911
28479 * function.c (pad_to_arg_alignment): Add parentheses.
28480
28481 2015-04-28 Uros Bizjak <ubizjak@gmail.com>
28482
28483 * config/frv/frv.h (CRT_GET_RFIB_DATA): Move definition to
28484 libgcc/config/frv/elf-lib.h.
28485
28486 2015-04-28 Tom de Vries <tom@codesourcery.com>
28487
28488 * tree-call-cdce.c: Fix example in header comment.
28489
28490 2015-04-28 Richard Biener <rguenther@suse.de>
28491
28492 PR tree-optimization/62283
28493 * tree-vect-slp.c (vect_build_slp_tree): When the SLP build
28494 fails fatally and we are vectorizing a basic-block simply
28495 cause the child to be constructed piecewise.
28496 (vect_analyze_slp_cost_1): Adjust.
28497 (vect_detect_hybrid_slp_stmts): Likewise.
28498 (vect_bb_slp_scalar_cost): Likewise.
28499 (vect_get_constant_vectors): For piecewise constructed
28500 constants place them after the last def.
28501 (vect_get_slp_defs): Adjust.
28502 * tree-vect-stmts.c (vect_is_simple_use): Detect in-BB
28503 externals for basic-block vectorization.
28504
28505 2015-04-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
28506
28507 PR target/63503
28508 * config.gcc: Add cortex-a57-fma-steering.o to extra_objs for
28509 aarch64-*-*.
28510 * config/aarch64/t-aarch64: Add a rule for cortex-a57-fma-steering.o.
28511 * config/aarch64/aarch64.h (AARCH64_FL_USE_FMA_STEERING_PASS): Define.
28512 (AARCH64_TUNE_FMA_STEERING): Likewise.
28513 * config/aarch64/aarch64-cores.def: Set
28514 AARCH64_FL_USE_FMA_STEERING_PASS for cores with dynamic steering of
28515 FMUL/FMADD instructions.
28516 * config/aarch64/aarch64.c (aarch64_register_fma_steering): Declare.
28517 (aarch64_override_options): Include cortex-a57-fma-steering.h. Call
28518 aarch64_register_fma_steering () if AARCH64_TUNE_FMA_STEERING is true.
28519 * config/aarch64/cortex-a57-fma-steering.h: New file.
28520 * config/aarch64/cortex-a57-fma-steering.c: Likewise.
28521
28522 2015-04-28 Richard Sandiford <richard.sandiford@arm.com>
28523
28524 * gensupport.c (std_preds): Add missing codes to address_operand entry.
28525
28526 2015-04-28 Richard Biener <rguenther@suse.de>
28527
28528 PR tree-optimization/65851
28529 * tree-ssa-ccp.c (set_lattice_value): Perform a meet when
28530 changing CONSTANT to CONSTANT non-copy. Get new_val by reference.
28531 (ccp_lattice_meet): Remove stray argument. Use operand_equal_p
28532 rather than simple_cst_equal as the latter doesn't handle COMPLEX_CST.
28533 (ccp_visit_phi_node): Adjust.
28534 (evaluate_stmt): For simplifications to SSA names return its
28535 lattice value if that isn't VARYING. Return immediately when
28536 simplified to a constant.
28537 (visit_assignment): Adjust.
28538 (ccp_visit_stmt): Likewise.
28539
28540 2015-04-28 Tom de Vries <tom@codesourcery.com>
28541
28542 PR tree-optimization/65818
28543 * tree-stdarg.c (expand_ifn_va_arg_1): Ensure that side-effects are
28544 evaluated.
28545
28546 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28547
28548 * calls.c (save_fixed_argument_area): Don't check
28549 ARGS_GROW_DOWNWARD with the preprocessor.
28550 (restore_fixed_argument_area): Likewise.
28551 (mem_overlaps_already_clobbered_arg_p): Likewise.
28552 (check_sibcall_argument_overlap): Likewise.
28553 (expand_call): Likewise.
28554 (emit_library_call_value_1): Likewise.
28555 (store_one_arg): Likewise.
28556 * function.c (assign_parms): Likewise.
28557 (locate_and_pad_parm): Likewise.
28558 (pad_to_arg_alignment): Likewise.
28559 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
28560
28561 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28562
28563 * config/pa/pa.h (ARGS_GROW_DOWNWARD): Define to 1.
28564 * defaults.h (ARGS_GROW_DOWNWARD): Define it to 0 by default.
28565 * calls.c (save_fixed_argument_area): Don't chekc if
28566 ARGS_GROW_DOWNWARD is defined.
28567 (restore_fixed_argument_area): Likewise.
28568 (mem_overlaps_already_clobbered_arg_p): Likewise.
28569 (check_sibcall_argument_overlap): Likewise.
28570 (expand_call): Likewise.
28571 (emit_library_call_value_1): Likewise.
28572 (store_one_arg): Likewise.
28573 * function.c (assign_parms): Likewise.
28574 (locate_and_pad_parm): Likewise.
28575 (pad_to_arg_alignment): Likewise.
28576 * targhooks.c (std_gimplify_va_arg_expr): Likewise.
28577
28578 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28579
28580 * defaults.h (gen_epilogue): New function.
28581 * alias.c (init_alias_analysis): don't check if HAVE_epilogue is
28582 defined.
28583 * cfgrtl.c (cfg_layout_finalize): Likewise.
28584 * df-scan.c: Likewise.
28585 * function.c (thread_prologue_and_epilogue_insns): Likewise.
28586 (reposition_prologue_and_epilogue_notes): Likewise.
28587 * reorg.c (find_end_label): Likewise.
28588 * toplev.c: Likewise.
28589
28590 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28591
28592 * bb-reorder.c (HAVE_return): Don't check if its undefined.
28593 * defaults.h (gen_simple_return): New function.
28594 (gen_simple_return): Likewise.
28595 (HAVE_return): Add default definition to false.
28596 (HAVE_simple_return): Likewise.
28597 * cfgrtl.c (force_nonfallthru_and_redirect): Remove checks if
28598 HAVE_return and HAVE_simple_return are defined.
28599 * function.c (gen_return_pattern): Likewise.
28600 (convert_jumps_to_returns): Likewise.
28601 (thread_prologue_and_epilogue_insns): Likewise.
28602 * reorg.c (find_end_label): Likewise.
28603 (dbr_schedule): Likewise.
28604 * shrink-wrap.c: Likewise.
28605 * shrink-wrap.h: Likewise.
28606
28607 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28608
28609 * defaults.h (EPILOGUE_USES): Add default definition of false.
28610 * df-scan.c (EPILOGUE_USES): Remove check if its undefined.
28611 * resource.c (init_resource_info): Likewise.
28612
28613 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28614
28615 * defaults.h (PCC_BITFIELD_TYPE_MATTERS): Add default definition
28616 to false.
28617 * dwarf2out.c (field_byte_offset): REmove check if
28618 PCC_BITFIELD_TYPE_MATTERS is defined.
28619 * stor-layout.c (layout_decl): Likewise.
28620 (update_alignment_for_field): Likewise.
28621 (place_field): Likewise.
28622
28623 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28624
28625 * defaults.h (HARD_REGNO_RENAME_OK): Add default definition to
28626 true.
28627 * regrename.c (check_new_reg_p): Remove check if
28628 HARD_REGNO_RENAME_OK is defined.
28629 * sel-sched.c (sel_hard_regno_rename_ok): Likewise.
28630
28631 2015-04-27 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
28632
28633 * calls.c (prepare_call_address): Remove ifdef NO_FUNCTION_CSE.
28634 * cse.c (fold_rtx): Likewise.
28635 * config/alpha/alpha.h (NO_FUNCTION_CSE): Define to 1.
28636 * config/arc/arc.h (NO_FUNCTION_CSE): Likewise.
28637 * config/avr/avr.h (NO_FUNCTION_CSE): Likewise.
28638 * config/cr16/cr16.h (NO_FUNCTION_CSE): Likewise.
28639 * config/epiphany/epiphany.h (NO_FUNCTION_CSE): Likewise.
28640 * config/frv/frv.h (NO_FUNCTION_CSE): Likewise.
28641 * config/h8300/h8300.h (NO_FUNCTION_CSE): Likewise.
28642 * config/i386/i386.h (NO_FUNCTION_CSE): Likewise.
28643 * config/ia64/ia64.h (NO_FUNCTION_CSE): Likewise.
28644 * config/lm32/lm32.h (enum reg_class) (NO_FUNCTION_CSE):
28645 * Likewise.
28646 * config/m32r/m32r.h (NO_FUNCTION_CSE): Likewise.
28647 * config/mep/mep.h (NO_FUNCTION_CSE): Likewise.
28648 * config/mn10300/mn10300.h (NO_FUNCTION_CSE): Likewise.
28649 * config/nds32/nds32.h (NO_FUNCTION_CSE): Likewise.
28650 * config/nios2/nios2.h (NO_FUNCTION_CSE): Likewise.
28651 * config/pa/pa.h (NO_FUNCTION_CSE): Likewise.
28652 * config/rs6000/rs6000.h (NO_FUNCTION_CSE): Likewise.
28653 * config/s390/s390.h (NO_FUNCTION_CSE): Likewise.
28654 * config/sparc/sparc.h (NO_FUNCTION_CSE): Likewise.
28655 * config/spu/spu.h (NO_FUNCTION_CSE): Likewise.
28656 * config/stormy16/stormy16.h (NO_FUNCTION_CSE): Likewise.
28657 * config/v850/v850.h (NO_FUNCTION_CSE): Likewise.
28658 * defaults.h (NO_FUNCTION_CSE): Provide default definition to 0.
28659 * doc/tm.texi: Regenerate.
28660 * doc/tm.texi.in: Document NO_FUNCTION_CSE is always defined to
28661 either true or false.
28662
28663 2015-04-27 Jeff Law <law@redhat.com>
28664
28665 PR tree-optimization/65217
28666 * tree-ssa-dom.c (record_equality): Given two SSA_NAMEs, if just one
28667 of them has a single use, make sure it is the LHS of the implied
28668 copy.
28669
28670 2015-04-28 Alan Modra <amodra@gmail.com>
28671
28672 PR target/65810
28673 * config/rs6000/rs6000.c (POWERPC64_TOC_POINTER_ALIGNMENT): Define.
28674 (offsettable_ok_by_alignment): Use minimum of decl and toc
28675 pointer alignment. Replace dead code with assertion.
28676 (use_toc_relative_ref): Add mode arg. Return false in -mcmodel=medium
28677 case if size exceeds toc pointer alignment.
28678 (rs6000_legitimize_reload_address): Update use_toc_relative_ref call.
28679 (rs6000_emit_move): Likewise.
28680 * configure.ac: Add linker toc pointer alignment check.
28681 * configure: Regenerate.
28682 * config.in: Regenerate.
28683
28684 2015-04-27 Yoshinori Sato <ysato@users.sourceforge.jp>
28685
28686 * config.gcc: Add h8300-*-linux.
28687 * config/h8300/linux.h: New.
28688 * config/h8300/t-linux: New.
28689 * config/h8300/h8300.c (h8300_option_override): Normal mode
28690 is not supported for h8300-*-linux.
28691 (h8300_file_start): Target priority change.
28692 (get_shift_alg): Likewise.
28693 (h8300_shift_need_scratch_p): Likewise.
28694 * config/h8300/h8300.h (TARGET_CPU_CPP_BUILTINS): Likewise.
28695 * config/h8300/h8300.md (define_peephole2): Remove duplicate condition.
28696
28697 2015-04-27 Caroline Tice <cmtice@google.com>
28698
28699 * final.c (final_scan_insn): Output cold_function_name as function
28700 type.
28701 * varasm.c (cold_function_name): Make global.
28702 (assemble_start_function): Re-set cold_function_name.
28703 (assemble_end_function): Output cold partition size.
28704 * varasm.h (cold_function_name): Declare global.
28705
28706 2015-04-27 Ilya Tocar <ilya.tocar@intel.com>
28707
28708 * config/i386/i386.h (EXT_REX_SSE_REG_P): New.
28709 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Use "v"
28710 constraint.
28711 (*movxi_internal_avx512f): Ditto.
28712 (define_split): Check for xmm16+, when splitting scalar float_extend.
28713 (*extendsfdf2_mixed): Use "v" constraint.
28714 (define_split): Check for xmm16+, when splitting scalar float_truncate.
28715 (*truncdfsf_fast_sse): Use "v" constraint.
28716 (fix_trunc<MODEF:mode><SWI48:mode>_sse): Ditto.
28717 (*float<SWI48:mode><MODEF:mode>2_sse): Ditto.
28718 (define_peephole2): Check for xmm16+, when converting scalar
28719 float_truncate.
28720 (define_peephole2): Check for xmm16+, when converting scalar
28721 float_extend.
28722 (*fop_<mode>_comm_mixed): Use "v" constraint.
28723 (*fop_<mode>_comm_sse): Ditto.
28724 (*fop_<mode>_1_mixed): Ditto.
28725 (*sqrt<mode>2_sse): Ditto.
28726 (*ieee_s<ieee_maxmin><mode>3): Ditto.
28727
28728 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28729
28730 * combine.c (simplify_if_then_else): Use std::swap instead
28731 of manually swapping.
28732 (known_cond): Likewise.
28733 (simplify_comparison): Likewise.
28734
28735 2015-04-27 Peter Bergner <bergner@vnet.ibm.com>
28736
28737 PR target/64579
28738 * config/rs6000/htm.md: Remove all define_expands.
28739 (UNSPECV_HTM_TABORTDC, UNSPECV_HTM_TABORTDCI, UNSPECV_HTM_TABORTWC,
28740 UNSPECV_HTM_TABORTWCI): Remove.
28741 (UNSPECV_HTM_TABORTXC, UNSPECV_HTM_TABORTXCI, UNSPECV_HTM_TTEST): New.
28742 (tabort_internal, tbegin_internal, tcheck_internal, tend_internal,
28743 trechkpt_internal, treclaim_internal, tsr_internal): Rename from this...
28744 (tabort, tbegin, tcheck, tend, trechkpt, treclaim, tsr): ...to this.
28745 (tabortdc_internal, tabortdci_internal, tabortwc_internal,
28746 tabortwci_internal): Remove define_insns.
28747 (tabort<wd>c, tabort<wd>ci): New define_insns.
28748 (tabort): Use gpc_reg_operand.
28749 (tcheck): Remove operand.
28750 (htm_mfspr_<mode>, htm_mtspr_<mode>): Use GPR mode macro.
28751 * config/rs6000/htmxlintrin.h (__TM_end): Use _HTM_TRANSACTIONAL as
28752 expected value.
28753 * config/rs6000/rs6000-builtin.def (BU_HTM_SPR0): Remove.
28754 (BU_HTM_SPR1): Rename to BU_HTM_V1. Remove use of RS6000_BTC_SPR.
28755 (tabort, tabortdc, tabortdci, tabortwc, tabortwci, tbegin,
28756 tcheck, tend, tendall, trechkpt, treclaim, tresume, tsuspend,
28757 tsr, ttest): Pass in the RS6000_BTC_CR attribute.
28758 (get_tfhar, set_tfhar, get_tfiar, set_tfiar, get_texasr, set_texasr,
28759 get_texasru, set_texasru): Pass in the RS6000_BTC_SPR attribute.
28760 (tcheck): Remove builtin argument.
28761 * config/rs6000/rs6000.c (rs6000_htm_spr_icode): Use TARGET_POWERPC64
28762 not TARGET_64BIT.
28763 (htm_expand_builtin): Fix usage of expandedp. Disallow usage of the
28764 tabortdc and tabortdci builtins when not in 64-bit mode.
28765 Modify code to handle the loss of the HTM define_expands.
28766 Emit code to copy the CR register to TARGET.
28767 (htm_init_builtins): Modify code to handle the loss of the HTM
28768 define_expands.
28769 * config/rs6000/rs6000.h (RS6000_BTC_32BIT): Delete.
28770 (RS6000_BTC_64BIT): Likewise.
28771 (RS6000_BTC_CR): New macro.
28772 * doc/extend.texi: Update documentation for htm builtins.
28773
28774 2015-04-27 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28775
28776 * simplify-rtx.c (simplify_gen_binary): Use std::swap instead
28777 of manually swapping.
28778 (simplify_associative_operation): Likewise.
28779 (simplify_binary_operation): Likewise.
28780 (simplify_plus_minus): Likewise.
28781 (simplify_relational_operation): Likewise.
28782 (simplify_ternary_operation): Likewise.
28783
28784 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
28785
28786 * config/stormy16/predicates.md (xs_hi_general_operand): Delete.
28787 (xs_hi_nonmemory_operand): Remove error.
28788 * config/stormy16/stormy16.md (movhi, movhi_internal): Use
28789 general_operand rather than xs_hi_general_operand.
28790
28791 2015-04-27 Richard Biener <rguenther@suse.de>
28792
28793 * tree-ssa-dom.c (record_equivalences_from_phis): Valueize PHI arg.
28794 (record_equivalences_from_stmt): Valueize rhs.
28795 (record_equality): Canonicalize x and y order via
28796 tree_swap_operands_p. Do not swap operands for same loop depth.
28797
28798 2015-04-27 Georg-Johann Lay <avr@gjlay.de>
28799
28800 PR target/65296
28801 PR target/65895
28802 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Close file.
28803 Add hint how to use own spec file.
28804
28805 2015-04-27 Jakub Jelinek <jakub@redhat.com>
28806
28807 PR tree-optimization/65875
28808 * tree-vrp.c (update_value_range): If in is_new case setting
28809 old_vr to VR_VARYING, also set new_vr to it. Remove
28810 old_vr->type == VR_VARYING test.
28811 (vrp_visit_phi_node): Return SSA_PROP_VARYING instead of
28812 SSA_PROP_INTERESTING if update_value_range returned true,
28813 but new range is VR_VARYING.
28814
28815 2015-04-27 Thomas Preud'homme <thomas.preudhomme@arm.com>
28816
28817 * combine.c (sign_extend_short_imm): New.
28818 (set_nonzero_bits_and_sign_copies): Use above new function for sign
28819 extension of src short immediate.
28820 (reg_nonzero_bits_for_combine): Likewise for tem.
28821
28822 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
28823
28824 * stor-layout.c (self_referential_component_ref_p): New predicate.
28825 (copy_self_referential_tree_r): Use it.
28826 (self_referential_size): Punt for simple operations directly involving
28827 self-referential component references.
28828 * tree-cfg.c (dump_function_to_file): Add missing final curly bracket.
28829
28830 2015-04-27 Eric Botcazou <ebotcazou@adacore.com>
28831
28832 * ipa-icf.c (icf_handled_component_p): Remove redundant tests.
28833
28834 2015-04-27 Richard Sandiford <richard.sandiford@arm.com>
28835
28836 * vec.h (vec): Make splice arguments const. Update definitions
28837 accordingly.
28838
28839 2015-04-27 Yvan Roux <yvan.roux@linaro.org>
28840
28841 * config/arm/arm.md (*arm_subsi3_insn): Fixed redundant
28842 alternatives.
28843
28844 2015-04-26 Tom de Vries <tom@codesourcery.com>
28845
28846 PR tree-optimization/65826
28847 * internal-fn.def: Mark VA_ARG with ECF_LEAF.
28848
28849 2015-04-24 Steve Ellcey <sellcey@imgtec.com>
28850
28851 * config/mips/mips.md: (*madd4<mode>) Remove accum_in attribute.
28852 (*madd3<mode>): Ditto.
28853 (*msub4<mode>): Ditto.
28854 (*msub3<mode>): Ditto.
28855 (*nmadd4<mode>): Ditto.
28856 (*nmadd3<mode>): Ditto.
28857 (*nmadd4<mode>_fastmath): Ditto.
28858 (*nmadd3<mode>_fastmath): Ditto.
28859 (*nmsub4<mode>): Ditto.
28860 (*nmsub3<mode>): Ditto.
28861 (*nmsub4<mode>_fastmath): Ditto.
28862 (*nmsub3<mode>_fastmath): Ditto.
28863
28864 2015-04-24 Jason Merrill <jason@redhat.com>
28865
28866 PR c++/50800
28867 * tree.c (build_reference_type_for_mode): Don't pass can_alias_all
28868 down when building TYPE_CANONICAL.
28869 (build_pointer_type_for_mode): Likewise.
28870
28871 2015-04-24 Chen Gang <gang.chen.5i5j@gmail.com>
28872
28873 * genrecog.c (validate_pattern): Check matching constraint refers
28874 to a lower numbered operand.
28875
28876 2015-04-24 Michael Meissner <meissner@linux.vnet.ibm.com>
28877
28878 PR target/65849
28879 * config/rs6000/rs6000.opt (-mvsx-align-128): Make options that
28880 save to independent variables use the Save attribute. This will
28881 allow these options to be modified with the #pragma/attribute
28882 target support.
28883 (-mallow-movmisalign): Likewise.
28884 (-mallow-df-permute): Likewise.
28885 (-msched-groups): Likewise.
28886 (-malways-hint): Likewise.
28887 (-malign-branch-targets): Likewise.
28888 (-mvectorize-builtins): Likewise.
28889 (-msave-toc-indirect): Likewise.
28890
28891 * config/rs6000/rs6000.c (rs6000_opt_masks): Add more options that
28892 can be set via the #pragma/attribute target support.
28893 (rs6000_opt_vars): Likewise.
28894 (rs6000_inner_target_options): If VSX was set, also set
28895 -mno-avoid-indexed-addresses.
28896
28897 2015-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28898
28899 * config/arm/iterators.md (shiftable_ops): Rename to...
28900 (SHIFTABLE_OPS): ... This. Update use in comments.
28901 (ior_xor): Rename to...
28902 (IOR_XOR): ... This.
28903 (vqh_ops): Rename to...
28904 (VQH_OPS): ... This.
28905 (vqhs_ops): Rename to...
28906 (VQHS_OPS): ... This.
28907 (rshifts): Rename to...
28908 (RSHIFTS): ... This.
28909 (returns): Rename to...
28910 (RETURNS): ... This.
28911 * config/arm/arm.md: Update uses of the above.
28912 * config/arm/neon.md: Likewise.
28913
28914 2014-04-24 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
28915
28916 * config.host (case ${host}): Add aarch64*-*-linux case.
28917 * config/aarch64/aarch64-cores.def: Add IMPLEMENTER_ID and PART_NUMBER
28918 fields to all the cores.
28919 * config/aarch64/aarch64-elf.h (DRIVER_SELF_SPECS):
28920 Add MCPU_MTUNE_NATIVE_SPECS.
28921 * config/aarch64/aarch64-option-extensions.def: Add FEATURE_STRING
28922 field to all extensions.
28923 * config/aarch64/aarch64-opts.h: Adjust definition of AARCH64_CORE.
28924 * config/aarch64/aarch64.c: Adjust definition of AARCH64_CORE.
28925 Adjust definition of AARCH64_OPT_EXTENSION.
28926 * config/aarch64/aarch64.h: Adjust definition of AARCH64_CORE.
28927 (MCPU_MTUNE_NATIVE_SPECS): Define.
28928 * config/aarch64/driver-aarch64.c: New file.
28929 * config/aarch64/x-arch64: New file.
28930 * doc/invoke.texi (AArch64 Options): Document native value for -mcpu,
28931 -mtune and -march.
28932
28933 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28934 Wei Mi <wmi@google.com>
28935
28936 * config/i386/i386-protos.h (ix86_operands_ok_for_move_multiple): New.
28937 * config/i386/i386.c (extract_base_offset_in_addr): New function.
28938 (ix86_operands_ok_for_move_multiple): Ditto.
28939 * config/i386/sse.md (movsd/movhpd to movupd peephole2): New pattern.
28940 (movlpd/movhpd to movupd peephole2): Ditto.
28941
28942 2015-04-24 Marek Polacek <polacek@redhat.com>
28943
28944 PR c/61534
28945 * input.h (from_macro_expansion_at): Define.
28946
28947 PR c/63357
28948 * doc/invoke.texi: Update description of -Wlogical-op.
28949
28950 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
28951
28952 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL): fix
28953 ternary operator in fprintf and harmonize spacing.
28954
28955 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28956
28957 * config/i386/sse.md (*vec_widen_smult_even_v8si<mask_name>):
28958 Mark operand1 commutative.
28959
28960 2015-04-24 Uros Bizjak <ubizjak@gmail.com>
28961
28962 * config/i386/sse.md (*vec_concatv2sf_sse4_1): Do not allow both
28963 input operands in memory.
28964 (*vec_concatv2si_sse4_1): Ditto.
28965 (*vec_concatv2df): Ditto, except for SSE3 and equal input operands.
28966 (vec_extract_lo_<mode><mask_name>): Change operand 1 predicate to
28967 register_operand.
28968 (vec_extract_hi_v32hi): Ditto.
28969 (vec_extract_hi_v64hi): Ditto.
28970 (<mask_codefor>avx512f_unpckhpd512<mask_name>): Ditto.
28971
28972 2015-04-24 Thomas Preud'homme <thomas.preudhomme@arm.com>
28973 Steven Bosscher <steven@gcc.gnu.org>
28974
28975 PR rtl-optimization/34503
28976 * cprop.c (cprop_reg_p): New.
28977 (hash_scan_set): Use above function to check if register can be
28978 propagated.
28979 (find_avail_set): Return up to two sets, one whose source is a
28980 register and one whose source is a constant. Sets are returned in an
28981 array passed as parameter rather than as a return value.
28982 (cprop_insn): Use a do while loop rather than a goto. Try each of the
28983 sets returned by find_avail_set, starting with the one whose source is
28984 a constant. Use cprop_reg_p to check if register can be propagated.
28985 (do_local_cprop): Use cprop_reg_p to check if register can be
28986 propagated.
28987 (implicit_set_cond_p): Likewise.
28988
28989 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
28990
28991 * ipa-icf.c (sem_function::equals_wpa): Compare thunk info.
28992 (sem_function::equals): IGNORED_NODES parameter is now unused;
28993 update call of equals_private.
28994 (sem_function::equals_private): Do not call equals_wpa; skip
28995 gimple body matching if there is no body.
28996 (sem_function::init): Add logic to hash tthunk info.
28997 (sem_function::parse): Also parse thunks.
28998 * ipa-icf.h (equals_private): Update declaration.
28999
29000 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29001
29002 * config/rs6000/altivec.md (*altivec_lvx_<mode>_internal): Remove
29003 asterisk from name so this can be generated directly.
29004 (*altivec_stvx_<mode>_internal): Likewise.
29005 * config/rs6000/rs6000.c (rs6000_emit_le_vsx_store): Add assert
29006 that this is never called during or after reload/lra.
29007 (rs6000_frame_related): Remove split_reg
29008 argument and logic that references it.
29009 (emit_frame_save): Remove last parameter from call to
29010 rs6000_frame_related.
29011 (rs6000_emit_prologue): Remove last parameter from eight calls to
29012 rs6000_frame_related. Force generation of stvx instruction for
29013 Altivec register saves. Remove split_reg handling, which is no
29014 longer needed.
29015 (rs6000_emit_epilogue): Force generation of lvx instruction for
29016 Altivec register restores.
29017
29018 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29019
29020 * config/rs6000/rs6000.opt (mcrypto): Change option description to
29021 match category changes in ISA 2.07B.
29022
29023 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29024
29025 * config/arm/iterators.md (GTGE, GTUGEU, COMPARISONS): New code
29026 iterators.
29027 (cmp_op, cmp_type): New code attributes.
29028 (NEON_VCMP, NEON_VACMP): New int iterators.
29029 (cmp_op_unsp): New int attribute.
29030 * config/arm/neon.md (neon_vc<cmp_op><mode>): New define_expand.
29031 (neon_vceq<mode>): Delete.
29032 (neon_vc<cmp_op><mode>_insn): New pattern.
29033 (neon_vc<cmp_op_unsp><mode>_insn_unspec): Likewise.
29034 (neon_vcgeu<mode>): Delete.
29035 (neon_vcle<mode>): Likewise.
29036 (neon_vclt<mode>: Likewise.
29037 (neon_vcage<mode>): Likewise.
29038 (neon_vcagt<mode>): Likewise.
29039 (neon_vca<cmp_op><mode>): New define_expand.
29040 (neon_vca<cmp_op><mode>_insn): New pattern.
29041 (neon_vca<cmp_op_unsp><mode>_insn_unspec): Likewise.
29042
29043 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
29044
29045 * tree.h (attribute_value_equal): Declare.
29046 * tree.c (attribute_value_equal): Export.
29047
29048 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
29049
29050 * ipa-icf.c (sem_item::compare_attributes): New function.
29051 (sem_item::compare_referenced_symbol_properties): Compare variable
29052 attributes.
29053 (sem_item::hash_referenced_symbol_properties): Record DECL_ALIGN.
29054 (sem_function::param_used_p): New function.
29055 (sem_function::equals_wpa): Fix attribute comparsion; match
29056 parameter type codes; do not compare paremter flags when
29057 they are not used; compare edge flags; compare indirect calls.
29058 (sem_item::update_hash_by_addr_refs): Hash reference type.
29059 (sem_function::equals_private): Do not match DECL_ATTRIBUTES.
29060 (sem_variable::equals_wpa): Do not match DECL_ALIGN; match
29061 reference use type.
29062 (sem_item_optimizer::update_hash_by_addr_refs): Use param_used_p.
29063 * ipa-icf.h (compare_attributes, param_used_p): Declare.
29064
29065 2015-04-23 Jan Hubicka <hubicka@ucw.cz>
29066
29067 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection):
29068 cleanup.
29069 (sem_function::get_hash): Do not hash DECL_DISREGARD_INLINE_LIMITS,
29070 DECL_DECLARED_INLINE_P and DECL_IS_OPERATOR_NEW.
29071 (sem_item::compare_referenced_symbol_properties): New.
29072 (sem_item::hash_referenced_symbol_properties): New.
29073 (sem_item::compare_cgraph_references): Rename to ...
29074 (sem_item::compare_symbol_references): ... this one; use
29075 compare_referenced_symbol_properties.
29076 (sem_function::equals_wpa): Do not compare
29077 DECL_DISREGARD_INLINE_LIMITS, DECL_DECLARED_INLINE_P,
29078 DECL_IS_OPERATOR_NEW; compare pointer sizes.
29079 (sem_item::update_hash_by_addr_refs): Call
29080 hash_referenced_symbol_properties.
29081 (sem_item::update_hash_by_local_refs): Cleanup.
29082 (sem_function::merge): Do not mix up symbol properties.
29083 (sem_variable::equals_wpa): Use compare_symbol_references.
29084 * ipa-icf.h (sem_item::compare_referenced_symbol_properties): New.
29085 (sem_item::hash_referenced_symbol_properties): New.
29086 (sem_item::compare_symbol_references): New.
29087 (sem_item::compare_cgraph_references): Remove.
29088
29089 2015-04-23 Kwok Cheung Yeung <kcy@codesourcery.com>
29090
29091 PR target/26702
29092 * config/arm/unknown-elf.h (ASM_OUTPUT_ALIGNED_DECL_LOCAL):
29093 Emit size of local.
29094
29095 2015-04-23 Nick Clifton <nickc@redhat.com>
29096
29097 * config/rl78/rl78.c (rl78_preferred_reload_class): Add
29098 ATTRIBUTE_UNUSED to x parameter.
29099 * config/rl78/rl78-opts.h (enum rl78_mul_types): Remove unused MUL_RL78.
29100
29101 2015-04-23 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29102
29103 * config/rs6000/crypto.md (crypto_vpmsum<CR_char>): Change
29104 TARGET_CRYPTO to TARGET_P8_VECTOR>
29105 (crypto_vpermxor_<mode>): Likewise.
29106 * config/rs6000/rs6000-builtin.def (BU_CRYPTO_2A): New #define.
29107 (BU_CRYPTO_3A): Likewise.
29108 (BU_CRYPTO_OVERLOAD_2A): Rename from BU_CRYPTO_OVERLOAD_2.
29109 (BU_CRYPTO_OVERLOAD_3A): New #define.
29110 (VPMSUMB): Change from BU_CRYPTO_2 to BU_CRYPTO_2A.
29111 (VPMSUMH): Likewise.
29112 (VPMSUMW): Likewise.
29113 (VPMSUMD): Likewise.
29114 (VPERMXOR_V2DI): Change from BU_CRYPTO_3 to BU_CRYPTO_3A.
29115 (VPERMXOR_V4SI): Likewise.
29116 (VPERMXOR_V8HI): Likewise.
29117 (VPERMXOR_V16QI): Likewise.
29118 (VPMSUM): Change from BU_CRYPTO_OVERLOAD_2 to
29119 BU_CRYPTO_OVERLOAD_2A.
29120 (VPERMXOR): Change from BU_CRYPTO_OVERLOAD3 to
29121 BU_CRYPTO_OVERLOAD_3A.
29122 * config/rs6000/rs6000.opt (mcrypto): Change description of
29123 option.
29124
29125 2015-04-23 Richard Biener <rguenther@suse.de>
29126
29127 * passes.def: Remove copy propagation passes run directly after CCP.
29128 * tree-ssa-ccp.c (get_value_for_expr): Fall back to a COPY for
29129 SSA names.
29130 (ccp_visit_phi_node): Rework to handle first executable edge
29131 specially.
29132
29133 2015-04-23 Matthew Wahab <matthew.wahab@arm.com>
29134
29135 * config/arm/arm.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
29136 (ARM_LEGITIMIZE_RELOAD_ADDRESS): Remove.
29137 (THUMB_LEGITIMIZE_RELOAD_ADDRESS): Remove.
29138 * config/arm/arm.c (arm_legimitimize_reload_address): Remove.
29139 (thumb_legimitimize_reload_address): Remove.
29140 * config/arm/arm-protos.h (arm_legimitimize_reload_address):
29141 Remove.
29142 (thumb_legimitimize_reload_address): Remove.
29143
29144 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29145
29146 * conditions.h (CC_STATUS_INIT): Gate on #ifndef CC_STATUS_INIT.
29147
29148 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29149
29150 * config/arm/arm.md (load_multiple): Reject operand 2 greater than
29151 MAX_LDM_STM_OPS.
29152 (store_multiple): Likewise.
29153
29154 2015-04-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29155
29156 * config/arm/arm-protos.h (struct tune_params): Add issue_rate field.
29157 * config/arm/arm.c (arm_slowmul_tune, arm_fastmul_tune,
29158 arm_strongarm_tune, arm_xscale_tune, arm_9e_tune, arm_v6t2_tune,
29159 arm_cortex_tune, arm_cortex_a8_tune, arm_cortex_a7_tune,
29160 arm_cortex_a15_tune, arm_cortex_a53_tune, arm_cortex_a57_tune,
29161 arm_cortex_a9_tune, arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune,
29162 arm_fa726te_tune arm_cortex_a5_tune, arm_xgene1_tune):
29163 Specify issue_rate value.
29164 (arm_issue_rate): Look up issue rate from tuning structs. Remove
29165 large switch statement.
29166 (arm_marvell_pj4_tune): New struct.
29167 * config/arm/arm-cores.def (marvell-pj4): Use arm_marvell_pj4_tune
29168 struct.
29169
29170 2015-04-23 Richard Biener <rguenther@suse.de>
29171
29172 * tree-vect-slp.c (vect_find_first_load_in_slp_instance): Remove.
29173 (vect_find_last_store_in_slp_instance): Rename to ...
29174 (vect_find_last_scalar_stmt_in_slp): ... this and generalize.
29175 (vect_analyze_slp_cost_1): Use vector_load for constant defs
29176 and vec_construct for external defs when estimating prologue cost.
29177 (vect_analyze_slp_instance): Do not init SLP_INSTANCE_FIRST_LOAD_STMT.
29178 Compute costs here only when vectorizing loops.
29179 (vect_slp_analyze_bb_1): Compute SLP cost here, after vector types
29180 have been determined.
29181 (vect_schedule_slp_instance): Simplify vectorized code placement
29182 and prepare for in-BB external defs.
29183 * tree-vectorizer.h (struct _slp_instance): Remove first_load member.
29184 (SLP_INSTANCE_FIRST_LOAD_STMT): Remove.
29185 * tree-vect-stmts.c (vect_model_store_cost): Remove PURE_SLP_STMT
29186 guard.
29187 (vect_model_load_cost): Likewise.
29188 (vectorizable_store): Instead add it here.
29189 (vectorizable_load): Likewise.
29190 (vect_is_simple_use): Dump def type textually.
29191
29192 2015-04-23 Richard Biener <rguenther@suse.de>
29193
29194 * cfgexpand.c (expand_gimple_stmt_1): Use ops.code.
29195 * cfgloop.c (verify_loop_structure): Verify the root loop node.
29196 * except.c (duplicate_eh_regions): Call get_eh_region_from_lp_number_fn
29197 instead of get_eh_region_from_lp_number.
29198 * loop-init.c (fix_loop_structure): If we removed a loop, reset
29199 the SCEV cache.
29200
29201 2015-04-23 Anton Blanchard <anton@samba.org>
29202
29203 * config/rs6000/rs6000.c (rs6000_output_function_prologue): No
29204 need for -mprofile-kernel to save LR to stack.
29205
29206 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29207
29208 * config/rs6000/rs6000.c (rtx_is_swappable_p): Commentary
29209 adjustments.
29210 (insn_is_swappable_p): Return 1 for a convert from double to
29211 single precision when all of its uses are splats of BE element
29212 zero.
29213
29214 2015-04-23 Kugan Vivekanandarajah <kuganv@linaro.org>
29215
29216 * ira-costs.c (record_operand_costs): Fix typo (remove redundant code).
29217
29218 2015-04-22 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29219
29220 PR target/65456
29221 * config/rs6000/rs6000.c (rs6000_option_override_internal): For
29222 VSX + POWER8, enable TARGET_ALLOW_MOVMISALIGN and
29223 TARGET_EFFICIENT_UNALIGNED_VSX if not selected by command line
29224 option.
29225 (rs6000_builtin_mask_for_load): Return 0 for targets with
29226 efficient unaligned VSX accesses so that the vectorizer will use
29227 direct unaligned loads.
29228 (rs6000_builtin_support_vector_misalignment): Always return true
29229 for targets with efficient unaligned VSX accesses.
29230 (rs6000_builtin_vectorization_cost): Cost of unaligned loads and
29231 stores on targets with efficient unaligned VSX accesses is almost
29232 always the same as the cost of an aligned load or store, so model
29233 it that way.
29234 * config/rs6000/rs6000.h (SLOW_UNALIGNED_ACCESS): Return 0 for
29235 unaligned vectors if we have efficient unaligned VSX accesses.
29236 * config/rs6000/rs6000.opt (mefficient-unaligned-vector): New
29237 undocumented option.
29238
29239 2015-04-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29240
29241 Revert:
29242 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
29243
29244 * config.gcc (LIBC_MUSL): New tm_defines macro.
29245 * config/linux.h (OPTION_MUSL): Define.
29246 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
29247 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
29248 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
29249
29250 * config/linux.opt (mmusl): New option.
29251 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
29252 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
29253
29254 * configure: Regenerate.
29255
29256 2015-04-22 Gregor Richards <gregor.richards@uwaterloo.ca>
29257
29258 * config.gcc (LIBC_MUSL): New tm_defines macro.
29259 * config/linux.h (OPTION_MUSL): Define.
29260 (INCLUDE_DEFAULTS_MUSL_GPP, INCLUDE_DEFAULTS_MUSL_LOCAL,)
29261 (INCLUDE_DEFAULTS_MUSL_PREFIX, INCLUDE_DEFAULTS_MUSL_CROSS,)
29262 (INCLUDE_DEFAULTS_MUSL_TOOL, INCLUDE_DEFAULTS_MUSL_NATIVE): Define.
29263
29264 * config/linux.opt (mmusl): New option.
29265 * configure.ac (gcc_cv_libc_provides_ssp): Add *-*-musl*.
29266 (gcc_cv_target_dl_iterate_phdr): Add *-linux-musl*.
29267
29268 * configure: Regenerate.
29269
29270 2015-04-22 Yury Gribov <y.gribov@samsung.com>
29271
29272 * doc/invoke.texi (-fsanitize-sections): Update description.
29273 * asan.c (set_sanitized_sections): Parse incoming arg.
29274 (section_sanitized_p): Support wildcards.
29275
29276 2015-04-22 Tom de Vries <tom@codesourcery.com>
29277
29278 PR tree-optimization/65823
29279 * gimplify.c (gimplify_modify_expr): Use operand_equal_p to test for
29280 equality between ap_copy and ap.
29281
29282 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29283
29284 PR target/47098
29285 * config/openbsd-oldgas.h (OBSD_LIB_SPEC): Add.
29286
29287 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29288
29289 PR target/47122
29290 * config.gcc (vax-*-openbsd*): Fix name of pthread spec header.
29291
29292 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29293
29294 PR target/55144
29295 * config.gcc (bfin*-linux-uclibc*): Prepend tmake_file and
29296 remove already contained t-files.
29297
29298 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29299
29300 * tree-tailcall.c (suitable_for_tail_opt_p, find_tail_calls):
29301 Remove unneeded forward declarations.
29302 (suitable_for_tail_call_opt_p): Commentary typo fix.
29303
29304 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29305
29306 * varasm.c (emit_bss): Remove redundant guard.
29307
29308 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29309
29310 * config/c6x/c6x.h (TARGET_CPU_CPP_BUILTINS): Add unk_isa.
29311
29312 2015-04-22 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
29313
29314 * config/bfin/bfin.h (TARGET_CPU_CPP_BUILTINS): Add BFIN_CPU_UNKNOWN.
29315
29316 2015-04-22 Hale Wang <hale.wang@arm.com>
29317 Terry Guo <terry.guo@arm.com>
29318
29319 PR rtl-optimization/64818
29320 * combine.c (can_combine_p): Don't combine user-specified
29321 register if it is in an asm input.
29322
29323 2015-04-21 Jan Hubicka <hubicka@ucw.cz>
29324
29325 PR ipa/65076
29326 * passes.def (early_optimizations): Add pass_dse.
29327
29328 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29329
29330 * defaults.h (INSN_REFERENCES_ARE_DELAYED): New definition.
29331 * reorg.c (redundant_insn): Remove ifdef
29332 INSN_REFERENCES_ARE_DELAYED.
29333 * resource.c (mark_referenced_resources): Likewise.
29334
29335 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29336
29337 * defaults.h (INSN_SETS_ARE_DELAYED): New definition.
29338 * reorg.c (redundant_insn): Remove ifdef INSN_SETS_ARE_DELAYED.
29339 * resource.c (mark_set_resources): Likewise.
29340
29341 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29342
29343 * caller-save.c (insert_one_insn): Remove ifdef HAVE_cc0.
29344 * cfgcleanup.c (flow_find_cross_jump): Likewise.
29345 (flow_find_head_matching_sequence): Likewise.
29346 (try_head_merge_bb): Likewise.
29347 * combine.c (can_combine_p): Likewise.
29348 (try_combine): Likewise.
29349 (distribute_notes): Likewise.
29350 * df-problems.c (can_move_insns_across): Likewise.
29351 * final.c (final): Likewise.
29352 * gcse.c (insert_insn_end_basic_block): Likewise.
29353 * ira.c (find_moveable_pseudos): Likewise.
29354 * reorg.c (try_merge_delay_insns): Likewise.
29355 (fill_simple_delay_slots): Likewise.
29356 (fill_slots_from_thread): Likewise.
29357 * sched-deps.c (sched_analyze_2): Likewise.
29358
29359 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29360
29361 * df-scan.c (df_get_entry_block_def_set): Remove #ifdef
29362 PIC_OFFSET_TABLE_REGNUM.
29363
29364 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29365
29366 * alias.c (init_alias_target): Remove ifdef
29367 * HARD_FRAME_POINTER_IS_FRAME_POINTER.
29368 * df-scan.c (df_insn_refs_collect): Likewise.
29369 (df_get_regular_block_artificial_uses): Likewise.
29370 (df_get_eh_block_artificial_uses): Likewise.
29371 (df_get_entry_block_def_set): Likewise.
29372 (df_get_exit_block_use_set): Likewise.
29373 * emit-rtl.c (gen_rtx_REG): Likewise.
29374 * ira.c (ira_setup_eliminable_regset): Likewise.
29375 * reginfo.c (init_reg_sets_1): Likewise.
29376 * regrename.c (rename_chains): Likewise.
29377 * reload1.c (reload): Likewise.
29378 (eliminate_regs_in_insn): Likewise.
29379 * resource.c (mark_referenced_resources): Likewise.
29380 (init_resource_info): Likewise.
29381
29382 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29383
29384 * defaults.h (MASK_RETURN_ADDR): New definition.
29385 * except.c (expand_builtin_extract_return_addr): Remove ifdef
29386 MASK_RETURN_ADDR.
29387
29388 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29389
29390 * defaults.h (RETURN_ADDR_OFFSET): New definition.
29391 * except.c (expand_builtin_extract_return_addr): Remove ifdef
29392 RETURN_ADDR_OFFSET.
29393 (expand_builtin_frob_return_addr): Likewise.
29394
29395 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29396
29397 * cfgrtl.c (rtl_merge_blocks): Change #if HAVE_cc0 to if (HAVE_cc0)
29398 (try_redirect_by_replacing_jump): Likewise.
29399 (rtl_tidy_fallthru_edge): Likewise.
29400 * combine.c (insn_a_feeds_b): Likewise.
29401 (find_split_point): Likewise.
29402 (simplify_set): Likewise.
29403 * cprop.c (cprop_jump): Likewise.
29404 * cse.c (cse_extended_basic_block): Likewise.
29405 * df-problems.c (can_move_insns_across): Likewise.
29406 * function.c (emit_use_return_register_into_block): Likewise.
29407 * haifa-sched.c (sched_init): Likewise.
29408 * ira.c (find_moveable_pseudos): Likewise.
29409 * loop-invariant.c (find_invariant_insn): Likewise.
29410 * lra-constraints.c (curr_insn_transform): Likewise.
29411 * postreload.c (reload_combine_recognize_const_pattern):
29412 * Likewise.
29413 * reload.c (find_reloads): Likewise.
29414 * reorg.c (delete_scheduled_jump): Likewise.
29415 (steal_delay_list_from_target): Likewise.
29416 (steal_delay_list_from_fallthrough): Likewise.
29417 (redundant_insn): Likewise.
29418 (fill_simple_delay_slots): Likewise.
29419 (fill_slots_from_thread): Likewise.
29420 (delete_computation): Likewise.
29421 * sched-rgn.c (add_branch_dependences): Likewise.
29422
29423 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29424
29425 * genconfig.c (main): Always define HAVE_cc0.
29426 * caller-save.c (insert_one_insn): Change ifdef HAVE_cc0 to #if
29427 HAVE_cc0.
29428 * cfgcleanup.c (flow_find_cross_jump): Likewise.
29429 (flow_find_head_matching_sequence): Likewise.
29430 (try_head_merge_bb): Likewise.
29431 * cfgrtl.c (rtl_merge_blocks): Likewise.
29432 (try_redirect_by_replacing_jump): Likewise.
29433 (rtl_tidy_fallthru_edge): Likewise.
29434 * combine.c (do_SUBST_MODE): Likewise.
29435 (insn_a_feeds_b): Likewise.
29436 (combine_instructions): Likewise.
29437 (can_combine_p): Likewise.
29438 (try_combine): Likewise.
29439 (find_split_point): Likewise.
29440 (subst): Likewise.
29441 (simplify_set): Likewise.
29442 (distribute_notes): Likewise.
29443 * cprop.c (cprop_jump): Likewise.
29444 * cse.c (cse_extended_basic_block): Likewise.
29445 * df-problems.c (can_move_insns_across): Likewise.
29446 * final.c (final): Likewise.
29447 (final_scan_insn): Likewise.
29448 * function.c (emit_use_return_register_into_block): Likewise.
29449 * gcse.c (insert_insn_end_basic_block): Likewise.
29450 * haifa-sched.c (sched_init): Likewise.
29451 * ira.c (find_moveable_pseudos): Likewise.
29452 * loop-invariant.c (find_invariant_insn): Likewise.
29453 * lra-constraints.c (curr_insn_transform): Likewise.
29454 * optabs.c (prepare_cmp_insn): Likewise.
29455 * postreload.c (reload_combine_recognize_const_pattern):
29456 * Likewise.
29457 * reload.c (find_reloads): Likewise.
29458 (find_reloads_address_1): Likewise.
29459 * reorg.c (delete_scheduled_jump): Likewise.
29460 (steal_delay_list_from_target): Likewise.
29461 (steal_delay_list_from_fallthrough): Likewise.
29462 (try_merge_delay_insns): Likewise.
29463 (redundant_insn): Likewise.
29464 (fill_simple_delay_slots): Likewise.
29465 (fill_slots_from_thread): Likewise.
29466 (delete_computation): Likewise.
29467 (relax_delay_slots): Likewise.
29468 * sched-deps.c (sched_analyze_2): Likewise.
29469 * sched-rgn.c (add_branch_dependences): Likewise.
29470
29471 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29472
29473 * combine.c (find_single_use): Remove HAVE_cc0 ifdef for code
29474 that is trivially ded on non cc0 targets.
29475 (simplify_set): Likewise.
29476 (mark_used_regs_combine): Likewise.
29477 * cse.c (new_basic_block): Likewise.
29478 (fold_rtx): Likewise.
29479 (cse_insn): Likewise.
29480 (cse_extended_basic_block): Likewise.
29481 (set_live_p): Likewise.
29482 * rtlanal.c (canonicalize_condition): Likewise.
29483 * simplify-rtx.c (simplify_binary_operation_1): Likewise.
29484
29485 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29486
29487 * conditions.h: Define macros even if HAVE_cc0 is undefined.
29488 * emit-rtl.c: Define functions even if HAVE_cc0 is undefined.
29489 * final.c: Likewise.
29490 * jump.c: Likewise.
29491 * recog.c: Likewise.
29492 * recog.h: Declare functions even when HAVE_cc0 is undefined.
29493 * sched-deps.c (sched_analyze_2): Always compile case for cc0.
29494
29495 2015-04-21 Trevor Saunders <tbsaunde+gcc@tbsaunde.org>
29496
29497 * defaults.h: New definition of EH_RETURN_DATA_REGNO.
29498 * except.c: Remove definition of EH_RETURN_DATA_REGNO.
29499 * builtins.c (expand_builtin): Remove check if
29500 EH_RETURN_DATA_REGNO is defined.
29501 * df-scan.c (df_bb_refs_collect): Likewise.
29502 (df_get_exit_block_use_set): Likewise.
29503 * haifa-sched.c (initiate_bb_reg_pressure_info): Likewise.
29504 * ira-lives.c (process_bb_node_lives): Likewise.
29505 * lra-lives.c (process_bb_lives): Likewise.
29506
29507 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
29508
29509 * config/i386/i386.md (ARGP_REG, FRAME_REG, BND2_REG, BND3_REG,
29510 FIRST_PSEUDO_REG): New.
29511 * config/i386/i386.h (STACK_POINTER_REGNUM): Define to SP_REG.
29512 (ARG_POINTER_REGNUM): Define to ARGP_REG.
29513 (FRAME_POINTER_REGNUM): Define to FRAME_REG.
29514 (HARD_FRAME_POINTER_REGNUM): Define to BP_REG.
29515 (FIRST_PSEUDO_REGISTER): Define to FIRST_PSEUDO_REG.
29516 (FIRST_INT_REG): New.
29517 (LAST_INT_REG): New.
29518 (FIRST_*_REG): Define using *_REG.
29519 (LAST_*_REG): Ditto.
29520 (QI_REGNO_P): Define using FIRST_QU_REG and LAST_QI_REG.
29521 (LEGACY_INT_REGNO_P): Define using FIRST_INT_REG and LAST_INT_REG.
29522 (FIRST_FLOAT_REG): Define to FIRST_STACK_REG.
29523
29524 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29525
29526 * expmed.c: (synth_mult): Only assume overlapping
29527 shift with previous steps in alg_sub_t_m2 case.
29528
29529 2015-04-21 Richard Biener <rguenther@suse.de>
29530
29531 PR tree-optimization/65650
29532 * tree-ssa-ccp.c (valid_lattice_transition): Allow lattice
29533 transitions involving copies.
29534 (set_lattice_value): Adjust for copy lattice state.
29535 (ccp_lattice_meet): Do not merge UNDEFINED and a copy to the copy
29536 if that doesn't dominate the merge point.
29537 (bit_value_unop): Adjust what we treat as varying mask.
29538 (bit_value_binop): Likewise.
29539 (bit_value_assume_aligned): Likewise.
29540 (evaluate_stmt): When we simplified to a SSA name record a copy
29541 instead of dropping to varying.
29542 (visit_assignment): Simplify.
29543
29544 * gimple-match.h (gimple_simplify): Add another callback.
29545 * gimple-fold.c (fold_stmt_1): Adjust caller.
29546 (gimple_fold_stmt_to_constant_1): Likewise - pass valueize
29547 for the 2nd callback.
29548 * gimple-match-head.c (gimple_simplify): Add a callback that is
29549 used to valueize the stmt operands and use it that way.
29550
29551 2015-04-21 Richard Biener <rguenther@suse.de>
29552
29553 PR tree-optimization/65788
29554 * tree-ssa-ccp.c (evaluate_stmt): Evaluate to UNDEFINED early.
29555
29556 2015-04-21 Richard Biener <rguenther@suse.de>
29557
29558 * config/i386/i386.c (ix86_builtin_vectorization_cost): Scale
29559 vec_construct cost by vec_stmt_cost.
29560
29561 2015-04-21 Richard Biener <rguenther@suse.de>
29562
29563 * cfghooks.h (create_basic_block): Replace with two overloads
29564 for RTL and GIMPLE.
29565 (split_block): Likewise.
29566 * cfghooks.c (split_block): Rename to ...
29567 (split_block_1): ... this.
29568 (split_block): Add two type-safe overloads for RTL and GIMPLE.
29569 (split_block_after_labels): Call split_block_1.
29570 (create_basic_block): Rename to ...
29571 (create_basic_block_1): ... this.
29572 (create_basic_block): Add two type-safe overloads for RTL and GIMPLE.
29573 (create_empty_bb): Call create_basic_block_1.
29574 * cfgrtl.c (fixup_fallthru_exit_predecessor): Use
29575 split_block_after_labels.
29576 * omp-low.c (expand_parallel_call): Likewise.
29577 (expand_omp_target): Likewise.
29578 (simd_clone_adjust): Likewise.
29579 * tree-chkp.c (chkp_get_entry_block): Likewise.
29580 * cgraphunit.c (init_lowered_empty_function): Use the GIMPLE
29581 create_basic_block overload.
29582 (cgraph_node::expand_thunk): Likewise.
29583 * tree-cfg.c (make_blocks): Likewise.
29584 (handle_abnormal_edges): Likewise.
29585 * tree-inline.c (copy_bb): Likewise.
29586
29587 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29588
29589 * config/aarch64/aarch64.md (*<NLOGICAL:optab>_one_cmplsidi3_ze):
29590 New pattern.
29591 (*xor_one_cmplsidi3_ze): Likewise.
29592
29593 2015-04-21 Thomas Preud'homme <thomas.preudhomme@arm.com>
29594
29595 * df-core.c (df_finish_pass): Iterate over df->problems_by_index[] and
29596 use df_remove_problem rather than manually removing problems, leaving
29597 holes in df->problems_in_order[].
29598
29599 2015-04-21 Tom de Vries <tom@codesourcery.com>
29600
29601 PR tree-optimization/65802
29602 * internal-fn.def (VA_ARG): Add ECF_NOTROW to flags.
29603
29604 2015-04-21 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
29605
29606 * common/config/aarch64/aarch64-common.c (AARCH64_CPU_NAME_LENGTH):
29607 Increase to 128.
29608 (aarch64_rewrite_selected_cpu): Do not chop off extensions starting
29609 at '.'. Assert that there's enough space for everything.
29610
29611 2015-04-21 Uros Bizjak <ubizjak@gmail.com>
29612
29613 PR tree-optimization/64950
29614 Revert:
29615 2010-08-02 Uros Bizjak <ubizjak@gmail.com>
29616
29617 PR target/41089
29618 * config/alpha/alpha.c (alpha_build_builtin_va_list): Mark __offset
29619 as volatile.
29620
29621 2015-04-20 Shiva Chen <shiva0217@gmail.com>
29622
29623 PR rtl-optimization/64916
29624 * cfgcleanup.c (values_equal_p): New function.
29625 (can_replace_by): Use it.
29626
29627 2015-04-20 Paolo Carlini <paolo.carlini@oracle.com>
29628
29629 PR c++/65801
29630 * doc/invoke.texi ([-Wnarrowing]): Update.
29631
29632 2015-04-20 Jeff Law <law@redhat.com>
29633
29634 PR tree-optimization/65658
29635 * tree-ssa-threadupdate.c (redirection_block_p): Remove
29636 redundant test for GIMPLE_ASSIGN in last change.
29637
29638 2015-04-20 Uros Bizjak <ubizjak@gmail.com>
29639
29640 * config/i386/i386.c (set_pic_reg_ever_live): Remove.
29641 (legitimize_pic_address): Do not call set_pic_reg_ever_live.
29642 (legitimize_tls_address): Ditto.
29643 (ix86_expand_move): Ditto.
29644 (ix86_expand_binary_operator): Remove reload_in_progress checks.
29645 (ix86_expand_unary_operator): Ditto.
29646 * config/i386/predicates.md (index_register_operand): Ditto.
29647
29648 2015-04-20 Selim Belbachir <selim.belbachir@fr.thalesgroup.com>
29649
29650 * reorg.c (try_merge_delay_insns): Improve correctness checking
29651 for targets with multiple delay slots.
29652
29653 2015-04-20 Jeff Law <law@redhat.com>
29654
29655 PR tree-optimization/65658
29656 * tree-ssa-threadupdate.c (redirection_block_p): Ignore clobber
29657 statements too.
29658
29659 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
29660
29661 * config/aarch64/aarch64.c (aarch64_simd_emit_pair_result_insn): Delete.
29662 * config/aarch64/aarch64-protos.h (aarch64_simd_emit_pair_result_insn):
29663 Delete.
29664
29665 2015-04-20 Jakub Jelinek <jakub@redhat.com>
29666
29667 PR debug/65807
29668 * dwarf2out.c (add_AT_wide): Clear attr.dw_attr_val.val_entry.
29669
29670 2015-04-20 Richard Biener <rguenther@suse.de>
29671
29672 * gimple-fold.h (gimple_build): Remove optional valueize arguments.
29673 * gimple-fold.c (gimple_build_valueize): New function.
29674 (gimple_build): Always use gimple_build_valueize as valueize hook.
29675
29676 2015-04-20 Alan Lawrence <alan.lawrence@arm.com>
29677
29678 PR target/64134
29679 * config/aarch64/aarch64.c (aarch64_expand_vector_init): Load constant
29680 and overwrite variable parts if <= 1/2 the elements are variable.
29681
29682 2015-04-19 Vladimir Makarov <vmakarov@redhat.com>
29683
29684 PR rtl-optimization/65805
29685 * lra-eliminations.c (lra_eliminate_regs_1): Add new assert.
29686 Don't use difference of offset and previous offset if
29687 update_sp_offset is non-zero.
29688 (eliminate_regs_in_insn): Ditto.
29689 * lra-spills.c (remove_pseudos): Exchange 4th and 6th args in
29690 lra_eliminate_regs_1 call.
29691 * lra-constraints.c (get_equiv_with_elimination): Ditto.
29692
29693 2015-04-18 Trevor Saunders <tsaunders@mozilla.com>
29694
29695 * hash-table.h: Remove version of hash_table that stored value_type *.
29696 * asan.c, attribs.c, bitmap.c, cfg.c, cgraph.h, config/arm/arm.c,
29697 config/i386/winnt.c, config/ia64/ia64.c, config/mips/mips.c,
29698 config/sol2.c, coverage.c, cselib.c, dse.c, dwarf2cfi.c,
29699 dwarf2out.c, except.c, gcse.c, genmatch.c, ggc-common.c,
29700 gimple-ssa-strength-reduction.c, gimplify.c, haifa-sched.c,
29701 hard-reg-set.h, hash-map.h, hash-set.h, ipa-devirt.c, ipa-icf.h,
29702 ipa-profile.c, ira-color.c, ira-costs.c, loop-invariant.c,
29703 loop-iv.c, loop-unroll.c, lto-streamer.h, plugin.c, postreload-gcse.c,
29704 reginfo.c, statistics.c, store-motion.c, trans-mem.c, tree-cfg.c,
29705 tree-eh.c, tree-hasher.h, tree-into-ssa.c, tree-parloops.c,
29706 tree-sra.c, tree-ssa-coalesce.c, tree-ssa-dom.c, tree-ssa-live.c,
29707 tree-ssa-loop-im.c, tree-ssa-loop-ivopts.c, tree-ssa-phiopt.c,
29708 tree-ssa-pre.c, tree-ssa-reassoc.c, tree-ssa-sccvn.c,
29709 tree-ssa-structalias.c, tree-ssa-tail-merge.c,
29710 tree-ssa-threadupdate.c, tree-vectorizer.c, tree-vectorizer.h,
29711 valtrack.h, var-tracking.c, vtable-verify.c, vtable-verify.h: Adjust.
29712
29713 2015-04-17 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
29714 Jakub Jelinek <jakub@redhat.com>
29715
29716 PR target/65787
29717 * config/rs6000/rs6000.c (rtx_is_swappable_p): Ensure that a
29718 subsequent SH_NONE operand does not overwrite an existing *special
29719 value.
29720 (adjust_extract): Handle case where a vec_extract operation is
29721 wrapped in a PARALLEL.
29722
29723 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
29724
29725 PR target/65780
29726 * config/i386/i386.c (ix86_binds_local_p): Define only if
29727 TARGET_MACHO and TARGET_DLLIMPORT_DECL_ATTRIBUTES are false.
29728
29729 2015-04-17 Jeff Law <law@redhat.com>
29730
29731 PR tree-optimization/47679
29732 * Makefile.in (OBJS); Add tree-ssa-scopedtables.o.
29733 * tree-ssa-scopedtables.c: New file.
29734 * tree-ssa-scopedtables.h: New file.
29735 * tree-ssa-dom.c: Include tree-ssa-scopedtables.h.
29736 (const_and_copies): Change name/type.
29737 (record_const_or_copy): Move into tree-ssa-scopedtables.c
29738 (record_const_or_copy_1): Similarly.
29739 (restore_vars_to_original_value): Similarly.
29740 (pass_dominator::execute): Create and destroy const_and_copies table.
29741 (thread_across_edge): Update passing of const_and_copies.
29742 (record_temporary_equivalence): Use method calls rather than
29743 manipulating const_and_copies directly.
29744 (record_equality, cprop_into_successor_phis): Similarly.
29745 (dom_opt_dom_walker::before_dom_children): Similarly.
29746 (dom_opt_dom_walker::after_dom_children): Similarly.
29747 (eliminate_redundant_computations): Similarly.
29748 * tree-ssa-threadedge.c (remove_temporary_equivalences): Delete.
29749 (record_temporary_equivalence): Likewise.
29750 (invalidate_equivalences): Likewise.
29751 (record_temporary_equivalences_from_phis): Update due to type
29752 change of const_and_copies. Use method calls rather than
29753 manipulating the stack directly.
29754 (record_temporary_equivalences_from_stmts_at_dest): Likewise.
29755 (thread_through_normal_block, thread_across_edge): Likewise.
29756 (thread_across_edge): Likewise.
29757 * tree-ssa-threadedge.h (thread_across_edge): Update prototype.
29758 * tree-vrp.c: Include tree-ssa-scopedtables.h. Change type
29759 of equiv_stack.
29760 (identify_jump_threads): Update due to type change of equiv_stack.
29761 (finalize_jump_threads): Delete the equiv_stack when complete.
29762
29763 2015-04-17 Uros Bizjak <ubizjak@gmail.com>
29764
29765 * config/i386/i386.h (LEGITIMIZE_RELOAD_ADDRESS): Remove.
29766 * config/i386/i386.c (ix86_legitimize_reload_address): Ditto.
29767 * config/i386/i386-protos.h (ix86_legitimize_reload_address): Ditto.
29768
29769 2015-04-17 Andreas Tobler <andreast@gcc.gnu.org>
29770
29771 PR target/65535
29772 * config.gcc: Exit with a comment when we do not have a major version
29773 number for the FreeBSD target.
29774
29775 2015-04-17 Jakub Jelinek <jakub@redhat.com>
29776
29777 PR target/65689
29778 * genpreds.c (struct constraint_data): Add maybe_allows_reg and
29779 maybe_allows_mem bitfields.
29780 (maybe_allows_none_start, maybe_allows_none_end,
29781 maybe_allows_reg_start, maybe_allows_reg_end, maybe_allows_mem_start,
29782 maybe_allows_mem_end): New variables.
29783 (compute_maybe_allows): New function.
29784 (add_constraint): Use it to initialize maybe_allows_reg and
29785 maybe_allows_mem fields.
29786 (choose_enum_order): Sort the non-is_register/is_const_int/is_memory/
29787 is_address constraints such that those that allow neither mem nor
29788 reg come first, then those that only allow reg but not mem, then
29789 those that only allow mem but not reg, then the rest.
29790 (write_allows_reg_mem_function): New function.
29791 (write_tm_preds_h): Call it.
29792 * stmt.c (parse_output_constraint, parse_input_constraint): Use
29793 the generated insn_extra_constraint_allows_reg_mem function
29794 instead of always setting *allows_reg = true; *allows_mem = true;
29795 for unknown extra constraints.
29796
29797 2015-04-17 H.J. Lu <hongjiu.lu@intel.com>
29798
29799 PR target/65780
29800 * output.h (default_binds_local_p_3): New.
29801 * varasm.c (default_binds_local_p_3): Make it public. Take an
29802 argument to indicate if common symbol may be local. If common
29803 symbol may be local, treat non-external variable as defined
29804 locally.
29805 (default_binds_local_p_2): Pass !flag_pic to default_binds_local_p_3.
29806 (default_binds_local_p_1): Pass false to default_binds_local_p_3.
29807 * config/i386/i386.c (ix86_binds_local_p): New.
29808 (TARGET_BINDS_LOCAL_P): Replace default_binds_local_p_2 with
29809 ix86_binds_local_p.
29810
29811 2015-04-17 Jakub Jelinek <jakub@redhat.com>
29812
29813 PR debug/65771
29814 * dwarf2out.c (mem_loc_descriptor): For CONST, fallback to
29815 trying mem_loc_descriptor on XEXP (rtl, 0).
29816
29817 2015-04-17 Martin Liska <mliska@suse.cz>
29818
29819 * ipa-icf.c (sem_item_optimizer::subdivide_classes_by_sensitive_refs):
29820 Release symbol_compare_collection.
29821 * ipa-reference.c: Add TODO that a vector should be released.
29822
29823 2015-04-17 Sivanupandi Pitchumani <Pitchumani.Sivanupandi@atmel.com>
29824
29825 PR target/65296
29826 * config/avr/gen-avr-mmcu-specs.c (*avrlibc_startfile): Adjust
29827 to new AVR-LibC file layout (bug #44574).
29828 (*avrlibc_devicelib): Same.
29829 * config/avr/avr-mcus.def: Adjust comments.
29830 * config/avr/avr.opt (nodevicelib): Adjust help.
29831
29832 2015-04-17 Alan Lawrence <alan.lawrence@arm.com>
29833
29834 * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.
29835
29836 2015-04-17 Patrick Palka <ppalka@gcc.gnu.org>
29837
29838 PR c++/64527
29839 * gimplify.c (gimplify_init_constructor): Always emit a
29840 side-effecting constructor.
29841
29842 2015-04-17 Tom de Vries <tom@codesourcery.com>
29843
29844 PR tree-optimization/64950
29845 * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva
29846 in cfun->curr_properties.
29847 (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties
29848 if we generate an IFN_VA_ARG.
29849 * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest
29850 function if PROP_gimple_lva is not set in src function.
29851
29852 2015-04-17 Tom de Vries <tom@codesourcery.com>
29853 Michael Matz <matz@suse.de>
29854
29855 PR tree-optimization/64950
29856 * gimple-iterator.c (update_modified_stmts): Remove static.
29857 * gimple-iterator.h (update_modified_stmts): Declare.
29858 * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG.
29859 (gimplify_va_arg_internal): New function.
29860 (gimplify_va_arg_expr): Use IFN_VA_ARG.
29861 * gimplify.h (gimplify_va_arg_internal): Declare.
29862 * internal-fn.c (expand_VA_ARG): New unreachable function.
29863 * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN.
29864 * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1)
29865 (expand_ifn_va_arg): New function.
29866 (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field.
29867 (pass_stdarg::execute): Call expand_ifn_va_arg.
29868 (pass_data_lower_vaarg): New pass_data.
29869 (pass_lower_vaarg): New gimple_opt_pass.
29870 (pass_lower_vaarg::gate, pass_lower_vaarg::execute)
29871 (make_pass_lower_vaarg): New function.
29872 * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to
29873 properties_required field.
29874 * passes.def (all_passes): Add pass_lower_vaarg.
29875 * tree-pass.h (PROP_gimple_lva): Add define.
29876 (make_pass_lower_vaarg): Declare.
29877
29878 2015-04-17 Tom de Vries <tom@codesourcery.com>
29879
29880 * fold-const.c (operand_equal_p): Handle INTERNAL_FNs.
29881 * calls.c (call_expr_flags): Same.
29882
29883 2015-04-17 Tom de Vries <tom@codesourcery.com>
29884
29885 * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ...
29886 (pass_stdarg::execute): ... here.
29887
29888 2015-04-17 Tom de Vries <tom@codesourcery.com>
29889 Michael Matz <matz@suse.de>
29890
29891 * tree-cfg.c (make_blocks_1): Factor out of ...
29892 (make_blocks): ... here.
29893 (make_edges_bb): Factor out of ...
29894 (make_edges): ... here.
29895 (gimple_find_sub_bbs): New function.
29896 * tree-cfg.h (gimple_find_sub_bbs): Declare.
29897
29898 2015-04-17 Tom de Vries <tom@codesourcery.com>
29899
29900 * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr.
29901
29902 2015-04-17 Yury Gribov <y.gribov@samsung.com>
29903
29904 * asan.c (set_sanitized_sections): New function.
29905 (section_sanitized_p): Ditto.
29906 (asan_protect_global): Optionally sanitize user-defined
29907 sections.
29908 * asan.h (set_sanitized_sections): Declare new function.
29909 * common.opt (fsanitize-sections): New option.
29910 * doc/invoke.texi (-fsanitize-sections): Document new option.
29911 * opts-global.c (handle_common_deferred_options): Handle new
29912 option.
29913
29914 2015-04-17 Jakub Jelinek <jakub@redhat.com>
29915
29916 PR debug/65771
29917 * dwarf2out.c (loc_list_from_tree): Return NULL
29918 for DEBUG_EXPR_DECL.
29919
29920 2015-04-17 Christian Bruel <christian.bruel@st.com>
29921
29922 * ipa-inline.c (can_inline_edge_p): Allow inlining of functions with
29923 same attributes.
29924
29925 2015-04-16 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
29926
29927 * ira-color.c (setup_left_conflict_sizes_p): Do not process
29928 node itself when computing left conflict subnode size.
29929
29930 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
29931
29932 * config/i386/predicates.md (register_mixssei387nonimm_operand): New.
29933 * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with
29934 *fop_<mode>_1_sse using enabled attribute. Use
29935 register_mixssei387nonimm_operand operand 1 predicate. Change
29936 alternative 3 constraints from "x" to "v".
29937
29938 2015-04-16 Richard Biener <rguenther@suse.de>
29939
29940 PR tree-optimization/65774
29941 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke
29942 bit-value tracking on.
29943
29944 2015-04-16 Richard Biener <rguenther@suse.de>
29945
29946 PR tree-optimization/64277
29947 * tree-vrp.c (check_array_ref): Fix anti-range handling,
29948 simplify upper bound handling.
29949 (search_for_addr_array): Simplify.
29950 (check_array_bounds): Handle ADDR_EXPRs here.
29951 (check_all_array_refs): Simplify.
29952
29953 2015-04-16 Uros Bizjak <ubizjak@gmail.com>
29954
29955 * config/i386/i386.c (print_reg): Rewrite function.
29956
29957 2015-04-16 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
29958
29959 * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER):
29960 Invert the condition.
29961
29962 2015-04-16 Renlin Li <renlin.li@arm.com>
29963
29964 * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two
29965 simplifications for UNSIGNED_FLOAT.
29966
29967 2015-04-16 Nick Clifton <nickc@redhat.com>
29968
29969 * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and
29970 MUL_UNINIT.
29971 (enum rl78_cpu_type): New.
29972 * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi.
29973 (umulhi3_shift_virt): Remove m constraint from operand 1.
29974 (umulqihi3_virt): Likewise.
29975 * config/rl78/rl78.c (rl78_option_override): Add code to process
29976 -mcpu and -mmul options.
29977 (rl78_alloc_physical_registers): Add code to handle divhi and
29978 divsi valloc attributes.
29979 (set_origin): Likewise.
29980 * config/rl78/rl78.h (RL78_MUL_G14): Define.
29981 (TARGET_G10, TARGET_G13, TARGET_G14): Define.
29982 (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and
29983 __RL78_Gxx__.
29984 (ASM_SPEC): Pass -mcpu on to assembler.
29985 * config/rl78/rl78.md (mulqi3): Add a clobber of AX.
29986 (mulqi3_rl78): Likewise.
29987 (mulhi3_g13): Likewise.
29988 (mulhi3): Generate the G13 or G14 versions of the insn directly.
29989 (mulsi3): Likewise.
29990 (mulhi3_g14): Add clobbers of AX and BC.
29991 (mulsi3_g14): Likewise.
29992 (mulsi3_g13): Likewise.
29993 (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns.
29994 (udivmodsi4_g14, udivmodsi4_g13): New patterns.
29995 * config/rl78/rl78.opt (mmul): Initialise value to
29996 RL78_MUL_UNINIT.
29997 (mcpu): New option.
29998 (m13, m14, mrl78): New option aliases.
29999 * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14.
30000 (MULTILIB_DIRNAMES): Add g13 and g14.
30001 * doc/invoke.texi: Document -mcpu and -mmul options.
30002
30003 2015-04-16 Richard Biener <rguenther@suse.de>
30004
30005 * tree-ssa-ccp.c (likely_value): See if we have operands that
30006 are marked as never simulate again and return CONSTANT in this
30007 case.
30008 * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do
30009 not have any operands that will be simulated again as
30010 not being simulated again.
30011
30012 2015-04-15 Uros Bizjak <ubizjak@gmail.com>
30013
30014 * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):
30015 Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute.
30016 (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled
30017 attribute.
30018 (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using
30019 enabled attribute.
30020 (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from
30021 *float<SWI48:mode><MODEF:mode>2_sse.
30022 (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using
30023 enabled attribute.
30024 (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using
30025 enabled attribute.
30026
30027 2015-04-15 Tom de Vries <tom@codesourcery.com>
30028
30029 PR other/65487
30030 * function.c (push_dummy_function): New function.
30031 (init_dummy_function_start): Use push_dummy_function.
30032 (pop_dummy_function): New function. Factored out of ...
30033 (expand_dummy_function_end): ... here.
30034 * function.h (push_dummy_function, pop_dummy_function): Declare.
30035 * passes.c (pass_manager::dump_passes): Use push_dummy_function and
30036 pop_dummy_function.
30037 * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL.
30038
30039 2015-04-15 Jeff Law <law@redhat.com>
30040
30041 PR tree-optimization/47679
30042 * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid
30043 need for forward declaration in upcoming changes.
30044 (record_conditions, record_edge_info): Likewise.
30045
30046 PR rtl-optimization/42522
30047 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or
30048 SIGN_EXTRACT as a whole object rather than simplifying
30049 its operand.
30050
30051 2015-04-15 Jakub Jelinek <jakub@redhat.com>
30052
30053 PR ipa/65765
30054 * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP
30055 and GIMPLE_PREDICT use break instead of return true. For
30056 GIMPLE_EH_DISPATCH, compare dispatch region.
30057
30058 2015-04-14 Matthew Wahab <matthew.wahab@arm.com>
30059
30060 * doc/extend.texi (__sync Builtins): Simplify some text. Update
30061 details about the implementation. Make clear preference for
30062 __atomic builtins. Reduce possibility of future change.
30063
30064 2015-04-15 Nick Clifton <nickc@redhat.com>
30065
30066 * config/rx/rx.opt (mallow-string-insns): New option.
30067 * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this
30068 builtin if string instructions are denied.
30069 * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define
30070 __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as
30071 appropriate.
30072 (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler.
30073 * config/rx/rx.md (movstr): Enable pattern only if string
30074 instructions are allowed.
30075 (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise.
30076 (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise.
30077 * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns.
30078 (MULTILIB_DIRNAMES): Add no-strings.
30079 * doc/invoke.texi: Document -mno-allow-string-insns.
30080
30081 2015-04-15 Alan Modra <amodra@gmail.com>
30082
30083 PR target/65408
30084 PR target/58744
30085 PR middle-end/36043
30086 * calls.c (load_register_parameters): Don't load past end of
30087 mem unless suitably aligned.
30088
30089 2015-04-15 Nick Clifton <nickc@redhat.com>
30090
30091 * config/rl78/rl78.c (rl78_expand_prologue): Mark large stack
30092 decrement instruction as being frame related.
30093 (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL
30094 based addresses.
30095 If zero extending a function address enclose the operation in
30096 %code(...).
30097 (rl78_preferred_reload_class): New function.
30098 (TARGET_PREFERRED_RELOAD_CLASS): Define.
30099 * config/rl78/rl78.md: Remove useless constraints in expanders.
30100 (mulqi3_rl78): Remove + qualifier on input-only operand 1.
30101 (mulhi3_rl78): Likewise.
30102 (mulhi3_g13): Likewise.
30103 (mulsi3_rl78): Likewise.
30104 (es_addr): Move to before the multiply patterns.
30105
30106 2015-04-15 Alan Modra <amodra@gmail.com>
30107
30108 * function.h (struct emit_status): Delete x_first_insn, x_last_insn
30109 and sequence_stack. Add seq.
30110 (seq_stack): Delete.
30111 * function.c (prepare_function_start): Don't access x_last_insn.
30112 * emit-rtl.h (get_current_sequence, get_topmost_sequence): New.
30113 (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them.
30114 * emit_rtl.c (start_sequence, push_topmost_sequence,
30115 pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use
30116 sequence accessors.
30117 (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb,
30118 remove_insn): Likewise. Simplify.
30119 * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence
30120 and pop_topmost_sequence.
30121 (m32c_function_needs_enter): Use get_topmost_sequence. Ignore
30122 debug insns.
30123 * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence.
30124
30125 2015-04-14 Yvan Roux <yvan.roux@linaro.org>
30126
30127 PR target/65729
30128 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix
30129 the assertiion.
30130
30131 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
30132
30133 * config/i386/i386.h (LEGACY_INT_REG_P): New define.
30134 (LEGACY_INT_REGNO_P): Ditto.
30135 (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P.
30136 (ANY_MASK_REG_P): Remove.
30137 (BND_REG_P): Rename from ANY_BND_REG_P.
30138 * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print
30139 legacy integer registers. Do not handle MMX_REG_P in a special way.
30140 Merge 64byte and 32byte SSE handling.
30141
30142 2015-04-14 Nick Clifton <nickc@redhat.com>
30143
30144 * expr.c (expand_assignment): Force an address offset computation
30145 into a register before changing its mode.
30146 (expand_expr_real_1): Likewise.
30147
30148 2015-04-14 Alan Lawrence <alan.lawrence@arm.com>
30149
30150 * config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64,
30151 vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16,
30152 vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16,
30153 vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64,
30154 vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16,
30155 vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16,
30156 vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference
30157 and __aarch64_vget_lane_any.
30158
30159 2015-04-14 Jakub Jelinek <jakub@redhat.com>
30160
30161 PR rtl-optimization/65761
30162 * cfgrtl.c (rtl_split_edge): For EDGE_CROSSING split, use
30163 get_last_bb_insn (after) instead of NEXT_INSN (BB_END (after)).
30164
30165 2015-04-14 Richard Biener <rguenther@suse.de>
30166
30167 * graphite-scop-detection.c: Do not include cp/cp-tree.h.
30168 (graphite_can_represent_scev): Use POINTER_TYPE_P.
30169
30170 2015-04-14 Richard Biener <rguenther@suse.de>
30171
30172 PR tree-optimization/65758
30173 * tree-ssa-ccp.c (get_value_from_alignment): Adjust mask test
30174 against -1.
30175 (ccp_lattice_meet): Likewise.
30176 (bit_value_unop): Likewise.
30177 (bit_value_binop): Likewise.
30178 (bit_value_assume_aligned): Likewise.
30179
30180 2015-04-14 Christian Bruel <christian.bruel@st.com>
30181
30182 * execute_dwarf2_frame (dw_frame_pointer_regnum): Reinitialize for each
30183 function.
30184
30185 2015-04-14 Marc Glisse <marc.glisse@inria.fr>
30186
30187 PR tree-optimization/63387
30188 * match.pd ((x unord x) | (y unord y) -> (x unord y),
30189 (x unord x) | (x unord y) -> (x unord y)): New simplifications.
30190
30191 2015-04-14 Uros Bizjak <ubizjak@gmail.com>
30192
30193 * config/i386/predicates.md (any_QIreg_operand): Rename from
30194 q_regs_operand. Do not process subregs.
30195 (QIreg_operand): Use QI_REGNO_P predicate.
30196 (ext_QIreg_operand): Ditto.
30197 (ext_register_operand): Ditto.
30198 * config/i386/i386.md (TEST splitters): Use QIreg_operand predicate.
30199 (AND splitters): Ditto.
30200 (AND with -65536 splitter): Add SWI48 mode for operand 0.
30201 (AND with -256 splitter): Use any_QIreg_operand predicate and
30202 SWI248 mode for operand 0.
30203 (AND with -65281 splitter): Use QIreg_operand predicate and SWI248
30204 mode for operand 0.
30205 (SETCC + MOVZBL peepholes): Update for renamed any_QIreg_operand.
30206
30207 2015-04-13 Gerald Pfeifer <gerald@pfeifer.com>
30208
30209 * doc/plugins.texi: Rewrite first introductory paragraph.
30210
30211 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
30212
30213 * tree-vrp.c (nonnull_arg_p): THIS pointers and references are non-zero.
30214 (gimple_stmt_nonzero_warnv_p): Reference return values are non-zero.
30215
30216 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
30217
30218 * ipa-profie.c (ipa_profile): Check number of parameters
30219 and possible polymorphic call targets before
30220 devirtualizing.
30221
30222 2015-04-13 Uros Bizjak <ubizjak@gmail.com>
30223
30224 * config/i386/i386.md (*bmi2_umul<mode><dwi>3_1): Merge from
30225 *bmi2_umulsidi3_1 and *bmi2_umulditi3_1 using DWIH mode iterator.
30226
30227 2015-04-13 Richard Biener <rguenther@suse.de>
30228
30229 PR tree-optimization/65204
30230 * tree-ssa-ccp.c (evaluate_stmt): Always evaluate address
30231 takens for bit-CCP.
30232
30233 2015-04-13 Richard Biener <rguenther@suse.de>
30234
30235 PR target/65660
30236 * config/i386/i386.c (bdver1_cost): Double cond_taken_branch_cost
30237 and cond_not_taken_branch_cost to 4 and 2.
30238 (bdver2_cost): Likewise.
30239 (bdver3_cost): Likewise.
30240 (bdver4_cost): Likewise.
30241
30242 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
30243
30244 * hash-table.h (hash_table constructor): Add mem stats.
30245 (alloc_entries): Likewise.
30246
30247 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
30248
30249 * ipa-cp.c (ipcp_driver): Relase prev_edge.
30250 * passes.c (execute_one_pass): Only add transform if pass has one.
30251
30252 2015-04-12 Joseph Myers <joseph@codesourcery.com>
30253
30254 * config/i386/i386.c (ix86_option_override_internal): Don't set
30255 -fprefetch-loop-arrays if optimizing for size.
30256
30257 2015-04-12 Jan Hubicka <hubicka@ucw.cz>
30258 Gerald Pfeifer <gerald@pfeifer.com>
30259
30260 * doc/contrib.texi (Contributors): Add Martin Jambor and
30261 Michael Matz.
30262
30263 2015-04-12 Jakub Jelinek <jakub@redhat.com>
30264
30265 * BASE-VER: Set to 6.0.0.
30266
30267 PR tree-optimization/65747
30268 * ipa-icf-gimple.c (func_checker::compare_operand): Use compare_operand
30269 rather than compare_ssa_name for OBJ_TYPE_REF_OBJECT.
30270
30271 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
30272
30273 * doc/invoke.texi (-Wmemset-transposed-args): Break a long
30274 sentence. Improve grammar.
30275
30276 2015-04-12 Gerald Pfeifer <gerald@pfeifer.com>
30277
30278 * doc/contrib.texi (Contributors): Add Maxim Kuvyrkov.
30279
30280 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
30281
30282 PR ipa/65743
30283 * ipa-inline-transform.c (speculation_removed): Remove static var.
30284 (check_speculations): New function.
30285 (clone_inlined_nodes): Do not check spculations.
30286 (inline_call): Call check_speculations.
30287 * ipa-prop.c (ipa_make_edge_direct_to_target): Do not
30288 consider non-invariants.
30289
30290 2015-04-11 Jan Hubicka <hubicka@ucw.cz>
30291 Martin Liska <mliska@suse.cz>
30292
30293 PR ipa/65722
30294 * ipa-icf.c (sem_item::compare_cgraph_references): function and
30295 variable can not match.
30296 (sem_item::update_hash_by_addr_refs): Fix handling of virtual tables.
30297 (sem_variable::equals_wpa): Fix checking of DECL_FINAL_P patch.
30298
30299 2015-04-11 Jakub Jelinek <jakub@redhat.com>
30300
30301 PR tree-optimization/65735
30302 * tree-ssa-threadedge.c (fsm_find_control_statement_thread_paths):
30303 Remove visited_phis argument, add visited_bbs, avoid recursing into the
30304 same bb rather than just into the same phi node.
30305 (thread_through_normal_block): Adjust caller.
30306
30307 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
30308
30309 * doc/contrib.texi (Contributors): Add Ira Rosen.
30310
30311 2015-04-11 Benno Schulenberg <bensberg@justemail.net>
30312
30313 * gcov.c (find_source): Fix miswording in error message.
30314 * config/i386/i386.c (ix86_handle_cconv_attribute): Likewise.
30315 (ix86_expand_sse_comi_round): Fix typo in error message.
30316
30317 2015-04-11 Gerald Pfeifer <gerald@pfeifer.com>
30318
30319 * doc/contrib.texi (Contributors): Add Laurynas Biveinis.
30320
30321 2015-04-10 Gerald Pfeifer <gerald@pfeifer.com>
30322
30323 * doc/contrib.texi (Contributors): Update Joe Buck's entry.
30324
30325 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
30326
30327 PR target/65710
30328 * lra-assigns.c (spill_for): Update smallest_bad_spills_num.
30329 Print bad_spills_num and insn_pseudos_num.
30330
30331 2015-04-10 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30332
30333 PR target/65694
30334 * config/arm/arm.c (arm_canonicalize_comparison): Use ARM_SIGN_EXTEND
30335 when creating +1 values for SImode.
30336
30337 2015-04-10 Vladimir Makarov <vmakarov@redhat.com>
30338
30339 PR target/65729
30340 * lra-constraints.c (prohibited_class_reg_set_mode_p): Comment the
30341 assert.
30342
30343 2015-04-10 Jakub Jelinek <jakub@redhat.com>
30344 Iain Sandoe <iain@codesourcery.com>
30345
30346 PR target/65351
30347 * configure: Regenerate.
30348
30349 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
30350
30351 PR target/65671
30352 * config/i386/sse.md: Generate vextract32x4 if AVX-512DQ is disabled.
30353
30354 2015-04-09 Gerald Pfeifer <gerald@pfeifer.com>
30355
30356 * doc/contrib.texi (Contributors): Add John Marino.
30357
30358 2015-04-09 Jakub Jelinek <jakub@redhat.com>
30359
30360 PR tree-optimization/65709
30361 * ubsan.c (instrument_mem_ref): Use TREE_TYPE (base) instead of
30362 TREE_TYPE (TREE_TYPE (t)).
30363
30364 2015-04-09 Vladimir Makarov <vmakarov@redhat.com>
30365
30366 PR target/65710
30367 * lra-int.h (lra_bad_spill_regno_start): New.
30368 * lra.c (lra_bad_spill_regno_start): New.
30369 (lra): Set up lra_bad_spill_regno_start. Set up
30370 lra_constraint_new_regno_start unconditionally.
30371 * lra-assigns.c (spill_for): Use lra_bad_spill_regno_start for
30372 spill preferences.
30373
30374 2015-04-09 Marek Polacek <polacek@redhat.com>
30375 Jakub Jelinek <jakub@redhat.com>
30376
30377 PR middle-end/65554
30378 * gimple-fold.c (gimple_fold_builtin_memory_op): Update comment.
30379 (fold_ctor_reference): Use STRIP_USELESS_TYPE_CONVERSION instead
30380 of STRIP_NOPS.
30381
30382 2015-04-09 Segher Boessenkool <segher@kernel.crashing.org>
30383
30384 PR rtl-optimization/65693
30385 * combine.c (is_parallel_of_n_reg_sets): Move outside of
30386 #ifndef HAVE_cc0.
30387
30388 2015-04-09 Georg-Johann Lay <avr@gjlay.de>
30389
30390 PR target/65296
30391 * config/avr/driver-avr.c (avr_devicespecs_file): Don't specify a
30392 device specs file if "device-specs%s" didn't resolve to a path.
30393
30394 2015-04-09 Kirill Yukhin <kirill.yukhin@intel.com>
30395
30396 PR target/65676
30397 * config/i386/i386.c (fixup_modeless_constant): New.
30398 (ix86_expand_args_builtin): Fixup modeless constant operand.
30399 (ix86_expand_round_builtin): Ditto.
30400 (ix86_expand_special_args_builtin): Ditto.
30401 (ix86_expand_builtin): Ditto.
30402
30403 2015-04-09 Jakub Jelinek <jakub@redhat.com>
30404
30405 PR target/65693
30406 * config/i386/i386.md (*udivmod<mode>4_pow2): Allow
30407 any pow2 integer in between 2 and 0x80000000U inclusive.
30408
30409 2015-04-08 Segher Boessenkool <segher@kernel.crashing.org>
30410
30411 PR rtl-optimization/65693
30412 * combine.c (is_parallel_of_n_reg_sets): Change first argument
30413 from an rtx_insn * to an rtx.
30414 (try_combine): Adjust both callers. Use it once more.
30415
30416 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
30417
30418 * tree-chkp.c (chkp_find_const_bounds_var): Remove.
30419 (chkp_make_static_const_bounds): Search existing
30420 symbol by assembler name. Use make_decl_one_only.
30421 (chkp_get_zero_bounds_var): Remove node search which
30422 is now performed in chkp_make_static_const_bounds.
30423 (chkp_get_none_bounds_var): Likewise.
30424
30425 2015-04-08 Michael Witten <mfwitten@gmail.com>
30426
30427 * doc/extend.texi (Attribute Syntax): Add a trailing semicolon
30428 to an example.
30429
30430 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
30431
30432 * tree.h (CONVERT_EXPR_P): Commentary typo fix.
30433
30434 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
30435
30436 * doc/extend.texi (__sync Builtins): Fix grammar.
30437
30438 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
30439
30440 * doc/cfg.texi (GIMPLE statement iterators): Fix typo.
30441
30442 2015-04-08 Bernhard Reutner-Fischer <aldot@gcc.gnu.org>
30443
30444 * varasm.c (emit_local): Move definition of align.
30445
30446 2015-04-08 Julian Brown <julian@codesourcery.com>
30447
30448 * config/nvptx/mkoffload.c (process): Support variable mapping.
30449
30450 2015-03-27 Trevor Saunders <tbsaunde@tbsaunde.org>
30451
30452 * config/alpha/alpha.c (alpha_use_linkage): Change type of slot to
30453 alpha_links **.
30454 (alpha_write_one_linkage): Correct typo.
30455
30456 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
30457
30458 * ipa-comdats.c (propagate_comdat_group): Walk through thunks.
30459
30460 2015-04-08 Gerald Pfeifer <gerald@pfeifer.com>
30461
30462 * doc/install.texi (bootstrap-lto-noplugin): Rewrite.
30463
30464 2015-04-08 Ilya Enkovich <ilya.enkovich@intel.com>
30465
30466 * tree-chkp.h (chkp_insert_retbnd_call): New.
30467 * tree-chkp.c (chkp_insert_retbnd_call): New.
30468 * ipa-split.c (insert_bndret_call_after): Remove.
30469 (split_function): Use chkp_insert_retbnd_call.
30470 * cgraphunit.c (cgraph_node::expand_thunk): Build returned
30471 bounds for instrumented functions.
30472
30473 2015-04-07 Jan Hubicka <hubicka@ucw.cz>
30474
30475 PR ipa/65540
30476 * calls.c (initialize_argument_information): When producing tail
30477 call also turn SSA_NAMES passed by references to original PARM_DECLs
30478
30479 2015-04-07 Vladimir Makarov <vmakarov@redhat.com>
30480
30481 PR target/65648
30482 * lra-remat.c (do_remat): Process input and non-input insn
30483 registers separately.
30484
30485 2015-04-07 Jakub Jelinek <jakub@redhat.com>
30486
30487 PR debug/65678
30488 * valtrack.c (debug_lowpart_subreg): New function.
30489 (dead_debug_insert_temp): Use it.
30490
30491 PR middle-end/65680
30492 * expr.c (get_inner_reference): Handle bit_offset that doesn't fit
30493 into signed HOST_WIDE_INT the same as negative bit_offset.
30494
30495 2015-04-07 Ilya Enkovich <ilya.enkovich@intel.com>
30496
30497 * ipa-comdats.c (ipa_comdats): Visit all thunks
30498 to set proper comdat group.
30499
30500 2015-04-07 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
30501
30502 PR target/65489
30503 * config/arm/arm.c (arm_legitimate_constant_p_1): Remove restriction
30504 on constants for NEON VSTRUCT modes.
30505
30506 2015-04-07 Jakub Jelinek <jakub@redhat.com>
30507 Iain Sandoe <iain@codesourcery.com>
30508
30509 PR target/65351
30510 * configure: Regenerate.
30511
30512 2015-04-06 Michael Meissner <meissner@linux.vnet.ibm.com>
30513
30514 PR target/65614
30515 * config/rs6000/rs6000.c (struct processor_costs): Add cost field
30516 for SF->DF conversions to make FLOAT_EXTEND more expensive, so
30517 that LFD is used to load double constants instead of LFS. Add
30518 defaults for all costs structures. Add comments for missing
30519 initialization fields.
30520 (size32_cost): Likewise.
30521 (size64_cost): Likewise.
30522 (rs64a_cost): Likewise.
30523 (mpccore_cost): Likewise.
30524 (ppc403_cost): Likewise.
30525 (ppc405_cost): Likewise.
30526 (ppc440_cost): Likewise.
30527 (ppc476_cost): Likewise.
30528 (ppc601_cost): Likewise.
30529 (ppc603_cost): Likewise.
30530 (ppc604_cost): Likewise.
30531 (ppc604e_cost): Likewise.
30532 (ppc620_cost): Likewise.
30533 (ppc630_cost): Likewise.
30534 (ppccell_cost): Likewise.
30535 (ppc750_cost): Likewise.
30536 (ppc7450_cost): Likewise.
30537 (ppc8540_cost): Likewise.
30538 (ppce300c2c3_cost): Likewise.
30539 (ppce500mc_cost): Likewise.
30540 (ppce500mc64_cost): Likewise.
30541 (ppce5500_cost): Likewise.
30542 (ppce6500_cost): Likewise.
30543 (titan_cost): Likewise.
30544 (power4_cost): Likewise.
30545 (power6_cost): Likewise.
30546 (power7_cost): Likewise.
30547 (power8_cost): Likewise.
30548 (ppca2_cost): Likewise.
30549 (rs6000_rtx_costs): Make FLOAT_EXTEND use SFDF_convert field.
30550
30551 * config/rs6000/rs6000.md (extendsfdf2_fpr): Generate XSCPSGNDP
30552 instead of XXLOR to copy SFmode to clear out dirty bits created
30553 when SFmode denormals are generated.
30554 (mov<mode>_hardfloat, FMOVE32 case): Likewise.
30555 (truncdfsf2_fpr): Add support for ISA 2.07 XSRSP instruction.
30556
30557 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
30558
30559 * doc/invoke.texi (AARCH64/mtune): Add exynos-m1 as an option.
30560 * config/aarch64/aarch64-cores.def (exynos-m1): New core.
30561 * config/aarch64/aarch64-tune.md: Regenerate.
30562
30563 2015-04-06 Evandro Menezes <e.menezes@samsung.com>
30564
30565 * doc/invoke.texi (ARM/mtune): Add "exynos-m1" as an option.
30566 * config/arm/arm.c (arm_issue_rate): Specify "3" for "exynosm1".
30567 * config/arm/arm-cores.def (exynos-m1): New core.
30568 * config/arm/arm-tune.md: Regenerate.
30569 * config/arm/arm-tables.opt: Add entry for "exynos-m1".
30570 * config/arm/bpabi.h: Likewise.
30571
30572 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
30573
30574 * ipa-cp (set_single_call_flag): Remove too
30575 restrictive assert.
30576
30577 2015-04-06 Ilya Verbin <ilya.verbin@intel.com>
30578
30579 * config/i386/intelmic-mkoffload.c (generate_host_descr_file): Call
30580 GOMP_offload_unregister from the destructor.
30581
30582 2015-04-06 Ilya Enkovich <ilya.enkovich@intel.com>
30583
30584 * ipa-chkp.c (chkp_maybe_create_clone): Reset cdtor
30585 flags for instrumentation thunk.
30586 (chkp_produce_thunks): Likewise.
30587
30588 2015-04-05 Martin Liska <mliska@suse.cz>
30589
30590 PR ipa/65665
30591 * ipa-icf.c (sem_function::equals_wpa): Verify that IPA CP
30592 has computed data structure.
30593 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
30594
30595 2015-04-04 Jan Hubicka <hubicka@ucw.cz>
30596
30597 * invoke.texi (inline-unit-growth): Increase growth to 20%
30598 * params.def (PARAM_INLINE_UNIT_GROWTH): Likewise.
30599
30600 2015-04-04 Vladimir Makarov <vmakarov@redhat.com>
30601
30602 PR target/65647
30603 * lra-int.h (LRA_MAX_REMATERIALIZATION_PASSES): New. Add its
30604 value checking.
30605 (lra_rematerialization_iter): New.
30606 * lra.c (lra): Initialize lra_rematerialization_iter.
30607 Stop updating lra_constraint_new_regno_start after switching of
30608 inheritance and rematerialization.
30609 * lra-remat.c (lra_rematerialization_iter): New.
30610 (lra_remat): Add printing pass iteration. Do rematerialization
30611 only first LRA_MAX_REMATERIALIZATION_PASSES iterations.
30612
30613 2015-04-04 Richard Biener <rguenther@suse.de>
30614
30615 PR tree-optimization/64909
30616 PR tree-optimization/65660
30617 * tree-vectorizer.h (vect_get_known_peeling_cost): Adjust
30618 to take a cost vector for scalar iteration cost.
30619 (vect_get_single_scalar_iteration_cost): Likewise.
30620 * tree-vect-loop.c (vect_get_single_scalar_iteration_cost):
30621 Compute the scalar iteration cost into a cost vector.
30622 (vect_get_known_peeling_cost): Use the scalar cost vector to
30623 account for the cost of the peeled iterations.
30624 (vect_estimate_min_profitable_iters): Likewise.
30625 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost):
30626 Likewise.
30627
30628 2015-04-04 Alan Modra <amodra@gmail.com>
30629
30630 PR target/65576
30631 PR target/65240
30632 * config/rs6000/predicates.md (zero_reg_mem_operand): Exclude
30633 0.0 constant unless TARGET_VSX.
30634 * config/rs6000/rs6000.md (extenddftf2_internal): Remove last
30635 alternative.
30636
30637 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
30638
30639 PR ipa/65654
30640 * ipa-inline-transform.c (inline_call): Skip sanity check to work
30641 around the ICE
30642
30643 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
30644
30645 PR ipa/65655
30646 * ipa-inline-analysis.c (edge_set_predicate): Do not redirect
30647 speculative indirect edges to avoid ordering issue.
30648
30649 2015-04-03 Jan Hubicka <hubicka@ucw.cz>
30650
30651 PR ipa/65076
30652 * ipa-inline.c (edge_badness): Add combined size to the denominator.
30653
30654 2015-04-03 Jakub Jelinek <jakub@redhat.com>
30655
30656 * omp-low.c (scan_omp_parallel, scan_omp_task, scan_omp_target): Set
30657 TYPE_ARTIFICIAL on the .omp_data* types.
30658
30659 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
30660
30661 * cgraphunit.c (cgraph_node::expand_thunk): Don't expand
30662 instrumentation thunks.
30663
30664 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
30665
30666 * config/i386/i386.c (ix86_expand_call): Avoid nested
30667 PARALLEL in returned call value.
30668
30669 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
30670
30671 * lto-cgraph.c (input_cgraph_1): Always link instrumented
30672 assembler name with original one.
30673
30674 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
30675
30676 * config/i386/i386.c (ix86_register_priority): Use AX_REG.
30677
30678 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
30679
30680 Revert parts of r216820.
30681 * config/i386/i386.md (movqi_internal): Correct type calculation
30682 for alternatives 3 and 5.
30683
30684 2015-04-02 Jakub Jelinek <jakub@redhat.com>
30685
30686 PR preprocessor/61977
30687 * config/rs6000/rs6000-c.c (rs6000_cpu_cpp_builtins): Don't
30688 predefine __vector/__bool/__pixel macros nor context sensitive
30689 macros for CLK_ASM.
30690 * config/spu/spu-c.c (spu_cpu_cpp_builtins): Similarly.
30691
30692 2015-04-02 John David Anglin <danglin@gcc.gnu.org>
30693
30694 * config/pa/pa.c (pa_output_move_double): Directly handle register
30695 indexed memory operand. Simplify handling of scaled register indexed
30696 memory operands.
30697
30698 2015-04-02 Ilya Enkovich <ilya.enkovich@intel.com>
30699
30700 PR driver/65444
30701 * config/i386/linux-common.h (MPX_SPEC): New.
30702 (CHKP_SPEC): Add MPX_SPEC.
30703 * doc/invoke.texi (-fcheck-pointer-boudns): Document
30704 possible issues with '-z bndplt' support in linker.
30705
30706 2015-04-02 Uros Bizjak <ubizjak@gmail.com>
30707
30708 * config/i386/sync.md (UNSPEC_FILD_ATOMIC, UNSPEC_FIST_ATOMIC): New.
30709 (loaddi_via_fpu): Use UNSPEC_FILD_ATOMIC.
30710 (storedi_via_fpu): Use UNSPEC_FIST_ATOMIC.
30711 * reg-stack.c (get_true_reg): Change UNSPEC_LDA to UNSPEC_FILD_ATOMIC.
30712 (subst_stack_regs_pat): Change UNSPEC_STA to UNSPEC_FIST_ATOMIC.
30713
30714 2015-04-01 Uros Bizjak <ubizjak@gmail.com>
30715
30716 * config/i386/sync.md (UNSPEC_MOVA): Remove.
30717 (atomic_load<mode>): Change operand 0 predicate to
30718 nonimmediate_operand and fix up the destination when needed.
30719 Use UNSPEC_LDA.
30720 (atomic_loaddi_fpu): Use UNSPEC_LDA.
30721 (atomic_store<mode>): Change operand 1 predicate to
30722 nonimmendate_operand and move the source to register when needed.
30723 Use UNSPEC_STA.
30724 (atomic_store<mode>_1): Use UNSPEC_STA.
30725 (atomic_storedi_fpu): Change operand 1 to nonimmediate_operand.
30726 Fix moves from memory operand. Use UNSPEC_STA.
30727
30728 2015-04-01 Bernd Edlinger <bernd.edlinger@hotmail.de>
30729
30730 * expmed.c (strict_volatile_bitfield_p): Check that the access will
30731 not cross a MODESIZE boundary.
30732 (store_bit_field, extract_bit_field): Added assertions in the
30733 strict volatile bitfields code path.
30734
30735 2015-04-01 Max Ostapenko <m.ostapenko@partner.samsung.com>
30736
30737 PR target/65624
30738 * config/aarch64/aarch64-builtins.c (aarch64_simd_expand_builtin):
30739 Increase args array size by one to avoid buffer overflow.
30740
30741 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
30742
30743 * lto-cgraph.c (lto_output_node, input_overwrite_node): Stream
30744 split_part.
30745 * ipa-inline.c (edge_badness): Add wrapper penalty.
30746 (sum_callers): Move up.
30747 (inline_small_functions): Set single_caller.
30748 * ipa-inline.h (inline_summary): Add single_caller.
30749 * ipa-split.c (split_function): Set split_part.
30750 (cgraph_node::create_clone): Do not shadow decl; copy split_part.
30751 * cgraph.h (cgraph_node): Add split_part.
30752
30753 2015-03-31 Uros Bizjak <ubizjak@gmail.com>
30754
30755 PR target/58945
30756 * config/i386/sync.md (atomic_compare_and_swap<dwi>_doubleword):
30757 Do not split operands 0 and operands 2 to halfmode.
30758 (atomic_compare_and_swap<mode>): Update for
30759 atomic_compare_and_swap<dwi>_doubleword changes.
30760
30761 2015-03-31 Jan Hubicka <hubicka@ucw.cz>
30762
30763 * tree.c (need_assembler_name_p): Artificial types have no ODR names.
30764 * ipa-devirt.c (warn_odr): Do not try to apply ODR cache when
30765 no caching is done.
30766
30767 2015-03-31 Martin Liska <mliska@suse.cz>
30768
30769 PR ipa/65557
30770 * ipa-icf.c (sem_function::equals_wpa): Check if IPA CP
30771 has already filled up function summary.
30772 (sem_item_optimizer::update_hash_by_addr_refs): Likewise.
30773
30774 2015-03-31 Richard Biener <rguenther@suse.de>
30775
30776 * tree-sra.c (create_access_replacement): Drop under-/over-alignment
30777 of types.
30778
30779 2015-03-31 Dominik Vogt <vogt@linux.vnet.ibm.com>
30780
30781 * config/s390/s390.c (s390_function_num_hotpatch_hw): Allow hotpatching
30782 nested functions.
30783 (s390_reorg): Adapt to new signature of s390_function_num_hotpatch_hw.
30784 (s390_asm_output_function_label): Adapt to new signature of
30785 s390_function_num_hotpatch_hw
30786 Optimise the code generating assembler output.
30787 Add comments to assembler file.
30788
30789 2015-03-31 Richard Biener <rguenther@suse.de>
30790
30791 PR middle-end/65626
30792 * tree-cfgcleanup.c (fixup_noreturn_call): Only split the block
30793 of the noreturn call so it is last and cleanup_control_flow_bb
30794 can do the CFG part.
30795
30796 2015-03-31 Ilya Enkovich <ilya.enkovich@intel.com>
30797
30798 PR target/65531
30799 * ipa-chkp.c (chkp_maybe_create_clone): Don't set
30800 same_comdat_group for external symbols.
30801 * symtab.c (symtab_node::verify_symtab_nodes): Avoid
30802 infinite same_comdat_group traversal loop.
30803
30804 2015-03-31 Jakub Jelinek <jakub@redhat.com>
30805
30806 PR plugins/61176
30807 * Makefile.in (install-plugin): Add all gcc/*.{h,def} files
30808 automatically to $headers.
30809
30810 2015-03-30 Jakub Jelinek <jakub@redhat.com>
30811
30812 PR ipa/65610
30813 * ipa-utils.h (inlined_polymorphic_ctor_dtor_block_p): Declare.
30814 * ipa-polymorphic-call.c (inlined_polymorphic_ctor_dtor_block_p): New
30815 function.
30816 (decl_maybe_in_construction_p, noncall_stmt_may_be_vtbl_ptr_store):
30817 Use it.
30818 * ipa-prop.c (param_type_may_change_p): Likewise.
30819 * tree-ssa-live.c: Include ipa-utils.h and its dependencies.
30820 (remove_unused_scope_block_p): Add in_ctor_dtor_block
30821 argument. Before inlining, preserve
30822 inlined_polymorphic_ctor_dtor_block_p blocks and the outermost block
30823 with FUNCTION_DECL BLOCK_ABSTRACT_ORIGIN inside of them. Adjust
30824 recursive calls.
30825 (remove_unused_locals): Adjust remove_unused_scope_block_p caller.
30826
30827 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
30828
30829 PR ipa/65076
30830 * ipa-inline.c (edge_badness): Base denominator on callee's
30831 grwoth squared.
30832
30833 2015-03-27 Martin Jambor <mjambor@suse.cz>
30834
30835 PR ipa/65478
30836 * params.def (PARAM_IPA_CP_RECURSION_PENALTY) : New.
30837 (PARAM_IPA_CP_SINGLE_CALL_PENALTY): Likewise.
30838 * ipa-prop.h (ipa_node_params): New flags node_within_scc and
30839 node_calling_single_call.
30840 * ipa-cp.c (count_callers): New function.
30841 (set_single_call_flag): Likewise.
30842 (initialize_node_lattices): Count callers and set single_flag_call if
30843 necessary.
30844 (incorporate_penalties): New function.
30845 (good_cloning_opportunity_p): Use it, dump new flags.
30846 (propagate_constants_topo): Set node_within_scc flag if appropriate.
30847 * doc/invoke.texi (ipa-cp-recursion-penalty,
30848 ipa-cp-single-call-pentalty): Document.
30849
30850 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
30851
30852 PR ipa/65588
30853 * symtab.c (symtab_node::get_partitioning_class): Register vars
30854 are duplicated.
30855 * varpool.c (symbol_table::output_variables) Do not assemble unefined
30856 decls for non-symbols.
30857
30858 2015-03-27 H.J. Lu <hongjiu.lu@intel.com>
30859
30860 PR target/65248
30861 * output.h (default_binds_local_p_2): New.
30862 * varasm.c (default_binds_local_p_2): Renamed to ...
30863 (default_binds_local_p_3): This. Don't return true on protected
30864 data symbol if protected data may be external.
30865 (default_binds_local_p): Use default_binds_local_p_3.
30866 (default_binds_local_p_1): Likewise.
30867 (default_binds_local_p_2): New.
30868 * config/i386/i386.c (TARGET_BINDS_LOCAL_P): Set to
30869 default_binds_local_p_2 if TARGET_MACHO is undefined.
30870
30871 2015-03-27 Jakub Jelinek <jakub@redhat.com>
30872
30873 PR target/65593
30874 * config/i386/i386.c (legitimize_pic_address): If base
30875 is SYMBOL_REF or LABEL_REF using %rip addressing, force
30876 it to reg to avoid PLUS of SYMBOL_REF/LABEL_REF and register.
30877
30878 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
30879
30880 PR target/65531
30881 * symtab.c (symtab_node::verify_symtab_nodes): Fix verification of
30882 comdat groups.
30883
30884 2015-03-27 Jan Hubicka <hubicka@ucw.cz>
30885
30886 PR ipa/65600
30887 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Fix the case
30888 of optimized out indirect call.
30889 (redirect_to_unreachable): Always build symbol table node for
30890 BUILT_IN_UNREACHABLE
30891
30892 2015-03-27 Vladimir Makarov <vmakarov@redhat.com>
30893
30894 PR target/65407
30895 * ira-costs.c (record_reg_classes): Process all constraint string
30896 containing 0-9.
30897
30898 2015-03-27 Bernd Schmidt <bernds@codesourcery.com>
30899
30900 * config/c6x/c6x.md (movmisalign<mode>): Use MEM_P, not
30901 memory_operand.
30902
30903 PR target/65052
30904 * config/c6x/constraints.md (S3): New constraint.
30905 * config/c6x/c6x.md (real_jump): Use it.
30906
30907 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30908
30909 PR middle-end/65595
30910 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Only
30911 do redirection if the call is not optimized out.
30912
30913 2015-03-27 Ilya Enkovich <ilya.enkovich@intel.com>
30914
30915 PR target/65495
30916 * c-family/c.opt (fcheck-pointer-bounds): List supported languages.
30917 (fchkp-check-incomplete-type): Add LTO.
30918 (fchkp-zero-input-bounds-for-main): Likewise.
30919 (fchkp-first-field-has-own-bounds): Likewise.
30920 (fchkp-narrow-bounds): Likewise.
30921 (fchkp-narrow-to-innermost-array): Likewise.
30922 (fchkp-use-static-bounds): Likewise.
30923 (fchkp-use-static-const-bounds): Likewise.
30924 (fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
30925
30926 2015-03-27 Marek Polacek <polacek@redhat.com>
30927
30928 * gimple-iterator.h (gsi_prev_nondebug): Fix typo.
30929
30930 2015-03-27 Marek Polacek <polacek@redhat.com>
30931
30932 PR sanitizer/65583
30933 * ubsan.c (ubsan_create_edge): New function.
30934 (instrument_bool_enum_load): Call it.
30935 (instrument_nonnull_arg): Likewise.
30936 (instrument_nonnull_return): Likewise.
30937 (instrument_object_size): Likewise.
30938
30939 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30940
30941 * lto-streamer.h (class lto_location_cache): Turn loc_cache into
30942 auto_vec.
30943
30944 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30945
30946 PR lto/65536
30947 * lto-streamer.h (class lto_location_cache): New.
30948 (struct data_in): Add location_cache.
30949 (lto_input_location): Update prototype.
30950 (stream_input_location_now): New.
30951 * streamer-hooks.h (struct streamer_hooks): Make input_location to take
30952 pointer to location.
30953 (stream_input_location): Update.
30954 * ipa-devirt.c: Include streamer-hooks.h and lto-streamer.h
30955 (warn_odr): Apply location cache before warning.
30956 (lto_input_location): Update prototype.
30957 * gimple-streamer-in.c (input_phi, input_gimple_stmt):
30958 Use stream_input_location_now.
30959 * lto-streamer-in.c (lto_location_cache::current_cache): New static
30960 variable.
30961 (lto_location_cache::cmp_loc): New function.
30962 (lto_location_cache::apply_location_cache): New function.
30963 (lto_location_cache::accept_location_cache): New function.
30964 (lto_location_cache::revert_location_cache): New function.
30965 (lto_location_cache::input_location): New function.
30966 (lto_input_location): Do location caching.
30967 (stream_input_location_now): New function.
30968 (input_eh_region, input_struct_function_base): Use
30969 stream_input_location_now.
30970 (lto_data_in_create): use new.
30971 (lto_data_in_delete): Use delete.
30972 * tree-streamer-in.c (unpack_ts_block_value_fields,
30973 unpack_ts_omp_clause_value_fields, streamer_read_tree_bitfields,
30974 lto_input_ts_exp_tree_pointers): Update for cached location api.
30975
30976 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30977
30978 PR ipa/65076
30979 * passes.def: Add pass_nothrow.
30980 * ipa-pure-const.c: (pass_data_nothrow): New.
30981 (pass_nothrow): New.
30982 (pass_nothrow::execute): New.
30983 (make_pass_nothrow): New.
30984 * tree-pass.h (make_pass_nothrow): Declare.
30985
30986 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30987
30988 * ipa-inline-analysis.c (redirect_to_unreachable): Be prepared for
30989 edge to change by speculation resolution or redirection.
30990 (edge_set_predicate): Likewise.
30991 (inline_summary_t::duplicate): Likewise.
30992 (remap_edge_summaries): Likewise.
30993
30994 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
30995
30996 * ipa-inline.c (check_maybe_up, check_maybe_down, check_match):
30997 New macros.
30998 (can_inline_edge_p): Relax option matching for always inline functions.
30999
31000 2015-03-26 Uros Bizjak <ubizjak@gmail.com>
31001
31002 PR target/65561
31003 * config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm):
31004 Check operand 4 and operand 0 for equality.
31005 (avx512f_vextract<shuffletype>32x4_1_maskm):
31006 Check operand 6 and operand 0 for equality.
31007 (vec_extract_lo_<mode>_maskm): Check operand 2 and operand 0
31008 for equality.
31009 (vec_extract_hi_<mode>_maskm): Ditto.
31010
31011 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
31012
31013 * cgraph.c (cgraph_update_edges_for_call_stmt_node): Do not bring
31014 dead calls back to live.
31015 (cgraph_edge::verify_count_and_frequency): Move cgraph/cfg frequency
31016 cross check to ...
31017 (cgraph_node::verify_node): ... here; verify only callee edges,
31018 not caller.
31019 * cif-code.def (CILK_SPAWN): New code.
31020
31021 2015-03-26 Jan Hubicka <hubicka@ucw.cz>
31022
31023 * ipa-inline-analysis.c (redirect_to_unreachable): New function.
31024 (edge_set_predicate): Use it to mark unreachable edges.
31025 (inline_summary_t::duplicate): Remove unnecesary code.
31026 (remap_edge_summaries): Likewise.
31027 (dump_inline_summary): Report contains_cilk_spawn.
31028 (compute_inline_parameters): Compute contains_cilk_spawn.
31029 (inline_read_section, inline_write_summary): Stream
31030 contains_cilk_spawn.
31031 * ipa-inline.c (can_inline_edge_p): Do not touch
31032 DECL_STRUCT_FUNCTION that may not be available;
31033 use CIF_CILK_SPAWN for cilk; fix optimization attribute checks;
31034 remove check for callee_fun->can_throw_non_call_exceptions and
31035 replace it by optimization attribute check; check for flag_exceptions.
31036 * ipa-inline-transform.c (inline_call): Maintain
31037 DECL_FUNCTION_PERSONALITY
31038 * ipa-inline.h (inline_summary): Add contains_cilk_spawn.
31039
31040 2015-03-26 Jakub Jelinek <jakub@redhat.com>
31041
31042 PR tree-optimization/65551
31043 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use
31044 TYPE_PRECISION only for INTEGRAL_TYPE_P types.
31045
31046 2015-03-26 Richard Biener <rguenther@suse.de>
31047
31048 PR middle-end/65555
31049 * tree-cfg.c (verify_gimple_call): Do not require a call to
31050 have no LHS if it wasn't recognized as control altering yet.
31051
31052 2015-03-26 Jakub Jelinek <jakub@redhat.com>
31053
31054 PR tree-optimization/64715
31055 * passes.def: Add another instance of pass_object_sizes before ccp1.
31056 * tree-object-size.c (pass_object_sizes::execute): In
31057 first_pass_instance, only handle __bos (, 1) and __bos (, 3)
31058 calls, and keep the call in the IL, as {MIN,MAX}_EXPR of the
31059 __bos result and the computed constant. Remove redundant
31060 checks, obsoleted by gimple_call_builtin_p test.
31061
31062 * var-tracking.c (variable_tracking_main_1): Don't track
31063 variables for targetm.no_register_allocation targets.
31064
31065 2015-03-26 Oleg Endo <olegendo@gcc.gnu.org>
31066
31067 * config/sh/t-linux (DEFAULT_ENDIAN, MULTILIB_EXCEPTIONS): Remove.
31068 * config/sh/t-sh (MULTILIB_EXCEPTIONS): Handle default endian.
31069
31070 2015-03-25 Michael Meissner <meissner@linux.vnet.ibm.com>
31071
31072 PR target/65569
31073 * config/rs6000/rs6000.md (extenddftf2_fprs): On VSX systems use
31074 XXLXOR to create 0.0. On pre-VSX systems make sure the constant
31075 0.0 is correctly setup.
31076 (extenddftf2_internal): Likewise.
31077
31078 2015-03-25 Sebastian Pop <s.pop@samsung.com>
31079
31080 PR tree-optimization/65177
31081 * tree-ssa-threadupdate.c (verify_seme): Renamed verify_jump_thread.
31082 (bb_in_bbs): New.
31083 (duplicate_seme_region): Renamed duplicate_thread_path. Redirect all
31084 edges not adjacent on the path to the original code.
31085
31086 2015-03-25 Uros Bizjak <ubizjak@gmail.com>
31087
31088 PR bootstrap/65537
31089 * doc/install.texi (Building a native compiler): Document new
31090 bootstrap-lto-noplugin configuration. Mention that bootstrap-lto
31091 configuration assumes that the host supports the linker plugin.
31092
31093 2015-03-25 Ilya Enkovich <ilya.enkovich@intel.com>
31094
31095 PR target/65508
31096 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Set static
31097 chain for generated call.
31098
31099 2015-03-25 Richard Biener <rguenther@suse.de>
31100
31101 * passes.c (pass_manager::execute_early_local_passes): Guard
31102 execution of pass_chkp_instrumentation_passes with
31103 flag_check_pointer_bounds.
31104 (pass_chkp_instrumentation_passes::gate): Likewise.
31105
31106 2015-03-25 Martin Liska <mliska@suse.cz>
31107
31108 PR tree-optimization/65538
31109 * symbol-summary.h (function_summary::~function_summary):
31110 Relese memory for allocated summaries.
31111 (function_summary::release): New function.
31112
31113 2015-03-25 Jakub Jelinek <jakub@redhat.com>
31114
31115 PR lto/65515
31116 * lto-streamer-out.c (DFS::worklist): New struct.
31117 (DFS::worklist_vec): New data member.
31118 (DFS::next_dfs_num): Remove.
31119 (DFS::DFS): Rewritten using worklist instead of recursion,
31120 using most of code from DFS::DFS_write_tree.
31121 (DFS::DFS_write_tree_body): Remove SINGLE_P argument, don't
31122 pass it to DFS_write_tree calls.
31123 (DFS::DFS_write_tree): Remove SINGLE_P argument, after
31124 quick initial checks push it into worklist_vec and return.
31125
31126 2015-03-25 Richard Biener <rguenther@suse.de>
31127
31128 PR middle-end/65519
31129 * genmatch.c (expr::gen_transform): Re-write to avoid
31130 using gimple_build.
31131
31132 2015-03-25 Bin Cheng <bin.cheng@arm.com>
31133
31134 * doc/sourcebuild.texi (arm_tune_string_ops_prefer_neon): New.
31135
31136 2015-03-25 Bin Cheng <bin.cheng@arm.com>
31137
31138 * config/arm/arm.opt (print_tune_info): New option.
31139 * config/arm/arm.c (arm_print_tune_info): New function.
31140 (arm_file_start): Call arm_print_tune_info.
31141 * config/arm/arm-protos.h (struct tune_params): Add comment.
31142 * doc/invoke.texi (@item -mprint-tune-info): New item.
31143 (-mtune): mention it in ARM Option Summary.
31144
31145 2015-03-25 DJ Delorie <dj@redhat.com>
31146
31147 * config/rl78/rl78.c (rl78_print_operand_1): Move 'p' test to
31148 correct clause.
31149
31150 2015-03-24 Jan Hubicka <hubicka@ucw.cz>
31151 Martin Liska <mliska@suse.cz>
31152
31153 * ipa-icf-gimple.h (return_with_result): Add missing colon to dump.
31154 * ipa-icf.c (sem_function::get_hash): Hash new declaration properties.
31155 (sem_item::add_type): New function.
31156 (sem_function::hash_stmt): Add TREE_TYPE of gimple_op.
31157 (sem_function::compare_polymorphic_p): Do not consider indirect calls.
31158 (sem_item_optimizer::update_hash_by_addr_refs): Add ODR type to hash.
31159 (sem_function::equals_wpa): Fix typo.
31160 * ipa-icf.h (sem_item::add_type): New function.
31161 (symbol_compare_hashmap_traits): Replace hashing of pointer with symbol
31162 order.
31163
31164 2015-03-24 Jakub Jelinek <jakub@redhat.com>
31165
31166 PR tree-optimization/65533
31167 * tree-vect-slp.c (vect_build_slp_tree): Before re-trying
31168 with swapped operands, call vect_free_slp_tree on
31169 SLP_TREE_CHILDREN of child and truncate the SLP_TREE_CHILDREN
31170 vector.
31171
31172 2015-03-24 Richard Biener <rguenther@suse.de>
31173
31174 PR middle-end/65517
31175 * tree-cfg.c (remove_edge_and_dominated_blocks): Mark loops
31176 for fixup if necessary.
31177
31178 2015-03-23 Sandra Loosemore <sandra@codesourcery.com>
31179
31180 * doc/extend.texi (Function Attributes): Add @cindex entries
31181 for all attributes and regularize their format. Delete text
31182 about long-obsolete 68HC11 and 68HC12 targets. Move misplaced
31183 information about "eightbit_data", "tiny_data", and "model"
31184 variable attributes to the Variable Attributes section. Fix
31185 some obvious typos and copy-editing issues.
31186 (Variable Attributes, Type Attributes): Likewise add/fix
31187 @cindex entries for all attributes.
31188
31189 2015-03-23 Jakub Jelinek <jakub@redhat.com>
31190
31191 PR target/65523
31192 * tree-chkp.c (chkp_build_returned_bound): Ignore
31193 ERF_RETURNS_ARG calls if they have fewer than needed arguments.
31194
31195 2015-03-23 Oleg Endo <olegendo@gcc.gnu.org>
31196
31197 PR target/65505
31198 * config/sh/predicates.md (simple_mem_operand,
31199 displacement_mem_operand): Add test for reg.
31200 (short_displacement_mem_operand): Test for displacement_mem_operand
31201 before invoking sh_disp_addr_displacement.
31202 * config/sh/constraints.md (Sdd, Sra): Simplify.
31203 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1):
31204 Remove redundant displacement_mem_operand tests.
31205
31206 2015-03-23 Georg-Johann Lay <avr@gjlay.de>
31207
31208 PR target/65296
31209 * config/avr/driver-avr.c (avr_devicespecs_file): Allow to specify
31210 the same -mmcu=MCU more than once.
31211
31212 2015-03-23 Jakub Jelinek <jakub@redhat.com>
31213
31214 PR bootstrap/65522
31215 * ipa-devirt.c: Remove duplicate demangle.h include.
31216
31217 PR target/65504
31218 * config/i386/i386.c (ix86_copy_addr_to_reg): Set REG_POINTER
31219 on the pseudo.
31220 (expand_set_or_movmem_prologue_epilogue_by_misaligned_moves): Set
31221 REG_POINTER on *destptr after adjusting it for prologue size.
31222
31223 PR ipa/65521
31224 * ipa-icf.c (sem_item::update_hash_by_addr_refs): Hash
31225 ultimate_alias_target ()->order ints instead of
31226 ultimate_alias_target () pointers.
31227
31228 2015-03-23 Richard Biener <rguenther@suse.de>
31229
31230 PR tree-optimization/65518
31231 * tree-vect-stmts.c (vectorizable_load): Reject single-element
31232 interleaving cases we generate absymal code for.
31233
31234 2015-03-23 Richard Biener <rguenther@suse.de>
31235
31236 PR tree-optimization/65494
31237 * tree-vect-slp.c (vect_build_slp_tree): Do not (re-)allocate
31238 matches here.
31239 (vect_analyze_slp_instance): But do that here, always and once.
31240
31241 2015-03-23 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
31242
31243 * expmed.c (synth_mult): Fix comment about multiplying by T-1 and
31244 adding T or multiplying by T+1 and subracting T.
31245
31246 2015-03-22 Jeff Law <law@redhat.com>
31247
31248 PR rtl-optimization/64317
31249 * Makefile.in (OBJS): Add gcse-common.c
31250 * gcse.c: Include gcse-common.h
31251 (struct modify_pair_s): Move structure definition to gcse-common.h
31252 (compute_transp): Move function to gcse-common.c.
31253 (canon_list_insert): Similarly.
31254 (record_last_mem_set_info): Break out some code and put it into
31255 gcse-common.c. Call into the new common code.
31256 (compute_local_properties): Pass additional arguments to compute_transp.
31257 * postreload-gcse.c: Include gcse-common.h and df.h
31258 (modify_mem_list_set, blocks_with_calls): New variables.
31259 (modify_mem_list, canon_modify_mem_list, transp): Likewise.
31260 (get_bb_avail_insn): Pass in the expression index too.
31261 (alloc_mem): Allocate memory for the new bitmaps and lists.
31262 (free_mem): Free memory for the new bitmaps and lists.
31263 (insert_expr_in_table): Record a bitmap index for each entry we
31264 add to the table.
31265 (record_last_mem_set_info): Call into common code in gcse-common.c.
31266 (get_bb_avail_insn): If no available insn was found in the requested
31267 BB. If BB has a single predecessor, see if the expression is
31268 transparent in BB and available in that single predecessor.
31269 (compute_expr_transp): New wrapper for compute_transp.
31270 (eliminate_partially_redundant_load): Pass expression's bitmap_index
31271 to get_bb_avail_insn. Compute next_pred_bb_end a bit later.
31272 (gcse_after_reload_main): If there are elements in the hash table,
31273 then compute transparency for all the elements in the hash table.
31274 * gcse-common.h: New file.
31275 * gcse-common.c: New file.
31276
31277 2015-03-22 Sandra Loosemore <sandra@codesourcery.com>
31278
31279 * doc/cpp.texi (Search Path): Hyphenate "command-line" when used
31280 as an adjective.
31281 (System Headers): Likewise.
31282 (Ifdef): Likewise.
31283 (Traditional macros): Likewise.
31284 (Invocation): Likewise.
31285 (Option Index): Likewise.
31286 * doc/cppopts.texi (-M): Likewise.
31287 (-finput-charset): Likewise.
31288 (--help): Likewise.
31289 * doc.invoke.texi (AVR Options): Likewise.
31290 (V850 Options): Likewise.
31291
31292 2015-03-22 Jan Hubicka <hubicka@ucw.cz>
31293
31294 PR ipa/65475
31295 * ipa-devirt.c: Include demangle.h
31296 (odr_type_d): Add field rtti_broken.
31297 (odr_subtypes_equivalent_p): Do not require name to match.
31298 (compare_virtual_tables): Fix typo; if type already has ODR violation,
31299 bypass the tests; be ready for function referneces in vtables that are
31300 not DECL_VIRTUAL; make warnings to be OPT_Wodr.
31301 (warn_odr): Give up for nameless types.
31302 (warn_types_mismatch): Report mismatch in mangled names;
31303 report mismatch in anonymous namespaces; look into component types to
31304 give useful error; report when mismatch is dragged in from other ODR
31305 type.
31306 (odr_types_equivalent_p): Match types for being polymorphic; avoid
31307 duplicated diagnostics.
31308 (add_type_duplicate): Reorder checks so more informative ones come
31309 first; fix typo; do not output "the extra base is defined here" when
31310 we did not warn.
31311 (BINFO_N_BASE_BINFOS): Relax sanity check.
31312
31313 2015-03-22 Martin Liska <mliska@suse.cz>
31314 Jakub Jelinek <jakub@redhat.com>
31315
31316 * config/i386/i386.c (def_builtin): Set deferred_isa_values for
31317 masks that can potentially include a builtin.
31318 (ix86_add_new_builtins): Introduce fast filter for isa values
31319 that cannot trigger builtin inclusion.
31320
31321 2015-03-22 Martin Liska <mliska@suse.cz>
31322
31323 * ipa-icf.c (sem_item::update_hash_by_addr_refs): New function.
31324 (sem_item::update_hash_by_local_refs): Likewise.
31325 (sem_variable::get_hash): Empty line is fixed.
31326 (sem_item_optimizer::execute): Include adding of hash references.
31327 (sem_item_optimizer::update_hash_by_addr_refs): New function.
31328 (sem_item_optimizer::build_hash_based_classes): Use local hash.
31329 * ipa-icf.h (sem_item::update_hash_by_addr_refs): New function.
31330 (sem_item::update_hash_by_local_refs): Likewise.
31331
31332 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
31333
31334 PR ipa/65502
31335 * ipa-comdats.c (enqueue_references): Walk through thunks.
31336 (ipa_comdats): Likewise.
31337 (set_comdat_group_1): New function.
31338
31339 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
31340
31341 PR ipa/65475
31342 * ipa-devirt.c (add_type_duplicate): Prevail polymorphic type over
31343 non-polymorphic
31344
31345 2015-03-22 Dave Korn <dave.korn.cygwin@gmail.com>
31346 Gerald Pfeifer <gerald@pfeifer.com>
31347
31348 * doc/contrib.texi (Contributors): Update entry for Danny Smith.
31349
31350 2015-03-21 Chung-Lin Tang <cltang@codesourcery.com>
31351 Sandra Loosemore <sandra@codesourcery.com>
31352
31353 * config/nios2/nios2-protos.h (nios2_adjust_call_address): Adjust
31354 function parameter declaration.
31355 * config/nios2/nios2.md (call,call_value,sibcall,sibcall_value):
31356 Update arguments to nios2_adjust_call_address().
31357 (sibcall_internal): Rename from *sibcall.
31358 (sibcall_value_internal): Rename from *sibcall_value.
31359 * config/nios2/nios2.c (nios2_emit_add_constant): New function.
31360 (nios2_large_got_address): Add target temp reg parameter.
31361 (nios2_got_address): Adjust call to nios2_large_got_address, add
31362 force_reg around it.
31363 (nios2_load_pic_address): Add target temp reg parameter, replace call
31364 to nios2_got_address with corresponding code.
31365 (nios2_legitimize_constant_address): Update call to
31366 nios2_load_pic_address.
31367 (nios2_adjust_call_address): Add temp reg parameter, update PIC case
31368 to use temp reg for PIC loading purposes.
31369 (nios2_asm_output_mi_thunk): Implement TARGET_ASM_OUTPUT_MI_THUNK.
31370 (TARGET_ASM_CAN_OUTPUT_MI_THUNK): Define.
31371 (TARGET_ASM_OUTPUT_MI_THUNK): Likewise.
31372
31373 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
31374
31375 * doc/invoke.texi (-fno-diagnostics-show-caret): Fix
31376 usage of "the @option{...}".
31377 (-Wopenmp-simd): Likewise.
31378 (-fsanitize-recover): Likewise.
31379 (-fsanitize-undefined-trap-on-error): Likewise.
31380 (-flto): Likewise.
31381 (tracer-dynamic-coverage-feedback): Likewise.
31382 (reorder-block-duplicate-feedback): Likewise.
31383 (loop-unroll-jam-size): Likewise.
31384 (-B): Likewise.
31385 (-I-): Likewise.
31386 (-mabs=legacy): Likewise.
31387 (-mupper-regs-df): Likewise.
31388 (-mupper-regs-sf): Likewise.
31389 (-mpointers-to-nested-functions): Likewise.
31390
31391 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
31392
31393 * doc/extend.texi (Cilk Plus Builtins): Add markup.
31394
31395 2015-03-21 Sandra Loosemore <sandra@codesourcery.com>
31396
31397 * doc/invoke.texi (-fcheck-pointer-bounds): Copy-edit, add
31398 additional index entries and cross-references.
31399 (-fchkp-check-incomplete-type): Likewise.
31400 (-fchkp-first-field-has-own-bounds): Likewise.
31401 (-fchkp-narrow-to-innermost-array): Likewise.
31402 (-fchkp-use-fast-string-functions): Likewise.
31403 (-fchkp-use-nochk-string-functions): Likewise.
31404 (-fchkp-use-static-const-bounds): Likewise.
31405 (-fchkp-treat-zero-dynamic-size-as-infinite): Likewise.
31406 (-fchkp-instrument-marked-only): Likewise.
31407 (-fchkp-use-wrappers): Likewise.
31408 (-static-libmpx): Likewise.
31409 (-static-libmpxwrappers): Likewise.
31410 * doc/extend.texi (bnd_legacy): Likewise.
31411 (bnd_instrument): Likewise.
31412 (bnd_variable_size): Likewise.
31413 (Pointer Bounds Checker builtins): Likewise.
31414
31415 2015-03-21 Tom de Vries <tom@codesourcery.com>
31416
31417 PR tree-optimization/65458
31418 * cgraph.c (cgraph_node::dump): Handle parallelized_function field.
31419 * cgraph.h (cgraph_node): Add parallelized_function field.
31420 * lto-cgraph.c (lto_output_node): Write parallelized_function field.
31421 (input_overwrite_node): Read parallelized_function field.
31422 * omp-low.c (expand_omp_taskreg, finalize_task_copyfn): Set
31423 parallelized_function on cgraph_node for child_fn.
31424 * tree-parloops.c: Add include of plugin-api.h, ipa-ref.h and cgraph.h.
31425 Remove include of gt-tree-parloops.h.
31426 (parallelized_functions): Remove static variable.
31427 (parallelized_function_p): Rewrite using parallelized_function field of
31428 cgraph_node.
31429 (create_loop_fn): Remove adding to parallelized_functions.
31430 * Makefile.in (GTFILES): Remove tree-parloops.c
31431
31432 2015-03-20 Vladimir Makarov <vmakarov@redhat.com>
31433
31434 PR rtl-optimization/64366
31435 * lra.c (lra_update_insn_regno_info): Consider regs in
31436 CALL_INSN_FUNCTION_USAGE memory.
31437
31438 2015-03-20 Richard Biener <rguenther@suse.de>
31439
31440 PR middle-end/64715
31441 * tree-chrec.c (chrec_fold_poly_cst): Use useless_type_conversion_p
31442 for type comparison and gcc_checking_assert.
31443 (chrec_fold_plus_poly_poly): Likewise.
31444 (chrec_fold_multiply_poly_poly): Likewise.
31445 (chrec_convert_1): Likewise.
31446 * gimplify.c (gimplify_expr): Remove premature folding of
31447 &X + CST to &MEM[&X, CST].
31448
31449 2015-03-20 Jan Hubicka <hubicka@ucw.cz>
31450
31451 * ipa-inline.c (can_inline_edge_p): Short circuit if inline_failed
31452 already is final.
31453 (ipa_inline): Recompute inline_failed codes.
31454 * cif-code.def (FUNCTION_NOT_OPTIMIZED, REDEFINED_EXTERN_INLINE,
31455 USES_COMDAT_LOCAL, ATTRIBUTE_MISMATCH, UNREACHABLE): Declare as
31456 CIF_FINAL_ERROR.
31457
31458 2015-03-20 Uros Bizjak <ubizjak@gmail.com>
31459
31460 PR rtl-optimization/60851
31461 * recog.c (constrain_operands): Accept a pseudo register before reload
31462 for LRA enabled targets.
31463
31464 2015-03-19 Michael Meissner <meissner@linux.vnet.ibm.com>
31465
31466 PR target/65240
31467 * config/rs6000/predicates.md (easy_fp_constant): Remove special
31468 -ffast-math handling that kept non-0 constants live in the RTL
31469 until reload. Remove logic testing the number of instructions it
31470 took to create a constant in a GPR that was never used, due to a
31471 test for soft-float earlier.
31472 (memory_fp_constant): Delete, no longer used.
31473
31474 * config/rs6000/rs6000.md (mov<MODE>_hardfloat): Remove
31475 alternatives for loading non-0 constants into GPRs for hard
31476 floating point that is no longer needed due to changes in
31477 easy_fp_constant. Add support for loading 0.0 into GPRs.
31478 (mov<mode>_hardfloat32): Likewise.
31479 (mov<mode>_hardfloat64): Likewise.
31480 (mov<mode>_64bit_dm): Likewise.
31481 (movtd_64bit_nodm): Likewise.
31482 (pre-reload move FP constant define_split): Delete define_split,
31483 since it is no longer used.
31484 (extenddftf2_internal): Remove GHF constraints that are not valid
31485 for extenddftf2.
31486
31487 2015-03-19 Vladimir Makarov <vmakarov@redhat.com>
31488
31489 PR rtl-optimization/63491
31490 * lra-constraints.c (check_and_process_move): Use src instead of
31491 sreg. Remove some dead code.
31492
31493 2015-03-19 Jan Hubicka <hubicka@ucw.cz>
31494
31495 PR ipa/65380
31496 * ipa-icf.c (sem_function::merge): Do not merge DECL_EXTERNAL symbols.
31497 (sem_variable::merge): Likewise.
31498
31499 2015-03-19 Martin Liska <mliska@suse.cz>
31500
31501 PR ipa/65465
31502 * cgraphunit.c (cgraph_node::create_wrapper): Correctly reset
31503 all fields of cgraph_thunk_info.
31504
31505 2015-03-19 Ilya Enkovich <ilya.enkovich@intel.com>
31506
31507 * ipa-chkp.c (chkp_maybe_create_clone): Don't try to
31508 clone instrumented thunks.
31509
31510 2015-03-19 Richard Biener <rguenther@suse.de>
31511
31512 Revert
31513 2015-03-10 Richard Biener <rguenther@suse.de>
31514
31515 PR middle-end/63155
31516 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
31517 * tree-ssa-coalesce.c: Include timevar.h.
31518 (attempt_coalesce): Handle graph being NULL.
31519 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
31520 Split out abnormal coalescing to ...
31521 (perform_abnormal_coalescing): ... this function.
31522 (coalesce_ssa_name): Perform abnormal coalescing without computing
31523 live/conflict.
31524 (verify_ssa_coalescing_worker): New function.
31525 (verify_ssa_coalescing): Likewise.
31526
31527 2015-03-19 Bernd Edlinger <bernd.edlinger@hotmail.de>
31528 Jakub Jelinek <jakub@redhat.com>
31529
31530 PR sanitizer/65400
31531 * tsan.c (instrument_gimple): Clear tail call flag on
31532 calls.
31533
31534 2015-03-19 Jakub Jelinek <jakub@redhat.com>
31535
31536 PR sanitizer/65400
31537 * ipa-split.c (find_return_bb): Allow TSAN_FUNC_EXIT internal
31538 call in the return bb.
31539 (find_split_points): Add RETURN_BB argument, don't call
31540 find_return_bb.
31541 (split_function): Likewise. Add ADD_TSAN_FUNC_EXIT argument,
31542 if true append TSAN_FUNC_EXIT internal call after the call to
31543 the split off function.
31544 (execute_split_functions): Call find_return_bb here.
31545 Don't optimize if TSAN_FUNC_EXIT is found in unexpected places.
31546 Adjust find_split_points and split_function calls.
31547
31548 2015-03-18 DJ Delorie <dj@redhat.com>
31549
31550 * config/rl78/rl78-virt.md (andqi3_virt): Allow far operands.
31551 (iorqi3_virt): Likewise.
31552
31553 2015-03-18 Tom de Vries <tom@codesourcery.com>
31554
31555 * tree-parloops.c (parallelize_loops): Make static.
31556 * tree-parloops.h (parallelize_loops): Remove extern declaration.
31557
31558 2015-03-18 Andrew Stubbs <ams@codesourcery.com>
31559
31560 PR middle-end/64491
31561 Revert:
31562 2014-11-20 Andrew Stubbs <ams@codesourcery.com>
31563
31564 * tree-ssa-loop-niter.c (maybe_lower_iteration_bound): Warn if a loop
31565 condition would be removed due to undefined behaviour.
31566
31567 2015-03-18 Martin Liska <mliska@suse.cz>
31568
31569 PR ipa/65432
31570 * cgraph.c (cgraph_node::get_create): Remove unnecessary
31571 xstrdup_for_dump wrapper.
31572 * ipa-icf.c (sem_item::dump): Use symtab_node::name instead of
31573 sem_item::name.
31574 (sem_function::equals): Wrap symtab_node::name and symtab_node::asm_name
31575 with xstrdup_for_dump.
31576 (sem_variable::equals): Likewise.
31577 (sem_item_optimizer::read_section): Use symtab_node::name instead of
31578 sem_item::name.
31579 (sem_item_optimizer::parse_funcs_and_vars): Likewise.
31580 (sem_item_optimizer::merge_classes): Wrap symtab_node::name and
31581 symtab_node::asm_name with xstrdup_for_dump.
31582 (congruence_class::dump): Use symtab_node::name instead of
31583 sem_item::name.
31584 * ipa-icf.h (symtab_node::name): Remove.
31585 (symtab_node::asm_name): Likewise.
31586
31587 2015-03-18 Jakub Jelinek <jakub@redhat.com>
31588
31589 PR tree-optimization/65450
31590 * tree-vect-data-refs.c (vect_duplicate_ssa_name_ptr_info): New
31591 function.
31592 (vect_create_addr_base_for_vector_ref, vect_create_data_ref_ptr): Use
31593 it instead of duplicate_ssa_name_ptr_info.
31594
31595 PR target/65222
31596 * doc/invoke.texi: Add knl as x86 -march=/-mtune= CPU type.
31597
31598 2015-03-18 Richard Biener <rguenther@suse.de>
31599
31600 * tree-data-ref.h (struct access_matrix): Remove.
31601 (AM_LOOP_NEST, AM_NB_INDUCTION_VARS, AM_PARAMETERS, AM_MATRIX,
31602 AM_NB_PARAMETERS, AM_CONST_COLUMN_INDEX, AM_NB_COLUMNS,
31603 AM_GET_SUBSCRIPT_ACCESS_VECTOR, AM_GET_ACCESS_MATRIX_ELEMENT): Likewise.
31604 (am_vector_index_for_loop): Likewise.
31605 (struct data_reference): Remove access_matrix member.
31606 (DR_ACCESS_MATRIX): Remove.
31607 (lambda_vector_new): Add comment.
31608 (lambda_matrix_new): Use XOBNEWVEC.
31609
31610 2015-03-18 Richard Biener <rguenther@suse.de>
31611
31612 * tree-ssa-loop-ch.c (pass_data_ch): Remove TODO_cleanup_cfg.
31613 (pass_ch::execute): Cleanup the CFG only if we did sth.
31614 * tree-vect-generic.c (pass_data_lower_vector): Remove TODO_cleanup_cfg.
31615
31616 2015-03-18 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
31617
31618 * expmed.c (synth_mult): Use std::swap instead of manually
31619 swapping algorithms.
31620
31621 2015-03-18 Jakub Jelinek <jakub@redhat.com>
31622
31623 PR target/65078
31624 * config/i386/sse.md (movsi/movdi -> vec_extract_*_0 splitter): New.
31625
31626 2015-03-16 Georg-Johann Lay <avr@gjlay.de>
31627
31628 PR target/65296
31629 * config/avr/avr.opt (-nodevicelib): New option.
31630 * doc/invoke.texi (AVR Options): Document it.
31631 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC) [avr1]: Don't link
31632 libgcc.a, libc.a, libm.a.
31633 * config/avr/specs.h: Same.
31634 * config/avr/gen-avr-mmcu-specs.c (print_mcu): Don't print specs
31635 which don't (directly) depend on the device. Print more help.
31636 (*avrlibc_devicelib) [-nodevicelib]: Don't link libdev.a.
31637 (*cpp): Don't define __AVR_DEV_LIB_NAME__.
31638 * config/avr/driver-avr.c: Remove -nodevicelib from option list in
31639 case of an error.
31640 (avr_devicespecs_file): Use suffix "%s" instead of absolute path
31641 for specs file name.
31642 * config/avr/avr-arch.h (avr_mcu_t) [.library_name]: Remove.
31643 * config/avr/avr-mcus.def: Adjust initializers and comments.
31644
31645 2015-03-16 Jan Hubicka <hubicka@ucw.cz>
31646
31647 * tree-sra.c (ipa_sra_preliminary_function_checks): Use
31648 DECL_ONE_ONLY to check if decl is one only.
31649 * ipa-split.c (consider_split): Limit splitt of one only functions.
31650
31651 2015-03-16 Jakub Jelinek <jakub@redhat.com>
31652
31653 PR tree-optimization/65427
31654 * tree-vect-generic.c (do_cond, expand_vector_scalar_condition): New
31655 functions.
31656 (expand_vector_operations_1): Handle BLKmode vector COND_EXPR.
31657
31658 2015-03-16 Marek Polacek <polacek@redhat.com>
31659
31660 * cgraph.h (add_new_static_var): Remove declaration.
31661 * varpool.c (add_new_static_var): Remove function.
31662
31663 2015-03-16 Jakub Jelinek <jakub@redhat.com>
31664
31665 * omp-low.c (expand_omp_target): Use auto_vec<tree, 11>
31666 instead of vec<tree> * with vec_alloc and release for args.
31667 Adjust all users.
31668
31669 PR middle-end/65431
31670 * omp-low.c (delete_omp_context): Only splay_tree_delete
31671 reduction_map in GIMPLE_OMP_TARGET is_gimple_omp_offloaded
31672 is_gimple_omp_oacc contexts. Don't look at ctx->outer.
31673
31674 2015-03-16 Max Ostapenko <m.ostapenko@partner.samsung.com>
31675
31676 PR sanitizer/64820
31677 * cfgexpand.c (align_base): New function.
31678 (alloc_stack_frame_space): Call it.
31679 (expand_stack_vars): Align prev_frame to be sure
31680 data->asan_vec elements aligned properly.
31681
31682 2015-03-16 Eric Botcazou <ebotcazou@adacore.com>
31683
31684 PR middle-end/65409
31685 * expr.c (store_field): Do not do a direct block copy if the source is
31686 a PARALLEL with BLKmode.
31687
31688 2015-03-16 Tom de Vries <tom@codesourcery.com>
31689
31690 PR middle-end/65414
31691 Revert:
31692 2015-03-12 Tom de Vries <tom@codesourcery.com>
31693
31694 PR rtl-optimization/64895
31695 * lra-lives.c (check_pseudos_live_through_calls): Use
31696 actual_call_used_reg_set instead of call_used_reg_set, if available.
31697
31698 2015-03-16 Alan Modra <amodra@gmail.com>
31699
31700 PR target/63150
31701 * config/rs6000/rs6000.md (bswapdi2): Remove one scratch reg.
31702 Modify Z->r bswapdi splitter to use dest in place of scratch.
31703 In r->Z and Z->r bswapdi splitter rename word_high, word_low
31704 to word1, word2 and rearrange logic to suit.
31705 (bswapdi2_64bit): Remove early clobber on Z->r alternative.
31706 (bswapdi2_ldbrx): Likewise. Remove '??' on r->r.
31707 (bswapdi2_32bit): Remove early clobber on Z->r alternative.
31708 Add one '?' on r->r. Modify Z->r splitter to avoid need for
31709 early clobber.
31710
31711 2015-03-14 Jakub Jelinek <jakub@redhat.com>
31712
31713 PR tree-optimization/65369
31714 * tree-vect-stmts.c (vectorizable_load) <case dr_explicit_realign>:
31715 Set bump to vs * TYPE_SIZE_UNIT (elem_type) - 1 instead of
31716 (vs - 1) * TYPE_SIZE_UNIT (elem_type).
31717
31718 PR tree-optimization/65418
31719 * tree-ssa-reassoc.c (extract_bit_test_mask): If there
31720 are casts in the first PLUS_EXPR operand, ensure tbias and
31721 *totallowp are in the inner type.
31722
31723 PR rtl-optimization/65401
31724 * combine.c (rtx_equal_for_field_assignment_p): Add widen_x
31725 argument. If true, adjust_address_nv of x with big-endian
31726 correction for the mode widening to GET_MODE (y).
31727 (make_field_assignment): Don't do MEM mode widening here.
31728 Use MEM_P instead of GET_CODE == MEM.
31729
31730 2015-03-13 Ilya Verbin <ilya.verbin@intel.com>
31731
31732 * varpool.c (varpool_node::get_create): Don't set 'offloadable' flag for
31733 the external decls.
31734
31735 2015-03-13 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
31736
31737 PR target/64600
31738 * config/arm/arm.c (arm_gen_constant, AND case): Use
31739 ARM_SIGN_EXTEND when constructing AND mask.
31740
31741 2015-03-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
31742
31743 * graph.c (print_graph_cfg): Make function names visible and append
31744 parenthesis to it. Also make groups of basic blocks belonging to the
31745 same function visible.
31746
31747 2015-03-12 Richard Biener <rguenther@suse.de>
31748
31749 PR middle-end/44563
31750 * tree-inline.c (gimple_expand_calls_inline): Walk BB backwards
31751 to avoid quadratic behavior with inline expansion splitting blocks.
31752 * tree-cfgcleanup.c (cleanup_tree_cfg_bb): Do not merge block
31753 with the successor if the predecessor will be merged with it.
31754 * tree-cfg.c (gimple_can_merge_blocks_p): We can't merge the
31755 entry block with its successor.
31756
31757 2015-03-13 Richard Biener <rguenther@suse.de>
31758
31759 PR middle-end/44563
31760 * tree-cfgcleanup.c (split_bb_on_noreturn_calls): Remove.
31761 (cleanup_tree_cfg_1): Do not call it.
31762 (execute_cleanup_cfg_post_optimizing): Fixup the CFG here.
31763 (fixup_noreturn_call): Mark the stmt as control altering.
31764 * tree-cfg.c (execute_fixup_cfg): Do not dump the function
31765 here.
31766 (pass_data_fixup_cfg): Produce a dump file.
31767 * tree-ssa-dom.c: Include tree-cfgcleanup.h.
31768 (need_noreturn_fixup): New global.
31769 (pass_dominator::execute): Fixup queued noreturn calls.
31770 (optimize_stmt): Queue calls that became noreturn for fixup.
31771 * tree-ssa-forwprop.c (pass_forwprop::execute): Likewise.
31772 * tree-ssa-pre.c: Include tree-cfgcleanup.h.
31773 (el_to_fixup): New global.
31774 (eliminate_dom_walker::before_dom_childre): Queue calls that
31775 became noreturn for fixup.
31776 (eliminate): Fixup queued noreturn calls.
31777 * tree-ssa-propagate.c: Include tree-cfgcleanup.h.
31778 (substitute_and_fold_dom_walker): New member stmts_to_fixup.
31779 (substitute_and_fold_dom_walker::before_dom_children): Queue
31780 alls that became noreturn for fixup.
31781 (substitute_and_fold): Fixup queued noreturn calls.
31782
31783 2015-03-12 Jan Hubicka <hubicka@ucw.cz>
31784
31785 * ipa-icf.c (sem_function::equals_wpa): Match CXX_CONSTRUCTOR_P
31786 and CXX_DESTURCTOR_P. For consutrctors match ODR type of class they
31787 are building; for methods check ODR type of class they belong to if
31788 they may lead to a polymorphic call.
31789 (sem_function::compare_polymorphic_p): Be bit smarter about testing
31790 when function may lead to a polymorphic call.
31791 (sem_function::compare_type_list): Remove.
31792 (sem_variable::equals): Update use of compatible_types_p.
31793 (sem_variable::parse_tree_refs): Remove.
31794 (sem_item_optimizer::filter_removed_items): Do not filter out CXX
31795 cdtor.
31796 * ipa-icf-gimple.c (func_checker::compare_decl): Do polymorphic
31797 matching here.
31798 (func_checker::compatible_polymorphic_types_p): Break out from ...
31799 (unc_checker::compatible_types_p): ... here.
31800 * ipa-icf-gimple.h (func_checker::compatible_polymorphic_types_p):
31801 Declare.
31802 (unc_checker::compatible_types_p): Update.
31803 * ipa-icf.h (compare_type_list, parse_tree_refs, compare_sections):
31804 Remove.
31805
31806 2015-03-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
31807
31808 PR rtl-optimization/65235
31809 * simplify-rtx.c (simplify_binary_operation_1, VEC_SELECT case):
31810 When first element of vec_concat is const_int, calculate its size
31811 using second element.
31812
31813 2015-03-12 Richard Biener <rguenther@suse.de>
31814
31815 PR middle-end/65270
31816 * fold-const.c (operand_equal_p): Fix ordering of resetting
31817 OEP_ADDRESS_OF and checking for it in the [TARGET_]MEM_REF case.
31818
31819 2015-03-12 Dominik Vogt <vogt@linux.vnet.ibm.com>
31820
31821 * config/s390/s390.c (s390_reorg): Move code to output nops after label
31822 to s390_reorg ().
31823 (s390_asm_output_function_label): Likewise.
31824 * config/s390/s390.c (s390_asm_output_function_label):
31825 Fix function label alignment with -mhtopatch.
31826 * config/s390/s390.md ("unspecv"): New values UNSPECV_NOP_2_BYTE,
31827 UNSPECV_NOP_4_BYTE and UNSPECV_NOP_6_BYTE
31828 ("nop_2_byte"): New define_insn.
31829 ("nop_4_byte"): Likewise.
31830 ("nop_6_byte"): Likewise.
31831 * doc/extend.texi (hotpatch): hotpatch attribute doc fixes.
31832 * doc/invoke.texi (-mhotpatch): -mhotpatch doc fixes.
31833
31834 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
31835
31836 PR target/65103
31837 * config/i386/i386.c (ix86_address_cost): Fix cost of a PIC
31838 register.
31839
31840 2015-03-12 Ilya Enkovich <ilya.enkovich@intel.com>
31841
31842 PR target/65044
31843 * toplev.c (process_options): Restrict Pointer Bounds Checker
31844 usage with Address Sanitizer.
31845
31846 2015-03-12 Richard Biener <rguenther@suse.de>
31847
31848 * tree-cfg.c (gimple_split_block): Remove loop finding stmt
31849 to split on.
31850 * omp-low.c (expand_omp_taskreg): Split block before removing
31851 the stmt.
31852 (expand_omp_target): Likewise.
31853 * ubsan.c (ubsan_expand_null_ifn): Adjust stmt if we replaced it.
31854 * tree-parloops.c (create_call_for_reduction_1): Pass a proper
31855 stmt to split_block.
31856
31857 2015-03-12 Tom de Vries <tom@codesourcery.com>
31858
31859 PR rtl-optimization/64895
31860 * lra-lives.c (check_pseudos_live_through_calls): Use
31861 actual_call_used_reg_set instead of call_used_reg_set, if available.
31862
31863 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
31864
31865 * cgraph.c (cgraph_node::release_body): Free function_in_decl_state.
31866 (cgraph_node::remove): Likewise.
31867 (cgraph_node::get_untransformed_body): Likewise.
31868 * varpool.c (varpool_node::remove): Likewise.
31869 (varpool_node::get_constructor): Add sanity check.
31870
31871 2015-03-11 Sandra Loosemore <sandra@codesourcery.com>
31872
31873 * doc/invoke.texi (-fgnu89-inline): Remove discussion about
31874 old GCC versions.
31875 (-fabi-compat-version): Likewise.
31876 (-ffriend-injection): Likewise.
31877 (-Wdeclaration-after-statement): Likewise.
31878 (-fomit-frame-pointer): Likewise.
31879 (-ftree-coalesce-inlined-vars): Likewise.
31880 (-fvisibility=): Likewise.
31881 * doc/extend.texi (Typeof): Likewise.
31882 (Zero Length): Likewise.
31883 (Escaped Newlines): Likewise.
31884 (Compound Literals): Likewise.
31885 (Function Attributes): Likewise.
31886 (Label Attributes): Likewise.
31887 (Type Attributes): Likewise.
31888 (Function Names): Likewise.
31889 (Other Builtins): Likewise.
31890 (Function Specific Option Pragmas): Likewise.
31891 (C++ Interface): Likewise.
31892
31893 2015-03-11 Thomas Schwinge <thomas@codesourcery.com>
31894
31895 * config/nvptx/nvptx.h (LIBSTDCXX): Define to "gcc".
31896
31897 2015-03-11 Marek Polacek <polacek@redhat.com>
31898
31899 PR tree-optimization/65388
31900 * tree-ssa-tail-merge.c (same_succ_def::equal): Fix typo in comparison.
31901
31902 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
31903
31904 PR target/65296
31905 * configure.ac [avr]: Check as for options -mrmw, --mlink-relax.
31906 * configure: Regenerate.
31907 * config.in: Regenerate.
31908 * doc/invoke.texi (AVR Options) [-mrmw]: Document it.
31909 [-mn-flash]: Document it.
31910 [__AVR_ARCH__]: Document avrtiny.
31911
31912 * config/avr/gen-avr-mmcu-specs.c (config.h): Include it.
31913 (*asm_relax): Only define spec if HAVE_AS_AVR_MLINK_RELAX_OPTION.
31914 (*asm_rmw): Only define spec if HAVE_AS_AVR_MRMW_OPTION.
31915
31916 2015-03-11 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
31917
31918 * doc/invoke.texi: Add missing cpu values (z196, zEC12).
31919
31920 2015-03-11 Michael Meissner <meissner@linux.vnet.ibm.com>
31921
31922 PR target/65242
31923 * config/rs6000/rs6000.c (rs6000_preferred_reload_class): Do not
31924 allow reloads of PLUS in floating point/VSX registers.
31925
31926 2015-03-11 Junmo Park <junmoz.park@samsung.com>
31927
31928 * config/arm/cortex-a57.md (cortex_a57_crypto_simple): Add
31929 crypto_sha256_fast.
31930 (cortex_a57_crypto_complex): Add crypto_sha256_slow.
31931
31932 2015-03-11 Richard Biener <rguenther@suse.de>
31933
31934 PR tree-optimization/65310
31935 * tree-sra.c (build_ref_for_offset): Also preserve larger
31936 alignment.
31937
31938 2015-03-11 Marat Zakirov <m.zakirov@samsung.com>
31939
31940 * asan.c (instrument_derefs): Disable instrumentation on asan-globals=0.
31941
31942 2015-03-10 Jakub Jelinek <jakub@redhat.com>
31943
31944 PR target/65368
31945 * config/i386/i386.md (bmi2_bzhi_<mode>3): Removed define_insn,
31946 new define_expand.
31947 (*bmi2_bzhi_<mode>3, *bmi2_bzhi_<mode>3_1): New define_insns.
31948
31949 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
31950
31951 * ipa-icf.c (sem_function::equals_wpa): Move here some checks from ...
31952 (sem_function::equals_wpa): ... here.
31953
31954 2015-03-10 Marek Polacek <polacek@redhat.com>
31955 Jakub Jelinek <jakub@redhat.com>
31956
31957 PR sanitizer/65367
31958 * ubsan.c (ubsan_expand_objsize_ifn): Update GSI instead of GSI_ORIG
31959 when only removing the statement. Handle expanding UBSAN_OBJECT_SIZE
31960 separately.
31961
31962 2015-03-10 Jakub Jelinek <jakub@redhat.com>
31963
31964 PR target/65286
31965 * config/rs6000/t-linux: For powerpc64* target set
31966 MULTILIB_OSDIRNAMES instead of MULTIARCH_DIRNAME.
31967
31968 2015-03-10 Richard Biener <rguenther@suse.de>
31969
31970 PR middle-end/44563
31971 * tree-inline.c (copy_cfg_body): Skip block mapped to entry/exit
31972 for redirect_all_calls.
31973
31974 2015-03-10 Marek Polacek <polacek@redhat.com>
31975
31976 * gdbinit.in (pcfun): Define and document.
31977
31978 2015-03-10 Ilya Verbin <ilya.verbin@intel.com>
31979
31980 * config/i386/intelmic-mkoffload.c: Include intelmic-offload.h instead
31981 of libgomp-plugin.h.
31982 (find_target_compiler): Support a case when the path to gcc is
31983 specified in the PATH env var, so COLLECT_GCC doesn't contain a path.
31984 (generate_host_descr_file): Use GOMP_DEVICE_INTEL_MIC from
31985 intelmic-offload.h instead of OFFLOAD_TARGET_TYPE_INTEL_MIC from
31986 libgomp-plugin.h.
31987 (main): Use GCC_INSTALL_NAME as target_driver_name.
31988 * config/i386/t-intelmic (CFLAGS-mkoffload.o): Add GCC_INSTALL_NAME
31989 define.
31990 (mkoffload.o): Remove obsolete include path and defines.
31991 (mkoffload$(exeext)): Use $(LINKER) instead of $(COMPILER).
31992
31993 2015-03-10 Richard Biener <rguenther@suse.de>
31994
31995 PR middle-end/63155
31996 * tree-ssa-coalesce.h (verify_ssa_coalescing): Declare.
31997 * tree-ssa-coalesce.c: Include timevar.h.
31998 (attempt_coalesce): Handle graph being NULL.
31999 (coalesce_partitions): Call verify_ssa_coalescing if ENABLE_CHECKING.
32000 Split out abnormal coalescing to ...
32001 (perform_abnormal_coalescing): ... this function.
32002 (coalesce_ssa_name): Perform abnormal coalescing without computing
32003 live/conflict.
32004 (verify_ssa_coalescing_worker): New function.
32005 (verify_ssa_coalescing): Likewise.
32006
32007 2015-03-10 Georg-Johann Lay <avr@gjlay.de>
32008
32009 PR target/65296
32010 * config.gcc (extra_options) [avr]: Remove.
32011 (extra_gcc_objs) [avr]: Use driver-avr.o, avr-devices.o.
32012 (tm_file) [avr]: Add avr/specs.h after avr/avr.h.
32013 (tm_defines) [avr-*-rtems*]: Add WITH_RTEMS.
32014
32015 * config/avr/avr.opt (config/avr/avr-arch.h): Remove include.
32016 (-mmcu=): Add Var and MissingArgError properties.
32017 (-march=): Remove.
32018 * config/avr/genmultilib.awk: Use -mmcu= instead of -march=.
32019 * config/avr/t-multilib: Regenerate.
32020 * config/avr/specs.h: New file.
32021 * config/avr/driver-avr.c: New file.
32022 * config/avr/genopt.sh: Remove file.
32023 * config/avr/avr-tables.opt: Remove file.
32024 * config/avr/predicates.md (avr_current_arch): Rename to avr_arch.
32025 * config/avr/avr-c.c: Same.
32026 * avr-arch.h: Same.
32027 (avr_current_device): Remove proto.
32028 * config/avr/avr.h (avr_current_arch): Rename to avr_arch.
32029 (AVR_HAVE_8BIT_SP): Don't depend on avr_current_device.
32030 (EXTRA_SPEC_FUNCTIONS): Define.
32031 (avr_devicespecs_file): New specs function proto.
32032 (DRIVER_SELF_SPECS): Use device-specs-file spec function.
32033 * config/avr/avr.c (avr_current_arch): Rename to avr_arch.
32034 (avr_current_device): Remove definition and usage.
32035 (avr_set_core_architecture): New static function.
32036 (avr_option_override): Use it.
32037 * config/avr/avr-devices.c (diagnostic.h, avr-arch.h): Include them.
32038 (mcu_name): New static array.
32039 (comparator, avr_archs_str, avr_mcus_str): New static functions.
32040 (avr_inform_devices, avr_inform_core_architectures): New functions.
32041 * config/avr/gen-avr-mmcu-specs.c (avr-arch.h, specs.h): Include.
32042 (avrlibc.h) [WITH_AVRLIBC]: Include.
32043 (../rtems.h, rtems.h) [WITH_RTEMS]: Include.
32044 (print_mcu): Rewrite from scratch.
32045 * config/avr/avrlibc.h (LIB_SPEC, LIBGCC_SPEC, STARTFILE_SPEC):
32046 Forward to avr-specific specs defined in device-specs file.
32047 * config/avr/t-avr (driver-avr.o): New rule.
32048 (avr-devices.o): Depend on avr-arch.h.
32049 (avr-mcus): No more depend on avr-tables.opt.
32050 (avr-tables.opt): Remove rule.
32051 (install-device-specs): Use INSTALL_DATA, not INSTALL_PROGRAM.
32052
32053 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
32054
32055 * c-family/c.opt (fchkp-use-wrappers): New.
32056 * ipa-chkp.c (CHKP_WRAPPER_SYMBOL_PREFIX): New.
32057 (chkp_wrap_function): New.
32058 (chkp_build_instrumented_fndecl): Support wrapped
32059 functions.
32060 * doc/invoke.texi (-fcheck-pointer-bounds): New.
32061 (-fchkp-check-incomplete-type): New.
32062 (-fchkp-first-field-has-own-bounds): New.
32063 (-fchkp-narrow-bounds): New.
32064 (-fchkp-narrow-to-innermost-array): New.
32065 (-fchkp-optimize): New.
32066 (-fchkp-use-fast-string-functions): New.
32067 (-fchkp-use-nochk-string-functions): New.
32068 (-fchkp-use-static-bounds): New.
32069 (-fchkp-use-static-const-bounds): New.
32070 (-fchkp-treat-zero-dynamic-size-as-infinite): New.
32071 (-fchkp-check-read): New.
32072 (-fchkp-check-write): New.
32073 (-fchkp-store-bounds): New.
32074 (-fchkp-instrument-calls): New.
32075 (-fchkp-instrument-marked-only): New.
32076 (-fchkp-use-wrappers): New.
32077 (-static-libmpx): New.
32078 (-static-libmpxwrappers): New.
32079
32080 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
32081
32082 * config/i386/linux-common.h (LIBMPX_WRAPPERSSPEC): New.
32083 (CHKP_SPEC): Add wrappers library.
32084 * c-family/c.opt (static-libmpxwrappers): New.
32085
32086 2015-03-10 Ilya Enkovich <ilya.enkovich@intel.com>
32087
32088 * config/i386/linux-common.h (LIBMPX_LIBS): New.
32089 (LIBMPX_SPEC): New.
32090 (CHKP_SPEC): New.
32091 * gcc.c (CHKP_SPEC): New.
32092 (LINK_COMMAND_SPEC): Add CHKP_SPEC.
32093 * c-family/c.opt (static-libmpx): New.
32094
32095 2015-03-10 Richard Biener <rguenther@suse.de>
32096
32097 PR middle-end/44563
32098 * cgraph.h (struct cgraph_edge_hasher): Add hash overload
32099 for compare_type.
32100 * cgraph.c (cgraph_edge_hasher::hash): Inline htab_hash_pointer.
32101 (cgraph_update_edge_in_call_site_hash): Use cgraph_edge_hasher::hash.
32102 (cgraph_add_edge_to_call_site_hash): Likewise.
32103 (cgraph_node::get_edge): Likewise.
32104 (cgraph_edge::set_call_stmt): Likewise.
32105 (cgraph_edge::remove_caller): Likewise.
32106
32107 2015-03-10 Chung-Ju Wu <jasonwucj@gmail.com>
32108
32109 * config/nds32/nds32.h (callee_saved_regs_size): Rename to ...
32110 (callee_saved_gpr_regs_size): ... this.
32111 (callee_saved_regs_first_regno): Rename to ...
32112 (callee_saved_first_gpr_regno): ... this.
32113 (callee_saved_regs_last_regno) Rename to ...
32114 (callee_saved_last_gpr_regno): ... this.
32115 * config/nds32/nds32.c (nds32_compute_stack_frame): Adjust renamed
32116 variables.
32117 (nds32_initial_elimination_offset): Likewise.
32118 (nds32_expand_prologue): Likewise.
32119 (nds32_expand_epilogue): Likewise.
32120 (nds32_expand_prologue_v3push): Likewise.
32121 (nds32_expand_epilogue_v3pop): Likewise.
32122 * config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push):
32123 Adjust renamed variables.
32124 (nds32_output_stack_pop): Likewise.
32125
32126 2015-03-10 Thomas Preud'homme <thomas.preudhomme@arm.com>
32127
32128 * dominance.c (nearest_common_dominator_for_set): Fix A_Dominated_by_B
32129 code in comment.
32130
32131 2015-03-10 Jakub Jelinek <jakub@redhat.com>
32132
32133 PR rtl-optimization/65321
32134 * cfgexpand.c (expand_debug_expr): Ensure shift amount isn't wider
32135 than shift mode.
32136 * var-tracking.c (use_narrower_mode): Likewise.
32137
32138 2015-03-10 Jan Hubicka <hubicka@ucw.cz>
32139
32140 PR tree-optimization/65355
32141 * varasm.c (notice_global_symbol): Do not produce RTL.
32142 * symtab.c (symtab_node::can_increase_alignment_p): Check for section
32143 anchor.
32144 * tree-vect-data-refs.c (vect_compute_data_ref_alignment): Do not
32145 check for section anchors.
32146
32147 2015-03-10 Alan Modra <amodra@gmail.com>
32148
32149 PR target/65286
32150 * config.gcc (powerpc*-*-linux*): Arrange for powerpc64le-linux
32151 to be single-arch by default. Set cpu_is_64bit for powerpc64
32152 given --with-cpu=native.
32153 * config/rs6000/t-fprules: Do not set default MULTILIB vars.
32154 * config/rs6000/t-linux (MULTIARCH_DIRNAME): Support powerpc64
32155 and powerpc64le.
32156 * config/rs6000/linux64.h (SUBSUBTARGET_OVERRIDE_OPTIONS): Test
32157 rs6000_isa_flags rather than TARGET_64BIT.
32158
32159 2015-03-09 Yoshinori Sato <ysato@users.sourceforge.jp>
32160 Kaz Kojima <kkojima@gcc.gnu.org>
32161
32162 * config/sh/t-linux (MULTILIB_EXCEPTIONS): Define for m2a cases.
32163
32164 2015-03-09 Jakub Jelinek <jakub@redhat.com>
32165
32166 PR lto/65361
32167 * ipa-devirt.c (add_type_duplicate): Don't use DECL_CONTEXT
32168 on a TREE_BINFO, instead use BINFO_TYPE.
32169
32170 2015-03-09 Richard Biener <rguenther@suse.de>
32171
32172 PR middle-end/65270
32173 * tree-core.h (enum operand_equal_flag): Add OEP_ADDRESS_OF.
32174 * fold-const.c (operand_equal_p): When recursing for ADDR_EXPRs
32175 operand set OEP_ADDRESS_OF. Clear it when recursing to non-bases
32176 of that. When comparing dereferences compare alignment.
32177 When comparing MEM_REFs or TARGET_MEM_REFs compare dependence info.
32178
32179 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
32180
32181 * ipa-inline-analysis.c (check_callers): Check
32182 node->can_remove_if_no_direct_calls_and_refs_p.
32183 (growth_likely_positive): Reorganize to call
32184 can_remove_if_no_direct_calls_p later.
32185 * cgraph.h (will_be_removed_from_program_if_no_direct_calls_p,
32186 will_be_removed_from_program_if_no_direct_calls_p): Add
32187 will_inline parameter.
32188 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p,
32189 cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
32190 Handle inliner case correctly.
32191
32192 2015-03-09 Thomas Preud'homme <thomas.preudhomme@arm.com>
32193
32194 PR tree-optimization/63743
32195 * cfgexpand.c (reorder_operands): Also reorder if only second operand
32196 had its definition forwarded by TER.
32197
32198 2015-03-08 Jan Hubicka <hubicka@ucw.cz>
32199
32200 PR lto/65316
32201 * ipa-utils.h (types_odr_comparable): Add strict argument.
32202 * ipa-devirt.c: Fix whitespace;
32203 (odr_hasher): Remove.
32204 (odr_name_hasher, odr_vtable_hasher): New hashers.
32205 (can_be_name_hashed_p): New predicate.
32206 (hash_type_name): remove.
32207 (hash_odr_name): New.
32208 (odr_name_hasher::hash): new.
32209 (can_be_vtable_hashed_p): New.
32210 (hash_odr_vtable): New.
32211 (odr_vtable_hasher::hash): New.
32212 (types_same_for_odr): Add strict parameter.
32213 (types_odr_comparable): Likewise.
32214 (odr_name_hasher::equal): New.
32215 (odr_vtable_hasher::equal): New.
32216 (odr_name_hasher::remove): New.
32217 (odr_hash_type): Change to hash_table<odr_name_hasher>.
32218 (odr_vtable_hash_type): New.
32219 (odr_vtable_hash): New.
32220 (odr_subtypes_equivalent_p): Do strict comparsion.
32221 (add_type_duplicate): Merge type names; cleanup; avoid type
32222 duplicates.
32223 (register_odr_type): Initialize vtable hash.
32224 (build_type_inheritance_graph): Likewise
32225 (get_odr_type): Reorg to use two hashes.
32226 (dump_possible_polymorphic_call_targets): Move sanity check after debug
32227 output.
32228 (ipa_devirt): Dump type_inheritance_graph.
32229 (types_same_for_odr): Add strict mode.
32230
32231 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
32232
32233 PR ipa/65334
32234 * cgraph.h (symtab_node): Add definition_alignment,
32235 can_increase_alignment_p and increase_alignment.
32236 * symtab.c (symtab_node::can_increase_alignment_p,
32237 increase_alignment_1, symtab_node::increase_alignment,
32238 symtab_node::definition_alignment): New.
32239 * tree-vect-data-refs.c (vect_can_force_dr_alignment_p): Use
32240 can_increase_alignment_p.
32241 * tree-vectorizer.c (increase_alignment): Use increase_alignment.
32242 * tree-vect-stmts.c (ensure_base_align): Likewise.
32243 * varasm.c (function_section_1): Use definition_alignment.
32244 (assemble_start_function): Likewise.
32245 (emit_local): likewise.
32246 (build_constant_desc): Likewsie.
32247 (output_constant_def_contents): Likewise.
32248 (place_block_symbol): Likewise.
32249 (output_object_block): Likewise.
32250
32251 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
32252
32253 PR ipa/65316
32254 * tree.c (free_lang_data_in_type): Be sure to keep BINFO_VTABLE
32255 when outputting debug.
32256
32257 2015-03-07 Marek Polacek <polacek@redhat.com>
32258 Martin Uecker <uecker@eecs.berkeley.edu>
32259
32260 PR sanitizer/65280
32261 * doc/invoke.texi: Update description of -fsanitize=bounds.
32262
32263 2015-03-06 Wilco Dijkstra <wilco.dijkstra@arm.com>
32264
32265 * tree-ssa-phiopt.c (neg_replacement): Remove.
32266 (tree_ssa_phiopt_worker): Remove negate optimization.
32267
32268 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
32269
32270 PR ipa/65302
32271 * value-prof.c (gimple_ic): Pure dead eh edges when needed.
32272
32273 2015-03-06 Richard Biener <rguenther@suse.de>
32274
32275 PR middle-end/64928
32276 * tree-ssa-live.h (struct tree_live_info_d): Add livein_obstack
32277 and liveout_obstack members.
32278 (calculate_live_on_exit): Remove.
32279 (calculate_live_ranges): Change declaration.
32280 * tree-ssa-live.c (liveness_bitmap_obstack): Remove global var.
32281 (new_tree_live_info): Adjust.
32282 (calculate_live_ranges): Delete livein when not wanted.
32283 (calculate_live_ranges): Do not initialize liveness_bitmap_obstack.
32284 Deal with partly deleted live info.
32285 (loe_visit_block): Remove temporary bitmap by using
32286 bitmap_ior_and_compl_into.
32287 (live_worklist): Adjust accordingly.
32288 (calculate_live_on_exit): Make static.
32289 * tree-ssa-coalesce.c (coalesce_ssa_name): Tell calculate_live_ranges
32290 we do not need livein.
32291
32292 2015-03-06 Jonathan Wakely <jwakely@redhat.com>
32293
32294 * real.c (real_from_string): Fix typo in assertion.
32295
32296 2015-03-06 Alex Velenko <alex.velenko@arm.com>
32297
32298 * ChangeLog (2015-03-05): Reflect Richard Henderson as actual author of
32299 the patch.
32300
32301 2015-03-05 Jan Hubicka <hubicka@ucw.cz>
32302
32303 * ipa-icf.c (sem_variable::equals_wpa): Check FINAL flags.
32304
32305 2015-03-05 Vladimir Makarov <vmakarov@redhat.com>
32306
32307 PR target/64342
32308 * lra-assigns.c (find_hard_regno_for): Rename to
32309 find_hard_regno_for_1. Add a new parameter.
32310 (find_hard_regno_for): New function using find_hard_regno_for_1.
32311
32312 2015-03-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
32313
32314 PR rtl-optimization/65067
32315 * expmed.c (store_bit_field, extract_bit_field): Reworked the
32316 strict volatile bitfield handling.
32317
32318 2015-03-05 Martin Liska <mliska@suse.cz>
32319
32320 PR ipa/65318
32321 * ipa-icf.c (sem_variable::equals): Compare variables types.
32322
32323 2015-03-05 Richard Henderson <rth@redhat.com>
32324
32325 PR target/65121
32326 * config/arm/arm.c (arm_function_in_section_p): Fix predicate to
32327 correctly check weak symbol binding.
32328
32329 2015-03-05 Steve Ellcey <sellcey@imgtec.com>
32330
32331 PR middle-end/65315
32332 * cfgexpand.c (expand_stack_vars): Update large_align to maximum
32333 needed alignment.
32334
32335 2015-03-05 Martin Liska <mliska@suse.cz>
32336
32337 * ipa-inline.c (inline_small_functions): Set default value to
32338 prevent warning during bootstrap.
32339 * tree.h: Add pragma guard that ignores false positives during
32340 bootstrap.
32341
32342 2015-03-05 Richard Biener <rguenther@suse.de>
32343
32344 PR tree-optimization/65310
32345 * tree-vect-data-refs.c (vect_compute_data_ref_alignment):
32346 Properly preserve alignment of the base of the access.
32347
32348 2015-03-05 Richard Biener <rguenther@suse.de>
32349
32350 PR ipa/65270
32351 * ipa-icf-gimple.c (func_checker::compare_memory_operand):
32352 Compare dependence info.
32353
32354 2015-03-05 Richard Biener <rguenther@suse.de>
32355
32356 PR middle-end/65233
32357 * ipa-polymorphic-call.c: Include tree-ssa-operands.h and
32358 tree-into-ssa.h.
32359 (walk_ssa_copies): Revert last chage. Instead do not walk
32360 SSA names registered for SSA update.
32361
32362 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
32363
32364 PR ipa/65270
32365 * ipa-icf.c (sem_item::compare_cgraph_references): Compare
32366 vtable references for their containing type.
32367 (sem_function::equals_wpa): Compare TYPE_RESTRICT
32368 and type attributes.
32369
32370 2015-03-04 Eric Botcazou <ebotcazou@adacore.com>
32371
32372 * fold-const.c (round_up_loc): Cast divisor to signed on all paths
32373 before negating it.
32374 * stor-layout.c (finalize_record_size): Revert latest change.
32375
32376 2015-03-04 Andreas Tobler <andreast@gcc.gnu.org>
32377
32378 * config/rs6000/t-freebsd64: Remove 32-bit soft-float multilibs.
32379
32380 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
32381
32382 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_p): Rewrite
32383 for correct comdat handling.
32384 (cgraph_node::will_be_removed_from_program_if_no_direct_calls_p):
32385 Likewise.
32386 * cgraph.h (call_for_symbol_and_aliases): Fix formating.
32387 (used_from_object_file_p_worker): Remove.
32388 (cgraph_node::only_called_directly_or_alised): Add
32389 used_from_object_file_p.
32390 * ipa-inline-analysis.c (growth_likely_positive): Optimie.
32391 * ipa-inline-transform.c (can_remove_node_now_p_1): Use
32392 can_remove_if_no_direct_calls_and_refs_p.
32393
32394 2015-03-04 Nick Clifton <nickc@redhat.com>
32395
32396 * config/rl78/rl78.h (enum reg_class): Remove real registers from
32397 General register class.
32398 * config/rl78/rl78-real.md: Replace general register constraints
32399 with real+virtual register constraints.
32400
32401 2015-03-04 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
32402
32403 * config/s390/s390.c (s390_expand_builtin): Exlude non-htm builtins
32404 from checking for -mhtm option.
32405
32406 2015-03-03 Jan Hubicka <hubicka@ucw.cz>
32407
32408 * tree-sra.c (convert_callers): Use call_for_symbol_and_aliases.
32409 (struct ipa_sra_check_caller_data): Add has_thunk field.
32410 (ipa_sra_check_caller): Check for thunk.
32411 (ipa_sra_preliminary_function_checks): Give up on function with
32412 thunks.
32413 (ipa_early_sra): Use call_for_symbol_and_aliases.
32414
32415 2015-03-03 Kaz Kojima <kkojima@gcc.gnu.org>
32416
32417 PR target/65249
32418 * config/sh/sh.md (symGOT_load): Use R0 reg for operands[2] when
32419 called for __stack_chk_guard symbol.
32420
32421 2015-03-03 DJ Delorie <dj@redhat.com>
32422
32423 * config/rl78/rl78-real.md (*addqi_real): Allow SADDR types for
32424 inc/dec.
32425 (*addhi3_real): Likewise.
32426 * config/rl78/rl78-virt.md (*inc<mode>3_virt): Additional
32427 pattern to match incrementing memory.
32428 * config/rl78/predicates.md (rl78_1_2_operand): New.
32429 * config/rl78/rl78.c (rl78_force_nonfar_3): Allow far mem-mem if
32430 it's the same and only mem.
32431 (rl78_alloc_physical_registers_op2): If there's effectively only
32432 one MEM, transcode it into HL.
32433 (rl78_far_p): Reject addresses that aren't legitimate.
32434
32435 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
32436
32437 * fold-const.c (round_up_loc): Cast divisor to HOST_WIDE_INT before
32438 negating it.
32439
32440 * tree-sra.c (pa_sra_preliminary_function_checks): Fix typo in message.
32441
32442 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
32443
32444 Implement call0 ABI for xtensa
32445 * config/xtensa/constraints.md ("a" constraint): Include stack
32446 pointer in case of call0 ABI.
32447 ("q" constraint): Make empty in case of call0 ABI.
32448 ("D" constraint): Include stack pointer in case of call0 ABI.
32449 * config/xtensa/xtensa-protos.h (xtensa_set_return_address,
32450 xtensa_expand_epilogue, xtensa_regno_to_class): Add new function
32451 prototypes.
32452 * config/xtensa/xtensa.c (xtensa_callee_save_size): New
32453 variable.
32454 (xtensa_regno_to_class): Make it a local variable in the
32455 function xtensa_regno_to_class.
32456 (xtensa_function_epilogue, TARGET_ASM_FUNCTION_EPILOGUE): Remove
32457 macro, function prototype and implementation.
32458 (reg_nonleaf_alloc_order): Make it a local variable in the
32459 function order_regs_for_local_alloc.
32460 (xtensa_conditional_register_usage): New function.
32461 (TARGET_CONDITIONAL_REGISTER_USAGE): Define macro.
32462 (xtensa_valid_move): Allow direct moves to stack pointer
32463 register in call0 ABI.
32464 (xtensa_setup_frame_addresses): Only spill register windows in
32465 windowed ABI.
32466 (xtensa_emit_call): Emit call(x)8 or call(x)0 in windowed and
32467 call0 ABI respectively.
32468 (xtensa_function_arg_1): Only mark a7 register for copying in
32469 windowed ABI.
32470 (xtensa_call_save_reg): New function.
32471 (compute_frame_size): Add space for callee saved register
32472 storage to the frame size in call0 ABI.
32473 (xtensa_expand_prologue): Generate code to set up stack frame
32474 and save callee-saved registers in call0 ABI.
32475 (xtensa_expand_epilogue): New function.
32476 (xtensa_set_return_address): New function.
32477 (xtensa_return_addr): Calculate return address in call0 ABI.
32478 (xtensa_builtin_saveregs): Only mark a7 register for copying and
32479 emit copying code in windowed ABI.
32480 (order_regs_for_local_alloc): Add preferred register allocation
32481 order for non-leaf function in call0 ABI.
32482 (xtensa_static_chain): Add atatic chain passing for call0 ABI.
32483 (xtensa_asm_trampoline_template): Add trampoline generation for
32484 call0 ABI.
32485 (xtensa_trampoline_init): Add trampoline initialization for
32486 call0 ABI.
32487 (xtensa_conditional_register_usage, xtensa_regno_to_class): New
32488 functions.
32489 * config/xtensa/xtensa.h (TARGET_WINDOWED_ABI): New macro.
32490 (TARGET_CPU_CPP_BUILTINS): Add built-in define for call0 ABI.
32491 (CALL_USED_REGISTERS): Modify to encode both windowed and call0
32492 ABI call-used registers.
32493 (HARD_FRAME_POINTER_REGNUM): Add frame pointer for call0 ABI.
32494 (INCOMING_REGNO, OUTGOING_REGNO): Use argument unchanged in
32495 call0 ABI.
32496 (REG_CLASS_CONTENTS): Include all registers into the preferred
32497 reload registers set, adjust the set in the
32498 xtensa_conditional_register_usage.
32499 (xtensa_regno_to_class): Drop variable declaration.
32500 (REGNO_REG_CLASS): Redefine to use xtensa_regno_to_class
32501 function.
32502 (WINDOW_SIZE): Define as 8 or 0 for windowed and call0 ABI
32503 respectively.
32504 (FUNCTION_PROFILER): Add _mcount call for call0 ABI.
32505 (TRAMPOLINE_SIZE): Define trampoline size for call0 ABI.
32506 (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 in call0 ABI.
32507 (ASM_OUTPUT_POOL_PROLOGUE): Always generate literal pool
32508 location in call0 ABI.
32509 (EH_RETURN_STACKADJ_RTX): New definition, use a10 for passing
32510 stack adjustment size when handling exception.
32511 (CRT_CALL_STATIC_FUNCTION): Add definition for call0 ABI.
32512 * config/xtensa/xtensa.md (A9_REG, UNSPECV_BLOCKAGE): New
32513 definitions.
32514 ("return" pattern): Generate ret.n/ret in call0 ABI.
32515 ("epilogue" pattern): Expand epilogue.
32516 ("nonlocal_goto" pattern): Use default in call0 ABI.
32517 ("eh_return" pattern): Move implementation to eh_set_a0_windowed,
32518 emit eh_set_a0_* depending on ABI.
32519 ("eh_set_a0_windowed" pattern): Former eh_return pattern.
32520 ("eh_set_a0_call0", "blockage"): New patterns.
32521
32522 2015-03-03 Martin Liska <mliska@suse.cz>
32523
32524 PR ipa/65287
32525 * ipa-icf.c (sem_variable::parse): Skip all alias variables.
32526
32527 2015-03-03 Michael Meissner <meissner@linux.vnet.ibm.com>
32528
32529 PR 65138/target
32530 * config/rs6000/rs6000-tables.opt: Regenerate table.
32531
32532 2015-03-03 Renlin Li <renlin.li@arm.com>
32533
32534 * doc/md.texi (@item ^): Change ? into ^.
32535
32536 2015-03-03 H.J. Lu <hongjiu.lu@intel.com>
32537
32538 * doc/tm.texi: Regenerated.
32539
32540 2015-03-03 Max Filippov <jcmvbkbc@gmail.com>
32541
32542 * builtins.c (expand_builtin_return_addr): Add
32543 RETURN_ADDR_IN_PREVIOUS_FRAME to 'if' condition, remove
32544 surrounding #ifdef.
32545 * config/sparc/sparc.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Change
32546 definition to 1.
32547 * config/xtensa/xtensa.h (RETURN_ADDR_IN_PREVIOUS_FRAME):
32548 Likewise.
32549 * defaults.h (RETURN_ADDR_IN_PREVIOUS_FRAME): Define to 0 if
32550 undefined.
32551 * doc/tm.texi.in (RETURN_ADDR_IN_PREVIOUS_FRAME): Update
32552 paragraph.
32553
32554 2015-03-03 Martin Jambor <mjambor@suse.cz>
32555 Eric Botcazou <ebotcazou@adacore.com>
32556
32557 * tree-sra.c (ipa_sra_check_caller_data): New type.
32558 (has_caller_p): Removed.
32559 (ipa_sra_check_caller): New function.
32560 (ipa_sra_preliminary_function_checks): Use it.
32561
32562 2015-03-03 Martin Liska <mliska@suse.cz>
32563
32564 * ipa-icf.c (sem_item_optimizer::merge_classes): Use bit or
32565 instead of if branch.
32566
32567 2015-03-03 Martin Liska <mliska@suse.cz>
32568
32569 PR ipa/65282
32570 * ipa-icf.c (sem_variable::equals): Fix wrong condition.
32571
32572 2015-03-23 Jeff Law <law@redhat.com>
32573
32574 PR tree-optimization/65241
32575 * tree-ssa-dom.c (lookup_avail_expr): Only modify the avail_expr
32576 hash table if INSERT is true.
32577
32578 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
32579
32580 PR target/65296
32581 * config.gcc (extra_gcc_objs) [avr-*-rtems*]: Remove.
32582
32583 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
32584
32585 PR target/64331
32586 * config/avr/avr.c (context.h, tree-pass.h): Include them.
32587 (avr_pass_data_recompute_notes): New static variable.
32588 (avr_pass_recompute_notes): New class.
32589 (avr_register_passes): New static function.
32590 (avr_option_override): Call it.
32591
32592 2015-03-03 Georg-Johann Lay <avr@gjlay.de>
32593
32594 Fix various problems with specs file generation.
32595
32596 PR target/65296
32597 * config.gcc (extra_gcc_objs) [avr]: Remove.
32598 * config/avr/driver-avr.c: Remove file.
32599 * config/avr/t-avr (driver-avr.o): Remove rule.
32600 (gen-avr-mmcu-specs): Use CXX_FOR_BUILD, CXXFLAGS_FOR_BUILD and
32601 INCLUDES to build. Depend on TM_H.
32602 * config/avr/gen-avr-mmcu-specs.c: Tidy up code. Fix various
32603 build warnings. Fix non-matching types and non-existing %-codes.
32604 (tm.h): Include.
32605 (*lib) [!WITH_AVRLIBC]: Don't link libdev.a.
32606 (*libgcc) [WITH_AVRLIBC]: Add "-lm".
32607 * config/avr/avrlibc.h (LIBGCC_SPEC): Remove definition.
32608 * config/avr/avr.h (DRIVER_SELF_SPECS): Fix handling of -march=.
32609 (CPP_SPEC, CC1PLUS_SPEC, ASM_SPEC, LINK_SPEC, LIB_SPEC)
32610 (LIBGCC_SPEC): Remove definitions.
32611
32612 2015-03-03 Eric Botcazou <ebotcazou@adacore.com>
32613
32614 * config/ia64/ia64.c (expand_vec_perm_interleave_2): Use gen_raw_REG
32615 to create a register in testing mode.
32616
32617 2015-03-03 Martin Liska <mliska@suse.cz>
32618 Jan Hubicka <hubicka@ucw.cz>
32619
32620 PR ipa/65263
32621 * cgraph.c (cgraph_node::has_thunk_p): New function.
32622 * cgraph.h (cgraph_node::has_thunk_p: Likewise.
32623 * ipa-icf.c (redirect_all_callers): Do not redirect thunks.
32624 (sem_function::merge): Assert is changed.
32625
32626 2015-03-03 Martin Liska <mliska@suse.cz>
32627 Martin Jambor <mjambor@suse.cz>
32628
32629 PR ipa/65087
32630 * ipa-icf.c (sem_item_optimizer::execute): Change function
32631 return value to boolean.
32632 (sem_item_optimizer::merge_classes): Likewise.
32633 (ipa_icf_driver): Return TODO_remove_functions in case there's
32634 a merge operation processed.
32635 * ipa-icf.h: Change function return value to boolean.
32636
32637 2015-03-02 Michael Meissner <meissner@linux.vnet.ibm.com>
32638
32639 PR 65138/target
32640 * config/rs6000/rs6000-cpus.def (powerpc64le): Add new generic
32641 processor type for 64-bit little endian PowerPC.
32642
32643 * config/rs6000/rs6000.c (rs6000_option_override_internal): If
32644 -mdebug=reg, print TARGET_DEFAULT. Fix logic to use
32645 TARGET_DEFAULT if there is no default cpu. Fix -mdebug=reg
32646 printing built-in mask so it does not pass NULL pointers.
32647
32648 * doc/invoke.texi (IBM RS/6000 and PowerPC options): Document
32649 -mcpu=powerpc64le.
32650
32651 2015-03-02 Steve Ellcey <sellcey@imgtec.com>
32652
32653 PR target/58158
32654 * config/mips/mips.md (mov<mode>cc): Change ISA_HAS_SEL check to
32655 !ISA_HAS_FP_CONDMOVE.
32656
32657 2015-03-02 Aldy Hernandez <aldyh@redhat.com>
32658
32659 * config/i386/i386.md (*udivmod<mode>4_pow2): Remove
32660 reload_completed.
32661
32662 2015-03-02 Ulrich Drepper <drepper@gmail.com>
32663
32664 * doc/invoke.texi (Options for Code Generation Conventions):
32665 Fix URL of DSO paper.
32666
32667 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
32668
32669 PR ipa/65130
32670 * ipa-inline.c (check_callers): Looks for recursion.
32671 (inline_to_all_callers): Give up on uninlinable or recursive edges.
32672 * ipa-inline-analysis.c (inline_summary_t::duplicate): Do not update
32673 summary of inline clones.
32674 (do_estimate_growth_1): Fix recursion check.
32675
32676 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
32677
32678 PR ipa/64988
32679 * ipa-inline-transform.c (clone_inlined_nodes): Do not dissolve
32680 comdat groups.
32681
32682 2015-03-02 Jan Hubicka <hubicka@ucw.cz>
32683 Aldy Hernandez <aldyh@redhat.com>
32684
32685 PR lto/65276
32686 * ipa-devirt.c (add_type_duplicate): Remove odr_violated assert
32687 when checking TYPE_BINFO.
32688
32689 2015-03-02 Richard Biener <rguenther@suse.de>
32690
32691 PR ipa/65270
32692 * ipa-icf-gimple.c: Include builtins.h.
32693 (func_checker::compare_memory_operand): Compare base alignment.
32694
32695 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
32696
32697 PR target/65184
32698 * config/i386/i386.c (ix86_pass_by_reference): Bounds are never
32699 passed by reference.
32700
32701 2015-03-02 Ilya Enkovich <ilya.enkovich@intel.com>
32702
32703 PR target/65183
32704 * tree-chkp.c (chkp_check_lower): Don't check against
32705 zero bounds for already instrumented functions.
32706 (chkp_check_upper): Likewise.
32707 (chkp_fini): Clean pass local data to avoid wrong reusage.
32708
32709 2015-02-28 Martin Liska <mliska@suse.cz>
32710 Jan Hubicka <hubicka@ucw.cz>
32711
32712 * ipa-icf.c (sem_variable::equals): Improve debug output;
32713 get variable constructor.
32714 (sem_variable::parse): Do not filter out too early; give up on
32715 volatile and register vars.
32716 (sem_item_optimizer::filter_removed_items): Filter out nonreadonly
32717 variables.
32718 * ipa-icf.h (sem_variable::init): Do not set ctor.
32719 (sem_variable::ctor): Remove.
32720
32721 2015-03-01 Aldy Hernandez <aldyh@redhat.com>
32722
32723 PR middle-end/65233
32724 * ipa-polymorphic-call.c (walk_ssa_copies): Handle empty PHIs.
32725
32726 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32727
32728 * ipa-icf.c: Include stor-layout.h
32729 (sem_function::compare_cgraph_references): Rename to ...
32730 (sem_item::compare_cgraph_references): ... this one.
32731 (sem_variable::equals_wpa): New function
32732 (sem_variable::equals): Do not check stuff already verified by
32733 equals_wpa.
32734 (sem_variable::equals): Reorg based on varasm.c:compare_constant.
32735 * ipa-icf.h (sem_item): Add compare_cgraph_references.
32736 (sem_function): Remove compare_cgraph_references.
32737 (sem_variable): Turns equals_wpa into non-inline.
32738
32739 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32740
32741 * ipa-icf.c (sem_function::init): Fix formating; skip GIMPLE_PREDICT.
32742 (sem_item::add_expr): New function.
32743 (sem_function::hash_stmt): Handle operands of most statements.
32744 (sem_variable::get_hash): Hash the actual constructor.
32745 * ipa-icf.h (sem_item): Add add_expr.
32746 (sem_function): Update prototype of hash_stmt
32747
32748 2015-02-28 Martin Liska <mliska@suse.cz>
32749 Jan Hubicka <hubicka@ucw.cz>
32750
32751 PR ipa/65245
32752 * ipa-icf-gimple.c (func_checker::compare_function_decl):
32753 Remove.
32754 (func_checker::compare_variable_decl): Skip symtab vars.
32755 (func_checker::compare_cst_or_decl): Update.
32756 * ipa-icf.c (sem_function::parse): Do not consider aliases.
32757 (sem_function::compare_cgraph_references): Add ADDRESS parameter;
32758 use correct symtab predicates.
32759 (sem_function::equals_wpa): Update uses of compare_cgraph_references.
32760 (sem_variable::parse): Update comment.
32761 (sem_item_optimizer::build_graph): Consider ultimate aliases
32762 for references.
32763
32764 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32765
32766 * ipa-icf-gimple.c (func_checker::compare_operand): Fix handling
32767 of OBJ_TYPE_REF.
32768
32769 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32770
32771 * ipa-icf.c (sem_function::merge): Fix handling of COMDAT.
32772 (sem_variable::merge) Likewise.
32773
32774 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32775
32776 * ipa-inline.c (can_inline_edge_p): Match opt_for_fn on inline
32777 target; also match flag_ipa_devirt.
32778
32779 2015-03-01 Martin Liska <mliska@suse.cz>
32780 Jan Hubicka <hubicka@ucw.cz>
32781
32782 * ipa-icf-gimple.c (func_checker::compare_variable_decl):
32783 Validate variable alignment.
32784 * ipa-icf.c (sem_function::equals_private): Be more precise
32785 about non-common function attributes.
32786 (sem_variable::equals): Likewise.
32787
32788 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32789
32790 PR ipa/65237
32791 * ipa-icf.c (sem_function::merge): Do not attempt to produce alias
32792 across COMDAT group boundary.
32793
32794 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32795
32796 PR ipa/65232
32797 * ipa-icf.c (clear_decl_rtl): New function.
32798 (sem_function::merge): Clear RTL before forming alias.
32799 (sem_variable::merge): Clear RTL before forming alias.
32800
32801 2015-02-28 Jan Hubicka <hubicka@ucw.cz>
32802
32803 PR ipa/65236
32804 * cgraphunit.c (cgraph_node::expand_thunk): Enable return slot opt.
32805
32806 2015-02-28 Xingxing Pan <xxingpan@marvell.com>
32807
32808 * config/aarch64/aarch64.md: (mov<mode>_aarch64): Change type
32809 to neon_to_gp<q>.
32810
32811 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
32812
32813 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): Fix
32814 a typo in the description.
32815
32816 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
32817
32818 PR target/64317
32819 * params.def (PARAM_LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
32820 * params.h (LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF): New.
32821 * lra-constraints.c: Include "params.h".
32822 (EBB_PROBABILITY_CUTOFF): Use
32823 LRA_INHERITANCE_EBB_PROBABILITY_CUTOFF.
32824 (lra_inheritance): Use '<' instead of '<=' for
32825 EBB_PROBABILITY_CUTOFF.
32826 * doc/invoke.texi (lra-inheritance-ebb-probability-cutoff):
32827 Document change.
32828
32829 2015-02-27 Martin Liska <mliska@suse.cz>
32830
32831 * ipa-icf.h (struct symbol_compare_hashmap_traits): Add missing
32832 vector length condition.
32833
32834 2015-02-27 Sandra Loosemore <sandra@codesourcery.com>
32835
32836 * doc/extend.texi (x86 transactional memory intrinsics):
32837 Reorganize discussion of _xbegin. Clarify that the return
32838 value is a bit mask. Expand example and move to end of section.
32839
32840 2015-02-26 Jakub Jelinek <jakub@redhat.com>
32841 Aldy Hernandez <aldyh@redhat.com>
32842
32843 PR rtl-optimization/65220
32844 * config/i386/i386.md (*udivmod<mode>4_pow2): New.
32845
32846 2015-02-27 Vladimir Makarov <vmakarov@redhat.com>
32847
32848 PR target/65032
32849 * lra-remat.c (update_scratch_ops): New.
32850 (do_remat): Call it.
32851 * lra.c (lra_register_new_scratch_op): New. Take code from ...
32852 (remove_scratches): ... here.
32853 * lra-int.h (lra_register_new_scratch_op): New prototype.
32854
32855 2015-02-27 Marek Polacek <polacek@redhat.com>
32856
32857 PR c/65040
32858 * doc/invoke.texi: Update to reflect that -Wformat=2 doesn't enable
32859 -Wformat-signedness anymore.
32860
32861 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32862
32863 * config/s390/s390.c: (s390_atomic_assign_expand_fenv): New
32864 function.
32865 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define macro.
32866
32867 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32868
32869 * config/s390/s390.c (enum s390_builtin):
32870 Add S390_BUILTIN_S390_SFPC and S390_BUILTIN_S390_EFPC.
32871 (code_for_builtin): Add CODE_FOR_s390_sfpc and CODE_FOR_s390_efpc.
32872 (s390_init_builtins): Generate new builtin functions.
32873 * config/s390/s390.md (UNSPECV_SFPC, UNSPECV_EFPC): New constants.
32874 (s390_sfpc, s390_efpc): New pattern definitions.
32875
32876 2015-02-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
32877
32878 * config/s390/s390.c: (enum s390_builtin, s390_expand_builtin):
32879 Rename S390_BUILTIN_max to S390_BUILTIN_MAX.
32880 (s390_builtin_decls): New array.
32881 (s390_init_builtins): Put builtin decls into s390_builtin_decls.
32882 (s390_builtin_decl): New function.
32883 (TARGET_BUILTIN_DECL): Define macro.
32884
32885 2015-02-27 Richard Biener <rguenther@suse.de>
32886
32887 PR middle-end/63175
32888 * builtins.c (get_object_alignment_2): Make sure to re-apply
32889 the ANDed mask after recursing to its operand gets us a new
32890 misalignment bit position.
32891
32892 2015-02-26 Jan Hubicka <hubicka@ucw.cz>
32893 Martin Liska <mliska@suse.cz>
32894
32895 PR bootstrap/65150
32896 * ipa-icf.c (symbol_compare_collection::symbol_compare_colleciton):
32897 Use address_matters_p.
32898 (redirect_all_callers, set_addressable): New functions.
32899 (sem_function::merge): Reorganize and fix merging issues.
32900 (sem_variable::merge): Likewise.
32901 (sem_variable::compare_sections): Remove.
32902 * common.opt (fmerge-all-constants, fmerge-constants): Remove
32903 Optimization flag.
32904 * symtab.c (symtab_node::resolve_alias): When alias has aliases,
32905 redirect them.
32906 (symtab_node::make_decl_local): Set ADDRESSABLE bit when
32907 decl is used.
32908 (address_matters_1): New function.
32909 (symtab_node::address_matters_p): New function.
32910 * cgraph.c (cgraph_edge::verify_corresponds_to_fndecl): Fix
32911 check for merged flag.
32912 * cgraph.h (address_matters_p): Declare.
32913 (symtab_node::address_taken_from_non_vtable_p): Remove.
32914 (symtab_node::address_can_be_compared_p): New method.
32915 (ipa_ref::address_matters_p): Move here from ipa-ref.c; simplify.
32916 * ipa-visibility.c (symtab_node::address_taken_from_non_vtable_p):
32917 Remove.
32918 (comdat_can_be_unshared_p_1) Use address_matters_p.
32919 (update_vtable_references): Fix formating.
32920 * ipa-ref.c (ipa_ref::address_matters_p): Move inline.
32921 * cgraphunit.c (cgraph_node::create_wrapper): Drop UNINLINABLE flag.
32922 * cgraphclones.c: Preserve merged and icf_merged flags.
32923
32924 2015-02-26 Sandra Loosemore <sandra@codesourcery.com>
32925
32926 * doc/extend.texi (Function Attributes): Fix spelling and typos.
32927 (Label Attributes): Likewise.
32928 (Cilk Plus Builtins): Likewise.
32929 (ARC SIMD Built-in Functions): Likewise.
32930 (ARM C Language Extensions (ACLE)): Likewise.
32931 (PowerPC Built-in Functions): Likewise.
32932 (PowerPC Hardware Transactional Memory Built-in Functions):
32933 Likewise.
32934
32935 2015-02-26 Jakub Jelinek <jakub@redhat.com>
32936
32937 PR tree-optimization/65216
32938 * tree-ssa-reassoc.c (rewrite_expr_tree): Force creation of
32939 new stmt and new SSA_NAME for lhs whenever the arguments have
32940 changed and weren't just swapped. Fix comment typo.
32941
32942 PR tree-optimization/65215
32943 * tree-ssa-math-opts.c (find_bswap_or_nop_load): Return false
32944 for PDP endian targets.
32945 (perform_symbolic_merge, find_bswap_or_nop_1, find_bswap_or_nop):
32946 Fix up formatting issues.
32947 (bswap_replace): Likewise. For BYTES_BIG_ENDIAN, if the final access
32948 size is smaller than the original, adjust MEM_REF offset by the
32949 difference of sizes. Use is_gimple_mem_ref_addr instead of
32950 is_gimple_min_invariant test to avoid adding address temporaries.
32951
32952 2015-02-26 Martin Liska <mliska@suse.cz>
32953 Jan Hubicka <hubicka@ucw.cz>
32954
32955 PR ipa/64693
32956 * ipa-icf.c (symbol_compare_collection::symbol_compare_collection): New.
32957 (sem_item_optimizer::subdivide_classes_by_sensitive_refs): New function.
32958 (sem_item_optimizer::process_cong_reduction): Include division by
32959 sensitive references.
32960 * ipa-icf.h (struct symbol_compare_hashmap_traits): New class.
32961 * ipa-ref.c (ipa_ref::address_matters_p): New function.
32962 * ipa-ref.h (ipa_ref::address_matters_p): Likewise.
32963
32964 2015-02-26 Georg-Johann Lay <avr@gjlay.de>
32965
32966 PR target/65192
32967 * config/avr/avr-protos.h (tiny_valid_direct_memory_access_range):
32968 Remove.
32969 * config/avr/avr.c: Same.
32970 (avr_legitimate_address_p) <AVR_TINY, CONSTANT_ADDRESS_P>:
32971 Refuse any constant address not in 0..0xbf.
32972 * config/avr/avr.md (*mov<mode>, *movsf): Remove
32973 tiny_valid_direct_memory_access_range from insn conditions.
32974 (mov<mode>): Don't special-case expansion of avrtiny addresses.
32975
32976 2015-02-26 Oleg Endo <olegendo@gcc.gnu.org>
32977
32978 PR target/61142
32979 * config/sh/sh.c (sh_check_add_incdec_notes): New function.
32980 * config/sh/sh-protos.h (sh_check_add_incdec_notes): Declare it.
32981 * config/sh/predicates.md (const_logical_operand): New predicate.
32982 * config/sh/sh.md: Add new peephole2 patterns.
32983
32984 2015-02-26 Marek Polacek <polacek@redhat.com>
32985
32986 PR ipa/65008
32987 * ipa-inline.c (early_inliner): Recompute inline parameters.
32988
32989 2015-02-26 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
32990
32991 PR target/65171
32992 * config/rs6000/rs6000.c (rs6000_analyze_swaps): Ensure
32993 instructions with TImode operands are included in the analysis.
32994
32995 2015-02-26 Sebastian Pop <s.pop@samsung.com>
32996
32997 * tree-ssa-threadupdate.c (dump_jump_thread_path): Print all edges
32998 of an EDGE_FSM_THREAD.
32999
33000 2015-02-25 Adhemerval Zanella <azanella@linux.vnet.ibm.com>
33001
33002 * config/rs6000/htm.md (tcheck): Fix assembly encoding.
33003
33004 2015-02-25 Aldy Hernandez <aldyh@redhat.com>
33005
33006 PR debug/46102
33007 * dwarf2out.c (dwarf2out_init): Disable -feliminate-dwarf2-dups.
33008
33009 2015-02-26 Sebastian Pop <s.pop@samsung.com>
33010
33011 PR tree-optimization/65048
33012 * tree-ssa-threadupdate.c (valid_jump_thread_path): New.
33013 (thread_through_all_blocks): Call valid_jump_thread_path.
33014 Remove invalid FSM jump-thread paths.
33015
33016 2015-02-26 Jakub Jelinek <jakub@redhat.com>
33017
33018 * passes.c (ipa_write_summaries_1): Call lto_output_init_mode_table.
33019 (ipa_write_optimization_summaries): Likewise.
33020 * tree-streamer.h: Include data-streamer.h.
33021 (streamer_mode_table): Declare extern variable.
33022 (bp_pack_machine_mode, bp_unpack_machine_mode): New inline functions.
33023 * lto-streamer-out.c (lto_output_init_mode_table,
33024 lto_write_mode_table): New functions.
33025 (produce_asm_for_decls): Call lto_write_mode_table when streaming
33026 offloading LTO.
33027 * lto-section-in.c (lto_section_name): Add "mode_table" entry.
33028 (lto_create_simple_input_block): Add mode_table argument to the
33029 lto_input_block constructors.
33030 * ipa-prop.c (ipa_prop_read_section, read_replacements_section):
33031 Likewise.
33032 * data-streamer-in.c (string_for_index): Likewise.
33033 * ipa-inline-analysis.c (inline_read_section): Likewise.
33034 * ipa-icf.c (sem_item_optimizer::read_section): Likewise.
33035 * lto-cgraph.c (input_cgraph_opt_section): Likewise.
33036 * lto-streamer-in.c (lto_read_body_or_constructor,
33037 lto_input_toplevel_asms): Likewise.
33038 (lto_input_mode_table): New function.
33039 * tree-streamer-out.c (pack_ts_fixed_cst_value_fields,
33040 pack_ts_decl_common_value_fields, pack_ts_type_common_value_fields):
33041 Use bp_pack_machine_mode.
33042 * real.h (struct real_format): Add name field.
33043 * lto-streamer.h (enum lto_section_type): Add LTO_section_mode_table.
33044 (class lto_input_block): Add mode_table member.
33045 (lto_input_block::lto_input_block): Add mode_table_ argument,
33046 initialize mode_table.
33047 (struct lto_file_decl_data): Add mode_table field.
33048 (lto_input_mode_table, lto_output_init_mode_table): New prototypes.
33049 * tree-streamer-in.c (unpack_ts_fixed_cst_value_fields,
33050 unpack_ts_decl_common_value_fields,
33051 unpack_ts_type_common_value_fields): Call bp_unpack_machine_mode.
33052 * tree-streamer.c (streamer_mode_table): New variable.
33053 * real.c (ieee_single_format, mips_single_format,
33054 motorola_single_format, spu_single_format, ieee_double_format,
33055 mips_double_format, motorola_double_format,
33056 ieee_extended_motorola_format, ieee_extended_intel_96_format,
33057 ieee_extended_intel_128_format, ieee_extended_intel_96_round_53_format,
33058 ibm_extended_format, mips_extended_format, ieee_quad_format,
33059 mips_quad_format, vax_f_format, vax_d_format, vax_g_format,
33060 decimal_single_format, decimal_double_format, decimal_quad_format,
33061 ieee_half_format, arm_half_format, real_internal_format): Add name
33062 field.
33063 * config/pdp11/pdp11.c (pdp11_f_format, pdp11_d_format): Likewise.
33064
33065 2015-02-26 Yuri Rumyantsev <ysrumyan@gmail.com>
33066
33067 PR target/65161
33068 * config/i386/i386.c (ix86_sched_reorder): Skip instruction
33069 reordering for selective scheduling.
33070
33071 2015-02-26 Terry Guo <terry.guo@arm.com>
33072
33073 * config/arm/arm-cores.def (cortex-m7): Add flag FL_NO_VOLATILE_CE.
33074 * config/arm/arm-protos.h (FL_NO_VOLATILE_CE): New flag.
33075 (arm_arch_no_volatile_ce): Declare new global variable.
33076 * config/arm/arm.c (arm_arch_no_volatile_ce): New global variable.
33077 (arm_option_override): Assign value to arm_arch_no_volatile_ce.
33078 * config/arm/arm.h (arm_arch_no_volatile_ce): Declare it.
33079 (TARGET_NO_VOLATILE_CE): New macro.
33080 * config/arm/arm.md (arm_comparison_operator): Disabled if not allow
33081 volatile memory access in IT block
33082
33083 2015-02-25 Kai Tietz <ktietz@redhat.com>
33084
33085 PR tree-optimization/61917
33086 * tree-vect-loop.c (vectorizable_reduction): Handle obvious case
33087 that reduc_def_stmt is null.
33088
33089 2015-02-25 Martin Liska <mliska@suse.cz>
33090
33091 * ipa-icf-gimple.c (func_checker::compare_variable_decl): Compare
33092 hard register variables.
33093
33094 2015-02-25 Kai Tietz <ktietz@redhat.com>
33095
33096 PR target/64212
33097 * symtab.c (symtab::make_decl_local): Set DECL_IMPORT_P explicit to 0.
33098 (symtab::noninterposable_alias): Likewise.
33099
33100 2015-02-25 Ilya Enkovich <ilya.enkovich@intel.com>
33101
33102 PR target/65167
33103 * config/i386/i386.c (ix86_function_arg_regno_p): Support
33104 bounds registers.
33105 (avoid_func_arg_motion): Add dependencies for BNDSTX insns.
33106
33107 2015-02-25 Alan Lawrence <alan.lawrence@arm.com>
33108
33109 PR target/64997
33110 * config/aarch64/aarch64.md (*xor_one_cmpl<mode>3): Use FP_REGNUM_P
33111 as split condition; force split via '#' in output pattern.
33112
33113 2015-02-25 Richard Biener <rguenther@suse.de>
33114 Kai Tietz <ktietz@redhat.com>
33115
33116 PR tree-optimization/61917
33117 * tree-vect-loop.c (vectorizable_reduction): Allow
33118 vect_internal_def without reduction to exit graceful.
33119
33120 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
33121
33122 PR target/65196
33123 * config/avr/avr.c (avr_adjust_insn_length): Call recog_memoized
33124 only with NONDEBUG_INSN_P.
33125
33126 2015-02-25 Georg-Johann Lay <avr@gjlay.de>
33127
33128 Use variadic macros with avr-log.c.
33129
33130 * config/avr/avr-protos.h (avr_vdump): New prototype.
33131 (avr_log_set_caller_e, avr_log_set_caller_f): Remove protos.
33132 (avr_edump, avr_fdump, avr_dump): (Re)define to use avr_vdump.
33133 * config/avr/avr-log.c: Adjust comments.
33134 (avr_vdump): New function.
33135 (avr_vadump): Pass caller as 2nd argument instead of format string.
33136 (avr_log_caller, avr_log_fdump_e, avr_log_fdump_f)
33137 (avr_log_set_caller_e, avr_log_set_caller_f): Remove.
33138
33139 2015-02-25 Jakub Jelinek <jakub@redhat.com>
33140
33141 PR lto/64374
33142 * target.def (target_option_stream_in): New target hook.
33143 * tree-streamer-in.c (streamer_read_tree_bitfields): Invoke
33144 targetm.target_option.post_stream_in if non-NULL.
33145 * doc/tm.texi.in: Add @hook TARGET_OPTION_POST_STREAM_IN.
33146 * doc/tm.texi: Updated.
33147 * config/i386/i386.c (ix86_function_specific_post_stream_in): New
33148 function.
33149 (TARGET_OPTION_POST_STREAM_IN): Redefine.
33150
33151 2015-02-24 Jeff Law <law@redhat.com>
33152
33153 PR target/65117
33154 * config/xtensa/xtensa.md (zero_cost_loop_start): Reverse numbering
33155 of operand 0 and operand 2.
33156 (zero_cost_loop_end, loop_end): Similarly.
33157
33158 2015-02-24 Aldy Hernandez <aldyh@redhat.com>
33159
33160 * gimple.h (gimple_build_assign): Rename CXX_MEM_STAT_DECL to
33161 CXX_MEM_STAT_INFO.
33162
33163 2015-02-24 DJ Delorie <dj@redhat.com>
33164
33165 * config/rl78/rl78-protos.h (rl78_split_movsi): Accept a mode as well.
33166 * config/rl78/rl78-expand.md (movsf): New, same as movsi.
33167 * config/rl78/rl78.c (rl78_split_movsi): Accept a mode, use it
33168 instead of hardcoding SImode.
33169
33170 2015-02-24 Bernd Schmidt <bernds@codesourcery.com>
33171
33172 * omp-low.c (create_omp_child_function): Tag entrypoint
33173 functions with a special attribute.
33174
33175 2015-02-24 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
33176
33177 PR target/65058
33178 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Drop unused variable.
33179
33180 2015-02-24 Vladimir Makarov <vmakarov@redhat.com>
33181
33182 PR rtl-optimization/65123
33183 * lra-remat.c (operand_to_remat): Check hard regs in insn
33184 definition too.
33185
33186 2015-02-24 Nick Clifton <nickc@redhat.com>
33187
33188 * config/v850/v850.h (ASM_SPEC): Pass -msoft-float/-mhard-float on
33189 to the assembler.
33190
33191 2015-02-24 Thomas Schwinge <thomas@codesourcery.com>
33192
33193 PR libgomp/64625
33194 * omp-builtins.def (BUILT_IN_GOACC_DATA_START): Specify as
33195 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR, not
33196 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR.
33197 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_UPDATE): Specify as
33198 BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR, not
33199 BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR.
33200 (BUILT_IN_GOACC_PARALLEL): Specify as
33201 BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR, not
33202 BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR.
33203 * builtin-types.def
33204 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
33205 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
33206 Remove function types.
33207 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR)
33208 (BT_FN_VOID_INT_SIZE_PTR_PTR_PTR_INT_INT_VAR)
33209 (BT_FN_VOID_INT_OMPFN_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
33210 New function types.
33211
33212 2015-02-24 Georg-Johann Lay <avr@gjlay.de>
33213
33214 * config/avr/stdfix.h [__WITH_AVRLIBC__]: Include <stdfix-avrlibc.h>.
33215
33216 2015-02-24 Jakub Jelinek <jakub@redhat.com>
33217
33218 PR tree-optimization/65170
33219 * wide-int.cc (wi::mul_internal): For the umul_ppmm optimization,
33220 if val[1] < 0, clear also val[2] and return 3.
33221
33222 2015-02-24 Alan Modra <amodra@gmail.com>
33223
33224 PR target/65172
33225 * config/rs6000/rs6000.c (get_memref_parts): Only return true
33226 when *base is a reg. Handle nested plus addresses. Simplify
33227 pre_modify test.
33228
33229 2015-02-22 Max Filippov <jcmvbkbc@gmail.com>
33230
33231 * config/xtensa/xtensa.h (CONSTANT_ALIGNMENT, DATA_ALIGNMENT):
33232 use natural alignment when optimizing for size.
33233
33234 2015-02-23 Kaz Kojima <kkojima@gcc.gnu.org>
33235
33236 PR target/65153
33237 * config/sh/sh.md (movsicc_true+3): Remove peephole.
33238 * config/sh/sh-protos.h (replace_n_hard_rtx): Don't declare.
33239 * config/sh/sh.c (replace_n_hard_rtx): Remove.
33240
33241 2015-02-23 Richard Sandiford <richard.sandiford@arm.com>
33242
33243 PR fortran/63427
33244 * wide-int.cc (wi::from_mpz): Cope with unwrapped values that are
33245 too big for a wide_int. Implement missing wrapping operation.
33246
33247 2015-02-23 Oleg Endo <olegendo@gcc.gnu.org>
33248
33249 PR target/65163
33250 * config/sh/sh.md (swapbsi2, related peephole2): Use const_int -65536
33251 instead of const_int 4294901760.
33252
33253 2015-02-23 Georg-Johann Lay <avr@gjlay.de>
33254
33255 * config/avr/t-avr: Fix typo in comment.
33256
33257 2015-02-21 Richard Sandiford <richard.sandiford@arm.com>
33258
33259 * doc/rtl.texi (fma): Clarify documentation.
33260
33261 2015-02-20 Aldy Hernandez <aldyh@redhat.com>
33262
33263 PR debug/58123
33264 * gimplify.c (gimplify_expr): Prefer location of TRY_FINALLY_EXPR
33265 over input_location.
33266
33267 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
33268
33269 * tree-streamer-in.c (unpack_ts_decl_common_value_fields,
33270 unpack_ts_type_common_value_fields): If ACCEL_COMPILER,
33271 restrict alignments to absolute_biggest_alignment.
33272 * config/i386/i386.c (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT):
33273 Define.
33274 * doc/tm.texi.in (TARGET_ABSOLUTE_BIGGEST_ALIGNMENT): Add.
33275 * doc/tm.texi: Regenerate.
33276 * target.def (absolute_biggest_alignment): New DEFHOOKPOD.
33277
33278 2015-02-20 Vladimir Makarov <vmakarov@redhat.com>
33279
33280 PR target/64172
33281 * ira-color.c (color_pass): Prevent splitting multi-register pseudos.
33282
33283 2015-02-20 Richard Biener <rguenther@suse.de>
33284
33285 PR tree-optimization/65136
33286 * tree-ssa-propagate.c: Include cfgloop.h.
33287 (replace_phi_args_in): Avoid replacing loop latch edge PHI
33288 arguments with constants.
33289
33290 2015-02-20 Jakub Jelinek <jakub@redhat.com>
33291 Martin Liska <mliska@suse.cz>
33292
33293 PR target/63892
33294 * ipa-icf.c (sem_function::merge): If DECL_COMDAT_GROUP (alias->decl),
33295 don't try to create_thunk if stdarg_p. If
33296 !sem_item::target_supports_symbol_aliases_p (), similarly, and try to
33297 redirect_callers if possible.
33298 (sem_item_optimizer::execute): Call unregister_hooks here...
33299 (ipa_icf_driver): ... instead of here.
33300
33301 2015-02-20 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
33302
33303 * config/aarch64/aarch64.md (*aarch64_lshr_sisd_or_int_<mode>3):
33304 Mark operand 0 as earlyclobber in 2nd alternative.
33305 (1st define_split below *aarch64_lshr_sisd_or_int_<mode>3):
33306 Write negated shift amount into QI lowpart operand 0 and use it
33307 in the shift step.
33308 (2nd define_split below *aarch64_lshr_sisd_or_int_<mode>3): Likewise.
33309
33310 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
33311
33312 * cgraph.h (clone_function_name_1): Declare.
33313 * cgraphclones.c (clone_function_name_1): New function.
33314 (clone_function_name): Use it.
33315 * lto-partition.c: Include "stringpool.h".
33316 (must_not_rename, maybe_rewrite_identifier)
33317 (validize_symbol_for_target): New static functions.
33318 (privatize_symbol_name): Use must_not_rename.
33319 (promote_symbol): Call validize_symbol_for_target.
33320 (lto_promote_cross_file_statics): Likewise.
33321 (lto_promote_statics_nonwpa): Likewise.
33322
33323 2015-02-20 Georg-Johann Lay <avr@gjlay.de>
33324
33325 PR target/64452
33326 * config/avr/avr.md (pushhi_insn): New insn.
33327 (push<mode>1): Push virtual regs in one chunk using pushhi1_insn.
33328
33329 2015-02-20 Bernd Schmidt <bernds@codesourcery.com>
33330 Jakub Jelinek <jakub@redhat.com>
33331
33332 * tree-streamer.c (preload_common_nodes): Don't preload
33333 TI_VA_LIST* for offloading.
33334 * tree-stdarg.c (pass_stdarg::gate): Disable for ACCEL_COMPILER
33335 in_lto_p.
33336
33337 2015-02-19 John David Anglin <danlgin@gcc.gnu.org>
33338
33339 * config/pa/pa.c (pa_emit_move_sequence): Always force
33340 (const (plus (symbol) (const_int))) to const mem. Put REG_EQUAL
33341 note on insn.
33342
33343 * config/pa/pa.c (pa_reloc_rw_mask): New function.
33344 (TARGET_ASM_RELOC_RW_MASK): Define.
33345 (pa_cannot_force_const_mem): Revert previous change.
33346
33347 2015-02-19 Martin Jambor <mjmabor@suse.cz>
33348 Jan Hubicka <hubicka@ucw.cz>
33349
33350 PR ipa/65028
33351 * ipa-cp.c (propagate_alignment_accross_jump_function): Fix propagation
33352 across jump functions.
33353
33354 2015-02-19 Uros Bizjak <ubizjak@gmail.com>
33355
33356 * config/alpha/alpha.c (alpha_in_small_data_p): Reject common symbols.
33357
33358 2015-02-19 Sandra Loosemore <sandra@codesourcery.com>
33359
33360 * doc/extend.texi (x86 transactional memory intrinsics): Copy-edit.
33361
33362 2015-02-19 Richard Henderson <rth@redhat.com>
33363
33364 PR middle-end/65074
33365 * varasm.c (default_binds_local_p_2): Don't test node->definition;
33366 test DECL_EXTERNAL independent of symtab_node.
33367
33368 2015-02-19 Jakub Jelinek <jakub@redhat.com>
33369
33370 PR lto/65012
33371 * varpool.c (varpool_node::get_constructor): Return early
33372 if this->lto_file_data is NULL.
33373
33374 2015-02-19 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
33375
33376 * haifa-sched.c (enum rfs_decision, rfs_str): Remove RFS_DEBUG.
33377 (rank_for_schedule_debug): Update.
33378 (ready_sort): Make static. Move sorting logic to ...
33379 (ready_sort_debug, ready_sort_real): New static functions.
33380 (schedule_block): Sort both debug insns and real insns in preparation
33381 for ready list trimming. Improve debug output.
33382 * sched-int.h (ready_sort): Remove global declaration.
33383
33384 2015-02-18 Trevor Saunders <tsaunders@mozilla.com>
33385
33386 * ipa-icf.c (sem_function::equals_private): Adjust.
33387 (sem_function::bb_dict_test): Take a vec<int> * instead of
33388 auto_vec<int>.
33389 * ipa-icf.h (bb_dict_test): Likewise.
33390
33391 2015-02-18 Jakub Jelinek <jakub@redhat.com>
33392
33393 PR gcov-profile/64634
33394 * tree-eh.c (frob_into_branch_around): Fix up typos
33395 in function comment.
33396 (lower_catch): Put eh_seq resulting from EH lowering of
33397 the cleanup sequence after the cleanup rather than before it.
33398
33399 2015-02-18 Tom de Vries <tom@codesourcery.com>
33400
33401 * common.opt (fstdarg-opt): New option.
33402 * tree-stdarg.c (pass_stdarg::gate): Use flag_stdarg_opt.
33403 * doc/invoke.texi (@item Optimization Options): Add -fstdarg-opt.
33404 (@item -fstdarg-opt): New item.
33405
33406 2015-02-18 H.J. Lu <hongjiu.lu@intel.com>
33407
33408 PR target/65064
33409 * config/ia64/predicates.md (sdata_symbolic_operand): Return false
33410 for common symbols.
33411
33412 2015-02-18 Jakub Jelinek <jakub@redhat.com>
33413
33414 * config/i386/t-intelmic (mkoffload.o): Remove dependency on
33415 insn-modes.h.
33416 (ALL_HOST_OBJS): Add mkoffload.o.
33417 * config/nvptx/t-nvptx (ALL_HOST_OBJS): Likewise.
33418
33419 2015-02-18 Jan Hubicka <hubicka@ucw.cz>
33420
33421 * ipa-devirt.c (odr_subtypes_equivalent_p): Fix formating.
33422 (compare_virtual_tables): Be smarter about skipping typeinfos;
33423 do sane output on virtual table table mismatch.
33424 (warn_odr): Be ready for forward declarations of enums;
33425 output sane info on base mismatch and virtual table mismatch.
33426 (add_type_duplicate): Fix code choosing prevailing type; do not ICE
33427 when only one type is polymorphic.
33428 (get_odr_type): Fix hashtable corruption.
33429 (dump_odr_type): Dump mangled names.
33430
33431 2015-02-18 Richard Biener <rguenther@suse.de>
33432
33433 PR tree-optimization/65063
33434 * tree-predcom.c (determine_unroll_factor): Return 1 if we
33435 have replaced looparound PHIs.
33436
33437 2015-02-18 Martin Liska <mliska@suse.cz>
33438
33439 * lto-streamer.c (lto_streamer_init): Encapsulate
33440 streamer_check_handled_ts_structures with checking macro.
33441
33442 2015-02-18 Jakub Jelinek <jakub@redhat.com>
33443
33444 PR ipa/65087
33445 * cgraphclones.c (cgraph_node::create_virtual_clone): Only copy
33446 section if !implicit_section.
33447 (cgraph_node::create_version_clone_with_body): Likewise.
33448 * trans-mem.c (ipa_tm_create_version): Likewise.
33449
33450 2015-02-18 Richard Biener <rguenther@suse.de>
33451
33452 PR tree-optimization/62217
33453 * tree-ssa-dom.c (cprop_operand): Avoid propagating copies
33454 into BIVs.
33455
33456 2015-02-18 Marek Polacek <polacek@redhat.com>
33457
33458 PR sanitizer/65081
33459 * ubsan.c (OBJSZ_MAX_OFFSET): Define.
33460 (ubsan_expand_objsize_ifn): Don't emit run-time check if the offset
33461 is in range [-16K, -1]. Don't issue run-time error if
33462 (ptr > ptr + offset).
33463
33464 2015-02-18 Thomas Schwinge <thomas@codesourcery.com>
33465
33466 * doc/install.texi (nvptx-*-none): New section.
33467 * doc/invoke.texi (Nvidia PTX Options): Likewise.
33468 * config/nvptx/nvptx.opt: Update.
33469
33470 * config/nvptx/mkoffload.c (parse_env_var, free_array_of_ptrs)
33471 (access_check): New functions, copied from
33472 config/i386/intelmic-mkoffload.c.
33473 (main): For non-installed testing, look in all COMPILER_PATHs for
33474 GCC_INSTALL_NAME.
33475
33476 * config/nvptx/nvptx.h (GOMP_SELF_SPECS): Define macro.
33477
33478 2015-02-18 Andrew Pinski <apinski@cavium.com>
33479 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
33480
33481 * config/aarch64/aarch64.c (*aarch64_load_symref_appropriately):
33482 Check whether the destination of SYMBOL_SMALL_TPREL is Pmode.
33483
33484 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
33485
33486 * ipa-visibility.c (function_and_variable_visibility): Only
33487 check locality if node is not already local.
33488 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
33489 call_for_symbol_and_aliases instead of
33490 call_for_symbol_thunks_and_aliases.
33491 (ipa_inline): Likewise.
33492 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
33493 first walk aliases.
33494 * ipa.c (symbol_table::remove_unreachable_nodes): Use
33495 call_for_symbol_and_aliases.
33496 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
33497 (ipa_propagate_frequency_1): Use it; use opt_for_fn
33498 (ipa_propagate_frequency): Update.
33499 (ipa_profile): Add opt_for_fn gueards.
33500
33501 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
33502
33503 * config/sh/sh.opt (mcbranch-force-delay-slot): New option.
33504 * doc/invoke.texi (SH options): Document it.
33505 * config/sh/sh.c (sh_insn_length_adjustment): Check
33506 TARGET_CBRANCH_FORCE_DELAY_SLOT instead of sh_cpu_attr == CPU_SH2E.
33507
33508 2015-02-17 H.J. Lu <hongjiu.lu@intel.com>
33509
33510 * common.opt (fipa-cp-alignment): New.
33511 * ipa-cp.c (ipcp_store_alignment_results): Check
33512 flag_ipa_cp_alignment.
33513 * opts.c (default_options_table): Enable -fipa-cp-alignment for
33514 -O2.
33515 (enable_fdo_optimizations): Set x_flag_ipa_cp_alignment.
33516 * doc/invoke.texi: Document -fipa-cp-alignment.
33517
33518 2015-02-17 Oleg Endo <olegendo@gcc.gnu.org>
33519
33520 PR target/64793
33521 * config/sh/sh.md (cbranch define_delay): Set annulled true branch insn
33522 to nil. Adjust comments.
33523
33524 2015-02-17 Jan Hubicka <hubicka@ucw.cz>
33525
33526 * ipa-visibility.c (function_and_variable_visibility): Only
33527 check locality if node is not already local.
33528 * ipa-inline.c (want_inline_function_to_all_callers_p): Use
33529 call_for_symbol_and_aliases instead of
33530 call_for_symbol_thunks_and_aliases.
33531 (ipa_inline): Likewise.
33532 * cgraph.c (cgraph_node::call_for_symbol_thunks_and_aliases):
33533 first walk aliases.
33534 * ipa.c (symbol_table::remove_unreachable_nodes): Use
33535 call_for_symbol_and_aliases.
33536 * ipa-profile.c (ipa_propagate_frequency_data): Add function_symbol.
33537 (ipa_propagate_frequency_1): Use it; use opt_for_fn
33538 (ipa_propagate_frequency): Update.
33539 (ipa_profile): Add opt_for_fn guards.
33540
33541 2015-02-17 Thomas Schwinge <thomas@codesourcery.com>
33542
33543 * config/nvptx/mkoffload.c (parse_file): Fix logic error in
33544 skipping of "strange" tokens.
33545
33546 2015-02-17 Jeff Law <law@redhat.com>
33547
33548 * tree-vrp.c (identify_jump_threads): Use last_stmt. Remove
33549 obsolete comment.
33550
33551 2015-02-17 James Greenhalgh <james.greenhalgh@arm.com>
33552
33553 * haifa-sched.c (recompute_todo_spec): Treat SCHED_GROUP_P
33554 as forcing a HARD_DEP between instructions, thereby
33555 disallowing rewriting to break dependencies.
33556
33557 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
33558
33559 * symtab.c (symtab_node::verify_base): Verify body_removed->!definiton
33560 * lto-cgraph.c (lto_output_varpool_node): Do not keep definition of
33561 variables in boundary that have no inlitalizer encoded and are
33562 not aliases.
33563 * varasm.c (default_binds_local_p_2): External definitions do not
33564 count as definitions here.
33565
33566 2015-02-16 Jeff Law <law@redhat.com>
33567
33568 PR tree-optimization/64823
33569 * tree-vrp.c (identify_jump_threads): Handle blocks with no real
33570 statements.
33571 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
33572 threading through blocks with PHIs, but no statements.
33573 (thread_through_normal_block): Distinguish between blocks where
33574 we did not process all the statements and blocks with no statements.
33575
33576 2015-02-16 Jakub Jelinek <jakub@redhat.com>
33577 James Greenhalgh <james.greenhalgh@arm.com>
33578
33579 PR ipa/64963
33580 * cgraphclones.c (cgraph_node::create_virtual_clone): Copy
33581 section if not linkonce. Fix up formatting.
33582 (cgraph_node::create_version_clone_with_body): Copy section.
33583 * trans-mem.c (ipa_tm_create_version): Likewise.
33584
33585 2015-02-16 Richard Biener <rguenther@suse.de>
33586
33587 PR tree-optimization/65077
33588 * tree-ssa-structalias.c (get_constraint_for_1): Handle
33589 IMAGPART_EXPR, REALPART_EXPR and BIT_FIELD_REF.
33590 (find_func_aliases): Allow float values to carry pointers again.
33591
33592 2015-02-16 James Greenhalgh <james.greenhalgh@arm.com>
33593
33594 * doc/install.texi (Specific): Reorder targets list to put
33595 aarch64 in alphabetical order. Add a link to aarch64*-*-*
33596 from the top menu.
33597
33598 2015-02-16 Michael Haubenwallner <michael.haubenwallner@ssi-schaefer.com>
33599 David Edelsohn <dje.gcc@gmail.com>
33600
33601 PR target/65058
33602 * config/rs6000/rs6000.c (rs6000_output_symbol_ref): Append storage
33603 mapping class to external variable or function reference.
33604 * config/rs6000/xcoff.h (ASM_OUTPUT_EXTERNAL): Do not append storage
33605 mapping class.
33606
33607 2015-02-16 David Eelsohn <dje.gcc@gmail.com>
33608
33609 PR target/53348
33610 * config/rs6000/rs6000.c (rs6000_declare_alias): Only use
33611 ASM_WEAKEN_DECL if defined.
33612
33613 2015-02-16 Richard Biener <rguenther@suse.de>
33614
33615 PR lto/65015
33616 * varasm.c (default_file_start): For LTO produced units
33617 emit <artificial> as file directive.
33618
33619 2015-02-16 Richard Biener <rguenther@suse.de>
33620
33621 PR tree-optimization/63593
33622 * tree-predcom.c (execute_pred_commoning_chain): Delay removing
33623 stmts and releasing SSA names until...
33624 (execute_pred_commoning): ... after processing all chains.
33625
33626 2015-02-16 Jan Hubicka <hubicka@ucw.cz>
33627
33628 PR ipa/65059
33629 * ipa-comdats.c (ipa_comdats): Do not categorize thunks to
33630 external functions.
33631
33632 2015-02-15 Sandra Loosemore <sandra@codesourcery.com>
33633
33634 * doc/bugreport.texi: Adjust section titles throughout the file
33635 to use "Title Case".
33636 * doc/extend.texi: Likewise.
33637 * doc/gcov.texi: Likewise.
33638 * doc/implement-c.texi: Likewise.
33639 * doc/implement-cxx.texi: Likewise.
33640 * doc/invoke.texi: Likewise.
33641 * doc/objc.texi: Likewise.
33642 * doc/standards.texi: Likewise.
33643 * doc/trouble.texi: Likewise.
33644
33645 2015-02-15 Jan Hubicka <hubicka@ucw.cz>
33646
33647 * cgraph.h (symtab_node::has_aliases_p): Simplify.
33648 (symtab_node::call_for_symbol_and_aliases): Use has_aliases_p
33649 * tree.c (lookup_binfo_at_offset): Make static.
33650 (get_binfo_at_offset): Do not shadow offset; add explanatory
33651 comment.
33652
33653 2015-02-15 John David Anglin <danglin@gcc.gnu.org>
33654
33655 * config/pa/pa.c (pa_secondary_reload): Request a secondary reload
33656 for all floading point loads and stores except those using a register
33657 index address.
33658 * config/pa/pa.md: Add new patterns to load a lo_sum DLT operand
33659 to a register.
33660
33661 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
33662
33663 * ipa-inline-analysis.c (growth_data): Add uninlinable field.
33664 (do_estimate_growth_1): Record if any uninlinable edge was seen.
33665 (estimate_growth): Handle uninlinable edges correctly.
33666 (check_callers): New.
33667 (growth_likely_positive): Handle aliases correctly.
33668
33669 2015-02-14 Jan Hubicka <hubicka@ucw.cz>
33670
33671 * ipa-chkp.c: Use iterate_direct_aliases.
33672 * symtab.c (resolution_used_from_other_file_p): Move inline.
33673 (symtab_node::create_reference): Fix formating.
33674 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
33675 (symtab_node::iterate_reference): Move inline.
33676 (symtab_node::iterate_referring): Move inline.
33677 (symtab_node::iterate_direct_aliases): Move inline.
33678 (symtab_node::used_from_object_file_p_worker): Inline into ...
33679 (symtab_node::used_from_object_file_p): ... this one; move inline.
33680 (symtab_node::call_for_symbol_and_aliases): Move inline;
33681 use iterate_direct_aliases.
33682 (symtab_node::call_for_symbol_and_aliases_1): New method.
33683 (cgraph_node::call_for_symbol_and_aliases): Move inline;
33684 use iterate_direct_aliases.
33685 (cgraph_node::call_for_symbol_and_aliases_1): New method.
33686 (varpool_node::call_for_node_and_aliases): Rename to ...
33687 (varpool_node::call_for_symbol_and_aliases): ... this one; Move inline;
33688 use iterate_direct_aliases.
33689 (varpool_node::call_for_symbol_and_aliases_1): New method.
33690 * ipa.c (ipa_single_use): Use iterate_direct_aliases.
33691 (ipa_discover_readonly_nonaddressable_var): Update.
33692 * ipa-devirt.c: Fix formating.
33693 * cgraph.c (cgraph_node::can_remove_if_no_direct_calls_and_refs_p):
33694 Move inline.
33695 (cgraph_node::call_for_symbol_and_aliases): Move inline.
33696 (cgraph_node::call_for_symbol_and_aliases_1): New function..
33697 * cgraph.h (used_from_object_file_p_worker): Remove.
33698 (resolution_used_from_other_file_p): Move inline.
33699 (symtab_node::has_aliases_p): Move inline; use iterate_direct_aliases.
33700 (symtab_node::iterate_reference): Move inline.
33701 (symtab_node::iterate_referring): Move inline.
33702 (symtab_node::iterate_direct_aliases): Move inline.
33703 (symtab_node::used_from_object_file_p_worker): Inline into ...
33704 (symtab_node::used_from_object_file_p): Move inline.
33705 * tree-emutls.c (ipa_lower_emutls): Update.
33706 * varpool.c (varpool_node::call_for_symbol_and_aliases_1): New method.
33707 (varpool_node::call_for_node_and_aliases): Remove.
33708
33709 2015-02-14 Jakub Jelinek <jakub@redhat.com>
33710
33711 PR tree-optimization/62209
33712 * tree-ssa-reassoc.c (update_range_test): If stmt is a PHI and
33713 op == range->exp, insert seq and gimplified code after labels
33714 instead of after the phi.
33715
33716 2015-02-13 Jeff Law <law@redhat.com>
33717
33718 PR bootstrap/65060
33719 Revert my change for tree-optimization/64823.
33720
33721 2015-02-13 Jakub Jelinek <jakub@redhat.com>
33722
33723 PR tree-optimization/65053
33724 * tree-ssa-phiopt.c (value_replacement): When moving assign before
33725 cond, either reset VR on lhs or set it to phi result VR.
33726
33727 2015-02-13 Jeff Law <law@redhat.com>
33728
33729 PR tree-optimization/64823
33730 * tree-vrp.c (identify_jump_threads): Handle blocks with no statements.
33731 * tree-ssa-threadedge.c (potentially_threadable_block): Allow
33732 threading through blocks with PHIs, but no statements.
33733 (thread_through_normal_block): Distinguish between blocks where
33734 we did not process all the statements and blocks with no statements.
33735
33736 PR rtl-optimization/47477
33737 * match.pd (convert (plus/minus (convert @0) (convert @1): New
33738 simplifier to narrow arithmetic.
33739
33740 2015-02-13 Jan Hubicka <hubicka@ucw.cz>
33741
33742 PR ipa/65028
33743 * ipa-prop.c (update_indirect_edges_after_inlining): Do not drop
33744 polymorphic call info when type is not known to be preserved.
33745
33746 2015-02-13 Maritn Jambor <mjambor@suse.cz>
33747
33748 PR ipa/65028
33749 * ipa-inline-transform.c (mark_all_inlined_calls_cdtor): New function.
33750 (inline_call): Use it.
33751
33752 2015-02-13 Thomas Schwinge <thomas@codesourcery.com>
33753
33754 * config/nvptx/offload.h (ACCEL_COMPILER_acc_device): Define to
33755 GOMP_DEVICE_NVIDIA_PTX.
33756
33757 2015-02-13 Jakub Jelinek <jakub@redhat.com>
33758
33759 PR ipa/65034
33760 * stmt.c (emit_case_nodes): Use void_type_node instead of
33761 NULL_TREE as LABEL_DECL type.
33762
33763 2015-02-13 John David Anglin <danglin@gcc.gnu.org>
33764
33765 * config/pa/constraints.md: Change "Q" and "T" constraints to memory
33766 constraints.
33767 * config/pa/pa.c (pa_cannot_force_const_mem): Don't allow constant
33768 symbolic references to data to be forced to constant memory on the
33769 SOM target.
33770
33771 2015-02-13 Ilya Enkovich <ilya.enkovich@intel.com>
33772
33773 PR tree-optimization/65002
33774 * tree-cfg.c (pass_data_fixup_cfg): Don't update
33775 SSA on start.
33776 * tree-sra.c (some_callers_have_no_vuse_p): New.
33777 (ipa_early_sra): Reject functions whose callers
33778 assume function is read only.
33779
33780 2015-02-13 Richard Biener <rguenther@suse.de>
33781
33782 PR lto/65015
33783 * dwarf2out.c (dwarf2out_finish): Use <artificial> as DW_AT_name
33784 for LTO produced CUs.
33785
33786 2015-02-13 Bin Cheng <bin.cheng@arm.com>
33787
33788 PR tree-optimization/64705
33789 * tree-ssa-loop-niter.h (expand_simple_operations): New parameter.
33790 * tree-ssa-loop-niter.c (expand_simple_operations): New parameter.
33791 * tree-ssa-loop-ivopts.c (extract_single_var_from_expr): New.
33792 (find_bivs, find_givs_in_stmt_scev): Pass new argument to
33793 expand_simple_operations.
33794
33795 2015-02-13 H.J. Lu <hongjiu.lu@intel.com>
33796 Richard Henderson <rth@redhat.com>
33797
33798 PR rtl/32219
33799 * cgraphunit.c (cgraph_node::finalize_function): Set definition
33800 before notice_global_symbol.
33801 (varpool_node::finalize_decl): Likewise.
33802 * varasm.c (default_binds_local_p_2): Rename from
33803 default_binds_local_p_1, add weak_dominate argument. Use direct
33804 returns instead of assigning to local variable. Unify varpool and
33805 cgraph paths via symtab_node. Reject undef weak variables before
33806 testing visibility. Reorder tests for simplicity.
33807 (default_binds_local_p): Use default_binds_local_p_2.
33808 (default_binds_local_p_1): Likewise.
33809 (decl_binds_to_current_def_p): Unify varpool and cgraph paths
33810 via symtab_node.
33811 (default_elf_asm_output_external): Emit visibility when specified.
33812
33813 2015-02-13 Alan Modra <amodra@gmail.com>
33814
33815 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Fix typo in
33816 code setting up r11 for out-of-line fp restore.
33817
33818 2015-02-13 Eric Botcazou <ebotcazou@adacore.com>
33819
33820 * config/visium/visium.opt (msv-mode): Add RejectNegative and Report.
33821 (muser-mode): Likewise.
33822
33823 2015-02-13 Alan Modra <amodra@gmail.com>
33824
33825 * config/rs6000/rs6000.c (rs6000_emit_epilogue): Use addsi3_carry
33826 or adddi3_carry when restoring frame_reg_rtx from r0 after restvr.
33827
33828 2015-02-12 David Howells <dhowells@redhat.com>
33829
33830 * tree-sra.c (dump_dereferences_table): Avoid -Wformat-security
33831 warning.
33832 * tree-ssa-uninit.c (dump_predicates): Likewise.
33833 * opts.c (print_filtered_help): Likewise.
33834
33835 2015-02-12 Jakub Jelinek <jakub@redhat.com>
33836
33837 * dwarf2out.c (output_die): Use "%s", name instead of name to
33838 avoid -Wformat-security warning.
33839
33840 * dwarf2asm.c (dw2_asm_output_vms_delta): Only define
33841 if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
33842 * dwarf2out.c (output_die): Use dw2_asm_output_vms_delta
33843 only if ASM_OUTPUT_DWARF_VMS_DELTA is defined.
33844
33845 2015-02-12 Jason Merrill <jason@redhat.com>
33846
33847 * common.opt (-flifetime-dse): New.
33848
33849 2015-02-12 Jakub Jelinek <jakub@redhat.com>
33850
33851 PR sanitizer/65019
33852 * ubsan.c (ubsan_expand_objsize_ifn): Always return true.
33853
33854 PR tree-optimization/65014
33855 * fold-const.c (fold_binary_loc): When creating {L,R}ROTATE_EXPR,
33856 use original second operand of arg0 or arg1 instead of
33857 that adjusted by STRIP_NOPS.
33858
33859 2015-02-11 Jeff Law <law@redhat.com>
33860
33861 PR target/63347
33862 * haifa-sched.c (prune_ready_list): If we have a SCHED_GROUP_P insn
33863 that needs to be queued, just queue it for a single cycle.
33864
33865 2015-02-11 Jan Hubicka <hubicka@ucw.cz>
33866
33867 * ipa.c (symbol_table::remove_unreachable_nodes): Avoid releasing
33868 bodies of thunks; comment on why.
33869 * symtab.c (symtab_node::get_partitioning_class): Aliases of extern
33870 symbols are extern.
33871
33872 2015-02-11 Richard Henderson <rth@redhat.com>
33873
33874 PR sanitize/65000
33875 * tree-eh.c (mark_reachable_handlers): Mark source and destination
33876 regions of __builtin_eh_copy_values.
33877
33878 2015-02-11 Jakub Jelinek <jakub@redhat.com>
33879
33880 PR middle-end/65003
33881 * varasm.c (place_block_symbol): Assert that DECL_RTL of the
33882 ultimate alias is MEM with SYMBOL_REF satisfying
33883 SYMBOL_REF_HAS_BLOCK_INFO_P as its operand. Don't pass the MEM
33884 to place_block_symbol, but instead pass the SYMBOL_REF operand of it.
33885
33886 2015-02-11 Thomas Schwinge <thomas@codesourcery.com>
33887
33888 * config/nvptx/mkoffload.c: Include "diagnostic.h" instead of
33889 "diagnostic-core.h".
33890 (main): Initialize progname, and call diagnostic_initialize.
33891
33892 * config/nvptx/mkoffload.c (process): Refer to __OFFLOAD_TABLE__
33893 instead of __OPENMP_TARGET__.
33894
33895 * config/nvptx/mkoffload.c: Include "gomp-constants.h".
33896 (process): Use its GOMP_DEVICE_NVIDIA_PTX instead of (wrongly)
33897 hard-coding PTX_ID.
33898
33899 2015-02-11 H.J. Lu <hongjiu.lu@intel.com>
33900
33901 * doc/sourcebuild.texi (pie_enabled): Document.
33902
33903 2015-02-11 Martin Liska <mliska@suse.cz>
33904
33905 PR ipa/64813
33906 * cgraphunit.c (cgraph_node::expand_thunk): Do not create
33907 a return value for call to a function that is noreturn.
33908
33909 2015-02-11 Richard Biener <rguenther@suse.de>
33910
33911 PR lto/65015
33912 * dwarf2out.c (gen_producer_string): Drop -fltrans-output-list
33913 and -fresolution.
33914
33915 2015-02-11 Andrew Pinski <apinski@cavium.com>
33916
33917 PR target/64893
33918 * config/aarch64/aarch64-builtins.c (aarch64_init_simd_builtins):
33919 Change the first argument type to size_type_node and add another
33920 size_type_node.
33921 (aarch64_simd_expand_builtin): Handle the new argument to
33922 AARCH64_SIMD_BUILTIN_LANE_CHECK and don't ICE but rather
33923 print an out when the first two arguments are not
33924 nonzero integer constants.
33925 * config/aarch64/arm_neon.h (__AARCH64_LANE_CHECK):
33926 Pass the sizeof directly to __builtin_aarch64_im_lane_boundsi.
33927
33928 2015-02-11 Jakub Jelinek <jakub@redhat.com>
33929
33930 PR target/61925
33931 * config/i386/i386.c (ix86_reset_to_default_globals): Removed.
33932 (ix86_reset_previous_fndecl): Restore it here, unconditionally.
33933 (ix86_set_current_function): Rewritten.
33934 (ix86_add_new_builtins): Temporarily clear current_target_pragma
33935 when creating builtin fndecls.
33936
33937 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
33938
33939 PR ipa/65005
33940 * ipa-visibility.c (cgraph_node::non_local_p): Turn into static
33941 function.
33942 * symtab.c (symtab_node::verify_base): Remove check that non-definitions
33943 have no comdat group.
33944 * lto-cgraph.c (lto_output_node): Always output thunk and alias info.
33945 (lto_output_varpool_node): Always output alias info.
33946 (output_refs): Output refs of boundary aliases, too.
33947 (compute_ltrans_boundary): Add alias and thunk target into boundaries.
33948 (output_symtab): Output call eges in thunks in boundary.
33949 (get_alias_symbol): Remove.
33950 (input_node, input_varpool_node): Do not special case weakrefs.
33951 * ipa.c (symbol_table::remove_unreachable_nodes): Do not remove
33952 alias and thunks targets in the boundary; do not take removed symbols
33953 from their comdat groups.
33954 * cgraph.c (cgraph_node::local_info): Look through aliases and thunks.
33955 (cgraph_node::global_info): Remove.
33956 (cgraph_node::rtl_info): Look through aliases and thunks.
33957 * cgrpah.h (global_info): Remove.
33958 (non_local_p): Remove.
33959
33960 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33961 Sandra Loosemore <sandra@codesourcery.com>
33962
33963 * doc/invoke.texi (x86 Options [-masm=dialect]): Add cross-references
33964 to inline asm. List dialects in proper order.
33965
33966 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33967 Sandra Loosemore <sandra@codesourcery.com>
33968
33969 * doc/extend.texi (Loop-Specific Pragmas): Fix grammar error.
33970
33971 2015-02-10 David Wohlferd <dw@LimeGreenSocks.com>
33972
33973 * doc/extend.texi (Symbol-Renaming Pragmas): Restore (slightly
33974 modified) reference to Solaris.
33975
33976 2015-02-10 Sandra Loosemore <sandra@codesourcery.com>
33977
33978 * doc/extend.texi (Extended Asm): Fix typos.
33979
33980 2015-02-10 Jakub Jelinek <jakub@redhat.com>
33981
33982 PR sanitizer/65004
33983 * ubsan.c (ubsan_expand_vptr_ifn): Always return true.
33984
33985 2015-02-10 Oleg Endo <olegendo@gcc.gnu.org>
33986
33987 PR target/64661
33988 * config/sh/sh-protos.h (TARGET_ATOMIC_ANY, TARGET_ATOMIC_STRICT,
33989 TARGET_ATOMIC_SOFT_GUSA, TARGET_ATOMIC_HARD_LLCS,
33990 TARGET_ATOMIC_SOFT_TCB, TARGET_ATOMIC_SOFT_IMASK): Add parentheses.
33991 * config/sh/constraints.md (Ara, Add): New constraints.
33992 * config/sh/sync.md (atomic_mem_operand_0, atomic_mem_operand_1): New
33993 predicates.
33994 (atomic_compare_and_swap<mode>, atomic_exchange<mode>): Use
33995 atomic_mem_operand_0. Don't use force_reg on the memory address.
33996 (atomic_compare_and_swapsi_hard): Use atomic_mem_operand_0 predicate and
33997 Sra constraint. Convert to insn_and_split. Add workaround for
33998 PR 64974.
33999 (atomic_compare_and_swap<mode>_hard): Copy to
34000 atomic_compare_and_swap<mode>_hard_1. Convert to insn_and_split.
34001 Use atomic_mem_operand_0 predicate.
34002 (atomic_compare_and_swap<mode>_soft_gusa,
34003 atomic_exchange<mode>_soft_gusa): Use atomic_mem_operand_0 predicate and
34004 AraAdd constraints.
34005 (atomic_compare_and_swap<mode>_soft_tcb,
34006 atomic_compare_and_swap<mode>_soft_imask,
34007 atomic_exchange<mode>_soft_tcb, atomic_exchange<mode>_soft_imask): Use
34008 atomic_mem_operand_0 predicate and SraSdd constraints.
34009 (atomic_exchangesi_hard) Use atomic_mem_operand_0 predicate and Sra
34010 constraint.
34011 (atomic_exchange<mode>_hard): Copy to atomic_exchange<mode>_hard_1.
34012 Convert to insn_and_split. Use atomic_mem_operand_0 predicate.
34013 (atomic_fetch_<fetchop_name><mode>, atomic_fetch_nand<mode>,
34014 atomic_<fetchop_name>_fetch<mode>): Use atomic_mem_operand_1. Don't use
34015 force_reg on the memory address.
34016 (atomic_fetch_<fetchop_name>si_hard, atomic_fetch_notsi_hard,
34017 atomic_fetch_nandsi_hard, atomic_<fetchop_name>_fetchsi_hard,
34018 atomic_not_fetchsi_hard, atomic_nand_fetchsi_hard): Use
34019 atomic_mem_operand_1 predicate and Sra constraint.
34020 (atomic_fetch_<fetchop_name><mode>_hard): Copy to
34021 atomic_fetch_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
34022 Use atomic_mem_operand_1 predicate.
34023 (atomic_<fetchop_name><mode>_hard): Copy to
34024 atomic_<fetchop_name><mode>_hard_1. Convert to insn_and_split.
34025 Use atomic_mem_operand_1 predicate.
34026 (atomic_fetch_nand<mode>_hard): Copy to atomic_fetch_nand<mode>_hard_1.
34027 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
34028 (atomic_nand<mode>_hard): Copy to atomic_nand<mode>_hard_1. Convert to
34029 insn_and_split. Use atomic_mem_operand_1 predicate.
34030 (atomic_<fetchop_name>_fetch<mode>_hard): Copy to
34031 atomic_<fetchop_name>_fetch<mode>_hard_1. Convert to insn_and_split.
34032 Use atomic_mem_operand_1 predicate.
34033 (atomic_nand_fetch<mode>_hard): Copy to atomic_nand_fetch<mode>_hard_1.
34034 Convert to insn_and_split. Use atomic_mem_operand_1 predicate.
34035 (atomic_fetch_not<mode>_hard, atomic_not_fetch<mode>_hard): Replace mems
34036 in generated insn with original mem operand before emitting the insn.
34037 (atomic_fetch_<fetchop_name><mode>_soft_gusa,
34038 atomic_fetch_not<mode>_soft_gusa, atomic_fetch_nand<mode>_soft_gusa,
34039 atomic_<fetchop_name>_fetch<mode>_soft_gusa,
34040 atomic_not_fetch<mode>_soft_gusa, atomic_nand_fetch<mode>_soft_gusa):
34041 Use atomic_mem_operand_1 predicate and AraAdd constraints.
34042 (atomic_fetch_<fetchop_name><mode>_soft_tcb,
34043 atomic_<fetchop_name><mode>_soft_tcb, atomic_fetch_not<mode>_soft_tcb,
34044 atomic_not<mode>_soft_tcb, atomic_fetch_<fetchop_name><mode>_soft_imask,
34045 atomic_fetch_not<mode>_soft_imask, atomic_fetch_nand<mode>_soft_tcb,
34046 atomic_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask,
34047 atomic_<fetchop_name>_fetch<mode>_soft_tcb,
34048 atomic_not_fetch<mode>_soft_tcb,
34049 atomic_<fetchop_name>_fetch<mode>_soft_imask,
34050 atomic_not_fetch<mode>_soft_imask, atomic_nand_fetch<mode>,
34051 atomic_nand_fetch<mode>_soft_tcb, atomic_nand_fetch<mode>_soft_imask):
34052 Use atomic_mem_operand_1 predicate and SraSdd constraints.
34053
34054 2015-02-10 Uros Bizjak <ubizjak@gmail.com>
34055
34056 * config/alpha/alpha.md (reload_out<mode>_aligned): Make operands 2
34057 and 3 earlyclobber operands.
34058
34059 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
34060
34061 * common.opt (fstack-reuse): Mark as optimization.
34062
34063 2015-02-10 Jan Hubicka <hubicka@ucw.cz>
34064
34065 PR ipa/64982
34066 * cgraphunit.c (cgraph_node::expand_thunk): Look for stdarg thunks.
34067
34068 2015-02-10 Trevor Saunders <tsaunders@mozilla.com>
34069
34070 PR tree-optimization/64326
34071 * cfghooks.c (make_forwarder_block): Cap frequency of created block.
34072
34073 2015-02-10 Rainer Emrich <rainer@emrich-ebersheim.de>
34074
34075 PR gcov-profile/61889
34076 * gcov-tool.c: Remove wrong #if !defined(_WIN32)
34077
34078 2015-02-10 Richard Biener <rguenther@suse.de>
34079
34080 PR tree-optimization/64995
34081 * tree-ssa-sccvn.c (set_ssa_val_to): Assert that the
34082 value we use is final.
34083 (visit_reference_op_store): Always valueize op.
34084 (visit_use): Properly valueize vuses.
34085
34086 2015-02-10 Richard Biener <rguenther@suse.de>
34087
34088 PR tree-optimization/64909
34089 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Properly
34090 pass a scalar-stmt count estimate to the cost model.
34091 * tree-vect-data-refs.c (vect_peeling_hash_get_lowest_cost): Likewise.
34092
34093 2015-02-10 Alexander Monakov <amonakov@ispras.ru>
34094
34095 * doc/invoke.texi (-fvar-tracking-assignments): Clarify that VTA is
34096 enabled by default together with var-tracking.
34097
34098 2015-02-10 Nick Clifton <nickc@redhat.com>
34099
34100 * config/rl78/rl78.c: Remove DIV attribute code accidentally
34101 included in previous rl78 commit.
34102
34103 2015-02-10 Richard Biener <rguenther@suse.de>
34104
34105 * tree-streamer.h (streamer_read_tree_bitfields): Adjust.
34106 * tree-streamer-in.c (streamer_read_tree_bitfields): Do not
34107 return the bitpack.
34108
34109 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
34110
34111 PR gcov-profile/61889
34112 * config.in: regenerate.
34113 * configure.in: Likewise.
34114 * configure.ac: Check for ftw.h.
34115 * gcov-tool.c: Check for ftw.h before using nftw.
34116
34117 2015-02-09 Trevor Saunders <tsaunders@mozilla.com>
34118
34119 PR lto/64076
34120 * ipa-visibility.c (update_visibility_by_resolution_info): Only
34121 assert when not in lto mode.
34122
34123 2015-02-09 Zhouyi Zhou <yizhouzhou@ict.ac.cn>
34124
34125 * ira-color.c (setup_left_conflict_sizes_p): Simplify
34126 initialization/assignment of conflict_size.
34127
34128 2015-02-09 Jan Hubicka <hubicka@ucw.cz>
34129
34130 PR ipa/64978
34131 * ipa-cp.c (gather_caller_stats): Skip thunks.
34132 (propagate_constants_topo): Skip aliases.
34133
34134 2015-02-09 Kaz Kojima <kkojima@gcc.gnu.org>
34135
34136 PR target/64761
34137 * config/sh/sh.c (sh_option_override): Don't change
34138 -freorder-blocks-and-partition to -freorder-blocks even when
34139 unwinding is enabled.
34140 (sh_can_follow_jump): Return false if the followee jump is
34141 a crossing jump when -freorder-blocks-and-partition is specified.
34142 * config/sh/sh.md (*jump_compact_crossing): New insn.
34143
34144 2015-02-09 Joern Rennecke <joern.rennecke@embecosm.com>
34145 Kaz Kojima <kkojima@gcc.gnu.org>
34146
34147 PR target/64761
34148 * config/sh/sh-protos.h (sh_can_redirect_branch): Don't declare.
34149 * config/sh/sh.c (TARGET_CAN_FOLLOW_JUMP): Redefine.
34150 (sh_can_redirect_branch): Rename to ...
34151 (sh_can_follow_jump): ... this. Constify argument types.
34152 * config/sh/sh.h (MD_CAN_REDIRECT_BRANCH): Don't define.
34153 * doc/tm.texi.in (MD_CAN_REDIRECT_BRANCH): Remove documentation.
34154 * reorg.c (steal_delay_list_from_target): Use targetm.can_follow_jump.
34155 * doc/tm.texi: Regenerate.
34156
34157 2015-02-09 Jakub Jelinek <jakub@redhat.com>
34158
34159 PR sanitizer/64981
34160 * builtins.c (expand_builtin): Call targetm.expand_builtin
34161 for BUILT_IN_MD builtins regardless of asan_intercepted_p.
34162
34163 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34164
34165 PR ipa/61548
34166 * tree-emutls.c (ipa_lower_emutls): Avoid duplicates in TLS_VARS.
34167
34168 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34169
34170 PR ipa/63566
34171 * ipa-icf.c (set_local): New function.
34172 (sem_function::merge): Use it.
34173
34174 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34175
34176 * ipa-devirt.c (odr_types_equivalent_p): Fix formating.
34177 (add_type_duplicate): Fix comparison of BINFOs.
34178
34179 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34180
34181 * ipa-polymorphic-call.c (ipa_polymorphic_call_context): Avoid ICE
34182 on getting VOID pointer.
34183
34184 2015-02-09 Jakub Jelinek <jakub@redhat.com>
34185
34186 PR target/64979
34187 * tree-stdarg.c (pass_stdarg::execute): Scan phi node args for
34188 va_list escapes.
34189
34190 2015-02-09 Richard Biener <rguenther@suse.de>
34191
34192 * genmatch.c (replace_id): Copy expr_type.
34193
34194 2015-02-09 Richard Biener <rguenther@suse.de>
34195
34196 * tree-streamer.h (streamer_pack_tree_bitfields): Remove.
34197 (streamer_write_tree_bitfields): Declare.
34198 * tree-streamer-in.c (unpack_ts_base_value_fields): Inline,
34199 properly unpack padding.
34200 (unpack_value_fields): Inline ...
34201 (streamer_read_tree_bitfields): ... here.
34202 * tree-streamer-out.c (pack_ts_base_value_fields): Inline
34203 and properly add padding bits.
34204 (streamer_pack_tree_bitfields): Fold into ...
34205 (streamer_write_tree_bitfields): ... this new function,
34206 exposing the bitpack object.
34207 * lto-streamer-out.c (lto_write_tree_1): Call
34208 streamer_write_tree_bitfields.
34209
34210 2015-02-09 Richard Biener <rguenther@suse.de>
34211
34212 PR tree-optimization/54000
34213 * tree-ssa-looo-ivopts.c: Include tree-vectorizer.h.
34214 (struct ivopts_data): Add loop_loc member.
34215 (tree_ssa_iv_optimize_loop): Dump loop location.
34216 (create_new_ivs): Likewise, also dump number of IVs generated.
34217
34218 2015-02-09 Martin Liska <mliska@suse.cz>
34219
34220 * ipa-icf.c (sem_item_optimizer::register_hooks): Register hooks
34221 just if not yet registered.
34222 (ipa_icf_generate_summary): Register callgraph hooks.
34223
34224 2015-02-08 Andrew Pinski <apinski@cavium.com>
34225
34226 * config/aarch64/aarch64.c (gty_dummy): Delete.
34227
34228 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34229
34230 PR ipa/63566
34231 * ipa-visibility.c (cgraph_node::non_local_p): Accept aliases.
34232 (cgraph_node::local_p): Remove thunk related FIXME.
34233
34234 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34235
34236 PR ipa/63566
34237 * i386.c (ix86_function_regparm): Look through aliases to see if callee
34238 is local and optimized.
34239 (ix86_function_sseregparm): Likewise; also use target's SSE math
34240 settings; error out instead of silently generating wrong code
34241 on mismatches.
34242 (init_cumulative_args): Look through aliases.
34243
34244 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34245
34246 PR ipa/63566
34247 * ipa-split.c (execute_split_functions): Split if function has aliases.
34248
34249 2015-02-08 Jan Hubicka <hubicka@ucw.cz>
34250
34251 PR ipa/63566
34252 * cgraphunit.c (cgraph_node::analyze): Be sure target of thunk is
34253 aliases before trying to expand it.
34254 (cgraph_node::expand_thunk): Fix formating.
34255
34256 2015-02-07 Sandra Loosemore <sandra@codesourcery.com>
34257
34258 * doc/extend.texi (Function Attributes [naked]): Copy-edit.
34259 (Using Assembly Language with C): Expand introduction.
34260 (Basic Asm): Copy-edit. Add more information about uses of
34261 basic asm.
34262 (Extended Asm): Copy-edit. Document new escape syntax and
34263 %l[label] syntax.
34264 (Global Reg Vars): Copy-edit.
34265 (Local Reg Vars): Likewise.
34266
34267 2015-02-06 David Edelsohn <dje.gcc@gmail.com>
34268
34269 PR debug/2714
34270 PR bootstrap/64256
34271 * xcoffout.h (DBX_CONTIN_LENGTH): Define as 16384.
34272 (DBX_CONTIN_CHAR): Define.
34273
34274 2015-02-06 Sebastian Pop <s.pop@samsung.com>
34275 Brian Rzycki <b.rzycki@samsung.com>
34276
34277 PR tree-optimization/64878
34278 * tree-ssa-threadedge.c: Include tree-ssa-loop.h.
34279 (fsm_find_control_statement_thread_paths): Add parameter seen_loop_phi.
34280 Stop recursion at loop phi nodes after having visited a loop phi node.
34281
34282 2015-02-06 Jakub Jelinek <jakub@redhat.com>
34283
34284 * toplev.c (process_options): Change flag_ipa_ra before creating
34285 optimization_{default,current}_node.
34286
34287 PR ipa/64896
34288 * cgraphunit.c (cgraph_node::expand_thunk): If
34289 restype is not is_gimple_reg_type nor the thunk_fndecl
34290 returns aggregate_value_p, set restmp to a temporary variable
34291 instead of resdecl.
34292
34293 2015-02-06 Vladimir Makarov <vmakarov@redhat.com>
34294
34295 * lra.c (lra_emit_add): Fix a typo in using disp instead of base.
34296
34297 2015-02-06 Michael Meissner <meissner@linux.vnet.ibm.com>
34298
34299 PR target/64205
34300 * config/rs6000/rs6000.c (rs6000_init_hard_regno_mode_ok): Do not
34301 add a general secondary reload handler for SDmode, unless we have
34302 both read/write support for SDmode.
34303
34304 2015-02-06 Jakub Jelinek <jakub@redhat.com>
34305
34306 PR middle-end/64937
34307 * dwarf2out.c (set_block_abstract_flags, set_decl_abstract_flags):
34308 Replace setting argument with abstract_vec, always set BLOCK_ABSTRACT
34309 or DECL_ABSTRACT_P flags to 1 rather than to setting, and if it wasn't
34310 1 before, push it to abstract_vec.
34311 (dwarf2out_abstract_function): Adjust caller. Don't call
34312 set_decl_abstract_flags second time, instead clear BLOCK_ABSTRACT or
34313 DECL_ABSTRACT_P flags for all abstract_vec elts.
34314
34315 2015-02-06 Renlin Li <renlin.li@arm.com>
34316
34317 * tree-ssa-forwprop.c (execute): Keep location info while rewrite
34318 complex gimple.
34319 * tree-ssa.c (execute_update_addresses_taken): Likewise.
34320
34321 2015-02-06 Jeff Law <law@redhat.com>
34322
34323 PR target/64889
34324 * config/h8300/h8300.c (push): New argument "in_prologue".
34325 Pass "in_prologue" along to "F".
34326 (h8300_push_pop): Corresponding changes.
34327 (h8300_expand_prologue): Likewise.
34328 (h8300_swap_into_er6): Likewise. Do not set RTX_FRAME_RELATED_P.
34329
34330 2015-02-06 Jakub Jelinek <jakub@redhat.com>
34331
34332 PR rtl-optimization/64957
34333 PR debug/64817
34334 * simplify-rtx.c (simplify_binary_operation_1): Use ~cval for
34335 IOR rather than for AND.
34336
34337 2015-02-06 Eric Botcazou <ebotcazou@adacore.com>
34338
34339 PR target/62631
34340 * tree-ssa-loop-ivopts.c (get_shiftadd_cost): Use the mininum of costs
34341 of shift-add and (add + shift) operations. Rename local variable.
34342
34343 2015-02-05 Jeff Law <law@redhat.com>
34344
34345 PR target/17306
34346 * config/h8300/constraints.md (U): Correctly dectect
34347 "eightbit_data" memory addresses.
34348 * config/h8300/h8300.c (eightbit_constant_address_p): Also
34349 handle (const (plus (symbol_ref (x)))) where x is declared
34350 as an 8-bit data memory address.
34351 * config/h8300/h8300.md (call, call_value): Correctly detect
34352 "funcvec" functions.
34353
34354 PR target/43264
34355 * config/h8300/h8300.c (get_shift_alg): Fix ASHIFTRT by
34356 24 to 28 bits for the H8/300.
34357
34358 2015-02-06 Alan Modra <amodra@gmail.com>
34359
34360 PR target/64876
34361 * config/rs6000/rs6000.c (chain_already_loaded): New function.
34362 (rs6000_call_aix): Use it.
34363
34364 2015-02-05 Jan Hubicka <hubicka@ucw.cz>
34365
34366 * ipa-cp.c (ipa_value_from_jfunc, ipa_context_from_jfunc): Add bounds
34367 check.
34368
34369 2015-02-05 Joern Rennecke <joern.rennecke@embecosm.com>
34370
34371 * config/h8300/constraints.md ("U" constraint): Use strict
34372 variant of REG_OK_FOR_BASE_P after reload has started.
34373
34374 2015-02-04 Mantas Mikaitis <mantas.mikaitis@arm.com>
34375
34376 * config/arm/arm.h (TARGET_NEON_FP): Removed conditional definition,
34377 define to zero if !TARGET_NEON.
34378 (TARGET_ARM_FP): Added !TARGET_SOFT_FLOAT into conditional definition.
34379
34380 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34381 Trevor Saunders <tsaunders@mozilla.com>
34382
34383 PR ipa/61548
34384 * tree-emultls.c (new_emutls_decl): Resolve alias after creating it.
34385
34386 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34387
34388 PR ipa/61548
34389 * ipa.c (symbol_table::remove_unreachable_nodes): Fix ordering issue
34390 when removing varpool nodes.
34391
34392 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34393
34394 PR ipa/61548
34395 * varpool.c (varpool_node::remove): Fix order of variables.
34396
34397 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34398
34399 PR ipa/64686
34400 * ipa-inline.c (inline_small_functions): Fix ordering issue between
34401 speculation resolution and key updates.
34402
34403 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34404
34405 * ipa-prop.c (update_indirect_edges_after_inlining): By more careful
34406 about not letting any speculative edges unupdated.
34407
34408 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34409
34410 PR gcov/64123
34411 * gcov-io.c (gcov_var): Export.
34412
34413 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34414
34415 PR middle-end/64922
34416 * ipa-prop.c (update_indirect_edges_after_inlining): Correctly update
34417 edges that become speculative.
34418
34419 2015-02-04 Jakub Jelinek <jakub@redhat.com>
34420
34421 * dwarf2out.c (is_fortran): Also return true for DW_LANG_Fortran03
34422 or DW_LANG_Fortran08.
34423 (lower_bound_default): Return 1 for DW_LANG_Fortran03 or
34424 DW_LANG_Fortran08.
34425 (gen_compile_unit_die): Handle "GNU Fortran2003" and
34426 "GNU Fortran2008" language strings.
34427 * dbxout.c (get_lang_number): Use lang_GNU_Fortran.
34428 * langhooks.h (lang_GNU_Fortran): New prototype.
34429 * langhooks.c (lang_GNU_Fortran): New function.
34430 * config/rs6000/rs6000.c (rs6000_output_function_epilogue): Use
34431 lang_GNU_Fortran.
34432
34433 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
34434
34435 * config/sparc/sparc.c (RTX_OK_FOR_OFFSET_P): Fix off-by-one error.
34436 (RTX_OK_FOR_OLO10_P): Likewise.
34437
34438 2015-02-04 Eric Botcazou <ebotcazou@adacore.com>
34439
34440 * tree-ssa-loop-ivopts.c (get_address_cost): Use right mode for offset.
34441
34442 2015-02-04 Jan Hubicka <hubicka@ucw.cz>
34443
34444 PR middle-end/64922
34445 * gimple.c: Include gimple-ssa.h.
34446 (maybe_remove_unused_call_args): New function.
34447 * gimple.h (maybe_remove_unused_call_args): Declare.
34448 * cgraph.c (cgraph_edge::redirect_call_stmt_to_callee): Use it.
34449 * tree-ssa-pre.c (eliminate_dom_walker::before_dom_children): Likewise.
34450 * gimple-fold.c (gimple_fold_call): Likewise.
34451
34452 2015-02-04 H.J. Lu <hongjiu.lu@intel.com>
34453
34454 PR rtl-optimization/64905
34455 * lra-eliminations.c (setup_can_eliminate): Clear hard frame
34456 pointer alignment if it isn't needed.
34457
34458 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
34459
34460 * config/aarch64/aarch64-cores.def: Add cortex-a72 and
34461 cortex-a72.cortex-a53.
34462 * config/aarch64/aarch64-tune.md: Regenerate.
34463 * doc/invoke.texi (AArch64 Options/-mtune): Add "cortex-a72".
34464
34465 2015-02-04 Nick Clifton <nickc@redhat.com>
34466
34467 * config/rl78/rl78.c (rl78_note_reg_set): Note the use of REGs
34468 inside a MEM.
34469
34470 2015-02-04 Jakub Jelinek <jakub@redhat.com>
34471
34472 * builtins.def (DEF_BUILTIN_CHKP): Define if not defined.
34473 (DEF_LIB_BUILTIN_CHKP, DEF_EXT_LIB_BUILTIN_CHKP): Redefine.
34474 (DEF_CHKP_BUILTIN): Define using DEF_BUILTIN_CHKP instead
34475 of DEF_BUILTIN.
34476 (BUILT_IN_MEMCPY, BUILT_IN_MEMMOVE, BUILT_IN_MEMSET, BUILT_IN_STRCAT,
34477 BUILT_IN_STRCHR, BUILT_IN_STRCPY, BUILT_IN_STRLEN): Use
34478 DEF_LIB_BUILTIN_CHKP macro instead of DEF_LIB_BUILTIN.
34479 (BUILT_IN_MEMCPY_CHK, BUILT_IN_MEMMOVE_CHK, BUILT_IN_MEMPCPY_CHK,
34480 BUILT_IN_MEMPCPY, BUILT_IN_MEMSET_CHK, BUILT_IN_STPCPY_CHK,
34481 BUILT_IN_STPCPY, BUILT_IN_STRCAT_CHK, BUILT_IN_STRCPY_CHK): Use
34482 DEF_EXT_LIB_BUILTIN_CHKP macro instead of DEF_EXT_LIB_BUILTIN.
34483 * tree-core.h (enum built_in_function): In between
34484 BEGIN_CHKP_BUILTINS and END_CHKP_BUILTINS only define enum values
34485 for builtins that use DEF_BUILTIN_CHKP macro.
34486
34487 2015-02-04 Alexandre Oliva <aoliva@redhat.com>
34488
34489 PR debug/64817
34490 * cfgexpand.c (expand_debug_expr): Compute unsignedp from
34491 operands for tcc_comparison exprs. Fix typos.
34492
34493 PR debug/64817
34494 * simplify-rtx.c (simplify_binary_operation_1): Simplify one
34495 of two XORs that have an intervening AND or IOR.
34496
34497 PR debug/64817
34498 * simplify-rtx.c (simplify_binary_operation_1): Rewrite
34499 simplification of XOR of AND to not allocate new rtx before
34500 committing to a simplification.
34501
34502 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
34503
34504 * config/aarch64/aarch64-ldpstp.md: Use std::swap instead of
34505 manual swaps in all peepholes.
34506
34507 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
34508
34509 * config/aarch64/aarch64.c (aarch64_evpc_ext): Use std::swap instead
34510 of manual swapping implementation.
34511 (aarch64_expand_vec_perm_const_1): Likewise.
34512
34513 2015-02-04 James Greenhalgh <james.greenhalgh@arm.com>
34514
34515 * config/aarch64/aarch64.c (NAMED_PARAM): Delete it.
34516 (generic_addrcost_table): Remove NAMED_PARAM.
34517 (cortexa57_addrcost_table): Likewise.
34518 (xgene1_addrcost_table): Likewise.
34519 (generic_regmove_table): Likewise.
34520 (cortexa53_regmove_table): Likewise.
34521 (xgene1_regmove_table): Likewise.
34522 (generic_vector_table): Likewise.
34523 (cortexa57_vector_table): Likewise.
34524 (xgene1_vector_table): Likewise.
34525 (generic_tunings): Likewise.
34526 (cortexa53_tunings): Likewise.
34527 (cortexa57_tunings): Likewise.
34528 (xgene1_tunings): Likewise.
34529
34530 2015-02-04 Matthew Wahab <matthew.wahab@arm.com>
34531
34532 * config/arm/arm-cores.def: Add cortex-a72 and
34533 cortex-a72.cortex-a53.
34534 * config/arm/bpabi.h (BE8_LINK_SPEC): Likewise.
34535 * config/arm/t-aprofile (MULTILIB_MATCHES): Likewise.
34536 * config/arm/arm-tune.md: Regenerate.
34537 * config/arm/arm-tables.opt: Add entries for "cortex-a72" and
34538 "cortex-a72.cortex-a53".
34539 * doc/invoke.texi (ARM Options/-mtune): Likewise.
34540
34541 2015-02-04 Nick Clifton <nickc@redhat.com>
34542
34543 PR target/64408
34544 * config/fr30/predicates.md (di_operand): Add SUBREG to the list
34545 of accepted codes.
34546 (nonimmediate_di_operand): Likewise.
34547
34548 * config/msp430/msp430.c (msp430_use_f5_series_hwmult): Add more
34549 prefixes of known F5 using MSP430 MCUs.
34550
34551 2015-02-04 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
34552
34553 * config/aarch64/aarch64-simd-builtins.def (sqrt): Use BUILTIN_VDQF_DF.
34554 * config/aarch64/arm_neon.h (vsqrt_f64): Use __builtin_aarch64_sqrtdf
34555 instead of __builtin_sqrt.
34556
34557 2015-02-04 Ilya Enkovich <ilya.enkovich@intel.com>
34558
34559 * varasm.c (do_assemble_alias): Follow transparent alias
34560 chain for target.
34561 (default_assemble_visibility): Follow transparent alias
34562 chain for decl name.
34563
34564 2015-02-04 Thomas Preud'homme <thomas.preudhomme@arm.com>
34565
34566 PR middle-end/62103
34567 * tree-ssa-sccvn.c (fully_constant_vn_reference_p): Use TYPE_PRECISION
34568 to compute size of referenced value in the constant case.
34569
34570 2015-02-03 Jakub Jelinek <jakub@redhat.com>
34571
34572 PR rtl-optimization/64756
34573 * cse.c (invalidate_dest): New function.
34574 (cse_insn): Use it. If dest != SET_DEST (sets[i].rtl) and
34575 HASH (SET_DEST (sets[i].rtl), mode) computation sets do_not_record,
34576 invalidate and do not record it.
34577
34578 2015-02-03 Oleg Endo <olegendo@gcc.gnu.org>
34579
34580 PR target/64660
34581 * config/sh/sync.md (atomic_<fetchop_name><mode>_hard,
34582 atomic_not<mode>_hard, atomic_<fetchop_name><mode>_soft_tcb,
34583 atomic_not<mode>_soft_tcb, atomic_nand<mode>_hard,
34584 atomic_nand<mode>_soft_tcb): New insns.
34585 (atomic_fetch_<fetchop_name>si_hard): Convert to insn_and_split.
34586 Split into atomic_<fetchop_name>_fetchsi_hard if operands[0] is unused.
34587 (define_insn "atomic_fetch_notsi_hard): Convert to insn_and_split.
34588 Split into atomic_not_fetchsi_hard if operands[0] is unused.
34589 (atomic_fetch_<fetchop_name><mode>_hard): Convert to insn_and_split.
34590 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
34591 (atomic_fetch_not<mode>_hard): Convert to insn_and_split. Split into
34592 atomic_not<mode>_hard if operands[0] is unused.
34593 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Convert to
34594 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_gusa
34595 if operands[0] is unused.
34596 (atomic_fetch_not<mode>_soft_gusa): Convert to insn_and_split. Split
34597 into atomic_not_fetch<mode>_soft_gusa if operands[0] is unused.
34598 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Convert to insn_and_split.
34599 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
34600 unused.
34601 (atomic_fetch_not<mode>_soft_tcb): Convert to insn_and_split. Split
34602 into atomic_not<mode>_soft_tcb if operands[0] is unused.
34603 (atomic_fetch_<fetchop_name><mode>_soft_imask): Convert to
34604 insn_and_split. Split into atomic_<fetchop_name>_fetch<mode>_soft_imask
34605 if operands[0] is unused.
34606 (atomic_fetch_not<mode>_soft_imask): Convert to insn_and_split. Split
34607 into atomic_not_fetch<mode>_soft_imask is operands[0] is unused.
34608 (atomic_fetch_nandsi_hard): Convert to insn_and_split. Split into
34609 atomic_nand_fetchsi_hard if operands[0] is unused.
34610 (atomic_fetch_nand<mode>_hard): Convert to insn_and_split. Split into
34611 atomic_nand<mode>_hard if operands[0] is unused.
34612 (atomic_fetch_nand<mode>_soft_gusa): Convert to insn_and_split. Split
34613 into atomic_nand_fetch<mode>_soft_gusa if operands[0] is unused.
34614 (atomic_fetch_nand<mode>_soft_tcb): Convert to insn_and_split. Split
34615 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
34616 (atomic_fetch_nand<mode>_soft_imask): Convert to insn_and_split. Split
34617 into atomic_nand_fetch<mode>_soft_imask if operands[0] is unused.
34618 (atomic_<fetchop_name>_fetch<mode>_hard): Convert to insn_and_split.
34619 Split into atomic_<fetchop_name><mode>_hard if operands[0] is unused.
34620 (atomic_not_fetch<mode>_hard): Convert to insn_and_split. Split into
34621 atomic_not<mode>_hard if operands[0] is unused.
34622 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Convert to insn_and_split.
34623 Split into atomic_<fetchop_name><mode>_soft_tcb if operands[0] is
34624 unused.
34625 (atomic_not_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
34626 into atomic_not<mode>_soft_tcb if operands[0] is unused.
34627 (atomic_nand_fetch<mode>_hard): Convert to insn_and_split. Split into
34628 atomic_nand<mode>_hard if operands[0] is unused.
34629 (atomic_nand_fetch<mode>_soft_tcb): Convert to insn_and_split. Split
34630 into atomic_nand<mode>_soft_tcb if operands[0] is unused.
34631
34632 2015-02-03 David Malcolm <dmalcolm@redhat.com>
34633
34634 PR jit/64810
34635 * Makefile.in (GCC_OBJS): Add gcc-main.o.
34636 * gcc-main.c: New file, containing "main" taken from gcc.c.
34637 * gcc.c (do_self_spec): Free decoded_options.
34638 (class driver): Move declaration to gcc.h.
34639 (main): Move declaration and implementation to new file
34640 gcc-main.c.
34641 (driver_get_configure_time_options): New function.
34642 * gcc.h (class driver): Move this declaration here, from
34643 gcc.c.
34644 (driver_get_configure_time_options): New declaration.
34645
34646 2015-02-03 Jan Hubicka <hubicka@ucw.cz>
34647
34648 * ipa-inline-analysis.c (simple_edge_hints): Fix check for
34649 cross-module inlining.
34650 * cgraph.h (cgraph_node): Add flag merged.
34651 * ipa-icf.c (sem_function::merge): Maintain it.
34652
34653 2015-02-03 Richard Sandiford <richard.sandiford@arm.com>
34654
34655 * config/arm/arm.c (thumb2_reorg): Test UNARY_P and BINARY_P
34656 instead of OBJECT_P.
34657
34658 2015-02-03 Eric Botcazou <ebotcazou@adacore.com>
34659
34660 PR target/62631
34661 * config/sparc/sparc.h (TARGET_HARD_MUL): Remove TARGET_V8PLUS.
34662 (TARGET_HARD_MUL32): Rewrite based on TARGET_HARD_MUL.
34663 * config/sparc/sparc.c (sparc_rtx_costs) <MULT>: Return costs based on
34664 int_mulX for integers in 64-bit mode if TARGET_HARD_MUL is not set.
34665
34666 2015-02-03 Jakub Jelinek <jakub@redhat.com>
34667
34668 PR other/63504
34669 * combine.c (reg_n_sets_max): New variable.
34670 (can_change_dest_mode, reg_nonzero_bits_for_combine,
34671 reg_num_sign_bit_copies_for_combine, get_last_value_validate,
34672 get_last_value): Use REG_N_SETS only on pseudos < reg_n_sets_max.
34673 (try_combine): Use INC_REG_N_SETS only on pseudos < reg_n_sets_max.
34674 (rest_of_handle_combine): Initialize reg_n_sets_max.
34675
34676 2015-02-02 Jan Hubicka <hubicka@ucw.cz>
34677
34678 * ipa-inline.c (early_inliner): Skip inlining only in always_inlined;
34679 if some always_inline was inlined, apply changes before inlining
34680 heuristically.
34681
34682 2015-02-02 David Malcolm <dmalcolm@redhat.com>
34683
34684 PR jit/64810
34685 * config/arm/arm.c (arm_option_override): Set
34686 arm_selected_arch/cpu/tune to NULL on entry.
34687
34688 2015-02-02 Tejas Belagod <tejas.belagod@arm.com>
34689 Andrew Pinski <pinskia@gcc.gnu.org>
34690 Jakub Jelinek <jakub@gcc.gnu.org>
34691
34692 PR target/64231
34693 * config/aarch64/aarch64.c (aarch64_classify_symbol): Fix large
34694 integer typing for small model. Use IN_RANGE.
34695
34696 2015-02-02 Richard Biener <rguenther@suse.de>
34697
34698 * tree-ssa-ccp.c (valueize_op_1): Always allow valueizing default-defs.
34699 * tree-vrp.c (vrp_valueize_1): Likewise.
34700
34701 2015-02-02 Alan Modra <amodra@gmail.com>
34702
34703 * config/rs6000/rs6000.c (rs6000_call_aix): Use unspec rather
34704 than mem for toc_restore.
34705 * config/rs6000/rs6000.md (UNSPEC_TOCSLOT): Define.
34706 (call_indirect_aix, call_value_indirect_aix): Adjust to suit.
34707 (call_indirect_elfv2, call_value_indirect_elfv2): Likewise.
34708
34709 2015-02-01 David Edelsohn <dje.gcc@gmail.com>
34710
34711 PR target/64047
34712 * config/rs6000/rs6000.c (rs6000_set_current_function): Handle
34713 explicit default options.
34714
34715 2015-02-01 Jan Hubicka <hubicka@ucw.cz>
34716
34717 PR ipa/64872
34718 * ipa-utils.c (ipa_merge_profiles): Add release argument.
34719 * ipa-icf.c (sem_function::merge): Do not release body when merging.
34720 * ipa-utils.h (ipa_merge_profiles): Update prototype.
34721
34722 2015-02-01 Jakub Jelinek <jakub@redhat.com>
34723
34724 PR debug/64817
34725 * cfgexpand.c (deep_ter_debug_map): New variable.
34726 (avoid_deep_ter_for_debug): New function.
34727 (expand_debug_expr): If TERed SSA_NAME is in
34728 deep_ter_debug_map, use the corresponding DEBUG_EXPR_DECL
34729 instead of trying to expand SSA_NAME's def stmt.
34730 (expand_debug_locations): When expanding debug bind
34731 of a DEBUG_EXPR_DECL to corresponding SSA_NAME,
34732 temporarily remove the DEBUG_EXPR_DECL from deep_ter_debug_map's
34733 value.
34734 (pass_expand::execute): Call avoid_deep_ter_for_debug on
34735 all debug bind stmts. Delete deep_ter_debug_map after
34736 expand_debug_location if non-NULL and clear it.
34737
34738 2015-02-01 Oleg Endo <olegendo@gcc.gnu.org>
34739
34740 PR target/64851
34741 * config/sh/sync.md (atomic_fetch_notsi_hard,
34742 atomic_fetch_not<mode>_hard, atomic_fetch_not<mode>_soft_gusa,
34743 atomic_fetch_not<mode>_soft_tcb, atomic_fetch_not<mode>_soft_imask,
34744 atomic_not_fetchsi_hard, atomic_not_fetch<mode>_hard,
34745 atomic_not_fetch<mode>_soft_gusa, atomic_not_fetch<mode>_soft_tcb,
34746 atomic_not_fetch<mode>_soft_imask): New insns.
34747
34748 2015-02-01 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
34749
34750 * haifa-sched.c (INSN_RFS_DEBUG_ORIG_ORDER): New access macro.
34751 (rank_for_schedule_debug): Split from ...
34752 (rank_for_schedule): ... this.
34753 (ready_sort): Sort DEBUG_INSNs separately from normal INSNs.
34754 * sched-int.h (struct _haifa_insn_data): New field rfs_debug_orig_order.
34755
34756 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
34757
34758 * doc/md.texi (Machine Constraints): Alphabetize table by target.
34759 * doc/extend.texi (x86 Variable Attributes): Move section to
34760 correct alphabetization after renaming.
34761 (x86 Type Attributes): Likewise.
34762 (Target Builtins): Re-alphabetize menu.
34763 (x86 Built-in Functions): Move section to correct alphabetization
34764 after renaming.
34765 (x86 transactional memory intrinsics): Likewise.
34766 * doc/invoke.texi (Option Summary): Re-alphabetize x86 Options
34767 and x86 Windows Options in table and menu.
34768 (x86 Options): Move section to correct alphabetization after
34769 renaming.
34770 (x86 Windows Options): Likewise.
34771
34772 2015-01-31 Sandra Loosemore <sandra@codesourcery.com>
34773
34774 * doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
34775 preferred names of the architecture and its 32- and 64-bit
34776 variants.
34777 * doc/invoke.texi: Likewise.
34778 * doc/md.texi: Likewise.
34779
34780 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
34781
34782 PR target/64882
34783 * config/i386/predicates.md (address_no_seg_operand): Reject
34784 non-CONST_INT_P operands in invalid mode.
34785
34786 2015-01-31 Uros Bizjak <ubizjak@gmail.com>
34787
34788 * config/i386/i386.md (*prefetch_prefetchw1): Remove mode of
34789 address_operand 0. Rename from *prefetch_prefetchwt1_<mode>.
34790 * config/i386/predicates.md (address_no_seg_operand): Call
34791 address_operand with VOIDmode.
34792 (vsib_address_operand): Ditto.
34793 (address_mpx_no_base_operand): Ditto.
34794 (address_mpx_no_index_operand): Ditto.
34795
34796 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
34797
34798 PR target/64688
34799 * lra-constraints.c (original_subreg_reg_mode): New.
34800 (simplify_operand_subreg): Try to simplify subreg of const. Use
34801 original_subreg_reg_mode for it.
34802 (swap_operands): Update original_subreg_reg_mode.
34803 (curr_insn_transform): Set up original_subreg_reg_mode.
34804
34805 2015-01-30 Vladimir Makarov <vmakarov@redhat.com>
34806
34807 PR target/64617
34808 * lra-constraints.c (prohibited_class_reg_set_mode_p): New
34809 function.
34810 (process_alt_operands): Use it.
34811 (curr_insn_transform): Check the optional reload pseudo class is
34812 ok for the mode.
34813
34814 2015-01-30 Joseph Myers <joseph@codesourcery.com>
34815
34816 * diagnostic.c (fatal_error (const char *, ...)): Remove function.
34817 * diagnostic-core.h (fatal_error (const char *, ...)): Remove
34818 prototype.
34819 * toplev.h (init_asm_output): Update comment on use of
34820 UNKNOWN_LOCATION with fatal_error.
34821 * cgraph.c, collect-utils.c, collect2.c, config/arc/arc.c,
34822 config/arc/arc.md, config/avr/avr.c, config/c6x/c6x.h,
34823 config/darwin.c, config/host-darwin.c, config/i386/host-cygwin.c,
34824 config/i386/intelmic-mkoffload.c, config/nios2/nios2.c,
34825 config/nvptx/mkoffload.c, config/nvptx/nvptx.h,
34826 config/rs6000/host-darwin.c, config/rs6000/rs6000.c,
34827 config/s390/s390.c, gcc.c, gcov-io.h, gcov-tool.c, ggc-common.c,
34828 ggc-page.c, graph.c, ipa-inline-analysis.c, ipa-reference.c,
34829 lto-cgraph.c, lto-section-in.c, lto-streamer-in.c, lto-streamer.c,
34830 lto-wrapper.c, objc/objc-act.c, opts.c, passes.c, plugin.c,
34831 tlink.c, toplev.c, tree-streamer-in.c, varpool.c: All callers of
34832 fatal_error changed to pass input_location as first argument.
34833
34834 2015-01-30 Martin Liska <mliska@suse.cz>
34835
34836 * tree.h: Change GCC_VERSION >= 4004 to GCC_VERSION >= 4006
34837 in #pragma GCC diagnostic guards.
34838
34839 2015-01-30 Richard Biener <rguenther@suse.de>
34840
34841 PR tree-optimization/64829
34842 * tree-vect-patterns.c (vect_handle_widen_op_by_const): Do
34843 not add a widening conversion pattern but hand off extra
34844 widenings to callers.
34845 (vect_recog_widen_mult_pattern): Handle extra widening produced
34846 by vect_handle_widen_op_by_const.
34847 (vect_recog_widen_shift_pattern): Likewise.
34848 (vect_pattern_recog_1): Remove excess vertical space in dumping.
34849 * tree-vect-stmts.c (vect_mark_stmts_to_be_vectorized): Likewise.
34850 (vect_init_vector_1): Likewise.
34851 (vect_get_vec_def_for_operand): Likewise.
34852 (vect_finish_stmt_generation): Likewise.
34853 (vectorizable_load): Likewise.
34854 (vect_analyze_stmt): Likewise.
34855 (vect_is_simple_use): Likewise.
34856
34857 2015-01-29 Jeff Law <law@redhat.com>
34858
34859 * combine.c (try_combine): Fix typo in comment.
34860
34861 2015-01-29 Segher Boessenkool <segher@kernel.crashing.org>
34862
34863 PR target/64580
34864 * config.rs6000/rs6000.c (compute_vrsave_mask): Reverse loop order.
34865 (rs6000_stack_info): Add assert.
34866 (rs6000_output_savres_externs): New function, split off from...
34867 (rs6000_output_function_prologue): ... here. Do not call it for
34868 thunks.
34869
34870 2015-01-29 Jeff Law <law@redhat.com>
34871
34872 PR target/15184
34873 * combine.c (try_combine): If I0 is a memory load and I3 a store
34874 to a related address, increase the "goodness" of doing a 4-insn
34875 combination with I0-I3.
34876 (make_field_assignment): Handle SUBREGs in the ior+and case.
34877
34878 2015-01-29 Yuri Rumyantsev <ysrumyan@gmail.com>
34879
34880 PR tree-optimization/64746
34881 * tree-if-conv.c (mask_exists): New function.
34882 (predicate_mem_writes): Save created mask with given size for further
34883 use.
34884 (stmt_is_root_of_bool_pattern): Remove argument VAR and store to it.
34885 (ifcvt_repair_bool_pattern): Collect all statements that are root
34886 of bool pattern and use iterative algorithm to remove multiple uses
34887 of predicates, display number of required iterations.
34888
34889 2015-01-29 Richard Biener <rguenther@suse.de>
34890
34891 PR tree-optimization/64853
34892 * tree-vrp.c (vrp_valueize_1): Do not return anything if the
34893 stmt will get simulated again.
34894 * tree-ssa-ccp.c (valueize_op_1): Likewise.
34895
34896 2015-01-29 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
34897
34898 * config/arm/arm.c (arm_emit_multi_reg_pop): Simplify definition of
34899 return_in_pc. Remove redundant assignments.
34900 (thumb2_emit_ldrd_pop): Simplify definition of return_in_pc.
34901 (arm_expand_epilogue): Don't compare boolean with true in if condition.
34902
34903 2015-01-29 Uros Bizjak <ubizjak@gmail.com>
34904
34905 * config/i386/i386.c (ix86_mode_after): Make static.
34906
34907 2015-01-29 Richard Biener <rguenther@suse.de>
34908
34909 PR tree-optimization/64844
34910 * tree-vect-loop.c (vect_estimate_min_profitable_iters): Always
34911 dump cost model analysis.
34912 * tree-vect-data-refs.c (vect_enhance_data_refs_alignment):
34913 Do not register adjusted load/store costs here.
34914
34915 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
34916 Uros Bizjak <ubizjak@gmail.com>
34917
34918 * config/i386/i386-protos.h (ix86_use_pseudo_pic_reg): New.
34919 * config/i386/i386.h (PIC_OFFSET_TABLE_REGNUM): Simplify by
34920 using x86_use_pseudo_pic_reg.
34921 * config/i386/i386.c (ix86_conditional_register_usage): Remove
34922 support for fixed PIC register.
34923 (ix86_use_pseudo_pic_reg): Not static any more.
34924
34925 2015-01-29 Ilya Enkovich <ilya.enkovich@intel.com>
34926
34927 PR middle-end/64805
34928 * ipa-inline.c (early_inliner): Rebuild IPA_REF_CHKP reference
34929 to avoid error in cgraph node verification.
34930
34931 2015-01-29 Marek Polacek <polacek@redhat.com>
34932
34933 * doc/standards.texi: Reflect that the default for C is gnu11.
34934
34935 2015-01-29 Kaz Kojima <kkojima@gcc.gnu.org>
34936
34937 PR target/64761
34938 * reorg.c (switch_text_sections_between_p): New function.
34939 (relax_delay_slots): Call it when testing if the jump insn
34940 is removable. Use targetm.can_follow_jump when testing if
34941 the conditional branch can follow an unconditional jump.
34942
34943 2015-01-27 Caroline Tice <cmtice@google.com>
34944
34945 Committing VTV Cywin/Ming patch for Patrick Wollgast
34946 * config/i386/cygwin.h (STARTFILE_SPEC): Add vtv_start.o,
34947 if -fvtable-verify=preinit/std is used.
34948 * config/i386/mingw-w64.h (STARTFILE_SPEC): Likewise.
34949 * config/i386/mingw32.h (STARTFILE_SPEC): Likewise.
34950 * config/i386/cygwin.h (ENDFILE_SPEC): Add vtv_end.o,
34951 if -fvtable-verify=preinit/std is used.
34952 * config/i386/mingw32.h (ENDFILE_SPEC): Likewise.
34953 * config/i386/cygwin.h (LIB_SPEC): Pass -lvtv and -lpsapi,
34954 if -fvtable-verify=preinit/std is used.
34955 * config/i386/mingw-w64.h (LIB_SPEC): Likewise.
34956 * config/i386/mingw32.h (LIB_SPEC): Likewise.
34957 * varasm.c (assemble_variable): Add code to properly set the comdat
34958 section and name for the .vtable_map_vars section in case the
34959 target is PE or COFF.
34960
34961 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
34962
34963 PR ipa/64801
34964 * cgraphunit.c (init_lowered_empty_function): Add CoUNT parameter;
34965 make sane BB profile.
34966 (cgraph_node::expand_thunk): Make sane BB profile.
34967 (cgraph_node::create_wrapper): Do not set call_stmt_cannot_inline_p.
34968 * cgraph.h (init_lowered_empty_function): Update prototype.
34969 * config/i386/i386.c (make_resolver_func): Update call.
34970 * predict.c (gate): Disable branch prediction pass if
34971 profile is already there.
34972
34973 2015-01-29 Jan Hubicka <hubicka@ucw.cz>
34974
34975 * optc-save-gen.awk: flag_fp_contract_mode is no longer speical.
34976 * opth-gen.awk: Likewise.
34977 * common.opt: Mark flag_fp_contract_mode as Optimization.
34978
34979 2015-01-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
34980
34981 * config/i386/cygwin.h (LIBGCJ_SONAME): Set libgcj version to -16.
34982 * config/i386/mingw32.h (LIBGCJ_SONAME): Set libgcj version to -16.
34983
34984 2015-01-28 Oleg Endo <olegendo@gcc.gnu.org>
34985
34986 PR target/64659
34987 * config/sh/predicates.md (atomic_arith_operand,
34988 atomic_logical_operand): Remove.
34989 * config/sh/sync.md (fetchop_predicate, fetchop_constraint): Remove.
34990 (atomic_arith_operand_0): New predicate.
34991 (atomic_compare_and_swap<mode>): Use arith_reg_dest for output values.
34992 Use atomic_arith_operand_0 for input values.
34993 (atomic_compare_and_swapsi_hard, atomic_compare_and_swap<mode>_hard,
34994 atomic_compare_and_swap<mode>_soft_gusa,
34995 atomic_compare_and_swap<mode>_soft_tcb,
34996 atomic_compare_and_swap<mode>_soft_imask): Use arith_reg_dest and
34997 arith_reg_operand instead of register_operand.
34998 (atomic_exchange<mode>): Use arith_reg_dest for output value. Use
34999 atomic_arith_operand_0 for newval input.
35000 (atomic_exchangesi_hard, atomic_exchange<mode>_hard,
35001 atomic_exchange<mode>_soft_gusa, atomic_exchange<mode>_soft_tcb,
35002 atomic_exchange<mode>_soft_imask): Use arith_reg_dest and
35003 arith_reg_operand instead of register_operand.
35004 (atomic_arith_operand_1, atomic_logical_operand_1): New predicates.
35005 fetchop_predicate_1, fetchop_constraint_1_llcs,
35006 fetchop_constraint_1_gusa, fetchop_constraint_1_tcb,
35007 fetchop_constraint_1_imask): New code iterator attributes.
35008 (atomic_fetch_<fetchop_name><mode>): Use arith_reg_dest instead of
35009 register_operand. Use fetchop_predicate_1.
35010 (atomic_fetch_<fetchop_name>si_hard,
35011 atomic_fetch_<fetchop_name><mode>_hard): Use arith_reg_dest instead of
35012 register_operand. Use fetchop_predicate_1, fetchop_constraint_1_llcs.
35013 (atomic_fetch_<fetchop_name><mode>_soft_gusa): Use arith_reg_dest
35014 and arith_reg_operand instead of register_operand. Use
35015 fetchop_predicate_1, fetchop_constraint_1_gusa.
35016 (atomic_fetch_<fetchop_name><mode>_soft_tcb): Use arith_reg_dest
35017 and arith_reg_operand instead of register_operand. Use
35018 fetchop_predicate_1, fetchop_constraint_1_tcb. Adjust asm sequence
35019 to allow R0 usage.
35020 (atomic_fetch_<fetchop_name><mode>_soft_imask): Use arith_reg_dest
35021 and arith_reg_operand instead of register_operand. Use
35022 fetchop_predicate_1, fetchop_constraint_1_imask. Adjust asm sequence
35023 to allow R0 usage.
35024 (atomic_fetch_nand<mode>): Use arith_reg_dest instead of
35025 register_operand. Use atomic_logical_operand_1.
35026 (atomic_fetch_nandsi_hard, atomic_fetch_nand<mode>_hard,
35027 atomic_fetch_nand<mode>_soft_gusa): Use arith_reg_dest and
35028 arith_reg_operand instead of register_operand.
35029 (atomic_fetch_nand<mode>_soft_tcb, atomic_fetch_nand<mode>_soft_imask):
35030 Use arith_reg_dest and arith_reg_operand instead of register_operand.
35031 Use logical_operand and rK08. Adjust asm sequence to allow R0 usage.
35032 (atomic_<fetchop_name>_fetch<mode>): Use arith_reg_dest instead of
35033 register_operand. Use fetchop_predicate_1.
35034 (atomic_<fetchop_name>_fetchsi_hard,
35035 atomic_<fetchop_name>_fetch<mode>_hard): Use arith_reg_dest and
35036 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
35037 fetchop_constraint_1_llcs.
35038 (atomic_<fetchop_name>_fetch<mode>_soft_gusa): Use arith_reg_dest and
35039 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
35040 fetchop_constraint_1_gusa.
35041 (atomic_<fetchop_name>_fetch<mode>_soft_tcb): Use arith_reg_dest and
35042 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
35043 fetchop_constraint_1_tcb. Adjust asm sequence to allow R0 usage.
35044 (atomic_<fetchop_name>_fetch<mode>_soft_imask): Use arith_reg_dest and
35045 arith_reg_operand instead of register_operand. Use fetchop_predicate_1,
35046 fetchop_constraint_1_imask. Adjust asm sequence to allow R0 usage.
35047 (atomic_nand_fetch<mode>): Use arith_reg_dest instead of
35048 register_operand. Use atomic_logical_operand_1.
35049 (atomic_nand_fetchsi_hard, atomic_nand_fetch<mode>_hard,
35050 atomic_nand_fetch<mode>_soft_gusa): Use arith_reg_dest and
35051 arith_reg_operand instead of register_operand.
35052 (atomic_nand_fetch<mode>_soft_tcb): Use arith_reg_dest and
35053 arith_reg_operand instead of register_operand. Use logical_operand
35054 and K08. Adjust asm sequence to allow R0 usage.
35055 (atomic_nand_fetch<mode>_soft_imask): Use arith_reg_dest and
35056 arith_reg_operand instead of register_operand. Use logical_operand
35057 and K08.
35058
35059 2015-01-28 Jakub Jelinek <jakub@redhat.com>
35060
35061 PR other/63504
35062 * dwarf2out.c (add_AT_wide, mem_loc_descriptor, loc_descriptor):
35063 Use ggc_alloc<wide_int> instead of ggc_cleared_alloc<wide_int>.
35064 (attr_checksum, attr_checksum_ordered, hash_loc_operands): Checksum
35065 only get_full_len HOST_WIDE_INTs from get_val () array rather than
35066 all bits in *val_wide.
35067
35068 2015-01-28 Jan Hubicka <hubicka@ucw.cz>
35069
35070 * varpool.c (tls_model_names): Fix names.
35071 (varpool_node::dump): Dump tls- prefix for tls models.
35072
35073 2015-01-28 Thomas Schwinge <thomas@codesourcery.com>
35074 Bernd Schmidt <bernds@codesourcery.com>
35075 Nathan Sidwell <nathan@codesourcery.com>
35076
35077 * config/nvptx/mkoffload.c: New file.
35078 * config/nvptx/t-nvptx: Add build rules for it.
35079 * config.gcc <nvptx-*> [$enable_as_accelerator = yes]
35080 (extra_programs): Add mkoffload.
35081 * config/nvptx/nvptx.c (nvptx_record_offload_symbol): New
35082 function.
35083 (TARGET_RECORD_OFFLOAD_SYMBOL): Define macro to use it.
35084
35085 2015-01-28 Yuri Rumyantsev <ysrumyan@gmail.com>
35086
35087 PR middle-end/64809
35088 * cfgexpand.c (reorder_operands): Skip debug gimples.
35089
35090 2015-01-28 Ilya Enkovich <ilya.enkovich@intel.com>
35091
35092 PR tree-optimization/64277
35093 * tree-ssa-loop-niter.c (record_nonwrapping_iv): Use base
35094 range info when possible to refine estimation.
35095
35096 2015-01-28 Thomas Preud'homme <thomas.preudhomme@arm.com>
35097
35098 PR tree-optimization/64718
35099 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Make bswap_type
35100 be a 16bit unsigned integer when n->range is 16.
35101 (bswap_replace): Convert src to that type if necessary for all bswap
35102 sizes. Fix rotation right notation in nearby comment. Use bswap_type
35103 set in pass_optimize_bswap::execute ().
35104
35105 2015-01-28 James Greenhalgh <james.greenhalgh@arm.com>
35106
35107 * config/aarch64/aarch64-simd.md (aarch64_abs<mode>): New.
35108 * config/aarch64/aarch64-simd-builtins.def (abs): Split by
35109 integer and floating point variants.
35110 * config/aarch64/iterators.md (unspec): Add UNSPEC_ABS.
35111
35112 2015-01-28 Robert Suchanek <robert.suchanek@imgtec.com>
35113
35114 * config/mips/mips.c (mips_hard_regno_mode_ok_p): Prohibit accumulators
35115 for all vector modes.
35116
35117 2015-01-28 Jakub Jelinek <jakub@redhat.com>
35118
35119 PR bootstrap/64612
35120 * doc/sourcebuild.texi (comdat_group): Document.
35121
35122 2015-01-28 Terry Guo <terry.guo@arm.com>
35123
35124 * config/arm/thumb1.md (*thumb1_movpc_insn): New insn pattern.
35125
35126 2015-01-27 David Malcolm <dmalcolm@redhat.com>
35127
35128 * toplev.c (print_version): Add param "show_global_state", and
35129 only print GGC and plugin information if it is true.
35130 (init_asm_output): Pass in "true" for the new param when calling
35131 print_version.
35132 (process_options): Likewise.
35133 (toplev::main): Likewise.
35134 * toplev.h (print_version): Add new param to decl.
35135
35136 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
35137
35138 PR ipa/60871
35139 PR ipa/64139
35140 * tree.c (lookup_binfo_at_offset): New function.
35141 (get_binfo_at_offset): Use it.
35142
35143 2015-01-27 Jan Hubicka <hubicka@ucw.cz>
35144
35145 PR ipa/64282
35146 * gimple-fold.c (gimple_get_virt_method_for_vtable): Remove assert
35147 on vtable being vtable.
35148
35149 2015-01-27 Dominik Vogt <vogt@linux.vnet.ibm.com>
35150
35151 * doc/extend.texi: s/390: Update documentation of hotpatch attribute.
35152 * doc/invoke.texi (-mhotpatch): s/390: Update documentation of
35153 -mhotpatch= option.
35154 * config/s390/s390.opt (mhotpatch): s/390: Remove -mhotpatch and
35155 -mno-hotpatch options. Change syntax of -mhotpatch= option.
35156 * config/s390/s390.c (s390_hotpatch_trampoline_halfwords_default):
35157 Renamed.
35158 (s390_hotpatch_trampoline_halfwords_max): Renamed.
35159 (s390_hotpatch_hw_max): New name.
35160 (s390_hotpatch_trampoline_halfwords): Renamed.
35161 (s390_hotpatch_hw_before_label): New name.
35162 (get_hotpatch_attribute): Removed.
35163 (s390_hotpatch_hw_after_label): New name.
35164 (s390_handle_hotpatch_attribute): Add second parameter to hotpatch
35165 attribute.
35166 (s390_attribute_table): Ditto.
35167 (s390_function_num_hotpatch_trampoline_halfwords): Renamed.
35168 (s390_function_num_hotpatch_hw): New name.
35169 Remove special handling of inline functions and hotpatching.
35170 Return number of nops before and after the function label.
35171 (s390_can_inline_p): Removed.
35172 (s390_asm_output_function_label): Emit a configurable number of nops
35173 after the function label.
35174 (s390_option_override): Update -mhotpatch= syntax and remove -mhotpatch.
35175 (TARGET_CAN_INLINE_P) Removed.
35176 (TARGET_FUNCTION_ATTRIBUTE_INLINABLE_P): New.
35177
35178 2015-01-27 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35179 Jiong Wang <jiong.wang@arm.com>
35180
35181 * config/aarch64/aarch64.md (tb<optab><mode>1): Clobber CC reg instead
35182 of scratch reg.
35183 (cb<optab><mode>1): Likewise.
35184 * config/aarch64/iterators.md (bcond): New define_code_attr.
35185
35186 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
35187
35188 * config/s390/s390.c (s390_memory_move_cost): Increase costs for
35189 memory accesses.
35190
35191 2015-01-27 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
35192
35193 * config/s390/s390.c (s390_register_move_cost): Increase costs for
35194 FPR->GPR moves.
35195
35196 2015-01-27 Richard Biener <rguenther@suse.de>
35197
35198 * tree-vrp.c (update_value_range): Intersect the range with
35199 old recorded SSA name range information.
35200
35201 2015-01-27 Nick Clifton <nickc@redhat.com>
35202
35203 * config/rl78/rl78.c (rl78_expand_prologue): In G10 mode push the
35204 BC, DE and HL registers directly, not via AX.
35205 When decrementing the stack pointer by a large amount, transfer SP
35206 into AX and perform the subtraction there.
35207 (rl78_expand_epilogue): Perform the inverse of the above
35208 enhancements.
35209
35210 2015-01-27 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35211
35212 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Remove.
35213
35214 2015-01-27 Jakub Jelinek <jakub@redhat.com>
35215 Yury Gribov <y.gribov@samsung.com>
35216
35217 PR ubsan/64741
35218 * ubsan.c (ubsan_source_location): Refactor code.
35219 (ubsan_type_descriptor): Update type size. Refactor code.
35220
35221 2015-01-27 Richard Biener <rguenther@suse.de>
35222
35223 PR tree-optimization/56273
35224 PR tree-optimization/59124
35225 PR tree-optimization/64277
35226 * tree-vrp.c (vrp_finalize): Emit array-bound warnings only
35227 from the first VRP pass.
35228
35229 2015-01-27 Jakub Jelinek <jakub@redhat.com>
35230
35231 PR ipa/64776
35232 * cgraphunit.c (cgraph_node::expand_thunk): If not this_adjusting,
35233 handle the first argument in the same loop as all the other arguments.
35234
35235 PR rtl-optimization/61058
35236 * jump.c (cleanup_barriers): Update basic block boundaries
35237 if BLOCK_FOR_INSN is non-NULL on PREV.
35238
35239 2015-01-27 Ilya Enkovich <ilya.enkovich@intel.com>
35240
35241 * tree-chkp.c (chkp_call_returns_bounds_p): Fix handling of
35242 bounds narrowing, already instrumented calls and calls to
35243 not instrumentable functions.
35244
35245 2015-01-27 Jakub Jelinek <jakub@redhat.com>
35246
35247 PR tree-optimization/64807
35248 * wide-int.cc (wi::divmod_internal): Clear
35249 b_dividend[dividend_blocks_needed].
35250
35251 2015-01-26 DJ Delorie <dj@redhat.com>
35252
35253 * config/rl78/rl78.c (move_elim_pass): Don't optimize away
35254 volatile memory references.
35255
35256 2015-01-26 Oleg Endo <olegendo@gcc.gnu.org>
35257
35258 PR target/49263
35259 * config/sh/sh.c (sh_split_treg_set_expr): Invoke emit_insn before
35260 remove_insn.
35261 * config/sh/sh.md (tstsi_t): Don't try to optimize constant with right
35262 shifts if it already fits into K08.
35263
35264 2015-01-26 Jakub Jelinek <jakub@redhat.com>
35265
35266 PR ipa/64730
35267 * ipa-inline.c (inline_small_functions): Print "unknown" even
35268 if edge->call_stmt is non-NULL, but has builtins or unknown
35269 location.
35270
35271 PR middle-end/64421
35272 * omp-low.c (simd_clone_mangle): If DECL_ASSEMBLER_NAME starts
35273 with asterisk, skip the first character.
35274
35275 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
35276
35277 PR target/64806
35278 * config/i386/i386 (feature_priority): Revert the last P_POPCNT
35279 order change.
35280
35281 2015-01-26 Uros Bizjak <ubizjak@gmail.com>
35282
35283 PR target/64795
35284 * config/i386/i386.md (*movdi_internal): Also check operand 0
35285 to determine TYPE_LEA operand.
35286 (*movsi_internal): Ditto.
35287
35288 2015-01-26 Jakub Jelinek <jakub@redhat.com>
35289
35290 * config/rs6000/rs6000-cpus.def (POWERPC_MASKS): Add
35291 OPTION_MASK_QUAD_MEMORY_ATOMIC.
35292
35293 2015-01-26 Renlin Li <renlin.li@arm.com>
35294
35295 * config/aarch64/aarch64.c (aarch64_load_symref_appropriately): Correct
35296 the comment.
35297 * config/aarch64/aarch64.md (tlsle_small_<mode>): Add left shift 12-bit
35298 for higher part.
35299
35300 2015-01-26 Richard Biener <rguenther@suse.de>
35301
35302 PR middle-end/64764
35303 * tree-ssa-uninit.c (is_pred_expr_subset_of): Handle
35304 combining two BIT_AND_EXPR predicates.
35305
35306 2015-01-26 H.J. Lu <hongjiu.lu@intel.com>
35307
35308 PR bootstrap/64754
35309 * tree-ssa-structalias.c (new_var_info): Initialize ruid.
35310
35311 2015-01-26 Terry Guo <terry.guo@arm.com>
35312
35313 * config/arm/arm.c (arm_file_start): Update the assignment of
35314 Tag_ABI_HardFP_use.
35315
35316 2015-01-25 James Greenhalgh <james.greenhalgh@arm.com>
35317
35318 * config/arm/arm-cores.def (cortex-a57): Use the new Cortex-A57
35319 pipeline model.
35320 config/arm/arm.md: Include the new Cortex-A57 model.
35321 (generic_sched): Don't use generic_sched when tuning for
35322 Cortex-A57.
35323
35324 2015-01-25 Allan Sandfeld Jensen <sandfeld@kde.org>
35325 Uros Bizjak <ubizjak@gmail.com>
35326
35327 * config/i386/i386.c (get_builtin_code_for_version): Add
35328 support for BMI and BMI2 multiversion functions.
35329
35330 2015-01-25 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
35331
35332 * emit-rtl.h (store_bit_field): Move prototype to expmed.h.
35333 (extract_bit_field): Likewise.
35334 (extract_low_bits): Likewise.
35335 (expand_mult): Likewise.
35336 (expand_mult_highpart_adjust): Likewise.
35337
35338 2015-01-24 H.J. Lu <hongjiu.lu@intel.com>
35339
35340 * config/i386/driver-i386.c (host_detect_local_cpu): Check new
35341 Silvermont, Haswell, Broadwell and Knights Landing model numbers.
35342 * config/i386/i386.c (processor_model): Add
35343 M_INTEL_COREI7_BROADWELL.
35344 (arch_names_table): Add "broadwell".
35345
35346 2015-01-24 Oleg Endo <olegendo@gcc.gnu.org>
35347
35348 PR target/49263
35349 PR target/53987
35350 PR target/64345
35351 PR target/59533
35352 PR target/52933
35353 PR target/54236
35354 PR target/51244
35355 * config/sh/sh-protos.h
35356 (sh_extending_set_of_reg::can_use_as_unextended_reg,
35357 sh_extending_set_of_reg::use_as_unextended_reg,
35358 sh_is_nott_insn, sh_movt_set_dest, sh_movrt_set_dest, sh_is_movt_insn,
35359 sh_is_movrt_insn, sh_insn_operands_modified_between_p,
35360 sh_reg_dead_or_unused_after_insn, sh_in_recog_treg_set_expr,
35361 sh_recog_treg_set_expr, sh_split_treg_set_expr): New functions.
35362 (sh_treg_insns): New class.
35363 * config/sh/sh.c (TARGET_LEGITIMATE_COMBINED_INSN): Define target hook.
35364 (scope_counter): New class.
35365 (sh_legitimate_combined_insn, sh_is_nott_insn, sh_movt_set_dest,
35366 sh_movrt_set_dest, sh_reg_dead_or_unused_after_insn,
35367 sh_extending_set_of_reg::can_use_as_unextended_reg,
35368 sh_extending_set_of_reg::use_as_unextended_reg, sh_recog_treg_set_expr,
35369 sh_in_recog_treg_set_expr, sh_try_split_insn_simple,
35370 sh_split_treg_set_expr): New functions.
35371 (addsubcosts): Handle treg_set_expr.
35372 (sh_rtx_costs): Handle IF_THEN_ELSE and ZERO_EXTRACT.
35373 (sh_rtx_costs): Use arith_reg_operand in SIGN_EXTEND and ZERO_EXTEND.
35374 (sh_rtx_costs): Handle additional bit test patterns in EQ and AND cases.
35375 (sh_insn_operands_modified_between_p): Make non-static.
35376 * config/sh/predicates.md (zero_extend_movu_operand): Allow
35377 simple_mem_operand in addition to displacement_mem_operand.
35378 (zero_extend_operand): Don't allow zero_extend_movu_operand.
35379 (treg_set_expr, treg_set_expr_not_const01,
35380 arith_reg_or_treg_set_expr): New predicates.
35381 * config/sh/sh.md (tstsi_t): Use arith_reg_operand and
35382 arith_or_int_operand instead of logical_operand. Convert to
35383 insn_and_split. Try to optimize constant operand in splitter.
35384 (tsthi_t, tstqi_t): Fold into *tst<mode>_t. Convert to insn_and_split.
35385 (*tstqi_t_zero): Delete.
35386 (*tst<mode>_t_subregs): Add !sh_in_recog_treg_set_expr split condition.
35387 (tstsi_t_and_not): Delete.
35388 (tst<mode>_t_zero_extract_eq): Rename to *tst<mode>_t_zero_extract.
35389 Convert to insn_and_split.
35390 (unnamed split, tstsi_t_zero_extract_xor,
35391 tstsi_t_zero_extract_subreg_xor_little,
35392 tstsi_t_zero_extract_subreg_xor_big): Delete.
35393 (*tstsi_t_shift_mask): New insn_and_split.
35394 (cmpeqsi_t, cmpgesi_t): Add new split for const_int 0 operands and try
35395 to recombine with surrounding insns when splitting.
35396 (*negtstsi): Add !sh_in_recog_treg_set_expr condition.
35397 (cmp_div0s_0, cmp_div0s_1, *cmp_div0s_0, *cmp_div0s_1): Rewrite as ...
35398 (cmp_div0s, *cmp_div0s_1, *cmp_div0s_2, *cmp_div0s_3, *cmp_div0s_4,
35399 *cmp_div0s_5, *cmp_div0s_6): ... these new insn_and_split patterns.
35400 (*cbranch_div0s: Delete.
35401 (*addc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
35402 Try to recombine with surrounding insns when splitting. Add operand
35403 order variants.
35404 (*addc_t_r, *addc_r_t): Use treg_set_expr_not_const01.
35405 (*addc_r_r_1, *addc_r_lsb, *addc_r_r_lsb, *addc_r_lsb_r, *addc_r_msb,
35406 *addc_r_r_msb, *addc_2r_msb): Delete.
35407 (*addc_2r_lsb): Rename to *addc_2r_t. Use treg_set_expr. Add operand
35408 order variant.
35409 (*addc_negreg_t): New insn_and_split.
35410 (*subc): Convert to insn_and_split. Use treg_set_expr as 3rd operand.
35411 Try to recombine with surrounding insns when splitting.
35412 Add operand order variants.
35413 (*subc_negt_reg, *subc_negreg_t, *reg_lsb_t, *reg_msb_t): New
35414 insn_and_split patterns.
35415 (*rotcr): Use arith_reg_or_treg_set_expr. Try to recombine with
35416 surrounding insns when splitting.
35417 (unnamed rotcr split): Use arith_reg_or_treg_set_expr.
35418 (*rotcl): Likewise. Add zero_extract variant.
35419 (*ashrsi2_31): New insn_and_split.
35420 (*negc): Convert to insn_and_split. Use treg_set_expr.
35421 (*zero_extend<mode>si2_disp_mem): Update comment.
35422 (movrt_negc, *movrt_negc, nott): Add !sh_in_recog_treg_set_expr split
35423 condition.
35424 (*mov_t_msb_neg, mov_neg_si_t): Use treg_set_expr. Try to recombine
35425 with surrounding insns when splitting.
35426 (any_treg_expr_to_reg): New insn_and_split.
35427 (*neg_zero_extract_0, *neg_zero_extract_1, *neg_zero_extract_2,
35428 *neg_zero_extract_3, *neg_zero_extract_4, *neg_zero_extract_5,
35429 *neg_zero_extract_6, *zero_extract_0, *zero_extract_1,
35430 *zero_extract_2): New single bit zero extract patterns.
35431 (bld_reg, *bld_regqi): Fold into bld<mode>_reg.
35432 (*get_thread_pointersi, store_gbr, *mov<mode>_gbr_load,
35433 *mov<mode>_gbr_load, *mov<mode>_gbr_load, *mov<mode>_gbr_load,
35434 *movdi_gbr_load): Use arith_reg_dest instead of register_operand for
35435 set destination.
35436 (set_thread_pointersi, load_gbr): Use arith_reg_operand instead of
35437 register_operand for set source.
35438
35439 2015-01-23 Jan Hubicka <hubicka@ucw.cz>
35440
35441 * i386.opt (prefetch_sse): New targetsave.
35442 * i386.c (ix86_function_specific_save): Save prefetch_sse.
35443 (ix86_function_specific_restore): Restore prefetch_sse and initialize
35444 ix86_cost/ix86_tune_cost.
35445
35446 2015-01-23 David Malcolm <dmalcolm@redhat.com>
35447
35448 * config/rs6000/rs6000.c (rs6000_output_function_epilogue):
35449 Support the JIT by using 0 as the language type.
35450
35451 2015-01-23 Vladimir Makarov <vmakarov@redhat.com>
35452
35453 PR target/64317
35454 * lra-lives.c (make_hard_regno_born): Add parameter. Don't make
35455 REAL_PIC_OFFSET_TABLE_REGNUM conflicting with pic offset pseudo.
35456 (mark_regno_live, process_bb_lives): Pass new parameter value to
35457 make_hard_regno_born.
35458
35459 2015-01-23 Jakub Jelinek <jakub@redhat.com>
35460
35461 PR rtl-optimization/63637
35462 PR rtl-optimization/60663
35463 * cse.c (merge_equiv_classes): Set new_elt->cost to MAX_COST
35464 if elt->cost is MAX_COST for ASM_OPERANDS.
35465 (find_sets_in_insn): Fix up comment typo.
35466 (cse_insn): Don't set src_volatile for all non-volatile
35467 ASM_OPERANDS in PARALLELs, but just those with multiple outputs
35468 or with "memory" clobber. Set elt->cost to MAX_COST
35469 for ASM_OPERANDS in PARALLEL. Set src_elt->cost to MAX_COST
35470 if new_src is ASM_OPERANDS and elt->cost is MAX_COST.
35471
35472 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
35473
35474 * config/i386/sse.md (sse2_loadld): Set attribute isa to sse2 for
35475 alternative 1.
35476
35477 2015-01-23 Uros Bizjak <ubizjak@gmail.com>
35478
35479 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Move definition to
35480 libgcc/config/i386/elf-lib.h.
35481
35482 2015-01-23 Jakub Jelinek <jakub@redhat.com>
35483
35484 PR driver/64737
35485 * gcc.c (print_configuration): Don't print a blank line at the end
35486 here...
35487 (run_attempt): ... but here unstead.
35488
35489 PR middle-end/64734
35490 * omp-low.c (scan_sharing_clauses): Don't ignore
35491 OMP_CLAUSE_MAP_ZERO_BIAS_ARRAY_SECTION GOMP_MAP_POINTER clauses
35492 on target data/update constructs.
35493
35494 2015-01-23 Bernd Edlinger <bernd.edlinger@hotmail.de>
35495
35496 PR target/50928
35497 * config/m32c/m32c.c (encode_pattern_1): Removed gcc_unreachable here.
35498 (DEBUG_RELOAD): Removed define.
35499 (m32c_limit_reload_class): Enable traces with if DEBUG0.
35500 (m32c_function_arg): Added a type cast.
35501 (m32c_legitimize_reload_address): Push A_REGS reload with PSImode.
35502 * config/m32c/addsub.md (addsi3_1): Specify the mode of all arguments.
35503 * config/m32c/bitops.md (andqi3_16): Likewise.
35504 * config/m32c/mov.md (m32c_immd_dbl_mov): Likewise.
35505 (push_a01_l): Likewise.
35506
35507 2015-01-23 David Malcolm <dmalcolm@redhat.com>
35508
35509 PR jit/64721
35510 * main.c (main): Construct toplev instances with init_signals=true.
35511 * toplev.c (general_init): Add param "init_signals", and use it to
35512 conditionalize the calls to signal and host_hooks.extra_signals.
35513 (toplev::toplev): Add param "init_signals".
35514 (toplev::main): When invoking general_init, pass m_init_signals
35515 to control whether signal-handlers are installed.
35516 * toplev.h (toplev::toplev): Add param "init_signals".
35517 (toplev::m_init_signals): New field.
35518
35519 2015-01-23 David Malcolm <dmalcolm@redhat.com>
35520
35521 PR jit/64722
35522 * emit-rtl.c (init_emit_regs): Set pic_offset_table_rtx to
35523 NULL_RTX before testing PIC_OFFSET_TABLE_REGNUM, since the
35524 latter may be affected by the former (e.g. on i686).
35525
35526 2015-01-23 Martin Liska <mliska@suse.cz>
35527
35528 * tree.h (tree_vec_elt_check): Workaround -Wstrict-overflow
35529 false positive during profiledbootstrap.
35530
35531 2015-01-23 Tom de Vries <tom@codesourcery.com>
35532
35533 PR libgomp/64672
35534 * lto-opts.c (lto_write_options): Output non-explicit conservative
35535 -fno-openacc.
35536 * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
35537 (append_compiler_options): Pass -fopenacc through.
35538
35539 2015-01-23 Tom de Vries <tom@codesourcery.com>
35540
35541 PR libgomp/64707
35542 * lto-opts.c (lto_write_options): Output non-explicit conservative
35543 -fno-openmp.
35544 * lto-wrapper.c (merge_and_complain): Handle merging -fopenmp.
35545 (append_compiler_options): Pass -fopenmp through.
35546
35547 2015-01-23 Jakub Jelinek <jakub@redhat.com>
35548
35549 PR debug/64511
35550 * dwarf2out.c (struct dw_loc_descr_node): Add chain_next
35551 GTY markup.
35552
35553 * diagnostic-core.h (internal_error_no_backtrace): New prototype.
35554 * diagnostic.def (DK_ICE_NOBT): New kind.
35555 * diagnostic.c (diagnostic_action_after_output): Handle DK_ICE_NOBT
35556 like DK_ICE, but never print backtrace.
35557 (diagnostic_report_diagnostic): Handle DK_ICE_NOBT like DK_ICE.
35558 (internal_error_no_backtrace): New function.
35559 * gcc.c (execute): Use internal_error_no_backtrace instead of
35560 internal_error.
35561
35562 2015-01-22 Jeff Law <law@redhat.com>
35563
35564 PR target/52076
35565 * config/m68k/m68k.md (xorsi3_internal): Twiddle constraints to
35566 improve code density for small immediate to memory case.
35567 (insv): Better handle bitfield assignments when the field is
35568 being set to all ones.
35569 * config/m68k/predicates.md (reg_or_pow2_m1_operand): New
35570 operand predicate.
35571
35572 2015-01-22 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
35573 Jakub Jelinek <jakub@redhat.com>
35574
35575 PR middle-end/64729
35576 * gcc.c (LINK_SSP_SPEC): Handle -fstack-protector-explicit
35577 for !TARGET_LIBC_PROVIDES_SSP version and
35578 -fstack-protector-{all,strong,explicit} otherwise.
35579 * config/freebsd.h (LINK_SSP_SPEC): Handle
35580 -fstack-protector-{strong,explicit}.
35581
35582 2015-01-22 Jan Hubicka <hubicka@ucw.cz>
35583 H.J. Lu <hongjiu.lu@intel.com>
35584
35585 PR ipa/64694
35586 * ipa-inline.c (inline_small_functions): Fix thinko in maintenance of
35587 heap.
35588
35589 2015-01-22 Wei Mi <wmi@google.com>
35590
35591 PR rtl-optimization/64557
35592 * dse.c (record_store): Call get_addr for mem_addr.
35593 (check_mem_read_rtx): Likewise.
35594
35595 2015-01-22 Eric Botcazou <ebotcazou@adacore.com>
35596
35597 * fold-const.c (const_binop): Add early return for non-tcc_binary.
35598
35599 2015-01-22 Chen Gang <gang.chen.5i5j@gmail.com>
35600
35601 * toplev.c (init_local_tick): Process the failure when read
35602 fails for random_seed.
35603
35604 * ubsan.c (ubsan_type_descriptor): Use 'pretty_print' for
35605 'pretty_name' to avoid memory overflow.
35606
35607 2015-01-22 Richard Biener <rguenther@suse.de>
35608
35609 PR middle-end/64728
35610 * tree-ssa-coalesce.c (coalesce_partitions): Do not perform
35611 abnormal coalescing on undefined SSA names.
35612
35613 2015-22-01 Uros Bizjak <ubizjak@gmail.com>
35614
35615 PR target/64688
35616 PR target/64477
35617 * config/i386/sse.md (vec_set<mode>_0): Use (Yi/r/C) constraints
35618 for alternative 3.
35619 (*vec_dup<mode>): Use (Yi/$r) constraints for alternative 1.
35620
35621 2015-01-22 Trevor Saunders <tsaunders@mozilla.com>
35622
35623 PR middle-end/63325
35624 * fold-const.c (fold_checksum_tree): Don't include value of
35625 expr->decl_with_vis.symtab_node in the checksum.
35626
35627 2015-01-22 Andreas Krebbel <Andreas.Krebbel@de.ibm.com>
35628
35629 * config/s390/s390.md (atomic code attribute): Fix typo "ior" -> "or".
35630
35631 2015-01-22 Max Ostapenko <m.ostapenko@partner.samsung.com>
35632
35633 PR driver/64690
35634 * gcc.c (insert_comments): New function.
35635 (try_generate_repro): Call it.
35636 (append_text): Removed.
35637
35638 2015-01-22 Richard Biener <rguenther@suse.de>
35639
35640 * ipa-inline.c (can_inline_edge_p): Disable inlining of edges
35641 with IL incompatible options. Properly honor user optimize
35642 attributes.
35643
35644 2015-01-21 Segher Boessenkool <segher@kernel.crashing.org>
35645
35646 PR rtl-optimization/64682
35647 * combine.c (distribute_notes): When moving a death note for
35648 a register that is set in the new I2, make sure to put it
35649 before that new I2.
35650
35651 2015-01-21 David Edelsohn <dje.gcc@gmail.com>
35652
35653 * config/rs6000/rs6000.c (rs6000_file_start): Use rs6000_isa_flags
35654 not TARGET_DEFAULT.
35655
35656 2015-01-21 Jakub Jelinek <jakub@redhat.com>
35657
35658 PR debug/64511
35659 * simplify-rtx.c (simplify_relational_operation_1): Don't try to
35660 optimize (eq/ne (and (side_effects) (const_int 0)) (const_int 0))
35661 into (eq/ne (and (not (side_effects)) (const_int 0)) (const_int 0)).
35662
35663 PR sanitizer/64706
35664 * doc/invoke.texi (-fsanitize=vptr): Document.
35665
35666 PR rtl-optimization/62078
35667 * dse.c: Include cfgcleanup.h.
35668 (rest_of_handle_dse): For -fnon-call-exceptions, if DSE removed
35669 anything call purge_all_dead_edges and cleanup_cfg at the end
35670 of the pass.
35671
35672 2015-01-21 Jan Hubicka <hubicka@ucw.cz>
35673
35674 * ipa-utils.c (ipa_merge_profiles): Avoid ICE on mismatch in indirect
35675 edges.
35676
35677 2015-01-21 Bernd Edlinger <bernd.edlinger@hotmail.de>
35678
35679 * gimplify.c (gimplify_function_tree): Check the no_sanitize_thread
35680 decl attribute.
35681
35682 2015-01-21 David Sherwood <david.sherwood@arm.com>
35683 Tejas Belagod <Tejas.Belagod@arm.com>
35684
35685 * config/aarch64/aarch64.h (CANNOT_CHANGE_MODE_CLASS): Removed.
35686 * config/aarch64/aarch64.c (aarch64_cannot_change_mode_class): Removed.
35687 * config/aarch64/aarch64-protos.h (aarch64_cannot_change_mode_class):
35688 Removed.
35689
35690 2015-01-21 David Sherwood <david.sherwood@arm.com>
35691 Tejas Belagod <Tejas.Belagod@arm.com>
35692
35693 * config/aarch64/aarch64-protos.h (aarch64_simd_attr_length_rglist)
35694 (aarch64_reverse_mask): New decls.
35695 * config/aarch64/iterators.md (UNSPEC_REV_REGLIST): New enum.
35696 (insn_count): New mode_attr.
35697 * config/aarch64/aarch64-simd.md (vec_store_lanesoi, vec_store_lanesci)
35698 (vec_store_lanesxi, vec_load_lanesoi, vec_load_lanesci)
35699 (vec_load_lanesxi): Made ABI compliant for Big Endian targets.
35700 (aarch64_rev_reglist, aarch64_simd_ld2, aarch64_simd_ld3)
35701 (aarch64_simd_ld4, aarch64_simd_st2, aarch64_simd_st3)
35702 (aarch64_simd_st4): New patterns.
35703 * config/aarch64/aarch64.c (aarch64_simd_attr_length_rglist)
35704 (aarch64_reverse_mask): New functions.
35705
35706 2015-01-21 Alan Hayward <alan.hayward@arm.com>
35707
35708 * config/aarch64/aarch64-protos.h (aarch64_simd_disambiguate_copy):
35709 Declare.
35710 * config/aarch64/aarch64.c (aarch64_classify_address): Allow extra
35711 addressing modes for BE.
35712 (aarch64_print_operand): Add 'R' specifier.
35713 (aarch64_simd_disambiguate_copy): Delete.
35714 (aarch64_simd_emit_reg_reg_move): New function.
35715 * config/aarch64/aarch64-simd.md: Use aarch64_simd_emit_reg_reg_move
35716 in define_splits for structural moves.
35717 (mov<mode>): Use less restrictive predicates.
35718 (*aarch64_mov<mode>): Simplify and only allow for LE.
35719 (*aarch64_be_movoi, *aarch64_be_movci, *aarch64_be_movxi): New.
35720
35721 2015-01-21 Alan Hayward <alan.hayward@arm.com>
35722
35723 * rtlanal.c (subreg_get_info): Exit early for simple and common cases.
35724
35725 2015-01-21 Richard Henderson <rth@redhat.com>
35726
35727 PR target/64669
35728 * ccmp.c (used_in_cond_stmt_p): Remove.
35729 (expand_ccmp_expr): Don't use it.
35730
35731 2015-01-21 Nick Clifton <nickc@redhat.com>
35732
35733 * config/rl78/rl78.c (rl78_calculate_death_notes): Look inside
35734 PARALLELs.
35735
35736 2015-01-21 Richard Biener <rguenther@suse.de>
35737
35738 PR middle-end/64313
35739 * tree-core.h (builtin_info, builtin_info_type): Turn from
35740 an object with two arrays into an array of an object with
35741 decl and two flags, implicit_p and declared_p.
35742 * tree.h (builtin_decl_explicit, builtin_decl_implicit,
35743 set_builtin_decl, set_builtin_decl_implicit_p,
35744 builtin_decl_explicit_p, builtin_decl_implicit_p): Adjust.
35745 (set_builtin_decl_declared_p, builtin_decl_declared_p): New functions.
35746 * builtins.c (builtin_info): Adjust.
35747 * gimplify.c (gimplify_addr_expr): References to builtins
35748 that have been declared by the user makes them eligible for
35749 use by the compiler. Call set_builtin_decl_implicit_p on them.
35750
35751 2015-01-20 Jeff Law <law@redhat.com>
35752
35753 PR target/59946
35754 * config/m68k/m68k.md (Comparison expanders and patterns): Do not
35755 allow pc-relative addresses in operand predicates or constraints.
35756
35757 2015-01-21 Bin Cheng <bin.cheng@arm.com>
35758
35759 * config/arm/arm.c (arm_cortex_a53_tune, arm_cortex_a57_tune): Prefer
35760 neon on aarch32 processors for stringops.
35761
35762 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35763
35764 PR ipa/63576
35765 * ipa-utils.c (ipa_merge_profiles): Merge speculative edges.
35766
35767 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35768
35769 PR lto/45375
35770 * ipa-inline.c: Include lto-streamer.h
35771 (report_inline_failed_reason): Output source file differences and
35772 flags on optimization/target node mismatch.
35773 (can_inline_edge_p): Consider caller to be the outer inline function;
35774 be less restrictive about matching opimize and optimize_size attributes.
35775 (inline_account_function_p): Break out from ...
35776 (inline_small_functions): ... here.
35777 * ipa-inline-transform.c (clone_inlined_nodes): Use
35778 inline_account_function_p.
35779 (inline_call): Use optimize attribution; use inline_account_function_p.
35780 (inline_transform): Use opt_for_fn.
35781 * ipa-inline.h (inline_account_function_p): Declare.
35782
35783 2015-01-20 Jakub Jelinek <jakub@redhat.com>
35784
35785 PR debug/64663
35786 * dwarf2out.c (decl_piece_node): Don't put bitsize into
35787 mode if bitsize <= 0.
35788 (decl_piece_bitsize, adjust_piece_list, add_var_loc_to_decl,
35789 dw_sra_loc_expr): Use HOST_WIDE_INT instead of int for bit
35790 sizes and positions.
35791
35792 2015-01-20 Chung-Lin Tang <cltang@codesourcery.com>
35793
35794 * config/nios2/nios2.c (nios2_asm_file_end): Implement
35795 TARGET_ASM_FILE_END hook for adding .note.GNU-stack section when
35796 needed.
35797 (TARGET_ASM_FILE_END): Define.
35798
35799 2015-01-20 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
35800
35801 * config/arm/arm-protos.h (enum arm_sched_autopref): New constants.
35802 (struct tune_params): Use the enum.
35803 * arm.c (arm_*_tune): Update.
35804 (arm_option_override): Update.
35805
35806 2015-01-20 Richard Biener <rguenther@suse.de>
35807
35808 PR ipa/64684
35809 * ipa-reference.c (add_static_var): Inline ...
35810 (analyze_function): ... here after splitting out from ...
35811 (is_proper_for_analysis): ... this.
35812
35813 2015-01-20 Matthew Wahab <matthew.wahab@arm.com>
35814
35815 PR target/64149
35816 * config/arm/arm.opt: Remove lra option and arm_lra_flag variablesle.
35817 * config/arm/arm.h (MODE_BASE_REG_CLASS): Remove use of arm_lra_flagag,
35818 replace the conditional with it's true branch.
35819 * config/arm/arm.config (TARGET_LRA_P): Set to hook_bool_void_true.
35820 (arm_lra_p): Remove.
35821
35822 2015-01-20 Eric Botcazou <ebotcazou@adacore.com>
35823
35824 * config/visium/visium.h (LIB_SPEC): Adjust in default case.
35825
35826 2015-01-20 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
35827
35828 * config/tilegx/mul-tables.c: Move symtab.h include after
35829 coretypes.h include.
35830 * config/tilepro/mul-tables.c: Add includes hashtab.h, hash-set.h,
35831 vec.h, machmode.h, tm.h, hard-reg-set.h, input.h, function.h, rtl.h,
35832 flags.h, statistics.h, double-int.h, real.h, fixed-value.h, alias.h,
35833 wide-int.h, inchash.h, tree.h, insn-config.h, expmed.h, dojump.h,
35834 explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
35835
35836 2015-01-20 Igor Zamyatin <igor.zamyatin@intel.com>
35837
35838 PR bootstrap/64676
35839 Revert:
35840 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
35841
35842 PR rtl-optimization/64081
35843 * loop-iv.c (def_pred_latch_p): New function.
35844 (latch_dominating_def): Allow specific cases with non-single
35845 definitions.
35846 (iv_get_reaching_def): Likewise.
35847 (check_complex_exit_p): New function.
35848 (check_simple_exit): Use check_complex_exit_p to allow certain cases
35849 with exits not executing on any iteration.
35850
35851 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35852
35853 PR lto/45375
35854 * i386.c (ix86_option_override_internal): Use ix86_tune_cost
35855 to set branch cost.
35856
35857 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35858
35859 PR lto/45375
35860 * i386.c (gate): Check flag_expensive_optimizations and
35861 optimize_size.
35862 (ix86_option_override_internal): Drop optimize_size condition
35863 on MASK_ACCUMULATE_OUTGOING_ARGS, MASK_VZEROUPPER,
35864 MASK_AVX256_SPLIT_UNALIGNED_LOAD, MASK_AVX256_SPLIT_UNALIGNED_STORE,
35865 MASK_PREFER_AVX128.
35866 (ix86_avx256_split_vector_move_misalign,
35867 ix86_avx256_split_vector_move_misalign): Check optimize_insn_for_speed.
35868 * sse.md (all uses of TARGET_PREFER_AVX128): Add
35869 optimize_insn_for_speed_p check.
35870
35871 2015-01-19 Matthew Fortune <matthew.fortune@imgtec.com>
35872
35873 * config/mips/mips.h (FP_ASM_SPEC): New define.
35874 (ASM_SPEC): Remove floating-point options and use FP_ASM_SPEC
35875 instead.
35876
35877 2015-01-19 Oleg Endo <olegendo@gcc.gnu.org>
35878
35879 PR target/53988
35880 * config/sh/sh-protos.h (sh_find_set_of_reg): Make sure not to return
35881 nullptr for insn when reaching the first insn.
35882 * config/sh/sh.c (sh_unspec_insn_p): Rewrite using subrtx_iterator.
35883 (sh_insn_operands_modified_between_p): Add nullptr check.
35884 (sh_find_extending_set_of_reg): Fix log message. Don't accept
35885 sign extending mem load if the insn contains any UNSPEC or
35886 UNSPEC_VOLATILE.
35887
35888 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35889
35890 * params.def (inline-unit-growth): Drop to 15%.
35891 * invoke.texi (inline-unit-growth): Document change.
35892
35893 2015-01-19 Martin Liska <mliska@suse.cz>
35894
35895 PR ipa/64668
35896 * ipa-icf-gimple.c (func_checker::compare_operand): Call proper
35897 function for second argument of OBJ_TYPE_REF.
35898
35899 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35900
35901 PR ipa/64218
35902 * ipa-inline.c (want_inline_function_to_all_callers_p): Fix check
35903 whether function is an alias.
35904
35905 2015-01-19 Jan Hubicka <hubicka@ucw.cz>
35906
35907 * ipa-devirt.c (ipa_devirt): Drop polymorphic call info in hopeless
35908 cases.
35909
35910 2015-01-19 Vladimir Makarov <vmakarov@redhat.com>
35911
35912 PR rtl-optimization/64671
35913 * lra-remat.c (operand_to_remat): Don't consider jump and call
35914 insns.
35915
35916 2015-01-19 David Edelsohn <dje.gcc@gmail.com>
35917
35918 PR target/59828
35919 * config/rs6000/default64.h: Include rs6000-cpus.def.
35920 (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use ISA 2.7 (POWER8).
35921 (TARGET_DEFAULT) [BIG_ENDIAN]: Use POWER4.
35922 * config/rs6000/driver-rs6000.c (detect_processor_aix): Add POWER7
35923 and POWER8.
35924 * config/rs6000/linux64.h (PROCESSOR_DEFAULT64): Always default to
35925 POWER8.
35926 * config/rs6000/rs6000.c (rs6000_file_start): Emit .machine
35927 pseudo-op to specify assembler dialect.
35928
35929 2015-01-19 Martin Liska <mliska@suse.cz>
35930
35931 PR ipa/64664
35932 * ipa-icf.c (sem_item_optimizer::filter_removed_items):
35933 Handle safe potentially removed nodes during filtering.
35934
35935 2015-01-19 Martin Liska <mliska@suse.cz>
35936
35937 * doc/extend.texi (no_icf): Add new attribute description.
35938 * ipa-icf.c (sem_item_optimizer::merge_classes): Handle cases
35939 where the pass attempts to merge a function with no_icf attribute.
35940
35941 2015-01-19 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
35942
35943 PR target/64532
35944 * doc/md.texi (ARM Options): Document register constraints.
35945
35946 2015-01-19 Jiong Wang <jiong.wang@arm.com>
35947 Andrew Pinski <apinski@cavium.com>
35948
35949 PR target/64304
35950 * config/aarch64/aarch64.md (define_insn "*ashl<mode>3_insn"): Deleted.
35951 (ashl<mode>3): Don't expand if operands[2] is not constant.
35952
35953 2015-01-19 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
35954
35955 PR target/64448
35956 * config/aarch64/aarch64-simd.md (aarch64_simd_bsl<mode>_internal):
35957 Match xor-and-xor RTL pattern.
35958
35959 2015-01-19 Igor Zamyatin <igor.zamyatin@intel.com>
35960
35961 PR rtl-optimization/64081
35962 * loop-iv.c (def_pred_latch_p): New function.
35963 (latch_dominating_def): Allow specific cases with non-single
35964 definitions.
35965 (iv_get_reaching_def): Likewise.
35966 (check_complex_exit_p): New function.
35967 (check_simple_exit): Use check_complex_exit_p to allow certain cases
35968 with exits not executing on any iteration.
35969
35970 2015-01-19 Jakub Jelinek <jakub@redhat.com>
35971
35972 * common.opt (fgraphite): Fix a typo.
35973
35974 2015-01-19 Felix Yang <felix.yang@huawei.com>
35975
35976 * config/aarch64/aarch64-simd.md (aarch64_<maxmin_uns>p<mode>): New
35977 pattern.
35978 * config/aarch64/aarch64-simd-builtins.def (smaxp, sminp, umaxp,
35979 uminp, smax_nanp, smin_nanp): New builtins.
35980 * config/aarch64/arm_neon.h (vpmax_s8, vpmax_s16, vpmax_s32,
35981 vpmax_u8, vpmax_u16, vpmax_u32, vpmaxq_s8, vpmaxq_s16, vpmaxq_s32,
35982 vpmaxq_u8, vpmaxq_u16, vpmaxq_u32, vpmax_f32, vpmaxq_f32, vpmaxq_f64,
35983 vpmaxqd_f64, vpmaxs_f32, vpmaxnm_f32, vpmaxnmq_f32, vpmaxnmq_f64,
35984 vpmaxnmqd_f64, vpmaxnms_f32, vpmin_s8, vpmin_s16, vpmin_s32, vpmin_u8,
35985 vpmin_u16, vpmin_u32, vpminq_s8, vpminq_s16, vpminq_s32, vpminq_u8,
35986 vpminq_u16, vpminq_u32, vpmin_f32, vpminq_f32, vpminq_f64, vpminqd_f64,
35987 vpmins_f32, vpminnm_f32, vpminnmq_f32, vpminnmq_f64, vpminnmqd_f64,
35988 vpminnms_f32): Rewrite using builtin functions.
35989
35990 2015-01-19 Thomas Schwinge <thomas@codesourcery.com>
35991
35992 PR libgomp/64625
35993 * omp-low.c (offload_symbol_decl): Remove variable.
35994 (get_offload_symbol_decl): Remove function.
35995 (expand_omp_target): For BUILT_IN_GOMP_TARGET,
35996 BUILT_IN_GOMP_TARGET_DATA, BUILT_IN_GOMP_TARGET_UPDATE pass NULL
35997 instead of &__OFFLOAD_TABLE__, for BUILT_IN_GOACC_DATA_START,
35998 BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL,
35999 BUILT_IN_GOACC_UPDATE don't pass it at all.
36000
36001 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
36002
36003 * tree-sra.c (some_callers_have_mismatched_arguments_p): Allow thunk
36004 callers.
36005
36006 2015-01-19 Ilya Enkovich <ilya.enkovich@intel.com>
36007
36008 * ipa-chkp.c (chkp_produce_thunks): Add early param
36009 to split thunks production into two passes. Keep
36010 'always_inline' function bodies after the first pass.
36011 (pass_data_ipa_chkp_early_produce_thunks): New.
36012 (pass_ipa_chkp_early_produce_thunks): New.
36013 (pass_ipa_chkp_produce_thunks::execute): Adjust to new
36014 chkp_produce_thunks signature.
36015 (make_pass_ipa_chkp_early_produce_thunks): New.
36016 * passes.def (pass_ipa_chkp_early_produce_thunks): New.
36017 (pass_ipa_chkp_produce_thunks): Move after local optimizations.
36018 * tree-pass.h (make_pass_ipa_chkp_early_produce_thunks): New.
36019
36020 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
36021
36022 * cgraph.c (cgraph_node::dump): Dump profile flags.
36023
36024 2015-01-18 Oleg Endo <olegendo@gcc.gnu.org>
36025
36026 PR target/64652
36027 * config/sh/sh.md (udivsi3_i4, divsi3_i4): Make use of sfunc address
36028 reg appear first in the parallel.
36029
36030 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
36031
36032 * ipa-reference.c (set_reference_optimization_summary,
36033 ipa_reference_get_not_written_global): Do nothing if ipa-reference is
36034 disabled.
36035 (ignore_module_statics): New static var.
36036 (propagate_bits): If ipa-reference is disabled, do not look into local
36037 properties.
36038 (analyze_function): Disable analysis when ipa_reference is disabled.
36039 (generate_summary): Do not dump when reference is disabled;
36040 collect vars accessed from functions with ipa-reference disabled.
36041 (get_read_write_all_from_node): When ipa-reference is disabled, use the
36042 node flags.
36043 (gate): Enable for LTO.
36044 (ignore_edge_p): New function.
36045 (propagate): Skip functions w/o ipa-reference analysis.
36046 * optc-save-gen.awk: Handle optimize_debug correctly.
36047 * opth-gen.awk: Likewise.
36048 * common.opt (fauto-inc-dec, fdelete-dead-exceptions, ffunction-cse,
36049 fgraphite, fstrict-volatile-bitfields, fira-algorithm, fira-region,
36050 fira-share-save-slots, fira-share-spill-slots,
36051 fmodulo-sched-allow-regmoves, fpartial-inlining,
36052 sched-stalled-insns, fsched-stalled-insns-dep, fstrict-overflow,
36053 ftracer, ftree-parallelize-loops, fassociative-math,
36054 freciprocal-math, fvect-cost-model, fsimd-cost-model): Mark as
36055 Optimization
36056 (fauto-profile, fcommon, fdata-sections, fipa-icf-variables,
36057 ftoplevel-reorder, funit-at-a-time, fwhole-program): Do not mark as
36058 Optimization.
36059 * ipa-icf.c (gate, sem_item_optimizer::filter_removed_items):
36060 Fix for IPA.
36061
36062 2015-01-18 Jan Hubicka <hubicka@ucw.cz>
36063
36064 PR ipa/64378
36065 * ipa-prop.c (try_make_edge_direct_virtual_call): Clear speculative
36066 flag correctly.
36067 * ipa-cp.c (ipa_get_indirect_edge_target_1): Handle speculation.
36068
36069 2015-01-18 Sandra Loosemore <sandra@codesourcery.com>
36070
36071 * doc/invoke.texi ([-funroll-loops], [-funroll-all-loops]):
36072 Remove duplicate option listings.
36073
36074 2015-01-18 Felix Yang <felix.yang@huawei.com>
36075
36076 * auto-profile.c (afdo_find_equiv_class): Remove unnecessary test.
36077 (autofdo_source_profile::get_callsite_total_count,
36078 function_instance::get_function_instance_by_decl,
36079 string_table::get_index, string_table::get_index_by_decl,
36080 afdo_vpt_for_early_inline, afdo_callsite_hot_enough_for_early_inline):
36081 Fix comment typos. Reformatting and minor code rearrangement.
36082
36083 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
36084
36085 * config/rs6000/rs6000.md (probe_stack): Delete.
36086 (probe_stack_address): New.
36087
36088 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
36089
36090 * config/rs6000/rs6000.c (rs6000_gimplify_va_arg): Use TARGET_32BIT
36091 to test for 32-bit ABIs, not !TARGET_POWERPC64.
36092
36093 2015-01-17 Segher Boessenkool <segher@kernel.crashing.org>
36094
36095 * config/rs6000/rs6000.c (rs6000_parallel_return): New function.
36096 (rs6000_function_value): Use it. Handle SCmode and TCmode as well,
36097 for TARGET_32BIT && TARGET_POWERPC64. Fix another BITS_PER_WORD
36098 snafu.
36099 (rs6000_libcall_value): Use the new function.
36100
36101 2015-01-17 Sandra Loosemore <sandra@codesourcery.com>
36102
36103 * doc/invoke.texi ([-ftracer]): Remove duplicate option listing.
36104
36105 2015-01-17 Eric Botcazou <ebotcazou@adacore.com>
36106
36107 * reorg.c (fill_simple_delay_slots): If TARGET_FLAGS_REGNUM is valid,
36108 implement a more precise life analysis for it during backward scan.
36109
36110 2015-01-17 Jan Kratochvil <jan.kratochvil@redhat.com>
36111
36112 * dwarf2out.c (gen_producer_string): Ignore also OPT_fpreprocessed.
36113
36114 2015-01-17 Bernd Schmidt <bernds@codesourcery.com>
36115
36116 PR rtl-optimization/52773
36117 * calls.c (emit_library_call_value): When pushing arguments use
36118 stack_pointer_rtx rather than virtual_outgoing_args_rtx in
36119 CALL_INSN_FUNCTION_USAGE. Only emit one of use of the magic
36120 stack pointer reference into CALL_INSN_FUNCTION_USAGE.
36121
36122 2015-01-17 Jeff Law <law@redhat.com>
36123
36124 PR rtl-optimization/32790
36125 * reginfo.c (reg_scan_mark_refs): Look for ZERO_EXTRACT,
36126 not ZERO_EXTEND in SET_DESTs.
36127
36128 2015-01-17 Alan Modra <amodra@gmail.com>
36129
36130 * cprop.c (do_local_cprop): Revert last change.
36131
36132 2015-01-16 DJ Delorie <dj@redhat.com>
36133 Nick Clifton <nickc@redhat.com>
36134
36135 * config/rl78/rl78-real.md (addqi3_real): Allow volatiles.
36136 (addhi3_real): Likewise. Fix [HL+0] syntax.
36137 (subqi3_real): Likewise.
36138 (subhi3_real): Likewise.
36139 (cbranchqi4_real): Likewise. Allow saddr,#imm.
36140 (cbranchhi4_real): Likewise.
36141 (cbranchhi4_real_inverted): Likewise.
36142 (cbranchsi4_real_lt): Likewise.
36143 (cbranchsi4_real_ge): Likewise.
36144 (cbranchsi4_real_ge): Likewise.
36145 * config/rl78/rl78-virt.md (add<mode>3_virt): Likewise.
36146 (sub<mode>3_virt): Likewise.
36147 (cbranchqi4_virt): Likewise.
36148 (cbranchhi4_virt): Likewise.
36149 * config/rl78/rl78.c (rl78_print_operand_1): 'p' modifier means
36150 always use '[reg+imm]' even when imm is zero.
36151 * config/rl78/predicates.md (rl78_volatile_memory_operand): New.
36152 (rl78_general_operand): New.
36153 (rl78_nonimmediate_operand): New.
36154 (rl78_nonfar_operand): Use them.
36155 (rl78_nonfar_nonimm_operand): Likewise.
36156 (rl78_stack_based_mem): Fix.
36157 * config/rl78/constraints.md (Ibqi): New.
36158 (IBqi): New.
36159 (Wsa): New.
36160 (Wsf): New.
36161 (Cs1): Fix.
36162 * config/rl78/rl78-expand.md (andqi3): Accept volatiles.
36163 (iorqi3): Likewise.
36164 (xorqi3): Likewise.
36165 * config/rl78/rl78-protos.h (rl78_sfr_p): New.
36166
36167 * config/rl78/constrains (Qs8): New constraint.
36168 * config/rl78/rl78.c (rl78_flags_already_set): New function.
36169 * config/rl78/rl78-protos.h (rl78_flags_already_set): New prototype.
36170 * config/rl78/rl78-real.md (update_Z): New attribute.
36171 Update patterns to set it.
36172 (cbranchqi4_real): Call rl78_flags_already_set() to determine if a
36173 shorter compare and branch sequence can be used.
36174 (cbranchhi4_real): Likewise.
36175 (cbranchhi4_real_inverted): Likewise.
36176
36177 * config/rl78/predicates.md (uword_operand): Allow symbol_refs.
36178 * config/rl78/rl78-c.c (rl78_register_pragmas): Register __near
36179 address space.
36180 * config/rl78/rl78.c (rl78_get_name_encoding): New.
36181 (rl78_option_override): Allow -mes0 only if C.
36182 (characterize_address): Support subregs of symbol_refs.
36183 (rl78_addr_space_address_mode): Move. Add __near.
36184 (rl78_far_p): Likewise.
36185 (rl78_addr_space_pointer_mode): Likewise.
36186 (rl78_as_legitimate_address): Likewise.
36187 (rl78_addr_space_subset_p): Likewise.
36188 (rl78_addr_space_convert): Likewise.
36189 (rl78_print_operand_1): Support 16-bit addressing of 32-bit
36190 symbols with -mes0.
36191 (transcode_memory_rtx): Don't copy ES if -mes0. Allow symbol[BC]
36192 addressing.
36193 (rl78_alloc_physical_registers_op1): Change logic to prefer
36194 symbol[BC] addressing.
36195 (frodata_section): New.
36196 (rl78_asm_init_sections): Initialize it.
36197 (rl78_select_section): Put __far readonly symbols in .frodata.
36198 (rl78_make_type_far): New.
36199 (rl78_insert_attributes): Force all readonly symbols to be
36200 __far when -mes0.
36201 (rl78_asm_out_integer): New.
36202 * config/rl78/rl78.h (ADDR_SPACE_NEAR): New.
36203 * config/rl78/rl78.opt (-mes0): New.
36204
36205 * config/rl78/rl78.h (ASM_OUTPUT_LABELREF): New.
36206 (ASM_OUTPUT_ALIGNED_DECL_COMMON): New.
36207 (ASM_OUTPUT_ALIGNED_DECL_LOCAL): New.
36208 * config/rl78/rl78-protos.h (rl78_output_labelref): New.
36209 (rl78_saddr_p): New.
36210 (rl78_output_aligned_common): New.
36211 * config/rl78/rl78.c (rl78_output_symbol_ref): Strip encodings.
36212 (rl78_handle_saddr_attribute): New.
36213 (rl78_handle_naked_attribute): New.
36214 (rl78_attribute_table): Add saddr.
36215 (rl78_print_operand_1): Don't print '!' on saddr operands.
36216 (rl78_print_operand_1): Strip encodings.
36217 (rl78_sfr_p): New.
36218 (rl78_strip_name_encoding): New.
36219 (rl78_attrlist_to_encoding): New.
36220 (rl78_encode_section_info): New.
36221 (rl78_asm_init_sections): New.
36222 (rl78_select_section): New.
36223 (rl78_output_labelref): New.
36224 (rl78_output_aligned_common): New.
36225 (rl78_asm_out_integer): New.
36226 (rl78_asm_ctor_dtor): New.
36227 (rl78_asm_constructor): New.
36228 (rl78_asm_destructor): New.
36229
36230 * config/rl78/rl78-real.md (movqi_es): Rename to movqi_to_es.
36231 * config/rl78/rl78.c (rl78_expand_epilogue): Update.
36232 (transcode_memory_rtx): Update.
36233 (rl78_expand_epilogue): Use A_REG instead of 0.
36234
36235 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
36236
36237 * config/arm/arm-protos.h (struct tune_params): New field
36238 sched_autopref_queue_depth.
36239 * config/arm/arm.c (sched-int.h): Include header.
36240 (arm_first_cycle_multipass_dfa_lookahead_guard,)
36241 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD): Define hook.
36242 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,)
36243 (arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,)
36244 (arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,)
36245 (arm_cortex_a53_tune, arm_cortex_a57_tune, arm_xgene1_tune,)
36246 (arm_cortex_a5_tune, arm_cortex_a9_tune, arm_cortex_a12_tune,)
36247 (arm_v7m_tune, arm_cortex_m7_tune, arm_v6m_tune, arm_fa726te_tune):
36248 Specify sched_autopref_queue_depth value. Enabled for A15 and A57.
36249 * config/arm/t-arm (arm.o): Update.
36250 * haifa-sched.c (update_insn_after_change): Update.
36251 (rank_for_schedule): Use auto-prefetcher model, if requested.
36252 (autopref_multipass_init): New static function.
36253 (autopref_rank_for_schedule): New rank_for_schedule heuristic.
36254 (autopref_multipass_dfa_lookahead_guard_started_dump_p): New static
36255 variable for debug dumps.
36256 (autopref_multipass_dfa_lookahead_guard_1): New static helper function.
36257 (autopref_multipass_dfa_lookahead_guard): New global function that
36258 implements TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD_GUARD hook.
36259 (init_h_i_d): Update.
36260 * params.def (PARAM_SCHED_AUTOPREF_QUEUE_DEPTH): New tuning knob.
36261 * sched-int.h (enum autopref_multipass_data_status): New const enum.
36262 (autopref_multipass_data_): Structure for auto-prefetcher data.
36263 (autopref_multipass_data_def, autopref_multipass_data_t): New typedefs.
36264 (struct _haifa_insn_data:autopref_multipass_data): New field.
36265 (INSN_AUTOPREF_MULTIPASS_DATA): New access macro.
36266 (autopref_multipass_dfa_lookahead_guard): Declare.
36267
36268 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
36269
36270 * rtlanal.c (get_base_term): Handle SCRATCH.
36271
36272 2015-01-17 Maxim Kuvyrkov <maxim.kuvyrkov@linaro.org>
36273
36274 * config/aarch64/aarch64.c
36275 (aarch64_sched_first_cycle_multipass_dfa_lookahead): Implement hook.
36276 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
36277 * config/arm/arm.c
36278 (arm_first_cycle_multipass_dfa_lookahead): Implement hook.
36279 (TARGET_SCHED_FIRST_CYCLE_MULTIPASS_DFA_LOOKAHEAD): Define.
36280
36281 2015-01-17 Alan Modra <amodra@gmail.com>
36282
36283 * cprop.c (do_local_cprop): Disallow replacement of fixed
36284 hard registers.
36285
36286 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36287
36288 PR target/62066
36289 * config/arm/arm-builtins.c (arm_expand_neon_args): Call va_end before
36290 early return 0.
36291
36292 2015-01-16 Bernd Edlinger <bernd.edlinger@hotmail.de>
36293
36294 * sanitizer.def (BUILT_IN_TSAN_VPTR_UPDATE): Fixed parameters.
36295 * tsan.c (instrument_expr): Fixed parameters of __tsan_vptr_update.
36296
36297 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36298
36299 * config/arm/arm.md: Move comment about splitting Thumb1 patterns to...
36300 * config/arm/thumb1.md: ... Here.
36301
36302 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
36303
36304 * config/rs6000/rs6000.c (rs6000_scalar_mode_supported_p): Disallow
36305 TImode for TARGET_32BIT.
36306
36307 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
36308
36309 * config/rs6000/rs6000.c (TARGET_LIBGCC_CMP_RETURN_MODE,
36310 TARGET_LIBGCC_SHIFT_COUNT_MODE, TARGET_UNWIND_WORD_MODE): Implement
36311 as ...
36312 (rs6000_abi_word_mode): New function.
36313
36314 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
36315
36316 * config/rs6000/rs6000.c (rs6000_va_start): Use MIN_UNITS_PER_WORD
36317 instead of UNITS_PER_WORD to describe the size of stack slots.
36318
36319 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
36320
36321 * config/rs6000/rs6000.c (TARGET_PROMOTE_FUNCTION_MODE): Implement
36322 as rs6000_promote_function_mode. Move comment to there.
36323 (rs6000_promote_function_mode): New function.
36324
36325 2015-01-16 Segher Boessenkool <segher@kernel.crashing.org>
36326
36327 * config/rs6000/rs6000.h (PROMOTE_MODE): Correct test for when -m32
36328 -mpowerpc64 is active.
36329
36330 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
36331
36332 PR middle-end/64353
36333 * tree-cfg.c (pass_data_fixup_cfg): Update SSA for
36334 virtuals on start.
36335
36336 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
36337
36338 * config/arm/cortex-a57.md: Remove duplicate of file accidentally
36339 introduced in revision 219724.
36340
36341 2015-01-16 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
36342 Ramana Radhakrishnan <ramana.radhakrishnan@arm.com>
36343
36344 PR target/64263
36345 * config/aarch64/aarch64.md (*movsi_aarch64): Don't split if the
36346 destination is not a GP reg.
36347 (*movdi_aarch64): Likewise.
36348
36349 2015-01-16 David Edelsohn <dje.gcc@gmail.com>
36350
36351 PR target/64623
36352 * config/rs6000/default64.h: Revert ISA change.
36353
36354 2015-01-16 Richard Biener <rguenther@suse.de>
36355
36356 PR middle-end/64614
36357 * tree-ssa-uninit.c: Include tree-cfg.h.
36358 (MAX_SWITCH_CASES): New define.
36359 (convert_control_dep_chain_into_preds): Handle switch statements.
36360 (is_pred_expr_subset_of): Handle x == CST vs. (x & CST) != 0.
36361 (normalize_one_pred_1): Do not split bit-manipulations.
36362 Record (x & CST).
36363
36364 2015-01-16 Richard Biener <rguenther@suse.de>
36365
36366 PR tree-optimization/64568
36367 * tree-ssa-forwprop.c (pass_forwprop::execute): Guard
36368 complex load rewriting for TARGET_MEM_REFs.
36369
36370 2015-01-16 Uros Bizjak <ubizjak@gmail.com>
36371
36372 * builtins.c (expand_builtin_acc_on_device): Check target for NULL.
36373
36374 2015-01-16 Matthew Wahab <matthew.wahab@arm.com>
36375
36376 PR target/64149
36377 * config/aarch64/aarch64.opt: Remove lra option and aarch64_lra_flag
36378 variable.
36379 * config/aarch64/aarch64.c (TARGET_LRA_P): Set to hook_bool_void_true.
36380 (aarch64_lra_p): Remove.
36381
36382 2015-01-16 Ilya Enkovich <ilya.enkovich@intel.com>
36383
36384 PR target/64363
36385 * ipa-chkp.h (chkp_instrumentable_p): New.
36386 * ipa-chkp.c: Include tree-inline.h.
36387 (chkp_instrumentable_p): New.
36388 (chkp_maybe_create_clone): Use chkp_instrumentable_p.
36389 Fix processing of not instrumentable functions.
36390 (chkp_versioning): Use chkp_instrumentable_p. Warn about
36391 not instrumentable functions.
36392 * tree-chkp.c (chkp_add_bounds_to_call_stmt): Use
36393 chkp_instrumentable_p.
36394 * tree-inline.h (copy_forbidden): New.
36395 * tree-inline.c (copy_forbidden): Not static anymore.
36396
36397 2015-01-16 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
36398
36399 * optc-save-gen.awk (cl_target_option_print_diff): Mark indent,
36400 ptr1, ptr2 unused.
36401
36402 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
36403
36404 * lra-constraints.c (curr_insn_transform): Change a reload pseudo of
36405 type OP_OUT to OP_INOUT.
36406
36407 2015-01-16 Robert Suchanek <robert.suchanek@imgtec.com>
36408
36409 * simplify-rtx.c (simplify_replace_fn_rtx): Simplify (lo_sum
36410 (high x) y) to y if x and y have the same base.
36411
36412 2015-01-16 James Greenhalgh <james.greenhalgh@arm.com>
36413
36414 * config/arm/cortex-a57.md: New.
36415 * config/aarch64/aarch64.md: Include it.
36416 * config/aarch64/aarch64-cores.def (cortex-a57): Tune for it.
36417 * config/aarch64/aarch64-tune.md: Regenerate.
36418
36419 2015-01-16 Zhenqiang Chen <zhenqiang.chen@arm.com>
36420
36421 PR target/64015
36422 * ccmp.c (expand_ccmp_next): New function.
36423 (expand_ccmp_expr_1, expand_ccmp_expr): Handle operand insn sequence
36424 and compare insn sequence.
36425 * config/aarch64/aarch64.c (aarch64_code_to_ccmode,
36426 aarch64_gen_ccmp_first, aarch64_gen_ccmp_next): New functions.
36427 (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): New MICRO.
36428 * config/aarch64/aarch64.md (*ccmp_and): Changed to ccmp_and<mode>.
36429 (*ccmp_ior): Changed to ccmp_ior<mode>.
36430 (cmp<mode>): New pattern.
36431 * doc/tm.texi (TARGET_GEN_CCMP_FIRST, TARGET_GEN_CCMP_NEXT): Update
36432 parameters.
36433 * target.def (gen_ccmp_first, gen_ccmp_next): Update parameters.
36434
36435 2015-01-16 Ilya Tocar <ilya.tocar@intel.com>
36436
36437 * config/i386/avx2intrin.h (_mm256_bslli_epi128,
36438 _mm256_bsrli_epi128): New.
36439 * config/i386/emmintrin.h (_mm_bsrli_si128, _mm_bslli_si128): Ditto.
36440
36441 2015-01-15 Jiong Wang <jiong.wang@arm.com>
36442
36443 * expmed.c (store_bit_field_using_insv): Improve warning message.
36444 Use %wu instead of HOST_WIDE_INT_PRINT_UNSIGNED.
36445
36446 2015-01-15 Jiong Wang <jiong.wang@arm.com>
36447
36448 PR rtl-optimization/64011
36449 * expmed.c (store_bit_field_using_insv): Warn and truncate bitsize when
36450 there is partial overflow.
36451
36452 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
36453
36454 * config/nds32/nds32-protos.h (nds32_expand_epilogue): Change
36455 prototype.
36456 (nds32_expand_epilogue_v3pop): Likewise.
36457 * config/nds32/nds32.md (sibcall): Define this for sibling call
36458 optimization.
36459 (sibcall_register): Likewise.
36460 (sibcall_immediate): Likewise.
36461 (sibcall_value): Likewise.
36462 (sibcall_value_register): Likewise.
36463 (sibcall_value_immediate): Likewise.
36464 (sibcall_epilogue): Likewise.
36465 (epilogue): Pass false to indicate this is not a sibcall epilogue.
36466 * config/nds32/nds32.c (nds32_expand_epilogue): Consider sibcall case.
36467 (nds32_expand_epilogue_v3pop): Likewise.
36468
36469 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
36470
36471 * config/nds32/nds32-protos.h (nds32_can_use_return_insn): New.
36472 * config/nds32/nds32.md (unspec_volatile_func_return): Remove.
36473 (return_internal): New.
36474 (return): Define this named pattern.
36475 (simple_return): Define this named pattern.
36476 * config/nds32/nds32.c (nds32_expand_epilogue): Emit return_internal
36477 pattern instead of unspec_volatile_func_return.
36478 (nds32_expand_epilogue_v3pop): Likewise.
36479 (nds32_can_use_return_insn): New function.
36480
36481 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
36482
36483 * config/nds32/constants.md (UNSPEC_VOLATILE_POP25_RETURN): New.
36484 * config/nds32/nds32.md (pop25return): New.
36485 * config/nds32/nds32.c (nds32_expand_epilogue_v3pop): Emit
36486 pop25return pattern.
36487
36488 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
36489
36490 * doc/invoke.texi (NDS32 Options): Remove -mforce-fp-as-gp,
36491 -mforbid-fp-as-gp, and -mex9 options.
36492
36493 2015-01-16 Chung-Ju Wu <jasonwucj@gmail.com>
36494
36495 * doc/invoke.texi (NDS32 Options): Add -mcmodel= option and
36496 remove -mgp-direct option.
36497
36498 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
36499
36500 * doc/invoke.texi (--param early-inlining-insns): Update default value.
36501 * params.def (PARAM_EARLY_INLINING_INSNS): Set to 14.
36502
36503 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
36504
36505 * ipa-inline.c (inline_small_functions): Work around hints
36506 cache issue.
36507
36508 2015-01-15 Sandra Loosemore <sandra@codesourcery.com>
36509
36510 PR target/59710
36511 * doc/invoke.texi (Option Summary): Document new Nios II
36512 -mgpopt= syntax.
36513 (Nios II Options): Likewise.
36514 * config/nios2/nios2.opt: Add -mgpopt= option support.
36515 Modify existing -mgpopt and -mno-gpopt options to be aliases.
36516 * config/nios2/nios2-opts.h (enum nios2_gpopt_type): New.
36517 * config/nios2/nios2.c (nios2_option_override): Adjust
36518 -mgpopt defaulting.
36519 (nios2_in_small_data_p): Return true for explicit small data
36520 sections even with -G0.
36521 (nios2_symbol_ref_in_small_data_p): Adjust to handle new -mgpopt=
36522 option choices.
36523
36524 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
36525
36526 PR ipa/64612
36527 * ipa-inline-transform.c (can_remove_node_now_p): Fix handling
36528 of comdat locals.
36529 (inline_call): Fix removal of aliases.
36530
36531 2015-01-15 Jakub Jelinek <jakub@redhat.com>
36532
36533 * flag-types.h (enum sanitize_code): Add SANITIZE_VPTR,
36534 include SANITIZE_VPTR in SANITIZE_UNDEFINED.
36535 * opts.c (common_handle_option): Add -fsanitize=vptr.
36536 * sanitizer.def (BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS,
36537 BUILT_IN_UBSAN_HANDLE_DYNAMIC_TYPE_CACHE_MISS_ABORT): New.
36538 * ubsan.h (enum ubsan_null_ckind): Add UBSAN_DOWNCAST_POINTER,
36539 UBSAN_DOWNCAST_REFERENCE, UBSAN_UPCAST and UBSAN_CAST_TO_VBASE.
36540 (ubsan_expand_vptr_ifn): New prototype.
36541 * internal-fn.c (expand_ANNOTATE, expand_GOMP_SIMD_LANE,
36542 expand_GOMP_SIMD_VF, expand_GOMP_SIMD_LAST_LANE, expand_UBSAN_NULL,
36543 expand_UBSAN_BOUNDS, expand_UBSAN_OBJECT_SIZE, expand_ASAN_CHECK,
36544 expand_LOOP_VECTORIZED): Make argument nameless, remove
36545 ATTRIBUTE_UNUSED.
36546 (expand_UBSAN_VPTR): New function.
36547 * internal-fn.def (UBSAN_NULL, ASAN_CHECK): Use R instead of W
36548 in fn spec.
36549 (UBSAN_VPTR): New internal function.
36550 * sanopt.c (tree_map_traits): Renamed to ...
36551 (sanopt_tree_map_traits): ... this.
36552 (sanopt_tree_triplet, sanopt_tree_triplet_map_traits): New classes.
36553 (sanopt_ctx): Adjust asan_check_map type for tree_map_traits
36554 to sanopt_tree_map_traits renaming. Add vptr_check_map field.
36555 (maybe_optimize_ubsan_vptr_ifn): New function.
36556 (sanopt_optimize_walker): Handle IFN_UBSAN_VPTR.
36557 (pass_sanopt::execute): Likewise. Call sanopt_optimize even for
36558 -fsanitize=vptr.
36559 * tree-ssa-alias.c (call_may_clobber_ref_p_1): Handle certain
36560 internal calls like pure functions for aliasing, even when they
36561 have other side-effects that prevent making them ECF_PURE.
36562 * ubsan.c (ubsan_vptr_type_cache_decl): New variable.
36563 (ubsan_expand_vptr_ifn): New function.
36564
36565 2015-01-15 Vladimir Makarov <vmakarov@redhat.com>
36566
36567 PR rtl-optimization/64110
36568 * stmt.c (parse_output_constraint): Process '^' and '$'.
36569 (parse_input_constraint): Ditto.
36570 * lra-constraints.c (process_alt_operands): Process the new
36571 constraints.
36572 * ira-costs.c (record_reg_classes): Process the new constraint
36573 '^'.
36574 * genoutput.c (indep_constraints): Add '^' and '$'.
36575 * config/i386/sse.md (*vec_dup<mode>): Use '$' instead of '!'.
36576 * doc/md.texi: Add description of the new constraints.
36577
36578 2015-01-15 Thomas Schwinge <thomas@codesourcery.com>
36579 Bernd Schmidt <bernds@codesourcery.com>
36580 Cesar Philippidis <cesar@codesourcery.com>
36581 James Norris <jnorris@codesourcery.com>
36582 Tom de Vries <tom@codesourcery.com>
36583 Ilmir Usmanov <i.usmanov@samsung.com>
36584 Dmitry Bocharnikov <dmitry.b@samsung.com>
36585 Evgeny Gavrin <e.gavrin@samsung.com>
36586 Jakub Jelinek <jakub@redhat.com>
36587
36588 * builtin-types.def (BT_FN_VOID_INT_INT_VAR)
36589 (BT_FN_VOID_INT_PTR_SIZE_PTR_PTR_PTR_INT_INT_VAR)
36590 (BT_FN_VOID_INT_OMPFN_PTR_SIZE_PTR_PTR_PTR_INT_INT_INT_INT_INT_VAR):
36591 New function types.
36592 * builtins.c: Include "gomp-constants.h".
36593 (expand_builtin_acc_on_device): New function.
36594 (expand_builtin, is_inexpensive_builtin): Handle
36595 BUILT_IN_ACC_ON_DEVICE.
36596 * builtins.def (DEF_GOACC_BUILTIN, DEF_GOACC_BUILTIN_COMPILER):
36597 New macros.
36598 * cgraph.c (cgraph_node::create): Consider flag_openacc next to
36599 flag_openmp.
36600 * config.gcc <nvptx-*> (tm_file): Add nvptx/offload.h.
36601 <*-intelmic-* | *-intelmicemul-*> (tm_file): Add
36602 i386/intelmic-offload.h.
36603 * gcc.c (LINK_COMMAND_SPEC, GOMP_SELF_SPECS): For -fopenacc, link
36604 to libgomp and its dependencies.
36605 * config/arc/arc.h (LINK_COMMAND_SPEC): Likewise.
36606 * config/darwin.h (LINK_COMMAND_SPEC_A): Likewise.
36607 * config/i386/mingw32.h (GOMP_SELF_SPECS): Likewise.
36608 * config/ia64/hpux.h (LIB_SPEC): Likewise.
36609 * config/pa/pa-hpux11.h (LIB_SPEC): Likewise.
36610 * config/pa/pa64-hpux.h (LIB_SPEC): Likewise.
36611 * doc/generic.texi: Update for OpenACC changes.
36612 * doc/gimple.texi: Likewise.
36613 * doc/invoke.texi: Likewise.
36614 * doc/sourcebuild.texi: Likewise.
36615 * gimple-pretty-print.c (dump_gimple_omp_for): Handle
36616 GF_OMP_FOR_KIND_OACC_LOOP.
36617 (dump_gimple_omp_target): Handle GF_OMP_TARGET_KIND_OACC_KERNELS,
36618 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_DATA,
36619 GF_OMP_TARGET_KIND_OACC_UPDATE,
36620 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
36621 Dump more data.
36622 * gimple.c: Update comments for OpenACC changes.
36623 * gimple.def: Likewise.
36624 * gimple.h: Likewise.
36625 (enum gf_mask): Add GF_OMP_FOR_KIND_OACC_LOOP,
36626 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
36627 GF_OMP_TARGET_KIND_OACC_DATA, GF_OMP_TARGET_KIND_OACC_UPDATE,
36628 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA.
36629 (gimple_omp_for_cond, gimple_omp_for_set_cond): Sort in the
36630 appropriate place.
36631 (is_gimple_omp_oacc, is_gimple_omp_offloaded): New functions.
36632 * gimplify.c: Include "gomp-constants.h".
36633 Update comments for OpenACC changes.
36634 (is_gimple_stmt): Handle OACC_PARALLEL, OACC_KERNELS, OACC_DATA,
36635 OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE, OACC_ENTER_DATA,
36636 OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
36637 (gimplify_scan_omp_clauses, gimplify_adjust_omp_clauses): Handle
36638 OMP_CLAUSE__CACHE_, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
36639 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
36640 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_GANG, OMP_CLAUSE_WORKER,
36641 OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
36642 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE_INDEPENDENT, OMP_CLAUSE_AUTO,
36643 OMP_CLAUSE_SEQ.
36644 (gimplify_adjust_omp_clauses_1, gimplify_adjust_omp_clauses): Use
36645 GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
36646 OMP_CLAUSE_SET_MAP_KIND.
36647 (gimplify_oacc_cache): New function.
36648 (gimplify_omp_for): Handle OACC_LOOP.
36649 (gimplify_omp_workshare): Handle OACC_KERNELS, OACC_PARALLEL,
36650 OACC_DATA.
36651 (gimplify_omp_target_update): Handle OACC_ENTER_DATA,
36652 OACC_EXIT_DATA, OACC_UPDATE.
36653 (gimplify_expr): Handle OACC_LOOP, OACC_CACHE, OACC_HOST_DATA,
36654 OACC_DECLARE, OACC_KERNELS, OACC_PARALLEL, OACC_DATA,
36655 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE.
36656 (gimplify_body): Consider flag_openacc next to flag_openmp.
36657 * lto-streamer-out.c: Include "gomp-constants.h".
36658 * omp-builtins.def (BUILT_IN_ACC_GET_DEVICE_TYPE)
36659 (BUILT_IN_GOACC_DATA_START, BUILT_IN_GOACC_DATA_END)
36660 (BUILT_IN_GOACC_ENTER_EXIT_DATA, BUILT_IN_GOACC_PARALLEL)
36661 (BUILT_IN_GOACC_UPDATE, BUILT_IN_GOACC_WAIT)
36662 (BUILT_IN_GOACC_GET_THREAD_NUM, BUILT_IN_GOACC_GET_NUM_THREADS)
36663 (BUILT_IN_ACC_ON_DEVICE): New builtins.
36664 * omp-low.c: Include "gomp-constants.h".
36665 Update comments for OpenACC changes.
36666 (struct omp_context): Add reduction_map, gwv_below, gwv_this
36667 members.
36668 (extract_omp_for_data, use_pointer_for_field, install_var_field)
36669 (new_omp_context, delete_omp_context, scan_sharing_clauses)
36670 (create_omp_child_function, scan_omp_for, scan_omp_target)
36671 (check_omp_nesting_restrictions, lower_reduction_clauses)
36672 (build_omp_regions_1, diagnose_sb_0, make_gimple_omp_edges):
36673 Update for OpenACC changes.
36674 (scan_sharing_clauses): Handle OMP_CLAUSE_NUM_GANGS:
36675 OMP_CLAUSE_NUM_WORKERS: OMP_CLAUSE_VECTOR_LENGTH,
36676 OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT, OMP_CLAUSE_GANG,
36677 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_DEVICE_RESIDENT,
36678 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_INDEPENDENT,
36679 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ. Use GOMP_MAP_* instead of
36680 OMP_CLAUSE_MAP_*.
36681 (expand_omp_for_static_nochunk, expand_omp_for_static_chunk):
36682 Handle GF_OMP_FOR_KIND_OACC_LOOP.
36683 (expand_omp_target, lower_omp_target): Handle
36684 GF_OMP_TARGET_KIND_OACC_PARALLEL, GF_OMP_TARGET_KIND_OACC_KERNELS,
36685 GF_OMP_TARGET_KIND_OACC_UPDATE,
36686 GF_OMP_TARGET_KIND_OACC_ENTER_EXIT_DATA,
36687 GF_OMP_TARGET_KIND_OACC_DATA.
36688 (pass_expand_omp::execute, execute_lower_omp)
36689 (pass_diagnose_omp_blocks::gate): Consider flag_openacc next to
36690 flag_openmp.
36691 (offload_symbol_decl): New variable.
36692 (oacc_get_reduction_array_id, oacc_max_threads)
36693 (get_offload_symbol_decl, get_base_type, lookup_oacc_reduction)
36694 (maybe_lookup_oacc_reduction, enclosing_target_ctx)
36695 (oacc_loop_or_target_p, oacc_lower_reduction_var_helper)
36696 (oacc_gimple_assign, oacc_initialize_reduction_data)
36697 (oacc_finalize_reduction_data, oacc_process_reduction_data): New
36698 functions.
36699 (is_targetreg_ctx): Remove function.
36700 * tree-core.h (enum omp_clause_code): Add OMP_CLAUSE__CACHE_,
36701 OMP_CLAUSE_DEVICE_RESIDENT, OMP_CLAUSE_USE_DEVICE,
36702 OMP_CLAUSE_GANG, OMP_CLAUSE_ASYNC, OMP_CLAUSE_WAIT,
36703 OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ, OMP_CLAUSE_INDEPENDENT,
36704 OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR, OMP_CLAUSE_NUM_GANGS,
36705 OMP_CLAUSE_NUM_WORKERS, OMP_CLAUSE_VECTOR_LENGTH.
36706 * tree.c (omp_clause_code_name, walk_tree_1): Update accordingly.
36707 * tree.h (OMP_CLAUSE_GANG_EXPR, OMP_CLAUSE_GANG_STATIC_EXPR)
36708 (OMP_CLAUSE_ASYNC_EXPR, OMP_CLAUSE_WAIT_EXPR)
36709 (OMP_CLAUSE_VECTOR_EXPR, OMP_CLAUSE_WORKER_EXPR)
36710 (OMP_CLAUSE_NUM_GANGS_EXPR, OMP_CLAUSE_NUM_WORKERS_EXPR)
36711 (OMP_CLAUSE_VECTOR_LENGTH_EXPR): New macros.
36712 * tree-core.h: Update comments for OpenACC changes.
36713 (enum omp_clause_map_kind): Remove.
36714 (struct tree_omp_clause): Change type of map_kind member from enum
36715 omp_clause_map_kind to unsigned char.
36716 * tree-inline.c: Update comments for OpenACC changes.
36717 * tree-nested.c: Likewise. Include "gomp-constants.h".
36718 (convert_nonlocal_reference_stmt, convert_local_reference_stmt)
36719 (convert_tramp_reference_stmt, convert_gimple_call): Update for
36720 OpenACC changes. Use GOMP_MAP_* instead of OMP_CLAUSE_MAP_*. Use
36721 OMP_CLAUSE_SET_MAP_KIND.
36722 * tree-pretty-print.c: Include "gomp-constants.h".
36723 (dump_omp_clause): Handle OMP_CLAUSE_DEVICE_RESIDENT,
36724 OMP_CLAUSE_USE_DEVICE, OMP_CLAUSE__CACHE_, OMP_CLAUSE_GANG,
36725 OMP_CLAUSE_ASYNC, OMP_CLAUSE_AUTO, OMP_CLAUSE_SEQ,
36726 OMP_CLAUSE_WAIT, OMP_CLAUSE_WORKER, OMP_CLAUSE_VECTOR,
36727 OMP_CLAUSE_NUM_GANGS, OMP_CLAUSE_NUM_WORKERS,
36728 OMP_CLAUSE_VECTOR_LENGTH, OMP_CLAUSE_INDEPENDENT. Use GOMP_MAP_*
36729 instead of OMP_CLAUSE_MAP_*.
36730 (dump_generic_node): Handle OACC_PARALLEL, OACC_KERNELS,
36731 OACC_DATA, OACC_HOST_DATA, OACC_DECLARE, OACC_UPDATE,
36732 OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_CACHE, OACC_LOOP.
36733 * tree-streamer-in.c: Include "gomp-constants.h".
36734 (unpack_ts_omp_clause_value_fields) Use GOMP_MAP_* instead of
36735 OMP_CLAUSE_MAP_*. Use OMP_CLAUSE_SET_MAP_KIND.
36736 * tree-streamer-out.c: Include "gomp-constants.h".
36737 (pack_ts_omp_clause_value_fields): Use GOMP_MAP_* instead of
36738 OMP_CLAUSE_MAP_*.
36739 * tree.def (OACC_PARALLEL, OACC_KERNELS, OACC_DATA)
36740 (OACC_HOST_DATA, OACC_LOOP, OACC_CACHE, OACC_DECLARE)
36741 (OACC_ENTER_DATA, OACC_EXIT_DATA, OACC_UPDATE): New tree codes.
36742 * tree.c (omp_clause_num_ops): Update accordingly.
36743 * tree.h (OMP_BODY, OMP_CLAUSES, OMP_LOOP_CHECK, OMP_CLAUSE_SIZE):
36744 Likewise.
36745 (OACC_PARALLEL_BODY, OACC_PARALLEL_CLAUSES, OACC_KERNELS_BODY)
36746 (OACC_KERNELS_CLAUSES, OACC_DATA_BODY, OACC_DATA_CLAUSES)
36747 (OACC_HOST_DATA_BODY, OACC_HOST_DATA_CLAUSES, OACC_CACHE_CLAUSES)
36748 (OACC_DECLARE_CLAUSES, OACC_ENTER_DATA_CLAUSES)
36749 (OACC_EXIT_DATA_CLAUSES, OACC_UPDATE_CLAUSES)
36750 (OACC_KERNELS_COMBINED, OACC_PARALLEL_COMBINED): New macros.
36751 * tree.h (OMP_CLAUSE_MAP_KIND): Cast it to enum gomp_map_kind.
36752 (OMP_CLAUSE_SET_MAP_KIND): New macro.
36753 * varpool.c (varpool_node::get_create): Consider flag_openacc next
36754 to flag_openmp.
36755 * config/i386/intelmic-offload.h: New file.
36756 * config/nvptx/offload.h: Likewise.
36757
36758 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36759
36760 * explow.h: Remove duplicate contents.
36761 * dojump.h: Likewise.
36762
36763 2015-01-15 Richard Earnshaw <rearnsha@arm.com>
36764
36765 * arm.c (arm_xgene_tune): Add default initializer for instruction
36766 fusion.
36767
36768 2015-01-15 Jan Hubicka <hubicka@ucw.cz>
36769
36770 PR ipa/64068
36771 PR ipa/64559
36772 * ipa.c (symbol_table::remove_unreachable_nodes):
36773 Do not put abstract origins into boundary.
36774
36775 2015-01-15 Evgeny Stupachenko <evstupac@gmail.com>
36776
36777 * config/i386/gnu-user.h (CRT_GET_RFIB_DATA): Remove EBX register usage.
36778 * config/i386/sysv4.h (CRT_GET_RFIB_DATA): Ditto.
36779
36780 2015-01-15 Steve Ellcey <sellcey@mips.com>
36781
36782 * Makefile.in (PLUGIN_HEADERS): Add dominance.h, cfg.h, cfgrtl.h,
36783 cfganal.h, cfgbuild.h, cfgcleanup.h, lcm.h, cfgloopmanip.h,
36784 builtins.def, and chkp-builtins.def.
36785
36786 2015-01-15 David Edelsohn <dje.gcc@gmail.com>
36787
36788 * config/rs6000/default64.h (TARGET_DEFAULT) [LITTLE_ENDIAN]: Use
36789 ISA 2.7 (POWER8).
36790
36791 2015-01-15 Richard Biener <rguenther@suse.de>
36792
36793 PR tree-optimization/61743
36794 * tree-ssa-pre.c (insert_into_preds_of_block): Preserve range
36795 information on PHIs for some simple cases.
36796
36797 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
36798
36799 * config/arm/arm.md (generic_sched): Specify xgene1 in 'no' list.
36800 Include xgene1.md.
36801 * config/arm/arm.c (arm_issue_rate): Specify 4 for xgene1.
36802 * config/arm/arm-cores.def (xgene1): New entry.
36803 * config/arm/arm-tables.opt: Regenerate.
36804 * config/arm/arm-tune.md: Regenerate.
36805 * config/arm/bpabi.h (BE8_LINK_SPEC): Specify mcpu=xgene1.
36806
36807 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
36808
36809 * tree-if-conv.c: Include hash-map.h.
36810 (aggressive_if_conv): New variable.
36811 (fold_build_cond_expr): Add simplification of non-zero condition.
36812 (add_to_dst_predicate_list): Invoke add_to_predicate_list if edge
36813 destination block is not always executed.
36814 (if_convertible_phi_p): Fix commentary, allow phi nodes have more
36815 than two predecessors if AGGRESSIVE_IF_CONV is true.
36816 (if_convertible_stmt_p): Fix commentary.
36817 (all_preds_critical_p): New function.
36818 (has_pred_critical_p): New function.
36819 (if_convertible_bb_p): Fix commentary, if AGGRESSIVE_IF_CONV is true
36820 BB can have more than two predecessors and all incoming edges can be
36821 critical.
36822 (predicate_bbs): Skip predication for loop exit block, use build2_loc
36823 to compute predicate for true edge.
36824 (find_phi_replacement_condition): Delete this function.
36825 (is_cond_scalar_reduction): Add arguments ARG_0, ARG_1 and EXTENDED.
36826 Allow interchange PHI arguments if EXTENDED is false.
36827 Change check that block containing reduction statement candidate
36828 is predecessor of phi-block since phi may have more than two arguments.
36829 (phi_args_hash_traits): New helper structure.
36830 (struct phi_args_hash_traits): New type.
36831 (phi_args_hash_traits::hash): New function.
36832 (phi_args_hash_traits::equal_keys): New function.
36833 (gen_phi_arg_condition): New function.
36834 (predicate_scalar_phi): Add handling of phi nodes with more than two
36835 arguments, delete COND and TRUE_BB arguments, insert body of
36836 find_phi_replacement_condition to predicate ordinary phi nodes.
36837 (predicate_all_scalar_phis): Skip blocks with the only predecessor,
36838 delete call of find_phi_replacement_condition and invoke
36839 predicate_scalar_phi with two arguments.
36840 (insert_gimplified_predicates): Add assert that non-predicated block
36841 don't have statements to insert.
36842 (ifcvt_split_critical_edges): New function.
36843 (ifcvt_split_def_stmt): Likewise.
36844 (ifcvt_walk_pattern_tree): Likewise.
36845 (stmt_is_root_of_bool_pattern): Likewise.
36846 (ifcvt_repair_bool_pattern): Likewise.
36847 (ifcvt_local_dce): Likewise.
36848 (tree_if_conversion): Add initialization of AGGRESSIVE_IF_CONV which
36849 is copy of inner or outer loop force_vectorize field, invoke
36850 ifcvt_split_critical_edges, ifcvt_local_dce and
36851 ifcvt_repair_bool_pattern for aggressive if-conversion.
36852
36853 2015-01-15 Philipp Tomsich <ptomsich@theobroma-systems.com>
36854
36855 * config/aarch64/aarch64.md: Include xgene1.md.
36856 * config/aarch64/xgene1.md: New file.
36857
36858 2015-01-15 Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
36859
36860 * config/aarch64/aarch64-cores.def (xgene1): Update/add the
36861 xgene1 (APM XGene-1) core definition.
36862 * config/aarch64/aarch64.c: Add cost tables for APM XGene-1
36863 * config/arm/aarch-cost-tables.h: Add cost tables for APM XGene-1
36864 * doc/invoke.texi: Document -mcpu=xgene1.
36865
36866 2015-01-15 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
36867
36868 * dojump.h: New header file.
36869 * explow.h: Likewise.
36870 * expr.h: Remove includes.
36871 Move expmed.c prototypes to expmed.h.
36872 Move dojump.c prototypes to dojump.h.
36873 Move alias.c prototypes to alias.h.
36874 Move explow.c prototypes to explow.h.
36875 Move calls.c prototypes to calls.h.
36876 Move emit-rtl.c prototypes to emit-rtl.h.
36877 Move varasm.c prototypes to varasm.h.
36878 Move stmt.c prototypes to stmt.h.
36879 (saved_pending_stack_adjust): Move to dojump.h.
36880 (adjust_address): Move to explow.h.
36881 (adjust_address_nv): Move to emit-rtl.h.
36882 (adjust_bitfield_address): Likewise.
36883 (adjust_bitfield_address_size): Likewise.
36884 (adjust_bitfield_address_nv): Likewise.
36885 (adjust_automodify_address_nv): Likewise.
36886 * explow.c (expr_size): Move to expr.c.
36887 (int_expr_size): Likewise.
36888 (tree_expr_size): Likewise.
36889 Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36890 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
36891 * genemit.c (main): Generate includes statistics.h, real.h,
36892 fixed-value.h, insn-config.h, expmed.h, dojump.h, explow.h, emit-rtl.h,
36893 stmt.h.
36894 * genopinit.c (main): Generate includes hashtab.h, hard-reg-set.h,
36895 function.h, statistics.h, real.h, fixed-value.h, expmed.h, dojump.h,
36896 explow.h, emit-rtl.h, stmt.h.
36897 * genoutput.c (main): Generate includes hashtab.h, statistics.h, real.h,
36898 fixed-value.h, expmed.h, dojump.h, explow.h, emit-rtl.h, stmt.h.
36899 * genemit.c (open_base_files): Generate includes flags.h, statistics.h,
36900 real.h, fixed-value.h, tree.h, expmed.h, dojump.h, explow.h, calls.h,
36901 emit-rtl.h, varasm.h, stmt.h.
36902 * config/tilepro/gen-mul-tables.cc: Generate includes hashtab.h,
36903 hash-set.h, vec.h, machmode.h, tm.h, hard-reg-set.h, input.h,
36904 function.h, rtl.h, flags.h, statistics.h, double-int.h, real.h,
36905 fixed-value.h, alias.h, wide-int.h, inchash.h, tree.h, insn-config.h,
36906 expmed.h, dojump.h, explow.h, calls.h, emit-rtl.h, varasm.h, stmt.h.
36907 * config/tilegx/mul-tables.c: Include alias.h calls.h dojump.h
36908 double-int.h emit-rtl.h explow.h expmed.h fixed-value.h flags.h
36909 function.h hard-reg-set.h hash-set.h hashtab.h inchash.h input.h
36910 insn-config.h machmode.h real.h rtl.h statistics.h stmt.h symtab.h
36911 tm.h tree.h varasm.h vec.h wide-int.h.
36912 * rtlhooks.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36913 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
36914 hash-set.h hashtab.h inchash.h input.h insn-config.h machmode.h
36915 real.h statistics.h stmt.h tree.h varasm.h vec.h wide-int.h.
36916 * cfgloopanal.c: Include alias.h calls.h dojump.h double-int.h
36917 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h
36918 insn-config.h real.h statistics.h stmt.h tree.h varasm.h wide-int.h.
36919 * loop-iv.c: Likewise.
36920 * lra-assigns.c: Include alias.h calls.h dojump.h double-int.h
36921 emit-rtl.h explow.h expmed.h fixed-value.h flags.h inchash.h real.h
36922 statistics.h stmt.h tree.h varasm.h wide-int.h.
36923 * lra-constraints.c: Likewise.
36924 * lra-eliminations.c: Likewise.
36925 * lra-lives.c: Likewise.
36926 * lra-remat.c: Likewise.
36927 * bt-load.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36928 explow.h expmed.h fixed-value.h inchash.h insn-config.h real.h
36929 statistics.h stmt.h tree.h varasm.h wide-int.h.
36930 * hw-doloop.c: Likewise.
36931 * ira-color.c: Likewise.
36932 * ira-emit.c: Likewise.
36933 * loop-doloop.c: Likewise.
36934 * loop-invariant.c: Likewise.
36935 * reload.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36936 explow.h expmed.h fixed-value.h inchash.h real.h rtl.h
36937 statistics.h stmt.h tree.h varasm.h wide-int.h.
36938 * caller-save.c: Include alias.h calls.h dojump.h double-int.h
36939 emit-rtl.h explow.h expmed.h fixed-value.h inchash.h real.h
36940 statistics.h stmt.h tree.h varasm.h wide-int.h.
36941 * combine-stack-adj.c: Likewise.
36942 * cse.c: Likewise.
36943 * ddg.c: Likewise.
36944 * ifcvt.c: Likewise.
36945 * ira-costs.c: Likewise.
36946 * jump.c: Likewise.
36947 * lra-coalesce.c: Likewise.
36948 * lra-spills.c: Likewise.
36949 * profile.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36950 explow.h expmed.h fixed-value.h insn-config.h real.h statistics.h
36951 stmt.h varasm.h wide-int.h.
36952 * lra.c: Include alias.h calls.h dojump.h double-int.h emit-rtl.h
36953 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
36954 varasm.h.
36955 * config/sh/sh_treg_combine.cc: Include alias.h calls.h dojump.h
36956 double-int.h explow.h expmed.h fixed-value.h flags.h real.h
36957 statistics.h stmt.h varasm.h wide-int.h.
36958 * reorg.c: Include alias.h calls.h dojump.h double-int.h explow.h
36959 expmed.h fixed-value.h inchash.h real.h statistics.h stmt.h tree.h
36960 varasm.h wide-int.h.
36961 * reload1.c: Include alias.h calls.h dojump.h double-int.h explow.h
36962 expmed.h fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
36963 * config/tilegx/tilegx.c: Include alias.h dojump.h double-int.h
36964 emit-rtl.h explow.h expmed.h fixed-value.h flags.h real.h
36965 statistics.h stmt.h.
36966 * config/tilepro/tilepro.c: Likewise.
36967 * config/mmix/mmix.c: Include alias.h dojump.h double-int.h emit-rtl.h
36968 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h.
36969 * config/pdp11/pdp11.c: Likewise.
36970 * config/xtensa/xtensa.c: Likewise.
36971 * config/lm32/lm32.c: Include alias.h dojump.h double-int.h emit-rtl.h
36972 explow.h expmed.h fixed-value.h real.h statistics.h stmt.h
36973 varasm.h.
36974 * tree-chkp.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36975 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
36976 insn-config.h real.h rtl.h statistics.h stmt.h tm.h.
36977 * cilk-common.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36978 fixed-value.h flags.h function.h hard-reg-set.h hashtab.h
36979 insn-config.h real.h rtl.h statistics.h stmt.h tm.h varasm.h.
36980 * rtl-chkp.c: Likewise.
36981 * tree-chkp-opt.c: Likewise.
36982 * config/arm/arm-builtins.c: Include calls.h dojump.h emit-rtl.h
36983 explow.h expmed.h fixed-value.h flags.h function.h hard-reg-set.h
36984 hashtab.h insn-config.h real.h statistics.h stmt.h varasm.h.
36985 * ipa-icf.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
36986 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
36987 statistics.h stmt.h.
36988 * tree-vect-data-refs.c: Likewise.
36989 * graphite-sese-to-poly.c: Include calls.h dojump.h emit-rtl.h explow.h
36990 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
36991 rtl.h statistics.h stmt.h varasm.h.
36992 * internal-fn.c: Likewise.
36993 * ipa-icf-gimple.c: Likewise.
36994 * lto-section-out.c: Likewise.
36995 * tree-data-ref.c: Likewise.
36996 * tree-nested.c: Likewise.
36997 * tree-outof-ssa.c: Likewise.
36998 * tree-predcom.c: Likewise.
36999 * tree-pretty-print.c: Likewise.
37000 * tree-scalar-evolution.c: Likewise.
37001 * tree-ssa-strlen.c: Likewise.
37002 * tree-vect-loop.c: Likewise.
37003 * tree-vect-patterns.c: Likewise.
37004 * tree-vect-slp.c: Likewise.
37005 * tree-vect-stmts.c: Likewise.
37006 * tsan.c: Likewise.
37007 * targhooks.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37008 fixed-value.h flags.h hashtab.h insn-config.h real.h statistics.h
37009 stmt.h.
37010 * config/sh/sh-mem.cc: Include calls.h dojump.h emit-rtl.h explow.h
37011 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
37012 statistics.h stmt.h varasm.h.
37013 * loop-unroll.c: Likewise.
37014 * ubsan.c: Likewise.
37015 * tree-ssa-loop-prefetch.c: Include calls.h dojump.h emit-rtl.h explow.h
37016 expmed.h fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h
37017 stmt.h varasm.h.
37018 * dse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37019 fixed-value.h function.h hashtab.h statistics.h stmt.h varasm.h.
37020 * tree-switch-conversion.c: Include calls.h dojump.h emit-rtl.h explow.h
37021 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
37022 statistics.h stmt.h.
37023 * generic-match-head.c: Include calls.h dojump.h emit-rtl.h explow.h
37024 expmed.h fixed-value.h hashtab.h insn-config.h real.h rtl.h
37025 statistics.h stmt.h varasm.h.
37026 * gimple-match-head.c: Likewise.
37027 * lto-cgraph.c: Likewise.
37028 * lto-section-in.c: Likewise.
37029 * lto-streamer-in.c: Likewise.
37030 * lto-streamer-out.c: Likewise.
37031 * tree-affine.c: Likewise.
37032 * tree-cfg.c: Likewise.
37033 * tree-cfgcleanup.c: Likewise.
37034 * tree-if-conv.c: Likewise.
37035 * tree-into-ssa.c: Likewise.
37036 * tree-ssa-alias.c: Likewise.
37037 * tree-ssa-copyrename.c: Likewise.
37038 * tree-ssa-dse.c: Likewise.
37039 * tree-ssa-forwprop.c: Likewise.
37040 * tree-ssa-live.c: Likewise.
37041 * tree-ssa-math-opts.c: Likewise.
37042 * tree-ssa-pre.c: Likewise.
37043 * tree-ssa-sccvn.c: Likewise.
37044 * tree-tailcall.c: Likewise.
37045 * tree-vect-generic.c: Likewise.
37046 * tree-sra.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37047 fixed-value.h hashtab.h insn-config.h real.h rtl.h stmt.h varasm.h.
37048 * stor-layout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37049 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h.
37050 * varasm.c: Likewise.
37051 * coverage.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37052 fixed-value.h hashtab.h insn-config.h real.h statistics.h stmt.h
37053 varasm.h.
37054 * init-regs.c: Likewise.
37055 * ira.c: Likewise.
37056 * omp-low.c: Likewise.
37057 * stack-ptr-mod.c: Likewise.
37058 * tree-ssa-reassoc.c: Likewise.
37059 * tree-complex.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37060 fixed-value.h hashtab.h insn-config.h rtl.h statistics.h stmt.h
37061 varasm.h.
37062 * dwarf2cfi.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37063 fixed-value.h hashtab.h insn-config.h statistics.h stmt.h varasm.h.
37064 * shrink-wrap.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37065 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h.
37066 * recog.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37067 fixed-value.h hashtab.h real.h rtl.h statistics.h stmt.h varasm.h.
37068 * tree-ssa-phiopt.c: Likewise.
37069 * config/darwin.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37070 fixed-value.h hashtab.h real.h statistics.h stmt.h.
37071 * config/fr30/fr30.c: Likewise.
37072 * config/frv/frv.c: Likewise.
37073 * expr.c: Likewise.
37074 * final.c: Likewise.
37075 * optabs.c: Likewise.
37076 * passes.c: Likewise.
37077 * simplify-rtx.c: Likewise.
37078 * stmt.c: Likewise.
37079 * toplev.c: Likewise.
37080 * var-tracking.c: Likewise.
37081 * gcse.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37082 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
37083 * lower-subreg.c: Likewise.
37084 * postreload-gcse.c: Likewise.
37085 * ree.c: Likewise.
37086 * reginfo.c: Likewise.
37087 * store-motion.c: Likewise.
37088 * combine.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37089 fixed-value.h hashtab.h real.h stmt.h varasm.h.
37090 * emit-rtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37091 fixed-value.h hashtab.h statistics.h stmt.h.
37092 * dojump.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37093 fixed-value.h hashtab.h statistics.h stmt.h varasm.h.
37094 * except.c: Likewise.
37095 * explow.c: Likewise.
37096 * tree-dfa.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37097 fixed-value.h insn-config.h real.h rtl.h statistics.h stmt.h
37098 varasm.h.
37099 * gimple-fold.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37100 fixed-value.h insn-config.h real.h rtl.h statistics.h varasm.h.
37101 * tree-ssa-structalias.c: Likewise.
37102 * cfgexpand.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37103 fixed-value.h insn-config.h real.h statistics.h.
37104 * calls.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37105 fixed-value.h insn-config.h real.h statistics.h stmt.h.
37106 * bb-reorder.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37107 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
37108 * cfgbuild.c: Likewise.
37109 * function.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37110 fixed-value.h real.h rtl.h statistics.h stmt.h.
37111 * cfgrtl.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37112 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
37113 * dbxout.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37114 fixed-value.h real.h statistics.h stmt.h.
37115 * auto-inc-dec.c: Include calls.h dojump.h emit-rtl.h explow.h expmed.h
37116 fixed-value.h real.h statistics.h stmt.h varasm.h.
37117 * cprop.c: Likewise.
37118 * modulo-sched.c: Likewise.
37119 * postreload.c: Likewise.
37120 * ccmp.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
37121 flags.h function.h hard-reg-set.h hashtab.h insn-config.h real.h
37122 statistics.h stmt.h varasm.h.
37123 * gimple-ssa-strength-reduction.c: Include calls.h dojump.h emit-rtl.h
37124 explow.h fixed-value.h flags.h hashtab.h insn-config.h real.h
37125 rtl.h statistics.h stmt.h varasm.h.
37126 * tree-ssa-loop-ivopts.c: Include calls.h dojump.h emit-rtl.h explow.h
37127 fixed-value.h flags.h hashtab.h real.h rtl.h statistics.h stmt.h
37128 varasm.h.
37129 * expmed.c: Include calls.h dojump.h emit-rtl.h explow.h fixed-value.h
37130 function.h hard-reg-set.h hashtab.h real.h statistics.h stmt.h
37131 varasm.h.
37132 * target-globals.c: Include calls.h dojump.h emit-rtl.h explow.h
37133 fixed-value.h function.h hashtab.h real.h statistics.h stmt.h
37134 varasm.h.
37135 * tree-ssa-address.c: Include calls.h dojump.h emit-rtl.h explow.h
37136 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
37137 * cfgcleanup.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
37138 function.h real.h statistics.h stmt.h varasm.h.
37139 * alias.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
37140 insn-config.h real.h statistics.h stmt.h.
37141 * dwarf2out.c: Include calls.h dojump.h explow.h expmed.h fixed-value.h
37142 statistics.h stmt.h.
37143 * config/nvptx/nvptx.c: Include dojump.h emit-rtl.h explow.h expmed.h
37144 fixed-value.h flags.h hard-reg-set.h insn-config.h real.h
37145 statistics.h stmt.h varasm.h.
37146 * gimplify.c: Include dojump.h emit-rtl.h explow.h expmed.h
37147 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h statistics.h.
37148 * asan.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
37149 flags.h hashtab.h insn-config.h real.h rtl.h statistics.h stmt.h.
37150 * ipa-devirt.c: Include dojump.h emit-rtl.h explow.h expmed.h
37151 fixed-value.h flags.h hashtab.h insn-config.h real.h rtl.h
37152 statistics.h stmt.h varasm.h.
37153 * ipa-polymorphic-call.c: Likewise.
37154 * config/aarch64/aarch64.c: Include dojump.h emit-rtl.h explow.h
37155 expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
37156 statistics.h stmt.h.
37157 * config/c6x/c6x.c: Likewise.
37158 * config/aarch64/aarch64-builtins.c: Include dojump.h emit-rtl.h
37159 explow.h expmed.h fixed-value.h flags.h hashtab.h insn-config.h real.h
37160 statistics.h stmt.h varasm.h.
37161 * ipa-prop.c: Include dojump.h emit-rtl.h explow.h expmed.h
37162 fixed-value.h hashtab.h insn-config.h real.h rtl.h statistics.h
37163 stmt.h varasm.h.
37164 * ipa-split.c: Likewise.
37165 * tree-eh.c: Likewise.
37166 * tree-ssa-dce.c: Likewise.
37167 * tree-ssa-loop-niter.c: Likewise.
37168 * tree-vrp.c: Likewise.
37169 * config/nds32/nds32-cost.c: Include dojump.h emit-rtl.h explow.h
37170 expmed.h fixed-value.h hashtab.h insn-config.h real.h statistics.h
37171 stmt.h.
37172 * config/nds32/nds32-fp-as-gp.c: Likewise.
37173 * config/nds32/nds32-intrinsic.c: Likewise.
37174 * config/nds32/nds32-isr.c: Likewise.
37175 * config/nds32/nds32-md-auxiliary.c: Likewise.
37176 * config/nds32/nds32-memory-manipulation.c: Likewise.
37177 * config/nds32/nds32-pipelines-auxiliary.c: Likewise.
37178 * config/nds32/nds32-predicates.c: Likewise.
37179 * config/nds32/nds32.c: Likewise.
37180 * config/cris/cris.c: Include dojump.h emit-rtl.h explow.h expmed.h
37181 fixed-value.h hashtab.h real.h statistics.h.
37182 * config/alpha/alpha.c: Include dojump.h emit-rtl.h explow.h expmed.h
37183 fixed-value.h hashtab.h real.h statistics.h stmt.h.
37184 * config/arm/arm.c: Likewise.
37185 * config/avr/avr.c: Likewise.
37186 * config/bfin/bfin.c: Likewise.
37187 * config/h8300/h8300.c: Likewise.
37188 * config/i386/i386.c: Likewise.
37189 * config/ia64/ia64.c: Likewise.
37190 * config/iq2000/iq2000.c: Likewise.
37191 * config/m32c/m32c.c: Likewise.
37192 * config/m32r/m32r.c: Likewise.
37193 * config/m68k/m68k.c: Likewise.
37194 * config/mcore/mcore.c: Likewise.
37195 * config/mep/mep.c: Likewise.
37196 * config/mips/mips.c: Likewise.
37197 * config/mn10300/mn10300.c: Likewise.
37198 * config/moxie/moxie.c: Likewise.
37199 * config/pa/pa.c: Likewise.
37200 * config/rl78/rl78.c: Likewise.
37201 * config/rx/rx.c: Likewise.
37202 * config/s390/s390.c: Likewise.
37203 * config/sh/sh.c: Likewise.
37204 * config/sparc/sparc.c: Likewise.
37205 * config/spu/spu.c: Likewise.
37206 * config/stormy16/stormy16.c: Likewise.
37207 * config/v850/v850.c: Likewise.
37208 * config/vax/vax.c: Likewise.
37209 * config/cr16/cr16.c: Include dojump.h emit-rtl.h explow.h expmed.h
37210 fixed-value.h hashtab.h real.h statistics.h stmt.h varasm.h.
37211 * config/msp430/msp430.c: Likewise.
37212 * predict.c: Likewise.
37213 * value-prof.c: Likewise.
37214 * config/epiphany/epiphany.c: Include dojump.h emit-rtl.h explow.h
37215 expmed.h fixed-value.h hashtab.h statistics.h stmt.h.
37216 * config/microblaze/microblaze.c: Likewise.
37217 * config/nios2/nios2.c: Likewise.
37218 * config/rs6000/rs6000.c: Likewise.
37219 * tree.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
37220 insn-config.h real.h rtl.h statistics.h stmt.h.
37221 * cgraph.c: Include dojump.h emit-rtl.h explow.h expmed.h fixed-value.h
37222 insn-config.h real.h statistics.h stmt.h.
37223 * fold-const.c: Include dojump.h emit-rtl.h explow.h expmed.h
37224 fixed-value.h insn-config.h real.h statistics.h stmt.h varasm.h.
37225 * tree-inline.c: Include dojump.h emit-rtl.h explow.h expmed.h
37226 fixed-value.h real.h rtl.h statistics.h stmt.h varasm.h.
37227 * builtins.c: Include dojump.h emit-rtl.h explow.h expmed.h
37228 fixed-value.h real.h statistics.h stmt.h.
37229 * config/arc/arc.c: Include dojump.h emit-rtl.h explow.h expmed.h
37230 fixed-value.h statistics.h stmt.h.
37231 * config/visium/visium.c: Include dojump.h emit-rtl.h explow.h expmed.h
37232 stmt.h.
37233
37234 2015-01-15 Jakub Jelinek <jakub@redhat.com>
37235
37236 * gengtype.c (create_user_defined_type): Workaround
37237 -Wmaybe-uninitialized false positives.
37238 * cse.c (fold_rtx): Likewise.
37239 * loop-invariant.c (gain_for_invariant): Likewise.
37240
37241 2015-01-15 Eric Botcazou <ebotcazou@adacore.com>
37242
37243 * expr.c (expand_expr_real_1) <normal_inner_ref>: Use the expression to
37244 set the memory attributes in all cases but clear MEM_EXPR if need be.
37245
37246 2015-01-15 Yuri Rumyantsev <ysrumyan@gmail.com>
37247
37248 PR tree-optimization/64434
37249 * cfgexpand.c (reorder_operands): New function.
37250 (expand_gimple_basic_block): Insert call of reorder_operands if
37251 optimized is true.
37252
37253 2015-01-15 Matthew Fortune <matthew.fortune@imgtec.com>
37254
37255 * config/mips/micromips.md (*swp): Remove explicit parallel.
37256 (jraddiusp, *movep<MOVEP1:mode><MOVEP2:mode>): Likewise.
37257 * config/mips/mips-dsp.md (add<DSPV:mode>3): Likewise.
37258 (mips_add<DSP:dspfmt1>_s_<DSP:dspfmt2>, sub<DSPV:mode>3): Likewise.
37259 (mips_sub<DSP:dspfmt1>_s_<DSP:dspfmt2>, mips_addsc): Likewise.
37260 (mips_addwc, mips_absq_s_<DSPQ:dspfmt2>): Likewise.
37261 (mips_precrq_rs_ph_w, mips_precrqu_s_qb_ph): Likewise.
37262 (mips_shll_<DSPV:dspfmt2>, mips_shll_s_<DSPQ:dspfmt2>): Likewise.
37263 (mips_muleu_s_ph_qbl, mips_muleu_s_ph_qbr): Likewise.
37264 (mips_mulq_rs_ph, mips_muleq_s_w_phl, mips_muleq_s_w_phr): Likewise.
37265 (mips_dpaq_s_w_ph, mips_dpsq_s_w_ph, mips_mulsaq_s_w_ph): Likewise.
37266 (mips_dpaq_sa_l_w, mips_dpsq_sa_l_w, mips_maq_s_w_phl): Likewise.
37267 (mips_maq_s_w_phr, mips_maq_sa_w_phl, mips_maq_sa_w_phr): Likewise.
37268 (mips_extr_w, mips_extr_r_w, mips_extr_rs_w): Likewise.
37269 (mips_extr_s_h, mips_extp, mips_extpdp, mips_mthlip): Likewise.
37270 (mips_wrdsp): Likewise.
37271 * config/mips/mips-dspr2.md (mips_absq_s_qb): Remove explicit
37272 parallel.
37273 (mips_addu_ph, mips_addu_s_ph, mips_cmpgdu_eq_qb): Likewise.
37274 (mips_cmpgdu_lt_qb, mips_cmpgdu_le_qb, mulv2hi3): Likewise.
37275 (mips_mul_s_ph, mips_mulq_rs_w, mips_mulq_s_ph): Likewise.
37276 (mips_mulq_s_w, mips_subu_ph, mips_subu_s_ph): Likewise.
37277 (mips_dpaqx_s_w_ph, mips_dpaqx_sa_w_ph): Likewise.
37278 (mips_dpsqx_s_w_ph, mips_dpsqx_sa_w_ph): Likewise.
37279 * config/mips/mips-fixed.md (usadd<mode>3): Remove explicit parallel.
37280 (ssadd<mode>3, ussub<mode>3, sssub<mode>3, ssmul<mode>3): Likewise.
37281 (ssmaddsqdq4, ssmsubsqdq4): Likewise.
37282
37283 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
37284
37285 * config/mips/mips.c (mips_rtx_costs): Set costs for LSA/DLSA.
37286 (mips_print_operand): Support 'y' to print exact log2 in decimal
37287 of a const_int.
37288 * config/mips/mips.h (ISA_HAS_LSA): New define.
37289 (ISA_HAS_DLSA): Likewise.
37290 * config/mips/mips.md (<GPR:d>lsa): New define_insn.
37291 * config/mips/predicates.md (const_immlsa_operand): New predicate.
37292
37293 2015-01-15 Martin Liska <mliska@suse.cz>
37294
37295 PR target/64377
37296 * optc-save-gen.awk: Add support for array types.
37297
37298 2015-01-15 Richard Biener <rguenther@suse.de>
37299
37300 PR middle-end/64365
37301 * tree-data-ref.c (dr_analyze_indices): Make sure that accesses
37302 for MEM_REF access functions with the same base can never partially
37303 overlap.
37304
37305 2015-01-14 Marcos Diaz <marcos.diaz@tallertechnologies.com>
37306
37307 * common.opt: New option -fstack-protector-explicit.
37308 * cfgexpand.c (SPCT_FLAG_EXPLICIT): New enum.
37309 (stack_protect_decl_phase): Handle stack_protect attribute for
37310 explicit stack protection requests.
37311 (expand_used_vars): Similarly.
37312 * doc/cpp.texi (__SSP_EXPLICIT__): Document predefined macro.
37313 * doc/extend.texi: Add documentation for "stack_protect" attribute.
37314 * doc/invoke.texi: Add documentation for -fstack-protector-explicit.
37315
37316 2015-01-14 Oleg Endo <olegendo@gcc.gnu.org>
37317
37318 PR target/53988
37319 * config/sh/sh-protos.h (sh_find_set_of_reg): Add option to ignore
37320 reg-reg copies.
37321 (sh_extending_set_of_reg): New struct.
37322 (sh_find_extending_set_of_reg, sh_split_tst_subregs,
37323 sh_remove_reg_dead_or_unused_notes): New Declarations.
37324 * config/sh/sh.c (sh_remove_reg_dead_or_unused_notes,
37325 sh_find_extending_set_of_reg, sh_split_tst_subregs,
37326 sh_extending_set_of_reg::use_as_extended_reg): New functions.
37327 * config/sh/sh.md (*tst<mode>_t_zero): Rename to *tst<mode>_t_subregs,
37328 convert to insn_and_split and use new function sh_split_tst_subregs.
37329
37330 2015-01-14 Sandra Loosemore <sandra@codesourcery.com>
37331
37332 * doc/invoke.texi (Option Summary): Reclassify -fuse-ld as a linker
37333 option.
37334 (Optimization Options): Move -fuse-ld documentation to...
37335 (Link Options): ...here.
37336
37337 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
37338
37339 * config/mips/constraints.md (ZC): Add support for R6 LL/SC
37340 offsets.
37341 (ZD): Update to use ISA_HAS_9BIT_DISPLACEMENT.
37342 * config/mips/mips.h (ISA_HAS_PREFETCH_9BIT): Rename to...
37343 (ISA_HAS_9BIT_DISPLACEMENT): ... this. New macro.
37344 * config/mips/sync.md (sync_compare_and_swap<mode>): Use ZC
37345 instead of ZR for the memory operand of LL/SC.
37346 (compare_and_swap_12, sync_add<mode>): Likewise.
37347 (sync_<optab>_12, sync_old_<optab>_12): Likewise.
37348 (sync_new_<optab>_12, sync_nand_12): Likewise.
37349 (sync_old_nand_12, sync_new_nand_12): Likewise.
37350 (sync_sub<mode>, sync_old_add<mode>): Likewise.
37351 (sync_old_sub<mode>, sync_new_add<mode>): Likewise.
37352 (sync_new_sub<mode>, sync_<optab><mode>): Likewise.
37353 (sync_old_<optab><mode>, sync_new_<optab><mode>"): Likewise.
37354 (sync_nand<mode>, sync_old_nand<mode>): Likewise.
37355 (sync_new_nand<mode>, sync_lock_test_and_set<mode>): Likewise.
37356 (test_and_set_12, atomic_compare_and_swap<mode>): Likewise.
37357 (atomic_exchange<mode>_llsc, atomic_fetch_add<mode>_llsc): Likewise.
37358 * doc/md.texi (ZC): Update description.
37359
37360 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
37361
37362 * builtins.c (expand_builtin_atomic_exchange): Remove error when
37363 memory model is CONSUME.
37364 (expand_builtin_atomic_compare_exchange, expand_builtin_atomic_load,
37365 expand_builtin_atomic_store): Change invalid memory model errors to
37366 warnings.
37367 (expand_builtin_atomic_clear): Change invalid model errors to warnings
37368 and issue warning for CONSUME.
37369
37370 2015-01-14 Aldy Hernandez <aldyh@redhat.com>
37371
37372 * lto-cgraph: Update function comments for
37373 lto_symtab_encoder_encode_*.
37374
37375 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
37376
37377 * Makefile.in (site.exp): Do not set ENABLE_LTO.
37378
37379 2015-01-14 Ilya Verbin <ilya.verbin@intel.com>
37380
37381 * cgraphunit.c (ipa_passes): Remove argument from ipa_write_summaries.
37382 * lto-cgraph.c (select_what_to_stream): Remove argument, use
37383 lto_stream_offload_p instead.
37384 * lto-streamer.h (select_what_to_stream): Remove argument.
37385 * passes.c (ipa_write_summaries): Likewise.
37386 * tree-pass.h (ipa_write_summaries): Likewise.
37387
37388 2015-01-14 Richard Biener <rguenther@suse.de>
37389
37390 PR tree-optimization/59354
37391 * tree-vect-slp.c (vect_build_slp_tree_1): Treat loads from
37392 groups larger than the slp group size as having gaps.
37393
37394 2015-01-14 Andrew MacLeod <amacleod@redhat.com>
37395
37396 PR middle-end/59448
37397 * builtins.c (get_memmodel): Promote consume to acquire always.
37398
37399 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
37400
37401 PR target/64386
37402 * config/i386/i386.c (ix86_expand_sse_cmp): Handle V64QImode,
37403 V32HImode.
37404
37405 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
37406
37407 PR target/64393
37408 * common/config/i386/i386-common.c (OPTION_MASK_ISA_AVX512VBMI_SET):
37409 Enable AVX512BW.
37410 (OPTION_MASK_ISA_AVX512BW_UNSET): Disable AVX512VBMI.
37411 * config/i386/i386.c (ix86_hard_regno_mode_ok): Don't check
37412 AVX512VBMI, as it implies AVX512BW.
37413
37414 2015-01-14 Ilya Tocar <ilya.tocar@intel.com>
37415
37416 PR target/64387
37417 * config/i386/sse.md (vec_unpacks_hi_v8sf): Fix predicate.
37418 (vec_unpacks_hi_v16sf): Ditto.
37419
37420 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37421
37422 * config/aarch64/arm_neon.h: Error out if AdvancedSIMD
37423 is not available.
37424
37425 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37426
37427 * doc/invoke.texi (mapcs): Mention deprecation.
37428 (mapcs-frame): Likewise.
37429
37430 2015-01-14 Thomas Preud'homme <thomas.preudhomme@arm.com>
37431
37432 PR target/64453
37433 * config/arm/arm.c (callee_saved_reg_p): Define.
37434 (arm_compute_save_reg0_reg12_mask): Use callee_saved_reg_p to check if
37435 register is callee saved instead of !call_used_regs[reg].
37436 (thumb1_compute_save_reg_mask): Likewise.
37437
37438 2015-01-14 Hale Wang <hale.wang@arm.com>
37439
37440 * config/arm/arm.c: Tune the max_cond_insns/branch_cost for
37441 Cortex-M7.
37442
37443 2015-01-14 Richard Biener <rguenther@suse.de>
37444
37445 PR lto/64415
37446 * tree-inline.c (insert_debug_decl_map): Check destination
37447 function MAY_HAVE_DEBUG_STMTS.
37448 (insert_init_debug_bind): Likewise.
37449 (insert_init_stmt): Remove redundant check.
37450 (remap_gimple_stmt): Drop debug stmts if the destination
37451 function has var-tracking assignments disabled.
37452
37453 2015-01-14 Martin Liska <mliska@suse.cz>
37454
37455 * ipa-icf-gimple.c (func_checker::compare_operand): Add support for
37456 IMAGPART_EXPR and REALPART_EXPR and fix BIT_FIELD_REF comparison.
37457
37458 2015-01-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37459
37460 PR target/64460
37461 * config/arm/arm.md (*<arith_shift_insn>_multsi): Set 'shift' to 2.
37462 (*<arith_shift_insn>_shiftsi): Set 'shift' attr to 3.
37463
37464 2015-01-14 Matthew Fortune <matthew.fortune@imgtec.com>
37465
37466 * config/mips/mips.h (MIPS_ISA_LEVEL_SPEC): Only infer an ISA
37467 level from an ARCH; do not inject the default.
37468 (MIPS_DEFAULT_ISA_LEVEL_SPEC): New macro split out from
37469 MIPS_ISA_LEVEL_SPEC.
37470 (MIPS_ISA_NAN2008_SPEC): Update comment.
37471 (BASE_DRIVER_SELF_SPECS): Likewise.
37472 * config/mips/elfoabi.h (DRIVER_SELF_SPECS): Add
37473 MIPS_DEFAULT_ISA_LEVEL_SPEC.
37474 * config/mips/mti-elf.h (DRIVER_SELF_SPECS): Likewise.
37475 * config/mips/mti-linux.h (DRIVER_SELF_SPECS): Likewise.
37476 * config/mips/sde.h (DRIVER_SELF_SPECS): Likewise.
37477
37478 2015-01-14 Richard Biener <rguenther@suse.de>
37479
37480 PR tree-optimization/64493
37481 PR tree-optimization/64495
37482 * tree-vect-loop.c (vect_finalize_reduction): For double-reductions
37483 assign the proper vectorized PHI to the inner loop exit PHIs.
37484
37485 2015-01-14 Joey Ye <joey.ye@arm.com>
37486
37487 * config/arm/arm.c (arm_compute_save_reg_mask):
37488 Do not save lr in case of tail call.
37489 * config/arm/thumb2.md (*thumb2_pop_single): New pattern.
37490
37491 2015-01-14 Martin Uecker <uecker@eecs.berkeley.edu>
37492
37493 * tree-vrp.c (check_array_ref): Emit more warnings
37494 for warn_array_bounds >= 2.
37495 * common.opt: New option -Warray-bounds=.
37496 * doc/invoke.texi: Document -Warray-bounds=.
37497
37498 2015-01-14 Chung-Ju Wu <jasonwucj@gmail.com>
37499
37500 * config/nds32/nds32.opt (mforce-fp-as-gp): Remove.
37501 (mforbid-fp-as-gp): Remove.
37502 (mex9): Remove.
37503 * config/nds32/nds32-fp-as-gp.c (nds32_have_prologue_p): Remove.
37504 (nds32_symbol_load_store_p): Remove.
37505 (nds32_fp_as_gp_check_available): Clean up implementation.
37506 * config/nds32/nds32.h (LINK_SPEC): Remove -mforce-as-gp and -mex9
37507 cases.
37508 * config/nds32/nds32.c (nds32_asm_file_start): No need to consider
37509 fp-as-gp and ex9 cases.
37510
37511 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
37512
37513 * tree-profile.c (init_ic_make_global_vars): Drop workaround
37514 for bintuils bug 14342.
37515 (init_ic_make_global_vars): Likewise.
37516 (gimple_init_edge_profiler): Likewise.
37517 (gimple_gen_ic_func_profiler): Likewise.
37518
37519 2015-01-13 Naveen H.S <Naveen.Hurugalawadi@caviumnetworks.com>
37520
37521 * ipa-inline.c (inline_small_functions): Swap the operands in
37522 enum.
37523
37524 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
37525
37526 PR ipa/64481
37527 * ipa-inline-analysis.c (node_growth_cache): Remove.
37528 (initialize_growth_caches): Do not initialize it.
37529 (free_growth_caches): Do not free it.
37530 (do_estimate_growth): Rename to ...
37531 (estimate_growth): ... this one; drop growth cache code.
37532 (growth_likely_positive): Always go the heuristics way.
37533 * ipa-inline.c (can_inline_edge_p): Walk through aliases.
37534 (reset_edge_caches): Do not reset node growth.
37535 (heap_edge_removal_hook): Do not maintain cache.
37536 (inline_small_functions): Likewise; strenghten sanity check.
37537 (ipa_inline): Do not maintain caches.
37538 * ipa-inline.h (node_growth_cache): Remove.
37539 (do_estimate_growth): Remove to ...
37540 (estimate_growth): this one; remove inline version.
37541 (reset_node_growth_cache): Remove.
37542
37543 2015-01-13 Jan Hubicka <hubicka@ucw.cz>
37544
37545 PR ipa/64565
37546 * ipa-inline.c (inline_small_functions): Update callee keys after
37547 resolving speculation
37548 (inline_small_functions): Always check monotonicity of the queue.
37549
37550 2015-01-13 Marek Polacek <polacek@redhat.com>
37551
37552 PR middle-end/64391
37553 * trans-mem.c (get_attrs_for): Return NULL_TREE if X is NULL_TREE.
37554
37555 2015-01-13 Jakub Jelinek <jakub@redhat.com>
37556
37557 PR rtl-optimization/64286
37558 * ree.c (combine_reaching_defs): Move part of comment earlier,
37559 remove !SCALAR_INT_MODE_P check.
37560 (add_removable_extension): Don't add vector mode
37561 extensions if all uses of the source register aren't the same
37562 vector extensions.
37563
37564 2015-01-13 Renlin Li <renlin.li@arm.com>
37565
37566 * config/arm/arm.h (CLZ_DEFINED_VALUE_AT_ZERO): Return 2.
37567 (CTZ_DEFINED_VALUE_AT_ZERO): Ditto.
37568
37569 2015-01-13 Martin Liska <mliska@suse.cz>
37570
37571 * ipa-icf.c (sem_function::equals_private): Call new functions
37572 cl_target_option_print_diff and cl_optimization_print_diff.
37573 * optc-save-gen.awk (cl_target_option_print_diff): New function.
37574 (cl_optimization_print_diff): Likewise.
37575 * opth-gen.awk: Likewise.
37576
37577 2015-01-13 Richard Sandiford <richard.sandiford@arm.com>
37578
37579 * config/aarch64/aarch64.md (subsi3, *subsi3_uxtw, subdi3)
37580 (*sub_<optab><ALLX:mode>_<GPI:mode>, *sub_<optab><SHORT:mode>_si_uxtw)
37581 (*sub_<optab><ALLX:mode>_shft_<GPI:mode>)
37582 (*sub_<optab><SHORT:mode>_shft_si_uxtw, *sub_<optab><mode>_multp2)
37583 (*sub_<optab>si_multp2_uxtw, *sub_uxt<mode>_multp2)
37584 (*sub_uxtsi_multp2_uxtw): Add stack pointer sources.
37585
37586 2015-01-13 Andrew Pinski <apinski@cavium.com>
37587
37588 * config/aarch64/aarch64.c (fusion_load_store): Check dest mode
37589 instead of src mode.
37590
37591 2015-01-13 Richard Biener <rguenther@suse.de>
37592
37593 PR lto/64373
37594 * lto-streamer-out.c (tree_is_indexable): Guard for NULL
37595 DECL_CONTEXT.
37596
37597 2015-01-13 Andrew Pinski <apinski@cavium.com>
37598
37599 * config/aarch64/aarch64.c (aarch64_operands_ok_for_ldpstp): Reject
37600 volatile mems.
37601 (aarch64_operands_adjust_ok_for_ldpstp): Likewise.
37602
37603 2015-01-13 Jakub Jelinek <jakub@redhat.com>
37604
37605 PR middle-end/63974
37606 * cfgexpand.c (expand_computed_goto): Don't call
37607 convert_memory_address here.
37608
37609 2015-01-13 Richard Biener <rguenther@suse.de>
37610
37611 PR tree-optimization/64406
37612 * tree-loop-distibution.c (pass_loop_distribution::execute):
37613 Reset the SCEV hashtable if we distributed anything.
37614
37615 2015-01-13 Richard Biener <rguenther@suse.de>
37616
37617 PR tree-optimization/64404
37618 * tree-vect-stmts.c (vectorizable_load): Reject conflicting
37619 SLP types for CSEd loads.
37620
37621 2015-01-13 Thomas Preud'homme <thomas.preudhomme@arm.com>
37622
37623 PR tree-optimization/64436
37624 * tree-ssa-math-opts.c (find_bswap_or_nop_1): Move code performing the
37625 merge of two symbolic numbers for a bitwise OR to ...
37626 (perform_symbolic_merge): This. Also fix computation of the range and
37627 end of the symbolic number corresponding to the result of a bitwise OR.
37628
37629 2015-01-13 Richard Biener <rguenther@suse.de>
37630
37631 PR tree-optimization/64568
37632 * tree-ssa-forwprop.c (pass_forwprop::execute): Properly
37633 release defs of removed stmts, avoid splitting TARGET_MEM_REFs.
37634
37635 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37636
37637 * config/nds32/nds32.c (nds32_legitimate_address_p): Consider
37638 TARGET_CMODEL_LARGE and TARGET_CMODEL_MEDIUM cases.
37639
37640 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37641
37642 * config/nds32/nds32.h (NDS32_SYMBOL_FLAG_RODATA): Define our own
37643 target-specific symbol_ref flag.
37644 (NDS32_SYMBOL_REF_RODATA_P): Define it to check if the symbol_ref
37645 resides in rodata section.
37646 * config/nds32/nds32.c (TARGET_ENCODE_SECTION_INFO): Define.
37647 (nds32_encode_section_info): New function.
37648
37649 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37650
37651 * config/nds32/nds32.md (call): Use pseudo instruction bal which
37652 clobbers TA_REGNUM if large code model is specified.
37653 (call_register): Likewise.
37654 (call_immediate): Likewise.
37655 (call_value): Likewise.
37656 (call_value_register): Likewise.
37657 (call_value_immediate): Likewise.
37658
37659 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37660
37661 * config/nds32/nds32.h (TARGET_CMODEL_SMALL): New macro.
37662 (TARGET_CMODEL_MEDIUM): New macro.
37663 (TARGET_CMODEL_LARGE): New macro.
37664 * config/nds32/nds32.c (nds32_asm_file_start): Display corresponding
37665 code model setting in assembly code.
37666
37667 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37668
37669 * common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS):
37670 Remove MASK_GP_DIRECT flag.
37671 * config/nds32/nds32.h (MULTILIB_DEFAULTS): Have -mcmodel=medium as
37672 one of the multilib default options.
37673 * config/nds32/nds32.opt (mgp-direct): Remove.
37674 * config/nds32/t-mlibs (MULTILIB_OPTIONS): Use -mcmodel instead of
37675 -mgp-direct. We also remove unnecessary -mlittle-endian/-mbig-endian.
37676
37677 2015-01-13 Chung-Ju Wu <jasonwucj@gmail.com>
37678
37679 * config/nds32/nds32.opt (mcmodel): Add new option.
37680 * config/nds32/nds32-opts.h (nds32_cmodel_type): Add new enum type
37681 to describe code model.
37682
37683 2015-01-13 Oleg Endo <olegendo@gcc.gnu.org>
37684
37685 PR target/64479
37686 * rtlanal.c (set_reg_p): Handle SEQUENCE constructs.
37687
37688 2015-01-12 Kaz Kojima <kkojima@gcc.gnu.org>
37689
37690 * config/sh/sh.c (sh_atomic_assign_expand_fenv): New function.
37691 (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Define.
37692 (sh_builtin_get_fpscr, sh_builtin_set_fpscr): New variables.
37693 (sh_init_builtins): Record decls for __builtin_sh_get_fpscr and
37694 __builtin_sh_set_fpscr.
37695
37696 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
37697
37698 * doc/invoke.texi ([-Wsuggest-attribute=]): Don't use parentheses
37699 after a funtion name just to indicate it is a function.
37700 ([-fsanitize-undefined-trap-on-error]): Likewise.
37701 ([-fdbg-cnt=]): Likewise.
37702 ([-mmemcpy]): Likewise.
37703 ([-mflush-func]): Likewise.
37704 ([-msynci]): Likewise.
37705
37706 2015-01-12 Sandra Loosemore <sandra@codesourcery.com>
37707
37708 * doc/invoke.texi ([-Wbad-function-cast]): Rewrite to avoid confusing
37709 example.
37710
37711 2015-01-12 Jakub Jelinek <jakub@redhat.com>
37712
37713 PR tree-optimization/64563
37714 * tree-vrp.c (vrp_evaluate_conditional): Check for VR_RANGE
37715 instead of != VR_VARYING.
37716
37717 PR target/64513
37718 * config/i386/i386.c (ix86_expand_prologue): Add
37719 REG_FRAME_RELATED_EXPR to %rax and %r10 pushes.
37720
37721 PR tree-optimization/64454
37722 * tree-vrp.c (simplify_div_or_mod_using_ranges): Optimize
37723 op0 % op1 into op0 if op0 is in range [-op1 + 1, op1 - 1]
37724 for signed or [0, op1 - 1] for unsigned modulo.
37725 (simplify_stmt_using_ranges): Call simplify_div_or_mod_using_ranges
37726 even if op1 does not satisfy integer_pow2p.
37727
37728 PR other/64370
37729 * sreal.c (sreal::to_double): Use ldexp instead of scalbnl.
37730
37731 2015-01-12 Jeff Law <law@redhat.com>
37732
37733 PR target/64461
37734 * config/m68k/m68k.md (truncsiqi2): Disable for TARGET_COLDFIRE.
37735 (trunchiqi2, truncsihi2): Similarly.
37736
37737 * config/h8300/h8300.c (Fpa): Use RTX_FRAME_RELATED_P directly
37738 rather than calling F.
37739
37740 2015-01-12 Bernd Edlinger <bernd.edlinger@hotmail.de>
37741
37742 * tsan.c (instrument_expr): Use force_gimple_operand.
37743 Use may_be_nonaddressable_p instead of is_gimple_addressable.
37744
37745 2015-01-12 Richard Biener <rguenther@suse.de>
37746
37747 PR tree-optimization/64530
37748 * tree-loop-distribution.c (pg_add_dependence_edges): Shuffle
37749 back dr1.
37750
37751 2015-01-12 Richard Biener <rguenther@suse.de>
37752
37753 PR middle-end/64357
37754 * tree-cfg.c (gimple_can_merge_blocks_p): Protect simple
37755 latches properly.
37756
37757 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37758
37759 * config/arm/arm.c (arm_cortex_a12_tune): Update entries to match
37760 Cortex-A17 tuning parameters.
37761 * config/arm/arm-cores.def (cortex-a12): Schedule for cortex-a17.
37762
37763 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37764
37765 * config/arm/arm-protos.h (tune_params): Add fuseable_ops field.
37766 * config/arm/arm.c (arm_macro_fusion_p): New function.
37767 (arm_macro_fusion_pair_p): Likewise.
37768 (TARGET_SCHED_MACRO_FUSION_P): Define.
37769 (TARGET_SCHED_MACRO_FUSION_PAIR_P): Likewise.
37770 (ARM_FUSE_NOTHING): Likewise.
37771 (ARM_FUSE_MOVW_MOVT): Likewise.
37772 (arm_slowmul_tune, arm_fastmul_tune, arm_strongarm_tune,
37773 arm_xscale_tune, arm_9e_tune, arm_v6t2_tune, arm_cortex_tune,
37774 arm_cortex_a8_tune, arm_cortex_a7_tune, arm_cortex_a15_tune,
37775 arm_cortex_a53_tune, arm_cortex_a57_tune, arm_cortex_a9_tune,
37776 arm_cortex_a12_tune, arm_v7m_tune, arm_v6m_tune, arm_fa726te_tune
37777 arm_cortex_a5_tune): Specify fuseable_ops value.
37778
37779 2015-01-12 H.J. Lu <hongjiu.lu@intel.com>
37780
37781 PR bootstrap/64561
37782 * configure.ac (HAVE_LD_PIE_COPYRELOC): Update Linux/x86-64 linker
37783 test for PIE with copy reloc.
37784 * configure: Regenerated.
37785
37786 2015-01-12 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
37787
37788 * config/arm/arm.c (arm_load_tp): Use R0_REGNUM instead of constant 0
37789 in gen_rtx_REG.
37790 (arm_tls_descseq_addr): Likewise.
37791 (arm_gen_movmemqi): Likewise.
37792 (arm_expand_epilogue_apcs_frame): Likewise.
37793 (arm_expand_epilogue): Likewise.
37794 (arm_expand_prologue): Likewise. Use R1_REGNUM instead of constant 1
37795 in gen_rtx_REG.
37796
37797 2015-01-12 Martin Liska <mliska@suse.cz>
37798
37799 PR ipa/64550
37800 * ipa-icf-gimple.c (func_checker::compare_memory_operand): Compare
37801 volatility for correct operands.
37802
37803 2015-01-12 Martin Liska <mliska@suse.cz>
37804
37805 * ipa-icf.c (sem_function::equals_wpa): Add indirect_calls as
37806 indication that a function is not leaf.
37807 (sem_function::compare_polymorphic_p): Likewise.
37808
37809 2015-01-12 Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>
37810
37811 * config/visium/visium.c: Add includes hashtab.h, hash-set.h,
37812 machmode.h, input.h, statistics.h, vec.h, double-int.h, real.h,
37813 fixed-value.h, alias.h, symtab.h, tree-core.h, wide-int.h, inchash.h,
37814 fold-const.h, tree-check.h.
37815
37816 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
37817
37818 PR ipa/63967
37819 PR ipa/64425
37820 * ipa-inline.c (compute_uninlined_call_time,
37821 compute_inlined_call_time): Use counts for extra precision when
37822 needed possible.
37823 (big_speedup_p): Fix formating.
37824 (RELATIVE_TIME_BENEFIT_RANGE): Remove.
37825 (relative_time_benefit): Remove.
37826 (edge_badness): Turn DECL_DISREGARD_INLINE_LIMITS into hint;
37827 merge guessed and read profile paths.
37828 (inline_small_functions): Count only !optimize_size functions into
37829 initial size; be more lax about sanity check when profile is used;
37830 be sure to update inlined function profile when profile is read.
37831
37832 2015-01-12 Jan Hubicka <hubicka@ucw.cz>
37833
37834 PR ipa/63470
37835 * ipa-inline-analysis.c (inline_edge_duplication_hook): Adjust
37836 cost when edge becomes direct.
37837 * ipa-prop.c (make_edge_direct): Do not adjust when speculation
37838 is resolved or when introducing new speculation.
37839
37840 2015-01-12 Chen Gang <gang.chen.5i5j@gmail.com>
37841
37842 PR ipa/64551
37843 PR ipa/64552
37844 * ipa-icf.c (sem_function::equals_private): Use '&&' instead of
37845 '||' to fix typo issue.
37846
37847 * tree.h (target_opts_for_fn): Check NULL_TREE since it can
37848 accept and return NULL.
37849
37850 2015-01-12 Martin Liska <mliska@suse.cz>
37851
37852 * cgraph.c (cgraph_edge::remove_callee): Move function to header
37853 file for being inlined.
37854 (cgraph_set_edge_callee): Delete.
37855 (cgraph_edge::redirect_callee): Move function to header file
37856 for being inlined.
37857 (cgraph_edge::make_direct): Use new function.
37858 (cgraph_edge::dump_edge_flags): New function created from
37859 static dump_edge_flags function.
37860 (cgraph_node::dump): Use new function.
37861 (cgraph_edge::verify_count_and_frequency): New function created
37862 from verify_edge_count_and_frequency.
37863 (cgraph_edge::verify_corresponds_to_fndecl): New function created
37864 from verify_edge_corresponds_to_fndecl.
37865 (verify_edge_corresponds_to_fndecl): Delete.
37866 (cgraph_node::verify_node): Use new function.
37867 * cgraph.h (cgraph_edge::set_callee): New function.
37868 (cgraph_edge::dump_edge_flags): Likewise.
37869 (cgraph_edge::verify_corresponds_to_fndecl): Likewise.
37870
37871 2015-01-11 Jan Hubicka <hubicka@ucw.cz>
37872
37873 * ipa-utils.c (estimate_function_body_sizes): Do not
37874 free node params when called late with early=true.
37875
37876 2015-01-11 James Greenhalgh <james.greenhalgh@arm.com>
37877
37878 * doc/md.texi (Instruction Patterns): Rewrite text for
37879 clarity.
37880 (Example): Likewise.
37881
37882 2015-01-10 Sandra Loosemore <sandra@codesourcery.com>
37883
37884 * doc/invoke.texi (Option Summary): Break long lines.
37885 [(-fdiagnostics-color)]: Put long literal in @smallexample
37886 instead of inline.
37887 [(-fsanitize-recover)]: Likewise.
37888 [(-fdump-rtl-split*)]: Rewrite to fix over-full hbox.
37889 [(-ffast-math)]: Likewise.
37890 [(--param max-inline-insns-recursive)]: Likewise.
37891 [(--param max-inline-recursive-depth)]: Likewise.
37892 [(-mno-text-section-literals)]: Likewise.
37893
37894 2015-01-10 Thomas Schwinge <thomas@codesourcery.com>
37895
37896 * doc/install.texi: Update for libgomp being renamed from "GNU
37897 OpenMP Runtime Library" to "GNU Offloading and Multi Processing
37898 Runtime Library".
37899 * doc/sourcebuild.texi: Likewise.
37900
37901 2015-01-10 Anthony Green <green@moxielogic.com>
37902
37903 * config/moxie/moxie.c (moxie_option_override): Fix forcing of
37904 mul.x availability for moxiebox configuration.
37905
37906 2015-01-09 Anthony Green <green@moxielogic.com>
37907
37908 * config/moxie/moxie.md: Tabify assembly output.
37909
37910 2015-01-09 Anthony Green <green@moxielogic.com>
37911
37912 * config/moxie/moxie.md (CC_REG): Correct register definition.
37913
37914 2015-01-09 Sandra Loosemore <sandra@codesourcery.com>
37915
37916 * doc/invoke.texi ([-fvtable-verify]): Copy-edit and fix markup.
37917 ([-fvtv-debug], [-fvtv-counts]): Likewise. Correct location
37918 of log files.
37919
37920 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37921
37922 * config/arm/arm.h (MAX_SYNC_LIBFUNC_SIZE): Delete semicolon.
37923
37924 2015-01-09 Bernd Schmidt <bernds@codesourcery.com>
37925 Jakub Jelinek <jakub@redhat.com>
37926
37927 PR middle-end/64412
37928 * lto-streamer.h (lto_stream_offload_p): New declaration.
37929 * lto-streamer.c (lto_stream_offload_p): New variable.
37930 * cgraphunit.c (ipa_passes): Set lto_stream_offload_p
37931 at the same time as section_name_prefix.
37932 * lto-streamer-out.c (hash_tree): Don't hash TREE_TARGET_OPTION
37933 if lto_stream_offload_p.
37934 * tree-streamer-out.c (streamer_pack_tree_bitfields): Don't
37935 stream TREE_TARGET_OPTION if lto_stream_offload_p.
37936 (write_ts_function_decl_tree_pointers): Don't
37937 stream DECL_FUNCTION_SPECIFIC_TARGET if lto_stream_offload_p.
37938 * tree-streamer-in.c (unpack_value_fields): Don't stream
37939 TREE_TARGET_OPTION in if ACCEL_COMPILER.
37940 (lto_input_ts_function_decl_tree_pointers): Don't stream
37941 DECL_FUNCTION_SPECIFIC_TARGET in if ACCEL_COMPILER.
37942 * lto-opts.c (lto_write_options): Use lto_stream_offload_p
37943 instead of section_name_prefix string comparisons.
37944
37945 2015-01-09 Jakub Jelinek <jakub@redhat.com>
37946
37947 PR rtl-optimization/64536
37948 * cfgrtl.c (rtl_tidy_fallthru_edge): Handle removal of degenerate
37949 tablejumps.
37950
37951 2015-01-09 Michael Collison <michael.collison@linaro.org>
37952
37953 PR tree-optimization/64322
37954 * tree-vrp.c (extract_range_from_binary_expr_1): Attempt to derive
37955 range for RSHIFT_EXPR even if vr0 range is not VR_RANGE or is symbolic.
37956
37957 2015-01-09 Tom de Vries <tom@codesourcery.com>
37958
37959 PR rtl-optimization/64539
37960 * regcprop.c (kill_clobbered_values): Factor out of ...
37961 (copyprop_hardreg_forward_1): ... here. Use kill_clobbered_values
37962 instead of note_stores with kill_clobbered_value.
37963
37964 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37965
37966 * ginclude/unwind-arm-common.h: Revert previous commit.
37967
37968 2015-01-09 Andreas Tobler <andreast@gcc.gnu.org>
37969
37970 * config.gcc (arm*-*-freebsd*): New configuration.
37971 * config/arm/freebsd.h: New file.
37972 * config.host: Add extra components for arm*-*-freebsd*.
37973 * config/arm/arm.h: Introduce MAX_SYNC_LIBFUNC_SIZE.
37974 * config/arm/arm.c (arm_init_libfuncs): Use MAX_SYNC_LIBFUNC_SIZE.
37975
37976 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37977
37978 * config/rs6000/rtems.h (CPP_OS_RTEMS_SPEC): Define __PPC_CPU_E6500__
37979 for -mcpu=e6500.
37980 * config/rs6000/t-rtems: Add e6500 multilibs.
37981
37982 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37983
37984 * config/rs6000/t-rtems: Add -mno-spe to soft-float multilib for
37985 MPC8540.
37986
37987 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37988
37989 * config/rs6000/t-rtems: Use MULTILIB_REQUIRED instead of
37990 MULTILIB_EXCEPTIONS.
37991
37992 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37993
37994 * config/arm/t-rtems: Use MULTILIB_REQUIRED instead of
37995 MULTILIB_EXCEPTIONS.
37996
37997 2015-01-09 Sebastian Huber <sebastian.huber@embedded-brains.de>
37998
37999 * config/arm/t-rtems-eabi: Rename to...
38000 * config/arm/t-rtems: ...this.
38001 * config/arm/rtems-eabi.h: Rename to...
38002 * config/arm/rtems.h: ...this.
38003 * config.gcc (arm*-*-rtems*): Reflect changes above.
38004
38005 2015-01-09 Richard Biener <rguenther@suse.de>
38006
38007 PR tree-optimization/64410
38008 * tree-ssa.c (non_rewritable_lvalue_p): Allow REALPART/IMAGPART_EXPR
38009 on the LHS.
38010 (execute_update_addresses_taken): Deal with that.
38011 * tree-ssa-forwprop.c (pass_forwprop::execute): Use component-wise
38012 loads/stores for complex variables.
38013
38014 2015-01-09 Martin Liska <mliska@suse.cz>
38015
38016 * ipa-icf-gimple.c (func_checker::compare_ssa_name): Enhance SSA
38017 name comparison.
38018 (func_checker::compare_memory_operand): New function.
38019 (func_checker::compare_operand): Split case to newly
38020 added functions.
38021 (func_checker::compare_cst_or_decl): New function.
38022 (func_checker::compare_gimple_call): Identify
38023 memory operands.
38024 (func_checker::compare_gimple_assign): Likewise.
38025 * ipa-icf-gimple.h: New function.
38026
38027 2015-01-09 Martin Liska <mliska@suse.cz>
38028
38029 PR ipa/64503
38030 * sreal.c (sreal::dump): Change unsigned format to signed for
38031 m_exp value.
38032 (sreal::to_double): Replace exp2 with scalbln.
38033
38034 2015-01-09 Martin Liska <mliska@suse.cz>
38035
38036 * cgraphunit.c (cgraph_node::create_wrapper): Fix level of indentation.
38037 * ipa-icf.c (sem_function::equals_private): Add support for target and
38038 (sem_item_optimizer::merge_classes): Remove redundant function
38039 optimization flags comparison.
38040 * tree.h (target_opts_for_fn): New function.
38041
38042 2015-01-09 Tom de Vries <tom@codesourcery.com>
38043
38044 * omp-low.c (expand_omp_for_static_chunk): Fix assert.
38045
38046 2015-01-09 Kito Cheng <kito@0xlab.org>
38047
38048 PR rtl-optimization/64348
38049 * lra-constraints.c (split_reg): Fix caller-save store/restore
38050 instruction generation.
38051
38052 2015-01-08 John David Anglin <danglin@gcc.gnu.org>
38053
38054 PR gcov-profile/61790
38055 * gcov-tool.c (do_rewrite): Use strtoll instead of atoll if host has
38056 long long. Fallback to int64_t if host doesn't have long long and
38057 use strtol if int64_t is long. Otherwise, use sscanf for conversion.
38058
38059 2015-01-08 Jakub Jelinek <jakub@redhat.com>
38060
38061 PR tree-optimization/63989
38062 * params.def (PARAM_MAX_TRACKED_STRLENS): Increment default
38063 from 1000 to 10000.
38064 * tree-ssa-strlen.c (get_strinfo): Moved earlier.
38065 (get_stridx): If we don't have a record for certain SSA_NAME,
38066 but it is POINTER_PLUS_EXPR of some SSA_NAME we do with
38067 constant offset, call get_stridx_plus_constant.
38068 (get_stridx_plus_constant): New function.
38069 (zero_length_string): Don't use get_stridx here.
38070
38071 PR target/55023
38072 PR middle-end/64388
38073 * dse.c (struct insn_info): Mention frame_read set also
38074 before reload for tail calls on some targets.
38075 (scan_insn): Revert 2014-12-22 change. Set frame_read
38076 also before reload for tail calls if
38077 HARD_FRAME_POINTER_IS_ARG_POINTER. Call add_wild_read
38078 instead of add_non_frame_wild_read for non-const/memset
38079 tail calls after reload.
38080
38081 2015-01-08 Jason Merrill <jason@redhat.com>
38082
38083 * ubsan.c (do_ubsan_in_current_function): New.
38084 (pass_ubsan::gate): Use it.
38085 * ubsan.h: Declare it.
38086 * convert.c (convert_to_integer): Use it.
38087
38088 2015-01-08 Jakub Jelinek <jakub@redhat.com>
38089
38090 PR target/64338
38091 * config/i386/i386.c (ix86_expand_int_movcc): Don't reverse
38092 compare_code when it is unconditionally overwritten afterwards.
38093 Use ix86_reverse_condition instead of reverse_condition. Don't
38094 change code if *reverse_condition* returned UNKNOWN and don't
38095 swap ct/cf and negate diff in that case.
38096
38097 2015-01-08 Mike Stump <mikestump@comcast.net>
38098
38099 * tsan.c (pass_tsan::gate): Add no_sanitize_thread support.
38100 (pass_tsan_O0::gate): Likewise.
38101 * extend.texi (Function Attributes): Add no_sanitize_thread
38102 documentation.
38103
38104 2015-01-08 Thomas Schwinge <thomas@codesourcery.com>
38105
38106 * builtins.def (DEF_GOMP_BUILTIN): Also consider flag_offload_abi
38107 for registering builtins.
38108 * config/i386/intelmic-mkoffload.c (prepare_target_image): Don't
38109 add -fopenmp to the argv_obstack used when invoking
38110 compile_for_target.
38111
38112 * config/i386/intelmic-mkoffload.c (compile_for_target): Always
38113 add "-m32" or "-m64" to argv_obstack.
38114 (generate_host_descr_file): Likewise, when invoking host_compiler.
38115 (main): Always add "-m elf_i386" or "-m elf_x86_64" when invoking
38116 ld.
38117
38118 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
38119
38120 * config/sh/sh-mem.cc: Use constant as second operand when emitting
38121 tstsi_t insns.
38122
38123 2015-01-08 Oleg Endo <olegendo@gcc.gnu.org>
38124
38125 PR target/55212
38126 * config/sh/sh.md (*addsi3_compact): Emit reg-reg copy instead of
38127 constant load if constant operand fits into I08.
38128
38129 2015-01-08 Jakub Jelinek <jakub@redhat.com>
38130
38131 PR sanitizer/64336
38132 * tree.c (build2_stat): Fix up initialization of TREE_READONLY
38133 and TREE_THIS_VOLATILE for MEM_REFs.
38134 (build5_stat): Fix up initialization of TREE_READONLY and
38135 TREE_THIS_VOLATILE for TARGET_MEM_REFs.
38136
38137 2015-01-08 Kaz Kojima <kkojima@gcc.gnu.org>
38138
38139 PR target/64533
38140 * config/sh/sh.md (*addsi3_compact): Use u constraint instead
38141 of r for the second alternative of the destination operand.
38142
38143 2015-01-07 Segher Boessenkool <segher@kernel.crashing.org>
38144
38145 PR target/36557
38146 * config/rs6000/rs6000.md (*eqsi3_ext<mode>, *nesi3_ext<mode>): New.
38147
38148 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
38149
38150 * doc/invoke.texi ([-fvtable-verify]): Fix markup on option
38151 keywords.
38152 ([-fivar-visibility], [-fvisibility]): Likewise.
38153
38154 2015-01-07 Sandra Loosemore <sandra@codesourcery.com>
38155
38156 * doc/invoke.texi: Fix incorrect uses of @samp markup throughout
38157 the file where @code, @command, etc is more appropriate.
38158
38159 2015-01-06 Sandra Loosemore <sandra@codesourcery.com>
38160
38161 * doc/invoke.texi (RS/6000 and PowerPC Options): Tidy formatting
38162 of -mrecip= documentation.
38163
38164 2015-01-06 Michael Meissner <meissner@linux.vnet.ibm.com>
38165
38166 PR target/64505
38167 * config/rs6000/rs6000.c (rs6000_secondary_reload): Return the
38168 correct reload handler if -m32 -mpowerpc64 is used.
38169
38170 2015-01-06 Tom de Vries <tom@codesourcery.com>
38171
38172 * tree-ssa-tail-merge.c: Fix typo in struct same_succ_def comment.
38173
38174 2015-01-08 Christian Bruel <christian.bruel@st.com>
38175
38176 PR target/64507
38177 * config/sh/sh-mem.cc (sh_expand_cmpnstr): Check 0 length.
38178
38179 2015-01-06 Thomas Preud'homme <thomas.preudhomme@arm.com>
38180
38181 PR tree-optimization/63259
38182 * tree-ssa-math-opts.c (pass_optimize_bswap::execute): Stop checking
38183 if optab exists for 16bit byteswap.
38184
38185 2015-01-06 Jakub Jelinek <jakub@redhat.com>
38186
38187 * opts.c (common_handle_option): Add support for
38188 -fno-sanitize=all and -f{,no-}sanitize-recover=all.
38189 * doc/invoke.texi: Document -fno-sanitize=all,
38190 -f{,no-}sanitize-recover=all. Document that
38191 -fsanitize=float-cast-overflow is not enabled
38192 by -fsanitize=undefined. Fix up documentation
38193 of -f{,no-}sanitize-recover.
38194
38195 2015-01-06 Eric Botcazou <ebotcazou@adacore.com>
38196
38197 * config.gcc: Add Visium support.
38198 * configure.ac: Likewise.
38199 * configure: Regenerate.
38200 * doc/extend.texi (interrupt attribute): Add Visium.
38201 * doc/invoke.texi: Document Visium options.
38202 * doc/install.texi: Document Visium target.
38203 * doc/md.texi: Document Visium constraints.
38204 * common/config/visium: New directory.
38205 * config/visium: Likewise.
38206
38207 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
38208
38209 * simplify-rtx.c (simplify_binary_operation_1): Handle more cases
38210 for the "(and X (ior (not X) Y) -> (and X Y)" transform.
38211
38212 2015-01-05 Segher Boessenkool <segher@kernel.crashing.org>
38213
38214 * combine.c (combine_validate_cost): Do not count the cost of a
38215 split I2 twice. Do not display it twice in the dump, either.
38216
38217 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
38218
38219 Revert parts of r219199.
38220 * doc/invoke.texi ([-Wliteral-suffix]): Restore markup on
38221 <inttypes.h>.
38222 ([-Wtraditional]): Restore markup on <limits.h>.
38223
38224 2015-01-05 Trevor Saunders <tsaunders@mozilla.com>
38225
38226 PR c++/31397
38227 * doc/invoke.texi: Document -Wsuggest-override.
38228
38229 2015-01-05 Radovan Obradovic <radovan.obradovic@imgtec.com>
38230
38231 PR rtl-optimization/64287
38232 * toplev.c (HAVE_epilogue, HAVE_prologue): Provide default.
38233 (process_options): Disable flag_ipa_ra if profiling.
38234
38235 2015-01-05 Eric Botcazou <ebotcazou@adacore.com>
38236
38237 * config/nds32/nds32-peephole2.md: Do not mention define_peephole.
38238
38239 2015-01-05 Max Filippov <jcmvbkbc@gmail.com>
38240
38241 * config/xtensa/xtensa.c (hwloop_optimize, hwloop_fail,
38242 hwloop_pattern_reg, xtensa_doloop_hooks, xtensa_reorg_loops):
38243 put under #if TARGET_LOOPS guard.
38244
38245 2015-01-05 Uros Bizjak <ubizjak@gmail.com>
38246
38247 * config/i386/i386.c (output_387_binary_op): Use std::swap.
38248
38249 2015-01-05 Oleg Endo <olegendo@gcc.gnu.org>
38250
38251 * rtlanal.c (refers_to_regno_p): Change return value from int to bool.
38252 * rtl.h (refers_to_regno_p): Add overload.
38253 * cse.c: Use it.
38254 * bt-load.c: Likewise.
38255 * combine.c: Likewise.
38256 * df-scan.c: Likewise.
38257 * sched-deps.c: Likewise.
38258 * config/s390/s390.c: Likewise.
38259 * config/m32r/m32r.c: Likewise.
38260 * config/rs6000/spe.md: Likewise.
38261 * config/rs6000/rs6000.c: Likewise.
38262 * config/pa/pa.c: Likewise.
38263 * config/stormy16/stormy16.c: Likewise.
38264 * config/cris/cris.c: Likewise.
38265 * config/arc/arc.md: Likewise.
38266 * config/arc/arc.c: Likewise.
38267 * config/sh/sh.md: Likewise.
38268 * config/sh/sh.c: Likewise.
38269 * config/frv/frv.c: Likewise.
38270
38271 2015-01-05 Jakub Jelinek <jakub@redhat.com>
38272
38273 PR sanitizer/64265
38274 * gimplify.c (gimplify_function_tree): Add TSAN_FUNC_EXIT internal
38275 call as cleanup of the whole body.
38276 * internal-fn.def (TSAN_FUNC_EXIT): New internal call.
38277 * tsan.c (replace_func_exit): New function.
38278 (instrument_func_exit): Moved earlier.
38279 (instrument_memory_accesses): Adjust TSAN_FUNC_EXIT internal calls.
38280 Call instrument_func_exit if no TSAN_FUNC_EXIT internal calls have
38281 been found.
38282 (tsan_pass): Don't call instrument_func_exit.
38283 * internal-fn.c (expand_TSAN_FUNC_EXIT): New function.
38284 * tree-inline.c (copy_bb): Drop TSAN_FUNC_EXIT internal calls during
38285 inlining.
38286
38287 PR sanitizer/64344
38288 * ubsan.h (ubsan_instrument_float_cast): Add ARG argument.
38289 * ubsan.c (ubsan_instrument_float_cast): Add ARG argument, pass
38290 it to libubsan handler instead of EXPR. Fold comparisons earlier,
38291 if the result is integer_zerop, return NULL_TREE.
38292 * convert.c (convert_to_integer): Pass expr as ARG.
38293
38294 PR tree-optimization/64465
38295 * tree-inline.c (redirect_all_calls): During inlining
38296 clean up EH stmts and EH edges if redirect_call_stmt_to_callee
38297 changed the stmt to a non-throwing call.
38298
38299 2015-01-05 Sandra Loosemore <sandra@codesourcery.com>
38300
38301 * doc/invoke.texi: Fix incorrect uses of @code, @option, @samp,
38302 etc markup throughout the file.
38303
38304 2015-01-05 Bernd Edlinger <bernd.edlinger@hotmail.de>
38305
38306 Enable experimental TSAN support for Ada.
38307 * tsan.c (instrument_expr): Handle VIEW_CONVERT_EXPR.
38308
38309 2015-01-05 Jakub Jelinek <jakub@redhat.com>
38310
38311 PR tree-optimization/64494
38312 * tree-ssa-loop-im.c (move_computations_dom_walker::before_dom): Also
38313 clear SSA_NAME_ANTI_RANGE_P flag.
38314
38315 2015-01-05 Marek Polacek <polacek@redhat.com>
38316
38317 * doc/extend.texi (Arrays of Length Zero): Add missing comma.
38318
38319 2015-01-05 Jakub Jelinek <jakub@redhat.com>
38320
38321 Update copyright years.
38322
38323 * gcc.c (process_command): Update copyright notice dates.
38324 * gcov-dump.c: Ditto.
38325 * gcov.c: Ditto.
38326 * doc/cpp.texi: Bump @copying's copyright year.
38327 * doc/cppinternals.texi: Ditto.
38328 * doc/gcc.texi: Ditto.
38329 * doc/gccint.texi: Ditto.
38330 * doc/gcov.texi: Ditto.
38331 * doc/install.texi: Ditto.
38332 * doc/invoke.texi: Ditto.
38333
38334 * auto-profile.c, auto-profile.h: Fix up Copyright line.
38335
38336 2015-01-04 Sandra Loosemore <sandra@codesourcery.com>
38337
38338 * doc/invoke.texi ([-fsized-deallocation]): Copy-edit to fix
38339 verb tense, etc.
38340 ([-fvtable-verify], [-fvtv-debug]): Likewise.
38341 ([-Wabi]): Likewise.
38342 ([-fmessage-length]): Likewise.
38343 ([-Wsuggest-final-types], [-Wsuggest-final-methods]): Likewise.
38344 ([-Wno-discarded-qualifiers]): Likewise.
38345 ([-Wnodiscarded-array-qualifiers]): Likewise.
38346 ([-Wno-virtual-move-assign]): Likewise.
38347 ([-fsanitize=address], [-fsanitize=thread]): Likewise.
38348 ([-fsanitize=leak], [-fsanitize=undefined]): Likewise.
38349 ([-fsanitize=unreachable], [-fsanitize-recover]): Likewise.
38350 ([-fsanitize-undefined-trap-on-error]): Likewise.
38351 ([-floop-interchange]): Likewise.
38352 ([-ftree-coalesce-inlined-vars]): Likewise.
38353 ([-fvect-cost-model]): Likewise.
38354 ([-flto]): Likewise.
38355 ([--param]): Likewise.
38356 (Spec Files): Likewise.
38357 ([-mstrict-align]): Likewise.
38358 ([-mfix-cortex-a53-835769]): Likewise.
38359 ([-march], [-mtune]): Likewise.
38360 ([-mpic-register]): Likewise.
38361 ([-munaligned-access]): Likewise.
38362 ([-msp8]): Likewise.
38363 (EIND and Devices with more than 128 Ki Bytes of Flash): Likewise.
38364 (AVR Built-in Macros): Likewise.
38365 ([-mpreferred-stack-boundary]): Likewise.
38366 ([-mtune-crtl]): Likewise.
38367 ([-mashf]): Likewise.
38368 ([-mmcu=]): Likewise.
38369 ([-minrt]): Likewise.
38370 ([-maltivec], [-maltivec=be], [-maltivec=le]): Likewise.
38371 ([-mupper-regs]): Likewise.
38372 ([-matomic-model]): Likewise.
38373 ([-mdiv]): Likewise.
38374 ([-mzdcbranch]): Likewise.
38375 ([-mdisable-callt]): Likewise.
38376 ([-msoft-float]): Likewise.
38377 ([-m8byte-align]): Likewise.
38378 ([-fstack-reuse]): Likewise.
38379
38380 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
38381
38382 * doc/invoke.texi ([-fprofile-generate], [-fprofile-use]):
38383 Fix markup, light copy-editing.
38384 ([-fauto-profile]): Rewrite to fix formatting and content
38385 problems.
38386
38387 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
38388
38389 * doc/invoke.texi ([-fisolate-erroneous-paths-dereference]):
38390 Copy-edit description.
38391 ([-fisolate-erroneous-paths-attribute]): Likewise.
38392 * common.opt (fisolate-erroneous-paths-dereference):
38393 Copy-edit description.
38394 (fisolate-erroneous-paths-attribute): Likewise.
38395
38396 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
38397
38398 * doc/invoke.texi ([-fsemantic-interposition]): Fix typos and
38399 tidy grammar.
38400
38401 2015-01-03 Sandra Loosemore <sandra@codesourcery.com>
38402
38403 * doc/invoke.texi ([-fplan9-extensions]): Add/fix @opindex.
38404 ([-fvtv-debug]): Likewise.
38405 ([-Wc++-compat]): Likewise.
38406 ([-Wc++11-compat]): Likewise.
38407 ([-Wc++14-compat]): Likewise.
38408 ([-Wno-sized-deallocation]): Likewise.
38409 ([-femit-class-debug-always]): Likewise.
38410 ([-femit-struct-debug-detailed]): Likewise.
38411 ([-fno-keep-inline-dllexport]): Likewise.
38412 ([-fira-algorithm]): Likewise.
38413 ([-fira-region]): Likewise.
38414 ([-flra-remat]): Likewise.
38415 ([-fipa-ra]): Likewise.
38416 ([-fhoist-adjacent-loads]): Likewise.
38417 ([-fisolate-erroneous-paths-dereference]): Likewise.
38418 ([-fisolate-erroneous-paths-attribute]): Likewise.
38419 ([-ftree-switch-conversion]): Likewise.
38420 ([-ftree-tail-merge]): Likewise.
38421 ([-ftree-loop-if-convert]): Likewise.
38422 ([-ftree-loop-if-convert-stores]): Likewise.
38423 ([-ftree-loop-distribution]): Likewise.
38424 ([-ftree-loop-distribute-patterns]): Likewise.
38425 ([-flto-compression-level]): Likewise.
38426 ([-flto-report]): Likewise.
38427 ([-flto-report-wpa]): Likewise.
38428 ([-fuse-linker-plugin]): Likewise.
38429 ([-mfix-cortex-a53-835769]): Likewise.
38430 ([-mno-fix-cortex-a53-835769]): Likewise.
38431 ([-mmmx]...[-mno-3dnow]): Remove the -mno- forms from the
38432 explicit listing; add a note to the discussion indicating they
38433 exist. Reorder table to group similar options. Add missing
38434 @opindex entries. Add @need commands throughout the table to
38435 allow it to be split across multiple pages.
38436 ([-m8bit-idiv]): Fix @opindex.
38437 ([-mavx256-split-unaligned-load]): Likewise.
38438 ([-mavx256-split-unaligned-store]): Likewise.
38439 ([-mstack-protector-guard]): Likewise.
38440 ([-mcpu=]): Likewise.
38441 ([-mcpu]): Likewise.
38442 ([-mpointer-size=]): Likewise.
38443
38444 2015-01-03 John David Anglin <danglin@gcc.gnu.org>
38445
38446 * config/pa/pa.md (decrement_and_branch_until_zero): Use `Q' constraint
38447 instead of `m' constraint. Likewise for unnamed movb comparison
38448 patterns using reg_before_reload_operand predicate.
38449 * config/pa/predicates.md (reg_before_reload_operand): Tighten
38450 predicate to reject register index and LO_SUM DLT memory forms
38451 after reload.
38452
38453 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
38454
38455 * doc/invoke.texi (Option Summary): Fix spelling of
38456 -fdevirtualize-at-ltrans.
38457 ([-fdevirtualize]): Fix markup.
38458 ([-fdevirtualize-speculatively]): Fix typo.
38459 ([-fdevirtualize-at-ltrans]): Likewise. Make description less
38460 implementor-speaky.
38461 * common.opt (fdevirtualize-at-ltrans): Likewise.
38462 * ipa-devirt.c: Fix typos in comments throughout the file.
38463 (ipa_devirt): Fix typos in format strings for dump output.
38464
38465 2015-01-02 Sandra Loosemore <sandra@codesourcery.com>
38466
38467 * doc/invoke.texi ([-fopt-info]): Fix markup, consolidate
38468 discussion of defaults, light copy-editing.
38469
38470 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
38471
38472 * tsan.c (instrument_expr): corrected previous checkin.
38473
38474 2015-01-02 Bernd Edlinger <bernd.edlinger@hotmail.de>
38475
38476 Instrument bit field and unaligned accesses for TSAN.
38477 * sanitizer.def (BUILT_IN_TSAN_READ_RANGE): New built-in function.
38478 (BUILT_IN_TSAN_WRITE_RANGE): New built-in function.
38479 * tsan.c (instrument_expr): Handle COMPONENT_REF and BIT_FIELD_REF.
38480 Use BUILT_IN_TSAN_READ_RANGE and BUILT_IN_TSAN_WRITE_RANGE for
38481 unaligned memory regions.
38482
38483 2015-01-01 Anthony Green <green@moxielogic.com>
38484
38485 * config/moxie/predicates.md (moxie_general_movsrc_operand):
38486 Restrict move source register offsets to 16 bits.
38487 \f
38488 Copyright (C) 2015 Free Software Foundation, Inc.
38489
38490 Copying and distribution of this file, with or without modification,
38491 are permitted in any medium without royalty provided the copyright
38492 notice and this notice are preserved.